Update this branch to match CVS head, includes WIN32 improvements.
authorBruce Momjian <[email protected]>
Sun, 7 Sep 2003 04:37:13 +0000 (04:37 +0000)
committerBruce Momjian <[email protected]>
Sun, 7 Sep 2003 04:37:13 +0000 (04:37 +0000)
376 files changed:
HISTORY
config/ac_func_accept_argtypes.m4
config/python.m4
configure
configure.in
contrib/contrib-global.mk
contrib/tsearch/parser.h
contrib/tsearch/parser.l
contrib/tsearch2/Makefile [new file with mode: 0644]
contrib/tsearch2/docs/tsearch-V2-intro.html [new file with mode: 0644]
contrib/tsearch2/expected/tsearch2.out [new file with mode: 0644]
contrib/tsearch2/ispell/Makefile [new file with mode: 0644]
contrib/tsearch2/query.c [new file with mode: 0644]
contrib/tsearch2/query.h [new file with mode: 0644]
contrib/tsearch2/rewrite.c [new file with mode: 0644]
contrib/tsearch2/snowball/Makefile [new file with mode: 0644]
contrib/tsearch2/sql/tsearch2.sql [new file with mode: 0644]
contrib/tsearch2/wordparser/Makefile [new file with mode: 0644]
contrib/tsearch2/wordparser/parser.h [new file with mode: 0644]
contrib/tsearch2/wordparser/parser.l [new file with mode: 0644]
doc/FAQ
doc/FAQ_german
doc/TODO
doc/src/FAQ/FAQ.html
doc/src/FAQ/FAQ_german.html
doc/src/sgml/Makefile
doc/src/sgml/advanced.sgml
doc/src/sgml/array.sgml
doc/src/sgml/backup.sgml
doc/src/sgml/charset.sgml
doc/src/sgml/client-auth.sgml
doc/src/sgml/datatype.sgml
doc/src/sgml/datetime.sgml
doc/src/sgml/ddl.sgml
doc/src/sgml/dfunc.sgml
doc/src/sgml/dml.sgml
doc/src/sgml/ecpg.sgml
doc/src/sgml/extend.sgml
doc/src/sgml/filelist.sgml
doc/src/sgml/func.sgml
doc/src/sgml/indices.sgml
doc/src/sgml/installation.sgml
doc/src/sgml/jdbc.sgml
doc/src/sgml/keywords.sgml
doc/src/sgml/libpgtcl.sgml
doc/src/sgml/libpq.sgml
doc/src/sgml/lobj.sgml
doc/src/sgml/maintenance.sgml
doc/src/sgml/manage-ag.sgml
doc/src/sgml/monitoring.sgml
doc/src/sgml/mvcc.sgml
doc/src/sgml/perform.sgml
doc/src/sgml/plperl.sgml
doc/src/sgml/plpgsql.sgml
doc/src/sgml/plpython.sgml
doc/src/sgml/pltcl.sgml
doc/src/sgml/postgres.sgml
doc/src/sgml/protocol.sgml
doc/src/sgml/queries.sgml
doc/src/sgml/query.sgml
doc/src/sgml/ref/abort.sgml
doc/src/sgml/ref/alter_aggregate.sgml
doc/src/sgml/ref/alter_conversion.sgml
doc/src/sgml/ref/alter_database.sgml
doc/src/sgml/ref/alter_domain.sgml
doc/src/sgml/ref/alter_function.sgml
doc/src/sgml/ref/alter_group.sgml
doc/src/sgml/ref/alter_language.sgml
doc/src/sgml/ref/alter_opclass.sgml
doc/src/sgml/ref/alter_schema.sgml
doc/src/sgml/ref/alter_sequence.sgml
doc/src/sgml/ref/alter_table.sgml
doc/src/sgml/ref/alter_trigger.sgml
doc/src/sgml/ref/alter_user.sgml
doc/src/sgml/ref/analyze.sgml
doc/src/sgml/ref/begin.sgml
doc/src/sgml/ref/checkpoint.sgml
doc/src/sgml/ref/close.sgml
doc/src/sgml/ref/cluster.sgml
doc/src/sgml/ref/clusterdb.sgml
doc/src/sgml/ref/comment.sgml
doc/src/sgml/ref/commit.sgml
doc/src/sgml/ref/copy.sgml
doc/src/sgml/ref/create_aggregate.sgml
doc/src/sgml/ref/create_cast.sgml
doc/src/sgml/ref/create_constraint.sgml
doc/src/sgml/ref/create_conversion.sgml
doc/src/sgml/ref/create_database.sgml
doc/src/sgml/ref/create_domain.sgml
doc/src/sgml/ref/create_function.sgml
doc/src/sgml/ref/create_group.sgml
doc/src/sgml/ref/create_index.sgml
doc/src/sgml/ref/create_language.sgml
doc/src/sgml/ref/create_opclass.sgml
doc/src/sgml/ref/create_operator.sgml
doc/src/sgml/ref/create_rule.sgml
doc/src/sgml/ref/create_schema.sgml
doc/src/sgml/ref/create_sequence.sgml
doc/src/sgml/ref/create_table.sgml
doc/src/sgml/ref/create_table_as.sgml
doc/src/sgml/ref/create_trigger.sgml
doc/src/sgml/ref/create_type.sgml
doc/src/sgml/ref/create_user.sgml
doc/src/sgml/ref/create_view.sgml
doc/src/sgml/ref/createdb.sgml
doc/src/sgml/ref/createlang.sgml
doc/src/sgml/ref/createuser.sgml
doc/src/sgml/ref/deallocate.sgml
doc/src/sgml/ref/declare.sgml
doc/src/sgml/ref/delete.sgml
doc/src/sgml/ref/drop_aggregate.sgml
doc/src/sgml/ref/drop_cast.sgml
doc/src/sgml/ref/drop_conversion.sgml
doc/src/sgml/ref/drop_database.sgml
doc/src/sgml/ref/drop_domain.sgml
doc/src/sgml/ref/drop_function.sgml
doc/src/sgml/ref/drop_group.sgml
doc/src/sgml/ref/drop_index.sgml
doc/src/sgml/ref/drop_language.sgml
doc/src/sgml/ref/drop_opclass.sgml
doc/src/sgml/ref/drop_operator.sgml
doc/src/sgml/ref/drop_rule.sgml
doc/src/sgml/ref/drop_schema.sgml
doc/src/sgml/ref/drop_sequence.sgml
doc/src/sgml/ref/drop_table.sgml
doc/src/sgml/ref/drop_trigger.sgml
doc/src/sgml/ref/drop_type.sgml
doc/src/sgml/ref/drop_user.sgml
doc/src/sgml/ref/drop_view.sgml
doc/src/sgml/ref/dropdb.sgml
doc/src/sgml/ref/droplang.sgml
doc/src/sgml/ref/dropuser.sgml
doc/src/sgml/ref/ecpg-ref.sgml
doc/src/sgml/ref/end.sgml
doc/src/sgml/ref/execute.sgml
doc/src/sgml/ref/explain.sgml
doc/src/sgml/ref/fetch.sgml
doc/src/sgml/ref/grant.sgml
doc/src/sgml/ref/initdb.sgml
doc/src/sgml/ref/initlocation.sgml
doc/src/sgml/ref/insert.sgml
doc/src/sgml/ref/ipcclean.sgml
doc/src/sgml/ref/listen.sgml
doc/src/sgml/ref/load.sgml
doc/src/sgml/ref/lock.sgml
doc/src/sgml/ref/move.sgml
doc/src/sgml/ref/notify.sgml
doc/src/sgml/ref/pg_config-ref.sgml
doc/src/sgml/ref/pg_controldata.sgml
doc/src/sgml/ref/pg_ctl-ref.sgml
doc/src/sgml/ref/pg_dump.sgml
doc/src/sgml/ref/pg_dumpall.sgml
doc/src/sgml/ref/pg_restore.sgml
doc/src/sgml/ref/pgtclsh.sgml
doc/src/sgml/ref/pgtksh.sgml
doc/src/sgml/ref/postgres-ref.sgml
doc/src/sgml/ref/postmaster.sgml
doc/src/sgml/ref/prepare.sgml
doc/src/sgml/ref/psql-ref.sgml
doc/src/sgml/ref/reindex.sgml
doc/src/sgml/ref/reset.sgml
doc/src/sgml/ref/revoke.sgml
doc/src/sgml/ref/rollback.sgml
doc/src/sgml/ref/select.sgml
doc/src/sgml/ref/select_into.sgml
doc/src/sgml/ref/set.sgml
doc/src/sgml/ref/set_constraints.sgml
doc/src/sgml/ref/set_session_auth.sgml
doc/src/sgml/ref/set_transaction.sgml
doc/src/sgml/ref/show.sgml
doc/src/sgml/ref/start_transaction.sgml
doc/src/sgml/ref/truncate.sgml
doc/src/sgml/ref/unlisten.sgml
doc/src/sgml/ref/update.sgml
doc/src/sgml/ref/vacuum.sgml
doc/src/sgml/ref/vacuumdb.sgml
doc/src/sgml/regress.sgml
doc/src/sgml/release.sgml
doc/src/sgml/rules.sgml
doc/src/sgml/runtime.sgml
doc/src/sgml/spi.sgml
doc/src/sgml/syntax.sgml
doc/src/sgml/trigger.sgml
doc/src/sgml/typeconv.sgml
doc/src/sgml/user-manag.sgml
doc/src/sgml/wal.sgml
doc/src/sgml/xaggr.sgml
doc/src/sgml/xfunc.sgml
doc/src/sgml/xindex.sgml
doc/src/sgml/xoper.sgml
doc/src/sgml/xplang.sgml
doc/src/sgml/xtypes.sgml
src/Makefile.global.in
src/backend/access/hash/hash.c
src/backend/access/hash/hashinsert.c
src/backend/access/hash/hashovfl.c
src/backend/access/hash/hashpage.c
src/backend/access/hash/hashscan.c
src/backend/access/hash/hashsearch.c
src/backend/access/hash/hashutil.c
src/backend/access/nbtree/nbtinsert.c
src/backend/bootstrap/bootstrap.c
src/backend/catalog/aclchk.c
src/backend/commands/analyze.c
src/backend/commands/copy.c
src/backend/commands/indexcmds.c
src/backend/commands/opclasscmds.c
src/backend/commands/portalcmds.c
src/backend/commands/tablecmds.c
src/backend/executor/execGrouping.c
src/backend/executor/execQual.c
src/backend/executor/nodeAgg.c
src/backend/executor/nodeIndexscan.c
src/backend/executor/nodeSubplan.c
src/backend/libpq/hba.c
src/backend/libpq/ip.c
src/backend/libpq/pg_hba.conf.sample
src/backend/nodes/copyfuncs.c
src/backend/nodes/equalfuncs.c
src/backend/nodes/outfuncs.c
src/backend/nodes/readfuncs.c
src/backend/optimizer/plan/createplan.c
src/backend/optimizer/plan/planner.c
src/backend/optimizer/util/clauses.c
src/backend/parser/gram.y
src/backend/parser/parse_clause.c
src/backend/parser/parse_expr.c
src/backend/parser/parse_oper.c
src/backend/po/ru.po
src/backend/port/ipc_test.c
src/backend/storage/lmgr/lmgr.c
src/backend/storage/lmgr/lock.c
src/backend/tcop/postgres.c
src/backend/utils/adt/acl.c
src/backend/utils/adt/array_userfuncs.c
src/backend/utils/adt/arrayfuncs.c
src/backend/utils/adt/cash.c
src/backend/utils/adt/date.c
src/backend/utils/adt/datetime.c
src/backend/utils/adt/formatting.c
src/backend/utils/adt/nabstime.c
src/backend/utils/adt/ri_triggers.c
src/backend/utils/adt/ruleutils.c
src/backend/utils/adt/timestamp.c
src/backend/utils/cache/Makefile
src/backend/utils/cache/lsyscache.c
src/backend/utils/error/elog.c
src/backend/utils/fmgr/dfmgr.c
src/backend/utils/hash/dynahash.c
src/backend/utils/hash/hashfn.c
src/backend/utils/init/globals.c
src/backend/utils/mb/Unicode/UCS_to_GB18030.pl
src/backend/utils/mb/Unicode/gb18030_to_utf8.map
src/backend/utils/mb/conversion_procs/Makefile
src/backend/utils/mb/conversion_procs/proc.mk
src/backend/utils/misc/guc.c
src/backend/utils/misc/postgresql.conf.sample
src/backend/utils/mmgr/portalmem.c
src/backend/utils/sort/tuplesort.c
src/bin/initdb/Makefile
src/bin/initdb/initdb.sh
src/bin/pg_controldata/po/ru.po
src/bin/pg_dump/pg_backup.h
src/bin/pg_dump/pg_backup_archiver.c
src/bin/pg_dump/pg_dump.c
src/bin/pg_dump/pg_restore.c
src/bin/pg_id/pg_id.c
src/bin/pg_resetxlog/pg_resetxlog.c
src/bin/pg_resetxlog/po/ru.po
src/bin/psql/common.c
src/bin/psql/common.h
src/bin/psql/describe.c
src/bin/psql/input.c
src/bin/psql/mbprint.c
src/bin/psql/nls.mk
src/bin/psql/po/de.po
src/bin/psql/po/fr.po
src/bin/psql/po/ru.po
src/bin/psql/po/sv.po
src/bin/psql/prompt.c
src/bin/scripts/Makefile
src/bin/scripts/common.c
src/bin/scripts/po/ru.po [new file with mode: 0644]
src/include/access/hash.h
src/include/catalog/catversion.h
src/include/catalog/pg_amop.h
src/include/catalog/pg_amproc.h
src/include/catalog/pg_opclass.h
src/include/catalog/pg_operator.h
src/include/catalog/pg_proc.h
src/include/executor/executor.h
src/include/libpq/ip.h
src/include/miscadmin.h
src/include/nodes/execnodes.h
src/include/nodes/nodes.h
src/include/nodes/parsenodes.h
src/include/nodes/pg_list.h
src/include/nodes/primnodes.h
src/include/parser/parse_clause.h
src/include/parser/parse_oper.h
src/include/pg_config.h.in
src/include/port.h
src/include/postgres_ext.h
src/include/storage/lmgr.h
src/include/utils/acl.h
src/include/utils/builtins.h
src/include/utils/cash.h
src/include/utils/datetime.h
src/include/utils/errcodes.h [new file with mode: 0644]
src/include/utils/guc.h
src/include/utils/hsearch.h
src/include/utils/lsyscache.h
src/interfaces/ecpg/ChangeLog
src/interfaces/ecpg/ecpglib/connect.c
src/interfaces/ecpg/ecpglib/error.c
src/interfaces/ecpg/include/sqltypes.h
src/interfaces/ecpg/pgtypeslib/timestamp.c
src/interfaces/ecpg/preproc/preproc.y
src/interfaces/ecpg/test/test1.pgc
src/interfaces/ecpg/test/test_thread.pgc [new file with mode: 0644]
src/interfaces/jdbc/build.xml
src/interfaces/jdbc/org/postgresql/errors.properties
src/interfaces/jdbc/org/postgresql/errors_de.properties
src/interfaces/jdbc/org/postgresql/errors_it.properties
src/interfaces/jdbc/org/postgresql/errors_nl.properties
src/interfaces/jdbc/org/postgresql/errors_zh_TW.properties
src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1Connection.java
src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java
src/interfaces/jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java
src/interfaces/jdbc/org/postgresql/test/jdbc2/BlobTest.java
src/interfaces/jdbc/org/postgresql/test/jdbc2/ResultSetTest.java
src/interfaces/jdbc/org/postgresql/test/jdbc2/ServerPreparedStmtTest.java
src/interfaces/libpq/Makefile
src/interfaces/libpq/fe-connect.c
src/interfaces/libpq/fe-exec.c
src/interfaces/libpq/fe-protocol2.c
src/interfaces/libpq/fe-protocol3.c
src/interfaces/libpq/fe-secure.c
src/interfaces/libpq/libpq-int.h
src/interfaces/libpq/po/es.po
src/interfaces/libpq/po/fr.po
src/interfaces/libpq/po/ru.po
src/interfaces/libpq/po/sv.po
src/interfaces/libpq/win32.c
src/interfaces/libpq/win32.mak
src/pl/plperl/plperl.c
src/pl/plpgsql/src/pl_comp.c
src/pl/plpgsql/src/plpgsql.h
src/pl/tcl/pltcl.c
src/port/thread.c [new file with mode: 0644]
src/template/bsdi
src/template/freebsd
src/template/linux
src/template/netbsd
src/template/osf
src/template/unixware
src/test/regress/expected/abstime-solaris-1947.out
src/test/regress/expected/abstime.out
src/test/regress/expected/arrays.out
src/test/regress/expected/circle.out
src/test/regress/expected/date.out
src/test/regress/expected/geometry.out
src/test/regress/expected/geometry_1.out
src/test/regress/expected/horology-no-DST-before-1970.out
src/test/regress/expected/horology-solaris-1947.out
src/test/regress/expected/horology.out
src/test/regress/expected/polymorphism.out [new file with mode: 0644]
src/test/regress/expected/portals.out
src/test/regress/expected/timestamp.out
src/test/regress/expected/timestamptz.out
src/test/regress/parallel_schedule
src/test/regress/serial_schedule
src/test/regress/sql/arrays.sql
src/test/regress/sql/circle.sql
src/test/regress/sql/geometry.sql
src/tools/pgindent/pgindent

diff --git a/HISTORY b/HISTORY
index b12404d18e9789dff5ba78759d0d4cc3d2da5cf0..29c12069af5b3f49ed317d21616bc5b2c59a31bf 100644 (file)
--- a/HISTORY
+++ b/HISTORY
@@ -212,6 +212,7 @@ Add new DateStyle values MDY, DMY, and YMD, honor US and European for
   prepared statements) (Tom)
 Assume NaN value to be larger than any other value in MIN()/MAX() (Tom)
 Prevent interval from supressing ':00' seconds display
+New pg_get_triggerdef(prettyprint) and pg_constraint_is_visible() functions
 
      _________________________________________________________________
 
@@ -259,6 +260,10 @@ Allow pqInternalNotice() to accept a format string and args instead of
   just a preformatted message (Tom, Sean Chittenden)
 Allow control SSL negotiation with sslmode values "disable", "allow", 
   "Prefer", and "require" (Jon Jensen)
+Allow new error codes and levels of text (Tom)
+Allow access to the underlying table and column of a query result (Tom)
+Allow access to the current transaction status (Tom)
+Add ability to pass binary data directly to the backend (Tom)
 
      _________________________________________________________________
 
index 47f3dba12f5d1feecbc3e9054c55953049af8aba..b4cf3c694dd80cba6f24acd8f000fb65eb2ae208 100644 (file)
@@ -7,9 +7,10 @@
 dnl @synopsis AC_FUNC_ACCEPT_ARGTYPES
 dnl
 dnl Checks the data types of the three arguments to accept(). Results are
-dnl placed into the symbols ACCEPT_TYPE_ARG[123], consistent with the
-dnl following example:
+dnl placed into the symbols ACCEPT_TYPE_RETURN and ACCEPT_TYPE_ARG[123], 
+dnl consistent with the following example:
 dnl
+dnl       #define ACCEPT_TYPE_RETURN int
 dnl       #define ACCEPT_TYPE_ARG1 int
 dnl       #define ACCEPT_TYPE_ARG2 struct sockaddr *
 dnl       #define ACCEPT_TYPE_ARG3 socklen_t
@@ -36,24 +37,29 @@ dnl
 # Solaris 7 and 8 have arg3 as 'void *' (disguised as 'Psocklen_t'
 # which is *not* 'socklen_t *').  If we detect that, then we assume
 # 'int' as the result, because that ought to work best.
+#
+# On Win32, accept() returns 'unsigned int PASCAL' 
 
 AC_DEFUN([AC_FUNC_ACCEPT_ARGTYPES],
 [AC_MSG_CHECKING([types of arguments for accept()])
- AC_CACHE_VAL(ac_cv_func_accept_arg1,dnl
- [AC_CACHE_VAL(ac_cv_func_accept_arg2,dnl
-  [AC_CACHE_VAL(ac_cv_func_accept_arg3,dnl
-   [for ac_cv_func_accept_arg1 in 'int' 'unsigned int'; do
-     for ac_cv_func_accept_arg2 in 'struct sockaddr *' 'const struct sockaddr *' 'void *'; do
-      for ac_cv_func_accept_arg3 in 'int' 'size_t' 'socklen_t' 'unsigned int' 'void'; do
-       AC_TRY_COMPILE(
+ AC_CACHE_VAL(ac_cv_func_accept_return,dnl
+ [AC_CACHE_VAL(ac_cv_func_accept_arg1,dnl
+  [AC_CACHE_VAL(ac_cv_func_accept_arg2,dnl
+   [AC_CACHE_VAL(ac_cv_func_accept_arg3,dnl
+    [for ac_cv_func_accept_return in 'int' 'unsigned int PASCAL'; do
+      for ac_cv_func_accept_arg1 in 'int' 'unsigned int'; do
+       for ac_cv_func_accept_arg2 in 'struct sockaddr *' 'const struct sockaddr *' 'void *'; do
+        for ac_cv_func_accept_arg3 in 'int' 'size_t' 'socklen_t' 'unsigned int' 'void'; do
+         AC_TRY_COMPILE(
 [#ifdef HAVE_SYS_TYPES_H
 #include <sys/types.h>
 #endif
 #ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
 #endif
-extern int accept ($ac_cv_func_accept_arg1, $ac_cv_func_accept_arg2, $ac_cv_func_accept_arg3 *);],
-        [], [ac_not_found=no; break 3], [ac_not_found=yes])
+extern $ac_cv_func_accept_return accept ($ac_cv_func_accept_arg1, $ac_cv_func_accept_arg2, $ac_cv_func_accept_arg3 *);],
+         [], [ac_not_found=no; break 4], [ac_not_found=yes])
+       done
       done
      done
     done
@@ -63,10 +69,13 @@ extern int accept ($ac_cv_func_accept_arg1, $ac_cv_func_accept_arg2, $ac_cv_func
     if test "$ac_cv_func_accept_arg3" = "void"; then
       ac_cv_func_accept_arg3=int
     fi
+    ])dnl AC_CACHE_VAL
    ])dnl AC_CACHE_VAL
   ])dnl AC_CACHE_VAL
  ])dnl AC_CACHE_VAL
- AC_MSG_RESULT([$ac_cv_func_accept_arg1, $ac_cv_func_accept_arg2, $ac_cv_func_accept_arg3 *])
+ AC_MSG_RESULT([$ac_cv_func_accept_return, $ac_cv_func_accept_arg1, $ac_cv_func_accept_arg2, $ac_cv_func_accept_arg3 *])
+ AC_DEFINE_UNQUOTED(ACCEPT_TYPE_RETURN, $ac_cv_func_accept_return,
+                    [Define to the return type of 'accept'])
  AC_DEFINE_UNQUOTED(ACCEPT_TYPE_ARG1, $ac_cv_func_accept_arg1,
                     [Define to the type of arg 1 of 'accept'])
  AC_DEFINE_UNQUOTED(ACCEPT_TYPE_ARG2, $ac_cv_func_accept_arg2,
index 2c235121adef916f514ec43510ffd881c9ef7060..f237366d13b909a89d8081db1ee8ebe82ef2cdbc 100644 (file)
@@ -26,19 +26,14 @@ python_version=`${PYTHON} -c "import sys; print sys.version[[:3]]"`
 python_prefix=`${PYTHON} -c "import sys; print sys.prefix"`
 python_execprefix=`${PYTHON} -c "import sys; print sys.exec_prefix"`
 python_configdir="${python_execprefix}/lib/python${python_version}/config"
-python_moduledir="${python_prefix}/lib/python${python_version}/site-packages"
-python_moduleexecdir="${python_execprefix}/lib/python${python_version}/site-packages"
 python_includespec="-I${python_prefix}/include/python${python_version}"
 if test "$python_prefix" != "$python_execprefix"; then
   python_includespec="-I${python_execprefix}/include/python${python_version} $python_includespec"
 fi
 
-AC_SUBST(python_version)[]dnl
 AC_SUBST(python_prefix)[]dnl
 AC_SUBST(python_execprefix)[]dnl
 AC_SUBST(python_configdir)[]dnl
-AC_SUBST(python_moduledir)[]dnl
-AC_SUBST(python_moduleexecdir)[]dnl
 AC_SUBST(python_includespec)[]dnl
 # This should be enough of a message.
 if test "$python_prefix" != "$python_execprefix"; then
@@ -49,19 +44,6 @@ fi
 ])# _PGAC_CHECK_PYTHON_DIRS
 
 
-# PGAC_CHECK_PYTHON_MODULE_SETUP
-# ------------------------------
-# Finds things required to build a Python extension module.
-# This used to do more, that's why it's separate.
-#
-# It would be nice if we could check whether the current setup allows
-# the build of the shared module. Future project.
-AC_DEFUN([PGAC_CHECK_PYTHON_MODULE_SETUP],
-[
-  AC_REQUIRE([_PGAC_CHECK_PYTHON_DIRS])
-])# PGAC_CHECK_PYTHON_MODULE_SETUP
-
-
 # PGAC_CHECK_PYTHON_EMBED_SETUP
 # -----------------------------
 # Courtesy of the INN 2.3.1 package...
index 2ba5879468ff6cb2ccd241a92c84a1fe1b25e5c9..be06d57d51d06917a00629380b5cb516217516f7 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.53 for PostgreSQL 7.4beta1.
+# Generated by GNU Autoconf 2.53 for PostgreSQL 7.4beta2.
 #
 # Report bugs to <[email protected]>.
 #
@@ -258,8 +258,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='PostgreSQL'
 PACKAGE_TARNAME='postgresql'
-PACKAGE_VERSION='7.4beta1'
-PACKAGE_STRING='PostgreSQL 7.4beta1'
+PACKAGE_VERSION='7.4beta2'
+PACKAGE_STRING='PostgreSQL 7.4beta2'
 PACKAGE_BUGREPORT='[email protected]'
 
 ac_unique_file="src/backend/access/common/heaptuple.c"
@@ -769,7 +769,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures PostgreSQL 7.4beta1 to adapt to many kinds of systems.
+\`configure' configures PostgreSQL 7.4beta2 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -830,7 +830,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of PostgreSQL 7.4beta1:";;
+     short | recursive ) echo "Configuration of PostgreSQL 7.4beta2:";;
    esac
   cat <<\_ACEOF
 
@@ -860,7 +860,7 @@ Optional Packages:
   --with-tclconfig=DIR    tclConfig.sh and tkConfig.sh are in DIR
   --with-tkconfig=DIR     tkConfig.sh is in DIR
   --with-perl             build Perl modules (PL/Perl)
-  --with-python           build Python interface module
+  --with-python           build Python modules (PL/Python)
   --with-java             build JDBC interface and Java tools
   --with-krb4[=DIR]       build with Kerberos 4 support [/usr/athena]
   --with-krb5[=DIR]       build with Kerberos 5 support [/usr/athena]
@@ -949,7 +949,7 @@ fi
 test -n "$ac_init_help" && exit 0
 if $ac_init_version; then
   cat <<\_ACEOF
-PostgreSQL configure 7.4beta1
+PostgreSQL configure 7.4beta2
 generated by GNU Autoconf 2.53
 
 Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
@@ -966,7 +966,7 @@ cat >&5 <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by PostgreSQL $as_me 7.4beta1, which was
+It was created by PostgreSQL $as_me 7.4beta2, which was
 generated by GNU Autoconf 2.53.  Invocation command line was
 
   $ $0 $@
@@ -2370,6 +2370,12 @@ fi
 { echo "$as_me:$LINENO: using CFLAGS=$CFLAGS" >&5
 echo "$as_me: using CFLAGS=$CFLAGS" >&6;}
 
+# We already have this in Makefile.win32, but configure needs it too
+if test "$PORTNAME" = "win32"
+then
+       CPPFLAGS="$CPPFLAGS -Isrc/include/port/win32"
+fi
+
 # Check if the compiler still works with the template settings
 echo "$as_me:$LINENO: checking whether the C compiler still works" >&5
 echo $ECHO_N "checking whether the C compiler still works... $ECHO_C" >&6
@@ -2981,7 +2987,7 @@ echo "${ECHO_T}$with_perl" >&6
 
 
 #
-# Optionally build Python interface module
+# Optionally build Python modules (PL/Python)
 #
 echo "$as_me:$LINENO: checking whether to build Python modules" >&5
 echo $ECHO_N "checking whether to build Python modules... $ECHO_C" >&6
@@ -4294,8 +4300,6 @@ python_version=`${PYTHON} -c "import sys; print sys.version[:3]"`
 python_prefix=`${PYTHON} -c "import sys; print sys.prefix"`
 python_execprefix=`${PYTHON} -c "import sys; print sys.exec_prefix"`
 python_configdir="${python_execprefix}/lib/python${python_version}/config"
-python_moduledir="${python_prefix}/lib/python${python_version}/site-packages"
-python_moduleexecdir="${python_execprefix}/lib/python${python_version}/site-packages"
 python_includespec="-I${python_prefix}/include/python${python_version}"
 if test "$python_prefix" != "$python_execprefix"; then
   python_includespec="-I${python_execprefix}/include/python${python_version} $python_includespec"
@@ -4311,9 +4315,6 @@ echo "${ECHO_T}$python_prefix/lib/python${python_version}" >&6
 fi
 
 
-
-
-
 echo "$as_me:$LINENO: checking how to link an embedded Python application" >&5
 echo $ECHO_N "checking how to link an embedded Python application... $ECHO_C" >&6
 
@@ -10815,19 +10816,23 @@ _ACEOF
 fi
 echo "$as_me:$LINENO: checking types of arguments for accept()" >&5
 echo $ECHO_N "checking types of arguments for accept()... $ECHO_C" >&6
- if test "${ac_cv_func_accept_arg1+set}" = set; then
+ if test "${ac_cv_func_accept_return+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-   if test "${ac_cv_func_accept_arg2+set}" = set; then
+   if test "${ac_cv_func_accept_arg1+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-    if test "${ac_cv_func_accept_arg3+set}" = set; then
+    if test "${ac_cv_func_accept_arg2+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-     for ac_cv_func_accept_arg1 in 'int' 'unsigned int'; do
-     for ac_cv_func_accept_arg2 in 'struct sockaddr *' 'const struct sockaddr *' 'void *'; do
-      for ac_cv_func_accept_arg3 in 'int' 'size_t' 'socklen_t' 'unsigned int' 'void'; do
-       cat >conftest.$ac_ext <<_ACEOF
+     if test "${ac_cv_func_accept_arg3+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+      for ac_cv_func_accept_return in 'int' 'unsigned int PASCAL'; do
+      for ac_cv_func_accept_arg1 in 'int' 'unsigned int'; do
+       for ac_cv_func_accept_arg2 in 'struct sockaddr *' 'const struct sockaddr *' 'void *'; do
+        for ac_cv_func_accept_arg3 in 'int' 'size_t' 'socklen_t' 'unsigned int' 'void'; do
+         cat >conftest.$ac_ext <<_ACEOF
 #line $LINENO "configure"
 #include "confdefs.h"
 #ifdef HAVE_SYS_TYPES_H
@@ -10836,7 +10841,7 @@ else
 #ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
 #endif
-extern int accept ($ac_cv_func_accept_arg1, $ac_cv_func_accept_arg2, $ac_cv_func_accept_arg3 *);
+extern $ac_cv_func_accept_return accept ($ac_cv_func_accept_arg1, $ac_cv_func_accept_arg2, $ac_cv_func_accept_arg3 *);
 #ifdef F77_DUMMY_MAIN
 #  ifdef __cplusplus
      extern "C"
@@ -10863,13 +10868,14 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_not_found=no; break 3
+  ac_not_found=no; break 4
 else
   echo "$as_me: failed program was:" >&5
 cat conftest.$ac_ext >&5
 ac_not_found=yes
 fi
 rm -f conftest.$ac_objext conftest.$ac_ext
+       done
       done
      done
     done
 fi
 
 fi
- echo "$as_me:$LINENO: result: $ac_cv_func_accept_arg1, $ac_cv_func_accept_arg2, $ac_cv_func_accept_arg3 *" >&5
-echo "${ECHO_T}$ac_cv_func_accept_arg1, $ac_cv_func_accept_arg2, $ac_cv_func_accept_arg3 *" >&6
+
+fi
+ echo "$as_me:$LINENO: result: $ac_cv_func_accept_return, $ac_cv_func_accept_arg1, $ac_cv_func_accept_arg2, $ac_cv_func_accept_arg3 *" >&5
+echo "${ECHO_T}$ac_cv_func_accept_return, $ac_cv_func_accept_arg1, $ac_cv_func_accept_arg2, $ac_cv_func_accept_arg3 *" >&6
+
+cat >>confdefs.h <<_ACEOF
+#define ACCEPT_TYPE_RETURN $ac_cv_func_accept_return
+_ACEOF
+
 
 cat >>confdefs.h <<_ACEOF
 #define ACCEPT_TYPE_ARG1 $ac_cv_func_accept_arg1
@@ -11198,6 +11211,7 @@ fi
 
 
 
+HAVE_IPV6=no
 echo "$as_me:$LINENO: checking for struct sockaddr_in6" >&5
 echo $ECHO_N "checking for struct sockaddr_in6... $ECHO_C" >&6
 if test "${ac_cv_type_struct_sockaddr_in6+set}" = set; then
@@ -11319,11 +11333,13 @@ cat >>confdefs.h <<\_ACEOF
 #define HAVE_IPV6 1
 _ACEOF
 
+                                                         HAVE_IPV6=yes
 fi
 
 fi
 
 
+
 echo "$as_me:$LINENO: checking for PS_STRINGS" >&5
 echo $ECHO_N "checking for PS_STRINGS... $ECHO_C" >&6
 if test "${pgac_cv_var_PS_STRINGS+set}" = set; then
@@ -13102,6 +13118,7 @@ fi
 #
 # For each platform, we need to know about any special compile and link
 # libraries, and whether the normal C function names are thread-safe.
+# See the comment at the top of src/port/thread.c for more information.
 #
 if test "$enable_thread_safety" = yes; then
 if test "${ac_cv_header_pthread_h+set}" = set; then
@@ -13208,8 +13225,8 @@ fi
 if test $ac_cv_header_pthread_h = yes; then
   :
 else
-  { { echo "$as_me:$LINENO: error: pthread.h not found, required for --with-threads" >&5
-echo "$as_me: error: pthread.h not found, required for --with-threads" >&2;}
+  { { echo "$as_me:$LINENO: error: pthread.h not found, required for --enable-thread-safetys" >&5
+echo "$as_me: error: pthread.h not found, required for --enable-thread-safetys" >&2;}
    { (exit 1); exit 1; }; }
 fi
 
@@ -13221,12 +13238,14 @@ Cannot enable threads on your platform.
 Please report your platform threading info to the PostgreSQL mailing lists
 so it can be added to the next release.  Report all compile flags, link flags,
 functions, or libraries required for threading support.
+See the comment at the top of src/port/thread.c for more information.
 " >&5
 echo "$as_me: error:
 Cannot enable threads on your platform.
 Please report your platform threading info to the PostgreSQL mailing lists
 so it can be added to the next release.  Report all compile flags, link flags,
 functions, or libraries required for threading support.
+See the comment at the top of src/port/thread.c for more information.
 " >&2;}
    { (exit 1); exit 1; }; }
 fi
@@ -13254,22 +13273,88 @@ _CFLAGS="$CFLAGS"
 _LIBS="$LIBS"
 CFLAGS="$CFLAGS $THREAD_CFLAGS"
 LIBS="$LIBS $THREAD_LIBS"
+echo "$as_me:$LINENO: checking for strerror_r" >&5
+echo $ECHO_N "checking for strerror_r... $ECHO_C" >&6
+if test "${ac_cv_func_strerror_r+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char strerror_r (); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char strerror_r ();
+char (*f) ();
 
+#ifdef F77_DUMMY_MAIN
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int F77_DUMMY_MAIN() { return 1; }
+#endif
+int
+main ()
+{
+/* 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_strerror_r) || defined (__stub___strerror_r)
+choke me
+#else
+f = strerror_r;
+#endif
 
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_strerror_r=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_func_strerror_r=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_strerror_r" >&5
+echo "${ECHO_T}$ac_cv_func_strerror_r" >&6
+if test $ac_cv_func_strerror_r = yes; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: strerror_r not found, required on this platform for --enable-thread-safety" >&5
+echo "$as_me: error: strerror_r not found, required on this platform for --enable-thread-safety" >&2;}
+   { (exit 1); exit 1; }; }
+fi
 
-for ac_func in strerror_r getpwuid_r gethostbyname_r
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+echo "$as_me:$LINENO: checking for getpwuid_r" >&5
+echo $ECHO_N "checking for getpwuid_r... $ECHO_C" >&6
+if test "${ac_cv_func_getpwuid_r+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
 #line $LINENO "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func (); below.  */
+    which can conflict with char getpwuid_r (); below.  */
 #include <assert.h>
 /* Override any gcc2 internal prototype to avoid an error.  */
 #ifdef __cplusplus
@@ -13277,7 +13362,7 @@ extern "C"
 #endif
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
-char $ac_func ();
+char getpwuid_r ();
 char (*f) ();
 
 #ifdef F77_DUMMY_MAIN
@@ -13292,10 +13377,10 @@ main ()
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined (__stub_getpwuid_r) || defined (__stub___getpwuid_r)
 choke me
 #else
-f = $ac_func;
+f = getpwuid_r;
 #endif
 
   ;
@@ -13314,23 +13399,95 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  eval "$as_ac_var=yes"
+  ac_cv_func_getpwuid_r=yes
 else
   echo "$as_me: failed program was:" >&5
 cat conftest.$ac_ext >&5
-eval "$as_ac_var=no"
+ac_cv_func_getpwuid_r=no
 fi
 rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
+echo "$as_me:$LINENO: result: $ac_cv_func_getpwuid_r" >&5
+echo "${ECHO_T}$ac_cv_func_getpwuid_r" >&6
+if test $ac_cv_func_getpwuid_r = yes; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: getpwuid_r not found, required on this platform for --enable-thread-safety" >&5
+echo "$as_me: error: getpwuid_r not found, required on this platform for --enable-thread-safety" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+echo "$as_me:$LINENO: checking for gethostbyname_r" >&5
+echo $ECHO_N "checking for gethostbyname_r... $ECHO_C" >&6
+if test "${ac_cv_func_gethostbyname_r+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char gethostbyname_r (); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char gethostbyname_r ();
+char (*f) ();
 
+#ifdef F77_DUMMY_MAIN
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int F77_DUMMY_MAIN() { return 1; }
+#endif
+int
+main ()
+{
+/* 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_gethostbyname_r) || defined (__stub___gethostbyname_r)
+choke me
+#else
+f = gethostbyname_r;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_gethostbyname_r=yes
+else
+  echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_func_gethostbyname_r=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname_r" >&5
+echo "${ECHO_T}$ac_cv_func_gethostbyname_r" >&6
+if test $ac_cv_func_gethostbyname_r = yes; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: gethostbyname_r not found, required on this platform for --enable-thread-safety" >&5
+echo "$as_me: error: gethostbyname_r not found, required on this platform for --enable-thread-safety" >&2;}
+   { (exit 1); exit 1; }; }
 fi
-done
 
 CFLAGS="$_CFLAGS"
 LIBS="$_LIBS"
@@ -17838,7 +17995,7 @@ _ASBOX
 } >&5
 cat >&5 <<_CSEOF
 
-This file was extended by PostgreSQL $as_me 7.4beta1, which was
+This file was extended by PostgreSQL $as_me 7.4beta2, which was
 generated by GNU Autoconf 2.53.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -17900,7 +18057,7 @@ _ACEOF
 
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-PostgreSQL config.status 7.4beta1
+PostgreSQL config.status 7.4beta2
 configured by $0, generated by GNU Autoconf 2.53,
   with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
 
@@ -18144,15 +18301,13 @@ s,@perl_privlibexp@,$perl_privlibexp,;t t
 s,@perl_useshrplib@,$perl_useshrplib,;t t
 s,@perl_embed_ldflags@,$perl_embed_ldflags,;t t
 s,@PYTHON@,$PYTHON,;t t
-s,@python_version@,$python_version,;t t
 s,@python_prefix@,$python_prefix,;t t
 s,@python_execprefix@,$python_execprefix,;t t
 s,@python_configdir@,$python_configdir,;t t
-s,@python_moduledir@,$python_moduledir,;t t
-s,@python_moduleexecdir@,$python_moduleexecdir,;t t
 s,@python_includespec@,$python_includespec,;t t
 s,@python_libspec@,$python_libspec,;t t
 s,@LIBOBJS@,$LIBOBJS,;t t
+s,@HAVE_IPV6@,$HAVE_IPV6,;t t
 s,@THREAD_CFLAGS@,$THREAD_CFLAGS,;t t
 s,@THREAD_LIBS@,$THREAD_LIBS,;t t
 s,@HAVE_POSIX_SIGNALS@,$HAVE_POSIX_SIGNALS,;t t
index bf2f465a554ff49f4a7314289969fff4d5c90b0c..3f73d4c0391659d5d5495e0a1dccb0e1d123058e 100644 (file)
@@ -21,7 +21,7 @@ dnl The GNU folks apparently haven't heard that some people don't use
 dnl Texinfo. Use this sorcery to use "docdir" instead of "infodir".
 m4_define([info], [doc])
 m4_define([infodir], [docdir])
-AC_INIT([PostgreSQL], [7.4beta1], [[email protected]])
+AC_INIT([PostgreSQL], [7.4beta2], [[email protected]])
 m4_undefine([infodir])
 m4_undefine([info])
 AC_SUBST(docdir)
@@ -238,6 +238,12 @@ if test "$enable_debug" = yes && test "$ac_cv_prog_cc_g" = yes; then
 fi
 AC_MSG_NOTICE([using CFLAGS=$CFLAGS])
 
+# We already have this in Makefile.win32, but configure needs it too
+if test "$PORTNAME" = "win32"
+then
+       CPPFLAGS="$CPPFLAGS -Isrc/include/port/win32"
+fi
+
 # Check if the compiler still works with the template settings
 AC_MSG_CHECKING([whether the C compiler still works])
 AC_TRY_LINK([], [return 0;],
@@ -362,10 +368,10 @@ AC_MSG_RESULT([$with_perl])
 AC_SUBST(with_perl)
 
 #
-# Optionally build Python interface module
+# Optionally build Python modules (PL/Python)
 #
 AC_MSG_CHECKING([whether to build Python modules])
-PGAC_ARG_BOOL(with, python, no, [  --with-python           build Python interface module])
+PGAC_ARG_BOOL(with, python, no, [  --with-python           build Python modules (PL/Python)])
 AC_MSG_RESULT([$with_python])
 AC_SUBST(with_python)
 
@@ -608,7 +614,6 @@ fi
 
 if test "$with_python" = yes; then
   PGAC_PATH_PYTHON
-  PGAC_CHECK_PYTHON_MODULE_SETUP
   PGAC_CHECK_PYTHON_EMBED_SETUP
 fi
 
@@ -833,12 +838,15 @@ AC_CHECK_FUNCS([cbrt dlopen fcvt fdatasync getpeereid memmove poll pstat setproc
 
 AC_CHECK_DECLS(fdatasync, [], [], [#include <unistd.h>])
 
+HAVE_IPV6=no
 AC_CHECK_TYPE([struct sockaddr_in6],
               [AC_CHECK_FUNC(inet_ntop,
-                             [AC_DEFINE(HAVE_IPV6, 1, [Define to 1 if you have support for IPv6.])])],
+                             [AC_DEFINE(HAVE_IPV6, 1, [Define to 1 if you have support for IPv6.])
+                                                         HAVE_IPV6=yes])],
               [],
 [$ac_includes_default
 #include <netinet/in.h>])
+AC_SUBST(HAVE_IPV6)
 
 AC_CACHE_CHECK([for PS_STRINGS], [pgac_cv_var_PS_STRINGS],
 [AC_TRY_LINK(
@@ -978,9 +986,10 @@ AC_FUNC_FSEEKO
 #
 # For each platform, we need to know about any special compile and link
 # libraries, and whether the normal C function names are thread-safe.
+# See the comment at the top of src/port/thread.c for more information.
 #
 if test "$enable_thread_safety" = yes; then
-AC_CHECK_HEADER(pthread.h, [], [AC_MSG_ERROR([pthread.h not found, required for --with-threads])])
+AC_CHECK_HEADER(pthread.h, [], [AC_MSG_ERROR([pthread.h not found, required for --enable-thread-safetys])])
 
 if test "$SUPPORTS_THREADS" != yes; then
 AC_MSG_ERROR([
@@ -988,6 +997,7 @@ Cannot enable threads on your platform.
 Please report your platform threading info to the PostgreSQL mailing lists
 so it can be added to the next release.  Report all compile flags, link flags,
 functions, or libraries required for threading support.
+See the comment at the top of src/port/thread.c for more information.
 ])
 fi
 else
@@ -1014,7 +1024,12 @@ _CFLAGS="$CFLAGS"
 _LIBS="$LIBS"
 CFLAGS="$CFLAGS $THREAD_CFLAGS"
 LIBS="$LIBS $THREAD_LIBS"
-AC_CHECK_FUNCS([strerror_r getpwuid_r gethostbyname_r])
+AC_CHECK_FUNC(strerror_r,
+       [], [AC_MSG_ERROR([strerror_r not found, required on this platform for --enable-thread-safety])])
+AC_CHECK_FUNC(getpwuid_r,
+       [], [AC_MSG_ERROR([getpwuid_r not found, required on this platform for --enable-thread-safety])])
+AC_CHECK_FUNC(gethostbyname_r,
+       [], [AC_MSG_ERROR([gethostbyname_r not found, required on this platform for --enable-thread-safety])])
 CFLAGS="$_CFLAGS"
 LIBS="$_LIBS"
 fi
index a93c75900c9bcd0f8d94f6a92ba6a6e074529371..324f09ad6ae15048cd14f6ea20409559700e307c 100644 (file)
@@ -127,7 +127,7 @@ endif
 
 uninstall:
 ifneq (,$(DATA)$(DATA_built))
-       rm -f $(addprefix $(DESTDIR)$(datadir)/contrib/, $(DATA) $(DATA_built))
+       rm -f $(addprefix $(DESTDIR)$(datadir)/contrib/, $(notdir $(DATA) $(DATA_built)))
 endif
 ifdef MODULES
        rm -f $(addprefix $(DESTDIR)$(pkglibdir)/, $(addsuffix $(DLSUFFIX), $(MODULES)))
index f3aa0b8c06b7994f3744b8d2a498a2765a1e4636..469b9c043ffa293e077cce9febdd596fe9b4b253 100644 (file)
@@ -5,7 +5,6 @@ char       *token;
 int                    tokenlen;
 int                    tsearch_yylex(void);
 void           start_parse_str(char *, int);
-void           start_parse_fh(FILE *, int);
 void           end_parse(void);
 
 #endif
index 4323bda7ef003dd269757c38046db07135904986..2bf3dcba076bc13672fcd3d71215607fcb0b2430 100644 (file)
@@ -22,36 +22,6 @@ char *s     = NULL;  /* to return WHOLE hyphenated-word */
 
 YY_BUFFER_STATE buf = NULL; /* buffer to parse; it need for parse from string */
 
-int lrlimit = -1;      /* for limiting read from filehandle ( -1 - unlimited read ) */
-int bytestoread = 0;   /* for limiting read from filehandle */
-
-/* redefine macro for read limited length */
-#define YY_INPUT(buf,result,max_size) \
-       if ( yy_current_buffer->yy_is_interactive ) { \
-                int c = '*', n; \
-                for ( n = 0; n < max_size && \
-                             (c = getc( tsearch_yyin )) != EOF && c != '\n'; ++n ) \
-                        buf[n] = (char) c; \
-                if ( c == '\n' ) \
-                        buf[n++] = (char) c; \
-                if ( c == EOF && ferror( tsearch_yyin ) ) \
-                        YY_FATAL_ERROR( "input in flex scanner failed" ); \
-                result = n; \
-        }  else { \
-               if ( lrlimit == 0 ) \
-                       result=YY_NULL; \
-               else { \
-                       if ( lrlimit>0 ) { \
-                               bytestoread = ( lrlimit > max_size ) ? max_size : lrlimit; \
-                               lrlimit -= bytestoread; \
-                       } else \
-                               bytestoread = max_size; \
-                       if ( ((result = fread( buf, 1, bytestoread, tsearch_yyin )) == 0) \
-                               && ferror( tsearch_yyin ) ) \
-                               YY_FATAL_ERROR( "input in flex scanner failed" ); \
-               } \
-       }
-
 %}
 
 %option 8bit
@@ -327,13 +297,4 @@ void start_parse_str(char* str, int limit) {
        BEGIN INITIAL;
 }
 
-/* start parse from filehandle */
-void start_parse_fh( FILE* fh, int limit ) {
-       if (buf) end_parse();
-       lrlimit = ( limit ) ? limit : -1;
-       buf = tsearch_yy_create_buffer( fh, YY_BUF_SIZE );
-       tsearch_yy_switch_to_buffer( buf );
-       BEGIN INITIAL;
-}
-
 
diff --git a/contrib/tsearch2/Makefile b/contrib/tsearch2/Makefile
new file mode 100644 (file)
index 0000000..dfa0c4e
--- /dev/null
@@ -0,0 +1,47 @@
+# $Header$
+
+subdir = contrib/tsearch2
+top_builddir = ../..
+include $(top_builddir)/src/Makefile.global
+
+
+MODULE_big = tsearch2
+OBJS = dict_ex.o dict.o snmap.o stopword.o common.o prs_dcfg.o \
+       dict_snowball.o dict_ispell.o dict_syn.o \
+       wparser.o wparser_def.o \
+       ts_cfg.o tsvector.o rewrite.o crc32.o query.o gistidx.o \
+       tsvector_op.o rank.o ts_stat.o
+
+SUBDIRS     := snowball ispell wordparser
+SUBDIROBJS  := $(SUBDIRS:%=%/SUBSYS.o)
+
+OBJS:= $(OBJS) $(SUBDIROBJS)
+
+$(SUBDIROBJS): $(SUBDIRS:%=%-recursive) ;
+
+$(SUBDIRS:%=%-recursive):
+       $(MAKE) -C $(subst -recursive,,$@) SUBSYS.o
+
+PG_CPPFLAGS = -I$(srcdir)/snowball -I$(srcdir)/ispell -I$(srcdir)/wordparser
+
+DATA = stopword/english.stop stopword/russian.stop
+DATA_built = tsearch2.sql untsearch2.sql
+DOCS = README.tsearch2
+REGRESS = tsearch2
+
+SHLIB_LINK := -lm
+
+tsearch2.sql: tsearch.sql.in
+       sed -e 's,MODULE_PATHNAME,$$libdir/$(MODULE_big),g' \
+           -e 's,DATA_PATH,$(datadir)/contrib,g' $< >$@
+
+untsearch2.sql: untsearch.sql.in
+       cp $< $@
+
+.PHONY: subclean
+clean: subclean
+
+subclean:
+       for dir in $(SUBDIRS); do $(MAKE) -C $$dir clean || exit; done
+include $(top_srcdir)/contrib/contrib-global.mk
diff --git a/contrib/tsearch2/docs/tsearch-V2-intro.html b/contrib/tsearch2/docs/tsearch-V2-intro.html
new file mode 100644 (file)
index 0000000..ed2bc41
--- /dev/null
@@ -0,0 +1,1011 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>tsearch-v2-intro</title>
+  
+<link type="text/css" rel="stylesheet" href="tsearch-V2-intro_files/tsearch.txt"></head>
+
+
+<body>
+  <div class="content">
+    <h2>Tsearch2 - Introduction</h2>
+
+    <p><a href="http://www.sai.msu.su/%7Emegera/postgres/gist/tsearch/V2/docs/tsearch-V2-intro.html">
+    [Online version]</a> of this document is available.</p>
+
+    <p>The tsearch2 module is available to add as an extension to
+    the PostgreSQL database to allow for Full Text Indexing. This
+    document is an introduction to installing, configuring, using
+    and maintaining the database with the tsearch2 module
+    activated.</p>
+
+    <p>Please, note, tsearch2 module is fully incompatible with old
+    tsearch, which is deprecated in 7.4 and will be obsoleted in
+    7.5.</p>
+
+    <h3>USING TSEARCH2 AND POSTGRESQL FOR A WEB BASED SEARCH
+    ENGINE</h3>
+
+    <p>This documentation is provided as a short guide on how to
+    quickly get up and running with tsearch2 and PostgreSQL, for
+    those who want to implement a full text indexed based search
+    engine. It is not meant to be a complete in-depth guide into
+    the full ins and outs of the contrib/tsearch2 module, and is
+    primarily aimed at beginners who want to speed up searching of
+    large text fields, or those migrating from other database
+    systems such as MS-SQL.</p>
+
+    <p>The README.tsearch2 file included in the contrib/tsearch2
+    directory contains a brief overview and history behind tsearch.
+    This can also be found online <a href="http://www.sai.msu.su/%7Emegera/postgres/gist/tsearch/V2/">[right
+    here]</a>.</p>
+
+    <p>Further in depth documentation such as a full function
+    reference, and user guide can be found online at the <a href="http://www.sai.msu.su/%7Emegera/postgres/gist/tsearch/V2/docs/">[tsearch
+    documentation home]</a>.</p>
+
+    <h3>ACKNOWLEDGEMENTS</h3>
+
+    <p>Robert John Shepherd originally wrote this documentation for
+    the previous version of tsearch module (v1) included with the
+    postgres release. I took his documentation and updated it to
+    comply with the tsearch2 modifications.</p>
+
+    <p>Robert's original acknowledgements:</p>
+
+    <p>"Thanks to Oleg Bartunov for taking the time to answer many
+    of my questions regarding this module, and also to Teodor
+    Sigaev for clearing up the process of making your own
+    dictionaries. Plus of course a big thanks to the pair of them
+    for writing this module in the first place!"</p>
+
+    <p>I would also like to extend my thanks to the developers, and
+    Oleg Bartunov for all of his direction and help with the new
+    features of tsearch2.</p>
+
+    <h3>OVERVIEW</h3>
+
+    <p>MS-SQL provides a full text indexing (FTI) system which
+    enables the fast searching of text based fields, very useful
+    for websites (and other applications) that require a results
+    set based on key words. PostgreSQL ships with a contributed
+    module called tsearch2, which implements a special type of
+    index that can also be used for full text indexing. Further
+    more, unlike MS' offering which requires regular incremental
+    rebuilds of the text indexes themselves, tsearch2 indexes are
+    always up-to-date and keeping them so induces very little
+    overhead.</p>
+
+    <p>Before we get into the details, it is recommended that you
+    have installed and tested PostgreSQL, are reasonably familiar
+    with databases, the SQL query language and also understand the
+    basics of connecting to PostgreSQL from the local shell. This
+    document isn't intended for the complete PostgreSQL newbie, but
+    anyone with a reasonable grasp of the basics should be able to
+    follow it.</p>
+
+    <h3>INSTALLATION</h3>
+
+    <p>Starting with PostgreSQL version 7.4 tsearch2 is now
+    included in the contrib directory with the PostgreSQL sources.
+    contrib/tsearch2 is where you will find everything needed to
+    install and use tsearch2. Please note that tsearch2 will also
+    work with PostgreSQL version 7.3.x, but it is not the module
+    included with the source distribution. You will have to
+    download the module separately and install it in the same
+    fashion.</p>
+
+    <p>I installed the tsearch2 module to a PostgreSQL 7.3 database
+    from the contrib directory without squashing the original (old)
+    tsearch module. What I did was move the modules tsearch src
+    driectory into the contrib tree under the name tsearchV2.</p>
+
+    <p>Step one is to download the tsearch V2 module :</p>
+
+    <p><a href="http://www.sai.msu.su/%7Emegera/postgres/gist/tsearch/V2/">[http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/]</a>
+    (check Development History for latest stable version !)</p>
+    <pre>        tar -zxvf tsearch-v2.tar.gz
+        mv tsearch2 PGSQL_SRC/contrib/
+        cd PGSQL_SRC/contrib/tsearch2
+</pre>
+
+    <p>If you are installing from PostgreSQL version 7.4 or higher,
+    you can skip those steps and just change to the
+    contrib/tsearch2 directory in the source tree and continue from
+    there.</p>
+
+    <p>Then continue with the regular building and installation
+    process</p>
+    <pre>        gmake
+        gmake install
+        gmake installcheck
+</pre>
+
+    <p>That is pretty much all you have to do, unless of course you
+    get errors. However if you get those, you better go check with
+    the mailing lists over at <a href="http://www.postgresql.org/">http://www.postgresql.org</a> or
+    <a href="http://openfts.sourceforge.net/">http://openfts.sourceforge.net/</a>
+    since its never failed for me.</p>
+
+    <p>The directory in the contib/ and the directory from the
+    archive is called tsearch2. Tsearch2 is completely incompatible
+    with the previous version of tsearch. This means that both
+    versions can be installed into a single database, and migration
+    the new version may be much easier.</p>
+
+    <p>NOTE: the previous version of tsearch found in the
+    contrib/tsearch directory is depricated. ALthough it is still
+    available and included within PostgreSQL version 7.4. It will
+    be removed in version 7.5.</p>
+
+    <h3>ADDING TSEARCH2 FUNCTIONALITY TO A DATABASE</h3>
+
+    <p>We should create a database to use as an example for the
+    remainder of this file. We can call the database "ftstest". You
+    can create it from the command line like this:</p>
+    <pre>        #createdb ftstest
+</pre>
+
+    <p>If you thought installation was easy, this next bit is even
+    easier. Change to the PGSQL_SRC/contrib/tsearch2 directory and
+    type:</p>
+    <pre>        psql ftstest &lt; tsearch2.sql
+</pre>
+
+    <p>The file "tsearch2.sql" holds all the wonderful little
+    goodies you need to do full text indexing. It defines numerous
+    functions and operators, and creates the needed tables in the
+    database. There will be 4 new tables created after running the
+    tsearch2.sql file : pg_ts_dict, pg_ts_parser, pg_ts_cfg,
+    pg_ts_cfgmap are added.</p>
+
+    <p>You can check out the tables if you like:</p>
+    <pre>        #psql ftstest
+        ftstest=# \d
+                    List of relations
+         Schema |     Name     | Type  |  Owner
+        --------+--------------+-------+----------
+         public | pg_ts_cfg    | table | kopciuch
+         public | pg_ts_cfgmap | table | kopciuch
+         public | pg_ts_dict   | table | kopciuch
+         public | pg_ts_parser | table | kopciuch
+        (4 rows)
+</pre>
+
+    <h3>TYPES AND FUNCTIONS PROVIDED BY TSEARCH2</h3>
+
+    <p>The first thing we can do is try out some of the types that
+    are provided for us. Lets look at the tsvector type provided
+    for us:</p>
+    <pre>        SELECT 'Our first string used today'::tsvector;
+                        tsvector
+        ---------------------------------------
+         'Our' 'used' 'first' 'today' 'string'
+        (1 row)
+</pre>
+
+    <p>The results are the words used within our string. Notice
+    they are not in any particular order. The tsvector type returns
+    a string of space separated words.</p>
+    <pre>        SELECT 'Our first string used today first string'::tsvector;
+                            tsvector
+        -----------------------------------------------
+         'Our' 'used' 'again' 'first' 'today' 'string'
+        (1 row)
+</pre>
+
+    <p>Notice the results string has each unique word ('first' and
+    'string' only appear once in the tsvector value). Which of
+    course makes sense if you are searching the full text ... you
+    only need to know each unique word in the text.</p>
+
+    <p>Those examples were just casting a text field to that of
+    type tsvector. Lets check out one of the new functions created
+    by the tsearch2 module.</p>
+
+    <p>The function to_tsvector has 3 possible signatures:</p>
+    <pre>        to_tsvector(oid, text);
+        to_tsvector(text, text);
+        to_tsvector(text);
+</pre>
+
+    <p>We will use the second method using two text fields. The
+    overloaded methods provide us with a way to specifiy the way
+    the searchable text is broken up into words (Stemming process).
+    Right now we will specify the 'default' configuration. See the
+    section on TSEARCH2 CONFIGURATION to learn more about this.</p>
+    <pre>        SELECT to_tsvector('default',
+                           'Our first string used today first string');
+                        to_tsvector
+        --------------------------------------------
+         'use':4 'first':2,6 'today':5 'string':3,7
+        (1 row)
+</pre>
+
+    <p>The result returned from this function is of type tsvector.
+    The results came about by this reasoning: All of the words in
+    the text passed in are stemmed, or not used because they are
+    stop words defined in our configuration. Each lower case
+    morphed word is returned with all of the positons in the
+    text.</p>
+
+    <p>In this case the word "Our" is a stop word in the default
+    configuration. That means it will not be included in the
+    result. The word "first" is found at positions 2 and 6
+    (although "Our" is a stop word, it's position is maintained).
+    The word(s) positioning is maintained exactly as in the
+    original string. The word "used" is morphed to the word "use"
+    based on the default configuration for word stemming, and is
+    found at position 4. The rest of the results follow the same
+    logic. Just a reminder again ... the order of the 'word'
+    position in the output is not in any kind of order. (ie 'use':4
+    appears first)</p>
+
+    <p>If you want to view the output of the tsvector fields
+    without their positions, you can do so with the function
+    "strip(tsvector)".</p>
+    <pre>        SELECT strip(to_tsvector('default',
+                     'Our first string used today first string'));
+                    strip
+        --------------------------------
+         'use' 'first' 'today' 'string'
+</pre>
+
+    <p>If you wish to know the number of unique words returned in
+    the tsvector you can do so by using the function
+    "length(tsvector)"</p>
+    <pre>        SELECT length(to_tsvector('default',
+                      'Our first string used today first string'));
+         length
+        --------
+              4
+        (1 row)
+</pre>
+
+    <p>Lets take a look at the function to_tsquery. It also has 3
+    signatures which follow the same rational as the to_tsvector
+    function:</p>
+    <pre>        to_tsquery(oid, text);
+        to_tsquery(text, text);
+        to_tsquery(text);
+</pre>
+
+    <p>Lets try using the function with a single word :</p>
+    <pre>        SELECT to_tsquery('default', 'word');
+         to_tsquery
+        -----------
+         'word'
+         (1 row)
+</pre>
+
+    <p>I call the function the same way I would a to_tsvector
+    function, specifying the 'default' configuration for morphing,
+    and the result is the stemmed output 'word'.</p>
+
+    <p>Lets attempt to use the function with a string of multiple
+    words:</p>
+    <pre>        SELECT to_tsquery('default', 'this is many words');
+        ERROR:  Syntax error
+</pre>
+
+    <p>The function can not accept a space separated string. The
+    intention of the to_tsquery function is to return a type of
+    "tsquery" used for searching a tsvector field. What we need to
+    do is search for one to many words with some kind of logic (for
+    now simple boolean).</p>
+    <pre>        SELECT to_tsquery('default', 'searching|sentence');
+              to_tsquery
+        ----------------------
+         'search' | 'sentenc'
+        (1 row)
+</pre>
+
+    <p>Notice that the words are separated by the boolean logic
+    "OR", the text could contain boolean operators &amp;,|,!,()
+    with their usual meaning.</p>
+
+    <p>You can not use words defined as being a stop word in your
+    configuration. The function will not fail ... you will just get
+    no result, and a NOTICE like this:</p>
+    <pre>        SELECT to_tsquery('default', 'a|is&amp;not|!the');
+        NOTICE:  Query contains only stopword(s)
+                 or doesn't contain lexem(s), ignored
+         to_tsquery
+        -----------
+        (1 row)
+</pre>
+
+    <p>That is a beginning to using the types, and functions
+    defined in the tsearch2 module. There are numerous more
+    functions that I have not touched on. You can read through the
+    tsearch2.sql file built when compiling to get more familiar
+    with what is included.</p>
+
+    <h3>INDEXING FIELDS IN A TABLE</h3>
+
+    <p>The next stage is to add a full text index to an existing
+    table. In this example we already have a table defined as
+    follows:</p>
+    <pre>        CREATE TABLE tblMessages
+        (
+                intIndex        int4,
+                strTopic        varchar(100),
+                strMessage      text
+        );
+</pre>
+
+    <p>We are assuming there are several rows with some kind of
+    data in them. Any data will do, just do several inserts with
+    test strings for a topic, and a message. here is some test data
+    I inserted. (yes I know it's completely useless stuff ;-) but
+    it will serve our purpose right now).</p>
+    <pre>        INSERT INTO tblMessages
+               VALUES ('1', 'Testing Topic', 'Testing message data input');
+        INSERT INTO tblMessages
+               VALUES ('2', 'Movie', 'Breakfast at Tiffany\'s');
+        INSERT INTO tblMessages
+               VALUES ('3', 'Famous Author', 'Stephen King');
+        INSERT INTO tblMessages
+               VALUES ('4', 'Political Topic',
+                            'Nelson Mandella is released from prison');
+        INSERT INTO tblMessages
+               VALUES ('5', 'Nursery rhyme phrase',
+                            'Little jack horner sat in a corner');
+        INSERT INTO tblMessages
+               VALUES ('6', 'Gettysburg address quotation',
+                            'Four score and seven years ago'
+                            ' our fathers brought forth on this'
+                            ' continent a new nation, conceived in'
+                            ' liberty and dedicated to the proposition'
+                            ' that all men are created equal');
+        INSERT INTO tblMessages
+               VALUES ('7', 'Classic Rock Bands',
+                            'Led Zeppelin Grateful Dead and The Sex Pistols');
+        INSERT INTO tblMessages
+               VALUES ('8', 'My birth address',
+                            '18 Sommervile road, Regina, Saskatchewan');
+        INSERT INTO tblMessages
+               VALUES ('9', 'Joke', 'knock knock : who\'s there?'
+                                    ' I will not finish this joke');
+        INSERT INTO tblMessages
+               VALUES ('10', 'Computer information',
+                             'My computer is a pentium III 400 mHz'
+                             ' with 192 megabytes of RAM');
+</pre>
+
+    <p>The next stage is to create a special text index which we
+    will use for FTI, so we can search our table of messages for
+    words or a phrase. We do this using the SQL command:</p>
+    <pre>        ALTER TABLE tblMessages ADD COLUMN idxFTI tsvector;
+</pre>
+
+    <p>Note that unlike traditional indexes, this is actually a new
+    field in the same table, which is then used (through the magic
+    of the tsearch2 operators and functions) by a special index we
+    will create in a moment.</p>
+
+    <p>The general rule for the initial insertion of data will
+    follow four steps:</p>
+    <pre>    1. update table
+    2. vacuum full analyze
+    3. create index
+    4. vacuum full analyze
+</pre>
+
+    <p>The data can be updated into the table, the vacuum full
+    analyze will reclaim unused space. The index can be created on
+    the table after the data has been inserted. Having the index
+    created prior to the update will slow down the process. It can
+    be done in that manner, this way is just more efficient. After
+    the index has been created on the table, vacuum full analyze is
+    run again to update postgres's statistics (ie having the index
+    take effect).</p>
+    <pre>        UPDATE tblMessages SET idxFTI=to_tsvector('default', strMessage);
+        VACUUM FULL ANALYZE;
+</pre>
+
+    <p>Note that this only inserts the field strMessage as a
+    tsvector, so if you want to also add strTopic to the
+    information stored, you should instead do the following, which
+    effectively concatenates the two fields into one before being
+    inserted into the table:</p>
+    <pre>        UPDATE tblMessages
+            SET idxFTI=to_tsvector('default',coalesce(strTopic,'') ||' '|| coalesce(strMessage,''));
+        VACUUM FULL ANALYZE;
+</pre>
+
+    <p><strong>Using the coalesce function makes sure this
+    concatenation also works with NULL fields.</strong></p>
+
+    <p>We need to create the index on the column idxFTI. Keep in
+    mind that the database will update the index when some action
+    is taken. In this case we _need_ the index (The whole point of
+    Full Text INDEXINGi ;-)), so don't worry about any indexing
+    overhead. We will create an index based on the gist function.
+    GiST is an index structure for Generalized Search Tree.</p>
+    <pre>        CREATE INDEX idxFTI_idx ON tblMessages USING gist(idxFTI);
+        VACUUM FULL ANALYZE;
+</pre>
+
+    <p>After you have converted all of your data and indexed the
+    column, you can select some rows to see what actually happened.
+    I will not display output here but you can play around
+    yourselves and see what happened.</p>
+
+    <p>The last thing to do is set up a trigger so every time a row
+    in this table is changed, the text index is automatically
+    updated. This is easily done using:</p>
+    <pre>        CREATE TRIGGER tsvectorupdate BEFORE UPDATE OR INSERT ON tblMessages
+            FOR EACH ROW EXECUTE PROCEDURE tsearch2(idxFTI, strMessage);
+</pre>
+
+    <p>Or if you are indexing both strMessage and strTopic you
+    should instead do:</p>
+    <pre>        CREATE TRIGGER tsvectorupdate BEFORE UPDATE OR INSERT ON tblMessages
+            FOR EACH ROW EXECUTE PROCEDURE
+                tsearch2(idxFTI, strTopic, strMessage);
+</pre>
+
+    <p>Before you ask, the tsearch2 function accepts multiple
+    fields as arguments so there is no need to concatenate the two
+    into one like we did before.</p>
+
+    <p>If you want to do something specific with columns, you may
+    write your very own trigger function using plpgsql or other
+    procedural languages (but not SQL, unfortunately) and use it
+    instead of <em>tsearch2</em> trigger.</p>
+
+    <p>You could however call other stored procedures from within
+    the tsearch2 function. Lets say we want to create a function to
+    remove certain characters (like the @ symbol from all
+    text).</p>
+    <pre>       CREATE FUNCTION dropatsymbol(text) 
+                     RETURNS text AS 'select replace($1, \'@\', \' \');' LANGUAGE SQL;
+</pre>
+
+    <p>Now we can use this function within the tsearch2 function on
+    the trigger.</p>
+    <pre>      DROP TRIGGER tsvectorupdate ON tblmessages;
+        CREATE TRIGGER tsvectorupdate BEFORE UPDATE OR INSERT ON tblMessages
+            FOR EACH ROW EXECUTE PROCEDURE tsearch2(idxFTI, dropatsymbol, strMessage);
+        INSERT INTO tblmessages VALUES (69, 'Attempt for dropatsymbol', '[email protected]');
+</pre>
+
+    <p>If at this point you receive an error stating: ERROR: Can't
+    find tsearch config by locale</p>
+
+    <p>Do not worry. You have done nothing wrong. And tsearch2 is
+    not broken. All that has happened here is that the
+    configuration is setup to use a configuration based on the
+    locale of the server. All you have to do is change your default
+    configuration, or add a new one for your specific locale. See
+    the section on TSEARCH2 CONFIGURATION.</p>
+    <pre class="real">   SELECT * FROM tblmessages WHERE intindex = 69;
+
+         intindex |         strtopic         |  strmessage   |        idxfti
+        ----------+--------------------------+---------------+-----------------------   
+                69 | Attempt for dropatsymbol | [email protected] | 'test':1 'test.com':2
+        (1 row)
+</pre>Notice that the string content was passed throught the stored
+procedure dropatsymbol. The '@' character was replaced with a
+single space ... and the output from the procedure was then stored
+in the tsvector column.
+
+    <p>This could be useful for removing other characters from
+    indexed text, or any kind of preprocessing needed to be done on
+    the text prior to insertion into the index.</p>
+
+    <h3>QUERYING A TABLE</h3>
+
+    <p>There are some examples in the README.tsearch2 file for
+    querying a table. One major difference between tsearch and
+    tsearch2 is the operator ## is no longer available. Only the
+    operator @@ is defined, using the types tsvector on one side
+    and tsquery on the other side.</p>
+
+    <p>Lets search the indexed data for the word "Test". I indexed
+    based on the the concatenation of the strTopic, and the
+    strMessage:</p>
+    <pre>        SELECT intindex, strtopic FROM tblmessages
+                                  WHERE idxfti @@ 'test'::tsquery;
+         intindex |   strtopic
+        ----------+---------------
+                1 | Testing Topic
+        (1 row)
+</pre>
+
+    <p>The only result that matched was the row with a topic
+    "Testing Topic". Notice that the word I search for was all
+    lowercase. Let's see what happens when I query for uppercase
+    "Test".</p>
+    <pre>        SELECT intindex, strtopic FROM tblmessages
+                                  WHERE idxfti @@ 'Test'::tsquery;
+         intindex | strtopic
+        ----------+----------
+        (0 rows)
+</pre>
+
+    <p>We get zero rows returned. The reason is because when the
+    text was inserted, it was morphed to my default configuration
+    (because of the call to to_tsvector in the UPDATE statement).
+    If there was no morphing done, and the tsvector field(s)
+    contained the word 'Text', a match would have been found.</p>
+
+    <p>Most likely the best way to query the field is to use the
+    to_tsquery function on the right hand side of the @@ operator
+    like this:</p>
+    <pre>        SELECT intindex, strtopic FROM tblmessages
+               WHERE idxfti @@ to_tsquery('default', 'Test | Zeppelin');
+         intindex |      strtopic
+        ----------+--------------------
+                1 | Testing Topic
+                7 | Classic Rock Bands
+        (2 rows)
+</pre>
+
+    <p>That query searched for all instances of "Test" OR
+    "Zeppelin". It returned two rows: the "Testing Topic" row, and
+    the "Classic Rock Bands" row. The to_tsquery function performed
+    the correct morphology upon the parameters, and searched the
+    tsvector field appropriately.</p>
+
+    <p>The last example here relates to searching for a phrase, for
+    example "minority report". This poses a problem with regard to
+    tsearch2, as it doesn't index phrases, only words. But there is
+    a way around which doesn't appear to have a significant impact
+    on query time, and that is to use a query such as the
+    following:</p>
+    <pre>        SELECT intindex, strTopic FROM tblmessages
+                WHERE idxfti @@ to_tsquery('default', 'gettysburg &amp; address')
+                AND strMessage ~* '.*men are created equal.*';
+         intindex |           strtopic
+        ----------+------------------------------
+                6 | Gettysburg address quotation
+        (1 row)
+        SELECT intindex, strTopic FROM tblmessages
+                WHERE idxfti @@ to_tsquery('default', 'gettysburg &amp; address')
+                AND strMessage ~* '.*something that does not exist.*';
+         intindex | strtopic
+        ----------+----------
+        (0 rows)
+</pre>
+
+    <p>Of course if your indexing both strTopic and strMessage, and
+    want to search for this phrase on both, then you will have to
+    get out the brackets and extend this query a little more.</p>
+
+    <h3>TSEARCH2 CONFIGURATION</h3>
+
+    <p>Some words such as "and", "the", and "who" are automatically
+    not indexed, since they belong to a pre-existing dictionary of
+    "Stop Words" which tsearch2 does not perform indexing on. If
+    someone needs to search for "The Who" in your database, they
+    are going to have a tough time coming up with any results,
+    since both are ignored in the indexes. But there is a
+    solution.</p>
+
+    <p>Lets say we want to add a word into the stop word list for
+    english stemming. We could edit the file
+    :'/usr/local/pgsql/share/english.stop' and add a word to the
+    list. I edited mine to exclude my name from indexing:</p>
+    <pre>    - Edit /usr/local/pgsql/share/english.stop
+    - Add 'andy' to the list
+    - Save the file.
+</pre>
+
+    <p>When you connect to the database, the dict_init procedure is
+    run during initialization. And in my configuration it will read
+    the stop words from the file I just edited. If you were
+    connected to the DB while editing the stop words, you will need
+    to end the current session and re-connect. When you re-connect
+    to the database, 'andy' is no longer indexed:</p>
+    <pre>        SELECT to_tsvector('default', 'Andy');
+         to_tsvector
+        ------------
+        (1 row)
+</pre>
+
+    <p>Originally I would get the result :</p>
+    <pre>        SELECT to_tsvector('default', 'Andy');
+         to_tsvector
+        ------------
+         'andi':1
+        (1 row)
+</pre>
+
+    <p>But since I added it as a stop word, it would be ingnored on
+    the indexing. The stop word added was used in the dictionary
+    "en_stem". If I were to use a different configuration such as
+    'simple', the results would be different. There are no stop
+    words for the simple dictionary. It will just convert to lower
+    case, and index every unique word.</p>
+    <pre>        SELECT to_tsvector('simple', 'Andy andy The the in out');
+                     to_tsvector
+        -------------------------------------
+         'in':5 'out':6 'the':3,4 'andy':1,2
+        (1 row)
+</pre>
+
+    <p>All this talk about which configuration to use is leading us
+    into the actual configuration of tsearch2. In the examples in
+    this document the configuration has always been specified when
+    using the tsearch2 functions:</p>
+    <pre>        SELECT to_tsvector('default', 'Testing the default config');
+        SELECT to_tsvector('simple', 'Example of simple Config');
+</pre>
+
+    <p>The pg_ts_cfg table holds each configuration you can use
+    with the tsearch2 functions. As you can see the ts_name column
+    contains both the 'default' configurations based on the 'C'
+    locale. And the 'simple' configuration which is not based on
+    any locale.</p>
+    <pre>        SELECT * from pg_ts_cfg;
+             ts_name     | prs_name |    locale
+        -----------------+----------+--------------
+         default         | default  | C
+         default_russian | default  | ru_RU.KOI8-R
+         simple          | default  |
+        (3 rows)
+</pre>
+
+    <p>Each row in the pg_ts_cfg table contains the name of the
+    tsearch2 configuration, the name of the parser to use, and the
+    locale mapped to the configuration. There is only one parser to
+    choose from the table pg_ts_parser called 'default'. More
+    parsers could be written, but for our needs we will use the
+    default.</p>
+
+    <p>There are 3 configurations installed by tsearch2 initially.
+    If your locale is set to 'en_US' for example (like my laptop),
+    then as you can see there is currently no dictionary configured
+    to use with that locale. You can either set up a new
+    configuration or just use one that already exists. If I do not
+    specify which configuration to use in the to_tsvector function,
+    I receive the following error.</p>
+    <pre>        SELECT to_tsvector('learning tsearch is like going to school');
+        ERROR:  Can't find tsearch config by locale
+</pre>
+
+    <p>We will create a new configuration for use with the server
+    encoding 'en_US'. The first step is to add a new configuration
+    into the pg_ts_cfg table. We will call the configuration
+    'default_english', with the default parser and use the locale
+    'en_US'.</p>
+    <pre>        INSERT INTO pg_ts_cfg (ts_name, prs_name, locale)
+               VALUES ('default_english', 'default', 'en_US');
+</pre>
+
+    <p>We have only declared that there is a configuration called
+    'default_english'. We need to set the configuration of how
+    'default_english' will work. The next step is creating a new
+    dictionary to use. The configuration of the dictionary is
+    completlely different in tsearch2. In the prior versions to
+    make changes, you would have to re-compile your changes into
+    the tsearch.so. All of the configuration has now been moved
+    into the system tables created by executing the SQL code from
+    tsearch2.sql</p>
+
+    <p>Lets take a first look at the pg_ts_dict table</p>
+    <pre>        ftstest=# \d pg_ts_dict
+                Table "public.pg_ts_dict"
+         Column      |  Type   | Modifiers
+        -----------------+---------+-----------
+         dict_name       | text    | not null
+         dict_init       | oid     |
+         dict_initoption | text    |
+         dict_lexize     | oid     | not null
+         dict_comment    | text    |
+        Indexes: pg_ts_dict_idx unique btree (dict_name)
+</pre>
+
+    <p>The dict_name column is the name of the dictionary, for
+    example 'simple', 'en_stem' or 'ru_stem'. The dict_init column
+    is an OID of a stored procedure to run for initialization of
+    that dictionary, for example 'snb_en_init' or 'snb_ru_init'.
+    The dict_init option is used for options passed to the init
+    function for the stored procedure. In the cases of 'en_stem' or
+    'ru_stem' it is a path to a stopword file for that dictionary,
+    for example '/usr/local/pgsql/share/english.stop'. This is
+    however dictated by the dictionary. ISpell dictionaries may
+    require different options. The dict_lemmatize column is another
+    OID of a stored procedure to the function used to lemmitize,
+    for example 'snb_lemmatize'. The dict_comment column is just a
+    comment.</p>
+
+    <p>Next we will configure the use of a new dictionary based on
+    ISpell. We will assume you have ISpell installed on you
+    machine. (in /usr/local/lib)</p>
+
+    <p>There has been some confusion in the past as to which files
+    are used from ISpell. ISpell operates using a hash file. This
+    is a binary file created by the ISpell command line utility
+    "buildhash". This utility accepts a file containing the words
+    from the dictionary, and the affixes file and the output is the
+    hash file. The default installation of ISPell installs the
+    english hash file english.hash, which is the exact same file as
+    american.hash. ISpell uses this as the fallback dictionary to
+    use.</p>
+
+    <p>This hash file is not what tsearch2 requires as the ISpell
+    interface. The file(s) needed are those used to create the
+    hash. Tsearch uses the dictionary words for morphology, so the
+    listing is needed not spellchecking. Regardless, these files
+    are included in the ISpell sources, and you can use them to
+    integrate into tsearch2. This is not complicated, but is not
+    very obvious to begin with. The tsearch2 ISpell interface needs
+    only the listing of dictionary words, it will parse and load
+    those words, and use the ISpell dictionary for lexem
+    processing.</p>
+
+    <p>I found the ISPell make system to be very finicky. Their
+    documentation actually states this to be the case. So I just
+    did things the command line way. In the ISpell source tree
+    under langauges/english there are several files in this
+    directory. For a complete description, please read the ISpell
+    README. Basically for the english dictionary there is the
+    option to create the small, medium, large and extra large
+    dictionaries. The medium dictionary is recommended. If the make
+    system is configured correctly, it would build and install the
+    english.has file from the medium size dictionary. Since we are
+    only concerned with the dictionary word listing ... it can be
+    created from the /languages/english directory with the
+    following command:</p>
+    <pre>   sort -u -t/ +0f -1 +0 -T /usr/tmp -o english.med english.0 english.1
+</pre>
+
+    <p>This will create a file called english.med. You can copy
+    this file to whever you like. I place mine in /usr/local/lib so
+    it coincides with the ISpell hash files. You can now add the
+    tsearch2 configuration entry for the ISpell english dictionary.
+    We will also continue to use the english word stop file that
+    was installed for the en_stem dictionary. You could use a
+    different one if you like. The ISpell configuration is based on
+    the "ispell_template" dictionary installed by default with
+    tsearch2. We will use the OIDs to the stored procedures from
+    the row where the dict_name = 'ispell_template'.</p>
+    <pre>        INSERT INTO pg_ts_dict
+               (SELECT 'en_ispell',
+                       dict_init,
+                       'DictFile="/usr/local/lib/english.med",'
+                       'AffFile="/usr/local/lib/english.aff",'
+                       'StopFile="/usr/local/pgsql/share/english.stop"',
+                       dict_lexize
+                FROM pg_ts_dict
+                WHERE dict_name = 'ispell_template');
+</pre>
+
+    <p>Now that we have a dictionary we can specify it's use in a
+    query to get a lexem. For this we will use the lexize function.
+    The lexize function takes the name of the dictionary to use as
+    an argument. Just as the other tsearch2 functions operate.</p>
+    <pre>   SELECT lexize('en_ispell', 'program');
+          lexize
+        -----------
+         {program}
+        (1 row)
+</pre>
+
+    <p>If you wanted to always use the ISpell english dictionary
+    you have installed, you can configure tsearch2 to always use a
+    specific dictionary.</p>
+    <pre>  SELCECT set_curdict('en_ispell');
+</pre>
+
+    <p>Lexize is meant to turn a word into a lexem. It is possible
+    to receive more than one lexem returned for a single word.</p>
+    <pre> SELECT lexize('en_ispell', 'conditionally');
+           lexize
+        -----------------------------
+         {conditionally,conditional}
+        (1 row)
+</pre>
+
+    <p>The lexize function is not meant to take a full string as an
+    argument to return lexems for. If you passed in an entire
+    sentence, it attempts to find that entire sentence in the
+    dictionary. SInce the dictionary contains only words, you will
+    receive an empty result set back.</p>
+    <pre>      SELECT lexize('en_ispell', 'This is a senctece to lexize');
+         lexize
+        --------
+        
+        (1 row)
+        
+If you parse a lexem from a word not in the dictionary, then you will receive an empty result. This makes sense because the word "tsearch" is not int the english dictionary. You can create your own additions to the dictionary if you like. This may be useful for scientific or technical glossaries that need to be indexed. SELECT lexize('en_ispell', 'tsearch'); lexize -------- (1 row)
+</pre>
+
+    <p>This is not to say that tsearch will be ignored when adding
+    text information to the the tsvector index column. This will be
+    explained in greater detail with the table pg_ts_cfgmap.</p>
+
+    <p>Next we need to set up the configuration for mapping the
+    dictionay use to the lexxem parsings. This will be done by
+    altering the pg_ts_cfgmap table. We will insert several rows,
+    specifying to using the new dictionary we installed and
+    configured for use within tsearch2. There are several type of
+    lexims we would be concerned with forcing the use of the ISpell
+    dictionary.</p>
+    <pre>        INSERT INTO pg_ts_cfgmap (ts_name, tok_alias, dict_name)
+               VALUES ('default_english', 'lhword', '{en_ispell,en_stem}');
+        INSERT INTO pg_ts_cfgmap (ts_name, tok_alias, dict_name)
+               VALUES ('default_english', 'lpart_hword', '{en_ispell,en_stem}');
+        INSERT INTO pg_ts_cfgmap (ts_name, tok_alias, dict_name)
+               VALUES ('default_english', 'lword', '{en_ispell,en_stem}');
+</pre>
+
+    <p>We have just inserted 3 records to the configuration
+    mapping, specifying that the lexem types for "lhword,
+    lpart_hword and lword" are to be stemmed using the 'en_ispell'
+    dictionary we added into pg_ts_dict, when using the
+    configuration ' default_english' which we added to
+    pg_ts_cfg.</p>
+
+    <p>There are several other lexem types used that we do not need
+    to specify as using the ISpell dictionary. We can simply insert
+    values using the 'simple' stemming process dictionary.</p>
+    <pre>        INSERT INTO pg_ts_cfgmap
+               VALUES ('default_english', 'url', '{simple}');
+        INSERT INTO pg_ts_cfgmap
+               VALUES ('default_english', 'host', '{simple}');
+        INSERT INTO pg_ts_cfgmap
+               VALUES ('default_english', 'sfloat', '{simple}');
+        INSERT INTO pg_ts_cfgmap
+               VALUES ('default_english', 'uri', '{simple}');
+        INSERT INTO pg_ts_cfgmap
+               VALUES ('default_english', 'int', '{simple}');
+        INSERT INTO pg_ts_cfgmap
+               VALUES ('default_english', 'float', '{simple}');
+        INSERT INTO pg_ts_cfgmap
+               VALUES ('default_english', 'email', '{simple}');
+        INSERT INTO pg_ts_cfgmap
+               VALUES ('default_english', 'word', '{simple}');
+        INSERT INTO pg_ts_cfgmap
+               VALUES ('default_english', 'hword', '{simple}');
+        INSERT INTO pg_ts_cfgmap
+               VALUES ('default_english', 'nlword', '{simple}');
+        INSERT INTO pg_ts_cfgmap
+               VALUES ('default_english', 'nlpart_hword', '{simple}');
+        INSERT INTO pg_ts_cfgmap
+               VALUES ('default_english', 'part_hword', '{simple}');
+        INSERT INTO pg_ts_cfgmap
+               VALUES ('default_english', 'nlhword', '{simple}');
+        INSERT INTO pg_ts_cfgmap
+               VALUES ('default_english', 'file', '{simple}');
+        INSERT INTO pg_ts_cfgmap
+               VALUES ('default_english', 'uint', '{simple}');
+        INSERT INTO pg_ts_cfgmap
+               VALUES ('default_english', 'version', '{simple}');
+</pre>
+
+    <p>Our addition of a configuration for 'default_english' is now
+    complete. We have successfully created a new tsearch2
+    configuration. At the same time we have also set the new
+    configuration to be our default for en_US locale.</p>
+    <pre>        SELECT to_tsvector('default_english',
+                           'learning tsearch is like going to school');
+                           to_tsvector
+        --------------------------------------------------
+         'go':5 'like':4 'learn':1 'school':7 'tsearch':2
+        SELECT to_tsvector('learning tsearch is like going to school');
+                            to_tsvector
+        --------------------------------------------------
+         'go':5 'like':4 'learn':1 'school':7 'tsearch':2
+        (1 row)
+</pre>
+
+    <p>Notice here that words like "tsearch" are still parsed and
+    indexed in the tsvector column. There is a lexem returned for
+    the word becuase in the configuration mapping table, we specify
+    words to be used from the 'en_ispell' dictionary first, but as
+    a fallback to use the 'en_stem' dictionary. Therefore a lexem
+    is not returned from en_ispell, but is returned from en_stem,
+    and added to the tsvector.</p>
+    <pre> SELECT to_tsvector('learning tsearch is like going to computer school');
+                                to_tsvector
+        ---------------------------------------------------------------------------
+         'go':5 'like':4 'learn':1 'school':8 'compute':7 'tsearch':2 'computer':7
+        (1 row)
+</pre>
+
+    <p>Notice in this last example I added the word "computer" to
+    the text to be converted into a tsvector. Because we have setup
+    our default configuration to use the ISpell english dictionary,
+    the words are lexized, and computer returns 2 lexems at the
+    same position. 'compute':7 and 'computer':7 are now both
+    indexed for the word computer.</p>
+
+    <p>You can create additional dictionarynlists, or use the extra
+    large dictionary from ISpell. You can read through the ISpell
+    documents, and source tree to make modifications as you see
+    fit.</p>
+
+    <p>In the case that you already have a configuration set for
+    the locale, and you are changing it to your new dictionary
+    configuration. You will have to set the old locale to NULL. If
+    we are using the 'C' locale then we would do this:</p>
+    <pre>        UPDATE pg_ts_cfg SET locale=NULL WHERE locale = 'C';
+</pre>
+
+    <p>That about wraps up the configuration of tsearch2. There is
+    much more you can do with the tables provided. This was just an
+    introduction to get things working rather quickly.</p>
+
+    <h3>ADDING NEW DICTIONARIES TO TSEARCH2</h3>
+
+    <p>To aid in the addition of new dictionaries to the tsearch2
+    module you can use another additional module in combination
+    with tsearch2. The gendict module is included into tsearch2
+    distribution and is available from gendict/ subdirectory.</p>
+
+    <p>I will not go into detail about installation and
+    instructions on how to use gendict to it's fullest extent right
+    now. You can read the README.gendict ... it has all of the
+    instructions and information you will need.</p>
+
+    <h3>BACKING UP AND RESTORING DATABASES THAT FEATURE
+    TSEARCH2</h3>
+
+    <p>Believe it or not, this isn't as straight forward as it
+    should be, and you will have problems trying to backup and
+    restore any database which uses tsearch2 unless you take the
+    steps shown below. And before you ask using pg_dumpall will
+    result in failure every time. These took a lot of trial and
+    error to get working, but the process as laid down below has
+    been used a dozen times now in live production environments so
+    it should work fine.</p>
+
+    <p>HOWEVER never rely on anyone elses instructions to backup
+    and restore a database system, always develop and understand
+    your own methodology, and test it numerous times before you
+    need to do it for real.</p>
+
+    <p>To Backup a PostgreSQL database that uses the tsearch2
+    module:</p>
+
+    <p>1) Backup any global database objects such as users and
+    groups (this step is usually only necessary when you will be
+    restoring to a virgin system)</p>
+    <pre>        pg_dumpall -g &gt; GLOBALobjects.sql
+</pre>
+
+    <p>2) Backup the full database schema using pg_dump</p>
+    <pre>        pg_dump -s DATABASE &gt; DATABASEschema.sql
+</pre>
+
+    <p>3) Backup the full database using pg_dump</p>
+    <pre>        pg_dump -Fc DATABASE &gt; DATABASEdata.tar
+</pre>
+
+    <p>To Restore a PostgreSQL database that uses the tsearch2
+    module:</p>
+
+    <p>1) Create the blank database</p>
+    <pre>        createdb DATABASE
+</pre>
+
+    <p>2) Restore any global database objects such as users and
+    groups (this step is usually only necessary when you will be
+    restoring to a virgin system)</p>
+    <pre>        psql DATABASE &lt; GLOBALobjects.sql
+</pre>
+
+    <p>3) Create the tsearch2 objects, functions and operators</p>
+    <pre>        psql DATABASE &lt; tsearch2.sql
+</pre>
+
+    <p>4) Edit the backed up database schema and delete all SQL
+    commands which create tsearch2 related functions, operators and
+    data types, BUT NOT fields in table definitions that specify
+    tsvector types. If your not sure what these are, they are the
+    ones listed in tsearch2.sql. Then restore the edited schema to
+    the database</p>
+    <pre>        psql DATABASE &lt; DATABASEschema.sql
+</pre>
+
+    <p>5) Restore the data for the database</p>
+    <pre>        pg_restore -N -a -d DATABASE DATABASEdata.tar
+</pre>
+
+    <p>If you get any errors in step 4, it will most likely be
+    because you forgot to remove an object that was created in
+    tsearch2.sql. Any errors in step 5 will mean the database
+    schema was probably restored wrongly.</p>
+  </div>
+</body></html>
\ No newline at end of file
diff --git a/contrib/tsearch2/expected/tsearch2.out b/contrib/tsearch2/expected/tsearch2.out
new file mode 100644 (file)
index 0000000..8571e59
--- /dev/null
@@ -0,0 +1,2093 @@
+--
+-- first, define the datatype.  Turn off echoing so that expected file
+-- does not depend on contents of seg.sql.
+--
+\set ECHO none
+psql:tsearch2.sql:13: NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "pg_ts_dict_pkey" for table "pg_ts_dict"
+psql:tsearch2.sql:145: NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "pg_ts_parser_pkey" for table "pg_ts_parser"
+psql:tsearch2.sql:244: NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "pg_ts_cfg_pkey" for table "pg_ts_cfg"
+psql:tsearch2.sql:251: NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "pg_ts_cfgmap_pkey" for table "pg_ts_cfgmap"
+psql:tsearch2.sql:339: NOTICE:  type "tsvector" is not yet defined
+DETAIL:  Creating a shell type definition.
+psql:tsearch2.sql:344: NOTICE:  argument type tsvector is only a shell
+psql:tsearch2.sql:398: NOTICE:  type "tsquery" is not yet defined
+DETAIL:  Creating a shell type definition.
+psql:tsearch2.sql:403: NOTICE:  argument type tsquery is only a shell
+psql:tsearch2.sql:545: NOTICE:  type "gtsvector" is not yet defined
+DETAIL:  Creating a shell type definition.
+psql:tsearch2.sql:550: NOTICE:  argument type gtsvector is only a shell
+--tsvector
+SELECT '1'::tsvector;
+ tsvector 
+----------
+ '1'
+(1 row)
+
+SELECT '1 '::tsvector;
+ tsvector 
+----------
+ '1'
+(1 row)
+
+SELECT ' 1'::tsvector;
+ tsvector 
+----------
+ '1'
+(1 row)
+
+SELECT ' 1 '::tsvector;
+ tsvector 
+----------
+ '1'
+(1 row)
+
+SELECT '1 2'::tsvector;
+ tsvector 
+----------
+ '1' '2'
+(1 row)
+
+SELECT '\'1 2\''::tsvector;
+ tsvector 
+----------
+ '1 2'
+(1 row)
+
+SELECT '\'1 \\\'2\''::tsvector;
+ tsvector 
+----------
+ '1 \'2'
+(1 row)
+
+SELECT '\'1 \\\'2\'3'::tsvector;
+  tsvector   
+-------------
+ '3' '1 \'2'
+(1 row)
+
+SELECT '\'1 \\\'2\' 3'::tsvector;
+  tsvector   
+-------------
+ '3' '1 \'2'
+(1 row)
+
+SELECT '\'1 \\\'2\' \' 3\' 4 '::tsvector;
+     tsvector     
+------------------
+ '4' ' 3' '1 \'2'
+(1 row)
+
+select '\'w\':4A,3B,2C,1D,5 a:8';
+       ?column?        
+-----------------------
+ 'w':4A,3B,2C,1D,5 a:8
+(1 row)
+
+select 'a:3A b:2a'::tsvector || 'ba:1234 a:1B';
+          ?column?          
+----------------------------
+ 'a':3A,4B 'b':2A 'ba':1237
+(1 row)
+
+select setweight('w:12B w:13* w:12,5,6 a:1,3* a:3 w asd:1dc asd zxc:81,567,222A'::tsvector, 'c');
+                        setweight                         
+----------------------------------------------------------
+ 'a':1C,3C 'w':5C,6C,12C,13C 'asd':1C 'zxc':81C,222C,567C
+(1 row)
+
+select strip('w:12B w:13* w:12,5,6 a:1,3* a:3 w asd:1dc asd'::tsvector);
+     strip     
+---------------
+ 'a' 'w' 'asd'
+(1 row)
+
+--tsquery
+SELECT '1'::tsquery;
+ tsquery 
+---------
+ '1'
+(1 row)
+
+SELECT '1 '::tsquery;
+ tsquery 
+---------
+ '1'
+(1 row)
+
+SELECT ' 1'::tsquery;
+ tsquery 
+---------
+ '1'
+(1 row)
+
+SELECT ' 1 '::tsquery;
+ tsquery 
+---------
+ '1'
+(1 row)
+
+SELECT '\'1 2\''::tsquery;
+ tsquery 
+---------
+ '1 2'
+(1 row)
+
+SELECT '\'1 \\\'2\''::tsquery;
+ tsquery 
+---------
+ '1 \'2'
+(1 row)
+
+SELECT '!1'::tsquery;
+ tsquery 
+---------
+ !'1'
+(1 row)
+
+SELECT '1|2'::tsquery;
+  tsquery  
+-----------
+ '1' | '2'
+(1 row)
+
+SELECT '1|!2'::tsquery;
+  tsquery   
+------------
+ '1' | !'2'
+(1 row)
+
+SELECT '!1|2'::tsquery;
+  tsquery   
+------------
+ !'1' | '2'
+(1 row)
+
+SELECT '!1|!2'::tsquery;
+   tsquery   
+-------------
+ !'1' | !'2'
+(1 row)
+
+SELECT '!(!1|!2)'::tsquery;
+     tsquery      
+------------------
+ !( !'1' | !'2' )
+(1 row)
+
+SELECT '!(!1|2)'::tsquery;
+     tsquery     
+-----------------
+ !( !'1' | '2' )
+(1 row)
+
+SELECT '!(1|!2)'::tsquery;
+     tsquery     
+-----------------
+ !( '1' | !'2' )
+(1 row)
+
+SELECT '!(1|2)'::tsquery;
+    tsquery     
+----------------
+ !( '1' | '2' )
+(1 row)
+
+SELECT '1&2'::tsquery;
+  tsquery  
+-----------
+ '1' & '2'
+(1 row)
+
+SELECT '!1&2'::tsquery;
+  tsquery   
+------------
+ !'1' & '2'
+(1 row)
+
+SELECT '1&!2'::tsquery;
+  tsquery   
+------------
+ '1' & !'2'
+(1 row)
+
+SELECT '!1&!2'::tsquery;
+   tsquery   
+-------------
+ !'1' & !'2'
+(1 row)
+
+SELECT '(1&2)'::tsquery;
+  tsquery  
+-----------
+ '1' & '2'
+(1 row)
+
+SELECT '1&(2)'::tsquery;
+  tsquery  
+-----------
+ '1' & '2'
+(1 row)
+
+SELECT '!(1)&2'::tsquery;
+  tsquery   
+------------
+ !'1' & '2'
+(1 row)
+
+SELECT '!(1&2)'::tsquery;
+    tsquery     
+----------------
+ !( '1' & '2' )
+(1 row)
+
+SELECT '1|2&3'::tsquery;
+     tsquery     
+-----------------
+ '1' | '2' & '3'
+(1 row)
+
+SELECT '1|(2&3)'::tsquery;
+     tsquery     
+-----------------
+ '1' | '2' & '3'
+(1 row)
+
+SELECT '(1|2)&3'::tsquery;
+       tsquery       
+---------------------
+ ( '1' | '2' ) & '3'
+(1 row)
+
+SELECT '1|2&!3'::tsquery;
+     tsquery      
+------------------
+ '1' | '2' & !'3'
+(1 row)
+
+SELECT '1|!2&3'::tsquery;
+     tsquery      
+------------------
+ '1' | !'2' & '3'
+(1 row)
+
+SELECT '!1|2&3'::tsquery;
+     tsquery      
+------------------
+ !'1' | '2' & '3'
+(1 row)
+
+SELECT '!1|(2&3)'::tsquery;
+     tsquery      
+------------------
+ !'1' | '2' & '3'
+(1 row)
+
+SELECT '!(1|2)&3'::tsquery;
+       tsquery        
+----------------------
+ !( '1' | '2' ) & '3'
+(1 row)
+
+SELECT '(!1|2)&3'::tsquery;
+       tsquery        
+----------------------
+ ( !'1' | '2' ) & '3'
+(1 row)
+
+SELECT '1|(2|(4|(5|6)))'::tsquery;
+                 tsquery                 
+-----------------------------------------
+ '1' | ( '2' | ( '4' | ( '5' | '6' ) ) )
+(1 row)
+
+SELECT '1|2|4|5|6'::tsquery;
+                 tsquery                 
+-----------------------------------------
+ ( ( ( '1' | '2' ) | '4' ) | '5' ) | '6'
+(1 row)
+
+SELECT '1&(2&(4&(5&6)))'::tsquery;
+           tsquery           
+-----------------------------
+ '1' & '2' & '4' & '5' & '6'
+(1 row)
+
+SELECT '1&2&4&5&6'::tsquery;
+           tsquery           
+-----------------------------
+ '1' & '2' & '4' & '5' & '6'
+(1 row)
+
+SELECT '1&(2&(4&(5|6)))'::tsquery;
+             tsquery             
+---------------------------------
+ '1' & '2' & '4' & ( '5' | '6' )
+(1 row)
+
+SELECT '1&(2&(4&(5|!6)))'::tsquery;
+             tsquery              
+----------------------------------
+ '1' & '2' & '4' & ( '5' | !'6' )
+(1 row)
+
+SELECT '1&(\'2\'&(\' 4\'&(\\|5 | \'6 \\\' !|&\')))'::tsquery;
+                 tsquery                  
+------------------------------------------
+ '1' & '2' & ' 4' & ( '|5' | '6 \' !|&' )
+(1 row)
+
+SELECT '\'the wether\':dc & \' sKies \':BC & a:d b:a';
+                 ?column?                 
+------------------------------------------
+ 'the wether':dc & ' sKies ':BC & a:d b:a
+(1 row)
+
+select lexize('simple', 'ASD56 hsdkf');
+     lexize      
+-----------------
+ {"asd56 hsdkf"}
+(1 row)
+
+select lexize('en_stem', 'SKIES Problems identity');
+          lexize          
+--------------------------
+ {"skies problems ident"}
+(1 row)
+
+select * from token_type('default');
+ tokid |    alias     |               descr               
+-------+--------------+-----------------------------------
+     1 | lword        | Latin word
+     2 | nlword       | Non-latin word
+     3 | word         | Word
+     4 | email        | Email
+     5 | url          | URL
+     6 | host         | Host
+     7 | sfloat       | Scientific notation
+     8 | version      | VERSION
+     9 | part_hword   | Part of hyphenated word
+    10 | nlpart_hword | Non-latin part of hyphenated word
+    11 | lpart_hword  | Latin part of hyphenated word
+    12 | blank        | Space symbols
+    13 | tag          | HTML Tag
+    14 | http         | HTTP head
+    15 | hword        | Hyphenated word
+    16 | lhword       | Latin hyphenated word
+    17 | nlhword      | Non-latin hyphenated word
+    18 | uri          | URI
+    19 | file         | File or path name
+    20 | float        | Decimal notation
+    21 | int          | Signed integer
+    22 | uint         | Unsigned integer
+    23 | entity       | HTML Entity
+(23 rows)
+
+select * from parse('default', '345 [email protected] \' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/?  ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 [email protected] qwe-wer asdf <fr>qwer jf sdjk<we hjwer <werrwe> ewr1> ewri2 <a href="qwe<qwe>">
+/usr/local/fff /awdf/dwqe/4325 rewt/ewr wefjn /wqe-324/ewr gist.h gist.h.c gist.c. readline 4.2 4.2. 4.2, readline-4.2 readline-4.2. 234 
+<i <b> wow  < jqw <> qwerty');
+ tokid |                token                 
+-------+--------------------------------------
+    22 | 345
+    12 |  
+     4 | [email protected]
+    12 |  
+    12 | '
+    12 |  
+    14 | http://
+     6 | www.com
+    12 | /
+    12 |  
+    14 | http://
+     5 | aew.werc.ewr/?ad=qwe&dw
+     6 | aew.werc.ewr
+    18 | /?ad=qwe&dw
+    12 |  
+     5 | 1aew.werc.ewr/?ad=qwe&dw
+     6 | 1aew.werc.ewr
+    18 | /?ad=qwe&dw
+    12 |  
+     6 | 2aew.werc.ewr
+    12 |  
+    14 | http://
+     5 | 3aew.werc.ewr/?ad=qwe&dw
+     6 | 3aew.werc.ewr
+    18 | /?ad=qwe&dw
+    12 |  
+    14 | http://
+     6 | 4aew.werc.ewr
+    12 |  
+    14 | http://
+     5 | 5aew.werc.ewr:8100/?
+     6 | 5aew.werc.ewr
+    18 | :8100/?
+    12 |   
+     1 | ad
+    12 | =
+     1 | qwe
+    12 | &
+     1 | dw
+    12 |  
+     5 | 6aew.werc.ewr:8100/?ad=qwe&dw
+     6 | 6aew.werc.ewr
+    18 | :8100/?ad=qwe&dw
+    12 |  
+     5 | 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32
+     6 | 7aew.werc.ewr
+    18 | :8100/?ad=qwe&dw=%20%32
+    12 |  
+     7 | +4.0e-10
+    12 |  
+     1 | qwe
+    12 |  
+     1 | qwe
+    12 |  
+     1 | qwqwe
+    12 |  
+    20 | 234.435
+    12 |  
+    22 | 455
+    12 |  
+    20 | 5.005
+    12 |  
+     4 | [email protected]
+    12 |  
+    16 | qwe-wer
+    11 | qwe
+    12 | -
+    11 | wer
+    12 |  
+     1 | asdf
+    12 |  
+    13 |  
+     1 | qwer
+    12 |  
+     1 | jf
+    12 |  
+     1 | sdjk
+    13 |  
+    12 |  
+     3 | ewr1
+    12 | >
+    12 |  
+     3 | ewri2
+    12 |  
+    13 |  
+    12 | 
+
+    19 | /usr/local/fff
+    12 |  
+    19 | /awdf/dwqe/4325
+    12 |  
+    19 | rewt/ewr
+    12 |  
+     1 | wefjn
+    12 |  
+    19 | /wqe-324/ewr
+    12 |  
+     6 | gist.h
+    12 |  
+     6 | gist.h.c
+    12 |  
+     6 | gist.c
+    12 | .
+    12 |  
+     1 | readline
+    12 |  
+    20 | 4.2
+    12 |  
+    20 | 4.2
+    12 | .
+    12 |  
+    20 | 4.2
+    12 | ,
+    12 |  
+    15 | readline-4
+    11 | readline
+    12 | -
+    20 | 4.2
+    12 |  
+    15 | readline-4
+    11 | readline
+    12 | -
+    20 | 4.2
+    12 | .
+    12 |  
+    22 | 234
+    12 |  
+
+    13 |  
+    12 |  
+     1 | wow
+    12 |   
+    12 | <
+    12 |  
+     1 | jqw
+    12 |  
+    12 | <
+    12 | >
+    12 |  
+     1 | qwerty
+(138 rows)
+
+SELECT to_tsvector('default', '345 [email protected] \' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/?  ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 [email protected] qwe-wer asdf <fr>qwer jf sdjk<we hjwer <werrwe> ewr1> ewri2 <a href="qwe<qwe>">
+/usr/local/fff /awdf/dwqe/4325 rewt/ewr wefjn /wqe-324/ewr gist.h gist.h.c gist.c. readline 4.2 4.2. 4.2, readline-4.2 readline-4.2. 234 
+<i <b> wow  < jqw <> qwerty');
+                                                                                                                                                                                                                                                                                                                                                                                                                                               to_tsvector                                                                                                                                                                                                                                                                                                                                                                                                                                                
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ 'ad':18 'dw':20 'jf':40 '234':62 '345':1 '4.2':53,54,55,58,61 '455':32 'jqw':64 'qwe':19,28,29,36 'wer':37 'wow':63 'asdf':38 'ewr1':42 'qwer':39 'sdjk':41 '5.005':33 'ewri2':43 'qwqwe':30 'wefjn':47 'gist.c':51 'gist.h':49 'qwerti':65 '234.435':31 ':8100/?':17 'qwe-wer':35 'readlin':52,57,60 'www.com':3 '+4.0e-10':27 'gist.h.c':50 'rewt/ewr':46 '[email protected]':2 'readline-4':56,59 '/?ad=qwe&dw':6,9,13 '/wqe-324/ewr':48 'aew.werc.ewr':5 '1aew.werc.ewr':8 '2aew.werc.ewr':10 '3aew.werc.ewr':12 '4aew.werc.ewr':14 '5aew.werc.ewr':16 '6aew.werc.ewr':22 '7aew.werc.ewr':25 '/usr/local/fff':44 '/awdf/dwqe/4325':45 ':8100/?ad=qwe&dw':23 '[email protected]':34 '5aew.werc.ewr:8100/?':15 ':8100/?ad=qwe&dw=%20%32':26 'aew.werc.ewr/?ad=qwe&dw':4 '1aew.werc.ewr/?ad=qwe&dw':7 '3aew.werc.ewr/?ad=qwe&dw':11 '6aew.werc.ewr:8100/?ad=qwe&dw':21 '7aew.werc.ewr:8100/?ad=qwe&dw=%20%32':24
+(1 row)
+
+SELECT length(to_tsvector('default', '345 qw'));
+ length 
+--------
+      2
+(1 row)
+
+SELECT length(to_tsvector('default', '345 [email protected] \' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/?  ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 [email protected] qwe-wer asdf <fr>qwer jf sdjk<we hjwer <werrwe> ewr1> ewri2 <a href="qwe<qwe>">
+/usr/local/fff /awdf/dwqe/4325 rewt/ewr wefjn /wqe-324/ewr gist.h gist.h.c gist.c. readline 4.2 4.2. 4.2, readline-4.2 readline-4.2. 234 
+<i <b> wow  < jqw <> qwerty'));
+ length 
+--------
+     53
+(1 row)
+
+select to_tsquery('default', 'qwe & sKies '); 
+  to_tsquery   
+---------------
+ 'qwe' & 'sky'
+(1 row)
+
+select to_tsquery('simple', 'qwe & sKies '); 
+   to_tsquery    
+-----------------
+ 'qwe' & 'skies'
+(1 row)
+
+select to_tsquery('default', '\'the wether\':dc & \'           sKies \':BC ');
+       to_tsquery       
+------------------------
+ 'wether':CD & 'sky':BC
+(1 row)
+
+select to_tsquery('asd&(and|fghj)');
+   to_tsquery   
+----------------
+ 'asd' & 'fghj'
+(1 row)
+
+select to_tsquery('(asd&and)|fghj');
+   to_tsquery   
+----------------
+ 'asd' | 'fghj'
+(1 row)
+
+select to_tsquery('(asd&!and)|fghj');
+   to_tsquery   
+----------------
+ 'asd' | 'fghj'
+(1 row)
+
+select to_tsquery('(the|and&(i&1))&fghj');
+  to_tsquery  
+--------------
+ '1' & 'fghj'
+(1 row)
+
+select 'a b:89  ca:23A,64b d:34c'::tsvector @@ 'd:AC & ca';
+ ?column? 
+----------
+ t
+(1 row)
+
+select 'a b:89  ca:23A,64b d:34c'::tsvector @@ 'd:AC & ca:B';
+ ?column? 
+----------
+ t
+(1 row)
+
+select 'a b:89  ca:23A,64b d:34c'::tsvector @@ 'd:AC & ca:A';
+ ?column? 
+----------
+ t
+(1 row)
+
+select 'a b:89  ca:23A,64b d:34c'::tsvector @@ 'd:AC & ca:C';
+ ?column? 
+----------
+ f
+(1 row)
+
+select 'a b:89  ca:23A,64b d:34c'::tsvector @@ 'd:AC & ca:CB';
+ ?column? 
+----------
+ t
+(1 row)
+
+CREATE TABLE test_tsvector( t text, a tsvector );
+\copy test_tsvector from 'data/test_tsearch.data'
+SELECT count(*) FROM test_tsvector WHERE a @@ 'wr|qh';
+ count 
+-------
+   158
+(1 row)
+
+SELECT count(*) FROM test_tsvector WHERE a @@ 'wr&qh';
+ count 
+-------
+    17
+(1 row)
+
+SELECT count(*) FROM test_tsvector WHERE a @@ 'eq&yt';
+ count 
+-------
+     6
+(1 row)
+
+SELECT count(*) FROM test_tsvector WHERE a @@ 'eq|yt';
+ count 
+-------
+    98
+(1 row)
+
+SELECT count(*) FROM test_tsvector WHERE a @@ '(eq&yt)|(wr&qh)';
+ count 
+-------
+    23
+(1 row)
+
+SELECT count(*) FROM test_tsvector WHERE a @@ '(eq|yt)&(wr|qh)';
+ count 
+-------
+    39
+(1 row)
+
+create index wowidx on test_tsvector using gist (a);
+set enable_seqscan=off;
+SELECT count(*) FROM test_tsvector WHERE a @@ 'wr|qh';
+ count 
+-------
+   158
+(1 row)
+
+SELECT count(*) FROM test_tsvector WHERE a @@ 'wr&qh';
+ count 
+-------
+    17
+(1 row)
+
+SELECT count(*) FROM test_tsvector WHERE a @@ 'eq&yt';
+ count 
+-------
+     6
+(1 row)
+
+SELECT count(*) FROM test_tsvector WHERE a @@ 'eq|yt';
+ count 
+-------
+    98
+(1 row)
+
+SELECT count(*) FROM test_tsvector WHERE a @@ '(eq&yt)|(wr&qh)';
+ count 
+-------
+    23
+(1 row)
+
+SELECT count(*) FROM test_tsvector WHERE a @@ '(eq|yt)&(wr|qh)';
+ count 
+-------
+    39
+(1 row)
+
+select set_curcfg('default');
+ set_curcfg 
+------------
+(1 row)
+
+CREATE TRIGGER tsvectorupdate
+BEFORE UPDATE OR INSERT ON test_tsvector
+FOR EACH ROW EXECUTE PROCEDURE tsearch2(a, t);
+SELECT count(*) FROM test_tsvector WHERE a @@ to_tsquery('345&qwerty');
+ count 
+-------
+     0
+(1 row)
+
+INSERT INTO test_tsvector (t) VALUES ('345 qwerty');
+SELECT count(*) FROM test_tsvector WHERE a @@ to_tsquery('345&qwerty');
+ count 
+-------
+     1
+(1 row)
+
+UPDATE test_tsvector SET t = null WHERE t = '345 qwerty';
+SELECT count(*) FROM test_tsvector WHERE a @@ to_tsquery('345&qwerty');
+ count 
+-------
+     0
+(1 row)
+
+drop trigger tsvectorupdate on test_tsvector;
+create function wow(text) returns text as 'select $1 || \' copyright\'; ' language sql;
+create trigger tsvectorupdate before update or insert on test_tsvector
+for each row execute procedure tsearch2(a, wow, t);
+insert into test_tsvector (t) values ('345 qwerty');
+select count(*) FROM test_tsvector WHERE a @@ to_tsquery('345&qwerty');
+ count 
+-------
+     1
+(1 row)
+
+select count(*) FROM test_tsvector WHERE a @@ to_tsquery('copyright');
+ count 
+-------
+     1
+(1 row)
+
+select rank(' a:1 s:2C d g'::tsvector, 'a | s');
+ rank 
+------
+ 0.28
+(1 row)
+
+select rank(' a:1 s:2B d g'::tsvector, 'a | s');
+ rank 
+------
+ 0.46
+(1 row)
+
+select rank(' a:1 s:2 d g'::tsvector, 'a | s');
+ rank 
+------
+ 0.19
+(1 row)
+
+select rank(' a:1 s:2C d g'::tsvector, 'a & s');
+   rank   
+----------
+ 0.140153
+(1 row)
+
+select rank(' a:1 s:2B d g'::tsvector, 'a & s');
+   rank   
+----------
+ 0.198206
+(1 row)
+
+select rank(' a:1 s:2 d g'::tsvector, 'a & s');
+   rank    
+-----------
+ 0.0991032
+(1 row)
+
+insert into test_tsvector (t) values ('foo bar foo the over foo qq bar');
+select * from stat('select a from test_tsvector') order by ndoc desc, nentry desc, word;
+   word    | ndoc | nentry 
+-----------+------+--------
+ qq        |  109 |    109
+ qt        |  102 |    102
+ qe        |  100 |    100
+ qh        |   98 |     98
+ qw        |   98 |     98
+ qa        |   97 |     97
+ ql        |   94 |     94
+ qs        |   94 |     94
+ qi        |   92 |     92
+ qr        |   92 |     92
+ qj        |   91 |     91
+ qd        |   87 |     87
+ qz        |   87 |     87
+ qc        |   86 |     86
+ qn        |   86 |     86
+ qv        |   85 |     85
+ qo        |   84 |     84
+ qy        |   84 |     84
+ wp        |   84 |     84
+ qf        |   81 |     81
+ qk        |   80 |     80
+ wt        |   80 |     80
+ qu        |   79 |     79
+ qg        |   78 |     78
+ wb        |   78 |     78
+ qx        |   77 |     77
+ wr        |   77 |     77
+ ws        |   73 |     73
+ wy        |   73 |     73
+ wa        |   72 |     72
+ wf        |   70 |     70
+ wg        |   70 |     70
+ wi        |   70 |     70
+ wu        |   70 |     70
+ wc        |   69 |     69
+ wj        |   69 |     69
+ qp        |   68 |     68
+ wh        |   68 |     68
+ wv        |   68 |     68
+ qb        |   66 |     66
+ eu        |   65 |     65
+ we        |   65 |     65
+ wl        |   65 |     65
+ wq        |   65 |     65
+ wk        |   64 |     64
+ ee        |   63 |     63
+ eo        |   63 |     63
+ qm        |   63 |     63
+ wn        |   63 |     63
+ ef        |   62 |     62
+ eh        |   62 |     62
+ ex        |   62 |     62
+ re        |   62 |     62
+ rl        |   62 |     62
+ rr        |   62 |     62
+ eb        |   61 |     61
+ ek        |   61 |     61
+ ww        |   61 |     61
+ ea        |   60 |     60
+ ei        |   60 |     60
+ em        |   60 |     60
+ eq        |   60 |     60
+ ew        |   60 |     60
+ ro        |   60 |     60
+ rw        |   60 |     60
+ tl        |   60 |     60
+ eg        |   59 |     59
+ en        |   59 |     59
+ ez        |   59 |     59
+ rj        |   59 |     59
+ ry        |   59 |     59
+ tw        |   59 |     59
+ tx        |   59 |     59
+ ej        |   58 |     58
+ es        |   58 |     58
+ ra        |   58 |     58
+ rd        |   58 |     58
+ rg        |   58 |     58
+ rx        |   58 |     58
+ tb        |   58 |     58
+ wd        |   58 |     58
+ ed        |   57 |     57
+ tc        |   57 |     57
+ wx        |   57 |     57
+ er        |   56 |     56
+ wm        |   56 |     56
+ wo        |   56 |     56
+ yw        |   56 |     56
+ ep        |   55 |     55
+ rk        |   55 |     55
+ rp        |   55 |     55
+ rz        |   55 |     55
+ ta        |   55 |     55
+ rq        |   54 |     54
+ yn        |   54 |     54
+ ec        |   53 |     53
+ el        |   53 |     53
+ ru        |   53 |     53
+ rv        |   53 |     53
+ tz        |   53 |     53
+ un        |   53 |     53
+ wz        |   53 |     53
+ ys        |   53 |     53
+ oe        |   52 |     52
+ tn        |   52 |     52
+ tq        |   52 |     52
+ ty        |   52 |     52
+ uq        |   52 |     52
+ yg        |   52 |     52
+ ym        |   52 |     52
+ oi        |   51 |     51
+ to        |   51 |     51
+ yi        |   51 |     51
+ pn        |   50 |     50
+ rb        |   50 |     50
+ ri        |   50 |     50
+ rn        |   50 |     50
+ ti        |   50 |     50
+ tv        |   50 |     50
+ um        |   50 |     50
+ ut        |   50 |     50
+ ya        |   50 |     50
+ et        |   49 |     49
+ ix        |   49 |     49
+ ox        |   49 |     49
+ q3        |   49 |     49
+ yf        |   49 |     49
+ yl        |   49 |     49
+ yo        |   49 |     49
+ yr        |   49 |     49
+ ev        |   48 |     48
+ ey        |   48 |     48
+ ot        |   48 |     48
+ rc        |   48 |     48
+ rm        |   48 |     48
+ th        |   48 |     48
+ uo        |   48 |     48
+ ia        |   47 |     47
+ q1        |   47 |     47
+ rh        |   47 |     47
+ yq        |   47 |     47
+ yz        |   47 |     47
+ av        |   46 |     46
+ im        |   46 |     46
+ os        |   46 |     46
+ tk        |   46 |     46
+ yy        |   46 |     46
+ ir        |   45 |     45
+ iv        |   45 |     45
+ iw        |   45 |     45
+ oj        |   45 |     45
+ pl        |   45 |     45
+ pv        |   45 |     45
+ te        |   45 |     45
+ tu        |   45 |     45
+ uv        |   45 |     45
+ ux        |   45 |     45
+ yd        |   45 |     45
+ yx        |   45 |     45
+ ij        |   44 |     44
+ pa        |   44 |     44
+ se        |   44 |     44
+ tg        |   44 |     44
+ ue        |   44 |     44
+ yb        |   44 |     44
+ yt        |   44 |     44
+ if        |   43 |     43
+ ik        |   43 |     43
+ in        |   43 |     43
+ ph        |   43 |     43
+ pj        |   43 |     43
+ q5        |   43 |     43
+ rt        |   43 |     43
+ ub        |   43 |     43
+ ud        |   43 |     43
+ uh        |   43 |     43
+ uj        |   43 |     43
+ w7        |   43 |     43
+ ye        |   43 |     43
+ yv        |   43 |     43
+ db        |   42 |     42
+ do        |   42 |     42
+ id        |   42 |     42
+ ie        |   42 |     42
+ ii        |   42 |     42
+ of        |   42 |     42
+ pr        |   42 |     42
+ q4        |   42 |     42
+ rf        |   42 |     42
+ td        |   42 |     42
+ uk        |   42 |     42
+ up        |   42 |     42
+ yh        |   42 |     42
+ yk        |   42 |     42
+ io        |   41 |     41
+ it        |   41 |     41
+ pb        |   41 |     41
+ q0        |   41 |     41
+ q7        |   41 |     41
+ rs        |   41 |     41
+ tj        |   41 |     41
+ ur        |   41 |     41
+ ig        |   40 |     40
+ iu        |   40 |     40
+ iy        |   40 |     40
+ od        |   40 |     40
+ q6        |   40 |     40
+ tt        |   40 |     40
+ ug        |   40 |     40
+ ul        |   40 |     40
+ us        |   40 |     40
+ uu        |   40 |     40
+ uz        |   40 |     40
+ ah        |   39 |     39
+ ar        |   39 |     39
+ as        |   39 |     39
+ dl        |   39 |     39
+ dt        |   39 |     39
+ hk        |   39 |     39
+ iq        |   39 |     39
+ is        |   39 |     39
+ oc        |   39 |     39
+ ov        |   39 |     39
+ oy        |   39 |     39
+ uf        |   39 |     39
+ ui        |   39 |     39
+ aa        |   38 |     38
+ ad        |   38 |     38
+ fh        |   38 |     38
+ gm        |   38 |     38
+ ic        |   38 |     38
+ jd        |   38 |     38
+ om        |   38 |     38
+ or        |   38 |     38
+ oz        |   38 |     38
+ pm        |   38 |     38
+ q8        |   38 |     38
+ sf        |   38 |     38
+ sm        |   38 |     38
+ sv        |   38 |     38
+ uc        |   38 |     38
+ ak        |   37 |     37
+ aq        |   37 |     37
+ di        |   37 |     37
+ e4        |   37 |     37
+ fi        |   37 |     37
+ fx        |   37 |     37
+ ha        |   37 |     37
+ hp        |   37 |     37
+ ih        |   37 |     37
+ og        |   37 |     37
+ po        |   37 |     37
+ pw        |   37 |     37
+ sn        |   37 |     37
+ su        |   37 |     37
+ sw        |   37 |     37
+ w6        |   37 |     37
+ yj        |   37 |     37
+ yu        |   37 |     37
+ ag        |   36 |     36
+ am        |   36 |     36
+ at        |   36 |     36
+ e1        |   36 |     36
+ ff        |   36 |     36
+ gx        |   36 |     36
+ he        |   36 |     36
+ hj        |   36 |     36
+ ib        |   36 |     36
+ iz        |   36 |     36
+ lm        |   36 |     36
+ ok        |   36 |     36
+ pk        |   36 |     36
+ pp        |   36 |     36
+ pu        |   36 |     36
+ sp        |   36 |     36
+ tf        |   36 |     36
+ tm        |   36 |     36
+ ay        |   35 |     35
+ dy        |   35 |     35
+ fu        |   35 |     35
+ ku        |   35 |     35
+ lh        |   35 |     35
+ lq        |   35 |     35
+ o6        |   35 |     35
+ ob        |   35 |     35
+ on        |   35 |     35
+ op        |   35 |     35
+ pd        |   35 |     35
+ ps        |   35 |     35
+ si        |   35 |     35
+ sl        |   35 |     35
+ sx        |   35 |     35
+ tp        |   35 |     35
+ tr        |   35 |     35
+ w3        |   35 |     35
+ y1        |   35 |     35
+ al        |   34 |     34
+ ap        |   34 |     34
+ az        |   34 |     34
+ dc        |   34 |     34
+ dd        |   34 |     34
+ dz        |   34 |     34
+ e0        |   34 |     34
+ fj        |   34 |     34
+ fp        |   34 |     34
+ gd        |   34 |     34
+ gg        |   34 |     34
+ gk        |   34 |     34
+ go        |   34 |     34
+ ho        |   34 |     34
+ jc        |   34 |     34
+ oa        |   34 |     34
+ oh        |   34 |     34
+ oo        |   34 |     34
+ pe        |   34 |     34
+ px        |   34 |     34
+ sd        |   34 |     34
+ sq        |   34 |     34
+ sy        |   34 |     34
+ ab        |   33 |     33
+ ae        |   33 |     33
+ af        |   33 |     33
+ aw        |   33 |     33
+ e5        |   33 |     33
+ fk        |   33 |     33
+ gu        |   33 |     33
+ gy        |   33 |     33
+ hb        |   33 |     33
+ hm        |   33 |     33
+ hy        |   33 |     33
+ jl        |   33 |     33
+ jr        |   33 |     33
+ ls        |   33 |     33
+ oq        |   33 |     33
+ pt        |   33 |     33
+ sa        |   33 |     33
+ sh        |   33 |     33
+ sj        |   33 |     33
+ so        |   33 |     33
+ sz        |   33 |     33
+ t7        |   33 |     33
+ uw        |   33 |     33
+ w8        |   33 |     33
+ y0        |   33 |     33
+ yp        |   33 |     33
+ dh        |   32 |     32
+ dp        |   32 |     32
+ dq        |   32 |     32
+ e7        |   32 |     32
+ fn        |   32 |     32
+ fo        |   32 |     32
+ fr        |   32 |     32
+ ga        |   32 |     32
+ gq        |   32 |     32
+ hh        |   32 |     32
+ il        |   32 |     32
+ ip        |   32 |     32
+ jv        |   32 |     32
+ lc        |   32 |     32
+ ol        |   32 |     32
+ pc        |   32 |     32
+ q9        |   32 |     32
+ ds        |   31 |     31
+ e9        |   31 |     31
+ fd        |   31 |     31
+ fe        |   31 |     31
+ ft        |   31 |     31
+ gs        |   31 |     31
+ hl        |   31 |     31
+ hs        |   31 |     31
+ jb        |   31 |     31
+ kc        |   31 |     31
+ kw        |   31 |     31
+ mj        |   31 |     31
+ q2        |   31 |     31
+ r3        |   31 |     31
+ sb        |   31 |     31
+ sk        |   31 |     31
+ ts        |   31 |     31
+ ua        |   31 |     31
+ yc        |   31 |     31
+ zw        |   31 |     31
+ ao        |   30 |     30
+ du        |   30 |     30
+ fw        |   30 |     30
+ gj        |   30 |     30
+ hu        |   30 |     30
+ kh        |   30 |     30
+ kl        |   30 |     30
+ kv        |   30 |     30
+ ld        |   30 |     30
+ lf        |   30 |     30
+ pq        |   30 |     30
+ py        |   30 |     30
+ sc        |   30 |     30
+ sr        |   30 |     30
+ uy        |   30 |     30
+ vg        |   30 |     30
+ w2        |   30 |     30
+ xg        |   30 |     30
+ xo        |   30 |     30
+ au        |   29 |     29
+ cx        |   29 |     29
+ fv        |   29 |     29
+ gh        |   29 |     29
+ gl        |   29 |     29
+ gt        |   29 |     29
+ hw        |   29 |     29
+ ji        |   29 |     29
+ km        |   29 |     29
+ la        |   29 |     29
+ ou        |   29 |     29
+ r0        |   29 |     29
+ w0        |   29 |     29
+ y9        |   29 |     29
+ zm        |   29 |     29
+ zs        |   29 |     29
+ zy        |   29 |     29
+ ax        |   28 |     28
+ cd        |   28 |     28
+ dj        |   28 |     28
+ dn        |   28 |     28
+ dr        |   28 |     28
+ ht        |   28 |     28
+ jf        |   28 |     28
+ lo        |   28 |     28
+ lr        |   28 |     28
+ na        |   28 |     28
+ ng        |   28 |     28
+ r8        |   28 |     28
+ ss        |   28 |     28
+ xt        |   28 |     28
+ y6        |   28 |     28
+ aj        |   27 |     27
+ ca        |   27 |     27
+ cg        |   27 |     27
+ df        |   27 |     27
+ dg        |   27 |     27
+ dv        |   27 |     27
+ gc        |   27 |     27
+ gn        |   27 |     27
+ gr        |   27 |     27
+ hd        |   27 |     27
+ i8        |   27 |     27
+ jn        |   27 |     27
+ jt        |   27 |     27
+ lp        |   27 |     27
+ o9        |   27 |     27
+ ow        |   27 |     27
+ r9        |   27 |     27
+ t8        |   27 |     27
+ u5        |   27 |     27
+ w4        |   27 |     27
+ xm        |   27 |     27
+ zz        |   27 |     27
+ a2        |   26 |     26
+ ac        |   26 |     26
+ ai        |   26 |     26
+ cm        |   26 |     26
+ cu        |   26 |     26
+ cw        |   26 |     26
+ dk        |   26 |     26
+ e2        |   26 |     26
+ fc        |   26 |     26
+ fg        |   26 |     26
+ fl        |   26 |     26
+ fs        |   26 |     26
+ ge        |   26 |     26
+ gv        |   26 |     26
+ hc        |   26 |     26
+ hi        |   26 |     26
+ hx        |   26 |     26
+ jj        |   26 |     26
+ jm        |   26 |     26
+ kg        |   26 |     26
+ kk        |   26 |     26
+ kn        |   26 |     26
+ ko        |   26 |     26
+ kt        |   26 |     26
+ ln        |   26 |     26
+ mx        |   26 |     26
+ pg        |   26 |     26
+ r4        |   26 |     26
+ t6        |   26 |     26
+ u1        |   26 |     26
+ u4        |   26 |     26
+ vi        |   26 |     26
+ vr        |   26 |     26
+ w1        |   26 |     26
+ w9        |   26 |     26
+ xk        |   26 |     26
+ xs        |   26 |     26
+ zf        |   26 |     26
+ bb        |   25 |     25
+ dm        |   25 |     25
+ dw        |   25 |     25
+ e8        |   25 |     25
+ fb        |   25 |     25
+ gw        |   25 |     25
+ h8        |   25 |     25
+ hf        |   25 |     25
+ hg        |   25 |     25
+ hn        |   25 |     25
+ hv        |   25 |     25
+ i0        |   25 |     25
+ i3        |   25 |     25
+ jg        |   25 |     25
+ jo        |   25 |     25
+ jx        |   25 |     25
+ kq        |   25 |     25
+ lw        |   25 |     25
+ lx        |   25 |     25
+ o3        |   25 |     25
+ p7        |   25 |     25
+ pf        |   25 |     25
+ pi        |   25 |     25
+ pz        |   25 |     25
+ r2        |   25 |     25
+ r5        |   25 |     25
+ t9        |   25 |     25
+ u7        |   25 |     25
+ ve        |   25 |     25
+ vu        |   25 |     25
+ y5        |   25 |     25
+ y8        |   25 |     25
+ zt        |   25 |     25
+ an        |   24 |     24
+ bj        |   24 |     24
+ dx        |   24 |     24
+ fm        |   24 |     24
+ fz        |   24 |     24
+ gb        |   24 |     24
+ gi        |   24 |     24
+ gp        |   24 |     24
+ hr        |   24 |     24
+ hz        |   24 |     24
+ i5        |   24 |     24
+ jq        |   24 |     24
+ kb        |   24 |     24
+ ke        |   24 |     24
+ kf        |   24 |     24
+ kp        |   24 |     24
+ lv        |   24 |     24
+ lz        |   24 |     24
+ o8        |   24 |     24
+ r1        |   24 |     24
+ s7        |   24 |     24
+ sg        |   24 |     24
+ u3        |   24 |     24
+ vj        |   24 |     24
+ vt        |   24 |     24
+ w5        |   24 |     24
+ zj        |   24 |     24
+ be        |   23 |     23
+ bi        |   23 |     23
+ bn        |   23 |     23
+ cn        |   23 |     23
+ cy        |   23 |     23
+ da        |   23 |     23
+ e6        |   23 |     23
+ fa        |   23 |     23
+ js        |   23 |     23
+ ki        |   23 |     23
+ kz        |   23 |     23
+ li        |   23 |     23
+ mt        |   23 |     23
+ mz        |   23 |     23
+ nu        |   23 |     23
+ o2        |   23 |     23
+ p5        |   23 |     23
+ p8        |   23 |     23
+ r7        |   23 |     23
+ t0        |   23 |     23
+ t1        |   23 |     23
+ t3        |   23 |     23
+ vm        |   23 |     23
+ xh        |   23 |     23
+ xx        |   23 |     23
+ zp        |   23 |     23
+ zr        |   23 |     23
+ a3        |   22 |     22
+ bg        |   22 |     22
+ de        |   22 |     22
+ e3        |   22 |     22
+ fq        |   22 |     22
+ i2        |   22 |     22
+ i7        |   22 |     22
+ ja        |   22 |     22
+ jk        |   22 |     22
+ jy        |   22 |     22
+ kr        |   22 |     22
+ kx        |   22 |     22
+ ly        |   22 |     22
+ nb        |   22 |     22
+ nh        |   22 |     22
+ ns        |   22 |     22
+ s3        |   22 |     22
+ u2        |   22 |     22
+ vn        |   22 |     22
+ xe        |   22 |     22
+ y4        |   22 |     22
+ zh        |   22 |     22
+ zo        |   22 |     22
+ zq        |   22 |     22
+ a1        |   21 |     21
+ bl        |   21 |     21
+ bo        |   21 |     21
+ cb        |   21 |     21
+ ch        |   21 |     21
+ co        |   21 |     21
+ cq        |   21 |     21
+ cv        |   21 |     21
+ d7        |   21 |     21
+ g8        |   21 |     21
+ je        |   21 |     21
+ jp        |   21 |     21
+ jz        |   21 |     21
+ lg        |   21 |     21
+ me        |   21 |     21
+ nc        |   21 |     21
+ p4        |   21 |     21
+ st        |   21 |     21
+ vb        |   21 |     21
+ vw        |   21 |     21
+ vz        |   21 |     21
+ xj        |   21 |     21
+ xq        |   21 |     21
+ xu        |   21 |     21
+ xy        |   21 |     21
+ zb        |   21 |     21
+ bv        |   20 |     20
+ bz        |   20 |     20
+ cj        |   20 |     20
+ cp        |   20 |     20
+ cs        |   20 |     20
+ d8        |   20 |     20
+ ju        |   20 |     20
+ k0        |   20 |     20
+ ks        |   20 |     20
+ ky        |   20 |     20
+ l1        |   20 |     20
+ lb        |   20 |     20
+ lj        |   20 |     20
+ lu        |   20 |     20
+ nm        |   20 |     20
+ nw        |   20 |     20
+ nz        |   20 |     20
+ o7        |   20 |     20
+ p6        |   20 |     20
+ vh        |   20 |     20
+ vp        |   20 |     20
+ vs        |   20 |     20
+ xb        |   20 |     20
+ xr        |   20 |     20
+ z3        |   20 |     20
+ zv        |   20 |     20
+ bq        |   19 |     19
+ br        |   19 |     19
+ by        |   19 |     19
+ cl        |   19 |     19
+ d2        |   19 |     19
+ f1        |   19 |     19
+ f4        |   19 |     19
+ gf        |   19 |     19
+ hq        |   19 |     19
+ k9        |   19 |     19
+ ka        |   19 |     19
+ kd        |   19 |     19
+ kj        |   19 |     19
+ md        |   19 |     19
+ mi        |   19 |     19
+ ml        |   19 |     19
+ my        |   19 |     19
+ nj        |   19 |     19
+ ny        |   19 |     19
+ o1        |   19 |     19
+ s4        |   19 |     19
+ s8        |   19 |     19
+ t5        |   19 |     19
+ u0        |   19 |     19
+ xl        |   19 |     19
+ zg        |   19 |     19
+ zi        |   19 |     19
+ a5        |   18 |     18
+ b9        |   18 |     18
+ bh        |   18 |     18
+ bx        |   18 |     18
+ d3        |   18 |     18
+ fy        |   18 |     18
+ g2        |   18 |     18
+ i4        |   18 |     18
+ i6        |   18 |     18
+ i9        |   18 |     18
+ jw        |   18 |     18
+ lk        |   18 |     18
+ mb        |   18 |     18
+ mv        |   18 |     18
+ nd        |   18 |     18
+ nr        |   18 |     18
+ nt        |   18 |     18
+ t2        |   18 |     18
+ xf        |   18 |     18
+ xv        |   18 |     18
+ zc        |   18 |     18
+ zd        |   18 |     18
+ a7        |   17 |     17
+ bc        |   17 |     17
+ bd        |   17 |     17
+ ce        |   17 |     17
+ cf        |   17 |     17
+ cr        |   17 |     17
+ g9        |   17 |     17
+ j0        |   17 |     17
+ j5        |   17 |     17
+ mp        |   17 |     17
+ mr        |   17 |     17
+ mw        |   17 |     17
+ nk        |   17 |     17
+ no        |   17 |     17
+ o0        |   17 |     17
+ o4        |   17 |     17
+ s0        |   17 |     17
+ s1        |   17 |     17
+ t4        |   17 |     17
+ u9        |   17 |     17
+ vf        |   17 |     17
+ vx        |   17 |     17
+ x3        |   17 |     17
+ xi        |   17 |     17
+ xn        |   17 |     17
+ xz        |   17 |     17
+ zl        |   17 |     17
+ zn        |   17 |     17
+ a0        |   16 |     16
+ bu        |   16 |     16
+ bw        |   16 |     16
+ ci        |   16 |     16
+ ck        |   16 |     16
+ d0        |   16 |     16
+ d4        |   16 |     16
+ d6        |   16 |     16
+ f5        |   16 |     16
+ g1        |   16 |     16
+ gz        |   16 |     16
+ h4        |   16 |     16
+ jh        |   16 |     16
+ l4        |   16 |     16
+ lt        |   16 |     16
+ mg        |   16 |     16
+ mh        |   16 |     16
+ mo        |   16 |     16
+ ni        |   16 |     16
+ nl        |   16 |     16
+ nq        |   16 |     16
+ p2        |   16 |     16
+ u8        |   16 |     16
+ v9        |   16 |     16
+ vl        |   16 |     16
+ vo        |   16 |     16
+ xp        |   16 |     16
+ y3        |   16 |     16
+ y7        |   16 |     16
+ z7        |   16 |     16
+ za        |   16 |     16
+ zx        |   16 |     16
+ bf        |   15 |     15
+ bp        |   15 |     15
+ cc        |   15 |     15
+ g0        |   15 |     15
+ j2        |   15 |     15
+ j9        |   15 |     15
+ l6        |   15 |     15
+ le        |   15 |     15
+ ll        |   15 |     15
+ m8        |   15 |     15
+ ma        |   15 |     15
+ mu        |   15 |     15
+ nf        |   15 |     15
+ r6        |   15 |     15
+ s5        |   15 |     15
+ vd        |   15 |     15
+ vk        |   15 |     15
+ xa        |   15 |     15
+ xw        |   15 |     15
+ y2        |   15 |     15
+ z8        |   15 |     15
+ ze        |   15 |     15
+ zu        |   15 |     15
+ a6        |   14 |     14
+ bk        |   14 |     14
+ bt        |   14 |     14
+ c0        |   14 |     14
+ f8        |   14 |     14
+ g3        |   14 |     14
+ g4        |   14 |     14
+ g7        |   14 |     14
+ h6        |   14 |     14
+ h7        |   14 |     14
+ h9        |   14 |     14
+ i1        |   14 |     14
+ k1        |   14 |     14
+ k2        |   14 |     14
+ k6        |   14 |     14
+ k7        |   14 |     14
+ mc        |   14 |     14
+ nn        |   14 |     14
+ p9        |   14 |     14
+ u6        |   14 |     14
+ xd        |   14 |     14
+ z6        |   14 |     14
+ zk        |   14 |     14
+ a4        |   13 |     13
+ a9        |   13 |     13
+ bm        |   13 |     13
+ cz        |   13 |     13
+ f2        |   13 |     13
+ f3        |   13 |     13
+ f6        |   13 |     13
+ g6        |   13 |     13
+ h2        |   13 |     13
+ j1        |   13 |     13
+ k5        |   13 |     13
+ m1        |   13 |     13
+ mf        |   13 |     13
+ mq        |   13 |     13
+ np        |   13 |     13
+ nx        |   13 |     13
+ o5        |   13 |     13
+ p0        |   13 |     13
+ p1        |   13 |     13
+ s6        |   13 |     13
+ s9        |   13 |     13
+ v6        |   13 |     13
+ va        |   13 |     13
+ vc        |   13 |     13
+ xc        |   13 |     13
+ z0        |   13 |     13
+ c9        |   12 |     12
+ d1        |   12 |     12
+ h0        |   12 |     12
+ h1        |   12 |     12
+ j8        |   12 |     12
+ k4        |   12 |     12
+ l5        |   12 |     12
+ l9        |   12 |     12
+ m2        |   12 |     12
+ m6        |   12 |     12
+ m9        |   12 |     12
+ n7        |   12 |     12
+ nv        |   12 |     12
+ p3        |   12 |     12
+ vq        |   12 |     12
+ vy        |   12 |     12
+ x1        |   12 |     12
+ x2        |   12 |     12
+ z5        |   12 |     12
+ c1        |   11 |     11
+ c3        |   11 |     11
+ ct        |   11 |     11
+ f9        |   11 |     11
+ g5        |   11 |     11
+ j6        |   11 |     11
+ l8        |   11 |     11
+ n1        |   11 |     11
+ v7        |   11 |     11
+ vv        |   11 |     11
+ x5        |   11 |     11
+ x8        |   11 |     11
+ z2        |   11 |     11
+ b0        |   10 |     10
+ b2        |   10 |     10
+ b8        |   10 |     10
+ c6        |   10 |     10
+ f0        |   10 |     10
+ f7        |   10 |     10
+ h5        |   10 |     10
+ j3        |   10 |     10
+ j4        |   10 |     10
+ j7        |   10 |     10
+ l7        |   10 |     10
+ m0        |   10 |     10
+ m7        |   10 |     10
+ mm        |   10 |     10
+ mn        |   10 |     10
+ n8        |   10 |     10
+ v1        |   10 |     10
+ x0        |   10 |     10
+ x6        |   10 |     10
+ x7        |   10 |     10
+ x9        |   10 |     10
+ a8        |    9 |      9
+ b1        |    9 |      9
+ b4        |    9 |      9
+ b5        |    9 |      9
+ b6        |    9 |      9
+ ba        |    9 |      9
+ bs        |    9 |      9
+ c5        |    9 |      9
+ d5        |    9 |      9
+ k8        |    9 |      9
+ l0        |    9 |      9
+ m5        |    9 |      9
+ mk        |    9 |      9
+ ms        |    9 |      9
+ n3        |    9 |      9
+ n4        |    9 |      9
+ n6        |    9 |      9
+ ne        |    9 |      9
+ v0        |    9 |      9
+ v3        |    9 |      9
+ v5        |    9 |      9
+ v8        |    9 |      9
+ b3        |    8 |      8
+ b7        |    8 |      8
+ c2        |    8 |      8
+ c7        |    8 |      8
+ c8        |    8 |      8
+ d9        |    8 |      8
+ k3        |    8 |      8
+ l3        |    8 |      8
+ m3        |    8 |      8
+ m4        |    8 |      8
+ n0        |    8 |      8
+ n5        |    8 |      8
+ v4        |    8 |      8
+ x4        |    8 |      8
+ z1        |    8 |      8
+ z9        |    8 |      8
+ l2        |    7 |      7
+ s2        |    7 |      7
+ z4        |    7 |      7
+ 1l        |    6 |      6
+ 1o        |    6 |      6
+ 1t        |    6 |      6
+ 2e        |    6 |      6
+ 2o        |    6 |      6
+ c4        |    6 |      6
+ h3        |    6 |      6
+ n2        |    6 |      6
+ n9        |    6 |      6
+ v2        |    6 |      6
+ 2l        |    5 |      5
+ 2u        |    5 |      5
+ 3k        |    5 |      5
+ 4p        |    5 |      5
+ 18        |    4 |      4
+ 1a        |    4 |      4
+ 1i        |    4 |      4
+ 2s        |    4 |      4
+ 3q        |    4 |      4
+ 3y        |    4 |      4
+ 5y        |    4 |      4
+ 1f        |    3 |      3
+ 1h        |    3 |      3
+ 1m        |    3 |      3
+ 1p        |    3 |      3
+ 1s        |    3 |      3
+ 1v        |    3 |      3
+ 1x        |    3 |      3
+ 27        |    3 |      3
+ 2a        |    3 |      3
+ 2b        |    3 |      3
+ 2h        |    3 |      3
+ 2n        |    3 |      3
+ 2p        |    3 |      3
+ 2v        |    3 |      3
+ 2y        |    3 |      3
+ 3d        |    3 |      3
+ 3w        |    3 |      3
+ 3z        |    3 |      3
+ 4a        |    3 |      3
+ 4d        |    3 |      3
+ 4v        |    3 |      3
+ 4z        |    3 |      3
+ 5e        |    3 |      3
+ 5i        |    3 |      3
+ 5k        |    3 |      3
+ 5o        |    3 |      3
+ 5t        |    3 |      3
+ 6b        |    3 |      3
+ 6d        |    3 |      3
+ 6o        |    3 |      3
+ 6w        |    3 |      3
+ 7a        |    3 |      3
+ 7h        |    3 |      3
+ 7r        |    3 |      3
+ 93        |    3 |      3
+ 10        |    2 |      2
+ 12        |    2 |      2
+ 15        |    2 |      2
+ 16        |    2 |      2
+ 19        |    2 |      2
+ 1b        |    2 |      2
+ 1d        |    2 |      2
+ 1g        |    2 |      2
+ 1j        |    2 |      2
+ 1n        |    2 |      2
+ 1r        |    2 |      2
+ 1u        |    2 |      2
+ 1w        |    2 |      2
+ 1y        |    2 |      2
+ 20        |    2 |      2
+ 25        |    2 |      2
+ 2d        |    2 |      2
+ 2i        |    2 |      2
+ 2j        |    2 |      2
+ 2k        |    2 |      2
+ 2q        |    2 |      2
+ 2r        |    2 |      2
+ 2t        |    2 |      2
+ 2w        |    2 |      2
+ 2z        |    2 |      2
+ 3b        |    2 |      2
+ 3f        |    2 |      2
+ 3h        |    2 |      2
+ 3o        |    2 |      2
+ 3p        |    2 |      2
+ 3r        |    2 |      2
+ 3s        |    2 |      2
+ 3v        |    2 |      2
+ 42        |    2 |      2
+ 43        |    2 |      2
+ 4f        |    2 |      2
+ 4g        |    2 |      2
+ 4h        |    2 |      2
+ 4j        |    2 |      2
+ 4m        |    2 |      2
+ 4r        |    2 |      2
+ 4s        |    2 |      2
+ 4t        |    2 |      2
+ 4u        |    2 |      2
+ 5c        |    2 |      2
+ 5f        |    2 |      2
+ 5h        |    2 |      2
+ 5p        |    2 |      2
+ 5q        |    2 |      2
+ 5z        |    2 |      2
+ 6a        |    2 |      2
+ 6h        |    2 |      2
+ 6q        |    2 |      2
+ 6r        |    2 |      2
+ 6t        |    2 |      2
+ 6y        |    2 |      2
+ 70        |    2 |      2
+ 7c        |    2 |      2
+ 7g        |    2 |      2
+ 7k        |    2 |      2
+ 7o        |    2 |      2
+ 7u        |    2 |      2
+ 8j        |    2 |      2
+ 8w        |    2 |      2
+ 9f        |    2 |      2
+ 9y        |    2 |      2
+ copyright |    2 |      2
+ foo       |    1 |      3
+ bar       |    1 |      2
+ 0e        |    1 |      1
+ 0h        |    1 |      1
+ 0p        |    1 |      1
+ 0w        |    1 |      1
+ 0z        |    1 |      1
+ 11        |    1 |      1
+ 13        |    1 |      1
+ 14        |    1 |      1
+ 17        |    1 |      1
+ 1k        |    1 |      1
+ 1q        |    1 |      1
+ 1z        |    1 |      1
+ 24        |    1 |      1
+ 26        |    1 |      1
+ 28        |    1 |      1
+ 2f        |    1 |      1
+ 30        |    1 |      1
+ 345       |    1 |      1
+ 37        |    1 |      1
+ 39        |    1 |      1
+ 3a        |    1 |      1
+ 3e        |    1 |      1
+ 3g        |    1 |      1
+ 3i        |    1 |      1
+ 3m        |    1 |      1
+ 3t        |    1 |      1
+ 3u        |    1 |      1
+ 40        |    1 |      1
+ 41        |    1 |      1
+ 44        |    1 |      1
+ 45        |    1 |      1
+ 48        |    1 |      1
+ 4b        |    1 |      1
+ 4c        |    1 |      1
+ 4i        |    1 |      1
+ 4k        |    1 |      1
+ 4n        |    1 |      1
+ 4o        |    1 |      1
+ 4q        |    1 |      1
+ 4w        |    1 |      1
+ 4y        |    1 |      1
+ 51        |    1 |      1
+ 55        |    1 |      1
+ 56        |    1 |      1
+ 5a        |    1 |      1
+ 5d        |    1 |      1
+ 5g        |    1 |      1
+ 5j        |    1 |      1
+ 5l        |    1 |      1
+ 5s        |    1 |      1
+ 5u        |    1 |      1
+ 5x        |    1 |      1
+ 64        |    1 |      1
+ 68        |    1 |      1
+ 6c        |    1 |      1
+ 6f        |    1 |      1
+ 6g        |    1 |      1
+ 6i        |    1 |      1
+ 6k        |    1 |      1
+ 6n        |    1 |      1
+ 6p        |    1 |      1
+ 6s        |    1 |      1
+ 6u        |    1 |      1
+ 6x        |    1 |      1
+ 72        |    1 |      1
+ 7f        |    1 |      1
+ 7j        |    1 |      1
+ 7n        |    1 |      1
+ 7p        |    1 |      1
+ 7w        |    1 |      1
+ 7y        |    1 |      1
+ 7z        |    1 |      1
+ 80        |    1 |      1
+ 82        |    1 |      1
+ 85        |    1 |      1
+ 8d        |    1 |      1
+ 8i        |    1 |      1
+ 8l        |    1 |      1
+ 8n        |    1 |      1
+ 8p        |    1 |      1
+ 8t        |    1 |      1
+ 8x        |    1 |      1
+ 95        |    1 |      1
+ 97        |    1 |      1
+ 9a        |    1 |      1
+ 9e        |    1 |      1
+ 9h        |    1 |      1
+ 9r        |    1 |      1
+ 9w        |    1 |      1
+ qwerti    |    1 |      1
+(1146 rows)
+
+select reset_tsearch();
+NOTICE:  TSearch cache cleaned
+ reset_tsearch 
+---------------
+(1 row)
+
+select to_tsquery('default', 'skies & books');
+   to_tsquery   
+----------------
+ 'sky' & 'book'
+(1 row)
+
+select rank_cd(to_tsvector('Erosion It took the sea a thousand years,
+A thousand years to trace
+The granite features of this cliff
+In crag and scarp and base.
+It took the sea an hour one night
+An hour of storm to place
+The sculpture of these granite seams,
+Upon a woman s face. E.  J.  Pratt  (1882 1964)
+'), to_tsquery('sea&thousand&years'));
+ rank_cd 
+---------
+     1.2
+(1 row)
+
+select rank_cd(to_tsvector('Erosion It took the sea a thousand years,
+A thousand years to trace
+The granite features of this cliff
+In crag and scarp and base.
+It took the sea an hour one night
+An hour of storm to place
+The sculpture of these granite seams,
+Upon a woman s face. E.  J.  Pratt  (1882 1964)
+'), to_tsquery('granite&sea'));
+ rank_cd  
+----------
+ 0.880303
+(1 row)
+
+select rank_cd(to_tsvector('Erosion It took the sea a thousand years,
+A thousand years to trace
+The granite features of this cliff
+In crag and scarp and base.
+It took the sea an hour one night
+An hour of storm to place
+The sculpture of these granite seams,
+Upon a woman s face. E.  J.  Pratt  (1882 1964)
+'), to_tsquery('sea'));
+ rank_cd 
+---------
+       2
+(1 row)
+
+select get_covers(to_tsvector('Erosion It took the sea a thousand years,
+A thousand years to trace
+The granite features of this cliff
+In crag and scarp and base.
+It took the sea an hour one night
+An hour of storm to place
+The sculpture of these granite seams,
+Upon a woman s face. E.  J.  Pratt  (1882 1964)
+'), to_tsquery('sea&thousand&years'));
+                                                                                             get_covers                                                                                             
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ eros took {1 sea thousand year }1 {2 thousand year trace granit featur cliff crag scarp base took sea }2 hour one night hour storm place sculptur granit seam upon woman face e j pratt 1882 1964 
+(1 row)
+
+select get_covers(to_tsvector('Erosion It took the sea a thousand years,
+A thousand years to trace
+The granite features of this cliff
+In crag and scarp and base.
+It took the sea an hour one night
+An hour of storm to place
+The sculpture of these granite seams,
+Upon a woman s face. E.  J.  Pratt  (1882 1964)
+'), to_tsquery('granite&sea'));
+                                                                                                get_covers                                                                                                
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ eros took {1 sea thousand year thousand year trace {2 granit }1 featur cliff crag scarp base took {3 sea }2 hour one night hour storm place sculptur granit }3 seam upon woman face e j pratt 1882 1964 
+(1 row)
+
+select get_covers(to_tsvector('Erosion It took the sea a thousand years,
+A thousand years to trace
+The granite features of this cliff
+In crag and scarp and base.
+It took the sea an hour one night
+An hour of storm to place
+The sculpture of these granite seams,
+Upon a woman s face. E.  J.  Pratt  (1882 1964)
+'), to_tsquery('sea'));
+                                                                                             get_covers                                                                                             
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ eros took {1 sea }1 thousand year thousand year trace granit featur cliff crag scarp base took {2 sea }2 hour one night hour storm place sculptur granit seam upon woman face e j pratt 1882 1964 
+(1 row)
+
+select headline('Erosion It took the sea a thousand years,
+A thousand years to trace
+The granite features of this cliff
+In crag and scarp and base.
+It took the sea an hour one night
+An hour of storm to place
+The sculpture of these granite seams,
+Upon a woman s face. E.  J.  Pratt  (1882 1964)
+', to_tsquery('sea&thousand&years'));
+                                                       headline                                                        
+-----------------------------------------------------------------------------------------------------------------------
+ <b>sea</b> a <b>thousand</b> <b>years</b>,
+A <b>thousand</b> <b>years</b> to trace
+The granite features of this cliff
+(1 row)
+
+select headline('Erosion It took the sea a thousand years,
+A thousand years to trace
+The granite features of this cliff
+In crag and scarp and base.
+It took the sea an hour one night
+An hour of storm to place
+The sculpture of these granite seams,
+Upon a woman s face. E.  J.  Pratt  (1882 1964)
+', to_tsquery('granite&sea'));
+                                           headline                                           
+----------------------------------------------------------------------------------------------
+ <b>sea</b> an hour one night
+An hour of storm to place
+The sculpture of these <b>granite</b>
+(1 row)
+
+select headline('Erosion It took the sea a thousand years,
+A thousand years to trace
+The granite features of this cliff
+In crag and scarp and base.
+It took the sea an hour one night
+An hour of storm to place
+The sculpture of these granite seams,
+Upon a woman s face. E.  J.  Pratt  (1882 1964)
+', to_tsquery('sea'));
+                                         headline                                          
+-------------------------------------------------------------------------------------------
+ <b>sea</b> a thousand years,
+A thousand years to trace
+The granite features of this cliff
+(1 row)
+
+--check debug
+select * from ts_debug('Tsearch module for PostgreSQL 7.3.3');
+ ts_name | tok_type | description |   token    | dict_name |   tsvector   
+---------+----------+-------------+------------+-----------+--------------
+ default | lword    | Latin word  | Tsearch    | {en_stem} | 'tsearch'
+ default | lword    | Latin word  | module     | {en_stem} | 'modul'
+ default | lword    | Latin word  | for        | {en_stem} | 
+ default | lword    | Latin word  | PostgreSQL | {en_stem} | 'postgresql'
+ default | version  | VERSION     | 7.3.3      | {simple}  | '7.3.3'
+(5 rows)
+
diff --git a/contrib/tsearch2/ispell/Makefile b/contrib/tsearch2/ispell/Makefile
new file mode 100644 (file)
index 0000000..1864387
--- /dev/null
@@ -0,0 +1,20 @@
+# $Header$
+
+subdir = contrib/tsearch2/ispell
+top_builddir = ../../..
+include $(top_builddir)/src/Makefile.global
+
+
+PG_CPPFLAGS = -I$(srcdir)/.. $(CPPFLAGS)
+override CFLAGS += $(CFLAGS_SL)
+
+SUBOBJS = spell.o 
+
+all: SUBSYS.o
+
+SUBSYS.o: $(SUBOBJS)
+       $(LD) $(LDREL) $(LDOUT) $@ $^
+
+EXTRA_CLEAN = SUBSYS.o $(SUBOBJS)
+
+include $(top_srcdir)/contrib/contrib-global.mk
diff --git a/contrib/tsearch2/query.c b/contrib/tsearch2/query.c
new file mode 100644 (file)
index 0000000..00537f4
--- /dev/null
@@ -0,0 +1,905 @@
+/*
+ * IO definitions for tsquery and mtsquery. This type
+ * are identical, but for parsing mtsquery used parser for text
+ * and also morphology is used.
+ * Internal structure:
+ * query tree, then string with original value.
+ * Query tree with plain view. It's means that in array of nodes
+ * right child is always next and left position = item+item->left
+ * Teodor Sigaev <[email protected]>
+ */
+#include "postgres.h"
+
+#include <float.h>
+#include <ctype.h>
+
+#include "access/gist.h"
+#include "access/itup.h"
+#include "access/rtree.h"
+#include "utils/array.h"
+#include "utils/builtins.h"
+#include "storage/bufpage.h"
+
+#include "ts_cfg.h"
+#include "tsvector.h"
+#include "crc32.h"
+#include "query.h"
+#include "rewrite.h"
+#include "common.h"
+
+
+PG_FUNCTION_INFO_V1(tsquery_in);
+Datum          tsquery_in(PG_FUNCTION_ARGS);
+
+PG_FUNCTION_INFO_V1(tsquery_out);
+Datum          tsquery_out(PG_FUNCTION_ARGS);
+
+PG_FUNCTION_INFO_V1(exectsq);
+Datum          exectsq(PG_FUNCTION_ARGS);
+
+PG_FUNCTION_INFO_V1(rexectsq);
+Datum          rexectsq(PG_FUNCTION_ARGS);
+
+PG_FUNCTION_INFO_V1(tsquerytree);
+Datum          tsquerytree(PG_FUNCTION_ARGS);
+
+PG_FUNCTION_INFO_V1(to_tsquery);
+Datum          to_tsquery(PG_FUNCTION_ARGS);
+
+PG_FUNCTION_INFO_V1(to_tsquery_name);
+Datum          to_tsquery_name(PG_FUNCTION_ARGS);
+
+PG_FUNCTION_INFO_V1(to_tsquery_current);
+Datum          to_tsquery_current(PG_FUNCTION_ARGS);
+
+/* parser's states */
+#define WAITOPERAND 1
+#define WAITOPERATOR   2
+
+/*
+ * node of query tree, also used
+ * for storing polish notation in parser
+ */
+typedef struct NODE
+{
+       int2            weight;
+       int2            type;
+       int4            val;
+       int2            distance;
+       int2            length;
+       struct NODE *next;
+}      NODE;
+
+typedef struct
+{
+       char       *buf;
+       int4            state;
+       int4            count;
+       /* reverse polish notation in list (for temprorary usage) */
+       NODE       *str;
+       /* number in str */
+       int4            num;
+
+       /* user-friendly operand */
+       int4            lenop;
+       int4            sumlen;
+       char       *op;
+       char       *curop;
+
+       /* state for value's parser */
+       TI_IN_STATE valstate;
+
+       /* tscfg */
+       int                     cfg_id;
+}      QPRS_STATE;
+
+static char *
+get_weight(char *buf, int2 *weight)
+{
+       *weight = 0;
+
+       if (*buf != ':')
+               return buf;
+
+       buf++;
+       while (*buf)
+       {
+               switch (tolower(*buf))
+               {
+                       case 'a':
+                               *weight |= 1 << 3;
+                               break;
+                       case 'b':
+                               *weight |= 1 << 2;
+                               break;
+                       case 'c':
+                               *weight |= 1 << 1;
+                               break;
+                       case 'd':
+                               *weight |= 1;
+                               break;
+                       default:
+                               return buf;
+               }
+               buf++;
+       }
+
+       return buf;
+}
+
+/*
+ * get token from query string
+ */
+static int4
+gettoken_query(QPRS_STATE * state, int4 *val, int4 *lenval, char **strval, int2 *weight)
+{
+       while (1)
+       {
+               switch (state->state)
+               {
+                       case WAITOPERAND:
+                               if (*(state->buf) == '!')
+                               {
+                                       (state->buf)++;
+                                       *val = (int4) '!';
+                                       return OPR;
+                               }
+                               else if (*(state->buf) == '(')
+                               {
+                                       state->count++;
+                                       (state->buf)++;
+                                       return OPEN;
+                               }
+                               else if (*(state->buf) == ':')
+                               {
+                                       ereport(ERROR,
+                                                       (errcode(ERRCODE_SYNTAX_ERROR),
+                                                        errmsg("error at start of operand")));
+                               }
+                               else if (*(state->buf) != ' ')
+                               {
+                                       state->valstate.prsbuf = state->buf;
+                                       state->state = WAITOPERATOR;
+                                       if (gettoken_tsvector(&(state->valstate)))
+                                       {
+                                               *strval = state->valstate.word;
+                                               *lenval = state->valstate.curpos - state->valstate.word;
+                                               state->buf = get_weight(state->valstate.prsbuf, weight);
+                                               return VAL;
+                                       }
+                                       else
+                                               ereport(ERROR,
+                                                               (errcode(ERRCODE_SYNTAX_ERROR),
+                                                                errmsg("no operand")));
+                               }
+                               break;
+                       case WAITOPERATOR:
+                               if (*(state->buf) == '&' || *(state->buf) == '|')
+                               {
+                                       state->state = WAITOPERAND;
+                                       *val = (int4) *(state->buf);
+                                       (state->buf)++;
+                                       return OPR;
+                               }
+                               else if (*(state->buf) == ')')
+                               {
+                                       (state->buf)++;
+                                       state->count--;
+                                       return (state->count < 0) ? ERR : CLOSE;
+                               }
+                               else if (*(state->buf) == '\0')
+                                       return (state->count) ? ERR : END;
+                               else if (*(state->buf) != ' ')
+                                       return ERR;
+                               break;
+                       default:
+                               return ERR;
+                               break;
+               }
+               (state->buf)++;
+       }
+       return END;
+}
+
+/*
+ * push new one in polish notation reverse view
+ */
+static void
+pushquery(QPRS_STATE * state, int4 type, int4 val, int4 distance, int4 lenval, int2 weight)
+{
+       NODE       *tmp = (NODE *) palloc(sizeof(NODE));
+
+       tmp->weight = weight;
+       tmp->type = type;
+       tmp->val = val;
+       if (distance >= MAXSTRPOS)
+               ereport(ERROR,
+                               (errcode(ERRCODE_SYNTAX_ERROR),
+                                errmsg("value is too big")));
+       if (lenval >= MAXSTRLEN)
+               ereport(ERROR,
+                               (errcode(ERRCODE_SYNTAX_ERROR),
+                                errmsg("operand is too long")));
+       tmp->distance = distance;
+       tmp->length = lenval;
+       tmp->next = state->str;
+       state->str = tmp;
+       state->num++;
+}
+
+/*
+ * This function is used for tsquery parsing
+ */
+static void
+pushval_asis(QPRS_STATE * state, int type, char *strval, int lenval, int2 weight)
+{
+       if (lenval >= MAXSTRLEN)
+               ereport(ERROR,
+                               (errcode(ERRCODE_SYNTAX_ERROR),
+                                errmsg("word is too long")));
+
+       pushquery(state, type, crc32_sz((uint8 *) strval, lenval),
+                         state->curop - state->op, lenval, weight);
+
+       while (state->curop - state->op + lenval + 1 >= state->lenop)
+       {
+               int4            tmp = state->curop - state->op;
+
+               state->lenop *= 2;
+               state->op = (char *) repalloc((void *) state->op, state->lenop);
+               state->curop = state->op + tmp;
+       }
+       memcpy((void *) state->curop, (void *) strval, lenval);
+       state->curop += lenval;
+       *(state->curop) = '\0';
+       state->curop++;
+       state->sumlen += lenval + 1;
+       return;
+}
+
+/*
+ * This function is used for morph parsing
+ */
+static void
+pushval_morph(QPRS_STATE * state, int typeval, char *strval, int lenval, int2 weight)
+{
+       int4            count = 0;
+       PRSTEXT         prs;
+
+       prs.lenwords = 32;
+       prs.curwords = 0;
+       prs.pos = 0;
+       prs.words = (WORD *) palloc(sizeof(WORD) * prs.lenwords);
+
+       parsetext_v2(findcfg(state->cfg_id), &prs, strval, lenval);
+
+       for (count = 0; count < prs.curwords; count++)
+       {
+               pushval_asis(state, VAL, prs.words[count].word, prs.words[count].len, weight);
+               pfree(prs.words[count].word);
+               if (count)
+                       pushquery(state, OPR, (int4) '&', 0, 0, 0);
+       }
+       pfree(prs.words);
+
+       /* XXX */
+       if (prs.curwords == 0)
+               pushval_asis(state, VALSTOP, 0, 0, 0);
+}
+
+#define STACKDEPTH     32
+/*
+ * make polish notaion of query
+ */
+static int4
+makepol(QPRS_STATE * state, void (*pushval) (QPRS_STATE *, int, char *, int, int2))
+{
+       int4            val,
+                               type;
+       int4            lenval;
+       char       *strval;
+       int4            stack[STACKDEPTH];
+       int4            lenstack = 0;
+       int2            weight;
+
+       while ((type = gettoken_query(state, &val, &lenval, &strval, &weight)) != END)
+       {
+               switch (type)
+               {
+                       case VAL:
+                               (*pushval) (state, VAL, strval, lenval, weight);
+                               while (lenstack && (stack[lenstack - 1] == (int4) '&' ||
+                                                                       stack[lenstack - 1] == (int4) '!'))
+                               {
+                                       lenstack--;
+                                       pushquery(state, OPR, stack[lenstack], 0, 0, 0);
+                               }
+                               break;
+                       case OPR:
+                               if (lenstack && val == (int4) '|')
+                                       pushquery(state, OPR, val, 0, 0, 0);
+                               else
+                               {
+                                       if (lenstack == STACKDEPTH)
+                                               /* internal error */
+                                               elog(ERROR, "stack too short");
+                                       stack[lenstack] = val;
+                                       lenstack++;
+                               }
+                               break;
+                       case OPEN:
+                               if (makepol(state, pushval) == ERR)
+                                       return ERR;
+                               if (lenstack && (stack[lenstack - 1] == (int4) '&' ||
+                                                                stack[lenstack - 1] == (int4) '!'))
+                               {
+                                       lenstack--;
+                                       pushquery(state, OPR, stack[lenstack], 0, 0, 0);
+                               }
+                               break;
+                       case CLOSE:
+                               while (lenstack)
+                               {
+                                       lenstack--;
+                                       pushquery(state, OPR, stack[lenstack], 0, 0, 0);
+                               };
+                               return END;
+                               break;
+                       case ERR:
+                       default:
+                               ereport(ERROR,
+                                               (errcode(ERRCODE_SYNTAX_ERROR),
+                                                errmsg("syntax error")));
+                               return ERR;
+
+               }
+       }
+       while (lenstack)
+       {
+               lenstack--;
+               pushquery(state, OPR, stack[lenstack], 0, 0, 0);
+       };
+       return END;
+}
+
+typedef struct
+{
+       WordEntry  *arrb;
+       WordEntry  *arre;
+       char       *values;
+       char       *operand;
+}      CHKVAL;
+
+/*
+ * compare 2 string values
+ */
+static int4
+ValCompare(CHKVAL * chkval, WordEntry * ptr, ITEM * item)
+{
+       if (ptr->len == item->length)
+               return strncmp(
+                                          &(chkval->values[ptr->pos]),
+                                          &(chkval->operand[item->distance]),
+                                          item->length);
+
+       return (ptr->len > item->length) ? 1 : -1;
+}
+
+/*
+ * check weight info
+ */
+static bool
+checkclass_str(CHKVAL * chkval, WordEntry * val, ITEM * item)
+{
+       WordEntryPos *ptr = (WordEntryPos *) (chkval->values + val->pos + SHORTALIGN(val->len) + sizeof(uint16));
+       uint16          len = *((uint16 *) (chkval->values + val->pos + SHORTALIGN(val->len)));
+
+       while (len--)
+       {
+               if (item->weight & (1 << ptr->weight))
+                       return true;
+               ptr++;
+       }
+       return false;
+}
+
+/*
+ * is there value 'val' in array or not ?
+ */
+static bool
+checkcondition_str(void *checkval, ITEM * val)
+{
+       WordEntry  *StopLow = ((CHKVAL *) checkval)->arrb;
+       WordEntry  *StopHigh = ((CHKVAL *) checkval)->arre;
+       WordEntry  *StopMiddle;
+       int                     difference;
+
+       /* Loop invariant: StopLow <= val < StopHigh */
+
+       while (StopLow < StopHigh)
+       {
+               StopMiddle = StopLow + (StopHigh - StopLow) / 2;
+               difference = ValCompare((CHKVAL *) checkval, StopMiddle, val);
+               if (difference == 0)
+                       return (val->weight && StopMiddle->haspos) ?
+                               checkclass_str((CHKVAL *) checkval, StopMiddle, val) : true;
+               else if (difference < 0)
+                       StopLow = StopMiddle + 1;
+               else
+                       StopHigh = StopMiddle;
+       }
+
+       return (false);
+}
+
+/*
+ * check for boolean condition
+ */
+bool
+TS_execute(ITEM * curitem, void *checkval, bool calcnot, bool (*chkcond) (void *checkval, ITEM * val))
+{
+       if (curitem->type == VAL)
+               return (*chkcond) (checkval, curitem);
+       else if (curitem->val == (int4) '!')
+       {
+               return (calcnot) ?
+                       ((TS_execute(curitem + 1, checkval, calcnot, chkcond)) ? false : true)
+                       : true;
+       }
+       else if (curitem->val == (int4) '&')
+       {
+               if (TS_execute(curitem + curitem->left, checkval, calcnot, chkcond))
+                       return TS_execute(curitem + 1, checkval, calcnot, chkcond);
+               else
+                       return false;
+       }
+       else
+       {                                                       /* |-operator */
+               if (TS_execute(curitem + curitem->left, checkval, calcnot, chkcond))
+                       return true;
+               else
+                       return TS_execute(curitem + 1, checkval, calcnot, chkcond);
+       }
+       return false;
+}
+
+/*
+ * boolean operations
+ */
+Datum
+rexectsq(PG_FUNCTION_ARGS)
+{
+       return DirectFunctionCall2(
+                                                          exectsq,
+                                                          PG_GETARG_DATUM(1),
+                                                          PG_GETARG_DATUM(0)
+               );
+}
+
+Datum
+exectsq(PG_FUNCTION_ARGS)
+{
+       tsvector   *val = (tsvector *) DatumGetPointer(PG_DETOAST_DATUM(PG_GETARG_DATUM(0)));
+       QUERYTYPE  *query = (QUERYTYPE *) DatumGetPointer(PG_DETOAST_DATUM(PG_GETARG_DATUM(1)));
+       CHKVAL          chkval;
+       bool            result;
+
+       if (!val->size || !query->size)
+       {
+               PG_FREE_IF_COPY(val, 0);
+               PG_FREE_IF_COPY(query, 1);
+               PG_RETURN_BOOL(false);
+       }
+
+       chkval.arrb = ARRPTR(val);
+       chkval.arre = chkval.arrb + val->size;
+       chkval.values = STRPTR(val);
+       chkval.operand = GETOPERAND(query);
+       result = TS_execute(
+                                               GETQUERY(query),
+                                               &chkval,
+                                               true,
+                                               checkcondition_str
+               );
+
+       PG_FREE_IF_COPY(val, 0);
+       PG_FREE_IF_COPY(query, 1);
+       PG_RETURN_BOOL(result);
+}
+
+/*
+ * find left operand in polish notation view
+ */
+static void
+findoprnd(ITEM * ptr, int4 *pos)
+{
+#ifdef BS_DEBUG
+       elog(DEBUG3, (ptr[*pos].type == OPR) ?
+                "%d  %c" : "%d  %d", *pos, ptr[*pos].val);
+#endif
+       if (ptr[*pos].type == VAL || ptr[*pos].type == VALSTOP)
+       {
+               ptr[*pos].left = 0;
+               (*pos)++;
+       }
+       else if (ptr[*pos].val == (int4) '!')
+       {
+               ptr[*pos].left = 1;
+               (*pos)++;
+               findoprnd(ptr, pos);
+       }
+       else
+       {
+               ITEM       *curitem = &ptr[*pos];
+               int4            tmp = *pos;
+
+               (*pos)++;
+               findoprnd(ptr, pos);
+               curitem->left = *pos - tmp;
+               findoprnd(ptr, pos);
+       }
+}
+
+
+/*
+ * input
+ */
+static QUERYTYPE *
+                       queryin(char *buf, void (*pushval) (QPRS_STATE *, int, char *, int, int2), int cfg_id)
+{
+       QPRS_STATE      state;
+       int4            i;
+       QUERYTYPE  *query;
+       int4            commonlen;
+       ITEM       *ptr;
+       NODE       *tmp;
+       int4            pos = 0;
+
+#ifdef BS_DEBUG
+       char            pbuf[16384],
+                          *cur;
+#endif
+
+       /* init state */
+       state.buf = buf;
+       state.state = WAITOPERAND;
+       state.count = 0;
+       state.num = 0;
+       state.str = NULL;
+       state.cfg_id = cfg_id;
+
+       /* init value parser's state */
+       state.valstate.oprisdelim = true;
+       state.valstate.len = 32;
+       state.valstate.word = (char *) palloc(state.valstate.len);
+
+       /* init list of operand */
+       state.sumlen = 0;
+       state.lenop = 64;
+       state.curop = state.op = (char *) palloc(state.lenop);
+       *(state.curop) = '\0';
+
+       /* parse query & make polish notation (postfix, but in reverse order) */
+       makepol(&state, pushval);
+       pfree(state.valstate.word);
+       if (!state.num)
+               ereport(ERROR,
+                               (errcode(ERRCODE_SYNTAX_ERROR),
+                                errmsg("empty query")));
+
+       /* make finish struct */
+       commonlen = COMPUTESIZE(state.num, state.sumlen);
+       query = (QUERYTYPE *) palloc(commonlen);
+       query->len = commonlen;
+       query->size = state.num;
+       ptr = GETQUERY(query);
+
+       /* set item in polish notation */
+       for (i = 0; i < state.num; i++)
+       {
+               ptr[i].weight = state.str->weight;
+               ptr[i].type = state.str->type;
+               ptr[i].val = state.str->val;
+               ptr[i].distance = state.str->distance;
+               ptr[i].length = state.str->length;
+               tmp = state.str->next;
+               pfree(state.str);
+               state.str = tmp;
+       }
+
+       /* set user friendly-operand view */
+       memcpy((void *) GETOPERAND(query), (void *) state.op, state.sumlen);
+       pfree(state.op);
+
+       /* set left operand's position for every operator */
+       pos = 0;
+       findoprnd(ptr, &pos);
+
+#ifdef BS_DEBUG
+       cur = pbuf;
+       *cur = '\0';
+       for (i = 0; i < query->size; i++)
+       {
+               if (ptr[i].type == OPR)
+                       sprintf(cur, "%c(%d) ", ptr[i].val, ptr[i].left);
+               else
+                       sprintf(cur, "%d(%s) ", ptr[i].val, GETOPERAND(query) + ptr[i].distance);
+               cur = strchr(cur, '\0');
+       }
+       elog(DEBUG3, "POR: %s", pbuf);
+#endif
+
+       return query;
+}
+
+/*
+ * in without morphology
+ */
+Datum
+tsquery_in(PG_FUNCTION_ARGS)
+{
+       PG_RETURN_POINTER(queryin((char *) PG_GETARG_POINTER(0), pushval_asis, 0));
+}
+
+/*
+ * out function
+ */
+typedef struct
+{
+       ITEM       *curpol;
+       char       *buf;
+       char       *cur;
+       char       *op;
+       int4            buflen;
+}      INFIX;
+
+#define RESIZEBUF(inf,addsize) \
+while( ( inf->cur - inf->buf ) + addsize + 1 >= inf->buflen ) \
+{ \
+       int4 len = inf->cur - inf->buf; \
+       inf->buflen *= 2; \
+       inf->buf = (char*) repalloc( (void*)inf->buf, inf->buflen ); \
+       inf->cur = inf->buf + len; \
+}
+
+/*
+ * recursive walk on tree and print it in
+ * infix (human-readable) view
+ */
+static void
+infix(INFIX * in, bool first)
+{
+       if (in->curpol->type == VAL)
+       {
+               char       *op = in->op + in->curpol->distance;
+
+               RESIZEBUF(in, in->curpol->length * 2 + 2 + 5);
+               *(in->cur) = '\'';
+               in->cur++;
+               while (*op)
+               {
+                       if (*op == '\'')
+                       {
+                               *(in->cur) = '\\';
+                               in->cur++;
+                       }
+                       *(in->cur) = *op;
+                       op++;
+                       in->cur++;
+               }
+               *(in->cur) = '\'';
+               in->cur++;
+               if (in->curpol->weight)
+               {
+                       *(in->cur) = ':';
+                       in->cur++;
+                       if (in->curpol->weight & (1 << 3))
+                       {
+                               *(in->cur) = 'A';
+                               in->cur++;
+                       }
+                       if (in->curpol->weight & (1 << 2))
+                       {
+                               *(in->cur) = 'B';
+                               in->cur++;
+                       }
+                       if (in->curpol->weight & (1 << 1))
+                       {
+                               *(in->cur) = 'C';
+                               in->cur++;
+                       }
+                       if (in->curpol->weight & 1)
+                       {
+                               *(in->cur) = 'D';
+                               in->cur++;
+                       }
+               }
+               *(in->cur) = '\0';
+               in->curpol++;
+       }
+       else if (in->curpol->val == (int4) '!')
+       {
+               bool            isopr = false;
+
+               RESIZEBUF(in, 1);
+               *(in->cur) = '!';
+               in->cur++;
+               *(in->cur) = '\0';
+               in->curpol++;
+               if (in->curpol->type == OPR)
+               {
+                       isopr = true;
+                       RESIZEBUF(in, 2);
+                       sprintf(in->cur, "( ");
+                       in->cur = strchr(in->cur, '\0');
+               }
+               infix(in, isopr);
+               if (isopr)
+               {
+                       RESIZEBUF(in, 2);
+                       sprintf(in->cur, " )");
+                       in->cur = strchr(in->cur, '\0');
+               }
+       }
+       else
+       {
+               int4            op = in->curpol->val;
+               INFIX           nrm;
+
+               in->curpol++;
+               if (op == (int4) '|' && !first)
+               {
+                       RESIZEBUF(in, 2);
+                       sprintf(in->cur, "( ");
+                       in->cur = strchr(in->cur, '\0');
+               }
+
+               nrm.curpol = in->curpol;
+               nrm.op = in->op;
+               nrm.buflen = 16;
+               nrm.cur = nrm.buf = (char *) palloc(sizeof(char) * nrm.buflen);
+
+               /* get right operand */
+               infix(&nrm, false);
+
+               /* get & print left operand */
+               in->curpol = nrm.curpol;
+               infix(in, false);
+
+               /* print operator & right operand */
+               RESIZEBUF(in, 3 + (nrm.cur - nrm.buf));
+               sprintf(in->cur, " %c %s", op, nrm.buf);
+               in->cur = strchr(in->cur, '\0');
+               pfree(nrm.buf);
+
+               if (op == (int4) '|' && !first)
+               {
+                       RESIZEBUF(in, 2);
+                       sprintf(in->cur, " )");
+                       in->cur = strchr(in->cur, '\0');
+               }
+       }
+}
+
+
+Datum
+tsquery_out(PG_FUNCTION_ARGS)
+{
+       QUERYTYPE  *query = (QUERYTYPE *) DatumGetPointer(PG_DETOAST_DATUM(PG_GETARG_DATUM(0)));
+       INFIX           nrm;
+
+       if (query->size == 0)
+       {
+               char       *b = palloc(1);
+
+               *b = '\0';
+               PG_RETURN_POINTER(b);
+       }
+       nrm.curpol = GETQUERY(query);
+       nrm.buflen = 32;
+       nrm.cur = nrm.buf = (char *) palloc(sizeof(char) * nrm.buflen);
+       *(nrm.cur) = '\0';
+       nrm.op = GETOPERAND(query);
+       infix(&nrm, true);
+
+       PG_FREE_IF_COPY(query, 0);
+       PG_RETURN_POINTER(nrm.buf);
+}
+
+/*
+ * debug function, used only for view query
+ * which will be executed in non-leaf pages in index
+ */
+Datum
+tsquerytree(PG_FUNCTION_ARGS)
+{
+       QUERYTYPE  *query = (QUERYTYPE *) DatumGetPointer(PG_DETOAST_DATUM(PG_GETARG_DATUM(0)));
+       INFIX           nrm;
+       text       *res;
+       ITEM       *q;
+       int4            len;
+
+
+       if (query->size == 0)
+       {
+               res = (text *) palloc(VARHDRSZ);
+               VARATT_SIZEP(res) = VARHDRSZ;
+               PG_RETURN_POINTER(res);
+       }
+
+       q = clean_NOT_v2(GETQUERY(query), &len);
+
+       if (!q)
+       {
+               res = (text *) palloc(1 + VARHDRSZ);
+               VARATT_SIZEP(res) = 1 + VARHDRSZ;
+               *((char *) VARDATA(res)) = 'T';
+       }
+       else
+       {
+               nrm.curpol = q;
+               nrm.buflen = 32;
+               nrm.cur = nrm.buf = (char *) palloc(sizeof(char) * nrm.buflen);
+               *(nrm.cur) = '\0';
+               nrm.op = GETOPERAND(query);
+               infix(&nrm, true);
+
+               res = (text *) palloc(nrm.cur - nrm.buf + VARHDRSZ);
+               VARATT_SIZEP(res) = nrm.cur - nrm.buf + VARHDRSZ;
+               strncpy(VARDATA(res), nrm.buf, nrm.cur - nrm.buf);
+               pfree(q);
+       }
+
+       PG_FREE_IF_COPY(query, 0);
+
+       PG_RETURN_POINTER(res);
+}
+
+Datum
+to_tsquery(PG_FUNCTION_ARGS)
+{
+       text       *in = PG_GETARG_TEXT_P(1);
+       char       *str;
+       QUERYTYPE  *query;
+       ITEM       *res;
+       int4            len;
+
+       str = text2char(in);
+       PG_FREE_IF_COPY(in, 1);
+
+       query = queryin(str, pushval_morph, PG_GETARG_INT32(0));
+       res = clean_fakeval_v2(GETQUERY(query), &len);
+       if (!res)
+       {
+               query->len = HDRSIZEQT;
+               query->size = 0;
+               PG_RETURN_POINTER(query);
+       }
+       memcpy((void *) GETQUERY(query), (void *) res, len * sizeof(ITEM));
+       pfree(res);
+       PG_RETURN_POINTER(query);
+}
+
+Datum
+to_tsquery_name(PG_FUNCTION_ARGS)
+{
+       text       *name = PG_GETARG_TEXT_P(0);
+       Datum           res = DirectFunctionCall2(
+                                                                                 to_tsquery,
+                                                                               Int32GetDatum(name2id_cfg(name)),
+                                                                                 PG_GETARG_DATUM(1)
+       );
+
+       PG_FREE_IF_COPY(name, 1);
+       PG_RETURN_DATUM(res);
+}
+
+Datum
+to_tsquery_current(PG_FUNCTION_ARGS)
+{
+       PG_RETURN_DATUM(DirectFunctionCall2(
+                                                                               to_tsquery,
+                                                                               Int32GetDatum(get_currcfg()),
+                                                                               PG_GETARG_DATUM(0)
+                                                                               ));
+}
diff --git a/contrib/tsearch2/query.h b/contrib/tsearch2/query.h
new file mode 100644 (file)
index 0000000..a65dbca
--- /dev/null
@@ -0,0 +1,54 @@
+#ifndef __QUERY_H__
+#define __QUERY_H__
+/*
+#define BS_DEBUG
+*/
+
+
+/*
+ * item in polish notation with back link
+ * to left operand
+ */
+typedef struct ITEM
+{
+       int8            type;
+       int8            weight;
+       int2            left;
+       int4            val;
+       /* user-friendly value, must correlate with WordEntry */
+       uint32
+                               unused:1,
+                               length:11,
+                               distance:20;
+}      ITEM;
+
+/*
+ *Storage:
+ *     (len)(size)(array of ITEM)(array of operand in user-friendly form)
+ */
+typedef struct
+{
+       int4            len;
+       int4            size;
+       char            data[1];
+}      QUERYTYPE;
+
+#define HDRSIZEQT      ( 2*sizeof(int4) )
+#define COMPUTESIZE(size,lenofoperand) ( HDRSIZEQT + size * sizeof(ITEM) + lenofoperand )
+#define GETQUERY(x)  (ITEM*)( (char*)(x)+HDRSIZEQT )
+#define GETOPERAND(x)  ( (char*)GETQUERY(x) + ((QUERYTYPE*)x)->size * sizeof(ITEM) )
+
+#define ISOPERATOR(x) ( (x)=='!' || (x)=='&' || (x)=='|' || (x)=='(' || (x)==')' )
+
+#define END                            0
+#define ERR                            1
+#define VAL                            2
+#define OPR                            3
+#define OPEN                   4
+#define CLOSE                  5
+#define VALSTOP                        6               /* for stop words */
+
+bool TS_execute(ITEM * curitem, void *checkval,
+                  bool calcnot, bool (*chkcond) (void *checkval, ITEM * val));
+
+#endif
diff --git a/contrib/tsearch2/rewrite.c b/contrib/tsearch2/rewrite.c
new file mode 100644 (file)
index 0000000..4d7294c
--- /dev/null
@@ -0,0 +1,255 @@
+/*
+ * Rewrite routines of query tree
+ * Teodor Sigaev <[email protected]>
+ */
+
+#include "postgres.h"
+
+#include <float.h>
+
+#include "access/gist.h"
+#include "access/itup.h"
+#include "access/rtree.h"
+#include "storage/bufpage.h"
+#include "utils/array.h"
+#include "utils/builtins.h"
+
+#include "query.h"
+#include "rewrite.h"
+
+typedef struct NODE
+{
+       struct NODE *left;
+       struct NODE *right;
+       ITEM       *valnode;
+}      NODE;
+
+/*
+ * make query tree from plain view of query
+ */
+static NODE *
+maketree(ITEM * in)
+{
+       NODE       *node = (NODE *) palloc(sizeof(NODE));
+
+       node->valnode = in;
+       node->right = node->left = NULL;
+       if (in->type == OPR)
+       {
+               node->right = maketree(in + 1);
+               if (in->val != (int4) '!')
+                       node->left = maketree(in + in->left);
+       }
+       return node;
+}
+
+typedef struct
+{
+       ITEM       *ptr;
+       int4            len;
+       int4            cur;
+}      PLAINTREE;
+
+static void
+plainnode(PLAINTREE * state, NODE * node)
+{
+       if (state->cur == state->len)
+       {
+               state->len *= 2;
+               state->ptr = (ITEM *) repalloc((void *) state->ptr, state->len * sizeof(ITEM));
+       }
+       memcpy((void *) &(state->ptr[state->cur]), (void *) node->valnode, sizeof(ITEM));
+       if (node->valnode->type == VAL)
+               state->cur++;
+       else if (node->valnode->val == (int4) '!')
+       {
+               state->ptr[state->cur].left = 1;
+               state->cur++;
+               plainnode(state, node->right);
+       }
+       else
+       {
+               int4            cur = state->cur;
+
+               state->cur++;
+               plainnode(state, node->right);
+               state->ptr[cur].left = state->cur - cur;
+               plainnode(state, node->left);
+       }
+       pfree(node);
+}
+
+/*
+ * make plain view of tree from 'normal' view of tree
+ */
+static ITEM *
+plaintree(NODE * root, int4 *len)
+{
+       PLAINTREE       pl;
+
+       pl.cur = 0;
+       pl.len = 16;
+       if (root && (root->valnode->type == VAL || root->valnode->type == OPR))
+       {
+               pl.ptr = (ITEM *) palloc(pl.len * sizeof(ITEM));
+               plainnode(&pl, root);
+       }
+       else
+               pl.ptr = NULL;
+       *len = pl.cur;
+       return pl.ptr;
+}
+
+static void
+freetree(NODE * node)
+{
+       if (!node)
+               return;
+       if (node->left)
+               freetree(node->left);
+       if (node->right)
+               freetree(node->right);
+       pfree(node);
+}
+
+/*
+ * clean tree for ! operator.
+ * It's usefull for debug, but in
+ * other case, such view is used with search in index.
+ * Operator ! always return TRUE
+ */
+static NODE *
+clean_NOT_intree(NODE * node)
+{
+       if (node->valnode->type == VAL)
+               return node;
+
+       if (node->valnode->val == (int4) '!')
+       {
+               freetree(node);
+               return NULL;
+       }
+
+       /* operator & or | */
+       if (node->valnode->val == (int4) '|')
+       {
+               if ((node->left = clean_NOT_intree(node->left)) == NULL ||
+                       (node->right = clean_NOT_intree(node->right)) == NULL)
+               {
+                       freetree(node);
+                       return NULL;
+               }
+       }
+       else
+       {
+               NODE       *res = node;
+
+               node->left = clean_NOT_intree(node->left);
+               node->right = clean_NOT_intree(node->right);
+               if (node->left == NULL && node->right == NULL)
+               {
+                       pfree(node);
+                       res = NULL;
+               }
+               else if (node->left == NULL)
+               {
+                       res = node->right;
+                       pfree(node);
+               }
+               else if (node->right == NULL)
+               {
+                       res = node->left;
+                       pfree(node);
+               }
+               return res;
+       }
+       return node;
+}
+
+ITEM *
+clean_NOT_v2(ITEM * ptr, int4 *len)
+{
+       NODE       *root = maketree(ptr);
+
+       return plaintree(clean_NOT_intree(root), len);
+}
+
+#define V_UNKNOWN      0
+#define V_TRUE         1
+#define V_FALSE                2
+#define V_STOP         3
+
+/*
+ * Clean query tree from values which is always in
+ * text (stopword)
+ */
+static NODE *
+clean_fakeval_intree(NODE * node, char *result)
+{
+       char            lresult = V_UNKNOWN,
+                               rresult = V_UNKNOWN;
+
+       if (node->valnode->type == VAL)
+               return node;
+       else if (node->valnode->type == VALSTOP)
+       {
+               pfree(node);
+               *result = V_STOP;
+               return NULL;
+       }
+
+
+       if (node->valnode->val == (int4) '!')
+       {
+               node->right = clean_fakeval_intree(node->right, &rresult);
+               if (!node->right)
+               {
+                       *result = V_STOP;
+                       freetree(node);
+                       return NULL;
+               }
+       }
+       else
+       {
+               NODE       *res = node;
+
+               node->left = clean_fakeval_intree(node->left, &lresult);
+               node->right = clean_fakeval_intree(node->right, &rresult);
+               if (lresult == V_STOP && rresult == V_STOP)
+               {
+                       freetree(node);
+                       *result = V_STOP;
+                       return NULL;
+               }
+               else if (lresult == V_STOP)
+               {
+                       res = node->right;
+                       pfree(node);
+               }
+               else if (rresult == V_STOP)
+               {
+                       res = node->left;
+                       pfree(node);
+               }
+               return res;
+       }
+       return node;
+}
+
+ITEM *
+clean_fakeval_v2(ITEM * ptr, int4 *len)
+{
+       NODE       *root = maketree(ptr);
+       char            result = V_UNKNOWN;
+       NODE       *resroot;
+
+       resroot = clean_fakeval_intree(root, &result);
+       if (result != V_UNKNOWN)
+       {
+               elog(NOTICE, "Query contains only stopword(s) or doesn't contain lexem(s), ignored");
+               *len = 0;
+               return NULL;
+       }
+
+       return plaintree(resroot, len);
+}
diff --git a/contrib/tsearch2/snowball/Makefile b/contrib/tsearch2/snowball/Makefile
new file mode 100644 (file)
index 0000000..49e550c
--- /dev/null
@@ -0,0 +1,20 @@
+# $Header$
+
+subdir = contrib/tsearch2/snowball
+top_builddir = ../../..
+include $(top_builddir)/src/Makefile.global
+
+
+PG_CPPFLAGS = -I$(srcdir)/..
+override CFLAGS += $(CFLAGS_SL)
+
+SUBOBJS = english_stem.o api.o russian_stem.o utilities.o
+
+all: SUBSYS.o
+
+SUBSYS.o: $(SUBOBJS)
+       $(LD) $(LDREL) $(LDOUT) $@ $^
+
+EXTRA_CLEAN = SUBSYS.o $(SUBOBJS)
+
+include $(top_srcdir)/contrib/contrib-global.mk
diff --git a/contrib/tsearch2/sql/tsearch2.sql b/contrib/tsearch2/sql/tsearch2.sql
new file mode 100644 (file)
index 0000000..d4f1021
--- /dev/null
@@ -0,0 +1,249 @@
+--
+-- first, define the datatype.  Turn off echoing so that expected file
+-- does not depend on contents of seg.sql.
+--
+\set ECHO none
+\i tsearch2.sql
+\set ECHO all
+
+--tsvector
+SELECT '1'::tsvector;
+SELECT '1 '::tsvector;
+SELECT ' 1'::tsvector;
+SELECT ' 1 '::tsvector;
+SELECT '1 2'::tsvector;
+SELECT '\'1 2\''::tsvector;
+SELECT '\'1 \\\'2\''::tsvector;
+SELECT '\'1 \\\'2\'3'::tsvector;
+SELECT '\'1 \\\'2\' 3'::tsvector;
+SELECT '\'1 \\\'2\' \' 3\' 4 '::tsvector;
+select '\'w\':4A,3B,2C,1D,5 a:8';
+select 'a:3A b:2a'::tsvector || 'ba:1234 a:1B';
+select setweight('w:12B w:13* w:12,5,6 a:1,3* a:3 w asd:1dc asd zxc:81,567,222A'::tsvector, 'c');
+select strip('w:12B w:13* w:12,5,6 a:1,3* a:3 w asd:1dc asd'::tsvector);
+
+
+--tsquery
+SELECT '1'::tsquery;
+SELECT '1 '::tsquery;
+SELECT ' 1'::tsquery;
+SELECT ' 1 '::tsquery;
+SELECT '\'1 2\''::tsquery;
+SELECT '\'1 \\\'2\''::tsquery;
+SELECT '!1'::tsquery;
+SELECT '1|2'::tsquery;
+SELECT '1|!2'::tsquery;
+SELECT '!1|2'::tsquery;
+SELECT '!1|!2'::tsquery;
+SELECT '!(!1|!2)'::tsquery;
+SELECT '!(!1|2)'::tsquery;
+SELECT '!(1|!2)'::tsquery;
+SELECT '!(1|2)'::tsquery;
+SELECT '1&2'::tsquery;
+SELECT '!1&2'::tsquery;
+SELECT '1&!2'::tsquery;
+SELECT '!1&!2'::tsquery;
+SELECT '(1&2)'::tsquery;
+SELECT '1&(2)'::tsquery;
+SELECT '!(1)&2'::tsquery;
+SELECT '!(1&2)'::tsquery;
+SELECT '1|2&3'::tsquery;
+SELECT '1|(2&3)'::tsquery;
+SELECT '(1|2)&3'::tsquery;
+SELECT '1|2&!3'::tsquery;
+SELECT '1|!2&3'::tsquery;
+SELECT '!1|2&3'::tsquery;
+SELECT '!1|(2&3)'::tsquery;
+SELECT '!(1|2)&3'::tsquery;
+SELECT '(!1|2)&3'::tsquery;
+SELECT '1|(2|(4|(5|6)))'::tsquery;
+SELECT '1|2|4|5|6'::tsquery;
+SELECT '1&(2&(4&(5&6)))'::tsquery;
+SELECT '1&2&4&5&6'::tsquery;
+SELECT '1&(2&(4&(5|6)))'::tsquery;
+SELECT '1&(2&(4&(5|!6)))'::tsquery;
+SELECT '1&(\'2\'&(\' 4\'&(\\|5 | \'6 \\\' !|&\')))'::tsquery;
+SELECT '\'the wether\':dc & \' sKies \':BC & a:d b:a';
+
+select lexize('simple', 'ASD56 hsdkf');
+select lexize('en_stem', 'SKIES Problems identity');
+
+select * from token_type('default');
+select * from parse('default', '345 [email protected] \' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/?  ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 [email protected] qwe-wer asdf <fr>qwer jf sdjk<we hjwer <werrwe> ewr1> ewri2 <a href="qwe<qwe>">
+/usr/local/fff /awdf/dwqe/4325 rewt/ewr wefjn /wqe-324/ewr gist.h gist.h.c gist.c. readline 4.2 4.2. 4.2, readline-4.2 readline-4.2. 234 
+<i <b> wow  < jqw <> qwerty');
+
+SELECT to_tsvector('default', '345 [email protected] \' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/?  ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 [email protected] qwe-wer asdf <fr>qwer jf sdjk<we hjwer <werrwe> ewr1> ewri2 <a href="qwe<qwe>">
+/usr/local/fff /awdf/dwqe/4325 rewt/ewr wefjn /wqe-324/ewr gist.h gist.h.c gist.c. readline 4.2 4.2. 4.2, readline-4.2 readline-4.2. 234 
+<i <b> wow  < jqw <> qwerty');
+
+SELECT length(to_tsvector('default', '345 qw'));
+
+SELECT length(to_tsvector('default', '345 [email protected] \' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/?  ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 [email protected] qwe-wer asdf <fr>qwer jf sdjk<we hjwer <werrwe> ewr1> ewri2 <a href="qwe<qwe>">
+/usr/local/fff /awdf/dwqe/4325 rewt/ewr wefjn /wqe-324/ewr gist.h gist.h.c gist.c. readline 4.2 4.2. 4.2, readline-4.2 readline-4.2. 234 
+<i <b> wow  < jqw <> qwerty'));
+
+
+select to_tsquery('default', 'qwe & sKies '); 
+select to_tsquery('simple', 'qwe & sKies '); 
+select to_tsquery('default', '\'the wether\':dc & \'           sKies \':BC ');
+select to_tsquery('asd&(and|fghj)');
+select to_tsquery('(asd&and)|fghj');
+select to_tsquery('(asd&!and)|fghj');
+select to_tsquery('(the|and&(i&1))&fghj');
+select 'a b:89  ca:23A,64b d:34c'::tsvector @@ 'd:AC & ca';
+select 'a b:89  ca:23A,64b d:34c'::tsvector @@ 'd:AC & ca:B';
+select 'a b:89  ca:23A,64b d:34c'::tsvector @@ 'd:AC & ca:A';
+select 'a b:89  ca:23A,64b d:34c'::tsvector @@ 'd:AC & ca:C';
+select 'a b:89  ca:23A,64b d:34c'::tsvector @@ 'd:AC & ca:CB';
+
+CREATE TABLE test_tsvector( t text, a tsvector );
+
+\copy test_tsvector from 'data/test_tsearch.data'
+
+SELECT count(*) FROM test_tsvector WHERE a @@ 'wr|qh';
+SELECT count(*) FROM test_tsvector WHERE a @@ 'wr&qh';
+SELECT count(*) FROM test_tsvector WHERE a @@ 'eq&yt';
+SELECT count(*) FROM test_tsvector WHERE a @@ 'eq|yt';
+SELECT count(*) FROM test_tsvector WHERE a @@ '(eq&yt)|(wr&qh)';
+SELECT count(*) FROM test_tsvector WHERE a @@ '(eq|yt)&(wr|qh)';
+
+create index wowidx on test_tsvector using gist (a);
+set enable_seqscan=off;
+
+SELECT count(*) FROM test_tsvector WHERE a @@ 'wr|qh';
+SELECT count(*) FROM test_tsvector WHERE a @@ 'wr&qh';
+SELECT count(*) FROM test_tsvector WHERE a @@ 'eq&yt';
+SELECT count(*) FROM test_tsvector WHERE a @@ 'eq|yt';
+SELECT count(*) FROM test_tsvector WHERE a @@ '(eq&yt)|(wr&qh)';
+SELECT count(*) FROM test_tsvector WHERE a @@ '(eq|yt)&(wr|qh)';
+
+select set_curcfg('default');
+
+CREATE TRIGGER tsvectorupdate
+BEFORE UPDATE OR INSERT ON test_tsvector
+FOR EACH ROW EXECUTE PROCEDURE tsearch2(a, t);
+
+SELECT count(*) FROM test_tsvector WHERE a @@ to_tsquery('345&qwerty');
+
+INSERT INTO test_tsvector (t) VALUES ('345 qwerty');
+
+SELECT count(*) FROM test_tsvector WHERE a @@ to_tsquery('345&qwerty');
+
+UPDATE test_tsvector SET t = null WHERE t = '345 qwerty';
+
+SELECT count(*) FROM test_tsvector WHERE a @@ to_tsquery('345&qwerty');
+
+drop trigger tsvectorupdate on test_tsvector;
+create function wow(text) returns text as 'select $1 || \' copyright\'; ' language sql;
+create trigger tsvectorupdate before update or insert on test_tsvector
+for each row execute procedure tsearch2(a, wow, t);
+insert into test_tsvector (t) values ('345 qwerty');
+select count(*) FROM test_tsvector WHERE a @@ to_tsquery('345&qwerty');
+select count(*) FROM test_tsvector WHERE a @@ to_tsquery('copyright');
+
+select rank(' a:1 s:2C d g'::tsvector, 'a | s');
+select rank(' a:1 s:2B d g'::tsvector, 'a | s');
+select rank(' a:1 s:2 d g'::tsvector, 'a | s');
+select rank(' a:1 s:2C d g'::tsvector, 'a & s');
+select rank(' a:1 s:2B d g'::tsvector, 'a & s');
+select rank(' a:1 s:2 d g'::tsvector, 'a & s');
+
+insert into test_tsvector (t) values ('foo bar foo the over foo qq bar');
+select * from stat('select a from test_tsvector') order by ndoc desc, nentry desc, word;
+
+select reset_tsearch();
+select to_tsquery('default', 'skies & books');
+
+select rank_cd(to_tsvector('Erosion It took the sea a thousand years,
+A thousand years to trace
+The granite features of this cliff
+In crag and scarp and base.
+It took the sea an hour one night
+An hour of storm to place
+The sculpture of these granite seams,
+Upon a woman s face. E.  J.  Pratt  (1882 1964)
+'), to_tsquery('sea&thousand&years'));
+
+select rank_cd(to_tsvector('Erosion It took the sea a thousand years,
+A thousand years to trace
+The granite features of this cliff
+In crag and scarp and base.
+It took the sea an hour one night
+An hour of storm to place
+The sculpture of these granite seams,
+Upon a woman s face. E.  J.  Pratt  (1882 1964)
+'), to_tsquery('granite&sea'));
+
+select rank_cd(to_tsvector('Erosion It took the sea a thousand years,
+A thousand years to trace
+The granite features of this cliff
+In crag and scarp and base.
+It took the sea an hour one night
+An hour of storm to place
+The sculpture of these granite seams,
+Upon a woman s face. E.  J.  Pratt  (1882 1964)
+'), to_tsquery('sea'));
+
+select get_covers(to_tsvector('Erosion It took the sea a thousand years,
+A thousand years to trace
+The granite features of this cliff
+In crag and scarp and base.
+It took the sea an hour one night
+An hour of storm to place
+The sculpture of these granite seams,
+Upon a woman s face. E.  J.  Pratt  (1882 1964)
+'), to_tsquery('sea&thousand&years'));
+
+select get_covers(to_tsvector('Erosion It took the sea a thousand years,
+A thousand years to trace
+The granite features of this cliff
+In crag and scarp and base.
+It took the sea an hour one night
+An hour of storm to place
+The sculpture of these granite seams,
+Upon a woman s face. E.  J.  Pratt  (1882 1964)
+'), to_tsquery('granite&sea'));
+
+select get_covers(to_tsvector('Erosion It took the sea a thousand years,
+A thousand years to trace
+The granite features of this cliff
+In crag and scarp and base.
+It took the sea an hour one night
+An hour of storm to place
+The sculpture of these granite seams,
+Upon a woman s face. E.  J.  Pratt  (1882 1964)
+'), to_tsquery('sea'));
+
+select headline('Erosion It took the sea a thousand years,
+A thousand years to trace
+The granite features of this cliff
+In crag and scarp and base.
+It took the sea an hour one night
+An hour of storm to place
+The sculpture of these granite seams,
+Upon a woman s face. E.  J.  Pratt  (1882 1964)
+', to_tsquery('sea&thousand&years'));
+select headline('Erosion It took the sea a thousand years,
+A thousand years to trace
+The granite features of this cliff
+In crag and scarp and base.
+It took the sea an hour one night
+An hour of storm to place
+The sculpture of these granite seams,
+Upon a woman s face. E.  J.  Pratt  (1882 1964)
+', to_tsquery('granite&sea'));
+select headline('Erosion It took the sea a thousand years,
+A thousand years to trace
+The granite features of this cliff
+In crag and scarp and base.
+It took the sea an hour one night
+An hour of storm to place
+The sculpture of these granite seams,
+Upon a woman s face. E.  J.  Pratt  (1882 1964)
+', to_tsquery('sea'));
+
+--check debug
+select * from ts_debug('Tsearch module for PostgreSQL 7.3.3');
diff --git a/contrib/tsearch2/wordparser/Makefile b/contrib/tsearch2/wordparser/Makefile
new file mode 100644 (file)
index 0000000..1cf16c1
--- /dev/null
@@ -0,0 +1,27 @@
+# $Header$
+
+subdir = contrib/tsearch2/wordparser
+top_builddir = ../../..
+include $(top_builddir)/src/Makefile.global
+
+
+PG_CPPFLAGS = -I$(srcdir)/..
+override CFLAGS += $(CFLAGS_SL)
+
+SUBOBJS =  parser.o deflex.o
+
+all: SUBSYS.o
+
+parser.c: parser.l
+ifdef FLEX
+       $(FLEX) $(FLEXFLAGS) -8 -Ptsearch2_yy -o'$@' $<
+else
+       @$(missing) flex $< $@
+endif
+
+SUBSYS.o: $(SUBOBJS)
+       $(LD) $(LDREL) $(LDOUT) $@ $^
+
+EXTRA_CLEAN = SUBSYS.o $(SUBOBJS) parser.c
+
+include $(top_srcdir)/contrib/contrib-global.mk
diff --git a/contrib/tsearch2/wordparser/parser.h b/contrib/tsearch2/wordparser/parser.h
new file mode 100644 (file)
index 0000000..1ce1874
--- /dev/null
@@ -0,0 +1,10 @@
+#ifndef __PARSER_H__
+#define __PARSER_H__
+
+char      *token;
+int                    tokenlen;
+int                    tsearch2_yylex(void);
+void           start_parse_str(char *, int);
+void           end_parse(void);
+
+#endif
diff --git a/contrib/tsearch2/wordparser/parser.l b/contrib/tsearch2/wordparser/parser.l
new file mode 100644 (file)
index 0000000..23cfeda
--- /dev/null
@@ -0,0 +1,308 @@
+%{
+#include "postgres.h"
+
+#include "deflex.h"
+#include "parser.h"
+#include "common.h"
+
+/* Avoid exit() on fatal scanner errors */
+#define fprintf(file, fmt, msg)  ts_error(ERROR, fmt, msg)
+
+/* postgres allocation function */
+#define free    pfree
+#define malloc  palloc
+#define realloc repalloc
+
+#ifdef strdup
+#undef strdup
+#endif
+#define strdup  pstrdup
+
+char *token = NULL;  /* pointer to token */
+char *s     = NULL;  /* to return WHOLE hyphenated-word */
+
+YY_BUFFER_STATE buf = NULL; /* buffer to parse; it need for parse from string */
+
+%}
+
+%option 8bit
+%option never-interactive
+%option nounput
+%option noyywrap
+
+/* parser's state for parsing hyphenated-word */
+%x DELIM  
+/* parser's state for parsing URL*/
+%x URL  
+%x SERVER  
+
+/* parser's state for parsing TAGS */
+%x INTAG
+%x QINTAG
+%x INCOMMENT
+%x INSCRIPT
+
+/* cyrillic koi8 char */
+CYRALNUM       [0-9\200-\377]
+CYRALPHA       [\200-\377]
+ALPHA          [a-zA-Z\200-\377]
+ALNUM          [0-9a-zA-Z\200-\377]
+
+
+HOSTNAME       ([-_[:alnum:]]+\.)+[[:alpha:]]+
+URI            [-_[:alnum:]/%,\.;=&?#]+
+
+%%
+
+"<"[Ss][Cc][Rr][Ii][Pp][Tt] { BEGIN INSCRIPT; }
+
+<INSCRIPT>"</"[Ss][Cc][Rr][Ii][Pp][Tt]">" {
+       BEGIN INITIAL; 
+       *tsearch2_yytext=' '; *(tsearch2_yytext+1) = '\0'; 
+       token = tsearch2_yytext;
+       tokenlen = tsearch2_yyleng;
+       return SPACE;
+}
+
+"<!--" { BEGIN INCOMMENT; }
+
+<INCOMMENT>"-->"       { 
+       BEGIN INITIAL;
+       *tsearch2_yytext=' '; *(tsearch2_yytext+1) = '\0'; 
+       token = tsearch2_yytext;
+       tokenlen = tsearch2_yyleng;
+       return SPACE;
+}
+
+
+"<"[\![:alpha:]]       { BEGIN INTAG; }
+
+"</"[[:alpha:]]        { BEGIN INTAG; }
+
+<INTAG>"\""    { BEGIN QINTAG; }
+
+<QINTAG>"\\\"" ;
+
+<QINTAG>"\""   { BEGIN INTAG; }
+
+<INTAG>">"     { 
+       BEGIN INITIAL;
+       token = tsearch2_yytext;
+       *tsearch2_yytext=' '; 
+       token = tsearch2_yytext;
+       tokenlen = 1;
+       return TAG;
+}
+
+<QINTAG,INTAG,INCOMMENT,INSCRIPT>.|\n  ;
+
+\&(quot|amp|nbsp|lt|gt)\;   {
+       token = tsearch2_yytext;
+       tokenlen = tsearch2_yyleng;
+       return HTMLENTITY;
+}
+
+\&\#[0-9][0-9]?[0-9]?\; {
+       token = tsearch2_yytext;
+       tokenlen = tsearch2_yyleng;
+       return HTMLENTITY;
+}
+[-_\.[:alnum:]]+@{HOSTNAME}  /* Emails */ { 
+       token = tsearch2_yytext; 
+       tokenlen = tsearch2_yyleng;
+       return EMAIL; 
+}
+
+[+-]?[0-9]+(\.[0-9]+)?[eEdD][+-]?[0-9]+  /* float */   { 
+       token = tsearch2_yytext; 
+       tokenlen = tsearch2_yyleng;
+       return SCIENTIFIC; 
+}
+
+[0-9]+\.[0-9]+\.[0-9\.]*[0-9] {
+       token = tsearch2_yytext;
+       tokenlen = tsearch2_yyleng;
+       return VERSIONNUMBER;
+}
+
+[+-]?[0-9]+\.[0-9]+ {
+       token = tsearch2_yytext;
+       tokenlen = tsearch2_yyleng;
+       return DECIMAL;
+}
+
+[+-][0-9]+ { 
+       token = tsearch2_yytext; 
+       tokenlen = tsearch2_yyleng;
+       return SIGNEDINT; 
+}
+
+<DELIM,INITIAL>[0-9]+ { 
+       token = tsearch2_yytext; 
+       tokenlen = tsearch2_yyleng;
+       return UNSIGNEDINT; 
+}
+
+http"://"        { 
+       BEGIN URL; 
+       token = tsearch2_yytext;
+       tokenlen = tsearch2_yyleng;
+       return HTTP;
+}
+
+ftp"://"        { 
+       BEGIN URL; 
+       token = tsearch2_yytext;
+       tokenlen = tsearch2_yyleng;
+       return HTTP;
+}
+
+<URL,INITIAL>{HOSTNAME}[/:]{URI} { 
+       BEGIN SERVER;
+       if (s) { free(s); s=NULL; } 
+       s = strdup( tsearch2_yytext ); 
+       tokenlen = tsearch2_yyleng;
+       yyless( 0 ); 
+       token = s;
+       return FURL;
+}
+
+<SERVER,URL,INITIAL>{HOSTNAME} {
+       token = tsearch2_yytext; 
+       tokenlen = tsearch2_yyleng;
+       return HOST;
+}
+
+<SERVER>[/:]{URI}      {
+       token = tsearch2_yytext;
+       tokenlen = tsearch2_yyleng;
+       return URI;
+}
+
+[[:alnum:]\./_-]+"/"[[:alnum:]\./_-]+ {
+       token = tsearch2_yytext;
+       tokenlen = tsearch2_yyleng;
+       return FILEPATH;
+}
+
+({CYRALPHA}+-)+{CYRALPHA}+ /* composite-word */        {
+       BEGIN DELIM;
+       if (s) { free(s); s=NULL; } 
+       s = strdup( tsearch2_yytext );
+       tokenlen = tsearch2_yyleng;
+       yyless( 0 );
+       token = s;
+       return CYRHYPHENWORD;
+}
+
+([[:alpha:]]+-)+[[:alpha:]]+ /* composite-word */      {
+        BEGIN DELIM;
+       if (s) { free(s); s=NULL; } 
+       s = strdup( tsearch2_yytext );
+       tokenlen = tsearch2_yyleng;
+       yyless( 0 );
+       token = s;
+       return LATHYPHENWORD;
+}
+
+({ALNUM}+-)+{ALNUM}+ /* composite-word */      {
+       BEGIN DELIM;
+       if (s) { free(s); s=NULL; } 
+       s = strdup( tsearch2_yytext );
+       tokenlen = tsearch2_yyleng;
+       yyless( 0 );
+       token = s;
+       return HYPHENWORD;
+}
+
+<DELIM>[0-9]+\.[0-9]+\.[0-9\.]*[0-9] {
+       token = tsearch2_yytext;
+       tokenlen = tsearch2_yyleng;
+       return VERSIONNUMBER;
+}
+
+<DELIM>\+?[0-9]+\.[0-9]+ {
+       token = tsearch2_yytext;
+       tokenlen = tsearch2_yyleng;
+       return DECIMAL;
+}
+
+<DELIM>{CYRALPHA}+  /* one word in composite-word */   { 
+       token = tsearch2_yytext; 
+       tokenlen = tsearch2_yyleng;
+       return CYRPARTHYPHENWORD; 
+}
+
+<DELIM>[[:alpha:]]+  /* one word in composite-word */  { 
+       token = tsearch2_yytext; 
+       tokenlen = tsearch2_yyleng;
+       return LATPARTHYPHENWORD; 
+}
+
+<DELIM>{ALNUM}+  /* one word in composite-word */      { 
+       token = tsearch2_yytext; 
+       tokenlen = tsearch2_yyleng;
+       return PARTHYPHENWORD; 
+}
+
+<DELIM>-  { 
+       token = tsearch2_yytext;
+       tokenlen = tsearch2_yyleng;
+       return SPACE;
+}
+
+<DELIM,SERVER,URL>.|\n /* return in basic state */     {
+       BEGIN INITIAL;
+       yyless( 0 );
+}
+
+{CYRALPHA}+ /* normal word */  { 
+       token = tsearch2_yytext; 
+       tokenlen = tsearch2_yyleng;
+       return CYRWORD; 
+}
+
+[[:alpha:]]+ /* normal word */ { 
+       token = tsearch2_yytext; 
+       tokenlen = tsearch2_yyleng;
+       return LATWORD; 
+}
+
+{ALNUM}+ /* normal word */     { 
+       token = tsearch2_yytext; 
+       tokenlen = tsearch2_yyleng;
+       return UWORD; 
+}
+
+[ \r\n\t]+ {
+       token = tsearch2_yytext;
+       tokenlen = tsearch2_yyleng;
+       return SPACE;
+}
+
+. {
+       token = tsearch2_yytext;
+       tokenlen = tsearch2_yyleng;
+       return SPACE;
+} 
+
+%%
+
+/* clearing after parsing from string */
+void end_parse() {
+       if (s) { free(s); s=NULL; } 
+       tsearch2_yy_delete_buffer( buf );
+       buf = NULL;
+} 
+
+/* start parse from string */
+void start_parse_str(char* str, int limit) {
+       if (buf) end_parse();
+       buf = tsearch2_yy_scan_bytes( str, limit );
+       tsearch2_yy_switch_to_buffer( buf );
+       BEGIN INITIAL;
+}
+
+
+
diff --git a/doc/FAQ b/doc/FAQ
index 66d3c9bbb8a74c1fd962f5bc63ae9a3ead817ae1..c0d611066017b9a8dd844e39a5d75387e7b19715 100644 (file)
--- a/doc/FAQ
+++ b/doc/FAQ
@@ -1,7 +1,7 @@
 
                 Frequently Asked Questions (FAQ) for PostgreSQL
                                        
-   Last updated: Fri Jul 25 18:07:30 EDT 2003
+   Last updated: Fri Sep 5 12:42:57 EDT 2003
    
    Current maintainer: Bruce Momjian ([email protected])
    
    
    A native port to MS Win NT/2000/XP is currently being worked on. For
    more details on the current status of PostgreSQL on Windows see
-   http://techdocs.postgresql.org/guides/Windows.
+   http://techdocs.postgresql.org/guides/Windows and
+   http://candle.pha.pa.us/main/writings/pgsql/win32.html.
    
    There is also a Novell Netware 6 port at http://forge.novell.com.
    
@@ -916,7 +917,8 @@ BYTEA           bytea           variable-length byte array (null-byte safe)
 
    Finally, you could use the OID returned from the INSERT statement to
    look up the default value, though this is probably the least portable
-   approach. In Perl, using DBI with Edmund Mergl's DBD::Pg module, the
+   approach, and the oid value will wrap around when it reaches 4
+   billion. In Perl, using DBI with Edmund Mergl's DBD::Pg module, the
    oid value is made available via $sth->{pg_oid_status} after
    $sth->execute().
    
index 6d3aa8e75f6a2fac90041a8dc188ba73af7d2682..32cb546415261acc6ca36769d28571b8dd8d3e76 100644 (file)
@@ -5,8 +5,8 @@
    
    Deutsche Übersetzung von Ian Barwick ([email protected]).
    
-   Letzte Aktualisierung der deutschen Übersetzung: Di., den 22.07.2003,
-   16:20 CET
+   Letzte Aktualisierung der deutschen Übersetzung: Di., den 02.09.2003,
+   10:00 CET
    
    Die aktuellste Version dieses Dokuments liegt auf der PostgreSQL
    Website:
@@ -1063,9 +1063,12 @@ BYTEA         bytea           Bytearray mit variabler L
 
    Schließlich besteht noch die Möglichkeit, den von einer
    INSERT-Anweisung zurückgelieferten OID-Wert als einmaligen Wert zu
-   verwenden. In Perl mit dem DBD::Pg-Modul von Edmund Mergl wird der
-   OID-Wert nach einem $sth->excute() über $sth->{pg_oid_status}
-   zurückgeliefert.
+   verwenden. Dieser Ansatz ist allerdings PostgreSQL-spezifisch;
+   außerdem wird nach ca. 4 Milliarden Einträgen der OID-Wert wieder auf
+   eine kleine Zahl gesetzt, ist also nicht garantiert einmalig.
+   
+   In Perl mit dem DBD::Pg-Modul wird der OID-Wert nach einem
+   $sth->excute() über $sth->{pg_oid_status} zurückgeliefert.
    
     4.15.3) Führen currval() und nextval() zu einer Race-Condition mit anderen
     Nutzern?
@@ -1278,15 +1281,21 @@ BYTEA         bytea           Bytearray mit variabler L
     4.28) Welche Möglichkeiten zur Verschlüsselung gibt es?
     
      * contrib/pgcrypto enthält diverse Funktionen für die Benützung mit
-       SQL-Abfragen;
-     * die einzige Möglichkeit, Kommunikationen zwischen Client und
-       Server zu verschlüsseln, ist durch die Anwendung von hostssl in
-       pg_hba.conf;
+       SQL-Abfragen.
+     * Um Verbindungen zwischen dem Server und Client-Anwendungen zu
+       verschlüsseln, muss in der Server-Konfigurationsdatei
+       postgresql.conf die ssl-Option auf true (Voreinstellung: false)
+       gesetzt werden und ein passender host- bzw. hostssl-Eintrag muss
+       in pg_hba.conf vorhanden sein. Zudem muss die sslmode-Einstellung
+       beim Client nicht auf disable gesetzt werden. (Bitte beachten Sie
+       auch, daß neben der eingebauten SSL-Unterstützung verschlüsselte
+       Verbindungen auch über externe Anwendungen wie stunnel oder ssh
+       aufgebaut werden können).
      * Die Passwörter der Datenbanknutzer werden ab Version 7.3
        automatisch verschlüsselt (in früheren Versionen muß der Parameter
        PASSWORD_ENCRYPTION in postgresql.conf explizit eingeschaltet
-       werden);
-     * der Server läuft auf einem verschlüsselten Dateisystem.
+       werden).
+     * Betrieb des Servers auf einem verschlüsselten Dateisystem.
      _________________________________________________________________
    
                             PostgreSQL erweitern
@@ -1326,10 +1335,15 @@ BYTEA         bytea           Bytearray mit variabler L
    Die englische Vorlage dieser FAQ wird ständig überarbeitet. Daher
    liegt die Übersetzung nicht immer auf dem aktuellsten Stand.
    
+   Die aktuellste Version der deutschen Übersetzung befindet sich immer
+   unter http://sql-info.de/postgresql/FAQ_german.html. Diese
+   "Arbeitsversion" enthält eventuell Änderungen, die noch nicht auf der
+   PostgreSQL-Website eingebunden worden sind.
+   
    Über Verbesserungshinweise und Korrekturvorschläge sowie
    Verständnisfragen zum Inhalt der FAQ freue ich mich. Ich nehme auch
-   allgemeine Fragen zu PostgreSQL gerne entgegen, kann aber leider keine
-   zeitige Antwort garantieren.
+   allgemeine Fragen zu PostgreSQL gerne entgegen, verweise jedoch auf
+   die Mailing-Listen als schnelle und zuverlässige Anlaufstellen.
    
    Diese Übersetzung basiert teilweise auf einer früheren Übersetzung von
    Karsten Schulz ([email protected]).
index 3db0d918913a903e5ea65a14bb935970b3174ab8..89d5681dfb4bcf3c2d21c31f8574b22db4c2e307 100644 (file)
--- a/doc/TODO
+++ b/doc/TODO
@@ -1,6 +1,6 @@
 TODO list for PostgreSQL
 ========================
-Last updated:          Tue Aug 12 18:04:15 EDT 2003
+Last updated:          Fri Sep  5 15:52:01 EDT 2003
 
 Current maintainer:    Bruce Momjian ([email protected])
 
@@ -52,7 +52,7 @@ Administration
 * Allow configuration files to be specified in a different directory
 * -Add start time to pg_stat_activity
 * Allow limits on per-db/user connections
-* Have standalone backend read postgresql.conf
+* -Have standalone backend read postgresql.conf (Tom)
 * Add group object ownership, so groups can rename/drop/grant on objects,
   so we can implement roles
 * Add the concept of dataspaces/tablespaces [tablespaces]
@@ -62,6 +62,8 @@ Administration
 * Allow server log information to be output as INSERT statements
 * Prevent default re-use of sysids for dropped users and groups
 * Prevent dropping user that still owns objects, or auto-drop the objects
+* Allow pooled connections to query prepared queries
+* Allow pooled connections to close all open WITH HOLD cursors
 
 
 
@@ -88,6 +90,10 @@ Data Types
   from making invalid dates valid
 * -Prevent month/day swapping of ISO dates to make invalid dates valid
 * Have initdb set DateStyle based on locale?
+* Add pg_get_acldef(), pg_get_typedefault(), and pg_get_attrdef()
+* Add ALTER DOMAIN, AGGREGATE, CONVERSION, SEQUENCE ... OWNER TO
+* Allow to_char to print localized month names (Karel)
+
 
 * ARRAYS
        o Allow nulls in arrays
@@ -117,6 +123,8 @@ Multi-Language Support
 * Prevent mismatch of frontend/backend encodings from converting bytea
   data from being interpreted as encoded strings
 * -Remove Cyrillic recode support
+* Fix upper()/lower() to work for multibyte encodings
+
 
  
 Views / Rules
@@ -142,7 +150,7 @@ Indexes
   INSERT INTO inherit_table (unique_index_col) VALUES (dup) should fail
   [inheritance]
 * Add UNIQUE capability to non-btree indexes
-* Add btree index support for reltime, tinterval, regproc
+* -Add btree index support for reltime, tinterval, regproc (Tom)
 * Add rtree index support for line, lseg, path, point
 * -Certain indexes will not shrink, e.g. indexes on ever-increasing
   columns and indexes with many duplicate keys
@@ -160,7 +168,7 @@ Indexes
   float4, numeric/decimal too [optimizer]
 * Add FILLFACTOR to btree index creation
 * Add concurrency to GIST
-* Improve concurrency of hash indexes (Neil)
+* -Improve concurrency of hash indexes (Tom)
 * Allow a single index to index multiple tables (for inheritance and subtables)
 
 
@@ -188,6 +196,8 @@ Commands
 * -Have SELECT '13 minutes'::interval display zero seconds in ISO datestyle
 * Prevent COMMENT ON DATABASE from using a database name
 * Add GUC variable to prevent waiting on locks
+* Allow TRUNCATE ... CASCADE/RESTRICT
+* Allow PREPARE of cursors
 
 
 * ALTER
@@ -204,6 +214,7 @@ Commands
        o Allow ALTER TABLE to modify column lengths and change to binary
          compatible types
        o Add ALTER DATABASE ... OWNER TO newowner
+       o Allow ALTER TABLE ... ALTER CONSTRAINT ... RENAME
 
 * CLUSTER
        o Automatically maintain clustering on a table
@@ -267,7 +278,7 @@ Clients
 * -Allow psql to show transaction status if backend protocol changes made
 * -Add schema, cast, and conversion backslash commands to psql (Christopher)
 * -Allow pg_dump to dump a specific schema (Neil Conway)
-* Allow psql to do table completion for SELECT * FROM schema_part and
+* -Allow psql to do table completion for SELECT * FROM schema_part and
   table completion for SELECT * FROM schema_name.
 * Add XML capability to pg_dump and COPY, when backend XML capability
 * -Allow SSL-enabled clients to turn off SSL transfers
@@ -276,6 +287,7 @@ Clients
 * Allow psql \du to show groups, and add \dg for groups
 * Allow clients to query WITH HOLD cursors and prepared statements
 * Prevent unneeded quoting in psql \d output using fmtId()
+* Add a libpq function to support Parse/DescribeStatement capability
 
 
 * JDBC
@@ -326,7 +338,8 @@ Referential Integrity
 * Support triggers on columns (Neil)
 * Have AFTER triggers execute after the appropriate SQL statement in a 
   function, not at the end of the function
-
+* Print table names with constraint names in error messages, or make constraint
+  names unique within a schema
 
 Dependency Checking
 ===================
@@ -381,6 +394,8 @@ Vacuum
 * Provide automatic running of vacuum in the background in backend
   rather than in /contrib [vacuum]
 * Allow free space map to be auto-sized or warn when it is too small
+* Maintain a map of recently-expired of pages so vacuum can reclaim
+  free space without a sequential scan
 
 
 Locking
index 641a3de6ea2c9b82cc74eedb2007c6494433d448..2983f0519d38c9c930da10e63716871ee480b255 100644 (file)
@@ -10,7 +10,7 @@
   alink="#0000ff">
     <H1>Frequently Asked Questions (FAQ) for PostgreSQL</H1>
 
-    <P>Last updated: Fri Jul 25 18:07:30 EDT 2003</P>
+    <P>Last updated: Fri Sep  5 12:42:57 EDT 2003</P>
 
     <P>Current maintainer: Bruce Momjian (<A href=
     "mailto:[email protected]">[email protected]</A>)<BR>
     <p>A native port to MS Win NT/2000/XP is currently being worked
     on. For more details on the current status of PostgreSQL on Windows see
     <a href="http://techdocs.postgresql.org/guides/Windows">
-    http://techdocs.postgresql.org/guides/Windows</a>.</p>
+    http://techdocs.postgresql.org/guides/Windows</a> and
+    <a href="http://candle.pha.pa.us/main/writings/pgsql/win32.html">
+    http://candle.pha.pa.us/main/writings/pgsql/win32.html</a>.</p>
 
     <p>There is also a Novell Netware 6 port at
     <a href="http://forge.novell.com">http://forge.novell.com</a>.</p>
@@ -1152,7 +1154,8 @@ BYTEA           bytea           variable-length byte array (null-byte safe)
 
     Finally, you could use the <A href="#4.16"><SMALL>OID</SMALL></A>
     returned from the <SMALL>INSERT</SMALL> statement to look up the
-    default value, though this is probably the least portable approach.
+    default value, though this is probably the least portable approach,
+    and the oid value will wrap around when it reaches 4 billion.
     In Perl, using DBI with Edmund Mergl's DBD::Pg module, the oid
     value is made available via <I>$sth-&gt;{pg_oid_status}</I> after
     <I>$sth-&gt;execute()</I>.
index 60752bcb5b2ab1fd64a132710b71ba48908f9918..5042cdfdca979c2b1d7eb3c06052ebee429f5926 100644 (file)
@@ -14,7 +14,7 @@ href="mailto:[email protected]">[email protected]</a>).</p>
 
     <p>Deutsche Übersetzung von Ian Barwick (<a href="mailto:[email protected]">[email protected]</a>).</p>
 
-    <p>Letzte Aktualisierung der deutschen Übersetzung: Di., den 22.07.2003, 16:20 CET</p>
+    <p>Letzte Aktualisierung der deutschen Übersetzung: Di., den 02.09.2003, 10:00 CET</p>
 
     <p>Die aktuellste Version dieses Dokuments liegt auf der PostgreSQL Website:</p>
     <ul>
@@ -1060,8 +1060,12 @@ BYTEA         bytea           Bytearray mit variabler L
     new_id = output of execute("SELECT currval('person_id_seq')");
 </pre>
     <p>Schließlich besteht noch die Möglichkeit, den von einer <small>INSERT</small>-Anweisung
-    zurückgelieferten <small>OID</small>-Wert als einmaligen Wert zu verwenden.
-    In Perl mit dem <em>DBD::Pg</em>-Modul von Edmund Mergl wird der OID-Wert nach einem
+    zurückgelieferten <a href="#4.16"><small>OID</small></a>-Wert als einmaligen Wert zu verwenden.
+    Dieser Ansatz ist allerdings PostgreSQL-spezifisch; außerdem wird nach 
+    ca. 4 Milliarden Einträgen der <small>OID</small>-Wert wieder auf eine kleine Zahl
+    gesetzt, ist also nicht garantiert einmalig.</p>
+
+    <p>In Perl mit dem <em>DBD::Pg</em>-Modul wird der OID-Wert nach einem
     <em>$sth->excute()</em> über <em>$sth->{pg_oid_status}</em> zurückgeliefert.</p>
 
     <h4><a name="4.15.3">4.15.3</a>) Führen <em>currval()</em> und <em>nextval()</em> zu einer Race-Condition mit anderen
@@ -1285,13 +1289,21 @@ BYTEA         bytea           Bytearray mit variabler L
 
     <ul>
     <li><em>contrib/pgcrypto</em> enthält diverse Funktionen für die Benützung mit
-      SQL-Abfragen;</li>
-    <li>die einzige Möglichkeit, Kommunikationen zwischen Client und Server
-      zu verschlüsseln, ist durch die Anwendung von <em>hostssl</em> in <em>pg_hba.conf</em>;</li>
+      SQL-Abfragen.</li>
+
+    <li>Um Verbindungen zwischen dem Server und Client-Anwendungen zu
+      verschlüsseln, muss in der Server-Konfigurationsdatei <em>postgresql.conf</em>
+      die <em>ssl</em>-Option auf <em>true</em> (Voreinstellung: <em>false</em>) gesetzt werden
+      und ein passender <em>host</em>- bzw. <em>hostssl</em>-Eintrag muss in 
+      <em>pg_hba.conf</em> vorhanden sein. Zudem muss die <em>sslmode</em>-Einstellung
+      beim Client nicht auf <em>disable</em> gesetzt werden. (Bitte beachten Sie auch,
+      daß neben der eingebauten SSL-Unterstützung verschlüsselte Verbindungen 
+      auch über externe Anwendungen wie <em>stunnel</em> oder <em>ssh</em> aufgebaut werden können).</li>
+
     <li>Die Passwörter der Datenbanknutzer werden ab Version 7.3 automatisch
       verschlüsselt (in früheren Versionen muß der Parameter <em>PASSWORD_ENCRYPTION</em>
-      in <em>postgresql.conf</em> explizit eingeschaltet werden);</li>
-    <li>der Server läuft auf einem verschlüsselten Dateisystem.</li>
+      in <em>postgresql.conf</em> explizit eingeschaltet werden).</li>
+    <li>Betrieb des Servers auf einem verschlüsselten Dateisystem.</li>
     </ul>
 
     <hr />
@@ -1333,9 +1345,15 @@ BYTEA         bytea           Bytearray mit variabler L
     <p>Die englische Vorlage dieser FAQ wird ständig überarbeitet. Daher liegt
     die Übersetzung nicht immer auf dem aktuellsten Stand.</p>
 
+    <p>Die aktuellste Version der deutschen Übersetzung befindet sich immer unter
+    <a href="http://sql-info.de/postgresql/FAQ_german.html">http://sql-info.de/postgresql/FAQ_german.html</a>.
+    Diese "Arbeitsversion" enthält eventuell Änderungen, die noch nicht auf der 
+    PostgreSQL-Website eingebunden worden sind.</p>
+
     <p>Über Verbesserungshinweise und Korrekturvorschläge sowie Verständnisfragen
     zum Inhalt der FAQ freue ich mich. Ich nehme auch allgemeine Fragen zu PostgreSQL gerne
-    entgegen, kann aber leider keine zeitige Antwort garantieren.</p>
+    entgegen, verweise jedoch auf die Mailing-Listen als schnelle und zuverlässige
+    Anlaufstellen.</p>
 
     <p>Diese Übersetzung basiert teilweise auf einer früheren Übersetzung von Karsten
     Schulz (<a href="mailto:[email protected]">[email protected]</a>).</p>
index 0d1aa634f9d03e702eb90bd33c08a8fbd6aebaff..42d33f702fb9aa2b9239c68aa68e4deeb65bf887 100644 (file)
@@ -48,7 +48,7 @@ endif
 
 # Enable draft mode during development
 ifneq (,$(findstring devel, $(VERSION)))
-JADEFLAGS += -V draft-mode
+override JADEFLAGS += -V draft-mode
 endif
 
 
@@ -82,7 +82,7 @@ html: postgres.sgml $(ALLSGML) stylesheet.dsl
        $(JADE) $(JADEFLAGS) $(SGMLINCLUDE) $(CATALOG) -d stylesheet.dsl -i output-html -t sgml $<
 
 
-COLLATEINDEX := $(PERL) $(COLLATEINDEX) -f -g
+COLLATEINDEX := LC_ALL=C $(PERL) $(COLLATEINDEX) -f -g
 
 ifeq (,$(wildcard HTML.index))
 bookindex.sgml:
index 2cb759b614d9c91d8afc364be38215c1b11aae52..8f674000288a704b41fb5738cfba1416044c7127 100644 (file)
@@ -142,7 +142,7 @@ ERROR:  &lt;unnamed&gt; referential integrity violation - key referenced from we
    <title>Transactions</title>
 
    <indexterm zone="tutorial-transactions">
-    <primary>transactions</primary>
+    <primary>transaction</primary>
    </indexterm>
 
    <para>
index 8f6638a1322117e98eb3417cdde435d32f447e5e..1ebd01544654c0e8973248dab925ca3b9f668ae9 100644 (file)
@@ -4,7 +4,7 @@
  <title>Arrays</title>
 
  <indexterm>
-  <primary>arrays</primary>
+  <primary>array</primary>
  </indexterm>
 
  <para>
@@ -162,7 +162,6 @@ ERROR:  multidimensional arrays must have array expressions with matching dimens
   expression syntax is discussed in more detail in <xref
   linkend="sql-syntax-array-constructors">.
  </para>
-
  </sect2>
 
  <sect2>
@@ -326,9 +325,9 @@ UPDATE sal_emp SET pay_by_quarter[1:2] = '{27000,27000}'
   <literal>||</literal>.
 <programlisting>
 SELECT ARRAY[1,2] || ARRAY[3,4];
  ?column?
----------------
- {{1,2},{3,4}}
+ ?column?
+-----------
+ {1,2,3,4}
 (1 row)
 
 SELECT ARRAY[5,6] || ARRAY[[1,2],[3,4]];
@@ -337,27 +336,68 @@ SELECT ARRAY[5,6] || ARRAY[[1,2],[3,4]];
  {{5,6},{1,2},{3,4}}
 (1 row)
 </programlisting>
+ </para>
 
+ <para>
   The concatenation operator allows a single element to be pushed on to the
   beginning or end of a one-dimensional array. It also accepts two
   <replaceable>N</>-dimensional arrays, or an <replaceable>N</>-dimensional
-  and an <replaceable>N+1</>-dimensional array. In the former case, the two
-  <replaceable>N</>-dimension arrays become outer elements of an
-  <replaceable>N+1</>-dimensional array. In the latter, the
-  <replaceable>N</>-dimensional array is added as either the first or last
-  outer element of the <replaceable>N+1</>-dimensional array.
-
-  When extending an array by concatenation, the subscripts of its existing
-  elements are preserved. For example, when pushing
-  onto the beginning of an array with one-based subscripts, the resulting
-  array has zero-based subscripts:
+  and an <replaceable>N+1</>-dimensional array.
+ </para>
 
+ <para>
+  When a single element is pushed on to the beginning of a one-dimensional
+  array, the result is an array with a lower bound subscript equal to
+  the righthand operand's lower bound subscript, minus one. When a single
+  element is pushed on to the end of a one-dimensional array, the result is
+  an array retaining the lower bound of the lefthand operand. For example:
 <programlisting>
 SELECT array_dims(1 || ARRAY[2,3]);
  array_dims
 ------------
  [0:2]
 (1 row)
+
+SELECT array_dims(ARRAY[1,2] || 3);
+ array_dims
+------------
+ [1:3]
+(1 row)
+</programlisting>
+ </para>
+
+ <para>
+  When two arrays with an equal number of dimensions are concatenated, the
+  result retains the lower bound subscript of the lefthand operand's outer
+  dimension. The result is an array comprising every element of the lefthand
+  operand followed by every element of the righthand operand. For example:
+<programlisting>
+SELECT array_dims(ARRAY[1,2] || ARRAY[3,4,5]);
+ array_dims
+------------
+ [1:5]
+(1 row)
+
+SELECT array_dims(ARRAY[[1,2],[3,4]] || ARRAY[[5,6],[7,8],[9,0]]);
+ array_dims
+------------
+ [1:5][1:2]
+(1 row)
+</programlisting>
+ </para>
+
+ <para>
+  When an <replaceable>N</>-dimensional array is pushed on to the beginning
+  or end of an <replaceable>N+1</>-dimensional array, the result is
+  analogous to the element-array case above. Each <replaceable>N</>-dimensional
+  sub-array is essentially an element of the <replaceable>N+1</>-dimensional
+  array's outer dimension. For example:
+<programlisting>
+SELECT array_dims(ARRAY[1,2] || ARRAY[[3,4],[5,6]]);
+ array_dims
+------------
+ [0:2][1:2]
+(1 row)
 </programlisting>
  </para>
 
@@ -386,9 +426,9 @@ SELECT array_append(ARRAY[1,2], 3);
 (1 row)
 
 SELECT array_cat(ARRAY[1,2], ARRAY[3,4]);
  array_cat
----------------
- {{1,2},{3,4}}
+ array_cat
+-----------
+ {1,2,3,4}
 (1 row)
 
 SELECT array_cat(ARRAY[[1,2],[3,4]], ARRAY[5,6]);
index 86b36be4e952533da1e8d3738db37b33c7f4939c..31278606bd4520632f1522160e4e14b16ed0e499 100644 (file)
@@ -153,6 +153,12 @@ pg_dump -h <replaceable>host1</> <replaceable>dbname</> | psql -h <replaceable>h
     </para>
    </important>
 
+   <tip>
+    <para>
+    Restore performance can be improved by increasing <literal>SORT_MEM</>
+    (see <xref linkend="runtime-config-resource-memory">).
+    </para>
+   </tip>
   </sect2>
 
   <sect2 id="backup-dump-all">
@@ -279,13 +285,15 @@ pg_dump -Fc <replaceable class="parameter">dbname</replaceable> > <replaceable c
    </para>
 
    <para>
-    For reasons of backward compatibility, <application>pg_dump</> does
-    not dump large objects by default. To dump large objects you must use 
-    either the custom or the TAR output format, and use the <option>-b</> option in 
-    <application>pg_dump</>. See the reference pages for details.
-    The directory <filename>contrib/pg_dumplo</> of the
-    <productname>PostgreSQL</> source tree also contains a program that can
-    dump large objects.
+    For reasons of backward compatibility, <application>pg_dump</>
+    does not dump large objects by default.<indexterm><primary>large
+    object</primary><secondary>backup</secondary></indexterm> To dump
+    large objects you must use either the custom or the TAR output
+    format, and use the <option>-b</> option in
+    <application>pg_dump</>. See the reference pages for details.  The
+    directory <filename>contrib/pg_dumplo</> of the
+    <productname>PostgreSQL</> source tree also contains a program
+    that can dump large objects.
    </para>
 
    <para>
@@ -365,7 +373,15 @@ tar -cf backup.tar /usr/local/pgsql/data
 
  <sect1 id="migration">
   <title>Migration between releases</title>
-  <indexterm zone="migration"><primary>upgrading</></>
+
+  <indexterm zone="migration">
+   <primary>upgrading</primary>
+  </indexterm>
+
+  <indexterm zone="migration">
+   <primary>version</primary>
+   <secondary>compatibility</secondary>
+  </indexterm>
 
   <para>
    As a general rule, the internal data storage format is subject to
index fd4416368a3cca9c4cb6e33e26d2e8d1c4feee2e..5287873db7db529227a3ca81a35e112006571dc4 100644 (file)
@@ -197,7 +197,7 @@ initdb --locale=sv_SE
      <listitem>
       <para>
        Sort order in queries using <command>ORDER BY</>
-       <indexterm><primary>ORDER BY</></>
+       <indexterm><primary>ORDER BY</><secondary>and locales</></indexterm>
       </para>
      </listitem>
 
index c834a4351e372d6b493a2e8e9cb9aa0db1ccf0b5..274fd0d08ab5361a56eba0efbaa1d6ce6ca5376c 100644 (file)
@@ -199,13 +199,17 @@ hostnossl  <replaceable>database</replaceable>  <replaceable>user</replaceable>
 <programlisting>
 (<replaceable>actual-IP-address</replaceable> xor <replaceable>IP-address-field</replaceable>) and <replaceable>IP-mask-field</replaceable>
 </programlisting>
-       must be zero for the record to match.  (Of course IP addresses
-       can be spoofed but this consideration is beyond the scope of
-       <productname>PostgreSQL</productname>.) If you machine supports
-       IPv6, the default <filename>pg_hba.conf</> file will have an
-       IPv6 entry for <literal>localhost</>. You can add your own IPv6
-       entries to the file. IPv6 entries are used only for IPv6
-       connections.
+       must be zero for the record to match.
+      </para>
+
+      <para>
+       An IP address given in IPv4 format will match IPv6 connections that
+       have the corresponding address, for example <literal>127.0.0.1</>
+       will match the IPv6 address <literal>::ffff:127.0.0.1</>.  An entry
+       given in IPv6 format will match only IPv6 connections, even if the
+       represented address is in the IPv4-in-IPv6 range.  Note that entries
+       in IPv6 format will be rejected if the system's C library does not have
+       support for IPv6 addresses.
       </para>
 
       <para>
@@ -219,9 +223,10 @@ hostnossl  <replaceable>database</replaceable>  <replaceable>user</replaceable>
      <term><replaceable>CIDR-mask</replaceable></term>
      <listitem>
       <para>
-        This is an integer specifying the number of significant bits 
-        to set in the mask, and is an alternative to using the 
-        <replaceable>IP-mask</replaceable> notation. The number must
+        This field may be used as an alternative to the 
+        <replaceable>IP-mask</replaceable> notation.  It is an
+       integer specifying the number of high-order bits 
+        to set in the mask.  The number must
         be between 0 and 32 (in the case of an IPv4 address) or 128
         (in the case of an IPv6 address) inclusive. 0 will match any
         address, while 32/128 will match only the exact host specified.
@@ -451,6 +456,11 @@ local   all         all                                             trust
 # TYPE  DATABASE    USER        IP-ADDRESS        IP-MASK           METHOD
 host    all         all         127.0.0.1         255.255.255.255   trust     
 
+# The same as the last line but using a CIDR mask
+#
+# TYPE  DATABASE    USER        IP-ADDRESS/CIDR-mask  METHOD
+host    all         all         127.0.0.1/32          trust     
+
 # Allow any user from any host with IP address 192.168.93.x to connect
 # to database "template1" as the same user name that ident reports for
 # the connection (typically the Unix user name).
@@ -458,6 +468,11 @@ host    all         all         127.0.0.1         255.255.255.255   trust
 # TYPE  DATABASE    USER        IP-ADDRESS        IP-MASK           METHOD
 host    template1   all         192.168.93.0      255.255.255.0     ident sameuser
 
+# The same as the last line but using a CIDR mask
+#
+# TYPE  DATABASE    USER        IP-ADDRESS/CIDR-mask  METHOD
+host    template1   all         192.168.93.0/24       ident sameuser
+
 # Allow a user from host 192.168.12.10 to connect to database
 # "template1" if the user's password is correctly supplied.
 # 
@@ -566,6 +581,7 @@ local   db1,db2,@demodbs  all                                       md5
    </indexterm>
    <indexterm>
     <primary>password</primary>
+    <secondary>authentication</secondary>
    </indexterm>
 
    <para>
@@ -610,16 +626,21 @@ local   db1,db2,@demodbs  all                                       md5
 
    <para>
     <productname>Kerberos</productname> is an industry-standard secure
-    authentication system suitable for distributed computing over a
-    public network. A description of the
-    <productname>Kerberos</productname> system is far beyond the scope
-    of this document; in all generality it can be quite complex (yet
-    powerful). The <ulink
+    authentication system suitable for distributed computing over a public
+    network. A description of the <productname>Kerberos</productname> system
+    is far beyond the scope of this document; in all generality it can be
+    quite complex (yet powerful). The <ulink
     url="http://www.nrl.navy.mil/CCS/people/kenh/kerberos-faq.html">Kerberos
-    <acronym>FAQ</></ulink> or <ulink
-    url="ftp://athena-dist.mit.edu">MIT Project Athena</ulink> can be
-    a good starting point for exploration. Several sources for
-    <productname>Kerberos</> distributions exist.
+    <acronym>FAQ</></ulink> or <ulink url="ftp://athena-dist.mit.edu">MIT
+    Project Athena</ulink> can be a good starting point for exploration.
+    Several sources for <productname>Kerberos</> distributions exist.
+   </para>
+
+   <para>
+    While <productname>PostgreSQL</> supports both Kerberos 4 and 
+    Kerberos 5, only Kerberos 5 is recommended.  Kerberos 4 is
+    considered insecure and no longer recommended for general
+    use.
    </para>
 
    <para>
@@ -850,6 +871,10 @@ omicron       bryanh            guest1
   <sect2 id="auth-pam">
    <title>PAM Authentication</title>
 
+   <indexterm zone="auth-pam">
+    <primary>PAM</primary>
+   </indexterm>
+
    <para>
     This authentication method operates similarly to
     <literal>password</literal> except that it uses PAM (Pluggable
index 367e1b5ce7ccb5141b61df75f46b05a4d5d108af..273eb556bb601065a0e1f17e9d99e5f4cdb4873d 100644 (file)
@@ -6,12 +6,12 @@ $Header$
   <title id="datatype-title">Data Types</title>
 
   <indexterm zone="datatype">
-   <primary>data types</primary>
+   <primary>data type</primary>
   </indexterm>
 
   <indexterm>
-   <primary>types</primary>
-   <see>data types</see>
+   <primary>type</primary>
+   <see>data type</see>
   </indexterm>
 
   <para>
@@ -279,68 +279,10 @@ $Header$
    <title>Numeric Types</title>
 
    <indexterm zone="datatype-numeric">
-    <primary>data types</primary>
+    <primary>data type</primary>
     <secondary>numeric</secondary>
    </indexterm>
 
-   <indexterm zone="datatype-numeric">
-    <primary>integer</primary>
-   </indexterm>
-
-   <indexterm zone="datatype-numeric">
-    <primary>smallint</primary>
-   </indexterm>
-
-   <indexterm zone="datatype-numeric">
-    <primary>bigint</primary>
-   </indexterm>
-
-   <indexterm>
-    <primary>int4</primary>
-    <see>integer</see>
-   </indexterm>
-
-   <indexterm>
-    <primary>int2</primary>
-    <see>smallint</see>
-   </indexterm>
-
-   <indexterm>
-    <primary>int8</primary>
-    <see>bigint</see>
-   </indexterm>
-
-   <indexterm zone="datatype-numeric">
-    <primary>numeric (data type)</primary>
-   </indexterm>
-
-   <indexterm>
-    <primary>decimal</primary>
-    <see>numeric</see>
-   </indexterm>
-
-   <indexterm zone="datatype-numeric">
-    <primary>real</primary>
-   </indexterm>
-
-   <indexterm zone="datatype-numeric">
-    <primary>double precision</primary>
-   </indexterm>
-
-   <indexterm>
-    <primary>float4</primary>
-    <see>real</see>
-   </indexterm>
-
-   <indexterm>
-    <primary>float8</primary>
-    <see>double precision</see>
-   </indexterm>
-
-   <indexterm zone="datatype-numeric">
-    <primary>floating point</primary>
-   </indexterm>
-
    <para>
     Numeric types consist of two-, four-, and eight-byte integers,
     four- and eight-byte floating-point numbers, and fixed-precision
@@ -434,6 +376,33 @@ $Header$
    <sect2 id="datatype-int">
     <title>Integer Types</title>
 
+    <indexterm zone="datatype-int">
+     <primary>integer</primary>
+    </indexterm>
+
+    <indexterm zone="datatype-int">
+     <primary>smallint</primary>
+    </indexterm>
+
+    <indexterm zone="datatype-int">
+     <primary>bigint</primary>
+    </indexterm>
+
+    <indexterm>
+     <primary>int4</primary>
+     <see>integer</see>
+    </indexterm>
+
+    <indexterm>
+     <primary>int2</primary>
+     <see>smallint</see>
+    </indexterm>
+
+    <indexterm>
+     <primary>int8</primary>
+     <see>bigint</see>
+    </indexterm>
+
     <para>
      The types <type>smallint</type>, <type>integer</type>, and
      <type>bigint</type> store whole numbers, that is, numbers without
@@ -495,6 +464,15 @@ $Header$
    <sect2 id="datatype-numeric-decimal">
     <title>Arbitrary Precision Numbers</title>
 
+    <indexterm zone="datatype-numeric-decimal">
+     <primary>numeric (data type)</primary>
+    </indexterm>
+
+    <indexterm>
+     <primary>decimal</primary>
+     <see>numeric</see>
+    </indexterm>
+
     <para>
      The type <type>numeric</type> can store numbers with up to 1000
      digits of precision and perform calculations exactly. It is
@@ -562,6 +540,28 @@ NUMERIC
    <sect2 id="datatype-float">
     <title>Floating-Point Types</title>
 
+    <indexterm zone="datatype-float">
+     <primary>real</primary>
+    </indexterm>
+
+    <indexterm zone="datatype-float">
+     <primary>double precision</primary>
+    </indexterm>
+
+    <indexterm>
+     <primary>float4</primary>
+     <see>real</see>
+    </indexterm>
+
+    <indexterm>
+     <primary>float8</primary>
+     <see>double precision</see>
+    </indexterm>
+
+    <indexterm zone="datatype-float">
+     <primary>floating point</primary>
+    </indexterm>
+
     <para>
      The data types <type>real</type> and <type>double
      precision</type> are inexact, variable-precision numeric types.
@@ -675,7 +675,7 @@ NUMERIC
     </indexterm>
 
     <indexterm>
-     <primary>sequences</primary>
+     <primary>sequence</primary>
      <secondary>and serial type</secondary>
     </indexterm>
 
@@ -807,18 +807,33 @@ CREATE TABLE <replaceable class="parameter">tablename</replaceable> (
    <title>Character Types</title>
 
    <indexterm zone="datatype-character">
-    <primary>character strings</primary>
+    <primary>character string</primary>
     <secondary>data types</secondary>
    </indexterm>
 
    <indexterm>
-    <primary>strings</primary>
-    <see>character strings</see>
+    <primary>string</primary>
+    <see>character string</see>
    </indexterm>
 
-   <indexterm>
+   <indexterm zone="datatype-character">
+    <primary>character</primary>
+   </indexterm>
+
+   <indexterm zone="datatype-character">
+    <primary>character varying</primary>
+   </indexterm>
+
+   <indexterm zone="datatype-character">
     <primary>text</primary>
-    <see>character strings</see>
+   </indexterm>
+
+   <indexterm zone="datatype-character">
+    <primary>char</primary>
+   </indexterm>
+
+   <indexterm zone="datatype-character">
+    <primary>varchar</primary>
    </indexterm>
 
     <table id="datatype-character-table">
@@ -1020,6 +1035,15 @@ SELECT b, char_length(b) FROM test2;
 
  <sect1 id="datatype-binary">
   <title>Binary Data Types</title>
+
+  <indexterm zone="datatype-binary">
+   <primary>binary data</primary>
+  </indexterm>
+
+  <indexterm zone="datatype-binary">
+   <primary>bytea</primary>
+  </indexterm>
+
    <para>
     The <type>bytea</type> data type allows storage of binary strings;
     see <xref linkend="datatype-binary-table">.
@@ -1210,6 +1234,34 @@ SELECT b, char_length(b) FROM test2;
   <sect1 id="datatype-datetime">
    <title>Date/Time Types</title>
 
+   <indexterm zone="datatype-datetime">
+    <primary>date</primary>
+   </indexterm>
+   <indexterm zone="datatype-datetime">
+    <primary>time</primary>
+   </indexterm>
+   <indexterm zone="datatype-datetime">
+    <primary>time without time zone</primary>
+   </indexterm>
+   <indexterm zone="datatype-datetime">
+    <primary>time with time zone</primary>
+   </indexterm>
+   <indexterm zone="datatype-datetime">
+    <primary>timestamp</primary>
+   </indexterm>
+   <indexterm zone="datatype-datetime">
+    <primary>timestamp with time zone</primary>
+   </indexterm>
+   <indexterm zone="datatype-datetime">
+    <primary>timestamp without time zone</primary>
+   </indexterm>
+   <indexterm zone="datatype-datetime">
+    <primary>interval</primary>
+   </indexterm>
+   <indexterm zone="datatype-datetime">
+    <primary>time span</primary>
+   </indexterm>
+
    <para>
     <productname>PostgreSQL</productname> supports the full set of
     <acronym>SQL</acronym> date and time types, shown in <xref
@@ -1387,7 +1439,6 @@ SELECT b, char_length(b) FROM test2;
 
     <indexterm>
      <primary>date</primary>
-     <secondary>data type</secondary>
     </indexterm>
  
     <para>
@@ -1461,15 +1512,12 @@ SELECT b, char_length(b) FROM test2;
 
      <indexterm>
       <primary>time</primary>
-      <secondary>data type</secondary>
      </indexterm>
      <indexterm>
       <primary>time without time zone</primary>
-      <secondary>time</secondary>
      </indexterm>
      <indexterm>
       <primary>time with time zone</primary>
-      <secondary>data type</secondary>
      </indexterm>
 
      <para>
@@ -1587,17 +1635,14 @@ SELECT b, char_length(b) FROM test2;
 
     <indexterm>
      <primary>timestamp</primary>
-     <secondary>data type</secondary>
     </indexterm>
 
     <indexterm>
      <primary>timestamp with time zone</primary>
-     <secondary>data type</secondary>
     </indexterm>
 
     <indexterm>
      <primary>timestamp without time zone</primary>
-     <secondary>data type</secondary>
     </indexterm>
 
      <para>
@@ -1797,13 +1842,13 @@ January 8 04:05:06 1999 PST
     <indexterm>
      <primary>date</primary>
      <secondary>output format</secondary>
-     <seealso>Formatting</seealso>
+     <seealso>formatting</seealso>
     </indexterm>
 
     <indexterm>
      <primary>time</primary>
      <secondary>output format</secondary>
-     <seealso>Formatting</seealso>
+     <seealso>formatting</seealso>
     </indexterm>
 
     <para>
@@ -1924,7 +1969,7 @@ January 8 04:05:06 1999 PST
     <title>Time Zones</title>
 
     <indexterm zone="datatype-timezones">
-     <primary>time zones</primary>
+     <primary>time zone</primary>
     </indexterm>
 
    <para>
@@ -2265,7 +2310,11 @@ SELECT * FROM test1 WHERE a;
     <title>Line Segments</title>
 
     <indexterm>
-     <primary>line</primary>
+     <primary>lseg</primary>
+    </indexterm>
+
+    <indexterm>
+     <primary>line segment</primary>
     </indexterm>
 
     <para>
@@ -2293,6 +2342,10 @@ SELECT * FROM test1 WHERE a;
      <primary>box (data type)</primary>
     </indexterm>
 
+    <indexterm>
+     <primary>rectangle</primary>
+    </indexterm>
+
     <para>
      Boxes are represented by pairs of points that are opposite
      corners of the box.
@@ -2431,7 +2484,7 @@ SELECT * FROM test1 WHERE a;
 
    <indexterm zone="datatype-net-types">
     <primary>network</primary>
-    <secondary>addresses</secondary>
+    <secondary>data types</secondary>
    </indexterm>
 
    <para>
@@ -2708,7 +2761,7 @@ SELECT * FROM test1 WHERE a;
    <title>Bit String Types</title>
 
    <indexterm zone="datatype-bit">
-    <primary>bit strings</primary>
+    <primary>bit string</primary>
     <secondary>data type</secondary>
    </indexterm>
 
@@ -3045,11 +3098,6 @@ SELECT * FROM test;
       </thead>
 
       <tbody>
-       <row>
-       <entry><type>record</></entry>
-       <entry>Identifies a function returning an unspecified row type.</entry>
-       </row>
-
        <row>
        <entry><type>any</></entry>
        <entry>Indicates that a function accepts any input data type whatever.</entry>
@@ -3058,23 +3106,24 @@ SELECT * FROM test;
        <row>
        <entry><type>anyarray</></entry>
        <entry>Indicates that a function accepts any array data type
-       (see <xref linkend="types-polymorphic">).</entry>
+       (see <xref linkend="extend-types-polymorphic">).</entry>
        </row>
 
        <row>
        <entry><type>anyelement</></entry>
        <entry>Indicates that a function accepts any data type
-       (see <xref linkend="types-polymorphic">).</entry>
+       (see <xref linkend="extend-types-polymorphic">).</entry>
        </row>
 
        <row>
-       <entry><type>void</></entry>
-       <entry>Indicates that a function returns no value.</entry>
+       <entry><type>cstring</></entry>
+       <entry>Indicates that a function accepts or returns a null-terminated C string.</entry>
        </row>
 
        <row>
-       <entry><type>trigger</></entry>
-       <entry>A trigger function is declared to return <type>trigger.</></entry>
+       <entry><type>internal</></entry>
+       <entry>Indicates that a function accepts or returns a server-internal
+       data type.</entry>
        </row>
 
        <row>
@@ -3083,14 +3132,18 @@ SELECT * FROM test;
        </row>
 
        <row>
-       <entry><type>cstring</></entry>
-       <entry>Indicates that a function accepts or returns a null-terminated C string.</entry>
+       <entry><type>record</></entry>
+       <entry>Identifies a function returning an unspecified row type.</entry>
        </row>
 
        <row>
-       <entry><type>internal</></entry>
-       <entry>Indicates that a function accepts or returns a server-internal
-       data type.</entry>
+       <entry><type>trigger</></entry>
+       <entry>A trigger function is declared to return <type>trigger.</></entry>
+       </row>
+
+       <row>
+       <entry><type>void</></entry>
+       <entry>Indicates that a function returns no value.</entry>
        </row>
 
        <row>
index a72d1e77e0ce40040e6530c2e528c6cd1a4a4548..e809913c34a338bce53560c81f232882c0fd2edb 100644 (file)
@@ -364,7 +364,8 @@ $Header$
    </para>
 
    <indexterm>
-    <primary>time zones</primary>
+    <primary>time zone</primary>
+    <secondary>abbreviations</secondary>
    </indexterm>
 
    <para>
@@ -536,18 +537,10 @@ $Header$
        <entry>+07:00</entry>
        <entry>Christmas (Island) Time</entry>
        </row>
-<!--
-       Conflicts with China Coastal Time
-       <row>
-       <entry>CCT</entry>
-       <entry>+06:30</entry>
-       <entry>Cocos Island Time</entry>
-       </row>
--->
        <row>
        <entry>MMT</entry>
        <entry>+06:30</entry>
-       <entry>Myannar Time</entry>
+       <entry>Myanmar Time</entry>
        </row>
        <row>
        <entry>ALMT</entry>
@@ -759,6 +752,21 @@ $Header$
        <entry>-01:00</entry>
        <entry>West Africa Time</entry>
        </row>
+       <row>
+       <entry>FNST</entry>
+       <entry>-01:00</entry>
+       <entry>Fernando de Noronha Summer Time</entry>
+       </row>
+       <row>
+       <entry>FNT</entry>
+       <entry>-02:00</entry>
+       <entry>Fernando de Noronha Time</entry>
+       </row>
+       <row>
+       <entry>BRST</entry>
+       <entry>-02:00</entry>
+       <entry>Brasilia Summer Time</entry>
+       </row>
        <row>
        <entry>NDT</entry>
        <entry>-02:30</entry>
@@ -774,6 +782,11 @@ $Header$
        <entry>-03:00</entry>
        <entry>(unknown)</entry>
        </row>
+       <row>
+       <entry>BRT</entry>
+       <entry>-03:00</entry>
+       <entry>Brasilia Time</entry>
+       </row>
        <row>
        <entry>NFT</entry>
        <entry>-03:30</entry>
@@ -794,11 +807,6 @@ $Header$
        <entry>-04:00</entry>
        <entry>Atlantic/Porto Acre Summer Time</entry>
        </row>
-       <row>
-       <entry>ACT</entry>
-       <entry>-05:00</entry>
-       <entry>Atlantic/Porto Acre Standard Time</entry>
-       </row>
        <row>
        <entry>EDT</entry>
        <entry>-04:00</entry>
@@ -811,6 +819,11 @@ $Header$
       <entry>GMT +4 hours</entry>
       </row>
        -->
+       <row>
+       <entry>ACT</entry>
+       <entry>-05:00</entry>
+       <entry>Atlantic/Porto Acre Standard Time</entry>
+       </row>
        <row>
        <entry>CDT</entry>
        <entry>-05:00</entry>
index 045fd388fe4a402d26f06452f0692cdceb054d11..88752b909b23871549403293fc26db7fa1b97a94 100644 (file)
  <sect1 id="ddl-basics">
   <title>Table Basics</title>
 
+  <indexterm zone="ddl-basics">
+   <primary>table</primary>
+  </indexterm>
+
+  <indexterm>
+   <primary>row</primary>
+  </indexterm>
+
+  <indexterm>
+   <primary>column</primary>
+  </indexterm>
+
   <para>
    A table in a relational database is much like a table on paper: It
    consists of rows and columns.  The number and order of the columns
    containing both date and time.
   </para>
 
+  <indexterm>
+   <primary>table</primary>
+   <secondary>creating</secondary>
+  </indexterm>
+
   <para>
    To create a table, you use the aptly named <literal>CREATE
    TABLE</literal> command.  In this command you specify at least a
@@ -114,6 +131,11 @@ CREATE TABLE products (
    highly unusual and often a questionable design.
   </para>
 
+  <indexterm>
+   <primary>table</primary>
+   <secondary>removing</secondary>
+  </indexterm>
+
   <para>
    If you no longer need a table, you can remove it using the
    <command>DROP TABLE</command> command.  For example:
@@ -156,8 +178,8 @@ DROP TABLE products;
   </para>
 
   <indexterm>
-   <primary>columns</primary>
-   <secondary>system columns</secondary>
+   <primary>column</primary>
+   <secondary>system column</secondary>
   </indexterm>
 
   <variablelist>
@@ -167,6 +189,7 @@ DROP TABLE products;
      <para>
       <indexterm>
        <primary>OID</primary>
+       <secondary>column</secondary>
       </indexterm>
       The object identifier (object ID) of a row.  This is a serial
       number that is automatically added by
@@ -182,6 +205,10 @@ DROP TABLE products;
    <varlistentry>
     <term><structfield>tableoid</></term>
     <listitem>
+     <indexterm>
+      <primary>tableoid</primary>
+     </indexterm>
+
      <para>
       The OID of the table containing this row.  This column is
       particularly handy for queries that select from inheritance
@@ -197,6 +224,10 @@ DROP TABLE products;
    <varlistentry>
     <term><structfield>xmin</></term>
     <listitem>
+     <indexterm>
+      <primary>xmin</primary>
+     </indexterm>
+
      <para>
       The identity (transaction ID) of the inserting transaction for
       this tuple.  (Note: In this context, a tuple is an individual
@@ -209,6 +240,10 @@ DROP TABLE products;
    <varlistentry>
     <term><structfield>cmin</></term>
     <listitem>
+     <indexterm>
+      <primary>cmin</primary>
+     </indexterm>
+
      <para>
       The command identifier (starting at zero) within the inserting
       transaction.
@@ -219,6 +254,10 @@ DROP TABLE products;
    <varlistentry>
     <term><structfield>xmax</></term>
     <listitem>
+     <indexterm>
+      <primary>xmax</primary>
+     </indexterm>
+
      <para>
       The identity (transaction ID) of the deleting transaction, or
       zero for an undeleted tuple.  It is possible for this column to
@@ -232,6 +271,10 @@ DROP TABLE products;
    <varlistentry>
     <term><structfield>cmax</></term>
     <listitem>
+     <indexterm>
+      <primary>cmax</primary>
+     </indexterm>
+
      <para>
       The command identifier within the deleting transaction, or zero.
      </para>
@@ -241,6 +284,10 @@ DROP TABLE products;
    <varlistentry>
     <term><structfield>ctid</></term>
     <listitem>
+     <indexterm>
+      <primary>ctid</primary>
+     </indexterm>
+
      <para>
       The physical location of the tuple within its table.  Note that
       although the <structfield>ctid</structfield> can be used to
@@ -292,6 +339,10 @@ DROP TABLE products;
  <sect1 id="ddl-default">
   <title>Default Values</title>
 
+  <indexterm zone="ddl-default">
+   <primary>default value</primary>
+  </indexterm>
+
   <para>
    A column can be assigned a default value.  When a new row is
    created and no values are specified for some of the columns, the
@@ -302,6 +353,7 @@ DROP TABLE products;
   </para>
 
   <para>
+   <indexterm><primary>null value</primary><secondary>default value</secondary></indexterm>
    If no default value is declared explicitly, the null value is the
    default value.  This usually makes sense because a null value can
    be thought to represent unknown data.
@@ -329,6 +381,10 @@ CREATE TABLE products (
  <sect1 id="ddl-constraints">
   <title>Constraints</title>
 
+  <indexterm zone="ddl-constraints">
+   <primary>constraint</primary>
+  </indexterm>
+
   <para>
    Data types are a way to limit the kind of data that can be stored
    in a table.  For many applications, however, the constraint they
@@ -351,6 +407,15 @@ CREATE TABLE products (
   <sect2>
    <title>Check Constraints</title>
 
+   <indexterm>
+    <primary>check constraint</primary>
+   </indexterm>
+
+   <indexterm>
+    <primary>constraint</primary>
+    <secondary>check</secondary>
+   </indexterm>
+
    <para>
     A check constraint is the most generic constraint type.  It allows
     you to specify that the value in a certain column must satisfy an
@@ -375,6 +440,11 @@ CREATE TABLE products (
     would not make too much sense.
    </para>
 
+   <indexterm>
+    <primary>constraint</primary>
+    <secondary>name</secondary>
+   </indexterm>
+
    <para>
     You can also give the constraint a separate name.  This clarifies
     error messages and allows you to refer to the constraint when you
@@ -444,6 +514,11 @@ CREATE TABLE products (
     It's a matter of taste.
    </para>
 
+   <indexterm>
+    <primary>null value</primary>
+    <secondary sortas="check constraints">with check constraints</secondary>
+   </indexterm>
+
    <para>
     It should be noted that a check constraint is satisfied if the
     check expression evaluates to true or the null value.  Since most
@@ -457,6 +532,15 @@ CREATE TABLE products (
   <sect2>
    <title>Not-Null Constraints</title>
 
+   <indexterm>
+    <primary>not-null constraint</primary>
+   </indexterm>
+
+   <indexterm>
+    <primary>constraint</primary>
+    <secondary>NOT NULL</secondary>
+   </indexterm>
+
    <para>
     A not-null constraint simply specifies that a column must not
     assume the null value.  A syntax example:
@@ -526,6 +610,15 @@ CREATE TABLE products (
   <sect2>
    <title>Unique Constraints</title>
 
+   <indexterm>
+    <primary>unique constraint</primary>
+   </indexterm>
+
+   <indexterm>
+    <primary>constraint</primary>
+    <secondary>unique</secondary>
+   </indexterm>
+
    <para>
     Unique constraints ensure that the data contained in a column or a
     group of columns is unique with respect to all the rows in the
@@ -573,6 +666,11 @@ CREATE TABLE products (
 </programlisting>
    </para>
 
+   <indexterm>
+    <primary>null value</primary>
+    <secondary sortas="unique constraints">with unique constraints</secondary>
+   </indexterm>
+
    <para>
     In general, a unique constraint is violated when there are (at
     least) two rows in the table where the values of each of the
@@ -591,6 +689,15 @@ CREATE TABLE products (
   <sect2>
    <title>Primary Keys</title>
 
+   <indexterm>
+    <primary>primary key</primary>
+   </indexterm>
+
+   <indexterm>
+    <primary>constraint</primary>
+    <secondary>primary key</secondary>
+   </indexterm>
+
    <para>
     Technically, a primary key constraint is simply a combination of a
     unique constraint and a not-null constraint.  So, the following
@@ -649,6 +756,19 @@ CREATE TABLE example (
   <sect2 id="ddl-constraints-fk">
    <title>Foreign Keys</title>
 
+   <indexterm>
+    <primary>foreign key</primary>
+   </indexterm>
+
+   <indexterm>
+    <primary>constraint</primary>
+    <secondary>foreign key</secondary>
+   </indexterm>
+
+   <indexterm>
+    <primary>referential integrity</primary>
+   </indexterm>
+
    <para>
     A foreign key constraint specifies that the values in a column (or
     a group of columns) must match the values appearing in some row
@@ -749,6 +869,16 @@ CREATE TABLE order_items (
     the last table.
    </para>
 
+   <indexterm>
+    <primary>CASCADE</primary>
+    <secondary>foreign key action</secondary>
+   </indexterm>
+
+   <indexterm>
+    <primary>RESTRICT</primary>
+    <secondary>foreign key action</secondary>
+   </indexterm>
+
    <para>
     We know that the foreign keys disallow creation of orders that
     do not relate to any products.  But what if a product is removed
@@ -998,6 +1128,11 @@ SET SQL_Inheritance TO OFF;
  <sect1 id="ddl-alter">
   <title>Modifying Tables</title>
 
+  <indexterm zone="ddl-alter">
+   <primary>table</primary>
+   <secondary>modifying</secondary>
+  </indexterm>
+
   <para>
    When you create a table and you realize that you made a mistake, or
    the requirements of the application changed, then you can drop the
@@ -1042,6 +1177,11 @@ SET SQL_Inheritance TO OFF;
   <sect2>
    <title>Adding a Column</title>
 
+   <indexterm>
+    <primary>column</primary>
+    <secondary>adding</secondary>
+   </indexterm>
+
    <para>
     To add a column, use this command:
 <programlisting>
@@ -1070,6 +1210,11 @@ ALTER TABLE products ADD COLUMN description text CHECK (description &lt;&gt; '')
   <sect2>
    <title>Removing a Column</title>
 
+   <indexterm>
+    <primary>column</primary>
+    <secondary>removing</secondary>
+   </indexterm>
+
    <para>
     To remove a column, use this command:
 <programlisting>
@@ -1081,6 +1226,11 @@ ALTER TABLE products DROP COLUMN description;
   <sect2>
    <title>Adding a Constraint</title>
 
+   <indexterm>
+    <primary>constraint</primary>
+    <secondary>adding</secondary>
+   </indexterm>
+
    <para>
     To add a constraint, the table constraint syntax is used.  For example:
 <programlisting>
@@ -1104,6 +1254,11 @@ ALTER TABLE products ALTER COLUMN product_no SET NOT NULL;
   <sect2>
    <title>Removing a Constraint</title>
 
+   <indexterm>
+    <primary>constraint</primary>
+    <secondary>removing</secondary>
+   </indexterm>
+
    <para>
     To remove a constraint you need to know its name.  If you gave it
     a name then that's easy.  Otherwise the system assigned a
@@ -1127,6 +1282,11 @@ ALTER TABLE products ALTER COLUMN product_no DROP NOT NULL;
   <sect2>
    <title>Changing the Default</title>
 
+   <indexterm>
+    <primary>default value</primary>
+    <secondary>changing</secondary>
+   </indexterm>
+
    <para>
     To set a new default for a column, use a command like this:
 <programlisting>
@@ -1146,6 +1306,11 @@ ALTER TABLE products ALTER COLUMN price DROP DEFAULT;
   <sect2>
    <title>Renaming a Column</title>
 
+   <indexterm>
+    <primary>column</primary>
+    <secondary>renaming</secondary>
+   </indexterm>
+
    <para>
     To rename a column:
 <programlisting>
@@ -1157,6 +1322,11 @@ ALTER TABLE products RENAME COLUMN product_no TO product_number;
   <sect2>
    <title>Renaming a Table</title>
 
+   <indexterm>
+    <primary>table</primary>
+    <secondary>renaming</secondary>
+   </indexterm>
+
    <para>
     To rename a table:
 <programlisting>
@@ -1169,6 +1339,15 @@ ALTER TABLE products RENAME TO items;
  <sect1 id="ddl-priv">
   <title>Privileges</title>
 
+  <indexterm zone="ddl-priv">
+   <primary>privilege</primary>
+  </indexterm>
+
+  <indexterm>
+   <primary>permission</primary>
+   <see>privilege</see>
+  </indexterm>
+
   <para>
    When you create a database object, you become its owner.  By
    default, only the owner of an object can do anything with the
@@ -1241,12 +1420,8 @@ REVOKE ALL ON accounts FROM PUBLIC;
  <sect1 id="ddl-schemas">
   <title>Schemas</title>
 
-  <indexterm>
-   <primary>schemas</primary>
-  </indexterm>
-
-  <indexterm>
-   <primary>namespaces</primary>
+  <indexterm zone="ddl-schemas">
+   <primary>schema</primary>
   </indexterm>
 
   <para>
@@ -1313,6 +1488,11 @@ REVOKE ALL ON accounts FROM PUBLIC;
   <sect2 id="ddl-schemas-create">
    <title>Creating a Schema</title>
 
+   <indexterm zone="ddl-schemas-create">
+    <primary>schema</primary>
+    <secondary>creating</secondary>
+   </indexterm>
+
    <para>
     To create a separate schema, use the command <literal>CREATE
     SCHEMA</literal>.  Give the schema a name of your choice.  For
@@ -1323,11 +1503,11 @@ CREATE SCHEMA myschema;
    </para>
 
    <indexterm>
-    <primary>qualified names</primary>
+    <primary>qualified name</primary>
    </indexterm>
 
    <indexterm>
-    <primary>names</primary>
+    <primary>name</primary>
     <secondary>qualified</secondary>
    </indexterm>
 
@@ -1359,6 +1539,11 @@ CREATE TABLE myschema.mytable (
     the following chapters.
    </para>
 
+   <indexterm>
+    <primary>schema</primary>
+    <secondary>removing</secondary>
+   </indexterm>
+
    <para>
     To drop a schema if it's empty (all objects in it have been
     dropped), use
@@ -1394,6 +1579,11 @@ CREATE SCHEMA <replaceable>schemaname</replaceable> AUTHORIZATION <replaceable>u
   <sect2 id="ddl-schemas-public">
    <title>The Public Schema</title>
 
+   <indexterm zone="ddl-schemas-public">
+    <primary>schema</primary>
+    <secondary>public</secondary>
+   </indexterm>
+
    <para>
     In the previous sections we created tables without specifying any
     schema names.  By default, such tables (and other objects) are
@@ -1417,11 +1607,11 @@ CREATE TABLE public.products ( ... );
    </indexterm>
 
    <indexterm>
-    <primary>unqualified names</primary>
+    <primary>unqualified name</primary>
    </indexterm>
 
    <indexterm>
-    <primary>names</primary>
+    <primary>name</primary>
     <secondary>unqualified</secondary>
    </indexterm>
 
@@ -1437,6 +1627,11 @@ CREATE TABLE public.products ( ... );
     in other schemas in the database.
    </para>
 
+   <indexterm>
+    <primary>schema</primary>
+    <secondary>current</secondary>
+   </indexterm>
+
    <para>
     The first schema named in the search path is called the current schema.
     Aside from being the first schema searched, it is also the schema in
@@ -1444,6 +1639,10 @@ CREATE TABLE public.products ( ... );
     command does not specify a schema name.
    </para>
 
+   <indexterm>
+    <primary>search_path</primary>
+   </indexterm>
+
    <para>
     To show the current search path, use the following command:
 <programlisting>
@@ -1523,6 +1722,11 @@ SELECT 3 OPERATOR(pg_catalog.+) 4;
   <sect2 id="ddl-schemas-priv">
    <title>Schemas and Privileges</title>
 
+   <indexterm zone="ddl-schemas-priv">
+    <primary>privilege</primary>
+    <secondary sortas="schemas">for schemas</secondary>
+   </indexterm>
+
    <para>
     By default, users cannot see the objects in schemas they do not
     own.  To allow that, the owner of the schema needs to grant the
@@ -1550,9 +1754,14 @@ REVOKE CREATE ON SCHEMA public FROM PUBLIC;
    </para>
   </sect2>
 
-  <sect2>
+  <sect2 id="ddl-schemas-catalog">
    <title>The System Catalog Schema</title>
 
+   <indexterm zone="ddl-schemas-catalog">
+    <primary>system catalog</primary>
+    <secondary>schema</secondary>
+   </indexterm>
+
    <para>
     In addition to <literal>public</> and user-created schemas, each
     database contains a <literal>pg_catalog</> schema, which contains
@@ -1701,6 +1910,16 @@ REVOKE CREATE ON SCHEMA public FROM PUBLIC;
  <sect1 id="ddl-depend">
   <title>Dependency Tracking</title>
 
+  <indexterm zone="ddl-depend">
+   <primary>CASCADE</primary>
+   <secondary sortas="DROP">with DROP</secondary>
+  </indexterm>
+
+  <indexterm zone="ddl-depend">
+   <primary>RESTRICT</primary>
+   <secondary sortas="DROP">with DROP</secondary>
+  </indexterm>
+
   <para>
    When you create complex database structures involving many tables
    with foreign key constraints, views, triggers, functions, etc. you
index 16a220f64bcbbe59ba66e74a902951250a7a26a9..e0e234215a7b8805c2bdc1a4fe2d1a8b011569b0 100644 (file)
@@ -8,9 +8,11 @@ $Header$
  <para>
   Before you are able to use your
   <productname>PostgreSQL</productname> extension functions written in
-  C, they must be compiled and linked in a special way to produce a file
-  that can be dynamically loaded by the server.  To be
-  precise, a <firstterm>shared library</firstterm> needs to be created.
+  C, they must be compiled and linked in a special way to produce a
+  file that can be dynamically loaded by the server.  To be precise, a
+  <firstterm>shared library</firstterm> needs to be
+  created.<indexterm><primary>shared library</></indexterm>
+
  </para>
 
  <para>
@@ -26,17 +28,18 @@ $Header$
  </para>
 
  <para>
-  <indexterm><primary>PIC</></>
-  Creating shared libraries is generally analogous to linking
-  executables:  first the source files are compiled into object files,
-  then the object files are linked together.  The object files need to
-  be created as <firstterm>position-independent code</firstterm>
-  (<acronym>PIC</acronym>), which conceptually means that they can be
-  placed at an arbitrary location in memory when they are loaded by the
-  executable.  (Object files intended for executables are usually not compiled
-  that way.)  The command to link a shared library contains special
-  flags to distinguish it from linking an executable. --- At least
-  this is the theory.  On some systems the practice is much uglier.
+  <indexterm><primary>PIC</></> Creating shared libraries is generally
+  analogous to linking executables: first the source files are
+  compiled into object files, then the object files are linked
+  together.  The object files need to be created as
+  <firstterm>position-independent code</firstterm>
+  (<acronym>PIC</acronym>),<indexterm><primary>PIC</></> which
+  conceptually means that they can be placed at an arbitrary location
+  in memory when they are loaded by the executable.  (Object files
+  intended for executables are usually not compiled that way.)  The
+  command to link a shared library contains special flags to
+  distinguish it from linking an executable. --- At least this is the
+  theory.  On some systems the practice is much uglier.
  </para>
 
  <para>
@@ -57,7 +60,7 @@ $Header$
   <variablelist>
    <varlistentry>
     <term><systemitem class="osname">BSD/OS</></term>
-    <indexterm><primary>BSD/OS</></>
+    <indexterm><primary>BSD/OS</><secondary>shared library</></>
     <listitem>
      <para>
       The compiler flag to create <acronym>PIC</acronym> is
@@ -75,7 +78,7 @@ ld -shared -o foo.so foo.o
 
    <varlistentry>
     <term><systemitem class="osname">FreeBSD</></term>
-    <indexterm><primary>FreeBSD</></>
+    <indexterm><primary>FreeBSD</><secondary>shared library</></>
     <listitem>
      <para>
       The compiler flag to create <acronym>PIC</acronym> is
@@ -93,7 +96,7 @@ gcc -shared -o foo.so foo.o
 
    <varlistentry>
     <term><systemitem class="osname">HP-UX</></term>
-    <indexterm><primary>HP-UX</></>
+    <indexterm><primary>HP-UX</><secondary>shared library</></>
     <listitem>
      <para>
       The compiler flag of the system compiler to create
@@ -120,7 +123,7 @@ ld -b -o foo.sl foo.o
 
    <varlistentry>
     <term><systemitem class="osname">IRIX</></term>
-    <indexterm><primary>IRIX</></>
+    <indexterm><primary>IRIX</><secondary>shared library</></>
     <listitem>
      <para>
       <acronym>PIC</acronym> is the default, no special compiler
@@ -136,7 +139,7 @@ ld -shared -o foo.so foo.o
 
    <varlistentry>
     <term><systemitem class="osname">Linux</></term>
-    <indexterm><primary>Linux</></>
+    <indexterm><primary>Linux</><secondary>shared library</></>
     <listitem>
      <para>
       The compiler flag to create <acronym>PIC</acronym> is
@@ -155,7 +158,7 @@ cc -shared -o foo.so foo.o
 
    <varlistentry>
     <term><systemitem class="osname">MacOS X</></term>
-    <indexterm><primary>MacOS X</></>
+    <indexterm><primary>MacOS X</><secondary>shared library</></>
     <listitem>
      <para>
       Here is an example.  It assumes the developer tools are installed.
@@ -169,7 +172,7 @@ cc -bundle -flat_namespace -undefined suppress -o foo.so foo.o
 
    <varlistentry>
     <term><systemitem class="osname">NetBSD</></term>
-    <indexterm><primary>NetBSD</></>
+    <indexterm><primary>NetBSD</><secondary>shared library</></>
     <listitem>
      <para>
       The compiler flag to create <acronym>PIC</acronym> is
@@ -187,7 +190,7 @@ gcc -shared -o foo.so foo.o
 
    <varlistentry>
     <term><systemitem class="osname">OpenBSD</></term>
-    <indexterm><primary>OpenBSD</></>
+    <indexterm><primary>OpenBSD</><secondary>shared library</></>
     <listitem>
      <para>
       The compiler flag to create <acronym>PIC</acronym> is
@@ -203,7 +206,7 @@ ld -Bshareable -o foo.so foo.o
 
    <varlistentry>
     <term><systemitem class="osname">Solaris</></term>
-    <indexterm><primary>Solaris</></>
+    <indexterm><primary>Solaris</><secondary>shared library</></>
     <listitem>
      <para>
       The compiler flag to create <acronym>PIC</acronym> is
@@ -227,7 +230,7 @@ gcc -G -o foo.so foo.o
 
    <varlistentry>
     <term><systemitem class="osname">Tru64 UNIX</></term>   
-    <indexterm><primary>Tru64 UNIX</></>
+    <indexterm><primary>Tru64 UNIX</><secondary>shared library</></>
     <indexterm><primary>Digital UNIX</><see>Tru64 UNIX</></>
     <listitem>
      <para>
@@ -246,7 +249,7 @@ ld -shared -expect_unresolved '*' -o foo.so foo.o
 
    <varlistentry>
     <term><systemitem class="osname">UnixWare</></term>
-    <indexterm><primary>UnixWare</></>
+    <indexterm><primary>UnixWare</><secondary>shared library</></>
     <listitem>
      <para>
       The compiler flag to create <acronym>PIC</acronym> is <option>-K
index ec6ab8f8eb54d3f015036a1fc766daa32447b5e8..8e5b490e77a2597c2bf25a4d7598835ab287464e 100644 (file)
  <sect1 id="dml-insert">
   <title>Inserting Data</title>
 
+  <indexterm zone="dml-insert">
+   <primary>inserting</primary>
+  </indexterm>
+
+  <indexterm zone="dml-insert">
+   <primary>INSERT</primary>
+  </indexterm>
+
   <para>
    When a table is created, it contains no data.  The first thing to
    do before a database can be of much use is to insert data.  Data is
@@ -98,6 +106,14 @@ INSERT INTO products DEFAULT VALUES;
  <sect1 id="dml-update">
   <title>Updating Data</title>
 
+  <indexterm zone="dml-update">
+   <primary>updating</primary>
+  </indexterm>
+
+  <indexterm zone="dml-update">
+   <primary>UPDATE</primary>
+  </indexterm>
+
   <para>
    The modification of data that is already in the database is
    referred to as updating.  You can update individual rows, all the
@@ -182,6 +198,14 @@ UPDATE mytable SET a = 5, b = 3, c = 1 WHERE a > 0;
  <sect1 id="dml-delete">
   <title>Deleting Data</title>
 
+  <indexterm zone="dml-delete">
+   <primary>deleting</primary>
+  </indexterm>
+
+  <indexterm zone="dml-delete">
+   <primary>DELETE</primary>
+  </indexterm>
+
   <para>
    So far we have explained how to add data to tables and how to
    change data.  What remains is to discuss how to remove data that is
index 0fc8623a9085be9e0cc28b7b6106f29d53b3d154..b469557d494bed350030ae81613e33dadec8856e 100644 (file)
@@ -6,6 +6,8 @@ $Header$
  <title><application>ECPG</application> - Embedded <acronym>SQL</acronym> in C</title>
 
  <indexterm zone="ecpg"><primary>embedded SQL</primary><secondary>in C</secondary></indexterm>
+ <indexterm zone="ecpg"><primary>C</primary></indexterm>
+ <indexterm zone="ecpg"><primary>ECPG</primary></indexterm>
 
  <para>
   This chapter describes the embedded <acronym>SQL</acronym> package
index 005147923e5b0f38f6933701e58c5f14b0f6c16b..b0854d803bbb43883a1f68ee31b821fb66a53b81 100644 (file)
@@ -80,16 +80,25 @@ $Header$
    </para>
   </sect1>
 
-  <sect1 id="type-system">
+  <sect1 id="extend-type-system">
    <title>The <productname>PostgreSQL</productname> Type System</title>
 
-   <indexterm zone="type-system">
-    <primary>extending SQL</primary>
-    <secondary>types</secondary>
+   <indexterm zone="extend-type-system">
+    <primary>base type</primary>
+   </indexterm>
+
+   <indexterm zone="extend-type-system">
+    <primary>data type</primary>
+    <secondary>base</secondary>
+   </indexterm>
+
+   <indexterm zone="extend-type-system">
+    <primary>composite type</primary>
    </indexterm>
 
-   <indexterm zone="type-system">
-    <primary>data types</primary>
+   <indexterm zone="extend-type-system">
+    <primary>data type</primary>
+    <secondary>composite</secondary>
    </indexterm>
 
    <para>
@@ -138,15 +147,25 @@ $Header$
     pseudo-types.
    </para>
 
-   <sect2 id="types-polymorphic">
+   <sect2 id="extend-types-polymorphic">
     <title>Polymorphic Types and Functions</title>
 
-   <indexterm>
-    <primary>polymorphic types</primary>
+   <indexterm zone="extend-types-polymorphic">
+    <primary>polymorphic type</primary>
+   </indexterm>
+
+   <indexterm zone="extend-types-polymorphic">
+    <primary>polymorphic function</primary>
+   </indexterm>
+
+   <indexterm zone="extend-types-polymorphic">
+    <primary>type</primary>
+    <secondary>polymorphic</secondary>
    </indexterm>
 
-   <indexterm>
-    <primary>polymorphic functions</primary>
+   <indexterm zone="extend-types-polymorphic">
+    <primary>function</primary>
+    <secondary>polymorphic</secondary>
    </indexterm>
 
     <para>
index d671247f7fb1a1ea26e8db270b4e8e4d980ed4fe..99362b48d6863eb8069d1a3c0bbc1b5d7ce76624 100644 (file)
@@ -68,7 +68,6 @@
 <!entity libpgeasy  SYSTEM "libpgeasy.sgml">
 <!entity libpq      SYSTEM "libpq.sgml">
 <!entity libpgtcl   SYSTEM "libpgtcl.sgml">
-<!entity pygresql   SYSTEM "pygresql.sgml">
 <!entity lobj       SYSTEM "lobj.sgml">
 <!entity odbc       SYSTEM "odbc.sgml">
 <!entity rules      SYSTEM "rules.sgml">
index db30d023644f68c001547ab57d80ffe33784ad5f..505ba9e191d0ce077034648a6efbc70f8a176eff 100644 (file)
@@ -7,11 +7,11 @@ PostgreSQL documentation
   <title>Functions and Operators</title>
 
   <indexterm zone="functions">
-   <primary>functions</primary>
+   <primary>function</primary>
   </indexterm>
 
   <indexterm zone="functions">
-   <primary>operators</primary>
+   <primary>operator</primary>
   </indexterm>
 
   <para>
@@ -40,7 +40,7 @@ PostgreSQL documentation
    <title>Logical Operators</title>
 
    <indexterm zone="functions-logical">
-    <primary>operators</primary>
+    <primary>operator</primary>
     <secondary>logical</secondary>
    </indexterm>
 
@@ -54,18 +54,27 @@ PostgreSQL documentation
     The usual logical operators are available:
 
     <indexterm>
-     <primary>and</primary>
-     <secondary>operator</secondary>
+     <primary>AND (operator)</primary>
     </indexterm>
 
     <indexterm>
-     <primary>or</primary>
-     <secondary>operator</secondary>
+     <primary>OR (operator)</primary>
     </indexterm>
 
     <indexterm>
-     <primary>not</primary>
-     <secondary>operator</secondary>
+     <primary>NOT (operator)</primary>
+    </indexterm>
+
+    <indexterm>
+     <primary>conjunction</primary>
+    </indexterm>
+
+    <indexterm>
+     <primary>disjunction</primary>
+    </indexterm>
+
+    <indexterm>
+     <primary>negation</primary>
     </indexterm>
 
     <simplelist>
@@ -252,7 +261,7 @@ PostgreSQL documentation
      <primary>between</primary>
     </indexterm>
     In addition to the comparison operators, the special
-    <token>BETWEEN</token> construct is available.
+    <token>BETWEEN</token> construct is available.<indexterm><primary>BETWEEN</primary></indexterm>
 <synopsis>
 <replaceable>a</replaceable> BETWEEN <replaceable>x</replaceable> AND <replaceable>y</replaceable>
 </synopsis>
@@ -284,6 +293,7 @@ PostgreSQL documentation
 <replaceable>expression</replaceable> ISNULL
 <replaceable>expression</replaceable> NOTNULL
 </synopsis>
+    <indexterm><primary>null value</primary><secondary>comparing</secondary></indexterm>
    </para>
 
    <para>
@@ -847,7 +857,7 @@ PostgreSQL documentation
        <entry>
         String concatenation
         <indexterm>
-         <primary>character strings</primary>
+         <primary>character string</primary>
          <secondary>concatenation</secondary>
         </indexterm>
        </entry>
@@ -869,12 +879,12 @@ PostgreSQL documentation
        <entry>
         Number of characters in string
         <indexterm>
-         <primary>character strings</primary>
+         <primary>character string</primary>
          <secondary>length</secondary>
         </indexterm>
         <indexterm>
          <primary>length</primary>
-         <secondary>character strings</secondary>
+         <secondary sortas="character string">of a character string</secondary>
          <see>character strings, length</see>
         </indexterm>
        </entry>
@@ -1110,12 +1120,12 @@ PostgreSQL documentation
        <entry>
         Number of characters in string
         <indexterm>
-         <primary>character strings</primary>
+         <primary>character string</primary>
          <secondary>length</secondary>
         </indexterm>
         <indexterm>
          <primary>length</primary>
-         <secondary>character strings</secondary>
+         <secondary sortas="character string">of a character string</secondary>
          <see>character strings, length</see>
         </indexterm>
        </entry>
@@ -1174,7 +1184,7 @@ PostgreSQL documentation
       </row>
 
       <row>
-       <entry><literal><function>quote_ident</function>(<parameter>string</parameter> text)</literal></entry>
+       <entry><literal><function>quote_ident</function>(<parameter>string</parameter> text)</literal><indexterm><primary>quote_ident</></></entry>
        <entry><type>text</type></entry>
        <entry>
         Return the given string suitably quoted to be used as an identifier
@@ -1188,7 +1198,7 @@ PostgreSQL documentation
       </row>
 
       <row>
-       <entry><literal><function>quote_literal</function>(<parameter>string</parameter> text)</literal></entry>
+       <entry><literal><function>quote_literal</function>(<parameter>string</parameter> text)</literal><indexterm><primary>quote_literal</></></entry>
        <entry><type>text</type></entry>
        <entry>
         Return the given string suitably quoted to be used as a string literal
@@ -2055,6 +2065,11 @@ PostgreSQL documentation
   <sect1 id="functions-binarystring">
    <title>Binary String Functions and Operators</title>
 
+   <indexterm zone="functions-binarystring">
+    <primary>binary data</primary>
+    <secondary>functions</secondary>
+   </indexterm>
+
    <para>
     This section describes functions and operators for examining and
     manipulating values of type <type>bytea</type>.
@@ -2092,7 +2107,7 @@ PostgreSQL documentation
        <entry>
         String concatenation
         <indexterm>
-         <primary>binary strings</primary>
+         <primary>binary string</primary>
          <secondary>concatenation</secondary>
         </indexterm>
        </entry>
@@ -2243,12 +2258,12 @@ PostgreSQL documentation
       <entry>
        Length of binary string
        <indexterm>
-        <primary>binary strings</primary>
+        <primary>binary string</primary>
        <secondary>length</secondary>
        </indexterm>
        <indexterm>
         <primary>length</primary>
-       <secondary>binary strings</secondary>
+       <secondary sortas="binary string">of a binary string</secondary>
        <see>binary strings, length</see>
        </indexterm>
       </entry>
@@ -2321,8 +2336,8 @@ PostgreSQL documentation
   <sect2 id="functions-like">
    <title><function>LIKE</function></title>
 
-   <indexterm>
-    <primary>like</primary>
+   <indexterm zone="functions-like">
+    <primary>LIKE</primary>
    </indexterm>
 
 <synopsis>
@@ -2420,12 +2435,12 @@ PostgreSQL documentation
      Regular Expressions</title>
 
    <indexterm zone="functions-sql99-regexp">
-    <primary>regular expressions</primary>
+    <primary>regular expression</primary>
     <!-- <seealso>pattern matching</seealso> breaks index build -->
    </indexterm>
 
    <indexterm>
-    <primary>similar to</primary>
+    <primary>SIMILAR TO</primary>
    </indexterm>
 
    <indexterm>
@@ -2547,7 +2562,7 @@ substring('foobar' from '#"o_b#"%' for '#')    <lineannotation>NULL</lineannotat
    <title><acronym>POSIX</acronym> Regular Expressions</title>
 
    <indexterm zone="functions-posix-regexp">
-    <primary>regular expressions</primary>
+    <primary>regular expression</primary>
     <seealso>pattern matching</seealso>
    </indexterm>
 
@@ -3794,6 +3809,10 @@ substring('foobar' from 'o(.)b')   <lineannotation>o</lineannotation>
     <primary>formatting</primary>
    </indexterm>
 
+   <indexterm zone="functions-formatting">
+    <primary>to_char</primary>
+   </indexterm>
+
    <para>
     The <productname>PostgreSQL</productname> formatting functions
     provide a powerful set of tools for converting various data types
@@ -3870,6 +3889,11 @@ substring('foobar' from 'o(.)b')   <lineannotation>o</lineannotation>
      </tgroup>
     </table>
 
+   <para>
+    Warning. <literal><function>to_char</function>(<type>interval</type>, <type>text</type>)</literal> 
+    is deprecated and should not be used in newly-written code. Will be removed in the next version.
+   </para>
+
    <para>
     In an output template string (for <function>to_char</>), there are certain patterns that are
     recognized and replaced with appropriately-formatted data from the value
@@ -5999,7 +6023,7 @@ SELECT TIMESTAMP 'now';
   <title>Sequence-Manipulation Functions</title>
 
   <indexterm>
-   <primary>sequences</primary>
+   <primary>sequence</primary>
   </indexterm>
   <indexterm>
    <primary>nextval</primary>
@@ -6162,11 +6186,11 @@ SELECT setval('foo', 42, false);    <lineannotation>Next <function>nextval</> wi
   <title>Conditional Expressions</title>
 
   <indexterm>
-   <primary>case</primary>
+   <primary>CASE</primary>
   </indexterm>
 
   <indexterm>
-   <primary>conditionals</primary>
+   <primary>conditional expression</primary>
   </indexterm>
 
   <para>
@@ -6287,8 +6311,12 @@ SELECT a,
   <sect2>
    <title><literal>COALESCE</></title>
 
+  <indexterm>
+   <primary>COALESCE</primary>
+  </indexterm>
+
 <synopsis>
-<function>COALESCE</function>(<replaceable>value</replaceable> <optional>, ...</optional>)
+<function>coalesce</function>(<replaceable>value</replaceable> <optional>, ...</optional>)
 </synopsis>
 
   <para>
@@ -6497,7 +6525,8 @@ SET search_path TO <replaceable>schema</> <optional>, <replaceable>schema</>, ..
 
    <indexterm zone="functions-misc">
     <primary>configuration</primary>
-    <secondary>server</secondary>
+    <secondary sortas="server">of the server</secondary>
+    <tertiary>functions</tertiary>
    </indexterm>
 
    <para>
@@ -6534,6 +6563,11 @@ SELECT set_config('show_statement_stats', 'off', false);
 </programlisting>
    </para>
 
+  <indexterm>
+   <primary>privilege</primary>
+   <secondary>querying</secondary>
+  </indexterm>
+
   <para>
    <xref linkend="functions-misc-access-table"> lists functions that
    allow the user to query object access privileges programmatically.
@@ -6966,6 +7000,11 @@ SELECT pg_type_is_visible('myschema.widget'::regtype);
     <primary>col_description</primary>
    </indexterm>
 
+   <indexterm zone="functions-misc">
+    <primary>comment</primary>
+    <secondary sortas="database objects">about database objects</secondary>
+   </indexterm>
+
    <para>
     The function shown in <xref
     linkend="functions-misc-comment-table"> extract comments
@@ -7027,7 +7066,7 @@ SELECT pg_type_is_visible('myschema.widget'::regtype);
 
   <para>
    <xref linkend="array-operators-table"> shows the operators
-   available for the <type>array</type> types.
+   available for <type>array</type> types.
   </para>
 
     <table id="array-operators-table">
@@ -7088,7 +7127,7 @@ SELECT pg_type_is_visible('myschema.widget'::regtype);
        <entry> <literal>||</literal> </entry>
        <entry>array-to-array concatenation</entry>
        <entry><literal>ARRAY[1,2,3] || ARRAY[4,5,6]</literal></entry>
-       <entry><literal>{{1,2,3},{4,5,6}}</literal></entry>
+       <entry><literal>{1,2,3,4,5,6}</literal></entry>
        </row>
 
        <row>
@@ -7115,6 +7154,11 @@ SELECT pg_type_is_visible('myschema.widget'::regtype);
      </tgroup>
     </table>
 
+  <para>
+   See <xref linkend="arrays"> for more details about array operator
+   behavior.
+  </para>
+
   <para>
    <xref linkend="array-functions-table"> shows the functions
    available for use with array types. See <xref linkend="arrays">
@@ -7162,7 +7206,7 @@ SELECT pg_type_is_visible('myschema.widget'::regtype);
      for <literal>NULL</literal> inputs
     </entry>
        <entry><literal>array_cat(ARRAY[1,2,3], ARRAY[4,5,6])</literal></entry>
-       <entry><literal>{{1,2,3},{4,5,6}}</literal></entry>
+       <entry><literal>{1,2,3,4,5,6}</literal></entry>
        </row>
        <row>
        <entry>
@@ -7262,6 +7306,11 @@ SELECT pg_type_is_visible('myschema.widget'::regtype);
  <sect1 id="functions-aggregate">
   <title>Aggregate Functions</title>
 
+  <indexterm zone="functions-aggregate">
+   <primary>aggregate function</primary>
+   <secondary>built-in</secondary>
+  </indexterm>
+
   <para>
    <firstterm>Aggregate functions</firstterm> compute a single result
    value from a set of input values.  <xref
@@ -7290,7 +7339,6 @@ SELECT pg_type_is_visible('myschema.widget'::regtype);
       <entry>
        <indexterm>
         <primary>average</primary>
-        <secondary>function</secondary>
        </indexterm>
        <function>avg(<replaceable class="parameter">expression</replaceable>)</function>
       </entry>
@@ -7472,31 +7520,31 @@ SELECT col FROM sometable ORDER BY col ASC LIMIT 1;
   <title>Subquery Expressions</title>
 
   <indexterm>
-   <primary>exists</primary>
+   <primary>EXISTS</primary>
   </indexterm>
 
   <indexterm>
-   <primary>in</primary>
+   <primary>IN</primary>
   </indexterm>
 
   <indexterm>
-   <primary>not in</primary>
+   <primary>NOT IN</primary>
   </indexterm>
 
   <indexterm>
-   <primary>any</primary>
+   <primary>ANY</primary>
   </indexterm>
 
   <indexterm>
-   <primary>all</primary>
+   <primary>ALL</primary>
   </indexterm>
 
   <indexterm>
-   <primary>some</primary>
+   <primary>SOME</primary>
   </indexterm>
 
   <indexterm>
-   <primary>subqueries</primary>
+   <primary>subquery</primary>
   </indexterm>
 
   <para>
@@ -7798,6 +7846,11 @@ SELECT col1 FROM tab1
   <sect2>
    <title>Row-wise Comparison</title>
 
+   <indexterm>
+    <primary>comparison</primary>
+    <secondary>of rows</secondary>
+   </indexterm>
+
 <synopsis>
 (<replaceable>expression</replaceable> <optional>, <replaceable>expression</replaceable> ...</optional>) <replaceable>operator</replaceable> (<replaceable>subquery</replaceable>)
 </synopsis>
index 29da0ab49a1ed846e86879d50d788537f1c9ddca..84560b763833fa51c1b51427e3d5b4f0b6ac89d3 100644 (file)
@@ -4,7 +4,7 @@
  <title id="indexes-title">Indexes</title>
 
  <indexterm zone="indexes">
-  <primary>indexes</primary>
+  <primary>index</primary>
  </indexterm>
 
  <para>
@@ -109,12 +109,12 @@ CREATE INDEX test1_id_index ON test1 (id);
    B-tree, R-tree, GiST, and Hash.  Each index type is more appropriate for
    a particular query type because of the algorithm it uses.
    <indexterm>
-    <primary>indexes</primary>
+    <primary>index</primary>
     <secondary>B-tree</secondary>
    </indexterm>
    <indexterm>
     <primary>B-tree</primary>
-    <see>indexes</see>
+    <see>index</see>
    </indexterm>
    By
    default, the <command>CREATE INDEX</command> command will create a
@@ -147,12 +147,12 @@ CREATE INDEX test1_id_index ON test1 (id);
 
   <para>
    <indexterm>
-    <primary>indexes</primary>
+    <primary>index</primary>
     <secondary>R-tree</secondary>
    </indexterm>
    <indexterm>
     <primary>R-tree</primary>
-    <see>indexes</see>
+    <see>index</see>
    </indexterm>
    R-tree indexes are especially suited for spatial data.  To create
    an R-tree index, use a command of the form
@@ -178,12 +178,12 @@ CREATE INDEX <replaceable>name</replaceable> ON <replaceable>table</replaceable>
 
   <para>
    <indexterm>
-    <primary>indexes</primary>
+    <primary>index</primary>
     <secondary>hash</secondary>
    </indexterm>
    <indexterm>
     <primary>hash</primary>
-    <see>indexes</see>
+    <see>index</see>
    </indexterm>
    The query planner will consider using a hash index whenever an
    indexed column is involved in a comparison using the
@@ -219,7 +219,7 @@ CREATE INDEX <replaceable>name</replaceable> ON <replaceable>table</replaceable>
   <title>Multicolumn Indexes</title>
 
   <indexterm zone="indexes-multicolumn">
-   <primary>indexes</primary>
+   <primary>index</primary>
    <secondary>multicolumn</secondary>
   </indexterm>
 
@@ -294,7 +294,7 @@ SELECT name FROM test2 WHERE major = <replaceable>constant</replaceable> OR mino
   <title>Unique Indexes</title>
 
   <indexterm zone="indexes-unique">
-   <primary>indexes</primary>
+   <primary>index</primary>
    <secondary>unique</secondary>
   </indexterm>
 
@@ -337,8 +337,8 @@ CREATE UNIQUE INDEX <replaceable>name</replaceable> ON <replaceable>table</repla
   <title>Indexes on Expressions</title>
 
   <indexterm zone="indexes-expressional">
-   <primary>indexes</primary>
-   <secondary>on expressions</secondary>
+   <primary>index</primary>
+   <secondary sortas="expressions">on expressions</secondary>
   </indexterm>
 
   <para>
@@ -392,6 +392,10 @@ CREATE INDEX people_names ON people ((first_name || ' ' || last_name));
  <sect1 id="indexes-opclass">
   <title>Operator Classes</title>
 
+  <indexterm zone="indexes-opclass">
+   <primary>operator class</primary>
+  </indexterm>
+
   <para>
    An index definition may specify an <firstterm>operator
    class</firstterm> for each column of an index.
@@ -492,7 +496,7 @@ SELECT am.amname AS index_method,
   <title>Partial Indexes</title>
 
   <indexterm zone="indexes-partial">
-   <primary>indexes</primary>
+   <primary>index</primary>
    <secondary>partial</secondary>
   </indexterm>
 
@@ -709,6 +713,11 @@ CREATE UNIQUE INDEX tests_success_constraint ON tests (subject, target)
  <sect1 id="indexes-examine">
   <title>Examining Index Usage</title>
 
+  <indexterm zone="indexes-examine">
+   <primary>index</primary>
+   <secondary>examining usage</secondary>
+  </indexterm>
+
   <para>
    Although indexes in <productname>PostgreSQL</> do not need
    maintenance and tuning, it is still important to check
index 67770077856b57a747a8ae5fca600707822c20a9..3eff384716e210c8b46475196607fdff45a02da7 100644 (file)
@@ -169,10 +169,9 @@ su - postgres
 
     <listitem>
      <para>
-      To build the Python interface module or the PL/Python server
-      programming language, you need a Python installation, including
-      the header files.
-      Since PL/Python will be a shared library, the
+      To build the PL/Python server programming language, you need a
+      Python installation, including the header files.  Since
+      PL/Python will be a shared library, the
       <indexterm><primary>libpython</primary></indexterm>
       <filename>libpython</filename> library must be a shared library
       also on most platforms.  This is not the case in a default
@@ -383,6 +382,7 @@ JAVACMD=$JAVA_HOME/bin/java
     <para>
      <indexterm>
       <primary>pg_dumpall</primary>
+      <secondary>use during upgrade</secondary>
      </indexterm>
 
      To back up your database installation, type:
@@ -750,10 +750,7 @@ JAVACMD=$JAVA_HOME/bin/java
        <term><option>--with-python</option></term>
        <listitem>
         <para>
-         Build the Python interface module and the PL/Python
-         server-side language. You need to have root access to be able
-         to install the Python module at its default place
-         (<filename>/usr/lib/python<replaceable>x</>.<replaceable>y</></>).
+         Build the PL/Python server-side language.
         </para>
        </listitem>
       </varlistentry>
@@ -875,8 +872,8 @@ JAVACMD=$JAVA_HOME/bin/java
        <term><option>--with-pam</option></term>
        <listitem>
         <para>
-        Build with <acronym>PAM</> (Pluggable Authentication Modules)
-        support.
+        Build with <acronym>PAM</><indexterm><primary>PAM</></>
+        (Pluggable Authentication Modules) support.
         </para>
        </listitem>
       </varlistentry>
@@ -1078,20 +1075,6 @@ All of PostgreSQL is successfully made. Ready to install.
     possibly can, you will have to do manual work.
    </para>
 
-   <para>
-    If you built the Python interfaces and you were not the
-    root user when you executed the above command then that part of
-    the installation probably failed. In that case you should become
-    the root user and then do
-<screen>
-<userinput>gmake -C src/interfaces/python install</userinput>
-</screen>
-    If you do not have root access you are on your own: 
-    you can still take the required files and place them in 
-    other directories where Python can find them, but how to 
-    do that is left as an exercise.
-   </para>
-
    <para>
     The standard installation provides only the header files needed for client
     application development.  If you plan to do any server-side program
@@ -1163,7 +1146,7 @@ All of PostgreSQL is successfully made. Ready to install.
    <title>Shared Libraries</title>
 
    <indexterm>
-    <primary>shared libraries</primary>
+    <primary>shared library</primary>
    </indexterm>
 
    <para>
@@ -1284,7 +1267,6 @@ set path = ( /usr/local/pgsql/bin $path )
    <para>
     <indexterm>
      <primary><envar>MANPATH</envar></primary>
-     <seealso>man pages</seealso>
     </indexterm>
     To enable your system to find the <application>man</>
     documentation, you need to add lines like the following to a
index 76997bb7ba195cfbd6f76dfe7b3d15824cb9808c..40069ec4ffcba393641b3342ada1af4b94754794 100644 (file)
@@ -5,6 +5,14 @@ $Header$
  <chapter id="jdbc">
   <title><acronym>JDBC</acronym> Interface</title>
 
+  <indexterm zone="jdbc">
+   <primary>JDBC</primary>
+  </indexterm>
+
+  <indexterm zone="jdbc">
+   <primary>Java</primary>
+  </indexterm>
+
   <para>
    <acronym>JDBC</acronym> is a core <acronym>API</acronym> of Java 1.1 and later.
    It provides a standard set of
@@ -66,6 +74,14 @@ $Header$
   <sect2 id="jdbc-classpath">
    <title>Setting up the Class Path</title>
 
+   <indexterm zone="jdbc-classpath">
+    <primary>class path</primary>
+   </indexterm>
+
+   <indexterm zone="jdbc-classpath">
+    <primary>CLASSPATH</primary>
+   </indexterm>
+
    <para>
     To use the driver, the JAR archive (named
     <filename>postgresql.jar</filename> if you built from source, otherwise
@@ -316,6 +332,18 @@ db.close();
   <sect1 id="jdbc-query">
    <title>Issuing a Query and Processing the Result</title>
 
+   <indexterm zone="jdbc-query">
+    <primary>Statement</primary>
+   </indexterm>
+
+   <indexterm zone="jdbc-query">
+    <primary>PreparedStatement</primary>
+   </indexterm>
+
+   <indexterm zone="jdbc-query">
+    <primary>ResultSet</primary>
+   </indexterm>
+
    <para>
     Any time you want to issue <acronym>SQL</acronym> statements to
     the database, you require a <classname>Statement</classname> or 
@@ -681,6 +709,16 @@ st.close();
  <sect1 id="jdbc-binary-data">
   <title>Storing Binary Data</title>
 
+  <indexterm zone="jdbc-binary-data">
+   <primary>bytea</primary>
+   <secondary sortas="JDBC">in JDBC</secondary>
+  </indexterm>
+
+  <indexterm zone="jdbc-binary-data">
+   <primary>large object</primary>
+   <secondary sortas="JDBC">in JDBC</secondary>
+  </indexterm>
+
   <para>
     <application>PostgreSQL</application> provides two distinct ways to 
     store binary data.  Binary data can be stored in a table using 
@@ -2597,6 +2635,11 @@ public void unlink(int oid) throws SQLException
  <sect1 id="jdbc-thread">
   <title>Using the Driver in a Multithreaded or a Servlet Environment</title>
 
+  <indexterm zone="jdbc-thread">
+   <primary>threads</primary>
+   <secondary sortas="JDBC">with JDBC</secondary>
+  </indexterm>
+
   <para>
    A problem with many <acronym>JDBC</acronym> drivers is that only
    one thread can use a <classname>Connection</classname> at any one
@@ -2645,6 +2688,15 @@ public void unlink(int oid) throws SQLException
  <sect1 id="jdbc-datasource">
   <title>Connection Pools and Data Sources</title>
 
+  <indexterm zone="jdbc-datasource">
+   <primary>connection pool</primary>
+   <secondary sortas="JDBC">in JDBC</secondary>
+  </indexterm>
+
+  <indexterm zone="jdbc-datasource">
+   <primary>DataSource</primary>
+  </indexterm>
+
   <para>
     <acronym>JDBC</> 2 introduced standard connection pooling features in an
     add-on <acronym>API</> known as the <acronym>JDBC</acronym> 2.0 Optional
@@ -3029,7 +3081,11 @@ try {
   </sect2>
 
   <sect2 id="jdbc-jndi">
-    <title>Data Sources and <acronym>JNDI</acronym></title>
+   <title>Data Sources and <acronym>JNDI</acronym></title>
+
+   <indexterm zone="jdbc-jndi">
+    <primary>JNDI</primary>
+   </indexterm>
 
     <para>
      All the <literal>ConnectionPoolDataSource</literal> and
index 7e46335cb8fb842624d85e06c0488dfa4df47c43..bf1616efecb30c0fc958f62261a689a6b8ab5796 100644 (file)
@@ -4,7 +4,7 @@
  <title><acronym>SQL</acronym> Key Words</title>
 
  <indexterm zone="sql-keywords-appendix">
-  <primary>key words</primary>
+  <primary>key word</primary>
   <secondary>list of</secondary>
  </indexterm>
 
index 220a7d42be2dc6617f51d947354801ceaf9e576e..afcc7061edef455661c35893d977179243dd7d6b 100644 (file)
   <para>
    The <function>pg_lo_*</function> commands are interfaces to the
    large object features of
-   <ProductName>PostgreSQL</ProductName>.<indexterm><primary>Large
-   Object</></> The functions are designed to mimic the analogous file
+   <ProductName>PostgreSQL</ProductName>.<indexterm><primary>large
+   object</><secondary>in pgctl</></> The functions are designed to mimic the analogous file
    system functions in the standard Unix file system interface.  The
    <function>pg_lo_*</function> commands should be used within a
    <command>BEGIN</command>/<command>COMMIT</command> transaction
@@ -1043,12 +1043,12 @@ pg_listen <parameter>conn</parameter> <parameter>notifyName</parameter> <optiona
    message bearing the given name arrives from the server.  This
    occurs when any <productname>PostgreSQL</productname> client
    application issues a
-   <command>NOTIFY</command><indexterm><primary>NOTIFY</><secondary>in
-   pgtcl</></> command referencing that name.  The command string is
-   executed from the Tcl idle loop.  That is the normal idle state of
-   an application written with Tk.  In non-Tk Tcl shells, you can
-   execute <function>update</function> or <function>vwait</function>
-   to cause the idle loop to be entered.
+   <command>NOTIFY</command><indexterm><primary>NOTIFY</><secondary
+   sortas="pgtcl">in pgtcl</></> command referencing that name.  The
+   command string is executed from the Tcl idle loop.  That is the
+   normal idle state of an application written with Tk.  In non-Tk Tcl
+   shells, you can execute <function>update</function> or
+   <function>vwait</function> to cause the idle loop to be entered.
   </para>
 
   <para>
index 46cab8eca60a0db9475789a02dedf829a9305499..6b7df645c7f78e77d394578dd2d6861babfdace5 100644 (file)
@@ -9,6 +9,10 @@ $Header$
    <primary>libpq</primary>
   </indexterm>
 
+  <indexterm zone="libpq">
+   <primary>C</primary>
+  </indexterm>
+
   <para>
    <application>libpq</application> is the <acronym>C</acronym>
    application programmer's interface to
@@ -31,9 +35,10 @@ $Header$
   </para>
 
   <para>
-   Client programs that use <application>libpq</application> must include the
-   header file <filename>libpq-fe.h</filename> and must link with the
-   <application>libpq</application> library.
+   Client programs that use <application>libpq</application> must
+   include the header file
+   <filename>libpq-fe.h</filename><indexterm><primary>libpq-fe.h</></>
+   and must link with the <application>libpq</application> library.
   </para>
 
  <sect1 id="libpq-connect">
@@ -45,17 +50,18 @@ $Header$
    application program can have several backend connections open at
    one time.  (One reason to do that is to access more than one
    database.)  Each connection is represented by a
-   <structname>PGconn</> object which is obtained from the function
-   <function>PQconnectdb</> or <function>PQsetdbLogin</>.  Note that
-   these functions will always return a non-null object pointer,
-   unless perhaps there is too little memory even to allocate the
-   <structname>PGconn</> object.  The <function>PQstatus</> function
-   should be called to check whether a connection was successfully
-   made before queries are sent via the connection object.
+   <structname>PGconn</><indexterm><primary>PGconn</></> object which
+   is obtained from the function <function>PQconnectdb</> or
+   <function>PQsetdbLogin</>.  Note that these functions will always
+   return a non-null object pointer, unless perhaps there is too
+   little memory even to allocate the <structname>PGconn</> object.
+   The <function>PQstatus</> function should be called to check
+   whether a connection was successfully made before queries are sent
+   via the connection object.
 
    <variablelist>
     <varlistentry>
-     <term><function>PQconnectdb</function></term>
+     <term><function>PQconnectdb</function><indexterm><primary>PQconnectdb</></></term>
      <listitem>
       <para>
        Makes a new connection to the database server.
@@ -93,12 +99,13 @@ PGconn *PQconnectdb(const char *conninfo);
      <term><literal>host</literal></term>
      <listitem>
      <para>
-      Name of host to connect to. 
-      If this begins with a slash, it specifies Unix-domain communication
-      rather than TCP/IP communication; the value is the name of the
-      directory in which the socket file is stored.
-      The default is to connect to a Unix-domain socket in
-      <filename>/tmp</filename>.
+      Name of host to connect to.<indexterm><primary>host name</></>
+      If this begins with a slash, it specifies Unix-domain
+      communication rather than TCP/IP communication; the value is the
+      name of the directory in which the socket file is stored.  The
+      default is to connect to a Unix-domain socket in
+      <filename>/tmp</filename>.<indexterm><primary>Unix domain
+      socket</></>
      </para>
      </listitem>
     </varlistentry>
@@ -144,8 +151,9 @@ PGconn *PQconnectdb(const char *conninfo);
      <term><literal>port</literal></term>
      <listitem>
      <para>
-      Port number to connect to at the server host,
-      or socket file name extension for Unix-domain connections.
+      Port number to connect to at the server host, or socket file
+      name extension for Unix-domain
+      connections.<indexterm><primary>port</></>
      </para>
      </listitem>
     </varlistentry>
@@ -209,44 +217,51 @@ PGconn *PQconnectdb(const char *conninfo);
     <varlistentry>
      <term><literal>sslmode</literal></term>
      <listitem>
-        <para>
-      This option determines whether or with what priority an <acronym>SSL</>
-      connection will be negotiated with the server. There are four
-      modes: <literal>disable</> will attempt only an unencrypted
-      <acronym>SSL</> connection; <literal>allow</> will negotiate,
-      trying first a non-<acronym>SSL</> connection, then if that fails,
-      trying an <acronym>SSL</> connection; <literal>prefer</>
-         (the default) will negotiate, trying first an <acronym>SSL</> connection,
-         then if that fails, trying a regular non-<acronym>SSL</> connection;
-      <literal>require</> will try only an <acronym>SSL</> connection.
-        </para>
-        <para>
-         If <productname>PostgreSQL</> is compiled without SSL support,
-         using option <literal>require</> will cause an error, and options
-         <literal>allow</> and <literal>prefer</> will be tolerated but
-         <application>libpq</> will be unable to negotiate an <acronym>SSL</>
-         connection.
-     </para>
+      <para>
+       This option determines whether or with what priority an
+       <acronym>SSL</> connection will be negotiated with the
+       server. There are four modes: <literal>disable</> will attempt
+       only an unencrypted <acronym>SSL</> connection;
+       <literal>allow</> will negotiate, trying first a
+       non-<acronym>SSL</> connection, then if that fails, trying an
+       <acronym>SSL</> connection; <literal>prefer</> (the default)
+       will negotiate, trying first an <acronym>SSL</> connection,
+       then if that fails, trying a regular non-<acronym>SSL</>
+       connection; <literal>require</> will try only an
+       <acronym>SSL</> connection.
+      </para>
+
+      <para>
+       If <productname>PostgreSQL</> is compiled without SSL support,
+       using option <literal>require</> will cause an error, and
+       options <literal>allow</> and <literal>prefer</> will be
+       tolerated but <application>libpq</> will be unable to negotiate
+       an <acronym>SSL</>
+       connection.<indexterm><primary>SSL</><secondary
+       sortas="libpq">with libpq</></indexterm>
+      </para>
      </listitem>
     </varlistentry>
 
     <varlistentry>
      <term><literal>requiressl</literal></term>
      <listitem>
-     <para>
-         This option is deprecated in favor of the <literal>sslmode</>
-         setting.
-        </para>
-        <para>
-      If set to 1, an <acronym>SSL</acronym> connection to the server is required
-         (this is equivalent to <literal>sslmode</> <literal>require</>).
-      <application>libpq</> will then refuse to connect if the server does not
-      accept an <acronym>SSL</acronym> connection.
-      If set to 0 (default), <application>libpq</> will negotiate the connection
-         type with the server (equivalent to <literal>sslmode</> <literal>prefer</>).
-      This option is only available if
-      <productname>PostgreSQL</> is compiled with SSL support.
-     </para>
+      <para>
+       This option is deprecated in favor of the <literal>sslmode</>
+       setting.
+      </para>
+
+      <para>
+       If set to 1, an <acronym>SSL</acronym> connection to the server
+       is required (this is equivalent to <literal>sslmode</>
+       <literal>require</>).  <application>libpq</> will then refuse
+       to connect if the server does not accept an
+       <acronym>SSL</acronym> connection.  If set to 0 (default),
+       <application>libpq</> will negotiate the connection type with
+       the server (equivalent to <literal>sslmode</>
+       <literal>prefer</>).  This option is only available if
+       <productname>PostgreSQL</> is compiled with SSL support.
+      </para>
      </listitem>
     </varlistentry>
 
@@ -274,7 +289,7 @@ PGconn *PQconnectdb(const char *conninfo);
  </varlistentry>
 
  <varlistentry>
-  <term><function>PQsetdbLogin</function></term>
+  <term><function>PQsetdbLogin</function><indexterm><primary>PQsetdbLogin</></></term>
   <listitem>
    <para>
        Makes a new connection to the database server.
@@ -299,7 +314,7 @@ PGconn *PQsetdbLogin(const char *pghost,
  </varlistentry>
 
  <varlistentry>
-  <term><function>PQsetdb</function></term>
+  <term><function>PQsetdb</function><indexterm><primary>PQsetdb</></></term>
   <listitem>
    <para>
    Makes a new connection to the database server.
@@ -321,8 +336,8 @@ PGconn *PQsetdb(char *pghost,
  </varlistentry>
 
  <varlistentry>
-  <term><function>PQconnectStart</function></term>
-  <term><function>PQconnectPoll</function></term>
+  <term><function>PQconnectStart</function><indexterm><primary>PQconnectStart</></></term>
+  <term><function>PQconnectPoll</function><indexterm><primary>PQconnectPoll</></></term>
   <listitem>
   <para>
    <indexterm><primary>nonblocking connection</primary></indexterm>
@@ -515,7 +530,7 @@ switch(PQstatus(conn))
  </varlistentry>
 
  <varlistentry>
-  <term><function>PQconndefaults</function></term>
+  <term><function>PQconndefaults</function><indexterm><primary>PQconndefaults</></></term>
   <listitem>
    <para>
    Returns the default connection options.
@@ -560,7 +575,7 @@ typedef struct
  </varlistentry>
 
  <varlistentry>
-  <term><function>PQfinish</function></term>
+  <term><function>PQfinish</function><indexterm><primary>PQfinish</></></term>
   <listitem>
    <para>
    Closes  the  connection to the server.  Also frees
@@ -581,7 +596,7 @@ void PQfinish(PGconn *conn);
  </varlistentry>
 
  <varlistentry>
-  <term><function>PQreset</function></term>
+  <term><function>PQreset</function><indexterm><primary>PQreset</></></term>
   <listitem>
    <para>
    Resets the communication channel to the server.
@@ -601,8 +616,8 @@ void PQreset(PGconn *conn);
  </varlistentry>
 
  <varlistentry>
-  <term><function>PQresetStart</function></term>
-  <term><function>PQresetPoll</function></term>
+  <term><function>PQresetStart</function><indexterm><primary>PQresetStart</></></term>
+  <term><function>PQresetPoll</function><indexterm><primary>PQresetPoll</></></term>
   <listitem>
    <para>
    Reset the communication channel to the server, in a nonblocking manner.
@@ -665,7 +680,7 @@ These values are fixed for the life of the <structname>PGconn</> object.
 
 <variablelist>
 <varlistentry>
-<term><function>PQdb</function></term>
+<term><function>PQdb</function><indexterm><primary>PQdb</></></term>
 <listitem>
 <para>
          Returns the database name of the connection.
@@ -677,7 +692,7 @@ char *PQdb(const PGconn *conn);
 </varlistentry>
 
 <varlistentry>
-<term><function>PQuser</function></term>
+<term><function>PQuser</function><indexterm><primary>PQuser</></></term>
 <listitem>
 <para>
          Returns the user name of the connection.
@@ -689,7 +704,7 @@ char *PQuser(const PGconn *conn);
 </varlistentry>
 
 <varlistentry>
-<term><function>PQpass</function></term>
+<term><function>PQpass</function><indexterm><primary>PQpass</></></term>
 <listitem>
 <para>
          Returns the password of the connection.
@@ -701,7 +716,7 @@ char *PQpass(const PGconn *conn);
 </varlistentry>
 
 <varlistentry>
-<term><function>PQhost</function></term>
+<term><function>PQhost</function><indexterm><primary>PQhost</></></term>
 <listitem>
 <para>
          Returns the server host name of the connection.
@@ -713,7 +728,7 @@ char *PQhost(const PGconn *conn);
 </varlistentry>
 
 <varlistentry>
-<term><function>PQport</function></term>
+<term><function>PQport</function><indexterm><primary>PQport</></></term>
 <listitem>
 <para>
          Returns the port of the connection.
@@ -725,13 +740,13 @@ char *PQport(const PGconn *conn);
 </varlistentry>
 
 <varlistentry>
-<term><function>PQtty</function></term>
+<term><function>PQtty</function><indexterm><primary>PQtty</></></term>
 <listitem>
 <para>
          Returns the debug <acronym>TTY</acronym> of the connection.
-        (This is obsolete, since the server no longer pays attention
-        to the <acronym>TTY</acronym> setting, but the function remains
-        for backwards compatibility.)
+         (This is obsolete, since the server no longer pays attention
+         to the <acronym>TTY</acronym> setting, but the function remains
+         for backwards compatibility.)
 <synopsis>
 char *PQtty(const PGconn *conn);
 </synopsis>
@@ -740,7 +755,7 @@ char *PQtty(const PGconn *conn);
 </varlistentry>
 
 <varlistentry>
-<term><function>PQoptions</function></term>
+<term><function>PQoptions</function><indexterm><primary>PQoptions</></></term>
 <listitem>
 <para>
        Returns the command-line options passed in the connection request.
@@ -759,7 +774,7 @@ are executed on the <structname>PGconn</> object.
 
 <variablelist>
 <varlistentry>
-<term><function>PQstatus</function></term>
+<term><function>PQstatus</function><indexterm><primary>PQstatus</></></term>
 <listitem>
 <para>
          Returns the status of the connection. 
@@ -795,7 +810,7 @@ ConnStatusType PQstatus(const PGconn *conn);
     </varlistentry>
 
 <varlistentry>
-<term><function>PQtransactionStatus</function></term>
+<term><function>PQtransactionStatus</function><indexterm><primary>PQtransactionStatus</></></term>
 <listitem>
 <para>
          Returns the current in-transaction status of the server.
@@ -823,7 +838,7 @@ deprecated and does not exist in later server versions.
 </varlistentry>
 
 <varlistentry>
-<term><function>PQparameterStatus</function></term>
+<term><function>PQparameterStatus</function><indexterm><primary>PQparameterStatus</></></term>
 <listitem>
 <para>
          Looks up a current parameter setting of the server.
@@ -841,27 +856,27 @@ is not known.
 <para>
 Parameters reported as of the current release include
 <literal>server_version</> (cannot change after startup);
-<literal>server_encoding</> (also not presently changeable after start);
 <literal>client_encoding</>,
-<literal>is_superuser</>, and
+<literal>is_superuser</>,
+<literal>session_authorization</literal>, and
 <literal>DateStyle</>.
 </para>
 
 <para>
-Pre-3.0-protocol servers do not report parameter settings,
-but <application>libpq</> includes logic to obtain values for 
-<literal>server_version</>, <literal>server_encoding</>, and
-<literal>client_encoding</>.  Applications are encouraged to use
-<function>PQparameterStatus</> rather than ad-hoc code to determine these
-values.  (Beware however that on a pre-3.0 connection, changing
-<literal>client_encoding</> via <command>SET</> after connection startup
-will not be reflected by <function>PQparameterStatus</>.)
+Pre-3.0-protocol servers do not report parameter settings, but
+<application>libpq</> includes logic to obtain values for
+<literal>server_version</>, and <literal>client_encoding</>.
+Applications are encouraged to use <function>PQparameterStatus</>
+rather than ad-hoc code to determine these values.  (Beware however
+that on a pre-3.0 connection, changing <literal>client_encoding</> via
+<command>SET</> after connection startup will not be reflected by
+<function>PQparameterStatus</>.)
 </para>
 </listitem>
 </varlistentry>
 
 <varlistentry>
-<term><function>PQprotocolVersion</function></term>
+<term><function>PQprotocolVersion</function><indexterm><primary>PQprotocolVersion</></></term>
 <listitem>
 <para>
          Interrogates the frontend/backend protocol being used.
@@ -881,7 +896,7 @@ only protocol 2.0.  (Protocol 1.0 is obsolete and not supported by libpq.)
 </varlistentry>
 
     <varlistentry>
-     <term><function>PQerrorMessage</function></term>
+     <term><function>PQerrorMessage</function><indexterm><primary>PQerrorMessage</></></term>
      <listitem>
       <para>
        <indexterm><primary>error message</></>
@@ -903,7 +918,7 @@ char *PQerrorMessage(const PGconn* conn);
     </varlistentry>
 
     <varlistentry>
-     <term><function>PQsocket</function></term>
+     <term><function>PQsocket</function><indexterm><primary>PQsocket</></></term>
      <listitem>
       <para>
        Obtains the file descriptor number of the connection socket to
@@ -919,11 +934,13 @@ int PQsocket(const PGconn *conn);
     </varlistentry>
 
     <varlistentry>
-     <term><function>PQbackendPID</function></term>
+     <term><function>PQbackendPID</function><indexterm><primary>PQbackendPID</></></term>
      <listitem>
       <para>
-       Returns the process <acronym>ID</acronym> of the backend server process
-       handling this connection.
+       Returns the process <acronym>ID</acronym>
+       (PID)<indexterm><primary>PID</><secondary>determining PID of
+       server process</><tertiary>in libpq</></> of the backend server
+       process handling this connection.
 <synopsis>
 int PQbackendPID(const PGconn *conn);
 </synopsis>
@@ -941,10 +958,10 @@ int PQbackendPID(const PGconn *conn);
     </varlistentry>
 
     <varlistentry>
-     <term><function>PQgetssl</function></term>
+     <term><function>PQgetssl</function><indexterm><primary>PQgetssl</></></term>
      <listitem>
       <para>
-       <indexterm><primary>SSL</></>
+       <indexterm><primary>SSL</><secondary sortas="libpq">in libpq</secondary></indexterm>
        Returns the SSL structure used in the connection, or null
        if SSL is not in use. 
 <synopsis>
@@ -985,7 +1002,7 @@ SQL queries and commands.
 <para>
 <variablelist>
 <varlistentry>
-<term><function>PQexec</function></term>
+<term><function>PQexec</function><indexterm><primary>PQexec</></></term>
 <listitem>
 <para>
           Submits a command to the server
@@ -1001,8 +1018,8 @@ PGresult *PQexec(PGconn *conn, const char *command);
           out-of-memory conditions or serious errors such as inability
           to send the command to the server.
           If a null pointer is returned, it
-         should be treated like a <symbol>PGRES_FATAL_ERROR</symbol> result.  Use
-         <function>PQerrorMessage</function> to get more information about the error.
+          should be treated like a <symbol>PGRES_FATAL_ERROR</symbol> result.  Use
+          <function>PQerrorMessage</function> to get more information about the error.
 </para>
 </listitem>
 </varlistentry>
@@ -1022,12 +1039,12 @@ condition.
 <para>
 <variablelist>
 <varlistentry>
-<term><function>PQexecParams</function></term>
+<term><function>PQexecParams</function><indexterm><primary>PQexecParams</></></term>
 <listitem>
 <para>
           Submits a command to the server and waits for the result,
-         with the ability to pass parameters separately from the SQL
-         command text.
+          with the ability to pass parameters separately from the SQL
+          command text.
 <synopsis>
 PGresult *PQexecParams(PGconn *conn,
                        const char *command,
@@ -1093,11 +1110,11 @@ but has some usefulness as an extra defense against SQL-injection attacks.
 <para>
 <variablelist>
 <varlistentry>
-<term><function>PQexecPrepared</function></term>
+<term><function>PQexecPrepared</function><indexterm><primary>PQexecPrepared</></></term>
 <listitem>
 <para>
           Sends a request to execute a prepared statement with given
-         parameters, and waits for the result.
+          parameters, and waits for the result.
 <synopsis>
 PGresult *PQexecPrepared(PGconn *conn,
                          const char *stmtName,
@@ -1138,16 +1155,19 @@ future release.
 </para>
 
 <para>
-The <structname>PGresult</structname> structure encapsulates the result
-returned by the server.
-<application>libpq</application> application programmers should be careful to
-maintain the <structname>PGresult</structname> abstraction.  Use the accessor functions below to get
-at the contents of <structname>PGresult</structname>.  Avoid directly referencing the fields of the
-<structname>PGresult</structname> structure because they are subject to change in the future.
+The
+<structname>PGresult</structname><indexterm><primary>PGresult</></>
+structure encapsulates the result returned by the server.
+<application>libpq</application> application programmers should be
+careful to maintain the <structname>PGresult</structname> abstraction.
+Use the accessor functions below to get at the contents of
+<structname>PGresult</structname>.  Avoid directly referencing the
+fields of the <structname>PGresult</structname> structure because they
+are subject to change in the future.
 
 <variablelist>
 <varlistentry>
-<term><function>PQresultStatus</function></term>
+<term><function>PQresultStatus</function><indexterm><primary>PQresultStatus</></></term>
 <listitem>
 <para>
           Returns the result status of the command.
@@ -1238,11 +1258,11 @@ processor (see <xref linkend="libpq-notice-processing">).
 </varlistentry>
 
 <varlistentry>
-<term><function>PQresStatus</function></term>
+<term><function>PQresStatus</function><indexterm><primary>PQresStatus</></></term>
 <listitem>
 <para>
-       Converts the enumerated type returned by <function>PQresultStatus</> into
-       a string constant describing the status code.
+        Converts the enumerated type returned by <function>PQresultStatus</> into
+        a string constant describing the status code.
 <synopsis>
 char *PQresStatus(ExecStatusType status);
 </synopsis>
@@ -1251,7 +1271,7 @@ char *PQresStatus(ExecStatusType status);
 </varlistentry>
 
 <varlistentry>
-<term><function>PQresultErrorMessage</function></term>
+<term><function>PQresultErrorMessage</function><indexterm><primary>PQresultErrorMessage</></></term>
 <listitem>
 <para>
 Returns the error message associated with the command, or an empty string
@@ -1276,27 +1296,145 @@ when you want to know the status from the latest operation on the connection.
 </varlistentry>
 
 <varlistentry>
-<term><function>PQresultErrorField</function></term>
+<term><function>PQresultErrorField</function><indexterm><primary>PQresultErrorField</></></term>
 <listitem>
 <para>
 Returns an individual field of an error report.
 <synopsis>
 char *PQresultErrorField(const PGresult *res, int fieldcode);
 </synopsis>
-<parameter>fieldcode</> is an error field identifier defined by the
-<productname>PostgreSQL</> protocol (see <xref
-linkend="protocol-error-fields">), for example <literal>'C'</> for
-the SQLSTATE error code.  NULL is returned if the
+<parameter>fieldcode</> is an error field identifier; see the symbols
+listed below.  <symbol>NULL</symbol> is returned if the
 <structname>PGresult</structname> is not an error or warning result,
 or does not include the specified field.  Field values will normally
 not include a trailing newline.
 </para>
 
 <para>
-Errors generated internally by libpq will have severity and primary message,
-but typically no other fields.  Errors returned by a pre-3.0-protocol server
-will include severity and primary message, and sometimes a detail message,
-but no other fields.
+The following field codes are available:
+<variablelist>
+
+<varlistentry>
+<term><symbol>PG_DIAG_SEVERITY</></term>
+<listitem>
+<para>
+The severity; the field contents are <literal>ERROR</>,
+<literal>FATAL</>, or <literal>PANIC</> (in an error message), or
+<literal>WARNING</>, <literal>NOTICE</>, <literal>DEBUG</>,
+<literal>INFO</>, or <literal>LOG</> (in a notice message), or a
+localized translation of one of these.  Always present.
+</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><symbol>PG_DIAG_SQLSTATE</>
+</term>
+<listitem>
+<para>
+The SQLSTATE code for the error (a 5-character string following SQL
+spec conventions).  Not localizable.  Always present.
+</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><symbol>PG_DIAG_MESSAGE_PRIMARY</></term>
+<listitem>
+<para>
+The primary human-readable error message (typically one line).  Always
+present.
+</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><symbol>PG_DIAG_MESSAGE_DETAIL</></term>
+<listitem>
+<para>
+Detail: an optional secondary error message carrying more detail about
+the problem.  May run to multiple lines.
+</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><symbol>PG_DIAG_MESSAGE_HINT</></term>
+<listitem>
+<para>
+Hint: an optional suggestion what to do about the problem.  This is
+intended to differ from detail in that it offers advice (potentially
+inappropriate) rather than hard facts.  May run to multiple lines.
+</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><symbol>PG_DIAG_STATEMENT_POSITION</></term>
+<listitem>
+<para>
+A string containing a decimal integer indicating an error cursor
+position as an index into the original statement string.  The first
+character has index 1, and positions are measured in characters not
+bytes.
+</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><symbol>PG_DIAG_CONTEXT</></term>
+<listitem>
+<para>
+An indication of the context in which the error occurred.  Presently
+this includes a call stack traceback of active PL functions.  The
+trace is one entry per line, most recent first.
+</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><symbol>PG_DIAG_SOURCE_FILE</></term>
+<listitem>
+<para>
+The file name of the source-code location where the error was
+reported.
+</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><symbol>PG_DIAG_SOURCE_LINE</></term>
+<listitem>
+<para>
+The line number of the source-code location where the error was
+reported.
+</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><symbol>PG_DIAG_SOURCE_FUNCTION</></term>
+<listitem>
+<para>
+The name of the source-code function reporting the error.
+</para>
+</listitem>
+</varlistentry>
+</variablelist>
+</para>
+
+<para>
+The client is responsible for formatting displayed information to meet
+its needs; in particular it should break long lines as needed.
+Newline characters appearing in the error message fields should be
+treated as paragraph breaks, not line breaks.
+</para>
+
+<para>
+Errors generated internally by <application>libpq</application> will
+have severity and primary message, but typically no other fields.
+Errors returned by a pre-3.0-protocol server will include severity and
+primary message, and sometimes a detail message, but no other fields.
 </para>
 
 <para>
@@ -1309,7 +1447,7 @@ Note that error fields are only available from
 </varlistentry>
 
 <varlistentry>
-<term><function>PQclear</function></term>
+<term><function>PQclear</function><indexterm><primary>PQclear</></></term>
 <listitem>
 <para>
           Frees  the  storage  associated with a <structname>PGresult</structname>.
@@ -1331,7 +1469,7 @@ void PQclear(PQresult *res);
 </varlistentry>
 
 <varlistentry>
-<term><function>PQmakeEmptyPGresult</function></term>
+<term><function>PQmakeEmptyPGresult</function><indexterm><primary>PQmakeEmptyPGresult</></></term>
 <listitem>
 <para>
           Constructs an empty <structname>PGresult</structname> object with the given status.
@@ -1368,7 +1506,7 @@ values they will act as though the result has zero rows and zero columns.
 
 <variablelist>
 <varlistentry>
-<term><function>PQntuples</function></term>
+<term><function>PQntuples</function><indexterm><primary>PQntuples</></></term>
 <listitem>
 <para>
           Returns the number of rows (tuples)
@@ -1381,7 +1519,7 @@ int PQntuples(const PGresult *res);
 </varlistentry>
 
 <varlistentry>
-<term><function>PQnfields</function></term>
+<term><function>PQnfields</function><indexterm><primary>PQnfields</></></term>
 <listitem>
 <para>
           Returns the number of columns (fields)
@@ -1394,7 +1532,7 @@ int PQnfields(const PGresult *res);
 </varlistentry>
 
 <varlistentry>
-<term><function>PQfname</function></term>
+<term><function>PQfname</function><indexterm><primary>PQfname</></></term>
 <listitem>
 <para>
  Returns the column name associated with the given column number.
@@ -1412,7 +1550,7 @@ NULL is returned if the column number is out of range.
 </varlistentry>
 
 <varlistentry>
-<term><function>PQfnumber</function></term>
+<term><function>PQfnumber</function><indexterm><primary>PQfnumber</></></term>
 <listitem>
 <para>
             Returns  the  column number
@@ -1430,7 +1568,7 @@ int PQfnumber(const PGresult *res,
 </varlistentry>
 
 <varlistentry>
-<term><function>PQftable</function></term>
+<term><function>PQftable</function><indexterm><primary>PQftable</></></term>
 <listitem>
 <para>
  Returns the OID of the table from which the given column was fetched.
@@ -1459,7 +1597,7 @@ exactly which table is referenced.
 </varlistentry>
 
 <varlistentry>
-<term><function>PQftablecol</function></term>
+<term><function>PQftablecol</function><indexterm><primary>PQftablecol</></></term>
 <listitem>
 <para>
  Returns the column number (within its table) of the column making up
@@ -1480,7 +1618,7 @@ or when using pre-3.0 protocol.
 </varlistentry>
 
 <varlistentry>
-<term><function>PQfformat</function></term>
+<term><function>PQfformat</function><indexterm><primary>PQfformat</></></term>
 <listitem>
 <para>
  Returns the format code indicating the format of the given column.
@@ -1500,7 +1638,7 @@ for future definition.)
 </varlistentry>
 
 <varlistentry>
-<term><function>PQftype</function></term>
+<term><function>PQftype</function><indexterm><primary>PQftype</></></term>
 <listitem>
 <para>
           Returns the data type associated with the
@@ -1523,7 +1661,7 @@ in the source tree.
 </varlistentry>
 
 <varlistentry>
-<term><function>PQfmod</function></term>
+<term><function>PQfmod</function><indexterm><primary>PQfmod</></></term>
 <listitem>
 <para>
           Returns  the type modifier of the column
@@ -1545,7 +1683,7 @@ in which case the value is always -1.
 </varlistentry>
 
 <varlistentry>
-<term><function>PQfsize</function></term>
+<term><function>PQfsize</function><indexterm><primary>PQfsize</></></term>
 <listitem>
 <para>
           Returns  the  size  in bytes of the column
@@ -1567,7 +1705,7 @@ A negative value indicates the data type is variable-length.
 </varlistentry>
 
 <varlistentry>
-<term><function>PQbinaryTuples</function></term>
+<term><function>PQbinaryTuples</function><indexterm><primary>PQbinaryTuples</></></term>
 <listitem>
 <para>
 Returns 1 if the <structname>PGresult</> contains binary data
@@ -1589,11 +1727,11 @@ returns 1 only if all columns of the result are binary (format 1).
 </varlistentry>
 
 <varlistentry>
-<term><function>PQgetvalue</function></term>
+<term><function>PQgetvalue</function><indexterm><primary>PQgetvalue</></></term>
 <listitem>
 <para>
             Returns a single field value of one row
-           of a <structname>PGresult</structname>.
+            of a <structname>PGresult</structname>.
             Row and column numbers start at 0.
 <synopsis>
 char* PQgetvalue(const PGresult *res,
@@ -1629,8 +1767,8 @@ be used past the lifetime of the  <structname>PGresult</structname>  structure i
 </varlistentry>
 
 <varlistentry>
-<term><function>PQgetisnull</function></term>
-<listitem>
+<term><function>PQgetisnull</function><indexterm><primary>PQgetisnull</></></term>
+<indexterm><primary>null value</><secondary sortas="libpq">in libpq</></indexterm><listitem>
 <para>
            Tests a field for a null value.
            Row and column numbers start at 0.
@@ -1650,7 +1788,7 @@ will return an empty string, not a null pointer, for a null field.)
 </varlistentry>
 
 <varlistentry>
-<term><function>PQgetlength</function></term>
+<term><function>PQgetlength</function><indexterm><primary>PQgetlength</></></term>
 <listitem>
 <para>
           Returns the actual length of a field value in bytes.
@@ -1673,7 +1811,7 @@ on <function>PQfsize</function> to obtain the actual data length.
 </varlistentry>
 
 <varlistentry>
-<term><function>PQprint</function></term>
+<term><function>PQprint</function><indexterm><primary>PQprint</></></term>
 <listitem>
 <para>
           Prints out all the rows and,  optionally,  the
@@ -1719,11 +1857,11 @@ results.
 
 <variablelist>
 <varlistentry>
-<term><function>PQcmdStatus</function></term>
+<term><function>PQcmdStatus</function><indexterm><primary>PQcmdStatus</></></term>
 <listitem>
 <para>
           Returns the command status tag from the SQL command that
-         generated the <structname>PGresult</structname>.
+          generated the <structname>PGresult</structname>.
 <synopsis>
 char * PQcmdStatus(PGresult *res);
 </synopsis>
@@ -1736,10 +1874,10 @@ data such as the number of rows processed.
 </varlistentry>
 
 <varlistentry>
-<term><function>PQcmdTuples</function></term>
+<term><function>PQcmdTuples</function><indexterm><primary>PQcmdTuples</></></term>
 <listitem>
 <para>
-         Returns the number of rows affected by the SQL command.
+          Returns the number of rows affected by the SQL command.
 <synopsis>
 char * PQcmdTuples(PGresult *res);
 </synopsis>
@@ -1747,23 +1885,25 @@ char * PQcmdTuples(PGresult *res);
 
 <para>
           If the <acronym>SQL</acronym> command that generated the
-         <structname>PGresult</structname> was <command>INSERT</>,
-         <command>UPDATE</>, <command>DELETE</command>, <command>MOVE</>,
-         or <command>FETCH</>, this returns a
-         string containing the number of rows affected.  If the
+          <structname>PGresult</structname> was <command>INSERT</>,
+          <command>UPDATE</>, <command>DELETE</command>, <command>MOVE</>,
+          or <command>FETCH</>, this returns a
+          string containing the number of rows affected.  If the
           command was anything else, it returns the empty string.
 </para>
 </listitem>
 </varlistentry>
 
 <varlistentry>
-<term><function>PQoidValue</function></term>
+<term><function>PQoidValue</function><indexterm><primary>PQoidValue</></></term>
 <listitem>
 <para>
-          Returns the OID of the inserted row, if the
-         <acronym>SQL</acronym> command was an <command>INSERT</command>
-         that inserted exactly one row into a table that has OIDs.
-          Otherwise, returns <literal>InvalidOid</literal>.
+          Returns the OID<indexterm><primary>OID</><secondary>in
+          libpq</></> of the inserted row, if the
+          <acronym>SQL</acronym> command was an
+          <command>INSERT</command> that inserted exactly one row into
+          a table that has OIDs.  Otherwise, returns
+          <literal>InvalidOid</literal>.
 <synopsis>
 Oid PQoidValue(const PGresult *res);
 </synopsis>
@@ -1772,7 +1912,7 @@ Oid PQoidValue(const PGresult *res);
 </varlistentry>
 
 <varlistentry>
-<term><function>PQoidStatus</function></term>
+<term><function>PQoidStatus</function><indexterm><primary>PQoidStatus</></></term>
 <listitem>
 <para>
           Returns a string with the OID of the inserted row, if the
@@ -1800,6 +1940,7 @@ It is not thread-safe.
 <sect2 id="libpq-exec-escape-string">
   <title>Escaping Strings for Inclusion in SQL Commands</title>
 
+   <indexterm zone="libpq-exec-escape-string"><primary>PQescapeString</></>
    <indexterm zone="libpq-exec-escape-string"><primary>escaping strings</></>
 
 <para>
@@ -1858,13 +1999,15 @@ strings overlap.
 
  <sect2 id="libpq-exec-escape-bytea">
   <title>Escaping Binary Strings for Inclusion in SQL Commands</title>
+
   <indexterm zone="libpq-exec-escape-bytea">
-   <primary>escaping binary strings</primary>
+   <primary>bytea</>
+   <secondary sortas="libpq">in libpq</>
   </indexterm>
 
   <variablelist>
   <varlistentry>
-  <term><function>PQescapeBytea</function></term>
+  <term><function>PQescapeBytea</function><indexterm><primary>PQescapeBytea</></></term>
   <listitem>
   <para>
    Escapes binary data for use within an SQL command with the type
@@ -1916,7 +2059,7 @@ unsigned char *PQescapeBytea(const unsigned char *from,
   </varlistentry>
 
   <varlistentry>
-  <term><function>PQunescapeBytea</function></term>
+  <term><function>PQunescapeBytea</function><indexterm><primary>PQunescapeBytea</></></term>
   <listitem>
   <para>
    Converts an escaped string representation of binary data into binary
@@ -1943,7 +2086,7 @@ unsigned char *PQunescapeBytea(const unsigned char *from, size_t *to_length);
   </varlistentry>
 
   <varlistentry>
-  <term><function>PQfreemem</function></term>
+  <term><function>PQfreemem</function><indexterm><primary>PQfreemem</></></term>
   <listitem>
   <para>
    Frees memory allocated by <application>libpq</>.
@@ -2016,32 +2159,32 @@ respectively.
 
 <variablelist>
 <varlistentry>
-<term><function>PQsendQuery</function></term>
+<term><function>PQsendQuery</function><indexterm><primary>PQsendQuery</></></term>
 <listitem>
 <para>
           Submits a command to the server without
-         waiting for the result(s).  1 is returned if the command was
-         successfully dispatched and 0 if not (in which case, use
-         <function>PQerrorMessage</> to get more information about the failure).
+          waiting for the result(s).  1 is returned if the command was
+          successfully dispatched and 0 if not (in which case, use
+          <function>PQerrorMessage</> to get more information about the failure).
 <synopsis>
 int PQsendQuery(PGconn *conn, const char *command);
 </synopsis>
 
-         After successfully calling <function>PQsendQuery</function>, call
+          After successfully calling <function>PQsendQuery</function>, call
           <function>PQgetResult</function> one or more
-         times to obtain the results.  <function>PQsendQuery</function> may not be called
-         again (on the same connection) until <function>PQgetResult</function> has returned a null pointer,
-         indicating that the command is done.
+          times to obtain the results.  <function>PQsendQuery</function> may not be called
+          again (on the same connection) until <function>PQgetResult</function> has returned a null pointer,
+          indicating that the command is done.
 </para>
 </listitem>
 </varlistentry>
 
 <varlistentry>
-<term><function>PQsendQueryParams</function></term>
+<term><function>PQsendQueryParams</function><indexterm><primary>PQsendQueryParams</></></term>
 <listitem>
 <para>
           Submits a command and separate parameters to the server without
-         waiting for the result(s).
+          waiting for the result(s).
 <synopsis>
 int PQsendQueryParams(PGconn *conn,
                       const char *command,
@@ -2053,22 +2196,22 @@ int PQsendQueryParams(PGconn *conn,
                       int resultFormat);
 </synopsis>
 
-       This is equivalent to <function>PQsendQuery</function> except that
-       query parameters can be specified separately from the query string.
-       The function's parameters are handled identically to
-       <function>PQexecParams</function>.  Like
-       <function>PQexecParams</function>, it will not work on 2.0-protocol
-       connections, and it allows only one command in the query string.
+        This is equivalent to <function>PQsendQuery</function> except that
+        query parameters can be specified separately from the query string.
+        The function's parameters are handled identically to
+        <function>PQexecParams</function>.  Like
+        <function>PQexecParams</function>, it will not work on 2.0-protocol
+        connections, and it allows only one command in the query string.
 </para>
 </listitem>
 </varlistentry>
 
 <varlistentry>
-<term><function>PQsendQueryPrepared</function></term>
+<term><function>PQsendQueryPrepared</function><indexterm><primary>PQsendQueryPrepared</></></term>
 <listitem>
 <para>
           Sends a request to execute a prepared statement with given
-         parameters, without waiting for the result(s).
+          parameters, without waiting for the result(s).
 <synopsis>
 int PQsendQueryPrepared(PGconn *conn,
                         const char *stmtName,
@@ -2079,41 +2222,41 @@ int PQsendQueryPrepared(PGconn *conn,
                         int resultFormat);
 </synopsis>
 
-       This is similar to <function>PQsendQueryParams</function>, but the
-       command to be executed is specified by naming a previously-prepared
-       statement, instead of giving a query string.
-       The function's parameters are handled identically to
-       <function>PQexecPrepared</function>.  Like
-       <function>PQexecPrepared</function>, it will not work on 2.0-protocol
-       connections.
+        This is similar to <function>PQsendQueryParams</function>, but the
+        command to be executed is specified by naming a previously-prepared
+        statement, instead of giving a query string.
+        The function's parameters are handled identically to
+        <function>PQexecPrepared</function>.  Like
+        <function>PQexecPrepared</function>, it will not work on 2.0-protocol
+        connections.
 </para>
 </listitem>
 </varlistentry>
 
 <varlistentry>
-<term><function>PQgetResult</function></term>
+<term><function>PQgetResult</function><indexterm><primary>PQgetResult</></></term>
 <listitem>
 <para>
           Waits for the next result from a prior
-         <function>PQsendQuery</function>,
-         <function>PQsendQueryParams</function>, or
-         <function>PQsendQueryPrepared</function> call,
-         and returns it.  A null pointer is returned when the command is complete
-         and there will be no more results.
+          <function>PQsendQuery</function>,
+          <function>PQsendQueryParams</function>, or
+          <function>PQsendQueryPrepared</function> call,
+          and returns it.  A null pointer is returned when the command is complete
+          and there will be no more results.
 <synopsis>
 PGresult *PQgetResult(PGconn *conn);
 </synopsis>
 </para>
 
 <para>
-         <function>PQgetResult</function> must be called repeatedly until it returns a null pointer,
-         indicating that the command is done.  (If called when no command is
-         active, <function>PQgetResult</function> will just return a null pointer at once.)
-         Each non-null result from <function>PQgetResult</function> should be processed using
-         the same <structname>PGresult</> accessor functions previously described.
-         Don't forget to free each result object with <function>PQclear</function> when done with it.
-         Note that <function>PQgetResult</function> will block only if a command is active and the
-         necessary response data has not yet been read by <function>PQconsumeInput</function>.
+          <function>PQgetResult</function> must be called repeatedly until it returns a null pointer,
+          indicating that the command is done.  (If called when no command is
+          active, <function>PQgetResult</function> will just return a null pointer at once.)
+          Each non-null result from <function>PQgetResult</function> should be processed using
+          the same <structname>PGresult</> accessor functions previously described.
+          Don't forget to free each result object with <function>PQclear</function> when done with it.
+          Note that <function>PQgetResult</function> will block only if a command is active and the
+          necessary response data has not yet been read by <function>PQconsumeInput</function>.
 </para>
 </listitem>
 </varlistentry>
@@ -2134,10 +2277,10 @@ more functions:
 
 <variablelist>
 <varlistentry>
-<term><function>PQconsumeInput</function></term>
+<term><function>PQconsumeInput</function><indexterm><primary>PQconsumeInput</></></term>
 <listitem>
 <para>
-         If input is available from the server, consume it.
+          If input is available from the server, consume it.
 <synopsis>
 int PQconsumeInput(PGconn *conn);
 </synopsis>
@@ -2165,7 +2308,7 @@ application can thus use <function>PQconsumeInput</function> to clear the
 </varlistentry>
 
 <varlistentry>
-<term><function>PQisBusy</function></term>
+<term><function>PQisBusy</function><indexterm><primary>PQisBusy</></></term>
 <listitem>
 <para>
 Returns 1 if a command is busy, that is, <function>PQgetResult</function> would block
@@ -2201,16 +2344,18 @@ if <function>PQisBusy</function> returns false (0).  It can also call
 </para>
 
 <para>
-A client that uses <function>PQsendQuery</function>/<function>PQgetResult</function>
-can also attempt to cancel a command that is still being processed by the server.
+A client that uses
+<function>PQsendQuery</function>/<function>PQgetResult</function> can
+also attempt to cancel a command that is still being processed by the
+server.<indexterm><primary>canceling</><secondary>SQL command</></>
 
 <variablelist>
 <varlistentry>
-<term><function>PQrequestCancel</function></term>
+<term><function>PQrequestCancel</function><indexterm><primary>PQrequestCancel</></></term>
 <listitem>
 <para>
-         Requests that the server abandon
-         processing of the current command.
+          Requests that the server abandon
+          processing of the current command.
 <synopsis>
 int PQrequestCancel(PGconn *conn);
 </synopsis>
@@ -2259,7 +2404,7 @@ functions may be used.
 
 <variablelist>
 <varlistentry>
- <term><function>PQsetnonblocking</function></term>
+ <term><function>PQsetnonblocking</function><indexterm><primary>PQsetnonblocking</></></term>
  <listitem>
    <para>
     Sets the nonblocking status of the connection.
@@ -2289,7 +2434,7 @@ int PQsetnonblocking(PGconn *conn, int arg);
 </varlistentry>
 
 <varlistentry>
-<term><function>PQisnonblocking</function></term>
+<term><function>PQisnonblocking</function><indexterm><primary>PQisnonblocking</></></term>
 <listitem>
 <para>
        Returns the blocking status of the database connection.
@@ -2306,7 +2451,7 @@ int PQisnonblocking(const PGconn *conn);
 </varlistentry>
 
 <varlistentry>
-<term><function>PQflush</function></term>
+<term><function>PQflush</function><indexterm><primary>PQflush</></></term>
 <listitem>
 <para>
 Attempts to flush any queued output data to the server.
@@ -2335,6 +2480,8 @@ and then read the response as described above.
 <sect1 id="libpq-fastpath">
 <title>The Fast-Path Interface</title>
 
+<indexterm zone="libpq-fastpath"><primary>fast path</></>
+
 <para>
 <productname>PostgreSQL</productname> provides a fast-path interface to send
 simple function calls to the server.
@@ -2350,8 +2497,8 @@ parameters and results substitutes for a fast-path function call.
 </tip>
 
 <para>
-The function <function>PQfn</function> requests execution of a server
-function via the fast-path interface:
+The function <function>PQfn</function><indexterm><primary>PQfn</></>
+requests execution of a server function via the fast-path interface:
 <synopsis>
 PGresult* PQfn(PGconn* conn,
                int fnid,
@@ -2417,7 +2564,10 @@ set-valued results when using this interface.
 <sect1 id="libpq-notify">
 <title>Asynchronous Notification</title>
 
-  <indexterm zone="libpq-notify"><primary>NOTIFY</primary></indexterm>
+  <indexterm zone="libpq-notify">
+   <primary>NOTIFY</primary>
+   <secondary>in libpq</secondary>
+  </indexterm>
 
 <para>
 <productname>PostgreSQL</productname> offers asynchronous notification via the
@@ -2433,9 +2583,11 @@ not necessary for there to be any associated table.
 </para>
 
 <para>
-<application>libpq</application> applications submit <command>LISTEN</command> and <command>UNLISTEN</command>
-commands as ordinary SQL commands.  The arrival of <command>NOTIFY</command>
-messages can subsequently be detected by calling <function>PQnotifies</function>.
+<application>libpq</application> applications submit
+<command>LISTEN</command> and <command>UNLISTEN</command> commands as
+ordinary SQL commands.  The arrival of <command>NOTIFY</command>
+messages can subsequently be detected by calling
+<function>PQnotifies</function>.<indexterm><primary>PQnotifies</></>
 </para>
 
 <para>
@@ -2443,8 +2595,8 @@ The function <function>PQnotifies</function>
           returns  the next notification from a list of unhandled
           notification messages received from the server.  It returns a null pointer if
           there are no pending notifications.  Once a notification is
-         returned from <function>PQnotifies</>, it is considered handled and will be
-         removed from the list of notifications.
+          returned from <function>PQnotifies</>, it is considered handled and will be
+          removed from the list of notifications.
 <synopsis>
 PGnotify* PQnotifies(PGconn *conn);
 
@@ -2570,7 +2722,7 @@ if any notifications came in during the processing of the command.
 
 <variablelist>
 <varlistentry>
-<term><function>PQnfields</function></term>
+<term><function>PQnfields</function><indexterm><primary>PQnfields</><secondary>with COPY</></></term>
 <listitem>
 <para>
           Returns the number of columns (fields) to be copied.
@@ -2579,30 +2731,30 @@ if any notifications came in during the processing of the command.
 </varlistentry>
 
 <varlistentry>
-<term><function>PQbinaryTuples</function></term>
+<term><function>PQbinaryTuples</function><indexterm><primary>PQbinaryTuples</><secondary>with COPY</></></term>
 <listitem>
 <para>
                 0 indicates the overall copy format is textual (rows
-               separated by newlines, columns separated by separator
-               characters, etc).
-               1 indicates the overall copy format is binary.
-               See <xref linkend="sql-copy" endterm="sql-copy-title">
-               for more information.
+                separated by newlines, columns separated by separator
+                characters, etc).
+                1 indicates the overall copy format is binary.
+                See <xref linkend="sql-copy" endterm="sql-copy-title">
+                for more information.
 </para>
 </listitem>
 </varlistentry>
 
 <varlistentry>
-<term><function>PQfformat</function></term>
+<term><function>PQfformat</function><indexterm><primary>PQfformat</><secondary>with COPY</></></term>
 <listitem>
 <para>
           Returns the format code (0 for text, 1 for binary) associated
-         with each column of the copy operation.  The per-column format
-         codes will always be zero when the overall copy format is textual,
-         but the binary format can support both text and binary columns.
-         (However, as of the current implementation of <command>COPY</>,
-         only binary columns appear in a binary copy; so the per-column
-         formats always match the overall format at present.)
+          with each column of the copy operation.  The per-column format
+          codes will always be zero when the overall copy format is textual,
+          but the binary format can support both text and binary columns.
+          (However, as of the current implementation of <command>COPY</>,
+          only binary columns appear in a binary copy; so the per-column
+          formats always match the overall format at present.)
 </para>
 </listitem>
 </varlistentry>
@@ -2627,7 +2779,7 @@ When using protocol 2.0, all these functions will return 0.
 
 <variablelist>
 <varlistentry>
-<term><function>PQputCopyData</function></term>
+<term><function>PQputCopyData</function><indexterm><primary>PQputCopyData</></></term>
 <listitem>
 <para>
  Sends data to the server during <literal>COPY_IN</> state.
@@ -2658,7 +2810,7 @@ by the <command>COPY</> command; see
 </varlistentry>
 
 <varlistentry>
-<term><function>PQputCopyEnd</function></term>
+<term><function>PQputCopyEnd</function><indexterm><primary>PQputCopyEnd</></></term>
 <listitem>
 <para>
  Sends end-of-data indication to the server during <literal>COPY_IN</> state.
@@ -2710,7 +2862,7 @@ operation.
 
 <variablelist>
 <varlistentry>
-<term><function>PQgetCopyData</function></term>
+<term><function>PQgetCopyData</function><indexterm><primary>PQgetCopyData</></></term>
 <listitem>
 <para>
  Receives data from the server during <literal>COPY_OUT</> state.
@@ -2779,7 +2931,7 @@ operation.
 
 <variablelist>
 <varlistentry>
-<term><function>PQgetline</function></term>
+<term><function>PQgetline</function><indexterm><primary>PQgetline</></></term>
 <listitem>
 <para>
           Reads  a  newline-terminated  line  of  characters
@@ -2815,7 +2967,7 @@ for a terminator line).
 </varlistentry>
 
 <varlistentry>
-<term><function>PQgetlineAsync</function></term>
+<term><function>PQgetlineAsync</function><indexterm><primary>PQgetlineAsync</></></term>
 <listitem>
 <para>
           Reads a row of COPY data
@@ -2867,7 +3019,7 @@ than the room actually available.)
 </varlistentry>
 
 <varlistentry>
-<term><function>PQputline</function></term>
+<term><function>PQputline</function><indexterm><primary>PQputline</></></term>
 <listitem>
 <para>
 Sends  a  null-terminated  string  to  the server.
@@ -2901,7 +3053,7 @@ having sent the actual data.
 </varlistentry>
 
 <varlistentry>
-<term><function>PQputnbytes</function></term>
+<term><function>PQputnbytes</function><indexterm><primary>PQputnbytes</></></term>
 <listitem>
 <para>
 Sends  a  non-null-terminated  string  to  the server.
@@ -2922,7 +3074,7 @@ specified directly.  Use this procedure when sending binary data.
 </varlistentry>
 
 <varlistentry>
-<term><function>PQendcopy</function></term>
+<term><function>PQendcopy</function><indexterm><primary>PQendcopy</></></term>
 <listitem>
 <para>
  Synchronizes with the server.
@@ -2981,7 +3133,7 @@ These functions control miscellaneous details of
 
 <variablelist>
 <varlistentry>
-<term><function>PQsetErrorVerbosity</function></term>
+<term><function>PQsetErrorVerbosity</function><indexterm><primary>PQsetErrorVerbosity</></></term>
 <listitem>
 <para>
 Determines the verbosity of messages returned by
@@ -3007,7 +3159,7 @@ ones.
 </varlistentry>
 
 <varlistentry>
-<term><function>PQtrace</function></term>
+<term><function>PQtrace</function><indexterm><primary>PQtrace</></></term>
 <listitem>
 <para>
           Enables  tracing of the client/server communication to a debugging file stream.
@@ -3019,7 +3171,7 @@ void PQtrace(PGconn *conn, FILE *stream);
 </varlistentry>
 
 <varlistentry>
-<term><function>PQuntrace</function></term>
+<term><function>PQuntrace</function><indexterm><primary>PQuntrace</></></term>
 <listitem>
 <para>
           Disables tracing started by <function>PQtrace</function>.
@@ -3036,6 +3188,11 @@ void PQuntrace(PGconn *conn);
 <sect1 id="libpq-notice-processing">
 <title>Notice Processing</title>
 
+<indexterm zone="libpq-notice-processing">
+ <primary>notice processing</primary>
+ <secondary>in libpq</secondary>
+</indexterm>
+
 <para>
 Notice and warning messages generated by the server are not returned by the
 query execution functions, since they do not imply failure of the query.
@@ -3056,10 +3213,10 @@ work in the notice receiver.
 
 <para>
 The function <function>PQsetNoticeReceiver</function>
-<indexterm><primary>notice receiver</></>
+<indexterm><primary>notice receiver</></><indexterm><primary>PQsetNoticeReceiver</></>
 sets or examines the current notice receiver for a connection object.
 Similarly, <function>PQsetNoticeProcessor</function>
-<indexterm><primary>notice processor</></>
+<indexterm><primary>notice processor</></><indexterm><primary>PQsetNoticeProcessor</></>
 sets or examines the current notice processor.
 
 <synopsis>
@@ -3137,7 +3294,7 @@ functions like <function>PQgetvalue</function>.
 <title>Environment Variables</title>
 
 <indexterm zone="libpq-envars">
- <primary>environment variables</primary>
+ <primary>environment variable</primary>
 </indexterm>
 
 <para>
@@ -3426,11 +3583,12 @@ call <function>fe_setauthsvc</function> at all.
 </para>
 
 <para>
-<application>libpq</application> applications that use the <literal>crypt</literal>
-authentication method rely on the <literal>crypt()</literal> operating
-system function, which is often not thread-safe. It is better to use the
-<literal>md5</literal> method, which is thread-safe on all
-platforms.
+<application>libpq</application> applications that use the
+<literal>crypt</literal> authentication method rely on the
+<literal>crypt()</literal> operating system function, which is often
+not thread-safe.<indexterm><primary>crypt</><secondary>thread
+safety</></> It is better to use the <literal>md5</literal> method,
+which is thread-safe on all platforms.
 </para>
 </sect1>
 
@@ -3438,6 +3596,11 @@ platforms.
  <sect1 id="libpq-build">
   <title>Building <application>libpq</application> Programs</title>
 
+  <indexterm zone="libpq-build">
+   <primary>compiling</primary>
+   <secondary>libpq applications</secondary>
+  </indexterm>
+
   <para>
    To build (i.e., compile and link) your <application>libpq</application> programs you need to
    do all of the following things:
@@ -3482,12 +3645,12 @@ CPPFLAGS += -I/usr/local/pgsql/include
      </para>
 
      <para>
-      <indexterm><primary>pg_config</></>
       If there is any chance that your program might be compiled by
       other users then you should not hardcode the directory location
       like that.  Instead, you can run the utility
-      <command>pg_config</command> to find out where the header files
-      are on the local system:
+      <command>pg_config</command><indexterm><primary>pg_config</><secondary
+      sortas="libpq">with libpq</></> to find out where the header
+      files are on the local system:
 <screen>
 <prompt>$</prompt> pg_config --includedir
 <computeroutput>/usr/local/include</computeroutput>
@@ -3576,7 +3739,7 @@ testlibpq.o(.text+0xa4): undefined reference to `PQerrorMessage'
 /*
  * testlibpq.c
  *
- *             Test the C version of LIBPQ, the POSTGRES frontend library.
+ *              Test the C version of LIBPQ, the POSTGRES frontend library.
  */
 #include &lt;stdio.h&gt;
 #include &lt;stdlib.h&gt;
@@ -3585,112 +3748,112 @@ testlibpq.o(.text+0xa4): undefined reference to `PQerrorMessage'
 static void
 exit_nicely(PGconn *conn)
 {
-       PQfinish(conn);
-       exit(1);
+        PQfinish(conn);
+        exit(1);
 }
 
 int
 main(int argc, char **argv)
 {
-       const char *conninfo;
-       PGconn     *conn;
-       PGresult   *res;
-       int                     nFields;
-       int                     i,
-                               j;
-
-       /*
-        * If the user supplies a parameter on the command line, use it as
-        * the conninfo string; otherwise default to setting dbname=template1
-        * and using environment variables or defaults for all other connection
-        * parameters.
-        */
-       if (argc &gt; 1)
-               conninfo = argv[1];
-       else
-               conninfo = "dbname = template1";
-
-       /* Make a connection to the database */
-       conn = PQconnectdb(conninfo);
-
-       /* Check to see that the backend connection was successfully made */
-       if (PQstatus(conn) != CONNECTION_OK)
-       {
-               fprintf(stderr, "Connection to database '%s' failed.\n", PQdb(conn));
-               fprintf(stderr, "%s", PQerrorMessage(conn));
-               exit_nicely(conn);
-       }
-
-       /*
-        * Our test case here involves using a cursor, for which we must be
-        * inside a transaction block.  We could do the whole thing with a
-        * single PQexec() of "select * from pg_database", but that's too
-        * trivial to make a good example.
-        */
-
-       /* Start a transaction block */
-       res = PQexec(conn, "BEGIN");
-       if (PQresultStatus(res) != PGRES_COMMAND_OK)
-       {
-               fprintf(stderr, "BEGIN command failed: %s", PQerrorMessage(conn));
-               PQclear(res);
-               exit_nicely(conn);
-       }
-
-       /*
-        * Should PQclear PGresult whenever it is no longer needed to avoid
-        * memory leaks
-        */
-       PQclear(res);
-
-       /*
-        * Fetch rows from pg_database, the system catalog of databases
-        */
-       res = PQexec(conn, "DECLARE myportal CURSOR FOR select * from pg_database");
-       if (PQresultStatus(res) != PGRES_COMMAND_OK)
-       {
-               fprintf(stderr, "DECLARE CURSOR failed: %s", PQerrorMessage(conn));
-               PQclear(res);
-               exit_nicely(conn);
-       }
-       PQclear(res);
-
-       res = PQexec(conn, "FETCH ALL in myportal");
-       if (PQresultStatus(res) != PGRES_TUPLES_OK)
-       {
-               fprintf(stderr, "FETCH ALL failed: %s", PQerrorMessage(conn));
-               PQclear(res);
-               exit_nicely(conn);
-       }
-
-       /* first, print out the attribute names */
-       nFields = PQnfields(res);
-       for (i = 0; i &lt; nFields; i++)
-               printf("%-15s", PQfname(res, i));
-       printf("\n\n");
-
-       /* next, print out the rows */
-       for (i = 0; i &lt; PQntuples(res); i++)
-       {
-               for (j = 0; j &lt; nFields; j++)
-                       printf("%-15s", PQgetvalue(res, i, j));
-               printf("\n");
-       }
-
-       PQclear(res);
-
-       /* close the portal ... we don't bother to check for errors ... */
-       res = PQexec(conn, "CLOSE myportal");
-       PQclear(res);
-
-       /* end the transaction */
-       res = PQexec(conn, "END");
-       PQclear(res);
-
-       /* close the connection to the database and cleanup */
-       PQfinish(conn);
-
-       return 0;
+        const char *conninfo;
+        PGconn     *conn;
+        PGresult   *res;
+        int                     nFields;
+        int                     i,
+                                j;
+
+        /*
+         * If the user supplies a parameter on the command line, use it as
+         * the conninfo string; otherwise default to setting dbname=template1
+         * and using environment variables or defaults for all other connection
+         * parameters.
+         */
+        if (argc &gt; 1)
+                conninfo = argv[1];
+        else
+                conninfo = "dbname = template1";
+
+        /* Make a connection to the database */
+        conn = PQconnectdb(conninfo);
+
+        /* Check to see that the backend connection was successfully made */
+        if (PQstatus(conn) != CONNECTION_OK)
+        {
+                fprintf(stderr, "Connection to database '%s' failed.\n", PQdb(conn));
+                fprintf(stderr, "%s", PQerrorMessage(conn));
+                exit_nicely(conn);
+        }
+
+        /*
+         * Our test case here involves using a cursor, for which we must be
+         * inside a transaction block.  We could do the whole thing with a
+         * single PQexec() of "select * from pg_database", but that's too
+         * trivial to make a good example.
+         */
+
+        /* Start a transaction block */
+        res = PQexec(conn, "BEGIN");
+        if (PQresultStatus(res) != PGRES_COMMAND_OK)
+        {
+                fprintf(stderr, "BEGIN command failed: %s", PQerrorMessage(conn));
+                PQclear(res);
+                exit_nicely(conn);
+        }
+
+        /*
+         * Should PQclear PGresult whenever it is no longer needed to avoid
+         * memory leaks
+         */
+        PQclear(res);
+
+        /*
+         * Fetch rows from pg_database, the system catalog of databases
+         */
+        res = PQexec(conn, "DECLARE myportal CURSOR FOR select * from pg_database");
+        if (PQresultStatus(res) != PGRES_COMMAND_OK)
+        {
+                fprintf(stderr, "DECLARE CURSOR failed: %s", PQerrorMessage(conn));
+                PQclear(res);
+                exit_nicely(conn);
+        }
+        PQclear(res);
+
+        res = PQexec(conn, "FETCH ALL in myportal");
+        if (PQresultStatus(res) != PGRES_TUPLES_OK)
+        {
+                fprintf(stderr, "FETCH ALL failed: %s", PQerrorMessage(conn));
+                PQclear(res);
+                exit_nicely(conn);
+        }
+
+        /* first, print out the attribute names */
+        nFields = PQnfields(res);
+        for (i = 0; i &lt; nFields; i++)
+                printf("%-15s", PQfname(res, i));
+        printf("\n\n");
+
+        /* next, print out the rows */
+        for (i = 0; i &lt; PQntuples(res); i++)
+        {
+                for (j = 0; j &lt; nFields; j++)
+                        printf("%-15s", PQgetvalue(res, i, j));
+                printf("\n");
+        }
+
+        PQclear(res);
+
+        /* close the portal ... we don't bother to check for errors ... */
+        res = PQexec(conn, "CLOSE myportal");
+        PQclear(res);
+
+        /* end the transaction */
+        res = PQexec(conn, "END");
+        PQclear(res);
+
+        /* close the connection to the database and cleanup */
+        PQfinish(conn);
+
+        return 0;
 }
 </programlisting>
   </example>
@@ -3701,7 +3864,7 @@ main(int argc, char **argv)
 <programlisting>
 /*
  * testlibpq2.c
- *             Test of the asynchronous notification interface
+ *              Test of the asynchronous notification interface
  *
  * Start this program, then from psql in another window do
  *   NOTIFY TBL2;
@@ -3732,102 +3895,102 @@ main(int argc, char **argv)
 static void
 exit_nicely(PGconn *conn)
 {
-       PQfinish(conn);
-       exit(1);
+        PQfinish(conn);
+        exit(1);
 }
 
 int
 main(int argc, char **argv)
 {
-       const char *conninfo;
-       PGconn     *conn;
-       PGresult   *res;
-       PGnotify   *notify;
-       int                     nnotifies;
-
-       /*
-        * If the user supplies a parameter on the command line, use it as
-        * the conninfo string; otherwise default to setting dbname=template1
-        * and using environment variables or defaults for all other connection
-        * parameters.
-        */
-       if (argc &gt; 1)
-               conninfo = argv[1];
-       else
-               conninfo = "dbname = template1";
-
-       /* Make a connection to the database */
-       conn = PQconnectdb(conninfo);
-
-       /* Check to see that the backend connection was successfully made */
-       if (PQstatus(conn) != CONNECTION_OK)
-       {
-               fprintf(stderr, "Connection to database '%s' failed.\n", PQdb(conn));
-               fprintf(stderr, "%s", PQerrorMessage(conn));
-               exit_nicely(conn);
-       }
-
-       /*
-        * Issue LISTEN command to enable notifications from the rule's NOTIFY.
-        */
-       res = PQexec(conn, "LISTEN TBL2");
-       if (PQresultStatus(res) != PGRES_COMMAND_OK)
-       {
-               fprintf(stderr, "LISTEN command failed: %s", PQerrorMessage(conn));
-               PQclear(res);
-               exit_nicely(conn);
-       }
-
-       /*
-        * should PQclear PGresult whenever it is no longer needed to avoid
-        * memory leaks
-        */
-       PQclear(res);
-
-       /* Quit after four notifies are received. */
-       nnotifies = 0;
-       while (nnotifies &lt; 4)
-       {
-               /*
-                * Sleep until something happens on the connection.  We use select(2)
-                * to wait for input, but you could also use poll() or similar
-                * facilities.
-                */
-               int                     sock;
-               fd_set          input_mask;
-
-               sock = PQsocket(conn);
-
-               if (sock &lt; 0)
-                       break;                          /* shouldn't happen */
-
-               FD_ZERO(&amp;input_mask);
-               FD_SET(sock, &amp;input_mask);
-
-               if (select(sock + 1, &amp;input_mask, NULL, NULL, NULL) &lt; 0)
-               {
-                       fprintf(stderr, "select() failed: %s\n", strerror(errno));
-                       exit_nicely(conn);
-               }
-
-               /* Now check for input */
-               PQconsumeInput(conn);
-               while ((notify = PQnotifies(conn)) != NULL)
-               {
-                       fprintf(stderr,
-                                       "ASYNC NOTIFY of '%s' received from backend pid %d\n",
-                                       notify-&gt;relname, notify-&gt;be_pid);
-                       PQfreemem(notify);
-                       nnotifies++;
-               }
-       }
-
-       fprintf(stderr, "Done.\n");
-
-       /* close the connection to the database and cleanup */
-       PQfinish(conn);
-
-       return 0;
+        const char *conninfo;
+        PGconn     *conn;
+        PGresult   *res;
+        PGnotify   *notify;
+        int                     nnotifies;
+
+        /*
+         * If the user supplies a parameter on the command line, use it as
+         * the conninfo string; otherwise default to setting dbname=template1
+         * and using environment variables or defaults for all other connection
+         * parameters.
+         */
+        if (argc &gt; 1)
+                conninfo = argv[1];
+        else
+                conninfo = "dbname = template1";
+
+        /* Make a connection to the database */
+        conn = PQconnectdb(conninfo);
+
+        /* Check to see that the backend connection was successfully made */
+        if (PQstatus(conn) != CONNECTION_OK)
+        {
+                fprintf(stderr, "Connection to database '%s' failed.\n", PQdb(conn));
+                fprintf(stderr, "%s", PQerrorMessage(conn));
+                exit_nicely(conn);
+        }
+
+        /*
+         * Issue LISTEN command to enable notifications from the rule's NOTIFY.
+         */
+        res = PQexec(conn, "LISTEN TBL2");
+        if (PQresultStatus(res) != PGRES_COMMAND_OK)
+        {
+                fprintf(stderr, "LISTEN command failed: %s", PQerrorMessage(conn));
+                PQclear(res);
+                exit_nicely(conn);
+        }
+
+        /*
+         * should PQclear PGresult whenever it is no longer needed to avoid
+         * memory leaks
+         */
+        PQclear(res);
+
+        /* Quit after four notifies are received. */
+        nnotifies = 0;
+        while (nnotifies &lt; 4)
+        {
+                /*
+                 * Sleep until something happens on the connection.  We use select(2)
+                 * to wait for input, but you could also use poll() or similar
+                 * facilities.
+                 */
+                int                     sock;
+                fd_set          input_mask;
+
+                sock = PQsocket(conn);
+
+                if (sock &lt; 0)
+                        break;                          /* shouldn't happen */
+
+                FD_ZERO(&amp;input_mask);
+                FD_SET(sock, &amp;input_mask);
+
+                if (select(sock + 1, &amp;input_mask, NULL, NULL, NULL) &lt; 0)
+                {
+                        fprintf(stderr, "select() failed: %s\n", strerror(errno));
+                        exit_nicely(conn);
+                }
+
+                /* Now check for input */
+                PQconsumeInput(conn);
+                while ((notify = PQnotifies(conn)) != NULL)
+                {
+                        fprintf(stderr,
+                                        "ASYNC NOTIFY of '%s' received from backend pid %d\n",
+                                        notify-&gt;relname, notify-&gt;be_pid);
+                        PQfreemem(notify);
+                        nnotifies++;
+                }
+        }
+
+        fprintf(stderr, "Done.\n");
+
+        /* close the connection to the database and cleanup */
+        PQfinish(conn);
+
+        return 0;
 }
 </programlisting>
   </example>
@@ -3838,7 +4001,7 @@ main(int argc, char **argv)
 <programlisting>
 /*
  * testlibpq3.c
- *             Test out-of-line parameters and binary I/O.
+ *              Test out-of-line parameters and binary I/O.
  *
  * Before running this, populate a database with the following commands
  * (provided in src/test/examples/testlibpq3.sql):
@@ -3870,125 +4033,125 @@ main(int argc, char **argv)
 static void
 exit_nicely(PGconn *conn)
 {
-       PQfinish(conn);
-       exit(1);
+        PQfinish(conn);
+        exit(1);
 }
 
 int
 main(int argc, char **argv)
 {
-       const char *conninfo;
-       PGconn     *conn;
-       PGresult   *res;
-       const char *paramValues[1];
-       int                     i,
-                               j;
-       int                     i_fnum,
-                               t_fnum,
-                               b_fnum;
-
-       /*
-        * If the user supplies a parameter on the command line, use it as
-        * the conninfo string; otherwise default to setting dbname=template1
-        * and using environment variables or defaults for all other connection
-        * parameters.
-        */
-       if (argc &gt; 1)
-               conninfo = argv[1];
-       else
-               conninfo = "dbname = template1";
-
-       /* Make a connection to the database */
-       conn = PQconnectdb(conninfo);
-
-       /* Check to see that the backend connection was successfully made */
-       if (PQstatus(conn) != CONNECTION_OK)
-       {
-               fprintf(stderr, "Connection to database '%s' failed.\n", PQdb(conn));
-               fprintf(stderr, "%s", PQerrorMessage(conn));
-               exit_nicely(conn);
-       }
-
-       /*
-        * The point of this program is to illustrate use of PQexecParams()
-        * with out-of-line parameters, as well as binary transmission of
-        * results.  By using out-of-line parameters we can avoid a lot of
-        * tedious mucking about with quoting and escaping.  Notice how we
-        * don't have to do anything special with the quote mark in the
-        * parameter value.
-        */
-
-       /* Here is our out-of-line parameter value */
-       paramValues[0] = "joe's place";
-
-       res = PQexecParams(conn,
-                                          "SELECT * FROM test1 WHERE t = $1",
-                                          1,           /* one param */
-                                          NULL,        /* let the backend deduce param type */
-                                          paramValues,
-                                          NULL,        /* don't need param lengths since text */
-                                          NULL,        /* default to all text params */
-                                          1);          /* ask for binary results */
-
-       if (PQresultStatus(res) != PGRES_TUPLES_OK)
-       {
-               fprintf(stderr, "SELECT failed: %s", PQerrorMessage(conn));
-               PQclear(res);
-               exit_nicely(conn);
-       }
-
-       /* Use PQfnumber to avoid assumptions about field order in result */
-       i_fnum = PQfnumber(res, "i");
-       t_fnum = PQfnumber(res, "t");
-       b_fnum = PQfnumber(res, "b");
-
-       for (i = 0; i &lt; PQntuples(res); i++)
-       {
-               char       *iptr;
-               char       *tptr;
-               char       *bptr;
-               int                     blen;
-               int                     ival;
-
-               /* Get the field values (we ignore possibility they are null!) */
-               iptr = PQgetvalue(res, i, i_fnum);
-               tptr = PQgetvalue(res, i, t_fnum);
-               bptr = PQgetvalue(res, i, b_fnum);
-
-               /*
-                * The binary representation of INT4 is in network byte order,
-                * which we'd better coerce to the local byte order.
-                */
-               ival = ntohl(*((uint32_t *) iptr));
-
-               /*
-                * The binary representation of TEXT is, well, text, and since
-                * libpq was nice enough to append a zero byte to it, it'll work
-                * just fine as a C string.
-                *
-                * The binary representation of BYTEA is a bunch of bytes, which
-                * could include embedded nulls so we have to pay attention to
-                * field length.
-                */
-               blen = PQgetlength(res, i, b_fnum);
-
-               printf("tuple %d: got\n", i);
-               printf(" i = (%d bytes) %d\n",
-                          PQgetlength(res, i, i_fnum), ival);
-               printf(" t = (%d bytes) '%s'\n",
-                          PQgetlength(res, i, t_fnum), tptr);
-               printf(" b = (%d bytes) ", blen);
-               for (j = 0; j &lt; blen; j++)
-                       printf("\\%03o", bptr[j]);
-               printf("\n\n");
-       }
-
-       PQclear(res);
-
-       /* close the connection to the database and cleanup */
-       PQfinish(conn);
-
-       return 0;
+        const char *conninfo;
+        PGconn     *conn;
+        PGresult   *res;
+        const char *paramValues[1];
+        int                     i,
+                                j;
+        int                     i_fnum,
+                                t_fnum,
+                                b_fnum;
+
+        /*
+         * If the user supplies a parameter on the command line, use it as
+         * the conninfo string; otherwise default to setting dbname=template1
+         * and using environment variables or defaults for all other connection
+         * parameters.
+         */
+        if (argc &gt; 1)
+                conninfo = argv[1];
+        else
+                conninfo = "dbname = template1";
+
+        /* Make a connection to the database */
+        conn = PQconnectdb(conninfo);
+
+        /* Check to see that the backend connection was successfully made */
+        if (PQstatus(conn) != CONNECTION_OK)
+        {
+                fprintf(stderr, "Connection to database '%s' failed.\n", PQdb(conn));
+                fprintf(stderr, "%s", PQerrorMessage(conn));
+                exit_nicely(conn);
+        }
+
+        /*
+         * The point of this program is to illustrate use of PQexecParams()
+         * with out-of-line parameters, as well as binary transmission of
+         * results.  By using out-of-line parameters we can avoid a lot of
+         * tedious mucking about with quoting and escaping.  Notice how we
+         * don't have to do anything special with the quote mark in the
+         * parameter value.
+         */
+
+        /* Here is our out-of-line parameter value */
+        paramValues[0] = "joe's place";
+
+        res = PQexecParams(conn,
+                                           "SELECT * FROM test1 WHERE t = $1",
+                                           1,           /* one param */
+                                           NULL,        /* let the backend deduce param type */
+                                           paramValues,
+                                           NULL,        /* don't need param lengths since text */
+                                           NULL,        /* default to all text params */
+                                           1);          /* ask for binary results */
+
+        if (PQresultStatus(res) != PGRES_TUPLES_OK)
+        {
+                fprintf(stderr, "SELECT failed: %s", PQerrorMessage(conn));
+                PQclear(res);
+                exit_nicely(conn);
+        }
+
+        /* Use PQfnumber to avoid assumptions about field order in result */
+        i_fnum = PQfnumber(res, "i");
+        t_fnum = PQfnumber(res, "t");
+        b_fnum = PQfnumber(res, "b");
+
+        for (i = 0; i &lt; PQntuples(res); i++)
+        {
+                char       *iptr;
+                char       *tptr;
+                char       *bptr;
+                int                     blen;
+                int                     ival;
+
+                /* Get the field values (we ignore possibility they are null!) */
+                iptr = PQgetvalue(res, i, i_fnum);
+                tptr = PQgetvalue(res, i, t_fnum);
+                bptr = PQgetvalue(res, i, b_fnum);
+
+                /*
+                 * The binary representation of INT4 is in network byte order,
+                 * which we'd better coerce to the local byte order.
+                 */
+                ival = ntohl(*((uint32_t *) iptr));
+
+                /*
+                 * The binary representation of TEXT is, well, text, and since
+                 * libpq was nice enough to append a zero byte to it, it'll work
+                 * just fine as a C string.
+                 *
+                 * The binary representation of BYTEA is a bunch of bytes, which
+                 * could include embedded nulls so we have to pay attention to
+                 * field length.
+                 */
+                blen = PQgetlength(res, i, b_fnum);
+
+                printf("tuple %d: got\n", i);
+                printf(" i = (%d bytes) %d\n",
+                           PQgetlength(res, i, i_fnum), ival);
+                printf(" t = (%d bytes) '%s'\n",
+                           PQgetlength(res, i, t_fnum), tptr);
+                printf(" b = (%d bytes) ", blen);
+                for (j = 0; j &lt; blen; j++)
+                        printf("\\%03o", bptr[j]);
+                printf("\n\n");
+        }
+
+        PQclear(res);
+
+        /* close the connection to the database and cleanup */
+        PQfinish(conn);
+
+        return 0;
 }
 </programlisting>
   </example>
index 83315270f2d47877594a8a9a1afb4d369a4f2610..4729f8f733aadc5fd1255630a53e503cbe4060f4 100644 (file)
@@ -113,6 +113,7 @@ $Header$
 <synopsis>
 Oid lo_creat(PGconn *conn, int mode);
 </synopsis>
+     <indexterm><primary>lo_creat</></>
      creates a new large  object.  
      <replaceable class="parameter">mode</replaceable>  is  a  bit mask
      describing  several  different  attributes  of  the new
@@ -143,7 +144,8 @@ inv_oid = lo_creat(INV_READ|INV_WRITE);
 <synopsis>
 Oid lo_import(PGconn *conn, const char *filename);
 </synopsis>
-    <replaceable class="parameter">filename</replaceable> 
+     <indexterm><primary>lo_import</></>
+     <replaceable class="parameter">filename</replaceable> 
      specifies the operating system name of
      the file to be imported as a large object.
      The return value is the OID that was assigned to the new large object.
@@ -159,6 +161,7 @@ Oid lo_import(PGconn *conn, const char *filename);
 <synopsis>
 int lo_export(PGconn *conn, Oid lobjId, const char *filename);
 </synopsis>
+     <indexterm><primary>lo_export</></>
      The <parameter>lobjId</parameter> argument specifies  the  OID  of  the  large
      object  to  export  and the <parameter>filename</parameter> argument specifies
      the operating system name name of the file.
@@ -173,6 +176,7 @@ int lo_export(PGconn *conn, Oid lobjId, const char *filename);
 <synopsis>
 int lo_open(PGconn *conn, Oid lobjId, int mode);
 </synopsis>
+     <indexterm><primary>lo_open</></>
      The <parameter>lobjId</parameter> argument specifies  the  OID  of  the  large
      object  to  open.   The  <parameter>mode</parameter>  bits control whether the
      object is opened  for  reading  (<symbol>INV_READ</>),  writing (<symbol>INV_WRITE</symbol>),  or
@@ -194,10 +198,13 @@ int lo_open(PGconn *conn, Oid lobjId, int mode);
 <synopsis>
 int lo_write(PGconn *conn, int fd, const char *buf, size_t len);
 </synopsis>
-     writes <parameter>len</parameter> bytes from <parameter>buf</parameter> to large object <parameter>fd</>.   The <parameter>fd</parameter>
-     argument must have been returned by a previous <function>lo_open</function>.
-     The number of bytes actually written is  returned.   In
-     the event of an error, the return value is negative.
+     <indexterm><primary>lo_write</></> writes
+     <parameter>len</parameter> bytes from <parameter>buf</parameter>
+     to large object <parameter>fd</>.  The <parameter>fd</parameter>
+     argument must have been returned by a previous
+     <function>lo_open</function>.  The number of bytes actually
+     written is returned.  In the event of an error, the return value
+     is negative.
 </para>
 </sect2>
 
@@ -209,10 +216,13 @@ int lo_write(PGconn *conn, int fd, const char *buf, size_t len);
 <synopsis>
 int lo_read(PGconn *conn, int fd, char *buf, size_t len);
 </synopsis>
-     reads <parameter>len</parameter> bytes from large object <parameter>fd</parameter> into <parameter>buf</parameter>. The  <parameter>fd</parameter>
-     argument must have been returned by a previous <function>lo_open</function>.
-     The number of bytes actually read is returned. In
-     the event of an error, the return value is negative.
+     <indexterm><primary>lo_read</></> reads
+     <parameter>len</parameter> bytes from large object
+     <parameter>fd</parameter> into <parameter>buf</parameter>. The
+     <parameter>fd</parameter> argument must have been returned by a
+     previous <function>lo_open</function>.  The number of bytes
+     actually read is returned. In the event of an error, the return
+     value is negative.
 </para>
 </sect2>
 
@@ -225,10 +235,14 @@ int lo_read(PGconn *conn, int fd, char *buf, size_t len);
 <synopsis>
 int lo_lseek(PGconn *conn, int fd, int offset, int whence);
 </synopsis>
-     This function moves the current location pointer for the
-     large object described by <parameter>fd</> to the new location specified 
-     by <parameter>offset</>.  The valid values for <parameter>whence</> are
-     <symbol>SEEK_SET</> (seek from object start), <symbol>SEEK_CUR</> (seek from current position), and <symbol>SEEK_END</> (seek from object end).  The return value is the new location pointer.
+     <indexterm><primary>lo_lseek</></> This function moves the
+     current location pointer for the large object described by
+     <parameter>fd</> to the new location specified by
+     <parameter>offset</>.  The valid values for <parameter>whence</>
+     are <symbol>SEEK_SET</> (seek from object start),
+     <symbol>SEEK_CUR</> (seek from current position), and
+     <symbol>SEEK_END</> (seek from object end).  The return value is
+     the new location pointer.
 </para>
 </sect2>
 
@@ -241,7 +255,8 @@ int lo_lseek(PGconn *conn, int fd, int offset, int whence);
 <synopsis>
 int lo_tell(PGconn *conn, int fd);
 </synopsis>
-     If there is an error, the return value is negative.
+     <indexterm><primary>lo_tell</></> If there is an error, the
+     return value is negative.
 </para>
 </sect2>
 
@@ -253,9 +268,10 @@ int lo_tell(PGconn *conn, int fd);
 <synopsis>
 int lo_close(PGconn *conn, int fd);
 </synopsis>
-     where  <parameter>fd</>  is  a  large  object  descriptor returned by
-     <function>lo_open</function>.  On success, <function>lo_close</function>
-      returns zero.  On error, the return value is negative.
+     <indexterm><primary>lo_close</></> where <parameter>fd</> is a
+     large object descriptor returned by <function>lo_open</function>.
+     On success, <function>lo_close</function> returns zero.  On
+     error, the return value is negative.
 </para>
 
 <para>
@@ -272,8 +288,10 @@ int lo_close(PGconn *conn, int fd);
 <synopsis>
 int lo_unlink(PGconn *conn, Oid lobjId);
 </synopsis>
-     The <parameter>lobjId</parameter> argument specifies  the  OID  of  the  large
-     object  to  remove.  In the event of an error, the return value is negative.
+     <indexterm><primary>lo_unlink</></> The
+     <parameter>lobjId</parameter> argument specifies the OID of the
+     large object to remove.  In the event of an error, the return
+     value is negative.
     </para>
    </sect2>
 
@@ -284,11 +302,13 @@ int lo_unlink(PGconn *conn, Oid lobjId);
 <title>Server-side Functions</title>
 
 <para>
-     There  are two built-in server-side functions, <function>lo_import</function>
-     and <function>lo_export</function>, for large object access, which are available for use
-    in  <acronym>SQL</acronym>
-     commands.
-     Here is an example of their use:
+     There are two built-in server-side functions,
+     <function>lo_import</function><indexterm><primary>lo_import</></>
+     and
+     <function>lo_export</function>,<indexterm><primary>lo_export</></>
+     for large object access, which are available for use in
+     <acronym>SQL</acronym> commands.  Here is an example of their
+     use:
 <programlisting>
 CREATE TABLE image (
     name            text,
index 0a7821c96a28124adeebd7a8e6dd0dbf2dff52b5..b801b2133c6960a079ec17d7ff81ba9f16ce2a3c 100644 (file)
@@ -5,6 +5,10 @@ $Header$
 <chapter id="maintenance">
  <title>Routine Database Maintenance Tasks</title>
 
+ <indexterm zone="maintenance">
+  <primary>maintenance</primary>
+ </indexterm>
+
   <para>
    There are a few routine maintenance chores that must be performed on
    a regular basis to keep a <productname>PostgreSQL</productname>
@@ -158,6 +162,15 @@ $Header$
   <sect2 id="vacuum-for-statistics">
    <title>Updating planner statistics</title>
 
+   <indexterm zone="vacuum-for-statistics">
+    <primary>statistics</primary>
+    <secondary>of the planner</secondary>
+   </indexterm>
+
+   <indexterm zone="vacuum-for-statistics">
+    <primary>ANALYZE</primary>
+   </indexterm>
+
    <para>
     The <productname>PostgreSQL</productname> query planner relies on
     statistical information about the contents of tables in order to
@@ -396,7 +409,8 @@ VACUUM
   <title>Log File Maintenance</title>
 
   <indexterm zone="logfile-maintenance">
-   <primary>log files</primary>
+   <primary>server log</primary>
+   <secondary>log file maintenance</secondary>
   </indexterm>
 
   <para>
index fbfcf7c471a220463cbf6c596d80ae9e639a3710..4cfc703c71df86e00f3930a9285536a5d4eeaa7d 100644 (file)
@@ -19,6 +19,10 @@ $Header$
  <sect1 id="manage-ag-overview">
   <title>Overview</title>
 
+  <indexterm zone="manage-ag-overview">
+   <primary>schema</primary>
+  </indexterm>
+
   <para>
    A database is a named collection of <acronym>SQL</acronym> objects
    (<quote>database objects</quote>).  Generally, every database
@@ -70,8 +74,8 @@ $Header$
   </para>
 
   <para>
-   Databases are created with the SQL command
-   <command>CREATE DATABASE</command>:
+   Databases are created with the SQL command <command>CREATE
+   DATABASE</command>:<indexterm><primary>CREATE DATABASE</></>
 <synopsis>
 CREATE DATABASE <replaceable>name</>;
 </synopsis>
@@ -93,9 +97,10 @@ CREATE DATABASE <replaceable>name</>;
    question remains how the <emphasis>first</> database at any given
    site can be created. The first database is always created by the
    <command>initdb</> command when the data storage area is
-   initialized. (See <xref linkend="creating-cluster">.)
-   This database is called <literal>template1</>. So to create the
-   first <quote>real</> database you can connect to
+   initialized. (See <xref linkend="creating-cluster">.)  This
+   database is called
+   <literal>template1</>.<indexterm><primary>template1</></> So to
+   create the first <quote>real</> database you can connect to
    <literal>template1</>.
   </para>
 
@@ -112,7 +117,7 @@ CREATE DATABASE <replaceable>name</>;
   <para>
    As an extra convenience, there is also a program that you can
    execute from the shell to create new databases,
-   <command>createdb</>.
+   <command>createdb</>.<indexterm><primary>createdb</></>
 
 <synopsis>
 createdb <replaceable class="parameter">dbname</replaceable>
@@ -157,31 +162,33 @@ createdb -O <replaceable>username</> <replaceable>dbname</>
   <para>
    <command>CREATE DATABASE</> actually works by copying an existing
    database.  By default, it copies the standard system database named
-   <literal>template1</>.  Thus that database is the <quote>template</>
-   from which new databases are made.  If you add objects to
-   <literal>template1</>, these objects 
+   <literal>template1</>.<indexterm><primary>template1</></> Thus that
+   database is the <quote>template</> from which new databases are
+   made.  If you add objects to <literal>template1</>, these objects
    will be copied into subsequently created user databases.  This
    behavior allows site-local modifications to the standard set of
    objects in databases.  For example, if you install the procedural
    language <application>PL/pgSQL</> in <literal>template1</>, it will
-   automatically be available in user databases without any extra action
-   being taken when those databases are made.
+   automatically be available in user databases without any extra
+   action being taken when those databases are made.
   </para>
 
   <para>
-   There is a second standard system database named <literal>template0</>.
-   This database contains the same data as the initial contents of
-   <literal>template1</>, that is, only the standard objects predefined by
-   your version of <productname>PostgreSQL</productname>.
-     <literal>template0</> should never be changed 
-   after <command>initdb</>.  By instructing <command>CREATE DATABASE</> to
-   copy <literal>template0</> instead of <literal>template1</>, you can
-   create a <quote>virgin</> user database that contains none of the
-   site-local additions in <literal>template1</>.  This is particularly
-   handy when restoring a <literal>pg_dump</> dump: the dump script should
-   be restored in a virgin database to ensure that one recreates the
-   correct contents of the dumped database, without any conflicts with
-   additions that may now be present in <literal>template1</>.
+   There is a second standard system database named
+   <literal>template0</>.<indexterm><primary>template0</></> This
+   database contains the same data as the initial contents of
+   <literal>template1</>, that is, only the standard objects
+   predefined by your version of
+   <productname>PostgreSQL</productname>.  <literal>template0</>
+   should never be changed after <command>initdb</>.  By instructing
+   <command>CREATE DATABASE</> to copy <literal>template0</> instead
+   of <literal>template1</>, you can create a <quote>virgin</> user
+   database that contains none of the site-local additions in
+   <literal>template1</>.  This is particularly handy when restoring a
+   <literal>pg_dump</> dump: the dump script should be restored in a
+   virgin database to ensure that one recreates the correct contents
+   of the dumped database, without any conflicts with additions that
+   may now be present in <literal>template1</>.
   </para>
 
   <para>
@@ -214,7 +221,7 @@ createdb -T template0 <replaceable>dbname</>
   </para>
 
   <para>
-   Two useful flags exist in <literal>pg_database</literal> for each
+   Two useful flags exist in <literal>pg_database</literal><indexterm><primary>pg_database</></> for each
    database: the columns <literal>datistemplate</literal> and
    <literal>datallowconn</literal>.  <literal>datistemplate</literal>
    may be set to indicate that a database is intended as a template for
@@ -382,7 +389,8 @@ gmake CPPFLAGS=-DALLOW_ABSOLUTE_DBPATHS all
   <title>Destroying a Database</title>
 
   <para>
-   Databases are destroyed with the command <command>DROP DATABASE</command>:
+   Databases are destroyed with the command <command>DROP
+   DATABASE</command>:<indexterm><primary>DROP DATABASE</></>
 <synopsis>
 DROP DATABASE <replaceable>name</>;
 </synopsis>
@@ -403,7 +411,8 @@ DROP DATABASE <replaceable>name</>;
   </para>
 
   <para>
-   For convenience, there is also a shell program to drop databases:
+   For convenience, there is also a shell program to drop
+   databases:<indexterm><primary>dropdb</></>
 <synopsis>
 dropdb <replaceable class="parameter">dbname</replaceable>
 </synopsis>
index fb0fdabef021a69218b60308cf54ca342f7df2de..7a29af7cf6c1c6fbcc3f141279a11b58ea693cc6 100644 (file)
@@ -5,6 +5,16 @@ $Header$
 <chapter id="monitoring">
  <title>Monitoring Database Activity</title>
 
+ <indexterm zone="monitoring">
+  <primary>monitoring</primary>
+  <secondary>database activity</secondary>
+ </indexterm>
+
+ <indexterm zone="monitoring">
+  <primary>database activity</primary>
+  <secondary>monitoring</secondary>
+ </indexterm>
+
  <para>
   A database administrator frequently wonders, <quote>What is the system
   doing right now?</quote>
@@ -589,6 +599,11 @@ SELECT pg_stat_get_backend_pid(s.backendid) AS procpid,
  <sect1 id="monitoring-locks">
   <title>Viewing Locks</title>
 
+  <indexterm zone="monitoring-locks">
+   <primary>lock</primary>
+   <secondary>monitoring</secondary>
+  </indexterm>
+
   <para>
    Another useful tool for monitoring database activity is the
    <literal>pg_locks</literal> system table.  It allows the
index dd50529b782cf249d7bdf0426abc5d17ebd9ac80..11dcf55de6869e103eb5c00a3e911b8838d039d2 100644 (file)
@@ -22,6 +22,10 @@ $Header$
   <sect1 id="mvcc-intro">
    <title>Introduction</title>
 
+   <indexterm>
+    <primary>MVCC</primary>
+   </indexterm>
+
    <para>
     Unlike traditional database systems which use locks for concurrency control,
     <productname>PostgreSQL</productname>
@@ -57,6 +61,10 @@ $Header$
   <sect1 id="transaction-iso">
    <title>Transaction Isolation</title>
 
+   <indexterm>
+    <primary>transaction isolation</primary>
+   </indexterm>
+
    <para>
     The <acronym>SQL</acronym> standard defines four levels of
     transaction isolation in terms of three phenomena that must be
@@ -108,7 +116,7 @@ $Header$
 
    <para>
     <indexterm>
-     <primary>isolation levels</primary>
+     <primary>transaction isolation level</primary>
     </indexterm>
     The four transaction isolation levels and the corresponding
     behaviors are described in <xref linkend="mvcc-isolevel-table">.
@@ -206,7 +214,7 @@ $Header$
    <title>Read Committed Isolation Level</title>
 
    <indexterm>
-    <primary>isolation levels</primary>
+    <primary>transaction isolation level</primary>
     <secondary>read committed</secondary>
    </indexterm>
 
@@ -292,7 +300,7 @@ COMMIT;
    <title>Serializable Isolation Level</title>
 
    <indexterm>
-    <primary>isolation levels</primary>
+    <primary>transaction isolation level</primary>
     <secondary>serializable</secondary>
    </indexterm>
 
@@ -376,7 +384,7 @@ ERROR:  Can't serialize access due to concurrent update
    <title>Explicit Locking</title>
 
    <indexterm>
-    <primary>locking</primary>
+    <primary>lock</primary>
    </indexterm>
 
    <para>
@@ -394,6 +402,10 @@ ERROR:  Can't serialize access due to concurrent update
   <sect2 id="locking-tables">
    <title>Table-Level Locks</title>
 
+   <indexterm zone="locking-tables">
+    <primary>LOCK</primary>
+   </indexterm>
+
    <para>
     The list below shows the available lock modes and the contexts in
     which they are used automatically by
@@ -644,6 +656,10 @@ ERROR:  Can't serialize access due to concurrent update
    <sect2 id="locking-deadlocks">
     <title>Deadlocks</title>
 
+    <indexterm zone="locking-deadlocks">
+     <primary>deadlock</primary>
+    </indexterm>
+
     <para>
      The use of explicit locking can increase the likelyhood of
      <firstterm>deadlocks</>, wherein two (or more) transactions each
@@ -813,6 +829,11 @@ UPDATE accounts SET balance = balance - 100.00 WHERE acctnum = 22222;
   <sect1 id="locking-indexes">
    <title>Locking and Indexes</title>
 
+   <indexterm zone="locking-indexes">
+    <primary>index</primary>
+    <secondary>locks</secondary>
+   </indexterm>
+
    <para>
     Though <productname>PostgreSQL</productname>
     provides nonblocking read/write access to table
index fc3515b2fda89586fae6f3e3ee880944c4a12eae..080672c6f88304749a8fccdb4c04df1c5b693df5 100644 (file)
@@ -15,6 +15,14 @@ $Header$
   <sect1 id="using-explain">
    <title>Using <command>EXPLAIN</command></title>
 
+   <indexterm zone="using-explain">
+    <primary>EXPLAIN</primary>
+   </indexterm>
+
+   <indexterm zone="using-explain">
+    <primary>query plan</primary>
+   </indexterm>
+
    <para>
     <productname>PostgreSQL</productname> devises a <firstterm>query
     plan</firstterm> for each query it is given.  Choosing the right
@@ -336,6 +344,11 @@ EXPLAIN ANALYZE SELECT * FROM tenk1 t1, tenk2 t2 WHERE t1.unique1 &lt; 50 AND t1
  <sect1 id="planner-stats">
   <title>Statistics Used by the Planner</title>
 
+  <indexterm zone="planner-stats">
+   <primary>statistics</primary>
+   <secondary>of the planner</secondary>
+  </indexterm>
+
   <para>
    As we saw in the previous section, the query planner needs to estimate
    the number of rows retrieved by a query in order to make good choices
@@ -381,6 +394,10 @@ SELECT relname, relkind, reltuples, relpages FROM pg_class WHERE relname LIKE 't
    since it does not read every row of the table.
   </para>
 
+  <indexterm>
+   <primary>pg_statistic</primary>
+  </indexterm>
+
   <para>
    Most queries retrieve only a fraction of the rows in a table, due
    to having <literal>WHERE</> clauses that restrict the rows to be examined.
@@ -393,6 +410,10 @@ SELECT relname, relkind, reltuples, relpages FROM pg_class WHERE relname LIKE 't
    and are always approximate even when freshly updated.
   </para>
 
+  <indexterm>
+   <primary>pg_stats</primary>
+  </indexterm>
+
   <para>
    Rather than look at <structname>pg_statistic</structname> directly,
    it's better to look at its view <structname>pg_stats</structname>
@@ -538,6 +559,11 @@ SELECT attname, n_distinct, most_common_vals FROM pg_stats WHERE tablename = 'ro
  <sect1 id="explicit-joins">
   <title>Controlling the Planner with Explicit <literal>JOIN</> Clauses</title>
 
+  <indexterm zone="explicit-joins">
+   <primary>join</primary>
+   <secondary>controlling the order</secondary>
+  </indexterm>
+
   <para>
    It is possible
    to control the query planner to some extent by using the explicit <literal>JOIN</>
@@ -700,6 +726,10 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse;
   <sect2 id="disable-autocommit">
    <title>Disable Autocommit</title>
 
+   <indexterm zone="disable-autocommit">
+    <primary>autocommit</primary>
+   </indexterm>
+
    <para>
     Turn off autocommit and just do one commit at
     the end.  (In plain SQL, this means issuing <command>BEGIN</command>
index 895c3b7098b72f8d950e6c735d0374b7308a01ad..0dcd1bb05944f2e3293207073a243e59967d82ae 100644 (file)
@@ -73,11 +73,12 @@ CREATE FUNCTION perl_max (integer, integer) RETURNS integer AS '
   </para>
 
   <para>
-   If an SQL null value is passed to a function, the argument value
-   will appear as <quote>undefined</> in Perl.  The above function
-   definition will not behave very nicely with null inputs (in fact,
-   it will act as though they are zeroes).  We could add
-   <literal>STRICT</> to the function definition to make
+   If an SQL null value<indexterm><primary>null value</><secondary
+   sortas="PL/Perl">in PL/Perl</></indexterm> is passed to a function,
+   the argument value will appear as <quote>undefined</> in Perl.  The
+   above function definition will not behave very nicely with null
+   inputs (in fact, it will act as though they are zeroes).  We could
+   add <literal>STRICT</> to the function definition to make
    <productname>PostgreSQL</productname> do something more reasonable:
    if a null value is passed, the function will not be called at all,
    but will just return a null result automatically.  Alternatively,
@@ -170,7 +171,7 @@ SELECT name, empcomp(employee) FROM employee;
    mirror sites</ulink>). This module makes available a
    <acronym>DBI</>-compliant database-handle named
    <varname>$pg_dbh</varname> that can be used to perform queries
-   with normal <acronym>DBI</> syntax.
+   with normal <acronym>DBI</> syntax.<indexterm><primary>DBI</></indexterm>
   </para>
 
   <para>
@@ -180,7 +181,7 @@ SELECT name, empcomp(employee) FROM employee;
     <varlistentry>
      <indexterm>
       <primary>elog</primary>
-      <secondary>PL/Perl</secondary>
+      <secondary>in PL/Perl</secondary>
      </indexterm>
 
      <term><function>elog</> <replaceable>level</replaceable>, <replaceable>msg</replaceable></term>
@@ -202,6 +203,11 @@ SELECT name, empcomp(employee) FROM employee;
  <sect1 id="plperl-trusted">
   <title>Trusted and Untrusted PL/Perl</title>
 
+  <indexterm zone="plperl-trusted">
+   <primary>trusted</primary>
+   <secondary>PL/Perl</secondary>
+  </indexterm>
+
   <para>
    Normally, PL/Perl is installed as a <quote>trusted</> programming
    language named <literal>plperl</>.  In this setup, certain Perl
@@ -231,13 +237,14 @@ CREATE FUNCTION badfunc() RETURNS integer AS '
 
   <para>
    Sometimes it is desirable to write Perl functions that are not
-   restricted.  For example, one might want a Perl function that
-   sends mail.  To handle these cases, PL/Perl can also be installed
-   as an <quote>untrusted</> language (usually called
-   <application>PL/PerlU</application>).  In this case the full Perl language is
-   available.  If the <command>createlang</command> program is used to
-   install the language, the language name <literal>plperlu</literal>
-   will select the untrusted PL/Perl variant.
+   restricted.  For example, one might want a Perl function that sends
+   mail.  To handle these cases, PL/Perl can also be installed as an
+   <quote>untrusted</> language (usually called
+   <application>PL/PerlU</application><indexterm><primary>PL/PerlU</></indexterm>).
+   In this case the full Perl language is available.  If the
+   <command>createlang</command> program is used to install the
+   language, the language name <literal>plperlu</literal> will select
+   the untrusted PL/Perl variant.
   </para>
 
   <para>
@@ -272,7 +279,9 @@ CREATE FUNCTION badfunc() RETURNS integer AS '
 
     <listitem>
      <para>
-      PL/Perl cannot be used to write trigger functions.
+      PL/Perl cannot be used to write trigger
+      functions.<indexterm><primary>trigger</><secondary>in
+      PL/Perl</></indexterm>
      </para>
     </listitem>
 
index e6e1d7570b05cd0a9a9980db4cb0b5497d0eb3ae..902f5db8b1cc7356d84fa2247be35981d578c23a 100644 (file)
@@ -63,20 +63,22 @@ $Header$
    </para>
 
    <para>
-    As each expression and <acronym>SQL</acronym> command is first used
-       in the function, the <application>PL/pgSQL</> interpreter creates
-       a prepared execution plan (using the <acronym>SPI</acronym>
-       manager's <function>SPI_prepare</function> and
-       <function>SPI_saveplan</function> functions).  Subsequent visits
-       to that expression or command reuse the prepared plan.  Thus, a
-       function with conditional code that contains many statements for
-       which execution plans might be required will only prepare and save
-       those plans that are really used during the lifetime of the
-       database connection.  This can substantially reduce the total
-       amount of time required to parse, and generate execution plans for the
-       statements in a <application>PL/pgSQL</> function. A disadvantage is
-       that errors in a specific expression or command may not be detected
-       until that part of the function is reached in execution.
+    As each expression and <acronym>SQL</acronym> command is first
+    used in the function, the <application>PL/pgSQL</> interpreter
+    creates a prepared execution plan (using the
+    <acronym>SPI</acronym> manager's <function>SPI_prepare</function>
+    and <function>SPI_saveplan</function>
+    functions).<indexterm><primary>preparing a query</><secondary>in
+    PL/pgSQL</></> Subsequent visits to that expression or command
+    reuse the prepared plan.  Thus, a function with conditional code
+    that contains many statements for which execution plans might be
+    required will only prepare and save those plans that are really
+    used during the lifetime of the database connection.  This can
+    substantially reduce the total amount of time required to parse,
+    and generate execution plans for the statements in a
+    <application>PL/pgSQL</> function. A disadvantage is that errors
+    in a specific expression or command may not be detected until that
+    part of the function is reached in execution.
    </para>
 
    <para>
@@ -196,7 +198,7 @@ END;
      and return the <quote>polymorphic</> types
      <type>anyelement</type> and <type>anyarray</type>.  The actual
      datatypes handled by a polymorphic function can vary from call to
-     call, as discussed in <xref linkend="types-polymorphic">.
+     call, as discussed in <xref linkend="extend-types-polymorphic">.
      An example is shown in <xref linkend="plpgsql-declaration-aliases">.
     </para>
 
@@ -563,7 +565,7 @@ END;
       or <type>anyarray</type>), a special parameter <literal>$0</literal>
       is created.  Its datatype is the actual return type of the function,
       as deduced from the actual input types (see <xref
-      linkend="types-polymorphic">).
+      linkend="extend-types-polymorphic">).
       This allows the function to access its actual return type
       as shown in <xref linkend="plpgsql-declaration-type">.
       <literal>$0</literal> is initialized to NULL and can be modified by
@@ -903,6 +905,11 @@ tax := subtotal * 0.06;
    <sect2 id="plpgsql-select-into">
     <title><command>SELECT INTO</command></title>
 
+    <indexterm zone="plpgsql-select-into">
+     <primary>SELECT INTO</primary>
+     <secondary>in PL/pgSQL</secondary>
+    </indexterm>
+
     <para>
      The result of a <command>SELECT</command> command yielding multiple columns (but
      only one row) can be assigned to a record variable, row-type
@@ -1097,14 +1104,16 @@ EXECUTE ''UPDATE tbl SET ''
     <para>
      This example shows use of the functions
      <function>quote_ident(<type>text</type>)</function> and
-     <function>quote_literal(<type>text</type>)</function>.
-     Variables containing column and table identifiers should be
-     passed to function <function>quote_ident</function>.
-     Variables containing values that should be literal strings in the
-     constructed command should be passed to
-     <function>quote_literal</function>.  Both take the
-     appropriate steps to return the input text enclosed in double
-     or single quotes respectively, with any embedded special characters
+     <function>quote_literal(<type>text</type>)</function>.<indexterm><primary>quote_ident</><secondary>use
+     in
+     PL/pgSQL</></indexterm><indexterm><primary>quote_literal</><secondary>use
+     in PL/pgSQL</></indexterm> Variables containing column and table
+     identifiers should be passed to function
+     <function>quote_ident</function>.  Variables containing values
+     that should be literal strings in the constructed command should
+     be passed to <function>quote_literal</function>.  Both take the
+     appropriate steps to return the input text enclosed in double or
+     single quotes respectively, with any embedded special characters
      properly escaped.
     </para>
 
@@ -1517,6 +1526,11 @@ END IF;
    <sect2 id="plpgsql-control-structures-loops">
     <title>Simple Loops</title>
 
+    <indexterm zone="plpgsql-control-structures-loops">
+     <primary>loop</primary>
+     <secondary>in PL/pgSQL</secondary>
+    </indexterm>
+
     <para>
      With the <literal>LOOP</>, <literal>EXIT</>, <literal>WHILE</>,
      and <literal>FOR</> statements, you can arrange for your
@@ -1655,6 +1669,11 @@ FOR i IN REVERSE 10..1 LOOP
 END LOOP;
 </programlisting>
        </para>
+
+       <para>
+        If the lower bound is greater than the upper bound, the loop body is not
+        executed at all, but no error is raised.
+       </para>
      </sect3>
    </sect2>
 
@@ -1734,6 +1753,11 @@ END LOOP;
   <sect1 id="plpgsql-cursors">
    <title>Cursors</title>
 
+   <indexterm zone="plpgsql-cursors">
+    <primary>cursor</primary>
+    <secondary>in PL/pgSQL</secondary>
+   </indexterm>
+
    <para>
     Rather than executing a whole query at once, it is possible to set
     up a <firstterm>cursor</> that encapsulates the query, and then read
@@ -2096,6 +2120,11 @@ RAISE EXCEPTION ''Inexistent ID --> %'', user_id;
  <sect1 id="plpgsql-trigger">
   <title>Trigger Procedures</title>
 
+  <indexterm zone="plpgsql-trigger">
+   <primary>trigger</primary>
+   <secondary>in PL/pgSQL</secondary>
+  </indexterm>
+
   <para>
        <application>PL/pgSQL</application> can be used to define trigger
        procedures. A trigger procedure is created with the
@@ -2302,10 +2331,12 @@ CREATE TRIGGER emp_stamp BEFORE INSERT OR UPDATE ON emp
 
   <indexterm zone="plpgsql-porting">
    <primary>Oracle</primary>
+   <secondary>porting from PL/SQL to PL/pgSQL</secondary>
   </indexterm>
 
   <indexterm zone="plpgsql-porting">
-   <primary>PL/SQL</primary>
+   <primary>PL/SQL (Oracle)</primary>
+   <secondary>porting to PL/pgSQL</secondary>
   </indexterm>
 
   <para>
@@ -2546,7 +2577,8 @@ END;
     with <literal>OUT</> parameters and string manipulation.
     <productname>PostgreSQL</> does not have an
     <function>instr</function> function, but you can work around it
-    using a combination of other functions.  In <xref
+    using a combination of other
+    functions.<indexterm><primary>instr</></indexterm> In <xref
     linkend="plpgsql-porting-appendix"> there is a
     <application>PL/pgSQL</application> implementation of
     <function>instr</function> that you can use to make your porting
index 027f736f2f5d78724ff606f1619d2d8374d85818..1988f3569f2ec60129b6f63c05392df51e7a0afb 100644 (file)
@@ -68,9 +68,10 @@ def __plpython_procedure_myfunc_23456():
 
   <para>
    If you do not provide a return value, Python returns the default
-   <symbol>None</symbol>. The
-   language module translates Python's <symbol>None</symbol> into the
-   SQL null value.
+   <symbol>None</symbol>. The language module translates Python's
+   <symbol>None</symbol> into the SQL null
+   value.<indexterm><primary>null value</><secondary
+   sortas="PL/Python">in PL/Python</></indexterm>
   </para>
 
   <para>
@@ -87,7 +88,9 @@ def __plpython_procedure_myfunc_23456():
    The global dictionary <varname>SD</varname> is available to store
    data between function calls.  This variable is private static data.
    The global dictionary <varname>GD</varname> is public data,
-   available to all Python functions within a session.  Use with care.
+   available to all Python functions within a session.  Use with
+   care.<indexterm><primary>global data</><secondary>in
+   PL/Python</></indexterm>
   </para>
 
   <para>
@@ -102,6 +105,11 @@ def __plpython_procedure_myfunc_23456():
  <sect1 id="plpython-trigger">
   <title>Trigger Functions</title>
 
+  <indexterm zone="plpython-trigger">
+   <primary>trigger</primary>
+   <secondary>in PL/Python</secondary>
+  </indexterm>
+
   <para>
    When a function is used in a trigger, the dictionary
    <literal>TD</literal> contains trigger-related values.  The trigger
@@ -146,7 +154,8 @@ def __plpython_procedure_myfunc_23456():
    <literal>plpy.error("msg")</literal>, and
    <literal>plpy.fatal("msg")</literal>.  They are mostly equivalent
    to calling <literal>elog(<replaceable>LEVEL</>, "msg")</literal>
-   from C code.  <function>plpy.error</function> and
+   from C code.<indexterm><primary>elog</><secondary>in
+   PL/Python</></indexterm>  <function>plpy.error</function> and
    <function>plpy.fatal</function> actually raise a Python exception
    which, if uncaught, causes the PL/Python module to call
    <literal>elog(ERROR, msg)</literal> when the function handler
@@ -187,10 +196,11 @@ foo = rv[i]["my_column"]
   </para>
 
   <para>
-   The second function, <function>plpy.prepare</function>, prepares the
-   execution plan for a query.  It is called with a query string and a
-   list of parameter types, if you have parameter references in the
-   query.  For example:
+   <indexterm><primary>preparing a query</><secondary>in PL/Python</></indexterm>
+   The second function, <function>plpy.prepare</function>, prepares
+   the execution plan for a query.  It is called with a query string
+   and a list of parameter types, if you have parameter references in
+   the query.  For example:
 <programlisting>
 plan = plpy.prepare("SELECT last_name FROM my_users WHERE first_name = $1", [ "text" ])
 </programlisting>
@@ -235,7 +245,8 @@ CREATE FUNCTION usesavedplan() RETURNS trigger AS '
   </para>
  </sect1>
 
-<!-- NOT CURRENTLY SUPPORTED 
+<![IGNORE[
+ <!-- NOT CURRENTLY SUPPORTED -->
 
  <sect1 id="plpython-trusted">
   <title>Restricted Environment</title>
@@ -259,6 +270,6 @@ CREATE FUNCTION usesavedplan() RETURNS trigger AS '
   </para>
  </sect1>
 
--->
+]]>
 
 </chapter>
index 2b95c0301d54951b9ec9aa15a2a52389db790a2c..ebab01f0d215dde09ee4c48df7cbd495e3ca2dd9 100644 (file)
@@ -190,6 +190,11 @@ CREATE FUNCTION overpaid(employee) RETURNS boolean AS '
    <sect1 id="pltcl-global">
     <title>Global Data in PL/Tcl</title>
 
+    <indexterm zone="pltcl-global">
+     <primary>global data</primary>
+     <secondary>in PL/Tcl</secondary>
+    </indexterm>
+
     <para>
      Sometimes it
      is useful to have some global data that is held between two
@@ -298,8 +303,10 @@ spi_exec -array C "SELECT * FROM pg_class" {
       <term><function>spi_prepare</function> <replaceable>query</replaceable> <replaceable>typelist</replaceable></term>
       <listitem>
        <para>
-       Prepares and saves a query plan for later execution.  The saved plan
-       will be retained for the life of the current session.
+       Prepares and saves a query plan for later execution.  The
+       saved plan will be retained for the life of the current
+       session.<indexterm><primary>preparing a query</><secondary>in
+       PL/Tcl</></>
        </para>
        <para>
         The query may use parameters, that is, placeholders for
@@ -437,7 +444,7 @@ SELECT 'doesn''t' AS ret
      <varlistentry>
       <indexterm>
        <primary>elog</primary>
-       <secondary>PL/Tcl</secondary>
+       <secondary>in PL/Tcl</secondary>
       </indexterm>
       <term><function>elog</> <replaceable>level</replaceable> <replaceable>msg</replaceable></term>
       <listitem>
@@ -466,7 +473,7 @@ SELECT 'doesn''t' AS ret
     <title>Trigger Procedures in PL/Tcl</title>
 
     <indexterm>
-     <primary>triggers</primary>
+     <primary>trigger</primary>
      <secondary>in PL/Tcl</secondary>
     </indexterm>
 
index 83dcd42334932b0ebfb51941af739e8f883c860f..a77e07f8dcbf892baafedbdbc326442faa0c0762 100644 (file)
@@ -188,7 +188,6 @@ $Header$
   &libpgtcl;
   &ecpg;
   &jdbc;
-  &pygresql;
   &infoschema;
 
  </part>
index d5a283bc4b8e7b7977e31f0f3da86a6f146a2368..bb1dd23e1d9e98110d2eb712d7064be1d5a5c3bf 100644 (file)
     ParameterStatus will be generated: they are
     <literal>server_version</> (a pseudo-parameter that cannot change after
     startup);
-    <literal>server_encoding</> (also not presently changeable after start);
     <literal>client_encoding</>,
-    <literal>is_superuser</>, and
+    <literal>is_superuser</>,
+    <literal>session_authorization</literal>, and
     <literal>DateStyle</>.
     This set might change in the future, or even become configurable.
     Accordingly, a frontend should simply ignore ParameterStatus for
index 04fc6806e5250bc9572ad215a15db6a41c4036dd..ace11eb480a3a63f3078be731fcfd7602283522b 100644 (file)
@@ -3,6 +3,14 @@
 <chapter id="queries">
  <title>Queries</title>
 
+ <indexterm zone="queries">
+  <primary>query</primary>
+ </indexterm>
+
+ <indexterm zone="queries">
+  <primary>SELECT</primary>
+ </indexterm>
+
  <para>
   The previous chapters explained how to create tables, how to fill
   them with data, and how to manipulate that data.  Now we finally
@@ -73,6 +81,10 @@ SELECT random();
  <sect1 id="queries-table-expressions">
   <title>Table Expressions</title>
 
+  <indexterm zone="queries-table-expressions">
+   <primary>table expression</primary>
+  </indexterm>
+
   <para>
    A <firstterm>table expression</firstterm> computes a table.  The
    table expression contains a <literal>FROM</> clause that is
@@ -112,6 +124,10 @@ FROM <replaceable>table_reference</replaceable> <optional>, <replaceable>table_r
     overall table expression.
    </para>
 
+   <indexterm>
+    <primary>ONLY</primary>
+   </indexterm>
+
    <para>
     When a table reference names a table that is the supertable of a
     table inheritance hierarchy, the table reference produces rows of
@@ -125,7 +141,7 @@ FROM <replaceable>table_reference</replaceable> <optional>, <replaceable>table_r
     <title>Joined Tables</title>
 
     <indexterm zone="queries-join">
-     <primary>joins</primary>
+     <primary>join</primary>
     </indexterm>
 
     <para>
@@ -141,10 +157,14 @@ FROM <replaceable>table_reference</replaceable> <optional>, <replaceable>table_r
       <term>Cross join</term>
 
       <indexterm>
-       <primary>joins</primary>
+       <primary>join</primary>
        <secondary>cross</secondary>
       </indexterm>
 
+      <indexterm>
+       <primary>cross join</primary>
+      </indexterm>
+
       <listitem>
 <synopsis>
 <replaceable>T1</replaceable> CROSS JOIN <replaceable>T2</replaceable>
@@ -175,10 +195,14 @@ FROM <replaceable>table_reference</replaceable> <optional>, <replaceable>table_r
       <term>Qualified joins</term>
 
       <indexterm>
-       <primary>joins</primary>
+       <primary>join</primary>
        <secondary>outer</secondary>
       </indexterm>
 
+      <indexterm>
+       <primary>outer join</primary>
+      </indexterm>
+
       <listitem>
 <synopsis>
 <replaceable>T1</replaceable> { <optional>INNER</optional> | { LEFT | RIGHT | FULL } <optional>OUTER</optional> } JOIN <replaceable>T2</replaceable> ON <replaceable>boolean_expression</replaceable>
@@ -227,9 +251,12 @@ FROM <replaceable>table_reference</replaceable> <optional>, <replaceable>table_r
 
        <para>
         <indexterm>
-        <primary>joins</primary>
+        <primary>join</primary>
         <secondary>natural</secondary>
        </indexterm>
+        <indexterm>
+        <primary>natural join</primary>
+       </indexterm>
         Finally, <literal>NATURAL</> is a shorthand form of
         <literal>USING</>: it forms a <literal>USING</> list
         consisting of exactly those column names that appear in both
@@ -256,10 +283,14 @@ FROM <replaceable>table_reference</replaceable> <optional>, <replaceable>table_r
          <term><literal>LEFT OUTER JOIN</></term>
 
          <indexterm>
-          <primary>joins</primary>
+          <primary>join</primary>
           <secondary>left</secondary>
          </indexterm>
 
+         <indexterm>
+          <primary>left join</primary>
+         </indexterm>
+
          <listitem>
           <para>
            First, an inner join is performed.  Then, for each row in
@@ -274,6 +305,15 @@ FROM <replaceable>table_reference</replaceable> <optional>, <replaceable>table_r
         <varlistentry>
          <term><literal>RIGHT OUTER JOIN</></term>
 
+         <indexterm>
+          <primary>join</primary>
+          <secondary>right</secondary>
+         </indexterm>
+
+         <indexterm>
+          <primary>right join</primary>
+         </indexterm>
+
          <listitem>
           <para>
            First, an inner join is performed.  Then, for each row in
@@ -424,13 +464,13 @@ FROM <replaceable>table_reference</replaceable> <optional>, <replaceable>table_r
     <title>Table and Column Aliases</title>
 
     <indexterm zone="queries-table-aliases">
-     <primary>label</primary>
-     <secondary>table</secondary>
+     <primary>alias</primary>
+     <secondary>in the FROM clause</secondary>
     </indexterm>
 
     <indexterm>
-     <primary>alias</primary>
-     <see>label</see>
+     <primary>label</primary>
+     <see>alias</see>
     </indexterm>
 
     <para>
@@ -530,7 +570,7 @@ SELECT a.* FROM (my_table AS a JOIN your_table AS b ON ...) AS c
     <title>Subqueries</title>
 
     <indexterm zone="queries-subqueries">
-     <primary>subqueries</primary>
+     <primary>subquery</primary>
     </indexterm>
 
     <para>
@@ -556,6 +596,11 @@ FROM (SELECT * FROM table1) AS alias_name
 
     <indexterm zone="queries-tablefunctions"><primary>table function</></>
 
+    <indexterm zone="queries-tablefunctions">
+     <primary>function</>
+     <secondary>in the FROM clause</>
+    </indexterm>
+
     <para>
      Table functions are functions that produce a set of rows, made up
      of either base data types (scalar types) or composite data types
@@ -628,7 +673,7 @@ SELECT *
    <title>The WHERE Clause</title>
 
    <indexterm zone="queries-where">
-    <primary>where</primary>
+    <primary>WHERE</primary>
    </indexterm>
 
    <para>
@@ -716,7 +761,11 @@ SELECT ... FROM fdt WHERE EXISTS (SELECT c1 FROM t2 WHERE c2 > fdt.c1)
    <title>The GROUP BY and HAVING Clauses</title>
 
    <indexterm zone="queries-group">
-    <primary>group</primary>
+    <primary>GROUP BY</primary>
+   </indexterm>
+
+   <indexterm zone="queries-group">
+    <primary>grouping</primary>
    </indexterm>
 
    <para>
@@ -827,6 +876,10 @@ SELECT product_id, p.name, (sum(s.units) * p.price) AS sales
     column names is also allowed.
    </para>
 
+   <indexterm>
+    <primary>HAVING</primary>
+   </indexterm>
+
    <para>
     If a table has been grouped using a <literal>GROUP BY</literal>
     clause, but then only certain groups are of interest, the
@@ -884,7 +937,7 @@ SELECT product_id, p.name, (sum(s.units) * (p.price - p.cost)) AS profit
   <title>Select Lists</title>
 
   <indexterm>
-   <primary>select</primary>
+   <primary>SELECT</primary>
    <secondary>select list</secondary>
   </indexterm>
 
@@ -901,6 +954,10 @@ SELECT product_id, p.name, (sum(s.units) * (p.price - p.cost)) AS profit
   <sect2 id="queries-select-list-items">
    <title>Select-List Items</title>
 
+   <indexterm>
+    <primary>*</primary>
+   </indexterm>
+
    <para>
     The simplest kind of select list is <literal>*</literal> which
     emits all columns that the table expression produces.  Otherwise,
@@ -944,8 +1001,8 @@ SELECT tbl1.a, tbl2.a, tbl1.b FROM ...
    <title>Column Labels</title>
 
    <indexterm zone="queries-column-labels">
-    <primary>label</primary>
-    <secondary>column</secondary>
+    <primary>alias</primary>
+    <secondary>in the select list</secondary>
    </indexterm>
 
    <para>
@@ -981,7 +1038,11 @@ SELECT a AS value, b + c AS sum FROM ...
    <title>DISTINCT</title>
 
    <indexterm zone="queries-distinct">
-    <primary>distinct</primary>
+    <primary>DISTINCT</primary>
+   </indexterm>
+
+   <indexterm zone="queries-distinct">
+    <primary>duplicates</primary>
    </indexterm>
 
    <para>
@@ -997,6 +1058,8 @@ SELECT DISTINCT <replaceable>select_list</replaceable> ...
    </para>
 
    <para>
+    <indexterm><primary>null value</><secondary sortas="DISTINCT">in
+    DISTINCT</></indexterm>
     Obviously, two rows are considered distinct if they differ in at
     least one column value.  Null values are considered equal in this
     comparison.
@@ -1035,13 +1098,25 @@ SELECT DISTINCT ON (<replaceable>expression</replaceable> <optional>, <replaceab
   <title>Combining Queries</title>
 
   <indexterm zone="queries-union">
-   <primary>union</primary>
+   <primary>UNION</primary>
+  </indexterm>
+  <indexterm zone="queries-union">
+   <primary>INTERSECT</primary>
+  </indexterm>
+  <indexterm zone="queries-union">
+   <primary>EXCEPT</primary>
+  </indexterm>
+  <indexterm zone="queries-union">
+   <primary>set union</primary>
+  </indexterm>
+  <indexterm zone="queries-union">
+   <primary>set intersection</primary>
   </indexterm>
   <indexterm zone="queries-union">
-   <primary>intersection</primary>
+   <primary>set difference</primary>
   </indexterm>
   <indexterm zone="queries-union">
-   <primary>except</primary>
+   <primary>set operation</primary>
   </indexterm>
 
   <para>
@@ -1104,7 +1179,10 @@ SELECT DISTINCT ON (<replaceable>expression</replaceable> <optional>, <replaceab
 
   <indexterm zone="queries-order">
    <primary>sorting</primary>
-   <secondary>query results</secondary>
+  </indexterm>
+
+  <indexterm zone="queries-order">
+   <primary>ORDER BY</primary>
   </indexterm>
           
   <para>
@@ -1173,12 +1251,11 @@ SELECT a AS b FROM table1 ORDER BY a;
   <title>LIMIT and OFFSET</title>
 
   <indexterm zone="queries-limit">
-   <primary>limit</primary>
+   <primary>LIMIT</primary>
   </indexterm>
 
   <indexterm zone="queries-limit">
-   <primary>offset</primary>
-   <secondary>with query results</secondary>
+   <primary>OFFSET</primary>
   </indexterm>
 
   <para>
index d6010981d8d528aa1ac9c37490480e9b44096475..d98e6901e5c846774d308b0f0f173ec5c5f9bbab 100644 (file)
@@ -87,7 +87,8 @@ $Header$
    </para>
 
    <para>
-    <indexterm><primary>cluster</primary></indexterm>
+    <indexterm><primary>database cluster</primary></indexterm>
+    <indexterm><primary>cluster</primary><secondary>of databases</secondary><see>database cluster</see></indexterm>
 
     Tables are grouped into databases, and a collection of databases
     managed by a single <productname>PostgreSQL</productname> server
@@ -562,7 +563,7 @@ SELECT *
    <title>Aggregate Functions</title>
 
    <indexterm zone="tutorial-agg">
-    <primary>aggregate</primary>
+    <primary>aggregate function</primary>
    </indexterm>
 
    <para>
index 003877edf3818d218518e9ce9e3a8df32ed66528..46cde7f3d6646f0f4bb32d513f6d88094dad3dd0 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>abort the current transaction</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-abort">
+  <primary>ABORT</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 ABORT [ WORK | TRANSACTION ]
index 37fdeb49f373e2bc7c2f74e689ad51a5ba1c08c3..3a7afe577885aa4d9cdd121f16c922da91a48544 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>change the definition of an aggregate function</refpurpose>
  </refnamediv>  
   
+ <indexterm zone="sql-alteraggregate">
+  <primary>ALTER AGGREGATE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 ALTER AGGREGATE <replaceable>name</replaceable> ( <replaceable>type</replaceable> ) RENAME TO <replaceable>newname</replaceable>
index b11589cc9cf59690c2132104d8b6d59c463922b0..13748810515eda410a25dccc2abff172e7215a43 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>change the definition of a conversion</refpurpose>
  </refnamediv>  
   
+ <indexterm zone="sql-alterconversion">
+  <primary>ALTER CONVERSION</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 ALTER CONVERSION <replaceable>name</replaceable> RENAME TO <replaceable>newname</replaceable>
index e9739c73aea705018fe8730f271424dcb24749fc..86b01f8af798377a8f1e2b92f4b12601f2f77b0f 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>change a database</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-alterdatabase">
+  <primary>ALTER DATABASE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 ALTER DATABASE <replaceable class="PARAMETER">name</replaceable> SET <replaceable>variable</replaceable> { TO | = } { <replaceable>value</replaceable> | DEFAULT }
index 1ca8c2ca889d4cde29bd8115e7d2efb1eabb4a3b..47171d7cf03991bdb8f64616e2834f76a8a41f1a 100644 (file)
@@ -8,6 +8,7 @@ PostgreSQL documentation
   <refentrytitle id="sql-alterdomain-title">ALTER DOMAIN</refentrytitle>
   <refmiscinfo>SQL - Language Statements</refmiscinfo>
  </refmeta>
+
  <refnamediv>
   <refname>
    ALTER DOMAIN
@@ -16,6 +17,11 @@ PostgreSQL documentation
    change the definition of a domain
   </refpurpose>
  </refnamediv>
+
+ <indexterm zone="sql-alterdomain">
+  <primary>ALTER DOMAIN</primary>
+ </indexterm>
+
  <refsynopsisdiv>
   <refsynopsisdivinfo>
    <date>2002-11-27</date>
index 771e8a66b9d6f3c141651ccc65d762307e1daa59..d901027d365700663a009c28a7b1436cb3db2fd3 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>change the definition of a function</refpurpose>
  </refnamediv>  
   
+ <indexterm zone="sql-alterfunction">
+  <primary>ALTER FUNCTION</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 ALTER FUNCTION <replaceable>name</replaceable> ( [ <replaceable class="parameter">type</replaceable> [, ...] ] ) RENAME TO <replaceable>newname</replaceable>
index 54eb574b298a9cd411b6f2ab2ec0b883cc5f7c24..5ca5f75df7ddccf9b308c9c67d0268192f149fff 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>change a user group</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-altergroup">
+  <primary>ALTER GROUP</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 ALTER GROUP <replaceable class="PARAMETER">groupname</replaceable> ADD USER <replaceable class="PARAMETER">username</replaceable> [, ... ]
index f5507f4578b1443eb33d6754567a953d9e6cbfb1..b84b88a4a98c54ee82e923fab31e69f89365591c 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>change the definition of a procedural language</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-alterlanguage">
+  <primary>ALTER LANGUAGE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 ALTER LANGUAGE <replaceable>name</replaceable> RENAME TO <replaceable>newname</replaceable>
index e2cc11d4a2616a2c9ebe734c62877ed1f3384b22..fd2789f2c689f15490d43d5b69e3913dc52b7195 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>change the definition of an operator class</refpurpose>
  </refnamediv>  
   
+ <indexterm zone="sql-alteropclass">
+  <primary>ALTER OPERATOR CLASS</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 ALTER OPERATOR CLASS <replaceable>name</replaceable> USING <replaceable class="parameter">index_method</replaceable> RENAME TO <replaceable>newname</replaceable>
index 510c874d4823a04823bd414a7dc0822dd63014a5..512e4644b0f5e6a1c942820fe409718b627dd8bd 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>change the definition of a schema</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-alterschema">
+  <primary>ALTER SCHEMA</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 ALTER SCHEMA <replaceable>name</replaceable> RENAME TO <replaceable>newname</replaceable>
index e1a31754be60bea74a6774924daafb0b744de481..be20d6eb9114448a48ea93cad9569c6e0dd5f065 100644 (file)
@@ -8,6 +8,7 @@ PostgreSQL documentation
   <refentrytitle id="SQL-ALTERSEQUENCE-TITLE">ALTER SEQUENCE</refentrytitle>
   <refmiscinfo>SQL - Language Statements</refmiscinfo>
  </refmeta>
+
  <refnamediv>
   <refname>
    ALTER SEQUENCE
@@ -16,6 +17,11 @@ PostgreSQL documentation
    alter the definition of a sequence generator
   </refpurpose>
  </refnamediv> 
+
+ <indexterm zone="sql-altersequence">
+  <primary>ALTER SEQUENCE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
   <refsynopsisdivinfo>
    <date>1999-07-20</date>
index 5388e13d437d5f63b1c12bb48b64f740b48e1e5c..9f97dc0298eb4b90432bc9991ff7668d1d95fe4a 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>change the definition of a table</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-altertable">
+  <primary>ALTER TABLE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 ALTER TABLE [ ONLY ] <replaceable class="PARAMETER">table</replaceable> [ * ]
index c334e325c0572a68947249639c38fecdc979ded9..b4cfccfda88538ba976538717c516a252a4104d2 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>change the definition of a trigger</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-altertrigger">
+  <primary>ALTER TRIGGER</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 ALTER TRIGGER <replaceable class="PARAMETER">trigger</replaceable> ON <replaceable class="PARAMETER">table</replaceable>
index fb4284e55257a0843b843ee1be84539a57f16869..83197f6f5b24d43526a64ecccc89ccf4283c9094 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>change a database user account</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-alteruser">
+  <primary>ALTER USER</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 ALTER USER <replaceable class="PARAMETER">username</replaceable> [ [ WITH ] <replaceable class="PARAMETER">option</replaceable> [ ... ] ]
index 7fde79ae843ebbe86a7e0a7c80f977da3c9e3cff..ca3849ce836d037335633136e1b4b76d8058d714 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>collect statistics about a database</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-analyze">
+  <primary>ANALYZE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 ANALYZE [ VERBOSE ] [ <replaceable class="PARAMETER">table</replaceable> [ (<replaceable class="PARAMETER">column</replaceable> [, ...] ) ] ]
index 35b4857b8028d0e640df562024c3aca8ae9133f1..9bf26573e24a4c15f38a0501bba42490f03efbfa 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>start a transaction block</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-begin">
+  <primary>BEGIN</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 BEGIN [ WORK | TRANSACTION ]
index 849cc1c4ce2359d87557140f54e7712cc8d2fb06..28d9d170d7209594c88d16b1931d401d6725f3d4 100644 (file)
   <refpurpose>force a transaction log checkpoint</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-checkpoint">
+  <primary>CHECKPOINT</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 CHECKPOINT
index 2356276925962cd1d523f7d157ad5ed2b84aff81..fcf9fbb27036b8a6e067b99a143c5b22a280f7f7 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>close a cursor</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-close">
+  <primary>CLOSE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 CLOSE <replaceable class="PARAMETER">cursor</replaceable>
@@ -31,9 +35,13 @@ CLOSE <replaceable class="PARAMETER">cursor</replaceable>
   </para>
 
   <para>
-   Every open cursor is implicitly closed when a transaction is
-   terminated by <command>COMMIT</command> or
-   <command>ROLLBACK</command>.
+   Every non-holdable open cursor is implicitly closed when a
+   transaction is terminated by <command>COMMIT</command> or
+   <command>ROLLBACK</command>. Holdable cursors are implicitely
+   closed if the transaction that created them aborts via
+   <command>ROLLBACK</command>; if this does not happen, the holdable
+   cursor remains open until an explicit <command>CLOSE</command> is
+   executed, or the client disconnects.
   </para>
  </refsect1>
   
@@ -66,10 +74,10 @@ CLOSE <replaceable class="PARAMETER">cursor</replaceable>
    </varlistentry>
 
    <varlistentry>
-    <term><computeroutput>WARNING:  PerformPortalClose: portal "<replaceable class="PARAMETER">cursor</replaceable>" not found</computeroutput></term>
+    <term><computeroutput>ERROR:  cursor "<replaceable class="PARAMETER">cursor</replaceable>" does not exist</computeroutput></term>
     <listitem>
      <para>
-      This warning is given if <replaceable
+      Message returned if <replaceable
       class="PARAMETER">cursor</replaceable> is not declared or has
       already been closed.
      </para>
index 75bb0a45fb51a3fce72b8ae443e9158eda7686c5..863a70b9f8d2f0cb92ab74efd2f9aade763d3054 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>cluster a table according to an index</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-cluster">
+  <primary>CLUSTER</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 CLUSTER <replaceable class="PARAMETER">indexname</replaceable> ON <replaceable class="PARAMETER">tablename</replaceable>
index c04165fa3af80562ed872e4033b6e62d797332e5..526c36096372323f5bdbe0c497315077482fd012 100644 (file)
@@ -15,6 +15,10 @@ PostgreSQL documentation
   <refpurpose>cluster a <productname>PostgreSQL</productname> database</refpurpose>
  </refnamediv>
 
+ <indexterm zone="app-clusterdb">
+  <primary>clusterdb</primary>
+ </indexterm>
+
  <refsynopsisdiv>
   <cmdsynopsis>
    <command>clusterdb</command>
@@ -129,10 +133,9 @@ PostgreSQL documentation
       <term><option>--host <replaceable class="parameter">host</replaceable></></term>
       <listitem>
        <para>
-       Specifies the host name of the machine on which the 
-       server
-       is running.  If the value begins with a slash, it is used 
-       as the directory for the Unix domain socket.
+       Specifies the host name of the machine on which the server is
+       running.  If the value begins with a slash, it is used as the
+       directory for the Unix domain socket.
        </para>
       </listitem>
      </varlistentry>
@@ -182,7 +185,7 @@ PostgreSQL documentation
       <term><computeroutput>CLUSTER</computeroutput></term>
       <listitem>
        <para>
-        Everything went well.
+        The database was successfully clustered.
        </para>
       </listitem>
      </varlistentry>
index d852efb1347b2f8fcb7f8fb825d7384a9b5a9d05..ccce77179982792d8caa08a1e408b81d027d4e95 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>define or change the comment of an object</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-comment">
+  <primary>COMMENT</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 COMMENT ON
index c05a4b907a701f384adab27374cb80851e315151..c6f84026a7e54d358e24176e41aa72fc25881f1d 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>commit the current transaction</refpurpose>
  </refnamediv>  
   
+ <indexterm zone="sql-commit">
+  <primary>COMMIT</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 COMMIT [ WORK | TRANSACTION ]
index def7b2756ebb486239926a17ce20a10247e30d49..8754cab475016f4a316856d73855be88c5504780 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>copy data between files and tables</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-copy">
+  <primary>COPY</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 COPY <replaceable class="parameter">table</replaceable> [ ( <replaceable class="parameter">column</replaceable> [, ...] ) ]
@@ -380,7 +384,7 @@ COPY <replaceable class="parameter">table</replaceable> [ ( <replaceable class="
     The file format used for <command>COPY BINARY</command> changed in
     <application>PostgreSQL</application> 7.4. The new format consists
     of a file header, zero or more tuples containing the row data, and
-    a file trailer.
+    a file trailer. Headers and data are now in network byte order.
    </para>
 
    <refsect3>
@@ -483,6 +487,15 @@ future extension may add a header field that allows per-column format codes
 to be specified.
     </para>
 
+    <para>
+To determine the appropriate binary format for the actual tuple data you
+should consult the <application>PostgreSQL</application> source, in
+particular the <function>*send</> and <function>*recv</> functions for
+the data type (typically found in the <filename>src/backend/utils/adt</filename>
+directory). The <application>contrib/binarycopy</application> module
+can also be used to create an appropriate format file.
+    </para>
+
     <para>
 If OIDs are included in the file, the OID field immediately follows the
 field-count word.  It is a normal field except that it's not included
index de0f6ae622008613013256531e6439ee0be9d6ff..32673f562f7eeb7791b9d4f704f7c1a38b5ff3a6 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>define a new aggregate function</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-createaggregate">
+  <primary>CREATE AGGREGATE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 CREATE AGGREGATE <replaceable class="PARAMETER">name</replaceable> (
index 30aa4b1ee8839320c6149c435c1d1f97bdad84ee..fc906568fb119b380388eccb964f35f618977c83 100644 (file)
   <refpurpose>define a user-defined cast</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-createcast">
+  <primary>CREATE CAST</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 CREATE CAST (<replaceable>sourcetype</replaceable> AS <replaceable>targettype</replaceable>)
index 2566c3476c1934eb3520defcfa361ec69ea59f3f..a4a5a88afc7a8fa07120c4f2e354b033fc9fe5a0 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>define a new constraint trigger</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-createconstraint">
+  <primary>CREATE CONSTRAINT</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 CREATE CONSTRAINT TRIGGER <replaceable class="parameter">name</replaceable>
index 2966a47db4f823cc8fc9059122518e0b42905d14..46a2dac15a7cf5321111ef0677743f262f3c39de 100644 (file)
   <refpurpose>define a user-defined conversion</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-createconversion">
+  <primary>CREATE CONVERSION</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 CREATE [DEFAULT] CONVERSION <replaceable>name</replaceable>
index ebd09d8b1a953085ab76db8daf0643dd09c82d69..d9ccf05ff6eff401b133368cf6278dbcb8bda733 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>create a new database</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-createdatabase">
+  <primary>CREATE DATABASE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 CREATE DATABASE <replaceable class="PARAMETER">name</replaceable>
index b1b799ac5d6d0930f4fee0bd01bde2b204febd28..accd5866f0e30a834a1e1379930b0a67c34bf515 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>define a new domain</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-createdomain">
+  <primary>CREATE DOMAIN</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 CREATE DOMAIN <replaceable class="parameter">domainname</replaceable> [AS] <replaceable class="parameter">data_type</replaceable>
index 6e424445e37156e7cc6809e3bf20a514c129f6e2..6b225cc0110b516a03cf44a25f3b00d68ca46846 100644 (file)
@@ -13,6 +13,10 @@ $Header$
   <refpurpose>define a new function</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-createfunction">
+  <primary>CREATE FUNCTION</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 CREATE [ OR REPLACE ] FUNCTION <replaceable class="parameter">name</replaceable> ( [ <replaceable class="parameter">argtype</replaceable> [, ...] ] )
index 20b95f31c3c39a769c319e761d93ffcb2d8ad306..f90c26cc60664e65098c4f08fded70a9f06dece6 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>define a new user group</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-creategroup">
+  <primary>CREATE GROUP</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 CREATE GROUP <replaceable class="PARAMETER">name</replaceable> [ [ WITH ] <replaceable class="PARAMETER">option</replaceable> [ ... ] ]
index cf10e8d11660ff2a8fc813f0e441b354b70dde9e..2d7d0cdae63406b2a4eda84c3150a65c776a5e66 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>define a new index</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-createindex">
+  <primary>CREATE INDEX</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 CREATE [ UNIQUE ] INDEX <replaceable class="parameter">index_name</replaceable> ON <replaceable class="parameter">table</replaceable> [ USING <replaceable class="parameter">method</replaceable> ]
index 3d683b32c38c4b79c98d0c8a5ca7fd9a58872afd..2b378ad6150f932c412a88895d2f36573ffeebbe 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>define a new procedural language</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-createlanguage">
+  <primary>CREATE LANGUAGE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 CREATE [ TRUSTED ] [ PROCEDURAL ] LANGUAGE <replaceable class="parameter">langname</replaceable>
index b1854bdb3a4cba81ab0970cc8aaf946c9bfcf86f..84666ae0a0e70af02a24cf4226b378755bc8eb9b 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>define a new operator class for indexes</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-createopclass">
+  <primary>CREATE OPERATOR CLASS</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 CREATE OPERATOR CLASS <replaceable class="parameter">name</replaceable> [ DEFAULT ] FOR TYPE <replaceable class="parameter">data_type</replaceable> USING <replaceable class="parameter">index_method</replaceable> AS
index 1eec5cc46d55909c91f3323ac99d77743bea9198..699987f68b2e921e5f9ecb4d7781ecf0e408619b 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>define a new operator</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-createoperator">
+  <primary>CREATE OPERATOR</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 CREATE OPERATOR <replaceable>name</replaceable> (
@@ -43,17 +47,11 @@ CREATE OPERATOR <replaceable>name</replaceable> (
    The operator name is a sequence of up to <symbol>NAMEDATALEN</>-1
    (63 by default) characters from the following list:
 <literallayout>
-+ - * / &lt; &gt; = ~ ! @ # % ^ &amp; | ` ? $
++ - * / &lt; &gt; = ~ ! @ # % ^ &amp; | ` ?
 </literallayout>
 
    There are a few restrictions on your choice of name:
    <itemizedlist>
-    <listitem>
-     <para>
-     <literal>$</literal> cannot be defined as a single-character operator,
-     although it can be part of a multicharacter operator name.
-     </para>
-    </listitem>
     <listitem>
      <para>
      <literal>--</literal> and <literal>/*</literal> cannot appear anywhere in an operator name,
@@ -66,7 +64,7 @@ CREATE OPERATOR <replaceable>name</replaceable> (
      <literal>-</literal>,
      unless the name also contains at least one of these characters:
 <literallayout>
-~ ! @ # % ^ &amp; | ` ? $
+~ ! @ # % ^ &amp; | ` ?
 </literallayout>
      For example, <literal>@-</literal> is an allowed operator name,
      but <literal>*-</literal> is not.
index c87f4793ccece30586c11816612bd6114d21a670..9c20d3431c819ea9e6994622e372ab342c12c143 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>define a new rewrite rule</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-createrule">
+  <primary>CREATE RULE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 CREATE [ OR REPLACE ] RULE <replaceable class="parameter">name</replaceable> AS ON <replaceable class="parameter">event</replaceable>
index 6d2c076dabed5a1d489fa87c5de2ab2a22b64525..4c4858a606907548a7f50caa36725911d9edf363 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>define a new schema</refpurpose>
  </refnamediv> 
 
+ <indexterm zone="sql-createschema">
+  <primary>CREATE SCHEMA</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 CREATE SCHEMA <replaceable class="parameter">schemaname</replaceable> [ AUTHORIZATION <replaceable class="parameter">username</replaceable> ] [ <replaceable class="parameter">schema_element</replaceable> [ ... ] ]
index 0755c7efd1008691c798fd03c398484226fb9b6f..ef9c2c85730ade6ce4e6c96c269531691d0ebeca 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>define a new sequence generator</refpurpose>
  </refnamediv> 
 
+ <indexterm zone="sql-createsequence">
+  <primary>CREATE SEQUENCE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 CREATE [ TEMPORARY | TEMP ] SEQUENCE <replaceable class="parameter">seqname</replaceable> [ INCREMENT [ BY ] <replaceable class="parameter">increment</replaceable> ]
index a9e1799b48a56c226837ea19b936de393d042023..4a974f014fe2b72c1744fefb6cacb1f743ca98d5 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>define a new table</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-createtable">
+  <primary>CREATE TABLE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE <replaceable class="PARAMETER">table_name</replaceable> (
index a5d49cee67973a2a6c41c8218fb73012568e4007..b7b4e77d5cde1014e919441f0c20b858a7465435 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>create a new table from the results of a query</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-createtableas">
+  <primary>CREATE TABLE AS</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE <replaceable>table_name</replaceable> [ (<replaceable>column_name</replaceable> [, ...] ) ]
index 14f036f5be2d16d3a085131344a442b2eb6e1a44..f967857ccaa64484d233c9bf6b0f2b0468f105e3 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>define a new trigger</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-createtrigger">
+  <primary>CREATE TRIGGER</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 CREATE TRIGGER <replaceable class="PARAMETER">name</replaceable> { BEFORE | AFTER } { <replaceable class="PARAMETER">event</replaceable> [ OR ... ] }
index b80611654cdf9e43c3937fb529a4ae04d4ab0475..33b25779be6ba9a1aeacc682edd171c786470e21 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>define a new data type</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-createtype">
+  <primary>CREATE TYPE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 CREATE TYPE <replaceable class="parameter">typename</replaceable> AS
index c102ea7aa25eef55f481f8ee0d6a2b6f42bc132a..3b4de167483a39611a4b6250c50748238bac4e61 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>define a new database user account</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-createuser">
+  <primary>CREATE USER</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 CREATE USER <replaceable class="PARAMETER">username</replaceable> [ [ WITH ] <replaceable class="PARAMETER">option</replaceable> [ ... ] ]
index fc7aeb07f7db5ab8a1132956b9e8990041d30b48..f28d70a349a1f63172ee456107b49febbdc16b61 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>define a new view</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-createview">
+  <primary>CREATE VIEW</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 CREATE [ OR REPLACE ] VIEW <replaceable class="PARAMETER">name</replaceable> [ ( <replaceable
index 89b327334097e08f3d6a84c3e12ce7de5e32438a..b8ef78301e4ae74afb0e1f6293345b8783f7f964 100644 (file)
@@ -15,6 +15,10 @@ PostgreSQL documentation
   <refpurpose>create a new <productname>PostgreSQL</productname> database</refpurpose>
  </refnamediv>
 
+ <indexterm zone="app-createdb">
+  <primary>createdb</primary>
+ </indexterm>
+
  <refsynopsisdiv>
   <cmdsynopsis>
    <command>createdb</command>
index 2cd026792bd5b7436cd7b0634ef8b26906d1587e..d3cec48591b84cb3b0779c72cbfa1d2240d3f58e 100644 (file)
@@ -15,6 +15,10 @@ PostgreSQL documentation
   <refpurpose>define a new <productname>PostgreSQL</productname> procedural language</refpurpose>
  </refnamediv>
 
+ <indexterm zone="app-createlang">
+  <primary>createlang</primary>
+ </indexterm>
+
  <refsynopsisdiv>
   <cmdsynopsis>
    <command>createlang</command>
index 11b55635a44edef939fc50ca45f1f0c8aaa76bd5..4173c3c8c428fbe3131eb12faa35827cc4b2ddeb 100644 (file)
@@ -15,6 +15,10 @@ PostgreSQL documentation
   <refpurpose>define a new <productname>PostgreSQL</productname> user account</refpurpose>
  </refnamediv>
 
+ <indexterm zone="app-createuser">
+  <primary>createuser</primary>
+ </indexterm>
+
  <refsynopsisdiv>
   <cmdsynopsis>
    <command>createuser</command>
@@ -276,7 +280,7 @@ PostgreSQL documentation
       <term><computeroutput>CREATE USER</computeroutput></term>
       <listitem>
        <para>
-        All is well.
+        The user was successfully created.
        </para>
       </listitem>
      </varlistentry>
index 26f705e05dc0ca90efba2dc73b195e092e50e64d..9ef7be3dabc158b0217ee986d10c6c70e26059d4 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>deallocate a prepared statement</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-deallocate">
+  <primary>DEALLOCATE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 DEALLOCATE [ PREPARE ] <replaceable class="parameter">plan_name</replaceable>
index e5431a555c7407696096c2dfe7b2aa884ca2030b..f445091252fe8e01b1f01e96cf4dcfabe2fd8b7c 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>define a cursor</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-declare">
+  <primary>DECLARE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 DECLARE <replaceable class="parameter">cursorname</replaceable> [ BINARY ] [ INSENSITIVE ] [ [ NO ] SCROLL ]
@@ -202,11 +206,10 @@ DECLARE <replaceable class="parameter">cursorname</replaceable> [ BINARY ] [ INS
    </varlistentry>
 
    <varlistentry>
-    <term><computeroutput>WARNING:  Closing pre-existing portal "<replaceable class="parameter">cursorname</replaceable>"</computeroutput></term>
+    <term><computeroutput>ERROR:  cursor "<replaceable class="parameter">cursorname</replaceable>" already exists</computeroutput></term>
     <listitem>
      <para>
-      This message is reported if a cursor with the same name already
-      exists. The previous definition is discarded.
+      This error occurs if a cursor with the same name already exists.
      </para>
     </listitem>
    </varlistentry>
index b99b1a5fb7866adf664bcff610acb14af34c4c8f..c305478e76c4bb4b4d2822b2fb20737b8b82f0bb 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>delete rows of a table</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-delete">
+  <primary>DELETE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 DELETE FROM [ ONLY ] <replaceable class="PARAMETER">table</replaceable> [ WHERE <replaceable class="PARAMETER">condition</replaceable> ]
index 26f4870f6e813b4462748bb90867de016b02522d..4e5a7c51fea8bac77427c10cab66c493940b8789 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>remove a user-defined aggregate function</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-dropaggregate">
+  <primary>DROP AGGREGATE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 DROP AGGREGATE <replaceable class="PARAMETER">name</replaceable> ( <replaceable class="PARAMETER">type</replaceable> ) [ CASCADE | RESTRICT ]
index 66e3bb9bb7197d6415432ea0af44c7de259039a4..224290a6db2a37a8321af88fb80d7e81fdd3e1fd 100644 (file)
   <refpurpose>remove a user-defined cast</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-dropcast">
+  <primary>DROP CAST</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 DROP CAST (<replaceable>sourcetype</replaceable> AS <replaceable>targettype</replaceable>) [ CASCADE | RESTRICT ]
index a6a9c613d09f135868e11ad817549acdfa48ada1..94086ce540393c7b09524be891f9f1533ea7bd4d 100644 (file)
   <refpurpose>remove a user-defined conversion</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-dropconversion">
+  <primary>DROP CONVERSION</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 DROP CONVERSION <replaceable>conversion_name</replaceable> [ CASCADE | RESTRICT ]
index 1b0cefd405c191b4c678b285796b468487f9d9b2..e0dacbb735a478077926457b93df5fc571327aa5 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>remove a database</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-dropdatabase">
+  <primary>DROP DATABASE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 DROP DATABASE <replaceable class="PARAMETER">name</replaceable>
index bed05332eafe8f2f50f97d9b95310ffa51949f19..74b906387f6ded182e829d66a4543776ed1b3c65 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>remove a domain</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-dropdomain">
+  <primary>DROP DOMAIN</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 DROP DOMAIN <replaceable class="PARAMETER">domainname</replaceable> [, ...]  [ CASCADE | RESTRICT ]
index 7c240644473e3f3b1ba673010d62f523a7033a83..6152a7ca13266ff7c19fb81aa5ffb7ca0a368b64 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>remove a user-defined function</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-dropfunction">
+  <primary>DROP FUNCTION</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 DROP FUNCTION <replaceable class="parameter">name</replaceable> ( [ <replaceable class="parameter">type</replaceable> [, ...] ] ) [ CASCADE | RESTRICT ]
index 613cc2dd76c7ef92c249e3612979638dde6860f4..937acaa5bdac6b641b03a559f728f000f23bcd2d 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>remove a user group</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-dropgroup">
+  <primary>DROP GROUP</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 DROP GROUP <replaceable class="PARAMETER">name</replaceable>
index eb6416190d153873768dc3163a4c9add4ae6cfa5..e96c9f5db466057b464248f5820baec8b34ceea7 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>remove an index</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-dropindex">
+  <primary>DROP INDEX</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 DROP INDEX <replaceable class="PARAMETER">name</replaceable> [, ...] [ CASCADE | RESTRICT ]
index 520ac84354f34c0cc8dc4b42f61c97c5c4aa2b78..0af694c1091ab3b50b7226d07209e530478d6258 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>remove a user-defined procedural language</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-droplanguage">
+  <primary>DROP LANGUAGE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 DROP [ PROCEDURAL ] LANGUAGE <replaceable class="PARAMETER">name</replaceable> [ CASCADE | RESTRICT ]
index 730c32b5b6a95d473344d0bfefebb8778a3878fe..b7084174188fd931bb7c22b8e757caea8e8afacf 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>remove a user-defined operator class</refpurpose>
  </refnamediv>
   
+ <indexterm zone="sql-dropopclass">
+  <primary>DROP OPERATOR CLASS</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 DROP OPERATOR CLASS <replaceable class="PARAMETER">name</replaceable> USING <replaceable class="PARAMETER">index_method</replaceable> [ CASCADE | RESTRICT ]
index 2e248048e4f80ea2e9f8db1782516f0ce255ddb7..29f5fbf2655cc17881152837122bfb110b3544ab 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>remove a user-defined operator</refpurpose>
  </refnamediv>
   
+ <indexterm zone="sql-dropoperator">
+  <primary>DROP OPERATOR</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 DROP OPERATOR <replaceable class="PARAMETER">name</replaceable> ( <replaceable class="PARAMETER">lefttype</replaceable> | NONE , <replaceable class="PARAMETER">righttype</replaceable> | NONE ) [ CASCADE | RESTRICT ]
index cdca8826b4d4454f9c73f03b25199cb3584bdedc..133021a8bc8303881a79bb3d8bcfc91acb282a77 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>remove a rewrite rule</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-droprule">
+  <primary>DROP RULE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 DROP RULE <replaceable class="PARAMETER">name</replaceable> ON <replaceable class="PARAMETER">relation</replaceable> [ CASCADE | RESTRICT ]
index f50a58c32ca213176bea324bd85f858eec4c510c..baee416d6545e86cf2026f4e59b68e1dab72386e 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>remove a schema</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-dropschema">
+  <primary>DROP SCHEMA</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 DROP SCHEMA <replaceable class="PARAMETER">name</replaceable> [, ...] [ CASCADE | RESTRICT ]
index c3c9558683cc0a9ee4b241d5a73a1eee05430d11..1ec42cd5535ff2a11b3285413192dc8dc29449cd 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>remove a sequence</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-dropsequence">
+  <primary>DROP SEQUENCE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 DROP SEQUENCE <replaceable class="PARAMETER">name</replaceable> [, ...] [ CASCADE | RESTRICT ]
index d8727d76d58b7b96727c7dd07f9ef3d5e0cf792c..9c7ce1247d698408b91af4503ce4ade62003d0f3 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>remove a table</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-droptable">
+  <primary>DROP TABLE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 DROP TABLE <replaceable class="PARAMETER">name</replaceable> [, ...] [ CASCADE | RESTRICT ]
index 40e90c9fad4716b951e23d408b17330911c93ac6..8cca7cec5a23f9074da0a114e303e862ccaa1c26 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>remove a trigger</refpurpose> 
  </refnamediv>            
 
+ <indexterm zone="sql-droptrigger">
+  <primary>DROP TRIGGER</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 DROP TRIGGER <replaceable class="PARAMETER">name</replaceable> ON <replaceable class="PARAMETER">table</replaceable> [ CASCADE | RESTRICT ]
index 2dd5d42a24ffe0153bf28b195a54840a9fca83de..ee1e49d1aa1a7018eb0e4e7fa8882a4df96710b0 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>remove a user-defined data type</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-droptype">
+  <primary>DROP TYPE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 DROP TYPE <replaceable class="PARAMETER">typename</replaceable> [, ...] [ CASCADE | RESTRICT ]
index 63c45182f8a7a15993cfec5426523ad51ff3f3c1..3089f556ad0b31d6044199fbecef123f77d0ffaf 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>remove a database user account</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-dropuser">
+  <primary>DROP USER</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 DROP USER <replaceable class="PARAMETER">name</replaceable>
index a95e487ca439df16f580a79d128a24e6b8c2dc4c..ec9cbad53895cfd4d1f2aa98b9561959d9483193 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>remove a view</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-dropview">
+  <primary>DROP VIEW</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 DROP VIEW <replaceable class="PARAMETER">name</replaceable> [, ...] [ CASCADE | RESTRICT ]
index efa74248d0b9d3ab92dd41a0b578d97c930cf361..8c48740330a16f46432085518a7d744ea499b59b 100644 (file)
@@ -15,6 +15,10 @@ PostgreSQL documentation
   <refpurpose>remove a <productname>PostgreSQL</productname> database</refpurpose>
  </refnamediv>
 
+ <indexterm zone="app-dropdb">
+  <primary>dropdb</primary>
+ </indexterm>
+
  <refsynopsisdiv>
   <cmdsynopsis>
    <command>dropdb</command>
index f20fa525051920fb1f757f0af08f57e011d83fe6..4d76146cf9264e07ff1244a2b60ec6178c944afe 100644 (file)
@@ -15,6 +15,10 @@ PostgreSQL documentation
   <refpurpose>remove a <productname>PostgreSQL</productname> procedural language</refpurpose>
  </refnamediv>
 
+ <indexterm zone="app-droplang">
+  <primary>droplang</primary>
+ </indexterm>
+
  <refsynopsisdiv>
   <cmdsynopsis>
    <command>droplang</command>
index 0a32d4ed197b4f1a453ee4f3aa4e620033ea3b06..9ef329678aea0dcb34d11e85fe483ea3ca2d4fb3 100644 (file)
@@ -15,6 +15,10 @@ PostgreSQL documentation
   <refpurpose>remove a <productname>PostgreSQL</productname> user account</refpurpose>
  </refnamediv>
 
+ <indexterm zone="app-dropuser">
+  <primary>dropuser</primary>
+ </indexterm>
+
  <refsynopsisdiv>
   <cmdsynopsis>
    <command>dropuser</command>
@@ -180,7 +184,7 @@ PostgreSQL documentation
       <term><computeroutput>DROP USER</computeroutput></term>
       <listitem>
        <para>
-        All is well.
+        The user was successfully removed.
        </para>
       </listitem>
      </varlistentry>
index 6010bb4bf29763f16a73f38d230deff58855e720..95c0ef736bb86c807a17e7e74f3e6e05a2775964 100644 (file)
@@ -15,6 +15,10 @@ PostgreSQL documentation
   <refpurpose>embedded SQL C preprocessor</refpurpose>
  </refnamediv>
 
+ <indexterm zone="app-ecpg">
+  <primary>ecpg</primary>
+ </indexterm>
+
  <refsynopsisdiv>
   <cmdsynopsis>
    <command>ecpg</command>
index 10aae779e054d15fa6300a6b032ee07c578d1c20..5d574790c94a816cc1a25fa2851b95eb6a70d9de 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>commit the current transaction</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-end">
+  <primary>END</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 END [ WORK | TRANSACTION ]
index 849ae91bf67dd042cee77d2353c5e8c821be9057..967ae688169faf6c2b5bd19deed25f813a40b185 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>execute a prepared statement</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-execute">
+  <primary>EXECUTE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 EXECUTE <replaceable class="PARAMETER">plan_name</replaceable> [ (<replaceable class="PARAMETER">parameter</replaceable> [, ...] ) ]
index 9d7e8aae41277b295c000523bccc468ddf6f311d..71a49a66101e502cda7105c4707eab3be4710273 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>show the execution plan of a statement</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-explain">
+  <primary>EXPLAIN</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 EXPLAIN [ ANALYZE ] [ VERBOSE ] <replaceable class="parameter">statement</replaceable>
index 9b0b0e6206c075b619d882fdc932c3493e83e4e5..d4dc0019b13c5aaa5b3b0d4c972569fecfb30c0f 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>retrieve rows from a query using a cursor</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-fetch">
+  <primary>FETCH</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 FETCH [ <replaceable class="PARAMETER">direction</replaceable> { FROM | IN } ] <replaceable class="PARAMETER">cursor</replaceable>
@@ -281,7 +285,7 @@ where <replaceable class="PARAMETER">direction</replaceable> can be empty or one
 
   <variablelist>
    <varlistentry>
-    <term><computeroutput>WARNING:  PerformPortalFetch: portal "<replaceable class="PARAMETER">cursor</replaceable>" not found</computeroutput></term>
+    <term><computeroutput>ERROR:  cursor "<replaceable class="PARAMETER">cursor</replaceable>" does not exist</computeroutput></term>
     <listitem>
      <para>
       There is no cursor with the specified name.
index 851ac3562b10353b2f0ca8a09f348470394bc693..1d7850362202e311cb1b024e5f98edb89bfedbea 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>define access privileges</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-grant">
+  <primary>GRANT</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 GRANT { { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER }
index 39894bef77f34facbc3e2f9789932d2c89bf004b..15481fc20d3ec700b2cd7523ad53a62e83618b45 100644 (file)
@@ -15,6 +15,10 @@ PostgreSQL documentation
   <refpurpose>create a new <productname>PostgreSQL</productname> database cluster</refpurpose>
  </refnamediv>
 
+ <indexterm zone="app-initdb">
+  <primary>initdb</primary>
+ </indexterm>
+
  <refsynopsisdiv>
   <cmdsynopsis>
    <command>initdb</command>
index 99f75745305e36a21e7332cf224d27ad8f5ee2c9..edca434e6ea5c2fdc10200a2e18a3365d2c88c55 100644 (file)
@@ -15,6 +15,10 @@ PostgreSQL documentation
   <refpurpose>create a secondary <productname>PostgreSQL</productname> database storage area</refpurpose>
  </refnamediv>
 
+ <indexterm zone="app-initlocation">
+  <primary>initlocation</primary>
+ </indexterm>
+
  <refsynopsisdiv>
   <cmdsynopsis>
    <command>initlocation</command>
index 9eac75319b62c639854993e54563a4b4ba2cfb21..9e5734ee545b18ba7b8dccf944107e4f686feebc 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>create new rows in a table</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-insert">
+  <primary>INSERT</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 INSERT INTO <replaceable class="PARAMETER">table</replaceable> [ ( <replaceable class="PARAMETER">column</replaceable> [, ...] ) ]
index c4bb408f4fce937819e44d3216d8de06b2e64344..32bd4a7bfcffe9e2b11748acbe8c04bf1f1eb71f 100644 (file)
@@ -15,6 +15,10 @@ PostgreSQL documentation
   <refpurpose>remove shared memory and semaphores from an aborted <productname>PostgreSQL</productname> server</refpurpose>
  </refnamediv>
 
+ <indexterm zone="app-ipcclean">
+  <primary>ipcclean</primary>
+ </indexterm>
+
  <refsynopsisdiv>
   <cmdsynopsis>
    <command>ipcclean</command>
index 83094006c6c4d804bd388805d74d834635a62fa0..0e70744dd500a03a4fe2dee7ce4994c859f87908 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>listen for a notification</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-listen">
+  <primary>LISTEN</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 LISTEN <replaceable class="PARAMETER">name</replaceable>
index 169d7c54240ce8914da73fadb2b352f8109d4f59..fbf229003f9d8889a53e5fecd2d185e4d1b179cf 100644 (file)
@@ -13,6 +13,10 @@ $Header$
   <refpurpose>load or reload a shared library file</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-load">
+  <primary>LOAD</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 LOAD '<replaceable class="PARAMETER">filename</replaceable>'
index 9b9e3d07d8c70b0ee5895f9d77e96775fa486e7b..b39da31a988d22d28276d8bced08e1ade0083c97 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>lock a table</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-lock">
+  <primary>LOCK</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 LOCK [ TABLE ] <replaceable class="PARAMETER">name</replaceable> [, ...] [ IN <replaceable class="PARAMETER">lockmode</replaceable> MODE ]
index 84080a65d681d6194e371080349e19ce0bc6db60..1bbfd9f003851fd34ee5dd117b1170b9ad3aad8a 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>reposition a cursor</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-move">
+  <primary>MOVE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 MOVE [ <replaceable class="PARAMETER">direction</replaceable> { FROM | IN } ] <replaceable class="PARAMETER">cursor</replaceable>
index 29d52eb3efafbc870250410175d3a82b7583f1d5..356fb3f3f099d5a797c0276c615808bc40871324 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>generate a notification</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-notify">
+  <primary>NOTIFY</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 NOTIFY <replaceable class="PARAMETER">name</replaceable>        
index 1d3f0b9606a40d6cfc7a1d3605b77e9da00fc629..95937f1866669a93953dc442f042ee4d351d7901 100644 (file)
   <refpurpose>retrieve information about the installed version of <productname>PostgreSQL</></refpurpose>
  </refnamediv>
 
+ <indexterm zone="app-pgconfig">
+  <primary>pg_config</primary>
+ </indexterm>
+
  <refsynopsisdiv>
   <cmdsynopsis>
    <command>pg_config</command>
index 8319b7f3df2a0e4c7074903fb4abf4507b22fc37..4a9b9e3561c3b45f03b29fa063f43c550d37f245 100644 (file)
@@ -15,6 +15,10 @@ PostgreSQL documentation
   <refpurpose>display control information of a <productname>PostgreSQL</productname> database cluster</refpurpose>
  </refnamediv>
 
+ <indexterm zone="app-pgcontroldata">
+  <primary>pg_controldata</primary>
+ </indexterm>
+
  <refsynopsisdiv>
   <cmdsynopsis>
    <command>pg_controldata</command>
index 433edaa14bb126a84d4cc1dd02d8dc8a9fb90249..55494fb85f84f323883649bcaebc424d96e4a2e1 100644 (file)
@@ -15,6 +15,10 @@ PostgreSQL documentation
   <refpurpose>start, stop, or restart a <productname>PostgreSQL</productname> server</refpurpose>
  </refnamediv>
 
+ <indexterm zone="app-pg-ctl">
+  <primary>pg_ctl</primary>
+ </indexterm>
+
  <refsynopsisdiv>
   <cmdsynopsis>
    <command>pg_ctl</command>
index 4e32075938e8f1590a45c03f339bd029685c5838..bfff2b047960841f77a555c911192317aeaccfa8 100644 (file)
@@ -18,6 +18,10 @@ PostgreSQL documentation
   </refpurpose>
  </refnamediv>
 
+ <indexterm zone="app-pgdump">
+  <primary>pg_dump</primary>
+ </indexterm>
+
  <refsynopsisdiv>
   <cmdsynopsis>
    <command>pg_dump</command>
index 752939785562cc1048ad4543871811b8070c2581..4429200230bd0aac2b2cbcf4bce91df20c5ac44e 100644 (file)
@@ -15,6 +15,10 @@ PostgreSQL documentation
   <refpurpose>extract a <productname>PostgreSQL</productname> database cluster into a script file</refpurpose>
  </refnamediv>
 
+ <indexterm zone="app-pg-dumpall">
+  <primary>pg_dumpall</primary>
+ </indexterm>
+
  <refsynopsisdiv>
   <cmdsynopsis>
    <command>pg_dumpall</command>
index 3d23a074f893e44269874b24f7ba555119cb2335..d644df92e46a6718458bd151bb6f81b6b5aa66db 100644 (file)
   </refpurpose>
  </refnamediv>
 
+ <indexterm zone="app-pgrestore">
+  <primary>pg_restore</primary>
+ </indexterm>
+
  <refsynopsisdiv>
   <cmdsynopsis>
    <command>pg_restore</command>
@@ -42,8 +46,8 @@
   <para>
    <application>pg_restore</application> can operate in two modes: If
    a database name is specified, the archive is restored directly into
-   the database.  Large objects can only be restored by using a direct
-   database connection.  Otherwise, a script containing the SQL
+   the database.  (Large objects can only be restored by using such a direct
+   database connection.)  Otherwise, a script containing the SQL
    commands necessary to rebuild the database is created (and written
    to a file or standard output), similar to the ones created by the
    <application>pg_dump</application> plain text format.  Some of the
       <term><option>--orig-order</option></term>
       <listitem>
        <para>
-        Restore items in the original dump order. By default
-        <application>pg_dump</application> will dump items in an order
-        convenient to <application>pg_dump</application>, then save the
-        archive in a modified OID order. This option overrides the OID
-        ordering.
+        Restore items in the order they were originally generated within
+        <application>pg_dump</application>.  This option has no known
+       practical use, since <application>pg_dump</application> generates
+       the items in an order convenient to it, which is unlikely to be a
+       safe order for restoring them.  (This is <emphasis>not</> the order
+       in which the items are ultimately listed in the archive's table of
+       contents.)  See also <option>-r</>.
        </para>
       </listitem>
      </varlistentry>
       <term><option>--oid-order</option></term>
       <listitem>
        <para>
-        Restore items in the OID order. By default
-        <application>pg_dump</application> will dump items in an order
-        convenient to <application>pg_dump</application>, then save the
-        archive in a modified OID order. This option enforces strict
-        OID ordering.
+        Restore items in order by OID.  This option is of limited usefulness,
+       since OID is only an approximate indication of original creation
+       order.  This option overrides <option>-N</> if both are specified.
+       See also <option>-r</>.
        </para>
       </listitem>
      </varlistentry>
       <term><option>--rearrange</option></term>
       <listitem>
        <para>
-        Restore items in modified OID order. By default
-        <application>pg_dump</application> will dump items in an order
-        convenient to <application>pg_dump</application>, then save the
-        archive in a modified OID order. Most objects will be restored
-        in OID order, but some things (e.g., rules and indexes) will
-        be restored at the end of the process irrespective of their
-        OIDs. This option is the default.
+        Rearrange items by object type (this occurs after the sorting
+       specified by <option>-N</option> or <option>-o</option>, if
+       given).  The rearrangement is intended to give the best possible
+       restore performance.
+       </para>
+
+       <para>
+        When none of <option>-N</option>, <option>-o</option>, and
+       <option>-r</> appear, <application>pg_restore</application> restores
+       items in the order they appear in the dump's table of contents,
+       or in the order they appear in the  <REPLACEABLE
+        CLASS="PARAMETER">list-file</REPLACEABLE> if <option>-L</> is
+       given.  The combination of <option>-o</> and <option>-r</>
+       duplicates the sorting done by <application>pg_dump</application>
+       before creating the dump's table of contents,
+       and so it is normally unnecessary to specify it.
        </para>
       </listitem>
      </varlistentry>
index 7c319634c352ea6b7af041b15482e2fb3d3448a8..794df033c3fccb7ebfd685a2fa973b8aa8f0899a 100644 (file)
@@ -17,6 +17,10 @@ PostgreSQL documentation
   </refpurpose>
  </refnamediv>
 
+ <indexterm zone="app-pgtclsh">
+  <primary>pgtclsh</primary>
+ </indexterm>
+
  <refsynopsisdiv>
   <cmdsynopsis>
    <command>pgtclsh</command>
index 6384b0417ed7d748fb688b078a890e9acb03b711..9cb1f65aeaa66af6298b991184b9da0b12ae24b7 100644 (file)
@@ -17,6 +17,10 @@ PostgreSQL documentation
   </refpurpose>
  </refnamediv>
 
+ <indexterm zone="app-pgtksh">
+  <primary>pgtksh</primary>
+ </indexterm>
+
  <refsynopsisdiv>
   <cmdsynopsis>
    <command>pgtksh</command>
index ad2eaa240bdb02a009721ebcc0d843ba7dc05a6f..c67cffc4f11ec51b2d979a1604ab40211bd6d987 100644 (file)
@@ -15,6 +15,10 @@ PostgreSQL documentation
   <refpurpose>run a <productname>PostgreSQL</productname> server in single-user mode</refpurpose>
  </refnamediv>
 
+ <indexterm zone="app-postgres">
+  <primary>postgres (the program)</primary>
+ </indexterm>
+
  <refsynopsisdiv>
   <cmdsynopsis>
    <!-- standalone call -->
index ca43a18f2e7598d2672d434d110fea2edae03290..44def66ddd3942fae1df10c141f42535e1a274cf 100644 (file)
@@ -15,6 +15,10 @@ PostgreSQL documentation
   <refpurpose><productname>PostgreSQL</productname> multiuser database server</refpurpose>
  </refnamediv>
 
+ <indexterm zone="app-postmaster">
+  <primary>postmaster</primary>
+ </indexterm>
+
  <refsynopsisdiv>
   <cmdsynopsis>
    <command>postmaster</command>
index bcd506af70468ef3d873c709b77e229f72a17b33..2e21a6cc6dfcbdf6266b023642f07bfb1936168f 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>prepare a statement for execution</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-prepare">
+  <primary>PREPARE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 PREPARE <replaceable class="PARAMETER">plan_name</replaceable> [ (<replaceable class="PARAMETER">datatype</replaceable> [, ...] ) ] AS <replaceable class="PARAMETER">statement</replaceable>
@@ -130,7 +134,7 @@ PREPARE <replaceable class="PARAMETER">plan_name</replaceable> [ (<replaceable c
    In some situations, the query plan produced by for a prepared
    statement may be inferior to the plan produced if the statement
    were submitted and executed normally. This is because when the
-   statement is planned and the planer attempts to determine the
+   statement is planned and the planner attempts to determine the
    optimal query plan, the actual values of any parameters specified
    in the statement are
    unavailable. <productname>PostgreSQL</productname> collects
index 10811255abf486dde003beb64add2f5465b3d236..b3bc43a0c44b815a36cd88e694b8f702e34c7181 100644 (file)
@@ -17,6 +17,10 @@ PostgreSQL documentation
     </refpurpose>
   </refnamediv>
 
+ <indexterm zone="app-psql">
+  <primary>psql</primary>
+ </indexterm>
+
  <refsynopsisdiv>
   <cmdsynopsis>
    <command>psql</command>
@@ -2210,8 +2214,14 @@ testdb=> <userinput>\set content '\'' `sed -e "s/'/\\\\\\'/g" < my_file.txt` '\'
 
       <varlistentry>
         <term><literal>%n</literal></term>
-       <listitem><para>The user name you are connected as (not your local system
-         user name).</para></listitem>
+       <listitem>
+         <para>
+          The database session user name.  (The expansion of this
+          value might change during a database session as the result
+          of the command <command>SET SESSION
+          AUTHORIZATION</command>.)
+         </para>
+        </listitem>
       </varlistentry>
 
       <varlistentry>
@@ -2227,8 +2237,15 @@ testdb=> <userinput>\set content '\'' `sed -e "s/'/\\\\\\'/g" < my_file.txt` '\'
 
       <varlistentry>
         <term><literal>%#</literal></term>
-       <listitem><para>If the current user is a database superuser, then a
-         <literal>#</literal>, otherwise a <literal>&gt;</literal>.</para></listitem>
+       <listitem>
+         <para>
+          If the session user is a database superuser, then a
+          <literal>#</literal>, otherwise a <literal>&gt;</literal>.
+          (The expansion of this value might change during a database
+          session as the result of the command <command>SET SESSION
+          AUTHORIZATION</command>.)
+         </para>
+        </listitem>
       </varlistentry>
 
       <varlistentry>
index 689e4cc3fe95848c89e73c0d57114eb4ae5669a4..56d41e3b23ef5fed20adef7f093f84b851a79b8f 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>rebuild indexes</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-reindex">
+  <primary>REINDEX</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 REINDEX { DATABASE | TABLE | INDEX } <replaceable class="PARAMETER">name</replaceable> [ FORCE ]
index 34cede68549402322d53200feb413f2f2caef563..c4578fbd30de7292b866cff4d759ba0f56604b4f 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>restore the value of a run-time parameter to the default value</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-reset">
+  <primary>RESET</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 RESET <replaceable class="PARAMETER">parameter</replaceable>
index 957aae6d2edf95f2e541776ce3af1cdd98ccd773..93ec8e2533b590c6e761a55eb20e5d4998cf944a 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>remove access privileges</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-revoke">
+  <primary>REVOKE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 REVOKE [ GRANT OPTION FOR ]
index dc751bc262ae4cb719c857fc8a26242838561feb..fc6297066b87ebd96288f2104071f50173af5061 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>abort the current transaction</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-rollback">
+  <primary>ROLLBACK</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 ROLLBACK [ WORK | TRANSACTION ]
index a3510ac92515f528986016d0f406b546ff530023..b26de8881e349edfe56b63adc2f26cfa08542d93 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>retrieve rows from a table or view</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-select">
+  <primary>SELECT</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 SELECT [ ALL | DISTINCT [ ON ( <replaceable class="parameter">expression</replaceable> [, ...] ) ] ]
@@ -660,8 +664,11 @@ SELECT name FROM distributors ORDER BY code;
     <literal>ORDER BY</> clause.  If not specified, <literal>ASC</> is
     assumed by default.  Alternatively, a specific ordering operator
     name may be specified in the <literal>USING</> clause.
-    <literal>ASC</> is equivalent to <literal>USING &lt;</> and
-    <literal>DESC</> is equivalent to <literal>USING &gt;</>.
+    <literal>ASC</> is usually equivalent to <literal>USING &lt;</> and
+    <literal>DESC</> is usually equivalent to <literal>USING &gt;</>.
+    (But the creator of a user-defined datatype can define exactly what the
+    default sort ordering is, and it might correspond to operators with other
+    names.)
    </para>
 
    <para>
@@ -671,7 +678,7 @@ SELECT name FROM distributors ORDER BY code;
    </para>
 
    <para>
-    Data of character types is sorted according to the locale-specific
+    Character-string data is sorted according to the locale-specific
     collation order that was established when the database cluster
     was initialized.
    </para>
@@ -1003,7 +1010,9 @@ SELECT distributors.* FROM distributors d, distributors distributors;
     that he will actually get.  To help detect this sort of mistake,
     PostgreSQL will warn if the implicit-<literal>FROM</literal>
     feature is used in a <command>SELECT</command> statement that also
-    contains an explicit <literal>FROM</literal> clause.
+    contains an explicit <literal>FROM</literal> clause.  Also, it is
+    possible to disable the implicit-<literal>FROM</literal> feature
+    by setting the <varname>ADD_MISSING_FROM</> parameter to false.
    </para>
   </refsect2>
 
@@ -1015,7 +1024,7 @@ SELECT distributors.* FROM distributors d, distributors distributors;
     noise and can be omitted without affecting the meaning.  The
     <productname>PostgreSQL</productname> parser requires this key
     word when renaming output columns because the type extensibility
-    features lead to parsing ambiguities in this context.
+    features lead to parsing ambiguities without it.
     <literal>AS</literal> is optional in <literal>FROM</literal>
     items, however.
    </para>
@@ -1025,7 +1034,7 @@ SELECT distributors.* FROM distributors d, distributors distributors;
    <title>Namespace Available to <literal>GROUP BY</literal> and <literal>ORDER BY</literal></title>
 
    <para>
-    In the SQL standard, an <literal>ORDER BY</literal> clause may
+    In the SQL92 standard, an <literal>ORDER BY</literal> clause may
     only use result column names or numbers, while a <literal>GROUP
     BY</literal> clause may only use expressions based on input column
     names.  <productname>PostgreSQL</productname> extends each of
@@ -1036,6 +1045,13 @@ SELECT distributors.* FROM distributors d, distributors distributors;
     expression will always be taken as input-column names, not as
     result-column names.
    </para>
+
+   <para>
+    SQL99 uses a slightly different definition which is not upward compatible
+    with SQL92.  In most cases, however, <productname>PostgreSQL</productname>
+    will interpret an <literal>ORDER BY</literal> or <literal>GROUP
+    BY</literal> expression the same way SQL99 does.
+   </para>
   </refsect2>
 
   <refsect2>
index 67acca5e847763d69e3e5cf30e4f9eae0ba2c18f..02590cb6824421c65a9bc64b2be95e015d9a3f35 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>create a new table from the results of a query</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-selectinto">
+  <primary>SELECT INTO</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 SELECT [ ALL | DISTINCT [ ON ( <replaceable class="PARAMETER">expression</replaceable> [, ...] ) ] ]
index 4c27784498a42da5ec374be13644167bf17da4fa..6b8d21045da990e557794bdc37faedf5245b3f12 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>change a run-time parameter</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-set">
+  <primary>SET</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 SET [ SESSION | LOCAL ] <replaceable class="PARAMETER">variable</replaceable> { TO | = } { <replaceable class="PARAMETER">value</replaceable> | '<replaceable class="PARAMETER">value</replaceable>' | DEFAULT }
index 7c58348647c57d0b4a0d1d5720e6d7728630ad48..bc70debf394715b489eaaa043fb7915005e7ec01 100644 (file)
   <refpurpose>set the constraint mode of the current transaction</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-set-constraints">
+  <primary>SET CONSTRAINTS</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 SET CONSTRAINTS { ALL | <replaceable class="parameter">constraint</replaceable> [, ...] } { DEFERRED | IMMEDIATE }
index f16fe85d0290ef70ea0db0d1e6fab867c01375a2..e3a4ccf35ae00cf1afab7f2f0177cb017dca6597 100644 (file)
   <refpurpose>set the session user identifier and the current user identifier of the current session</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-set-session-authorization">
+  <primary>SET SESSION AUTHORIZATION</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 SET [ SESSION | LOCAL ] SESSION AUTHORIZATION <replaceable class="parameter">username</replaceable>
index ee19f6250e30b1797ad8a4aa7ba07545fd1b011e..d0312ac81614adf3f6dd99dec44f242ee414df25 100644 (file)
   <refpurpose>set the characteristics of the current transaction</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-set-transaction">
+  <primary>SET TRANSACTION</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 SET TRANSACTION
index 1d38e27bbdc3a8ff53c302fc37a7eea0390e2f9b..c26d07f4145855d971133db5d2fcb79cd30da288 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>show the value of a run-time parameter</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-show">
+  <primary>SHOW</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 SHOW <replaceable class="PARAMETER">name</replaceable>
index d85ab3e84038e54dd9ba3bba6e84006e9ff5468a..6b4ffba8cfd2852938acdda6b5e0c250b53bbbb2 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>start a transaction block</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-start-transaction">
+  <primary>START TRANSACTION</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 START TRANSACTION [ ISOLATION LEVEL { READ COMMITTED | SERIALIZABLE } ] [ READ WRITE | READ ONLY ]
index 7f1f56ab95341fb7f114899cded8fbf2370f025e..7602afac65312902c359523d4bcefbe08cdcb82d 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>empty a table</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-truncate">
+  <primary>TRUNCATE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 TRUNCATE [ TABLE ] <replaceable class="PARAMETER">name</replaceable>
index 6b878f5ac9a3b64313f3c850ee591fb375268ee9..95b941fd3fa4a81edb50e23f77cc8fbc14ec833d 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>stop listening for a notification</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-unlisten">
+  <primary>UNLISTEN</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 UNLISTEN { <replaceable class="PARAMETER">name</replaceable> | * }
index e8418ca6b710e46ec15232e565bfcda1282de79b..fac01a4f6b5002e6b917acf362ae8abcb6273ec1 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>update rows of a table</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-update">
+  <primary>UPDATE</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 UPDATE [ ONLY ] <replaceable class="PARAMETER">table</replaceable> SET <replaceable class="PARAMETER">column</replaceable> = { <replaceable class="PARAMETER">expression</replaceable> | DEFAULT } [, ...]
index a9da1de292755ac1a38b8c4350ea8b74a95b1446..847b7819674fcedf020f0a2342588af2d657b2bd 100644 (file)
@@ -14,6 +14,10 @@ PostgreSQL documentation
   <refpurpose>garbage-collect and optionally analyze a database</refpurpose>
  </refnamediv>
 
+ <indexterm zone="sql-vacuum">
+  <primary>VACUUM</primary>
+ </indexterm>
+
  <refsynopsisdiv>
 <synopsis>
 VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ <replaceable class="PARAMETER">table</replaceable> ]
index e3a67ef5f69482f23c850f1724ee0b4dde78448e..800ab9bcb01b1b5ef6a3e7dc653e95bcca202c7b 100644 (file)
@@ -15,6 +15,10 @@ PostgreSQL documentation
   <refpurpose>garbage-collect and analyze a <productname>PostgreSQL</productname> database</refpurpose>
  </refnamediv>
 
+ <indexterm zone="app-vacuumdb">
+  <primary>vacuumdb</primary>
+ </indexterm>
+
  <refsynopsisdiv>
   <cmdsynopsis>
    <command>vacuumdb</command>
@@ -59,10 +63,11 @@ PostgreSQL documentation
 
 
   <para>
-  <application>vacuumdb</application> might need to connect several
-  times to the <productname>PostgreSQL</productname> server, asking for
-  a password each time. It is convenient to have a
-  <filename>$HOME/.pgpass</> file in such cases.
+   <application>vacuumdb</application> might need to connect several
+   times to the <productname>PostgreSQL</productname> server, asking
+   for a password each time. It is convenient to have a
+   <filename>$HOME/.pgpass</> file in such cases. See <xref
+   linkend="libpq-pgpass"> for more information.
   </para>
 
  </refsect1>
@@ -234,7 +239,7 @@ PostgreSQL documentation
       <term><computeroutput>VACUUM</computeroutput></term>
       <listitem>
        <para>
-        Everything went well.
+        The database was successfully vacuumed.
        </para>
       </listitem>
      </varlistentry>
index 55869d86080f68558ae88376c4ab6164eb51333f..a257a85da0e90dbbd838018ec0c4cad92c65cae3 100644 (file)
@@ -3,6 +3,14 @@
  <chapter id="regress">
   <title id="regress-title">Regression Tests</title>
 
+  <indexterm zone="regress">
+   <primary>regression tests</primary>
+  </indexterm>
+
+  <indexterm zone="regress">
+   <primary>test</primary>
+  </indexterm>
+
   <para>
    The regression tests are a comprehensive set of tests for the SQL
    implementation in <productname>PostgreSQL</productname>.  They test
index 6713eaeb762b80a95c4df9aefc5d1c7a48eaadc9..a784a9f50b464149e8201ce57879636a2e63c127 100644 (file)
@@ -456,8 +456,8 @@ Properly escape jdbc setObject() strings to improve security (Barry)
     application examines the system catalogs, additional changes will
     be required due to the introduction of schemas in 7.3; for more
     information, see: <ulink
-    url="http://www.ca.postgresql.org/docs/momjian/upgrade_tips_7.3">
-    http://www.ca.postgresql.org/docs/momjian/upgrade_tips_7.3</>.
+    url="http://developer.postgresql.org/~momjian/upgrade_tips_7.3">
+    http://developer.postgresql.org/~momjian/upgrade_tips_7.3</>.
    </para>
 
    <para>
@@ -4901,7 +4901,7 @@ Contributors (appologies to any missed)
  * david bennett <[email protected]>
  * Julian Assange <[email protected]>
- * Bruce Momjian <maillist@candle.pha.pa.us>
+ * Bruce Momjian <pgman@candle.pha.pa.us>
  * Paul "Shag" Walmsley <[email protected]>
  * "Alistair G. Crooks" <[email protected]>
 -->
index 7fb316ab7ab7c4184b0c3461aba3931fe3753792..9e9356281da1d92d23e40918dd4ebbfd8aff84df 100644 (file)
@@ -4,7 +4,7 @@
 <Title>The Rule System</Title>
 
  <indexterm zone="rules">
-  <primary>rules</primary>
+  <primary>rule</primary>
  </indexterm>
 
 <Para>
 <Sect1 id="querytree">
 <Title>The Query Tree</Title>
 
+<indexterm zone="querytree">
+ <primary>query tree</primary>
+</indexterm>
+
 <Para>
     To understand how the rule system works it is necessary to know
     when it is invoked and what its input and results are.
     <Term>
         the target list
     </Term>
+    <indexterm><primary>target list</></>
     <ListItem>
     <Para>
         The target list is a list of expressions that define the
 
 <Sect1 id="rules-views">
 <Title>Views and the Rule System</Title>
-<indexterm zone="rules-views"><primary>rules</><secondary>and views</></>
+
+<indexterm zone="rules-views">
+ <primary>rule</primary>
+ <secondary>and views</secondary>
+</indexterm>
+
+<indexterm zone="rules-views">
+ <primary>view</>
+ <secondary>implementation through rules</>
+</indexterm>
 
 <Para>
     Views in <ProductName>PostgreSQL</ProductName> are implemented
@@ -286,9 +300,14 @@ CREATE RULE "_RETURN" AS ON SELECT TO myview DO INSTEAD
     same thing: relations.
 </Para>
 
-<Sect2>
+<Sect2 id="rules-select">
 <Title>How <command>SELECT</command> Rules Work</Title>
 
+<indexterm zone="rules-select">
+ <primary>rule</primary>
+ <secondary sortas="SELECT">for SELECT</secondary>
+</indexterm>
+
 <Para>
     Rules <literal>ON SELECT</> are applied to all queries as the last step, even
     if the command given is an <command>INSERT</command>,
@@ -736,7 +755,7 @@ SELECT t1.a, t2.b FROM t1, t2 WHERE t1.a = t2.a;
     To resolve this problem, another entry is added to the target list
     in <command>UPDATE</command> (and also in
     <command>DELETE</command>) statements: the current tuple ID
-    (<acronym>CTID</>).  This is a system column containing the
+    (<acronym>CTID</>).<indexterm><primary>CTID</></>  This is a system column containing the
     file block number and position in the block for the row. Knowing
     the table, the <acronym>CTID</> can be used to retrieve the
     original row of <literal>t1</> to be updated.  After adding the <acronym>CTID</>
@@ -817,6 +836,21 @@ SELECT t1.a, t2.b, t1.ctid FROM t1, t2 WHERE t1.a = t2.a;
 <Sect1 id="rules-update">
 <Title>Rules on <command>INSERT</>, <command>UPDATE</>, and <command>DELETE</></Title>
 
+<indexterm zone="rules-update">
+ <primary>rule</primary>
+ <secondary sortas="INSERT">for INSERT</secondary>
+</indexterm>
+
+<indexterm zone="rules-update">
+ <primary>rule</primary>
+ <secondary sortas="UPDATE">for UPDATE</secondary>
+</indexterm>
+
+<indexterm zone="rules-update">
+ <primary>rule</primary>
+ <secondary sortas="DELETE">for DELETE</secondary>
+</indexterm>
+
 <Para>
     Rules that are defined on <command>INSERT</>, <command>UPDATE</>,
     and <command>DELETE</> are significantly different from the view rules
@@ -1243,7 +1277,7 @@ SELECT shoelace_data.sl_name, 0,
 <Sect2 id="rules-update-views">
 <Title>Cooperation with Views</Title>
 
-<indexterm zone="rules-update-views"><primary>views</><secondary>updating</></>
+<indexterm zone="rules-update-views"><primary>view</><secondary>updating</></>
 
 <Para>
     A simple way to protect view relations from the mentioned
@@ -1654,6 +1688,16 @@ SELECT * FROM shoelace;
 <Sect1 id="rules-privileges">
 <Title>Rules and Privileges</Title>
 
+<indexterm zone="rules-privileges">
+ <primary>privilege</primary>
+ <secondary sortas="Regeln">with rules</secondary>
+</indexterm>
+
+<indexterm zone="rules-privileges">
+ <primary>privilege</primary>
+ <secondary sortas="Sichten">with views</secondary>
+</indexterm>
+
 <Para>
     Due to rewriting of queries by the <ProductName>PostgreSQL</ProductName>
     rule system, other tables/views than those used in the original
@@ -1796,6 +1840,16 @@ GRANT SELECT ON phone_number TO secretary;
 <Sect1 id="rules-triggers">
 <Title>Rules versus Triggers</Title>
 
+<indexterm zone="rules-triggers">
+ <primary>rule</primary>
+ <secondary sortas="Trigger">compared with triggers</secondary>
+</indexterm>
+
+<indexterm zone="rules-triggers">
+ <primary>trigger</primary>
+ <secondary sortas="Regeln">compared with rules</secondary>
+</indexterm>
+
 <Para>
     Many things that can be done using triggers can also be
     implemented using the <ProductName>PostgreSQL</ProductName>
index 962166080c8c7647ee730ad695242693f454a0c9..4d4466b4f3b7abccc5f38e4f28460ea8f5f42d5b 100644 (file)
@@ -69,7 +69,7 @@ $Header$
    default, although locations such as
    <filename>/usr/local/pgsql/data</filename> or
    <filename>/var/lib/pgsql/data</filename> are popular. To initialize a
-   database cluster, use the command <command>initdb</command>, which is
+   database cluster, use the command <command>initdb</command>,<indexterm><primary>initdb</></> which is
    installed with <productname>PostgreSQL</productname>. The desired
    file system location of your database system is indicated by the
    <option>-D</option> option, for example
@@ -120,11 +120,13 @@ postgres$ <userinput>initdb -D /usr/local/pgsql/data</userinput>
   <para>
    However, while the directory contents are secure, the default
    client authentication setup allows any local user to connect to the
-   database and even become the database superuser. If you do not trust
-   other local users, we recommend you use <command>initdb</command>'s
-   <option>-W</option> or <option>--pwprompt</option> option to assign a
-   password to the database superuser. After <command>initdb</command>,
-   modify the <filename>pg_hba.conf</filename> file to use <literal>md5</> or
+   database and even become the database superuser. If you do not
+   trust other local users, we recommend you use
+   <command>initdb</command>'s <option>-W</option> or
+   <option>--pwprompt</option> option to assign a password to the
+   database superuser.<indexterm><primary>password</><secondary>of the
+   superuser</></indexterm> After <command>initdb</command>, modify
+   the <filename>pg_hba.conf</filename> file to use <literal>md5</> or
    <literal>password</> instead of <literal>trust</> authentication
    <emphasis>before</> you start the server for the first time. (Other
    approaches include using <literal>ident</literal> authentication or
@@ -207,8 +209,9 @@ pg_ctl start -l logfile
 
   <para>
    Normally, you will want to start the database server when the
-   computer boots. Autostart scripts are operating system-specific.
-   There are a few distributed with
+   computer boots.<indexterm><primary>booting</><secondary>starting
+   the server during</></> Autostart scripts are operating
+   system-specific.  There are a few distributed with
    <productname>PostgreSQL</productname> in the
    <filename>contrib/start-scripts</> directory. This may require root
    privileges.
@@ -240,7 +243,7 @@ su -c 'pg_ctl start -D /usr/local/pgsql/data -l serverlog' postgres
       For <productname>FreeBSD</productname>, look at the file
       <filename>contrib/start-scripts/freebsd</filename> in the
       <productname>PostgreSQL</productname> source distribution.
-      <indexterm><primary>FreeBSD</></>
+      <indexterm><primary>FreeBSD</><secondary>start script</secondary></>
      </para>
     </listitem>
 
@@ -248,7 +251,7 @@ su -c 'pg_ctl start -D /usr/local/pgsql/data -l serverlog' postgres
      <para>
       On <productname>OpenBSD</productname>, add the following lines
       to the file <filename>/etc/rc.local</filename>:
-      <indexterm><primary>OpenBSD</></>
+      <indexterm><primary>OpenBSD</><secondary>start script</secondary></>
 <programlisting>
 if [ -x /usr/local/pgsql/bin/pg_ctl -a -x /usr/local/pgsql/bin/postmaster ]; then
     su - -c '/usr/local/pgsql/bin/pg_ctl start -l /var/postgresql/log -s' postgres
@@ -261,7 +264,7 @@ fi
     <listitem>
      <para>
       On <productname>Linux</productname> systems either add
-      <indexterm><primary>Linux</></>
+      <indexterm><primary>Linux</><secondary>start script</secondary></>
 <programlisting>
 /usr/local/pgsql/bin/pg_ctl start -l logfile -D /usr/local/pgsql/data
 </programlisting>
@@ -276,7 +279,7 @@ fi
       On <productname>NetBSD</productname>, either use the
       <productname>FreeBSD</productname> or
       <productname>Linux</productname> start scripts, depending on
-      preference. <indexterm><primary>NetBSD</></>
+      preference. <indexterm><primary>NetBSD</><secondary>start script</secondary></>
      </para>
     </listitem>
 
@@ -285,7 +288,7 @@ fi
       On <productname>Solaris</productname>, create a file called
       <filename>/etc/init.d/postgresql</filename> that contains
       the following line:
-      <indexterm><primary>Solaris</></>
+      <indexterm><primary>Solaris</><secondary>start script</secondary></>
 <programlisting>
 su - postgres -c "/usr/local/pgsql/bin/pg_ctl start -l logfile -D /usr/local/pgsql/data"
 </programlisting>
@@ -441,7 +444,7 @@ psql: could not connect to server: Connection refused
 
    <indexterm>
     <primary>configuration</primary>
-    <secondary>server</secondary>
+    <secondary>of the server</secondary>
    </indexterm>
 
    <para>
@@ -462,7 +465,7 @@ psql: could not connect to server: Connection refused
 
    <para>
     One way to set these options is to edit the file
-    <filename>postgresql.conf</filename> in the data directory. (A
+    <filename>postgresql.conf</filename><indexterm><primary>postgresql.conf</></> in the data directory. (A
     default file is installed there.) An example of what this file might
     look like is:
 <programlisting>
@@ -626,7 +629,7 @@ SET ENABLE_SEQSCAN TO OFF;
       <term><varname>TCPIP_SOCKET</varname> (<type>boolean</type>)</term>
       <listitem>
        <para>
-        If this is true, then the server will accept TCP/IP connections.
+        If this is true, then the server will accept TCP/IP connections.<indexterm><primary>TCP/IP</></>
         Otherwise only local Unix domain socket connections are
         accepted. It is off by default. This option can only be set at
         server start.
@@ -781,7 +784,8 @@ SET ENABLE_SEQSCAN TO OFF;
      <variablelist>
      <varlistentry>
       <term><varname>AUTHENTICATION_TIMEOUT</varname> (<type>integer</type>)</term>
-      <indexterm><primary>timeout</><secondary>authentication</></indexterm>
+      <indexterm><primary>timeout</><secondary>client authentication</></indexterm>
+      <indexterm><primary>client authentication</><secondary>timeout during</></indexterm>
       <listitem>
        <para>
         Maximum time to complete client authentication, in seconds. If a
@@ -1514,8 +1518,17 @@ SET ENABLE_SEQSCAN TO OFF;
    <sect2 id="runtime-config-logging">
     <title>Error Reporting and Logging</title>
 
+    <indexterm zone="runtime-config-logging">
+     <primary>server log</primary>
+    </indexterm>
+
     <sect3 id="runtime-config-logging-syslog">
      <title>Syslog</title>
+
+     <indexterm zone="runtime-config-logging-syslog">
+      <primary>syslog</primary>
+     </indexterm>
+
      <variablelist>
 
      <varlistentry>
@@ -2137,7 +2150,7 @@ SET ENABLE_SEQSCAN TO OFF;
 
      <varlistentry>
       <term><varname>AUSTRALIAN_TIMEZONES</varname> (<type>boolean</type>)</term>
-      <indexterm><primary>Australian time zones</></>
+      <indexterm><primary>time zone</><secondary>Australian</></>
       <listitem>
        <para>
         If set to true, <literal>ACST</literal>,
@@ -2154,8 +2167,8 @@ SET ENABLE_SEQSCAN TO OFF;
        <primary>significant digits</primary>
       </indexterm>
       <indexterm>
-       <primary>display</primary>
-       <secondary>of float numbers</secondary>
+       <primary>floating-point</primary>
+       <secondary>display</secondary>
       </indexterm>
 
       <term><varname>EXTRA_FLOAT_DIGITS</varname> (<type>integer</type>)</term>
@@ -2175,7 +2188,7 @@ SET ENABLE_SEQSCAN TO OFF;
 
      <varlistentry>
       <term><varname>CLIENT_ENCODING</varname> (<type>string</type>)</term>
-      <indexterm><primary>character set encoding</></>
+      <indexterm><primary>character set</></>
       <listitem>
        <para>
         Sets the client-side encoding (character set).
@@ -2338,7 +2351,7 @@ dynamic_library_path = '/usr/local/lib/postgresql:/home/my_project/lib:$libdir'
      <varlistentry>
       <indexterm>
        <primary>deadlock</primary>
-       <secondary>timeout</secondary>
+       <secondary>timeout during</secondary>
       </indexterm>
       <indexterm>
        <primary>timeout</primary>
@@ -2388,14 +2401,22 @@ dynamic_library_path = '/usr/local/lib/postgresql:/home/my_project/lib:$libdir'
     <title>Version and Platform Compatibility</title>
 
     <sect3 id="runtime-config-compatible-version">
-     <title>Previous Postgres Versions</title>
+     <title>Previous PostgreSQL Versions</title>
      <variablelist>
 
      <varlistentry>
       <term><varname>ADD_MISSING_FROM</varname> (<type>boolean</type>)</term>
-      <indexterm><primary>missing from</></>
+      <indexterm><primary>FROM</><secondary>missing</></>
       <listitem>
        <para>
+        When <literal>true</>, tables that are referenced by a query will be
+       automatically added to the <literal>FROM</> clause if not already
+       present.  The default is <literal>true</> for compatibility with
+       previous releases of <productname>PostgreSQL</>.  However, this
+       behavior is not SQL-standard, and many people dislike it because it
+       can mask mistakes.  Set to <literal>false</> for the SQL-standard
+       behavior of rejecting references to tables that are not listed in
+       <literal>FROM</>.
        </para>
       </listitem>
      </varlistentry>
@@ -2905,7 +2926,7 @@ $ <userinput>postmaster -o '-S 1024 -s'</userinput>
 
      <varlistentry>
       <term><systemitem class="osname">BSD/OS</></term>
-      <indexterm><primary>BSD/OS</></>
+      <indexterm><primary>BSD/OS</><secondary>IPC configuration</></>
       <listitem>
        <formalpara>
         <title>Shared Memory</>
@@ -2966,9 +2987,9 @@ options "SEMMNS=240"
       <term><systemitem class="osname">FreeBSD</></term>
       <term><systemitem class="osname">NetBSD</></term>
       <term><systemitem class="osname">OpenBSD</></term>
-      <indexterm><primary>FreeBSD</></>
-      <indexterm><primary>NetBSD</></>
-      <indexterm><primary>OpenBSD</></>
+      <indexterm><primary>FreeBSD</><secondary>IPC configuration</></>
+      <indexterm><primary>NetBSD</><secondary>IPC configuration</></>
+      <indexterm><primary>OpenBSD</><secondary>IPC configuration</></>
       <listitem>
        <para>
         The options <varname>SYSVSHM</> and <varname>SYSVSEM</> need
@@ -3002,7 +3023,7 @@ options         SEMMAP=256
 
      <varlistentry>
       <term><systemitem class="osname">HP-UX</></term>
-      <indexterm><primary>HP-UX</></>
+      <indexterm><primary>HP-UX</><secondary>IPC configuration</></>
       <listitem>
        <para>
         The default settings tend to suffice for normal installations.
@@ -3023,7 +3044,7 @@ options         SEMMAP=256
 
      <varlistentry>
       <term><systemitem class="osname">Linux</></term>
-      <indexterm><primary>Linux</></>
+      <indexterm><primary>Linux</><secondary>IPC configuration</></>
       <listitem>
        <para>
         The default shared memory limit (both
@@ -3060,14 +3081,61 @@ kernel.shmmax = 134217728
        </para>
 
        <para>
-        Linux has poor default memory overcommit behavior.  Rather than
-        failing if it can not reserve enough memory, it returns success, 
-        but later fails when the memory can't be mapped and terminates 
-        the application with <literal>kill -9</>.  To prevent unpredictable 
-        process termination, use:
+       Linux kernel version 2.4.* has poor default memory overcommit 
+       behavior, which can result in the postmaster being killed by the 
+       kernel due to memory demands by another process if the system 
+       runs out of memory.
+       </para>
+
+       <para>
+       The symptom of this occuring is a kernel message looking like 
+       this (consult your system documentation and configuration on 
+       where to look for such a message):
+<programlisting>
+ Out of Memory: Killed process 12345 (postmaster). 
+</programlisting>
+       </para>
+
+       <para>
+       To avoid this situation, run <productname>PostgreSQL</productname> 
+       on a machine where you 
+       can be sure that other processes will not run the machine out 
+       of memory. If your kernel supports strict and/or paranoid modes 
+       of overcommit handling, you can also relieve this problem by 
+       altering the system's default behaviour. This can be determined 
+       by examining the function <function>vm_enough_memory</>
+       in the file <filename>mm/mmap.c</> in the kernel source. 
+       If this file reveals that strict and/or paranoid modes are 
+       supported by your kernel, turn one of these modes on by using
+<programlisting>
+sysctl -w vm.overcommit_memory=2
+</programlisting>
+        for strict mode or
 <programlisting>
 sysctl -w vm.overcommit_memory=3
 </programlisting>
+       for paranoid mode, or placing an equivalent entry in 
+       <filename>/etc/sysctl.conf</>.
+       </para>
+
+       <note>
+       <para>
+        Warning: using these settings in a kernel which does not support 
+        these modes will almost certainly increase the danger of the 
+        kernel killing the postmaster, rather than reducing it. 
+        If in any doubt, consult a kernel expert or your kernel vendor.
+       </para>
+       </note>
+
+       <para>
+       These modes are expected to be supported in all 2.6 and later 
+       kernels. Some vendor 2.4 kernels may also support these modes. 
+       However, it is known that some vendor documents suggest that 
+       they support them while examination of the kernel source reveals 
+       that they do not.
+       </para>
+
+       <para>
         Note, you will need enough swap space to cover all your memory needs.
        </para>
       </listitem>
@@ -3076,7 +3144,7 @@ sysctl -w vm.overcommit_memory=3
 
      <varlistentry>
       <term><systemitem class="osname">MacOS X</></term>
-      <indexterm><primary>MacOS X</></>
+      <indexterm><primary>MacOS X</><secondary>IPC configuration</></>
       <listitem>
        <para>
         Edit the file
@@ -3096,7 +3164,7 @@ sysctl -w kern.sysv.shmall
 
      <varlistentry>
       <term><systemitem class="osname">SCO OpenServer</></term>
-      <indexterm><primary>SCO OpenServer</></>
+      <indexterm><primary>SCO OpenServer</><secondary>IPC configuration</></>
       <listitem>
        <para>
         In the default configuration, only 512 kB of shared memory per
@@ -3124,7 +3192,7 @@ sysctl -w kern.sysv.shmall
 
      <varlistentry>
       <term><systemitem class="osname">Solaris</></term>
-      <indexterm><primary>Solaris</></>
+      <indexterm><primary>Solaris</><secondary>IPC configuration</></>
       <listitem>
        <para>
         At least in version 2.6, the default maximum size of a shared
@@ -3157,7 +3225,7 @@ set semsys:seminfo_semmsl=32
 
      <varlistentry>
       <term><systemitem class="osname">UnixWare</></term>
-      <indexterm><primary>UnixWare</></>
+      <indexterm><primary>UnixWare</><secondary>IPC configuration</></>
       <listitem>
        <para>
         On <productname>UnixWare</> 7, the maximum size for shared
@@ -3277,13 +3345,17 @@ default:\
  <sect1 id="postmaster-shutdown">
   <title>Shutting Down the Server</title>
 
+  <indexterm zone="postmaster-shutdown">
+   <primary>shutdown</>
+  </indexterm>
+
   <para>
    There are several ways to shut down the database server. You control
    the type of shutdown by sending different signals to the server
    process.
    <variablelist>
     <varlistentry>
-     <term><systemitem>SIGTERM</systemitem></term>
+     <term><systemitem>SIGTERM</systemitem><indexterm><primary>SIGTERM</></></term>
      <listitem>
       <para>
        After receiving <systemitem>SIGTERM</systemitem>, the server
@@ -3296,7 +3368,7 @@ default:\
     </varlistentry>
 
     <varlistentry>
-     <term><systemitem>SIGINT</systemitem></term>
+     <term><systemitem>SIGINT</systemitem><indexterm><primary>SIGINT</></></term>
      <listitem>
       <para>
        The server disallows new connections and sends all existing
@@ -3309,7 +3381,7 @@ default:\
     </varlistentry>
 
     <varlistentry>
-     <term><systemitem>SIGQUIT</systemitem></term>
+     <term><systemitem>SIGQUIT</systemitem><indexterm><primary>SIGQUIT</></></term>
      <listitem>
       <para>
       This is the <firstterm>Immediate Shutdown</firstterm>, which
index 043f7649e2ed383b185d28e1d6451c4d21ce8443..d8c73edd9a1870788e27dff1d5e11cc1701319bd 100644 (file)
 $Header$
 -->
 
-<Chapter id="spi">
-<DocInfo>
-<AuthorGroup>
-<Author>
-<FirstName>Vadim</FirstName>
-<Surname>Mikheev</Surname>
-</Author>
-</AuthorGroup>
-<Date>Transcribed 1998-01-16</Date>
-</DocInfo>
-
-<Title>Server Programming Interface</Title>
-
-<Para>
-The <FirstTerm>Server Programming Interface</FirstTerm> 
-(<Acronym>SPI</Acronym>) gives users the
-ability to run <Acronym>SQL</Acronym> queries inside user-defined 
-<Acronym>C</Acronym> functions.
-</Para>
-
-<note>
-<para>
-The available Procedural Languages (<Acronym>PL</Acronym>) give an alternate
-means to build functions that can execute queries.
-</para>
-</note>
-
-<Para>
-In fact, <Acronym>SPI</Acronym> is just a set of native interface functions
-to simplify access to the Parser, Planner, Optimizer and Executor. 
-<Acronym>SPI</Acronym> also does some memory management.
-</Para>
-
-<Para>
-To avoid misunderstanding we'll use <FirstTerm>function</FirstTerm> 
-to mean <Acronym>SPI</Acronym> interface functions and 
-<FirstTerm>procedure</FirstTerm> for user-defined C-functions 
-using <Acronym>SPI</Acronym>.
-</Para>
-
-<Para>
-Procedures which use <Acronym>SPI</Acronym> are called by the
-Executor.  The <Acronym>SPI</Acronym> calls recursively invoke the
-Executor in turn to run queries.  When the Executor is invoked
-recursively, it may itself call procedures which may make
-<Acronym>SPI</Acronym> calls.
-</Para>
-
-<Para>
-Note that if during execution of a query from a procedure the transaction is
-aborted, then control will not be returned to your procedure. Rather, all work
-will be rolled back and the server will wait for the next command from the
-client.  This will probably be changed in future versions.
-</Para>
-
-<Para>
-A related restriction is the inability to execute BEGIN, END and ABORT
-(transaction control statements).  This will also be
-changed in the future.
-</Para>
-
-<Para>
-If successful, <Acronym>SPI</Acronym> functions return a non-negative result (either via
-a returned integer value or in SPI_result global variable, as described below).
-On error, a negative or NULL result will be returned.
-</Para>
-
-<Sect1 id="spi-interface">
-<Title>Interface Functions</Title>
-
-<REFENTRY ID="SPI-SPICONNECT">
-<REFMETA>
-<REFENTRYTITLE>SPI_connect</REFENTRYTITLE>
-<REFMISCINFO>SPI - Connection Management</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>SPI_connect
-</REFNAME>
-<REFPURPOSE>
-   Connects your procedure to the SPI manager.
-</REFPURPOSE>
-<INDEXTERM ID="IX-SPI-SPICONNECT-1"><PRIMARY>SPI</PRIMARY><SECONDARY>connecting</SECONDARY></INDEXTERM>
-<INDEXTERM ID="IX-SPI-SPICONNECT-2"><PRIMARY>SPI_connect</PRIMARY></INDEXTERM>
-</REFNAMEDIV>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>1997-12-24</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
+<chapter id="spi">
+ <title>Server Programming Interface</title>
+
+ <indexterm zone="spi">
+  <primary>SPI</primary>
+ </indexterm>
+
+ <para>
+  The <firstterm>Server Programming Interface</firstterm>
+  (<acronym>SPI</acronym>) gives users the ability to run
+  <acronym>SQL</acronym> commands inside user-defined
+  <acronym>C</acronym> functions.  <acronym>SPI</acronym> is a set of
+  interface functions to simplify access to the parser, planner,
+  optimizer, and executor. <acronym>SPI</acronym> also does some
+  memory management.
+ </para>
+
+ <para>
+  To avoid misunderstanding we'll use the term <quote>function</quote>
+  when we speak of <acronym>SPI</acronym> interface functions and
+  <quote>procedure</quote> for user-defined C-functions, which may be
+  using <acronym>SPI</acronym>.
+ </para>
+
+ <para>
+  Note that if during the execution of a procedure the transaction is
+  aborted because of an error in a command, then control will not be
+  returned to your procedure.  Rather, all work will be rolled back
+  and the server will wait for the next command from the client.  A
+  related restriction is the inability to execute
+  <command>BEGIN</command>, <command>COMMIT</command>, and
+  <command>ROLLBACK</command> (transaction control statements) inside
+  a procedure.  Both of these restrictions will probably be changed in
+  the future.
+ </para>
+
+ <para>
+  <acronym>SPI</acronym> functions return a nonnegative result on
+  success (either via a returned integer value or in the global
+  variable <varname>SPI_result</varname>, as described below).  On
+  error, a negative result or <symbol>NULL</symbol> will be returned.
+ </para>
+
+ <para>
+  Source code files that use SPI must include the header file
+  <filename>executor/spi.h</filename>.
+ </para>
+
+ <note>
+  <para>
+   The available procedural languages provide different means to
+   execute SQL commands from procedures.  Some of these are modelled
+   after SPI, so this documentation might be of use for those users as
+   well.
+  </para>
+ </note>
+
+
+<sect1 id="spi-interface">
+ <title>Interface Functions</title>
+
+ <refentry id="spi-spi-connect">
+  <refmeta>
+   <refentrytitle>SPI_connect</refentrytitle>
+  </refmeta>
+
+  <refnamediv>
+   <refname>SPI_connect</refname>
+   <refpurpose>connect a procedure to the SPI manager</refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_connect</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
 int SPI_connect(void)
-</SYNOPSIS>
-
-<REFSECT2 ID="R2-SPI-SPICONNECT-1">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Inputs
-</TITLE>
-<PARA>None
-</PARA>
-</REFSECT2>
-
-<REFSECT2 ID="R2-SPI-SPICONNECT-2">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Outputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>int
-</TERM>
-<LISTITEM>
-<PARA>
-Return status
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM><ReturnValue>SPI_OK_CONNECT</ReturnValue>
-</TERM>
-<LISTITEM>
-<PARA>
-   if connected
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM><ReturnValue>SPI_ERROR_CONNECT</ReturnValue>
-</TERM>
-<LISTITEM>
-<PARA>
-   if not connected
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</para>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-</REFSYNOPSISDIV>
-
-<REFSECT1 ID="R1-SPI-SPICONNECT-1">
-<REFSECT1INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT1INFO>
-<TITLE>Description
-</TITLE>
-<PARA>
-<FUNCTION>SPI_connect</FUNCTION> opens a connection from a procedure
-invocation to the SPI manager.
-   You must call this function if you will need to execute queries. Some
-   utility SPI functions may be called from un-connected procedures.
-</PARA>
-<PARA>
-   If your procedure is already connected,
-   <Function>SPI_connect</Function> will return an
-   <ReturnValue>SPI_ERROR_CONNECT</ReturnValue> error.  Note that this
-   may happen if a procedure which has called
-   <Function>SPI_connect</Function> directly calls another procedure
-   which itself calls <Function>SPI_connect</Function>.  While
-   recursive calls to the <Acronym>SPI</Acronym> manager are permitted
-   when an <Acronym>SPI</Acronym> query invokes another function which
-   uses <Acronym>SPI</Acronym>, directly nested calls to
-   <Function>SPI_connect</Function> and
-   <Function>SPI_finish</Function> are forbidden.
-</PARA>
-</REFSECT1>
-<REFSECT1 ID="R1-SPI-SPICONNECT-2">
-<TITLE>Usage
-</TITLE>
-<PARA>
-<!--
-XXX thomas 1997-12-24
--->
-</PARA>
-</REFSECT1>
-<REFSECT1 ID="R1-SPI-SPICONNECT-3">
-<TITLE>Algorithm
-</TITLE>
-<PARA><FUNCTION>SPI_connect</FUNCTION> performs the following:
-  Initializes the SPI internal
-   structures for query execution and memory management.
-</PARA>
-</REFSECT1>
-<!--
-<REFSECT1 ID="R1-SPI-SPICONNECT-4">
-<TITLE>Structures
-</TITLE>
-<PARA>None
-</PARA>
-</REFSECT1>
--->
-</REFENTRY>
-
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-
-<REFENTRY ID="SPI-SPIFINISH">
-<REFMETA>
-<REFENTRYTITLE>SPI_finish</REFENTRYTITLE>
-<REFMISCINFO>SPI - Connection Management</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>SPI_finish
-</REFNAME>
-<REFPURPOSE>
-   Disconnects your procedure from the SPI manager.
-</REFPURPOSE>
-<INDEXTERM ID="IX-SPI-SPIFINISH-1"><PRIMARY>SPI</PRIMARY><SECONDARY>disconnecting</SECONDARY></INDEXTERM>
-<INDEXTERM ID="IX-SPI-SPIFINISH-2"><PRIMARY>SPI_finish</PRIMARY></INDEXTERM>
-</REFNAMEDIV>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>1997-12-24</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-SPI_finish(void)
-</SYNOPSIS>
-
-<REFSECT2 ID="R2-SPI-SPIFINISH-1">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Inputs
-</TITLE>
-<PARA>None
-</PARA>
-</REFSECT2>
-
-<REFSECT2 ID="R2-SPI-SPIFINISH-2">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Outputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>int
-</TERM>
-<LISTITEM>
-<PARA>
-<SimpleList>
-<Member>
-<ReturnValue>SPI_OK_FINISH</ReturnValue>
-   if properly disconnected
-</Member>
-<Member>
-<ReturnValue>SPI_ERROR_UNCONNECTED</ReturnValue>
-   if called from an un-connected procedure
-</Member>
-</SimpleList>
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-</REFSYNOPSISDIV>
-
-<REFSECT1 ID="R1-SPI-SPIFINISH-1">
-<REFSECT1INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT1INFO>
-<TITLE>Description
-</TITLE>
-<PARA>
-<FUNCTION>SPI_finish</FUNCTION> closes an existing connection to the
-SPI manager.
-   You must call this function after completing the SPI operations needed
-   during your procedure's current invocation.
-</para>
-<PARA>
-   You may get the error return <ReturnValue>SPI_ERROR_UNCONNECTED</ReturnValue> if <Function>SPI_finish</Function> is
-   called without having a current valid connection.
- There is no fundamental problem
-   with this; it means that nothing was done by the SPI manager.
-</PARA>
-</REFSECT1>
-<REFSECT1 ID="R1-SPI-SPIFINISH-2">
-<TITLE>Usage
-</TITLE>
-<PARA>
-   <Function>SPI_finish</Function> <Emphasis>must</Emphasis> be called as a final step by a connected procedure,
- or you may get
-   unpredictable results!  However, you do not need to worry about making
-this happen if the transaction is aborted via elog(ERROR).  In that case
-SPI will clean itself up.
-
-</PARA>
-</REFSECT1>
-<REFSECT1 ID="R1-SPI-SPIFINISH-3">
-<TITLE>Algorithm
-</TITLE>
-<PARA><FUNCTION>SPI_finish</FUNCTION> performs the following:
-   Disconnects your procedure from the SPI manager and frees all memory
-   allocations made by your procedure via <Function>palloc</Function> since
- the <Function>SPI_connect</Function>. 
-   These allocations can't be used any more! See Memory management.
-</PARA>
-</REFSECT1>
-<!--
-<REFSECT1 ID="R1-SPI-SPIFINISH-4">
-<TITLE>Structures
-</TITLE>
-<PARA>None
-</PARA>
-</REFSECT1>
--->
-</REFENTRY>
-
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-
-<REFENTRY ID="SPI-SPIEXEC">
-<REFMETA>
-<REFENTRYTITLE>SPI_exec</REFENTRYTITLE>
-<REFMISCINFO>SPI - Connection Management</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>SPI_exec
-</REFNAME>
-<REFPURPOSE>
-   Creates an execution plan (parser+planner+optimizer) and executes a query.
-</REFPURPOSE>
-<INDEXTERM ID="IX-SPI-SPIEXEC-1"><PRIMARY>SPI</PRIMARY><SECONDARY>executing</SECONDARY></INDEXTERM>
-<INDEXTERM ID="IX-SPI-SPIEXEC-2"><PRIMARY>SPI_exec</PRIMARY></INDEXTERM>
-</REFNAMEDIV>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>1997-12-24</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-SPI_exec(<REPLACEABLE CLASS="PARAMETER">query</REPLACEABLE>, <REPLACEABLE CLASS="PARAMETER">tcount</REPLACEABLE>)
-</SYNOPSIS>
-
-<REFSECT2 ID="R2-SPI-SPIEXEC-1">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Inputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-const char * <REPLACEABLE CLASS="PARAMETER">query</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-String containing query plan
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-int <REPLACEABLE CLASS="PARAMETER">tcount</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Maximum number of tuples to return
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-
-<REFSECT2 ID="R2-SPI-SPIEXEC-2">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Outputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>int
-</TERM>
-<LISTITEM>
-<PARA>
-<SimpleList>
-<Member>
-   <ReturnValue>SPI_ERROR_UNCONNECTED</ReturnValue> if called from an un-connected procedure
-</Member>
-<Member>
-   <ReturnValue>SPI_ERROR_ARGUMENT</ReturnValue> if query is NULL or <REPLACEABLE CLASS="PARAMETER">tcount</REPLACEABLE> < 0.
-</Member>
-<Member>
-   <ReturnValue>SPI_ERROR_UNCONNECTED</ReturnValue> if procedure is unconnected.
-</Member>
-<Member>
-   <ReturnValue>SPI_ERROR_COPY</ReturnValue> if COPY TO/FROM stdin.
-</Member>
-<Member>
-   <ReturnValue>SPI_ERROR_CURSOR</ReturnValue> if DECLARE/CLOSE CURSOR, FETCH.
-</Member>
-<Member>
-   <ReturnValue>SPI_ERROR_TRANSACTION</ReturnValue> if BEGIN/ABORT/END.
-</Member>
-<Member>
-   <ReturnValue>SPI_ERROR_OPUNKNOWN</ReturnValue> if type of query is unknown (this shouldn't occur).
-</Member>
-</SimpleList>
-</para>
-<Para>
-   If execution of your query was successful then one of the following
-   (non-negative) values will be returned:
-<SimpleList>
-<Member>
-   <ReturnValue>SPI_OK_UTILITY</ReturnValue> if some utility (e.g. CREATE TABLE ...) was executed
-</Member>
-<Member>
-   <ReturnValue>SPI_OK_SELECT</ReturnValue> if SELECT (but not SELECT ... INTO!) was executed
-</Member>
-<Member>
-   <ReturnValue>SPI_OK_SELINTO</ReturnValue> if SELECT ... INTO was executed
-</Member>
-<Member>
-   <ReturnValue>SPI_OK_INSERT</ReturnValue> if INSERT (or INSERT ... SELECT) was executed
-</Member>
-<Member>
-   <ReturnValue>SPI_OK_DELETE</ReturnValue> if DELETE was executed
-</Member>
-<Member>
-   <ReturnValue>SPI_OK_UPDATE</ReturnValue> if UPDATE was executed
-</Member>
-</SimpleList>
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-</REFSYNOPSISDIV>
-
-<REFSECT1 ID="R1-SPI-SPIEXEC-1">
-<REFSECT1INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT1INFO>
-<TITLE>Description
-</TITLE>
-<PARA>
-<FUNCTION>SPI_exec</FUNCTION> creates an execution plan (parser+planner+optimizer)
- and executes the query for <REPLACEABLE CLASS="PARAMETER">tcount</REPLACEABLE> tuples.
-
-</PARA>
-</REFSECT1>
-<REFSECT1 ID="R1-SPI-SPIEXEC-2">
-<TITLE>Usage
-</TITLE>
-<PARA>
-  This should only be called from a connected procedure.
-   If <REPLACEABLE CLASS="PARAMETER">tcount</REPLACEABLE> is zero then it executes the query for all tuples returned by the
-   query scan. Using <REPLACEABLE CLASS="PARAMETER">tcount</REPLACEABLE> > 0 you may restrict the number of tuples for
-   which the query will be executed (much like a LIMIT clause). For example,
-
-<ProgramListing>
-SPI_exec ("INSERT INTO tab SELECT * FROM tab", 5);
-</ProgramListing>
-
-will allow at most 5 tuples to be inserted into table.
-
-   If execution of your query was successful then a non-negative value will be returned.
-
-<Note>
-<Para>
-You may pass multiple queries in one string or query string may be
-   re-written by RULEs. <Function>SPI_exec</Function> returns the result for the last query
-   executed.
-</Para>
-</Note>
-</para>
-<Para>
-   The actual number of tuples for which the (last) query was executed is
-   returned in the global variable SPI_processed (if not <ReturnValue>SPI_OK_UTILITY</ReturnValue>).
-
-   If <ReturnValue>SPI_OK_SELECT</ReturnValue> is returned then you may use global
-   pointer SPITupleTable *SPI_tuptable to access the result tuples.
-</Para>
-
-<Para>
-   <Function>SPI_exec</Function> may return one of the following (negative) values:
-<SimpleList>
-<Member>
-   <ReturnValue>SPI_ERROR_ARGUMENT</ReturnValue> if query is NULL or <REPLACEABLE CLASS="PARAMETER">tcount</REPLACEABLE> < 0.
-</Member>
-<Member>
-   <ReturnValue>SPI_ERROR_UNCONNECTED</ReturnValue> if procedure is unconnected.
-</Member>
-<Member>
-   <ReturnValue>SPI_ERROR_COPY</ReturnValue> if COPY TO/FROM stdin.
-</Member>
-<Member>
-   <ReturnValue>SPI_ERROR_CURSOR</ReturnValue> if DECLARE/CLOSE CURSOR, FETCH.
-</Member>
-<Member>
-   <ReturnValue>SPI_ERROR_TRANSACTION</ReturnValue> if BEGIN/ABORT/END.
-</Member>
-<Member>
-   <ReturnValue>SPI_ERROR_OPUNKNOWN</ReturnValue> if type of query is unknown (this shouldn't occur).
-</Member>
-</SimpleList>
-
-</PARA>
-</REFSECT1>
-<!--
-<REFSECT1 ID="R1-SPI-SPIEXEC-3">
-<TITLE>Algorithm
-</TITLE>
-<PARA>
-</PARA>
-</REFSECT1>
--->
-<REFSECT1 ID="R1-SPI-SPIEXEC-4">
-<TITLE>Structures
-</TITLE>
-<Para>
-   If <ReturnValue>SPI_OK_SELECT</ReturnValue> is returned then you may use the global
-   pointer SPITupleTable *SPI_tuptable to access the selected tuples.
-</Para>
-
-<Para>
-   Structure SPITupleTable is defined in spi.h:
-<ProgramListing>
-   typedef struct
-   {
-       MemoryContext tuptabcxt;    /* memory context of result table */
-       uint32      alloced;        /* # of alloced vals */
-       uint32      free;           /* # of free vals */
-       TupleDesc   tupdesc;        /* tuple descriptor */
-       HeapTuple  *vals;           /* tuples */
-   } SPITupleTable;
-</ProgramListing>
-</Para>
-
-<Para>
-   <structfield>vals</> is an array of pointers to tuples (the number of useful entries
-   is given by SPI_processed). <structfield>tupdesc</> is
-   a tuple descriptor which you may pass to SPI functions dealing with
-   tuples.  <structfield>tuptabcxt</>, <structfield>alloced</>, and <structfield>free</> are internal fields not intended
-   for use by SPI callers.
-</Para>
-
-<note>
-<Para>
-   Functions <Function>SPI_exec</Function>, <Function>SPI_execp</Function> and
-   <Function>SPI_prepare</Function> change both SPI_processed and SPI_tuptable
-   (just the pointer, not the contents of the structure).
-   Save these two global variables into local procedure variables if you need
-   to access the result of one <Function>SPI_exec</Function> or
-   <Function>SPI_execp</Function> across later calls.
-</Para>
-</note>
-
-<Para>
-   <Function>SPI_finish</Function> frees all SPITupleTables allocated during
-   the current procedure.  You can free a particular result table earlier,
-   if you are done with it, by calling <Function>SPI_freetuptable</Function>.
-</Para>
-</REFSECT1>
-</REFENTRY>
-
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-
-<REFENTRY ID="SPI-SPIPREPARE">
-<REFMETA>
-<REFENTRYTITLE>SPI_prepare</REFENTRYTITLE>
-<REFMISCINFO>SPI - Plan Preparation</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>SPI_prepare
-</REFNAME>
-<REFPURPOSE>
-   Prepares a plan for a query, without executing it yet
-</REFPURPOSE>
-<INDEXTERM ID="IX-SPI-SPIPREPARE-1"><PRIMARY>SPI</PRIMARY><SECONDARY>connecting</SECONDARY></INDEXTERM>
-<INDEXTERM ID="IX-SPI-SPIPREPARE-2"><PRIMARY>SPI_prepare</PRIMARY></INDEXTERM>
-</REFNAMEDIV>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>1997-12-24</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-SPI_prepare(<REPLACEABLE CLASS="PARAMETER">query</REPLACEABLE>, <REPLACEABLE CLASS="PARAMETER">nargs</REPLACEABLE>, <REPLACEABLE CLASS="PARAMETER">argtypes</REPLACEABLE>)
-</SYNOPSIS>
-
-<REFSECT2 ID="R2-SPI-SPIPREPARE-1">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Inputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-const char * <REPLACEABLE CLASS="PARAMETER">query</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Query string
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-int <REPLACEABLE CLASS="PARAMETER">nargs</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Number of input parameters ($1 ... $nargs - as in SQL-functions)
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-Oid * <REPLACEABLE CLASS="PARAMETER">argtypes</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Pointer to array of type <Acronym>OID</Acronym>s for input parameter types
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-
-<REFSECT2 ID="R2-SPI-SPIPREPARE-2">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Outputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>void *
-</TERM>
-<LISTITEM>
-<PARA>
-Pointer to an execution plan (parser+planner+optimizer)
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-</REFSYNOPSISDIV>
-
-<REFSECT1 ID="R1-SPI-SPIPREPARE-1">
-<REFSECT1INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT1INFO>
-<TITLE>Description
-</TITLE>
-<PARA>
-<FUNCTION>SPI_prepare</FUNCTION> 
-   creates and returns an execution plan (parser+planner+optimizer) but doesn't
-   execute the query. Should only be called from a connected procedure.
-
-</PARA>
-</REFSECT1>
-<REFSECT1 ID="R1-SPI-SPIPREPARE-2">
-<TITLE>Usage
-</TITLE>
-<Para>
-   When the same or similar query is to be executed repeatedly, it may
-   be advantageous to perform query planning only once.
-   <FUNCTION>SPI_prepare</FUNCTION> converts a query string into an execution
-   plan that can be passed repeatedly to <FUNCTION>SPI_execp</FUNCTION>.
-</para>
-<PARA>
-   A prepared query can be generalized by writing parameters ($1, $2, etc)
-   in place of what would be constants in a normal query.  The values of
-   the parameters are then specified when <FUNCTION>SPI_execp</FUNCTION>
-   is called.  This allows the prepared query to be used over a wider
-   range of situations than would be possible without parameters.
-</para>
-<note>
-<PARA>
-   However, there is a disadvantage: since the planner does not know the
-   values that will be supplied for the parameters, it may make worse
-   query planning choices than it would make for a simple query with
-   all constants visible.
-</para>
-</note>
-<PARA>
-   If the query uses parameters, their number and data types must be
-   specified in the call to <FUNCTION>SPI_prepare</FUNCTION>.
-</para>
-<Para>
-The plan returned by <Function>SPI_prepare</Function> may be used only in current
-   invocation of the procedure since <Function>SPI_finish</Function> frees memory allocated for a plan. 
-   But see <Function>SPI_saveplan</Function> to save a plan for longer.
-</para>
-<Para>
-   If successful, a non-null pointer will be returned. Otherwise, you'll get
-   a NULL plan.  In both cases SPI_result will be set like the value returned
-   by SPI_exec, except that it is set to 
-   <ReturnValue>SPI_ERROR_ARGUMENT</ReturnValue> if query is NULL or nargs < 0 or nargs > 0 && argtypes
-   is NULL.
-
-</PARA>
-</REFSECT1>
-<!--
-<REFSECT1 ID="R1-SPI-SPIPREPARE-3">
-<TITLE>Algorithm
-</TITLE>
-<PARA><FUNCTION>SPI_prepare</FUNCTION> performs the following:
-TBD
-</PARA>
-</REFSECT1>
--->
-<!--
-<REFSECT1 ID="R1-SPI-SPIPREPARE-4">
-<TITLE>Structures
-</TITLE>
-<PARA>None
-</PARA>
-</REFSECT1>
--->
-</REFENTRY>
-
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-<!-- *********************************************** -->
+</synopsis>
+ </refsynopsisdiv>
 
-<REFENTRY ID="SPI-SPIEXECP">
-<REFMETA>
-<REFENTRYTITLE>SPI_execp</REFENTRYTITLE>
-<REFMISCINFO>SPI - Plan Execution</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>SPI_execp
-</REFNAME>
-<REFPURPOSE>
-Executes a plan from <Function>SPI_prepare</Function>
-</REFPURPOSE>
-<INDEXTERM ID="IX-SPI-SPIEXECP-1"><PRIMARY>SPI</PRIMARY><SECONDARY>connecting</SECONDARY></INDEXTERM>
-<INDEXTERM ID="IX-SPI-SPIEXECP-2"><PRIMARY>SPI_execp</PRIMARY></INDEXTERM>
-</REFNAMEDIV>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>1997-12-24</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-SPI_execp(<REPLACEABLE CLASS="PARAMETER">plan</REPLACEABLE>,
-<REPLACEABLE CLASS="PARAMETER">values</REPLACEABLE>,
-<REPLACEABLE CLASS="PARAMETER">nulls</REPLACEABLE>,
-<REPLACEABLE CLASS="PARAMETER">tcount</REPLACEABLE>)
-</SYNOPSIS>
-
-<REFSECT2 ID="R2-SPI-SPIEXECP-1">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Inputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-void *<REPLACEABLE CLASS="PARAMETER">plan</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Execution plan
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-Datum *<REPLACEABLE CLASS="PARAMETER">values</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Actual parameter values
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-const char *<REPLACEABLE CLASS="PARAMETER">nulls</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Array describing which parameters are NULLs
-<SimpleList>
-<Member><literal>n</literal> indicates NULL (values[] entry ignored)</Member>
-<Member>space indicates not NULL (values[] entry is valid)</Member>
-</SimpleList>
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-int <REPLACEABLE CLASS="PARAMETER">tcount</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Number of tuples for which plan is to be executed
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-
-<REFSECT2 ID="R2-SPI-SPIEXECP-2">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Outputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>int
-</TERM>
-<LISTITEM>
-<PARA>
-   Returns the same value as <Function>SPI_exec</Function> as well as
-<SimpleList>
-<Member>
- <ReturnValue>SPI_ERROR_ARGUMENT</ReturnValue>
- if <REPLACEABLE CLASS="PARAMETER">plan</REPLACEABLE>
- is NULL or <REPLACEABLE CLASS="PARAMETER">tcount</REPLACEABLE> &lt; 0
-</Member>
-<Member>
-   <ReturnValue>SPI_ERROR_PARAM</ReturnValue>
- if <REPLACEABLE CLASS="PARAMETER">values</REPLACEABLE>
- is NULL
- and <REPLACEABLE CLASS="PARAMETER">plan</REPLACEABLE>
- was prepared with some parameters.
-</Member>
-</SimpleList>
-</para>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>SPI_tuptable
-</TERM>
-<LISTITEM>
-<PARA>
-initialized as in
-   <Function>SPI_exec</Function> if successful
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>SPI_processed
-</TERM>
-<LISTITEM>
-<PARA>
-initialized as in
-   <Function>SPI_exec</Function> if successful
-</para>
-</listitem>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-</REFSYNOPSISDIV>
-
-<REFSECT1 ID="R1-SPI-SPIEXECP-1">
-<REFSECT1INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT1INFO>
-<TITLE>Description
-</TITLE>
-<PARA>
-<FUNCTION>SPI_execp</FUNCTION> 
-   executes a plan prepared by <Function>SPI_prepare</Function>.
-   <REPLACEABLE CLASS="PARAMETER">tcount</REPLACEABLE> has the same
-   interpretation as in <Function>SPI_exec</Function>.
-</para>
-</REFSECT1>
-<REFSECT1 ID="R1-SPI-SPIEXECP-2">
-<TITLE>Usage
-</TITLE>
-<Para>
-   If <REPLACEABLE CLASS="PARAMETER">nulls</REPLACEABLE>
-is NULL then 
-   <Function>SPI_execp</Function> 
-assumes that all parameters (if any) are NOT NULL.
-
-<Note>
-<Para>
-   If one of the objects (a relation, function, etc.) referenced by the prepared
-   plan is dropped during your session (by your backend or another process) then the
-   results of <Function>SPI_execp</Function> for this plan will be unpredictable.
-</Para>
-</Note>
-
-</PARA>
-</REFSECT1>
-<!--
-<REFSECT1 ID="R1-SPI-SPIEXECP-3">
-<TITLE>Algorithm
-</TITLE>
-<PARA><FUNCTION>SPI_execp</FUNCTION> performs the following:
-TBD
-</PARA>
-</REFSECT1>
--->
-<!--
-<REFSECT1 ID="R1-SPI-SPIEXECP-4">
-<TITLE>Structures
-</TITLE>
-<PARA>None
-</PARA>
-</REFSECT1>
--->
-</REFENTRY>
+ <refsect1>
+  <title>Description</title>
 
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-<!-- *********************************************** -->
+  <para>
+   <function>SPI_connect</function> opens a connection from a
+   procedure invocation to the SPI manager.  You must call this
+   function if you want to execute commands through SPI.  Some utility
+   SPI functions may be called from unconnected procedures.
+  </para>
 
-<REFENTRY ID="SPI-SPICURSOR-OPEN">
-<REFMETA>
-<REFENTRYTITLE>SPI_cursor_open</REFENTRYTITLE>
-<REFMISCINFO>SPI - Cursor Support</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>SPI_cursor_open
-</REFNAME>
-<REFPURPOSE>
-Sets up a cursor using a plan created with <Function>SPI_prepare</Function>
-</REFPURPOSE>
-<INDEXTERM ID="IX-SPI-SPICURSOR-OPEN-1"><PRIMARY>SPI</PRIMARY><SECONDARY>cursors</SECONDARY></INDEXTERM>
-<INDEXTERM ID="IX-SPI-SPICURSOR-OPEN-2"><PRIMARY>SPI_cursor_open</PRIMARY></INDEXTERM>
-</REFNAMEDIV>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>2001-11-14</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-SPI_cursor_open(<REPLACEABLE CLASS="PARAMETER">name</REPLACEABLE>,
-<REPLACEABLE CLASS="PARAMETER">plan</REPLACEABLE>,
-<REPLACEABLE CLASS="PARAMETER">values</REPLACEABLE>,
-<REPLACEABLE CLASS="PARAMETER">nulls</REPLACEABLE>)
-</SYNOPSIS>
-
-<REFSECT2 ID="R2-SPI-SPICURSOR-OPEN-1">
-<REFSECT2INFO>
-<DATE>2001-11-14</DATE>
-</REFSECT2INFO>
-<TITLE>Inputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-const char *<REPLACEABLE CLASS="PARAMETER">name</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Name for portal, or NULL to let the system select a name
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-void *<REPLACEABLE CLASS="PARAMETER">plan</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Execution plan
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-Datum *<REPLACEABLE CLASS="PARAMETER">values</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Actual parameter values
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-const char *<REPLACEABLE CLASS="PARAMETER">nulls</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Array describing which parameters are NULLs
-<SimpleList>
-<Member><literal>n</literal> indicates NULL (values[] entry ignored)</Member>
-<Member>space indicates not NULL (values[] entry is valid)</Member>
-</SimpleList>
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-
-<REFSECT2 ID="R2-SPI-SPICURSOR-OPEN-2">
-<REFSECT2INFO>
-<DATE>2001-11-14</DATE>
-</REFSECT2INFO>
-<TITLE>Outputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>Portal
-</TERM>
-<LISTITEM>
-<PARA>
-   Pointer to Portal containing cursor, or NULL on error
-</para>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-</REFSYNOPSISDIV>
-
-<REFSECT1 ID="R1-SPI-SPICURSOR-OPEN-1">
-<REFSECT1INFO>
-<DATE>2001-11-14</DATE>
-</REFSECT1INFO>
-<TITLE>Description
-</TITLE>
-<PARA>
-<FUNCTION>SPI_cursor_open</FUNCTION> 
-   sets up a cursor (internally, a Portal) that will execute a plan
-   prepared by <Function>SPI_prepare</Function>.
-</para>
-<para>
+  <para>
+   If your procedure is already connected,
+   <function>SPI_connect</function> will return the error code
+   <returnvalue>SPI_ERROR_CONNECT</returnvalue>.  This could happen if
+   a procedure that has called <function>SPI_connect</function>
+   directly calls another procedure that calls
+   <function>SPI_connect</function>.  While recursive calls to the
+   <acronym>SPI</acronym> manager are permitted when an SQL command
+   called through SPI invokes another function that uses
+   <acronym>SPI</acronym>, directly nested calls to
+   <function>SPI_connect</function> and
+   <function>SPI_finish</function> are forbidden.
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Return Value</title>
+
+  <variablelist>
+   <varlistentry>
+    <term><symbol>SPI_OK_CONNECT</symbol></term>
+    <listitem>
+     <para>
+      on success
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><symbol>SPI_ERROR_CONNECT</symbol></term>
+    <listitem>
+     <para>
+      on error
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </refsect1>
+</refentry>
+
+<!-- *********************************************** -->
+
+<refentry id="spi-spi-finish">
+ <refmeta>
+  <refentrytitle>SPI_finish</refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+  <refname>SPI_finish</refname>
+  <refpurpose>disconnect a procedure from the SPI manager</refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_finish</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+int SPI_finish(void)
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+  <title>Description</title>
+
+  <para>
+   <function>SPI_finish</function> closes an existing connection to
+   the SPI manager.  You must call this function after completing the
+   SPI operations needed during your procedure's current invocation.
+   You do not need to worry about making this happen, however, if you
+   abort the transaction via <literal>elog(ERROR)</literal>.  In that
+   case SPI will clean itself up automatically.
+  </para>
+
+  <para>
+   If <function>SPI_finish</function> is called without having a valid
+   connection, it will return <symbol>SPI_ERROR_UNCONNECTED</symbol>.
+   There is no fundamental problem with this; it means that the SPI
+   manager has nothing to do.
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Return Value</title>
+
+  <variablelist>
+   <varlistentry>
+    <term><symbol>SPI_OK_FINISH</symbol></term>
+    <listitem>
+     <para>
+      if properly disconnected
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><symbol>SPI_ERROR_UNCONNECTED</symbol></term>
+    <listitem>
+     <para>
+      if called from an unconnected procedure
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </refsect1>
+</refentry>
+
+<!-- *********************************************** -->
+
+<refentry id="spi-spi-exec">
+ <refmeta>
+  <refentrytitle>SPI_exec</refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+  <refname>SPI_exec</refname>
+  <refpurpose>execute a command</refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_exec</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+int SPI_exec(const char * <parameter>command</parameter>, int <parameter>count</parameter>)
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+  <title>Description</title>
+
+  <para>
+   <function>SPI_exec</function> executes the specified SQL command
+   for <parameter>count</parameter> rows.
+  </para>
+
+  <para>
+   This function should only be called from a connected procedure.  If
+   <parameter>count</parameter> is zero then it executes the command
+   for all rows that it applies to.  If <parameter>count</parameter>
+   is greater than 0, then the number of rows for which the command
+   will be executed is restricted (much like a
+   <literal>LIMIT</literal> clause). For example,
+<programlisting>
+SPI_exec("INSERT INTO tab SELECT * FROM tab", 5);
+</programlisting>
+   will allow at most 5 rows to be inserted into the table.
+  </para>
+
+  <para>
+   You may pass multiple commands in one string, and the command may
+   be rewritten by rules. <function>SPI_exec</function> returns the
+   result for the command executed last.
+  </para>
+
+  <para>
+   The actual number of rows for which the (last) command was executed
+   is returned in the global variable <varname>SPI_processed</varname>
+   (unless the return value of the function is
+   <symbol>SPI_OK_UTILITY</symbol>).  If the return value of the
+   function is <symbol>SPI_OK_SELECT</symbol> then you may the use
+   global pointer <literal>SPITupleTable *SPI_tuptable</literal> to
+   access the result rows.
+  </para>
+
+  <para>
+   The structure <structname>SPITupleTable</structname> is defined
+   thus:
+<programlisting>
+typedef struct
+{
+    MemoryContext tuptabcxt;    /* memory context of result table */
+    uint32      alloced;        /* number of alloced vals */
+    uint32      free;           /* number of free vals */
+    TupleDesc   tupdesc;        /* row descriptor */
+    HeapTuple  *vals;           /* rows */
+} SPITupleTable;
+</programlisting>
+   <structfield>vals</> is an array of pointers to rows.  (The number
+   of valid entries is given by <varname>SPI_processed</varname>).
+   <structfield>tupdesc</> is a row descriptor which you may pass to
+   SPI functions dealing with rows.  <structfield>tuptabcxt</>,
+   <structfield>alloced</>, and <structfield>free</> are internal
+   fields not intended for use by SPI callers.
+  </para>
+
+  <para>
+   <function>SPI_finish</function> frees all
+   <structname>SPITupleTable</>s allocated during the current
+   procedure.  You can free a particular result table earlier, if you
+   are done with it, by calling <function>SPI_freetuptable</function>.
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Arguments</title>
+
+  <variablelist>
+   <varlistentry>
+    <term><literal>const char * <parameter>command</parameter></literal></term>
+    <listitem>
+     <para>
+      string containing command to execute
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><literal>int <parameter>count</parameter></literal></term>
+    <listitem>
+     <para>
+      maximum number of rows to process or return
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </refsect1>
+
+ <refsect1>
+  <title>Return Value</title>
+
+  <para>
+   If the execution of the command was successful then one of the
+   following (nonnegative) values will be returned:
+
+   <variablelist>
+    <varlistentry>
+     <term><symbol>SPI_OK_SELECT</symbol></term>
+     <listitem>
+      <para>
+       if a <command>SELECT</command> (but not <command>SELECT
+       ... INTO</>) was executed
+      </para>
+     </listitem>
+    </varlistentry>
+
+    <varlistentry>
+     <term><symbol>SPI_OK_SELINTO</symbol></term>
+     <listitem>
+      <para>
+       if a <command>SELECT ... INTO</command> was executed
+      </para>
+     </listitem>
+    </varlistentry>
+
+    <varlistentry>
+     <term><symbol>SPI_OK_DELETE</symbol></term>
+     <listitem>
+      <para>
+       if a <command>DELETE</command> was executed
+      </para>
+     </listitem>
+    </varlistentry>
+
+    <varlistentry>
+     <term><symbol>SPI_OK_INSERT</symbol></term>
+     <listitem>
+      <para>
+       if an <command>INSERT</command> was executed
+      </para>
+     </listitem>
+    </varlistentry>
+
+    <varlistentry>
+     <term><symbol>SPI_OK_UPDATE</symbol></term>
+     <listitem>
+      <para>
+       if an <command>UPDATE</command> was executed
+      </para>
+     </listitem>
+    </varlistentry>
+
+    <varlistentry>
+     <term><symbol>SPI_OK_UTILITY</symbol></term>
+     <listitem>
+      <para>
+       if a utility command (e.g., <command>CREATE TABLE</command>)
+       was executed
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+  </para>
+
+  <para>
+   On error, one of the following negative values is returned:
+
+   <variablelist>
+    <varlistentry>
+     <term><symbol>SPI_ERROR_ARGUMENT</symbol></term>
+     <listitem>
+      <para>
+       if <parameter>command</parameter> is <symbol>NULL</symbol> or
+       <parameter>count</parameter> is less than 0
+      </para>
+     </listitem>
+    </varlistentry>
+
+    <varlistentry>
+     <term><symbol>SPI_ERROR_COPY</symbol></term>
+     <listitem>
+      <para>
+       if <command>COPY TO stdout</> or <command>COPY FROM stdin</>
+       was attempted
+      </para>
+     </listitem>
+    </varlistentry>
+
+    <varlistentry>
+     <term><symbol>SPI_ERROR_CURSOR</symbol></term>
+     <listitem>
+      <para>
+       if <command>DECLARE</>, <command>CLOSE</>, or <command>FETCH</>
+       was attempted
+      </para>
+     </listitem>
+    </varlistentry>
+
+    <varlistentry>
+     <term><symbol>SPI_ERROR_TRANSACTION</symbol></term>
+     <listitem>
+      <para>
+       if <command>BEGIN</>, <command>COMMIT</>, or
+       <command>ROLLBACK</> was attempted
+      </para>
+     </listitem>
+    </varlistentry>
+
+    <varlistentry>
+     <term><symbol>SPI_ERROR_OPUNKNOWN</symbol></term>
+     <listitem>
+      <para>
+       if the command type is unknown (shouldn't happen)
+      </para>
+     </listitem>
+    </varlistentry>
+
+    <varlistentry>
+     <term><symbol>SPI_ERROR_UNCONNECTED</symbol></term>
+     <listitem>
+      <para>
+       if called from an unconnected procedure
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Notes</title>
+
+  <para>
+   The functions <function>SPI_exec</function>,
+   <function>SPI_execp</function>, and
+   <function>SPI_prepare</function> change both
+   <varname>SPI_processed</varname> and
+   <varname>SPI_tuptable</varname> (just the pointer, not the contents
+   of the structure).  Save these two global variables into local
+   procedure variables if you need to access the result of
+   <function>SPI_exec</function> or <function>SPI_execp</function>
+   across later calls.
+  </para>
+ </refsect1>
+</refentry>
+
+<!-- *********************************************** -->
+
+<refentry id="spi-spi-prepare">
+ <refmeta>
+  <refentrytitle>SPI_prepare</refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+  <refname>SPI_prepare</refname>
+  <refpurpose>prepare a plan for a command, without executing it yet</refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_prepare</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+void * SPI_prepare(const char * <parameter>command</parameter>, int <parameter>nargs</parameter>, Oid * <parameter>argtypes</parameter>)
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+  <title>Description</title>
+
+  <para>
+   <function>SPI_prepare</function> creates and returns an execution
+   plan for the specified command but doesn't execute the command.
+   This function should only be called from a connected procedure.
+  </para>
+
+  <para>
+   When the same or a similar command is to be executed repeatedly, it
+   may be advantageous to perform the planning only once.
+   <function>SPI_prepare</function> converts a command string into an
+   execution plan that can be executed repeatedly using
+   <function>SPI_execp</function>.
+  </para>
+
+  <para>
+   A prepared command can be generalized by writing parameters
+   (<literal>$1</>, <literal>$2</>, etc.) in place of what would be
+   constants in a normal command.  The actual values of the parameters
+   are then specified when <function>SPI_execp</function> is called.
+   This allows the prepared command to be used over a wider range of
+   situations than would be possible without parameters.
+  </para>
+
+  <para>
+   The plan returned by <function>SPI_prepare</function> can be used
+   only in the current invocation of the procedure since
+   <function>SPI_finish</function> frees memory allocated for a plan.
+   But a plan can be saved for longer using the function
+   <function>SPI_saveplan</function>.
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Arguments</title>
+
+  <variablelist>
+   <varlistentry>
+    <term><literal>const char * <parameter>command</parameter></literal></term>
+    <listitem>
+     <para>
+      command string
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><literal>int <parameter>nargs</parameter></literal></term>
+    <listitem>
+     <para>
+      number of input parameters (<literal>$1</>, <literal>$2</>, etc.)
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><literal>Oid * <parameter>argtypes</parameter></literal></term>
+    <listitem>
+     <para>
+      pointer to an array containing the <acronym>OID</acronym>s of
+      the data types of the parameters
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </refsect1>
+
+ <refsect1>
+  <title>Return Value</title>
+
+  <para>
+   <function>SPI_prepare</function> returns non-null pointer to an
+   execution plan.  On error, <symbol>NULL</symbol> will be returned.
+   In both cases, <varname>SPI_result</varname> will be set analogous
+   to the value returned by <function>SPI_exec</function>, except that
+   it is set to <symbol>SPI_ERROR_ARGUMENT</symbol> if
+   <parameter>command</parameter> is <symbol>NULL</symbol>, or if
+   <parameter>nargs</> is less than 0, or if <parameter>nargs</> is
+   greater than 0 and <parameter>argtypes</> is <symbol>NULL</symbol>.
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Notes</title>
+
+  <para>
+   There is a disadvantage to using parameters: since the planner does
+   not know the values that will be supplied for the parameters, it
+   may make worse planning choices than it would make for a normal
+   command with all constants visible.
+  </para>
+ </refsect1>
+</refentry>
+
+<!-- *********************************************** -->
+
+<refentry id="spi-spi-execp">
+ <refmeta>
+  <refentrytitle>SPI_execp</refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+  <refname>SPI_execp</refname>
+  <refpurpose>executes a plan prepared by <function>SPI_prepare</function></refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_execp</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+int SPI_execp(void * <parameter>plan</parameter>, Datum * <parameter>values</parameter>, const char * <parameter>nulls</parameter>, int <parameter>count</parameter>)
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+  <title>Description</title>
+
+  <para>
+   <function>SPI_execp</function> executes a plan prepared by
+   <function>SPI_prepare</function>.  <parameter>tcount</parameter>
+   has the same interpretation as in <function>SPI_exec</function>.
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Arguments</title>
+
+  <variablelist>
+   <varlistentry>
+    <term><literal>void * <parameter>plan</parameter></literal></term>
+    <listitem>
+     <para>
+      execution plan (returned by <function>SPI_prepare</function>)
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><literal>Datum *<parameter>values</parameter></literal></term>
+    <listitem>
+     <para>
+      actual parameter values
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><literal>const char * <parameter>nulls</parameter></literal></term>
+    <listitem>
+     <para>
+      An array describing which parameters are null.
+      <literal>n</literal> indicates a null value (entry in
+      <parameter>values</> will be ignored); a space indicates a
+      nonnull value (entry in <parameter>values</> is valid).
+     </para>
+
+     <para>
+      If <parameter>nulls</parameter> is <symbol>NULL</symbol> then
+      <function>SPI_execp</function> assumes that no parameters are
+      null.
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><literal>int <parameter>count</parameter></literal></term>
+    <listitem>
+     <para>
+      number of row for which plan is to be executed
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </refsect1>
+
+ <refsect1>
+  <title>Return Value</title>
+
+  <para>
+   The return value is the same as for <function>SPI_exec</function>
+   or one of the following:
+
+   <variablelist>
+    <varlistentry>
+     <term><symbol>SPI_ERROR_ARGUMENT</symbol></term>
+     <listitem>
+      <para>
+       if <parameter>plan</parameter> is <symbol>NULL</symbol> or
+       <parameter>count</parameter> is less than 0
+      </para>
+     </listitem>
+    </varlistentry>
+
+    <varlistentry>
+     <term><symbol>SPI_ERROR_PARAM</symbol></term>
+     <listitem>
+      <para>
+       if <parameter>values</parameter> is <symbol>NULL</symbol> and
+       <parameter>plan</parameter> was prepared with some parameters
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+  </para>
+
+  <para>
+   <varname>SPI_processed</varname> and
+   <varname>SPI_tuptable</varname> are set as in
+   <function>SPI_exec</function> if successful.
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Notes</title>
+
+  <para>
+   If one of the objects (a table, function, etc.) referenced by the
+   prepared plan is dropped during the session then the result of
+   <function>SPI_execp</function> for this plan will be unpredictable.
+  </para>
+ </refsect1>
+</refentry>
+
+<!-- *********************************************** -->
+
+<refentry id="spi-spi-cursor-open">
+ <refmeta>
+  <refentrytitle>SPI_cursor_open</refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+  <refname>SPI_cursor_open</refname>
+  <refpurpose>set up a cursor using a plan created with <function>SPI_prepare</function></refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_cursor_open</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+Portal SPI_cursor_open(const char * <parameter>name</parameter>, void * <parameter>plan</parameter>, Datum * <parameter>values</parameter>, const char * <parameter>nulls</parameter>)
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+  <title>Description</title>
+
+  <para>
+   <function>SPI_cursor_open</function> sets up a cursor (internally,
+   a portal) that will execute a plan prepared by
+   <function>SPI_prepare</function>.
+  </para>
+
+  <para>
    Using a cursor instead of executing the plan directly has two
    benefits.  First, the result rows can be retrieved a few at a time,
    avoiding memory overrun for queries that return many rows.  Second,
-   a Portal can outlive the current procedure (it can, in fact, live to
-   the end of the current transaction).  Returning the portal name to
-   the procedure's caller provides a way of returning a rowset result.
-</para>
-</REFSECT1>
-<REFSECT1 ID="R1-SPI-SPICURSOR-OPEN-2">
-<TITLE>Usage
-</TITLE>
-<Para>
-   If <REPLACEABLE CLASS="PARAMETER">nulls</REPLACEABLE>
-is NULL then 
-   <Function>SPI_cursor_open</Function> 
-assumes that all parameters (if any) are NOT NULL.
-</PARA>
-</REFSECT1>
-<!--
-<REFSECT1 ID="R1-SPI-SPICURSOR-OPEN-3">
-<TITLE>Algorithm
-</TITLE>
-<PARA><FUNCTION>SPI_cursor_open</FUNCTION> performs the following:
-TBD
-</PARA>
-</REFSECT1>
--->
-</REFENTRY>
-
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-
-<REFENTRY ID="SPI-SPICURSOR-FIND">
-<REFMETA>
-<REFENTRYTITLE>SPI_cursor_find</REFENTRYTITLE>
-<REFMISCINFO>SPI - Cursor Support</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>SPI_cursor_find
-</REFNAME>
-<REFPURPOSE>
-Finds an existing cursor (Portal) by name
-</REFPURPOSE>
-<INDEXTERM ID="IX-SPI-SPICURSOR-FIND-1"><PRIMARY>SPI</PRIMARY><SECONDARY>cursors</SECONDARY></INDEXTERM>
-<INDEXTERM ID="IX-SPI-SPICURSOR-FIND-2"><PRIMARY>SPI_cursor_find</PRIMARY></INDEXTERM>
-</REFNAMEDIV>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>2001-11-14</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-SPI_cursor_find(<REPLACEABLE CLASS="PARAMETER">name</REPLACEABLE>)
-</SYNOPSIS>
-
-<REFSECT2 ID="R2-SPI-SPICURSOR-FIND-1">
-<REFSECT2INFO>
-<DATE>2001-11-14</DATE>
-</REFSECT2INFO>
-<TITLE>Inputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-const char *<REPLACEABLE CLASS="PARAMETER">name</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Name of portal
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-
-<REFSECT2 ID="R2-SPI-SPICURSOR-FIND-2">
-<REFSECT2INFO>
-<DATE>2001-11-14</DATE>
-</REFSECT2INFO>
-<TITLE>Outputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>Portal
-</TERM>
-<LISTITEM>
-<PARA>
-   Pointer to Portal with given name, or NULL if not found
-</para>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-</REFSYNOPSISDIV>
-
-<REFSECT1 ID="R1-SPI-SPICURSOR-FIND-1">
-<REFSECT1INFO>
-<DATE>2001-11-14</DATE>
-</REFSECT1INFO>
-<TITLE>Description
-</TITLE>
-<PARA>
-<FUNCTION>SPI_cursor_find</FUNCTION> 
-   finds a pre-existing Portal by name.  This is primarily useful
-   to resolve a cursor name returned as text by some other function.
-</para>
-</REFSECT1>
-<!--
-<REFSECT1 ID="R1-SPI-SPICURSOR-FIND-2">
-<TITLE>Usage
-</TITLE>
-<Para>
-</PARA>
-</REFSECT1>
--->
-<!--
-<REFSECT1 ID="R1-SPI-SPICURSOR-FIND-3">
-<TITLE>Algorithm
-</TITLE>
-<PARA><FUNCTION>SPI_cursor_find</FUNCTION> performs the following:
-TBD
-</PARA>
-</REFSECT1>
--->
-</REFENTRY>
-
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-
-<REFENTRY ID="SPI-SPICURSOR-FETCH">
-<REFMETA>
-<REFENTRYTITLE>SPI_cursor_fetch</REFENTRYTITLE>
-<REFMISCINFO>SPI - Cursor Support</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>SPI_cursor_fetch
-</REFNAME>
-<REFPURPOSE>
-Fetches some rows from a cursor
-</REFPURPOSE>
-<INDEXTERM ID="IX-SPI-SPICURSOR-FETCH-1"><PRIMARY>SPI</PRIMARY><SECONDARY>cursors</SECONDARY></INDEXTERM>
-<INDEXTERM ID="IX-SPI-SPICURSOR-FETCH-2"><PRIMARY>SPI_cursor_fetch</PRIMARY></INDEXTERM>
-</REFNAMEDIV>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>2001-11-14</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-SPI_cursor_fetch(<REPLACEABLE CLASS="PARAMETER">portal</REPLACEABLE>,
-<REPLACEABLE CLASS="PARAMETER">forward</REPLACEABLE>,
-<REPLACEABLE CLASS="PARAMETER">count</REPLACEABLE>)
-</SYNOPSIS>
-
-<REFSECT2 ID="R2-SPI-SPICURSOR-FETCH-1">
-<REFSECT2INFO>
-<DATE>2001-11-14</DATE>
-</REFSECT2INFO>
-<TITLE>Inputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-Portal <REPLACEABLE CLASS="PARAMETER">portal</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Portal containing cursor
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-bool <REPLACEABLE CLASS="PARAMETER">forward</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-True for fetch forward, false for fetch backward
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-int <REPLACEABLE CLASS="PARAMETER">count</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Maximum number of rows to fetch
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-
-<REFSECT2 ID="R2-SPI-SPICURSOR-FETCH-2">
-<REFSECT2INFO>
-<DATE>2001-11-14</DATE>
-</REFSECT2INFO>
-<TITLE>Outputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>SPI_tuptable
-</TERM>
-<LISTITEM>
-<PARA>
-initialized as in
-   <Function>SPI_exec</Function> if successful
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>SPI_processed
-</TERM>
-<LISTITEM>
-<PARA>
-initialized as in
-   <Function>SPI_exec</Function> if successful
-</para>
-</listitem>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-</REFSYNOPSISDIV>
-
-<REFSECT1 ID="R1-SPI-SPICURSOR-FETCH-1">
-<REFSECT1INFO>
-<DATE>2001-11-14</DATE>
-</REFSECT1INFO>
-<TITLE>Description
-</TITLE>
-<PARA>
-<FUNCTION>SPI_cursor_fetch</FUNCTION> 
-   fetches some (more) rows from a cursor.  This is equivalent to the
-   SQL command <command>FETCH</>.
-</para>
-</REFSECT1>
-<!--
-<REFSECT1 ID="R1-SPI-SPICURSOR-FETCH-2">
-<TITLE>Usage
-</TITLE>
-<Para>
-</PARA>
-</REFSECT1>
--->
-<!--
-<REFSECT1 ID="R1-SPI-SPICURSOR-FETCH-3">
-<TITLE>Algorithm
-</TITLE>
-<PARA><FUNCTION>SPI_cursor_fetch</FUNCTION> performs the following:
-TBD
-</PARA>
-</REFSECT1>
--->
-</REFENTRY>
-
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-
-<REFENTRY ID="SPI-SPICURSOR-MOVE">
-<REFMETA>
-<REFENTRYTITLE>SPI_cursor_move</REFENTRYTITLE>
-<REFMISCINFO>SPI - Cursor Support</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>SPI_cursor_move
-</REFNAME>
-<REFPURPOSE>
-Moves a cursor
-</REFPURPOSE>
-<INDEXTERM ID="IX-SPI-SPICURSOR-MOVE-1"><PRIMARY>SPI</PRIMARY><SECONDARY>cursors</SECONDARY></INDEXTERM>
-<INDEXTERM ID="IX-SPI-SPICURSOR-MOVE-2"><PRIMARY>SPI_cursor_move</PRIMARY></INDEXTERM>
-</REFNAMEDIV>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>2001-11-14</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-SPI_cursor_move(<REPLACEABLE CLASS="PARAMETER">portal</REPLACEABLE>,
-<REPLACEABLE CLASS="PARAMETER">forward</REPLACEABLE>,
-<REPLACEABLE CLASS="PARAMETER">count</REPLACEABLE>)
-</SYNOPSIS>
-
-<REFSECT2 ID="R2-SPI-SPICURSOR-MOVE-1">
-<REFSECT2INFO>
-<DATE>2001-11-14</DATE>
-</REFSECT2INFO>
-<TITLE>Inputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-Portal <REPLACEABLE CLASS="PARAMETER">portal</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Portal containing cursor
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-bool <REPLACEABLE CLASS="PARAMETER">forward</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-True for move forward, false for move backward
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-int <REPLACEABLE CLASS="PARAMETER">count</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Maximum number of rows to move
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-
-<REFSECT2 ID="R2-SPI-SPICURSOR-MOVE-2">
-<REFSECT2INFO>
-<DATE>2001-11-14</DATE>
-</REFSECT2INFO>
-<TITLE>Outputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>None
-</TERM>
-<LISTITEM>
-<PARA>
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-</REFSYNOPSISDIV>
-
-<REFSECT1 ID="R1-SPI-SPICURSOR-MOVE-1">
-<REFSECT1INFO>
-<DATE>2001-11-14</DATE>
-</REFSECT1INFO>
-<TITLE>Description
-</TITLE>
-<PARA>
-<FUNCTION>SPI_cursor_move</FUNCTION> 
-   skips over some number of rows in a cursor.  This is equivalent to the
-   SQL command <command>MOVE</>.
-</para>
-</REFSECT1>
-<!--
-<REFSECT1 ID="R1-SPI-SPICURSOR-MOVE-2">
-<TITLE>Usage
-</TITLE>
-<Para>
-</PARA>
-</REFSECT1>
--->
-<!--
-<REFSECT1 ID="R1-SPI-SPICURSOR-MOVE-3">
-<TITLE>Algorithm
-</TITLE>
-<PARA><FUNCTION>SPI_cursor_move</FUNCTION> performs the following:
-TBD
-</PARA>
-</REFSECT1>
--->
-</REFENTRY>
-
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-
-<REFENTRY ID="SPI-SPICURSOR-CLOSE">
-<REFMETA>
-<REFENTRYTITLE>SPI_cursor_close</REFENTRYTITLE>
-<REFMISCINFO>SPI - Cursor Support</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>SPI_cursor_close
-</REFNAME>
-<REFPURPOSE>
-Closes a cursor
-</REFPURPOSE>
-<INDEXTERM ID="IX-SPI-SPICURSOR-CLOSE-1"><PRIMARY>SPI</PRIMARY><SECONDARY>cursors</SECONDARY></INDEXTERM>
-<INDEXTERM ID="IX-SPI-SPICURSOR-CLOSE-2"><PRIMARY>SPI_cursor_close</PRIMARY></INDEXTERM>
-</REFNAMEDIV>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>2001-11-14</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-SPI_cursor_close(<REPLACEABLE CLASS="PARAMETER">portal</REPLACEABLE>)
-</SYNOPSIS>
-
-<REFSECT2 ID="R2-SPI-SPICURSOR-CLOSE-1">
-<REFSECT2INFO>
-<DATE>2001-11-14</DATE>
-</REFSECT2INFO>
-<TITLE>Inputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-Portal <REPLACEABLE CLASS="PARAMETER">portal</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Portal containing cursor
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-
-<REFSECT2 ID="R2-SPI-SPICURSOR-CLOSE-2">
-<REFSECT2INFO>
-<DATE>2001-11-14</DATE>
-</REFSECT2INFO>
-<TITLE>Outputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>None
-</TERM>
-<LISTITEM>
-<PARA>
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-</REFSYNOPSISDIV>
-
-<REFSECT1 ID="R1-SPI-SPICURSOR-CLOSE-1">
-<REFSECT1INFO>
-<DATE>2001-11-14</DATE>
-</REFSECT1INFO>
-<TITLE>Description
-</TITLE>
-<PARA>
-<FUNCTION>SPI_cursor_close</FUNCTION> 
-   closes a previously created cursor and releases its Portal storage.
-</para>
-</REFSECT1>
-<REFSECT1 ID="R1-SPI-SPICURSOR-CLOSE-2">
-<TITLE>Usage
-</TITLE>
-<Para>
-   All open cursors are closed implicitly at transaction end.
-   <FUNCTION>SPI_cursor_close</FUNCTION> need only be invoked if
-   it is desirable to release resources sooner.
-</PARA>
-</REFSECT1>
-<!--
-<REFSECT1 ID="R1-SPI-SPICURSOR-CLOSE-3">
-<TITLE>Algorithm
-</TITLE>
-<PARA><FUNCTION>SPI_cursor_close</FUNCTION> performs the following:
-TBD
-</PARA>
-</REFSECT1>
--->
-</REFENTRY>
-
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-
-<REFENTRY ID="SPI-SPISAVEPLAN">
-<REFMETA>
-<REFENTRYTITLE>SPI_saveplan</REFENTRYTITLE>
-<REFMISCINFO>SPI - Plan Storage</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>SPI_saveplan
-</REFNAME>
-<REFPURPOSE>
-   Saves a passed plan
-</REFPURPOSE>
-<INDEXTERM ID="IX-SPI-SPISAVEPLAN-1"><PRIMARY>SPI</PRIMARY><SECONDARY>connecting</SECONDARY></INDEXTERM>
-<INDEXTERM ID="IX-SPI-SPISAVEPLAN-2"><PRIMARY>SPI_saveplan</PRIMARY></INDEXTERM>
-</REFNAMEDIV>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>1997-12-24</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-SPI_saveplan(<REPLACEABLE CLASS="PARAMETER">plan</REPLACEABLE>)
-</SYNOPSIS>
-
-<REFSECT2 ID="R2-SPI-SPISAVEPLAN-1">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Inputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-void *<REPLACEABLE CLASS="PARAMETER">query</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Passed plan
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-
-<REFSECT2 ID="R2-SPI-SPISAVEPLAN-2">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Outputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>void *
-</TERM>
-<LISTITEM>
-<PARA>
-Execution plan location. NULL if unsuccessful.
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>SPI_result
-</TERM>
-<LISTITEM>
-<PARA>
-<SimpleList>
-<Member>
-   <ReturnValue>SPI_ERROR_ARGUMENT</ReturnValue> if plan is NULL
-</Member>
-<Member>
-   <ReturnValue>SPI_ERROR_UNCONNECTED</ReturnValue> if procedure is un-connected
-</Member>
-</SimpleList>
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-</REFSYNOPSISDIV>
-
-<REFSECT1 ID="R1-SPI-SPISAVEPLAN-1">
-<REFSECT1INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT1INFO>
-<TITLE>Description
-</TITLE>
-<PARA>
-<FUNCTION>SPI_saveplan</FUNCTION> 
-   stores a plan prepared by <Function>SPI_prepare</Function> in safe memory
-   protected from freeing by <Function>SPI_finish</Function> or the transaction manager.
-</para>
-<Para>
-   In the current version of <ProductName>PostgreSQL</ProductName> there is no ability to
- store prepared plans in the system
-   catalog and fetch them from there for execution. This will be implemented
-   in future versions.
-
-   As an alternative, there is the ability to reuse prepared plans in the
-   subsequent invocations of your procedure in the current session.
-   Use <Function>SPI_execp</Function> to execute this saved plan.
-</PARA>
-</REFSECT1>
-<REFSECT1 ID="R1-SPI-SPISAVEPLAN-2">
-<TITLE>Usage
-</TITLE>
-<Para>
-   <Function>SPI_saveplan</Function> saves a passed plan (prepared by <Function>SPI_prepare</Function>) in memory
-   protected from freeing by <Function>SPI_finish</Function> and by the transaction manager and
-   returns a pointer to the saved plan.  You may save the pointer returned in
-   a local variable.  Always check if this pointer is NULL or not either when
-   preparing a plan or using an already prepared plan in SPI_execp (see below).
-
-<Note>
-<Para>
-   If one of the objects (a relation, function, etc.) referenced by the prepared
-   plan is dropped during your session (by your backend or another process) then the
-   results of <Function>SPI_execp</Function> for this plan will be unpredictable.
-</Para>
-</Note>
-
-</PARA>
-</REFSECT1>
-<!--
-<REFSECT1 ID="R1-SPI-SPISAVEPLAN-3">
-<TITLE>Algorithm
-</TITLE>
-<PARA><FUNCTION>SPI_saveplan</FUNCTION> performs the following:
-TBD
-</PARA>
-</REFSECT1>
--->
-<!--
-<REFSECT1 ID="R1-SPI-SPISAVEPLAN-4">
-<TITLE>Structures
-</TITLE>
-<PARA>None
-</PARA>
-</REFSECT1>
--->
-</REFENTRY>
-
-</Sect1>
-
-<Sect1 id="spi-interface-support">
-<Title>Interface Support Functions</Title>
-
-<Para>
-The functions described here provide convenient interfaces for extracting
-information from tuple sets returned by <function>SPI_exec</> and other
-SPI interface functions.
-</Para>
-
-<Para>
-All functions described in this section may be used by both connected and
-unconnected procedures.
-</Para>
-
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-
-<REFENTRY ID="SPI-SPIFNUMBER">
-<REFMETA>
-<REFENTRYTITLE>SPI_fnumber</REFENTRYTITLE>
-<REFMISCINFO>SPI - Tuple Information</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>SPI_fnumber
-</REFNAME>
-<REFPURPOSE>
-Finds the attribute number for specified attribute name
-</REFPURPOSE>
-<INDEXTERM ID="IX-SPI-SPIFNUMBER-1"><PRIMARY>SPI</PRIMARY><SECONDARY>decoding tuples</SECONDARY></INDEXTERM>
-<INDEXTERM ID="IX-SPI-SPIFNUMBER-2"><PRIMARY>SPI_fnumber</PRIMARY></INDEXTERM>
-</REFNAMEDIV>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>1997-12-24</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-SPI_fnumber(<REPLACEABLE CLASS="PARAMETER">tupdesc</REPLACEABLE>, <REPLACEABLE CLASS="PARAMETER">fname</REPLACEABLE>)
-</SYNOPSIS>
-
-<REFSECT2 ID="R2-SPI-SPIFNUMBER-1">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Inputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-TupleDesc <REPLACEABLE CLASS="PARAMETER">tupdesc</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Input tuple description
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-const char * <REPLACEABLE CLASS="PARAMETER">fname</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Field name
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-
-<REFSECT2 ID="R2-SPI-SPIFNUMBER-2">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Outputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-int
-</TERM>
-<LISTITEM>
-<PARA>
-Attribute number
-<SimpleList>
-<Member>
-Valid one-based index number of attribute
-</Member>
-<Member>
-<ReturnValue>SPI_ERROR_NOATTRIBUTE</ReturnValue> if the named attribute is not found
-</Member>
-</SimpleList>
-</para>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-</REFSYNOPSISDIV>
-
-<REFSECT1 ID="R1-SPI-SPIFNUMBER-1">
-<REFSECT1INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT1INFO>
-<TITLE>Description
-</TITLE>
-<PARA>
-<FUNCTION>SPI_fnumber</FUNCTION> 
-   returns the attribute number for the attribute with name in fname.
-</PARA>
-</REFSECT1>
-<REFSECT1 ID="R1-SPI-SPIFNUMBER-2">
-<TITLE>Usage
-</TITLE>
-<Para>
-Attribute numbers are 1 based.
-</Para>
-<Para>
-If the given fname refers to a system attribute (eg, <literal>oid</>)
-then the appropriate negative attribute number will be returned.
-The caller should be careful to test for exact equality to 
-<ReturnValue>SPI_ERROR_NOATTRIBUTE</ReturnValue> to detect error;
-testing for result &lt;= 0 is not correct unless system attributes
-should be rejected.
-</Para>
-</REFSECT1>
-<!--
-<REFSECT1 ID="R1-SPI-SPIFNUMBER-3">
-<TITLE>Algorithm
-</TITLE>
-<PARA>
-</PARA>
-</REFSECT1>
--->
-<!--
-<REFSECT1 ID="R1-SPI-SPIFNUMBER-4">
-<TITLE>Structures
-</TITLE>
-<PARA>None
-</PARA>
-</REFSECT1>
--->
-</REFENTRY>
-
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-
-<REFENTRY ID="SPI-SPIFNAME">
-<REFMETA>
-<REFENTRYTITLE>SPI_fname</REFENTRYTITLE>
-<REFMISCINFO>SPI - Tuple Information</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>SPI_fname
-</REFNAME>
-<REFPURPOSE>
-Finds the attribute name for the specified attribute number
-</REFPURPOSE>
-<INDEXTERM ID="IX-SPI-SPIFNAME-1"><PRIMARY>SPI</PRIMARY><SECONDARY>decoding tuples</SECONDARY></INDEXTERM>
-<INDEXTERM ID="IX-SPI-SPIFNAME-2"><PRIMARY>SPI_fname</PRIMARY></INDEXTERM>
-</REFNAMEDIV>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>1997-12-24</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-SPI_fname(<REPLACEABLE CLASS="PARAMETER">tupdesc</REPLACEABLE>, <REPLACEABLE CLASS="PARAMETER">fnumber</REPLACEABLE>)
-</SYNOPSIS>
-
-<REFSECT2 ID="R2-SPI-SPIFNAME-1">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Inputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-TupleDesc <REPLACEABLE CLASS="PARAMETER">tupdesc</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Input tuple description
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-int <REPLACEABLE CLASS="PARAMETER">fnumber</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Attribute number
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-
-<REFSECT2 ID="R2-SPI-SPIFNAME-2">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Outputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-char *
-</TERM>
-<LISTITEM>
-<PARA>
-Attribute name
-<SimpleList>
-<Member>
-NULL if fnumber is out of range
-</Member>
-<Member>
-SPI_result set to
-<ReturnValue>SPI_ERROR_NOATTRIBUTE</ReturnValue> on error
-</Member>
-</SimpleList>
-</para>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-</REFSYNOPSISDIV>
-
-<REFSECT1 ID="R1-SPI-SPIFNAME-1">
-<REFSECT1INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT1INFO>
-<TITLE>Description
-</TITLE>
-<PARA>
-<FUNCTION>SPI_fname</FUNCTION> 
-   returns the attribute name for the specified attribute.
-</PARA>
-</REFSECT1>
-<REFSECT1 ID="R1-SPI-SPIFNAME-2">
-<TITLE>Usage
-</TITLE>
-<Para>
-Attribute numbers are 1 based.
-</PARA>
-</REFSECT1>
-<REFSECT1 ID="R1-SPI-SPIFNAME-3">
-<TITLE>Algorithm
-</TITLE>
-<PARA>
-Returns a newly-allocated copy of the attribute name.
-(Use pfree() to release the copy when done with it.)
-</PARA>
-</REFSECT1>
-<!--
-<REFSECT1 ID="R1-SPI-SPIFNAME-4">
-<TITLE>Structures
-</TITLE>
-<PARA>None
-</PARA>
-</REFSECT1>
--->
-</REFENTRY>
-
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-
-<REFENTRY ID="SPI-SPIGETVALUE">
-<REFMETA>
-<REFENTRYTITLE>SPI_getvalue</REFENTRYTITLE>
-<REFMISCINFO>SPI - Tuple Information</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>SPI_getvalue
-</REFNAME>
-<REFPURPOSE>
-Returns the string value of the specified attribute
-</REFPURPOSE>
-<INDEXTERM ID="IX-SPI-SPIGETVALUE-1"><PRIMARY>SPI</PRIMARY><SECONDARY>decoding tuples</SECONDARY></INDEXTERM>
-<INDEXTERM ID="IX-SPI-SPIGETVALUE-2"><PRIMARY>SPI_getvalue</PRIMARY></INDEXTERM>
-</REFNAMEDIV>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>1997-12-24</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-SPI_getvalue(<REPLACEABLE CLASS="PARAMETER">tuple</REPLACEABLE>, <REPLACEABLE CLASS="PARAMETER">tupdesc</REPLACEABLE>, <REPLACEABLE CLASS="PARAMETER">fnumber</REPLACEABLE>)
-</SYNOPSIS>
-
-<REFSECT2 ID="R2-SPI-SPIGETVALUE-1">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Inputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-HeapTuple <REPLACEABLE CLASS="PARAMETER">tuple</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Input tuple to be examined
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-TupleDesc <REPLACEABLE CLASS="PARAMETER">tupdesc</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Input tuple description
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-int <REPLACEABLE CLASS="PARAMETER">fnumber</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Attribute number
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-
-<REFSECT2 ID="R2-SPI-SPIGETVALUE-2">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Outputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-char *
-</TERM>
-<LISTITEM>
-<PARA>
-Attribute value or NULL if
-<SimpleList>
-<Member>
-attribute is NULL
-</Member>
-<Member>
-fnumber is out of range
-(SPI_result set to
-<ReturnValue>SPI_ERROR_NOATTRIBUTE</ReturnValue>)
-</Member>
-<Member>
-no output function available
-(SPI_result set to
-<ReturnValue>SPI_ERROR_NOOUTFUNC</ReturnValue>)
-</Member>
-</SimpleList>
-</para>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-</REFSYNOPSISDIV>
-
-<REFSECT1 ID="R1-SPI-SPIGETVALUE-1">
-<REFSECT1INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT1INFO>
-<TITLE>Description
-</TITLE>
-<PARA>
-<FUNCTION>SPI_getvalue</FUNCTION> 
-   returns an external (string) representation of the value of the specified attribute.
-</PARA>
-</REFSECT1>
-<REFSECT1 ID="R1-SPI-SPIGETVALUE-2">
-<TITLE>Usage
-</TITLE>
-<Para>
-Attribute numbers are 1 based.
-</PARA>
-</REFSECT1>
-<REFSECT1 ID="R1-SPI-SPIGETVALUE-3">
-<TITLE>Algorithm
-</TITLE>
-<PARA>
-The result is returned as a palloc'd string.
-(Use pfree() to release the string when done with it.)
-</PARA>
-</REFSECT1>
-<!--
-<REFSECT1 ID="R1-SPI-SPIGETVALUE-4">
-<TITLE>Structures
-</TITLE>
-<PARA>None
-</PARA>
-</REFSECT1>
--->
-</REFENTRY>
-
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-
-<REFENTRY ID="SPI-SPIGETBINVAL">
-<REFMETA>
-<REFENTRYTITLE>SPI_getbinval</REFENTRYTITLE>
-<REFMISCINFO>SPI - Tuple Information</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>SPI_getbinval
-</REFNAME>
-<REFPURPOSE>
-Returns the binary value of the specified attribute
-</REFPURPOSE>
-<INDEXTERM ID="IX-SPI-SPIGETBINVAL-1"><PRIMARY>SPI</PRIMARY><SECONDARY>decoding tuples</SECONDARY></INDEXTERM>
-<INDEXTERM ID="IX-SPI-SPIGETBINVAL-2"><PRIMARY>SPI_getbinval</PRIMARY></INDEXTERM>
-</REFNAMEDIV>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>1997-12-24</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-SPI_getbinval(<REPLACEABLE CLASS="PARAMETER">tuple</REPLACEABLE>, <REPLACEABLE CLASS="PARAMETER">tupdesc</REPLACEABLE>, <REPLACEABLE CLASS="PARAMETER">fnumber</REPLACEABLE>, <REPLACEABLE CLASS="PARAMETER">isnull</REPLACEABLE>)
-</SYNOPSIS>
-
-<REFSECT2 ID="R2-SPI-SPIGETBINVAL-1">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Inputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-HeapTuple <REPLACEABLE CLASS="PARAMETER">tuple</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Input tuple to be examined
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-TupleDesc <REPLACEABLE CLASS="PARAMETER">tupdesc</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Input tuple description
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-int <REPLACEABLE CLASS="PARAMETER">fnumber</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Attribute number
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-
-<REFSECT2 ID="R2-SPI-SPIGETBINVAL-2">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Outputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-Datum
-</TERM>
-<LISTITEM>
-<PARA>
-Attribute binary value
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-bool * <REPLACEABLE CLASS="PARAMETER">isnull</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-flag for null value in attribute
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-SPI_result
-</TERM>
-<LISTITEM>
-<PARA>
-<SimpleList>
-<Member>
-<ReturnValue>SPI_ERROR_NOATTRIBUTE</ReturnValue>
-</Member>
-</SimpleList>
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-</REFSYNOPSISDIV>
-
-<REFSECT1 ID="R1-SPI-SPIGETBINVAL-1">
-<REFSECT1INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT1INFO>
-<TITLE>Description
-</TITLE>
-<PARA>
-<FUNCTION>SPI_getbinval</FUNCTION> 
-   returns the specified attribute's value in internal form (as a Datum).
-</PARA>
-</REFSECT1>
-<REFSECT1 ID="R1-SPI-SPIGETBINVAL-2">
-<TITLE>Usage
-</TITLE>
-<Para>
-Attribute numbers are 1 based.
-</PARA>
-</REFSECT1>
-<REFSECT1 ID="R1-SPI-SPIGETBINVAL-3">
-<TITLE>Algorithm
-</TITLE>
-<PARA>
-Does not allocate new space for the datum.  In the case of a pass-by-
-reference data type, the Datum will be a pointer into the given tuple.
-</PARA>
-</REFSECT1>
-<!--
-<REFSECT1 ID="R1-SPI-SPIGETBINVAL-4">
-<TITLE>Structures
-</TITLE>
-<PARA>None
-</PARA>
-</REFSECT1>
--->
-</REFENTRY>
-
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-
-<REFENTRY ID="SPI-SPIGETTYPE">
-<REFMETA>
-<REFENTRYTITLE>SPI_gettype</REFENTRYTITLE>
-<REFMISCINFO>SPI - Tuple Information</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>SPI_gettype
-</REFNAME>
-<REFPURPOSE>
-Returns the type name of the specified attribute
-</REFPURPOSE>
-<INDEXTERM ID="IX-SPI-SPIGETTYPE-1"><PRIMARY>SPI</PRIMARY><SECONDARY>decoding tuples</SECONDARY></INDEXTERM>
-<INDEXTERM ID="IX-SPI-SPIGETTYPE-2"><PRIMARY>SPI_gettype</PRIMARY></INDEXTERM>
-</REFNAMEDIV>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>1997-12-24</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-SPI_gettype(<REPLACEABLE CLASS="PARAMETER">tupdesc</REPLACEABLE>, <REPLACEABLE CLASS="PARAMETER">fnumber</REPLACEABLE>)
-</SYNOPSIS>
-
-<REFSECT2 ID="R2-SPI-SPIGETTYPE-1">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Inputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-TupleDesc <REPLACEABLE CLASS="PARAMETER">tupdesc</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Input tuple description
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-int <REPLACEABLE CLASS="PARAMETER">fnumber</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Attribute number
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-
-<REFSECT2 ID="R2-SPI-SPIGETTYPE-2">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Outputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-char *
-</TERM>
-<LISTITEM>
-<PARA>
-The type name for the specified attribute number
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-SPI_result
-</TERM>
-<LISTITEM>
-<PARA>
-<SimpleList>
-<Member>
-<ReturnValue>SPI_ERROR_NOATTRIBUTE</ReturnValue>
-</Member>
-</SimpleList>
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-</REFSYNOPSISDIV>
-
-<REFSECT1 ID="R1-SPI-SPIGETTYPE-1">
-<REFSECT1INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT1INFO>
-<TITLE>Description
-</TITLE>
-<PARA>
-<FUNCTION>SPI_gettype</FUNCTION> 
-   returns a copy of the type name for the specified attribute,
-   or NULL on error.
-</PARA>
-</REFSECT1>
-<REFSECT1 ID="R1-SPI-SPIGETTYPE-2">
-<TITLE>Usage
-</TITLE>
-<Para>
-Attribute numbers are 1 based.
-</PARA>
-</REFSECT1>
-<REFSECT1 ID="R1-SPI-SPIGETTYPE-3">
-<TITLE>Algorithm
-</TITLE>
-<PARA>
-Returns a newly-allocated copy of the type name.
-(Use pfree() to release the copy when done with it.)
-</PARA>
-</REFSECT1>
-<!--
-<REFSECT1 ID="R1-SPI-SPIGETTYPE-4">
-<TITLE>Structures
-</TITLE>
-<PARA>None
-</PARA>
-</REFSECT1>
--->
-</REFENTRY>
-
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-
-<REFENTRY ID="SPI-SPIGETTYPEID">
-<REFMETA>
-<REFENTRYTITLE>SPI_gettypeid</REFENTRYTITLE>
-<REFMISCINFO>SPI - Tuple Information</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>SPI_gettypeid
-</REFNAME>
-<REFPURPOSE>
-Returns the type <Acronym>OID</Acronym> of the specified attribute
-</REFPURPOSE>
-<INDEXTERM ID="IX-SPI-SPIGETTYPEID-1"><PRIMARY>SPI</PRIMARY><SECONDARY>decoding tuples</SECONDARY></INDEXTERM>
-<INDEXTERM ID="IX-SPI-SPIGETTYPEID-2"><PRIMARY>SPI_gettypeid</PRIMARY></INDEXTERM>
-</REFNAMEDIV>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>1997-12-24</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-SPI_gettypeid(<REPLACEABLE CLASS="PARAMETER">tupdesc</REPLACEABLE>, <REPLACEABLE CLASS="PARAMETER">fnumber</REPLACEABLE>)
-</SYNOPSIS>
-
-<REFSECT2 ID="R2-SPI-SPIGETTYPEID-1">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Inputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-TupleDesc <REPLACEABLE CLASS="PARAMETER">tupdesc</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Input tuple description
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-int <REPLACEABLE CLASS="PARAMETER">fnumber</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Attribute number
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-
-<REFSECT2 ID="R2-SPI-SPIGETTYPEID-2">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Outputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-<Acronym>OID</Acronym>
-</TERM>
-<LISTITEM>
-<PARA>
-The type <Acronym>OID</Acronym> for the specified attribute number
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-SPI_result
-</TERM>
-<LISTITEM>
-<PARA>
-<SimpleList>
-<Member>
-<ReturnValue>SPI_ERROR_NOATTRIBUTE</ReturnValue>
-</Member>
-</SimpleList>
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-</REFSYNOPSISDIV>
-
-<REFSECT1 ID="R1-SPI-SPIGETTYPEID-1">
-<REFSECT1INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT1INFO>
-<TITLE>Description
-</TITLE>
-<PARA>
-<FUNCTION>SPI_gettypeid</FUNCTION> 
-   returns the type <Acronym>OID</Acronym> for the specified attribute.
-</PARA>
-</REFSECT1>
-<REFSECT1 ID="R1-SPI-SPIGETTYPEID-2">
-<TITLE>Usage
-</TITLE>
-<Para>
-Attribute numbers are 1 based.
-</PARA>
-</REFSECT1>
-<!--
-<REFSECT1 ID="R1-SPI-SPIGETTYPEID-3">
-<TITLE>Algorithm
-</TITLE>
-<PARA>
-TBD
-</PARA>
-</REFSECT1>
--->
-<!--
-<REFSECT1 ID="R1-SPI-SPIGETTYPEID-4">
-<TITLE>Structures
-</TITLE>
-<PARA>None
-</PARA>
-</REFSECT1>
--->
-</REFENTRY>
-
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-
-<REFENTRY ID="SPI-SPIGETRELNAME">
-<REFMETA>
-<REFENTRYTITLE>SPI_getrelname</REFENTRYTITLE>
-<REFMISCINFO>SPI - Tuple Information</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>SPI_getrelname
-</REFNAME>
-<REFPURPOSE>
-Returns the name of the specified relation
-</REFPURPOSE>
-<INDEXTERM ID="IX-SPI-SPIGETRELNAME-1"><PRIMARY>SPI</PRIMARY><SECONDARY>decoding tuples</SECONDARY></INDEXTERM>
-<INDEXTERM ID="IX-SPI-SPIGETRELNAME-2"><PRIMARY>SPI_getrelname</PRIMARY></INDEXTERM>
-</REFNAMEDIV>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>1997-12-24</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-SPI_getrelname(<REPLACEABLE CLASS="PARAMETER">rel</REPLACEABLE>)
-</SYNOPSIS>
-
-<REFSECT2 ID="R2-SPI-SPIGETRELNAME-1">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Inputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-Relation <REPLACEABLE CLASS="PARAMETER">rel</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Input relation
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-
-<REFSECT2 ID="R2-SPI-SPIGETRELNAME-2">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Outputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-char *
-</TERM>
-<LISTITEM>
-<PARA>
-The name of the specified relation
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-</REFSYNOPSISDIV>
-
-<REFSECT1 ID="R1-SPI-SPIGETRELNAME-1">
-<REFSECT1INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT1INFO>
-<TITLE>Description
-</TITLE>
-<PARA>
-<FUNCTION>SPI_getrelname</FUNCTION> 
-   returns the name of the specified relation.
-</PARA>
-</REFSECT1>
-<!--
-<REFSECT1 ID="R1-SPI-SPIGETRELNAME-2">
-<TITLE>Usage
-</TITLE>
-<Para>
-TBD
-</PARA>
-</REFSECT1>
--->
-<REFSECT1 ID="R1-SPI-SPIGETRELNAME-3">
-<TITLE>Algorithm
-</TITLE>
-<PARA>
-Returns a newly-allocated copy of the rel name.
-(Use pfree() to release the copy when done with it.)
-</PARA>
-</REFSECT1>
-<!--
-<REFSECT1 ID="R1-SPI-SPIGETRELNAME-4">
-<TITLE>Structures
-</TITLE>
-<PARA>None
-</PARA>
-</REFSECT1>
--->
-</REFENTRY>
-
-</Sect1>
-
-<Sect1 id="spi-memory">
-<Title>Memory Management</Title>
-
-<Para>
-<ProductName>PostgreSQL</ProductName> allocates memory within memory
-<firstterm>contexts</firstterm>, which provide a convenient method of
-managing allocations made in many different places that need to live
-for differing amounts of time.  Destroying a context releases all the
-memory that was allocated in it.  Thus, it is not necessary to keep track
-of individual objects to avoid memory leaks --- only a relatively small number
-of contexts have to be managed.  <Function>palloc</Function> and related
-functions allocate memory from the <quote>current</> context.
-</Para>
-<Para>
-<Function>SPI_connect</Function> creates a new memory context and makes
-it current.  <Function>SPI_finish</Function> restores the previous
-current memory context and destroys the context created by
-<Function>SPI_connect</Function>.  These actions ensure that transient
-memory allocations made inside your procedure are reclaimed at procedure
-exit, avoiding memory leakage.
-</Para>
-<Para>
-However, if your procedure needs to return an allocated memory object
-(such as a value of a pass-by-reference data type), you can't allocate
-the return object using <Function>palloc</Function>, at least not while
-you are connected to SPI.  If you try, the object will be deallocated
-during <Function>SPI_finish</Function>, and your procedure will not
-work reliably!
-</Para>
-<Para>
-To solve this problem, use <Function>SPI_palloc</Function> to allocate
-your return object.  <Function>SPI_palloc</Function> allocates space
-from <quote>upper Executor</> memory --- that is, the memory context
-that was current when <Function>SPI_connect</Function> was called,
-which is precisely the right context for return values of your procedure.
-</Para>
-<Para>
-If called while not connected to SPI, <Function>SPI_palloc</Function>
-acts the same as plain <Function>palloc</Function>.
-</Para>
-<Para>
-   Before a procedure connects to the SPI manager, the current memory context
-is the upper Executor context, so all allocations made by the procedure via
-<Function>palloc</Function> or by SPI utility functions are
-made in this context.
-</Para>
-<Para>
-   After <Function>SPI_connect</Function> is called, the current context is
-   the procedure's private context made by <Function>SPI_connect</Function>.
-   All allocations made via
-<Function>palloc</Function>/<Function>repalloc</Function> or by SPI utility
-functions (except for <Function>SPI_copytuple</Function>,
-<Function>SPI_copytupledesc</Function>,
-<Function>SPI_copytupleintoslot</Function>,
-<Function>SPI_modifytuple</Function>,
-and <Function>SPI_palloc</Function>) are
-made in this context.
-</Para>
-<Para>
-When a procedure disconnects from the SPI manager (via
-<Function>SPI_finish</Function>) the
-current context is restored to the upper Executor context, and all allocations
-made in the procedure memory context are freed and can't be used any more!
-</Para>
-
-<Para>
-All functions described in this section may be used by both connected and
-unconnected procedures.  In an unconnected procedure, they act the same
-as the underlying ordinary backend functions (<function>palloc</> etc).
-</Para>
-
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-
-<REFENTRY ID="SPI-SPICOPYTUPLE">
-<REFMETA>
-<REFENTRYTITLE>SPI_copytuple</REFENTRYTITLE>
-<REFMISCINFO>SPI - Tuple Copy</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>SPI_copytuple
-</REFNAME>
-<REFPURPOSE>
-Makes copy of tuple in upper Executor context
-</REFPURPOSE>
-<INDEXTERM ID="IX-SPI-SPICOPYTUPLE-1"><PRIMARY>SPI</PRIMARY><SECONDARY>copying tuples</SECONDARY></INDEXTERM>
-<INDEXTERM ID="IX-SPI-SPICOPYTUPLE-2"><PRIMARY>SPI_copytuple</PRIMARY></INDEXTERM>
-</REFNAMEDIV>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>1997-12-24</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-SPI_copytuple(<REPLACEABLE CLASS="PARAMETER">tuple</REPLACEABLE>)
-</SYNOPSIS>
-
-<REFSECT2 ID="R2-SPI-SPICOPYTUPLE-1">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Inputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-HeapTuple <REPLACEABLE CLASS="PARAMETER">tuple</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Input tuple to be copied
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-
-<REFSECT2 ID="R2-SPI-SPICOPYTUPLE-2">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Outputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-HeapTuple
-</TERM>
-<LISTITEM>
-<PARA>
-Copied tuple
-<SimpleList>
-<Member>
- <ReturnValue>non-NULL</ReturnValue>
- if <REPLACEABLE CLASS="PARAMETER">tuple</REPLACEABLE>
- is not NULL and the copy was successful
-</Member>
-<Member>
-   <ReturnValue>NULL</ReturnValue>
- only if <REPLACEABLE CLASS="PARAMETER">tuple</REPLACEABLE>
- is NULL
-</Member>
-</SimpleList>
-</para>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-</REFSYNOPSISDIV>
-
-<REFSECT1 ID="R1-SPI-SPICOPYTUPLE-1">
-<REFSECT1INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT1INFO>
-<TITLE>Description
-</TITLE>
-<PARA>
-<FUNCTION>SPI_copytuple</FUNCTION> 
-   makes a copy of tuple in upper Executor context.
-</PARA>
-</REFSECT1>
-<REFSECT1 ID="R1-SPI-SPICOPYTUPLE-2">
-<TITLE>Usage
-</TITLE>
-<Para>
-TBD
-</PARA>
-</REFSECT1>
-<!--
-<REFSECT1 ID="R1-SPI-SPICOPYTUPLE-3">
-<TITLE>Algorithm
-</TITLE>
-<PARA>
-</PARA>
-</REFSECT1>
--->
-<!--
-<REFSECT1 ID="R1-SPI-SPICOPYTUPLE-4">
-<TITLE>Structures
-</TITLE>
-<PARA>None
-</PARA>
-</REFSECT1>
--->
-</REFENTRY>
-
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-
-<REFENTRY ID="SPI-SPICOPYTUPLEDESC">
-<REFMETA>
-<REFENTRYTITLE>SPI_copytupledesc</REFENTRYTITLE>
-<REFMISCINFO>SPI - Tuple Descriptor Copy</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>SPI_copytupledesc
-</REFNAME>
-<REFPURPOSE>
-Makes copy of tuple descriptor in upper Executor context
-</REFPURPOSE>
-<INDEXTERM ID="IX-SPI-SPICOPYTUPLEDESC-1"><PRIMARY>SPI</PRIMARY><SECONDARY>copying tuple descriptors</SECONDARY></INDEXTERM>
-<INDEXTERM ID="IX-SPI-SPICOPYTUPLEDESC-2"><PRIMARY>SPI_copytupledesc</PRIMARY></INDEXTERM>
-</REFNAMEDIV>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>2001-08-02</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-SPI_copytupledesc(<REPLACEABLE CLASS="PARAMETER">tupdesc</REPLACEABLE>)
-</SYNOPSIS>
-
-<REFSECT2 ID="R2-SPI-SPICOPYTUPLEDESC-1">
-<REFSECT2INFO>
-<DATE>2001-08-02</DATE>
-</REFSECT2INFO>
-<TITLE>Inputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-TupleDesc <REPLACEABLE CLASS="PARAMETER">tupdesc</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Input tuple descriptor to be copied
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-
-<REFSECT2 ID="R2-SPI-SPICOPYTUPLEDESC-2">
-<REFSECT2INFO>
-<DATE>2001-08-02</DATE>
-</REFSECT2INFO>
-<TITLE>Outputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-TupleDesc
-</TERM>
-<LISTITEM>
-<PARA>
-Copied tuple descriptor
-<SimpleList>
-<Member>
- <ReturnValue>non-NULL</ReturnValue>
- if <REPLACEABLE CLASS="PARAMETER">tupdesc</REPLACEABLE>
- is not NULL and the copy was successful
-</Member>
-<Member>
-   <ReturnValue>NULL</ReturnValue>
- only if <REPLACEABLE CLASS="PARAMETER">tupdesc</REPLACEABLE>
- is NULL
-</Member>
-</SimpleList>
-</para>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-</REFSYNOPSISDIV>
-
-<REFSECT1 ID="R1-SPI-SPICOPYTUPLEDESC-1">
-<REFSECT1INFO>
-<DATE>2001-08-02</DATE>
-</REFSECT1INFO>
-<TITLE>Description
-</TITLE>
-<PARA>
-<FUNCTION>SPI_copytupledesc</FUNCTION> 
-   makes a copy of tupdesc in upper Executor context.
-</PARA>
-</REFSECT1>
-<REFSECT1 ID="R1-SPI-SPICOPYTUPLEDESC-2">
-<TITLE>Usage
-</TITLE>
-<Para>
-TBD
-</PARA>
-</REFSECT1>
-<!--
-<REFSECT1 ID="R1-SPI-SPICOPYTUPLEDESC-3">
-<TITLE>Algorithm
-</TITLE>
-<PARA>
-</PARA>
-</REFSECT1>
--->
-<!--
-<REFSECT1 ID="R1-SPI-SPICOPYTUPLEDESC-4">
-<TITLE>Structures
-</TITLE>
-<PARA>None
-</PARA>
-</REFSECT1>
--->
-</REFENTRY>
-
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-
-<REFENTRY ID="SPI-SPICOPYTUPLEINTOSLOT">
-<REFMETA>
-<REFENTRYTITLE>SPI_copytupleintoslot</REFENTRYTITLE>
-<REFMISCINFO>SPI - Tuple and Descriptor Copy</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>SPI_copytupleintoslot
-</REFNAME>
-<REFPURPOSE>
-Makes copy of tuple and descriptor in upper Executor context
-</REFPURPOSE>
-<INDEXTERM ID="IX-SPI-SPICOPYTUPLEINTOSLOT-1"><PRIMARY>SPI</PRIMARY><SECONDARY>copying tuples</SECONDARY></INDEXTERM>
-<INDEXTERM ID="IX-SPI-SPICOPYTUPLEINTOSLOT-2"><PRIMARY>SPI_copytupleintoslot</PRIMARY></INDEXTERM>
-</REFNAMEDIV>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>1997-12-24</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-SPI_copytupleintoslot(<REPLACEABLE CLASS="PARAMETER">tuple</REPLACEABLE>, <REPLACEABLE CLASS="PARAMETER">tupdesc</REPLACEABLE>)
-</SYNOPSIS>
-
-<REFSECT2 ID="R2-SPI-SPICOPYTUPLEINTOSLOT-1">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Inputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-HeapTuple <REPLACEABLE CLASS="PARAMETER">tuple</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Input tuple to be copied
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-TupleDesc <REPLACEABLE CLASS="PARAMETER">tupdesc</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Input tuple descriptor to be copied
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-
-<REFSECT2 ID="R2-SPI-SPICOPYTUPLEINTOSLOT-2">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Outputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-TupleTableSlot *
-</TERM>
-<LISTITEM>
-<PARA>
-Tuple slot containing copied tuple and descriptor
-<SimpleList>
-<Member>
- <ReturnValue>non-NULL</ReturnValue>
- if <REPLACEABLE CLASS="PARAMETER">tuple</REPLACEABLE>
- and <REPLACEABLE CLASS="PARAMETER">tupdesc</REPLACEABLE>
- are not NULL and the copy was successful
-</Member>
-<Member>
-   <ReturnValue>NULL</ReturnValue>
- only if <REPLACEABLE CLASS="PARAMETER">tuple</REPLACEABLE>
- or <REPLACEABLE CLASS="PARAMETER">tupdesc</REPLACEABLE>
- is NULL
-</Member>
-</SimpleList>
-</para>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-</REFSYNOPSISDIV>
-
-<REFSECT1 ID="R1-SPI-SPICOPYTUPLEINTOSLOT-1">
-<REFSECT1INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT1INFO>
-<TITLE>Description
-</TITLE>
-<PARA>
-<FUNCTION>SPI_copytupleintoslot</FUNCTION> 
-   makes a copy of tuple in upper Executor context, returning it in the
-   form of a filled-in TupleTableSlot.
-</PARA>
-</REFSECT1>
-<REFSECT1 ID="R1-SPI-SPICOPYTUPLEINTOSLOT-2">
-<TITLE>Usage
-</TITLE>
-<Para>
-TBD
-</PARA>
-</REFSECT1>
-<!--
-<REFSECT1 ID="R1-SPI-SPICOPYTUPLEINTOSLOT-3">
-<TITLE>Algorithm
-</TITLE>
-<PARA>
-</PARA>
-</REFSECT1>
--->
-<!--
-<REFSECT1 ID="R1-SPI-SPICOPYTUPLEINTOSLOT-4">
-<TITLE>Structures
-</TITLE>
-<PARA>None
-</PARA>
-</REFSECT1>
--->
-</REFENTRY>
-
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-
-<REFENTRY ID="SPI-SPIMODIFYTUPLE">
-<REFMETA>
-<REFENTRYTITLE>SPI_modifytuple</REFENTRYTITLE>
-<REFMISCINFO>SPI - Tuple Modify</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>SPI_modifytuple
-</REFNAME>
-<REFPURPOSE>
-Creates a tuple by replacing selected fields of a given tuple
-</REFPURPOSE>
-<INDEXTERM ID="IX-SPI-SPIMODIFYTUPLE-1"><PRIMARY>SPI</PRIMARY><SECONDARY>modifying tuples</SECONDARY></INDEXTERM>
-<INDEXTERM ID="IX-SPI-SPIMODIFYTUPLE-2"><PRIMARY>SPI_modifytuple</PRIMARY></INDEXTERM>
-</REFNAMEDIV>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>1997-12-24</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-SPI_modifytuple(<REPLACEABLE CLASS="PARAMETER">rel</REPLACEABLE>, <REPLACEABLE CLASS="PARAMETER">tuple</REPLACEABLE>, <REPLACEABLE CLASS="PARAMETER">nattrs</REPLACEABLE>, <REPLACEABLE CLASS="PARAMETER">attnum</REPLACEABLE>, <REPLACEABLE CLASS="PARAMETER">Values</REPLACEABLE>, <REPLACEABLE CLASS="PARAMETER">Nulls</REPLACEABLE>)
-</SYNOPSIS>
-
-<REFSECT2 ID="R2-SPI-SPIMODIFYTUPLE-1">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Inputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-Relation <REPLACEABLE CLASS="PARAMETER">rel</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Used only as source of tuple descriptor for tuple.  (Passing a relation
-rather than a tuple descriptor is a misfeature.)
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-HeapTuple <REPLACEABLE CLASS="PARAMETER">tuple</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Input tuple to be modified
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-int <REPLACEABLE CLASS="PARAMETER">nattrs</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Number of attribute numbers in attnum array
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-int * <REPLACEABLE CLASS="PARAMETER">attnum</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Array of numbers of the attributes that are to be changed
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-Datum * <REPLACEABLE CLASS="PARAMETER">Values</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-New values for the attributes specified
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-const char * <REPLACEABLE CLASS="PARAMETER">Nulls</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Which new values are NULL, if any
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-
-<REFSECT2 ID="R2-SPI-SPIMODIFYTUPLE-2">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Outputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-HeapTuple
-</TERM>
-<LISTITEM>
-<PARA>
-New tuple with modifications
-<SimpleList>
-<Member>
- <ReturnValue>non-NULL</ReturnValue>
- if <REPLACEABLE CLASS="PARAMETER">tuple</REPLACEABLE>
- is not NULL and the modify was successful
-</Member>
-<Member>
-   <ReturnValue>NULL</ReturnValue>
- only if <REPLACEABLE CLASS="PARAMETER">tuple</REPLACEABLE>
- is NULL
-</Member>
-</SimpleList>
-</para>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-SPI_result
-</TERM>
-<LISTITEM>
-<PARA>
-<SimpleList>
-<Member>
-   <ReturnValue>SPI_ERROR_ARGUMENT</ReturnValue> if rel is NULL or tuple is NULL or natts &lt;= 0 or
-   attnum is NULL or Values is NULL.
-</Member>
-<Member>
-   <ReturnValue>SPI_ERROR_NOATTRIBUTE</ReturnValue> if there is an invalid 
-   attribute number in attnum (attnum &lt;= 0 or &gt; number of
-   attributes in tuple)
-</Member>
-</SimpleList>
-</para>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-</REFSYNOPSISDIV>
-
-<REFSECT1 ID="R1-SPI-SPIMODIFYTUPLE-1">
-<REFSECT1INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT1INFO>
-<TITLE>Description
-</TITLE>
-<PARA>
-<FUNCTION>SPI_modifytuple</FUNCTION> 
-creates a new tuple by substituting new values for selected attributes,
-copying the original tuple's attributes at other positions.  The input
-tuple is not modified.
-</PARA>
-</REFSECT1>
-<REFSECT1 ID="R1-SPI-SPIMODIFYTUPLE-2">
-<TITLE>Usage
-</TITLE>
-<Para>
-If successful, a pointer to the new tuple is returned. The new tuple is
-allocated in upper Executor context.
-</PARA>
-</REFSECT1>
-<!--
-<REFSECT1 ID="R1-SPI-SPIMODIFYTUPLE-3">
-<TITLE>Algorithm
-</TITLE>
-<PARA>
-</PARA>
-</REFSECT1>
--->
-<!--
-<REFSECT1 ID="R1-SPI-SPIMODIFYTUPLE-4">
-<TITLE>Structures
-</TITLE>
-<PARA>None
-</PARA>
-</REFSECT1>
--->
-</REFENTRY>
-
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-
-<REFENTRY ID="SPI-SPIPALLOC">
-<REFMETA>
-<REFENTRYTITLE>SPI_palloc</REFENTRYTITLE>
-<REFMISCINFO>SPI - Memory Management</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>SPI_palloc
-</REFNAME>
-<REFPURPOSE>
-Allocates memory in upper Executor context
-</REFPURPOSE>
-<INDEXTERM ID="IX-SPI-SPIPALLOC-1"><PRIMARY>SPI</PRIMARY><SECONDARY>allocating space</SECONDARY></INDEXTERM>
-<INDEXTERM ID="IX-SPI-SPIPALLOC-2"><PRIMARY>SPI_palloc</PRIMARY></INDEXTERM>
-</REFNAMEDIV>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>1997-12-24</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-SPI_palloc(<REPLACEABLE CLASS="PARAMETER">size</REPLACEABLE>)
-</SYNOPSIS>
-
-<REFSECT2 ID="R2-SPI-SPIPALLOC-1">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Inputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-Size <REPLACEABLE CLASS="PARAMETER">size</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Octet size of storage to allocate
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-
-<REFSECT2 ID="R2-SPI-SPIPALLOC-2">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Outputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-void *
-</TERM>
-<LISTITEM>
-<PARA>
-New storage space of specified size
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-</REFSYNOPSISDIV>
-
-<REFSECT1 ID="R1-SPI-SPIPALLOC-1">
-<REFSECT1INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT1INFO>
-<TITLE>Description
-</TITLE>
-<PARA>
-<FUNCTION>SPI_palloc</FUNCTION> 
-   allocates memory in upper Executor context.
-</PARA>
-</REFSECT1>
-<REFSECT1 ID="R1-SPI-SPIPALLOC-2">
-<TITLE>Usage
-</TITLE>
-<Para>
-TBD
-</PARA>
-</REFSECT1>
-<!--
-<REFSECT1 ID="R1-SPI-SPIPALLOC-3">
-<TITLE>Algorithm
-</TITLE>
-<PARA>
-TBD
-</PARA>
-</REFSECT1>
--->
-<!--
-<REFSECT1 ID="R1-SPI-SPIPALLOC-4">
-<TITLE>Structures
-</TITLE>
-<PARA>None
-</PARA>
-</REFSECT1>
--->
-</REFENTRY>
-
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-
-<REFENTRY ID="SPI-SPIREPALLOC">
-<REFMETA>
-<REFENTRYTITLE>SPI_repalloc</REFENTRYTITLE>
-<REFMISCINFO>SPI - Memory Management</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>SPI_repalloc
-</REFNAME>
-<REFPURPOSE>
-Re-allocates memory in upper Executor context
-</REFPURPOSE>
-<INDEXTERM ID="IX-SPI-SPIREPALLOC-1"><PRIMARY>SPI</PRIMARY><SECONDARY>allocating space</SECONDARY></INDEXTERM>
-<INDEXTERM ID="IX-SPI-SPIREPALLOC-2"><PRIMARY>SPI_repalloc</PRIMARY></INDEXTERM>
-</REFNAMEDIV>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>1997-12-24</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-SPI_repalloc(<REPLACEABLE CLASS="PARAMETER">pointer</REPLACEABLE>, <REPLACEABLE CLASS="PARAMETER">size</REPLACEABLE>)
-</SYNOPSIS>
-
-<REFSECT2 ID="R2-SPI-SPIREPALLOC-1">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Inputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-void * <REPLACEABLE CLASS="PARAMETER">pointer</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Pointer to existing storage
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-<VARLISTENTRY>
-<TERM>
-Size <REPLACEABLE CLASS="PARAMETER">size</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Octet size of storage to allocate
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-
-<REFSECT2 ID="R2-SPI-SPIREPALLOC-2">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Outputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-void *
-</TERM>
-<LISTITEM>
-<PARA>
-New storage space of specified size with contents copied from existing area
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-</REFSYNOPSISDIV>
-
-<REFSECT1 ID="R1-SPI-SPIREPALLOC-1">
-<REFSECT1INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT1INFO>
-<TITLE>Description
-</TITLE>
-<PARA>
-<FUNCTION>SPI_repalloc</FUNCTION> 
-   re-allocates memory in upper Executor context.
-</PARA>
-</REFSECT1>
-<REFSECT1 ID="R1-SPI-SPIREPALLOC-2">
-<TITLE>Usage
-</TITLE>
-<Para>
-This function is no longer different from plain <FUNCTION>repalloc</FUNCTION>.
-It's kept just for backward compatibility of existing code.
-</PARA>
-</REFSECT1>
-<!--
-<REFSECT1 ID="R1-SPI-SPIREPALLOC-3">
-<TITLE>Algorithm
-</TITLE>
-<PARA>
-TBD
-</PARA>
-</REFSECT1>
--->
-<!--
-<REFSECT1 ID="R1-SPI-SPIREPALLOC-4">
-<TITLE>Structures
-</TITLE>
-<PARA>None
-</PARA>
-</REFSECT1>
--->
-</REFENTRY>
-
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-
-<REFENTRY ID="SPI-SPIPFREE">
-<REFMETA>
-<REFENTRYTITLE>SPI_pfree</REFENTRYTITLE>
-<REFMISCINFO>SPI - Memory Management</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>SPI_pfree
-</REFNAME>
-<REFPURPOSE>
-Frees memory in upper Executor context
-</REFPURPOSE>
-<INDEXTERM ID="IX-SPI-SPIPFREE-1"><PRIMARY>SPI</PRIMARY><SECONDARY>allocating space</SECONDARY></INDEXTERM>
-<INDEXTERM ID="IX-SPI-SPIPFREE-2"><PRIMARY>SPI_pfree</PRIMARY></INDEXTERM>
-</REFNAMEDIV>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>1997-12-24</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-SPI_pfree(<REPLACEABLE CLASS="PARAMETER">pointer</REPLACEABLE>)
-</SYNOPSIS>
-
-<REFSECT2 ID="R2-SPI-SPIPFREE-1">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Inputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-void * <REPLACEABLE CLASS="PARAMETER">pointer</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Pointer to existing storage
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-
-<REFSECT2 ID="R2-SPI-SPIPFREE-2">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Outputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-None
-</TERM>
-<LISTITEM>
-<PARA>
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-</REFSYNOPSISDIV>
-
-<REFSECT1 ID="R1-SPI-SPIPFREE-1">
-<REFSECT1INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT1INFO>
-<TITLE>Description
-</TITLE>
-<PARA>
-<FUNCTION>SPI_pfree</FUNCTION> 
-   frees memory in upper Executor context.
-</PARA>
-</REFSECT1>
-<REFSECT1 ID="R1-SPI-SPIPFREE-2">
-<TITLE>Usage
-</TITLE>
-<Para>
-This function is no longer different from plain <FUNCTION>pfree</FUNCTION>.
-It's kept just for backward compatibility of existing code.
-</PARA>
-</REFSECT1>
-</REFENTRY>
-
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-
-<REFENTRY ID="SPI-SPIFREETUPLE">
-<REFMETA>
-<REFENTRYTITLE>SPI_freetuple</REFENTRYTITLE>
-<REFMISCINFO>SPI - Memory Management</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>SPI_freetuple
-</REFNAME>
-<REFPURPOSE>
-Frees a tuple allocated in upper Executor context
-</REFPURPOSE>
-<INDEXTERM ID="IX-SPI-SPIFREETUPLE-1"><PRIMARY>SPI</PRIMARY><SECONDARY>allocating space</SECONDARY></INDEXTERM>
-<INDEXTERM ID="IX-SPI-SPIFREETUPLE-2"><PRIMARY>SPI_freetuple</PRIMARY></INDEXTERM>
-</REFNAMEDIV>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>1997-12-24</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-SPI_freetuple(<REPLACEABLE CLASS="PARAMETER">pointer</REPLACEABLE>)
-</SYNOPSIS>
-
-<REFSECT2 ID="R2-SPI-SPIFREETUPLE-1">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Inputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-HeapTuple <REPLACEABLE CLASS="PARAMETER">pointer</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Pointer to allocated tuple
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-
-<REFSECT2 ID="R2-SPI-SPIFREETUPLE-2">
-<REFSECT2INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT2INFO>
-<TITLE>Outputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-None
-</TERM>
-<LISTITEM>
-<PARA>
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-</REFSYNOPSISDIV>
-
-<REFSECT1 ID="R1-SPI-SPIFREETUPLE-1">
-<REFSECT1INFO>
-<DATE>1997-12-24</DATE>
-</REFSECT1INFO>
-<TITLE>Description
-</TITLE>
-<PARA>
-<FUNCTION>SPI_freetuple</FUNCTION> 
-   frees a tuple previously allocated in upper Executor context.
-</PARA>
-</REFSECT1>
-<REFSECT1 ID="R1-SPI-SPIFREETUPLE-2">
-<TITLE>Usage
-</TITLE>
-<Para>
-This function is no longer different from plain <FUNCTION>heap_freetuple</FUNCTION>.
-It's kept just for backward compatibility of existing code.
-</PARA>
-</REFSECT1>
-</REFENTRY>
-
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-
-<REFENTRY ID="SPI-SPIFREETUPTABLE">
-<REFMETA>
-<REFENTRYTITLE>SPI_freetuptable</REFENTRYTITLE>
-<REFMISCINFO>SPI - Memory Management</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>SPI_freetuptable
-</REFNAME>
-<REFPURPOSE>
-Frees a tuple set created by <function>SPI_exec</> or similar function
-</REFPURPOSE>
-<INDEXTERM ID="IX-SPI-SPIFREETUPTABLE-1"><PRIMARY>SPI</PRIMARY><SECONDARY>allocating space</SECONDARY></INDEXTERM>
-<INDEXTERM ID="IX-SPI-SPIFREETUPTABLE-2"><PRIMARY>SPI_freetuptable</PRIMARY></INDEXTERM>
-</REFNAMEDIV>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>2001-11-14</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-SPI_freetuptable(<REPLACEABLE CLASS="PARAMETER">tuptable</REPLACEABLE>)
-</SYNOPSIS>
-
-<REFSECT2 ID="R2-SPI-SPIFREETUPTABLE-1">
-<REFSECT2INFO>
-<DATE>2001-11-14</DATE>
-</REFSECT2INFO>
-<TITLE>Inputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-SPITupleTable * <REPLACEABLE CLASS="PARAMETER">tuptable</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Pointer to tuple table
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-
-<REFSECT2 ID="R2-SPI-SPIFREETUPTABLE-2">
-<REFSECT2INFO>
-<DATE>2001-11-14</DATE>
-</REFSECT2INFO>
-<TITLE>Outputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-None
-</TERM>
-<LISTITEM>
-<PARA>
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-</REFSYNOPSISDIV>
-
-<REFSECT1 ID="R1-SPI-SPIFREETUPTABLE-1">
-<REFSECT1INFO>
-<DATE>2001-11-14</DATE>
-</REFSECT1INFO>
-<TITLE>Description
-</TITLE>
-<PARA>
-<FUNCTION>SPI_freetuptable</FUNCTION> 
-   frees a tuple set created by a prior SPI query function, such as
-   <function>SPI_exec</>.
-</PARA>
-</REFSECT1>
-<REFSECT1 ID="R1-SPI-SPIFREETUPTABLE-2">
-<TITLE>Usage
-</TITLE>
-<Para>
-This function is useful if a SPI procedure needs to execute multiple
-queries and does not want to keep the results of earlier queries around
-until it ends.  Note that any unfreed tuple sets will be freed anyway
-at <function>SPI_finish</>.
-</PARA>
-</REFSECT1>
-</REFENTRY>
-
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-<!-- *********************************************** -->
-
-<REFENTRY ID="SPI-SPIFREEPLAN">
-<REFMETA>
-<REFENTRYTITLE>SPI_freeplan</REFENTRYTITLE>
-<REFMISCINFO>SPI - Memory Management</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>SPI_freeplan
-</REFNAME>
-<REFPURPOSE>
-   Releases a previously saved plan
-</REFPURPOSE>
-<INDEXTERM ID="IX-SPI-SPIFREEPLAN-1"><PRIMARY>SPI</PRIMARY><SECONDARY>allocating space</SECONDARY></INDEXTERM>
-<INDEXTERM ID="IX-SPI-SPIFREEPLAN-2"><PRIMARY>SPI_freeplan</PRIMARY></INDEXTERM>
-</REFNAMEDIV>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>2001-11-14</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-SPI_freeplan(<REPLACEABLE CLASS="PARAMETER">plan</REPLACEABLE>)
-</SYNOPSIS>
-
-<REFSECT2 ID="R2-SPI-SPIFREEPLAN-1">
-<REFSECT2INFO>
-<DATE>2001-11-14</DATE>
-</REFSECT2INFO>
-<TITLE>Inputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>
-void *<REPLACEABLE CLASS="PARAMETER">plan</REPLACEABLE>
-</TERM>
-<LISTITEM>
-<PARA>
-Passed plan
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-
-<REFSECT2 ID="R2-SPI-SPIFREEPLAN-2">
-<REFSECT2INFO>
-<DATE>2001-11-14</DATE>
-</REFSECT2INFO>
-<TITLE>Outputs
-</TITLE>
-<VARIABLELIST>
-<VARLISTENTRY>
-<TERM>int
-</TERM>
-<LISTITEM>
-<PARA>
-<SimpleList>
-<Member>
-   <ReturnValue>SPI_ERROR_ARGUMENT</ReturnValue> if plan is NULL
-</Member>
-</SimpleList>
-</PARA>
-</LISTITEM>
-</VARLISTENTRY>
-</VARIABLELIST>
-</REFSECT2>
-</REFSYNOPSISDIV>
-
-<REFSECT1 ID="R1-SPI-SPIFREEPLAN-1">
-<REFSECT1INFO>
-<DATE>2001-11-14</DATE>
-</REFSECT1INFO>
-<TITLE>Description
-</TITLE>
-<PARA>
-<FUNCTION>SPI_freeplan</FUNCTION> 
-   releases a query plan previously returned by
-   <Function>SPI_prepare</Function> or saved by
-   <Function>SPI_saveplan</Function>.
-</para>
-</REFSECT1>
-</REFENTRY>
-
-</Sect1>
-
-<Sect1 id="spi-visibility">
-<Title>Visibility of Data Changes</Title>
-
-<Para>
-<ProductName>PostgreSQL</ProductName> data changes visibility rule: during a query execution, data
-changes made by the query itself (via SQL-function, SPI-function, triggers)
-are invisible to the query scan.  For example, in query
+   a portal can outlive the current procedure (it can, in fact, live
+   to the end of the current transaction).  Returning the portal name
+   to the procedure's caller provides a way of returning a row set as
+   result.
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Arguments</title>
+
+  <variablelist>
+   <varlistentry>
+    <term><literal>const char * <parameter>name</parameter></literal></term>
+    <listitem>
+     <para>
+      name for portal, or <symbol>NULL</symbol> to let the system
+      select a name
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><literal>void * <parameter>plan</parameter></literal></term>
+    <listitem>
+     <para>
+      execution plan (returned by <function>SPI_prepare</function>)
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><literal>Datum * <parameter>values</parameter></literal></term>
+    <listitem>
+     <para>
+      actual parameter values
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><literal>const char *<parameter>nulls</parameter></literal></term>
+    <listitem>
+     <para>
+      An array describing which parameters are null values.
+      <literal>n</literal> indicates a null value (entry in
+      <parameter>values</> will be ignored); a space indicates a
+      nonnull value (entry in <parameter>values</> is valid).  If
+      <parameter>nulls</parameter> is <symbol>NULL</> then
+      <function>SPI_cursor_open</function> assumes that no parameters
+      are null.
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </refsect1>
+
+ <refsect1>
+  <title>Return Value</title>
+
+  <para>
+   pointer to portal containing the cursor, or <symbol>NULL</symbol>
+   on error
+  </para>
+ </refsect1>
+</refentry>
+
+<!-- *********************************************** -->
+
+<refentry id="spi-spi-cursor-find">
+ <refmeta>
+  <refentrytitle>SPI_cursor_find</refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+  <refname>SPI_cursor_find</refname>
+  <refpurpose>find an existing cursor by name</refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_cursor_find</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+Portal SPI_cursor_find(const char * <parameter>name</parameter>)
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+  <title>Description</title>
+
+  <para>
+   <function>SPI_cursor_find</function> finds an existing portal by
+   name.  This is primarily useful to resolve a cursor name returned
+   as text by some other function.
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Arguments</title>
+
+  <variablelist>
+   <varlistentry>
+    <term><literal>const char * <parameter>name</parameter></literal></term>
+    <listitem>
+     <para>
+      name of the portal
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </refsect1>
+
+ <refsect1>
+  <title>Return Value</title>
+
+  <para>
+   pointer to the portal with the specified name, or
+   <symbol>NULL</symbol> if none was found
+  </para>
+ </refsect1>
+</refentry>
+
+<!-- *********************************************** -->
+
+<refentry id="spi-spi-cursor-fetch">
+ <refmeta>
+  <refentrytitle>SPI_cursor_fetch</refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+  <refname>SPI_cursor_fetch</refname>
+  <refpurpose>fetch some rows from a cursor</refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_cursor_fetch</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+void SPI_cursor_fetch(Portal <parameter>portal</parameter>, bool <parameter>forward</parameter>, int <parameter>count</parameter>)
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+  <title>Description</title>
+
+  <para>
+   <function>SPI_cursor_fetch</function> fetches some rows from a
+   cursor.  This is equivalent to the SQL command <command>FETCH</>.
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Arguments</title>
+
+  <variablelist>
+   <varlistentry>
+    <term><literal>Portal <parameter>portal</parameter></literal></term>
+    <listitem>
+     <para>
+      portal containing the cursor
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><literal>bool <parameter>forward</parameter></literal></term>
+    <listitem>
+     <para>
+      true for fetch forward, false for fetch backward
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><literal>int <parameter>count</parameter></literal></term>
+    <listitem>
+     <para>
+      maximum number of rows to fetch
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </refsect1>
+
+ <refsect1>
+  <title>Return Value</title>
+
+  <para>
+   <varname>SPI_processed</varname> and
+   <varname>SPI_tuptable</varname> are set as in
+   <function>SPI_exec</function> if successful.
+  </para>
+ </refsect1>
+</refentry>
+
+<!-- *********************************************** -->
+
+<refentry id="spi-spi-cursor-move">
+ <refmeta>
+  <refentrytitle>SPI_cursor_move</refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+  <refname>SPI_cursor_move</refname>
+  <refpurpose>move a cursor</refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_cursor_move</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+void SPI_cursor_move(Portal <parameter>portal</parameter>, bool <parameter>forward</parameter>, int <parameter>count</parameter>)
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+  <title>Description</title>
+
+  <para>
+   <function>SPI_cursor_move</function> skips over some number of rows
+   in a cursor.  This is equivalent to the SQL command
+   <command>MOVE</>.
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Arguments</title>
+
+  <variablelist>
+   <varlistentry>
+    <term><literal>Portal <parameter>portal</parameter></literal></term>
+    <listitem>
+     <para>
+      portal containing the cursor
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><literal>bool <parameter>forward</parameter></literal></term>
+    <listitem>
+     <para>
+      true for move forward, false for move backward
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><literal>int <parameter>count</parameter></literal></term>
+    <listitem>
+     <para>
+      maximum number of rows to move
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </refsect1>
+</refentry>
+
+<!-- *********************************************** -->
+
+<refentry id="spi-spi-cursor-close">
+ <refmeta>
+  <refentrytitle>SPI_cursor_close</refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+  <refname>SPI_cursor_close</refname>
+  <refpurpose>close a cursor</refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_cursor_close</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+void SPI_cursor_close(Portal <parameter>portal</parameter>)
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+  <title>Description</title>
+
+  <para>
+   <function>SPI_cursor_close</function> closes a previously created
+   cursor and releases its portal storage.
+  </para>
+
+  <para>
+   All open cursors are closed automatically at the end of a
+   transaction.  <function>SPI_cursor_close</function> need only be
+   invoked if it is desirable to release resources sooner.
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Arguments</title>
+
+  <variablelist>
+   <varlistentry>
+    <term><literal>Portal <parameter>portal</parameter></literal></term>
+    <listitem>
+     <para>
+      portal containing the cursor
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </refsect1>
+</refentry>
+
+<!-- *********************************************** -->
+
+<refentry id="spi-spi-saveplan">
+ <refmeta>
+  <refentrytitle>SPI_saveplan</refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+  <refname>SPI_saveplan</refname>
+  <refpurpose>save a plan</refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_saveplan</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+void * SPI_saveplan(void * <parameter>plan</parameter>)
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+  <title>Description</title>
+
+  <para>
+   <function>SPI_saveplan</function> saves a passed plan (prepared by
+   <function>SPI_prepare</function>) in memory protected from freeing
+   by <function>SPI_finish</function> and by the transaction manager
+   and returns a pointer to the saved plan.  This gives you the
+   ability to reuse prepared plans in the subsequent invocations of
+   your procedure in the current session.  You may save the pointer
+   returned in a local variable.  Always check if this pointer is
+   <symbol>NULL</symbol> or not either when preparing a plan or using
+   an already prepared plan in <function>SPI_execp</function>.
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Arguments</title>
+
+  <variablelist>
+   <varlistentry>
+    <term><literal>void * <parameter>plan</parameter></literal></term>
+    <listitem>
+     <para>
+      the plan to be saved
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </refsect1>
+
+ <refsect1>
+  <title>Return Value</title>
+
+  <para>
+   Pointer to the saved plan; <symbol>NULL</symbol> if unsuccessful.
+   On error, <varname>SPI_result</varname> is set thus:
+
+   <variablelist>
+    <varlistentry>
+     <term><symbol>SPI_ERROR_ARGUMENT</symbol></term>
+     <listitem>
+      <para>
+       if <parameter>plan</parameter> is <symbol>NULL</symbol>
+      </para>
+     </listitem>
+    </varlistentry>
+
+    <varlistentry>
+     <term><symbol>SPI_ERROR_UNCONNECTED</symbol></term>
+     <listitem>
+      <para>
+       if called from an unconnected procedure
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Notes</title>
+
+  <para>
+   If one of the objects (a table, function, etc.) referenced by the
+   prepared plan is dropped during the session then the results of
+   <function>SPI_execp</function> for this plan will be unpredictable.
+  </para>
+ </refsect1>
+</refentry>
+
+</sect1>
+
+<sect1 id="spi-interface-support">
+ <title>Interface Support Functions</title>
+
+ <para>
+  The functions described here provide an interface for extracting
+  information from result sets returned by <function>SPI_exec</> and
+  other SPI functions.
+ </para>
+
+ <para>
+  All functions described in this section may be used by both
+  connected and unconnected procedures.
+ </para>
+
+<!-- *********************************************** -->
+
+<refentry id="spi-spi-fname">
+ <refmeta>
+  <refentrytitle>SPI_fname</refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+  <refname>SPI_fname</refname>
+  <refpurpose>determine the column name for the specified column number</refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_fname</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+char * SPI_fname(TupleDesc <parameter>rowdesc</parameter>, int <parameter>colnumber</parameter>)
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+  <title>Description</title>
+
+  <para>
+   <function>SPI_fname</function> returns the column name of the
+   specified column.  (You can use <function>pfree</function> to
+   release the copy of the name when you don't need it anymore.)
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Arguments</title>
+
+  <variablelist>
+   <varlistentry>
+    <term><literal>TupleDesc <parameter>rowdesc</parameter></literal></term>
+    <listitem>
+     <para>
+      input row description
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><literal>int <parameter>colnumber</parameter></literal></term>
+    <listitem>
+     <para>
+      column number (count starts at 1)
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </refsect1>
+
+ <refsect1>
+  <title>Return Value</title>
+
+  <para>
+   The column name; <symbol>NULL</symbol> if
+   <parameter>colnumber</parameter> is out of range.
+   <varname>SPI_result</varname> set to
+   <symbol>SPI_ERROR_NOATTRIBUTE</symbol> on error.
+  </para>
+ </refsect1>
+</refentry>
+
+<!-- *********************************************** -->
+
+<refentry id="spi-spi-fnumber">
+ <refmeta>
+  <refentrytitle>SPI_fnumber</refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+  <refname>SPI_fnumber</refname>
+  <refpurpose>determine the column number for the specified column name</refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_fnumber</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+int SPI_fnumber(TupleDesc <parameter>rowdesc</parameter>, const char * <parameter>colname</parameter>)
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+  <title>Description</title>
+
+  <para>
+   <function>SPI_fnumber</function> returns the column number for the
+   column with the specified name.
+  </para>
+
+  <para>
+   If <parameter>colname</parameter> refers to a system column (e.g.,
+   <literal>oid</>) then the appropriate negative column number will
+   be returned.  The caller should be careful to test the return value
+   for exact equality to <symbol>SPI_ERROR_NOATTRIBUTE</symbol> to
+   detect an error; testing the result for less than or equal to 0 is
+   not correct unless system columns should be rejected.
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Arguments</title>
+
+  <variablelist>
+   <varlistentry>
+    <term><literal>TupleDesc <parameter>rowdesc</parameter></literal></term>
+    <listitem>
+     <para>
+      input row description
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><literal>const char * <parameter>colname</parameter></literal></term>
+    <listitem>
+     <para>
+      column name
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </refsect1>
+
+ <refsect1>
+  <title>Return Value</title>
+
+  <para>
+   Column number (count starts at 1), or
+   <symbol>SPI_ERROR_NOATTRIBUTE</symbol> if the named column was not
+   found.
+  </para>
+ </refsect1>
+</refentry>
+
+<!-- *********************************************** -->
+
+<refentry id="spi-spi-getvalue">
+ <refmeta>
+  <refentrytitle>SPI_getvalue</refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+  <refname>SPI_getvalue</refname>
+  <refpurpose>return the string value of the specified column</refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_getvalue</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+char * SPI_getvalue(HeapTuple <parameter>row</parameter>, TupleDesc <parameter>rowdesc</parameter>, int <parameter>colnumber</parameter>)
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+  <title>Description</title>
+
+  <para>
+   <function>SPI_getvalue</function> returns the string representation
+   of the value of the specified column.
+  </para>
+
+  <para>
+   The result is returned in memory allocated using
+   <function>palloc</function>.  (You can use
+   <function>pfree</function> to release the memory when you don't
+   need it anymore.)
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Arguments</title>
+
+  <variablelist>
+   <varlistentry>
+    <term><literal>HeapTuple <parameter>row</parameter></literal></term>
+    <listitem>
+     <para>
+      input row to be examined
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><literal>TupleDesc <parameter>rowdesc</parameter></literal></term>
+    <listitem>
+     <para>
+      input row description
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><literal>int <parameter>colnumber</parameter></literal></term>
+    <listitem>
+     <para>
+      column number (count starts at 1)
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </refsect1>
+
+ <refsect1>
+  <title>Return Value</title>
+
+  <para>
+   Column value, or <symbol>NULL</symbol> if the column is null,
+   <parameter>colnumber</parameter> is out of range
+   (<varname>SPI_result</varname> is set to
+   <symbol>SPI_ERROR_NOATTRIBUTE</symbol>), or no no output function
+   available (<varname>SPI_result</varname> is set to
+   <symbol>SPI_ERROR_NOOUTFUNC</symbol>).
+  </para>
+ </refsect1>
+</refentry>
+
+<!-- *********************************************** -->
+
+<refentry id="spi-spi-getbinval">
+ <refmeta>
+  <refentrytitle>SPI_getbinval</refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+  <refname>SPI_getbinval</refname>
+  <refpurpose>return the binary value of the specified column</refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_getbinval</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+Datum SPI_getbinval(HeapTuple <parameter>row</parameter>, TupleDesc <parameter>rowdesc</parameter>, int <parameter>colnumber</parameter>, bool * <parameter>isnull</parameter>)
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+  <title>Description</title>
+
+  <para>
+   <function>SPI_getbinval</function> returns the value of the
+   specified column in the internal form (as type <type>Datum</type>).
+  </para>
+
+  <para>
+   This function does not allocate new space for the datum.  In the
+   case of a pass-by-reference data type, the return value will be a
+   pointer into the passed row.
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Arguments</title>
+
+  <variablelist>
+   <varlistentry>
+    <term><literal>HeapTuple <parameter>row</parameter></literal></term>
+    <listitem>
+     <para>
+      input row to be examined
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><literal>TupleDesc <parameter>rowdesc</parameter></literal></term>
+    <listitem>
+     <para>
+      input row description
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><literal>int <parameter>rownumber</parameter></literal></term>
+    <listitem>
+     <para>
+      column number (count starts at 1)
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><literal>bool * <parameter>isnull</parameter></literal></term>
+    <listitem>
+     <para>
+      flag for a null value in the column
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </refsect1>
+
+ <refsect1>
+  <title>Return Value</title>
+
+  <para>
+   The binary value of the column is returned.  The variable pointed
+   to by <parameter>isnull</parameter> is set to true if the column is
+   null, else to false.
+  </para>
+
+  <para>
+   <varname>SPI_result</varname> is set to
+   <symbol>SPI_ERROR_NOATTRIBUTE</symbol> on error.
+  </para>
+ </refsect1>
+</refentry>
+
+<!-- *********************************************** -->
+
+<refentry id="spi-spi-gettype">
+ <refmeta>
+  <refentrytitle>SPI_gettype</refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+  <refname>SPI_gettype</refname>
+  <refpurpose>return the data type name of the specified column</refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_gettype</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+char * SPI_gettype(TupleDesc <parameter>rowdesc</parameter>, int <parameter>colnumber</parameter>)
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+  <title>Description</title>
+
+  <para>
+   <function>SPI_gettype</function> returns the data type name of the
+   specified column.  (You can use <function>pfree</function> to
+   release the copy of the name when you don't need it anymore.)
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Arguments</title>
+
+  <variablelist>
+   <varlistentry>
+    <term><literal>TupleDesc <parameter>rowdesc</parameter></literal></term>
+    <listitem>
+     <para>
+      input row description
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><literal>int <parameter>colnumber</parameter></literal></term>
+    <listitem>
+     <para>
+      column number (count starts at 1)
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </refsect1>
+
+ <refsect1>
+  <title>Return Value</title>
+
+  <para>
+   The data type name of the specified column, or
+   <symbol>NULL</symbol> on error.  <varname>SPI_result</varname> is
+   set to <symbol>SPI_ERROR_NOATTRIBUTE</symbol> on error.
+  </para>
+ </refsect1>
+</refentry>
+
+<!-- *********************************************** -->
+
+<refentry id="spi-spi-gettypeid">
+ <refmeta>
+  <refentrytitle>SPI_gettypeid</refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+  <refname>SPI_gettypeid</refname>
+  <refpurpose>return the data type <acronym>OID</acronym> of the specified column</refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_gettypeid</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+Oid SPI_gettypeid(TupleDesc <parameter>rowdesc</parameter>, int <parameter>colnumber</parameter>)
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+  <title>Description</title>
+
+  <para>
+   <function>SPI_gettypeid</function> returns the
+   <acronym>OID</acronym> of the data type of the specified column.
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Arguments</title>
+
+  <variablelist>
+   <varlistentry>
+    <term><literal>TupleDesc <parameter>rowdesc</parameter></literal></term>
+    <listitem>
+     <para>
+      input row description
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><literal>int <parameter>colnumber</parameter></literal></term>
+    <listitem>
+     <para>
+      column number (count starts at 1)
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </refsect1>
+
+ <refsect1>
+  <title>Return Value</title>
+
+  <para>
+   The <acronym>OID</acronym> of the data type of the specified column
+   or <symbol>InvalidOid</symbol> on error.  On error,
+   <varname>SPI_result</varname> is set to
+   <symbol>SPI_ERROR_NOATTRIBUTE</symbol>.
+  </para>
+ </refsect1>
+</refentry>
+
+<!-- *********************************************** -->
+
+<refentry id="spi-spi-getrelname">
+ <refmeta>
+  <refentrytitle>SPI_getrelname</refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+  <refname>SPI_getrelname</refname>
+  <refpurpose>return the name of the specified relation</refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_getrelname</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+char * SPI_getrelname(Relation <parameter>rel</parameter>)
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+  <title>Description</title>
+
+  <para>
+   <function>SPI_getrelname</function> returns the name of the
+   specified relation.  (You can use <function>pfree</function> to
+   release the copy of the name when you don't need it anymore.)
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Arguments</title>
+
+  <variablelist>
+   <varlistentry>
+    <term><literal>Relation <parameter>rel</parameter></literal></term>
+    <listitem>
+     <para>
+      input relation
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </refsect1>
+
+ <refsect1>
+  <title>Return Value</title>
+
+  <para>
+   The name of the specified relation.
+  </para>
+ </refsect1>
+</refentry>
+
+ </sect1>
+
+ <sect1 id="spi-memory">
+  <title>Memory Management</title>
+
+  <para>
+   <productname>PostgreSQL</productname> allocates memory within
+   <firstterm>memory contexts</firstterm><indexterm><primary>memory
+   context</primary><secondary>in SPI</secondary></indexterm>, which provide a convenient method of
+   managing allocations made in many different places that need to
+   live for differing amounts of time.  Destroying a context releases
+   all the memory that was allocated in it.  Thus, it is not necessary
+   to keep track of individual objects to avoid memory leaks; instead
+   only a relatively small number of contexts have to be managed.
+   <function>palloc</function> and related functions allocate memory
+   from the <quote>current</> context.
+  </para>
+
+  <para>
+   <function>SPI_connect</function> creates a new memory context and
+   makes it current.  <function>SPI_finish</function> restores the
+   previous current memory context and destroys the context created by
+   <function>SPI_connect</function>.  These actions ensure that
+   transient memory allocations made inside your procedure are
+   reclaimed at procedure exit, avoiding memory leakage.
+  </para>
+
+  <para>
+   However, if your procedure needs to return an object in allocated
+   memory (such as a value of a pass-by-reference data type), you
+   cannot allocate that memory using <function>palloc</function>, at
+   least not while you are connected to SPI.  If you try, the object
+   will be deallocated by <function>SPI_finish</function>, and your
+   procedure will not work reliably.  To solve this problem, use
+   <function>SPI_palloc</function> to allocate memory for your return
+   object.  <function>SPI_palloc</function> allocates memory in the
+   <quote>upper executor context</quote>, that is, the memory context
+   that was current when <function>SPI_connect</function> was called,
+   which is precisely the right context for return a value from your
+   procedure.
+  </para>
+
+  <para>
+   If <function>SPI_palloc</function> is called while the procedure is
+   not connected to SPI, then it acts the same as a normal
+   <function>palloc</function>.  Before a procedure connects to the
+   SPI manager, the current memory context is the upper executor
+   context, so all allocations made by the procedure via
+   <function>palloc</function> or by SPI utility functions are made in
+   this context.
+  </para>
+
+  <para>
+   When <function>SPI_connect</function> is called, the private
+   context of the procedure, which is created by
+   <function>SPI_connect</function>, is made the current context.  All
+   allocations made by <function>palloc</function>,
+   <function>repalloc</function>, or SPI utility functions (except for
+   <function>SPI_copytuple</function>,
+   <function>SPI_copytupledesc</function>,
+   <function>SPI_copytupleintoslot</function>,
+   <function>SPI_modifytuple</function>, and
+   <function>SPI_palloc</function>) are made in this context.  When a
+   procedure disconnects from the SPI manager (via
+   <function>SPI_finish</function>) the current context is restored to
+   the upper executor context, and all allocations made in the
+   procedure memory context are freed and cannot be used any more.
+  </para>
+
+  <para>
+   All functions described in this section may be used by both
+   connected and unconnected procedures.  In an unconnected procedure,
+   they act the same as the underlying ordinary server functions
+   (<function>palloc</>, etc.).
+  </para>
+
+<!-- *********************************************** -->
+
+<refentry id="spi-spi-palloc">
+ <refmeta>
+  <refentrytitle>SPI_palloc</refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+  <refname>SPI_palloc</refname>
+  <refpurpose>allocate memory in the upper executor context</refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_palloc</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+void * SPI_palloc(Size <parameter>size</parameter>)
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+  <title>Description</title>
+
+  <para>
+   <function>SPI_palloc</function> allocates memory in the upper
+   executor context.
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Arguments</title>
+
+  <variablelist>
+   <varlistentry>
+    <term><literal>Size <parameter>size</parameter></literal></term>
+    <listitem>
+     <para>
+      size in bytes of storage to allocate
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </refsect1>
+
+ <refsect1>
+  <title>Return Value</title>
+
+  <para>
+   pointer to new storage space of the specified size
+  </para>
+ </refsect1>
+</refentry>
+
+<!-- *********************************************** -->
+
+<refentry id="spi-realloc">
+ <refmeta>
+  <refentrytitle>SPI_repalloc</refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+  <refname>SPI_repalloc</refname>
+  <refpurpose>reallocate memory in the upper executor context</refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_repalloc</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+void * SPI_repalloc(void * <parameter>pointer</parameter>, Size <parameter>size</parameter>)
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+  <title>Description</title>
+
+  <para>
+   <function>SPI_repalloc</function> changes the size of a memory
+   segment previously allocated using <function>SPI_palloc</function>.
+  </para>
+
+  <para>
+   This function is no longer different from plain
+   <function>repalloc</function>.  It's kept just for backward
+   compatibility of existing code.
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Arguments</title>
+
+  <variablelist>
+   <varlistentry>
+    <term><literal>void * <parameter>pointer</parameter></literal></term>
+    <listitem>
+     <para>
+      pointer to existing storage to change
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><literal>Size <parameter>size</parameter></literal></term>
+    <listitem>
+     <para>
+      size in bytes of storage to allocate
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </refsect1>
+
+ <refsect1>
+  <title>Return Value</title>
+
+  <para>
+   pointer to new storage space of specified size with the contents
+   copied from the existing area
+  </para>
+ </refsect1>
+</refentry>
+
+<!-- *********************************************** -->
+
+<refentry id="spi-spi-pfree">
+ <refmeta>
+  <refentrytitle>SPI_pfree</refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+  <refname>SPI_pfree</refname>
+  <refpurpose>free memory in the upper executor context</refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_pfree</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+void SPI_pfree(void * <parameter>pointer</parameter>)
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+  <title>Description</title>
+
+  <para>
+   <function>SPI_pfree</function> frees memory previously allocated
+   using <function>SPI_palloc</function> or
+   <function>SPI_repalloc</function>.
+  </para>
+
+  <para>
+   This function is no longer different from plain
+   <function>pfree</function>.  It's kept just for backward
+   compatibility of existing code.
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Arguments</title>
+
+  <variablelist>
+   <varlistentry>
+    <term><literal>void * <parameter>pointer</parameter></literal></term>
+    <listitem>
+     <para>
+      pointer to existing storage to free
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </refsect1>
+</refentry>
+
+<!-- *********************************************** -->
+
+<refentry id="spi-spi-copytuple">
+ <refmeta>
+  <refentrytitle>SPI_copytuple</refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+  <refname>SPI_copytuple</refname>
+  <refpurpose>make a copy of a row in the upper executor context</refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_copytuple</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+HeapTuple SPI_copytuple(HeapTuple <parameter>row</parameter>)
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+  <title>Description</title>
+
+  <para>
+   <function>SPI_copytuple</function> makes a copy of a row in the
+   upper executor context.
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Arguments</title>
+
+  <variablelist>
+   <varlistentry>
+    <term><literal>HeapTuple <parameter>row</parameter></literal></term>
+    <listitem>
+     <para>
+      row to be copied
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </refsect1>
+
+ <refsect1>
+  <title>Return Value</title>
+
+  <para>
+   the copied row; <symbol>NULL</symbol> only if
+   <parameter>tuple</parameter> is <symbol>NULL</symbol>
+  </para>
+ </refsect1>
+</refentry>
+
+<!-- *********************************************** -->
+
+<refentry id="spi-spi-copytupledesc">
+ <refmeta>
+  <refentrytitle>SPI_copytupledesc</refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+  <refname>SPI_copytupledesc</refname>
+  <refpurpose>make a copy of a row descriptor in the upper executor context</refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_copytupledesc</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+TupleDesc SPI_copytupledesc(TupleDesc <parameter>tupdesc</parameter>)
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+  <title>Description</title>
+
+  <para>
+   <function>SPI_copytupledesc</function> makes a copy of a row
+   descriptor in the upper executor context.
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Arguments</title>
+
+  <variablelist>
+   <varlistentry>
+    <term><literal>TupleDesc <parameter>tupdesc</parameter></literal></term>
+    <listitem>
+     <para>
+      row descriptor to be copied
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </refsect1>
+
+ <refsect1>
+  <title>Return Value</title>
+
+  <para>
+   the copied row descriptor; <symbol>NULL</symbol> only if
+   <parameter>tupdesc</parameter> is <symbol>NULL</symbol>
+  </para>
+ </refsect1>
+</refentry>
+
+<!-- *********************************************** -->
+
+<refentry id="spi-spi-copytupleintoslot">
+ <refmeta>
+  <refentrytitle>SPI_copytupleintoslot</refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+  <refname>SPI_copytupleintoslot</refname>
+  <refpurpose>make a copy of a row and descriptor in the upper executor context</refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_copytupleintoslot</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+TupleTableSlot * SPI_copytupleintoslot(HeapTuple <parameter>row</parameter>, TupleDesc <parameter>rowdesc</parameter>)
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+  <title>Description</title>
+
+  <para>
+   <function>SPI_copytupleintoslot</function> makes a copy of a row in
+   the upper executor context, returning it in the form of a filled-in
+   <type>TupleTableSlot</type> structure.
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Arguments</title>
+
+  <variablelist>
+   <varlistentry>
+    <term><literal>HeapTuple <parameter>row</parameter></literal></term>
+    <listitem>
+     <para>
+      row to be copied
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><literal>TupleDesc <parameter>rowdesc</parameter></literal></term>
+    <listitem>
+     <para>
+      row descriptor to be copied
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </refsect1>
+
+ <refsect1>
+  <title>Return Value</title>
+
+  <para>
+   <type>TupleTableSlot</type> containing the copied row and
+   descriptor; <symbol>NULL</symbol> only if
+   <parameter>row</parameter> or <parameter>rowdesc</parameter> are
+   <symbol>NULL</symbol>
+  </para>
+ </refsect1>
+</refentry>
+
+<!-- *********************************************** -->
+
+<refentry id="spi-spi-modifytuple">
+ <refmeta>
+  <refentrytitle>SPI_modifytuple</refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+  <refname>SPI_modifytuple</refname>
+  <refpurpose>create a row by replacing selected fields of a given row</refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_modifytuple</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+HeapTuple SPI_modifytuple(Relation <parameter>rel</parameter>, HeapTuple <parameter>row</parameter>, <parameter>ncols</parameter>, <parameter>colnum</parameter>, Datum * <parameter>values</parameter>, const char * <parameter>nulls</parameter>)
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+  <title>Description</title>
+
+  <para>
+   <function>SPI_modifytuple</function> creates a new row by
+   substituting new values for selected columns, copying the original
+   row's columns at other positions.  The input row is not modified.
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Arguments</title>
+
+  <variablelist>
+   <varlistentry>
+    <term><literal>Relation <parameter>rel</parameter></literal></term>
+    <listitem>
+     <para>
+      Used only as the source of the row descriptor for the row.
+      (Passing a relation rather than a row descriptor is a
+      misfeature.)
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><literal>HeapTuple <parameter>row</parameter></literal></term>
+    <listitem>
+     <para>
+      row to be modified
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><literal>int <parameter>ncols</parameter></literal></term>
+    <listitem>
+     <para>
+      number of column numbers in the array
+      <parameter>colnum</parameter>
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><literal>int * <parameter>colnum</parameter></literal></term>
+    <listitem>
+     <para>
+      array of the numbers of the columns that are to be changed
+      (count starts at 1)
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><literal>Datum * <parameter>values</parameter></literal></term>
+    <listitem>
+     <para>
+      new values for the specified columns
+     </para>
+    </listitem>
+   </varlistentry>
+
+   <varlistentry>
+    <term><literal>const char * <parameter>Nulls</parameter></literal></term>
+    <listitem>
+     <para>
+      which new values are null, if any (see <function>SPI_execp</function> for the format)
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </refsect1>
+
+ <refsect1>
+  <title>Return Value</title>
+
+  <para>
+   new row with modifications, allocated in the upper executor
+   context; <symbol>NULL</symbol> only if <parameter>row</parameter>
+   is <symbol>NULL</symbol>
+  </para>
+
+  <para>
+   On error, <varname>SPI_result</varname> is set as follows:
+   <variablelist>
+    <varlistentry>
+     <term><symbol>SPI_ERROR_ARGUMENT</symbol></term>
+     <listitem>
+      <para>
+       if <parameter>rel</> is <symbol>NULL</>, or if
+       <parameter>row</> is <symbol>NULL</>, or if <parameter>ncols</>
+       is less than or equal to 0, or if <parameter>colnum</> is
+       <symbol>NULL</>, or if <parameter>values</> is <symbol>NULL</>.
+      </para>
+     </listitem>
+    </varlistentry>
+
+    <varlistentry>
+     <term><symbol>SPI_ERROR_NOATTRIBUTE</symbol></term>
+     <listitem>
+      <para>
+       if <parameter>colnum</> contains an invalid column number (less
+       than or equal to 0 or greater than the number of column in
+       <parameter>row</>)
+      </para>
+     </listitem>
+    </varlistentry>
+   </variablelist>
+  </para>
+ </refsect1>
+</refentry>
+
+<!-- *********************************************** -->
+
+<refentry id="spi-spi-freetuple">
+ <refmeta>
+  <refentrytitle>SPI_freetuple</refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+  <refname>SPI_freetuple</refname>
+  <refpurpose>frees a row allocated in the upper executor context</refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_freetuple</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+void SPI_freetuple(HeapTuple <parameter>row</parameter>)
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+  <title>Description</title>
+
+  <para>
+   <function>SPI_freetuple</function> frees a row previously allocated
+   in the upper executor context.
+  </para>
+
+  <para>
+   This function is no longer different from plain
+   <function>heap_freetuple</function>.  It's kept just for backward
+   compatibility of existing code.
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Arguments</title>
+
+  <variablelist>
+   <varlistentry>
+    <term><literal>HeapTuple <parameter>row</parameter></literal></term>
+    <listitem>
+     <para>
+      row to free
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </refsect1>
+</refentry>
+
+<!-- *********************************************** -->
+
+<refentry id="spi-spi-freetupletable">
+ <refmeta>
+  <refentrytitle>SPI_freetuptable</refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+  <refname>SPI_freetuptable</refname>
+  <refpurpose>free a row set created by <function>SPI_exec</> or a similar function</refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_freetuptable</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+void SPI_freetuptable(SPITupleTable * <parameter>tuptable</parameter>)
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+  <title>Description</title>
+
+  <para>
+   <function>SPI_freetuptable</function> frees a row set created by a
+   prior SPI command execution function, such as
+   <function>SPI_exec</>.  Therefore, this function is usually called
+   with the global variable <varname>SPI_tupletable</varname> as
+   argument.
+  </para>
+
+  <para>
+   This function is useful if a SPI procedure needs to execute
+   multiple commands and does not want to keep the results of earlier
+   commands around until it ends.  Note that any unfreed row sets will
+   be freed anyway at <function>SPI_finish</>.
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Arguments</title>
+
+  <variablelist>
+   <varlistentry>
+    <term><literal>SPITupleTable * <parameter>tuptable</parameter></literal></term>
+    <listitem>
+     <para>
+      pointer to row set to free
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </refsect1>
+</refentry>
+
+<!-- *********************************************** -->
+
+<refentry id="spi-spi-freeplan">
+ <refmeta>
+  <refentrytitle>SPI_freeplan</refentrytitle>
+ </refmeta>
+
+ <refnamediv>
+  <refname>SPI_freeplan</refname>
+  <refpurpose>free a previously saved plan</refpurpose>
+ </refnamediv>
+
+ <indexterm><primary>SPI_freeplan</primary></indexterm>
+
+ <refsynopsisdiv>
+<synopsis>
+int SPI_freeplan(void *<parameter>plan</parameter>)
+</synopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+  <title>Description</title>
+
+  <para>
+   <function>SPI_freeplan</function> releases a command execution plan
+   previously returned by <function>SPI_prepare</function> or saved by
+   <function>SPI_saveplan</function>.
+  </para>
+ </refsect1>
+
+ <refsect1>
+  <title>Arguments</title>
+
+  <variablelist>
+   <varlistentry>
+    <term><literal>void * <parameter>plan</parameter></literal></term>
+    <listitem>
+     <para>
+      pointer to plan to free
+     </para>
+    </listitem>
+   </varlistentry>
+  </variablelist>
+ </refsect1>
+
+ <refsect1>
+  <title>Return Value</title>
+
+  <para>
+   <symbol>SPI_ERROR_ARGUMENT</symbol> if <parameter>plan</parameter>
+   is <symbol>NULL</symbol>.
+  </para>
+ </refsect1>
+</refentry>
+
+ </sect1>
+
+ <sect1 id="spi-visibility">
+  <title>Visibility of Data Changes</title>
+
+  <para>
+   The following two rules govern the visibility of data changes in
+   functions that use SPI (or any other C function):
+
+   <itemizedlist>
+    <listitem>
+     <para>
+      During the execution of an SQL command, any data changes made by
+      the command (or by function called by the command, including
+      trigger functions) are invisible to the command.  For
+      example, in command
 <programlisting>
-   INSERT INTO a SELECT * FROM a
+INSERT INTO a SELECT * FROM a;
 </programlisting>
-   tuples inserted are invisible for SELECT's scan.  In effect, this
-duplicates the database table within itself (subject to unique index
-rules, of course) without recursing.
-</Para>
-
-<Para>
-   Changes made by query Q are visible to queries that are started after
-query Q, no matter whether they are started inside Q (during the execution
-of Q) or after Q is done.
-</Para>
-</Sect1>
-
-<Sect1 id="spi-examples">
-<Title>Examples</Title>
-
-<Para>
-   This example of SPI usage demonstrates the visibility rule.
-   There are more complex examples in src/test/regress/regress.c and
-in contrib/spi.
-</Para>
-
-<Para>
-   This is a very simple example of SPI usage. The procedure execq accepts
-an SQL-query in its first argument and tcount in its second, executes the
-query using SPI_exec and returns the number of tuples for which the query
-executed:
-
-<ProgramListing>
-#include "executor/spi.h"   /* this is what you need to work with SPI */
+      the inserted rows are invisible to the <command>SELECT</command>
+      part.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      Changes made by a command C are visible to all commands that are
+      started after C, no matter whether they are started inside C
+      (during the execution of C) or after C is done.
+     </para>
+    </listitem>
+   </itemizedlist>
+  </para>
+
+  <para>
+   The next section contains an example that illustrates the
+   application of these rules.
+  </para>
+ </sect1>
+
+ <sect1 id="spi-examples">
+  <title>Examples</title>
+
+  <para>
+   This section contains a very simple example of SPI usage. The
+   procedure <function>execq</function> takes an SQL command as its
+   first argument and a row count as its second, executes the command
+   using <function>SPI_exec</function> and returns the number of rows
+   that were processed by the command.  You can find more complex
+   examples for SPI in the source tree in
+   <filename>src/test/regress/regress.c</filename> and in
+   <filename>contrib/spi</filename>.
+  </para>
+
+<programlisting>
+#include "executor/spi.h"
 
 int execq(text *sql, int cnt);
 
 int
 execq(text *sql, int cnt)
 {
-    char *query;
+    char *command;
     int ret;
     int proc;
 
-    /* Convert given TEXT object to a C string */
-    query = DatumGetCString(DirectFunctionCall1(textout,
-                                                PointerGetDatum(sql)));
+    /* Convert given text object to a C string */
+    command = DatumGetCString(DirectFunctionCall1(textout,
+                                                  PointerGetDatum(sql)));
 
     SPI_connect();
     
-    ret = SPI_exec(query, cnt);
+    ret = SPI_exec(command, cnt);
     
     proc = SPI_processed;
     /*
-     * If this is SELECT and some tuple(s) fetched -
-     * returns tuples to the caller via elog (INFO).
+     * If this is a SELECT and some rows were fetched,
+     * then the rows are printed via elog(INFO).
      */
-    if ( ret == SPI_OK_SELECT && SPI_processed > 0 )
+    if (ret == SPI_OK_SELECT && SPI_processed > 0)
     {
         TupleDesc tupdesc = SPI_tuptable->tupdesc;
         SPITupleTable *tuptable = SPI_tuptable;
         char buf[8192];
-        int i,j;
+        int i, j;
         
         for (j = 0; j < proc; j++)
         {
             HeapTuple tuple = tuptable->vals[j];
             
             for (i = 1, buf[0] = 0; i <= tupdesc->natts; i++)
-                snprintf(buf + strlen (buf), sizeof(buf) - strlen(buf)," %s%s",
+                snprintf(buf + strlen (buf), sizeof(buf) - strlen(buf), " %s%s",
                         SPI_getvalue(tuple, tupdesc, i),
                         (i == tupdesc->natts) ? " " : " |");
             elog (INFO, "EXECQ: %s", buf);
@@ -3823,99 +2464,105 @@ execq(text *sql, int cnt)
     }
 
     SPI_finish();
-
-    pfree(query);
+    pfree(command);
 
     return (proc);
 }
-</ProgramListing>
-</Para>
+</programlisting>
+
+  <para>
+   (This function uses call convention version 0, to make the example
+   easier to understand.  In real applications you should user the new
+   version 1 interface.)
+  </para>
 
-<Para>
-   Now, compile and create the function:
+  <para>
+   This is how you declare the function after having compiled it into
+   a shared library:
 
-<ProgramListing>
-CREATE FUNCTION execq (text, integer) RETURNS integer
-    AS '...path_to_so'
+<programlisting>
+CREATE FUNCTION execq(text, integer) RETURNS integer
+    AS '<replaceable>filename</replaceable>'
     LANGUAGE C;
-</ProgramListing>
+</programlisting>
+  </para>
+
+  <para>
+   Here is a sample session:
 
-<ProgramListing>
-vac=> SELECT execq('CREATE TABLE a (x INTEGER)', 0);
-execq
------
-    0
+<programlisting>
+=> SELECT execq('CREATE TABLE a (x integer)', 0);
+ execq
+-------
+     0
 (1 row)
 
-vac=> INSERT INTO a VALUES (execq('INSERT INTO a VALUES (0)',0));
+=> INSERT INTO a VALUES (execq('INSERT INTO a VALUES (0)', 0));
 INSERT 167631 1
-vac=> SELECT execq('SELECT * FROM a',0);
-INFO:  EXECQ:  0 <<< inserted by execq
-
-INFO:  EXECQ:  1 <<< value returned by execq and inserted by upper INSERT
+=> SELECT execq('SELECT * FROM a', 0);
+INFO:  EXECQ:  0    -- inserted by execq
+INFO:  EXECQ:  1    -- returned by execq and inserted by upper INSERT
 
-execq
------
-    2
+ execq
+-------
+     2
 (1 row)
 
-vac=> SELECT execq('INSERT INTO a SELECT x + 2 FROM a',1);
-execq
------
-    1
+=> SELECT execq('INSERT INTO a SELECT x + 2 FROM a', 1);
+ execq
+-------
+     1
 (1 row)
 
-vac=> SELECT execq('SELECT * FROM a', 10);
-INFO:  EXECQ:  0 
+=> SELECT execq('SELECT * FROM a', 10);
+INFO:  EXECQ:  0
+INFO:  EXECQ:  1
+INFO:  EXECQ:  2    -- 0 + 2, only one row inserted - as specified
 
-INFO:  EXECQ:  1 
-
-INFO:  EXECQ:  2 <<< 0 + 2, only one tuple inserted - as specified
-
-execq
------
-    3            <<< 10 is max value only, 3 is real # of tuples
+ execq
+-------
+     3              -- 10 is the max value only, 3 is the real number of rows
 (1 row)
 
-vac=> DELETE FROM a;
+=> DELETE FROM a;
 DELETE 3
-vac=> INSERT INTO a VALUES (execq('SELECT * FROM a', 0) + 1);
+=> INSERT INTO a VALUES (execq('SELECT * FROM a', 0) + 1);
 INSERT 167712 1
-vac=> SELECT * FROM a;
-x
--
-1                <<< no tuples in a (0) + 1
+=> SELECT * FROM a;
+ x
+---
+ 1                  -- no rows in a (0) + 1
 (1 row)
 
-vac=> INSERT INTO a VALUES (execq('SELECT * FROM a', 0) + 1);
-INFO:  EXECQ:  0 
+=> INSERT INTO a VALUES (execq('SELECT * FROM a', 0) + 1);
+INFO:  EXECQ:  0
 INSERT 167713 1
-vac=> SELECT * FROM a;
-x
--
-1
-2                <<< there was single tuple in a + 1
+=> SELECT * FROM a;
+ x
+---
+ 1
+ 2                  -- there was one row in a + 1
 (2 rows)
 
---   This demonstrates data changes visibility rule:
+-- This demonstrates the data changes visibility rule:
 
-vac=> INSERT INTO a SELECT execq('SELECT * FROM a', 0) * x FROM a;
-INFO:  EXECQ:  1 
-INFO:  EXECQ:  2 
-INFO:  EXECQ:  1 
-INFO:  EXECQ:  2 
-INFO:  EXECQ:  2 
+=> INSERT INTO a SELECT execq('SELECT * FROM a', 0) * x FROM a;
+INFO:  EXECQ:  1
+INFO:  EXECQ:  2
+INFO:  EXECQ:  1
+INFO:  EXECQ:  2
+INFO:  EXECQ:  2
 INSERT 0 2
-vac=> SELECT * FROM a;
-x
--
-1
-2
-2                <<< 2 tuples * 1 (x in first tuple)
-6                <<< 3 tuples (2 + 1 just inserted) * 2 (x in second tuple)
-(4 rows)             ^^^^^^^^ 
-                     tuples visible to execq() in different invocations
-</ProgramListing>
-</Para>
-</Sect1>
-</Chapter>
+=> SELECT * FROM a;
+ x
+---
+ 1
+ 2
+ 2                  -- 2 rows * 1 (x in first row)
+ 6                  -- 3 rows (2 + 1 just inserted) * 2 (x in second row)
+(4 rows)               ^^^^^^ 
+                       rows visible to execq() in different invocations
+</programlisting>
+  </para>
+ </sect1>
+</chapter>
index caba7d9a2347644aa8ba6644e2d19a2654758735..4ca2d4811b946854c25dc9398f553eab0c226f0f 100644 (file)
@@ -26,6 +26,10 @@ $Header$
  <sect1 id="sql-syntax-lexical">
   <title>Lexical Structure</title>
 
+  <indexterm>
+   <primary>token</primary>
+  </indexterm>
+
   <para>
    SQL input consists of a sequence of
    <firstterm>commands</firstterm>.  A command is composed of a
@@ -80,12 +84,18 @@ INSERT INTO MY_TABLE VALUES (3, 'hi there');
    <title>Identifiers and Key Words</title>
 
    <indexterm zone="sql-syntax-identifiers">
-    <primary>identifiers</primary>
+    <primary>identifier</primary>
+    <secondary>syntax of</secondary>
    </indexterm>
 
    <indexterm zone="sql-syntax-identifiers">
-    <primary>key words</primary>
-    <secondary>syntax</secondary>
+    <primary>name</primary>
+    <secondary>syntax of</secondary>
+   </indexterm>
+
+   <indexterm zone="sql-syntax-identifiers">
+    <primary>key word</primary>
+    <secondary>syntax of</secondary>
    </indexterm>
 
    <para>
@@ -121,6 +131,7 @@ INSERT INTO MY_TABLE VALUES (3, 'hi there');
    </para>
 
    <para>
+    <indexterm><primary>identifier</primary><secondary>length</secondary></indexterm>
     The system uses no more than <symbol>NAMEDATALEN</symbol>-1
     characters of an identifier; longer names can be written in
     commands, but they will be truncated.  By default,
@@ -133,7 +144,7 @@ INSERT INTO MY_TABLE VALUES (3, 'hi there');
    <para>
     <indexterm>
      <primary>case sensitivity</primary>
-     <secondary>SQL commands</secondary>
+     <secondary>of SQL commands</secondary>
     </indexterm>
     Identifier and key word names are case insensitive.  Therefore
 <programlisting>
@@ -152,7 +163,7 @@ UPDATE my_table SET a = 5;
 
    <para>
     <indexterm>
-     <primary>quotes</primary>
+     <primary>quotation marks</primary>
      <secondary>and identifiers</secondary>
     </indexterm>
     There is a second kind of identifier:  the <firstterm>delimited
@@ -207,7 +218,7 @@ UPDATE "my_table" SET "a" = 5;
    <title>Constants</title>
 
    <indexterm zone="sql-syntax-constants">
-    <primary>constants</primary>
+    <primary>constant</primary>
    </indexterm>
 
    <para>
@@ -224,13 +235,13 @@ UPDATE "my_table" SET "a" = 5;
     <title>String Constants</title>
 
     <indexterm zone="sql-syntax-strings">
-     <primary>character strings</primary>
-     <secondary>constants</secondary>
+     <primary>character string</primary>
+     <secondary>constant</secondary>
     </indexterm>
 
     <para>
      <indexterm>
-      <primary>quotes</primary>
+      <primary>quotation marks</primary>
       <secondary>escaping</secondary>
      </indexterm>
      A string constant in SQL is an arbitrary sequence of characters
@@ -286,8 +297,8 @@ SELECT 'foo'      'bar';
     <title>Bit-String Constants</title>
 
     <indexterm zone="sql-syntax-bit-strings">
-     <primary>bit strings</primary>
-     <secondary>constants</secondary>
+     <primary>bit string</primary>
+     <secondary>constant</secondary>
     </indexterm>
 
     <para>
@@ -316,8 +327,8 @@ SELECT 'foo'      'bar';
     <title>Numeric Constants</title>
 
     <indexterm>
-     <primary>numeric</primary>
-     <secondary>constants</secondary>
+     <primary>number</primary>
+     <secondary>constant</secondary>
     </indexterm>
 
     <para>
@@ -351,6 +362,9 @@ SELECT 'foo'      'bar';
     </para>
 
     <para>
+     <indexterm><primary>integer</primary></indexterm>
+     <indexterm><primary>bigint</primary></indexterm>
+     <indexterm><primary>numeric</primary></indexterm>
      A numeric constant that contains neither a decimal point nor an
      exponent is initially presumed to be type <type>integer</> if its
      value fits in type <type>integer</> (32 bits); otherwise it is
@@ -363,13 +377,13 @@ SELECT 'foo'      'bar';
 
     <para>
      The initially assigned data type of a numeric constant is just a
-     starting point for the type resolution algorithms.  In most
-     cases the constant will be automatically coerced to the most
-     appropriate type depending on context.  When necessary, you
-     can force a numeric value to be interpreted as a specific
-     data type by casting it.  For example, you can force a numeric
-     value to be treated as type <type>real</> (<type>float4</>)
-     by writing
+     starting point for the type resolution algorithms.  In most cases
+     the constant will be automatically coerced to the most
+     appropriate type depending on context.  When necessary, you can
+     force a numeric value to be interpreted as a specific data type
+     by casting it.<indexterm><primary>type cast</primary></indexterm>
+     For example, you can force a numeric value to be treated as type
+     <type>real</> (<type>float4</>) by writing
 
 <programlisting>
 REAL '1.23'  -- string style
@@ -382,8 +396,8 @@ REAL '1.23'  -- string style
     <title>Constants of Other Types</title>
 
     <indexterm>
-     <primary>data types</primary>
-     <secondary>constants</secondary>
+     <primary>data type</primary>
+     <secondary>constant</secondary>
     </indexterm>
 
     <para>
@@ -431,8 +445,8 @@ CAST ( '<replaceable>string</replaceable>' AS <replaceable>type</replaceable> )
     <title>Array constants</title>
 
     <indexterm>
-     <primary>arrays</primary>
-     <secondary>constants</secondary>
+     <primary>array</primary>
+     <secondary>constant</secondary>
     </indexterm>
 
     <para>
@@ -468,7 +482,7 @@ CAST ( '<replaceable>string</replaceable>' AS <replaceable>type</replaceable> )
    <title>Operators</title>
 
    <indexterm zone="sql-syntax-operators">
-    <primary>operators</primary>
+    <primary>operator</primary>
     <secondary>syntax</secondary>
    </indexterm>
 
@@ -600,8 +614,8 @@ CAST ( '<replaceable>string</replaceable>' AS <replaceable>type</replaceable> )
    <title>Comments</title>
 
    <indexterm zone="sql-syntax-comments">
-    <primary>comments</primary>
-    <secondary>in SQL</secondary>
+    <primary>comment</primary>
+    <secondary sortas="SQL">in SQL</secondary>
    </indexterm>
 
    <para>
@@ -636,7 +650,7 @@ CAST ( '<replaceable>string</replaceable>' AS <replaceable>type</replaceable> )
    <title>Lexical Precedence</title>
 
    <indexterm zone="sql-precedence">
-    <primary>operators</primary>
+    <primary>operator</primary>
     <secondary>precedence</secondary>
    </indexterm>
 
@@ -828,6 +842,20 @@ SELECT 3 OPERATOR(pg_catalog.+) 4;
  <sect1 id="sql-expressions">
   <title>Value Expressions</title>
 
+  <indexterm zone="sql-expressions">
+   <primary>expression</primary>
+   <secondary>syntax</secondary>
+  </indexterm>
+
+  <indexterm zone="sql-expressions">
+   <primary>value expression</primary>
+  </indexterm>
+
+  <indexterm>
+   <primary>scalar</primary>
+   <see>expression</see>
+  </indexterm>
+
   <para>
    Value expressions are used in a variety of contexts, such
    as in the target list of the <command>SELECT</command> command, as
@@ -903,7 +931,9 @@ SELECT 3 OPERATOR(pg_catalog.+) 4;
 
     <listitem>
      <para>
-      Another value expression in parentheses, useful to group subexpressions and override precedence.
+      Another value expression in parentheses, useful to group
+      subexpressions and override
+      precedence.<indexterm><primary>parenthesis</></>
      </para>
     </listitem>
    </itemizedlist>
@@ -927,6 +957,10 @@ SELECT 3 OPERATOR(pg_catalog.+) 4;
   <sect2>
    <title>Column References</title>
 
+   <indexterm>
+    <primary>column reference</primary>
+   </indexterm>
+
    <para>
     A column can be referenced in the form
 <synopsis>
@@ -962,6 +996,15 @@ SELECT 3 OPERATOR(pg_catalog.+) 4;
   <sect2>
    <title>Positional Parameters</title>
 
+   <indexterm>
+    <primary>parameter</primary>
+    <secondary>syntax</secondary>
+   </indexterm>
+
+   <indexterm>
+    <primary>$</primary>
+   </indexterm>
+
    <para>
     A positional parameter reference is used to indicate a value
     that is supplied externally to an SQL statement.  Parameters are
@@ -993,6 +1036,11 @@ CREATE FUNCTION dept(text) RETURNS dept
   <sect2>
    <title>Operator Invocations</title>
 
+   <indexterm>
+    <primary>operator</primary>
+    <secondary>invocation</secondary>
+   </indexterm>
+
    <para>
     There are three possible syntaxes for an operator invocation:
     <simplelist>
@@ -1017,6 +1065,11 @@ CREATE FUNCTION dept(text) RETURNS dept
   <sect2>
    <title>Function Calls</title>
 
+   <indexterm>
+    <primary>function</primary>
+    <secondary>invocation</secondary>
+   </indexterm>
+
    <para>
     The syntax for a function call is the name of a function
     (possibly qualified with a schema name), followed by its argument list
@@ -1044,7 +1097,8 @@ sqrt(2)
    <title>Aggregate Expressions</title>
 
    <indexterm zone="syntax-aggregates">
-    <primary>aggregate functions</primary>
+    <primary>aggregate function</primary>
+    <secondary>invocation</secondary>
    </indexterm>
 
    <para>
@@ -1123,10 +1177,14 @@ sqrt(2)
   <sect2 id="sql-syntax-type-casts">
    <title>Type Casts</title>
 
-    <indexterm>
-     <primary>data types</primary>
-     <secondary>type casts</secondary>
-    </indexterm>
+   <indexterm>
+    <primary>data type</primary>
+    <secondary>type cast</secondary>
+   </indexterm>
+
+   <indexterm>
+    <primary>type cast</primary>
+   </indexterm>
 
    <para>
     A type cast specifies a conversion from one data type to another.
@@ -1193,6 +1251,10 @@ CAST ( <replaceable>expression</replaceable> AS <replaceable>type</replaceable>
   <sect2 id="sql-syntax-scalar-subqueries">
    <title>Scalar Subqueries</title>
 
+   <indexterm>
+    <primary>subquery</primary>
+   </indexterm>
+
    <para>
     A scalar subquery is an ordinary
     <command>SELECT</command> query in parentheses that returns exactly one
@@ -1221,10 +1283,10 @@ SELECT name, (SELECT max(pop) FROM cities WHERE cities.state = states.name)
   <sect2 id="sql-syntax-array-constructors">
    <title>Array Constructors</title>
 
-    <indexterm>
-     <primary>arrays</primary>
-     <secondary>constructors</secondary>
-    </indexterm>
+   <indexterm>
+    <primary>array</primary>
+    <secondary>constructor</secondary>
+   </indexterm>
 
    <para>
     An <firstterm>array constructor</> is an expression that builds an
@@ -1270,6 +1332,23 @@ SELECT ARRAY[[1,2],[3,4]];
     at the same level must produce sub-arrays of identical dimensions.
   </para>
 
+  <para>
+    Multidimensional array constructor elements can be anything yielding
+    an array of the proper kind, not only a sub-<literal>ARRAY</> construct.
+    For example:
+<programlisting>
+create table arr(f1 int[], f2 int[]);
+CREATE TABLE
+insert into arr values (ARRAY[[1,2],[3,4]],ARRAY[[5,6],[7,8]]);
+INSERT 2635544 1
+select ARRAY[f1, f2, '{{9,10},{11,12}}'::int[]] from arr;
+                     array
+------------------------------------------------
+ {{{1,2},{3,4}},{{5,6},{7,8}},{{9,10},{11,12}}}
+(1 row)
+</programlisting>
+  </para>
+
   <para>
    It is also possible to construct an array from the results of a
    subquery.  In this form, the array constructor is written with the
@@ -1299,6 +1378,11 @@ SELECT ARRAY(SELECT oid FROM pg_proc WHERE proname LIKE 'bytea%');
   <sect2 id="syntax-express-eval">
    <title>Expression Evaluation Rules</title>
 
+   <indexterm>
+    <primary>expression</primary>
+    <secondary>order of evaluation</secondary>
+   </indexterm>
+
    <para>
     The order of evaluation of subexpressions is not defined.  In
     particular, the inputs of an operator or function are not necessarily
index 5a93ef9a08454dfc78adcf18bafbad1957252223..cd05ffcdb95c527aa5188e5d449149b73e74568c 100644 (file)
@@ -5,6 +5,10 @@ $Header$
  <chapter id="triggers">
   <title>Triggers</title>
 
+  <indexterm zone="triggers">
+   <primary>trigger</primary>
+  </indexterm>
+
   <para>
    This chapter describes how to write trigger functions.  In
    particular, it describes the C-language interface for trigger
@@ -98,18 +102,20 @@ $Header$
 
    <para>
     When a trigger is being defined, arguments can be specified for
-    it.  The purpose of including arguments in the trigger definition
-    is to allow different triggers with similar requirements to call
-    the same function.  As an example, there could be a generalized
-    trigger function that takes as its arguments two column names and
-    puts the current user in one and the current time stamp in the
-    other.  Properly written, this trigger function would be
-    independent of the specific table it is triggering on.  So the
-    same function could be used for <command>INSERT</command> events
-    on any table with suitable columns, to automatically track creation
-    of records in a transaction table for example. It could also be
-    used to track last-update events if defined as an
-    <command>UPDATE</command> trigger.
+    it.<indexterm><primary>trigger</><secondary>arguments for trigger
+    functions</></indexterm> The purpose of including arguments in the
+    trigger definition is to allow different triggers with similar
+    requirements to call the same function.  As an example, there
+    could be a generalized trigger function that takes as its
+    arguments two column names and puts the current user in one and
+    the current time stamp in the other.  Properly written, this
+    trigger function would be independent of the specific table it is
+    triggering on.  So the same function could be used for
+    <command>INSERT</command> events on any table with suitable
+    columns, to automatically track creation of records in a
+    transaction table for example. It could also be used to track
+    last-update events if defined as an <command>UPDATE</command>
+    trigger.
    </para>
 
   </sect1>
@@ -117,6 +123,11 @@ $Header$
   <sect1 id="trigger-manager">
    <title>Interaction with the Trigger Manager</title>
 
+   <indexterm zone="trigger-manager">
+    <primary>trigger</primary>
+    <secondary>in C</secondary>
+   </indexterm>
+
    <para>
     This section describes the low-level details of the interface to a
     trigger function.  This information is only needed when writing a
index 64da2b40d53b309e9ca81fb65dcaba6dfffd57bc..189fafd681df6a8e7d3a595ce8773bc52d2ed954 100644 (file)
@@ -5,6 +5,11 @@ $Header$
 <chapter Id="typeconv">
 <title>Type Conversion</title>
 
+<indexterm zone="typeconv">
+ <primary>data type</primary>
+ <secondary>conversion</secondary>
+</indexterm>
+
 <para>
 <acronym>SQL</acronym> statements can, intentionally or not, require
 mixing of different data types in the same expression. 
@@ -139,6 +144,11 @@ between the built-in types has been carefully crafted and is best not
 altered.)
 </para>
 
+<indexterm>
+ <primary>data type</primary>
+ <secondary>category</secondary>
+</indexterm>
+
 <para>
 An additional heuristic is provided in the parser to allow better guesses
 at proper behavior for <acronym>SQL</acronym> standard types. There are
@@ -204,6 +214,11 @@ should use this new function and will no longer do the implicit conversion using
 <sect1 id="typeconv-oper">
 <title>Operators</title>
 
+<indexterm zone="typeconv-oper">
+ <primary>operator</primary>
+ <secondary>type resolution in an invocation</secondary>
+</indexterm>
+
   <para>
    The specific operator to be used in an operator invocation is determined
    by following
@@ -452,6 +467,11 @@ SELECT CAST('20' AS int8) ! AS "factorial";
 <sect1 id="typeconv-func">
 <title>Functions</title>
 
+<indexterm zone="typeconv-func">
+ <primary>function</primary>
+ <secondary>type resolution in an invocation</secondary>
+</indexterm>
+
   <para>
    The specific function to be used in a function invocation is determined
    according to the following steps.
@@ -755,8 +775,22 @@ padding spaces.
 </sect1>
 
 <sect1 id="typeconv-union-case">
-<title><literal>UNION</literal>, <literal>CASE</literal>, and
-<literal>ARRAY</literal> Constructs</title>
+<title><literal>UNION</literal>, <literal>CASE</literal>, and <literal>ARRAY</literal> Constructs</title>
+
+<indexterm zone="typeconv-union-case">
+ <primary>UNION</primary>
+ <secondary>determination of result type</secondary>
+</indexterm>
+
+<indexterm zone="typeconv-union-case">
+ <primary>CASE</primary>
+ <secondary>determination of result type</secondary>
+</indexterm>
+
+<indexterm zone="typeconv-union-case">
+ <primary>ARRAY</primary>
+ <secondary>determination of result type</secondary>
+</indexterm>
 
 <para>
 SQL <literal>UNION</> constructs must match up possibly dissimilar types to
index fc4ee42865823ee12c89f0f3f7b01ace1a8ff309..307313a35ecf853dad6377ff51267f082e4397ee 100644 (file)
@@ -22,6 +22,18 @@ $Header$
  <sect1 id="database-users">
   <title>Database Users</title>
 
+  <indexterm zone="database-users">
+   <primary>user</primary>
+  </indexterm>
+
+  <indexterm>
+   <primary>CREATE USER</primary>
+  </indexterm>
+
+  <indexterm>
+   <primary>DROP USER</primary>
+  </indexterm>
+
   <para>
    Database users are conceptually completely separate from
    operating system users. In practice it might be convenient to
@@ -41,6 +53,14 @@ DROP USER <replaceable>name</replaceable>;
 </synopsis>
   </para>
 
+  <indexterm>
+   <primary>createuser</primary>
+  </indexterm>
+
+  <indexterm>
+   <primary>dropuser</primary>
+  </indexterm>
+
   <para>
    For convenience, the programs <command>createuser</command>
    and <command>dropuser</command> are provided as wrappers
@@ -99,7 +119,7 @@ dropuser <replaceable>name</replaceable>
 
     <variablelist>
      <varlistentry>
-      <term>superuser</term>
+      <term>superuser<indexterm><primary>superuser</></></term>
       <listitem>
        <para>
         A database superuser bypasses all permission checks. Also,
@@ -111,7 +131,7 @@ dropuser <replaceable>name</replaceable>
      </varlistentry>
 
      <varlistentry>
-      <term>database creation</term>
+      <term>database creation<indexterm><primary>database</><secondary>privilege to create</></></term>
       <listitem>
        <para>
         A user must be explicitly given permission to create databases
@@ -123,7 +143,7 @@ dropuser <replaceable>name</replaceable>
      </varlistentry>
 
      <varlistentry>
-      <term>password</term>
+      <term>password<indexterm><primary>password</></></term>
       <listitem>
        <para>
         A password is only significant if the client authentication
@@ -140,7 +160,7 @@ dropuser <replaceable>name</replaceable>
     </variablelist>
 
     A user's attributes can be modified after creation with
-    <command>ALTER USER</command>.
+    <command>ALTER USER</command>.<indexterm><primary>ALTER USER</></>
     See the reference pages for <command>CREATE USER</command> and
     <command>ALTER USER</command> for details.
    </para>
@@ -166,6 +186,10 @@ ALTER USER myname SET enable_indexscan TO off;
  <sect1 id="groups">
   <title>Groups</title>
 
+  <indexterm zone="groups">
+   <primary>group</primary>
+  </indexterm>
+
   <para>
    As in Unix, groups are a way of logically grouping users to ease
    management of privileges: privileges can be granted to, or revoked
@@ -184,6 +208,22 @@ ALTER GROUP <replaceable>name</replaceable> DROP USER <replaceable>uname1</repla
  <sect1 id="privileges">
   <title>Privileges</title>
 
+  <indexterm zone="privileges">
+   <primary>privilege</primary>
+  </indexterm>
+
+  <indexterm zone="privileges">
+   <primary>owner</primary>
+  </indexterm>
+
+  <indexterm zone="privileges">
+   <primary>GRANT</primary>
+  </indexterm>
+
+  <indexterm zone="privileges">
+   <primary>REVOKE</primary>
+  </indexterm>
+
   <comment>Being moved to the DDL chapter.  Will eventually disappear here.</comment>
 
   <para>
index 238f371800a4635dd521a4076ca78c404a8280bf..536e308f25627c9956c3eaa44428810631dab54c 100644 (file)
@@ -3,6 +3,15 @@
 <chapter id="wal">
  <title>Write-Ahead Logging (<acronym>WAL</acronym>)</title>
 
+ <indexterm zone="wal">
+  <primary>WAL</primary>
+ </indexterm>
+
+ <indexterm>
+  <primary>transaction log</primary>
+  <see>WAL</see>
+ </indexterm>
+
   <para>
    <firstterm>Write-Ahead Logging</firstterm> (<acronym>WAL</acronym>)
    is a standard approach to transaction logging.  Its detailed
   <sect1 id="wal-benefits-now">
    <title>Benefits of <acronym>WAL</acronym></title>
 
+   <indexterm zone="wal-benefits-now">
+    <primary>fsync</primary>
+   </indexterm>
+
    <para>
     The first obvious benefit of using <acronym>WAL</acronym> is a
     significantly reduced number of disk writes, since only the log
@@ -86,7 +99,7 @@
 
    <para>
     With UNDO, it will also be possible to implement
-    <firstterm>savepoints</firstterm> to allow partial rollback of
+    <firstterm>savepoints</firstterm><indexterm><primary>savepoint</></> to allow partial rollback of
     invalid transaction operations (parser errors caused by mistyping
     commands, insertion of duplicate primary/unique keys and so on)
     with the ability to continue or commit valid operations made by
   </para>
 
   <para>
-   <firstterm>Checkpoints</firstterm> are points in the sequence of
+   <firstterm>Checkpoints</firstterm><indexterm><primary>checkpoint</></> are points in the sequence of
    transactions at which it is guaranteed that the data files have
    been updated with all information logged before the checkpoint.  At
    checkpoint time, all dirty data pages are flushed to disk and a
   <para>
    The aim of <acronym>WAL</acronym>, to ensure that the log is
    written before database records are altered, may be subverted by
-   disk drives that falsely report a successful write to the kernel,
+   disk drives<indexterm><primary>disk drive</></> that falsely report a successful write to the kernel,
    when, in fact, they have only cached the data and not yet stored it
    on the disk.  A power failure in such a situation may still lead to
    irrecoverable data corruption.  Administrators should try to ensure
index bed95ea346cbc0db0b297710ccfa2aa001731e20..9bca6f7e1533678ae9c420b51b804a17e8fbcb37 100644 (file)
@@ -6,8 +6,8 @@ $Header$
   <title>User-Defined Aggregates</title>
 
   <indexterm zone="xaggr">
-   <primary>aggregate functions</primary>
-   <secondary>extending</secondary>
+   <primary>aggregate function</primary>
+   <secondary>user-defined</secondary>
   </indexterm>
 
   <para>
@@ -115,7 +115,7 @@ CREATE AGGREGATE avg (
    Aggregate functions may use polymorphic
    state transition functions or final functions, so that the same functions
    can be used to implement multiple aggregates.
-   See <xref linkend="types-polymorphic">
+   See <xref linkend="extend-types-polymorphic">
    for an explanation of polymorphic functions.
    Going a step further, the aggregate function itself may be specified
    with a polymorphic base type and state type, allowing a single
index ab36762c8a23cbe3c5f4903f529984d44d3c9e62..e16f1b0efa29f923d80ce3fc765edcb5ea48f8ed 100644 (file)
@@ -5,7 +5,10 @@ $Header$
  <sect1 id="xfunc">
   <title>User-Defined Functions</title>
 
-  <indexterm zone="xfunc"><primary>function</></>
+  <indexterm zone="xfunc">
+   <primary>function</primary>
+   <secondary>user-defined</secondary>
+  </indexterm>
 
   <para>
    <productname>PostgreSQL</productname> provides four kinds of
@@ -70,7 +73,11 @@ $Header$
   <sect1 id="xfunc-sql">
    <title>Query Language (<acronym>SQL</acronym>) Functions</title>
 
-   <indexterm zone="xfunc-sql"><primary>function</><secondary>SQL</></>
+   <indexterm zone="xfunc-sql">
+    <primary>function</primary>
+    <secondary>user-defined</secondary>
+    <tertiary>in SQL</tertiary>
+   </indexterm>
 
    <para>
     SQL functions execute an arbitrary list of SQL statements, returning
@@ -84,12 +91,12 @@ $Header$
    </para>
 
    <para>
-    <indexterm><primary>SETOF</><seealso>function</></>
-    Alternatively, an SQL function may be declared to return a set,
-    by specifying the function's return type
-    as <literal>SETOF <replaceable>sometype</></literal>.  In this case
-    all rows of the last query's result are returned.  Further details
-    appear below.
+    <indexterm><primary>SETOF</><seealso>function</></> Alternatively,
+    an SQL function may be declared to return a set, by specifying the
+    function's return type as <literal>SETOF
+    <replaceable>sometype</></literal>.<indexterm><primary>SETOF</></>
+    In this case all rows of the last query's result are returned.
+    Further details appear below.
    </para>
 
    <para>
@@ -523,7 +530,7 @@ SELECT name, listchildren(name) FROM nodes;
      <acronym>SQL</acronym> functions may be declared to accept and
      return the <quote>polymorphic</> types
      <type>anyelement</type> and <type>anyarray</type>.
-     See <xref linkend="types-polymorphic"> for a more detailed explanation
+     See <xref linkend="extend-types-polymorphic"> for a more detailed explanation
      of polymorphic functions. Here is a polymorphic function
      <function>make_array</function> that builds up an array from two
      arbitrary data type elements:
@@ -644,6 +651,12 @@ CREATE FUNCTION square_root(double precision) RETURNS double precision
   <sect1 id="xfunc-c">
    <title>C-Language Functions</title>
 
+   <indexterm zone="xfunc-sql">
+    <primary>function</primary>
+    <secondary>user-defined</secondary>
+    <tertiary>in C</tertiary>
+   </indexterm>
+
    <para>
     User-defined functions can be written in C (or a language that can
     be made compatible with C, such as C++).  Such functions are
@@ -670,6 +683,10 @@ CREATE FUNCTION square_root(double precision) RETURNS double precision
   <sect2 id="xfunc-c-dynload">
    <title>Dynamic Loading</title>
 
+   <indexterm zone="xfunc-c-dynload">
+    <primary>dynamic loading</primary>
+   </indexterm>
+
    <para>
     The first time a user-defined function in a particular
     loadable object file is called in a session,
@@ -787,9 +804,14 @@ CREATE FUNCTION square_root(double precision) RETURNS double precision
 
   </sect2>
 
-   <sect2>
+   <sect2 id="xfunc-c-basetype">
     <title>Base Types in C-Language Functions</title>
 
+    <indexterm zone="xfunc-c-basetype">
+     <primary>data type</primary>
+     <secondary>internal organisation</secondary>
+    </indexterm>
+
     <para>
      To know how to write C-language functions, you need to know how
      PostgreSQL internally represents base data types and how they can
@@ -1479,7 +1501,7 @@ concat_text(PG_FUNCTION_ARGS)
       <listitem>
        <para>
         Use <literal>pg_config
-        --includedir-server</literal><indexterm><primary>pg_config</></>
+        --includedir-server</literal><indexterm><primary>pg_config</><secondary>with user-defined C functions</></>
         to find out where the <productname>PostgreSQL</> server header
         files are installed on your system (or the system that your
         users will be running on).  This option is new with
@@ -1498,7 +1520,7 @@ concat_text(PG_FUNCTION_ARGS)
        <para>
         When allocating memory, use the
         <productname>PostgreSQL</productname> functions
-        <function>palloc</function> and <function>pfree</function>
+        <function>palloc</function><indexterm><primary>palloc</></> and <function>pfree</function><indexterm><primary>pfree</></>
         instead of the corresponding C library functions
         <function>malloc</function> and <function>free</function>.
         The memory allocated by <function>palloc</function> will be
@@ -2075,7 +2097,7 @@ CREATE OR REPLACE FUNCTION testpassbyval(integer, integer) RETURNS SETOF __testp
      C-language functions may be declared to accept and
      return the <quote>polymorphic</> types
      <type>anyelement</type> and <type>anyarray</type>.
-     See <xref linkend="types-polymorphic"> for a more detailed explanation
+     See <xref linkend="extend-types-polymorphic"> for a more detailed explanation
      of polymorphic functions. When function arguments or return types
      are defined as polymorphic types, the function author cannot know
      in advance what data type it will be called with, or
@@ -2155,7 +2177,10 @@ CREATE FUNCTION make_array(anyelement)
   <sect1 id="xfunc-overload">
    <title>Function Overloading</title>
 
-   <indexterm zone="xfunc-overload"><primary>overloading</></>
+   <indexterm zone="xfunc-overload">
+    <primary>overloading</primary>
+    <secondary>functions</secondary>
+   </indexterm>
 
    <para>
     More than one function may be defined with the same SQL name, so long
@@ -2216,6 +2241,11 @@ CREATE FUNCTION test(int, int) RETURNS int
   <sect1 id="xfunc-plhandler">
    <title>Procedural Language Handlers</title>
 
+   <indexterm zone="xfunc-plhandler">
+    <primary>procedural language</primary>
+    <secondary>handler for</secondary>
+   </indexterm>
+
    <para>
     All calls to functions that are written in a language other than
     the current <quote>version 1</quote> interface for compiled
index 83a6821692b83d134208c9cfb9e918a019a354a1..d7c58fb3d30e9ac6d4e76946fddccc9381db625b 100644 (file)
@@ -5,6 +5,11 @@ $Header$
 <sect1 id="xindex">
  <title>Interfacing Extensions To Indexes</title>
 
+ <indexterm zone="xindex">
+  <primary>index</primary>
+  <secondary>for user-defined data type</secondary>
+ </indexterm>
+
   <para>
    The procedures described thus far let you define new types, new
    functions, and new operators. However, we cannot yet define an
@@ -43,15 +48,18 @@ $Header$
 
   <para>
    The routines for an index method do not directly know anything
-   about the data types that the index method will operate on.  Instead, an
-   <firstterm>operator class</> identifies the set of operations that the
-   index method needs to use to work with a particular data type.
-   Operator classes are so called because one thing they specify is the set
-   of <literal>WHERE</>-clause operators that can be used with an index (i.e., can be
-   converted into an index-scan qualification).  An operator class may also
-   specify some <firstterm>support procedures</> that are needed by the
-   internal operations of the index method, but do not directly
-   correspond to any <literal>WHERE</>-clause operator that can be used with the index.
+   about the data types that the index method will operate on.
+   Instead, an <firstterm>operator
+   class</><indexterm><primary>operator class</></indexterm>
+   identifies the set of operations that the index method needs to use
+   to work with a particular data type.  Operator classes are so
+   called because one thing they specify is the set of
+   <literal>WHERE</>-clause operators that can be used with an index
+   (i.e., can be converted into an index-scan qualification).  An
+   operator class may also specify some <firstterm>support
+   procedures</> that are needed by the internal operations of the
+   index method, but do not directly correspond to any
+   <literal>WHERE</>-clause operator that can be used with the index.
   </para>
 
   <para>
@@ -452,7 +460,7 @@ CREATE OPERATOR = (
 </programlisting>
    It is important to specify the restriction and join selectivity
    functions, otherwise the optimizer will be unable to make effective
-   use of the index.  Note that there less-than, equal, and
+   use of the index.  Note that the less-than, equal, and
    greater-than cases should use different selectivity functions.
   </para>
 
@@ -551,13 +559,68 @@ CREATE OPERATOR CLASS complex_abs_ops
   </para>
  </sect2>
 
+ <sect2 id="xindex-opclass-dependencies">
+  <title>System Dependencies on Operator Classes</title>
+
+   <indexterm>
+    <primary>ordering operator</primary>
+   </indexterm>
+
+  <para>
+   <productname>PostgreSQL</productname> uses operator classes to infer the
+   properties of operators in more ways than just whether they can be used
+   with indexes.  Therefore, you might want to create operator classes
+   even if you have no intention of indexing any columns of your datatype.
+  </para>
+
+  <para>
+   In particular, there are SQL features such as <literal>ORDER BY</> and
+   <literal>DISTINCT</> that require comparison and sorting of values.
+   To implement these features on a user-defined datatype,
+   <productname>PostgreSQL</productname> looks for the default B-tree operator
+   class for the datatype.  The <quote>equals</> member of this operator
+   class defines the system's notion of equality of values for
+   <literal>GROUP BY</> and <literal>DISTINCT</>, and the sort ordering
+   imposed by the operator class defines the default <literal>ORDER BY</>
+   ordering.
+  </para>
+
+  <para>
+   Comparison of arrays of user-defined types also relies on the semantics
+   defined by the default B-tree operator class.
+  </para>
+
+  <para>
+   If there is no default B-tree operator class for a datatype, the system
+   will look for a default hash operator class.  But since that kind of
+   operator class only provides equality, in practice it is only enough
+   to support array equality.
+  </para>
+
+  <para>
+   When there is no default operator class for a datatype, you will get
+   errors like <quote>could not identify an ordering operator</> if you
+   try to use these SQL features with the datatype.
+  </para>
+
+   <note>
+    <para>
+     In <ProductName>PostgreSQL</ProductName> versions before 7.4,
+     sorting and grouping operations would implicitly use operators named
+     <literal>=</>, <literal>&lt;</>, and <literal>&gt;</>.  The new
+     behavior of relying on default operator classes avoids having to make
+     any assumption about the behavior of operators with particular names.
+    </para>
+   </note>
+ </sect2>
+
  <sect2 id="xindex-opclass-features">
   <title>Special Features of Operator Classes</title>
 
   <para>
    There are two special features of operator classes that we have
-   not discussed yet, mainly because they are not very useful
-   with the default B-tree index method.
+   not discussed yet, mainly because they are not useful
+   with the most commonly used index methods.
   </para>
 
   <para>
index 508326a8121a8e6f27676282cb4a41173e580a33..d1eda0de016ddc0aea47a0d2f4360eb0ee0a3826 100644 (file)
@@ -5,6 +5,11 @@ $Header$
  <sect1 id="xoper">
   <title>User-defined Operators</title>
 
+  <indexterm zone="xoper">
+   <primary>operator</primary>
+   <secondary>user-defined</secondary>
+  </indexterm>
+
   <Para>
    Every operator is <quote>syntactic sugar</quote> for a call to an
    underlying function that does the real work; so you must
@@ -18,9 +23,10 @@ $Header$
 
   <Para>
    <productname>PostgreSQL</productname> supports left unary, right
-   unary, and binary operators.  Operators can be overloaded; that is,
-   the same operator name can be used for different operators that
-   have different numbers and types of operands.  When a query is
+   unary, and binary operators.  Operators can be
+   overloaded;<indexterm><primary>overloading</primary><secondary>operators</secondary></indexterm>
+   that is, the same operator name can be used for different operators
+   that have different numbers and types of operands.  When a query is
    executed, the system determines the operator to call from the
    number and types of the provided operands.
   </Para>
@@ -471,17 +477,6 @@ table1.column1 OP table2.column2
     </para>
     </note>
 
-    <note>
-    <para>
-     <literal>GROUP BY</> and <literal>DISTINCT</> operations require each
-     datatype being grouped or compared to have a mergejoinable
-     equality operator named <literal>=</>.  The equality operator and its
-     associated <literal>SORT1</> operator are used to implement these
-     operations.  Also, the associated <literal>SORT1</> operator is the
-     default ordering operator for <literal>ORDER BY</>.
-    </para>
-    </note>
-
     <note>
     <para>
      In <ProductName>PostgreSQL</ProductName> versions before 7.3,
index 74859a2ef78b846e070376e366edd13d9b896918..d6d9a543abc1d9927c7379369ba8676032bf9bcf 100644 (file)
@@ -5,6 +5,10 @@ $Header$
  <chapter id="xplang">
   <title id="xplang-title">Procedural Languages</title>
 
+  <indexterm zone="xplang">
+   <primary>procedural language</primary>
+  </indexterm>
+
   <para>
    <productname>PostgreSQL</productname> allows users to add new
    programming languages to be available for writing functions and
index f2791bee9ea3cae7878fe3b6a1986a6653565d28..b876bac0dbfa1b28b42caf6fdd68b545e8e8a37d 100644 (file)
@@ -6,8 +6,8 @@ $Header$
   <title>User-Defined Types</title>
 
   <indexterm zone="xtypes">
-   <primary>data types</primary>
-   <secondary>extending</secondary>
+   <primary>data type</primary>
+   <secondary>user-defined</secondary>
   </indexterm>
 
  <comment>
@@ -34,13 +34,17 @@ $Header$
   <indexterm>
    <primary>output function</primary>
   </indexterm>
-  A user-defined type must always have input and output functions.
+  A user-defined type must always have input and output
+  functions.<indexterm><primary>input function</primary><secondary>of
+  a data type</secondary></indexterm><indexterm><primary>output
+  function</primary><secondary>of a data type</secondary></indexterm>
   These functions determine how the type appears in strings (for input
   by the user and output to the user) and how the type is organized in
   memory.  The input function takes a null-terminated character string
-  as its argument and returns the internal (in memory) representation of
-  the type.  The output function takes the internal representation of
-  the type as argument and returns a null-terminated character string.
+  as its argument and returns the internal (in memory) representation
+  of the type.  The output function takes the internal representation
+  of the type as argument and returns a null-terminated character
+  string.
  </para>
 
  <para>
index fb992995e444208295f494955f2294d2f5b9c0ae..f32e1d6d61d67f6f739cadea7f6636bcb73619f3 100644 (file)
@@ -132,10 +132,7 @@ enable_rpath       = @enable_rpath@
 enable_nls     = @enable_nls@
 enable_debug   = @enable_debug@
 
-python_version         = @python_version@
 python_includespec     = @python_includespec@
-python_moduledir       = @python_moduledir@
-python_moduleexecdir   = @python_moduleexecdir@
 python_libspec         = @python_libspec@
 python_configdir       = @python_configdir@
 
@@ -266,6 +263,9 @@ host_tuple = @host@
 host_os = @host_os@
 host_cpu = @host_cpu@
 
+# Make HAVE_IPV6 available for initdb script creation
+HAVE_IPV6= @HAVE_IPV6@
+
 # The HP-UX port makefile, for one, needs access to this symbol
 HAVE_POSIX_SIGNALS= @HAVE_POSIX_SIGNALS@
 
index d142abdececfe598a9cca977e3f3f987eec8cf50..1ea3cb1f0ea43fe376cc693c04728d0ba0a221e0 100644 (file)
@@ -27,9 +27,6 @@
 #include "miscadmin.h"
 
 
-bool           BuildingHash = false;
-
-
 /* Working state for hashbuild and its callback */
 typedef struct
 {
@@ -61,9 +58,6 @@ hashbuild(PG_FUNCTION_ARGS)
        double          reltuples;
        HashBuildState buildstate;
 
-       /* set flag to disable locking */
-       BuildingHash = true;
-
        /*
         * We expect to be called exactly once for any index relation. If
         * that's not the case, big trouble's what we have.
@@ -82,9 +76,6 @@ hashbuild(PG_FUNCTION_ARGS)
        reltuples = IndexBuildHeapScan(heap, index, indexInfo,
                                                                hashbuildCallback, (void *) &buildstate);
 
-       /* all done */
-       BuildingHash = false;
-
        /*
         * Since we just counted the tuples in the heap, we update its stats
         * in pg_class to guarantee that the planner takes advantage of the
@@ -212,10 +203,18 @@ hashgettuple(PG_FUNCTION_ARGS)
        IndexScanDesc scan = (IndexScanDesc) PG_GETARG_POINTER(0);
        ScanDirection dir = (ScanDirection) PG_GETARG_INT32(1);
        HashScanOpaque so = (HashScanOpaque) scan->opaque;
+       Relation        rel = scan->indexRelation;
        Page            page;
        OffsetNumber offnum;
        bool            res;
 
+       /*
+        * We hold pin but not lock on current buffer while outside the hash AM.
+        * Reacquire the read lock here.
+        */
+       if (BufferIsValid(so->hashso_curbuf))
+               _hash_chgbufaccess(rel, so->hashso_curbuf, HASH_NOLOCK, HASH_READ);
+
        /*
         * If we've already initialized this scan, we can just advance it in
         * the appropriate direction.  If we haven't done so yet, we call a
@@ -267,6 +266,10 @@ hashgettuple(PG_FUNCTION_ARGS)
                }
        }
 
+       /* Release read lock on current buffer, but keep it pinned */
+       if (BufferIsValid(so->hashso_curbuf))
+               _hash_chgbufaccess(rel, so->hashso_curbuf, HASH_READ, HASH_NOLOCK);
+
        PG_RETURN_BOOL(res);
 }
 
@@ -285,6 +288,8 @@ hashbeginscan(PG_FUNCTION_ARGS)
 
        scan = RelationGetIndexScan(rel, keysz, scankey);
        so = (HashScanOpaque) palloc(sizeof(HashScanOpaqueData));
+       so->hashso_bucket_valid = false;
+       so->hashso_bucket_blkno = 0;
        so->hashso_curbuf = so->hashso_mrkbuf = InvalidBuffer;
        scan->opaque = so;
 
@@ -303,28 +308,38 @@ hashrescan(PG_FUNCTION_ARGS)
        IndexScanDesc scan = (IndexScanDesc) PG_GETARG_POINTER(0);
        ScanKey         scankey = (ScanKey) PG_GETARG_POINTER(1);
        HashScanOpaque so = (HashScanOpaque) scan->opaque;
-       ItemPointer iptr;
+       Relation        rel = scan->indexRelation;
 
-       /* we hold a read lock on the current page in the scan */
-       if (ItemPointerIsValid(iptr = &(scan->currentItemData)))
+       /* if we are called from beginscan, so is still NULL */
+       if (so)
        {
-               _hash_relbuf(scan->indexRelation, so->hashso_curbuf, HASH_READ);
+               /* release any pins we still hold */
+               if (BufferIsValid(so->hashso_curbuf))
+                       _hash_dropbuf(rel, so->hashso_curbuf);
                so->hashso_curbuf = InvalidBuffer;
-               ItemPointerSetInvalid(iptr);
-       }
-       if (ItemPointerIsValid(iptr = &(scan->currentMarkData)))
-       {
-               _hash_relbuf(scan->indexRelation, so->hashso_mrkbuf, HASH_READ);
+
+               if (BufferIsValid(so->hashso_mrkbuf))
+                       _hash_dropbuf(rel, so->hashso_mrkbuf);
                so->hashso_mrkbuf = InvalidBuffer;
-               ItemPointerSetInvalid(iptr);
+
+               /* release lock on bucket, too */
+               if (so->hashso_bucket_blkno)
+                       _hash_droplock(rel, so->hashso_bucket_blkno, HASH_SHARE);
+               so->hashso_bucket_blkno = 0;
        }
 
+       /* set positions invalid (this will cause _hash_first call) */
+       ItemPointerSetInvalid(&(scan->currentItemData));
+       ItemPointerSetInvalid(&(scan->currentMarkData));
+
        /* Update scan key, if a new one is given */
        if (scankey && scan->numberOfKeys > 0)
        {
                memmove(scan->keyData,
                                scankey,
                                scan->numberOfKeys * sizeof(ScanKeyData));
+               if (so)
+                       so->hashso_bucket_valid = false;
        }
 
        PG_RETURN_VOID();
@@ -337,32 +352,32 @@ Datum
 hashendscan(PG_FUNCTION_ARGS)
 {
        IndexScanDesc scan = (IndexScanDesc) PG_GETARG_POINTER(0);
-       ItemPointer iptr;
-       HashScanOpaque so;
+       HashScanOpaque so = (HashScanOpaque) scan->opaque;
+       Relation        rel = scan->indexRelation;
 
-       so = (HashScanOpaque) scan->opaque;
+       /* don't need scan registered anymore */
+       _hash_dropscan(scan);
 
-       /* release any locks we still hold */
-       if (ItemPointerIsValid(iptr = &(scan->currentItemData)))
-       {
-               _hash_relbuf(scan->indexRelation, so->hashso_curbuf, HASH_READ);
-               so->hashso_curbuf = InvalidBuffer;
-               ItemPointerSetInvalid(iptr);
-       }
+       /* release any pins we still hold */
+       if (BufferIsValid(so->hashso_curbuf))
+               _hash_dropbuf(rel, so->hashso_curbuf);
+       so->hashso_curbuf = InvalidBuffer;
 
-       if (ItemPointerIsValid(iptr = &(scan->currentMarkData)))
-       {
-               if (BufferIsValid(so->hashso_mrkbuf))
-                       _hash_relbuf(scan->indexRelation, so->hashso_mrkbuf, HASH_READ);
-               so->hashso_mrkbuf = InvalidBuffer;
-               ItemPointerSetInvalid(iptr);
-       }
+       if (BufferIsValid(so->hashso_mrkbuf))
+               _hash_dropbuf(rel, so->hashso_mrkbuf);
+       so->hashso_mrkbuf = InvalidBuffer;
 
-       /* don't need scan registered anymore */
-       _hash_dropscan(scan);
+       /* release lock on bucket, too */
+       if (so->hashso_bucket_blkno)
+               _hash_droplock(rel, so->hashso_bucket_blkno, HASH_SHARE);
+       so->hashso_bucket_blkno = 0;
 
        /* be tidy */
-       pfree(scan->opaque);
+       ItemPointerSetInvalid(&(scan->currentItemData));
+       ItemPointerSetInvalid(&(scan->currentMarkData));
+
+       pfree(so);
+       scan->opaque = NULL;
 
        PG_RETURN_VOID();
 }
@@ -374,25 +389,21 @@ Datum
 hashmarkpos(PG_FUNCTION_ARGS)
 {
        IndexScanDesc scan = (IndexScanDesc) PG_GETARG_POINTER(0);
-       ItemPointer iptr;
-       HashScanOpaque so;
-
-       so = (HashScanOpaque) scan->opaque;
+       HashScanOpaque so = (HashScanOpaque) scan->opaque;
+       Relation        rel = scan->indexRelation;
 
-       /* release lock on old marked data, if any */
-       if (ItemPointerIsValid(iptr = &(scan->currentMarkData)))
-       {
-               _hash_relbuf(scan->indexRelation, so->hashso_mrkbuf, HASH_READ);
-               so->hashso_mrkbuf = InvalidBuffer;
-               ItemPointerSetInvalid(iptr);
-       }
+       /* release pin on old marked data, if any */
+       if (BufferIsValid(so->hashso_mrkbuf))
+               _hash_dropbuf(rel, so->hashso_mrkbuf);
+       so->hashso_mrkbuf = InvalidBuffer;
+       ItemPointerSetInvalid(&(scan->currentMarkData));
 
-       /* bump lock on currentItemData and copy to currentMarkData */
+       /* bump pin count on currentItemData and copy to currentMarkData */
        if (ItemPointerIsValid(&(scan->currentItemData)))
        {
-               so->hashso_mrkbuf = _hash_getbuf(scan->indexRelation,
+               so->hashso_mrkbuf = _hash_getbuf(rel,
                                                                 BufferGetBlockNumber(so->hashso_curbuf),
-                                                                                HASH_READ);
+                                                                                HASH_NOLOCK);
                scan->currentMarkData = scan->currentItemData;
        }
 
@@ -406,26 +417,21 @@ Datum
 hashrestrpos(PG_FUNCTION_ARGS)
 {
        IndexScanDesc scan = (IndexScanDesc) PG_GETARG_POINTER(0);
-       ItemPointer iptr;
-       HashScanOpaque so;
+       HashScanOpaque so = (HashScanOpaque) scan->opaque;
+       Relation        rel = scan->indexRelation;
 
-       so = (HashScanOpaque) scan->opaque;
+       /* release pin on current data, if any */
+       if (BufferIsValid(so->hashso_curbuf))
+               _hash_dropbuf(rel, so->hashso_curbuf);
+       so->hashso_curbuf = InvalidBuffer;
+       ItemPointerSetInvalid(&(scan->currentItemData));
 
-       /* release lock on current data, if any */
-       if (ItemPointerIsValid(iptr = &(scan->currentItemData)))
-       {
-               _hash_relbuf(scan->indexRelation, so->hashso_curbuf, HASH_READ);
-               so->hashso_curbuf = InvalidBuffer;
-               ItemPointerSetInvalid(iptr);
-       }
-
-       /* bump lock on currentMarkData and copy to currentItemData */
+       /* bump pin count on currentMarkData and copy to currentItemData */
        if (ItemPointerIsValid(&(scan->currentMarkData)))
        {
-               so->hashso_curbuf = _hash_getbuf(scan->indexRelation,
+               so->hashso_curbuf = _hash_getbuf(rel,
                                                                 BufferGetBlockNumber(so->hashso_mrkbuf),
-                                                                                HASH_READ);
-
+                                                                                HASH_NOLOCK);
                scan->currentItemData = scan->currentMarkData;
        }
 
@@ -449,40 +455,163 @@ hashbulkdelete(PG_FUNCTION_ARGS)
        BlockNumber num_pages;
        double          tuples_removed;
        double          num_index_tuples;
-       IndexScanDesc iscan;
+       double          orig_ntuples;
+       Bucket          orig_maxbucket;
+       Bucket          cur_maxbucket;
+       Bucket          cur_bucket;
+       Buffer          metabuf;
+       HashMetaPage metap;
+       HashMetaPageData local_metapage;
 
        tuples_removed = 0;
        num_index_tuples = 0;
 
        /*
-        * XXX generic implementation --- should be improved!
+        * Read the metapage to fetch original bucket and tuple counts.  Also,
+        * we keep a copy of the last-seen metapage so that we can use its
+        * hashm_spares[] values to compute bucket page addresses.  This is a
+        * bit hokey but perfectly safe, since the interesting entries in the
+        * spares array cannot change under us; and it beats rereading the
+        * metapage for each bucket.
         */
+       metabuf = _hash_getbuf(rel, HASH_METAPAGE, HASH_READ);
+       metap = (HashMetaPage) BufferGetPage(metabuf);
+       _hash_checkpage(rel, (Page) metap, LH_META_PAGE);
+       orig_maxbucket = metap->hashm_maxbucket;
+       orig_ntuples = metap->hashm_ntuples;
+       memcpy(&local_metapage, metap, sizeof(local_metapage));
+       _hash_relbuf(rel, metabuf);
+
+       /* Scan the buckets that we know exist */
+       cur_bucket = 0;
+       cur_maxbucket = orig_maxbucket;
+
+loop_top:
+       while (cur_bucket <= cur_maxbucket)
+       {
+               BlockNumber bucket_blkno;
+               BlockNumber blkno;
+               bool            bucket_dirty = false;
 
-       /* walk through the entire index */
-       iscan = index_beginscan(NULL, rel, SnapshotAny, 0, (ScanKey) NULL);
-       /* including killed tuples */
-       iscan->ignore_killed_tuples = false;
+               /* Get address of bucket's start page */
+               bucket_blkno = BUCKET_TO_BLKNO(&local_metapage, cur_bucket);
 
-       while (index_getnext_indexitem(iscan, ForwardScanDirection))
-       {
-               if (callback(&iscan->xs_ctup.t_self, callback_state))
-               {
-                       ItemPointerData indextup = iscan->currentItemData;
+               /* Exclusive-lock the bucket so we can shrink it */
+               _hash_getlock(rel, bucket_blkno, HASH_EXCLUSIVE);
 
-                       /* adjust any active scans that will be affected by deletion */
-                       /* (namely, my own scan) */
-                       _hash_adjscans(rel, &indextup);
+               /* Shouldn't have any active scans locally, either */
+               if (_hash_has_active_scan(rel, cur_bucket))
+                       elog(ERROR, "hash index has active scan during VACUUM");
+
+               /* Scan each page in bucket */
+               blkno = bucket_blkno;
+               while (BlockNumberIsValid(blkno))
+               {
+                       Buffer          buf;
+                       Page            page;
+                       HashPageOpaque opaque;
+                       OffsetNumber offno;
+                       OffsetNumber maxoffno;
+                       bool            page_dirty = false;
+
+                       buf = _hash_getbuf(rel, blkno, HASH_WRITE);
+                       page = BufferGetPage(buf);
+                       _hash_checkpage(rel, page, LH_BUCKET_PAGE | LH_OVERFLOW_PAGE);
+                       opaque = (HashPageOpaque) PageGetSpecialPointer(page);
+                       Assert(opaque->hasho_bucket == cur_bucket);
+
+                       /* Scan each tuple in page */
+                       offno = FirstOffsetNumber;
+                       maxoffno = PageGetMaxOffsetNumber(page);
+                       while (offno <= maxoffno)
+                       {
+                               HashItem        hitem;
+                               ItemPointer htup;
+
+                               hitem = (HashItem) PageGetItem(page,
+                                                                                          PageGetItemId(page, offno));
+                               htup = &(hitem->hash_itup.t_tid);
+                               if (callback(htup, callback_state))
+                               {
+                                       /* delete the item from the page */
+                                       PageIndexTupleDelete(page, offno);
+                                       bucket_dirty = page_dirty = true;
+
+                                       /* don't increment offno, instead decrement maxoffno */
+                                       maxoffno = OffsetNumberPrev(maxoffno);
+
+                                       tuples_removed += 1;
+                               }
+                               else
+                               {
+                                       offno = OffsetNumberNext(offno);
+
+                                       num_index_tuples += 1;
+                               }
+                       }
 
-                       /* delete the data from the page */
-                       _hash_pagedel(rel, &indextup);
+                       /*
+                        * Write page if needed, advance to next page.
+                        */
+                       blkno = opaque->hasho_nextblkno;
 
-                       tuples_removed += 1;
+                       if (page_dirty)
+                               _hash_wrtbuf(rel, buf);
+                       else
+                               _hash_relbuf(rel, buf);
                }
+
+               /* If we deleted anything, try to compact free space */
+               if (bucket_dirty)
+                       _hash_squeezebucket(rel, cur_bucket, bucket_blkno);
+
+               /* Release bucket lock */
+               _hash_droplock(rel, bucket_blkno, HASH_EXCLUSIVE);
+
+               /* Advance to next bucket */
+               cur_bucket++;
+       }
+
+       /* Write-lock metapage and check for split since we started */
+       metabuf = _hash_getbuf(rel, HASH_METAPAGE, HASH_WRITE);
+       metap = (HashMetaPage) BufferGetPage(metabuf);
+       _hash_checkpage(rel, (Page) metap, LH_META_PAGE);
+
+       if (cur_maxbucket != metap->hashm_maxbucket)
+       {
+               /* There's been a split, so process the additional bucket(s) */
+               cur_maxbucket = metap->hashm_maxbucket;
+               memcpy(&local_metapage, metap, sizeof(local_metapage));
+               _hash_relbuf(rel, metabuf);
+               goto loop_top;
+       }
+
+       /* Okay, we're really done.  Update tuple count in metapage. */
+
+       if (orig_maxbucket == metap->hashm_maxbucket &&
+               orig_ntuples == metap->hashm_ntuples)
+       {
+               /*
+                * No one has split or inserted anything since start of scan,
+                * so believe our count as gospel.
+                */
+               metap->hashm_ntuples = num_index_tuples;
+       }
+       else
+       {
+               /*
+                * Otherwise, our count is untrustworthy since we may have
+                * double-scanned tuples in split buckets.  Proceed by
+                * dead-reckoning.
+                */
+               if (metap->hashm_ntuples > tuples_removed)
+                       metap->hashm_ntuples -= tuples_removed;
                else
-                       num_index_tuples += 1;
+                       metap->hashm_ntuples = 0;
+               num_index_tuples = metap->hashm_ntuples;
        }
 
-       index_endscan(iscan);
+       _hash_wrtbuf(rel, metabuf);
 
        /* return statistics */
        num_pages = RelationGetNumberOfBlocks(rel);
index 71e369e7603ad70b298e16f8ad618591ef2715ea..649497620fe3c1d89dd1d03fa23ff955ea31cdf4 100644 (file)
 #include "postgres.h"
 
 #include "access/hash.h"
+#include "storage/lmgr.h"
+
+
+static OffsetNumber _hash_pgaddtup(Relation rel, Buffer buf,
+                                                                  Size itemsize, HashItem hitem);
 
-static InsertIndexResult _hash_insertonpg(Relation rel, Buffer buf, int keysz, ScanKey scankey, HashItem hitem, Buffer metabuf);
-static OffsetNumber _hash_pgaddtup(Relation rel, Buffer buf, int keysz, ScanKey itup_scankey, Size itemsize, HashItem hitem);
 
 /*
  *     _hash_doinsert() -- Handle insertion of a single HashItem in the table.
  *
  *             This routine is called by the public interface routines, hashbuild
- *             and hashinsert.  By here, hashitem is filled in, and has a unique
- *             (xid, seqno) pair. The datum to be used as a "key" is in the
- *             hashitem.
+ *             and hashinsert.  By here, hashitem is completely filled in.
+ *             The datum to be used as a "key" is in the hashitem.
  */
 InsertIndexResult
 _hash_doinsert(Relation rel, HashItem hitem)
 {
        Buffer          buf;
        Buffer          metabuf;
-       BlockNumber blkno;
        HashMetaPage metap;
        IndexTuple      itup;
+       BlockNumber itup_blkno;
+       OffsetNumber itup_off;
        InsertIndexResult res;
-       ScanKey         itup_scankey;
-       int                     natts;
+       BlockNumber blkno;
        Page            page;
-
-       metabuf = _hash_getbuf(rel, HASH_METAPAGE, HASH_READ);
-       metap = (HashMetaPage) BufferGetPage(metabuf);
-       _hash_checkpage((Page) metap, LH_META_PAGE);
-
-       /* we need a scan key to do our search, so build one */
-       itup = &(hitem->hash_itup);
-       if ((natts = rel->rd_rel->relnatts) != 1)
-               elog(ERROR, "Hash indexes support only one index key");
-       itup_scankey = _hash_mkscankey(rel, itup);
+       HashPageOpaque pageopaque;
+       Size            itemsz;
+       bool            do_expand;
+       uint32          hashkey;
+       Bucket          bucket;
+       Datum           datum;
+       bool            isnull;
 
        /*
-        * find the first page in the bucket chain containing this key and
-        * place it in buf.  _hash_search obtains a read lock for us.
+        * Compute the hash key for the item.  We do this first so as not to
+        * need to hold any locks while running the hash function.
         */
-       _hash_search(rel, natts, itup_scankey, &buf, metap);
-       page = BufferGetPage(buf);
-       _hash_checkpage(page, LH_BUCKET_PAGE);
+       itup = &(hitem->hash_itup);
+       if (rel->rd_rel->relnatts != 1)
+               elog(ERROR, "hash indexes support only one index key");
+       datum = index_getattr(itup, 1, RelationGetDescr(rel), &isnull);
+       Assert(!isnull);
+       hashkey = _hash_datum2hashkey(rel, datum);
+
+       /* compute item size too */
+       itemsz = IndexTupleDSize(hitem->hash_itup)
+               + (sizeof(HashItemData) - sizeof(IndexTupleData));
+
+       itemsz = MAXALIGN(itemsz);      /* be safe, PageAddItem will do this but
+                                                                * we need to be consistent */
 
        /*
-        * trade in our read lock for a write lock so that we can do the
-        * insertion.
+        * Acquire shared split lock so we can compute the target bucket
+        * safely (see README).
         */
-       blkno = BufferGetBlockNumber(buf);
-       _hash_relbuf(rel, buf, HASH_READ);
-       buf = _hash_getbuf(rel, blkno, HASH_WRITE);
+       _hash_getlock(rel, 0, HASH_SHARE);
 
+       /* Read the metapage */
+       metabuf = _hash_getbuf(rel, HASH_METAPAGE, HASH_READ);
+       metap = (HashMetaPage) BufferGetPage(metabuf);
+       _hash_checkpage(rel, (Page) metap, LH_META_PAGE);
 
        /*
-        * XXX btree comment (haven't decided what to do in hash): don't think
-        * the bucket can be split while we're reading the metapage.
-        *
-        * If the page was split between the time that we surrendered our read
-        * lock and acquired our write lock, then this page may no longer be
-        * the right place for the key we want to insert.
+        * Check whether the item can fit on a hash page at all. (Eventually,
+        * we ought to try to apply TOAST methods if not.)  Note that at this
+        * point, itemsz doesn't include the ItemId.
         */
+       if (itemsz > HashMaxItemSize((Page) metap))
+               ereport(ERROR,
+                               (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
+                                errmsg("index tuple size %lu exceeds hash maximum, %lu",
+                                               (unsigned long) itemsz,
+                                               (unsigned long) HashMaxItemSize((Page) metap))));
 
-       /* do the insertion */
-       res = _hash_insertonpg(rel, buf, natts, itup_scankey,
-                                                  hitem, metabuf);
+       /*
+        * Compute the target bucket number, and convert to block number.
+        */
+       bucket = _hash_hashkey2bucket(hashkey,
+                                                                 metap->hashm_maxbucket,
+                                                                 metap->hashm_highmask,
+                                                                 metap->hashm_lowmask);
 
-       /* be tidy */
-       _hash_freeskey(itup_scankey);
+       blkno = BUCKET_TO_BLKNO(metap, bucket);
 
-       return res;
-}
+       /* release lock on metapage, but keep pin since we'll need it again */
+       _hash_chgbufaccess(rel, metabuf, HASH_READ, HASH_NOLOCK);
 
-/*
- *     _hash_insertonpg() -- Insert a tuple on a particular page in the table.
- *
- *             This recursive procedure does the following things:
- *
- *                     +  if necessary, splits the target page.
- *                     +  inserts the tuple.
- *
- *             On entry, we must have the right buffer on which to do the
- *             insertion, and the buffer must be pinned and locked.  On return,
- *             we will have dropped both the pin and the write lock on the buffer.
- *
- */
-static InsertIndexResult
-_hash_insertonpg(Relation rel,
-                                Buffer buf,
-                                int keysz,
-                                ScanKey scankey,
-                                HashItem hitem,
-                                Buffer metabuf)
-{
-       InsertIndexResult res;
-       Page            page;
-       BlockNumber itup_blkno;
-       OffsetNumber itup_off;
-       Size            itemsz;
-       HashPageOpaque pageopaque;
-       bool            do_expand = false;
-       Buffer          ovflbuf;
-       HashMetaPage metap;
-       Bucket          bucket;
+       /*
+        * Acquire share lock on target bucket; then we can release split lock.
+        */
+       _hash_getlock(rel, blkno, HASH_SHARE);
 
-       metap = (HashMetaPage) BufferGetPage(metabuf);
-       _hash_checkpage((Page) metap, LH_META_PAGE);
+       _hash_droplock(rel, 0, HASH_SHARE);
 
+       /* Fetch the primary bucket page for the bucket */
+       buf = _hash_getbuf(rel, blkno, HASH_WRITE);
        page = BufferGetPage(buf);
-       _hash_checkpage(page, LH_BUCKET_PAGE | LH_OVERFLOW_PAGE);
+       _hash_checkpage(rel, page, LH_BUCKET_PAGE);
        pageopaque = (HashPageOpaque) PageGetSpecialPointer(page);
-       bucket = pageopaque->hasho_bucket;
-
-       itemsz = IndexTupleDSize(hitem->hash_itup)
-               + (sizeof(HashItemData) - sizeof(IndexTupleData));
-       itemsz = MAXALIGN(itemsz);
+       Assert(pageopaque->hasho_bucket == bucket);
 
+       /* Do the insertion */
        while (PageGetFreeSpace(page) < itemsz)
        {
                /*
                 * no space on this page; check for an overflow page
                 */
-               if (BlockNumberIsValid(pageopaque->hasho_nextblkno))
+               BlockNumber     nextblkno = pageopaque->hasho_nextblkno;
+
+               if (BlockNumberIsValid(nextblkno))
                {
                        /*
                         * ovfl page exists; go get it.  if it doesn't have room,
                         * we'll find out next pass through the loop test above.
                         */
-                       ovflbuf = _hash_getbuf(rel, pageopaque->hasho_nextblkno,
-                                                                  HASH_WRITE);
-                       _hash_relbuf(rel, buf, HASH_WRITE);
-                       buf = ovflbuf;
+                       _hash_relbuf(rel, buf);
+                       buf = _hash_getbuf(rel, nextblkno, HASH_WRITE);
                        page = BufferGetPage(buf);
                }
                else
@@ -154,68 +142,72 @@ _hash_insertonpg(Relation rel,
                         * we're at the end of the bucket chain and we haven't found a
                         * page with enough room.  allocate a new overflow page.
                         */
-                       do_expand = true;
-                       ovflbuf = _hash_addovflpage(rel, &metabuf, buf);
-                       _hash_relbuf(rel, buf, HASH_WRITE);
-                       buf = ovflbuf;
+
+                       /* release our write lock without modifying buffer */
+                       _hash_chgbufaccess(rel, buf, HASH_READ, HASH_NOLOCK);
+
+                       /* chain to a new overflow page */
+                       buf = _hash_addovflpage(rel, metabuf, buf);
                        page = BufferGetPage(buf);
 
-                       if (PageGetFreeSpace(page) < itemsz)
-                       {
-                               /* it doesn't fit on an empty page -- give up */
-                               elog(ERROR, "hash item too large");
-                       }
+                       /* should fit now, given test above */
+                       Assert(PageGetFreeSpace(page) >= itemsz);
                }
-               _hash_checkpage(page, LH_OVERFLOW_PAGE);
+               _hash_checkpage(rel, page, LH_OVERFLOW_PAGE);
                pageopaque = (HashPageOpaque) PageGetSpecialPointer(page);
                Assert(pageopaque->hasho_bucket == bucket);
        }
 
-       itup_off = _hash_pgaddtup(rel, buf, keysz, scankey, itemsz, hitem);
+       /* found page with enough space, so add the item here */
+       itup_off = _hash_pgaddtup(rel, buf, itemsz, hitem);
        itup_blkno = BufferGetBlockNumber(buf);
 
-       /* by here, the new tuple is inserted */
-       res = (InsertIndexResult) palloc(sizeof(InsertIndexResultData));
+       /* write and release the modified page */
+       _hash_wrtbuf(rel, buf);
 
-       ItemPointerSet(&(res->pointerData), itup_blkno, itup_off);
+       /* We can drop the bucket lock now */
+       _hash_droplock(rel, blkno, HASH_SHARE);
 
-       if (res != NULL)
-       {
-               /*
-                * Increment the number of keys in the table. We switch lock
-                * access type just for a moment to allow greater accessibility to
-                * the metapage.
-                */
-               metap = (HashMetaPage) _hash_chgbufaccess(rel, &metabuf,
-                                                                                                 HASH_READ, HASH_WRITE);
-               metap->hashm_nkeys += 1;
-               metap = (HashMetaPage) _hash_chgbufaccess(rel, &metabuf,
-                                                                                                 HASH_WRITE, HASH_READ);
+       /*
+        * Write-lock the metapage so we can increment the tuple count.
+        * After incrementing it, check to see if it's time for a split.
+        */
+       _hash_chgbufaccess(rel, metabuf, HASH_NOLOCK, HASH_WRITE);
 
-       }
+       metap->hashm_ntuples += 1;
 
-       _hash_wrtbuf(rel, buf);
+       /* Make sure this stays in sync with _hash_expandtable() */
+       do_expand = metap->hashm_ntuples >
+               (double) metap->hashm_ffactor * (metap->hashm_maxbucket + 1);
 
-       if (do_expand ||
-               (metap->hashm_nkeys / (metap->hashm_maxbucket + 1))
-               > metap->hashm_ffactor)
+       /* Write out the metapage and drop lock, but keep pin */
+       _hash_chgbufaccess(rel, metabuf, HASH_WRITE, HASH_NOLOCK);
+
+       /* Attempt to split if a split is needed */
+       if (do_expand)
                _hash_expandtable(rel, metabuf);
-       _hash_relbuf(rel, metabuf, HASH_READ);
+
+       /* Finally drop our pin on the metapage */
+       _hash_dropbuf(rel, metabuf);
+
+       /* Create the return data structure */
+       res = (InsertIndexResult) palloc(sizeof(InsertIndexResultData));
+
+       ItemPointerSet(&(res->pointerData), itup_blkno, itup_off);
+
        return res;
 }
 
 /*
  *     _hash_pgaddtup() -- add a tuple to a particular page in the index.
  *
- *             This routine adds the tuple to the page as requested, and keeps the
- *             write lock and reference associated with the page's buffer.  It is
- *             an error to call pgaddtup() without a write lock and reference.
+ *             This routine adds the tuple to the page as requested; it does
+ *             not write out the page.  It is an error to call pgaddtup() without
+ *             a write lock and pin.
  */
 static OffsetNumber
 _hash_pgaddtup(Relation rel,
                           Buffer buf,
-                          int keysz,
-                          ScanKey itup_scankey,
                           Size itemsize,
                           HashItem hitem)
 {
@@ -223,7 +215,7 @@ _hash_pgaddtup(Relation rel,
        Page            page;
 
        page = BufferGetPage(buf);
-       _hash_checkpage(page, LH_BUCKET_PAGE | LH_OVERFLOW_PAGE);
+       _hash_checkpage(rel, page, LH_BUCKET_PAGE | LH_OVERFLOW_PAGE);
 
        itup_off = OffsetNumberNext(PageGetMaxOffsetNumber(page));
        if (PageAddItem(page, (Item) hitem, itemsize, itup_off, LP_USED)
@@ -231,8 +223,5 @@ _hash_pgaddtup(Relation rel,
                elog(ERROR, "failed to add index item to \"%s\"",
                         RelationGetRelationName(rel));
 
-       /* write the buffer, but hold our lock */
-       _hash_wrtnorelbuf(buf);
-
        return itup_off;
 }
index 29a5295656c1cd4ff142c216292bf91c2a2d6652..c0848abd333d8ec7b074b78b8b811718b377babe 100644 (file)
 #include "access/hash.h"
 
 
-static OverflowPageAddress _hash_getovfladdr(Relation rel, Buffer *metabufp);
+static BlockNumber _hash_getovflpage(Relation rel, Buffer metabuf);
 static uint32 _hash_firstfreebit(uint32 map);
 
+
+/*
+ * Convert overflow page bit number (its index in the free-page bitmaps)
+ * to block number within the index.
+ */
+static BlockNumber
+bitno_to_blkno(HashMetaPage metap, uint32 ovflbitnum)
+{
+       uint32          splitnum = metap->hashm_ovflpoint;
+       uint32          i;
+
+       /* Convert zero-based bitnumber to 1-based page number */
+       ovflbitnum += 1;
+
+       /* Determine the split number for this page (must be >= 1) */
+       for (i = 1;
+                i < splitnum && ovflbitnum > metap->hashm_spares[i];
+                i++)
+               /* loop */ ;
+
+       /*
+        * Convert to absolute page number by adding the number of bucket pages
+        * that exist before this split point.
+        */
+       return (BlockNumber) ((1 << i) + ovflbitnum);
+}
+
+/*
+ * Convert overflow page block number to bit number for free-page bitmap.
+ */
+static uint32
+blkno_to_bitno(HashMetaPage metap, BlockNumber ovflblkno)
+{
+       uint32          splitnum = metap->hashm_ovflpoint;
+       uint32          i;
+       uint32          bitnum;
+
+       /* Determine the split number containing this page */
+       for (i = 1; i <= splitnum; i++)
+       {
+               if (ovflblkno <= (BlockNumber) (1 << i))
+                       break;                          /* oops */
+               bitnum = ovflblkno - (1 << i);
+               if (bitnum <= metap->hashm_spares[i])
+                       return bitnum - 1;      /* -1 to convert 1-based to 0-based */
+       }
+
+       elog(ERROR, "invalid overflow block number %u", ovflblkno);
+       return 0;                                       /* keep compiler quiet */
+}
+
 /*
  *     _hash_addovflpage
  *
- *     Add an overflow page to the page currently pointed to by the buffer
- *     argument 'buf'.
+ *     Add an overflow page to the bucket whose last page is pointed to by 'buf'.
  *
- *     *Metabufp has a read lock upon entering the function; buf has a
- *     write lock.
+ *     On entry, the caller must hold a pin but no lock on 'buf'.  The pin is
+ *     dropped before exiting (we assume the caller is not interested in 'buf'
+ *     anymore).  The returned overflow page will be pinned and write-locked;
+ *     it is guaranteed to be empty.
  *
+ *     The caller must hold a pin, but no lock, on the metapage buffer.
+ *     That buffer is returned in the same state.
+ *
+ *     The caller must hold at least share lock on the bucket, to ensure that
+ *     no one else tries to compact the bucket meanwhile.  This guarantees that
+ *     'buf' won't stop being part of the bucket while it's unlocked.
+ *
+ * NB: since this could be executed concurrently by multiple processes,
+ * one should not assume that the returned overflow page will be the
+ * immediate successor of the originally passed 'buf'.  Additional overflow
+ * pages might have been added to the bucket chain in between.
  */
 Buffer
-_hash_addovflpage(Relation rel, Buffer *metabufp, Buffer buf)
+_hash_addovflpage(Relation rel, Buffer metabuf, Buffer buf)
 {
-
-       OverflowPageAddress oaddr;
        BlockNumber ovflblkno;
        Buffer          ovflbuf;
-       HashMetaPage metap;
-       HashPageOpaque ovflopaque;
-       HashPageOpaque pageopaque;
        Page            page;
        Page            ovflpage;
-
-       /* this had better be the last page in a bucket chain */
-       page = BufferGetPage(buf);
-       _hash_checkpage(page, LH_BUCKET_PAGE | LH_OVERFLOW_PAGE);
-       pageopaque = (HashPageOpaque) PageGetSpecialPointer(page);
-       Assert(!BlockNumberIsValid(pageopaque->hasho_nextblkno));
-
-       metap = (HashMetaPage) BufferGetPage(*metabufp);
-       _hash_checkpage((Page) metap, LH_META_PAGE);
+       HashPageOpaque pageopaque;
+       HashPageOpaque ovflopaque;
 
        /* allocate an empty overflow page */
-       oaddr = _hash_getovfladdr(rel, metabufp);
-       if (oaddr == InvalidOvflAddress)
-               elog(ERROR, "_hash_getovfladdr failed");
-       ovflblkno = OADDR_TO_BLKNO(OADDR_OF(SPLITNUM(oaddr), OPAGENUM(oaddr)));
-       Assert(BlockNumberIsValid(ovflblkno));
+       ovflblkno = _hash_getovflpage(rel, metabuf);
+
+       /* lock the overflow page */
        ovflbuf = _hash_getbuf(rel, ovflblkno, HASH_WRITE);
-       Assert(BufferIsValid(ovflbuf));
        ovflpage = BufferGetPage(ovflbuf);
 
-       /* initialize the new overflow page */
+       /*
+        * Write-lock the tail page.  It is okay to hold two buffer locks here
+        * since there cannot be anyone else contending for access to ovflbuf.
+        */
+       _hash_chgbufaccess(rel, buf, HASH_NOLOCK, HASH_WRITE);
+
+       /* loop to find current tail page, in case someone else inserted too */
+       for (;;)
+       {
+               BlockNumber nextblkno;
+
+               page = BufferGetPage(buf);
+               _hash_checkpage(rel, page, LH_BUCKET_PAGE | LH_OVERFLOW_PAGE);
+               pageopaque = (HashPageOpaque) PageGetSpecialPointer(page);
+               nextblkno = pageopaque->hasho_nextblkno;
+
+               if (!BlockNumberIsValid(nextblkno))
+                       break;
+
+               /* we assume we do not need to write the unmodified page */
+               _hash_relbuf(rel, buf);
+
+               buf = _hash_getbuf(rel, nextblkno, HASH_WRITE);
+       }
+
+       /* now that we have correct backlink, initialize new overflow page */
        _hash_pageinit(ovflpage, BufferGetPageSize(ovflbuf));
        ovflopaque = (HashPageOpaque) PageGetSpecialPointer(ovflpage);
        ovflopaque->hasho_prevblkno = BufferGetBlockNumber(buf);
        ovflopaque->hasho_nextblkno = InvalidBlockNumber;
-       ovflopaque->hasho_flag = LH_OVERFLOW_PAGE;
-       ovflopaque->hasho_oaddr = oaddr;
        ovflopaque->hasho_bucket = pageopaque->hasho_bucket;
-       _hash_wrtnorelbuf(ovflbuf);
+       ovflopaque->hasho_flag = LH_OVERFLOW_PAGE;
+       ovflopaque->hasho_filler = HASHO_FILL;
+       _hash_wrtnorelbuf(rel, ovflbuf);
 
        /* logically chain overflow page to previous page */
        pageopaque->hasho_nextblkno = ovflblkno;
-       _hash_wrtnorelbuf(buf);
+       _hash_wrtbuf(rel, buf);
+
        return ovflbuf;
 }
 
 /*
- *     _hash_getovfladdr()
- *
- *     Find an available overflow page and return its address.
+ *     _hash_getovflpage()
  *
- *     When we enter this function, we have a read lock on *metabufp which
- *     we change to a write lock immediately. Before exiting, the write lock
- *     is exchanged for a read lock.
+ *     Find an available overflow page and return its block number.
  *
+ * The caller must hold a pin, but no lock, on the metapage buffer.
+ * The buffer is returned in the same state.
  */
-static OverflowPageAddress
-_hash_getovfladdr(Relation rel, Buffer *metabufp)
+static BlockNumber
+_hash_getovflpage(Relation rel, Buffer metabuf)
 {
        HashMetaPage metap;
        Buffer          mapbuf = 0;
        BlockNumber blkno;
-       PageOffset      offset;
-       OverflowPageAddress oaddr;
-       SplitNumber splitnum;
+       uint32          orig_firstfree;
+       uint32          splitnum;
        uint32     *freep = NULL;
-       uint32          max_free;
+       uint32          max_ovflpg;
        uint32          bit;
        uint32          first_page;
-       uint32          free_bit;
-       uint32          free_page;
-       uint32          in_use_bits;
+       uint32          last_bit;
+       uint32          last_page;
        uint32          i,
                                j;
 
-       metap = (HashMetaPage) _hash_chgbufaccess(rel, metabufp, HASH_READ, HASH_WRITE);
+       /* Get exclusive lock on the meta page */
+       _hash_chgbufaccess(rel, metabuf, HASH_NOLOCK, HASH_WRITE);
 
-       splitnum = metap->hashm_ovflpoint;
-       max_free = metap->hashm_spares[splitnum];
+       metap = (HashMetaPage) BufferGetPage(metabuf);
+       _hash_checkpage(rel, (Page) metap, LH_META_PAGE);
 
-       free_page = (max_free - 1) >> (metap->hashm_bshift + BYTE_TO_BIT);
-       free_bit = (max_free - 1) & (BMPGSZ_BIT(metap) - 1);
+       /* start search at hashm_firstfree */
+       orig_firstfree = metap->hashm_firstfree;
+       first_page = orig_firstfree >> BMPG_SHIFT(metap);
+       bit = orig_firstfree & BMPG_MASK(metap);
+       i = first_page;
+       j = bit / BITS_PER_MAP;
+       bit &= ~(BITS_PER_MAP - 1);
 
-       /* Look through all the free maps to find the first free block */
-       first_page = metap->hashm_lastfreed >> (metap->hashm_bshift + BYTE_TO_BIT);
-       for (i = first_page; i <= free_page; i++)
+       /* outer loop iterates once per bitmap page */
+       for (;;)
        {
+               BlockNumber     mapblkno;
                Page            mappage;
+               uint32          last_inpage;
 
-               blkno = metap->hashm_mapp[i];
-               mapbuf = _hash_getbuf(rel, blkno, HASH_WRITE);
-               mappage = BufferGetPage(mapbuf);
-               _hash_checkpage(mappage, LH_BITMAP_PAGE);
-               freep = HashPageGetBitmap(mappage);
-               Assert(freep);
+               /* want to end search with the last existing overflow page */
+               splitnum = metap->hashm_ovflpoint;
+               max_ovflpg = metap->hashm_spares[splitnum] - 1;
+               last_page = max_ovflpg >> BMPG_SHIFT(metap);
+               last_bit = max_ovflpg & BMPG_MASK(metap);
 
-               if (i == free_page)
-                       in_use_bits = free_bit;
-               else
-                       in_use_bits = BMPGSZ_BIT(metap) - 1;
+               if (i > last_page)
+                       break;
 
-               if (i == first_page)
-               {
-                       bit = metap->hashm_lastfreed & (BMPGSZ_BIT(metap) - 1);
-                       j = bit / BITS_PER_MAP;
-                       bit = bit & ~(BITS_PER_MAP - 1);
-               }
+               Assert(i < metap->hashm_nmaps);
+               mapblkno = metap->hashm_mapp[i];
+
+               if (i == last_page)
+                       last_inpage = last_bit;
                else
+                       last_inpage = BMPGSZ_BIT(metap) - 1;
+
+               /* Release exclusive lock on metapage while reading bitmap page */
+               _hash_chgbufaccess(rel, metabuf, HASH_READ, HASH_NOLOCK);
+
+               mapbuf = _hash_getbuf(rel, mapblkno, HASH_WRITE);
+               mappage = BufferGetPage(mapbuf);
+               _hash_checkpage(rel, mappage, LH_BITMAP_PAGE);
+               freep = HashPageGetBitmap(mappage);
+
+               for (; bit <= last_inpage; j++, bit += BITS_PER_MAP)
                {
-                       bit = 0;
-                       j = 0;
-               }
-               for (; bit <= in_use_bits; j++, bit += BITS_PER_MAP)
                        if (freep[j] != ALL_SET)
                                goto found;
+               }
+
+               /* No free space here, try to advance to next map page */
+               _hash_relbuf(rel, mapbuf);
+               i++;
+               j = 0;                                  /* scan from start of next map page */
+               bit = 0;
+
+               /* Reacquire exclusive lock on the meta page */
+               _hash_chgbufaccess(rel, metabuf, HASH_NOLOCK, HASH_WRITE);
        }
 
        /* No Free Page Found - have to allocate a new page */
-       metap->hashm_lastfreed = metap->hashm_spares[splitnum];
+       bit = metap->hashm_spares[splitnum];
        metap->hashm_spares[splitnum]++;
-       offset = metap->hashm_spares[splitnum] -
-               (splitnum ? metap->hashm_spares[splitnum - 1] : 0);
-
-       if (offset > SPLITMASK)
-       {
-               if (++splitnum >= NCACHED)
-                       ereport(ERROR,
-                                       (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
-                                        errmsg("out of overflow pages in hash index \"%s\"",
-                                                       RelationGetRelationName(rel))));
-               metap->hashm_ovflpoint = splitnum;
-               metap->hashm_spares[splitnum] = metap->hashm_spares[splitnum - 1];
-               metap->hashm_spares[splitnum - 1]--;
-               offset = 0;
-       }
 
        /* Check if we need to allocate a new bitmap page */
-       if (free_bit == (uint32) (BMPGSZ_BIT(metap) - 1))
+       if (last_bit == (uint32) (BMPGSZ_BIT(metap) - 1))
        {
-               /* won't be needing old map page */
-
-               _hash_relbuf(rel, mapbuf, HASH_WRITE);
-
-               free_page++;
-               if (free_page >= NCACHED)
-                       ereport(ERROR,
-                                       (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
-                                        errmsg("out of overflow pages in hash index \"%s\"",
-                                                       RelationGetRelationName(rel))));
-
                /*
-                * This is tricky.      The 1 indicates that you want the new page
-                * allocated with 1 clear bit.  Actually, you are going to
-                * allocate 2 pages from this map.      The first is going to be the
-                * map page, the second is the overflow page we were looking for.
-                * The init_bitmap routine automatically, sets the first bit of
-                * itself to indicate that the bitmap itself is in use.  We would
-                * explicitly set the second bit, but don't have to if we tell
-                * init_bitmap not to leave it clear in the first place.
+                * We create the new bitmap page with all pages marked "in use".
+                * Actually two pages in the new bitmap's range will exist
+                * immediately: the bitmap page itself, and the following page
+                * which is the one we return to the caller.  Both of these are
+                * correctly marked "in use".  Subsequent pages do not exist yet,
+                * but it is convenient to pre-mark them as "in use" too.
                 */
-               if (_hash_initbitmap(rel, metap, OADDR_OF(splitnum, offset),
-                                                        1, free_page))
-                       elog(ERROR, "_hash_initbitmap failed");
+               _hash_initbitmap(rel, metap, bitno_to_blkno(metap, bit));
+
+               bit = metap->hashm_spares[splitnum];
                metap->hashm_spares[splitnum]++;
-               offset++;
-               if (offset > SPLITMASK)
-               {
-                       if (++splitnum >= NCACHED)
-                               ereport(ERROR,
-                                               (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
-                                        errmsg("out of overflow pages in hash index \"%s\"",
-                                                       RelationGetRelationName(rel))));
-                       metap->hashm_ovflpoint = splitnum;
-                       metap->hashm_spares[splitnum] = metap->hashm_spares[splitnum - 1];
-                       metap->hashm_spares[splitnum - 1]--;
-                       offset = 0;
-               }
        }
        else
        {
                /*
-                * Free_bit addresses the last used bit.  Bump it to address the
-                * first available bit.
+                * Nothing to do here; since the page was past the last used page,
+                * we know its bitmap bit was preinitialized to "in use".
                 */
-               free_bit++;
-               SETBIT(freep, free_bit);
-               _hash_wrtbuf(rel, mapbuf);
        }
 
        /* Calculate address of the new overflow page */
-       oaddr = OADDR_OF(splitnum, offset);
-       _hash_chgbufaccess(rel, metabufp, HASH_WRITE, HASH_READ);
-       return oaddr;
+       blkno = bitno_to_blkno(metap, bit);
+
+       /*
+        * Adjust hashm_firstfree to avoid redundant searches.  But don't
+        * risk changing it if someone moved it while we were searching
+        * bitmap pages.
+        */
+       if (metap->hashm_firstfree == orig_firstfree)
+               metap->hashm_firstfree = bit + 1;
+
+       /* Write updated metapage and release lock, but not pin */
+       _hash_chgbufaccess(rel, metabuf, HASH_WRITE, HASH_NOLOCK);
+
+       return blkno;
 
 found:
-       bit = bit + _hash_firstfreebit(freep[j]);
+       /* convert bit to bit number within page */
+       bit += _hash_firstfreebit(freep[j]);
+
+       /* mark page "in use" in the bitmap */
        SETBIT(freep, bit);
        _hash_wrtbuf(rel, mapbuf);
 
+       /* Reacquire exclusive lock on the meta page */
+       _hash_chgbufaccess(rel, metabuf, HASH_NOLOCK, HASH_WRITE);
+
+       /* convert bit to absolute bit number */
+       bit += (i << BMPG_SHIFT(metap));
+
+       /* Calculate address of the new overflow page */
+       blkno = bitno_to_blkno(metap, bit);
+
        /*
-        * Bits are addressed starting with 0, but overflow pages are
-        * addressed beginning at 1. Bit is a bit addressnumber, so we need to
-        * increment it to convert it to a page number.
+        * Adjust hashm_firstfree to avoid redundant searches.  But don't
+        * risk changing it if someone moved it while we were searching
+        * bitmap pages.
         */
+       if (metap->hashm_firstfree == orig_firstfree)
+       {
+               metap->hashm_firstfree = bit + 1;
 
-       bit = 1 + bit + (i * BMPGSZ_BIT(metap));
-       if (bit >= metap->hashm_lastfreed)
-               metap->hashm_lastfreed = bit - 1;
-
-       /* Calculate the split number for this page */
-       for (i = 0; (i < splitnum) && (bit > metap->hashm_spares[i]); i++)
-               ;
-       offset = (i ? bit - metap->hashm_spares[i - 1] : bit);
-       if (offset >= SPLITMASK)
-               ereport(ERROR,
-                               (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
-                                errmsg("out of overflow pages in hash index \"%s\"",
-                                               RelationGetRelationName(rel))));
+               /* Write updated metapage and release lock, but not pin */
+               _hash_chgbufaccess(rel, metabuf, HASH_WRITE, HASH_NOLOCK);
+       }
+       else
+       {
+               /* We didn't change the metapage, so no need to write */
+               _hash_chgbufaccess(rel, metabuf, HASH_READ, HASH_NOLOCK);
+       }
 
-       /* initialize this page */
-       oaddr = OADDR_OF(i, offset);
-       _hash_chgbufaccess(rel, metabufp, HASH_WRITE, HASH_READ);
-       return oaddr;
+       return blkno;
 }
 
 /*
  *     _hash_firstfreebit()
  *
- *     Return the first bit that is not set in the argument 'map'. This
- *     function is used to find an available overflow page within a
- *     splitnumber.
- *
+ *     Return the number of the first bit that is not set in the word 'map'.
  */
 static uint32
 _hash_firstfreebit(uint32 map)
@@ -279,61 +340,64 @@ _hash_firstfreebit(uint32 map)
        {
                if (!(mask & map))
                        return i;
-               mask = mask << 1;
+               mask <<= 1;
        }
-       return i;
+
+       elog(ERROR, "firstfreebit found no free bit");
+
+       return 0;                                       /* keep compiler quiet */
 }
 
 /*
  *     _hash_freeovflpage() -
  *
- *     Mark this overflow page as free and return a buffer with
- *     the page that follows it (which may be defined as
- *     InvalidBuffer).
+ *     Remove this overflow page from its bucket's chain, and mark the page as
+ *     free.  On entry, ovflbuf is write-locked; it is released before exiting.
+ *
+ *     Returns the block number of the page that followed the given page
+ *     in the bucket, or InvalidBlockNumber if no following page.
  *
+ *     NB: caller must not hold lock on metapage, nor on either page that's
+ *     adjacent in the bucket chain.  The caller had better hold exclusive lock
+ *     on the bucket, too.
  */
-Buffer
+BlockNumber
 _hash_freeovflpage(Relation rel, Buffer ovflbuf)
 {
        HashMetaPage metap;
        Buffer          metabuf;
        Buffer          mapbuf;
+       BlockNumber ovflblkno;
        BlockNumber prevblkno;
        BlockNumber blkno;
        BlockNumber nextblkno;
        HashPageOpaque ovflopaque;
        Page            ovflpage;
        Page            mappage;
-       OverflowPageAddress addr;
-       SplitNumber splitnum;
        uint32     *freep;
-       uint32          ovflpgno;
+       uint32          ovflbitno;
        int32           bitmappage,
                                bitmapbit;
        Bucket          bucket;
 
-       metabuf = _hash_getbuf(rel, HASH_METAPAGE, HASH_WRITE);
-       metap = (HashMetaPage) BufferGetPage(metabuf);
-       _hash_checkpage((Page) metap, LH_META_PAGE);
-
+       /* Get information from the doomed page */
+       ovflblkno = BufferGetBlockNumber(ovflbuf);      
        ovflpage = BufferGetPage(ovflbuf);
-       _hash_checkpage(ovflpage, LH_OVERFLOW_PAGE);
+       _hash_checkpage(rel, ovflpage, LH_OVERFLOW_PAGE);
        ovflopaque = (HashPageOpaque) PageGetSpecialPointer(ovflpage);
-       addr = ovflopaque->hasho_oaddr;
        nextblkno = ovflopaque->hasho_nextblkno;
        prevblkno = ovflopaque->hasho_prevblkno;
        bucket = ovflopaque->hasho_bucket;
+
+       /* Zero the page for debugging's sake; then write and release it */
        MemSet(ovflpage, 0, BufferGetPageSize(ovflbuf));
        _hash_wrtbuf(rel, ovflbuf);
 
        /*
-        * fix up the bucket chain.  this is a doubly-linked list, so we must
+        * Fix up the bucket chain.  this is a doubly-linked list, so we must
         * fix up the bucket chain members behind and ahead of the overflow
-        * page being deleted.
-        *
-        * XXX this should look like: - lock prev/next - modify/write prev/next
-        * (how to do write ordering with a doubly-linked list?) - unlock
-        * prev/next
+        * page being deleted.  No concurrency issues since we hold exclusive
+        * lock on the entire bucket.
         */
        if (BlockNumberIsValid(prevblkno))
        {
@@ -341,7 +405,7 @@ _hash_freeovflpage(Relation rel, Buffer ovflbuf)
                Page            prevpage = BufferGetPage(prevbuf);
                HashPageOpaque prevopaque = (HashPageOpaque) PageGetSpecialPointer(prevpage);
 
-               _hash_checkpage(prevpage, LH_BUCKET_PAGE | LH_OVERFLOW_PAGE);
+               _hash_checkpage(rel, prevpage, LH_BUCKET_PAGE | LH_OVERFLOW_PAGE);
                Assert(prevopaque->hasho_bucket == bucket);
                prevopaque->hasho_nextblkno = nextblkno;
                _hash_wrtbuf(rel, prevbuf);
@@ -352,44 +416,55 @@ _hash_freeovflpage(Relation rel, Buffer ovflbuf)
                Page            nextpage = BufferGetPage(nextbuf);
                HashPageOpaque nextopaque = (HashPageOpaque) PageGetSpecialPointer(nextpage);
 
-               _hash_checkpage(nextpage, LH_OVERFLOW_PAGE);
+               _hash_checkpage(rel, nextpage, LH_OVERFLOW_PAGE);
                Assert(nextopaque->hasho_bucket == bucket);
                nextopaque->hasho_prevblkno = prevblkno;
                _hash_wrtbuf(rel, nextbuf);
        }
 
-       /*
-        * Fix up the overflow page bitmap that tracks this particular
-        * overflow page. The bitmap can be found in the MetaPageData array
-        * element hashm_mapp[bitmappage].
-        */
-       splitnum = (addr >> SPLITSHIFT);
-       ovflpgno = (splitnum ? metap->hashm_spares[splitnum - 1] : 0) + (addr & SPLITMASK) - 1;
+       /* Read the metapage so we can determine which bitmap page to use */
+       metabuf = _hash_getbuf(rel, HASH_METAPAGE, HASH_READ);
+       metap = (HashMetaPage) BufferGetPage(metabuf);
+       _hash_checkpage(rel, (Page) metap, LH_META_PAGE);
 
-       if (ovflpgno < metap->hashm_lastfreed)
-               metap->hashm_lastfreed = ovflpgno;
+       /* Identify which bit to set */
+       ovflbitno = blkno_to_bitno(metap, ovflblkno);
 
-       bitmappage = (ovflpgno >> (metap->hashm_bshift + BYTE_TO_BIT));
-       bitmapbit = ovflpgno & (BMPGSZ_BIT(metap) - 1);
+       bitmappage = ovflbitno >> BMPG_SHIFT(metap);
+       bitmapbit = ovflbitno & BMPG_MASK(metap);
 
+       if (bitmappage >= metap->hashm_nmaps)
+               elog(ERROR, "invalid overflow bit number %u", ovflbitno);
        blkno = metap->hashm_mapp[bitmappage];
+
+       /* Release metapage lock while we access the bitmap page */
+       _hash_chgbufaccess(rel, metabuf, HASH_READ, HASH_NOLOCK);
+
+       /* Clear the bitmap bit to indicate that this overflow page is free */
        mapbuf = _hash_getbuf(rel, blkno, HASH_WRITE);
        mappage = BufferGetPage(mapbuf);
-       _hash_checkpage(mappage, LH_BITMAP_PAGE);
+       _hash_checkpage(rel, mappage, LH_BITMAP_PAGE);
        freep = HashPageGetBitmap(mappage);
+       Assert(ISSET(freep, bitmapbit));
        CLRBIT(freep, bitmapbit);
        _hash_wrtbuf(rel, mapbuf);
 
-       _hash_relbuf(rel, metabuf, HASH_WRITE);
+       /* Get write-lock on metapage to update firstfree */
+       _hash_chgbufaccess(rel, metabuf, HASH_NOLOCK, HASH_WRITE);
 
-       /*
-        * now instantiate the page that replaced this one, if it exists, and
-        * return that buffer with a write lock.
-        */
-       if (BlockNumberIsValid(nextblkno))
-               return _hash_getbuf(rel, nextblkno, HASH_WRITE);
+       /* if this is now the first free page, update hashm_firstfree */
+       if (ovflbitno < metap->hashm_firstfree)
+       {
+               metap->hashm_firstfree = ovflbitno;
+               _hash_wrtbuf(rel, metabuf);
+       }
        else
-               return InvalidBuffer;
+       {
+               /* no need to change metapage */
+               _hash_relbuf(rel, metabuf);
+       }
+
+       return nextblkno;
 }
 
 
@@ -397,65 +472,58 @@ _hash_freeovflpage(Relation rel, Buffer ovflbuf)
  *     _hash_initbitmap()
  *
  *      Initialize a new bitmap page.  The metapage has a write-lock upon
- *      entering the function.
+ *      entering the function, and must be written by caller after return.
+ *
+ * 'blkno' is the block number of the new bitmap page.
  *
- * 'pnum' is the OverflowPageAddress of the new bitmap page.
- * 'nbits' is how many bits to clear (i.e., make available) in the new
- * bitmap page.  the remainder of the bits (as well as the first bit,
- * representing the bitmap page itself) will be set.
- * 'ndx' is the 0-based offset of the new bitmap page within the
- * metapage's array of bitmap page OverflowPageAddresses.
+ * All bits in the new bitmap page are set to "1", indicating "in use".
  */
-
-#define INT_MASK               ((1 << INT_TO_BIT) -1)
-
-int32
-_hash_initbitmap(Relation rel,
-                                HashMetaPage metap,
-                                int32 pnum,
-                                int32 nbits,
-                                int32 ndx)
+void
+_hash_initbitmap(Relation rel, HashMetaPage metap, BlockNumber blkno)
 {
        Buffer          buf;
-       BlockNumber blkno;
        Page            pg;
        HashPageOpaque op;
        uint32     *freep;
-       int                     clearbytes,
-                               clearints;
 
-       blkno = OADDR_TO_BLKNO(pnum);
+       /*
+        * It is okay to write-lock the new bitmap page while holding metapage
+        * write lock, because no one else could be contending for the new page.
+        *
+        * There is some loss of concurrency in possibly doing I/O for the new
+        * page while holding the metapage lock, but this path is taken so
+        * seldom that it's not worth worrying about.
+        */
        buf = _hash_getbuf(rel, blkno, HASH_WRITE);
        pg = BufferGetPage(buf);
+
+       /* initialize the page */
        _hash_pageinit(pg, BufferGetPageSize(buf));
        op = (HashPageOpaque) PageGetSpecialPointer(pg);
-       op->hasho_oaddr = InvalidOvflAddress;
        op->hasho_prevblkno = InvalidBlockNumber;
        op->hasho_nextblkno = InvalidBlockNumber;
-       op->hasho_flag = LH_BITMAP_PAGE;
        op->hasho_bucket = -1;
+       op->hasho_flag = LH_BITMAP_PAGE;
+       op->hasho_filler = HASHO_FILL;
 
+       /* set all of the bits to 1 */
        freep = HashPageGetBitmap(pg);
+       MemSet((char *) freep, 0xFF, BMPGSZ_BYTE(metap));
 
-       /* set all of the bits above 'nbits' to 1 */
-       clearints = ((nbits - 1) >> INT_TO_BIT) + 1;
-       clearbytes = clearints << INT_TO_BYTE;
-       MemSet((char *) freep, 0, clearbytes);
-       MemSet(((char *) freep) + clearbytes, 0xFF,
-                  BMPGSZ_BYTE(metap) - clearbytes);
-       freep[clearints - 1] = ALL_SET << (nbits & INT_MASK);
-
-       /* bit 0 represents the new bitmap page */
-       SETBIT(freep, 0);
+       /* write out the new bitmap page (releasing write lock and pin) */
+       _hash_wrtbuf(rel, buf);
 
+       /* add the new bitmap page to the metapage's list of bitmaps */
        /* metapage already has a write lock */
-       metap->hashm_nmaps++;
-       metap->hashm_mapp[ndx] = blkno;
+       if (metap->hashm_nmaps >= HASH_MAX_BITMAPS)
+               ereport(ERROR,
+                               (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
+                                errmsg("out of overflow pages in hash index \"%s\"",
+                                               RelationGetRelationName(rel))));
 
-       /* write out the new bitmap page (releasing its locks) */
-       _hash_wrtbuf(rel, buf);
+       metap->hashm_mapp[metap->hashm_nmaps] = blkno;
 
-       return 0;
+       metap->hashm_nmaps++;
 }
 
 
@@ -470,11 +538,20 @@ _hash_initbitmap(Relation rel,
  *     first page in the bucket chain.  The read page works backward and
  *     the write page works forward; the procedure terminates when the
  *     read page and write page are the same page.
+ *
+ *     At completion of this procedure, it is guaranteed that all pages in
+ *     the bucket are nonempty, unless the bucket is totally empty (in
+ *     which case all overflow pages will be freed).  The original implementation
+ *     required that to be true on entry as well, but it's a lot easier for
+ *     callers to leave empty overflow pages and let this guy clean it up.
+ *
+ *     Caller must hold exclusive lock on the target bucket.  This allows
+ *     us to safely lock multiple pages in the bucket.
  */
 void
 _hash_squeezebucket(Relation rel,
-                                       HashMetaPage metap,
-                                       Bucket bucket)
+                                       Bucket bucket,
+                                       BlockNumber bucket_blkno)
 {
        Buffer          wbuf;
        Buffer          rbuf = 0;
@@ -492,10 +569,10 @@ _hash_squeezebucket(Relation rel,
        /*
         * start squeezing into the base bucket page.
         */
-       wblkno = BUCKET_TO_BLKNO(bucket);
+       wblkno = bucket_blkno;
        wbuf = _hash_getbuf(rel, wblkno, HASH_WRITE);
        wpage = BufferGetPage(wbuf);
-       _hash_checkpage(wpage, LH_BUCKET_PAGE);
+       _hash_checkpage(rel, wpage, LH_BUCKET_PAGE);
        wopaque = (HashPageOpaque) PageGetSpecialPointer(wpage);
 
        /*
@@ -503,29 +580,23 @@ _hash_squeezebucket(Relation rel,
         */
        if (!BlockNumberIsValid(wopaque->hasho_nextblkno))
        {
-               _hash_relbuf(rel, wbuf, HASH_WRITE);
+               _hash_relbuf(rel, wbuf);
                return;
        }
 
        /*
         * find the last page in the bucket chain by starting at the base
         * bucket page and working forward.
-        *
-        * XXX if chains tend to be long, we should probably move forward using
-        * HASH_READ and then _hash_chgbufaccess to HASH_WRITE when we reach
-        * the end.  if they are short we probably don't care very much.  if
-        * the hash function is working at all, they had better be short..
         */
        ropaque = wopaque;
        do
        {
                rblkno = ropaque->hasho_nextblkno;
                if (ropaque != wopaque)
-                       _hash_relbuf(rel, rbuf, HASH_WRITE);
+                       _hash_relbuf(rel, rbuf);
                rbuf = _hash_getbuf(rel, rblkno, HASH_WRITE);
                rpage = BufferGetPage(rbuf);
-               _hash_checkpage(rpage, LH_OVERFLOW_PAGE);
-               Assert(!PageIsEmpty(rpage));
+               _hash_checkpage(rel, rpage, LH_OVERFLOW_PAGE);
                ropaque = (HashPageOpaque) PageGetSpecialPointer(rpage);
                Assert(ropaque->hasho_bucket == bucket);
        } while (BlockNumberIsValid(ropaque->hasho_nextblkno));
@@ -536,87 +607,97 @@ _hash_squeezebucket(Relation rel,
        roffnum = FirstOffsetNumber;
        for (;;)
        {
-               hitem = (HashItem) PageGetItem(rpage, PageGetItemId(rpage, roffnum));
-               itemsz = IndexTupleDSize(hitem->hash_itup)
-                       + (sizeof(HashItemData) - sizeof(IndexTupleData));
-               itemsz = MAXALIGN(itemsz);
-
-               /*
-                * walk up the bucket chain, looking for a page big enough for
-                * this item.
-                */
-               while (PageGetFreeSpace(wpage) < itemsz)
+               /* this test is needed in case page is empty on entry */
+               if (roffnum <= PageGetMaxOffsetNumber(rpage))
                {
-                       wblkno = wopaque->hasho_nextblkno;
-
-                       _hash_wrtbuf(rel, wbuf);
+                       hitem = (HashItem) PageGetItem(rpage,
+                                                                                  PageGetItemId(rpage, roffnum));
+                       itemsz = IndexTupleDSize(hitem->hash_itup)
+                               + (sizeof(HashItemData) - sizeof(IndexTupleData));
+                       itemsz = MAXALIGN(itemsz);
 
-                       if (!BlockNumberIsValid(wblkno) || (rblkno == wblkno))
+                       /*
+                        * Walk up the bucket chain, looking for a page big enough for
+                        * this item.  Exit if we reach the read page.
+                        */
+                       while (PageGetFreeSpace(wpage) < itemsz)
                        {
-                               _hash_wrtbuf(rel, rbuf);
-                               /* wbuf is already released */
-                               return;
-                       }
+                               Assert(!PageIsEmpty(wpage));
 
-                       wbuf = _hash_getbuf(rel, wblkno, HASH_WRITE);
-                       wpage = BufferGetPage(wbuf);
-                       _hash_checkpage(wpage, LH_OVERFLOW_PAGE);
-                       Assert(!PageIsEmpty(wpage));
-                       wopaque = (HashPageOpaque) PageGetSpecialPointer(wpage);
-                       Assert(wopaque->hasho_bucket == bucket);
-               }
+                               wblkno = wopaque->hasho_nextblkno;
+                               Assert(BlockNumberIsValid(wblkno));
 
-               /*
-                * if we're here, we have found room so insert on the "write"
-                * page.
-                */
-               woffnum = OffsetNumberNext(PageGetMaxOffsetNumber(wpage));
-               if (PageAddItem(wpage, (Item) hitem, itemsz, woffnum, LP_USED)
-                       == InvalidOffsetNumber)
-                       elog(ERROR, "failed to add index item to \"%s\"",
-                                RelationGetRelationName(rel));
+                               _hash_wrtbuf(rel, wbuf);
 
-               /*
-                * delete the tuple from the "read" page. PageIndexTupleDelete
-                * repacks the ItemId array, so 'roffnum' will be "advanced" to
-                * the "next" ItemId.
-                */
-               PageIndexTupleDelete(rpage, roffnum);
-               _hash_wrtnorelbuf(rbuf);
+                               if (rblkno == wblkno)
+                               {
+                                       /* wbuf is already released */
+                                       _hash_wrtbuf(rel, rbuf);
+                                       return;
+                               }
+
+                               wbuf = _hash_getbuf(rel, wblkno, HASH_WRITE);
+                               wpage = BufferGetPage(wbuf);
+                               _hash_checkpage(rel, wpage, LH_OVERFLOW_PAGE);
+                               wopaque = (HashPageOpaque) PageGetSpecialPointer(wpage);
+                               Assert(wopaque->hasho_bucket == bucket);
+                       }
+
+                       /*
+                        * we have found room so insert on the "write" page.
+                        */
+                       woffnum = OffsetNumberNext(PageGetMaxOffsetNumber(wpage));
+                       if (PageAddItem(wpage, (Item) hitem, itemsz, woffnum, LP_USED)
+                               == InvalidOffsetNumber)
+                               elog(ERROR, "failed to add index item to \"%s\"",
+                                        RelationGetRelationName(rel));
+
+                       /*
+                        * delete the tuple from the "read" page. PageIndexTupleDelete
+                        * repacks the ItemId array, so 'roffnum' will be "advanced" to
+                        * the "next" ItemId.
+                        */
+                       PageIndexTupleDelete(rpage, roffnum);
+               }
 
                /*
-                * if the "read" page is now empty because of the deletion, free
-                * it.
+                * if the "read" page is now empty because of the deletion (or
+                * because it was empty when we got to it), free it.
+                *
+                * Tricky point here: if our read and write pages are adjacent in the
+                * bucket chain, our write lock on wbuf will conflict with
+                * _hash_freeovflpage's attempt to update the sibling links of the
+                * removed page.  However, in that case we are done anyway, so we can
+                * simply drop the write lock before calling _hash_freeovflpage.
                 */
-               if (PageIsEmpty(rpage) && (ropaque->hasho_flag & LH_OVERFLOW_PAGE))
+               if (PageIsEmpty(rpage))
                {
                        rblkno = ropaque->hasho_prevblkno;
                        Assert(BlockNumberIsValid(rblkno));
 
-                       /*
-                        * free this overflow page.  the extra _hash_relbuf is because
-                        * _hash_freeovflpage gratuitously returns the next page (we
-                        * want the previous page and will get it ourselves later).
-                        */
-                       rbuf = _hash_freeovflpage(rel, rbuf);
-                       if (BufferIsValid(rbuf))
-                               _hash_relbuf(rel, rbuf, HASH_WRITE);
-
+                       /* are we freeing the page adjacent to wbuf? */
                        if (rblkno == wblkno)
                        {
-                               /* rbuf is already released */
+                               /* yes, so release wbuf lock first */
                                _hash_wrtbuf(rel, wbuf);
+                               /* free this overflow page (releases rbuf) */
+                               _hash_freeovflpage(rel, rbuf);
+                               /* done */
                                return;
                        }
 
+                       /* free this overflow page, then get the previous one */
+                       _hash_freeovflpage(rel, rbuf);
+
                        rbuf = _hash_getbuf(rel, rblkno, HASH_WRITE);
                        rpage = BufferGetPage(rbuf);
-                       _hash_checkpage(rpage, LH_OVERFLOW_PAGE);
-                       Assert(!PageIsEmpty(rpage));
+                       _hash_checkpage(rel, rpage, LH_OVERFLOW_PAGE);
                        ropaque = (HashPageOpaque) PageGetSpecialPointer(rpage);
                        Assert(ropaque->hasho_bucket == bucket);
 
                        roffnum = FirstOffsetNumber;
                }
        }
+
+       /* NOTREACHED */
 }
index 5e454899f12687798cc677006e2e490a915bf8e6..9ff94d372ef30fdc35854bc9d47a6c59379ccec5 100644 (file)
  * NOTES
  *       Postgres hash pages look like ordinary relation pages.  The opaque
  *       data at high addresses includes information about the page including
- *       whether a page is an overflow page or a true bucket, the block
- *       numbers of the preceding and following pages, and the overflow
- *       address of the page if it is an overflow page.
+ *       whether a page is an overflow page or a true bucket, the bucket
+ *       number, and the block numbers of the preceding and following pages
+ *       in the same bucket.
  *
  *       The first page in a hash relation, page zero, is special -- it stores
  *       information describing the hash table; it is referred to as the
  *       "meta page." Pages one and higher store the actual data.
  *
+ *       There are also bitmap pages, which are not manipulated here;
+ *       see hashovfl.c.
+ *
  *-------------------------------------------------------------------------
  */
-
 #include "postgres.h"
 
 #include "access/genam.h"
 #include "access/hash.h"
-#include "miscadmin.h"
 #include "storage/lmgr.h"
+#include "utils/lsyscache.h"
+
 
+static void _hash_splitbucket(Relation rel, Buffer metabuf,
+                                                         Bucket obucket, Bucket nbucket,
+                                                         BlockNumber start_oblkno,
+                                                         BlockNumber start_nblkno,
+                                                         uint32 maxbucket,
+                                                         uint32 highmask, uint32 lowmask);
 
-static void _hash_setpagelock(Relation rel, BlockNumber blkno, int access);
-static void _hash_unsetpagelock(Relation rel, BlockNumber blkno, int access);
-static void _hash_splitpage(Relation rel, Buffer metabuf, Bucket obucket, Bucket nbucket);
 
 /*
- *     We use high-concurrency locking on hash indices.  There are two cases in
- *     which we don't do locking.  One is when we're building the index.
- *     Since the creating transaction has not committed, no one can see
- *     the index, and there's no reason to share locks.  The second case
- *     is when we're just starting up the database system.  We use some
- *     special-purpose initialization code in the relation cache manager
- *     (see utils/cache/relcache.c) to allow us to do indexed scans on
- *     the system catalogs before we'd normally be able to.  This happens
- *     before the lock table is fully initialized, so we can't use it.
- *     Strictly speaking, this violates 2pl, but we don't do 2pl on the
- *     system catalogs anyway.
- *
- *     Note that our page locks are actual lockmanager locks, not buffer
- *     locks (as are used by btree, for example).      This is a good idea because
- *     the algorithms are not deadlock-free, and we'd better be able to detect
- *     and recover from deadlocks.
- *
- *     Another important difference from btree is that a hash indexscan
- *     retains both a lock and a buffer pin on the current index page
- *     between hashgettuple() calls (btree keeps only a buffer pin).
- *     Because of this, it's safe to do item deletions with only a regular
- *     write lock on a hash page --- there cannot be an indexscan stopped on
- *     the page being deleted, other than an indexscan of our own backend,
- *     which will be taken care of by _hash_adjscans.
+ * We use high-concurrency locking on hash indexes (see README for an overview
+ * of the locking rules).  There are two cases in which we don't do locking.
+ * One is when the index is newly created in the current transaction.  Since
+ * the creating transaction has not committed, no one else can see the index,
+ * and there's no reason to take locks.  The second case is for temp
+ * relations, which no one else can see either.  (We still take buffer-level
+ * locks, but not lmgr locks.)
  */
-
-
-#define USELOCKING             (!BuildingHash && !IsInitProcessingMode())
+#define USELOCKING(rel)                (!((rel)->rd_isnew || (rel)->rd_istemp))
 
 
 /*
- *     _hash_metapinit() -- Initialize the metadata page of a hash index,
- *                             the two buckets that we begin with and the initial
- *                             bitmap page.
+ * _hash_getlock() -- Acquire an lmgr lock.
+ *
+ * 'whichlock' should be zero to acquire the split-control lock, or the
+ * block number of a bucket's primary bucket page to acquire the per-bucket
+ * lock.  (See README for details of the use of these locks.)
+ *
+ * 'access' must be HASH_SHARE or HASH_EXCLUSIVE.
  */
 void
-_hash_metapinit(Relation rel)
+_hash_getlock(Relation rel, BlockNumber whichlock, int access)
 {
-       HashMetaPage metap;
-       HashPageOpaque pageopaque;
-       Buffer          metabuf;
-       Buffer          buf;
-       Page            pg;
-       int                     nbuckets;
-       uint32          nelem;                  /* number elements */
-       uint32          lg2nelem;               /* _hash_log2(nelem)   */
-       uint16          i;
-
-       /* can't be sharing this with anyone, now... */
-       if (USELOCKING)
-               LockRelation(rel, AccessExclusiveLock);
-
-       if (RelationGetNumberOfBlocks(rel) != 0)
-               elog(ERROR, "cannot initialize non-empty hash index \"%s\"",
-                        RelationGetRelationName(rel));
-
-       metabuf = _hash_getbuf(rel, HASH_METAPAGE, HASH_WRITE);
-       pg = BufferGetPage(metabuf);
-       metap = (HashMetaPage) pg;
-       _hash_pageinit(pg, BufferGetPageSize(metabuf));
-
-       metap->hashm_magic = HASH_MAGIC;
-       metap->hashm_version = HASH_VERSION;
-       metap->hashm_nkeys = 0;
-       metap->hashm_nmaps = 0;
-       metap->hashm_ffactor = DEFAULT_FFACTOR;
-       metap->hashm_bsize = BufferGetPageSize(metabuf);
-       metap->hashm_bshift = _hash_log2(metap->hashm_bsize);
-       for (i = metap->hashm_bshift; i > 0; --i)
-       {
-               if ((1 << i) < (metap->hashm_bsize -
-                                               (MAXALIGN(sizeof(PageHeaderData)) +
-                                                MAXALIGN(sizeof(HashPageOpaqueData)))))
-                       break;
-       }
-       Assert(i);
-       metap->hashm_bmsize = 1 << i;
-       metap->hashm_procid = index_getprocid(rel, 1, HASHPROC);
-
-       /*
-        * Make nelem = 2 rather than 0 so that we end up allocating space for
-        * the next greater power of two number of buckets.
-        */
-       nelem = 2;
-       lg2nelem = 1;                           /* _hash_log2(MAX(nelem, 2)) */
-       nbuckets = 2;                           /* 1 << lg2nelem */
-
-       MemSet((char *) metap->hashm_spares, 0, sizeof(metap->hashm_spares));
-       MemSet((char *) metap->hashm_mapp, 0, sizeof(metap->hashm_mapp));
-
-       metap->hashm_spares[lg2nelem] = 2;      /* lg2nelem + 1 */
-       metap->hashm_spares[lg2nelem + 1] = 2;          /* lg2nelem + 1 */
-       metap->hashm_ovflpoint = 1; /* lg2nelem */
-       metap->hashm_lastfreed = 2;
-
-       metap->hashm_maxbucket = metap->hashm_lowmask = 1;      /* nbuckets - 1 */
-       metap->hashm_highmask = 3;      /* (nbuckets << 1) - 1 */
-
-       pageopaque = (HashPageOpaque) PageGetSpecialPointer(pg);
-       pageopaque->hasho_oaddr = InvalidOvflAddress;
-       pageopaque->hasho_prevblkno = InvalidBlockNumber;
-       pageopaque->hasho_nextblkno = InvalidBlockNumber;
-       pageopaque->hasho_flag = LH_META_PAGE;
-       pageopaque->hasho_bucket = -1;
-
-       /*
-        * First bitmap page is at: splitpoint lg2nelem page offset 1 which
-        * turns out to be page 3. Couldn't initialize page 3  until we
-        * created the first two buckets above.
-        */
-       if (_hash_initbitmap(rel, metap, OADDR_OF(lg2nelem, 1), lg2nelem + 1, 0))
-               elog(ERROR, "_hash_initbitmap failed");
-
-       /* all done */
-       _hash_wrtnorelbuf(metabuf);
-
-       /*
-        * initialize the first two buckets
-        */
-       for (i = 0; i <= 1; i++)
-       {
-               buf = _hash_getbuf(rel, BUCKET_TO_BLKNO(i), HASH_WRITE);
-               pg = BufferGetPage(buf);
-               _hash_pageinit(pg, BufferGetPageSize(buf));
-               pageopaque = (HashPageOpaque) PageGetSpecialPointer(pg);
-               pageopaque->hasho_oaddr = InvalidOvflAddress;
-               pageopaque->hasho_prevblkno = InvalidBlockNumber;
-               pageopaque->hasho_nextblkno = InvalidBlockNumber;
-               pageopaque->hasho_flag = LH_BUCKET_PAGE;
-               pageopaque->hasho_bucket = i;
-               _hash_wrtbuf(rel, buf);
-       }
+       if (USELOCKING(rel))
+               LockPage(rel, whichlock, access);
+}
 
-       _hash_relbuf(rel, metabuf, HASH_WRITE);
+/*
+ * _hash_try_getlock() -- Acquire an lmgr lock, but only if it's free.
+ *
+ * Same as above except we return FALSE without blocking if lock isn't free.
+ */
+bool
+_hash_try_getlock(Relation rel, BlockNumber whichlock, int access)
+{
+       if (USELOCKING(rel))
+               return ConditionalLockPage(rel, whichlock, access);
+       else
+               return true;
+}
 
-       if (USELOCKING)
-               UnlockRelation(rel, AccessExclusiveLock);
+/*
+ * _hash_droplock() -- Release an lmgr lock.
+ */
+void
+_hash_droplock(Relation rel, BlockNumber whichlock, int access)
+{
+       if (USELOCKING(rel))
+               UnlockPage(rel, whichlock, access);
 }
 
 /*
  *     _hash_getbuf() -- Get a buffer by block number for read or write.
  *
+ *             'access' must be HASH_READ, HASH_WRITE, or HASH_NOLOCK.
+ *
  *             When this routine returns, the appropriate lock is set on the
- *             requested buffer its reference count is correct.
+ *             requested buffer and its reference count has been incremented
+ *             (ie, the buffer is "locked and pinned").
  *
  *             XXX P_NEW is not used because, unlike the tree structures, we
  *             need the bucket blocks to be at certain block numbers.  we must
@@ -194,61 +115,59 @@ _hash_getbuf(Relation rel, BlockNumber blkno, int access)
 
        if (blkno == P_NEW)
                elog(ERROR, "hash AM does not use P_NEW");
-       switch (access)
-       {
-               case HASH_WRITE:
-               case HASH_READ:
-                       _hash_setpagelock(rel, blkno, access);
-                       break;
-               default:
-                       elog(ERROR, "unrecognized hash access code: %d", access);
-                       break;
-       }
+
        buf = ReadBuffer(rel, blkno);
 
+       if (access != HASH_NOLOCK)
+               LockBuffer(buf, access);
+
        /* ref count and lock type are correct */
        return buf;
 }
 
 /*
  *     _hash_relbuf() -- release a locked buffer.
+ *
+ * Lock and pin (refcount) are both dropped.  Note that either read or
+ * write lock can be dropped this way, but if we modified the buffer,
+ * this is NOT the right way to release a write lock.
  */
 void
-_hash_relbuf(Relation rel, Buffer buf, int access)
+_hash_relbuf(Relation rel, Buffer buf)
 {
-       BlockNumber blkno;
-
-       blkno = BufferGetBlockNumber(buf);
-
-       switch (access)
-       {
-               case HASH_WRITE:
-               case HASH_READ:
-                       _hash_unsetpagelock(rel, blkno, access);
-                       break;
-               default:
-                       elog(ERROR, "unrecognized hash access code: %d", access);
-                       break;
-       }
+       LockBuffer(buf, BUFFER_LOCK_UNLOCK);
+       ReleaseBuffer(buf);
+}
 
+/*
+ *     _hash_dropbuf() -- release an unlocked buffer.
+ *
+ * This is used to unpin a buffer on which we hold no lock.  It is assumed
+ * that the buffer is not dirty.
+ */
+void
+_hash_dropbuf(Relation rel, Buffer buf)
+{
        ReleaseBuffer(buf);
 }
 
 /*
  *     _hash_wrtbuf() -- write a hash page to disk.
  *
- *             This routine releases the lock held on the buffer and our reference
- *             to it.  It is an error to call _hash_wrtbuf() without a write lock
- *             or a reference to the buffer.
+ *             This routine releases the lock held on the buffer and our refcount
+ *             for it.  It is an error to call _hash_wrtbuf() without a write lock
+ *             and a pin on the buffer.
+ *
+ * NOTE: actually, the buffer manager just marks the shared buffer page
+ * dirty here; the real I/O happens later.     This is okay since we are not
+ * relying on write ordering anyway.  The WAL mechanism is responsible for
+ * guaranteeing correctness after a crash.
  */
 void
 _hash_wrtbuf(Relation rel, Buffer buf)
 {
-       BlockNumber blkno;
-
-       blkno = BufferGetBlockNumber(buf);
+       LockBuffer(buf, BUFFER_LOCK_UNLOCK);
        WriteBuffer(buf);
-       _hash_unsetpagelock(rel, blkno, HASH_WRITE);
 }
 
 /*
@@ -256,147 +175,181 @@ _hash_wrtbuf(Relation rel, Buffer buf)
  *                                              our reference or lock.
  *
  *             It is an error to call _hash_wrtnorelbuf() without a write lock
- *             or a reference to the buffer.
+ *             and a pin on the buffer.
+ *
+ * See above NOTE.
  */
 void
-_hash_wrtnorelbuf(Buffer buf)
+_hash_wrtnorelbuf(Relation rel, Buffer buf)
 {
-       BlockNumber blkno;
-
-       blkno = BufferGetBlockNumber(buf);
        WriteNoReleaseBuffer(buf);
 }
 
-Page
+/*
+ * _hash_chgbufaccess() -- Change the lock type on a buffer, without
+ *                     dropping our pin on it.
+ *
+ * from_access and to_access may be HASH_READ, HASH_WRITE, or HASH_NOLOCK,
+ * the last indicating that no buffer-level lock is held or wanted.
+ *
+ * When from_access == HASH_WRITE, we assume the buffer is dirty and tell
+ * bufmgr it must be written out.  If the caller wants to release a write
+ * lock on a page that's not been modified, it's okay to pass from_access
+ * as HASH_READ (a bit ugly, but handy in some places).
+ */
+void
 _hash_chgbufaccess(Relation rel,
-                                  Buffer *bufp,
+                                  Buffer buf,
                                   int from_access,
                                   int to_access)
 {
-       BlockNumber blkno;
+       if (from_access != HASH_NOLOCK)
+               LockBuffer(buf, BUFFER_LOCK_UNLOCK);
+       if (from_access == HASH_WRITE)
+               WriteNoReleaseBuffer(buf);
 
-       blkno = BufferGetBlockNumber(*bufp);
-
-       switch (from_access)
-       {
-               case HASH_WRITE:
-                       _hash_wrtbuf(rel, *bufp);
-                       break;
-               case HASH_READ:
-                       _hash_relbuf(rel, *bufp, from_access);
-                       break;
-               default:
-                       elog(ERROR, "unrecognized hash access code: %d", from_access);
-                       break;
-       }
-       *bufp = _hash_getbuf(rel, blkno, to_access);
-       return BufferGetPage(*bufp);
+       if (to_access != HASH_NOLOCK)
+               LockBuffer(buf, to_access);
 }
 
+
 /*
- *     _hash_pageinit() -- Initialize a new page.
+ *     _hash_metapinit() -- Initialize the metadata page of a hash index,
+ *                             the two buckets that we begin with and the initial
+ *                             bitmap page.
+ *
+ * We are fairly cavalier about locking here, since we know that no one else
+ * could be accessing this index.  In particular the rule about not holding
+ * multiple buffer locks is ignored.
  */
 void
-_hash_pageinit(Page page, Size size)
+_hash_metapinit(Relation rel)
 {
-       Assert(PageIsNew(page));
-       PageInit(page, size, sizeof(HashPageOpaqueData));
-}
+       HashMetaPage metap;
+       HashPageOpaque pageopaque;
+       Buffer          metabuf;
+       Buffer          buf;
+       Page            pg;
+       int32           data_width;
+       int32           item_width;
+       int32           ffactor;
+       uint16          i;
 
-static void
-_hash_setpagelock(Relation rel,
-                                 BlockNumber blkno,
-                                 int access)
-{
+       /* safety check */
+       if (RelationGetNumberOfBlocks(rel) != 0)
+               elog(ERROR, "cannot initialize non-empty hash index \"%s\"",
+                        RelationGetRelationName(rel));
 
-       if (USELOCKING)
-       {
-               switch (access)
-               {
-                       case HASH_WRITE:
-                               LockPage(rel, blkno, ExclusiveLock);
-                               break;
-                       case HASH_READ:
-                               LockPage(rel, blkno, ShareLock);
-                               break;
-                       default:
-                               elog(ERROR, "unrecognized hash access code: %d", access);
-                               break;
-               }
-       }
-}
+       /*
+        * Determine the target fill factor (tuples per bucket) for this index.
+        * The idea is to make the fill factor correspond to pages about 3/4ths
+        * full.  We can compute it exactly if the index datatype is fixed-width,
+        * but for var-width there's some guessing involved.
+        */
+       data_width = get_typavgwidth(RelationGetDescr(rel)->attrs[0]->atttypid,
+                                                                RelationGetDescr(rel)->attrs[0]->atttypmod);
+       item_width = MAXALIGN(sizeof(HashItemData)) + MAXALIGN(data_width) +
+               sizeof(ItemIdData);             /* include the line pointer */
+       ffactor = (BLCKSZ * 3 / 4) / item_width;
+       /* keep to a sane range */
+       if (ffactor < 10)
+               ffactor = 10;
 
-static void
-_hash_unsetpagelock(Relation rel,
-                                       BlockNumber blkno,
-                                       int access)
-{
+       metabuf = _hash_getbuf(rel, HASH_METAPAGE, HASH_WRITE);
+       pg = BufferGetPage(metabuf);
+       _hash_pageinit(pg, BufferGetPageSize(metabuf));
+
+       pageopaque = (HashPageOpaque) PageGetSpecialPointer(pg);
+       pageopaque->hasho_prevblkno = InvalidBlockNumber;
+       pageopaque->hasho_nextblkno = InvalidBlockNumber;
+       pageopaque->hasho_bucket = -1;
+       pageopaque->hasho_flag = LH_META_PAGE;
+       pageopaque->hasho_filler = HASHO_FILL;
+
+       metap = (HashMetaPage) pg;
 
-       if (USELOCKING)
+       metap->hashm_magic = HASH_MAGIC;
+       metap->hashm_version = HASH_VERSION;
+       metap->hashm_ntuples = 0;
+       metap->hashm_nmaps = 0;
+       metap->hashm_ffactor = ffactor;
+       metap->hashm_bsize = BufferGetPageSize(metabuf);
+       /* find largest bitmap array size that will fit in page size */
+       for (i = _hash_log2(metap->hashm_bsize); i > 0; --i)
        {
-               switch (access)
-               {
-                       case HASH_WRITE:
-                               UnlockPage(rel, blkno, ExclusiveLock);
-                               break;
-                       case HASH_READ:
-                               UnlockPage(rel, blkno, ShareLock);
-                               break;
-                       default:
-                               elog(ERROR, "unrecognized hash access code: %d", access);
-                               break;
-               }
+               if ((1 << i) <= (metap->hashm_bsize -
+                                                (MAXALIGN(sizeof(PageHeaderData)) +
+                                                 MAXALIGN(sizeof(HashPageOpaqueData)))))
+                       break;
        }
-}
+       Assert(i > 0);
+       metap->hashm_bmsize = 1 << i;
+       metap->hashm_bmshift = i + BYTE_TO_BIT;
+       Assert((1 << BMPG_SHIFT(metap)) == (BMPG_MASK(metap) + 1));
 
-/*
- * Delete a hash index item.
- *
- * It is safe to delete an item after acquiring a regular WRITE lock on
- * the page, because no other backend can hold a READ lock on the page,
- * and that means no other backend currently has an indexscan stopped on
- * any item of the item being deleted. Our own backend might have such
- * an indexscan (in fact *will*, since that's how VACUUM found the item
- * in the first place), but _hash_adjscans will fix the scan position.
- */
-void
-_hash_pagedel(Relation rel, ItemPointer tid)
-{
-       Buffer          buf;
-       Buffer          metabuf;
-       Page            page;
-       BlockNumber blkno;
-       OffsetNumber offno;
-       HashMetaPage metap;
-       HashPageOpaque opaque;
+       metap->hashm_procid = index_getprocid(rel, 1, HASHPROC);
 
-       blkno = ItemPointerGetBlockNumber(tid);
-       offno = ItemPointerGetOffsetNumber(tid);
+       /*
+        * We initialize the index with two buckets, 0 and 1, occupying physical
+        * blocks 1 and 2.  The first freespace bitmap page is in block 3.
+        */
+       metap->hashm_maxbucket = metap->hashm_lowmask = 1;      /* nbuckets - 1 */
+       metap->hashm_highmask = 3;      /* (nbuckets << 1) - 1 */
 
-       buf = _hash_getbuf(rel, blkno, HASH_WRITE);
-       page = BufferGetPage(buf);
-       _hash_checkpage(page, LH_BUCKET_PAGE | LH_OVERFLOW_PAGE);
-       opaque = (HashPageOpaque) PageGetSpecialPointer(page);
+       MemSet((char *) metap->hashm_spares, 0, sizeof(metap->hashm_spares));
+       MemSet((char *) metap->hashm_mapp, 0, sizeof(metap->hashm_mapp));
 
-       PageIndexTupleDelete(page, offno);
-       _hash_wrtnorelbuf(buf);
+       metap->hashm_spares[1] = 1;     /* the first bitmap page is only spare */
+       metap->hashm_ovflpoint = 1;
+       metap->hashm_firstfree = 0;
 
-       if (PageIsEmpty(page) && (opaque->hasho_flag & LH_OVERFLOW_PAGE))
+       /*
+        * Initialize the first two buckets
+        */
+       for (i = 0; i <= 1; i++)
        {
-               buf = _hash_freeovflpage(rel, buf);
-               if (BufferIsValid(buf))
-                       _hash_relbuf(rel, buf, HASH_WRITE);
+               buf = _hash_getbuf(rel, BUCKET_TO_BLKNO(metap, i), HASH_WRITE);
+               pg = BufferGetPage(buf);
+               _hash_pageinit(pg, BufferGetPageSize(buf));
+               pageopaque = (HashPageOpaque) PageGetSpecialPointer(pg);
+               pageopaque->hasho_prevblkno = InvalidBlockNumber;
+               pageopaque->hasho_nextblkno = InvalidBlockNumber;
+               pageopaque->hasho_bucket = i;
+               pageopaque->hasho_flag = LH_BUCKET_PAGE;
+               pageopaque->hasho_filler = HASHO_FILL;
+               _hash_wrtbuf(rel, buf);
        }
-       else
-               _hash_relbuf(rel, buf, HASH_WRITE);
 
-       metabuf = _hash_getbuf(rel, HASH_METAPAGE, HASH_WRITE);
-       metap = (HashMetaPage) BufferGetPage(metabuf);
-       _hash_checkpage((Page) metap, LH_META_PAGE);
-       metap->hashm_nkeys--;
+       /*
+        * Initialize first bitmap page.  Can't do this until we
+        * create the first two buckets, else smgr will complain.
+        */
+       _hash_initbitmap(rel, metap, 3);
+
+       /* all done */
        _hash_wrtbuf(rel, metabuf);
 }
 
+/*
+ *     _hash_pageinit() -- Initialize a new hash index page.
+ */
+void
+_hash_pageinit(Page page, Size size)
+{
+       Assert(PageIsNew(page));
+       PageInit(page, size, sizeof(HashPageOpaqueData));
+}
+
+/*
+ * Attempt to expand the hash table by creating one new bucket.
+ *
+ * This will silently do nothing if it cannot get the needed locks.
+ *
+ * The caller should hold no locks on the hash index.
+ *
+ * The caller must hold a pin, but no lock, on the metapage buffer.
+ * The buffer is returned in the same state.
+ */
 void
 _hash_expandtable(Relation rel, Buffer metabuf)
 {
@@ -404,62 +357,172 @@ _hash_expandtable(Relation rel, Buffer metabuf)
        Bucket          old_bucket;
        Bucket          new_bucket;
        uint32          spare_ndx;
+       BlockNumber start_oblkno;
+       BlockNumber start_nblkno;
+       uint32          maxbucket;
+       uint32          highmask;
+       uint32          lowmask;
+
+       /*
+        * Obtain the page-zero lock to assert the right to begin a split
+        * (see README).
+        *
+        * Note: deadlock should be impossible here. Our own backend could only
+        * be holding bucket sharelocks due to stopped indexscans; those will not
+        * block other holders of the page-zero lock, who are only interested in
+        * acquiring bucket sharelocks themselves.  Exclusive bucket locks are
+        * only taken here and in hashbulkdelete, and neither of these operations
+        * needs any additional locks to complete.  (If, due to some flaw in this
+        * reasoning, we manage to deadlock anyway, it's okay to error out; the
+        * index will be left in a consistent state.)
+        */
+       _hash_getlock(rel, 0, HASH_EXCLUSIVE);
+
+       /* Write-lock the meta page */
+       _hash_chgbufaccess(rel, metabuf, HASH_NOLOCK, HASH_WRITE);
 
        metap = (HashMetaPage) BufferGetPage(metabuf);
-       _hash_checkpage((Page) metap, LH_META_PAGE);
+       _hash_checkpage(rel, (Page) metap, LH_META_PAGE);
 
-       metap = (HashMetaPage) _hash_chgbufaccess(rel, &metabuf, HASH_READ, HASH_WRITE);
-       new_bucket = ++metap->hashm_maxbucket;
-       metap = (HashMetaPage) _hash_chgbufaccess(rel, &metabuf, HASH_WRITE, HASH_READ);
-       old_bucket = (metap->hashm_maxbucket & metap->hashm_lowmask);
+       /*
+        * Check to see if split is still needed; someone else might have already
+        * done one while we waited for the lock.
+        *
+        * Make sure this stays in sync with_hash_doinsert()
+        */
+       if (metap->hashm_ntuples <=
+               (double) metap->hashm_ffactor * (metap->hashm_maxbucket + 1))
+               goto fail;
 
        /*
-        * If the split point is increasing (hashm_maxbucket's log base 2 *
-        * increases), we need to copy the current contents of the spare split
-        * bucket to the next bucket.
+        * Determine which bucket is to be split, and attempt to lock the old
+        * bucket.  If we can't get the lock, give up.
+        *
+        * The lock protects us against other backends, but not against our own
+        * backend.  Must check for active scans separately.
+        *
+        * Ideally we would lock the new bucket too before proceeding, but if
+        * we are about to cross a splitpoint then the BUCKET_TO_BLKNO mapping
+        * isn't correct yet.  For simplicity we update the metapage first and
+        * then lock.  This should be okay because no one else should be trying
+        * to lock the new bucket yet...
         */
-       spare_ndx = _hash_log2(metap->hashm_maxbucket + 1);
-       if (spare_ndx > metap->hashm_ovflpoint)
-       {
+       new_bucket = metap->hashm_maxbucket + 1;
+       old_bucket = (new_bucket & metap->hashm_lowmask);
 
-               metap = (HashMetaPage) _hash_chgbufaccess(rel, &metabuf, HASH_READ, HASH_WRITE);
-               metap->hashm_spares[spare_ndx] = metap->hashm_spares[metap->hashm_ovflpoint];
-               metap->hashm_ovflpoint = spare_ndx;
-               metap = (HashMetaPage) _hash_chgbufaccess(rel, &metabuf, HASH_WRITE, HASH_READ);
-       }
+       start_oblkno = BUCKET_TO_BLKNO(metap, old_bucket);
+
+       if (_hash_has_active_scan(rel, old_bucket))
+               goto fail;
+
+       if (!_hash_try_getlock(rel, start_oblkno, HASH_EXCLUSIVE))
+               goto fail;
+
+       /*
+        * Okay to proceed with split.  Update the metapage bucket mapping info.
+        */
+       metap->hashm_maxbucket = new_bucket;
 
        if (new_bucket > metap->hashm_highmask)
        {
-
                /* Starting a new doubling */
-               metap = (HashMetaPage) _hash_chgbufaccess(rel, &metabuf, HASH_READ, HASH_WRITE);
                metap->hashm_lowmask = metap->hashm_highmask;
                metap->hashm_highmask = new_bucket | metap->hashm_lowmask;
-               metap = (HashMetaPage) _hash_chgbufaccess(rel, &metabuf, HASH_WRITE, HASH_READ);
+       }
 
+       /*
+        * If the split point is increasing (hashm_maxbucket's log base 2
+        * increases), we need to adjust the hashm_spares[] array and
+        * hashm_ovflpoint so that future overflow pages will be created beyond
+        * this new batch of bucket pages.
+        *
+        * XXX should initialize new bucket pages to prevent out-of-order
+        * page creation?  Don't wanna do it right here though.
+        */
+       spare_ndx = _hash_log2(metap->hashm_maxbucket + 1);
+       if (spare_ndx > metap->hashm_ovflpoint)
+       {
+               Assert(spare_ndx == metap->hashm_ovflpoint + 1);
+               metap->hashm_spares[spare_ndx] = metap->hashm_spares[metap->hashm_ovflpoint];
+               metap->hashm_ovflpoint = spare_ndx;
        }
+
+       /* now we can compute the new bucket's primary block number */
+       start_nblkno = BUCKET_TO_BLKNO(metap, new_bucket);
+
+       Assert(!_hash_has_active_scan(rel, new_bucket));
+
+       if (!_hash_try_getlock(rel, start_nblkno, HASH_EXCLUSIVE))
+               elog(PANIC, "could not get lock on supposedly new bucket");
+
+       /*
+        * Copy bucket mapping info now; this saves re-accessing the meta page
+        * inside _hash_splitbucket's inner loop.  Note that once we drop the
+        * split lock, other splits could begin, so these values might be out of
+        * date before _hash_splitbucket finishes.  That's okay, since all it
+        * needs is to tell which of these two buckets to map hashkeys into.
+        */
+       maxbucket = metap->hashm_maxbucket;
+       highmask = metap->hashm_highmask;
+       lowmask = metap->hashm_lowmask;
+
+       /* Write out the metapage and drop lock, but keep pin */
+       _hash_chgbufaccess(rel, metabuf, HASH_WRITE, HASH_NOLOCK);
+
+       /* Release split lock; okay for other splits to occur now */
+       _hash_droplock(rel, 0, HASH_EXCLUSIVE);
+
        /* Relocate records to the new bucket */
-       _hash_splitpage(rel, metabuf, old_bucket, new_bucket);
+       _hash_splitbucket(rel, metabuf, old_bucket, new_bucket,
+                                         start_oblkno, start_nblkno,
+                                         maxbucket, highmask, lowmask);
+
+       /* Release bucket locks, allowing others to access them */
+       _hash_droplock(rel, start_oblkno, HASH_EXCLUSIVE);
+       _hash_droplock(rel, start_nblkno, HASH_EXCLUSIVE);
+
+       return;
+
+       /* Here if decide not to split or fail to acquire old bucket lock */
+fail:
+
+       /* We didn't write the metapage, so just drop lock */
+       _hash_chgbufaccess(rel, metabuf, HASH_READ, HASH_NOLOCK);
+
+       /* Release split lock */
+       _hash_droplock(rel, 0, HASH_EXCLUSIVE);
 }
 
 
 /*
- * _hash_splitpage -- split 'obucket' into 'obucket' and 'nbucket'
+ * _hash_splitbucket -- split 'obucket' into 'obucket' and 'nbucket'
+ *
+ * We are splitting a bucket that consists of a base bucket page and zero
+ * or more overflow (bucket chain) pages.  We must relocate tuples that
+ * belong in the new bucket, and compress out any free space in the old
+ * bucket.
  *
- * this routine is actually misnamed -- we are splitting a bucket that
- * consists of a base bucket page and zero or more overflow (bucket
- * chain) pages.
+ * The caller must hold exclusive locks on both buckets to ensure that
+ * no one else is trying to access them (see README).
+ *
+ * The caller must hold a pin, but no lock, on the metapage buffer.
+ * The buffer is returned in the same state.  (The metapage is only
+ * touched if it becomes necessary to add or remove overflow pages.)
  */
 static void
-_hash_splitpage(Relation rel,
-                               Buffer metabuf,
-                               Bucket obucket,
-                               Bucket nbucket)
+_hash_splitbucket(Relation rel,
+                                 Buffer metabuf,
+                                 Bucket obucket,
+                                 Bucket nbucket,
+                                 BlockNumber start_oblkno,
+                                 BlockNumber start_nblkno,
+                                 uint32 maxbucket,
+                                 uint32 highmask,
+                                 uint32 lowmask)
 {
        Bucket          bucket;
        Buffer          obuf;
        Buffer          nbuf;
-       Buffer          ovflbuf;
        BlockNumber oblkno;
        BlockNumber nblkno;
        bool            null;
@@ -467,7 +530,6 @@ _hash_splitpage(Relation rel,
        HashItem        hitem;
        HashPageOpaque oopaque;
        HashPageOpaque nopaque;
-       HashMetaPage metap;
        IndexTuple      itup;
        Size            itemsz;
        OffsetNumber ooffnum;
@@ -475,65 +537,36 @@ _hash_splitpage(Relation rel,
        OffsetNumber omaxoffnum;
        Page            opage;
        Page            npage;
-       TupleDesc       itupdesc;
+       TupleDesc       itupdesc = RelationGetDescr(rel);
 
-       metap = (HashMetaPage) BufferGetPage(metabuf);
-       _hash_checkpage((Page) metap, LH_META_PAGE);
-
-       /* get the buffers & pages */
-       oblkno = BUCKET_TO_BLKNO(obucket);
-       nblkno = BUCKET_TO_BLKNO(nbucket);
+       /*
+        * It should be okay to simultaneously write-lock pages from each
+        * bucket, since no one else can be trying to acquire buffer lock
+        * on pages of either bucket.
+        */
+       oblkno = start_oblkno;
+       nblkno = start_nblkno;
        obuf = _hash_getbuf(rel, oblkno, HASH_WRITE);
        nbuf = _hash_getbuf(rel, nblkno, HASH_WRITE);
        opage = BufferGetPage(obuf);
        npage = BufferGetPage(nbuf);
 
-       /* initialize the new bucket */
+       _hash_checkpage(rel, opage, LH_BUCKET_PAGE);
+       oopaque = (HashPageOpaque) PageGetSpecialPointer(opage);
+
+       /* initialize the new bucket's primary page */
        _hash_pageinit(npage, BufferGetPageSize(nbuf));
        nopaque = (HashPageOpaque) PageGetSpecialPointer(npage);
        nopaque->hasho_prevblkno = InvalidBlockNumber;
        nopaque->hasho_nextblkno = InvalidBlockNumber;
-       nopaque->hasho_flag = LH_BUCKET_PAGE;
-       nopaque->hasho_oaddr = InvalidOvflAddress;
        nopaque->hasho_bucket = nbucket;
-       _hash_wrtnorelbuf(nbuf);
-
-       /*
-        * make sure the old bucket isn't empty.  advance 'opage' and friends
-        * through the overflow bucket chain until we find a non-empty page.
-        *
-        * XXX we should only need this once, if we are careful to preserve the
-        * invariant that overflow pages are never empty.
-        */
-       _hash_checkpage(opage, LH_BUCKET_PAGE);
-       oopaque = (HashPageOpaque) PageGetSpecialPointer(opage);
-       if (PageIsEmpty(opage))
-       {
-               oblkno = oopaque->hasho_nextblkno;
-               _hash_relbuf(rel, obuf, HASH_WRITE);
-               if (!BlockNumberIsValid(oblkno))
-               {
-                       /*
-                        * the old bucket is completely empty; of course, the new
-                        * bucket will be as well, but since it's a base bucket page
-                        * we don't care.
-                        */
-                       _hash_relbuf(rel, nbuf, HASH_WRITE);
-                       return;
-               }
-               obuf = _hash_getbuf(rel, oblkno, HASH_WRITE);
-               opage = BufferGetPage(obuf);
-               _hash_checkpage(opage, LH_OVERFLOW_PAGE);
-               if (PageIsEmpty(opage))
-                       elog(ERROR, "empty hash overflow page %u", oblkno);
-               oopaque = (HashPageOpaque) PageGetSpecialPointer(opage);
-       }
+       nopaque->hasho_flag = LH_BUCKET_PAGE;
+       nopaque->hasho_filler = HASHO_FILL;
 
        /*
-        * we are now guaranteed that 'opage' is not empty.  partition the
-        * tuples in the old bucket between the old bucket and the new bucket,
-        * advancing along their respective overflow bucket chains and adding
-        * overflow pages as needed.
+        * Partition the tuples in the old bucket between the old bucket and the
+        * new bucket, advancing along the old bucket's overflow bucket chain
+        * and adding overflow pages to the new bucket as needed.
         */
        ooffnum = FirstOffsetNumber;
        omaxoffnum = PageGetMaxOffsetNumber(opage);
@@ -547,47 +580,39 @@ _hash_splitpage(Relation rel,
                /* check if we're at the end of the page */
                if (ooffnum > omaxoffnum)
                {
-                       /* at end of page, but check for overflow page */
+                       /* at end of page, but check for an(other) overflow page */
                        oblkno = oopaque->hasho_nextblkno;
-                       if (BlockNumberIsValid(oblkno))
-                       {
-                               /*
-                                * we ran out of tuples on this particular page, but we
-                                * have more overflow pages; re-init values.
-                                */
-                               _hash_wrtbuf(rel, obuf);
-                               obuf = _hash_getbuf(rel, oblkno, HASH_WRITE);
-                               opage = BufferGetPage(obuf);
-                               _hash_checkpage(opage, LH_OVERFLOW_PAGE);
-                               oopaque = (HashPageOpaque) PageGetSpecialPointer(opage);
-                               /* we're guaranteed that an ovfl page has at least 1 tuple */
-                               if (PageIsEmpty(opage))
-                                       elog(ERROR, "empty hash overflow page %u", oblkno);
-                               ooffnum = FirstOffsetNumber;
-                               omaxoffnum = PageGetMaxOffsetNumber(opage);
-                       }
-                       else
-                       {
-                               /*
-                                * we're at the end of the bucket chain, so now we're
-                                * really done with everything.  before quitting, call
-                                * _hash_squeezebucket to ensure the tuples in the bucket
-                                * (including the overflow pages) are packed as tightly as
-                                * possible.
-                                */
-                               _hash_wrtbuf(rel, obuf);
-                               _hash_wrtbuf(rel, nbuf);
-                               _hash_squeezebucket(rel, metap, obucket);
-                               return;
-                       }
+                       if (!BlockNumberIsValid(oblkno))
+                               break;
+                       /*
+                        * we ran out of tuples on this particular page, but we
+                        * have more overflow pages; advance to next page.
+                        */
+                       _hash_wrtbuf(rel, obuf);
+
+                       obuf = _hash_getbuf(rel, oblkno, HASH_WRITE);
+                       opage = BufferGetPage(obuf);
+                       _hash_checkpage(rel, opage, LH_OVERFLOW_PAGE);
+                       oopaque = (HashPageOpaque) PageGetSpecialPointer(opage);
+                       ooffnum = FirstOffsetNumber;
+                       omaxoffnum = PageGetMaxOffsetNumber(opage);
+                       continue;
                }
 
-               /* hash on the tuple */
+               /*
+                * Re-hash the tuple to determine which bucket it now belongs in.
+                *
+                * It is annoying to call the hash function while holding locks,
+                * but releasing and relocking the page for each tuple is unappealing
+                * too.
+                */
                hitem = (HashItem) PageGetItem(opage, PageGetItemId(opage, ooffnum));
                itup = &(hitem->hash_itup);
-               itupdesc = RelationGetDescr(rel);
                datum = index_getattr(itup, 1, itupdesc, &null);
-               bucket = _hash_call(rel, metap, datum);
+               Assert(!null);
+
+               bucket = _hash_hashkey2bucket(_hash_datum2hashkey(rel, datum),
+                                                                         maxbucket, highmask, lowmask);
 
                if (bucket == nbucket)
                {
@@ -603,11 +628,13 @@ _hash_splitpage(Relation rel,
 
                        if (PageGetFreeSpace(npage) < itemsz)
                        {
-                               ovflbuf = _hash_addovflpage(rel, &metabuf, nbuf);
-                               _hash_wrtbuf(rel, nbuf);
-                               nbuf = ovflbuf;
+                               /* write out nbuf and drop lock, but keep pin */
+                               _hash_chgbufaccess(rel, nbuf, HASH_WRITE, HASH_NOLOCK);
+                               /* chain to a new overflow page */
+                               nbuf = _hash_addovflpage(rel, metabuf, nbuf);
                                npage = BufferGetPage(nbuf);
-                               _hash_checkpage(npage, LH_BUCKET_PAGE | LH_OVERFLOW_PAGE);
+                               _hash_checkpage(rel, npage, LH_OVERFLOW_PAGE);
+                               /* we don't need nopaque within the loop */
                        }
 
                        noffnum = OffsetNumberNext(PageGetMaxOffsetNumber(npage));
@@ -615,7 +642,6 @@ _hash_splitpage(Relation rel,
                                == InvalidOffsetNumber)
                                elog(ERROR, "failed to add index item to \"%s\"",
                                         RelationGetRelationName(rel));
-                       _hash_wrtnorelbuf(nbuf);
 
                        /*
                         * now delete the tuple from the old bucket.  after this
@@ -627,40 +653,7 @@ _hash_splitpage(Relation rel,
                         * instead of calling PageGetMaxOffsetNumber.
                         */
                        PageIndexTupleDelete(opage, ooffnum);
-                       _hash_wrtnorelbuf(obuf);
                        omaxoffnum = OffsetNumberPrev(omaxoffnum);
-
-                       /*
-                        * tidy up.  if the old page was an overflow page and it is
-                        * now empty, we must free it (we want to preserve the
-                        * invariant that overflow pages cannot be empty).
-                        */
-                       if (PageIsEmpty(opage) &&
-                               (oopaque->hasho_flag & LH_OVERFLOW_PAGE))
-                       {
-                               obuf = _hash_freeovflpage(rel, obuf);
-
-                               /* check that we're not through the bucket chain */
-                               if (BufferIsInvalid(obuf))
-                               {
-                                       _hash_wrtbuf(rel, nbuf);
-                                       _hash_squeezebucket(rel, metap, obucket);
-                                       return;
-                               }
-
-                               /*
-                                * re-init. again, we're guaranteed that an ovfl page has
-                                * at least one tuple.
-                                */
-                               opage = BufferGetPage(obuf);
-                               _hash_checkpage(opage, LH_OVERFLOW_PAGE);
-                               oblkno = BufferGetBlockNumber(obuf);
-                               oopaque = (HashPageOpaque) PageGetSpecialPointer(opage);
-                               if (PageIsEmpty(opage))
-                                       elog(ERROR, "empty hash overflow page %u", oblkno);
-                               ooffnum = FirstOffsetNumber;
-                               omaxoffnum = PageGetMaxOffsetNumber(opage);
-                       }
                }
                else
                {
@@ -668,12 +661,20 @@ _hash_splitpage(Relation rel,
                         * the tuple stays on this page.  we didn't move anything, so
                         * we didn't delete anything and therefore we don't have to
                         * change 'omaxoffnum'.
-                        *
-                        * XXX any hash value from [0, nbucket-1] will map to this
-                        * bucket, which doesn't make sense to me.
                         */
+                       Assert(bucket == obucket);
                        ooffnum = OffsetNumberNext(ooffnum);
                }
        }
-       /* NOTREACHED */
+
+       /*
+        * We're at the end of the old bucket chain, so we're done partitioning
+        * the tuples.  Before quitting, call _hash_squeezebucket to ensure the
+        * tuples remaining in the old bucket (including the overflow pages) are
+        * packed as tightly as possible.  The new bucket is already tight.
+        */
+       _hash_wrtbuf(rel, obuf);
+       _hash_wrtbuf(rel, nbuf);
+
+       _hash_squeezebucket(rel, obucket, start_oblkno);
 }
index 50119a57090b3e7958ee12d84fff40cf721a4f2d..cabcceb00a9f44fbd0ca95aa8c889dce981c5f5d 100644 (file)
  * IDENTIFICATION
  *       $Header$
  *
- * NOTES
- *       Because we can be doing an index scan on a relation while we
- *       update it, we need to avoid missing data that moves around in
- *       the index.  The routines and global variables in this file
- *       guarantee that all scans in the local address space stay
- *       correctly positioned.  This is all we need to worry about, since
- *       write locking guarantees that no one else will be on the same
- *       page at the same time as we are.
- *
- *       The scheme is to manage a list of active scans in the current
- *       backend.      Whenever we add or remove records from an index, we
- *       check the list of active scans to see if any has been affected.
- *       A scan is affected only if it is on the same relation, and the
- *       same page, as the update.
- *
  *-------------------------------------------------------------------------
  */
 
@@ -44,10 +29,6 @@ typedef HashScanListData *HashScanList;
 static HashScanList HashScans = (HashScanList) NULL;
 
 
-static void _hash_scandel(IndexScanDesc scan,
-                         BlockNumber blkno, OffsetNumber offno);
-
-
 /*
  * AtEOXact_hash() --- clean up hash subsystem at xact abort or commit.
  *
@@ -67,9 +48,6 @@ AtEOXact_hash(void)
         * at end of transaction anyway.
         */
        HashScans = NULL;
-
-       /* If we were building a hash, we ain't anymore. */
-       BuildingHash = false;
 }
 
 /*
@@ -112,70 +90,26 @@ _hash_dropscan(IndexScanDesc scan)
        pfree(chk);
 }
 
-void
-_hash_adjscans(Relation rel, ItemPointer tid)
+/*
+ * Is there an active scan in this bucket?
+ */
+bool
+_hash_has_active_scan(Relation rel, Bucket bucket)
 {
+       Oid                     relid = RelationGetRelid(rel);
        HashScanList l;
-       Oid                     relid;
 
-       relid = RelationGetRelid(rel);
-       for (l = HashScans; l != (HashScanList) NULL; l = l->hashsl_next)
+       for (l = HashScans; l != NULL; l = l->hashsl_next)
        {
                if (relid == l->hashsl_scan->indexRelation->rd_id)
-                       _hash_scandel(l->hashsl_scan, ItemPointerGetBlockNumber(tid),
-                                                 ItemPointerGetOffsetNumber(tid));
-       }
-}
+               {
+                       HashScanOpaque so = (HashScanOpaque) l->hashsl_scan->opaque;
 
-static void
-_hash_scandel(IndexScanDesc scan, BlockNumber blkno, OffsetNumber offno)
-{
-       ItemPointer current;
-       ItemPointer mark;
-       Buffer          buf;
-       Buffer          metabuf;
-       HashScanOpaque so;
-
-       so = (HashScanOpaque) scan->opaque;
-       current = &(scan->currentItemData);
-       mark = &(scan->currentMarkData);
-
-       if (ItemPointerIsValid(current)
-               && ItemPointerGetBlockNumber(current) == blkno
-               && ItemPointerGetOffsetNumber(current) >= offno)
-       {
-               metabuf = _hash_getbuf(scan->indexRelation, HASH_METAPAGE, HASH_READ);
-               buf = so->hashso_curbuf;
-               _hash_step(scan, &buf, BackwardScanDirection, metabuf);
+                       if (so->hashso_bucket_valid &&
+                               so->hashso_bucket == bucket)
+                               return true;
+               }
        }
 
-       if (ItemPointerIsValid(mark)
-               && ItemPointerGetBlockNumber(mark) == blkno
-               && ItemPointerGetOffsetNumber(mark) >= offno)
-       {
-               /*
-                * The idea here is to exchange the current and mark positions,
-                * then step backwards (affecting current), then exchange again.
-                */
-               ItemPointerData tmpitem;
-               Buffer          tmpbuf;
-
-               tmpitem = *mark;
-               *mark = *current;
-               *current = tmpitem;
-               tmpbuf = so->hashso_mrkbuf;
-               so->hashso_mrkbuf = so->hashso_curbuf;
-               so->hashso_curbuf = tmpbuf;
-
-               metabuf = _hash_getbuf(scan->indexRelation, HASH_METAPAGE, HASH_READ);
-               buf = so->hashso_curbuf;
-               _hash_step(scan, &buf, BackwardScanDirection, metabuf);
-
-               tmpitem = *mark;
-               *mark = *current;
-               *current = tmpitem;
-               tmpbuf = so->hashso_mrkbuf;
-               so->hashso_mrkbuf = so->hashso_curbuf;
-               so->hashso_curbuf = tmpbuf;
-       }
+       return false;
 }
index 5a677f34a55d347283c229eaf28505ee58b66121..ebd05e089e8e98b43805f2daffa008bb2c8ccc1f 100644 (file)
  *
  *-------------------------------------------------------------------------
  */
-
 #include "postgres.h"
 
 #include "access/hash.h"
+#include "storage/lmgr.h"
 
 
-/*
- *     _hash_search() -- Finds the page/bucket that the contains the
- *     scankey and loads it into *bufP.  the buffer has a read lock.
- */
-void
-_hash_search(Relation rel,
-                        int keysz,
-                        ScanKey scankey,
-                        Buffer *bufP,
-                        HashMetaPage metap)
-{
-       BlockNumber blkno;
-       Datum           keyDatum;
-       Bucket          bucket;
-
-       if (scankey == (ScanKey) NULL ||
-               (keyDatum = scankey[0].sk_argument) == (Datum) NULL)
-       {
-               /*
-                * If the scankey argument is NULL, all tuples will satisfy the
-                * scan so we start the scan at the first bucket (bucket 0).
-                */
-               bucket = 0;
-       }
-       else
-               bucket = _hash_call(rel, metap, keyDatum);
-
-       blkno = BUCKET_TO_BLKNO(bucket);
-
-       *bufP = _hash_getbuf(rel, blkno, HASH_READ);
-}
-
 /*
  *     _hash_next() -- Get the next item in a scan.
  *
@@ -62,38 +30,30 @@ _hash_search(Relation rel,
 bool
 _hash_next(IndexScanDesc scan, ScanDirection dir)
 {
-       Relation        rel;
+       Relation        rel = scan->indexRelation;
+       HashScanOpaque so = (HashScanOpaque) scan->opaque;
        Buffer          buf;
-       Buffer          metabuf;
        Page            page;
        OffsetNumber offnum;
        ItemPointer current;
        HashItem        hitem;
        IndexTuple      itup;
-       HashScanOpaque so;
-
-       rel = scan->indexRelation;
-       so = (HashScanOpaque) scan->opaque;
 
-       /* we still have the buffer pinned and locked */
+       /* we still have the buffer pinned and read-locked */
        buf = so->hashso_curbuf;
        Assert(BufferIsValid(buf));
 
-       metabuf = _hash_getbuf(rel, HASH_METAPAGE, HASH_READ);
-
        /*
-        * step to next valid tuple.  note that _hash_step releases our lock
-        * on 'metabuf'; if we switch to a new 'buf' while looking for the
-        * next tuple, we come back with a lock on that buffer.
+        * step to next valid tuple.
         */
-       if (!_hash_step(scan, &buf, dir, metabuf))
+       if (!_hash_step(scan, &buf, dir))
                return false;
 
        /* if we're here, _hash_step found a valid tuple */
        current = &(scan->currentItemData);
        offnum = ItemPointerGetOffsetNumber(current);
        page = BufferGetPage(buf);
-       _hash_checkpage(page, LH_BUCKET_PAGE | LH_OVERFLOW_PAGE);
+       _hash_checkpage(rel, page, LH_BUCKET_PAGE | LH_OVERFLOW_PAGE);
        hitem = (HashItem) PageGetItem(page, PageGetItemId(page, offnum));
        itup = &hitem->hash_itup;
        scan->xs_ctup.t_self = itup->t_tid;
@@ -101,6 +61,9 @@ _hash_next(IndexScanDesc scan, ScanDirection dir)
        return true;
 }
 
+/*
+ * Advance to next page in a bucket, if any.
+ */
 static void
 _hash_readnext(Relation rel,
                           Buffer *bufp, Page *pagep, HashPageOpaque *opaquep)
@@ -108,18 +71,20 @@ _hash_readnext(Relation rel,
        BlockNumber blkno;
 
        blkno = (*opaquep)->hasho_nextblkno;
-       _hash_relbuf(rel, *bufp, HASH_READ);
+       _hash_relbuf(rel, *bufp);
        *bufp = InvalidBuffer;
        if (BlockNumberIsValid(blkno))
        {
                *bufp = _hash_getbuf(rel, blkno, HASH_READ);
                *pagep = BufferGetPage(*bufp);
-               _hash_checkpage(*pagep, LH_OVERFLOW_PAGE);
+               _hash_checkpage(rel, *pagep, LH_OVERFLOW_PAGE);
                *opaquep = (HashPageOpaque) PageGetSpecialPointer(*pagep);
-               Assert(!PageIsEmpty(*pagep));
        }
 }
 
+/*
+ * Advance to previous page in a bucket, if any.
+ */
 static void
 _hash_readprev(Relation rel,
                           Buffer *bufp, Page *pagep, HashPageOpaque *opaquep)
@@ -127,36 +92,34 @@ _hash_readprev(Relation rel,
        BlockNumber blkno;
 
        blkno = (*opaquep)->hasho_prevblkno;
-       _hash_relbuf(rel, *bufp, HASH_READ);
+       _hash_relbuf(rel, *bufp);
        *bufp = InvalidBuffer;
        if (BlockNumberIsValid(blkno))
        {
                *bufp = _hash_getbuf(rel, blkno, HASH_READ);
                *pagep = BufferGetPage(*bufp);
-               _hash_checkpage(*pagep, LH_BUCKET_PAGE | LH_OVERFLOW_PAGE);
+               _hash_checkpage(rel, *pagep, LH_BUCKET_PAGE | LH_OVERFLOW_PAGE);
                *opaquep = (HashPageOpaque) PageGetSpecialPointer(*pagep);
-               if (PageIsEmpty(*pagep))
-               {
-                       Assert((*opaquep)->hasho_flag & LH_BUCKET_PAGE);
-                       _hash_relbuf(rel, *bufp, HASH_READ);
-                       *bufp = InvalidBuffer;
-               }
        }
 }
 
 /*
  *     _hash_first() -- Find the first item in a scan.
  *
- *             Find the first item in the tree that
+ *             Find the first item in the index that
  *             satisfies the qualification associated with the scan descriptor. On
- *             exit, the page containing the current index tuple is read locked
+ *             success, the page containing the current index tuple is read locked
  *             and pinned, and the scan's opaque data entry is updated to
  *             include the buffer.
  */
 bool
 _hash_first(IndexScanDesc scan, ScanDirection dir)
 {
-       Relation        rel;
+       Relation        rel = scan->indexRelation;
+       HashScanOpaque so = (HashScanOpaque) scan->opaque;
+       uint32          hashkey;
+       Bucket          bucket;
+       BlockNumber blkno;
        Buffer          buf;
        Buffer          metabuf;
        Page            page;
@@ -166,73 +129,92 @@ _hash_first(IndexScanDesc scan, ScanDirection dir)
        IndexTuple      itup;
        ItemPointer current;
        OffsetNumber offnum;
-       HashScanOpaque so;
 
-       rel = scan->indexRelation;
-       so = (HashScanOpaque) scan->opaque;
        current = &(scan->currentItemData);
+       ItemPointerSetInvalid(current);
 
+       /*
+        * We do not support hash scans with no index qualification, because
+        * we would have to read the whole index rather than just one bucket.
+        * That creates a whole raft of problems, since we haven't got a
+        * practical way to lock all the buckets against splits or compactions.
+        */
+       if (scan->numberOfKeys < 1)
+               ereport(ERROR,
+                               (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+                                errmsg("hash indexes do not support whole-index scans")));
+
+       /*
+        * If the constant in the index qual is NULL, assume it cannot match
+        * any items in the index.
+        */
+       if (scan->keyData[0].sk_flags & SK_ISNULL)
+               return false;
+
+       /*
+        * Okay to compute the hash key.  We want to do this before acquiring
+        * any locks, in case a user-defined hash function happens to be slow.
+        */
+       hashkey = _hash_datum2hashkey(rel, scan->keyData[0].sk_argument);
+
+       /*
+        * Acquire shared split lock so we can compute the target bucket
+        * safely (see README).
+        */
+       _hash_getlock(rel, 0, HASH_SHARE);
+
+       /* Read the metapage */
        metabuf = _hash_getbuf(rel, HASH_METAPAGE, HASH_READ);
        metap = (HashMetaPage) BufferGetPage(metabuf);
-       _hash_checkpage((Page) metap, LH_META_PAGE);
+       _hash_checkpage(rel, (Page) metap, LH_META_PAGE);
 
        /*
-        * XXX -- The attribute number stored in the scan key is the attno in
-        * the heap relation.  We need to transmogrify this into the index
-        * relation attno here.  For the moment, we have hardwired attno == 1.
+        * Compute the target bucket number, and convert to block number.
         */
+       bucket = _hash_hashkey2bucket(hashkey,
+                                                                 metap->hashm_maxbucket,
+                                                                 metap->hashm_highmask,
+                                                                 metap->hashm_lowmask);
 
-       /* find the correct bucket page and load it into buf */
-       _hash_search(rel, 1, scan->keyData, &buf, metap);
-       page = BufferGetPage(buf);
-       _hash_checkpage(page, LH_BUCKET_PAGE);
-       opaque = (HashPageOpaque) PageGetSpecialPointer(page);
+       blkno = BUCKET_TO_BLKNO(metap, bucket);
+
+       /* done with the metapage */
+       _hash_relbuf(rel, metabuf);
 
        /*
-        * if we are scanning forward, we need to find the first non-empty
-        * page (if any) in the bucket chain.  since overflow pages are never
-        * empty, this had better be either the bucket page or the first
-        * overflow page.
-        *
-        * if we are scanning backward, we always go all the way to the end of
-        * the bucket chain.
+        * Acquire share lock on target bucket; then we can release split lock.
         */
-       if (PageIsEmpty(page))
-       {
-               if (BlockNumberIsValid(opaque->hasho_nextblkno))
-                       _hash_readnext(rel, &buf, &page, &opaque);
-               else
-               {
-                       ItemPointerSetInvalid(current);
-                       so->hashso_curbuf = InvalidBuffer;
-
-                       /*
-                        * If there is no scankeys, all tuples will satisfy the scan -
-                        * so we continue in _hash_step to get tuples from all
-                        * buckets. - vadim 04/29/97
-                        */
-                       if (scan->numberOfKeys >= 1)
-                       {
-                               _hash_relbuf(rel, buf, HASH_READ);
-                               _hash_relbuf(rel, metabuf, HASH_READ);
-                               return false;
-                       }
-               }
-       }
+       _hash_getlock(rel, blkno, HASH_SHARE);
+
+       _hash_droplock(rel, 0, HASH_SHARE);
+
+       /* Update scan opaque state to show we have lock on the bucket */
+       so->hashso_bucket = bucket;
+       so->hashso_bucket_valid = true;
+       so->hashso_bucket_blkno = blkno;
+
+       /* Fetch the primary bucket page for the bucket */
+       buf = _hash_getbuf(rel, blkno, HASH_READ);
+       page = BufferGetPage(buf);
+       _hash_checkpage(rel, page, LH_BUCKET_PAGE);
+       opaque = (HashPageOpaque) PageGetSpecialPointer(page);
+       Assert(opaque->hasho_bucket == bucket);
+
+       /* If a backwards scan is requested, move to the end of the chain */
        if (ScanDirectionIsBackward(dir))
        {
                while (BlockNumberIsValid(opaque->hasho_nextblkno))
                        _hash_readnext(rel, &buf, &page, &opaque);
        }
 
-       if (!_hash_step(scan, &buf, dir, metabuf))
+       /* Now find the first tuple satisfying the qualification */
+       if (!_hash_step(scan, &buf, dir))
                return false;
 
        /* if we're here, _hash_step found a valid tuple */
-       current = &(scan->currentItemData);
        offnum = ItemPointerGetOffsetNumber(current);
        page = BufferGetPage(buf);
-       _hash_checkpage(page, LH_BUCKET_PAGE | LH_OVERFLOW_PAGE);
+       _hash_checkpage(rel, page, LH_BUCKET_PAGE | LH_OVERFLOW_PAGE);
        hitem = (HashItem) PageGetItem(page, PageGetItemId(page, offnum));
        itup = &hitem->hash_itup;
        scan->xs_ctup.t_self = itup->t_tid;
@@ -247,19 +229,16 @@ _hash_first(IndexScanDesc scan, ScanDirection dir)
  *             false.  Else, return true and set the CurrentItemData for the
  *             scan to the right thing.
  *
- *             'bufP' points to the buffer which contains the current page
- *             that we'll step through.
- *
- *             'metabuf' is released when this returns.
+ *             'bufP' points to the current buffer, which is pinned and read-locked.
+ *             On success exit, we have pin and read-lock on whichever page
+ *             contains the right item; on failure, we have released all buffers.
  */
 bool
-_hash_step(IndexScanDesc scan, Buffer *bufP, ScanDirection dir, Buffer metabuf)
+_hash_step(IndexScanDesc scan, Buffer *bufP, ScanDirection dir)
 {
-       Relation        rel;
+       Relation        rel = scan->indexRelation;
+       HashScanOpaque so = (HashScanOpaque) scan->opaque;
        ItemPointer current;
-       HashScanOpaque so;
-       int                     allbuckets;
-       HashMetaPage metap;
        Buffer          buf;
        Page            page;
        HashPageOpaque opaque;
@@ -270,18 +249,13 @@ _hash_step(IndexScanDesc scan, Buffer *bufP, ScanDirection dir, Buffer metabuf)
        HashItem        hitem;
        IndexTuple      itup;
 
-       rel = scan->indexRelation;
        current = &(scan->currentItemData);
-       so = (HashScanOpaque) scan->opaque;
-       allbuckets = (scan->numberOfKeys < 1);
-
-       metap = (HashMetaPage) BufferGetPage(metabuf);
-       _hash_checkpage((Page) metap, LH_META_PAGE);
 
        buf = *bufP;
        page = BufferGetPage(buf);
-       _hash_checkpage(page, LH_BUCKET_PAGE | LH_OVERFLOW_PAGE);
+       _hash_checkpage(rel, page, LH_BUCKET_PAGE | LH_OVERFLOW_PAGE);
        opaque = (HashPageOpaque) PageGetSpecialPointer(page);
+       bucket = opaque->hasho_bucket;
 
        /*
         * If _hash_step is called from _hash_first, current will not be
@@ -302,107 +276,63 @@ _hash_step(IndexScanDesc scan, Buffer *bufP, ScanDirection dir, Buffer metabuf)
         */
        do
        {
-               bucket = opaque->hasho_bucket;
-
                switch (dir)
                {
                        case ForwardScanDirection:
                                if (offnum != InvalidOffsetNumber)
-                               {
                                        offnum = OffsetNumberNext(offnum);      /* move forward */
-                               }
                                else
-                               {
                                        offnum = FirstOffsetNumber; /* new page */
-                               }
+
                                while (offnum > maxoff)
                                {
-
-                                       /*--------
+                                       /*
                                         * either this page is empty
                                         * (maxoff == InvalidOffsetNumber)
                                         * or we ran off the end.
-                                        *--------
                                         */
                                        _hash_readnext(rel, &buf, &page, &opaque);
-                                       if (BufferIsInvalid(buf))
-                                       {                       /* end of chain */
-                                               if (allbuckets && bucket < metap->hashm_maxbucket)
-                                               {
-                                                       ++bucket;
-                                                       blkno = BUCKET_TO_BLKNO(bucket);
-                                                       buf = _hash_getbuf(rel, blkno, HASH_READ);
-                                                       page = BufferGetPage(buf);
-                                                       _hash_checkpage(page, LH_BUCKET_PAGE);
-                                                       opaque = (HashPageOpaque) PageGetSpecialPointer(page);
-                                                       Assert(opaque->hasho_bucket == bucket);
-                                                       while (PageIsEmpty(page) &&
-                                                        BlockNumberIsValid(opaque->hasho_nextblkno))
-                                                               _hash_readnext(rel, &buf, &page, &opaque);
-                                                       maxoff = PageGetMaxOffsetNumber(page);
-                                                       offnum = FirstOffsetNumber;
-                                               }
-                                               else
-                                               {
-                                                       maxoff = offnum = InvalidOffsetNumber;
-                                                       break;          /* while */
-                                               }
-                                       }
-                                       else
+                                       if (BufferIsValid(buf))
                                        {
-                                               /* _hash_readnext never returns an empty page */
                                                maxoff = PageGetMaxOffsetNumber(page);
                                                offnum = FirstOffsetNumber;
                                        }
+                                       else
+                                       {
+                                               /* end of bucket */
+                                               maxoff = offnum = InvalidOffsetNumber;
+                                               break;  /* exit while */
+                                       }
                                }
                                break;
+
                        case BackwardScanDirection:
                                if (offnum != InvalidOffsetNumber)
-                               {
                                        offnum = OffsetNumberPrev(offnum);      /* move back */
-                               }
                                else
-                               {
                                        offnum = maxoff;        /* new page */
-                               }
+
                                while (offnum < FirstOffsetNumber)
                                {
-
-                                       /*---------
+                                       /*
                                         * either this page is empty
                                         * (offnum == InvalidOffsetNumber)
                                         * or we ran off the end.
-                                        *---------
                                         */
                                        _hash_readprev(rel, &buf, &page, &opaque);
-                                       if (BufferIsInvalid(buf))
-                                       {                       /* end of chain */
-                                               if (allbuckets && bucket > 0)
-                                               {
-                                                       --bucket;
-                                                       blkno = BUCKET_TO_BLKNO(bucket);
-                                                       buf = _hash_getbuf(rel, blkno, HASH_READ);
-                                                       page = BufferGetPage(buf);
-                                                       _hash_checkpage(page, LH_BUCKET_PAGE);
-                                                       opaque = (HashPageOpaque) PageGetSpecialPointer(page);
-                                                       Assert(opaque->hasho_bucket == bucket);
-                                                       while (BlockNumberIsValid(opaque->hasho_nextblkno))
-                                                               _hash_readnext(rel, &buf, &page, &opaque);
-                                                       maxoff = offnum = PageGetMaxOffsetNumber(page);
-                                               }
-                                               else
-                                               {
-                                                       maxoff = offnum = InvalidOffsetNumber;
-                                                       break;          /* while */
-                                               }
+                                       if (BufferIsValid(buf))
+                                       {
+                                               maxoff = offnum = PageGetMaxOffsetNumber(page);
                                        }
                                        else
                                        {
-                                               /* _hash_readprev never returns an empty page */
-                                               maxoff = offnum = PageGetMaxOffsetNumber(page);
+                                               /* end of bucket */
+                                               maxoff = offnum = InvalidOffsetNumber;
+                                               break;  /* exit while */
                                        }
                                }
                                break;
+
                        default:
                                /* NoMovementScanDirection */
                                /* this should not be reached */
@@ -412,7 +342,6 @@ _hash_step(IndexScanDesc scan, Buffer *bufP, ScanDirection dir, Buffer metabuf)
                /* we ran off the end of the world without finding a match */
                if (offnum == InvalidOffsetNumber)
                {
-                       _hash_relbuf(rel, metabuf, HASH_READ);
                        *bufP = so->hashso_curbuf = InvalidBuffer;
                        ItemPointerSetInvalid(current);
                        return false;
@@ -424,7 +353,6 @@ _hash_step(IndexScanDesc scan, Buffer *bufP, ScanDirection dir, Buffer metabuf)
        } while (!_hash_checkqual(scan, itup));
 
        /* if we made it to here, we've found a valid tuple */
-       _hash_relbuf(rel, metabuf, HASH_READ);
        blkno = BufferGetBlockNumber(buf);
        *bufP = so->hashso_curbuf = buf;
        ItemPointerSet(current, blkno, offnum);
index 7ac87d6693973c65f7b2fcb1b0838e33dcded386..668348a5f6f1e309ece58e11590a5b3068af274c 100644 (file)
@@ -12,7 +12,6 @@
  *
  *-------------------------------------------------------------------------
  */
-
 #include "postgres.h"
 
 #include "access/genam.h"
 #include "access/iqual.h"
 
 
-ScanKey
-_hash_mkscankey(Relation rel, IndexTuple itup)
-{
-       ScanKey         skey;
-       TupleDesc       itupdesc;
-       int                     natts;
-       AttrNumber      i;
-       Datum           arg;
-       FmgrInfo   *procinfo;
-       bool            isnull;
-
-       natts = rel->rd_rel->relnatts;
-       itupdesc = RelationGetDescr(rel);
-
-       skey = (ScanKey) palloc(natts * sizeof(ScanKeyData));
-
-       for (i = 0; i < natts; i++)
-       {
-               arg = index_getattr(itup, i + 1, itupdesc, &isnull);
-               procinfo = index_getprocinfo(rel, i + 1, HASHPROC);
-               ScanKeyEntryInitializeWithInfo(&skey[i],
-                                                                          0x0,
-                                                                          (AttrNumber) (i + 1),
-                                                                          procinfo,
-                                                                          CurrentMemoryContext,
-                                                                          arg);
-       }
-
-       return skey;
-}
-
-void
-_hash_freeskey(ScanKey skey)
-{
-       pfree(skey);
-}
-
-
+/*
+ * _hash_checkqual -- does the index tuple satisfy the scan conditions?
+ */
 bool
 _hash_checkqual(IndexScanDesc scan, IndexTuple itup)
 {
-       if (scan->numberOfKeys > 0)
-               return (index_keytest(itup,
-                                                         RelationGetDescr(scan->indexRelation),
-                                                         scan->numberOfKeys, scan->keyData));
-       else
-               return true;
+       return index_keytest(itup, RelationGetDescr(scan->indexRelation),
+                                                scan->numberOfKeys, scan->keyData);
 }
 
+/*
+ * _hash_formitem -- construct a hash index entry
+ */
 HashItem
 _hash_formitem(IndexTuple itup)
 {
@@ -82,30 +45,49 @@ _hash_formitem(IndexTuple itup)
                                (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
                                 errmsg("hash indexes cannot include null keys")));
 
-       /* make a copy of the index tuple with room for the sequence number */
+       /*
+        * make a copy of the index tuple (XXX do we still need to copy?)
+        *
+        * HashItemData used to have more fields than IndexTupleData, but no
+        * longer...
+        */
        tuplen = IndexTupleSize(itup);
        nbytes_hitem = tuplen +
                (sizeof(HashItemData) - sizeof(IndexTupleData));
 
        hitem = (HashItem) palloc(nbytes_hitem);
-       memmove((char *) &(hitem->hash_itup), (char *) itup, tuplen);
+       memcpy((char *) &(hitem->hash_itup), (char *) itup, tuplen);
 
        return hitem;
 }
 
-Bucket
-_hash_call(Relation rel, HashMetaPage metap, Datum key)
+/*
+ * _hash_datum2hashkey -- given a Datum, call the index's hash procedure
+ */
+uint32
+_hash_datum2hashkey(Relation rel, Datum key)
 {
        FmgrInfo   *procinfo;
-       uint32          n;
-       Bucket          bucket;
 
        /* XXX assumes index has only one attribute */
        procinfo = index_getprocinfo(rel, 1, HASHPROC);
-       n = DatumGetUInt32(FunctionCall1(procinfo, key));
-       bucket = n & metap->hashm_highmask;
-       if (bucket > metap->hashm_maxbucket)
-               bucket = bucket & metap->hashm_lowmask;
+
+       return DatumGetUInt32(FunctionCall1(procinfo, key));
+}
+
+/*
+ * _hash_hashkey2bucket -- determine which bucket the hashkey maps to.
+ */
+Bucket
+_hash_hashkey2bucket(uint32 hashkey, uint32 maxbucket,
+                                        uint32 highmask, uint32 lowmask)
+{
+       Bucket          bucket;
+
+       bucket = hashkey & highmask;
+       if (bucket > maxbucket)
+               bucket = bucket & lowmask;
+
        return bucket;
 }
 
@@ -119,7 +101,7 @@ _hash_log2(uint32 num)
                                limit;
 
        limit = 1;
-       for (i = 0; limit < num; limit = limit << 1, i++)
+       for (i = 0; limit < num; limit <<= 1, i++)
                ;
        return i;
 }
@@ -128,22 +110,44 @@ _hash_log2(uint32 num)
  * _hash_checkpage -- sanity checks on the format of all hash pages
  */
 void
-_hash_checkpage(Page page, int flags)
+_hash_checkpage(Relation rel, Page page, int flags)
 {
-       HashPageOpaque opaque;
-
        Assert(page);
+       /*
+        * When checking the metapage, always verify magic number and version.
+        */
+       if (flags == LH_META_PAGE)
+       {
+               HashMetaPage metap = (HashMetaPage) page;
+
+               if (metap->hashm_magic != HASH_MAGIC)
+                       ereport(ERROR,
+                                       (errcode(ERRCODE_INDEX_CORRUPTED),
+                                        errmsg("index \"%s\" is not a hash index",
+                                                       RelationGetRelationName(rel))));
+
+               if (metap->hashm_version != HASH_VERSION)
+                       ereport(ERROR,
+                                       (errcode(ERRCODE_INDEX_CORRUPTED),
+                                        errmsg("index \"%s\" has wrong hash version, please REINDEX it",
+                                                       RelationGetRelationName(rel))));
+       }
+
+       /*
+        * These other checks are for debugging purposes only.
+        */
+#ifdef USE_ASSERT_CHECKING
        Assert(((PageHeader) (page))->pd_lower >= SizeOfPageHeaderData);
-#if 1
        Assert(((PageHeader) (page))->pd_upper <=
                   (BLCKSZ - MAXALIGN(sizeof(HashPageOpaqueData))));
        Assert(((PageHeader) (page))->pd_special ==
                   (BLCKSZ - MAXALIGN(sizeof(HashPageOpaqueData))));
        Assert(PageGetPageSize(page) == BLCKSZ);
-#endif
        if (flags)
        {
-               opaque = (HashPageOpaque) PageGetSpecialPointer(page);
+               HashPageOpaque opaque = (HashPageOpaque) PageGetSpecialPointer(page);
+
                Assert(opaque->hasho_flag & flags);
        }
+#endif   /* USE_ASSERT_CHECKING */
 }
index 59c7e90229110bcead0793ef0827aaa31d21e485..3092dded55d4f442ae78689dfba98d2176f13f23 100644 (file)
@@ -189,27 +189,39 @@ _bt_check_unique(Relation rel, BTItem btitem, Relation heapRel,
                BlockNumber nblkno;
 
                /*
-                * make sure the offset points to an actual key before trying to
-                * compare it...
+                * make sure the offset points to an actual item before trying to
+                * examine it...
                 */
                if (offset <= maxoff)
                {
-                       /*
-                        * _bt_compare returns 0 for (1,NULL) and (1,NULL) - this's
-                        * how we handling NULLs - and so we must not use _bt_compare
-                        * in real comparison, but only for ordering/finding items on
-                        * pages. - vadim 03/24/97
-                        */
-                       if (!_bt_isequal(itupdesc, page, offset, natts, itup_scankey))
-                               break;                  /* we're past all the equal tuples */
-
                        curitemid = PageGetItemId(page, offset);
 
                        /*
-                        * We can skip the heap fetch if the item is marked killed.
+                        * We can skip items that are marked killed.
+                        *
+                        * Formerly, we applied _bt_isequal() before checking the kill
+                        * flag, so as to fall out of the item loop as soon as possible.
+                        * However, in the presence of heavy update activity an index
+                        * may contain many killed items with the same key; running
+                        * _bt_isequal() on each killed item gets expensive.  Furthermore
+                        * it is likely that the non-killed version of each key appears
+                        * first, so that we didn't actually get to exit any sooner anyway.
+                        * So now we just advance over killed items as quickly as we can.
+                        * We only apply _bt_isequal() when we get to a non-killed item or
+                        * the end of the page.
                         */
                        if (!ItemIdDeleted(curitemid))
                        {
+                               /*
+                                * _bt_compare returns 0 for (1,NULL) and (1,NULL) - this's
+                                * how we handling NULLs - and so we must not use _bt_compare
+                                * in real comparison, but only for ordering/finding items on
+                                * pages. - vadim 03/24/97
+                                */
+                               if (!_bt_isequal(itupdesc, page, offset, natts, itup_scankey))
+                                       break;                  /* we're past all the equal tuples */
+
+                               /* okay, we gotta fetch the heap tuple ... */
                                cbti = (BTItem) PageGetItem(page, curitemid);
                                htup.t_self = cbti->bti_itup.t_tid;
                                if (heap_fetch(heapRel, SnapshotDirty, &htup, &hbuffer,
@@ -1547,7 +1559,7 @@ _bt_pgaddtup(Relation rel,
  * _bt_isequal - used in _bt_doinsert in check for duplicates.
  *
  * This is very similar to _bt_compare, except for NULL handling.
- * Rule is simple: NOT_NULL not equal NULL, NULL not_equal NULL too.
+ * Rule is simple: NOT_NULL not equal NULL, NULL not equal NULL too.
  */
 static bool
 _bt_isequal(TupleDesc itupdesc, Page page, OffsetNumber offnum,
@@ -1576,7 +1588,7 @@ _bt_isequal(TupleDesc itupdesc, Page page, OffsetNumber offnum,
                datum = index_getattr(itup, attno, itupdesc, &isNull);
 
                /* NULLs are never equal to anything */
-               if (entry->sk_flags & SK_ISNULL || isNull)
+               if ((entry->sk_flags & SK_ISNULL) || isNull)
                        return false;
 
                result = DatumGetInt32(FunctionCall2(&entry->sk_func,
index 3c7c78d95c8fb15523735ff68e7412f8ffbf1038..36fd03f70637aa6ba88ba1be390a29d1755bc2c4 100644 (file)
@@ -368,9 +368,15 @@ BootstrapMain(int argc, char *argv[])
        Assert(DataDir);
        ValidatePgVersion(DataDir);
 
+       /* Acquire configuration parameters */
+       if (IsUnderPostmaster)
+       {
 #ifdef EXEC_BACKEND
-       read_nondefault_variables();
+               read_nondefault_variables();
 #endif
+       }
+       else
+               ProcessConfigFile(PGC_POSTMASTER);
 
        if (IsUnderPostmaster)
        {
index 0996a19acad339740f60186899e287d82c1db399..0ebd682e774641de6e29c6a10ff9ac3153efe208 100644 (file)
@@ -72,6 +72,8 @@ dumpacl(Acl *acl)
  * If is_grant is true, adds the given privileges for the list of
  * grantees to the existing old_acl.  If is_grant is false, the
  * privileges for the given grantees are removed from old_acl.
+ *
+ * NB: the original old_acl is pfree'd.
  */
 static Acl *
 merge_acl_with_grant(Acl *old_acl, bool is_grant,
@@ -92,24 +94,25 @@ merge_acl_with_grant(Acl *old_acl, bool is_grant,
        foreach(j, grantees)
        {
                PrivGrantee *grantee = (PrivGrantee *) lfirst(j);
-               AclItem aclitem;
+               AclItem         aclitem;
                uint32          idtype;
+               Acl                *newer_acl;
 
                if (grantee->username)
                {
-                       aclitem.        ai_grantee = get_usesysid(grantee->username);
+                       aclitem.ai_grantee = get_usesysid(grantee->username);
 
                        idtype = ACL_IDTYPE_UID;
                }
                else if (grantee->groupname)
                {
-                       aclitem.        ai_grantee = get_grosysid(grantee->groupname);
+                       aclitem.ai_grantee = get_grosysid(grantee->groupname);
 
                        idtype = ACL_IDTYPE_GID;
                }
                else
                {
-                       aclitem.        ai_grantee = ACL_ID_WORLD;
+                       aclitem.ai_grantee = ACL_ID_WORLD;
 
                        idtype = ACL_IDTYPE_WORLD;
                }
@@ -126,14 +129,18 @@ merge_acl_with_grant(Acl *old_acl, bool is_grant,
                                        (errcode(ERRCODE_INVALID_GRANT_OPERATION),
                                         errmsg("grant options can only be granted to individual users")));
 
-               aclitem.        ai_grantor = GetUserId();
+               aclitem.ai_grantor = GetUserId();
 
                ACLITEM_SET_PRIVS_IDTYPE(aclitem,
                                (is_grant || !grant_option) ? privileges : ACL_NO_RIGHTS,
                                (grant_option || !is_grant) ? privileges : ACL_NO_RIGHTS,
                                                                 idtype);
 
-               new_acl = aclinsert3(new_acl, &aclitem, modechg, behavior);
+               newer_acl = aclinsert3(new_acl, &aclitem, modechg, behavior);
+
+               /* avoid memory leak when there are many grantees */
+               pfree(new_acl);
+               new_acl = newer_acl;
 
 #ifdef ACLDEBUG
                dumpacl(new_acl);
@@ -269,7 +276,6 @@ ExecuteGrantStmt_Relation(GrantStmt *stmt)
                /* keep the catalog indexes up to date */
                CatalogUpdateIndexes(relation, newtuple);
 
-               pfree(old_acl);
                pfree(new_acl);
 
                heap_close(relation, RowExclusiveLock);
@@ -366,7 +372,6 @@ ExecuteGrantStmt_Database(GrantStmt *stmt)
                /* keep the catalog indexes up to date */
                CatalogUpdateIndexes(relation, newtuple);
 
-               pfree(old_acl);
                pfree(new_acl);
 
                heap_endscan(scan);
@@ -465,7 +470,6 @@ ExecuteGrantStmt_Function(GrantStmt *stmt)
                /* keep the catalog indexes up to date */
                CatalogUpdateIndexes(relation, newtuple);
 
-               pfree(old_acl);
                pfree(new_acl);
 
                heap_close(relation, RowExclusiveLock);
@@ -565,7 +569,6 @@ ExecuteGrantStmt_Language(GrantStmt *stmt)
                /* keep the catalog indexes up to date */
                CatalogUpdateIndexes(relation, newtuple);
 
-               pfree(old_acl);
                pfree(new_acl);
 
                heap_close(relation, RowExclusiveLock);
@@ -662,7 +665,6 @@ ExecuteGrantStmt_Namespace(GrantStmt *stmt)
                /* keep the catalog indexes up to date */
                CatalogUpdateIndexes(relation, newtuple);
 
-               pfree(old_acl);
                pfree(new_acl);
 
                heap_close(relation, RowExclusiveLock);
index 75d5586819db0d60ff8c43d17e44f70ad33c0e73..09e5e85b89fca607ef5c7433ccf5babe17145dbd 100644 (file)
@@ -390,7 +390,6 @@ examine_attribute(Relation onerel, int attnum)
 {
        Form_pg_attribute attr = onerel->rd_att->attrs[attnum - 1];
        Operator        func_operator;
-       Oid                     oprrest;
        HeapTuple       typtuple;
        Oid                     eqopr = InvalidOid;
        Oid                     eqfunc = InvalidOid;
@@ -409,12 +408,8 @@ examine_attribute(Relation onerel, int attnum)
        func_operator = equality_oper(attr->atttypid, true);
        if (func_operator != NULL)
        {
-               oprrest = ((Form_pg_operator) GETSTRUCT(func_operator))->oprrest;
-               if (oprrest == F_EQSEL)
-               {
-                       eqopr = oprid(func_operator);
-                       eqfunc = oprfuncid(func_operator);
-               }
+               eqopr = oprid(func_operator);
+               eqfunc = oprfuncid(func_operator);
                ReleaseSysCache(func_operator);
        }
        if (!OidIsValid(eqfunc))
@@ -447,9 +442,7 @@ examine_attribute(Relation onerel, int attnum)
        func_operator = ordering_oper(attr->atttypid, true);
        if (func_operator != NULL)
        {
-               oprrest = ((Form_pg_operator) GETSTRUCT(func_operator))->oprrest;
-               if (oprrest == F_SCALARLTSEL)
-                       ltopr = oprid(func_operator);
+               ltopr = oprid(func_operator);
                ReleaseSysCache(func_operator);
        }
        stats->ltopr = ltopr;
@@ -694,6 +687,12 @@ pageloop:;
         */
        *totalrows = floor((double) onerel->rd_nblocks * tuplesperpage + 0.5);
 
+       /*
+        * Emit some interesting relation info 
+        */
+       elog(elevel, "  pages = %d rows/page = %d rows = %.0f", 
+               onerel->rd_nblocks, (int)tuplesperpage, *totalrows);
+
        return numrows;
 }
 
index 64e1f4c6c9216f8d657d9bfbd1e57adfb83cf20e..747e30465f664d2ac354e6e81138934f5e21be35 100644 (file)
@@ -432,7 +432,7 @@ CopyGetData(void *databuf, int datasize)
                                        avail = datasize;
                                pq_copymsgbytes(copy_msgbuf, databuf, avail);
                                databuf = (void *) ((char *) databuf + avail);
-                               datasize = -avail;
+                               datasize -= avail;
                        }
                        break;
        }
index 597c0a762bd7ae8b5dd607be9fac1fe1fe1bbabd..a386970e0fe4fa07b29f479e523265dc7b06e335 100644 (file)
@@ -529,7 +529,8 @@ GetDefaultOpClass(Oid attrType, Oid accessMethodId)
         * than one exact match, then someone put bogus entries in pg_opclass.
         *
         * The initial search is done by namespace.c so that we only consider
-        * opclasses visible in the current namespace search path.
+        * opclasses visible in the current namespace search path.  (See also
+        * typcache.c, which applies the same logic, but over all opclasses.)
         */
        for (opclass = OpclassGetCandidates(accessMethodId);
                 opclass != NULL;
index e2c3a4121ad68c755f86d7a5a899ed2e3992abd2..9700e16b3009b8101227d41d1086d9409d4f30b9 100644 (file)
@@ -261,7 +261,9 @@ DefineOpClass(CreateOpClassStmt *stmt)
 
        /*
         * If we are creating a default opclass, check there isn't one
-        * already. (XXX should we restrict this test to visible opclasses?)
+        * already.  (Note we do not restrict this test to visible opclasses;
+        * this ensures that typcache.c can find unique solutions to its
+        * questions.)
         */
        if (stmt->isDefault)
        {
index 0c710049244bbbb242dc7e4f80e243add3261cdb..5829879b7a2d577877341b61cab88e18babcc827 100644 (file)
@@ -88,10 +88,9 @@ PerformCursorOpen(DeclareCursorStmt *stmt)
 
        /*
         * Create a portal and copy the query and plan into its memory
-        * context. (If a duplicate cursor name already exists, warn and drop
-        * it.)
+        * context.
         */
-       portal = CreatePortal(stmt->portalname, true, false);
+       portal = CreatePortal(stmt->portalname, false, false);
 
        oldContext = MemoryContextSwitchTo(PortalGetHeapMemory(portal));
 
@@ -168,13 +167,10 @@ PerformPortalFetch(FetchStmt *stmt,
        portal = GetPortalByName(stmt->portalname);
        if (!PortalIsValid(portal))
        {
-               /* FIXME: shouldn't this be an ERROR? */
-               ereport(WARNING,
+               ereport(ERROR,
                                (errcode(ERRCODE_UNDEFINED_CURSOR),
-                         errmsg("portal \"%s\" does not exist", stmt->portalname)));
-               if (completionTag)
-                       strcpy(completionTag, stmt->ismove ? "MOVE 0" : "FETCH 0");
-               return;
+                                errmsg("cursor \"%s\" does not exist", stmt->portalname)));
+               return; /* keep compiler happy */
        }
 
        /* Adjust dest if needed.  MOVE wants destination None */
@@ -218,11 +214,10 @@ PerformPortalClose(const char *name)
        portal = GetPortalByName(name);
        if (!PortalIsValid(portal))
        {
-               ereport(WARNING,
+               ereport(ERROR,
                                (errcode(ERRCODE_UNDEFINED_CURSOR),
-                                errmsg("portal \"%s\" does not exist", name),
-                                errfunction("PerformPortalClose")));   /* for ecpg */
-               return;
+                                errmsg("cursor \"%s\" does not exist", name)));
+               return; /* keep compiler happy */
        }
 
        /*
index b5f7002ad6a2bff2c702fe94426ceb28014b4be8..23a55d2649588aa2546c15c8cafbfd3e7a06e8fd 100644 (file)
@@ -2008,7 +2008,7 @@ AlterTableAlterColumnDropNotNull(Oid myrelid, bool recurse,
                }
        }
 
-       /* -= now do the thing on this relation =- */
+       /* now do the thing on this relation */
 
        /*
         * get the number of the attribute
@@ -2152,7 +2152,7 @@ AlterTableAlterColumnSetNotNull(Oid myrelid, bool recurse,
                }
        }
 
-       /* -= now do the thing on this relation =- */
+       /* now do the thing on this relation */
 
        /*
         * get the number of the attribute
@@ -2280,7 +2280,7 @@ AlterTableAlterColumnDefault(Oid myrelid, bool recurse,
                }
        }
 
-       /* -= now do the thing on this relation =- */
+       /* now do the thing on this relation */
 
        /*
         * get the number of the attribute
@@ -2445,7 +2445,7 @@ AlterTableAlterColumnFlags(Oid myrelid, bool recurse,
                }
        }
 
-       /* -= now do the thing on this relation =- */
+       /* now do the thing on this relation */
 
        attrelation = heap_openr(AttributeRelationName, RowExclusiveLock);
 
index 16ead1715812099fecb21e12af361b3bbb17edc0..453dcce87ea4275d3111bcde0b7037f6096f8187 100644 (file)
 #include "utils/syscache.h"
 
 
+static TupleHashTable CurTupleHashTable = NULL;
+
+static uint32 TupleHashTableHash(const void *key, Size keysize);
+static int     TupleHashTableMatch(const void *key1, const void *key2,
+                                                               Size keysize);
+
+
 /*****************************************************************************
  *             Utility routines for grouping tuples together
  *****************************************************************************/
@@ -272,7 +279,7 @@ execTuplesHashPrepare(TupleDesc tupdesc,
  *     numCols, keyColIdx: identify the tuple fields to use as lookup key
  *     eqfunctions: equality comparison functions to use
  *     hashfunctions: datatype-specific hashing functions to use
- *     nbuckets: number of buckets to make
+ *     nbuckets: initial estimate of hashtable size
  *     entrysize: size of each entry (at least sizeof(TupleHashEntryData))
  *     tablecxt: memory context in which to store table and table entries
  *     tempcxt: short-lived context for evaluation hash and comparison functions
@@ -290,14 +297,13 @@ BuildTupleHashTable(int numCols, AttrNumber *keyColIdx,
                                        MemoryContext tablecxt, MemoryContext tempcxt)
 {
        TupleHashTable hashtable;
-       Size            tabsize;
+       HASHCTL         hash_ctl;
 
        Assert(nbuckets > 0);
        Assert(entrysize >= sizeof(TupleHashEntryData));
 
-       tabsize = sizeof(TupleHashTableData) +
-               (nbuckets - 1) *sizeof(TupleHashEntry);
-       hashtable = (TupleHashTable) MemoryContextAllocZero(tablecxt, tabsize);
+       hashtable = (TupleHashTable) MemoryContextAlloc(tablecxt,
+                                                                                               sizeof(TupleHashTableData));
 
        hashtable->numCols = numCols;
        hashtable->keyColIdx = keyColIdx;
@@ -306,7 +312,20 @@ BuildTupleHashTable(int numCols, AttrNumber *keyColIdx,
        hashtable->tablecxt = tablecxt;
        hashtable->tempcxt = tempcxt;
        hashtable->entrysize = entrysize;
-       hashtable->nbuckets = nbuckets;
+
+       MemSet(&hash_ctl, 0, sizeof(hash_ctl));
+       hash_ctl.keysize = sizeof(TupleHashEntryData);
+       hash_ctl.entrysize = entrysize;
+       hash_ctl.hash = TupleHashTableHash;
+       hash_ctl.match = TupleHashTableMatch;
+       hash_ctl.hcxt = tablecxt;
+       hashtable->hashtab = hash_create("TupleHashTable", (long) nbuckets,
+                                                                        &hash_ctl,
+                                       HASH_ELEM | HASH_FUNCTION | HASH_COMPARE | HASH_CONTEXT);
+       if (hashtable->hashtab == NULL)
+               ereport(ERROR,
+                               (errcode(ERRCODE_OUT_OF_MEMORY),
+                                errmsg("out of memory")));
 
        return hashtable;
 }
@@ -327,19 +346,93 @@ TupleHashEntry
 LookupTupleHashEntry(TupleHashTable hashtable, TupleTableSlot *slot,
                                         bool *isnew)
 {
-       int                     numCols = hashtable->numCols;
-       AttrNumber *keyColIdx = hashtable->keyColIdx;
        HeapTuple       tuple = slot->val;
        TupleDesc       tupdesc = slot->ttc_tupleDescriptor;
-       uint32          hashkey = 0;
-       int                     i;
-       int                     bucketno;
        TupleHashEntry entry;
        MemoryContext oldContext;
+       TupleHashTable saveCurHT;
+       bool            found;
 
-       /* Need to run the hash function in short-lived context */
+       /* Need to run the hash functions in short-lived context */
        oldContext = MemoryContextSwitchTo(hashtable->tempcxt);
 
+       /*
+        * Set up data needed by hash and match functions
+        *
+        * We save and restore CurTupleHashTable just in case someone manages
+        * to invoke this code re-entrantly.
+        */
+       hashtable->tupdesc = tupdesc;
+       saveCurHT = CurTupleHashTable;
+       CurTupleHashTable = hashtable;
+
+       /* Search the hash table */
+       entry = (TupleHashEntry) hash_search(hashtable->hashtab,
+                                                                                &tuple,
+                                                                                isnew ? HASH_ENTER : HASH_FIND,
+                                                                                &found);
+
+       if (isnew)
+       {
+               if (found)
+               {
+                       /* found pre-existing entry */
+                       *isnew = false;
+               }
+               else
+               {
+                       /* created new entry ... we hope */
+                       if (entry == NULL)
+                               ereport(ERROR,
+                                               (errcode(ERRCODE_OUT_OF_MEMORY),
+                                                errmsg("out of memory")));
+
+                       /*
+                        * Zero any caller-requested space in the entry.  (This zaps
+                        * the "key data" dynahash.c copied into the new entry, but
+                        * we don't care since we're about to overwrite it anyway.)
+                        */
+                       MemSet(entry, 0, hashtable->entrysize);
+
+                       /* Copy the first tuple into the table context */
+                       MemoryContextSwitchTo(hashtable->tablecxt);
+                       entry->firstTuple = heap_copytuple(tuple);
+
+                       *isnew = true;
+               }
+       }
+
+       CurTupleHashTable = saveCurHT;
+
+       MemoryContextSwitchTo(oldContext);
+
+       return entry;
+}
+
+/*
+ * Compute the hash value for a tuple
+ *
+ * The passed-in key is a pointer to a HeapTuple pointer -- this is either
+ * the firstTuple field of a TupleHashEntry struct, or the key value passed
+ * to hash_search.  We ignore the keysize.
+ *
+ * CurTupleHashTable must be set before calling this, since dynahash.c
+ * doesn't provide any API that would let us get at the hashtable otherwise.
+ *
+ * Also, the caller must select an appropriate memory context for running
+ * the hash functions.  (dynahash.c doesn't change CurrentMemoryContext.)
+ */
+static uint32
+TupleHashTableHash(const void *key, Size keysize)
+{
+       HeapTuple       tuple = *(const HeapTuple *) key;
+       TupleHashTable hashtable = CurTupleHashTable;
+       int                     numCols = hashtable->numCols;
+       AttrNumber *keyColIdx = hashtable->keyColIdx;
+       TupleDesc       tupdesc = hashtable->tupdesc;
+       uint32          hashkey = 0;
+       int                     i;
+
        for (i = 0; i < numCols; i++)
        {
                AttrNumber      att = keyColIdx[i];
@@ -360,72 +453,36 @@ LookupTupleHashEntry(TupleHashTable hashtable, TupleTableSlot *slot,
                        hashkey ^= hkey;
                }
        }
-       bucketno = hashkey % (uint32) hashtable->nbuckets;
-
-       for (entry = hashtable->buckets[bucketno];
-                entry != NULL;
-                entry = entry->next)
-       {
-               /* Quick check using hashkey */
-               if (entry->hashkey != hashkey)
-                       continue;
-               if (execTuplesMatch(entry->firstTuple,
-                                                       tuple,
-                                                       tupdesc,
-                                                       numCols, keyColIdx,
-                                                       hashtable->eqfunctions,
-                                                       hashtable->tempcxt))
-               {
-                       if (isnew)
-                               *isnew = false;
-                       MemoryContextSwitchTo(oldContext);
-                       return entry;
-               }
-       }
-
-       /* Not there, so build a new one if requested */
-       if (isnew)
-       {
-               MemoryContextSwitchTo(hashtable->tablecxt);
-
-               entry = (TupleHashEntry) palloc0(hashtable->entrysize);
-
-               entry->hashkey = hashkey;
-               entry->firstTuple = heap_copytuple(tuple);
-
-               entry->next = hashtable->buckets[bucketno];
-               hashtable->buckets[bucketno] = entry;
-
-               *isnew = true;
-       }
-
-       MemoryContextSwitchTo(oldContext);
 
-       return entry;
+       return hashkey;
 }
 
 /*
- * Walk through all the entries of a hash table, in no special order.
- * Returns NULL when no more entries remain.
+ * See whether two tuples (presumably of the same hash value) match
+ *
+ * As above, the passed pointers are pointers to HeapTuple pointers.
  *
- * Iterator state must be initialized with ResetTupleHashIterator() macro.
+ * CurTupleHashTable must be set before calling this, since dynahash.c
+ * doesn't provide any API that would let us get at the hashtable otherwise.
+ *
+ * Also, the caller must select an appropriate memory context for running
+ * the compare functions.  (dynahash.c doesn't change CurrentMemoryContext.)
  */
-TupleHashEntry
-ScanTupleHashTable(TupleHashTable hashtable, TupleHashIterator *state)
+static int
+TupleHashTableMatch(const void *key1, const void *key2, Size keysize)
 {
-       TupleHashEntry entry;
-
-       entry = state->next_entry;
-       while (entry == NULL)
-       {
-               if (state->next_bucket >= hashtable->nbuckets)
-               {
-                       /* No more entries in hashtable, so done */
-                       return NULL;
-               }
-               entry = hashtable->buckets[state->next_bucket++];
-       }
-       state->next_entry = entry->next;
-
-       return entry;
+       HeapTuple       tuple1 = *(const HeapTuple *) key1;
+       HeapTuple       tuple2 = *(const HeapTuple *) key2;
+       TupleHashTable hashtable = CurTupleHashTable;
+
+       if (execTuplesMatch(tuple1,
+                                               tuple2,
+                                               hashtable->tupdesc,
+                                               hashtable->numCols,
+                                               hashtable->keyColIdx,
+                                               hashtable->eqfunctions,
+                                               hashtable->tempcxt))
+               return 0;
+       else
+               return 1;
 }
index 4e73301f19f2b261950dcbf97a60eb270638681c..0ad43d6cb7a536a53c40733848ef459516e7416d 100644 (file)
@@ -1620,16 +1620,18 @@ ExecEvalArray(ArrayExprState *astate, ExprContext *econtext,
        ArrayType  *result;
        List       *element;
        Oid                     element_type = arrayExpr->element_typeid;
-       int                     ndims = arrayExpr->ndims;
+       int                     ndims = 0;
        int                     dims[MAXDIM];
        int                     lbs[MAXDIM];
 
-       if (ndims == 1)
+       if (!arrayExpr->multidims)
        {
+               /* Elements are presumably of scalar type */
                int                     nelems;
                Datum      *dvalues;
                int                     i = 0;
 
+               ndims = 1;
                nelems = length(astate->elements);
 
                /* Shouldn't happen here, but if length is 0, return NULL */
@@ -1667,6 +1669,7 @@ ExecEvalArray(ArrayExprState *astate, ExprContext *econtext,
        }
        else
        {
+               /* Must be nested array expressions */
                char       *dat = NULL;
                Size            ndatabytes = 0;
                int                     nbytes;
@@ -1677,12 +1680,6 @@ ExecEvalArray(ArrayExprState *astate, ExprContext *econtext,
                bool            firstone = true;
                int                     i;
 
-               if (ndims <= 0 || ndims > MAXDIM)
-                       ereport(ERROR,
-                                       (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
-                                        errmsg("number of array dimensions exceeds the maximum allowed, %d",
-                                                       MAXDIM)));
-
                /* loop through and get data area from each element */
                foreach(element, astate->elements)
                {
@@ -1701,14 +1698,32 @@ ExecEvalArray(ArrayExprState *astate, ExprContext *econtext,
 
                        array = DatumGetArrayTypeP(arraydatum);
 
+                       /* run-time double-check on element type */
+                       if (element_type != ARR_ELEMTYPE(array))
+                               ereport(ERROR,
+                                               (errcode(ERRCODE_DATATYPE_MISMATCH),
+                                                errmsg("cannot merge incompatible arrays"),
+                                                errdetail("Array with element type %s cannot be "
+                                                                  "included in ARRAY construct with element type %s.",
+                                                                  format_type_be(ARR_ELEMTYPE(array)),
+                                                                  format_type_be(element_type))));
+
                        if (firstone)
                        {
                                /* Get sub-array details from first member */
                                elem_ndims = ARR_NDIM(array);
+                               ndims = elem_ndims + 1;
+                               if (ndims <= 0 || ndims > MAXDIM)
+                                       ereport(ERROR,
+                                                       (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
+                                                        errmsg("number of array dimensions exceeds " \
+                                                                       "the maximum allowed, %d", MAXDIM)));
+
                                elem_dims = (int *) palloc(elem_ndims * sizeof(int));
                                memcpy(elem_dims, ARR_DIMS(array), elem_ndims * sizeof(int));
                                elem_lbs = (int *) palloc(elem_ndims * sizeof(int));
                                memcpy(elem_lbs, ARR_LBOUND(array), elem_ndims * sizeof(int));
+
                                firstone = false;
                        }
                        else
index 05371fb24d1810c8eec4b2e0ad13a070aad823ad..6ac0984fc081d759bb6a976aa7d5f68880e6b4c5 100644 (file)
@@ -905,7 +905,7 @@ agg_fill_hash_table(AggState *aggstate)
 
        aggstate->table_filled = true;
        /* Initialize to walk the hash table */
-       ResetTupleHashIterator(&aggstate->hashiter);
+       ResetTupleHashIterator(aggstate->hashtable, &aggstate->hashiter);
 }
 
 /*
@@ -920,7 +920,6 @@ agg_retrieve_hash_table(AggState *aggstate)
        bool       *aggnulls;
        AggStatePerAgg peragg;
        AggStatePerGroup pergroup;
-       TupleHashTable hashtable;
        AggHashEntry entry;
        TupleTableSlot *firstSlot;
        TupleTableSlot *resultSlot;
@@ -935,7 +934,6 @@ agg_retrieve_hash_table(AggState *aggstate)
        aggnulls = econtext->ecxt_aggnulls;
        projInfo = aggstate->ss.ps.ps_ProjInfo;
        peragg = aggstate->peragg;
-       hashtable = aggstate->hashtable;
        firstSlot = aggstate->ss.ss_ScanTupleSlot;
 
        /*
@@ -950,8 +948,7 @@ agg_retrieve_hash_table(AggState *aggstate)
                /*
                 * Find the next entry in the hash table
                 */
-               entry = (AggHashEntry) ScanTupleHashTable(hashtable,
-                                                                                                 &aggstate->hashiter);
+               entry = (AggHashEntry) ScanTupleHashTable(&aggstate->hashiter);
                if (entry == NULL)
                {
                        /* No more entries in hashtable, so done */
@@ -1440,7 +1437,7 @@ ExecReScanAgg(AggState *node, ExprContext *exprCtxt)
                 */
                if (((PlanState *) node)->lefttree->chgParam == NULL)
                {
-                       ResetTupleHashIterator(&node->hashiter);
+                       ResetTupleHashIterator(node->hashtable, &node->hashiter);
                        return;
                }
        }
index 959723d88e380b6c639bff132e0ce3872111046f..763a46297fe22f09b9f09915cf36d49f5fd96edb 100644 (file)
 #include "access/heapam.h"
 #include "executor/execdebug.h"
 #include "executor/nodeIndexscan.h"
+#include "miscadmin.h"
 #include "nodes/nodeFuncs.h"
 #include "optimizer/clauses.h"
 #include "parser/parsetree.h"
 
-/* ----------------
- *             Misc stuff to move to executor.h soon -cim 6/5/90
- * ----------------
- */
+
 #define NO_OP                  0
 #define LEFT_OP                        1
 #define RIGHT_OP               2
 
+/*
+ * In a multiple-index plan, we must take care to return any given tuple
+ * only once, even if it matches conditions of several index scans.  Our
+ * preferred way to do this is to record already-returned tuples in a hash
+ * table (using the TID as unique identifier).  However, in a very large
+ * scan this could conceivably run out of memory.  We limit the hash table
+ * to no more than SortMem KB; if it grows past that, we fall back to the
+ * pre-7.4 technique: evaluate the prior-scan index quals again for each
+ * tuple (which is space-efficient, but slow).
+ *
+ * When scanning backwards, we use scannum to determine when to emit the
+ * tuple --- we have to re-emit a tuple in the same scan as it was first
+ * encountered.
+ *
+ * Note: this code would break if the planner were ever to create a multiple
+ * index plan with overall backwards direction, because the hashtable code
+ * will emit a tuple the first time it is encountered (which would be the
+ * highest scan in which it matches the index), but the evaluate-the-quals
+ * code will emit a tuple in the lowest-numbered scan in which it's valid.
+ * This could be fixed at need by making the evaluate-the-quals case more
+ * complex.  Currently the planner will never create such a plan (since it
+ * considers multi-index plans unordered anyway), so there's no need for
+ * more complexity.
+ */
+typedef struct
+{
+       /* tid is the hash key and so must be first! */
+       ItemPointerData tid;            /* TID of a tuple we've returned */
+       int                     scannum;                /* number of scan we returned it in */
+} DupHashTabEntry;
+
+
 static TupleTableSlot *IndexNext(IndexScanState *node);
+static void create_duphash(IndexScanState *node);
+
 
 /* ----------------------------------------------------------------
  *             IndexNext
@@ -163,7 +195,7 @@ IndexNext(IndexScanState *node)
                while ((tuple = index_getnext(scandesc, direction)) != NULL)
                {
                        /*
-                        * store the scanned tuple in the scan tuple slot of the scan
+                        * Store the scanned tuple in the scan tuple slot of the scan
                         * state.  Note: we pass 'false' because tuples returned by
                         * amgetnext are pointers onto disk pages and must not be
                         * pfree()'d.
@@ -174,36 +206,80 @@ IndexNext(IndexScanState *node)
                                                   false);              /* don't pfree */
 
                        /*
-                        * We must check to see if the current tuple was already
-                        * matched by an earlier index, so we don't double-report it.
-                        * We do this by passing the tuple through ExecQual and
-                        * checking for failure with all previous qualifications.
+                        * If it's a multiple-index scan, make sure not to double-report
+                        * a tuple matched by more than one index.  (See notes above.)
                         */
-                       if (node->iss_IndexPtr > 0)
+                       if (numIndices > 1)
                        {
-                               bool            prev_matches = false;
-                               int                     prev_index;
-                               List       *qual;
-
-                               econtext->ecxt_scantuple = slot;
-                               ResetExprContext(econtext);
-                               qual = node->indxqualorig;
-                               for (prev_index = 0;
-                                        prev_index < node->iss_IndexPtr;
-                                        prev_index++)
+                               /* First try the hash table */
+                               if (node->iss_DupHash)
                                {
-                                       if (ExecQual((List *) lfirst(qual), econtext, false))
+                                       DupHashTabEntry *entry;
+                                       bool    found;
+
+                                       entry = (DupHashTabEntry *)
+                                               hash_search(node->iss_DupHash,
+                                                                       &tuple->t_data->t_ctid,
+                                                                       HASH_ENTER,
+                                                                       &found);
+                                       if (entry == NULL ||
+                                               node->iss_DupHash->hctl->nentries > node->iss_MaxHash)
+                                       {
+                                               /* out of memory (either hard or soft limit) */
+                                               /* release hash table and fall thru to old code */
+                                               hash_destroy(node->iss_DupHash);
+                                               node->iss_DupHash = NULL;
+                                       }
+                                       else if (found)
                                        {
-                                               prev_matches = true;
-                                               break;
+                                               /* pre-existing entry */
+
+                                               /*
+                                                * It's duplicate if first emitted in a different
+                                                * scan.  If same scan, we must be backing up, so
+                                                * okay to emit again.
+                                                */
+                                               if (entry->scannum != node->iss_IndexPtr)
+                                               {
+                                                       /* Dup, so drop it and loop back for another */
+                                                       ExecClearTuple(slot);
+                                                       continue;
+                                               }
+                                       }
+                                       else
+                                       {
+                                               /* new entry, finish filling it in */
+                                               entry->scannum = node->iss_IndexPtr;
                                        }
-                                       qual = lnext(qual);
                                }
-                               if (prev_matches)
+                               /* If hash table has overflowed, do it the hard way */
+                               if (node->iss_DupHash == NULL &&
+                                       node->iss_IndexPtr > 0)
                                {
-                                       /* Duplicate, so drop it and loop back for another */
-                                       ExecClearTuple(slot);
-                                       continue;
+                                       bool            prev_matches = false;
+                                       int                     prev_index;
+                                       List       *qual;
+
+                                       econtext->ecxt_scantuple = slot;
+                                       ResetExprContext(econtext);
+                                       qual = node->indxqualorig;
+                                       for (prev_index = 0;
+                                                prev_index < node->iss_IndexPtr;
+                                                prev_index++)
+                                       {
+                                               if (ExecQual((List *) lfirst(qual), econtext, false))
+                                               {
+                                                       prev_matches = true;
+                                                       break;
+                                               }
+                                               qual = lnext(qual);
+                                       }
+                                       if (prev_matches)
+                                       {
+                                               /* Dup, so drop it and loop back for another */
+                                               ExecClearTuple(slot);
+                                               continue;
+                                       }
                                }
                        }
 
@@ -383,6 +459,14 @@ ExecIndexReScan(IndexScanState *node, ExprContext *exprCtxt)
                return;
        }
 
+       /* reset hash table */
+       if (numIndices > 1)
+       {
+               if (node->iss_DupHash)
+                       hash_destroy(node->iss_DupHash);
+               create_duphash(node);
+       }
+
        /* reset index scans */
        if (ScanDirectionIsBackward(((IndexScan *) node->ss.ps.plan)->indxorderdir))
                node->iss_IndexPtr = numIndices;
@@ -432,6 +516,10 @@ ExecEndIndexScan(IndexScanState *node)
        ExecClearTuple(node->ss.ps.ps_ResultTupleSlot);
        ExecClearTuple(node->ss.ss_ScanTupleSlot);
 
+       /* drop hash table */
+       if (node->iss_DupHash)
+               hash_destroy(node->iss_DupHash);
+
        /*
         * close the index relations
         */
@@ -507,7 +595,7 @@ ExecIndexRestrPos(IndexScanState *node)
 
 /* ----------------------------------------------------------------
  *             ExecInitIndexScan
 *
+ *
  *             Initializes the index scan's state information, creates
  *             scan keys, and opens the base and index relations.
  *
@@ -919,12 +1007,42 @@ ExecInitIndexScan(IndexScan *node, EState *estate)
        ExecAssignResultTypeFromTL(&indexstate->ss.ps);
        ExecAssignScanProjectionInfo(&indexstate->ss);
 
+       /*
+        * Initialize hash table if needed.
+        */
+       if (numIndices > 1)
+               create_duphash(indexstate);
+       else
+               indexstate->iss_DupHash = NULL;
+
        /*
         * all done.
         */
        return indexstate;
 }
 
+static void
+create_duphash(IndexScanState *node)
+{
+       HASHCTL         hash_ctl;
+
+       MemSet(&hash_ctl, 0, sizeof(hash_ctl));
+       hash_ctl.keysize = SizeOfIptrData;
+       hash_ctl.entrysize = sizeof(DupHashTabEntry);
+       hash_ctl.hash = tag_hash;
+       hash_ctl.hcxt = CurrentMemoryContext;
+       node->iss_DupHash = hash_create("DupHashTable",
+                                                                       (long) ceil(node->ss.ps.plan->plan_rows),
+                                                                       &hash_ctl,
+                                                                       HASH_ELEM | HASH_FUNCTION | HASH_CONTEXT);
+       if (node->iss_DupHash == NULL)
+               ereport(ERROR,
+                               (errcode(ERRCODE_OUT_OF_MEMORY),
+                                errmsg("out of memory")));
+       node->iss_MaxHash = (SortMem * 1024L) /
+               (MAXALIGN(sizeof(HASHELEMENT)) + MAXALIGN(sizeof(DupHashTabEntry)));
+}
+
 int
 ExecCountSlotsIndexScan(IndexScan *node)
 {
index 0b35e6fc51c10d29859ff3c9439508d56c71a3ca..2f27a3d558024a696c6476a11fc2ace7308961ac 100644 (file)
@@ -627,8 +627,8 @@ findPartialMatch(TupleHashTable hashtable, TupleTableSlot *slot)
        TupleHashIterator hashiter;
        TupleHashEntry entry;
 
-       ResetTupleHashIterator(&hashiter);
-       while ((entry = ScanTupleHashTable(hashtable, &hashiter)) != NULL)
+       ResetTupleHashIterator(hashtable, &hashiter);
+       while ((entry = ScanTupleHashTable(&hashiter)) != NULL)
        {
                if (!execTuplesUnequal(entry->firstTuple,
                                                           tuple,
index 28637a788e3e62d60068afb4381d7256c2b42808..880fcc0e576c9a5d884d0febcda1dd461684a6b7 100644 (file)
@@ -550,12 +550,12 @@ parse_hba(List *line, hbaPort *port, bool *found_p, bool *error_p)
        char       *token;
        char       *db;
        char       *user;
-       struct addrinfo *file_ip_addr = NULL,
-                          *file_ip_mask = NULL;
+       struct addrinfo *gai_result;
        struct addrinfo hints;
-       struct sockaddr_storage *mask;
-       char       *cidr_slash;
        int                     ret;
+       struct sockaddr_storage addr;
+       struct sockaddr_storage mask;
+       char       *cidr_slash;
 
        Assert(line != NIL);
        line_number = lfirsti(line);
@@ -648,6 +648,7 @@ parse_hba(List *line, hbaPort *port, bool *found_p, bool *error_p)
                if (cidr_slash)
                        *cidr_slash = '\0';
 
+               /* Get the IP address either way */
                hints.ai_flags = AI_NUMERICHOST;
                hints.ai_family = PF_UNSPEC;
                hints.ai_socktype = 0;
@@ -657,9 +658,8 @@ parse_hba(List *line, hbaPort *port, bool *found_p, bool *error_p)
                hints.ai_addr = NULL;
                hints.ai_next = NULL;
 
-               /* Get the IP address either way */
-               ret = getaddrinfo_all(token, NULL, &hints, &file_ip_addr);
-               if (ret || !file_ip_addr)
+               ret = getaddrinfo_all(token, NULL, &hints, &gai_result);
+               if (ret || !gai_result)
                {
                        ereport(LOG,
                                        (errcode(ERRCODE_CONFIG_FILE_ERROR),
@@ -667,24 +667,21 @@ parse_hba(List *line, hbaPort *port, bool *found_p, bool *error_p)
                                                        token, gai_strerror(ret))));
                        if (cidr_slash)
                                *cidr_slash = '/';
+                       if (gai_result)
+                               freeaddrinfo_all(hints.ai_family, gai_result);
                        goto hba_syntax;
                }
 
                if (cidr_slash)
                        *cidr_slash = '/';
 
-               if (file_ip_addr->ai_family != port->raddr.addr.ss_family)
-               {
-                       /* Wrong address family. */
-                       freeaddrinfo_all(hints.ai_family, file_ip_addr);
-                       return;
-               }
+               memcpy(&addr, gai_result->ai_addr, gai_result->ai_addrlen);
+               freeaddrinfo_all(hints.ai_family, gai_result);
 
                /* Get the netmask */
                if (cidr_slash)
                {
-                       if (SockAddr_cidr_mask(&mask, cidr_slash + 1,
-                                                                  file_ip_addr->ai_family) < 0)
+                       if (SockAddr_cidr_mask(&mask, cidr_slash + 1, addr.ss_family) < 0)
                                goto hba_syntax;
                }
                else
@@ -695,16 +692,47 @@ parse_hba(List *line, hbaPort *port, bool *found_p, bool *error_p)
                                goto hba_syntax;
                        token = lfirst(line);
 
-                       ret = getaddrinfo_all(token, NULL, &hints, &file_ip_mask);
-                       if (ret || !file_ip_mask)
+                       ret = getaddrinfo_all(token, NULL, &hints, &gai_result);
+                       if (ret || !gai_result)
+                       {
+                               if (gai_result)
+                                       freeaddrinfo_all(hints.ai_family, gai_result);
                                goto hba_syntax;
+                       }
 
-                       mask = (struct sockaddr_storage *) file_ip_mask->ai_addr;
+                       memcpy(&mask, gai_result->ai_addr, gai_result->ai_addrlen);
+                       freeaddrinfo_all(hints.ai_family, gai_result);
 
-                       if (file_ip_addr->ai_family != mask->ss_family)
+                       if (addr.ss_family != mask.ss_family)
                                goto hba_syntax;
                }
 
+               if (addr.ss_family != port->raddr.addr.ss_family)
+               {
+                       /*
+                        * Wrong address family.  We allow only one case: if the
+                        * file has IPv4 and the port is IPv6, promote the file
+                        * address to IPv6 and try to match that way.
+                        */
+#ifdef HAVE_IPV6
+                       if (addr.ss_family == AF_INET &&
+                               port->raddr.addr.ss_family == AF_INET6)
+                       {
+                               promote_v4_to_v6_addr(&addr);
+                               promote_v4_to_v6_mask(&mask);
+                       }
+                       else
+#endif /* HAVE_IPV6 */
+                       {
+                               /* Line doesn't match client port, so ignore it. */
+                               return;
+                       }
+               }
+
+               /* Ignore line if client port is not in the matching addr range. */
+               if (!rangeSockAddr(&port->raddr.addr, &addr, &mask))
+                       return;
+
                /* Read the rest of the line. */
                line = lnext(line);
                if (!line)
@@ -712,16 +740,6 @@ parse_hba(List *line, hbaPort *port, bool *found_p, bool *error_p)
                parse_hba_auth(line, &port->auth_method, &port->auth_arg, error_p);
                if (*error_p)
                        goto hba_syntax;
-
-               /* Must meet network restrictions */
-               if (!rangeSockAddr(&port->raddr.addr,
-                                          (struct sockaddr_storage *) file_ip_addr->ai_addr,
-                                                  mask))
-                       goto hba_freeaddr;
-
-               freeaddrinfo_all(hints.ai_family, file_ip_addr);
-               if (file_ip_mask)
-                       freeaddrinfo_all(hints.ai_family, file_ip_mask);
        }
        else
                goto hba_syntax;
@@ -748,12 +766,6 @@ hba_syntax:
                                   line_number)));
 
        *error_p = true;
-
-hba_freeaddr:
-       if (file_ip_addr)
-               freeaddrinfo_all(hints.ai_family, file_ip_addr);
-       if (file_ip_mask)
-               freeaddrinfo_all(hints.ai_family, file_ip_mask);
 }
 
 
@@ -1292,7 +1304,7 @@ ident_inet(const SockAddr remote_addr,
        {
                ereport(LOG,
                                (errcode_for_socket_access(),
-                                errmsg("could not connect to IDENT server at address \"%s\", port %s): %m",
+                                errmsg("could not connect to IDENT server at address \"%s\", port %s: %m",
                                                remote_addr_s, ident_port)));
                ident_return = false;
                goto ident_inet_done;
@@ -1312,7 +1324,7 @@ ident_inet(const SockAddr remote_addr,
        {
                ereport(LOG,
                                (errcode_for_socket_access(),
-                                errmsg("could not send query to IDENT server at address \"%s\", port %s): %m",
+                                errmsg("could not send query to IDENT server at address \"%s\", port %s: %m",
                                                remote_addr_s, ident_port)));
                ident_return = false;
                goto ident_inet_done;
@@ -1327,7 +1339,7 @@ ident_inet(const SockAddr remote_addr,
        {
                ereport(LOG,
                                (errcode_for_socket_access(),
-                                errmsg("could not receive response from IDENT server at address \"%s\", port %s): %m",
+                                errmsg("could not receive response from IDENT server at address \"%s\", port %s: %m",
                                                remote_addr_s, ident_port)));
                ident_return = false;
                goto ident_inet_done;
index bdf4d005067d95c13e531d5c434afb512bd04d0d..890755a9052b422b61cc3a6a3b86453eeb08985e 100644 (file)
@@ -34,7 +34,8 @@
 #endif
 #include <arpa/inet.h>
 #include <sys/file.h>
-#endif
+
+#endif /* !defined(_MSC_VER) && !defined(__BORLANDC__) */
 
 #include "libpq/ip.h"
 
@@ -265,9 +266,16 @@ getnameinfo_unix(const struct sockaddr_un * sa, int salen,
 
        return 0;
 }
+
 #endif   /* HAVE_UNIX_SOCKETS */
 
 
+/*
+ * rangeSockAddr - is addr within the subnet specified by netaddr/netmask ?
+ *
+ * Note: caller must already have verified that all three addresses are
+ * in the same address family; and AF_UNIX addresses are not supported.
+ */
 int
 rangeSockAddr(const struct sockaddr_storage * addr,
                          const struct sockaddr_storage * netaddr,
@@ -287,19 +295,52 @@ rangeSockAddr(const struct sockaddr_storage * addr,
                return 0;
 }
 
+static int
+rangeSockAddrAF_INET(const struct sockaddr_in * addr,
+                                        const struct sockaddr_in * netaddr,
+                                        const struct sockaddr_in * netmask)
+{
+       if (((addr->sin_addr.s_addr ^ netaddr->sin_addr.s_addr) &
+                netmask->sin_addr.s_addr) == 0)
+               return 1;
+       else
+               return 0;
+}
+
+
+#ifdef HAVE_IPV6
+static int
+rangeSockAddrAF_INET6(const struct sockaddr_in6 * addr,
+                                         const struct sockaddr_in6 * netaddr,
+                                         const struct sockaddr_in6 * netmask)
+{
+       int                     i;
+
+       for (i = 0; i < 16; i++)
+       {
+               if (((addr->sin6_addr.s6_addr[i] ^ netaddr->sin6_addr.s6_addr[i]) &
+                        netmask->sin6_addr.s6_addr[i]) != 0)
+                       return 0;
+       }
+
+       return 1;
+}
+
+#endif
+
 /*
  *     SockAddr_cidr_mask - make a network mask of the appropriate family
  *       and required number of significant bits
  *
- * Note: Returns a static pointer for the mask, so it's not thread safe,
- *              and a second call will overwrite the data.
+ * The resulting mask is placed in *mask, which had better be big enough.
+ *
+ * Return value is 0 if okay, -1 if not.
  */
 int
-SockAddr_cidr_mask(struct sockaddr_storage ** mask, char *numbits, int family)
+SockAddr_cidr_mask(struct sockaddr_storage * mask, char *numbits, int family)
 {
        long            bits;
        char       *endptr;
-       static struct sockaddr_storage sock;
        struct sockaddr_in mask4;
 
 #ifdef HAVE_IPV6
@@ -318,15 +359,13 @@ SockAddr_cidr_mask(struct sockaddr_storage ** mask, char *numbits, int family)
                )
                return -1;
 
-       *mask = &sock;
-
        switch (family)
        {
                case AF_INET:
                        mask4.sin_addr.s_addr =
                                htonl((0xffffffffUL << (32 - bits))
                                          & 0xffffffffUL);
-                       memcpy(&sock, &mask4, sizeof(mask4));
+                       memcpy(mask, &mask4, sizeof(mask4));
                        break;
 #ifdef HAVE_IPV6
                case AF_INET6:
@@ -346,7 +385,7 @@ SockAddr_cidr_mask(struct sockaddr_storage ** mask, char *numbits, int family)
                                        }
                                        bits -= 8;
                                }
-                               memcpy(&sock, &mask6, sizeof(mask6));
+                               memcpy(mask, &mask6, sizeof(mask6));
                                break;
                        }
 #endif
@@ -354,38 +393,80 @@ SockAddr_cidr_mask(struct sockaddr_storage ** mask, char *numbits, int family)
                        return -1;
        }
 
-       sock.ss_family = family;
+       mask->ss_family = family;
        return 0;
 }
 
-static int
-rangeSockAddrAF_INET(const struct sockaddr_in * addr, const struct sockaddr_in * netaddr,
-                                        const struct sockaddr_in * netmask)
+
+#ifdef HAVE_IPV6
+
+/*
+ * promote_v4_to_v6_addr --- convert an AF_INET addr to AF_INET6, using
+ *             the standard convention for IPv4 addresses mapped into IPv6 world
+ *
+ * The passed addr is modified in place; be sure it is large enough to
+ * hold the result!  Note that we only worry about setting the fields
+ * that rangeSockAddr will look at.
+ */
+void
+promote_v4_to_v6_addr(struct sockaddr_storage * addr)
 {
-       if (((addr->sin_addr.s_addr ^ netaddr->sin_addr.s_addr) &
-                netmask->sin_addr.s_addr) == 0)
-               return 1;
-       else
-               return 0;
-}
+       struct sockaddr_in addr4;
+       struct sockaddr_in6 addr6;
+       uint32          s_addr;
 
+       memcpy(&addr4, addr, sizeof(addr4));
+       s_addr = ntohl(addr4.sin_addr.s_addr);
 
-#ifdef HAVE_IPV6
-static int
-rangeSockAddrAF_INET6(const struct sockaddr_in6 * addr,
-                                         const struct sockaddr_in6 * netaddr,
-                                         const struct sockaddr_in6 * netmask)
+       memset(&addr6, 0, sizeof(addr6));
+
+       addr6.sin6_family = AF_INET6;
+
+       addr6.sin6_addr.s6_addr[10] = 0xff;
+       addr6.sin6_addr.s6_addr[11] = 0xff;
+       addr6.sin6_addr.s6_addr[12] = (s_addr >> 24) & 0xFF;
+       addr6.sin6_addr.s6_addr[13] = (s_addr >> 16) & 0xFF;
+       addr6.sin6_addr.s6_addr[14] = (s_addr >> 8) & 0xFF;
+       addr6.sin6_addr.s6_addr[15] = (s_addr) & 0xFF;
+
+       memcpy(addr, &addr6, sizeof(addr6));
+}
+
+/*
+ * promote_v4_to_v6_mask --- convert an AF_INET netmask to AF_INET6, using
+ *             the standard convention for IPv4 addresses mapped into IPv6 world
+ *
+ * This must be different from promote_v4_to_v6_addr because we want to
+ * set the high-order bits to 1's not 0's.
+ *
+ * The passed addr is modified in place; be sure it is large enough to
+ * hold the result!  Note that we only worry about setting the fields
+ * that rangeSockAddr will look at.
+ */
+void
+promote_v4_to_v6_mask(struct sockaddr_storage * addr)
 {
+       struct sockaddr_in addr4;
+       struct sockaddr_in6 addr6;
+       uint32          s_addr;
        int                     i;
 
-       for (i = 0; i < 16; i++)
-       {
-               if (((addr->sin6_addr.s6_addr[i] ^ netaddr->sin6_addr.s6_addr[i]) &
-                        netmask->sin6_addr.s6_addr[i]) != 0)
-                       return 0;
-       }
+       memcpy(&addr4, addr, sizeof(addr4));
+       s_addr = ntohl(addr4.sin_addr.s_addr);
 
-       return 1;
+       memset(&addr6, 0, sizeof(addr6));
+
+       addr6.sin6_family = AF_INET6;
+
+       for (i = 0; i < 12; i++)
+               addr6.sin6_addr.s6_addr[i] = 0xff;
+
+       addr6.sin6_addr.s6_addr[12] = (s_addr >> 24) & 0xFF;
+       addr6.sin6_addr.s6_addr[13] = (s_addr >> 16) & 0xFF;
+       addr6.sin6_addr.s6_addr[14] = (s_addr >> 8) & 0xFF;
+       addr6.sin6_addr.s6_addr[15] = (s_addr) & 0xFF;
+
+       memcpy(addr, &addr6, sizeof(addr6));
 }
 
-#endif
+#endif /* HAVE_IPV6 */
index e5dba788c66733212a3d17f12d94a2a16bcc633f..946e573ddc9083390fd0c72135e0288fe6347b76 100644 (file)
@@ -51,8 +51,7 @@
 # TYPE  DATABASE    USER        IP-ADDRESS        IP-MASK           METHOD
 
 local   all         all                                             trust
+# IPv4-style local connections:
 host    all         all         127.0.0.1         255.255.255.255   trust
-
-# uncomment these to support IPv6 localhost connections
-# host  all         all         ::1               ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff        trust
-# host  all         all         ::ffff:127.0.0.1/128                trust
+# IPv6-style local connections:
+host    all         all         ::1               ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff        trust
index c6a1057d04686ebb67382ef6fa5fa29bbaef425f..2a13d687a869d67c9f5feeea0b7dd7642cc5deba 100644 (file)
@@ -947,7 +947,7 @@ _copyArrayExpr(ArrayExpr *from)
        COPY_SCALAR_FIELD(array_typeid);
        COPY_SCALAR_FIELD(element_typeid);
        COPY_NODE_FIELD(elements);
-       COPY_SCALAR_FIELD(ndims);
+       COPY_SCALAR_FIELD(multidims);
 
        return newnode;
 }
@@ -1402,11 +1402,12 @@ _copyTypeName(TypeName *from)
        return newnode;
 }
 
-static SortGroupBy *
-_copySortGroupBy(SortGroupBy *from)
+static SortBy *
+_copySortBy(SortBy *from)
 {
-       SortGroupBy *newnode = makeNode(SortGroupBy);
+       SortBy *newnode = makeNode(SortBy);
 
+       COPY_SCALAR_FIELD(sortby_kind);
        COPY_NODE_FIELD(useOp);
        COPY_NODE_FIELD(node);
 
@@ -2924,8 +2925,8 @@ copyObject(void *from)
                case T_TypeCast:
                        retval = _copyTypeCast(from);
                        break;
-               case T_SortGroupBy:
-                       retval = _copySortGroupBy(from);
+               case T_SortBy:
+                       retval = _copySortBy(from);
                        break;
                case T_RangeSubselect:
                        retval = _copyRangeSubselect(from);
index 8df8d6262f1983f8bc063cc647de314e6f25c695..5b695f16b8feaebfa6f7486c51aaaa446c021374 100644 (file)
@@ -409,7 +409,7 @@ _equalArrayExpr(ArrayExpr *a, ArrayExpr *b)
        COMPARE_SCALAR_FIELD(array_typeid);
        COMPARE_SCALAR_FIELD(element_typeid);
        COMPARE_NODE_FIELD(elements);
-       COMPARE_SCALAR_FIELD(ndims);
+       COMPARE_SCALAR_FIELD(multidims);
 
        return true;
 }
@@ -1480,8 +1480,9 @@ _equalTypeCast(TypeCast *a, TypeCast *b)
 }
 
 static bool
-_equalSortGroupBy(SortGroupBy *a, SortGroupBy *b)
+_equalSortBy(SortBy *a, SortBy *b)
 {
+       COMPARE_SCALAR_FIELD(sortby_kind);
        COMPARE_NODE_FIELD(useOp);
        COMPARE_NODE_FIELD(node);
 
@@ -2045,8 +2046,8 @@ equal(void *a, void *b)
                case T_TypeCast:
                        retval = _equalTypeCast(a, b);
                        break;
-               case T_SortGroupBy:
-                       retval = _equalSortGroupBy(a, b);
+               case T_SortBy:
+                       retval = _equalSortBy(a, b);
                        break;
                case T_RangeSubselect:
                        retval = _equalRangeSubselect(a, b);
index d1f5e275612fae74d4024bf0004168ecf4b4c3d7..4a494299fca7e9d9824886478bcd5746fd01766e 100644 (file)
@@ -785,7 +785,7 @@ _outArrayExpr(StringInfo str, ArrayExpr *node)
        WRITE_OID_FIELD(array_typeid);
        WRITE_OID_FIELD(element_typeid);
        WRITE_NODE_FIELD(elements);
-       WRITE_INT_FIELD(ndims);
+       WRITE_BOOL_FIELD(multidims);
 }
 
 static void
index 16ce885f0677dfdd59f3b1056d659cf3b95c66e2..9614986dd0d643a14cacb0bee115abf43f71d98d 100644 (file)
@@ -659,7 +659,7 @@ _readArrayExpr(void)
        READ_OID_FIELD(array_typeid);
        READ_OID_FIELD(element_typeid);
        READ_NODE_FIELD(elements);
-       READ_INT_FIELD(ndims);
+       READ_BOOL_FIELD(multidims);
 
        READ_DONE();
 }
index a65dc8e54e19a884159dc21067c07926c1580244..0bd9c830440767b5b769582719599e381d5b7483 100644 (file)
@@ -629,8 +629,9 @@ create_unique_plan(Query *root, UniquePath *best_path)
 
                        tle = get_tle_by_resno(my_tlist, groupColIdx[groupColPos]);
                        Assert(tle != NULL);
-                       sortList = addTargetToSortList(NULL, tle, sortList,
-                                                                                  my_tlist, NIL, false);
+                       sortList = addTargetToSortList(NULL, tle,
+                                                                                  sortList, my_tlist,
+                                                                                  SORTBY_ASC, NIL, false);
                }
                plan = (Plan *) make_sort_from_sortclauses(root, my_tlist,
                                                                                                   subplan, sortList);
@@ -943,6 +944,10 @@ create_nestloop_plan(Query *root,
                otherclauses = NIL;
        }
 
+       /* Sort clauses into best execution order */
+       joinclauses = order_qual_clauses(root, joinclauses);
+       otherclauses = order_qual_clauses(root, otherclauses);
+
        join_plan = make_nestloop(tlist,
                                                          joinclauses,
                                                          otherclauses,
@@ -994,6 +999,11 @@ create_mergejoin_plan(Query *root,
        mergeclauses = get_switched_clauses(best_path->path_mergeclauses,
                                                 best_path->jpath.outerjoinpath->parent->relids);
 
+       /* Sort clauses into best execution order */
+       /* NB: do NOT reorder the mergeclauses */
+       joinclauses = order_qual_clauses(root, joinclauses);
+       otherclauses = order_qual_clauses(root, otherclauses);
+
        /*
         * Create explicit sort nodes for the outer and inner join paths if
         * necessary.  The sort cost was already accounted for in the path.
@@ -1077,6 +1087,11 @@ create_hashjoin_plan(Query *root,
        hashclauses = get_switched_clauses(best_path->path_hashclauses,
                                                 best_path->jpath.outerjoinpath->parent->relids);
 
+       /* Sort clauses into best execution order */
+       joinclauses = order_qual_clauses(root, joinclauses);
+       otherclauses = order_qual_clauses(root, otherclauses);
+       hashclauses = order_qual_clauses(root, hashclauses);
+
        /*
         * Extract the inner hash keys (right-hand operands of the
         * hashclauses) to put in the Hash node.
index 71ab10eb47af7e280ea2f2b442ef581271f17932..c657a94acc81574125074231ae51b8db788cde63 100644 (file)
@@ -1327,7 +1327,9 @@ hash_safe_grouping(Query *parse)
                Operator        optup;
                bool            oprcanhash;
 
-               optup = equality_oper(tle->resdom->restype, false);
+               optup = equality_oper(tle->resdom->restype, true);
+               if (!optup)
+                       return false;
                oprcanhash = ((Form_pg_operator) GETSTRUCT(optup))->oprcanhash;
                ReleaseSysCache(optup);
                if (!oprcanhash)
index 1d450e0da8d4eec1a6a72ec7d4fa9d5b005e1639..4ae1b9c7080a8442782e1b91eb1323860c508343 100644 (file)
@@ -1515,7 +1515,7 @@ eval_const_expressions_mutator(Node *node, List *active_fns)
                newarray->array_typeid = arrayexpr->array_typeid;
                newarray->element_typeid = arrayexpr->element_typeid;
                newarray->elements = FastListValue(&newelems);
-               newarray->ndims = arrayexpr->ndims;
+               newarray->multidims = arrayexpr->multidims;
 
                if (all_const)
                        return (Node *) evaluate_expr((Expr *) newarray,
index d80ff5bd1bf3562b582518a961d6482b40e43341..6d65337b32cb782552d700600972ba3085194026 100644 (file)
@@ -108,6 +108,7 @@ static void doNegateFloat(Value *v);
        DropBehavior            dbehavior;
        OnCommitAction          oncommit;
        List                            *list;
+       FastList                        fastlist;
        Node                            *node;
        Value                           *value;
        ColumnRef                       *columnref;
@@ -115,7 +116,7 @@ static void doNegateFloat(Value *v);
 
        TypeName                        *typnam;
        DefElem                         *defelt;
-       SortGroupBy                     *sortgroupby;
+       SortBy                          *sortby;
        JoinExpr                        *jexpr;
        IndexElem                       *ielem;
        Alias                           *alias;
@@ -189,7 +190,7 @@ static void doNegateFloat(Value *v);
                                database_name access_method_clause access_method attr_name
                                index_name name function_name file_name
 
-%type <list>   func_name handler_name qual_Op qual_all_Op OptUseOp
+%type <list>   func_name handler_name qual_Op qual_all_Op
                                opt_class opt_validator
 
 %type <range>  qualified_name OptConstrFromTable
@@ -278,7 +279,7 @@ static void doNegateFloat(Value *v);
 %type <value>  NumericOnly FloatOnly IntegerOnly
 %type <columnref>      columnref
 %type <alias>  alias_clause
-%type <sortgroupby>            sortby
+%type <sortby> sortby
 %type <ielem>  index_elem
 %type <node>   table_ref
 %type <jexpr>  joined_table
@@ -293,7 +294,7 @@ static void doNegateFloat(Value *v);
                                Bit ConstBit BitWithLength BitWithoutLength
 %type <str>            character
 %type <str>            extract_arg
-%type <str>            opt_charset opt_collate
+%type <str>            opt_charset
 %type <ival>   opt_numeric opt_decimal
 %type <boolean> opt_varying opt_timezone
 
@@ -440,7 +441,6 @@ static void doNegateFloat(Value *v);
 %right         UMINUS
 %left          '[' ']'
 %left          '(' ')'
-%left          COLLATE
 %left          TYPECAST
 %left          '.'
 /*
@@ -1460,19 +1460,13 @@ TableElement:
                        | TableConstraint                                       { $$ = $1; }
                ;
 
-columnDef:     ColId Typename ColQualList opt_collate
+columnDef:     ColId Typename ColQualList
                                {
                                        ColumnDef *n = makeNode(ColumnDef);
                                        n->colname = $1;
                                        n->typename = $2;
                                        n->constraints = $3;
                                        n->is_local = true;
-
-                                       if ($4 != NULL)
-                                               ereport(NOTICE,
-                                                               (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
-                                                                errmsg("CREATE TABLE / COLLATE is not yet implemented; clause ignored")));
-
                                        $$ = (Node *)n;
                                }
                ;
@@ -3842,17 +3836,12 @@ DropdbStmt: DROP DATABASE database_name
  *****************************************************************************/
 
 CreateDomainStmt:
-                       CREATE DOMAIN_P any_name opt_as Typename ColQualList opt_collate
+                       CREATE DOMAIN_P any_name opt_as Typename ColQualList
                                {
                                        CreateDomainStmt *n = makeNode(CreateDomainStmt);
                                        n->domainname = $3;
                                        n->typename = $5;
                                        n->constraints = $6;
-
-                                       if ($7 != NULL)
-                                               ereport(NOTICE,
-                                                               (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
-                                                                errmsg("CREATE DOMAIN / COLLATE is not yet implemented; clause ignored")));
                                        $$ = (Node *)n;
                                }
                ;
@@ -4577,21 +4566,34 @@ sortby_list:
                        | sortby_list ',' sortby                                { $$ = lappend($1, $3); }
                ;
 
-sortby:                a_expr OptUseOp
+sortby:                a_expr USING qual_all_Op
                                {
-                                       $$ = makeNode(SortGroupBy);
+                                       $$ = makeNode(SortBy);
                                        $$->node = $1;
-                                       $$->useOp = $2;
+                                       $$->sortby_kind = SORTBY_USING;
+                                       $$->useOp = $3;
+                               }
+                       | a_expr ASC
+                               {
+                                       $$ = makeNode(SortBy);
+                                       $$->node = $1;
+                                       $$->sortby_kind = SORTBY_ASC;
+                                       $$->useOp = NIL;
+                               }
+                       | a_expr DESC
+                               {
+                                       $$ = makeNode(SortBy);
+                                       $$->node = $1;
+                                       $$->sortby_kind = SORTBY_DESC;
+                                       $$->useOp = NIL;
+                               }
+                       | a_expr
+                               {
+                                       $$ = makeNode(SortBy);
+                                       $$->node = $1;
+                                       $$->sortby_kind = SORTBY_ASC;   /* default */
+                                       $$->useOp = NIL;
                                }
-               ;
-
-OptUseOp:      USING qual_all_Op                                               { $$ = $2; }
-                       | ASC
-                                                       { $$ = makeList1(makeString("<")); }
-                       | DESC
-                                                       { $$ = makeList1(makeString(">")); }
-                       | /*EMPTY*/
-                                                       { $$ = makeList1(makeString("<"));      /*default*/ }
                ;
 
 
@@ -5449,11 +5451,6 @@ opt_charset:
                        | /*EMPTY*/                                                             { $$ = NULL; }
                ;
 
-opt_collate:
-                       COLLATE ColId                                                   { $$ = $2; }
-                       | /*EMPTY*/                                                             { $$ = NULL; }
-               ;
-
 ConstDatetime:
                        TIMESTAMP '(' Iconst ')' opt_timezone
                                {
@@ -5739,15 +5736,6 @@ qual_all_Op:
 a_expr:                c_expr                                                                  { $$ = $1; }
                        | a_expr TYPECAST Typename
                                        { $$ = makeTypeCast($1, $3); }
-                       | a_expr COLLATE ColId
-                               {
-                                       FuncCall *n = makeNode(FuncCall);
-                                       n->funcname = SystemFuncName($3);
-                                       n->args = makeList1($1);
-                                       n->agg_star = FALSE;
-                                       n->agg_distinct = FALSE;
-                                       $$ = (Node *) n;
-                               }
                        | a_expr AT TIME ZONE c_expr
                                {
                                        FuncCall *n = makeNode(FuncCall);
@@ -6706,8 +6694,18 @@ opt_indirection:
                                { $$ = NIL; }
                ;
 
-expr_list:     a_expr                                                                  { $$ = makeList1($1); }
-                       | expr_list ',' a_expr                                  { $$ = lappend($1, $3); }
+expr_list:     a_expr
+                               {
+                                       FastList *dst = (FastList *) &$$;
+                                       makeFastList1(dst, $1);
+                               }
+                       | expr_list ',' a_expr
+                               {
+                                       FastList *dst = (FastList *) &$$;
+                                       FastList *src = (FastList *) &$1;
+                                       *dst = *src;
+                                       FastAppend(dst, $3);
+                               }
                ;
 
 extract_list:
index e155471a38122e82dbe1326462db916c07259bfc..657197c276610311e08ec4dc584127119d36a250 100644 (file)
@@ -1295,7 +1295,7 @@ transformSortClause(ParseState *pstate,
 
        foreach(olitem, orderlist)
        {
-               SortGroupBy *sortby = lfirst(olitem);
+               SortBy     *sortby = lfirst(olitem);
                TargetEntry *tle;
 
                tle = findTargetlistEntry(pstate, sortby->node,
@@ -1303,7 +1303,9 @@ transformSortClause(ParseState *pstate,
 
                sortlist = addTargetToSortList(pstate, tle,
                                                                           sortlist, targetlist,
-                                                                          sortby->useOp, resolveUnknown);
+                                                                          sortby->sortby_kind,
+                                                                          sortby->useOp,
+                                                                          resolveUnknown);
        }
 
        return sortlist;
@@ -1409,7 +1411,7 @@ transformDistinctClause(ParseState *pstate, List *distinctlist,
                        {
                                *sortClause = addTargetToSortList(pstate, tle,
                                                                                                  *sortClause, targetlist,
-                                                                                                 NIL, true);
+                                                                                                 SORTBY_ASC, NIL, true);
 
                                /*
                                 * Probably, the tle should always have been added at the
@@ -1457,7 +1459,8 @@ addAllTargetsToSortList(ParseState *pstate, List *sortlist,
                if (!tle->resdom->resjunk)
                        sortlist = addTargetToSortList(pstate, tle,
                                                                                   sortlist, targetlist,
-                                                                                  NIL, resolveUnknown);
+                                                                                  SORTBY_ASC, NIL,
+                                                                                  resolveUnknown);
        }
        return sortlist;
 }
@@ -1478,7 +1481,8 @@ addAllTargetsToSortList(ParseState *pstate, List *sortlist,
 List *
 addTargetToSortList(ParseState *pstate, TargetEntry *tle,
                                        List *sortlist, List *targetlist,
-                                       List *opname, bool resolveUnknown)
+                                       int sortby_kind, List *sortby_opname,
+                                       bool resolveUnknown)
 {
        /* avoid making duplicate sortlist entries */
        if (!targetIsInSortList(tle, sortlist))
@@ -1499,13 +1503,25 @@ addTargetToSortList(ParseState *pstate, TargetEntry *tle,
 
                sortcl->tleSortGroupRef = assignSortGroupRef(tle, targetlist);
 
-               if (opname)
-                       sortcl->sortop = compatible_oper_opid(opname,
-                                                                                                 restype,
-                                                                                                 restype,
-                                                                                                 false);
-               else
-                       sortcl->sortop = ordering_oper_opid(restype);
+               switch (sortby_kind)
+               {
+                       case SORTBY_ASC:
+                               sortcl->sortop = ordering_oper_opid(restype);
+                               break;
+                       case SORTBY_DESC:
+                               sortcl->sortop = reverse_ordering_oper_opid(restype);
+                               break;
+                       case SORTBY_USING:
+                               Assert(sortby_opname != NIL);
+                               sortcl->sortop = compatible_oper_opid(sortby_opname,
+                                                                                                         restype,
+                                                                                                         restype,
+                                                                                                         false);
+                               break;
+                       default:
+                               elog(ERROR, "unrecognized sortby_kind: %d", sortby_kind);
+                               break;
+               }
 
                sortlist = lappend(sortlist, sortcl);
        }
index cdb98166a09afc8cf653ba9966a77f1e47d45360..5cf378dfa46fa849d0e67bd34108d71d666c706c 100644 (file)
@@ -748,7 +748,6 @@ transformExpr(ParseState *pstate, Node *expr)
                                List       *element;
                                Oid                     array_type;
                                Oid                     element_type;
-                               int                     ndims;
 
                                /* Transform the element expressions */
                                foreach(element, a->elements)
@@ -781,11 +780,13 @@ transformExpr(ParseState *pstate, Node *expr)
                                if (array_type != InvalidOid)
                                {
                                        /* Elements are presumably of scalar type */
-                                       ndims = 1;
+                                       newa->multidims = false;
                                }
                                else
                                {
                                        /* Must be nested array expressions */
+                                       newa->multidims = true;
+
                                        array_type = element_type;
                                        element_type = get_element_type(array_type);
                                        if (!OidIsValid(element_type))
@@ -793,47 +794,11 @@ transformExpr(ParseState *pstate, Node *expr)
                                                                (errcode(ERRCODE_UNDEFINED_OBJECT),
                                                                 errmsg("could not find array type for datatype %s",
                                                                                format_type_be(array_type))));
-
-                                       /*
-                                        * make sure the element expressions all have the same
-                                        * number of dimensions
-                                        */
-                                       ndims = 0;
-                                       foreach(element, newcoercedelems)
-                                       {
-                                               ArrayExpr  *e = (ArrayExpr *) lfirst(element);
-
-                                               if (!IsA(e, ArrayExpr))
-                                                       ereport(ERROR,
-                                                                       (errcode(ERRCODE_SYNTAX_ERROR),
-                                                                        errmsg("multidimensional ARRAY[] must be built from nested array expressions")));
-                                               if (ndims == 0)
-                                                       ndims = e->ndims;
-                                               else if (e->ndims != ndims)
-                                                       ereport(ERROR,
-                                                                       (errcode(ERRCODE_SYNTAX_ERROR),
-                                                                        errmsg("nested array expressions must have common number of dimensions")));
-                                               if (e->element_typeid != element_type)
-                                                       ereport(ERROR,
-                                                                       (errcode(ERRCODE_SYNTAX_ERROR),
-                                                                        errmsg("nested array expressions must have common element type")));
-
-                                       }
-                                       /* increment the number of dimensions */
-                                       ndims++;
-
-                                       /* make sure we don't have too many dimensions now */
-                                       if (ndims > MAXDIM)
-                                               ereport(ERROR,
-                                                               (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
-                                                                errmsg("number of array dimensions exceeds the maximum allowed, %d",
-                                                                               MAXDIM)));
                                }
 
                                newa->array_typeid = array_type;
                                newa->element_typeid = element_type;
                                newa->elements = newcoercedelems;
-                               newa->ndims = ndims;
 
                                result = (Node *) newa;
                                break;
index 1daf722206e95b14bcf947ad17b16cd937f68b2d..2cbfe5a3bd9d93df82bd5aa5274ad6b2ff0f60d1 100644 (file)
@@ -26,6 +26,7 @@
 #include "utils/fmgroids.h"
 #include "utils/lsyscache.h"
 #include "utils/syscache.h"
+#include "utils/typcache.h"
 
 
 static Oid binary_oper_exact(Oid arg1, Oid arg2,
@@ -135,52 +136,49 @@ LookupOperNameTypeNames(List *opername, TypeName *oprleft,
 Operator
 equality_oper(Oid argtype, bool noError)
 {
+       TypeCacheEntry *typentry;
+       Oid                     oproid;
        Operator        optup;
-       Oid                     elem_type;
+
+       /*
+        * Look for an "=" operator for the datatype.  We require it to be
+        * an exact or binary-compatible match, since most callers are not
+        * prepared to cope with adding any run-time type coercion steps.
+        */
+       typentry = lookup_type_cache(argtype, TYPECACHE_EQ_OPR);
+       oproid = typentry->eq_opr;
 
        /*
         * If the datatype is an array, then we can use array_eq ... but only
-        * if there is a suitable equality operator for the element type. (We
-        * must run this test first, since compatible_oper will find array_eq,
-        * but would not notice the lack of an element operator.)
+        * if there is a suitable equality operator for the element type.
+        * (This check is not in the raw typcache.c code ... should it be?)
         */
-       elem_type = get_element_type(argtype);
-       if (OidIsValid(elem_type))
+       if (oproid == ARRAY_EQ_OP)
        {
-               optup = equality_oper(elem_type, true);
-               if (optup != NULL)
+               Oid             elem_type = get_element_type(argtype);
+
+               if (OidIsValid(elem_type))
                {
-                       ReleaseSysCache(optup);
-                       return SearchSysCache(OPEROID,
-                                                                 ObjectIdGetDatum(ARRAY_EQ_OP),
-                                                                 0, 0, 0);
+                       optup = equality_oper(elem_type, true);
+                       if (optup != NULL)
+                               ReleaseSysCache(optup);
+                       else
+                               oproid = InvalidOid;    /* element type has no "=" */
                }
+               else
+                       oproid = InvalidOid;            /* bogus array type? */
        }
-       else
-       {
-               /*
-                * Look for an "=" operator for the datatype.  We require it to be
-                * an exact or binary-compatible match, since most callers are not
-                * prepared to cope with adding any run-time type coercion steps.
-                */
-               optup = compatible_oper(makeList1(makeString("=")),
-                                                               argtype, argtype, true);
-               if (optup != NULL)
-               {
-                       /*
-                        * Only believe that it's equality if it's mergejoinable,
-                        * hashjoinable, or uses eqsel() as oprrest.
-                        */
-                       Form_pg_operator pgopform = (Form_pg_operator) GETSTRUCT(optup);
-
-                       if (OidIsValid(pgopform->oprlsortop) ||
-                               pgopform->oprcanhash ||
-                               pgopform->oprrest == F_EQSEL)
-                               return optup;
 
-                       ReleaseSysCache(optup);
-               }
+       if (OidIsValid(oproid))
+       {
+               optup = SearchSysCache(OPEROID,
+                                                          ObjectIdGetDatum(oproid),
+                                                          0, 0, 0);
+               if (optup == NULL)              /* should not fail */
+                       elog(ERROR, "cache lookup failed for operator %u", oproid);
+               return optup;
        }
+
        if (!noError)
                ereport(ERROR,
                                (errcode(ERRCODE_UNDEFINED_FUNCTION),
@@ -197,53 +195,119 @@ equality_oper(Oid argtype, bool noError)
 Operator
 ordering_oper(Oid argtype, bool noError)
 {
+       TypeCacheEntry *typentry;
+       Oid                     oproid;
        Operator        optup;
-       Oid                     elem_type;
+
+       /*
+        * Look for a "<" operator for the datatype.  We require it to be
+        * an exact or binary-compatible match, since most callers are not
+        * prepared to cope with adding any run-time type coercion steps.
+        *
+        * Note: the search algorithm used by typcache.c ensures that if a "<"
+        * operator is returned, it will be consistent with the "=" operator
+        * returned by equality_oper.  This is critical for sorting and grouping
+        * purposes.
+        */
+       typentry = lookup_type_cache(argtype, TYPECACHE_LT_OPR);
+       oproid = typentry->lt_opr;
 
        /*
         * If the datatype is an array, then we can use array_lt ... but only
-        * if there is a suitable ordering operator for the element type. (We
-        * must run this test first, since the code below would find array_lt
-        * if there's an element = operator, but would not notice the lack of
-        * an element < operator.)
+        * if there is a suitable less-than operator for the element type.
+        * (This check is not in the raw typcache.c code ... should it be?)
         */
-       elem_type = get_element_type(argtype);
-       if (OidIsValid(elem_type))
+       if (oproid == ARRAY_LT_OP)
        {
-               optup = ordering_oper(elem_type, true);
-               if (optup != NULL)
+               Oid             elem_type = get_element_type(argtype);
+
+               if (OidIsValid(elem_type))
                {
-                       ReleaseSysCache(optup);
-                       return SearchSysCache(OPEROID,
-                                                                 ObjectIdGetDatum(ARRAY_LT_OP),
-                                                                 0, 0, 0);
+                       optup = ordering_oper(elem_type, true);
+                       if (optup != NULL)
+                               ReleaseSysCache(optup);
+                       else
+                               oproid = InvalidOid;    /* element type has no "<" */
                }
+               else
+                       oproid = InvalidOid;            /* bogus array type? */
        }
-       else
+
+       if (OidIsValid(oproid))
        {
-               /*
-                * Find the type's equality operator, and use its lsortop (it
-                * *must* be mergejoinable).  We use this definition because for
-                * sorting and grouping purposes, it's important that the equality
-                * and ordering operators are consistent.
-                */
-               optup = equality_oper(argtype, noError);
-               if (optup != NULL)
-               {
-                       Oid                     lsortop;
+               optup = SearchSysCache(OPEROID,
+                                                          ObjectIdGetDatum(oproid),
+                                                          0, 0, 0);
+               if (optup == NULL)              /* should not fail */
+                       elog(ERROR, "cache lookup failed for operator %u", oproid);
+               return optup;
+       }
 
-                       lsortop = ((Form_pg_operator) GETSTRUCT(optup))->oprlsortop;
-                       ReleaseSysCache(optup);
-                       if (OidIsValid(lsortop))
-                       {
-                               optup = SearchSysCache(OPEROID,
-                                                                          ObjectIdGetDatum(lsortop),
-                                                                          0, 0, 0);
-                               if (optup != NULL)
-                                       return optup;
-                       }
+       if (!noError)
+               ereport(ERROR,
+                               (errcode(ERRCODE_UNDEFINED_FUNCTION),
+                       errmsg("could not identify an ordering operator for type %s",
+                                  format_type_be(argtype)),
+                                errhint("Use an explicit ordering operator or modify the query.")));
+       return NULL;
+}
+
+/*
+ * reverse_ordering_oper - identify DESC sort operator (">") for a datatype
+ *
+ * On failure, return NULL if noError, else report a standard error
+ */
+Operator
+reverse_ordering_oper(Oid argtype, bool noError)
+{
+       TypeCacheEntry *typentry;
+       Oid                     oproid;
+       Operator        optup;
+
+       /*
+        * Look for a ">" operator for the datatype.  We require it to be
+        * an exact or binary-compatible match, since most callers are not
+        * prepared to cope with adding any run-time type coercion steps.
+        *
+        * Note: the search algorithm used by typcache.c ensures that if a ">"
+        * operator is returned, it will be consistent with the "=" operator
+        * returned by equality_oper.  This is critical for sorting and grouping
+        * purposes.
+        */
+       typentry = lookup_type_cache(argtype, TYPECACHE_GT_OPR);
+       oproid = typentry->gt_opr;
+
+       /*
+        * If the datatype is an array, then we can use array_gt ... but only
+        * if there is a suitable greater-than operator for the element type.
+        * (This check is not in the raw typcache.c code ... should it be?)
+        */
+       if (oproid == ARRAY_GT_OP)
+       {
+               Oid             elem_type = get_element_type(argtype);
+
+               if (OidIsValid(elem_type))
+               {
+                       optup = reverse_ordering_oper(elem_type, true);
+                       if (optup != NULL)
+                               ReleaseSysCache(optup);
+                       else
+                               oproid = InvalidOid;    /* element type has no ">" */
                }
+               else
+                       oproid = InvalidOid;            /* bogus array type? */
        }
+
+       if (OidIsValid(oproid))
+       {
+               optup = SearchSysCache(OPEROID,
+                                                          ObjectIdGetDatum(oproid),
+                                                          0, 0, 0);
+               if (optup == NULL)              /* should not fail */
+                       elog(ERROR, "cache lookup failed for operator %u", oproid);
+               return optup;
+       }
+
        if (!noError)
                ereport(ERROR,
                                (errcode(ERRCODE_UNDEFINED_FUNCTION),
@@ -286,16 +350,16 @@ ordering_oper_opid(Oid argtype)
 }
 
 /*
- * ordering_oper_funcid - convenience routine for oprfuncid(ordering_oper())
+ * reverse_ordering_oper_opid - convenience routine for oprid(reverse_ordering_oper())
  */
 Oid
-ordering_oper_funcid(Oid argtype)
+reverse_ordering_oper_opid(Oid argtype)
 {
        Operator        optup;
        Oid                     result;
 
-       optup = ordering_oper(argtype, false);
-       result = oprfuncid(optup);
+       optup = reverse_ordering_oper(argtype, false);
+       result = oprid(optup);
        ReleaseSysCache(optup);
        return result;
 }
index ab08b701b229741ead74573c5e55ea5c6827d615..c2c98b7309006257a0595cc1042f0d5f104ebe3e 100644 (file)
@@ -3,7 +3,8 @@
 #
 # $Header$
 #
-# Changelog:
+# ChangeLog:
+#   - July - August 23, 2003: updates for 7.4.x; <[email protected]>
 #   - January 2, 2003: Fuzzy Fixes, Serguei A. Mokhov <[email protected]>
 #   - October 12, 2002: Post-7.3 beta 2, Fuzzy Fixes, Serguei A. Mokhov <[email protected]>
 #   - September 14, 2002: Post-7.3 beta 1, Take II, Serguei A. Mokhov <[email protected]>
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: PostgreSQL 7.3.x\n"
-"POT-Creation-Date: 2003-01-02 13:00-0500\n"
-"PO-Revision-Date: 2003-01-02 13:33-0500\n"
+"Project-Id-Version: PostgreSQL 7.4.x\n"
+"POT-Creation-Date: 2003-07-26 04:18-0300\n"
+"PO-Revision-Date: 2003-08-23 18:25-0500\n"
 "Last-Translator: Serguei A. Mokhov <[email protected]>\n"
 "Language-Team: pgsql-rus <[email protected]>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=koi8-r\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: access/common/heaptuple.c:179
-msgid "heap_attisnull: zero attnum disallowed"
-msgstr "heap_attisnull: ÎÕÌÅ×ÏÊ attnum ÎÅ ÄÏÚ×ÏÌÅÎ"
-
-#: access/common/heaptuple.c:182
-msgid "heap_attisnull: undefined negative attnum"
-msgstr "heap_attisnull: ÏÔÒÉÃÁÔÅÌØÎÙÊ attnum ÎÅ ÏÐÒÅÄÅÌ£Î"
+#: access/common/indextuple.c:57
+#, c-format
+msgid "number of index attributes %d exceeds limit, %d"
+msgstr "ÞÉÓÌÏ ÉÄÅËÓÉÒÏ×ÁÎÎÙÈ ÁÔÒÉÂÕÔÏ×: %d ÐÒÅ×ÙÛÁÅÔ ÌÉÍÉÔ: %d"
 
-#: access/common/heaptuple.c:460
+#: access/common/indextuple.c:165
 #, c-format
-msgid "heap_getsysattr: invalid attnum %d"
-msgstr "heap_getsysattr: ÎÅ×ÅÒÎÙÊ attnum: %d"
+msgid "index tuple requires %lu bytes, maximum size is %lu"
+msgstr "ÓÔÒÏËÁ ÉÎÄÅËÓÁ ÔÒÅÂÕÅÉ ÂÁÊÔ: %lu, ÐÒÉ ÍÁËÓÉÍÕÍÅ: %lu"
 
 #: access/common/heaptuple.c:584
 #, c-format
-msgid "heap_formtuple: numberOfAttributes %d exceeds limit %d"
-msgstr ""
-"heap_formtuple: numberOfAttributes (ÞÉÓÌÏ ÁÔÒÉÂÕÔÏ×) %d ÐÒÅ×ÙÛÁÅÔ ÌÉÍÉÔ %d"
+msgid "number of attributes %d exceeds limit, %d"
+msgstr "ÞÉÓÌÏ ÁÔÒÉÂÕÔÏ×: %d ÐÒÅ×ÙÛÁÅÔ ÌÉÍÉÔ: %d"
 
-#: access/common/heaptuple.c:687
+#: access/common/printtup.c:279
+#: tcop/fastpath.c:187
+#: tcop/fastpath.c:517
+#: tcop/postgres.c:1430
 #, c-format
-msgid "heap_modifytuple: repl is \\%3d"
-msgstr "heap_modifytuple: ÚÎÁÞÅÎÉÅ repl: \\%3d"
+msgid "unsupported format code: %d"
+msgstr "ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ËÏÄ ÆÏÒÍÁÔÁ: %d"
 
-#: access/common/indextuple.c:55
-#, c-format
-msgid "index_formtuple: numberOfAttributes %d > %d"
-msgstr "index_formtuple: numberOfAttributes (ÞÉÓÌÏ ÁÔÒÉÂÕÔÏ×) ÄÌÑ %d > %d"
+#: access/common/tupdesc.c:660
+#: access/common/tupdesc.c:687
+msgid "number of aliases does not match number of attributes"
+msgstr "ÞÉÓÌÏ ÁÌÉÁÓÏ× ÎÅ ÓÏ×ÐÁÄÁÅÔ Ó ÞÉÓÌÏÍ ÁÔÒÉÂÕÔÏ×"
 
-#: access/common/indextuple.c:161
-#, c-format
-msgid "index_formtuple: data takes %lu bytes, max is %d"
-msgstr "index_formtuple: ÄÁÎÎÙÅ ÚÁÎÉÍÁÀÔ %lu ÂÁÊÔ(Ï×), ÐÒÉ ÍÁËÓÉÍÕÍÅ: %d"
+#: access/common/tupdesc.c:681
+msgid "no column alias was provided"
+msgstr "ÁÌÉÁÓ ËÏÌÏÎËÉ ÎÅ ÕËÁÚÁÎ"
+
+#: access/common/tupdesc.c:704
+msgid "could not determine tuple description for function returning record"
+msgstr "ÎÅ × ÓÏÓÔÏÑÎÉÉ ÏÐÒÅÄÅÌÉÔØ ÏÐÉÓÁÎÉÅ ÓÔÒÏËÉ ÄÌÑ ÆÕÎËÃÉÉ ×ÏÚÐÒÁÝÁÀÝÅÊ ÚÁÐÉÓØ"
 
-#: access/common/tupdesc.c:420
+#: access/hash/hashovfl.c:166
+#: access/hash/hashovfl.c:185
+#: access/hash/hashovfl.c:208
+#: access/hash/hashovfl.c:254
 #, c-format
-msgid "Unable to look up type id %u"
-msgstr "ôÉРӠID %u ÎÅ ÎÁÊÄÅÎ"
+msgid "out of overflow pages in hash index \"%s\""
+msgstr ""
+
+#: access/hash/hashutil.c:83
+msgid "hash indexes cannot include null keys"
+msgstr ""
 
-#: access/common/tupdesc.c:646 executor/nodeFunctionscan.c:204
-#: parser/parse_relation.c:931 parser/parse_relation.c:1286
-#: parser/parse_relation.c:1596
+#: access/heap/heapam.c:580
+#: access/heap/heapam.c:615
+#: access/heap/heapam.c:650
 #, c-format
-msgid "Invalid typrelid for complex type %u"
-msgstr "îÅ×ÅÒÎÙÊ typrelid ÄÌÑ ÓÌÏÖÎÏÇÏ ÔÉÐÁ %u"
+msgid "\"%s\" is an index relation"
+msgstr "\"%s\" Ñ×ÌÑÅÔÓÑ ÉÎÄÅËÓÏÍ"
 
-#: access/common/tupdesc.c:660 access/common/tupdesc.c:683
-msgid "TypeGetTupleDesc: number of aliases does not match number of attributes"
-msgstr "TypeGetTupleDesc: ÞÉÓÌÏ ÁÌÉÁÓÏ× ÎÅ ÓÏ×ÐÁÄÁÅÔ Ó ÞÉÓÌÏÍ ÁÔÒÉÂÕÔÏ×"
+#: access/heap/heapam.c:585
+#: access/heap/heapam.c:620
+#: access/heap/heapam.c:655
+#, c-format
+msgid "\"%s\" is a special relation"
+msgstr "\"%s\" Ñ×ÌÑÅÔÓÑ ÓÐÅÃÉÁÌØÎÏÊ Ó×ÑÚØÀ"
 
-#: access/common/tupdesc.c:679
-msgid "TypeGetTupleDesc: no column alias was provided"
-msgstr "TypeGetTupleDesc: ÁÌÉÁÓÙ ËÏÌÏÎÏË ÎÅ ÕËÁÚÁÎÙ"
+#: access/heap/heapam.c:590
+#: access/heap/heapam.c:625
+#: access/heap/heapam.c:660
+#, c-format
+msgid "\"%s\" is a composite type"
+msgstr "\"%s\" Ñ×ÌÑÔÓÑ ÓÌÏÖÎÙÍ ÔÉÐÏÍ"
 
-#: access/common/tupdesc.c:698
-msgid "Unable to determine tuple description for function returning \"record\""
+#: access/heap/hio.c:109
+#, c-format
+msgid "tuple is too big: size %lu, maximum size %lu"
 msgstr ""
-"îÅ × ÓÏÓÔÏÑÎÉÉ ÏÐÒÅÄÅÌÉÔØ ÏÐÉÓÁÎÉÅ ÓÔÒÏËÉ ÄÌÑ ÆÕÎËÃÉÉ ×ÏÚÐÒÁÝÁÀÝÅÊ ÔÉР"
-"\"record\""
 
-#: access/common/tupdesc.c:700 catalog/pg_proc.c:463
-#: executor/nodeFunctionscan.c:234 parser/parse_relation.c:1383
-#: parser/parse_relation.c:1637
-msgid "Unknown kind of return type specified for function"
-msgstr "õËÁÚÁΠÎÅÉÚ×ÅÓÔÎÙÊ ÔÉР×ÏÚ×ÒÁÝÁÅÍÏÇÏ ÚÎÁÞÅÎÉÑ ÄÌÑ ÆÕÎÃÉÉ"
+#: access/index/indexam.c:134
+#: access/index/indexam.c:159
+#: access/index/indexam.c:184
+#, c-format
+msgid "\"%s\" is not an index relation"
+msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÉÎÄÅËÓÏÍ"
 
-#: access/gist/gist.c:171 access/hash/hash.c:72 access/nbtree/nbtree.c:129
-#: access/rtree/rtree.c:128
+#: access/nbtree/nbtinsert.c:242
 #, c-format
-msgid "%s already contains data"
-msgstr "%s ÕÖÅ ÓÏÄÅÒÖÉÔ ÄÁÎÎÙÅ"
+msgid "duplicate key violates UNIQUE constraint \"%s\""
+msgstr ""
 
-#: access/gist/gist.c:399 access/gist/gist.c:606
+#: access/nbtree/nbtinsert.c:394
+#: access/nbtree/nbtsort.c:402
 #, c-format
-msgid "gist: failed to add index item to %s"
-msgstr "gist: ÎÅ ÐÏÌÕÞÉÌÏÓØ ÄÏÂÁ×ÉÔØ ÜÌÅÍÅÎÔ ÉÎÄÅËÓÁ Ë %s"
+msgid "index tuple size %lu exceeds btree maximum, %lu"
+msgstr ""
 
-#: access/gist/gist.c:1666
+#: access/nbtree/nbtpage.c:150
+#: access/nbtree/nbtpage.c:329
 #, c-format
-msgid "initGISTstate: numberOfAttributes %d > %d"
-msgstr "initGISTstate: numberOfAttributes ÄÌÑ %d > %d"
+msgid "index \"%s\" is not a btree"
+msgstr "ÉÎÄÅËÓ \"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ b-ÄÅÒÅ×ÏÍ"
 
-#: access/gist/gist.c:1928
+#: access/nbtree/nbtpage.c:156
+#: access/nbtree/nbtpage.c:335
 #, c-format
-msgid "%sPage: %d %s blk: %d maxoff: %d free: %d"
-msgstr "%sóÔÒ.: %d %s ÂÌË: %d ÍÁËÓ ÄÌÑ: %d Ó×ÏÂÏÄÎÏ: %d"
+msgid "version mismatch in \"%s\": file version %d, code version %d"
+msgstr ""
+
+#: access/rtree/rtree.c:645
+msgid "variable-length rtree keys are not supported"
+msgstr ""
 
-#: access/gist/gist.c:1938
+#: access/rtree/rtree.c:785
 #, c-format
-msgid "%s  Tuple. blk: %d size: %d"
-msgstr "%s  úÁÐÉÓØ. ÂÌË: %d ÒÁÚÍÅÒ: %d"
+msgid "index tuple size %lu exceeds rtree maximum, %lu"
+msgstr ""
 
-#: access/gist/gist.c:1953
-msgid "gist_redo: unimplemented"
-msgstr "gist_redo: ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
+#: access/transam/xact.c:405
+msgid "cannot have more than 2^32-1 commands in a transaction"
+msgstr "ÎÅÌÔØÚÑ ÉÍÅÔØ ÂÏÌÅÅ 2^32-1 ËÏÍÁÎÄ × ÏÄÎÏÊ ÔÒÁÎÚÁËÃÉÉ"
 
-#: access/gist/gist.c:1959
-msgid "gist_undo: unimplemented"
-msgstr "gist_undo: ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
+#. translator: %s represents an SQL statement name
+#: access/transam/xact.c:1374
+#, c-format
+msgid "%s cannot run inside a transaction block"
+msgstr "%s ÎÅ ÍÏÖÅÔ ×ÙÐÏÌÎÑÔØÓÑ ×ÎÕÔÒÉ ÔÒÁÎÚÁËÃÉÏÎÎÏÇÏ ÂÌÏËÁ"
 
-#: access/gist/gistscan.c:254
+#. translator: %s represents an SQL statement name
+#: access/transam/xact.c:1386
 #, c-format
-msgid "GiST scan list corrupted -- cannot find 0x%p"
-msgstr ""
+msgid "%s cannot be executed from a function"
+msgstr "%s ÎÅ ÍÏÖÅÔ ×ÙÐÏÌÎÑÔØÓÑ ×ÎÕÔÒÉ ÆÕÎËÃÉÉ"
 
-#: access/gist/gistscan.c:390
+#. translator: %s represents an SQL statement name
+#: access/transam/xact.c:1429
 #, c-format
-msgid "Bad operation in GiST scan adjust: %d"
-msgstr ""
+msgid "%s may only be used in BEGIN/END transaction blocks"
+msgstr "%s ÍÏÖÅÔ ×ÙÐÏÌÎÑÔØÓÑ ÔÏÌØËÏ ×ÎÕÔÒÉ ÔÒÁÎÚÁËÃÉÏÎÎÏÇÏ ÂÌÏËÁ BEGIN/END"
 
-#: access/hash/hash.c:504
-msgid "hash_redo: unimplemented"
-msgstr "hash_redo: ÅÝ£ ÎÅ ÓÄÅÌÁÎÏ"
+#: access/transam/xact.c:1452
+msgid "there is already a transaction in progress"
+msgstr "ÔÒÁÎÚÁËÃÉÑ ÕÖÅ × ÐÒÏÃÅÓÓÅ ×ÙÐÏÌÎÅÎÉÑ"
 
-#: access/hash/hash.c:510
-msgid "hash_undo: unimplemented"
-msgstr "hash_undo: ÅÝ£ ÎÅ ÓÄÅÌÁÎÏ"
+#: access/transam/xact.c:1514
+#: access/transam/xact.c:1552
+#: access/transam/xact.c:1600
+msgid "there is no transaction in progress"
+msgstr "ÎÅÔ ÔÒÁÎÚÁËÃÉÉ × ÐÒÏÃÅÓÓÅ ×ÙÐÏÌÎÅÎÉÑ"
 
-#: access/hash/hashinsert.c:51
-msgid "Hash indices valid for only one index key."
-msgstr ""
+#: access/transam/slru.c:492
+#, c-format
+msgid "file \"%s\" doesn't exist, reading as zeroes"
+msgstr "ÆÁÊÌ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ, ÞÉÔÁÅÔÓÑ ËÁË ÎÕÌÉ"
 
-#: access/hash/hashinsert.c:166
-msgid "hash item too large"
+#: access/transam/slru.c:613
+#: access/transam/slru.c:620
+#: access/transam/slru.c:627
+#: access/transam/slru.c:634
+#: access/transam/slru.c:641
+#, c-format
+msgid "could not access status of transaction %u"
 msgstr ""
 
-#: access/hash/hashinsert.c:231
+#: access/transam/slru.c:614
+#, c-format
+msgid "open of file \"%s\" failed: %m"
+msgstr "ÎÅ ÕÄÁÌÏÓØ ÏÔËÒÙÔØ \"%s\": %m"
+
+#: access/transam/slru.c:621
+#: access/transam/xlog.c:1387
 #, c-format
-msgid "_hash_pgaddtup: failed to add index item to %s"
-msgstr "_hash_pgaddtup: ÎÅ ÕÄÁÌÏÓØ ÄÏÂÁ×ÉÔØ ÜÌÅÍÅÎÔ ÉÎÄÅËÓÁ Ë %s"
+msgid "creation of file \"%s\" failed: %m"
+msgstr "ÎÅ ÕÄÁÌÏÓØ ÓÏÚÄÁÔØ ÆÁÊÌ \"%s\": %m"
 
-#: access/hash/hashovfl.c:61
-msgid "_hash_addovflpage: problem with _hash_getovfladdr."
-msgstr "_hash_addovflpage: ÐÒÏÂÌÅÍÁ Ó _hash_getovfladdr."
+#: access/transam/slru.c:628
+#, c-format
+msgid "lseek of file \"%s\", offset %u failed: %m"
+msgstr "ÎÅ ÕÄÁÌÏÓØ ×ÙÐÏÌÎÉÔØ lseek() ÄÌÑ ÆÁÊÌÁ \"%s\", ÓÍÅÝÅÎÉÅ %u: %m"
 
-#: access/hash/hashovfl.c:196
-msgid "overflow_page: problem with _hash_initbitmap."
-msgstr "overflow_page: ÐÒÏÂÌÅÍÁ Ó _hash_initbitmap."
+#: access/transam/slru.c:635
+#, c-format
+msgid "read of file \"%s\", offset %u failed: %m"
+msgstr "ÎÅ ÕÄÁÌÏÓØ ÓÞÉÔÁÔØ ÆÁÊÌ \"%s\", ÓÍÅÝÅÎÉÅ %u: %m"
 
-#: access/hash/hashovfl.c:568
+#: access/transam/slru.c:642
 #, c-format
-msgid "_hash_squeezebucket: failed to add index item to %s"
-msgstr "_hash_squeezebucket: ÎÅ ÕÄÁÌÏÓØ ÄÏÂÁ×ÉÔØ ÜÌÅÍÅÎÔ ÉÎÄÅËÓÁ Ë %s"
+msgid "write of file \"%s\", offset %u failed: %m"
+msgstr "ÎÅ ÕÄÁÌÏÓØ ÚÁÐÉÓÁÔØ ÆÁÊÌ \"%s\", ÓÍÅÝÅÎÉÅ %u: %m"
 
-#: access/hash/hashpage.c:93
+#: access/transam/slru.c:820
 #, c-format
-msgid "Cannot initialize non-empty hash table %s"
+msgid "could not truncate \"%s\": apparent wraparound"
 msgstr ""
 
-#: access/hash/hashpage.c:151
-msgid "Problem with _hash_initbitmap."
-msgstr "ðÒÏÂÌÅÍÁ Ó _hash_initbitmap."
+#: access/transam/slru.c:879
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔËÔÒÙÔØ ÄÉÒÅËÔÏÒÉÀ \"%s\": %m"
 
-#: access/hash/hashpage.c:196
-msgid "_hash_getbuf: internal error: hash AM does not use P_NEW"
-msgstr ""
+#: access/transam/slru.c:895
+#, c-format
+msgid "removing file \"%s/%s\""
+msgstr "ÕÄÁÌÅÎÉÅ ÆÁÊÌÁ \"%s/%s\""
 
-#: access/hash/hashpage.c:204
+#: access/transam/slru.c:907
 #, c-format
-msgid "_hash_getbuf: invalid access (%d) on new blk: %s"
-msgstr ""
+msgid "could not read directory \"%s\": %m"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ cÞÉÔÁÔØ ÄÉÒÅËÔÏÒÉÀ \"%s\": %m"
 
-#: access/hash/hashpage.c:231
+#: access/transam/xlog.c:1049
+#: access/transam/xlog.c:1165
+#: access/transam/xlog.c:3555
 #, c-format
-msgid "_hash_relbuf: invalid access (%d) on blk %x: %s"
+msgid "close of log file %u, segment %u failed: %m"
 msgstr ""
 
-#: access/hash/hashpage.c:290
+#: access/transam/xlog.c:1105
+#: access/transam/xlog.c:1867
 #, c-format
-msgid "_hash_chgbufaccess: invalid access (%d) on blk %x: %s"
+msgid "lseek of log file %u, segment %u, offset %u failed: %m"
 msgstr ""
 
-#: access/hash/hashpage.c:325
+#: access/transam/xlog.c:1119
 #, c-format
-msgid "_hash_setpagelock: invalid access (%d) on blk %x: %s"
+msgid "write of log file %u, segment %u, offset %u failed: %m"
 msgstr ""
 
-#: access/hash/hashpage.c:349
+#: access/transam/xlog.c:1363
+#: access/transam/xlog.c:1452
+#: access/transam/xlog.c:1566
+#: access/transam/xlog.c:1572
 #, c-format
-msgid "_hash_unsetpagelock: invalid access (%d) on blk %x: %s"
-msgstr ""
+msgid "open of \"%s\" (log file %u, segment %u) failed: %m"
+msgstr "ÎÅ ÕÄÁÌÏÓØ ÏÔËÒÙÔØ \"%s\" (ÌÏÇ-ÆÁÊÌ: %u, ÓÅÇÍÅÎÔ: %u): %m"
 
-#: access/hash/hashpage.c:537 access/hash/hashpage.c:674
+#: access/transam/xlog.c:1416
 #, c-format
-msgid "_hash_splitpage: empty overflow page %d"
-msgstr ""
+msgid "failed to write \"%s\": %m"
+msgstr "ÎÅ ÕÄÁÌÏÓØ ÚÁÐÉÓÁÔØ \"%s\": %m"
 
-#: access/hash/hashpage.c:576
+#: access/transam/xlog.c:1423
 #, c-format
-msgid "_hash_splitpage: empty ovfl page %d!"
-msgstr ""
+msgid "fsync of file \"%s\" failed: %m"
+msgstr "fsync ÆÁÊÌÁ \"%s\" ÎÅ ÕÄÁÌÓÑ: %m"
 
-#: access/hash/hashpage.c:629
+#: access/transam/xlog.c:1530
 #, c-format
-msgid "_hash_splitpage: failed to add index item to %s"
+msgid "link from \"%s\" to \"%s\" (initialization of log file %u, segment %u) failed: %m"
 msgstr ""
 
-#: access/hash/hashscan.c:105
+#: access/transam/xlog.c:1537
 #, c-format
-msgid "hash scan list trashed; can't find 0x%p"
-msgstr ""
+msgid "rename from \"%s\" to \"%s\" (initialization of log file %u, segment %u) failed: %m"
+msgstr "ÎÅ ÕÄÁÌÏÓØ ÐÅÒÅÉÍÅÎÏ×ÁÔØ \"%s\" × \"%s\" (ÉÎÉÃÉÁÌÉÚÁÃÉÑ ÌÏÇ-ÆÁÊÌÁ: %u, ÓÅÇÍÅÎÔ: %u): %m"
 
-#: access/hash/hashutil.c:81
-msgid "hash indices cannot include null keys"
+#: access/transam/xlog.c:1624
+#, c-format
+msgid "could not open transaction log directory \"%s\": %m"
 msgstr ""
 
-#: access/heap/tuptoaster.c:899
-msgid "Failed to build TOAST tuple"
-msgstr ""
+#: access/transam/xlog.c:1640
+#, c-format
+msgid "archiving transaction log file \"%s\""
+msgstr "ÁÒÈÉ×ÉÒÏ×ÁÎÉÅ ÌÏÇÁ ÔÒÁÎÚÁËÃÉÊ: \"%s\""
 
-#: access/heap/tuptoaster.c:915
-msgid "Failed to insert index entry for TOAST tuple"
-msgstr ""
+#: access/transam/xlog.c:1657
+#, c-format
+msgid "recycled transaction log file \"%s\""
+msgstr "ÐÅÒÅÉÓÐÏÌØÚÏ×ÁÎÉÅ ÌÏÇÁ ÔÒÁÎÚÁËÃÉÊ: \"%s\""
 
-#: access/heap/tuptoaster.c:1074 access/heap/tuptoaster.c:1254
+#: access/transam/xlog.c:1664
 #, c-format
-msgid "unexpected chunk number %d (expected %d) for toast value %u"
-msgstr ""
+msgid "removing transaction log file \"%s\""
+msgstr "ÕÄÁÌÅÎÉÅ ÌÏÇÁ ÔÒÁÎÚÁËÃÉÊ: \"%s\""
 
-#: access/heap/tuptoaster.c:1080 access/heap/tuptoaster.c:1087
-#: access/heap/tuptoaster.c:1260 access/heap/tuptoaster.c:1267
+#: access/transam/xlog.c:1675
 #, c-format
-msgid "unexpected chunk size %d in chunk %d for toast value %u"
-msgstr ""
+msgid "could not read transaction log directory \"%s\": %m"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÞÉÔÁÔØ ÆÁÊÌ ÄÉÒÅËÔÏÒÉÀ ÌÏÇÁ ÔÒÁÎÚÁËÃÉÊ \"%s\": %m"
 
-#: access/heap/tuptoaster.c:1092
+#: access/transam/xlog.c:1749
 #, c-format
-msgid "unexpected chunk number %d for toast value %u"
+msgid "bad resource manager data checksum in record at %X/%X"
 msgstr ""
 
-#: access/heap/tuptoaster.c:1110 access/heap/tuptoaster.c:1294
+#: access/transam/xlog.c:1772
 #, c-format
-msgid "missing chunk number %d for toast value %u"
+msgid "bad checksum of backup block %d in record at %X/%X"
 msgstr ""
 
-#: access/heap/heapam.c:144
+#: access/transam/xlog.c:1842
 #, c-format
-msgid "heapgettup(%s, tid=0x%x[%d,%d], dir=%d, ...)"
+msgid "invalid record offset at %X/%X"
 msgstr ""
 
-#: access/heap/heapam.c:150
+#: access/transam/xlog.c:1875
+#: access/transam/xlog.c:1965
 #, c-format
-msgid "heapgettup(%s, tid=0x%x, dir=%d, ...)"
+msgid "read of log file %u, segment %u, offset %u failed: %m"
 msgstr ""
 
-#: access/heap/heapam.c:153
+#: access/transam/xlog.c:1886
 #, c-format
-msgid "heapgettup(..., b=0x%x, nkeys=%d, key=0x%x"
+msgid "contrecord is requested by %X/%X"
 msgstr ""
 
-#: access/heap/heapam.c:155
+#: access/transam/xlog.c:1901
 #, c-format
-msgid "heapgettup: relation(%c)=`%s', %p"
+msgid "record with zero length at %X/%X"
 msgstr ""
 
-#: access/heap/heapam.c:203 access/heap/heapam.c:238 access/heap/heapam.c:278
-#: access/heap/heapam.c:372
-msgid "heapgettup: failed ReadBuffer"
-msgstr "heapgettup: ReadBuffer ÎÅ ÕÄÁÌÓÑ"
+#: access/transam/xlog.c:1926
+#, c-format
+msgid "record length %u at %X/%X too long"
+msgstr ""
 
-#: access/heap/heapam.c:474
+#: access/transam/xlog.c:1933
 #, c-format
-msgid "Relation %u does not exist"
+msgid "invalid resource manager id %u at %X/%X"
 msgstr ""
 
-#: access/heap/heapam.c:553 catalog/namespace.c:189 tcop/utility.c:154
+#: access/transam/xlog.c:1974
 #, c-format
-msgid "Relation \"%s\" does not exist"
+msgid "there is no contrecord flag in log file %u, segment %u, offset %u"
 msgstr ""
 
-#: access/heap/heapam.c:605 access/heap/heapam.c:634 access/heap/heapam.c:663
+#: access/transam/xlog.c:1983
 #, c-format
-msgid "%s is an index relation"
+msgid "invalid contrecord length %u in log file %u, segment %u, offset %u"
 msgstr ""
 
-#: access/heap/heapam.c:608 access/heap/heapam.c:637 access/heap/heapam.c:666
+#: access/transam/xlog.c:2049
 #, c-format
-msgid "%s is a special relation"
+msgid "invalid magic number %04X in log file %u, segment %u, offset %u"
 msgstr ""
 
-#: access/heap/heapam.c:611 access/heap/heapam.c:640 access/heap/heapam.c:669
+#: access/transam/xlog.c:2056
 #, c-format
-msgid "%s is a composite type"
+msgid "invalid info bits %04X in log file %u, segment %u, offset %u"
 msgstr ""
 
-#: access/heap/heapam.c:698
-msgid "heap_beginscan: !RelationIsValid(relation)"
+#: access/transam/xlog.c:2065
+#, c-format
+msgid "unexpected pageaddr %X/%X in log file %u, segment %u, offset %u"
 msgstr ""
 
-#: access/heap/heapam.c:812
+#. translator: SUI = startup id
+#: access/transam/xlog.c:2088
 #, c-format
-msgid "heap_getnext([%s,nkeys=%d],dir=%d) called"
+msgid "out-of-sequence SUI %u (after %u) in log file %u, segment %u, offset %u"
 msgstr ""
 
-#: access/heap/heapam.c:816
-msgid "heap_getnext returning EOS"
-msgstr "heap_getnext ×ÏÚÒÁÝÁÅÔ EOS"
+#: access/transam/xlog.c:2149
+msgid "invalid LC_COLLATE setting"
+msgstr "ÎÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ LC_COLLATE"
+
+#: access/transam/xlog.c:2154
+msgid "invalid LC_CTYPE setting"
+msgstr "ÎÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ LC_CTYPE"
 
-#: access/heap/heapam.c:819
-msgid "heap_getnext returning tuple"
+#: access/transam/xlog.c:2173
+msgid "sizeof(ControlFileData) is larger than BLCKSZ; fix either one"
 msgstr ""
 
-#: access/heap/heapam.c:842
-msgid "heap_getnext: NULL relscan"
+#: access/transam/xlog.c:2183
+#, c-format
+msgid "could not create control file \"%s\": %m"
 msgstr ""
 
-#: access/heap/heapam.c:932
+#: access/transam/xlog.c:2194
+#: access/transam/xlog.c:2371
 #, c-format
-msgid "heap_fetch: ReadBuffer(%s, %lu) failed"
-msgstr "heap_fetch: ReadBuffer(%s, %lu) ÎÅ ÕÄÁÌÓÑ"
+msgid "write to control file failed: %m"
+msgstr ""
 
-#: access/heap/heapam.c:1042
+#: access/transam/xlog.c:2200
+#: access/transam/xlog.c:2377
 #, c-format
-msgid "heap_get_latest_tid: %s relation: ReadBuffer(%lx) failed"
+msgid "fsync of control file failed: %m"
 msgstr ""
 
-#: access/heap/heapam.c:1284
-msgid "heap_delete: failed ReadBuffer"
-msgstr "heap_delete: ReadBuffer ÎÅ ÕÄÁÌÓÑ"
+#: access/transam/xlog.c:2218
+#: access/transam/xlog.c:2360
+#, c-format
+msgid "could not open control file \"%s\": %m"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔËÔÒÙÔØ ÆÁÊÌ ÕÐÒÁ×ÌÅÎÉÑ \"%s\": %m"
 
-#: access/heap/heapam.c:1303
-msgid "heap_delete: (am)invalid tid"
+#: access/transam/xlog.c:2224
+#, c-format
+msgid "read from control file failed: %m"
 msgstr ""
 
-#: access/heap/heapam.c:1436
-msgid "simple_heap_delete: tuple already updated by self"
+#: access/transam/xlog.c:2236
+#: access/transam/xlog.c:2266
+#: access/transam/xlog.c:2273
+#: access/transam/xlog.c:2280
+#: access/transam/xlog.c:2287
+#: access/transam/xlog.c:2294
+#: access/transam/xlog.c:2303
+#: access/transam/xlog.c:2310
+#: access/transam/xlog.c:2318
+#: utils/init/miscinit.c:793
+msgid "database files are incompatible with server"
 msgstr ""
 
-#: access/heap/heapam.c:1444
-msgid "simple_heap_delete: tuple concurrently updated"
+#: access/transam/xlog.c:2237
+#, c-format
+msgid "The database cluster was initialized with PG_CONTROL_VERSION %d, but the server was compiled with PG_CONTROL_VERSION %d."
 msgstr ""
 
-#: access/heap/heapam.c:1448 executor/execMain.c:1324
-#, c-format
-msgid "Unknown status %u from heap_delete"
+#: access/transam/xlog.c:2240
+#: access/transam/xlog.c:2270
+msgid "It looks like you need to initdb."
 msgstr ""
 
-#: access/heap/heapam.c:1482
-msgid "heap_update: failed ReadBuffer"
-msgstr "heap_update: ReadBuffer ÎÅ ÕÄÁÌÓÑ"
+#: access/transam/xlog.c:2250
+msgid "invalid checksum in control file"
+msgstr ""
 
-#: access/heap/heapam.c:1507
-msgid "heap_update: (am)invalid tid"
+#: access/transam/xlog.c:2267
+#, c-format
+msgid "The database cluster was initialized with CATALOG_VERSION_NO %d, but the server was compiled with CATALOG_VERSION_NO %d."
 msgstr ""
 
-#: access/heap/heapam.c:1770
-msgid "simple_heap_update: tuple already updated by self"
+#: access/transam/xlog.c:2274
+#, c-format
+msgid "The database cluster was initialized with BLCKSZ %d, but the server was compiled with BLCKSZ %d."
 msgstr ""
 
-#: access/heap/heapam.c:1778
-msgid "simple_heap_update: tuple concurrently updated"
+#: access/transam/xlog.c:2277
+#: access/transam/xlog.c:2284
+#: access/transam/xlog.c:2291
+#: access/transam/xlog.c:2298
+#: access/transam/xlog.c:2306
+#: access/transam/xlog.c:2313
+#: access/transam/xlog.c:2322
+msgid "It looks like you need to recompile or initdb."
 msgstr ""
 
-#: access/heap/heapam.c:1782 executor/execMain.c:1462
+#: access/transam/xlog.c:2281
 #, c-format
-msgid "Unknown status %u from heap_update"
+msgid "The database cluster was initialized with RELSEG_SIZE %d, but the server was compiled with RELSEG_SIZE %d."
 msgstr ""
 
-#: access/heap/heapam.c:1806
-msgid "heap_mark4update: failed ReadBuffer"
-msgstr "heap_mark4update: ReadBuffer ÎÅ ÕÄÁÌÓÑ"
-
-#: access/heap/heapam.c:1823
-msgid "heap_mark4update: (am)invalid tid"
+#: access/transam/xlog.c:2288
+#, c-format
+msgid "The database cluster was initialized with NAMEDATALEN %d, but the server was compiled with NAMEDATALEN %d."
 msgstr ""
 
-#: access/heap/heapam.c:2123
-msgid "heap_clean_redo: no block"
+#: access/transam/xlog.c:2295
+#, c-format
+msgid "The database cluster was initialized with FUNC_MAX_ARGS %d, but the server was compiled with FUNC_MAX_ARGS %d."
 msgstr ""
 
-#: access/heap/heapam.c:2127
-msgid "heap_clean_redo: uninitialized page"
+#: access/transam/xlog.c:2304
+msgid "The database cluster was initialized without HAVE_INT64_TIMESTAMP but the server was compiled with HAVE_INT64_TIMESTAMP."
 msgstr ""
 
-#: access/heap/heapam.c:2185
-#, c-format
-msgid "heap_delete_%sdo: no block"
+#: access/transam/xlog.c:2311
+msgid "The database cluster was initialized with HAVE_INT64_TIMESTAMP but the server was compiled without HAVE_INT64_TIMESTAMP."
 msgstr ""
 
-#: access/heap/heapam.c:2189
+#: access/transam/xlog.c:2319
 #, c-format
-msgid "heap_delete_%sdo: uninitialized page"
+msgid "The database cluster was initialized with LOCALE_NAME_BUFLEN %d, but the server was compiled with LOCALE_NAME_BUFLEN %d."
 msgstr ""
 
-#: access/heap/heapam.c:2201
-msgid "heap_delete_undo: bad page LSN"
+#: access/transam/xlog.c:2325
+#: access/transam/xlog.c:2332
+msgid "database files are incompatible with operating system"
 msgstr ""
 
-#: access/heap/heapam.c:2208
+#: access/transam/xlog.c:2326
 #, c-format
-msgid "heap_delete_%sdo: invalid lp"
-msgstr "heap_delete_%sdo: ÎÅ ×ÅÒÎÙÊ lp"
+msgid "The database cluster was initialized with LC_COLLATE \"%s\", which is not recognized by setlocale()."
+msgstr ""
 
-#: access/heap/heapam.c:2228
-msgid "heap_delete_undo: unimplemented"
+#: access/transam/xlog.c:2329
+#: access/transam/xlog.c:2336
+msgid "It looks like you need to initdb or install locale support."
 msgstr ""
 
-#: access/heap/heapam.c:2256
+#: access/transam/xlog.c:2333
 #, c-format
-msgid "heap_insert_%sdo: uninitialized page"
+msgid "The database cluster was initialized with LC_CTYPE \"%s\", which is not recognized by setlocale()."
 msgstr ""
 
-#: access/heap/heapam.c:2280
-msgid "heap_insert_redo: invalid max offset number"
+#: access/transam/xlog.c:2519
+#, c-format
+msgid "failed to write bootstrap xlog file: %m"
 msgstr ""
 
-#: access/heap/heapam.c:2304
-msgid "heap_insert_redo: failed to add tuple"
+#: access/transam/xlog.c:2525
+#, c-format
+msgid "failed to fsync bootstrap xlog file: %m"
 msgstr ""
 
-#: access/heap/heapam.c:2314
-msgid "heap_insert_undo: bad page LSN"
+#: access/transam/xlog.c:2593
+msgid "control file contains invalid data"
 msgstr ""
 
-#: access/heap/heapam.c:2316
-msgid "heap_insert_undo: unimplemented"
-msgstr ""
+#: access/transam/xlog.c:2597
+#, c-format
+msgid "database system was shut down at %s"
+msgstr "ÓÉÓÔÅÍÁ ÂÙÌÁ ÏÔËÌÀÞÅÎÁ: %s"
 
-#: access/heap/heapam.c:2347
+#: access/transam/xlog.c:2601
 #, c-format
-msgid "heap_update_%sdo: no block"
-msgstr "heap_update_%sdo: ÎÅÔ ÂÌÏËÁ"
+msgid "database system shutdown was interrupted at %s"
+msgstr "ÏÔËÌÀÞÅÎÉÅ ÓÉÓÔÅÍÙ ÂÙÌÏ ÐÒÅÒ×ÁÎÏ: %s"
 
-#: access/heap/heapam.c:2351
+#: access/transam/xlog.c:2605
 #, c-format
-msgid "heap_update_%sdo: uninitialized old page"
-msgstr ""
+msgid "database system was interrupted while in recovery at %s"
+msgstr "ÓÉÓÔÅÍÁ ÂÙÌÁ ÐÒÅÒ×ÁÎÁ ×Ï ×ÒÅÍÑ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ ÎÁ %s"
 
-#: access/heap/heapam.c:2365
-msgid "heap_update_undo: bad old tuple page LSN"
+#: access/transam/xlog.c:2607
+msgid "This probably means that some data is corrupted and you will have to use the last backup for recovery."
 msgstr ""
 
-#: access/heap/heapam.c:2372
+#: access/transam/xlog.c:2611
 #, c-format
-msgid "heap_update_%sdo: invalid lp"
-msgstr ""
+msgid "database system was interrupted at %s"
+msgstr "ÓÉÓÔÅÍÁ ÂÙÌÁ ÐÒÅÒ×ÁÎÁ: %s"
 
-#: access/heap/heapam.c:2407 access/heap/heapam.c:2507
-msgid "heap_update_undo: unimplemented"
-msgstr ""
+#: access/transam/xlog.c:2629
+#, c-format
+msgid "checkpoint record is at %X/%X"
+msgstr "ËÏÎÔÒÏÌØÎÁÑ ÔÏÞËÁ: %X/%X"
 
-#: access/heap/heapam.c:2428
+#: access/transam/xlog.c:2639
 #, c-format
-msgid "heap_update_%sdo: uninitialized page"
-msgstr ""
+msgid "using previous checkpoint record at %X/%X"
+msgstr "ÉÓÐÏÌØÚÕÅÔÓÑ ÐÒÅÄÙÄÕÝÁÑ ËÏÎÔÒÏÌØÎÁÑ ÔÏÞËÁ: %X/%X"
 
-#: access/heap/heapam.c:2452
-msgid "heap_update_redo: invalid max offset number"
-msgstr ""
+#: access/transam/xlog.c:2645
+msgid "could not locate a valid checkpoint record"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ  ÎÁÊÔÉ ËÏÒÒÅËÔÎÕÀ ËÏÎÔÒÏÌØÎÕÀ ÔÏÞËÕ"
 
-#: access/heap/heapam.c:2496
-msgid "heap_update_redo: failed to add tuple"
-msgstr ""
+#: access/transam/xlog.c:2652
+#, c-format
+msgid "redo record is at %X/%X; undo record is at %X/%X; shutdown %s"
+msgstr "redo-ÚÁÐÉÓØ: %X/%X; undo-ÚÁÐÉÓØ: %X/%X; ÏÔËÌÀÞÅÎÉÅ: %s"
+
+#: access/transam/xlog.c:2657
+#, c-format
+msgid "next transaction id: %u; next oid: %u"
+msgstr "id ÓÌÅÄÕÀÝÅÊ ÔÒÁÎÚÁËÃÉÉ: %u; ÓÌÅÄÕÀÝÉÊ OID: %u"
 
-#: access/heap/heapam.c:2505
-msgid "heap_update_undo: bad new tuple page LSN"
+#: access/transam/xlog.c:2661
+msgid "invalid next transaction id"
 msgstr ""
 
-#: access/heap/heapam.c:2523
-msgid "_heap_unlock_tuple: can't open relation"
+#: access/transam/xlog.c:2685
+msgid "invalid redo in checkpoint record"
 msgstr ""
 
-#: access/heap/heapam.c:2528
-msgid "_heap_unlock_tuple: can't read buffer"
+#: access/transam/xlog.c:2694
+msgid "invalid redo/undo record in shutdown checkpoint"
 msgstr ""
 
-#: access/heap/heapam.c:2532
-msgid "_heap_unlock_tuple: uninitialized page"
+#: access/transam/xlog.c:2706
+msgid "database system was not properly shut down; automatic recovery in progress"
 msgstr ""
 
-#: access/heap/heapam.c:2536
-msgid "_heap_unlock_tuple: invalid itemid"
+#: access/transam/xlog.c:2734
+#, c-format
+msgid "redo starts at %X/%X"
 msgstr ""
 
-#: access/heap/heapam.c:2540
-msgid "_heap_unlock_tuple: unused/deleted tuple in rollback"
+#: access/transam/xlog.c:2766
+#, c-format
+msgid "redo done at %X/%X"
 msgstr ""
 
-#: access/heap/heapam.c:2545
-msgid "_heap_unlock_tuple: invalid xmax in rollback"
+#: access/transam/xlog.c:2773
+msgid "redo is not required"
 msgstr ""
 
-#: access/heap/heapam.c:2569
+#: access/transam/xlog.c:2842
 #, c-format
-msgid "heap_redo: unknown op code %u"
+msgid "undo starts at %X/%X"
 msgstr ""
 
-#: access/heap/heapam.c:2589
+#: access/transam/xlog.c:2853
 #, c-format
-msgid "heap_undo: unknown op code %u"
+msgid "undo done at %X/%X"
 msgstr ""
 
-#: access/heap/hio.c:53
-msgid "RelationPutHeapTuple: failed to add tuple"
+#: access/transam/xlog.c:2858
+msgid "undo is not required"
 msgstr ""
 
-#: access/heap/hio.c:113
+#: access/transam/xlog.c:2948
+msgid "database system is ready"
+msgstr "ÓÉÓÔÅÍÁ ÇÏÔÏ×Á Ë ÉÓÐÏÌØÚÏ×ÁÎÉÀ"
+
+#. translator: %s is "primary" or "secondary"
+#: access/transam/xlog.c:2981
 #, c-format
-msgid "Tuple is too big: size %lu, max size %ld"
+msgid "invalid %s checkpoint link in control file"
 msgstr ""
 
-#: access/heap/hio.c:277
+#: access/transam/xlog.c:2982
+#: access/transam/xlog.c:2993
+#: access/transam/xlog.c:3001
+#: access/transam/xlog.c:3010
+#: access/transam/xlog.c:3018
+msgid "primary"
+msgstr "ÐÅÒ×ÉÞÎÙÊ"
+
+#: access/transam/xlog.c:2982
+#: access/transam/xlog.c:2993
+#: access/transam/xlog.c:3001
+#: access/transam/xlog.c:3010
+#: access/transam/xlog.c:3018
+msgid "secondary"
+msgstr "Ä×ÏÉÞÎÙÊ"
+
+#. translator: %s is "primary" or "secondary"
+#: access/transam/xlog.c:2992
 #, c-format
-msgid "Tuple is too big: size %lu"
-msgstr ""
+msgid "invalid %s checkpoint record"
+msgstr "ÎÅ×ÅÒÎÁÑ  ËÏÎÔÒÏÌØÎÁÑ ÔÏÞËÁ %s"
 
-#: access/index/indexam.c:91 access/index/indexam.c:100
+#. translator: %s is "primary" or "secondary"
+#: access/transam/xlog.c:3000
 #, c-format
-msgid "index_%s: invalid %s regproc"
+msgid "invalid resource manager id in %s checkpoint record"
 msgstr ""
 
-#: access/index/indexam.c:131 access/index/indexam.c:154
-#: access/index/indexam.c:177
+#. translator: %s is "primary" or "secondary"
+#: access/transam/xlog.c:3009
 #, c-format
-msgid "%s is not an index relation"
+msgid "invalid xl_info in %s checkpoint record"
 msgstr ""
 
-#: access/index/indexam.c:652
+#. translator: %s is "primary" or "secondary"
+#: access/transam/xlog.c:3017
 #, c-format
-msgid "Missing support function %d for attribute %d of index %s"
+msgid "invalid length of %s checkpoint record"
 msgstr ""
 
-#: access/index/genam.c:74
-msgid "RelationGetIndexScan: relation invalid"
-msgstr ""
+#: access/transam/xlog.c:3082
+msgid "shutting down"
+msgstr "ÏÔËÌÀÞÅÎÉÅ × ÐÒÏÃÅÓÓÅ"
+
+#: access/transam/xlog.c:3096
+msgid "database system is shut down"
+msgstr "ÓÉÓÔÅÍÁ ÏÔËÌÀÞÅÎÁ"
 
-#: access/index/genam.c:136
-msgid "IndexScanEnd: invalid scan"
+#: access/transam/xlog.c:3119
+msgid "checkpoint cannot be made inside transaction block"
+msgstr "ËÏÎÔÒÏÌØÎÁÑ ÔÏÞËÁ ÎÅ ÍÏÖÅÔ ÒÁÓÐÏÌÁÇÁÔØÓÑ ×ÎÕÔÒÉ ÔÒÁÎÚÁËÃÉÏÎÎÏÇÏ ÂÌÏËÁ"
+
+#: access/transam/xlog.c:3307
+msgid "concurrent transaction log activity while database system is shutting down"
 msgstr ""
 
-#: access/index/istrat.c:238
+#: access/transam/xlog.c:3548
+#: access/transam/xlog.c:3580
 #, c-format
-msgid "StrategyTermEvaluate: impossible case %d"
+msgid "fsync of log file %u, segment %u failed: %m"
 msgstr ""
 
-#: access/index/istrat.c:313
+#: access/transam/xlog.c:3588
 #, c-format
-msgid "RelationGetStrategy: impossible case %d"
+msgid "fdatasync of log file %u, segment %u failed: %m"
 msgstr ""
 
-#: access/index/istrat.c:319
-msgid "RelationGetStrategy: corrupted evaluation"
+#: bootstrap/bootstrap.c:196
+msgid ""
+"Usage:\n"
+"  postgres -boot [OPTION]... DBNAME\n"
+"  -c NAME=VALUE    set run-time parameter\n"
+"  -d 1-5           debug level\n"
+"  -D datadir       data directory\n"
+"  -F               turn off fsync\n"
+"  -o file          send debug output to file\n"
+"  -x num           internal use\n"
 msgstr ""
+"éÓÐÏÌØÚÏ×ÁÎÉÅ:\n"
+"  postgres -boot [ïðãéñ]... éíñâä\n"
+"  -c éíñ=úîáþåîéå  set run-time parameter\n"
+"  -d 1-5           ÕÒÏ×ÅÎØ ÏÔÌÁÄËÉ\n"
+"  -D äéòäáîîùè     ÄÉÒÅËÔÏÒÉÑ Ó ÄÁÎÎÙÍÉ\n"
+"  -F               ×ÙËÌÀÞÉÔØ fsync\n"
+"  -o æáêì         ÎÁÐÒÁ×ÉÔØ ×Ù×ÏÄ ÒÅÖÉÍÁ ÏÔÌÁÄËÉ × ÆÁÊÌ\n"
+"  -x îïíåò         ÄÌÑ ×ÎÕÔÒÅÎÎÅÇÏ ÉÓÐÏÌØÚÏ×ÁÎÉÑ\n"
 
-#: access/index/istrat.c:438
+#: bootstrap/bootstrap.c:319
+#: postmaster/postmaster.c:567
+#: tcop/postgres.c:2407
 #, c-format
-msgid "RelationInvokeStrategy: cannot evaluate strategy %d"
-msgstr ""
+msgid "--%s requires a value"
+msgstr "--%s ÔÒÅÂÕÅÔ ÐÁÒÁÍÅÔÒ"
 
-#: access/nbtree/nbtinsert.c:250
+#: bootstrap/bootstrap.c:324
+#: postmaster/postmaster.c:572
+#: tcop/postgres.c:2412
 #, c-format
-msgid "Cannot insert a duplicate key into unique index %s"
-msgstr "îÅ ×ÏÚÍÏÖÎÏ ×ÓÔÁ×ÉÔØ ÐÏ×ÔÏÒÎÙÊ ËÌÀÞ × ÕÎÉËÁÌØÎÙÊ ÉÎÄÅËÓ %s"
+msgid "-c %s requires a value"
+msgstr "-c %s ÔÒÅÂÕÅÔ ÐÁÒÁÍÅÔÒ"
 
-#: access/nbtree/nbtinsert.c:389
+#: bootstrap/bootstrap.c:357
+#: postmaster/postmaster.c:314
+#: tcop/postgres.c:2482
 #, c-format
-msgid "btree: index item size %lu exceeds maximum %lu"
+msgid ""
+"%s does not know where to find the database system data.\n"
+"You must specify the directory that contains the database system\n"
+"either by specifying the -D invocation option or by setting the\n"
+"PGDATA environment variable.\n"
 msgstr ""
+"íÏÄÕÌØ %s ÎÅ × ÓÏÓÔÏÑÎÉÉ ÎÁÊÔÉ ÄÁÎÎÙÅ (ÂÁÚÙ É Ô.Ä.) ÓÉÓÔÅÍÙ.\n"
+"÷Ù ÄÏÌÖÎÙ ÕËÁÚÁÔØ ÄÉÒÅËÔÏÒÉÀ, ËÏÔÏÒÁÑ ÓÏÄÅÒÖÉÔ ÄÁÎÎÙÅ\n"
+"ÐÕԣ͠ÕËÁÚÁÎÉÑ ÏÐÃÉÉ -D ÐÒÉ ÚÁÐÕÓËÅ ÉÌÉ ÕÓÔÁÎÏ×É× ÐÅÒÅÍÅÎÎÕÀ\n"
+"ÏËÒÕÖÅÎÉÑ PGDATA.\n"
 
-#: access/nbtree/nbtinsert.c:525
-msgid "btree: concurrent ROOT page split"
+#: catalog/dependency.c:173
+#, c-format
+msgid "cannot drop %s because other objects depend on it"
 msgstr ""
 
-#: access/nbtree/nbtinsert.c:535
-#, c-format
-msgid "bt_insertonpg[%s]: no root page found"
+#: catalog/dependency.c:175
+msgid "Use DROP ... CASCADE to drop the dependent objects too."
 msgstr ""
 
-#: access/nbtree/nbtinsert.c:538
+#: catalog/dependency.c:233
 #, c-format
-msgid "bt_insertonpg[%s]: root page unfound - fixing upper levels"
+msgid "failed to drop all objects depending on %s"
 msgstr ""
 
-#: access/nbtree/nbtinsert.c:585
+#: catalog/dependency.c:330
+#: catalog/dependency.c:729
 #, c-format
-msgid ""
-"_bt_getstackbuf: my bits moved right off the end of the world!\n"
-"\tRecreate index %s."
+msgid "cannot drop %s because it is required by the database system"
 msgstr ""
-"_bt_getstackbuf: ÍÏÑ ËÒÙÛÁ ÓßÅÈÁÌÁ É ÒÁÓÓÙÐÁÌÁÓØ ÎÁ ÂÉÔÉËÉ!\n"
-"\tðÅÒÅÓÏÚÄÁÊÔÅ ÉÎÄÅËÓ %s."
 
-#: access/nbtree/nbtinsert.c:588
+#: catalog/dependency.c:466
 #, c-format
-msgid "bt_insertonpg[%s]: parent page unfound - fixing branch"
+msgid "cannot drop %s because %s requires it"
 msgstr ""
 
-#: access/nbtree/nbtinsert.c:756
-msgid "btree: failed to add hikey to the right sibling"
+#: catalog/dependency.c:468
+#, c-format
+msgid "You may drop %s instead."
 msgstr ""
 
-#: access/nbtree/nbtinsert.c:782
-msgid "btree: failed to add hikey to the left sibling"
+#: catalog/dependency.c:536
+#: catalog/dependency.c:686
+#: catalog/dependency.c:714
+#, c-format
+msgid "drop auto-cascades to %s"
 msgstr ""
 
-#: access/nbtree/nbtinsert.c:1112
+#: catalog/dependency.c:541
+#: catalog/dependency.c:691
 #, c-format
-msgid "_bt_findsplitloc: can't find a feasible split point for %s"
+msgid "%s depends on %s"
 msgstr ""
 
-#: access/nbtree/nbtinsert.c:1339
-msgid "btree: failed to add leftkey to new root page"
+#: catalog/dependency.c:548
+#: catalog/dependency.c:698
+#, c-format
+msgid "drop cascades to %s"
 msgstr ""
 
-#: access/nbtree/nbtinsert.c:1356
-msgid "btree: failed to add rightkey to new root page"
+#: catalog/aclchk.c:127
+msgid "grant options can only be granted to individual users"
 msgstr ""
 
-#: access/nbtree/nbtinsert.c:1442
-msgid "bt_fixroot: not valid old root page"
+#: catalog/aclchk.c:194
+#, c-format
+msgid "invalid privilege type %s for table"
 msgstr ""
 
-#: access/nbtree/nbtinsert.c:1573
+#: catalog/aclchk.c:235
 #, c-format
-msgid "bt_fixtree[%s]: invalid start page (need to recreate index)"
-msgstr ""
+msgid "\"%s\" is an index"
+msgstr "\"%s\" Ñ×ÌÑÅÔÓÑ ÉÎÄÅËÓÏÍ"
 
-#: access/nbtree/nbtinsert.c:1599
+#: catalog/aclchk.c:297
 #, c-format
-msgid "bt_fixtree[%s]: fixing root page"
+msgid "invalid privilege type %s for database"
 msgstr ""
 
-#: access/nbtree/nbtinsert.c:1647
+#: catalog/aclchk.c:329
+#: commands/comment.c:440
+#: commands/dbcommands.c:481
+#: commands/dbcommands.c:602
+#: commands/dbcommands.c:691
+#: utils/adt/acl.c:1311
+#: utils/init/postinit.c:261
+#: utils/init/postinit.c:273
 #, c-format
-msgid "bt_fixlevel[%s]: invalid maxoff on start page (need to recreate index)"
-msgstr ""
+msgid "database \"%s\" does not exist"
+msgstr "ÂÁÚÁ ÄÁÎÎÙÈ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: access/nbtree/nbtinsert.c:1654
+#: catalog/aclchk.c:396
 #, c-format
-msgid ""
-"bt_fixtlevel[%s]: non-leftmost child page of leftmost parent (need to "
-"recreate index)"
+msgid "invalid privilege type %s for function"
 msgstr ""
 
-#: access/nbtree/nbtinsert.c:1657
+#: catalog/aclchk.c:493
 #, c-format
-msgid "bt_fixtlevel[%s]: invalid start child (need to recreate index)"
+msgid "invalid privilege type %s for language"
 msgstr ""
 
-#: access/nbtree/nbtinsert.c:1683
+#: catalog/aclchk.c:521
+#: commands/functioncmds.c:440
+#: commands/proclang.c:200
+#: commands/proclang.c:255
+#: utils/adt/acl.c:1729
 #, c-format
-msgid "bt_fixlevel[%s]: invalid item order(1) (need to recreate index)"
-msgstr ""
+msgid "language \"%s\" does not exist"
+msgstr "ÑÚÙË \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: access/nbtree/nbtinsert.c:1715
+# TO REVIEW
+#: catalog/aclchk.c:527
 #, c-format
-msgid "bt_fixlevel[%s]: pointer disappeared (need to recreate index)"
-msgstr ""
+msgid "language \"%s\" is not trusted"
+msgstr "ÑÚÙË \"%s\" ÎÅÄÏ×ÅÒÑÍÙÊ"
 
-#: access/nbtree/nbtinsert.c:1734
+#: catalog/aclchk.c:593
 #, c-format
-msgid "bt_fixlevel[%s]: invalid item order(2) (need to recreate index)"
+msgid "invalid privilege type %s for schema"
 msgstr ""
 
-#: access/nbtree/nbtinsert.c:1748
+#: catalog/aclchk.c:621
+#: catalog/namespace.c:245
+#: catalog/namespace.c:1200
+#: catalog/namespace.c:1238
+#: catalog/namespace.c:1800
+#: commands/comment.c:490
+#: commands/schemacmds.c:181
+#: commands/schemacmds.c:247
+#: utils/adt/acl.c:1933
 #, c-format
-msgid "bt_fixlevel[%s]: invalid item order(3) (need to recreate index)"
-msgstr ""
+msgid "schema \"%s\" does not exist"
+msgstr "ÓÈÅÍÁ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: access/nbtree/nbtinsert.c:1878
+#: catalog/aclchk.c:724
+#: commands/user.c:1454
+#: commands/user.c:1696
+#: commands/user.c:1731
+#: libpq/pqcomm.c:475
 #, c-format
-msgid "bt_fixbranch[%s]: left pointer unfound (need to recreate index)"
-msgstr ""
+msgid "group \"%s\" does not exist"
+msgstr "ÇÒÕÐÐÁ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: access/nbtree/nbtinsert.c:1885
+#: catalog/aclchk.c:796
 #, c-format
-msgid "bt_fixbranch[%s]: invalid item order (need to recreate index)"
-msgstr ""
+msgid "group with ID %u does not exist"
+msgstr "ÇÒÕÐÐÁ Ó ID %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: access/nbtree/nbtinsert.c:1894
+#: catalog/aclchk.c:865
 #, c-format
-msgid "bt_fixbranch[%s]: right pointer unfound(1) (need to recreate index)"
-msgstr ""
+msgid "permission denied for relation %s"
+msgstr "ÄÏÓÔÕРÚÁÐÒÅݣΠÄÌÑ Ó×ÑÚÉ %s"
 
-#: access/nbtree/nbtinsert.c:1902
+#: catalog/aclchk.c:867
 #, c-format
-msgid "bt_fixbranch[%s]: right pointer unfound(2) (need to recreate index)"
-msgstr ""
+msgid "permission denied for database %s"
+msgstr "ÄÏÓÔÕРÚÁÐÒÅݣΠÄÌÑ ÂÁÚÙ %s"
 
-#: access/nbtree/nbtinsert.c:1950
+#: catalog/aclchk.c:869
 #, c-format
-msgid "bt_fixbranch[%s]: fixing upper levels"
-msgstr ""
+msgid "permission denied for function %s"
+msgstr "ÄÏÓÔÕРÚÁÐÒÅݣΠÄÌÑ ÆÕÎÃÉÉ %s"
 
-#: access/nbtree/nbtinsert.c:1981
+#: catalog/aclchk.c:871
 #, c-format
-msgid "bt_fixup[%s]: checking/fixing upper levels"
-msgstr ""
+msgid "permission denied for operator %s"
+msgstr "ÄÏÓÔÕРÚÁÐÒÅݣΠÄÌÑ ÏÐÅÒÁÔÏÒÁ %s"
 
-#: access/nbtree/nbtinsert.c:1996
+#: catalog/aclchk.c:873
 #, c-format
-msgid "bt_fixup[%s]: fixing root page"
-msgstr ""
+msgid "permission denied for type %s"
+msgstr "ÄÏÓÔÕРÚÁÐÒÅݣΠÄÌÑ ÔÉÐÁ %s"
 
-#: access/nbtree/nbtinsert.c:2059
+#: catalog/aclchk.c:875
 #, c-format
-msgid "btree: failed to add item to the %s for %s"
-msgstr ""
+msgid "permission denied for language %s"
+msgstr "ÄÏÓÔÕРÚÁÐÒÅݣΠÄÌÑ ÑÚÙËÁ %s"
 
-#: access/nbtree/nbtpage.c:66
+#: catalog/aclchk.c:877
 #, c-format
-msgid "Cannot initialize non-empty btree %s"
-msgstr ""
+msgid "permission denied for schema %s"
+msgstr "ÄÏÓÔÕРÚÁÐÒÅݣΠÄÌÑ ÓÈÅÍÙ %s"
 
-#: access/nbtree/nbtpage.c:127
+#: catalog/aclchk.c:879
 #, c-format
-msgid "Index %s is not a btree"
-msgstr ""
+msgid "permission denied for operator class %s"
+msgstr "ÄÏÓÔÕРÚÁÐÒÅݣΠÄÌÑ ËÌÁÓÓÁ ÏÐÅÒÁÔÏÒÏ× %s"
 
-#: access/nbtree/nbtpage.c:131
+#: catalog/aclchk.c:881
 #, c-format
-msgid "Version mismatch on %s: version %d file, version %d code"
-msgstr ""
+msgid "permission denied for conversion %s"
+msgstr "ÄÏÓÔÕРÚÁÐÒÅݣΠÄÌÑ ËÏÎ×ÅÒÓÉÉ %s"
 
-#: access/nbtree/nbtpage.c:258
+#: catalog/aclchk.c:887
 #, c-format
-msgid "bt_getroot[%s]: fixing root page"
-msgstr ""
+msgid "must be owner of relation %s"
+msgstr "ÎÕÖÎÏ ÂÙÔØ ×ÌÁÄÅÌØÃÅÍ Ó×ÑÚÉ %s"
 
-#: access/nbtree/nbtree.c:806
+#: catalog/aclchk.c:889
 #, c-format
-msgid ""
-"_bt_restscan: my bits moved right off the end of the world!\n"
-"\tRecreate index %s."
-msgstr ""
+msgid "must be owner of database %s"
+msgstr "ÎÕÖÎÏ ÂÙÔØ ×ÌÁÄÅÌØÃÅÍ ÂÁÚÙ %s"
 
-#: access/nbtree/nbtree.c:836
-msgid "_bt_restore_page: can't add item to page"
-msgstr ""
+#: catalog/aclchk.c:891
+#, c-format
+msgid "must be owner of function %s"
+msgstr "ÎÕÖÎÏ ÂÙÔØ ×ÌÁÄÅÌØÃÅÍ ÆÕÎËÃÉÉ %s"
 
-#: access/nbtree/nbtree.c:859
-msgid "btree_delete_redo: block unfound"
-msgstr ""
+#: catalog/aclchk.c:893
+#, c-format
+msgid "must be owner of operator %s"
+msgstr "ÎÕÖÎÏ ÂÙÔØ ×ÌÁÄÅÌØÃÅÍ ÏÐÅÒÁÔÏÒÁ %s"
 
-#: access/nbtree/nbtree.c:862
-msgid "btree_delete_redo: uninitialized page"
-msgstr ""
+#: catalog/aclchk.c:895
+#, c-format
+msgid "must be owner of type %s"
+msgstr "ÎÕÖÎÏ ÂÙÔØ ×ÌÁÄÅÌØÃÅÍ ÔÉÐÁ %s"
 
-#: access/nbtree/nbtree.c:898
+#: catalog/aclchk.c:897
 #, c-format
-msgid "btree_insert_%sdo: block unfound"
-msgstr ""
+msgid "must be owner of language %s"
+msgstr "ÎÕÖÎÏ ÂÙÔØ ×ÌÁÄÅÌØÃÅÍ ÑÚÙËÁ %s"
 
-#: access/nbtree/nbtree.c:901
+#: catalog/aclchk.c:899
 #, c-format
-msgid "btree_insert_%sdo: uninitialized page"
-msgstr ""
+msgid "must be owner of schema %s"
+msgstr "ÎÕÖÎÏ ÂÙÔØ ×ÌÁÄÅÌØÃÅÍ ÓÈÅÍÙ %s"
 
-#: access/nbtree/nbtree.c:915
-msgid "btree_insert_redo: failed to add item"
-msgstr ""
+#: catalog/aclchk.c:901
+#, c-format
+msgid "must be owner of operator class %s"
+msgstr "ÎÕÖÎÏ ÂÙÔØ ×ÌÁÄÅÌØÃÅÍ ËÌÁÓÓÁ ÏÐÅÒÁÔÏÒÏ× %s"
 
-#: access/nbtree/nbtree.c:924
-msgid "btree_insert_undo: bad page LSN"
-msgstr ""
+#: catalog/aclchk.c:903
+#, c-format
+msgid "must be owner of conversion %s"
+msgstr "ÎÕÖÎÏ ÂÙÔØ ×ÌÁÄÅÌØÃÅÍ ËÏÎ×ÅÒÓÉÉ %s"
 
-#: access/nbtree/nbtree.c:932
-msgid "btree_insert_undo: unimplemented"
-msgstr ""
+#: catalog/aclchk.c:961
+#, c-format
+msgid "user with ID %u does not exist"
+msgstr "ÐÏÌØÚÏ×ÁÔÅÌØ Ó ID %u  ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: access/nbtree/nbtree.c:959
+#: catalog/aclchk.c:978
+#: catalog/aclchk.c:1294
 #, c-format
-msgid "btree_split_%s: lost left sibling"
-msgstr ""
+msgid "relation with OID %u does not exist"
+msgstr "Ó×ÑÚØ Ó OID %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: access/nbtree/nbtree.c:965
-msgid "btree_split_undo: uninitialized left sibling"
-msgstr ""
+#: catalog/aclchk.c:1073
+#: catalog/aclchk.c:1473
+#, c-format
+msgid "database with OID %u does not exist"
+msgstr "ÂÁÚÁ ÄÁÎÎÙÈ Ó OID %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: access/nbtree/nbtree.c:988
-msgid "btree_split_undo: bad left sibling LSN"
-msgstr ""
+#: catalog/aclchk.c:1130
+#: catalog/aclchk.c:1378
+#: tcop/fastpath.c:231
+#, c-format
+msgid "function with OID %u does not exist"
+msgstr "ÆÕÎËÃÉÑ Ó OID %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: access/nbtree/nbtree.c:989 access/nbtree/nbtree.c:1028
-msgid "btree_split_undo: unimplemented"
-msgstr ""
+#: catalog/aclchk.c:1185
+#, c-format
+msgid "language with OID %u does not exist"
+msgstr "ÑÚÙË Ó OID %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: access/nbtree/nbtree.c:997
+#: catalog/aclchk.c:1244
+#: catalog/aclchk.c:1406
 #, c-format
-msgid "btree_split_%s: lost right sibling"
-msgstr ""
+msgid "schema with OID %u does not exist"
+msgstr "ÓÈÅÍÁ Ó OID %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: access/nbtree/nbtree.c:1003
-msgid "btree_split_undo: uninitialized right sibling"
-msgstr ""
+#: catalog/aclchk.c:1322
+#, c-format
+msgid "type with OID %u does not exist"
+msgstr "ÔÉРӠOID %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
+
+#: catalog/aclchk.c:1350
+#, c-format
+msgid "operator with OID %u does not exist"
+msgstr "ÏÐÅÒÁÔÒÏ Ó OID %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
+
+#: catalog/aclchk.c:1434
+#, c-format
+msgid "operator class with OID %u does not exist"
+msgstr "ËÌÁÓÓ ÏÐÅÒÁÔÏÒÏ× Ó OID %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: access/nbtree/nbtree.c:1027
-msgid "btree_split_undo: bad right sibling LSN"
+#: catalog/pg_aggregate.c:80
+msgid "cannot determine transition datatype"
 msgstr ""
 
-#: access/nbtree/nbtree.c:1041
-msgid "btree_split_redo: lost next right page"
+#: catalog/pg_aggregate.c:81
+msgid "An aggregate using ANYARRAY or ANYELEMENT as trans type must have one of them as its base type."
 msgstr ""
 
-#: access/nbtree/nbtree.c:1045
-msgid "btree_split_redo: uninitialized next right page"
+#: catalog/pg_aggregate.c:110
+#, c-format
+msgid "return type of transition function %s is not %s"
 msgstr ""
 
-#: access/nbtree/nbtree.c:1082
-msgid "btree_newroot_redo: no root page"
+#: catalog/pg_aggregate.c:132
+msgid "must not omit initval when transfn is strict and transtype is not compatible with input type"
 msgstr ""
 
-#: access/nbtree/nbtree.c:1085
-msgid "btree_newroot_redo: no metapage"
+#: catalog/pg_aggregate.c:165
+#: catalog/pg_proc.c:112
+#: catalog/pg_proc.c:535
+msgid "cannot determine result datatype"
 msgstr ""
 
-#: access/nbtree/nbtree.c:1139
-#, c-format
-msgid "btree_redo: unknown op code %u"
+#: catalog/pg_aggregate.c:166
+msgid "An aggregate returning ANYARRAY or ANYELEMENT must have one of them as its base type."
 msgstr ""
 
-#: access/nbtree/nbtree.c:1159
+#: catalog/pg_aggregate.c:280
+#: commands/typecmds.c:896
+#: commands/typecmds.c:966
+#: commands/typecmds.c:998
+#: commands/typecmds.c:1030
+#: parser/parse_func.c:319
+#: parser/parse_func.c:1491
 #, c-format
-msgid "btree_undo: unknown op code %u"
-msgstr ""
+msgid "function %s does not exist"
+msgstr "ÆÕÎËÃÉÑ %s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: access/nbtree/nbtsearch.c:545
-msgid "_bt_first: btree doesn't support is(not)null, yet"
+#: catalog/pg_aggregate.c:285
+#, c-format
+msgid "function %s returns a set"
 msgstr ""
 
-#: access/nbtree/nbtsearch.c:693
-msgid "_bt_first: equal items disappeared?"
+#: catalog/pg_aggregate.c:316
+#: catalog/pg_aggregate.c:325
+#, c-format
+msgid "function %s requires run-time type coercion"
 msgstr ""
 
-#: access/nbtree/nbtsearch.c:1004
+#: catalog/heap.c:227
 #, c-format
-msgid "Illegal scan direction %d"
-msgstr ""
+msgid "permission denied to create \"%s.%s\""
+msgstr "ÄÏÓÔÕРÚÁÐÒÅݣΠÐÏ ÓÏÚÄÁÎÉÀ \"%s.%s\""
 
-#: access/nbtree/nbtsort.c:288
-msgid "btree: failed to add item to the page in _bt_sort"
+#: catalog/heap.c:229
+msgid "System catalog modifications are currently disallowed."
 msgstr ""
 
-#: access/nbtree/nbtsort.c:353
+#: catalog/heap.c:356
+#: commands/tablecmds.c:1843
 #, c-format
-msgid "btree: index item size %lu exceeds maximum %ld"
+msgid "tables can have at most %d columns"
 msgstr ""
 
-#: access/nbtree/nbtutils.c:230
-msgid "_bt_orderkeys: key(s) for attribute 1 missed"
-msgstr ""
+#: catalog/heap.c:373
+#, c-format
+msgid "column name \"%s\" conflicts with a system column name"
+msgstr "ÉÍÑ ËÏÌÏÎËÉ \"%s\" ËÏÎÆÌÉËÔÕÅÔ Ó ÓÉÓÔÅÍÎÏÊ ËÏÌÏÎËÏÊ"
 
-#: access/nbtree/nbtutils.c:308
+#: catalog/heap.c:389
 #, c-format
-msgid "_bt_orderkeys: key(s) for attribute %d missed"
-msgstr ""
+msgid "column name \"%s\" is duplicated"
+msgstr "ÐÏ×ÔÏÒÎÏÅ ÉÍÑ ËÏÌÏÎËÉ: \"%s\""
 
-#: access/nbtree/nbtutils.c:465
+#: catalog/heap.c:429
 #, c-format
-msgid "_bt_getstrategynumber: unable to identify operator %u"
+msgid "attribute \"%s\" has type UNKNOWN"
+msgstr "ÁÔÒÉÂÕÔ \"%s\" ÉÍÅÅÔ ÔÉРUNKNOWN"
+
+#: catalog/heap.c:430
+msgid "Proceeding with relation creation anyway."
 msgstr ""
 
-#: access/rtree/rtree.c:331
+#: catalog/heap.c:437
 #, c-format
-msgid "rtdoinsert: failed to add index item to %s"
-msgstr ""
+msgid "attribute \"%s\" has pseudo-type %s"
+msgstr "ÁÒÉÂÕÔ \"%s\" ÉÍÅÅÔ ÐÓÅ×ÄÏ-ÔÉР%s"
 
-#: access/rtree/rtree.c:523 access/rtree/rtree.c:547
+#: catalog/heap.c:447
 #, c-format
-msgid "rtdosplit: failed to add index item to %s"
-msgstr ""
+msgid "attribute \"%s\" has composite type %s"
+msgstr "ÁÔÒÉÂÕÔ \"%s\" ÉÍÅÅÔ ÓÌÏÖÎÙÊ ÔÉР%s"
 
-#: access/rtree/rtree.c:643
-msgid "Variable-length rtree keys are not supported."
-msgstr ""
+#: catalog/heap.c:734
+#: catalog/index.c:543
+#: commands/tablecmds.c:1378
+#, c-format
+msgid "relation \"%s\" already exists"
+msgstr "ÏÂßÅËÔ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: access/rtree/rtree.c:663
+#: catalog/heap.c:1556
+#: commands/tablecmds.c:2892
+#: commands/tablecmds.c:2934
 #, c-format
-msgid "rtintinsert: failed to add index item to %s"
-msgstr ""
+msgid "constraint \"%s\" for relation \"%s\" already exists"
+msgstr "ËÏÎÓÔÒÅÊÎÔ \"%s\" ÄÌÑ Ó×ÑÚÉ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: access/rtree/rtree.c:689 access/rtree/rtree.c:694
+#: catalog/heap.c:1572
 #, c-format
-msgid "rtnewroot: failed to add index item to %s"
-msgstr ""
+msgid "CHECK constraint \"%s\" already exists"
+msgstr "CHECK-ÏÇÒÁÎÉÞÅÎÉÅ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: access/rtree/rtree.c:781
+#: catalog/heap.c:1634
 #, c-format
-msgid "rtree: index item size %lu exceeds maximum %lu"
+msgid "only relation \"%s\" can be referenced in CHECK constraint"
 msgstr ""
 
-#: access/rtree/rtree.c:1068
-msgid "rtpicksplit: failed to find a workable page split"
+#: catalog/heap.c:1643
+#: commands/tablecmds.c:3021
+#: commands/typecmds.c:1828
+msgid "cannot use sub-select in CHECK constraint"
 msgstr ""
 
-#: access/rtree/rtree.c:1347
-msgid "rtree_redo: unimplemented"
+#: catalog/heap.c:1647
+#: commands/tablecmds.c:3025
+#: commands/typecmds.c:1832
+msgid "cannot use aggregate in CHECK constraint"
 msgstr ""
 
-#: access/rtree/rtree.c:1353
-msgid "rtree_undo: unimplemented"
+#: catalog/heap.c:1754
+msgid "cannot use column references in DEFAULT clause"
 msgstr ""
 
-#: access/rtree/rtscan.c:255
-#, c-format
-msgid "rtree scan list corrupted -- cannot find 0x%p"
+#: catalog/heap.c:1762
+msgid "DEFAULT clause must not return a set"
 msgstr ""
 
-#: access/rtree/rtscan.c:391
-#, c-format
-msgid "Bad operation in rtree scan adjust: %d"
+#: catalog/heap.c:1770
+msgid "cannot use sub-select in DEFAULT clause"
 msgstr ""
 
-#: access/transam/clog.c:546 access/transam/clog.c:598
-#, c-format
-msgid "open of %s failed: %m"
-msgstr "ÎÅ ÕÄÁÌÏÓØ ÏÔËÒÙÔØ %s: %m"
+#: catalog/heap.c:1774
+msgid "cannot use aggregate in DEFAULT clause"
+msgstr ""
 
-#: access/transam/clog.c:547
+#: catalog/heap.c:1792
+#: rewrite/rewriteHandler.c:560
 #, c-format
-msgid "clog file %s doesn't exist, reading as zeroes"
+msgid "column \"%s\" is of type %s but default expression is of type %s"
 msgstr ""
 
-#: access/transam/clog.c:553 access/transam/clog.c:606
-#, c-format
-msgid "lseek of clog file %u, offset %u failed: %m"
+#: catalog/heap.c:1797
+#: parser/analyze.c:2788
+#: parser/parse_node.c:232
+#: parser/parse_target.c:425
+#: rewrite/rewriteHandler.c:565
+msgid "You will need to rewrite or cast the expression."
 msgstr ""
 
-#: access/transam/clog.c:558
-#, c-format
-msgid "read of clog file %u, offset %u failed: %m"
+#: catalog/index.c:526
+msgid "user-defined indexes on system catalogs are not supported"
+msgstr "ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÅ ÉÎÄÅËÓÙ ÎÁ ÓÉÓÔÅÍÎÙÅ ËÁÔÁÌÏÇÉ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ"
+
+#: catalog/index.c:538
+msgid "shared indexes cannot be created after initdb"
 msgstr ""
 
-#: access/transam/clog.c:602 access/transam/xlog.c:1378
+#: catalog/index.c:995
 #, c-format
-msgid "creation of file %s failed: %m"
-msgstr ""
+msgid "relation \"%s\" isn't an indexable relation"
+msgstr "Ó×ÑÚÔ \"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÉÎÄÅËÓÉÒÕÅÍÙÍ ÏÂßÅËÔÏÍ"
 
-#: access/transam/clog.c:615
+#: catalog/index.c:1755
+#: catalog/index.c:1882
 #, c-format
-msgid "write of clog file %u, offset %u failed: %m"
+msgid "the target relation %u is shared"
 msgstr ""
 
-#: access/transam/clog.c:834
-msgid "unable to truncate commit log: apparent wraparound"
-msgstr ""
-
-#: access/transam/clog.c:889
-#, c-format
-msgid "could not open transaction-commit log directory (%s): %m"
-msgstr ""
-
-#: access/transam/clog.c:905
-#, c-format
-msgid "removing commit log file %s"
-msgstr "ÕÄÁÌÅÎÉÅ commit-ÌÏÇ-ÆÁÊÌÁ %s"
-
-#: access/transam/clog.c:914
-#, c-format
-msgid "could not read transaction-commit log directory (%s): %m"
-msgstr ""
-
-#: access/transam/xact.c:412
-msgid "You may only have 2^32-1 commands per transaction"
-msgstr "÷Ù ÍÏÖÅÔÅ ÉÍÅÔØ ÄÏ 2^32-1 ËÏÍÁÎÄ × ÏÄÎÏÊ ÔÒÁÎÚÁËÃÉÉ"
-
-#: access/transam/xact.c:702
-#, c-format
-msgid "RecordTransactionAbort: xact %u already committed"
-msgstr ""
-
-#: access/transam/xact.c:917
-msgid "CommitTransaction and not in in-progress state"
-msgstr ""
-
-#: access/transam/xact.c:1058
-msgid "AbortTransaction and not in in-progress state"
-msgstr ""
-
-#: access/transam/xact.c:1143
-msgid "CleanupTransaction and not in abort state"
-msgstr ""
-
-#: access/transam/xact.c:1175
-msgid "StartTransactionCommand: can't prevent chain"
-msgstr "StartTransactionCommand: ÎÅ × ÓÏÓÔÏÑÎÉÉ ÐÒÅÄÏÔ×ÒÁÔÉÔØ ÃÅÐÏÞËÕ"
-
-#: access/transam/xact.c:1194
-msgid "StartTransactionCommand: unexpected TBLOCK_BEGIN"
-msgstr "StartTransactionCommand: ÎÅÏÖÉÄÁÎÎÙÊ TBLOCK_BEGIN"
-
-#: access/transam/xact.c:1215
-msgid "StartTransactionCommand: unexpected TBLOCK_END"
-msgstr "StartTransactionCommand: ÎÅÏÖÉÄÁÎÎÙÊ TBLOCK_END"
-
-#: access/transam/xact.c:1238
-msgid "StartTransactionCommand: unexpected TBLOCK_ENDABORT"
-msgstr "StartTransactionCommand: ÎÅÏÖÉÄÁÎÎÙÊ TBLOCK_ENDABORT"
-
-#. translator: %s represents an SQL statement name
-#: access/transam/xact.c:1454
-#, c-format
-msgid "%s cannot run inside a transaction block"
-msgstr "%s ÎÅ ÍÏÖÅÔ ×ÙÐÏÌÎÑÔØÓÑ ×ÎÕÔÒÉ ÔÒÁÎÚÁËÃÉÏÎÎÏÇÏ ÂÌÏËÁ"
-
-#. translator: %s represents an SQL statement name
-#: access/transam/xact.c:1464
-#, c-format
-msgid "%s cannot be executed from a function"
-msgstr "%s ÎÅ ÍÏÖÅÔ ×ÙÐÏÌÎÑÔØÓÑ ×ÎÕÔÒÉ ÆÕÎËÃÉÉ"
-
-#: access/transam/xact.c:1468
-msgid "PreventTransactionChain: can't prevent chain"
-msgstr "PreventTransactionChain: ÎÅ × ÓÏÓÔÏÑÎÉÉ ÐÒÅÄÏÔ×ÒÁÔÉÔØ ÃÅÐÏÞËÕ"
-
-#. translator: %s represents an SQL statement name
-#: access/transam/xact.c:1475
-#, c-format
-msgid "%s will be committed automatically"
-msgstr ""
-
-#. translator: %s represents an SQL statement name
-#: access/transam/xact.c:1519
-#, c-format
-msgid "%s may only be used in begin/end transaction blocks"
-msgstr ""
-
-#: access/transam/xact.c:1541
-msgid "BEGIN: already a transaction in progress"
-msgstr "BEGIN: ÔÒÁÎÚÁËÃÉÑ ÕÖÅ × ÐÒÏÃÅÓÓÅ ×ÙÐÏÌÎÅÎÉÑ"
-
-#: access/transam/xact.c:1605
-msgid "COMMIT: no transaction in progress"
-msgstr "COMMIT: ÎÅÔ ÔÒÁÎÚÁËÃÉÉ × ÐÒÏÃÅÓÓÅ ×ÙÐÏÌÎÅÎÉÑ"
-
-#: access/transam/xact.c:1642 access/transam/xact.c:1689
-msgid "ROLLBACK: no transaction in progress"
-msgstr "ROLLBACK: ÎÅÔ ÔÒÁÎÚÁËÃÉÉ × ÐÒÏÃÅÓÓÅ ×ÙÐÏÌÎÅÎÉÑ"
-
-#: access/transam/xact.c:1768 access/transam/xact.c:1779
-#, c-format
-msgid "xact_redo: unknown op code %u"
-msgstr "xact_redo: ÎÅÉÚ×ÅÓÔÎÙÊ ËÏÄ ÏÐÅÒÁÃÉÉ: %u"
-
-#: access/transam/xact.c:1777
-msgid "xact_undo: can't undo committed xaction"
-msgstr ""
-
-#: access/transam/xact.c:1814
-msgid "XactPushRollback: already installed"
-msgstr ""
-
-#: access/transam/xlog.c:505
-#, c-format
-msgid "XLogInsert: invalid info mask %02X"
-msgstr ""
-
-#: access/transam/xlog.c:610
-#, c-format
-msgid "XLogInsert: can backup %d blocks at most"
-msgstr ""
-
-#: access/transam/xlog.c:628
-#, c-format
-msgid "XLogInsert: invalid record length %u"
-msgstr ""
-
-#: access/transam/xlog.c:785 access/transam/xlog.c:2625 scan.l:36
-#: utils/adt/name.c:52 utils/adt/varchar.c:83 utils/adt/varchar.c:357
-#: utils/adt/varlena.c:226
-#, c-format
-msgid "%s"
-msgstr "%s"
-
-#: access/transam/xlog.c:1029
-#, c-format
-msgid "XLogWrite: write request %X/%X is past end of log %X/%X"
-msgstr ""
-
-#: access/transam/xlog.c:1046 access/transam/xlog.c:1156
-#: access/transam/xlog.c:3329
-#, c-format
-msgid "close of log file %u, segment %u failed: %m"
-msgstr ""
-
-#: access/transam/xlog.c:1081
-msgid "XLogWrite: time for a checkpoint, signaling postmaster"
-msgstr ""
-
-#: access/transam/xlog.c:1100
-#, c-format
-msgid "lseek of log file %u, segment %u, offset %u failed: %m"
-msgstr ""
-
-#: access/transam/xlog.c:1112
-#, c-format
-msgid "write of log file %u, segment %u, offset %u failed: %m"
-msgstr ""
-
-#: access/transam/xlog.c:1208
-#, c-format
-msgid "XLogFlush%s%s: request %X/%X; write %X/%X; flush %X/%X"
-msgstr ""
-
-#: access/transam/xlog.c:1313
-#, c-format
-msgid "XLogFlush: request %X/%X is not satisfied --- flushed only to %X/%X"
-msgstr ""
-
-#: access/transam/xlog.c:1356 access/transam/xlog.c:1437
-#: access/transam/xlog.c:1547 access/transam/xlog.c:1551
-#, c-format
-msgid "open of %s (log file %u, segment %u) failed: %m"
-msgstr "ÎÅ ÕÄÁÌÏÓØ ÏÔËÒÙÔØ %s (ÌÏÇ-ÆÁÊÌ: %u, ÓÅÇÍÅÎÔ: %u): %m"
-
-#: access/transam/xlog.c:1405
-#, c-format
-msgid "ZeroFill failed to write %s: %m"
-msgstr ""
-
-#: access/transam/xlog.c:1410
-#, c-format
-msgid "fsync of file %s failed: %m"
-msgstr ""
-
-#: access/transam/xlog.c:1515
-#, c-format
-msgid ""
-"link from %s to %s (initialization of log file %u, segment %u) failed: %m"
-msgstr ""
-
-#: access/transam/xlog.c:1520
-#, c-format
-msgid ""
-"rename from %s to %s (initialization of log file %u, segment %u) failed: %m"
-msgstr ""
-
-#: access/transam/xlog.c:1601
-#, c-format
-msgid "could not open transaction log directory (%s): %m"
-msgstr ""
-
-#: access/transam/xlog.c:1616
-#, c-format
-msgid "archiving transaction log file %s"
-msgstr ""
-
-#: access/transam/xlog.c:1618
-msgid "archiving log files is not implemented!"
-msgstr "ÁÒÈÉ×ÁÃÉÑ ÌÏÇÏ× ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ!"
-
-#: access/transam/xlog.c:1632
-#, c-format
-msgid "recycled transaction log file %s"
-msgstr ""
-
-#: access/transam/xlog.c:1638
-#, c-format
-msgid "removing transaction log file %s"
-msgstr "ÕÄÁÌÅÎÉÅ ÌÏÇ-ÆÁÊÌÁ ÔÒÁÎÚÁËÃÉÊ: %s"
-
-#: access/transam/xlog.c:1647
-#, c-format
-msgid "could not read transaction log directory (%s): %m"
-msgstr ""
-
-#: access/transam/xlog.c:1720
-#, c-format
-msgid "ReadRecord: bad resource manager data checksum in record at %X/%X"
-msgstr ""
-
-#: access/transam/xlog.c:1742
-#, c-format
-msgid "ReadRecord: bad checksum of backup block %d in record at %X/%X"
-msgstr ""
-
-#: access/transam/xlog.c:1811
-#, c-format
-msgid "ReadRecord: invalid record offset at %X/%X"
-msgstr ""
-
-#: access/transam/xlog.c:1834
-#, c-format
-msgid "ReadRecord: lseek of log file %u, segment %u, offset %u failed: %m"
-msgstr ""
-
-#: access/transam/xlog.c:1840 access/transam/xlog.c:1924
-#, c-format
-msgid "ReadRecord: read of log file %u, segment %u, offset %u failed: %m"
-msgstr ""
-
-#: access/transam/xlog.c:1850
-#, c-format
-msgid "ReadRecord: contrecord is requested by %X/%X"
-msgstr ""
-
-#: access/transam/xlog.c:1864
-#, c-format
-msgid "ReadRecord: record with zero length at %X/%X"
-msgstr ""
-
-#: access/transam/xlog.c:1888
-#, c-format
-msgid "ReadRecord: record length %u at %X/%X too long"
-msgstr ""
-
-#: access/transam/xlog.c:1894
-#, c-format
-msgid "ReadRecord: invalid resource manager id %u at %X/%X"
-msgstr ""
-
-#: access/transam/xlog.c:1932
-#, c-format
-msgid ""
-"ReadRecord: there is no ContRecord flag in log file %u, segment %u, offset %u"
-msgstr ""
-
-#: access/transam/xlog.c:1940
-#, c-format
-msgid ""
-"ReadRecord: invalid ContRecord length %u in log file %u, segment %u, offset %"
-"u"
-msgstr ""
-
-#: access/transam/xlog.c:2004
-#, c-format
-msgid ""
-"ReadRecord: invalid magic number %04X in log file %u, segment %u, offset %u"
-msgstr ""
-
-#: access/transam/xlog.c:2010
-#, c-format
-msgid ""
-"ReadRecord: invalid info bits %04X in log file %u, segment %u, offset %u"
-msgstr ""
-
-#: access/transam/xlog.c:2018
-#, c-format
-msgid ""
-"ReadRecord: unexpected pageaddr %X/%X in log file %u, segment %u, offset %u"
-msgstr ""
-
-#. translator: SUI = startup id
-#: access/transam/xlog.c:2040
-#, c-format
-msgid ""
-"ReadRecord: out-of-sequence SUI %u (after %u) in log file %u, segment %u, "
-"offset %u"
-msgstr ""
-
-#: access/transam/xlog.c:2099
-msgid "invalid LC_COLLATE setting"
-msgstr ""
-
-#: access/transam/xlog.c:2103
-msgid "invalid LC_CTYPE setting"
-msgstr ""
-
-#: access/transam/xlog.c:2121
-msgid "sizeof(ControlFileData) is larger than BLCKSZ; fix either one"
-msgstr ""
-
-#: access/transam/xlog.c:2129
-#, c-format
-msgid "WriteControlFile: could not create control file (%s): %m"
-msgstr ""
-
-#: access/transam/xlog.c:2138
-#, c-format
-msgid "WriteControlFile: write to control file failed: %m"
-msgstr ""
-
-#: access/transam/xlog.c:2142
-#, c-format
-msgid "WriteControlFile: fsync of control file failed: %m"
-msgstr ""
-
-#: access/transam/xlog.c:2158 access/transam/xlog.c:2281
-#, c-format
-msgid "could not open control file (%s): %m"
-msgstr ""
-
-#: access/transam/xlog.c:2161
-#, c-format
-msgid "read from control file failed: %m"
-msgstr ""
-
-#: access/transam/xlog.c:2173
-#, c-format
-msgid ""
-"The database cluster was initialized with PG_CONTROL_VERSION %d,\n"
-"\tbut the server was compiled with PG_CONTROL_VERSION %d.\n"
-"\tIt looks like you need to initdb."
-msgstr ""
-
-#: access/transam/xlog.c:2186
-msgid "invalid checksum in control file"
-msgstr ""
-
-#: access/transam/xlog.c:2202
-#, c-format
-msgid ""
-"The database cluster was initialized with CATALOG_VERSION_NO %d,\n"
-"\tbut the backend was compiled with CATALOG_VERSION_NO %d.\n"
-"\tIt looks like you need to initdb."
-msgstr ""
-
-#: access/transam/xlog.c:2208
-#, c-format
-msgid ""
-"The database cluster was initialized with BLCKSZ %d,\n"
-"\tbut the backend was compiled with BLCKSZ %d.\n"
-"\tIt looks like you need to initdb."
-msgstr ""
-
-#: access/transam/xlog.c:2214
-#, c-format
-msgid ""
-"The database cluster was initialized with RELSEG_SIZE %d,\n"
-"\tbut the backend was compiled with RELSEG_SIZE %d.\n"
-"\tIt looks like you need to recompile or initdb."
-msgstr ""
-
-#: access/transam/xlog.c:2221
-#, c-format
-msgid ""
-"The database cluster was initialized with NAMEDATALEN %d,\n"
-"\tbut the backend was compiled with NAMEDATALEN %d.\n"
-"\tIt looks like you need to recompile or initdb."
-msgstr ""
-
-#: access/transam/xlog.c:2228
-#, c-format
-msgid ""
-"The database cluster was initialized with FUNC_MAX_ARGS %d,\n"
-"\tbut the backend was compiled with FUNC_MAX_ARGS %d.\n"
-"\tIt looks like you need to recompile or initdb."
-msgstr ""
-
-#: access/transam/xlog.c:2236
-msgid ""
-"The database cluster was initialized without HAVE_INT64_TIMESTAMP\n"
-"\tbut the backend was compiled with HAVE_INT64_TIMESTAMP.\n"
-"\tIt looks like you need to recompile or initdb."
-msgstr ""
-
-#: access/transam/xlog.c:2242
-msgid ""
-"The database cluster was initialized with HAVE_INT64_TIMESTAMP\n"
-"\tbut the backend was compiled without HAVE_INT64_TIMESTAMP.\n"
-"\tIt looks like you need to recompile or initdb."
-msgstr ""
-
-#: access/transam/xlog.c:2249
-#, c-format
-msgid ""
-"The database cluster was initialized with LOCALE_NAME_BUFLEN %d,\n"
-"\tbut the backend was compiled with LOCALE_NAME_BUFLEN %d.\n"
-"\tIt looks like you need to initdb."
-msgstr ""
-
-#: access/transam/xlog.c:2256
-#, c-format
-msgid ""
-"The database cluster was initialized with LC_COLLATE '%s',\n"
-"\twhich is not recognized by setlocale().\n"
-"\tIt looks like you need to initdb."
-msgstr ""
-
-#: access/transam/xlog.c:2262
-#, c-format
-msgid ""
-"The database cluster was initialized with LC_CTYPE '%s',\n"
-"\twhich is not recognized by setlocale().\n"
-"\tIt looks like you need to initdb."
-msgstr ""
-
-#: access/transam/xlog.c:2289
-#, c-format
-msgid "write to control file failed: %m"
-msgstr ""
-
-#: access/transam/xlog.c:2293
-#, c-format
-msgid "fsync of control file failed: %m"
-msgstr ""
-
-#: access/transam/xlog.c:2433
-#, c-format
-msgid "BootStrapXLOG failed to write log file: %m"
-msgstr ""
-
-#: access/transam/xlog.c:2437
-#, c-format
-msgid "BootStrapXLOG failed to fsync log file: %m"
-msgstr ""
-
-#: access/transam/xlog.c:2503
-msgid "control file context is broken"
-msgstr ""
-
-#: access/transam/xlog.c:2506
-#, c-format
-msgid "database system was shut down at %s"
-msgstr "ÓÉÓÔÅÍÁ ÂÙÌÁ ÏÔËÌÀÞÅÎÁ: %s"
-
-#: access/transam/xlog.c:2509
-#, c-format
-msgid "database system shutdown was interrupted at %s"
-msgstr "ÏÔËÌÀÞÅÎÉÅ ÓÉÓÔÅÍÙ ÂÙÌÏ ÐÒÅÒ×ÁÎÏ: %s"
-
-#: access/transam/xlog.c:2512
-#, c-format
-msgid ""
-"database system was interrupted being in recovery at %s\n"
-"\tThis probably means that some data blocks are corrupted\n"
-"\tand you will have to use the last backup for recovery."
-msgstr ""
-
-#: access/transam/xlog.c:2517
-#, c-format
-msgid "database system was interrupted at %s"
-msgstr "ÓÉÓÔÅÍÁ ÂÙÌÁ ÐÒÅÒ×ÁÎÁ: %s"
-
-#: access/transam/xlog.c:2528
-#, c-format
-msgid "checkpoint record is at %X/%X"
-msgstr "ËÏÎÔÒÏÌØÎÁÑ ÔÏÞËÁ: %X/%X"
-
-#: access/transam/xlog.c:2537
-#, c-format
-msgid "using previous checkpoint record at %X/%X"
-msgstr "ÉÓÐÏÌØÚÕÅÔÓÑ ÐÒÅÄÙÄÕÝÁÑ ËÏÎÔÒÏÌØÎÁÑ ÔÏÞËÁ: %X/%X"
-
-#: access/transam/xlog.c:2542
-msgid "unable to locate a valid checkpoint record"
-msgstr "ÎÅ × ÓÏÓÔÏÑÎÉÉ ÎÁÊÔÉ ËÏÒÒÅËÔÎÕÀ ËÏÎÔÒÏÌØÎÕÀ ÔÏÞËÕ"
-
-#: access/transam/xlog.c:2548
-#, c-format
-msgid "redo record is at %X/%X; undo record is at %X/%X; shutdown %s"
-msgstr "redo-ÚÁÐÉÓØ: %X/%X; undo-ÚÁÐÉÓØ: %X/%X; ÏÔËÌÀÞÅÎÉÅ: %s"
-
-#: access/transam/xlog.c:2552
-#, c-format
-msgid "next transaction id: %u; next oid: %u"
-msgstr "id ÓÌÅÄÕÀÝÅÊ ÔÒÁÎÚÁËÃÉÉ: %u; ÓÌÅÄÕÀÝÉÊ OID: %u"
-
-#: access/transam/xlog.c:2555
-msgid "invalid next transaction id"
-msgstr ""
-
-#: access/transam/xlog.c:2566
-msgid "invalid redo in checkpoint record"
-msgstr ""
-
-#: access/transam/xlog.c:2574
-msgid "invalid redo/undo record in shutdown checkpoint"
-msgstr ""
-
-#: access/transam/xlog.c:2583
-msgid ""
-"database system was not properly shut down; automatic recovery in progress"
-msgstr ""
-
-#: access/transam/xlog.c:2603
-#, c-format
-msgid "redo starts at %X/%X"
-msgstr ""
-
-#: access/transam/xlog.c:2634
-#, c-format
-msgid "redo done at %X/%X"
-msgstr ""
-
-#: access/transam/xlog.c:2640
-msgid "redo is not required"
-msgstr ""
-
-#: access/transam/xlog.c:2722
-#, c-format
-msgid "undo starts at %X/%X"
-msgstr ""
-
-#: access/transam/xlog.c:2732
-#, c-format
-msgid "undo done at %X/%X"
-msgstr ""
-
-#: access/transam/xlog.c:2736
-msgid "undo is not required"
-msgstr ""
-
-#: access/transam/xlog.c:2770
-msgid "database system is ready"
-msgstr "ÓÉÓÔÅÍÁ ÇÏÔÏ×Á Ë ÉÓÐÏÌØÚÏ×ÁÎÉÀ"
-
-#: access/transam/xlog.c:2898
-msgid "shutting down"
-msgstr "ÏÔËÌÀÞÅÎÉÅ × ÐÒÏÃÅÓÓÅ"
-
-#: access/transam/xlog.c:2911
-msgid "database system is shut down"
-msgstr "ÓÉÓÔÅÍÁ ÏÔËÌÀÞÅÎÁ"
-
-#: access/transam/xlog.c:2932
-msgid "CreateCheckPoint: cannot be called inside transaction block"
-msgstr ""
-
-#: access/transam/xlog.c:3047
-msgid "active transaction while database system is shutting down"
-msgstr ""
-
-#: access/transam/xlog.c:3093
-msgid ""
-"concurrent transaction log activity while database system is shutting down"
-msgstr ""
-
-#: access/transam/xlog.c:3324 access/transam/xlog.c:3352
-#, c-format
-msgid "fsync of log file %u, segment %u failed: %m"
-msgstr ""
-
-#: access/transam/xlog.c:3358
-#, c-format
-msgid "fdatasync of log file %u, segment %u failed: %m"
-msgstr ""
-
-#: access/transam/xlog.c:3366
-#, c-format
-msgid "bogus wal_sync_method %d"
-msgstr ""
-
-#: access/transam/xlogutils.c:253
-msgid "_xl_remove_hash_entry: file was not found in cache"
-msgstr ""
-
-#: access/transam/xlogutils.c:350
-msgid "XLogOpenRelation: out of memory for cache"
-msgstr ""
-
-#: access/transam/xlogutils.c:353
-msgid "XLogOpenRelation: file found on insert into cache"
-msgstr ""
-
-#: bootstrap/bootstrap.c:194
-msgid ""
-"Usage:\n"
-"  postgres -boot [-d level] [-D datadir] [-F] [-o file] [-x num] dbname\n"
-"  -d 1-5           debug mode\n"
-"  -D datadir       data directory\n"
-"  -F               turn off fsync\n"
-"  -o file          send debug output to file\n"
-"  -x num           internal use\n"
-msgstr ""
-"éÓÐÏÌØÚÏ×ÁÎÉÅ:\n"
-"  postgres -boot [-d ÕÒÏ×ÅÎØ] [-D ÄÉÒÄÁÎÎÙÈ] [-F] [-o ÆÁÊÌ] [-x ÎÏÍÅÒ] "
-"ÉÍÑÂÄ\n"
-"  -d 1-5           ÒÅÖÉÍ ÏÔÌÁÄËÉ\n"
-"  -D ÄÉÒÄÁÎÎÙÈ     ÄÉÒÅËÔÏÒÉÑ Ó ÄÁÎÎÙÍÉ\n"
-"  -F               ×ÙËÌÀÞÉÔØ fsync\n"
-"  -o ÆÁÊÌ          ÎÁÐÒÁ×ÉÔØ debug-×Ù×ÏÄ × ÆÁÊÌ\n"
-"  -x ÎÏÍÅÒ         ÄÌÑ ×ÎÕÔÒÅÎÎÅÇÏ ÉÓÐÏÌØÚÏ×ÁÎÉÑ\n"
-
-#: bootstrap/bootstrap.c:308 postmaster/postmaster.c:309
-#, c-format
-msgid ""
-"%s does not know where to find the database system data.\n"
-"You must specify the directory that contains the database system\n"
-"either by specifying the -D invocation option or by setting the\n"
-"PGDATA environment variable.\n"
-"\n"
-msgstr ""
-"íÏÄÕÌØ %s ÎÅ × ÓÏÓÔÏÑÎÉÉ ÎÁÊÔÉ ÄÁÎÎÙÅ (ÂÁÚÙ É Ô.Ä.) ÓÉÓÔÅÍÙ.\n"
-"÷Ù ÄÏÌÖÎÙ ÕËÁÚÁÔØ ÄÉÒÅËÔÏÒÉÀ, ËÏÔÏÒÁÑ ÓÏÄÅÒÖÉÔ ÄÁÎÎÙÅ\n"
-"ÐÕԣ͠ÕËÁÚÁÎÉÑ ÏÐÃÉÉ -D ÐÒÉ ÚÁÐÕÓËÅ ÉÌÉ ÕÓÔÁÎÏ×É× ÐÅÒÅÍÅÎÎÕÀ\n"
-"ÏËÒÕÖÅÎÉÑ PGDATA.\n"
-"\n"
-
-#: bootstrap/bootstrap.c:408
-#, c-format
-msgid "Unsupported XLOG op %d"
-msgstr ""
-
-#: bootstrap/bootstrap.c:511
-#, c-format
-msgid "open relation %s, attrsize %d"
-msgstr ""
-
-#: bootstrap/bootstrap.c:527
-#, c-format
-msgid "create attribute %d name %s len %d num %d type %u"
-msgstr ""
-
-#: bootstrap/bootstrap.c:546
-#, c-format
-msgid "closerel: close of '%s' when '%s' was expected"
-msgstr ""
-
-#: bootstrap/bootstrap.c:550
-#, c-format
-msgid "closerel: close of '%s' before any relation was opened"
-msgstr ""
-
-#: bootstrap/bootstrap.c:555
-msgid "no open relation to close"
-msgstr ""
-
-#: bootstrap/bootstrap.c:558
-#, c-format
-msgid "close relation %s"
-msgstr ""
-
-#: bootstrap/bootstrap.c:582
-msgid "warning: no open relations allowed with 'create' command"
-msgstr ""
-
-#: bootstrap/bootstrap.c:591
-#, c-format
-msgid "column %s %s"
-msgstr "ËÏÌÏÎËÁ %s %s"
-
-#: bootstrap/bootstrap.c:681
-#, c-format
-msgid "inserting row oid %u, %d columns"
-msgstr ""
-
-#: bootstrap/bootstrap.c:693
-msgid "row inserted"
-msgstr "ÚÁÐÉÓØ ÄÏÂÁ×ÌÅÎÁ"
-
-#: bootstrap/bootstrap.c:715
-#, c-format
-msgid "inserting column %d value '%s'"
-msgstr ""
-
-#: bootstrap/bootstrap.c:721
-msgid "Typ != NULL"
-msgstr "Typ != NULL"
-
-#: bootstrap/bootstrap.c:728
-#, c-format
-msgid "unable to find atttypid %u in Typ list"
-msgstr ""
-
-#: bootstrap/bootstrap.c:739 bootstrap/bootstrap.c:760
-#, c-format
-msgid " -> %s"
-msgstr " -> %s"
-
-#: bootstrap/bootstrap.c:750
-#, c-format
-msgid "type oid %u not found"
-msgstr ""
-
-#: bootstrap/bootstrap.c:751
-#, c-format
-msgid "Typ == NULL, typeindex = %u"
-msgstr "Typ == NULL, typeindex = %u"
-
-#: bootstrap/bootstrap.c:763
-msgid "inserted"
-msgstr "ÄÏÂÁ×ÌÅÎÏ"
-
-#: bootstrap/bootstrap.c:773
-#, c-format
-msgid "inserting column %d NULL"
-msgstr ""
-
-#: bootstrap/bootstrap.c:820
-msgid "Memory manager fault: cleanup called twice.\n"
-msgstr ""
-
-#: bootstrap/bootstrap.c:867
-#, c-format
-msgid "external type: %s"
-msgstr "×ÎÅÛÎÉÊ ÔÉÐ: %s"
-
-#: bootstrap/bootstrap.c:891
-#, c-format
-msgid "Error: unknown type '%s'.\n"
-msgstr "ïÛÉÂËÁ: ÎÅÉÚ×ÅÓÔÎÙÊ ÔÉР'%s'.\n"
-
-#: bootstrap/bootstrap.c:907
-msgid "AllocateAttribute: malloc failed"
-msgstr "AllocateAttribute: malloc ÎÅ ÕÄÁÌÓÑ"
-
-#: bootstrap/bootstrap.c:1058
-msgid ""
-"There are too many string constants and identifiers for the compiler to "
-"handle."
-msgstr ""
-
-#: bootscanner.l:128
-#, c-format
-msgid "syntax error at line %d: unexpected character %s"
-msgstr "ÏÛÉÂËÁ ÓÉÎÔÁËÓÉÓÁ × ÓÔÒÏËÅ %d: ÎÅÏÖÉÄÁÅÍÙÊ ÓÉÍ×ÏÌ %s"
-
-#: bootscanner.l:138
-#, c-format
-msgid "syntax error at line %d: unexpected token %s"
-msgstr "ÏÛÉÂËÁ ÓÉÎÔÁËÓÉÓÁ × ÓÔÒÏËÅ %d: ÎÅÏÖÉÄÁÅÍÙÊ ÔÏËÅΠ%s"
-
-#: bootparse.y:59
-msgid "start transaction"
-msgstr "ÎÁÞÁÌÏ ÔÒÁÎÚÁËÃÉÉ"
-
-#: bootparse.y:67
-msgid "commit transaction"
-msgstr "ÐÏÄÔ×ÅÒÖÄÅÎÉÅ ÔÒÁÎÚÁËÃÉÉ"
-
-#: bootparse.y:158
-#, c-format
-msgid "creating%s%s relation %s..."
-msgstr ""
-
-#: bootparse.y:179
-msgid "create bootstrap: warning, open relation exists, closing first"
-msgstr ""
-
-#: bootparse.y:189
-msgid "bootstrap relation created"
-msgstr ""
-
-#: bootparse.y:202
-#, c-format
-msgid "relation created with oid %u"
-msgstr "ÓÏÚÄÁΠÏÂßÅËÔ Ó OID %u"
-
-#: bootparse.y:213
-#, c-format
-msgid "inserting row with oid %u..."
-msgstr "ÄÏÂÁ×ÌÑÅÔÓÑ ÓÔÒÏËÁ Ó OID %u..."
-
-#: bootparse.y:215
-msgid "inserting row..."
-msgstr "ÄÏÂÁ×ÌÑÅÔÓÑ ÓÔÒÏËÁ..."
-
-#: bootparse.y:221
-#, c-format
-msgid "incorrect number of columns in row (expected %d, got %d)"
-msgstr "ÎÅ×ÅÒÏÅ ÞÉÓÌÏ ËÏÌÏÎÏË × ÓÔÒÏËÅ (ÏÖÉÄÁÌÏÓØ %d, ÐÏÌÕÞÅÎÏ %d)"
-
-#: bootparse.y:225
-msgid "relation not open"
-msgstr "ÏÂßÅËÔ ÎÅ ÏÔËÒÙÔ"
-
-#: bootparse.y:306
-msgid "too many columns"
-msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ËÏÌÏÎÏË"
-
-#: catalog/aclchk.c:60
-#, c-format
-msgid "acl size = %d, # acls = %d"
-msgstr "ÒÁÚÍÅÒ acl = %d, ÞÉÓÌÏ acl'Ï× = %d"
-
-#: catalog/aclchk.c:64
-#, c-format
-msgid "\tacl[%d]: %s"
-msgstr "\tacl[%d]: %s"
-
-#: catalog/aclchk.c:153
-#, c-format
-msgid "bogus GrantStmt.objtype %d"
-msgstr ""
-
-#: catalog/aclchk.c:173
-#, c-format
-msgid "invalid privilege type %s for table object"
-msgstr ""
-
-#: catalog/aclchk.c:202
-#, c-format
-msgid "relation %u not found"
-msgstr ""
-
-#: catalog/aclchk.c:209
-#, c-format
-msgid "\"%s\" is an index"
-msgstr "\"%s\" Ñ×ÌÑÅÔÓÑ ÉÎÄÅËÓÏÍ"
-
-#: catalog/aclchk.c:268
-#, c-format
-msgid "invalid privilege type %s for database object"
-msgstr ""
-
-#: catalog/aclchk.c:298
-#, c-format
-msgid "database \"%s\" not found"
-msgstr "ÂÁÚÁ \"%s\" ÎÅ ÎÁÊÄÅÎÁ"
-
-#: catalog/aclchk.c:302 catalog/aclchk.c:474 catalog/pg_conversion.c:146
-#: commands/dbcommands.c:535 commands/user.c:911 tcop/utility.c:861
-#: utils/init/miscinit.c:615
-msgid "permission denied"
-msgstr "ÄÏÓÔÕРÚÁÐÒÅÝ£Î"
-
-#: catalog/aclchk.c:359
-#, c-format
-msgid "invalid privilege type %s for function object"
-msgstr ""
-
-#: catalog/aclchk.c:389 parser/parse_func.c:885 parser/parse_func.c:1332
-#, c-format
-msgid "function %u not found"
-msgstr "æÕÎËÃÉÑ %u ÎÅ ÎÁÊÄÅÎÁ"
-
-#: catalog/aclchk.c:452
-#, c-format
-msgid "invalid privilege type %s for language object"
-msgstr ""
-
-#: catalog/aclchk.c:481
-#, c-format
-msgid "language \"%s\" not found"
-msgstr "ÑÚÙË \"%s\" ÎÅ ÎÁÊÄÅÎ"
-
-# TO REVIEW
-#: catalog/aclchk.c:485
-#, c-format
-msgid "language \"%s\" is not trusted"
-msgstr "ÑÚÙË \"%s\" ÎÅÄÏ×ÅÒÑÍÙÊ"
-
-#: catalog/aclchk.c:542
-#, c-format
-msgid "invalid privilege type %s for namespace object"
-msgstr ""
-
-#: catalog/aclchk.c:568
-#, c-format
-msgid "namespace \"%s\" not found"
-msgstr ""
-
-#: catalog/aclchk.c:644
-#, c-format
-msgid "privilege_to_string: unrecognized privilege %d"
-msgstr ""
-
-#: catalog/aclchk.c:666
-#, c-format
-msgid "non-existent group \"%s\""
-msgstr ""
-
-#: catalog/aclchk.c:736
-#, c-format
-msgid "in_group: group %u not found"
-msgstr ""
-
-#: catalog/aclchk.c:764
-msgid "aclcheck: null ACL, returning OK"
-msgstr ""
-
-#: catalog/aclchk.c:779
-msgid "aclcheck: zero-length ACL, returning OK"
-msgstr ""
-
-#: catalog/aclchk.c:788
-msgid "aclcheck: first entry in ACL is not 'world' entry"
-msgstr ""
-
-#: catalog/aclchk.c:792
-#, c-format
-msgid "aclcheck: using world=%d"
-msgstr ""
-
-#: catalog/aclchk.c:808
-#, c-format
-msgid "aclcheck: found user %u/%d"
-msgstr ""
-
-#: catalog/aclchk.c:825 catalog/aclchk.c:846
-#, c-format
-msgid "aclcheck: found group %u/%d"
-msgstr ""
-
-#: catalog/aclchk.c:858
-#, c-format
-msgid "aclcheck: bogus ACL id type: %d"
-msgstr ""
-
-#: catalog/aclchk.c:879 commands/user.c:1304
-#, c-format
-msgid "%s: permission denied"
-msgstr "%s: ÎÅÔ ÄÏÓÔÕÐÁ"
-
-#: catalog/aclchk.c:882
-#, c-format
-msgid "%s: must be owner"
-msgstr ""
-
-#: catalog/aclchk.c:885
-#, c-format
-msgid "%s: unexpected AclResult %d"
-msgstr ""
-
-#: catalog/aclchk.c:913
-#, c-format
-msgid "pg_class_aclcheck: invalid user id %u"
-msgstr ""
-
-#: catalog/aclchk.c:928
-#, c-format
-msgid "pg_class_aclcheck: relation %u not found"
-msgstr ""
-
-#: catalog/aclchk.c:941
-msgid "pg_class_aclcheck: catalog update: permission denied"
-msgstr ""
-
-#: catalog/aclchk.c:953
-#, c-format
-msgid "pg_class_aclcheck: %u is superuser"
-msgstr ""
-
-#: catalog/aclchk.c:1021
-#, c-format
-msgid "pg_database_aclcheck: database %u not found"
-msgstr ""
-
-#: catalog/aclchk.c:1076
-#, c-format
-msgid "pg_proc_aclcheck: function %u not found"
-msgstr ""
-
-#: catalog/aclchk.c:1129
-#, c-format
-msgid "pg_language_aclcheck: language %u not found"
-msgstr ""
-
-#: catalog/aclchk.c:1186
-#, c-format
-msgid "pg_namespace_aclcheck: namespace %u not found"
-msgstr ""
-
-#: catalog/aclchk.c:1234
-#, c-format
-msgid "pg_class_ownercheck: relation %u not found"
-msgstr ""
-
-#: catalog/aclchk.c:1260
-#, c-format
-msgid "pg_type_ownercheck: type %u not found"
-msgstr "pg_type_ownercheck: ÔÉР'%u ÎÅ ÎÁÊÄÅÎ"
-
-#: catalog/aclchk.c:1286
-#, c-format
-msgid "pg_oper_ownercheck: operator %u not found"
-msgstr ""
-
-#: catalog/aclchk.c:1312
-#, c-format
-msgid "pg_proc_ownercheck: function %u not found"
-msgstr ""
-
-#: catalog/aclchk.c:1338
-#, c-format
-msgid "pg_namespace_ownercheck: namespace %u not found"
-msgstr ""
-
-#: catalog/aclchk.c:1365
-#, c-format
-msgid "pg_opclass_ownercheck: operator class %u not found"
-msgstr ""
-
-#: catalog/dependency.c:163
-#, c-format
-msgid ""
-"Cannot drop %s because other objects depend on it\n"
-"\tUse DROP ... CASCADE to drop the dependent objects too"
-msgstr ""
-
-#: catalog/dependency.c:253 catalog/dependency.c:572
-#, c-format
-msgid "Cannot drop %s because it is required by the database system"
-msgstr ""
-
-#: catalog/dependency.c:257
-#, c-format
-msgid "findAutoDeletableObjects: unknown dependency type '%c' for %s"
-msgstr ""
-
-#: catalog/dependency.c:386
-#, c-format
-msgid ""
-"Cannot drop %s because %s requires it\n"
-"\tYou may drop %s instead"
-msgstr ""
-
-#: catalog/dependency.c:412
-#, c-format
-msgid "recursiveDeletion: multiple INTERNAL dependencies for %s"
-msgstr ""
-
-#: catalog/dependency.c:424
-#, c-format
-msgid "recursiveDeletion: incorrect use of PIN dependency with %s"
-msgstr ""
-
-#: catalog/dependency.c:428 catalog/dependency.c:576
-#, c-format
-msgid "recursiveDeletion: unknown dependency type '%c' for %s"
-msgstr ""
-
-#: catalog/dependency.c:454 catalog/dependency.c:532 catalog/dependency.c:558
-#, c-format
-msgid "Drop auto-cascades to %s"
-msgstr ""
-
-#: catalog/dependency.c:458 catalog/dependency.c:536
-#, c-format
-msgid "%s depends on %s"
-msgstr ""
-
-#: catalog/dependency.c:464 catalog/dependency.c:542
-#, c-format
-msgid "Drop cascades to %s"
-msgstr ""
-
-#: catalog/dependency.c:693
-#, c-format
-msgid "doDeletion: Unsupported object class %u"
-msgstr ""
-
-#: catalog/dependency.c:776
-#, c-format
-msgid "find_expr_references_walker: bogus varlevelsup %d"
-msgstr ""
-
-#: catalog/dependency.c:780
-#, c-format
-msgid "find_expr_references_walker: bogus varno %d"
-msgstr ""
-
-#: catalog/dependency.c:800
-#, c-format
-msgid "find_expr_references_walker: bogus varattno %d"
-msgstr ""
-
-#: catalog/dependency.c:844
-msgid "find_expr_references_walker: already-planned subqueries not supported"
-msgstr ""
-
-#: catalog/dependency.c:1180
-#, c-format
-msgid "getObjectClass: Unknown object class %u"
-msgstr ""
-
-#: catalog/dependency.c:1237
-#, c-format
-msgid "getObjectDescription: Cast %u does not exist"
-msgstr ""
-
-#: catalog/dependency.c:1271
-#, c-format
-msgid "getObjectDescription: Constraint %u does not exist"
-msgstr ""
-
-#: catalog/dependency.c:1301
-#, c-format
-msgid "getObjectDescription: Conversion %u does not exist"
-msgstr ""
-
-#: catalog/dependency.c:1330
-#, c-format
-msgid "getObjectDescription: Default %u does not exist"
-msgstr ""
-
-#: catalog/dependency.c:1355
-#, c-format
-msgid "getObjectDescription: Language %u does not exist"
-msgstr "getObjectDescription: ñÚÙË %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: catalog/dependency.c:1380
-#, c-format
-msgid "cache lookup of opclass %u failed"
-msgstr "ÐÏÉÓË × ËÚÛÅ ÏÐËÌÁÓÓÁ %u ÎÅ ÕÄÁÌÓÑ"
-
-#: catalog/dependency.c:1398 utils/adt/ruleutils.c:425
-#, c-format
-msgid "syscache lookup for AM %u failed"
-msgstr "ÐÏÉÓË × ÓÉÓÔÅÍÎÏÍ ËÚÛÅ AM %u ÎÅ ÕÄÁÌÓÑ"
-
-#: catalog/dependency.c:1430
-#, c-format
-msgid "getObjectDescription: Rule %u does not exist"
-msgstr "getObjectDescription: ðÒ×ÉÌÏ %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: catalog/dependency.c:1464
-#, c-format
-msgid "getObjectDescription: Trigger %u does not exist"
-msgstr "getObjectDescription: ôÒÉÇÇÅÒ %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: catalog/dependency.c:1484
-#, c-format
-msgid "getObjectDescription: Schema %u does not exist"
-msgstr "getObjectDescription: óÈÅÍÁ %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: catalog/dependency.c:1516 catalog/heap.c:1660 catalog/pg_constraint.c:470
-#: utils/adt/ruleutils.c:3121
-#, c-format
-msgid "cache lookup of relation %u failed"
-msgstr ""
-
-#: catalog/heap.c:156 catalog/heap.c:159
-#, c-format
-msgid "SystemAttributeDefinition: invalid attribute number %d"
-msgstr "SystemAttributeDefinition: ÎÅ×ÅÒÎÙÊ ÎÏÍÅÒ ÁÔÒÉÂÕÔÁ: %d"
-
-#: catalog/heap.c:226
-#, c-format
-msgid ""
-"cannot create %s.%s: system catalog modifications are currently disallowed"
-msgstr ""
-
-#: catalog/heap.c:353
-#, c-format
-msgid "Number of columns is out of range (0 to %d)"
-msgstr "þÉÓÌÏ ËÏÌÏÎÏË ×ÎÅ ÄÉÁÐÁÚÏÎÁ (ÏÔ 0 ÄÏ %d)"
-
-#: catalog/heap.c:368
-#, c-format
-msgid "name of column \"%s\" conflicts with an existing system column"
-msgstr "ÉÍÑ ËÏÌÏÎËÉ \"%s\" ËÏÎÆÌÉËÔÕÅÔ Ó ÓÕÝÅÓÔ×ÕÀÝÅÊ ÓÉÓÔÅÍÎÏÊ ËÏÌÏÎËÏÊ"
-
-#: catalog/heap.c:382
-#, c-format
-msgid "column name \"%s\" is duplicated"
-msgstr "ÐÏ×ÔÏÒÎÏÅ ÉÍÑ ËÏÌÏÎËÉ: \"%s\""
-
-#: catalog/heap.c:420
-#, c-format
-msgid ""
-"Attribute \"%s\" has an unknown type\n"
-"\tProceeding with relation creation anyway"
-msgstr ""
-
-#: catalog/heap.c:424
-#, c-format
-msgid "Attribute \"%s\" has pseudo-type %s"
-msgstr "áÔÒÉÂÕÔ \"%s\" ÉÍÅÅÔ ÐÓÅ×ÄÏ-ÔÉР%s"
-
-#: catalog/heap.c:431
-#, c-format
-msgid "Attribute \"%s\" has composite type %s"
-msgstr "áÔÒÉÂÕÔ \"%s\" ÉÍÅÅÔ ÓÌÏÖÎÙÊ ÔÉР%s"
-
-#: catalog/heap.c:714
-#, c-format
-msgid "Relation '%s' already exists"
-msgstr "ïÂßÅËÔ '%s' ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: catalog/heap.c:871
-#, c-format
-msgid "DeleteRelationTuple: cache lookup failed for relation %u"
-msgstr "DeleteRelationTuple: ÐÏÉÓË × ËÜÛÅ Ó×ÑÚÉ %u ÎÅ ÕÄÁÌÓÑ"
-
-#: catalog/heap.c:950
-#, c-format
-msgid "RemoveAttributeById: Failed to find attribute %d in relation %u"
-msgstr ""
-
-#: catalog/heap.c:1029
-#, c-format
-msgid "RemoveAttrDefault: no default found for rel %u attnum %d"
-msgstr ""
-
-#: catalog/heap.c:1065
-#, c-format
-msgid "RemoveAttrDefaultById: cache lookup failed for attrdef %u"
-msgstr "RemoveAttrDefaultById: ÐÏÉÓË × ËÜÛÅ attrdef %u ÎÅ ÕÄÁÌÓÑ"
-
-#: catalog/heap.c:1088
-#, c-format
-msgid "RemoveAttrDefaultById: cache lookup failed for rel %u attr %d"
-msgstr "RemoveAttrDefaultById: ÐÏÉÓË × ËÜÛÅ ÄÌÑ Ó×ÑÚÉ %u É attr %d ÎÅ ÕÄÁÌÓÑ"
-
-#: catalog/heap.c:1143
-#, c-format
-msgid "heap_drop_with_catalog: FlushRelationBuffers returned %d"
-msgstr "heap_drop_with_catalog: FlushRelationBuffers ×ÏÚ×ÒÁÔÉÌÁ %d"
-
-#: catalog/heap.c:1264 parser/parse_relation.c:1503 utils/adt/ruleutils.c:3278
-#, c-format
-msgid "cache lookup of attribute %d in relation %u failed"
-msgstr ""
-
-#: catalog/heap.c:1522 commands/tablecmds.c:2634 commands/tablecmds.c:2672
-#, c-format
-msgid "constraint \"%s\" already exists for relation \"%s\""
-msgstr ""
-
-#: catalog/heap.c:1536 commands/tablecmds.c:206
-#, c-format
-msgid "Duplicate CHECK constraint name: '%s'"
-msgstr ""
-
-#: catalog/heap.c:1596
-#, c-format
-msgid "Only relation \"%s\" can be referenced in CHECK constraint expression"
-msgstr ""
-
-#: catalog/heap.c:1603 commands/tablecmds.c:2754 commands/typecmds.c:1588
-msgid "cannot use subselect in CHECK constraint expression"
-msgstr ""
-
-#: catalog/heap.c:1605 commands/tablecmds.c:2756 commands/typecmds.c:1590
-msgid "cannot use aggregate function in CHECK constraint expression"
-msgstr ""
-
-#: catalog/heap.c:1715
-msgid "cannot use column references in DEFAULT clause"
-msgstr ""
-
-#: catalog/heap.c:1721
-msgid "DEFAULT clause must not return a set"
-msgstr ""
-
-#: catalog/heap.c:1727
-msgid "cannot use subselects in DEFAULT clause"
-msgstr ""
-
-#: catalog/heap.c:1729
-msgid "cannot use aggregate functions in DEFAULT clause"
-msgstr ""
-
-#: catalog/heap.c:1750 rewrite/rewriteHandler.c:487
-#, c-format
-msgid ""
-"Column \"%s\" is of type %s but default expression is of type %s\n"
-"\tYou will need to rewrite or cast the expression"
-msgstr ""
-
-#: catalog/index.c:124
-#, c-format
-msgid "Function %u does not exist"
-msgstr "æÕÎËÃÉÑ %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: catalog/index.c:143 catalog/index.c:280
-#, c-format
-msgid "Opclass %u does not exist"
-msgstr "Opclass %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: catalog/index.c:157 catalog/index.c:293
-#, c-format
-msgid "Type %u does not exist"
-msgstr "ôÉР%u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: catalog/index.c:238
-#, c-format
-msgid "cannot create index: column %d does not exist"
-msgstr "ÎÅÌØÚÑ ÓÏÚÄÁÔØ ÉÎÄÅËÓ: ËÏÌÏÎËÁ %d ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: catalog/index.c:543
-msgid "must index at least one column"
-msgstr "ÐÏËÒÁÊÎÅÊ ÍÅÒÅ ÏÄÎÁ ËÏÌÏÎËÁ ÄÏÌÖÎÁ ÂÙÔØ ÉÎÄÅËÓÉÒÏ×ÁÎÁ"
-
-#: catalog/index.c:548
-msgid "User-defined indexes on system catalogs are not supported"
-msgstr "ðÏÌØÚÏ×ÁÔÅÌØÓËÉÅ ÉÎÄÅËÓÙ ÎÁ ÓÉÓÔÅÍÎÙÅ ËÁÔÁÌÏÇÉ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ"
-
-#: catalog/index.c:558
-msgid "Shared indexes cannot be created after initdb"
-msgstr ""
-
-#: catalog/index.c:561
-#, c-format
-msgid "relation named \"%s\" already exists"
-msgstr "ÏÂßÅËÔ Ó ÉÍÅÎÅÍ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: catalog/index.c:674
-msgid "index_create: constraint must be PRIMARY or UNIQUE"
-msgstr ""
-
-#: catalog/index.c:824
-#, c-format
-msgid "index_drop: cache lookup failed for index %u"
-msgstr "index_drop: ÐÏÉÓË × ËÜÛÅ ÉÎÄÅËÓÁ %u ÎÅ ÕÄÁÌÓÑ"
-
-#: catalog/index.c:837
-#, c-format
-msgid "index_drop: FlushRelationBuffers returned %d"
-msgstr "index_drop: FlushRelationBuffers ×ÏÚ×ÒÁÔÉÌÁ %d"
-
-#: catalog/index.c:1039
-#, c-format
-msgid "relation %s isn't an indexable relation"
-msgstr "ÏÂßÅËÔ %s ÎÅ Ñ×ÌÑÅÔÓÑ ÉÎÄÅËÓÉÒÕÅÍÙÍ"
-
-#: catalog/index.c:1110
-#, c-format
-msgid "setRelhasindex: cannot find relation %u in pg_class"
-msgstr ""
-
-#: catalog/index.c:1226
-#, c-format
-msgid "setNewRelfilenode: cannot find relation %u in pg_class"
-msgstr ""
-
-#: catalog/index.c:1338
-#, c-format
-msgid "UpdateStats: cannot find relation %u in pg_class"
-msgstr ""
-
-#: catalog/index.c:1617
-msgid "IndexBuildHeapScan: concurrent insert in progress"
-msgstr ""
-
-#: catalog/index.c:1632
-msgid "IndexBuildHeapScan: concurrent delete in progress"
-msgstr ""
-
-#: catalog/index.c:1637 commands/vacuum.c:1207 commands/vacuumlazy.c:359
-#: commands/vacuumlazy.c:846
-msgid "Unexpected HeapTupleSatisfiesVacuum result"
-msgstr ""
-
-#: catalog/index.c:1725
-#, c-format
-msgid "IndexGetRelation: can't find index id %u"
-msgstr "IndexGetRelation: ÎÅ ÐÏÌÕÞÁÅÔÓÑ ÎÁÊÔÉ ÉÎÄÅËÓ Ó id %u"
-
-#: catalog/index.c:1774
-msgid "reindex_index: can't open index relation"
-msgstr ""
-
-#: catalog/index.c:1785
-msgid "reindex_index: can't open heap relation"
-msgstr ""
-
-#: catalog/index.c:1799 catalog/index.c:1922
-#, c-format
-msgid "the target relation %u is shared"
-msgstr ""
-
-#: catalog/index.c:1805
-#, c-format
-msgid "the target relation %u is nailed"
-msgstr ""
-
-#: catalog/namespace.c:168 catalog/namespace.c:215 catalog/namespace.c:1153
-#: parser/parse_expr.c:845 parser/parse_target.c:147
-msgid "Cross-database references are not implemented"
-msgstr ""
-
-#: catalog/namespace.c:186
-#, c-format
-msgid "Relation \"%s\".\"%s\" does not exist"
-msgstr "ïÂßÅËÔ \"%s\".\"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: catalog/namespace.c:222
-msgid "TEMP tables may not specify a namespace"
-msgstr ""
-
-#: catalog/namespace.c:236 catalog/namespace.c:1182 catalog/namespace.c:1217
-#: catalog/namespace.c:1802
-#, c-format
-msgid "Namespace \"%s\" does not exist"
-msgstr ""
-
-#: catalog/namespace.c:246 catalog/namespace.c:1227
-msgid "No namespace has been selected to create in"
-msgstr ""
-
-#: catalog/namespace.c:298
-#, c-format
-msgid "Cache lookup failed for relation %u"
-msgstr "ðÏÉÓË × ËÜÛÅ Ó×ÑÚÉ %u ÎÅ ÕÄÁÌÓÑ"
-
-#: catalog/namespace.c:380
-#, c-format
-msgid "Cache lookup failed for type %u"
-msgstr ""
-
-#: catalog/namespace.c:581
-#, c-format
-msgid "Cache lookup failed for procedure %u"
-msgstr ""
-
-#: catalog/namespace.c:793
-#, c-format
-msgid "Cache lookup failed for operator %u"
-msgstr "ðÏÉÓË × ËÜÛÅ ÏÐÅÒÁÔÏÒÙ %u ÎÅ ÕÄÁÌÓÑ"
-
-#: catalog/namespace.c:1006
-#, c-format
-msgid "Cache lookup failed for opclass %u"
-msgstr "ðÏÉÓË × ËÜÛÅ ÏÐËÌÁÓÓÁ %u ÎÅ ÕÄÁÌÓÑ"
-
-#: catalog/namespace.c:1087
-#, c-format
-msgid "Cache lookup failed for converions %u"
-msgstr "ðÏÉÓË × ËÜÛÅ ËÏÎ×ÅÒÓÉÉ %u ÎÅ ÕÄÁÌÓÑ"
-
-#: catalog/namespace.c:1156 gram.y:2291 gram.y:6839
-#, c-format
-msgid "Improper qualified name (too many dotted names): %s"
-msgstr ""
-
-#: catalog/namespace.c:1260
-msgid "Improper relation name (too many dotted names)"
-msgstr ""
-
-#: catalog/namespace.c:1472
-msgid "recomputeNamespacePath: invalid list syntax"
-msgstr ""
-
-#: catalog/namespace.c:1601
-#, c-format
-msgid "%s: not authorized to create temp tables"
-msgstr ""
-
-#: catalog/pg_aggregate.c:62
-msgid "no aggregate name supplied"
-msgstr ""
-
-#: catalog/pg_aggregate.c:65
-msgid "aggregate must have a transition function"
-msgstr ""
-
-#: catalog/pg_aggregate.c:87
-#, c-format
-msgid "return type of transition function %s is not %s"
-msgstr ""
-
-#: catalog/pg_aggregate.c:99
-msgid ""
-"must not omit initval when transfn is strict and transtype is not compatible "
-"with input type"
-msgstr ""
-
-#: catalog/pg_constraint.c:437
-#, c-format
-msgid "RemoveConstraintById: constraint %u not found"
-msgstr ""
-
-#: catalog/pg_constraint.c:475
-#, c-format
-msgid "RemoveConstraintById: relation %s has relchecks = 0"
-msgstr ""
-
-#: catalog/pg_constraint.c:502
-#, c-format
-msgid "RemoveConstraintById: Constraint %u is not a known type"
-msgstr ""
-
-#: catalog/pg_conversion.c:57
-msgid "no conversion name supplied"
-msgstr ""
-
-#: catalog/pg_conversion.c:64
-#, c-format
-msgid "conversion name \"%s\" already exists"
-msgstr "ËÏÎ×ÅÒÓÉÑ Ó ÉÍÅÎÅÍ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: catalog/pg_conversion.c:75
-#, c-format
-msgid "default conversion for %s to %s already exists"
-msgstr ""
-
-#: catalog/pg_conversion.c:141 catalog/pg_conversion.c:308
-#, c-format
-msgid "Conversion %u search from syscache failed"
-msgstr ""
-
-#: catalog/pg_conversion.c:192
-#, c-format
-msgid "conversion %u does not exist"
-msgstr "ËÏÎ×ÅÒÓÉÑ %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: catalog/pg_conversion.c:302 commands/conversioncmds.c:97
-#, c-format
-msgid "conversion %s not found"
-msgstr ""
-
-#: catalog/pg_largeobject.c:108
-#, c-format
-msgid "LargeObjectDrop: large object %u not found"
-msgstr "LargeObjectDrop: ÂÏÌØÛÏÊ ÏÂßÅËÔ %u ÎÅ ÎÁÊÄÅÎ"
-
-#: catalog/pg_namespace.c:43
-msgid "no namespace name supplied"
-msgstr ""
-
-#: catalog/pg_namespace.c:49
-#, c-format
-msgid "namespace \"%s\" already exists"
-msgstr ""
-
-#: catalog/pg_operator.c:215 catalog/pg_operator.c:401
-#, c-format
-msgid "\"%s\" is not a valid operator name"
-msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ×ÅÒÎÙÍ ÉÍÅÎÅÍ ÏÐÅÒÁÔÏÒÁ"
-
-#: catalog/pg_operator.c:404
-msgid "at least one of leftarg or rightarg must be specified"
-msgstr ""
-
-#: catalog/pg_operator.c:410
-msgid "only binary operators can have commutators"
-msgstr ""
-
-#: catalog/pg_operator.c:412
-msgid "only binary operators can have join selectivity"
-msgstr ""
-
-#: catalog/pg_operator.c:414
-msgid "only binary operators can hash"
-msgstr ""
-
-#: catalog/pg_operator.c:416
-msgid "only binary operators can mergejoin"
-msgstr ""
-
-#: catalog/pg_operator.c:426
-#, c-format
-msgid "OperatorDef: operator \"%s\" already defined"
-msgstr "OperatorDef: ÏÐÅÒÁÔÏÒ \"%s\" ÕÖÅ ÏÐÒÅÄÅÌ£Î"
-
-#: catalog/pg_operator.c:623
-#, c-format
-msgid "OperatorDef: operator %u not found"
-msgstr ""
-
-#: catalog/pg_operator.c:711
-msgid "operator cannot be its own negator or sort operator"
-msgstr ""
-
-#: catalog/pg_operator.c:728
-#, c-format
-msgid "OperatorDef: can't create operator shell \"%s\""
-msgstr ""
-
-#: catalog/pg_proc.c:86 commands/functioncmds.c:140 parser/parse_func.c:1393
-#, c-format
-msgid "functions cannot have more than %d arguments"
-msgstr "ÆÕÎËÃÉÉ ÎÅ ÍÏÇÕÔ ÉÍÅÔØ ÞÉÓÌÏ ÁÒÇÕÍÅÎÔÏ× ÂÏÌÅÅ %d"
-
-#: catalog/pg_proc.c:127
-msgid "lookup for procedure by source needs fix (Jan)"
-msgstr ""
-
-#: catalog/pg_proc.c:139
-#, c-format
-msgid "method %s already an attribute of type %s"
-msgstr ""
-
-#: catalog/pg_proc.c:189
-#, c-format
-msgid "function %s already exists with same argument types"
-msgstr ""
-
-#: catalog/pg_proc.c:192
-#, c-format
-msgid "ProcedureCreate: you do not have permission to replace function %s"
-msgstr ""
-
-#: catalog/pg_proc.c:201
-msgid ""
-"ProcedureCreate: cannot change return type of existing function.\n"
-"\tUse DROP FUNCTION first."
-msgstr ""
-
-#: catalog/pg_proc.c:208
-#, c-format
-msgid "function %s is an aggregate"
-msgstr "ÆÕÎËÃÉÑ %s ÎÅ Ñ×ÌÑÅÔÓÑ ÁÇÒÅÇÁÔÏÍ"
-
-#: catalog/pg_proc.c:211
-#, c-format
-msgid "function %s is not an aggregate"
-msgstr "ÆÕÎËÃÉÑ %s ÎÅ Ñ×ÌÑÅÔÓÑ ÁÇÒÅÇÁÔÏÍ"
-
-#: catalog/pg_proc.c:323
-#, c-format
-msgid "function declared to return %s, but no SELECT provided"
-msgstr ""
-
-#: catalog/pg_proc.c:341
-msgid "function declared to return void, but final statement is a SELECT"
-msgstr ""
-
-#: catalog/pg_proc.c:347
-#, c-format
-msgid "function declared to return %s, but final statement is not a SELECT"
-msgstr ""
-
-#: catalog/pg_proc.c:368
-#, c-format
-msgid "function declared to return %s returns multiple columns in final SELECT"
-msgstr ""
-
-#: catalog/pg_proc.c:373
-#, c-format
-msgid "return type mismatch in function: declared to return %s, returns %s"
-msgstr ""
-
-#: catalog/pg_proc.c:421 catalog/pg_proc.c:447
-#, c-format
-msgid ""
-"function declared to return %s does not SELECT the right number of columns (%"
-"d)"
-msgstr ""
-
-#: catalog/pg_proc.c:430
-#, c-format
-msgid "function declared to return %s returns %s instead of %s at column %d"
-msgstr ""
-
-#: catalog/pg_proc.c:486 catalog/pg_proc.c:525 catalog/pg_proc.c:568
-#: commands/functioncmds.c:739 utils/adt/ruleutils.c:3163
-#, c-format
-msgid "cache lookup of function %u failed"
-msgstr "ÐÏÉÓË × ËÚÛÅ ÆÕÎËÃÉÉ %u ÎÅ ÕÄÁÌÓÑ"
-
-#: catalog/pg_proc.c:491 catalog/pg_proc.c:530 catalog/pg_proc.c:590
-msgid "null prosrc"
-msgstr "null prosrc"
-
-#: catalog/pg_proc.c:495
-#, c-format
-msgid "there is no built-in function named \"%s\""
-msgstr "×ÓÔÒÏÅÎÎÏÊ ÆÕÎËÃÉÉ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: catalog/pg_proc.c:535
-msgid "null probin"
-msgstr "null probin"
-
-#: catalog/pg_proc.c:578
-#, c-format
-msgid "SQL functions cannot return type %s"
-msgstr "SQL-ÆÕÎËÃÉÉ ÎÅ ÍÏÇÕÔ ×ÏÚ×ÒÁÝÁÔØ ÔÉР%s"
-
-#: catalog/pg_proc.c:584
-#, c-format
-msgid "SQL functions cannot have arguments of type %s"
-msgstr "SQL-ÆÕÎËÃÉÉ ÎÅ ÍÏÇÕÔ ÉÍÅÔØ ÁÒÇÕÍÅÎÔÙ ÔÉÐÁ %s"
-
-#: catalog/pg_type.c:171 catalog/pg_type.c:175
-#, c-format
-msgid "TypeCreate: invalid type internal size %d"
-msgstr ""
-
-#: catalog/pg_type.c:180
-msgid "TypeCreate: fixed size types must have storage PLAIN"
-msgstr ""
-
-#: catalog/pg_type.c:257
-#, c-format
-msgid "type %s already exists"
-msgstr "ÔÉР%s ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: catalog/pg_type.c:437
-#, c-format
-msgid "type %s does not exist"
-msgstr "ÔÉР%s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: catalog/pg_type.c:443
-#, c-format
-msgid "type named %s already exists"
-msgstr "ÔÉР%s ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: commands/analyze.c:199
-#, c-format
-msgid "Skipping \"%s\" --- only table or database owner can ANALYZE it"
-msgstr ""
-
-#: commands/analyze.c:213 commands/vacuum.c:784
-#, c-format
-msgid ""
-"Skipping \"%s\" --- can not process indexes, views or special system tables"
-msgstr ""
-"ðÒÏÐÕÓËÁÅÔÓÑ \"%s\" --- ÉÎÄÅËÓÙ, ×ÉÄÙ ÉÌÍ ÓÐÅÃÉÁÌØÎÙÅ ÓÉÓÔÅÍÎÙÅ ÔÁÂÌÉÃÙ ÎÅ "
-"ÏÂÒÁÂÁÔÙ×ÁÀÔÓÑ"
-
-#: commands/analyze.c:242
-#, c-format
-msgid "Analyzing %s.%s"
-msgstr "áÎÁÌÉÚÉÒÕÅÔÓÑ %s.%s"
-
-#: commands/analyze.c:431 utils/adt/ruleutils.c:2498
-#, c-format
-msgid "cache lookup of type %u failed"
-msgstr ""
-
-#: commands/analyze.c:638
-#, c-format
-msgid "acquire_sample_rows: ReadBuffer(%s,%u) failed"
-msgstr "acquire_sample_rows: ReadBuffer(%s,%u) ÎÅ ÕÄÁÌÓÑ"
-
-#: commands/aggregatecmds.c:93
-#, c-format
-msgid "DefineAggregate: attribute \"%s\" not recognized"
-msgstr ""
-
-#: commands/aggregatecmds.c:101
-msgid "Define: \"basetype\" unspecified"
-msgstr ""
-
-#: commands/aggregatecmds.c:103
-msgid "Define: \"stype\" unspecified"
-msgstr ""
-
-#: commands/aggregatecmds.c:105
-msgid "Define: \"sfunc\" unspecified"
-msgstr ""
-
-#: commands/aggregatecmds.c:123
-#, c-format
-msgid "Aggregate transition datatype cannot be %s"
-msgstr ""
-
-#: commands/aggregatecmds.c:174
-#, c-format
-msgid "RemoveAggregate: couldn't find pg_proc tuple for %s"
-msgstr ""
-
-#: commands/async.c:153
-#, c-format
-msgid "Async_Notify: %s"
-msgstr "Async_Notify: %s"
-
-#: commands/async.c:201
-#, c-format
-msgid "Async_Listen: %s"
-msgstr "Async_Listen: %s"
-
-#: commands/async.c:224
-#, c-format
-msgid "Async_Listen: We are already listening on %s"
-msgstr ""
-
-#: commands/async.c:296
-#, c-format
-msgid "Async_Unlisten %s"
-msgstr "Async_Unlisten %s"
-
-#: commands/async.c:354
-msgid "Async_UnlistenAll"
-msgstr "Async_UnlistenAll"
-
-#: commands/async.c:456
-msgid "AtCommit_Notify"
-msgstr "AtCommit_Notify"
-
-#: commands/async.c:488
-msgid "AtCommit_Notify: notifying self"
-msgstr ""
-
-#: commands/async.c:495
-#, c-format
-msgid "AtCommit_Notify: notifying pid %d"
-msgstr ""
-
-#: commands/async.c:544
-msgid "AtCommit_Notify: done"
-msgstr "AtCommit_Notify: ÚÁ×ÅÒÛÅÎÏ"
-
-#: commands/async.c:621
-msgid "Async_NotifyHandler: perform async notify"
-msgstr ""
-
-#: commands/async.c:626
-msgid "Async_NotifyHandler: done"
-msgstr "Async_NotifyHandler: ÚÁ×ÅÒÛÅÎÏ"
-
-#: commands/async.c:693
-msgid "EnableNotifyInterrupt: perform async notify"
-msgstr ""
-
-#: commands/async.c:698
-msgid "EnableNotifyInterrupt: done"
-msgstr "EnableNotifyInterrupt: ÚÁ×ÅÒÛÅÎÏ"
-
-#: commands/async.c:749
-msgid "ProcessIncomingNotify"
-msgstr "ProcessIncomingNotify"
-
-#: commands/async.c:785
-#, c-format
-msgid "ProcessIncomingNotify: received %s from %d"
-msgstr "ProcessIncomingNotify: ÐÏÌÕÞÅÎÏ %s ÏÔ %d"
-
-#: commands/async.c:820
-msgid "ProcessIncomingNotify: done"
-msgstr "ProcessIncomingNotify: ÚÁ×ÅÒÛÅÎÏ"
-
-#: commands/async.c:847
-#, c-format
-msgid "NOTIFY for %s"
-msgstr "NOTIFY ÄÌÑ %s"
-
-#: commands/cluster.c:119
-#, c-format
-msgid "CLUSTER: You do not own relation %s"
-msgstr ""
-
-#: commands/cluster.c:137 commands/cluster.c:541 commands/cluster.c:560
-#, c-format
-msgid "Cache lookup failed for index %u"
-msgstr "ðÏÉÓË × ËÜÛÅ ÉÎÄÅËÓÁ %u ÎÅ ÕÄÁÌÓÑ"
-
-#: commands/cluster.c:150
-#, c-format
-msgid "CLUSTER: No previously clustered index found on table \"%s\""
-msgstr ""
-
-#: commands/cluster.c:159
-#, c-format
-msgid "CLUSTER: cannot find index \"%s\" for table \"%s\""
-msgstr ""
-
-#: commands/cluster.c:312
-#, c-format
-msgid "CLUSTER: \"%s\" is not an index for table \"%s\""
-msgstr ""
-
-#: commands/cluster.c:324
-#, c-format
-msgid "CLUSTER: cannot cluster system relation \"%s\""
-msgstr ""
-
-#: commands/cluster.c:332
-msgid "CLUSTER cannot be used on temp tables of other processes"
-msgstr ""
-
-#: commands/cluster.c:627
-#, c-format
-msgid "cache lookup failed for index %u"
-msgstr "ÐÏÉÓË × ËÜÛÅ ÉÎÄÅËÓÁ %u ÎÅ ÕÄÁÌÓÑ"
-
-#: commands/cluster.c:679 commands/cluster.c:686
-#, c-format
-msgid "CLUSTER: Cannot find tuple for relation %u"
-msgstr ""
-
-#: commands/cluster.c:698 commands/cluster.c:704
-#, c-format
-msgid "CLUSTER: FlushRelationBuffers returned %d"
-msgstr "CLUSTER: FlushRelationBuffers ×ÏÚ×ÒÁÔÉÌÁ %d"
-
-#: commands/cluster.c:766
-msgid "CLUSTER: expected both swapped tables to have TOAST tables"
-msgstr ""
-
-#: commands/cluster.c:772 commands/cluster.c:777
-#, c-format
-msgid "CLUSTER: expected one dependency record for TOAST table, found %ld"
-msgstr ""
-
-#: commands/comment.c:111
-#, c-format
-msgid "An attempt was made to comment on a unknown type: %d"
-msgstr ""
-
-#: commands/comment.c:306
-#, c-format
-msgid "relation \"%s\" is not an index"
-msgstr "ÏÂßÅËÔ \"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÉÎÄÅËÓÏÍ"
-
-#: commands/comment.c:311
-#, c-format
-msgid "relation \"%s\" is not a sequence"
-msgstr ""
-
-#: commands/comment.c:316
-#, c-format
-msgid "relation \"%s\" is not a table"
-msgstr "ÏÂßÅËÔ \"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÔÁÂÌÉÃÅÊ"
-
-#: commands/comment.c:321
-#, c-format
-msgid "relation \"%s\" is not a view"
-msgstr "ÏÂßÅËÔ \"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ×ÉÄÏÍ"
-
-#: commands/comment.c:357
-msgid "CommentAttribute: must specify relation.attribute"
-msgstr ""
-
-#: commands/comment.c:374 commands/tablecmds.c:1953 commands/tablecmds.c:2087
-#: commands/tablecmds.c:2205 commands/tablecmds.c:2422
-#: optimizer/prep/prepunion.c:802 parser/parse_func.c:1176
-#: parser/parse_relation.c:1551 parser/parse_relation.c:1614
-#: parser/parse_relation.c:1770 parser/parse_type.c:88
-#, c-format
-msgid "Relation \"%s\" has no column \"%s\""
-msgstr "ó×ÑÚØ \"%s\" ÎÅ ÉÍÅÅÔ ËÏÌÏÎËÉ \"%s\""
-
-#: commands/comment.c:403
-msgid "CommentDatabase: database name may not be qualified"
-msgstr ""
-
-#: commands/comment.c:409 commands/dbcommands.c:531 utils/adt/acl.c:1038
-#, c-format
-msgid "database \"%s\" does not exist"
-msgstr "ÂÁÚÁ ÄÁÎÎÙÈ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: commands/comment.c:414
-#, c-format
-msgid "you are not permitted to comment on database \"%s\""
-msgstr ""
-
-#: commands/comment.c:419
-msgid "Database comments may only be applied to the current database"
-msgstr ""
-
-#: commands/comment.c:442
-msgid "CommentSchema: schema name may not be qualified"
-msgstr ""
-
-#: commands/comment.c:449
-#, c-format
-msgid "CommentSchema: Schema \"%s\" could not be found"
-msgstr "CommentSchema: óÈÅÍÁ \"%s\" ÎÅ ÎÁÊÄÅÎÁ"
-
-#: commands/comment.c:521 commands/comment.c:555
-#, c-format
-msgid "rule \"%s\" does not exist"
-msgstr "ÐÒÁ×ÉÌÏ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: commands/comment.c:527
-#, c-format
-msgid ""
-"There are multiple rules \"%s\"\n"
-"\tPlease specify a relation name as well as a rule name"
-msgstr ""
-
-#: commands/comment.c:732
-msgid "CommentTrigger: must specify relation and trigger"
-msgstr ""
-
-#: commands/comment.c:765
-#, c-format
-msgid "trigger \"%s\" for relation \"%s\" does not exist"
-msgstr "ÔÒÉÇÇÅÒ \"%s\" ÄÌÑ Ó×ÑÚÉ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: commands/comment.c:807
-msgid "CommentConstraint: must specify relation and constraint"
-msgstr ""
-
-#: commands/comment.c:841
-#, c-format
-msgid "Relation \"%s\" has multiple constraints named \"%s\""
-msgstr ""
-
-#: commands/comment.c:851
-#, c-format
-msgid "constraint \"%s\" for relation \"%s\" does not exist"
-msgstr ""
-
-#: commands/conversioncmds.c:58
-#, c-format
-msgid "Invalid for encoding name: %s"
-msgstr "îÅ×ÅÒÎÁÏÅ ÉÍÑ ÉÓÈÏÄÎÏÊ ËÏÄÉÒÏ×ËÉ (for): %s"
-
-#: commands/conversioncmds.c:62
-#, c-format
-msgid "Invalid to encoding name: %s"
-msgstr "îÅ×ÅÒÎÏÅ ÉÍÑ ËÏÄÉÒÏ×ËÉ ÎÁÚÎÁÞÅÎÉÑ (to): %s"
-
-#: commands/copy.c:128
-#, c-format
-msgid "CopySendData: %m"
-msgstr "CopySendData: %m"
-
-#: commands/copy.c:303
-msgid "COPY: BINARY option appears more than once"
-msgstr ""
-
-#: commands/copy.c:310
-msgid "COPY: OIDS option appears more than once"
-msgstr ""
-
-#: commands/copy.c:317
-msgid "COPY: DELIMITER string may only be defined once in query"
-msgstr ""
-
-#: commands/copy.c:324
-msgid "COPY: NULL representation may only be defined once in query"
-msgstr ""
-
-#: commands/copy.c:329
-#, c-format
-msgid "COPY: option \"%s\" not recognized"
-msgstr ""
-
-#: commands/copy.c:334
-msgid "You can not specify the DELIMITER in BINARY mode."
-msgstr ""
-
-#: commands/copy.c:337
-msgid "You can not specify NULL in BINARY mode."
-msgstr ""
-
-#: commands/copy.c:357
-msgid ""
-"You must have Postgres superuser privilege to do a COPY directly to or from "
-"a file.  Anyone can COPY to stdout or from stdin.  Psql's \\copy command "
-"also works for anyone."
-msgstr ""
-
-#: commands/copy.c:366
-msgid "COPY BINARY is not supported to stdout or from stdin"
-msgstr ""
-
-#: commands/copy.c:372
-msgid "COPY delimiter must be a single character"
-msgstr ""
-
-#: commands/copy.c:378
-#, c-format
-msgid "COPY: table \"%s\" does not have OIDs"
-msgstr "COPY: ÔÁÂÌÉÃÁ \"%s\" ÎÅ ÓÏÄÅÒÖÉÔ OIDs"
-
-#: commands/copy.c:399 commands/copy.c:444
-#, c-format
-msgid "You cannot copy view %s"
-msgstr "÷Ù ÎÅ ÍÏÖÅÔÅ ËÏÐÉÒÏ×ÁÔØ ×ÉÄ %s"
-
-#: commands/copy.c:402
-#, c-format
-msgid "You cannot change sequence relation %s"
-msgstr ""
-
-#: commands/copy.c:405 commands/copy.c:450
-#, c-format
-msgid "You cannot copy object %s"
-msgstr "÷Ù ÎÅ ÍÏÖÅÔÅ ËÏÐÉÒÏ×ÁÔØ ÏÂßÅËÔ %s"
-
-#: commands/copy.c:425
-#, c-format
-msgid ""
-"COPY command, running in backend with effective uid %d, could not open file "
-"'%s' for reading.  Errno = %s (%d)."
-msgstr ""
-"ëÏÍÁÎÄÁ COPY, ×ÙÐÏÌÎÑÀÝÁÑÓÑ × backendÅ Ó ÜÆÆÅËÔÉ×ÎÙÍ UID %d, ÎÅ ÓÍÏÇÌÁ "
-"ÏÔËÒÙÔØ ÆÁÊÌ '%s' ÄÌÑ ÞÔÅÎÉÑ.  Errno = %s (%d)."
-
-#: commands/copy.c:434 commands/copy.c:490
-#, c-format
-msgid "COPY: %s is a directory"
-msgstr "COPY: %s Ñ×ÌÑÅÔÓÑ ÄÉÒÅËÔÏÒÉÅÊ"
-
-#: commands/copy.c:447
-#, c-format
-msgid "You cannot copy sequence %s"
-msgstr ""
-
-#: commands/copy.c:474
-msgid "Relative path not allowed for server side COPY command"
-msgstr ""
-
-#: commands/copy.c:482
-#, c-format
-msgid ""
-"COPY command, running in backend with effective uid %d, could not open file "
-"'%s' for writing.  Errno = %s (%d)."
-msgstr ""
-"ëÏÍÁÎÄÁ COPY, ×ÙÐÏÌÎÑÀÝÁÑÓÑ × backendÅ Ó ÜÆÆÅËÔÉ×ÎÙÍ UID %d, ÎÅ ÓÍÏÇÌÁ "
-"ÏÔËÒÙÔØ ÆÁÊÌ '%s' ÄÌÑ ÚÁÐÉÓÉ.  Errno = %s (%d)."
-
-#: commands/copy.c:561
-#, c-format
-msgid "COPY: couldn't lookup info for type %u"
-msgstr ""
-
-#: commands/copy.c:565 commands/copy.c:835
-msgid "COPY BINARY: cstring not supported"
-msgstr ""
-
-#: commands/copy.c:906
-msgid "COPY BINARY: file signature not recognized"
-msgstr ""
-
-#: commands/copy.c:910
-msgid "COPY BINARY: incompatible integer layout"
-msgstr ""
-
-#: commands/copy.c:914
-msgid "COPY BINARY: bogus file header (missing flags)"
-msgstr ""
-
-#: commands/copy.c:918
-msgid "COPY BINARY: unrecognized critical flags in header"
-msgstr ""
-
-#: commands/copy.c:922
-msgid "COPY BINARY: bogus file header (missing length)"
-msgstr ""
-
-#: commands/copy.c:928
-msgid "COPY BINARY: bogus file header (wrong length)"
-msgstr ""
-
-#: commands/copy.c:979
-msgid "NULL Oid"
-msgstr "NULL Oid"
-
-#: commands/copy.c:985
-msgid "Invalid Oid"
-msgstr "îÅ×ÅÒÎÙÊ Oid"
-
-#: commands/copy.c:1002
-#, c-format
-msgid "Missing data for column \"%s\""
-msgstr "ïÔÓÕÔÓÔ×ÕÀÔ ÄÁÎÎÙÅ ÄÌÑ ËÏÌÏÎËÉ \"%s\""
-
-#: commands/copy.c:1034
-msgid "Extra data after last expected column"
-msgstr ""
-
-#: commands/copy.c:1058
-#, c-format
-msgid "COPY BINARY: tuple field count is %d, expected %d"
-msgstr ""
-
-#: commands/copy.c:1065 commands/copy.c:1071 commands/copy.c:1086
-#: commands/copy.c:1100 commands/copy.c:1109 commands/copy.c:1121
-#: commands/copy.c:1136
-msgid "COPY BINARY: unexpected EOF"
-msgstr ""
-
-#: commands/copy.c:1067
-#, c-format
-msgid "COPY BINARY: sizeof(Oid) is %d, expected %d"
-msgstr ""
-
-#: commands/copy.c:1073
-msgid "COPY BINARY: Invalid Oid"
-msgstr ""
-
-#: commands/copy.c:1090
-#, c-format
-msgid "COPY BINARY: sizeof(field %d) is %d, expected %d"
-msgstr ""
-
-#: commands/copy.c:1102
-msgid "COPY BINARY: bogus varlena length"
-msgstr ""
-
-#: commands/copy.c:1284
-#, c-format
-msgid "GetInputFunction: Cache lookup of type %u failed"
-msgstr ""
-
-#: commands/copy.c:1300
-#, c-format
-msgid "GetTypeElement: Cache lookup of type %u failed"
-msgstr ""
-
-#: commands/copy.c:1442
-msgid "CopyReadAttribute: end of record marker corrupted"
-msgstr ""
-
-#: commands/copy.c:1594
-#, c-format
-msgid "Attribute \"%s\" specified more than once"
-msgstr "áÔÒÉÂÕÔ \"%s\" ÕËÁÚÁΠÂÏÌÅÅ ÏÄÎÏÇÏ ÒÁÚÁ"
-
-#: commands/dbcommands.c:99 commands/dbcommands.c:105
-#: commands/dbcommands.c:111 commands/dbcommands.c:117
-msgid "CREATE DATABASE: conflicting options"
-msgstr ""
-
-#: commands/dbcommands.c:121
-#, c-format
-msgid "CREATE DATABASE: option \"%s\" not recognized"
-msgstr ""
-
-#: commands/dbcommands.c:141
-#, c-format
-msgid "%d is not a valid encoding code"
-msgstr "%d ÎÅ Ñ×ÌÑÅÔÓÑ ×ÅÒÎÙÍ ËÏÄÏÍ ËÏÄÉÒÏ×ËÉ"
-
-#: commands/dbcommands.c:147
-#, c-format
-msgid "%s is not a valid encoding name"
-msgstr "%s ÎÅ Ñ×ÌÑÅÔÓÑ ×ÅÒÎÙÍ ÉÍÅÎÅÍ ËÏÄÉÒÏ×ËÉ"
-
-#: commands/dbcommands.c:151
-msgid "CREATE DATABASE: bogus encoding parameter"
-msgstr ""
-
-#: commands/dbcommands.c:164 commands/dbcommands.c:171
-msgid "CREATE DATABASE: permission denied"
-msgstr ""
-
-#: commands/dbcommands.c:186 commands/dbcommands.c:326
-#, c-format
-msgid "CREATE DATABASE: database \"%s\" already exists"
-msgstr ""
-
-#: commands/dbcommands.c:198
-#, c-format
-msgid "CREATE DATABASE: template \"%s\" does not exist"
-msgstr ""
-
-#: commands/dbcommands.c:208
-#, c-format
-msgid "CREATE DATABASE: permission to copy \"%s\" denied"
-msgstr ""
-
-#: commands/dbcommands.c:227
-#, c-format
-msgid ""
-"CREATE DATABASE: source database \"%s\" is being accessed by other users"
-msgstr ""
-
-#: commands/dbcommands.c:235
-msgid "CREATE DATABASE: invalid backend encoding"
-msgstr ""
-
-#: commands/dbcommands.c:263 commands/dbcommands.c:265
-#: commands/dbcommands.c:267
-msgid "database path may not contain single quotes"
-msgstr ""
-
-#: commands/dbcommands.c:290
-#, c-format
-msgid "CREATE DATABASE: unable to create database directory '%s': %m"
-msgstr ""
-
-#: commands/dbcommands.c:293
-#, c-format
-msgid "CREATE DATABASE: unable to remove temp directory '%s': %m"
-msgstr ""
-
-#: commands/dbcommands.c:300
-#, c-format
-msgid "CREATE DATABASE: could not link '%s' to '%s': %m"
-msgstr ""
-
-#: commands/dbcommands.c:310
-msgid "CREATE DATABASE: could not initialize database directory"
-msgstr ""
-
-#: commands/dbcommands.c:312
-msgid ""
-"CREATE DATABASE: could not initialize database directory; delete failed as "
-"well"
-msgstr ""
-
-#: commands/dbcommands.c:402
-msgid "DROP DATABASE: cannot be executed on the currently open database"
-msgstr ""
-
-#: commands/dbcommands.c:419
-#, c-format
-msgid "DROP DATABASE: database \"%s\" does not exist"
-msgstr ""
-
-#: commands/dbcommands.c:422
-msgid "DROP DATABASE: permission denied"
-msgstr ""
-
-#: commands/dbcommands.c:430
-msgid "DROP DATABASE: database is marked as a template"
-msgstr ""
-
-#: commands/dbcommands.c:439
-#, c-format
-msgid "DROP DATABASE: database \"%s\" is being accessed by other users"
-msgstr ""
-
-#: commands/dbcommands.c:456
-#, c-format
-msgid ""
-"DROP DATABASE: Database \"%s\" doesn't exist despite earlier reports to the "
-"contrary"
-msgstr ""
-
-#: commands/dbcommands.c:700
-msgid "Relative paths are not allowed as database locations"
-msgstr ""
-
-#: commands/dbcommands.c:702
-msgid "Absolute paths are not allowed as database locations"
-msgstr ""
-
-#: commands/dbcommands.c:712
-#, c-format
-msgid "Postmaster environment variable '%s' not set"
-msgstr ""
-
-#: commands/dbcommands.c:714
-#, c-format
-msgid "Postmaster environment variable '%s' must be absolute path"
-msgstr ""
-
-#: commands/dbcommands.c:720
-msgid "Alternate path is too long"
-msgstr ""
-
-#: commands/dbcommands.c:749
-#, c-format
-msgid "could not remove '%s': %m"
-msgstr ""
-
-#: commands/dbcommands.c:758
-#, c-format
-msgid "database directory '%s' could not be removed"
-msgstr ""
-
-#: commands/dbcommands.c:830 commands/vacuum.c:581
-#, c-format
-msgid "database %u does not exist"
-msgstr ""
-
-#: commands/define.c:68 commands/define.c:157 commands/define.c:185
-#: commands/define.c:215
-#, c-format
-msgid "Define: \"%s\" requires a parameter"
-msgstr ""
-
-#: commands/define.c:93 commands/define.c:239
-#, c-format
-msgid "Define: cannot interpret argument of \"%s\""
-msgstr ""
-
-#: commands/define.c:106 commands/define.c:115 commands/define.c:128
-#: commands/define.c:144
-#, c-format
-msgid "Define: \"%s\" requires a numeric value"
-msgstr ""
-
-#: commands/define.c:169
-#, c-format
-msgid "Define: argument of \"%s\" must be a name"
-msgstr ""
-
-#: commands/define.c:201
-#, c-format
-msgid "Define: argument of \"%s\" must be a type name"
-msgstr ""
-
-#: commands/define.c:222
-#, c-format
-msgid "Define: \"%s\" requires an integral value"
-msgstr ""
-
-#: commands/define.c:242
-#, c-format
-msgid "Define: invalid argument for \"%s\": \"%s\""
-msgstr "Define: ÎÅ×ÅÒÎÙÊ ÁÒÇÕÍÅÎÔ ÄÌÑ \"%s\": \"%s\""
-
-#: commands/explain.c:890
-#, c-format
-msgid "show_sort_keys: no tlist entry for key %d"
-msgstr ""
-
-#: commands/functioncmds.c:81
-#, c-format
-msgid "SQL function cannot return shell type \"%s\""
-msgstr "SQL-ÆÕÎËÃÉÉ ÎÅ ÍÏÇÕÔ ×ÏÚ×ÒÁÝÁÔØ ÔÉРshell \"%s\""
-
-#: commands/functioncmds.c:84
-#, c-format
-msgid "Return type \"%s\" is only a shell"
-msgstr ""
-
-#: commands/functioncmds.c:103 commands/functioncmds.c:159
-#: commands/typecmds.c:345 commands/typecmds.c:352 commands/typecmds.c:689
-#: commands/typecmds.c:933 commands/typecmds.c:1052 commands/typecmds.c:1177
-#: commands/typecmds.c:1264 parser/parse_func.c:1403 parser/parse_oper.c:98
-#: parser/parse_oper.c:107 parser/parse_type.c:191 parser/parse_type.c:213
-#: parser/parse_type.c:219
-#, c-format
-msgid "Type \"%s\" does not exist"
-msgstr "ôÉР\"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: commands/functioncmds.c:106
-#, c-format
-msgid "ProcedureCreate: type %s is not yet defined"
-msgstr "ProcedureCreate: ÔÉР%s ÅÝ£ ÎÅ ÏÐÒÅÄÅÌ£Î"
-
-#: commands/functioncmds.c:116
-#, c-format
-msgid "could not create type %s"
-msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÏÚÄÁÔØ ÔÉР%s"
-
-#: commands/functioncmds.c:150
-#, c-format
-msgid "SQL function cannot accept shell type \"%s\""
-msgstr "SQL-ÆÕÎËÃÉÉ ÎÅ ÍÏÇÕÔ ÐÒÉÎÉÍÁÔØ ÚÎÁÞÅÎÉÅ ÔÉÐÁ shell \"%s\""
-
-#: commands/functioncmds.c:153
-#, c-format
-msgid "Argument type \"%s\" is only a shell"
-msgstr "ôÉРÁÒÇÕÍÅÎÔÁ \"%s\" ÔÏÌØËÏ shell"
-
-#: commands/functioncmds.c:164
-msgid "Functions cannot accept set arguments"
-msgstr "æÕÎËÃÉÉ ÎÅ ÐÒÉÎÉÍÁÀÔ ÁÒÇÕÍÅÎÔÙ-ÍÎÏÖÅÓÔ×Á (set)"
-
-#: commands/functioncmds.c:200 commands/functioncmds.c:206
-#: commands/functioncmds.c:212 commands/functioncmds.c:218
-#: commands/functioncmds.c:224
-msgid "conflicting or redundant options"
-msgstr ""
-
-#: commands/functioncmds.c:228
-msgid "invalid CREATE FUNCTION option"
-msgstr ""
-
-#: commands/functioncmds.c:234
-msgid "no function body specified"
-msgstr ""
-
-#: commands/functioncmds.c:239
-msgid "no language specified"
-msgstr "ÑÚÙË ÎÅ ÕËÁÚÁÎ"
-
-#: commands/functioncmds.c:250
-msgid "invalid volatility"
-msgstr ""
-
-#: commands/functioncmds.c:297
-#, c-format
-msgid "Unrecognized function attribute '%s' ignored"
-msgstr ""
-
-#: commands/functioncmds.c:339
-#, c-format
-msgid "CREATE FUNCTION: only one AS item needed for %s language"
-msgstr ""
-
-#: commands/functioncmds.c:399 utils/adt/acl.c:1442
-#, c-format
-msgid "language \"%s\" does not exist"
-msgstr "ÑÚÙË \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: commands/functioncmds.c:505
-#, c-format
-msgid "RemoveFunction: couldn't find tuple for function %s"
-msgstr ""
-
-#: commands/functioncmds.c:515
-#, c-format
-msgid ""
-"RemoveFunction: function '%s' is an aggregate\n"
-"\tUse DROP AGGREGATE to remove it"
-msgstr ""
-
-#: commands/functioncmds.c:522
-#, c-format
-msgid "Removing built-in function \"%s\""
-msgstr ""
-
-#: commands/functioncmds.c:560
-#, c-format
-msgid "RemoveFunctionById: couldn't find tuple for function %u"
-msgstr ""
-
-#: commands/functioncmds.c:582
-#, c-format
-msgid "RemoveFunctionById: couldn't find pg_aggregate tuple for %u"
-msgstr ""
-
-#: commands/functioncmds.c:614
-#, c-format
-msgid "SetFunctionReturnType: couldn't find tuple for function %u"
-msgstr ""
-
-#: commands/functioncmds.c:619
-#, c-format
-msgid "SetFunctionReturnType: function %u doesn't return OPAQUE"
-msgstr ""
-
-#: commands/functioncmds.c:652
-#, c-format
-msgid "SetFunctionArgType: couldn't find tuple for function %u"
-msgstr ""
-
-#: commands/functioncmds.c:658
-#, c-format
-msgid "SetFunctionArgType: function %u doesn't take OPAQUE"
-msgstr ""
-
-#: commands/functioncmds.c:693 commands/functioncmds.c:884
-#, c-format
-msgid "source data type %s does not exist"
-msgstr "ÉÓÈÏÄÎÙÊ ÔÉРÄÁÎÎÙÈ %s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: commands/functioncmds.c:698 commands/functioncmds.c:889
-#, c-format
-msgid "target data type %s does not exist"
-msgstr "ÔÉРÄÁÎÎÙÈ ÎÁÚÎÁÞÅÎÉÑ %s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: commands/functioncmds.c:702
-msgid "source data type and target data type are the same"
-msgstr ""
-
-#: commands/functioncmds.c:706
-#, c-format
-msgid "source data type %s is only a shell"
-msgstr ""
-
-#: commands/functioncmds.c:710
-#, c-format
-msgid "target data type %s is only a shell"
-msgstr ""
-
-#: commands/functioncmds.c:714
-#, c-format
-msgid "source data type %s is a pseudo-type"
-msgstr ""
-
-#: commands/functioncmds.c:718
-#, c-format
-msgid "target data type %s is a pseudo-type"
-msgstr ""
-
-#: commands/functioncmds.c:723 commands/functioncmds.c:904
-#, c-format
-msgid "must be owner of type %s or type %s"
-msgstr ""
-
-#: commands/functioncmds.c:743
-msgid "cast function must take 1 argument"
-msgstr ""
-
-#: commands/functioncmds.c:745
-msgid "argument of cast function must match source data type"
-msgstr ""
-
-#: commands/functioncmds.c:747
-msgid "return data type of cast function must match target data type"
-msgstr ""
-
-#: commands/functioncmds.c:749
-msgid "cast function must not be volatile"
-msgstr ""
-
-#: commands/functioncmds.c:751
-msgid "cast function must not be an aggregate function"
-msgstr ""
-
-#: commands/functioncmds.c:753
-msgid "cast function must not return a set"
-msgstr ""
-
-#: commands/functioncmds.c:774
-msgid "Must be superuser to create a cast WITHOUT FUNCTION"
-msgstr ""
-
-#: commands/functioncmds.c:787
-msgid "source and target datatypes are not physically compatible"
-msgstr ""
-
-#: commands/functioncmds.c:803
-#, c-format
-msgid "CreateCast: bogus CoercionContext %c"
-msgstr ""
-
-#: commands/functioncmds.c:820
-#, c-format
-msgid "cast from data type %s to data type %s already exists"
-msgstr ""
-
-#: commands/functioncmds.c:897
-#, c-format
-msgid "cast from type %s to type %s does not exist"
-msgstr "ËÏÎ×ÅÒÓÉÑ ÔÉÐÁ %s × ÔÉР%s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: commands/functioncmds.c:940
-#, c-format
-msgid "could not find tuple for cast %u"
-msgstr ""
-
-#: commands/indexcmds.c:92
-msgid "DefineIndex: must specify at least one attribute"
-msgstr ""
-
-#: commands/indexcmds.c:94
-#, c-format
-msgid "Cannot use more than %d attributes in an index"
-msgstr ""
-
-#: commands/indexcmds.c:105
-#, c-format
-msgid "DefineIndex: relation \"%s\" is not a table"
-msgstr ""
-
-#: commands/indexcmds.c:114
-msgid "Existing indexes are inactive. REINDEX first"
-msgstr ""
-
-#: commands/indexcmds.c:142
-#, c-format
-msgid "DefineIndex: access method \"%s\" not found"
-msgstr ""
-
-#: commands/indexcmds.c:148
-#, c-format
-msgid "DefineIndex: access method \"%s\" does not support UNIQUE indexes"
-msgstr ""
-
-#: commands/indexcmds.c:151
-#, c-format
-msgid "DefineIndex: access method \"%s\" does not support multi-column indexes"
-msgstr ""
-
-#: commands/indexcmds.c:185
-msgid "Functional index can only have one attribute"
-msgstr ""
-
-#: commands/indexcmds.c:189
-#, c-format
-msgid "Index function can take at most %d arguments"
-msgstr ""
-
-#: commands/indexcmds.c:244
-msgid "Partial-index predicates may refer only to the base relation"
-msgstr ""
-
-#: commands/indexcmds.c:252
-msgid "Cannot use subselect in index predicate"
-msgstr ""
-
-#: commands/indexcmds.c:254
-msgid "Cannot use aggregate in index predicate"
-msgstr ""
-
-#: commands/indexcmds.c:261
-msgid "Functions in index predicate must be marked isImmutable"
-msgstr ""
-
-#: commands/indexcmds.c:299 commands/indexcmds.c:389
-#, c-format
-msgid "DefineIndex: attribute \"%s\" not found"
-msgstr ""
-
-#: commands/indexcmds.c:324
-msgid "DefineIndex: functional index may not use an aggregate function"
-msgstr ""
-
-#: commands/indexcmds.c:326
-msgid ""
-"DefineIndex: functional index must use a real function, not a type coercion\n"
-"\tTry specifying the index opclass you want to use, instead"
-msgstr ""
-
-#: commands/indexcmds.c:334
-msgid "DefineIndex: cannot index on a function returning a set"
-msgstr ""
-
-#: commands/indexcmds.c:350
-msgid "DefineIndex: index function must be marked isImmutable"
-msgstr ""
-
-#: commands/indexcmds.c:385
-msgid "missing attribute for define index"
-msgstr ""
-
-#: commands/indexcmds.c:418
-#, c-format
-msgid ""
-"data type %s has no default operator class for access method \"%s\"\n"
-"\tYou must specify an operator class for the index or define a\n"
-"\tdefault operator class for the data type"
-msgstr ""
-
-#: commands/indexcmds.c:449 commands/indexcmds.c:457
-#, c-format
-msgid ""
-"DefineIndex: operator class \"%s\" not supported by access method \"%s\""
-msgstr ""
-
-#: commands/indexcmds.c:468
-#, c-format
-msgid "operator class \"%s\" does not accept data type %s"
-msgstr ""
-
-#: commands/indexcmds.c:522
-#, c-format
-msgid "pg_opclass contains multiple default opclasses for data type %s"
-msgstr ""
-
-#: commands/indexcmds.c:544 commands/indexcmds.c:576 commands/indexcmds.c:619
-#, c-format
-msgid "relation \"%s\" is of type \"%c\""
-msgstr ""
-
-#: commands/indexcmds.c:573
-#, c-format
-msgid "index \"%s\" does not exist"
-msgstr ""
-
-#: commands/indexcmds.c:584
-#, c-format
-msgid ""
-"\"%s\" is a system index. call REINDEX under standalone postgres with -O -P "
-"options"
-msgstr ""
-
-#: commands/indexcmds.c:587
-#, c-format
-msgid ""
-"\"%s\" is a system index. call REINDEX under standalone postgres with -P -O "
-"options"
-msgstr ""
-
-#: commands/indexcmds.c:602
-#, c-format
-msgid "index \"%s\" wasn't reindexed"
-msgstr ""
-
-#: commands/indexcmds.c:634
-#, c-format
-msgid "table \"%s\" wasn't reindexed"
-msgstr ""
-
-#: commands/indexcmds.c:658
-msgid "REINDEX DATABASE: Can be executed only on the currently open database."
-msgstr ""
-
-#: commands/indexcmds.c:661
-msgid "REINDEX DATABASE: Permission denied."
-msgstr ""
-
-#: commands/indexcmds.c:664
-msgid "must be called under standalone postgres with -O -P options"
-msgstr ""
-
-#: commands/indexcmds.c:666
-msgid "must be called under standalone postgres with -P -O options"
-msgstr ""
-
-#: commands/indexcmds.c:732
-#, c-format
-msgid "relation %u was reindexed"
-msgstr ""
-
-#: commands/lockcmds.c:65
-#, c-format
-msgid "LOCK TABLE: %s is not a table"
-msgstr ""
-
-#: commands/opclasscmds.c:88
-#, c-format
-msgid "DefineOpClass: access method \"%s\" not found"
-msgstr ""
-
-#: commands/opclasscmds.c:107
-msgid "Must be superuser to create an operator class"
-msgstr ""
-
-#: commands/opclasscmds.c:146
-#, c-format
-msgid "DefineOpClass: invalid operator number %d, must be between 1 and %d"
-msgstr ""
-
-#: commands/opclasscmds.c:150
-#, c-format
-msgid "DefineOpClass: operator number %d appears more than once"
-msgstr ""
-
-#: commands/opclasscmds.c:167
-#, c-format
-msgid "DefineOpClass: Operator '%s' for types '%s' and '%s' does not exist"
-msgstr ""
-
-#: commands/opclasscmds.c:183
-#, c-format
-msgid "DefineOpClass: invalid procedure number %d, must be between 1 and %d"
-msgstr ""
-
-#: commands/opclasscmds.c:187
-#, c-format
-msgid "DefineOpClass: procedure number %d appears more than once"
-msgstr ""
-
-#: commands/opclasscmds.c:200
-msgid "DefineOpClass: storage type specified more than once"
-msgstr ""
-
-#: commands/opclasscmds.c:204
-#, c-format
-msgid "DefineOpClass: bogus item type %d"
-msgstr ""
-
-#: commands/opclasscmds.c:226
-#, c-format
-msgid "Storage type may not be different from datatype for access method %s"
-msgstr ""
-
-#: commands/opclasscmds.c:242
-#, c-format
-msgid "Operator class \"%s\" already exists for access method \"%s\""
-msgstr ""
-
-#: commands/opclasscmds.c:266
-#, c-format
-msgid ""
-"Can't add class \"%s\" as default for type %s\n"
-"\tclass \"%s\" already is the default"
-msgstr ""
-
-#: commands/opclasscmds.c:474
-#, c-format
-msgid "RemoveOpClass: access method \"%s\" not found"
-msgstr ""
-
-#: commands/opclasscmds.c:501 commands/opclasscmds.c:509
-#, c-format
-msgid ""
-"RemoveOpClass: operator class \"%s\" not supported by access method \"%s\""
-msgstr ""
-
-#: commands/opclasscmds.c:553
-#, c-format
-msgid "RemoveOpClassById: couldn't find pg_class entry %u"
-msgstr ""
-
-#: commands/operatorcmds.c:103
-msgid "setof type not implemented for leftarg"
-msgstr ""
-
-#: commands/operatorcmds.c:109
-msgid "setof type not implemented for rightarg"
-msgstr ""
-
-#: commands/operatorcmds.c:135
-#, c-format
-msgid "DefineOperator: attribute \"%s\" not recognized"
-msgstr ""
-
-#: commands/operatorcmds.c:144
-msgid "Define: \"procedure\" unspecified"
-msgstr ""
-
-#: commands/operatorcmds.c:215
-#, c-format
-msgid "RemoveOperator: failed to find tuple for operator '%s'"
-msgstr ""
-
-#: commands/operatorcmds.c:251
-#, c-format
-msgid "RemoveOperatorById: failed to find tuple for operator %u"
-msgstr ""
-
-#: commands/portalcmds.c:88
-msgid "PerformPortalFetch: missing portal name"
-msgstr "PerformPortalFetch: ÏÔÓÕÔÓÔ×ÕÅÔ ÉÍÑ ÐÏÒÔÁÌÁ"
-
-#: commands/portalcmds.c:98
-#, c-format
-msgid "PerformPortalFetch: portal \"%s\" not found"
-msgstr ""
-
-#: commands/portalcmds.c:243
-msgid "PerformPortalClose: missing portal name"
-msgstr "PerformPortalClose: ÏÔÓÕÔÓÔ×ÕÅÔ ÉÍÑ ÐÏÒÔÁÌÁ"
-
-#: commands/portalcmds.c:253
-#, c-format
-msgid "PerformPortalClose: portal \"%s\" not found"
-msgstr ""
-
-#: commands/prepare.c:65
-msgid "No statement name given"
-msgstr "îÅ ÕËÁÚÁÎÏ ÉÍÑ ËÏÍÁÎÄÙ"
-
-#: commands/prepare.c:68
-msgid "Utility statements cannot be prepared"
-msgstr ""
-
-#: commands/prepare.c:122
-msgid "ExecuteQuery: wrong number of arguments"
-msgstr "ExecuteQuery: ÎÅ×ÅÒÎÏÅ ÞÉÓÌÏ ÁÒÇÕÍÅÎÔÏ×"
-
-#: commands/prepare.c:172
-msgid "INTO clause specified for non-SELECT query"
-msgstr ""
-
-#: commands/prepare.c:223
-msgid "InitQueryHashTable: unable to create hash table"
-msgstr ""
-
-# [SM]: TO REVIEW
-#: commands/prepare.c:253
-#, c-format
-msgid "Prepared statement with name \"%s\" already exists"
-msgstr "úÁÇÏÔÏ×ÌÅÎÎÁÑ ËÏÍÁÎÄÁ Ó ÉÍÅÎÅÍ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: commands/prepare.c:283
-#, c-format
-msgid "Unable to store prepared statement \"%s\"!"
-msgstr ""
-
-# [SM]: TO REVIEW
-#: commands/prepare.c:309 commands/prepare.c:326 commands/prepare.c:364
-#: commands/prepare.c:388
-#, c-format
-msgid "Prepared statement with name \"%s\" does not exist"
-msgstr "úÁÇÏÔÏ×ÌÅÎÎÁÑ ËÏÍÁÎÄÁ Ó ÉÍÅÎÅÍ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: commands/proclang.c:61
-msgid ""
-"Only users with superuser privilege are permitted to create procedural "
-"languages"
-msgstr ""
-
-#: commands/proclang.c:73
-#, c-format
-msgid "Language %s already exists"
-msgstr ""
-
-#: commands/proclang.c:82
-#, c-format
-msgid "function %s() doesn't exist"
-msgstr "ÆÕÎËÃÉÑ %s() ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: commands/proclang.c:94
-#, c-format
-msgid ""
-"CreateProceduralLanguage: changing return type of function %s() from OPAQUE "
-"to LANGUAGE_HANDLER"
-msgstr ""
-
-#: commands/proclang.c:99
-#, c-format
-msgid "CreateProceduralLanguage: function %s() must return LANGUAGE_HANDLER"
-msgstr ""
-
-#: commands/proclang.c:109
-#, c-format
-msgid "function %s(oid) doesn't exist"
-msgstr "ÆÕÎËÃÉÑ %s(oid) ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: commands/proclang.c:183
-msgid ""
-"Only users with superuser privilege are permitted to drop procedural "
-"languages"
-msgstr ""
-
-#: commands/proclang.c:196
-#, c-format
-msgid "Language %s doesn't exist"
-msgstr "ñÚÙË %s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: commands/proclang.c:225
-#, c-format
-msgid "DropProceduralLanguageById: language %u not found"
-msgstr ""
-
-#: commands/schemacmds.c:79
-#, c-format
-msgid ""
-"CREATE SCHEMA: permission denied\n"
-"\t\"%s\" is not a superuser, so cannot create a schema for \"%s\""
-msgstr ""
-
-#: commands/schemacmds.c:92
-#, c-format
-msgid ""
-"CREATE SCHEMA: Illegal schema name: \"%s\" -- pg_ is reserved for system "
-"schemas"
-msgstr ""
-
-#: commands/schemacmds.c:162
-msgid "Schema name may not be qualified"
-msgstr ""
-
-#: commands/schemacmds.c:169
-#, c-format
-msgid "Schema \"%s\" does not exist"
-msgstr "óÈÅÍÁ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: commands/schemacmds.c:206
-#, c-format
-msgid "RemoveSchemaById: schema %u not found"
-msgstr ""
-
-#: commands/sequence.c:208
-msgid "DefineSequence: ReadBuffer failed"
-msgstr ""
-
-#: commands/sequence.c:335
-#, c-format
-msgid "%s.nextval: you don't have permissions to set sequence %s"
-msgstr ""
-
-#: commands/sequence.c:410
-#, c-format
-msgid "%s.nextval: reached MAXVALUE (%s)"
-msgstr ""
-
-#: commands/sequence.c:431
-#, c-format
-msgid "%s.nextval: reached MINVALUE (%s)"
-msgstr ""
-
-#: commands/sequence.c:521
-#, c-format
-msgid "%s.currval: you don't have permissions to read sequence %s"
-msgstr ""
-
-#: commands/sequence.c:525
-#, c-format
-msgid "%s.currval is not yet defined in this session"
-msgstr ""
-
-#: commands/sequence.c:560
-#, c-format
-msgid "%s.setval: you don't have permissions to set sequence %s"
-msgstr ""
-
-#: commands/sequence.c:575
-#, c-format
-msgid "%s.setval: value %s is out of bounds (%s,%s)"
-msgstr ""
-
-#: commands/sequence.c:701
-#, c-format
-msgid "%s.%s: %s is not a sequence"
-msgstr ""
-
-#: commands/sequence.c:719
-msgid "Memory exhausted in init_sequence"
-msgstr ""
-
-#: commands/sequence.c:747
-#, c-format
-msgid "%s.%s: invalid number of blocks in sequence"
-msgstr ""
-
-#: commands/sequence.c:752
-#, c-format
-msgid "%s.%s: ReadBuffer failed"
-msgstr ""
-
-#: commands/sequence.c:761
-#, c-format
-msgid "%s.%s: bad magic (%08X)"
-msgstr ""
-
-#: commands/sequence.c:804
-#, c-format
-msgid "DefineSequence: option \"%s\" not recognized"
-msgstr ""
-
-#: commands/sequence.c:811
-msgid "DefineSequence: can't INCREMENT by 0"
-msgstr ""
-
-#: commands/sequence.c:840
-#, c-format
-msgid "DefineSequence: MINVALUE (%s) must be less than MAXVALUE (%s)"
-msgstr ""
-
-#: commands/sequence.c:861
-#, c-format
-msgid "DefineSequence: START value (%s) can't be less than MINVALUE (%s)"
-msgstr ""
-
-#: commands/sequence.c:871
-#, c-format
-msgid "DefineSequence: START value (%s) can't be greater than MAXVALUE (%s)"
-msgstr ""
-
-#: commands/sequence.c:882
-#, c-format
-msgid "DefineSequence: CACHE (%s) can't be <= 0"
-msgstr ""
-
-#: commands/sequence.c:902
-#, c-format
-msgid "seq_redo: unknown op code %u"
-msgstr ""
-
-#: commands/sequence.c:910
-#, c-format
-msgid "seq_redo: can't read block of %u/%u"
-msgstr ""
-
-#: commands/sequence.c:926
-msgid "seq_redo: failed to add item to page"
-msgstr ""
-
-#: commands/tablecmds.c:149
-msgid "ON COMMIT can only be used on TEMP tables"
-msgstr ""
-
-#: commands/tablecmds.c:379
-#, c-format
-msgid "TRUNCATE cannot be used on sequences. '%s' is a sequence"
-msgstr ""
-
-#: commands/tablecmds.c:382
-#, c-format
-msgid "TRUNCATE cannot be used on views. '%s' is a view"
-msgstr ""
-
-#: commands/tablecmds.c:385
-#, c-format
-msgid "TRUNCATE can only be used on tables. '%s' is not a table"
-msgstr ""
-
-#: commands/tablecmds.c:391
-#, c-format
-msgid "TRUNCATE cannot be used on system tables. '%s' is a system table"
-msgstr ""
-
-#: commands/tablecmds.c:402
-msgid "TRUNCATE cannot be used on temp tables of other processes"
-msgstr ""
-
-#: commands/tablecmds.c:426
-#, c-format
-msgid ""
-"TRUNCATE cannot be used as table %s references this one via foreign key "
-"constraint %s"
-msgstr ""
-
-#: commands/tablecmds.c:537
-#, c-format
-msgid "CREATE TABLE: attribute \"%s\" duplicated"
-msgstr ""
-
-#: commands/tablecmds.c:560
-#, c-format
-msgid "CREATE TABLE: inherited relation \"%s\" is not a table"
-msgstr ""
-
-#: commands/tablecmds.c:564
-#, c-format
-msgid "CREATE TABLE: cannot inherit from temp relation \"%s\""
-msgstr ""
-
-#: commands/tablecmds.c:579
-#, c-format
-msgid "CREATE TABLE: inherited relation \"%s\" duplicated"
-msgstr ""
-
-#: commands/tablecmds.c:631
-#, c-format
-msgid ""
-"CREATE TABLE: merging multiple inherited definitions of attribute \"%s\""
-msgstr ""
-
-#: commands/tablecmds.c:636
-#, c-format
-msgid "CREATE TABLE: inherited attribute \"%s\" type conflict (%s and %s)"
-msgstr ""
-
-#: commands/tablecmds.c:782
-#, c-format
-msgid "CREATE TABLE: merging attribute \"%s\" with inherited definition"
-msgstr ""
-
-#: commands/tablecmds.c:787
-#, c-format
-msgid "CREATE TABLE: attribute \"%s\" type conflict (%s and %s)"
-msgstr ""
-
-#: commands/tablecmds.c:825
-#, c-format
-msgid ""
-"CREATE TABLE: attribute \"%s\" inherits conflicting default values\n"
-"\tTo resolve the conflict, specify a default explicitly"
-msgstr ""
-
-#: commands/tablecmds.c:1069
-#, c-format
-msgid "setRelhassubclassInRelation: cache lookup failed for relation %u"
-msgstr ""
-
-#: commands/tablecmds.c:1124
-#, c-format
-msgid "renameatt: class \"%s\" is a system catalog"
-msgstr ""
-
-#: commands/tablecmds.c:1170
-#, c-format
-msgid "Inherited attribute \"%s\" must be renamed in child tables too"
-msgstr ""
-
-#: commands/tablecmds.c:1178
-#, c-format
-msgid "renameatt: attribute \"%s\" does not exist"
-msgstr ""
-
-#: commands/tablecmds.c:1183
-#, c-format
-msgid "renameatt: system attribute \"%s\" may not be renamed"
-msgstr ""
-
-#: commands/tablecmds.c:1191
-#, c-format
-msgid "renameatt: inherited attribute \"%s\" may not be renamed"
-msgstr ""
-
-#: commands/tablecmds.c:1200
-#, c-format
-msgid "renameatt: attribute \"%s\" exists"
-msgstr ""
-
-#: commands/tablecmds.c:1230
-#, c-format
-msgid "renameatt: can't find index id %u"
-msgstr ""
-
-#: commands/tablecmds.c:1315
-#, c-format
-msgid "renamerel: system relation \"%s\" may not be renamed"
-msgstr ""
-
-#: commands/tablecmds.c:1331
-#, c-format
-msgid "renamerel: relation \"%s\" does not exist"
-msgstr ""
-
-#: commands/tablecmds.c:1335
-#, c-format
-msgid "renamerel: relation \"%s\" exists"
-msgstr ""
-
-#: commands/tablecmds.c:1633 commands/tablecmds.c:1908
-#: commands/tablecmds.c:2042 commands/tablecmds.c:2257
-#: commands/tablecmds.c:2406 commands/tablecmds.c:2576
-#: commands/tablecmds.c:3535 commands/tablecmds.c:3710
-#, c-format
-msgid "ALTER TABLE: relation \"%s\" is not a table"
-msgstr ""
-
-#: commands/tablecmds.c:1644 commands/tablecmds.c:1913
-#: commands/tablecmds.c:2047 commands/tablecmds.c:2165
-#: commands/tablecmds.c:2264 commands/tablecmds.c:2411
-#: commands/tablecmds.c:2581 commands/tablecmds.c:3540
-#, c-format
-msgid "ALTER TABLE: relation \"%s\" is a system catalog"
-msgstr ""
-
-#: commands/tablecmds.c:1697
-#, c-format
-msgid "ALTER TABLE: child table \"%s\" has different type for column \"%s\""
-msgstr ""
-
-#: commands/tablecmds.c:1705
-#, c-format
-msgid "ALTER TABLE: merging definition of column \"%s\" for child %s"
-msgstr ""
-
-#: commands/tablecmds.c:1735
-msgid "Attribute must be added to child tables too"
-msgstr ""
-
-#: commands/tablecmds.c:1752
-msgid ""
-"Adding columns with defaults is not implemented.\n"
-"\tAdd the column, then use ALTER TABLE SET DEFAULT."
-msgstr ""
-
-#: commands/tablecmds.c:1756
-msgid ""
-"Adding NOT NULL columns is not implemented.\n"
-"\tAdd the column, then use ALTER TABLE ... SET NOT NULL."
-msgstr ""
-
-#: commands/tablecmds.c:1765 commands/tablecmds.c:3852
-#, c-format
-msgid "ALTER TABLE: relation \"%s\" not found"
-msgstr ""
-
-#: commands/tablecmds.c:1777
-#, c-format
-msgid "ALTER TABLE: column name \"%s\" already exists in table \"%s\""
-msgstr ""
-
-#: commands/tablecmds.c:1783
-#, c-format
-msgid "ALTER TABLE: relations limited to %d columns"
-msgstr ""
-
-#: commands/tablecmds.c:1958 commands/tablecmds.c:2092
-#: commands/tablecmds.c:2210
-#, c-format
-msgid "ALTER TABLE: Cannot alter system attribute \"%s\""
-msgstr ""
-
-#: commands/tablecmds.c:1979
-#, c-format
-msgid "ALTER TABLE: Index %u not found"
-msgstr "ALTER TABLE: éÎÄÅËÓ %u ÎÅ ÎÁÊÄÅÎ"
-
-#: commands/tablecmds.c:1994
-#, c-format
-msgid "ALTER TABLE: Attribute \"%s\" is in a primary key"
-msgstr ""
-
-#: commands/tablecmds.c:2010 commands/tablecmds.c:2124
-#: commands/tablecmds.c:2352
-#, c-format
-msgid "ALTER TABLE: relation \"%s\" has no column \"%s\""
-msgstr ""
-
-#: commands/tablecmds.c:2111
-#, c-format
-msgid "ALTER TABLE: Attribute \"%s\" contains NULL values"
-msgstr ""
-
-#: commands/tablecmds.c:2160
-#, c-format
-msgid "ALTER TABLE: relation \"%s\" is not a table or view"
-msgstr ""
-
-#: commands/tablecmds.c:2284
-#, c-format
-msgid "ALTER TABLE: statistics target %d is too low"
-msgstr ""
-
-#: commands/tablecmds.c:2289
-msgid "ALTER TABLE: lowering statistics target to 1000"
-msgstr ""
-
-# [SM]: TO REVIEW
-#: commands/tablecmds.c:2310
-#, c-format
-msgid "ALTER TABLE: \"%s\" storage not recognized"
-msgstr "ALTER TABLE: \"%s\" ÍÅÄÉÑ ÎÅ ÒÁÓÐÏÚÎÁÎÁ"
-
-#: commands/tablecmds.c:2315
-#, c-format
-msgid "ALTER TABLE: Invalid column flag: %c"
-msgstr ""
-
-#: commands/tablecmds.c:2357
-#, c-format
-msgid "ALTER TABLE: cannot change system attribute \"%s\""
-msgstr "ALTER TABLE: ÎÅÌØÚÑ ÐÏÍÅÎÑÔØ ÓÉÓÔÅÍÎÙÊ ÁÔÒÉÂÕÔ \"%s\""
-
-#: commands/tablecmds.c:2374
-#, c-format
-msgid "ALTER TABLE: Column datatype %s can only have storage \"plain\""
-msgstr ""
-
-#: commands/tablecmds.c:2428
-#, c-format
-msgid "ALTER TABLE: Cannot drop system attribute \"%s\""
-msgstr ""
-
-#: commands/tablecmds.c:2434
-#, c-format
-msgid "ALTER TABLE: Cannot drop inherited column \"%s\""
-msgstr ""
-
-#: commands/tablecmds.c:2463 commands/tablecmds.c:2514
-#, c-format
-msgid "ALTER TABLE: relation %u has no column \"%s\""
-msgstr "ALTER TABLE: Õ Ó×ÑÚÉ %u ÎÅÔ ËÏÌÏÎËÉ \"%s\""
-
-#: commands/tablecmds.c:2468 commands/tablecmds.c:2519
-#, c-format
-msgid "ALTER TABLE: relation %u has non-inherited column \"%s\""
-msgstr "ALTER TABLE: Õ Ó×ÑÚÉ %u ÎÅÔ ÎÅÎÁÓÌÅÄÏ×ÁÎÎÏÊ ËÏÌÏÎËÉ \"%s\""
-
-#: commands/tablecmds.c:2655
-msgid ""
-"ALTER TABLE / ADD CONSTRAINT is not implemented for that constraint type."
-msgstr ""
-
-#: commands/tablecmds.c:2687
-msgid ""
-"ALTER TABLE / ADD CONSTRAINT unable to determine type of constraint passed"
-msgstr ""
-
-#: commands/tablecmds.c:2747
-#, c-format
-msgid "Only relation '%s' can be referenced in CHECK"
-msgstr ""
-
-#: commands/tablecmds.c:2802
-#, c-format
-msgid "AlterTableAddConstraint: rejected due to CHECK constraint %s"
-msgstr ""
-
-#: commands/tablecmds.c:2858
-#, c-format
-msgid "referenced relation \"%s\" is not a table"
-msgstr ""
-
-#: commands/tablecmds.c:2863
-#, c-format
-msgid "%s: relation \"%s\" is a system catalog"
-msgstr "%s: ÏÂßÅËÔ \"%s\" Ñ×ÌÑÅÔÓÑ ÓÉÓÔÅÍÎÙÍ ËÁÔÁÌÏÇÏÍ"
-
-#: commands/tablecmds.c:2878
-#, c-format
-msgid "%s: Unable to reference temporary table from permanent table constraint"
-msgstr ""
-
-#: commands/tablecmds.c:2920
-#, c-format
-msgid ""
-"%s: number of referencing and referenced attributes for foreign key disagree"
-msgstr ""
-
-#: commands/tablecmds.c:3001
-#, c-format
-msgid "%s: column \"%s\" referenced in foreign key constraint does not exist"
-msgstr ""
-
-#: commands/tablecmds.c:3004
-#, c-format
-msgid "Can only have %d keys in a foreign key"
-msgstr ""
-
-#: commands/tablecmds.c:3048
-#, c-format
-msgid "transformFkeyGetPrimaryKey: index %u not found"
-msgstr ""
-
-#: commands/tablecmds.c:3066
-#, c-format
-msgid "PRIMARY KEY for referenced table \"%s\" not found"
-msgstr ""
-
-#: commands/tablecmds.c:3122
-#, c-format
-msgid "transformFkeyCheckAttrs: index %u not found"
-msgstr ""
-
-#: commands/tablecmds.c:3180
-#, c-format
-msgid ""
-"UNIQUE constraint matching given keys for referenced table \"%s\" not found"
-msgstr ""
-
-#: commands/tablecmds.c:3343
-#, c-format
-msgid ""
-"number of key attributes in referenced table must be equal to foreign key\n"
-"\tIllegal FOREIGN KEY definition references \"%s\""
-msgstr ""
-
-#: commands/tablecmds.c:3399
-msgid "Unrecognized ON DELETE action for FOREIGN KEY constraint"
-msgstr ""
-
-#: commands/tablecmds.c:3465
-msgid "Unrecognized ON UPDATE action for FOREIGN KEY constraint"
-msgstr ""
-
-#: commands/tablecmds.c:3510
-#, c-format
-msgid "fkMatchTypeToString: Unknown MATCH TYPE '%c'"
-msgstr ""
-
-#: commands/tablecmds.c:3586
-#, c-format
-msgid "ALTER TABLE / DROP CONSTRAINT: %s does not exist"
-msgstr ""
-
-#: commands/tablecmds.c:3590
-msgid "Multiple constraints dropped"
-msgstr ""
-
-#: commands/tablecmds.c:3615
-#, c-format
-msgid "ALTER TABLE: relation %u not found"
-msgstr "ALTER TABLE: Ó×ÑÚØ %u ÎÅ ÎÁÊÄÅÎÁ"
-
-#: commands/tablecmds.c:3677
-#, c-format
-msgid ""
-"ALTER TABLE: relation \"%s\" is not a table, TOAST table, index, view, or "
-"sequence"
-msgstr ""
-
-#: commands/tablecmds.c:3727
-msgid "Shared relations cannot be toasted after initdb"
-msgstr ""
-
-#: commands/tablecmds.c:3740
-#, c-format
-msgid "ALTER TABLE: relation \"%s\" already has a toast table"
-msgstr ""
-
-#: commands/tablecmds.c:3755
-#, c-format
-msgid "ALTER TABLE: relation \"%s\" does not need a toast table"
-msgstr ""
-
-#: commands/trigger.c:132
-#, c-format
-msgid "Unable to find table for constraint \"%s\""
-msgstr ""
-
-#: commands/trigger.c:137
-#, c-format
-msgid "CreateTrigger: relation \"%s\" is not a table"
-msgstr ""
-
-#: commands/trigger.c:141
-#, c-format
-msgid "CreateTrigger: can't create trigger for system relation %s"
-msgstr ""
-
-#: commands/trigger.c:208
-msgid "CreateTrigger: double INSERT event specified"
-msgstr ""
-
-#: commands/trigger.c:213
-msgid "CreateTrigger: double DELETE event specified"
-msgstr ""
-
-#: commands/trigger.c:218
-msgid "CreateTrigger: double UPDATE event specified"
-msgstr ""
-
-#: commands/trigger.c:222
-msgid "CreateTrigger: unknown event specified"
-msgstr ""
-
-#: commands/trigger.c:248
-#, c-format
-msgid "CreateTrigger: trigger %s already defined on relation %s"
-msgstr ""
-
-#: commands/trigger.c:260
-#, c-format
-msgid "CreateTrigger: function %s() does not exist"
-msgstr ""
-
-#: commands/trigger.c:271
-#, c-format
-msgid ""
-"CreateTrigger: changing return type of function %s() from OPAQUE to TRIGGER"
-msgstr ""
-
-#: commands/trigger.c:276
-#, c-format
-msgid "CreateTrigger: function %s() must return TRIGGER"
-msgstr ""
-
-#: commands/trigger.c:376
-#, c-format
-msgid "CreateTrigger: relation %s not found in pg_class"
-msgstr ""
-
-#: commands/trigger.c:461
-#, c-format
-msgid "DropTrigger: there is no trigger %s on relation %s"
-msgstr ""
-
-#: commands/trigger.c:510
-#, c-format
-msgid "RemoveTriggerById: Trigger %u does not exist"
-msgstr "RemoveTriggerById: ôÒÉÇÇÅÒ %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: commands/trigger.c:521
-#, c-format
-msgid "DropTrigger: relation \"%s\" is not a table"
-msgstr ""
-
-#: commands/trigger.c:525
-#, c-format
-msgid "DropTrigger: can't drop trigger for system relation %s"
-msgstr ""
-
-#: commands/trigger.c:550
-#, c-format
-msgid "DropTrigger: relation %s not found in pg_class"
-msgstr ""
-
-#: commands/trigger.c:555
-#, c-format
-msgid "DropTrigger: relation %s has reltriggers = 0"
-msgstr ""
-
-#: commands/trigger.c:626
-#, c-format
-msgid "renametrig: trigger %s already defined on relation %s"
-msgstr ""
-
-#: commands/trigger.c:667
-#, c-format
-msgid "renametrig: trigger %s not defined on relation %s"
-msgstr ""
-
-#: commands/trigger.c:730
-#, c-format
-msgid "RelationBuildTriggers: unexpected record found for rel %s"
-msgstr ""
-
-#: commands/trigger.c:758
-#, c-format
-msgid "RelationBuildTriggers: tgargs IS NULL for rel %s"
-msgstr ""
-
-#: commands/trigger.c:778
-#, c-format
-msgid "RelationBuildTriggers: %d record(s) not found for rel %s"
-msgstr ""
-
-#: commands/trigger.c:1129
-#, c-format
-msgid "ExecCallTriggerFunc: function %u returned NULL"
-msgstr ""
-
-#: commands/trigger.c:1179 commands/trigger.c:1290 commands/trigger.c:1414
-msgid "BEFORE STATEMENT trigger cannot return a value."
-msgstr ""
-
-#: commands/trigger.c:1534 executor/execMain.c:1015 executor/execMain.c:1308
-#: executor/execMain.c:1442
-msgid "Can't serialize access due to concurrent update"
-msgstr ""
-
-#: commands/trigger.c:1557 executor/execMain.c:1036
-#, c-format
-msgid "Unknown status %u from heap_mark4update"
-msgstr ""
-
-#: commands/trigger.c:1569
-msgid "GetTupleForTrigger: failed ReadBuffer"
-msgstr ""
-
-#: commands/trigger.c:1757
-msgid "DeferredTriggerExecute: failed to fetch old tuple"
-msgstr ""
-
-#: commands/trigger.c:1764
-msgid "DeferredTriggerExecute: failed to fetch new tuple"
-msgstr ""
-
-#: commands/trigger.c:1785
-#, c-format
-msgid "DeferredTriggerExecute: can't find trigger %u"
-msgstr ""
-
-#: commands/trigger.c:1931
-#, c-format
-msgid "deferredTriggerInvokeEvents: relation %u has no triggers"
-msgstr ""
-
-#: commands/trigger.c:2036
-msgid "DeferredTriggerBeginXact() called while inside transaction"
-msgstr ""
-
-#: commands/trigger.c:2211
-msgid "unnamed constraints cannot be set explicitly"
-msgstr ""
-
-#: commands/trigger.c:2242
-#, c-format
-msgid "Constraint '%s' is not deferrable"
-msgstr ""
-
-#: commands/trigger.c:2256
-#, c-format
-msgid "Constraint '%s' does not exist"
-msgstr ""
-
-#: commands/trigger.c:2332
-msgid "DeferredTriggerSaveEvent() called outside of transaction"
-msgstr ""
-
-#: commands/typecmds.c:117
-#, c-format
-msgid "DefineType: type names must be %d characters or less"
-msgstr ""
-
-#: commands/typecmds.c:147
-#, c-format
-msgid "Array element type cannot be %s"
-msgstr ""
-
-#: commands/typecmds.c:178
-#, c-format
-msgid "DefineType: \"%s\" alignment not recognized"
-msgstr ""
-
-#: commands/typecmds.c:194
-#, c-format
-msgid "DefineType: \"%s\" storage not recognized"
-msgstr ""
-
-#: commands/typecmds.c:199
-#, c-format
-msgid "DefineType: attribute \"%s\" not recognized"
-msgstr ""
-
-#: commands/typecmds.c:208
-msgid "Define: \"input\" unspecified"
-msgstr ""
-
-#: commands/typecmds.c:210
-msgid "Define: \"output\" unspecified"
-msgstr ""
-
-#: commands/typecmds.c:243
-#, c-format
-msgid "TypeCreate: changing return type of function %s from OPAQUE to %s"
-msgstr ""
-
-#: commands/typecmds.c:248
-#, c-format
-msgid "Type input function %s must return %s"
-msgstr ""
-
-#: commands/typecmds.c:256
-#, c-format
-msgid "TypeCreate: changing return type of function %s from OPAQUE to CSTRING"
-msgstr ""
-
-#: commands/typecmds.c:261
-#, c-format
-msgid "Type output function %s must return cstring"
-msgstr ""
-
-#: commands/typecmds.c:389
-#, c-format
-msgid "RemoveTypeById: type %u not found"
-msgstr "RemoveTypeById: ÔÉР%u ÎÅ ÎÁÊÄÅÎ"
-
-#: commands/typecmds.c:450
-#, c-format
-msgid "CREATE DOMAIN: domain names must be %d characters or less"
-msgstr ""
-
-#: commands/typecmds.c:469
-#, c-format
-msgid "DefineDomain: %s is not a basetype"
-msgstr ""
-
-#: commands/typecmds.c:522
-msgid "CREATE DOMAIN / FOREIGN KEY constraints not supported"
-msgstr "CREATE DOMAIN / FOREIGN KEY: ËÏÉÓÔÒÜÊÔÙ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ"
-
-#: commands/typecmds.c:526
-msgid "DefineDomain: unexpected constraint node type"
-msgstr ""
-
-#: commands/typecmds.c:538
-msgid "CREATE DOMAIN has multiple DEFAULT expressions"
-msgstr ""
-
-#: commands/typecmds.c:565 commands/typecmds.c:572
-msgid "CREATE DOMAIN has conflicting NULL / NOT NULL constraint"
-msgstr ""
-
-#: commands/typecmds.c:588
-msgid "CREATE DOMAIN / UNIQUE not supported"
-msgstr "CREATE DOMAIN / UNIQUE ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ"
-
-#: commands/typecmds.c:592
-msgid "CREATE DOMAIN / PRIMARY KEY not supported"
-msgstr "CREATE DOMAIN / PRIMARY KEY ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ"
-
-#: commands/typecmds.c:599
-msgid ""
-"CREATE DOMAIN: DEFERRABLE, NON DEFERRABLE, DEFERRED and IMMEDIATE not "
-"supported"
-msgstr ""
-
-#: commands/typecmds.c:604
-msgid "DefineDomain: unrecognized constraint subtype"
-msgstr ""
-
-#: commands/typecmds.c:696
-#, c-format
-msgid "RemoveDomain: type \"%s\" does not exist"
-msgstr "RemoveDomain: ÔÉР\"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: commands/typecmds.c:709 commands/typecmds.c:1507
-#, c-format
-msgid "%s is not a domain"
-msgstr "%s ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÍÅÎÏÍ"
-
-#: commands/typecmds.c:778
-#, c-format
-msgid "TypeCreate: changing argument type of function %s from OPAQUE to %s"
-msgstr ""
-
-#: commands/typecmds.c:837
-#, c-format
-msgid ""
-"TypeCreate: changing argument type of function %s from OPAQUE to CSTRING"
-msgstr ""
-
-#: commands/typecmds.c:880
-msgid "attempted to define composite type relation with no attrs"
-msgstr ""
-
-#: commands/typecmds.c:941 commands/typecmds.c:1060 commands/typecmds.c:1185
-#: commands/typecmds.c:1272
-#, c-format
-msgid "AlterDomain: type \"%s\" does not exist"
-msgstr "AlterDomain: ÔÉР\"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: commands/typecmds.c:1070
-#, c-format
-msgid "AlterDomain: %s is already set to %s"
-msgstr ""
-
-#: commands/typecmds.c:1111
-#, c-format
-msgid "ALTER DOMAIN: Relation \"%s\" Attribute \"%s\" contains NULL values"
-msgstr ""
-
-#: commands/typecmds.c:1282
-msgid "ALTER DOMAIN / FOREIGN KEY constraints not supported"
-msgstr "ALTER DOMAIN / FOREIGN KEY: ËÏÎÓÔÒÜÊÎÔÙ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ"
-
-#: commands/typecmds.c:1286
-msgid "AlterDomainAddConstraint: unexpected constraint node type"
-msgstr ""
-
-#: commands/typecmds.c:1293
-msgid "Use ALTER DOMAIN .. SET DEFAULT instead"
-msgstr ""
-
-#: commands/typecmds.c:1298
-msgid "Use ALTER DOMAIN .. [ SET | DROP ] NOT NULL instead"
-msgstr ""
-
-#: commands/typecmds.c:1306
-msgid "ALTER DOMAIN / UNIQUE indexes not supported"
-msgstr "ALTER DOMAIN / UNIQUE: ÉÎÄÅËÓÙ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ"
-
-#: commands/typecmds.c:1310
-msgid "ALTER DOMAIN / PRIMARY KEY indexes not supported"
-msgstr "ALTER DOMAIN / PRIMARY KEY: ÉÎÄÅËÓÙ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ"
-
-#: commands/typecmds.c:1317
-msgid ""
-"ALTER DOMAIN: DEFERRABLE, NON DEFERRABLE, DEFERRED and IMMEDIATE not "
-"supported"
-msgstr ""
-
-#: commands/typecmds.c:1322
-msgid "AlterDomainAddConstraint: unrecognized constraint node type"
-msgstr ""
-
-#: commands/typecmds.c:1387
-#, c-format
-msgid "AlterDomainAddConstraint: Domain %s constraint %s failed"
-msgstr ""
-
-#: commands/typecmds.c:1535
-#, c-format
-msgid "constraint \"%s\" already exists for domain \"%s\""
-msgstr "ËÏÎÓÔÒÜÊÔ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ ÄÌÑ ÄÏÍÅÎÁ \"%s\""
-
-#: commands/typecmds.c:1575
-msgid "Relations cannot be referenced in domain CHECK constraint"
-msgstr ""
-
-#: commands/typecmds.c:1582
-msgid "cannot use column references in domain CHECK clause"
-msgstr ""
-
-#: commands/user.c:147
-#, c-format
-msgid "write_group_file: unable to write %s: %m"
-msgstr ""
-
-#: commands/user.c:181
-#, c-format
-msgid "Invalid group name '%s'"
-msgstr "îÅ×ÅÒÎÏÅ ÉÍÑ ÇÒÕÐÐÙ '%s'"
-
-#: commands/user.c:211 commands/user.c:335
-#, c-format
-msgid "Invalid user name '%s'"
-msgstr "îÅ×ÅÒÎÏÅ ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ '%s'"
-
-#: commands/user.c:242 commands/user.c:364
-#, c-format
-msgid "%s: %m"
-msgstr "%s: %m"
-
-#: commands/user.c:250 commands/user.c:372
-#, c-format
-msgid "rename %s to %s: %m"
-msgstr "RENAME %s TO %s: %m"
-
-#: commands/user.c:286
-#, c-format
-msgid "write_user_file: unable to write %s: %m"
-msgstr "write_user_file: ÎÅ ÕÄÁÌÏÓØ ÚÁÐÉÓÁÔØ %s: %m"
-
-#: commands/user.c:341
-#, c-format
-msgid "Invalid user password '%s'"
-msgstr "îÅ×ÅÒÎÙÊ ÐÁÒÏÌØ '%s'"
-
-#: commands/user.c:505 commands/user.c:515 commands/user.c:521
-#: commands/user.c:527 commands/user.c:533 commands/user.c:539
-msgid "CREATE USER: conflicting options"
-msgstr ""
-
-#: commands/user.c:543
-#, c-format
-msgid "CREATE USER: option \"%s\" not recognized"
-msgstr ""
-
-#: commands/user.c:555
-msgid "user id must be positive"
-msgstr ""
-
-#: commands/user.c:570
-msgid "CREATE USER: permission denied"
-msgstr ""
-
-#: commands/user.c:573
-#, c-format
-msgid "CREATE USER: user name \"%s\" is reserved"
-msgstr ""
-
-#: commands/user.c:608
-#, c-format
-msgid "CREATE USER: user name \"%s\" already exists"
-msgstr ""
-
-#: commands/user.c:611
-#, c-format
-msgid "CREATE USER: sysid %d is already assigned"
-msgstr ""
-
-#: commands/user.c:642 commands/user.c:843
-msgid "CREATE USER: password encryption failed"
-msgstr ""
-
-#: commands/user.c:733 commands/user.c:743 commands/user.c:749
-#: commands/user.c:755
-msgid "ALTER USER: conflicting options"
-msgstr ""
-
-#: commands/user.c:759
-#, c-format
-msgid "ALTER USER: option \"%s\" not recognized"
-msgstr ""
-
-#: commands/user.c:782
-msgid "ALTER USER: permission denied"
-msgstr "ALTER USER: ÎÅÔ ÄÏÓÔÕÐÁ"
-
-#: commands/user.c:796
-#, c-format
-msgid "ALTER USER: user \"%s\" does not exist"
-msgstr "ALTER USER: ÐÏÌØÚÏ×ÁÔÅÌØ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: commands/user.c:907 commands/variable.c:549 utils/cache/lsyscache.c:1543
-#: utils/init/miscinit.c:555
-#, c-format
-msgid "user \"%s\" does not exist"
-msgstr "ÐÏÌØÚÏ×ÁÔÅÌØ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: commands/user.c:968
-msgid "DROP USER: permission denied"
-msgstr "DROP USER: ÎÅÄ ÄÏÓÔÕÐÁ"
-
-#: commands/user.c:995
-#, c-format
-msgid "DROP USER: user \"%s\" does not exist (no users removed)"
-msgstr ""
-"DROP USER: ÐÏÌØÚÏ×ÁÔÅÌØ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ (ÎÉËÔÏ ÉÚ ÐÏÏÌØÚÏ×ÁÔÅÌÅÊ ÎÅ "
-"ÕÄÁÌ£Î)"
-
-#: commands/user.c:997
-#, c-format
-msgid "DROP USER: user \"%s\" does not exist"
-msgstr "DROP USER: ÐÏÌØÚÏ×ÁÔÅÌØ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: commands/user.c:1003
-msgid "current user cannot be dropped"
-msgstr ""
-
-#: commands/user.c:1005
-msgid "session user cannot be dropped"
-msgstr ""
-
-#: commands/user.c:1029
-#, c-format
-msgid "DROP USER: user \"%s\" owns database \"%s\", cannot be removed%s"
-msgstr ""
-
-#: commands/user.c:1109
-#, c-format
-msgid "CheckPgUserAclNotNull: \"%s\" not found"
-msgstr ""
-
-#: commands/user.c:1114
-#, c-format
-msgid ""
-"To use passwords, you have to revoke permissions on %s so normal users "
-"cannot read the passwords. Try 'REVOKE ALL ON \"%s\" FROM PUBLIC'."
-msgstr ""
-"äÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÐÁÒÏÌÅÊ ÔÒÅÂÕÅÔÓÑ ÏÔÎÑÔØ ÐÒÁ×Á ÎÁ %s ÔÁË ÞÔÏÂÙ ÏÂÙÞÎÙÅ "
-"ÐÏÌØÚÏ×ÁÔÅÌÉ ÎÅ ÓÍÏÇÌÉ ÉÈ ÞÉÔÁÔØ. ðÏÐÒÏÂÕÊÔÅ 'REVOKE ALL ON \"%s\" FROM "
-"PUBLIC'."
-
-#: commands/user.c:1156 commands/user.c:1162
-msgid "CREATE GROUP: conflicting options"
-msgstr "CREATE GROUP: ËÏÎÆÌÉËÔ ÏÐÃÉÊ"
-
-#: commands/user.c:1166
-#, c-format
-msgid "CREATE GROUP: option \"%s\" not recognized"
-msgstr "CREATE GROUP: ÏÐÃÉÑ \"%s\" ÎÅ ÒÁÓÐÏÚÎÁÎÁ"
-
-#: commands/user.c:1174
-msgid "group id must be positive"
-msgstr ""
-
-#: commands/user.c:1185
-msgid "CREATE GROUP: permission denied"
-msgstr "CREATE GROUP: ÎÅÔ ÄÏÓÔÕÐÁ"
-
-#: commands/user.c:1188
-#, c-format
-msgid "CREATE GROUP: group name \"%s\" is reserved"
-msgstr ""
-
-#: commands/user.c:1223
-#, c-format
-msgid "CREATE GROUP: group name \"%s\" already exists"
-msgstr ""
-
-#: commands/user.c:1226
-#, c-format
-msgid "CREATE GROUP: group sysid %d is already assigned"
-msgstr ""
-
-#: commands/user.c:1319
-#, c-format
-msgid "%s: group \"%s\" does not exist"
-msgstr ""
-
-#: commands/user.c:1360
-#, c-format
-msgid "AlterGroup: unknown tag %s"
-msgstr ""
-
-#: commands/user.c:1372
-#, c-format
-msgid "%s: user \"%s\" is already in group \"%s\""
-msgstr ""
-
-#: commands/user.c:1387
-#, c-format
-msgid "ALTER GROUP: group \"%s\" does not have any members"
-msgstr ""
-
-#: commands/user.c:1412
-#, c-format
-msgid "ALTER GROUP: user \"%s\" is not in group \"%s\""
-msgstr ""
-
-#: commands/user.c:1541
-msgid "DROP GROUP: permission denied"
-msgstr ""
-
-#: commands/user.c:1554
-#, c-format
-msgid "DROP GROUP: group \"%s\" does not exist"
-msgstr ""
-
-#: commands/vacuum.c:459
-msgid ""
-"oldest Xmin is far in the past --- close open transactions soon to avoid "
-"wraparound problems"
-msgstr ""
-
-#: commands/vacuum.c:505 commands/vacuum.c:512
-#, c-format
-msgid "pg_class entry for relid %u vanished during vacuuming"
-msgstr ""
-
-#: commands/vacuum.c:665
-msgid ""
-"Some databases have not been vacuumed in over 2 billion transactions.\n"
-"\tYou may have already suffered transaction-wraparound data loss."
-msgstr ""
-
-#: commands/vacuum.c:676
-msgid ""
-"Some databases have not been vacuumed in over 1 billion transactions.\n"
-"\tBetter vacuum them soon, or you may have a wraparound failure."
-msgstr ""
-
-#: commands/vacuum.c:683
-#, c-format
-msgid ""
-"Some databases have not been vacuumed in %d transactions.\n"
-"\tBetter vacuum them within %d transactions,\n"
-"\tor you may have a wraparound failure."
-msgstr ""
-
-#: commands/vacuum.c:771
-#, c-format
-msgid "Skipping \"%s\" --- only table or database owner can VACUUM it"
-msgstr ""
-
-#: commands/vacuum.c:977
-#, c-format
-msgid "VACUUM (full_vacuum_rel): FlushRelationBuffers returned %d"
-msgstr ""
-
-#: commands/vacuum.c:1044 commands/vacuumlazy.c:210
-#, c-format
-msgid "--Relation %s.%s--"
-msgstr ""
-
-#: commands/vacuum.c:1078 commands/vacuumlazy.c:268
-#, c-format
-msgid "Rel %s: Uninitialized page %u - fixing"
-msgstr ""
-
-#: commands/vacuum.c:1192
-#, c-format
-msgid ""
-"Rel %s: TID %u/%u: InsertTransactionInProgress %u - can't shrink relation"
-msgstr ""
-
-#: commands/vacuum.c:1202
-#, c-format
-msgid ""
-"Rel %s: TID %u/%u: DeleteTransactionInProgress %u - can't shrink relation"
-msgstr ""
-
-#: commands/vacuum.c:1220 commands/vacuumlazy.c:372
-#, c-format
-msgid "Rel %s: TID %u/%u: OID IS INVALID. TUPGONE %d."
-msgstr ""
-
-#: commands/vacuum.c:1358
-#, c-format
-msgid ""
-"Pages %u: Changed %u, reaped %u, Empty %u, New %u; Tup %.0f: Vac %.0f, Keep/"
-"VTL %.0f/%u, UnUsed %.0f, MinLen %lu, MaxLen %lu; Re-using: Free/Avail. "
-"Space %.0f/%.0f; EndEmpty/Avail. Pages %u/%u.\n"
-"\t%s"
-msgstr ""
-
-#: commands/vacuum.c:1582
-msgid "HEAP_MOVED_IN was not expected"
-msgstr ""
-
-#: commands/vacuum.c:1592
-msgid "Invalid XVAC in tuple header"
-msgstr ""
-
-#: commands/vacuum.c:1617
-msgid "HEAP_MOVED_OFF was expected"
-msgstr ""
-
-#: commands/vacuum.c:1671 commands/vacuum.c:1793
-msgid "Parent item in update-chain not found - can't continue repair_frag"
-msgstr ""
-
-#: commands/vacuum.c:1708
-msgid ""
-"Child itemid in update-chain marked as unused - can't continue repair_frag"
-msgstr ""
-
-#: commands/vacuum.c:1805
-msgid "Parent itemid marked as unused"
-msgstr ""
-
-#: commands/vacuum.c:1829
-msgid "Too old parent tuple found - can't continue repair_frag"
-msgstr ""
-
-#: commands/vacuum.c:1958
-#, c-format
-msgid "moving chain: failed to add item with len = %lu to page %u"
-msgstr ""
-
-#: commands/vacuum.c:2102
-#, c-format
-msgid ""
-"failed to add item with len = %lu to page %u (free space %lu, nusd %u, noff %"
-"u)"
-msgstr ""
-
-#: commands/vacuum.c:2191
-msgid "HEAP_MOVED_IN was not expected (2)"
-msgstr ""
-
-#: commands/vacuum.c:2195
-msgid "Invalid XVAC in tuple header (4)"
-msgstr ""
-
-#: commands/vacuum.c:2220
-msgid "HEAP_MOVED_OFF was expected (2)"
-msgstr ""
-
-#: commands/vacuum.c:2331
-msgid "HEAP_MOVED_OFF/HEAP_MOVED_IN was expected"
-msgstr ""
-
-#: commands/vacuum.c:2333
-msgid "Invalid XVAC in tuple header (2)"
-msgstr ""
-
-#: commands/vacuum.c:2351
-#, c-format
-msgid ""
-"Rel %s: Pages: %u --> %u; Tuple(s) moved: %u.\n"
-"\t%s"
-msgstr ""
-
-#: commands/vacuum.c:2413
-msgid "Invalid XVAC in tuple header (3)"
-msgstr ""
-
-#: commands/vacuum.c:2418
-msgid "HEAP_MOVED_OFF was expected (3)"
-msgstr ""
-
-#: commands/vacuum.c:2468
-#, c-format
-msgid "VACUUM (repair_frag): FlushRelationBuffers returned %d"
-msgstr ""
-
-#: commands/vacuum.c:2534
-#, c-format
-msgid "VACUUM (vacuum_heap): FlushRelationBuffers returned %d"
-msgstr ""
-
-#: commands/vacuum.c:2540
-#, c-format
-msgid "Rel %s: Pages: %u --> %u."
-msgstr ""
-
-#: commands/vacuum.c:2625 commands/vacuumlazy.c:599
-#, c-format
-msgid ""
-"Index %s: Pages %u; Tuples %.0f.\n"
-"\t%s"
-msgstr ""
-
-#: commands/vacuum.c:2638 commands/vacuum.c:2692
-#, c-format
-msgid ""
-"Index %s: NUMBER OF INDEX' TUPLES (%.0f) IS NOT THE SAME AS HEAP' (%.0f).\n"
-"\tRecreate the index."
-msgstr ""
-
-#: commands/vacuum.c:2679 commands/vacuumlazy.c:646
-#, c-format
-msgid ""
-"Index %s: Pages %u; Tuples %.0f: Deleted %.0f.\n"
-"\t%s"
-msgstr ""
-
-#: commands/vacuumlazy.c:434
-#, c-format
-msgid ""
-"Pages %u: Changed %u, Empty %u; Tup %.0f: Vac %.0f, Keep %.0f, UnUsed %.0f.\n"
-"\tTotal %s"
-msgstr ""
-
-#: commands/vacuumlazy.c:484
-#, c-format
-msgid ""
-"Removed %d tuples in %d pages.\n"
-"\t%s"
-msgstr ""
-
-#: commands/vacuumlazy.c:720
-#, c-format
-msgid "VACUUM (lazy_truncate_heap): FlushRelationBuffers returned %d"
-msgstr ""
-
-#: commands/vacuumlazy.c:755
-#, c-format
-msgid ""
-"Truncated %u --> %u pages.\n"
-"\t%s"
-msgstr ""
-
-#: commands/variable.c:62
-msgid "SET DATESTYLE: invalid list syntax"
-msgstr ""
-
-#: commands/variable.c:141
-#, c-format
-msgid "SET DATESTYLE: unrecognized keyword %s"
-msgstr ""
-
-#: commands/variable.c:156
-msgid "SET DATESTYLE: conflicting specifications"
-msgstr ""
-
-#: commands/variable.c:288
-msgid "SET TIME ZONE: illegal INTERVAL; month not allowed"
-msgstr ""
-
-#: commands/variable.c:331
-msgid "Unable to clear TZ environment variable"
-msgstr ""
-
-#: commands/variable.c:351
-msgid "assign_timezone: putenv failed"
-msgstr ""
-
-#: commands/variable.c:420
-msgid "SET TRANSACTION ISOLATION LEVEL must be called before any query"
-msgstr ""
-
-#: commands/variable.c:495
-#, c-format
-msgid "Conversion between %s and %s is not supported"
-msgstr ""
-
-#: commands/variable.c:507
-msgid "SET SERVER_ENCODING is not supported"
-msgstr "SET SERVER_ENCODING ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
-
-#: commands/view.c:87
-msgid "attempted to define virtual relation with no attrs"
-msgstr ""
-
-#: commands/view.c:109
-#, c-format
-msgid "%s is not a view"
-msgstr "%s ÎÅ Ñ×ÌÑÅÔÓÑ ×ÉÄÏÍ"
-
-#: commands/view.c:162 commands/view.c:172
-msgid "Cannot change number of columns in view"
-msgstr ""
-
-#: commands/view.c:175
-#, c-format
-msgid "Cannot change name of view column \"%s\""
-msgstr ""
-
-#: commands/view.c:180
-#, c-format
-msgid "Cannot change datatype of view column \"%s\""
-msgstr ""
-
-#: executor/execAmi.c:163
-#, c-format
-msgid "ExecReScan: node type %d not supported"
-msgstr ""
-
-#: executor/execAmi.c:211
-#, c-format
-msgid "ExecMarkPos: node type %d not supported"
-msgstr ""
-
-#: executor/execAmi.c:252
-#, c-format
-msgid "ExecRestrPos: node type %d not supported"
-msgstr ""
-
-#: executor/execMain.c:369
-#, c-format
-msgid "ExecCheckRTEPerms: bogus operation %d"
-msgstr ""
-
-#: executor/execMain.c:741
-#, c-format
-msgid "You can't change sequence relation %s"
-msgstr ""
-
-#: executor/execMain.c:745
-#, c-format
-msgid "You can't change toast relation %s"
-msgstr ""
-
-#: executor/execMain.c:749
-#, c-format
-msgid "You can't change view relation %s"
-msgstr ""
-
-#: executor/execMain.c:963
-msgid "ExecutePlan: NO (junk) `ctid' was found!"
-msgstr ""
-
-#: executor/execMain.c:967
-msgid "ExecutePlan: (junk) `ctid' is NULL!"
-msgstr ""
-
-#: executor/execMain.c:992
-#, c-format
-msgid "ExecutePlan: NO (junk) `%s' was found!"
-msgstr ""
-
-#: executor/execMain.c:997
-#, c-format
-msgid "ExecutePlan: (junk) `%s' is NULL!"
-msgstr ""
-
-#: executor/execMain.c:1086
-msgid "ExecutePlan: unknown operation in queryDesc"
-msgstr ""
-
-#: executor/execMain.c:1372
-msgid "ExecUpdate: UPDATE can't run without transactions"
-msgstr ""
-
-#: executor/execMain.c:1572
-#, c-format
-msgid "%s: Fail to add null value in not null attribute %s"
-msgstr ""
-
-#: executor/execMain.c:1582
-#, c-format
-msgid "%s: rejected due to CHECK constraint \"%s\" on \"%s\""
-msgstr ""
-
-#: executor/execMain.c:1625
-#, c-format
-msgid "EvalPlanQual: can't find RTE %d"
-msgstr ""
-
-#: executor/execMain.c:1643
-msgid "EvalPlanQual: t_xmin is uncommitted ?!"
-msgstr ""
-
-#: executor/execProcnode.c:218
-#, c-format
-msgid "ExecInitNode: node type %d unsupported"
-msgstr ""
-
-#: executor/execProcnode.c:378
-#, c-format
-msgid "ExecProcNode: node type %d unsupported"
-msgstr ""
-
-#: executor/execProcnode.c:471
-#, c-format
-msgid "ExecCountSlotsNode: node type %d unsupported"
-msgstr ""
-
-#: executor/execProcnode.c:600
-#, c-format
-msgid "ExecEndNode: node type %d unsupported"
-msgstr ""
-
-#: executor/execProcnode.c:776
-#, c-format
-msgid "ExecGetTupType: node type %d unsupported"
-msgstr ""
-
-#: executor/execQual.c:167 executor/execQual.c:189
-#, c-format
-msgid "ExecEvalArrayRef: can only handle %d dimensions"
-msgstr ""
-
-#: executor/execQual.c:211
-msgid "ExecEvalArrayRef: upper and lower indices mismatch"
-msgstr ""
-
-#: executor/execQual.c:292
-msgid "ExecEvalAggref: no aggregates in this expression context"
-msgstr ""
-
-#: executor/execQual.c:470
-#, c-format
-msgid "ExecEvalParam: invalid paramkind %d"
-msgstr ""
-
-#: executor/execQual.c:482
-#, c-format
-msgid "ExecEvalParam: Unknown value for parameter %s"
-msgstr ""
-
-#: executor/execQual.c:485
-#, c-format
-msgid "ExecEvalParam: Unknown value for parameter %d"
-msgstr ""
-
-#: executor/execQual.c:517
-msgid "GetAttributeByNum: Invalid attribute number"
-msgstr ""
-
-#: executor/execQual.c:520
-msgid "GetAttributeByNum: cannot access system attributes here"
-msgstr ""
-
-#: executor/execQual.c:523
-msgid "GetAttributeByNum: a NULL isNull flag was passed"
-msgstr ""
-
-#: executor/execQual.c:551
-msgid "GetAttributeByName: Invalid attribute name"
-msgstr ""
-
-#: executor/execQual.c:554
-msgid "GetAttributeByName: a NULL isNull flag was passed"
-msgstr ""
-
-#: executor/execQual.c:576
-#, c-format
-msgid "GetAttributeByName: attribute %s not found"
-msgstr ""
-
-#: executor/execQual.c:603
-msgid "init_fcache: too many arguments"
-msgstr ""
-
-#: executor/execQual.c:645
-msgid "Functions and operators can take only one set argument"
-msgstr ""
-
-#: executor/execQual.c:695 executor/execQual.c:737 executor/execQual.c:922
-#: executor/execQual.c:2427 executor/functions.c:524 executor/functions.c:559
-#: utils/adt/sets.c:204
-msgid "Set-valued function called in context that cannot accept a set"
-msgstr ""
-
-#: executor/execQual.c:1033 executor/execQual.c:1068
-msgid ""
-"ExecMakeTableFunctionResult: Invalid result from function returning tuple"
-msgstr ""
-
-#: executor/execQual.c:1093
-msgid "ExecMakeTableFunctionResult: Materialize-mode protocol not followed"
-msgstr ""
-
-#: executor/execQual.c:1098
-#, c-format
-msgid "ExecMakeTableFunctionResult: unknown returnMode %d"
-msgstr ""
-
-#: executor/execQual.c:1218
-msgid "IS DISTINCT FROM does not support set arguments"
-msgstr ""
-
-#: executor/execQual.c:1470
-#, c-format
-msgid "ExecEvalNullTest: unexpected nulltesttype %d"
-msgstr ""
-
-#: executor/execQual.c:1555
-#, c-format
-msgid "ExecEvalBooleanTest: unexpected booltesttype %d"
-msgstr ""
-
-#: executor/execQual.c:1584
-#, c-format
-msgid "Domain %s does not allow NULL values"
-msgstr ""
-
-#: executor/execQual.c:1611
-#, c-format
-msgid "ExecEvalConstraintTest: Domain %s constraint %s failed"
-msgstr ""
-
-#: executor/execQual.c:1619
-msgid "ExecEvalConstraintTest: Constraint type unknown"
-msgstr ""
-
-#: executor/execQual.c:1791
-#, c-format
-msgid "ExecEvalExpr: unknown boolop %d"
-msgstr ""
-
-#: executor/execQual.c:1845
-#, c-format
-msgid "ExecEvalExpr: unknown expression type %d"
-msgstr ""
-
-#: executor/execQual.c:1944 optimizer/util/clauses.c:422
-msgid "Aggregate function calls may not be nested"
-msgstr ""
-
-#: executor/execQual.c:1947
-msgid "ExecInitExpr: Aggref not expected here"
-msgstr ""
-
-#: executor/execQual.c:2016 executor/execQual.c:2153
-msgid "ExecInitExpr: SubPlan not expected here"
-msgstr ""
-
-#: executor/execQual.c:2129
-#, c-format
-msgid "ExecInitExpr: unknown expression type %d"
-msgstr ""
-
-#: executor/execTuples.c:259
-msgid ""
-"Plan requires more slots than are available\n"
-"\tsend mail to your local executor guru to fix this"
-msgstr ""
-
-#: executor/functions.c:154
-#, c-format
-msgid "init_sql_fcache: Cache lookup failed for procedure %u"
-msgstr ""
-
-#: executor/functions.c:166
-#, c-format
-msgid "init_sql_fcache: Cache lookup failed for type %u"
-msgstr ""
-
-#: executor/functions.c:228
-#, c-format
-msgid "init_sql_fcache: null prosrc for procedure %u"
-msgstr ""
-
-#: executor/instrument.c:40
-msgid "InstrStartTimer called twice in a row"
-msgstr ""
-
-#: executor/instrument.c:56
-msgid "InstrStopNode without start"
-msgstr ""
-
-#: executor/nodeAgg.c:1253
-#, c-format
-msgid "ExecAgg: cache lookup failed for aggregate %u"
-msgstr "ExecAgg: ÐÏÉÓË × ËÜÛÅ ÁÇÒÅÇÁÔÁ %u ÎÅ ÕÄÁÌÓÑ"
-
-#: executor/nodeAgg.c:1308
-#, c-format
-msgid "Aggregate %u needs to have compatible input type and transition type"
-msgstr ""
-
-#: executor/nodeAgg.c:1357
-#, c-format
-msgid ""
-"GetAggInitVal: cache lookup failed on aggregate transition function return "
-"type %u"
-msgstr ""
-
-#: executor/nodeAgg.c:1465
-#, c-format
-msgid "Aggregate function %u called as normal function"
-msgstr ""
-
-#: executor/nodeFunctionscan.c:91
-msgid ""
-"Query-specified return tuple and actual function return tuple do not match"
-msgstr ""
-
-#: executor/nodeHash.c:705
-#, c-format
-msgid "ComputeHashFunc: Invalid typLen %d"
-msgstr "ComputeHashFunc: îÅ ×ÅÒÎÙÊ typLen %d"
-
-#: executor/nodeHashjoin.c:363
-#, c-format
-msgid "ExecInitHashJoin: unsupported join type %d"
-msgstr ""
-
-#: executor/nodeHashjoin.c:541 executor/nodeHashjoin.c:549
-msgid "Read from hashjoin temp file failed"
-msgstr ""
-
-#: executor/nodeHashjoin.c:605 executor/nodeHashjoin.c:610
-msgid "Failed to rewind hash temp file"
-msgstr ""
-
-#: executor/nodeHashjoin.c:659 executor/nodeHashjoin.c:662
-msgid "Write to hashjoin temp file failed"
-msgstr ""
-
-#: executor/nodeIndexscan.c:675
-msgid "ExecInitIndexScan: indxqual not an opclause!"
-msgstr ""
-
-#: executor/nodeIndexscan.c:777 executor/nodeIndexscan.c:814
-#, c-format
-msgid "ExecInitIndexScan: %s"
-msgstr "ExecInitIndexScan: %s"
-
-#: executor/nodeIndexscan.c:887
-#, c-format
-msgid "indexes of the relation %u was inactivated"
-msgstr ""
-
-#: executor/nodeLimit.c:152 executor/nodeLimit.c:167
-msgid "ExecLimit: subplan failed to run backwards"
-msgstr ""
-
-#: executor/nodeLimit.c:198
-#, c-format
-msgid "ExecLimit: impossible state %d"
-msgstr ""
-
-#: executor/nodeMergejoin.c:132
-msgid "MJFormSkipQuals: op not an OpExpr!"
-msgstr ""
-
-#: executor/nodeMergejoin.c:400
-#, c-format
-msgid "ExecMergeJoin: unsupported join type %d"
-msgstr ""
-
-#: executor/nodeMergejoin.c:1384
-#, c-format
-msgid "ExecMergeJoin: invalid join state %d, aborting"
-msgstr ""
-
-#: executor/nodeMergejoin.c:1471
-msgid "RIGHT JOIN is only supported with mergejoinable join conditions"
-msgstr ""
-
-#: executor/nodeMergejoin.c:1486 optimizer/path/joinpath.c:904
-msgid "FULL JOIN is only supported with mergejoinable join conditions"
-msgstr ""
-
-#: executor/nodeMergejoin.c:1489
-#, c-format
-msgid "ExecInitMergeJoin: unsupported join type %d"
-msgstr ""
-
-#: executor/nodeNestloop.c:322
-#, c-format
-msgid "ExecInitNestLoop: unsupported join type %d"
-msgstr ""
-
-#: executor/nodeSetOp.c:173
-#, c-format
-msgid "ExecSetOp: bogus command code %d"
-msgstr ""
-
-#: executor/nodeSort.c:52
-msgid "ExtractSortKeys: keycount <= 0"
-msgstr ""
-
-#: executor/nodeSubplan.c:56
-msgid "ExecSubPlan: can't set parent params from subquery"
-msgstr ""
-
-#: executor/nodeSubplan.c:125 executor/nodeSubplan.c:150
-#: executor/nodeSubplan.c:427
-msgid "More than one tuple returned by a subselect used as an expression."
-msgstr ""
-
-#: executor/nodeSubplan.c:193
-msgid "ExecSubPlan: failed to find placeholder for subplan result"
-msgstr ""
-
-#: executor/nodeSubplan.c:400
-msgid "ExecSetParamPlan: ANY/ALL subselect unsupported"
-msgstr ""
-
-#: executor/nodeSubplan.c:516
-msgid "ExecReScanSetParamPlan: direct correlated subquery unsupported, yet"
-msgstr ""
-
-#: executor/nodeSubplan.c:518
-msgid "ExecReScanSetParamPlan: setParam list is NULL"
-msgstr ""
-
-#: executor/nodeSubplan.c:520
-msgid "ExecReScanSetParamPlan: extParam list of plan is NULL"
-msgstr ""
-
-#: executor/spi.c:70
-msgid "SPI_connect: no connection(s) expected"
-msgstr ""
-
-#: executor/spi.c:76
-msgid "SPI_connect: some connection(s) expected"
-msgstr ""
-
-#: executor/spi.c:82
-msgid "Memory exhausted in SPI_connect"
-msgstr ""
-
-#: executor/spi.c:148
-msgid "Memory exhausted in SPI_finish"
-msgstr ""
-
-#: executor/spi.c:310 executor/spi.c:337 executor/spi.c:366 executor/spi.c:404
-#: executor/spi.c:648 executor/spi.c:1418
-msgid "SPI: stack corrupted"
-msgstr ""
-
-#: executor/spi.c:714
-msgid "cannot open multi-query plan as cursor"
-msgstr ""
-
-#: executor/spi.c:719
-msgid "plan in SPI_cursor_open() is not a SELECT"
-msgstr ""
-
-#: executor/spi.c:721
-msgid "plan in SPI_cursor_open() must NOT be a DECLARE already"
-msgstr ""
-
-#: executor/spi.c:723
-msgid "plan in SPI_cursor_open() must NOT be a SELECT INTO"
-msgstr ""
-
-#: executor/spi.c:754
-#, c-format
-msgid "cursor \"%s\" already in use"
-msgstr ""
-
-#: executor/spi.c:760
-#, c-format
-msgid "failed to create portal \"%s\""
-msgstr ""
-
-#: executor/spi.c:869 executor/spi.c:1324
-msgid "invalid portal in SPI cursor operation"
-msgstr ""
-
-#: executor/spi.c:894
-msgid "SPI: improper call to spi_printtup"
-msgstr ""
-
-#: executor/spi.c:896
-msgid "SPI: stack corrupted in spi_printtup"
-msgstr ""
-
-#: executor/spi.c:1275
-msgid "SPI_select: retrieve into portal not implemented"
-msgstr ""
-
-#: executor/spi.c:1285
-msgid "SPI_select: # of processed tuples check failed"
-msgstr ""
-
-#: executor/spi.c:1384
-msgid "SPI_fetch: # of processed tuples check failed"
-msgstr ""
-
-#: lib/dllist.c:41
-msgid "Memory exhausted in DLNewList"
-msgstr ""
-
-#: lib/dllist.c:84
-msgid "Memory exhausted in DLNewElem"
-msgstr ""
-
-#: libpq/auth.c:106
-#, c-format
-msgid "pg_krb4_recvauth: kerberos error: %s"
-msgstr ""
-
-#: libpq/auth.c:112
-#, c-format
-msgid "pg_krb4_recvauth: protocol version \"%s\" != \"%s\""
-msgstr ""
-
-#: libpq/auth.c:118
-#, c-format
-msgid "pg_krb4_recvauth: name \"%s\" != \"%s\""
-msgstr ""
-
-#: libpq/auth.c:130
-msgid "pg_krb4_recvauth: Kerberos not implemented on this server"
-msgstr ""
-
-#: libpq/auth.c:190
-#, c-format
-msgid "pg_krb5_init: krb5_init_context returned Kerberos error %d"
-msgstr ""
-
-#: libpq/auth.c:199
-#, c-format
-msgid "pg_krb5_init: krb5_kt_resolve returned Kerberos error %d"
-msgstr ""
-
-#: libpq/auth.c:211
-#, c-format
-msgid "pg_krb5_init: krb5_sname_to_principal returned Kerberos error %d"
-msgstr ""
-
-#: libpq/auth.c:255
-#, c-format
-msgid "pg_krb5_recvauth: krb5_recvauth returned Kerberos error %d"
-msgstr ""
-
-#: libpq/auth.c:279
-#, c-format
-msgid "pg_krb5_recvauth: krb5_unparse_name returned Kerberos error %d"
-msgstr ""
-
-#: libpq/auth.c:290
-#, c-format
-msgid "pg_krb5_recvauth: user name \"%s\" != krb5 name \"%s\""
-msgstr ""
-
-#: libpq/auth.c:309
-msgid "pg_krb5_recvauth: Kerberos not implemented on this server"
-msgstr ""
-
-#: libpq/auth.c:374
-#, c-format
-msgid "%s authentication failed for user \"%s\""
-msgstr ""
-
-#: libpq/auth.c:396
-msgid "Missing or erroneous pg_hba.conf file, see postmaster log for details"
-msgstr ""
-
-#: libpq/auth.c:417
-#, c-format
-msgid "No pg_hba.conf entry for host %s, user %s, database %s"
-msgstr ""
-
-#: libpq/auth.c:452
-#, c-format
-msgid "pg_local_sendauth: can't do setsockopt: %m"
-msgstr ""
-
-#: libpq/auth.c:541
-#, c-format
-msgid "pam_passwd_conv_proc: Error from underlying PAM layer: '%s'"
-msgstr ""
-
-#: libpq/auth.c:545
-#, c-format
-msgid "pam_passwd_conv_proc: Unexpected PAM conversation %d/'%s'"
-msgstr ""
-
-#: libpq/auth.c:575
-msgid "received PAM packet"
-msgstr ""
-
-#: libpq/auth.c:579
-msgid "pam_passwd_conv_proc: no password"
-msgstr ""
-
-#: libpq/auth.c:592
-msgid "pam_passwd_conv_proc: Out of memory!"
-msgstr ""
-
-#: libpq/auth.c:636
-#, c-format
-msgid "CheckPAMAuth: Failed to create PAM authenticator: '%s'"
-msgstr ""
-
-#: libpq/auth.c:646
-#, c-format
-msgid "CheckPAMAuth: pam_set_item(PAM_USER) failed: '%s'"
-msgstr ""
-
-#: libpq/auth.c:656
-#, c-format
-msgid "CheckPAMAuth: pam_set_item(PAM_CONV) failed: '%s'"
-msgstr ""
-
-#: libpq/auth.c:666
-#, c-format
-msgid "CheckPAMAuth: pam_authenticate failed: '%s'"
-msgstr ""
-
-#: libpq/auth.c:676
-#, c-format
-msgid "CheckPAMAuth: pam_acct_mgmt failed: '%s'"
-msgstr ""
-
-#: libpq/auth.c:686
-#, c-format
-msgid "CheckPAMAuth: Failed to release PAM authenticator: '%s'"
-msgstr ""
-
-#: libpq/auth.c:726
-#, c-format
-msgid "unexpected password packet size: read %d, expected %d"
-msgstr ""
-
-#: libpq/auth.c:730
-msgid "received password packet"
-msgstr ""
-
-#: libpq/be-fsstubs.c:84
-#, c-format
-msgid "lo_open(%u,%d)"
-msgstr ""
-
-#: libpq/be-fsstubs.c:102
-#, c-format
-msgid "cannot open large object %u"
-msgstr ""
-
-#: libpq/be-fsstubs.c:122
-#, c-format
-msgid "lo_close: invalid large obj descriptor (%d)"
-msgstr ""
-
-#: libpq/be-fsstubs.c:126
-#, c-format
-msgid "lo_close(%d)"
-msgstr ""
-
-#: libpq/be-fsstubs.c:158
-#, c-format
-msgid "lo_read: invalid large obj descriptor (%d)"
-msgstr ""
-
-#: libpq/be-fsstubs.c:180
-#, c-format
-msgid "lo_write: invalid large obj descriptor (%d)"
-msgstr ""
-
-#: libpq/be-fsstubs.c:206
-#, c-format
-msgid "lo_lseek: invalid large obj descriptor (%d)"
-msgstr ""
-
-#: libpq/be-fsstubs.c:261
-#, c-format
-msgid "lo_tell: invalid large object descriptor (%d)"
-msgstr ""
-
-#: libpq/be-fsstubs.c:363
-msgid ""
-"You must have Postgres superuser privilege to use server-side lo_import().\n"
-"\tAnyone can use the client-side lo_import() provided by libpq."
-msgstr ""
-
-#: libpq/be-fsstubs.c:378
-#, c-format
-msgid "lo_import: can't open unix file \"%s\": %m"
-msgstr ""
-
-#: libpq/be-fsstubs.c:386
-#, c-format
-msgid "lo_import: can't create inv object for \"%s\""
-msgstr ""
-
-#: libpq/be-fsstubs.c:397
-#, c-format
-msgid "lo_import: error while reading \"%s\""
-msgstr ""
-
-#: libpq/be-fsstubs.c:426
-msgid ""
-"You must have Postgres superuser privilege to use server-side lo_export().\n"
-"\tAnyone can use the client-side lo_export() provided by libpq."
-msgstr ""
-
-#: libpq/be-fsstubs.c:436
-#, c-format
-msgid "lo_export: can't open inv object %u"
-msgstr ""
-
-#: libpq/be-fsstubs.c:454
-#, c-format
-msgid "lo_export: can't open unix file \"%s\": %m"
-msgstr ""
-
-#: libpq/be-fsstubs.c:464
-#, c-format
-msgid "lo_export: error while writing \"%s\""
-msgstr ""
-
-#: libpq/be-secure.c:292 libpq/be-secure.c:342
-#, c-format
-msgid "SSL SYSCALL error: %s"
-msgstr ""
-
-#: libpq/be-secure.c:295 libpq/be-secure.c:345
-#, c-format
-msgid "SSL error: %s"
-msgstr ""
-
-#: libpq/be-secure.c:397
-#, c-format
-msgid "DH errors (%s): %d bits expected, %d bits found"
-msgstr ""
-
-#: libpq/be-secure.c:407
-#, c-format
-msgid "DH_check error (%s): %s"
-msgstr ""
-
-#: libpq/be-secure.c:412
-#, c-format
-msgid "DH error (%s): p is not prime"
-msgstr ""
-
-#: libpq/be-secure.c:419
-#, c-format
-msgid "DH error (%s): neither suitable generator or safe prime"
-msgstr ""
-
-#: libpq/be-secure.c:445
-#, c-format
-msgid "DH load buffer: %s"
-msgstr ""
-
-#: libpq/be-secure.c:517
-#, c-format
-msgid "DH: generating parameters (%d bits)...."
-msgstr ""
-
-#: libpq/be-secure.c:551
-msgid "SSL: handshake start"
-msgstr ""
-
-#: libpq/be-secure.c:554
-msgid "SSL: handshake done"
-msgstr ""
-
-#: libpq/be-secure.c:557
-msgid "SSL: accept loop"
-msgstr ""
-
-#: libpq/be-secure.c:560
-#, c-format
-msgid "SSL: accept exit (%d)"
-msgstr ""
-
-#: libpq/be-secure.c:563
-msgid "SSL: connect loop"
-msgstr ""
-
-#: libpq/be-secure.c:566
-#, c-format
-msgid "SSL: connect exit (%d)"
-msgstr ""
-
-#: libpq/be-secure.c:569
-#, c-format
-msgid "SSL: read alert (0x%04x)"
-msgstr ""
-
-#: libpq/be-secure.c:572
-#, c-format
-msgid "SSL: write alert (0x%04x)"
-msgstr ""
-
-#: libpq/be-secure.c:593
-#, c-format
-msgid "failed to create SSL context: %s"
-msgstr "ÎÅ ÕÄÁÌÏÓØ ÓÏÚÄÁÔØ ËÏÎÔÅËÓÔ SSL: %s"
-
-#: libpq/be-secure.c:604
-#, c-format
-msgid "failed to load server certificate (%s): %s"
-msgstr "ÎÅ ÕÄÁÌÏÓØ ÚÁÇÒÕÚÉÔØ ÓÅÒÔÉÆÉËÁÔ ÓÅÒ×ÅÒÁ (%s): %s"
-
-#: libpq/be-secure.c:612
-#, c-format
-msgid "failed to stat private key file (%s): %s"
-msgstr ""
-
-#: libpq/be-secure.c:619
-#, c-format
-msgid ""
-"bad permissions on private key file (%s)\n"
-"File must be owned by the proper user and must have no permissions for\n"
-"\"group\" or \"other\"."
-msgstr ""
-
-#: libpq/be-secure.c:626
-#, c-format
-msgid "failed to load private key file (%s): %s"
-msgstr ""
-
-#: libpq/be-secure.c:632
-#, c-format
-msgid "check of private key failed: %s"
-msgstr ""
-
-#: libpq/be-secure.c:649
-#, c-format
-msgid "could not read root cert file (%s): %s"
-msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÆÁÊÌ ËÏÒÎÅ×ÏÇÏ ÓÅÒÔÉÆÉËÁÔÁ (%s): %s"
-
-#: libpq/be-secure.c:683
-#, c-format
-msgid "failed to initialize SSL connection: %s"
-msgstr "ÎÅ ÕÄÁÌÏÓØ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÔØ SSL-ÐÏÄÓÏÅÄÉÎÅÎÉÅ: %s"
-
-#: libpq/be-secure.c:705
-#, c-format
-msgid "secure connection from '%s'"
-msgstr ""
-
-#: libpq/crypt.c:61
-msgid "Password is stored MD5 encrypted.  'crypt' auth method cannot be used."
-msgstr ""
-"ðÁÒÏÌØ ÚÁÛÉÆÒÏ×ÁΠɠÓÏÈÒÁΣΠËÁË MD5. íÅÔÏÄÙ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ "
-"'crypt' ÎÅ ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ."
-
-#: libpq/hba.c:127
-#, c-format
-msgid "Token too long in authentication file, skipping, %s"
-msgstr ""
-
-#: libpq/hba.c:260
-#, c-format
-msgid ""
-"tokenize_inc_file: Unable to open secondary authentication file \"@%s\" as "
-"\"%s\": %m"
-msgstr ""
-
-#: libpq/hba.c:663
+#: catalog/index.c:1763
 #, c-format
-msgid "parse_hba: invalid syntax in pg_hba.conf file at line %d, token \"%s\""
-msgstr ""
-
-#: libpq/hba.c:716 libpq/hba.c:738
-#, c-format
-msgid "could not open %s: %m"
-msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔËÔÒÙÔØ %s: %m"
-
-#: libpq/hba.c:849
-#, c-format
-msgid "load_hba: Unable to open authentication config file \"%s\": %m"
-msgstr ""
-
-#: libpq/hba.c:909
-#, c-format
-msgid ""
-"parse_ident_usermap: invalid syntax in pg_ident.conf file at line %d, token "
-"\"%s\""
-msgstr ""
-
-#: libpq/hba.c:941
-msgid ""
-"check_ident_usermap: hba configuration file does not have the usermap field "
-"filled in in the entry that pertains to this connection.  That field is "
-"essential for Ident-based authentication."
-msgstr ""
-
-#: libpq/hba.c:991
-#, c-format
-msgid "load_ident: Unable to open usermap file \"%s\": %m"
-msgstr ""
-
-#: libpq/hba.c:1113
-#, c-format
-msgid "Failed to create socket on which to talk to Ident server: %m"
-msgstr ""
-
-#: libpq/hba.c:1149
-#, c-format
-msgid ""
-"Unable to connect to Ident server on the host which is trying to connect to "
-"Postgres (IP address %s, Port %d): %s"
-msgstr ""
-
-#: libpq/hba.c:1172
-#, c-format
-msgid ""
-"Unable to send query to Ident server on the host which is trying to connect "
-"to Postgres (Host %s, Port %d), even though we successfully connected to it: "
-"%s"
-msgstr ""
-
-#: libpq/hba.c:1189
-#, c-format
-msgid ""
-"Unable to receive response from Ident server on the host which is trying to "
-"connect to Postgres (Host %s, Port %d), even though we successfully sent our "
-"query to it: %s"
-msgstr ""
-
-#: libpq/hba.c:1230 libpq/hba.c:1258 libpq/hba.c:1323
-#, c-format
-msgid "ident_unix: error receiving credentials: %m"
-msgstr ""
-
-#: libpq/hba.c:1238 libpq/hba.c:1266 libpq/hba.c:1332
-#, c-format
-msgid "ident_unix: unknown local user with uid %d"
-msgstr ""
-
-#: libpq/hba.c:1342
-msgid "'ident' auth is not supported on local connections on this platform"
-msgstr ""
-
-#: libpq/pqcomm.c:196
-#, c-format
-msgid "StreamServerPort: socket() failed: %m"
-msgstr ""
-
-#: libpq/pqcomm.c:205
-#, c-format
-msgid "StreamServerPort: setsockopt(SO_REUSEADDR) failed: %m"
-msgstr ""
-
-#: libpq/pqcomm.c:246
-#, c-format
-msgid "StreamServerPort: gethostbyname(%s) failed"
-msgstr ""
-
-#: libpq/pqcomm.c:262
-#, c-format
-msgid ""
-"StreamServerPort: bind() failed: %m\n"
-"\tIs another postmaster already running on port %d?\n"
-"\tIf not, remove socket node (%s) and retry."
-msgstr ""
-
-#: libpq/pqcomm.c:267
-#, c-format
-msgid ""
-"StreamServerPort: bind() failed: %m\n"
-"\tIs another postmaster already running on port %d?\n"
-"\tIf not, wait a few seconds and retry."
-msgstr ""
-
-#: libpq/pqcomm.c:306
-#, c-format
-msgid "No such group as '%s'"
-msgstr "çÒÕÐÐÙ '%s' ÎÅÔÕ"
-
-#: libpq/pqcomm.c:314
-#, c-format
-msgid "Could not set group of %s: %m"
-msgstr "îÅ ÐÏÌÕÞÉÌÏÓØ ÕÓÔÁÎÏ×ÉÔØ ÇÒÕÐÐÕ %s: %m"
-
-#: libpq/pqcomm.c:322
-#, c-format
-msgid "Could not set permissions on %s: %m"
-msgstr ""
-
-#: libpq/pqcomm.c:341
-#, c-format
-msgid "StreamServerPort: listen() failed: %m"
-msgstr "StreamServerPort: listen() ÎÅ ÕÄÁÌÓÑ: %m"
-
-#: libpq/pqcomm.c:371
-#, c-format
-msgid "StreamConnection: accept() failed: %m"
-msgstr "StreamConnection: accept() ÎÅ ÕÄÁÌÓÑ: %m"
-
-#: libpq/pqcomm.c:390
-#, c-format
-msgid "StreamConnection: getsockname() failed: %m"
-msgstr "StreamConnection: getsockname() ÎÅ ÕÄÁÌÓÑ: %m"
-
-#: libpq/pqcomm.c:402
-#, c-format
-msgid "StreamConnection: setsockopt(TCP_NODELAY) failed: %m"
-msgstr "StreamConnection: setsockopt(TCP_NODELAY) ÎÅ ÕÄÁÌÓÑ: %m"
-
-#: libpq/pqcomm.c:408
-#, c-format
-msgid "StreamConnection: setsockopt(SO_KEEPALIVE) failed: %m"
-msgstr "StreamConnection: setsockopt(SO_KEEPALIVE) ÎÅ ÕÄÁÌÓÑ: %m"
-
-#: libpq/pqcomm.c:476
-#, c-format
-msgid "pq_recvbuf: recv() failed: %m"
-msgstr ""
-
-#: libpq/pqcomm.c:482
-msgid "pq_recvbuf: unexpected EOF on client connection"
-msgstr ""
-
-#: libpq/pqcomm.c:680
-#, c-format
-msgid "pq_flush: send() failed: %m"
-msgstr ""
-
-#: libpq/pqcomm.c:714
-#, c-format
-msgid "pq_eof: recv() failed: %m"
-msgstr ""
-
-#: libpq/pqformat.c:159
-#, c-format
-msgid "pq_sendint: unsupported size %d"
-msgstr ""
-
-#: libpq/pqformat.c:241
-#, c-format
-msgid "pq_getint: unsupported size %d"
-msgstr ""
-
-#: main/main.c:83
-#, c-format
-msgid "%s: setsysinfo failed: %s\n"
-msgstr ""
-
-#: main/main.c:172
-msgid ""
-"\"root\" execution of the PostgreSQL server is not permitted.\n"
-"\n"
-"The server must be started under an unprivileged user id to prevent\n"
-"a possible system security compromise.  See the documentation for\n"
-"more information on how to properly start the server.\n"
-"\n"
+msgid "the target relation %u is nailed"
 msgstr ""
 
-#: main/main.c:192
-#, c-format
-msgid "%s: real and effective user ids must match\n"
+#: catalog/namespace.c:167
+#: catalog/namespace.c:220
+#: catalog/namespace.c:1167
+#: parser/parse_expr.c:1117
+#: parser/parse_target.c:162
+msgid "cross-database references are not implemented"
 msgstr ""
 
-#: main/main.c:227
+#: catalog/namespace.c:187
 #, c-format
-msgid "%s: invalid current euid %d\n"
-msgstr ""
+msgid "relation \"%s.%s\" does not exist"
+msgstr "Ó×ÑÚØ \"%s.%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: nodes/copyfuncs.c:1218
+#: catalog/namespace.c:192
 #, c-format
-msgid "_copyAConst: unknown node type %d"
-msgstr ""
+msgid "relation \"%s\" does not exist"
+msgstr "Ó×ÑÚØ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: nodes/copyfuncs.c:2304
-#, c-format
-msgid "_copyValue: unknown node type %d"
+#: catalog/namespace.c:229
+msgid "TEMP tables may not specify a schema name"
 msgstr ""
 
-#: nodes/copyfuncs.c:2796
-#, c-format
-msgid "copyObject: don't know how to copy node type %d"
+#: catalog/namespace.c:257
+#: catalog/namespace.c:1249
+msgid "no schema has been selected to create in"
 msgstr ""
 
-#: nodes/equalfuncs.c:178
+#: catalog/namespace.c:1172
+#: parser/parse_expr.c:1149
+#: parser/parse_target.c:170
 #, c-format
-msgid "_equalParam: Invalid paramkind value: %d"
+msgid "improper qualified name (too many dotted names): %s"
 msgstr ""
 
-#: nodes/equalfuncs.c:1490
+#: catalog/namespace.c:1284
 #, c-format
-msgid "_equalValue: unknown node type %d"
+msgid "improper relation name (too many dotted names): %s"
 msgstr ""
 
-#: nodes/equalfuncs.c:1931
+#: catalog/namespace.c:1628
 #, c-format
-msgid "equal: don't know whether nodes of type %d are equal"
-msgstr ""
-
-#: nodes/list.c:162
-msgid "tryout to nconc a list to itself"
-msgstr ""
-
-#: nodes/list.c:245
-msgid "llast: empty list"
-msgstr "llast: ÐÕÓÔÏÊ ÓÐÉÓÏË"
+msgid "permission denied to create temp tables in database \"%s\""
+msgstr "ÄÏÓÔÕРÚÁÐÒÅݣΠÐÏ ÓÏÚÄÁÎÉÀ ×ÒÅÍÅÎÎÙÈ ÔÁÂÌÉàנÂÁÚÅ \"%s\""
 
-#: nodes/list.c:260
-msgid "llasti: empty list"
-msgstr "llasti: ÐÕÓÔÏÊ ÓÐÉÓÏË"
-
-#: nodes/outfuncs.c:1191 nodes/readfuncs.c:821
+#: catalog/pg_largeobject.c:110
+#: storage/large_object/inv_api.c:128
+#: storage/large_object/inv_api.c:248
 #, c-format
-msgid "bogus rte kind %d"
+msgid "large object %u does not exist"
 msgstr ""
 
-#: nodes/outfuncs.c:1257
+#: catalog/pg_conversion.c:66
 #, c-format
-msgid "_outValue: don't know how to print type %d"
-msgstr "_outValue: ÎÅ ÉÚ×ÅÓÔÎÏ ËÁË ÐÅÞÁÔÁÔØ ÔÉР%d"
+msgid "conversion \"%s\" already exists"
+msgstr "ËÏÎ×ÅÒÓÉÑ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: nodes/outfuncs.c:1644
+#: catalog/pg_conversion.c:79
 #, c-format
-msgid "_outNode: don't know how to print type %d"
-msgstr "_outNode: ÎÅ ÉÚ×ÅÓÔÎÏ ËÁË ÐÅÞÁÔÁÔØ ÔÉР%d"
+msgid "default conversion for %s to %s already exists"
+msgstr "ËÏÎ×ÅÒÓÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ %s × %s ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: nodes/print.c:85
+#: catalog/pg_conversion.c:308
+#: commands/conversioncmds.c:109
+#: commands/conversioncmds.c:133
 #, c-format
-msgid ""
-"%s:\n"
-"%s"
-msgstr ""
-"%s:\n"
-"%s"
+msgid "conversion \"%s\" does not exist"
+msgstr "ËÏÎ×ÅÒÓÉÑ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: nodes/print.c:353
+#: catalog/pg_namespace.c:51
+#: commands/schemacmds.c:256
 #, c-format
-msgid "Cache lookup for type %u failed"
-msgstr "ðÏÉÓË × ËÚÛÅ ÔÉÐÁ %u ÎÅ ÕÄÁÌÓÑ"
+msgid "schema \"%s\" already exists"
+msgstr "ÓÈÅÍÁ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: nodes/read.c:296
-msgid "nodeRead: did not find '}' at end of node"
-msgstr "nodeRead: ÓËÏÂËÁ '}' ÎÅ ÂÙÌÁ ÏÂÎÁÒÕÖÅÎÁ × ËÏÎÃÅ ÕÚÌÁ"
-
-#: nodes/read.c:376
+#: catalog/pg_operator.c:217
+#: catalog/pg_operator.c:406
 #, c-format
-msgid "nodeRead: Bad type %d"
-msgstr ""
+msgid "\"%s\" is not a valid operator name"
+msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ×ÅÒÎÙÍ ÉÍÅÎÅÍ ÏÐÅÒÁÔÏÒÁ"
 
-#: nodes/readfuncs.c:149
-msgid "toIntList: unexpected datatype"
+#: catalog/pg_operator.c:412
+msgid "at least one of leftarg or rightarg must be specified"
 msgstr ""
 
-#: nodes/readfuncs.c:183
-msgid "toOidList: unexpected datatype"
+#: catalog/pg_operator.c:420
+msgid "only binary operators can have commutators"
 msgstr ""
 
-#: nodes/readfuncs.c:518
-#, c-format
-msgid "_readBoolExpr: unknown boolop \"%.*s\""
+#: catalog/pg_operator.c:424
+msgid "only binary operators can have join selectivity"
 msgstr ""
 
-#: nodes/readfuncs.c:926
-#, c-format
-msgid "badly formatted node string \"%.32s\"..."
+#: catalog/pg_operator.c:428
+msgid "only binary operators can hash"
 msgstr ""
 
-#: nodes/readfuncs.c:959 nodes/readfuncs.c:991
-#, c-format
-msgid "readDatum: expected '%s', got '%s'; length = %lu"
+#: catalog/pg_operator.c:432
+msgid "only binary operators can mergejoin"
 msgstr ""
 
-#: nodes/readfuncs.c:966
+#: catalog/pg_operator.c:444
 #, c-format
-msgid "readDatum: byval & length = %lu"
-msgstr ""
-
-#: optimizer/geqo/geqo_erx.c:336
-msgid "gimme_gene: Internal error - minimum_count not set"
-msgstr ""
-
-#: optimizer/geqo/geqo_erx.c:362
-msgid "gimme_gene: neither shared nor minimum number nor random edge found"
-msgstr ""
-
-#: optimizer/geqo/geqo_erx.c:422
-msgid "edge_failure(1): no edge found via random decision and total_edges == 4"
-msgstr ""
-
-#: optimizer/geqo/geqo_erx.c:447
-msgid "edge_failure(2): no edge found via random decision and remainig edges"
-msgstr ""
-
-#: optimizer/geqo/geqo_erx.c:465
-msgid "edge_failure(3): no edge found via looking for the last ununsed point"
-msgstr ""
+msgid "operator %s already exists"
+msgstr "ÏÐÅÒÁÔÏÒ %s ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: optimizer/geqo/geqo_erx.c:470
-msgid "edge_failure: no edge detected"
-msgstr ""
-
-#: optimizer/geqo/geqo_main.c:123
-msgid "geqo_main: using edge recombination crossover [ERX]"
-msgstr ""
-
-#: optimizer/geqo/geqo_main.c:127
-msgid "geqo_main: using partially matched crossover [PMX]"
-msgstr ""
-
-#: optimizer/geqo/geqo_main.c:131
-msgid "geqo_main: using cycle crossover [CX]"
-msgstr ""
-
-#: optimizer/geqo/geqo_main.c:136
-msgid "geqo_main: using position crossover [PX]"
-msgstr ""
-
-#: optimizer/geqo/geqo_main.c:141
-msgid "geqo_main: using order crossover [OX1]"
-msgstr ""
-
-#: optimizer/geqo/geqo_main.c:146
-msgid "geqo_main: using order crossover [OX2]"
+#: catalog/pg_operator.c:726
+msgid "operator cannot be its own negator or sort operator"
 msgstr ""
 
-#: optimizer/geqo/geqo_main.c:211
+#: catalog/pg_proc.c:88
+#: commands/functioncmds.c:150
+#: parser/parse_func.c:1514
 #, c-format
-msgid "[GEQO] failures: %d, average: %d"
-msgstr ""
+msgid "functions cannot have more than %d arguments"
+msgstr "ÆÕÎËÃÉÉ ÎÅ ÍÏÇÕÔ ÉÍÅÔØ ÞÉÓÌÏ ÁÒÇÕÍÅÎÔÏ× ÂÏÌÅÅ %d"
 
-#: optimizer/geqo/geqo_main.c:214
-msgid "[GEQO] No edge failures detected."
+#: catalog/pg_proc.c:113
+#: catalog/pg_proc.c:536
+msgid "A function returning ANYARRAY or ANYELEMENT must have at least one argument of either type."
 msgstr ""
 
-#: optimizer/geqo/geqo_main.c:220
+#: catalog/pg_proc.c:168
 #, c-format
-msgid "[GEQO] mutations: %d, generations: %d"
-msgstr ""
-
-#: optimizer/geqo/geqo_main.c:222
-msgid "[GEQO] No mutations processed."
-msgstr ""
-
-#: optimizer/geqo/geqo_misc.c:41
-msgid "avg_pool: pool_size of zero"
-msgstr ""
-
-#: optimizer/path/allpaths.c:204
-msgid "SELECT FOR UPDATE is not supported for inherit queries"
+msgid "\"%s\" is already an attribute of type %s"
 msgstr ""
 
-#: optimizer/path/allpaths.c:616
+#: catalog/pg_proc.c:220
 #, c-format
-msgid "recurse_pushdown_safe: unexpected node %d"
-msgstr "recurse_pushdown_safe: ÎÅÏÖÉÄÁÎÎÙÊ ÕÚÅÌ %d"
-
-#: optimizer/path/allpaths.c:684
-#, c-format
-msgid "recurse_push_qual: unexpected node %d"
-msgstr "recurse_push_qual: ÎÅÏÖÉÄÁÎÎÙÊ ÕÚÅÌ %d"
-
-#: optimizer/path/clausesel.c:533
-#, c-format
-msgid "clause_selectivity: s1 %f"
-msgstr "clause_selectivity: s1 %f"
-
-#: optimizer/path/costsize.c:1461
-#, c-format
-msgid "set_joinrel_size_estimates: unsupported join type %d"
-msgstr ""
-
-#: optimizer/path/indxpath.c:495
-msgid "extract_or_indexqual_conditions: no matching clause"
-msgstr ""
-
-#: optimizer/path/indxpath.c:1260
-msgid "pred_test_simple_clause: unknown test_op"
-msgstr ""
+msgid "function \"%s\" already exists with same argument types"
+msgstr "ÆÕÎËÃÉÑ  \"%s\" Ó ÔÁËÉÍ ÎÁÂÏÒÏÍ ÁÒÇÕÍÅÎÔÏ× ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: optimizer/path/indxpath.c:1301
-msgid "pred_test_simple_clause: null test result"
-msgstr ""
+#: catalog/pg_proc.c:234
+msgid "cannot change return type of existing function"
+msgstr "ÎÅÌØÚÑ ÐÏÍÅÎÑÔØ ÔÉР×ÏÚ×ÒÁÝÁÅÍÏÇÏ ÚÎÁÞÅÎÉÑ ÄÌÑ ÓÕÝÅÓÔ×ÕÀÝÅÊ ÆÕÎÃÉÉ"
 
-#: optimizer/path/indxpath.c:2084
-#, c-format
-msgid "prefix_quals: unexpected operator %u"
+#: catalog/pg_proc.c:235
+msgid "Use DROP FUNCTION first."
 msgstr ""
 
-#: optimizer/path/indxpath.c:2100
+#: catalog/pg_proc.c:243
 #, c-format
-msgid "prefix_quals: no = operator for type %u"
-msgstr ""
+msgid "function \"%s\" is an aggregate"
+msgstr "ÆÕÎËÃÉÑ \"%s\" Ñ×ÌÑÅÔÓÑ ÁÇÒÅÇÁÔÏÍ"
 
-#: optimizer/path/indxpath.c:2115
+#: catalog/pg_proc.c:248
 #, c-format
-msgid "prefix_quals: no >= operator for type %u"
-msgstr ""
+msgid "function \"%s\" is not an aggregate"
+msgstr "ÆÕÎËÃÉÑ \"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÁÇÒÅÇÁÔÏÍ"
 
-#: optimizer/path/indxpath.c:2131
+#: catalog/pg_proc.c:367
+#: catalog/pg_proc.c:388
+#: catalog/pg_proc.c:398
+#: catalog/pg_proc.c:422
+#: catalog/pg_proc.c:430
+#: catalog/pg_proc.c:482
+#: catalog/pg_proc.c:494
+#: catalog/pg_proc.c:514
 #, c-format
-msgid "prefix_quals: no < operator for type %u"
+msgid "return type mismatch in function declared to return %s"
 msgstr ""
 
-#: optimizer/path/indxpath.c:2177
-#, c-format
-msgid "network_prefix_quals: unexpected operator %u"
+#: catalog/pg_proc.c:369
+#: catalog/pg_proc.c:400
+msgid "Function's final statement must be a SELECT."
 msgstr ""
 
-#: optimizer/path/indxpath.c:2190
-#, c-format
-msgid "network_prefix_quals: no %s operator for type %u"
+#: catalog/pg_proc.c:390
+msgid "Function's final statement must not be a SELECT."
 msgstr ""
 
-#: optimizer/path/indxpath.c:2205
-#, c-format
-msgid "network_prefix_quals: no <= operator for type %u"
+#: catalog/pg_proc.c:424
+msgid "Final SELECT must return exactly one column."
 msgstr ""
 
-#: optimizer/path/joinpath.c:170
+#: catalog/pg_proc.c:432
 #, c-format
-msgid "sort_inner_and_outer: unexpected join type %d"
+msgid "Actual return type is %s."
 msgstr ""
 
-#: optimizer/path/joinpath.c:343
-#, c-format
-msgid "match_unsorted_outer: unexpected join type %d"
+#: catalog/pg_proc.c:484
+msgid "Final SELECT returns too many columns."
 msgstr ""
 
-#: optimizer/path/joinpath.c:626
+#: catalog/pg_proc.c:496
 #, c-format
-msgid "match_unsorted_inner: unexpected join type %d"
+msgid "Final SELECT returns %s instead of %s at column %d."
 msgstr ""
 
-#: optimizer/path/joinrels.c:230
-#, c-format
-msgid "make_rels_by_joins: failed to build any %d-way joins"
+#: catalog/pg_proc.c:516
+msgid "Final SELECT returns too few columns."
 msgstr ""
 
-#: optimizer/path/joinrels.c:385
+#: catalog/pg_proc.c:541
 #, c-format
-msgid "make_jointree_rel: unexpected node type %d"
+msgid "return type %s is not supported for SQL functions"
 msgstr ""
 
-#: optimizer/path/joinrels.c:442
+#: catalog/pg_proc.c:578
 #, c-format
-msgid "make_join_rel: unsupported join type %d"
-msgstr ""
-
-#: optimizer/path/pathkeys.c:878
-msgid ""
-"make_pathkeys_for_mergeclauses: can't identify which side of mergeclause to "
-"use"
-msgstr ""
+msgid "there is no built-in function named \"%s\""
+msgstr "×ÓÔÒÏÅÎÎÏÊ ÆÕÎËÃÉÉ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: optimizer/plan/createplan.c:150
+#: catalog/pg_proc.c:671
 #, c-format
-msgid "create_plan: unknown pathtype %d"
-msgstr ""
+msgid "SQL functions cannot return type %s"
+msgstr "SQL-ÆÕÎËÃÉÉ ÎÅ ÍÏÇÕÔ ×ÏÚ×ÒÁÝÁÔØ ÔÉР%s"
 
-#: optimizer/plan/createplan.c:228
+#: catalog/pg_proc.c:687
 #, c-format
-msgid "create_scan_plan: unknown node type: %d"
-msgstr ""
+msgid "SQL functions cannot have arguments of type %s"
+msgstr "SQL-ÆÕÎËÃÉÉ ÎÅ ÍÏÇÕÔ ÉÍÅÔØ ÁÒÇÕÍÅÎÔÙ ÔÉÐÁ %s"
 
-#: optimizer/plan/createplan.c:310
+#: catalog/pg_type.c:195
+#: catalog/pg_type.c:201
 #, c-format
-msgid "create_join_plan: unknown node type: %d"
-msgstr ""
-
-#: optimizer/plan/createplan.c:1050
-msgid "fix_indxqual_sublist: indexqual clause is not binary opclause"
-msgstr ""
-
-#: optimizer/plan/createplan.c:1139
-msgid "fix_indxqual_operand: var is not index attribute"
-msgstr ""
-
-#: optimizer/plan/createplan.c:1601
-msgid "make_sort_from_pathkeys: cannot find tlist item to sort"
+msgid "invalid type internal size %d"
 msgstr ""
 
-#: optimizer/plan/initsplan.c:124
-msgid "SELECT FOR UPDATE cannot be applied to a join"
-msgstr ""
-
-#: optimizer/plan/initsplan.c:127
-#, c-format
-msgid "add_base_rels_to_query: unexpected node type %d"
-msgstr "add_base_rels_to_query: ÎÅÏÖÉÄÁÎÎÙÊ ÔÉРÕÚÌÁ %d"
-
-#: optimizer/plan/initsplan.c:307 optimizer/plan/planner.c:501
-msgid "UNION JOIN is not implemented yet"
+#: catalog/pg_type.c:208
+msgid "fixed-size types must have storage PLAIN"
 msgstr ""
 
-#: optimizer/plan/initsplan.c:311
+#: catalog/pg_type.c:289
+#: catalog/pg_type.c:511
 #, c-format
-msgid "distribute_quals_to_rels: unsupported join type %d"
-msgstr ""
+msgid "type \"%s\" already exists"
+msgstr "ÔÉР\"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: optimizer/plan/initsplan.c:321
+#: catalog/pg_type.c:503
+#: commands/functioncmds.c:109
+#: commands/typecmds.c:407
+#: commands/typecmds.c:786
+#: commands/typecmds.c:1113
+#: commands/typecmds.c:1233
+#: commands/typecmds.c:1353
+#: commands/typecmds.c:1440
+#: commands/typecmds.c:2034
+#: parser/parse_func.c:1526
+#: parser/parse_type.c:201
+#: parser/parse_type.c:227
+#: tcop/utility.c:95
 #, c-format
-msgid "distribute_quals_to_rels: unexpected node type %d"
-msgstr ""
+msgid "type \"%s\" does not exist"
+msgstr "ÔÉР\"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: optimizer/plan/initsplan.c:358
-msgid ""
-"SELECT FOR UPDATE cannot be applied to the nullable side of an OUTER JOIN"
-msgstr ""
-
-#: optimizer/plan/initsplan.c:452
-msgid "JOIN qualification may not refer to other relations"
-msgstr ""
-
-#: optimizer/plan/initsplan.c:608
-msgid "distribute_qual_to_rels: can't cope with variable-free clause"
-msgstr ""
-
-#: optimizer/plan/initsplan.c:750
+#: commands/aggregatecmds.c:97
 #, c-format
-msgid "Unable to identify an equality operator for types '%s' and '%s'"
-msgstr ""
+msgid "aggregate attribute \"%s\" not recognized"
+msgstr "ÁÇÒÅÇÁÔÎÙÊ ÁÔÒÉÂÕÔ \"%s\" ÎÅ ÒÁÓÐÏÚÎÁÎ"
 
-#: optimizer/plan/initsplan.c:761
-#, c-format
-msgid ""
-"Equality operator for types '%s' and '%s' should be mergejoinable, but isn't"
+#: commands/aggregatecmds.c:107
+msgid "aggregate basetype must be specified"
 msgstr ""
 
-#: optimizer/plan/planmain.c:158
-msgid "query_planner: failed to construct a relation"
+#: commands/aggregatecmds.c:111
+msgid "aggregate stype must be specified"
 msgstr ""
 
-#: optimizer/plan/planner.c:504
-#, c-format
-msgid "pull_up_subqueries: unexpected join type %d"
+#: commands/aggregatecmds.c:115
+msgid "aggregate sfunc must be specified"
 msgstr ""
 
-#: optimizer/plan/planner.c:510
+#: commands/aggregatecmds.c:138
 #, c-format
-msgid "pull_up_subqueries: unexpected node type %d"
-msgstr ""
-
-#: optimizer/plan/planner.c:531
-msgid "is_simple_subquery: subquery is bogus"
+msgid "aggregate transition datatype cannot be %s"
 msgstr ""
 
-#: optimizer/plan/planner.c:660
+#: commands/aggregatecmds.c:259
 #, c-format
-msgid "resolvenew_in_jointree: unexpected node type %d"
+msgid "function %s(*) already exists in schema \"%s\""
 msgstr ""
 
-#: optimizer/plan/planner.c:739
+#: commands/aggregatecmds.c:265
+#: commands/functioncmds.c:680
 #, c-format
-msgid "preprocess_jointree: unexpected node type %d"
+msgid "function %s already exists in schema \"%s\""
 msgstr ""
 
-#: optimizer/plan/planner.c:832
+#: commands/analyze.c:200
 #, c-format
-msgid "preprocess_qual_conditions: unexpected node type %d"
-msgstr ""
-
-#: optimizer/plan/planner.c:945 parser/analyze.c:1780 parser/analyze.c:1953
-#: parser/analyze.c:2448
-msgid "SELECT FOR UPDATE is not allowed with UNION/INTERSECT/EXCEPT"
+msgid "skipping \"%s\" --- only table or database owner can ANALYZE it"
 msgstr ""
 
-#: optimizer/plan/planner.c:1007
-msgid "SELECT FOR UPDATE is not allowed in subselects"
-msgstr ""
-
-#: optimizer/plan/planner.c:1849 optimizer/plan/planner.c:1855
-msgid "postprocess_setop_tlist: resjunk output columns not implemented"
-msgstr ""
-
-#: optimizer/plan/setrefs.c:210
+#: commands/analyze.c:215
 #, c-format
-msgid "set_plan_references: unknown plan type %d"
-msgstr ""
-
-#: optimizer/plan/setrefs.c:472
-msgid "join_references: variable not in subplan target lists"
-msgstr ""
+msgid "skipping \"%s\" --- cannot ANALYZE indexes, views or special system tables"
+msgstr "ÐÒÏÐÕÓËÁÅÔÓÑ \"%s\" --- ÉÎÄÅËÓÙ, ×ÉÄÙ ÉÌÉ ÓÐÅÃÉÁÌØÎÙÅ ÓÉÓÔÅÍÎÙÅ ÔÁÂÌÉÃÙ ÎÅ ÁÎÁÌÉÚÉÒÕÀÔÓÑ"
 
-#: optimizer/plan/setrefs.c:532
-msgid "replace_vars_with_subplan_refs: variable not in subplan target list"
-msgstr ""
-
-#: optimizer/plan/subselect.c:445
+#: commands/analyze.c:245
 #, c-format
-msgid "cache lookup failed for operator %u"
-msgstr ""
+msgid "analyzing \"%s.%s\""
+msgstr "ÁÎÁÌÉÚÉÒÕÅÔÓÑ \"%s.%s\""
 
-#: optimizer/plan/subselect.c:660
+#: commands/cluster.c:150
 #, c-format
-msgid "SS_finalize_plan: node %d unsupported"
-msgstr ""
-
-#: optimizer/plan/subselect.c:683
-msgid "SS_finalize_plan: plan shouldn't reference subplan's variable"
-msgstr ""
-
-#: optimizer/prep/preptlist.c:58
-msgid "preprocess_targetlist: subquery cannot be result relation"
+msgid "there is no previously clustered index for table \"%s\""
 msgstr ""
 
-#: optimizer/prep/preptlist.c:208
-msgid "expand_targetlist: unexpected command_type"
-msgstr ""
-
-#: optimizer/prep/preptlist.c:238
-msgid "expand_targetlist: targetlist is not sorted correctly"
-msgstr ""
-
-#: optimizer/prep/prepunion.c:193
+#: commands/cluster.c:164
+#: commands/tablecmds.c:3988
 #, c-format
-msgid "recurse_set_operations: unexpected node %d"
-msgstr ""
-
-#: optimizer/prep/prepunion.c:309
-msgid "generate_nonunion_plan: bogus operation code"
-msgstr ""
+msgid "index \"%s\" for table \"%s\" does not exist"
+msgstr "ÉÎÄÅËÓ \"%s\" ÄÌÑ ÔÁÂÌÉÃÙ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: optimizer/util/clauses.c:700
+#: commands/cluster.c:321
 #, c-format
-msgid "Sub-SELECT uses un-GROUPed attribute %s.%s from outer query"
-msgstr ""
+msgid "\"%s\" is not an index for table \"%s\""
+msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÉÎÄÅËÓÏÍ ÄÌÑ ÔÁÂÌÉÃÙ \"%s\""
 
-#: optimizer/util/clauses.c:1123
-msgid "CommuteClause: applied to non-binary-operator clause"
+#: commands/cluster.c:334
+msgid "cannot cluster on partial index"
 msgstr ""
 
-#: optimizer/util/clauses.c:1128
-#, c-format
-msgid "CommuteClause: no commutator for operator %u"
+#: commands/cluster.c:352
+msgid "cannot cluster when index access method does not handle nulls"
 msgstr ""
 
-#: optimizer/util/clauses.c:1481
+#: commands/cluster.c:353
 #, c-format
-msgid "eval_const_expressions: unexpected boolop %d"
+msgid "You may be able to work around this by marking column \"%s\" NOT NULL."
 msgstr ""
 
-#: optimizer/util/clauses.c:1654 utils/cache/lsyscache.c:598
-#: utils/cache/lsyscache.c:619 utils/cache/lsyscache.c:640
-#: utils/cache/lsyscache.c:661
-#, c-format
-msgid "Function OID %u does not exist"
+#: commands/cluster.c:365
+msgid "cannot cluster on expressional index when index access method does not handle nulls"
 msgstr ""
 
-#: optimizer/util/clauses.c:1871
+#: commands/cluster.c:379
 #, c-format
-msgid "inline_function: null prosrc for procedure %u"
-msgstr ""
+msgid "\"%s\" is a system catalog"
+msgstr "\"%s\" Ñ×ÌÑÅÔÓÑ ÓÉÓÔÅÍÎÙÍ ËÁÔÁÌÏÇÏÍ"
 
-#: optimizer/util/clauses.c:2031
-msgid "substitute_actual_parameters_mutator: unexpected paramkind"
+#: commands/cluster.c:389
+msgid "cannot cluster temp tables of other processes"
 msgstr ""
 
-#: optimizer/util/clauses.c:2033
-msgid "substitute_actual_parameters_mutator: unexpected paramid"
+#: commands/async.c:225
+#, c-format
+msgid "already listening on \"%s\""
 msgstr ""
 
-#: optimizer/util/clauses.c:2339
+#: commands/conversioncmds.c:66
 #, c-format
-msgid "expression_tree_walker: Unexpected node type %d"
+msgid "source encoding \"%s\" does not exist"
 msgstr ""
 
-#: optimizer/util/clauses.c:2740
+#: commands/conversioncmds.c:73
 #, c-format
-msgid "expression_tree_mutator: Unexpected node type %d"
+msgid "destination encoding \"%s\" does not exist"
 msgstr ""
 
-#: optimizer/util/pathnode.c:126
-msgid "Unable to devise a query plan for the given query"
+#: commands/conversioncmds.c:151
+#, c-format
+msgid "conversion \"%s\" already exists in schema \"%s\""
 msgstr ""
 
-#: optimizer/util/plancat.c:57
+#: commands/comment.c:309
+#: commands/indexcmds.c:583
+#: commands/indexcmds.c:617
 #, c-format
-msgid "get_relation_info: Relation %u not found"
-msgstr ""
+msgid "relation \"%s\" is not an index"
+msgstr "ÏÂßÅËÔ \"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÉÎÄÅËÓÏÍ"
 
-#: optimizer/util/plancat.c:225
+#: commands/comment.c:316
 #, c-format
-msgid "restriction_selectivity: bad value %f"
-msgstr ""
+msgid "relation \"%s\" is not a sequence"
+msgstr "Ó×ÑÚØ \"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØÀ"
 
-#: optimizer/util/plancat.c:258
+#: commands/comment.c:323
+#: commands/indexcmds.c:109
+#: commands/indexcmds.c:669
 #, c-format
-msgid "join_selectivity: bad value %f"
-msgstr ""
+msgid "relation \"%s\" is not a table"
+msgstr "ÏÂßÅËÔ \"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÔÁÂÌÉÃÅÊ"
 
-#: optimizer/util/plancat.c:330
+#: commands/comment.c:330
 #, c-format
-msgid "has_subclass: Relation %u not found"
-msgstr ""
+msgid "relation \"%s\" is not a view"
+msgstr "ÏÂßÅËÔ \"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ×ÉÄÏÍ"
 
-#: optimizer/util/relnode.c:60
-msgid "build_base_rel: rel already exists"
-msgstr "build_base_rel: rel ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
+#: commands/comment.c:386
+#: commands/tablecmds.c:2020
+#: commands/tablecmds.c:2164
+#: commands/tablecmds.c:2292
+#: commands/tablecmds.c:2456
+#: commands/tablecmds.c:2669
+#: parser/parse_func.c:1270
+#: parser/parse_relation.c:1583
+#: parser/parse_relation.c:1641
+#: parser/parse_relation.c:1820
+#: parser/parse_type.c:94
+#, c-format
+msgid "attribute \"%s\" of relation \"%s\" does not exist"
+msgstr "ÁÔÒÉÂÕÔ \"%s\" ÄÌÑ Ó×ÑÚÉ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: optimizer/util/relnode.c:69
-msgid "build_base_rel: rel already exists as 'other' rel"
+#: commands/comment.c:417
+msgid "database name may not be qualified"
 msgstr ""
 
-#: optimizer/util/relnode.c:107
-msgid "build_other_rel: rel already exists as base rel"
+#: commands/comment.c:449
+msgid "database comments may only be applied to the current database"
 msgstr ""
 
-#: optimizer/util/relnode.c:181
-#, c-format
-msgid "make_base_rel: unsupported RTE kind %d"
+#: commands/comment.c:481
+#: commands/schemacmds.c:172
+msgid "schema name may not be qualified"
 msgstr ""
 
-#: optimizer/util/relnode.c:217
+#: commands/comment.c:564
 #, c-format
-msgid "find_base_rel: no relation entry for relid %d"
-msgstr ""
+msgid "rule \"%s\" does not exist"
+msgstr "ÐÒÁ×ÉÌÏ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: optimizer/util/tlist.c:239
-msgid ""
-"get_sortgroupclause_tle: ORDER/GROUP BY expression not found in targetlist"
+#: commands/comment.c:572
+#, c-format
+msgid "there are multiple rules \"%s\""
 msgstr ""
 
-#: parser/analyze.c:256
-msgid "CREATE VIEW specifies more column names than columns"
-msgstr "CREATE VIEW ÕËÁÚÙ×ÁÅÔ ÂÏÌØÛÅ ÉͣΠËÏÌÏÎÏË ÞÅÍ ÉÍÅÅÔÓÑ"
+#: commands/comment.c:573
+msgid "Specify a relation name as well as a rule name."
+msgstr ""
 
-#: parser/analyze.c:447
-msgid "INSERT ... SELECT may not specify INTO"
-msgstr "INSERT ... SELECT ÎÅ ÍÏÇÕÔ ÕËÁÚÙ×ÁÔØ INTO"
+#: commands/comment.c:815
+#: commands/trigger.c:484
+#: commands/trigger.c:697
+#, c-format
+msgid "trigger \"%s\" for relation \"%s\" does not exist"
+msgstr "ÔÒÉÇÇÅÒ \"%s\" ÄÌÑ Ó×ÑÚÉ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: parser/analyze.c:535
-msgid "INSERT has more expressions than target columns"
+#: commands/comment.c:894
+#, c-format
+msgid "relation \"%s\" has multiple constraints named \"%s\""
 msgstr ""
 
-#: parser/analyze.c:569
-msgid "INSERT has more target columns than expressions"
+#: commands/comment.c:906
+#, c-format
+msgid "constraint \"%s\" for relation \"%s\" does not exist"
 msgstr ""
 
-#: parser/analyze.c:765
-msgid "parser: unrecognized node (internal error)"
+#: commands/copy.c:684
+#: commands/copy.c:692
+#: commands/copy.c:700
+#: commands/copy.c:708
+#: commands/dbcommands.c:103
+#: commands/dbcommands.c:111
+#: commands/dbcommands.c:119
+#: commands/dbcommands.c:127
+#: commands/functioncmds.c:220
+#: commands/functioncmds.c:228
+#: commands/functioncmds.c:236
+#: commands/functioncmds.c:244
+#: commands/functioncmds.c:252
+#: commands/sequence.c:895
+#: commands/sequence.c:908
+#: commands/sequence.c:916
+#: commands/sequence.c:924
+#: commands/sequence.c:932
+#: commands/sequence.c:940
+#: commands/user.c:525
+#: commands/user.c:537
+#: commands/user.c:545
+#: commands/user.c:553
+#: commands/user.c:561
+#: commands/user.c:569
+#: commands/user.c:775
+#: commands/user.c:787
+#: commands/user.c:795
+#: commands/user.c:803
+#: commands/user.c:1275
+#: commands/user.c:1283
+msgid "conflicting or redundant options"
 msgstr ""
 
-#: parser/analyze.c:847
+#: commands/dbcommands.c:153
 #, c-format
-msgid "%s will create implicit sequence '%s' for SERIAL column '%s.%s'"
-msgstr ""
+msgid "%d is not a valid encoding code"
+msgstr "%d ÎÅ Ñ×ÌÑÅÔÓÑ ×ÅÒÎÙÍ ËÏÄÏÍ ËÏÄÉÒÏ×ËÉ"
 
-#: parser/analyze.c:928 parser/analyze.c:936
+#: commands/dbcommands.c:162
 #, c-format
-msgid "%s/(NOT) NULL conflicting declaration for '%s.%s'"
-msgstr ""
+msgid "%s is not a valid encoding name"
+msgstr "%s ÎÅ Ñ×ÌÑÅÔÓÑ ×ÅÒÎÙÍ ÉÍÅÎÅÍ ËÏÄÉÒÏ×ËÉ"
 
-#: parser/analyze.c:944
-#, c-format
-msgid "%s/DEFAULT multiple values specified for '%s.%s'"
-msgstr ""
+#: commands/dbcommands.c:183
+msgid "permission denied to create database"
+msgstr "ÄÏÓÔÕРÚÁÐÒÅݣΠÐÏ ÓÏÚÄÁÎÉÀ ÂÁÚÙ"
 
-#: parser/analyze.c:986 parser/analyze.c:1025
-msgid "parser: unrecognized constraint (internal error)"
+#: commands/dbcommands.c:192
+msgid "must be superuser to create database for another user"
 msgstr ""
 
-#: parser/analyze.c:1021
-msgid "parser: illegal context for constraint (internal error)"
+#: commands/dbcommands.c:203
+msgid "cannot use an alternate location on this platform"
 msgstr ""
 
-#: parser/analyze.c:1065
+#: commands/dbcommands.c:217
+#: commands/dbcommands.c:384
+#: commands/dbcommands.c:632
 #, c-format
-msgid "%s / PRIMARY KEY multiple primary keys for table '%s' are not allowed"
-msgstr ""
+msgid "database \"%s\" already exists"
+msgstr "ÂÁÚÁ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: parser/analyze.c:1133
+#: commands/dbcommands.c:231
 #, c-format
-msgid "inherited table \"%s\" is not a relation"
-msgstr ""
+msgid "template \"%s\" does not exist"
+msgstr "ÛÁÂÌÏΠ\"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: parser/analyze.c:1162
+#: commands/dbcommands.c:242
 #, c-format
-msgid ""
-"inherited attribute \"%s\" cannot be a PRIMARY KEY because it is not marked "
-"NOT NULL"
-msgstr ""
+msgid "permission denied to copy database \"%s\""
+msgstr "ÄÏÓÔÕРÚÁÐÒÅݣΠÐÏ ËÏÐÉÒÏ×ÁÎÉÀ ÂÁÚÙ \"%s\""
 
-#: parser/analyze.c:1188
+#: commands/dbcommands.c:263
 #, c-format
-msgid ""
-"Existing attribute \"%s\" cannot be a PRIMARY KEY because it is not marked "
-"NOT NULL"
+msgid "source database \"%s\" is being accessed by other users"
 msgstr ""
 
-#: parser/analyze.c:1195
+#: commands/dbcommands.c:274
 #, c-format
-msgid "%s: column \"%s\" named in key does not exist"
+msgid "invalid backend encoding %d"
 msgstr ""
 
-#: parser/analyze.c:1203
-#, c-format
-msgid "%s: column \"%s\" appears twice in %s constraint"
+#: commands/dbcommands.c:304
+#: commands/dbcommands.c:308
+#: commands/dbcommands.c:312
+msgid "database path may not contain single quotes"
 msgstr ""
 
-#: parser/analyze.c:1293
-#, c-format
-msgid "%s: failed to make implicit index name"
-msgstr "%s: ÎÅ ÕÄÁÌÏÓØ ÓÏÚÄÁÔØ ÉÍÑ ÄÌÁ ÎÅÑ×ÎÏÇÏ ÉÎÄÅËÓÁ"
-
-#: parser/analyze.c:1296
+#: commands/dbcommands.c:337
 #, c-format
-msgid "%s / %s%s will create implicit index '%s' for table '%s'"
-msgstr "%s / %s%s ÓÏÚÄÁÓÔ ÎÅÑ×ÎÙÊ ÉÎÄÅËÓ '%s' ÄÌÑ ÔÁÂÌÉÃÙ '%s'"
+msgid "could not create database directory \"%s\": %m"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÏÚÄÁÔØ ÄÉÒÅËÔÏÒÉÀ ÂÁÚ ÄÁÎÎÙÈ \"%s\": %m"
 
-#: parser/analyze.c:1310
+#: commands/dbcommands.c:342
 #, c-format
-msgid "%s will create implicit trigger(s) for FOREIGN KEY check(s)"
-msgstr "%s ÓÏÚÄÁÓÔ ÎÅÑ×ÎÙÊ(Å) ÔÒÉÇÇÅÒ(Á) ÄÌÑ ÐÒÏ×ÅÒËÉ ÎÁ FOREIGN KEY"
+msgid "could not remove temp directory \"%s\": %m"
+msgstr ""
 
-#: parser/analyze.c:1452 parser/analyze.c:1574
+#: commands/dbcommands.c:353
 #, c-format
-msgid "transformRuleStmt: unexpected event type %d"
+msgid "could not link \"%s\" to \"%s\": %m"
 msgstr ""
 
-#: parser/analyze.c:1461
-msgid "Rule WHERE condition may not contain references to other relations"
+#: commands/dbcommands.c:462
+msgid "cannot drop the currently open database"
 msgstr ""
 
-#: parser/analyze.c:1465
-msgid "Rule WHERE condition may not contain aggregate functions"
+#: commands/dbcommands.c:495
+msgid "cannot drop a template database"
 msgstr ""
 
-#: parser/analyze.c:1534
-msgid ""
-"Rules with WHERE conditions may only have SELECT, INSERT, UPDATE, or DELETE "
-"actions"
+#: commands/dbcommands.c:506
+#: commands/dbcommands.c:622
+#, c-format
+msgid "database \"%s\" is being accessed by other users"
 msgstr ""
 
-#: parser/analyze.c:1558
-msgid "ON SELECT rule may not use OLD"
+#: commands/dbcommands.c:613
+msgid "current database may not be renamed"
 msgstr ""
 
-#: parser/analyze.c:1560
-msgid "ON SELECT rule may not use NEW"
-msgstr ""
+#: commands/dbcommands.c:644
+msgid "permission denied to rename database"
+msgstr "ÄÏÓÔÕРÚÁÐÒÅݣΠÐÏ ÐÅÒÅÉÍÅÎÏ×ÁÎÉÀ ÂÁÚÙ"
 
-#: parser/analyze.c:1567
-msgid "ON INSERT rule may not use OLD"
+#: commands/dbcommands.c:863
+msgid "relative paths are not allowed as database locations"
 msgstr ""
 
-#: parser/analyze.c:1571
-msgid "ON DELETE rule may not use NEW"
+#: commands/dbcommands.c:867
+msgid "absolute paths are not allowed as database locations"
 msgstr ""
 
-#: parser/analyze.c:1636 parser/analyze.c:1844
-msgid "DECLARE CURSOR must not specify INTO"
+#: commands/dbcommands.c:879
+#, c-format
+msgid "postmaster environment variable \"%s\" not found"
 msgstr ""
 
-#: parser/analyze.c:1638 parser/analyze.c:1846
-msgid ""
-"DECLARE/UPDATE is not supported\n"
-"\tCursors must be READ ONLY"
+#: commands/dbcommands.c:884
+#, c-format
+msgid "postmaster environment variable \"%s\" must be absolute path"
 msgstr ""
 
-#: parser/analyze.c:1914
-msgid ""
-"ORDER BY on a UNION/INTERSECT/EXCEPT result must be on one of the result "
-"columns"
+#: commands/dbcommands.c:893
+msgid "alternate path is too long"
 msgstr ""
 
-#: parser/analyze.c:1948
-msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT"
-msgstr ""
+#: commands/dbcommands.c:924
+#, c-format
+msgid "could not remove \"%s\": %m"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÕÄÁÌÉÔØ \"%s\": %m"
 
-#: parser/analyze.c:1950
-msgid "Portal may not appear in UNION/INTERSECT/EXCEPT"
+#: commands/dbcommands.c:939
+#, c-format
+msgid "could not remove database directory \"%s\": %m"
 msgstr ""
 
-#: parser/analyze.c:2044
-#, c-format
-msgid "Each %s query must have the same number of columns"
+#: commands/copy.c:177
+#: commands/copy.c:189
+#: commands/copy.c:222
+#: commands/copy.c:232
+msgid "COPY BINARY is not supported to stdout or from stdin"
 msgstr ""
 
-#: parser/analyze.c:2102
+#: commands/copy.c:285
 #, c-format
-msgid "getSetColTypes: unexpected node %d"
-msgstr "getSetColTypes: ÎÅ ÏÖÉÄÁÎÎÙÊ ÕÚÅÌ %d"
-
-#: parser/analyze.c:2113
-msgid "CREATE TABLE AS specifies too many column names"
-msgstr "CREATE TABLE AS ÕËÁÚÙ×ÁÅÔ ÓÌÉÛËÏÍ ÍÎÏÇÏ ÉͣΠÄÌÑ ËÏÌÏÎËÉ"
-
-#: parser/analyze.c:2196 parser/analyze.c:2205
-msgid "UPDATE target count mismatch --- internal error"
-msgstr "UPDATE target: ÎÅ ÓÏ×ÐÁÄÅÎÉÅ ÓÞ£ÞÉËÁ --- ×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ"
+msgid "failed to write COPY file: %m"
+msgstr ""
 
-#: parser/analyze.c:2291
-msgid "Unexpected node type in ALTER TABLE ADD CONSTRAINT"
+#: commands/copy.c:293
+msgid "connection lost during COPY to stdout"
 msgstr ""
 
-#: parser/analyze.c:2374
-msgid "transformPrepareStmt: internal error"
+#: commands/copy.c:376
+#: commands/copy.c:394
+#: commands/copy.c:398
+#: commands/copy.c:458
+#: commands/copy.c:507
+#: tcop/fastpath.c:292
+#: tcop/postgres.c:281
+#: tcop/postgres.c:304
+msgid "unexpected EOF on client connection"
 msgstr ""
 
-#: parser/analyze.c:2401
+#: commands/copy.c:410
 #, c-format
-msgid "Wrong number of parameters, expected %d but got %d"
+msgid "COPY from stdin failed: %s"
 msgstr ""
 
-#: parser/analyze.c:2414
-msgid "Cannot use subselects in EXECUTE parameters"
+#: commands/copy.c:425
+#, c-format
+msgid "unexpected message type 0x%02X during COPY from stdin"
 msgstr ""
 
-#: parser/analyze.c:2416
-msgid "Cannot use aggregates in EXECUTE parameters"
+#: commands/copy.c:719
+msgid "cannot specify DELIMITER in BINARY mode"
 msgstr ""
 
-#: parser/analyze.c:2427
-#, c-format
-msgid ""
-"Parameter $%d of type %s cannot be coerced into the expected type %s\n"
-"\tYou will need to rewrite or cast the expression"
+#: commands/copy.c:724
+msgid "cannot specify NULL in BINARY mode"
 msgstr ""
 
-#: parser/analyze.c:2450
-msgid "SELECT FOR UPDATE is not allowed with DISTINCT clause"
+#: commands/copy.c:742
+#: executor/execMain.c:462
+#: tcop/utility.c:260
+msgid "transaction is read-only"
+msgstr "ÔÒÁÎÚÁËÃÉÑ ÕÓÔÁÎÏ×ÌÅÎÁ \"ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ\""
+
+#: commands/copy.c:753
+msgid "must be superuser to COPY to or from a file"
 msgstr ""
 
-#: parser/analyze.c:2452
-msgid "SELECT FOR UPDATE is not allowed with GROUP BY clause"
+#: commands/copy.c:754
+msgid "Anyone can COPY to stdout or from stdin. psql's \\copy command also works for anyone."
 msgstr ""
 
-#: parser/analyze.c:2454
-msgid "SELECT FOR UPDATE is not allowed with AGGREGATE"
+#: commands/copy.c:763
+msgid "COPY delimiter must be a single character"
 msgstr ""
 
-#: parser/analyze.c:2519
+#: commands/copy.c:771
 #, c-format
-msgid "FOR UPDATE: relation \"%s\" not found in FROM clause"
-msgstr ""
+msgid "table \"%s\" does not have OIDs"
+msgstr "ÔÁÂÌÉÃÁ \"%s\" ÎÅ ÓÏÄÅÒÖÉÔ OIDs"
 
-#: parser/analyze.c:2559
+#: commands/copy.c:799
 #, c-format
-msgid "relationHasPrimaryKey: index %u not found"
-msgstr ""
+msgid "cannot copy to view \"%s\""
+msgstr "ÎÅÌØÚÑ ËÏÐÉÒÏ×ÁÔØ × ×ÉÄ \"%s\""
 
-#: parser/analyze.c:2610
-msgid "Misplaced DEFERRABLE clause"
-msgstr ""
+#: commands/copy.c:804
+#, c-format
+msgid "cannot copy to sequence \"%s\""
+msgstr "ÎÅÌØÚÑ ËÏÐÉÒÏ×ÁÔØ × ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ \"%s\""
 
-#: parser/analyze.c:2612 parser/analyze.c:2621
-msgid "Multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed"
-msgstr ""
+#: commands/copy.c:809
+#, c-format
+msgid "cannot copy to non-table relation \"%s\""
+msgstr "ÎÅÌØÚÑ ËÏÐÉÒÏ×ÁÔØ × ÎÅ-ÔÁÂÌÉÃÕ \"%s\""
 
-#: parser/analyze.c:2619
-msgid "Misplaced NOT DEFERRABLE clause"
-msgstr ""
+#: commands/copy.c:828
+#, c-format
+msgid "could not open file \"%s\" for reading: %m"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔËÔÒÙÔØ ÆÁÊÌ \"%s\" ÄÌÑ ÞÔÅÎÉÑ: %m"
 
-#: parser/analyze.c:2626 parser/analyze.c:2644 gram.y:2150 gram.y:2164
-msgid "INITIALLY DEFERRED constraint must be DEFERRABLE"
-msgstr ""
+#: commands/copy.c:837
+#: commands/copy.c:899
+#, c-format
+msgid "\"%s\" is a directory"
+msgstr "\"%s\" Ñ×ÌÑÅÔÓÑ ÄÉÒÅËÔÏÒÉÅÊ"
 
-#: parser/analyze.c:2631
-msgid "Misplaced INITIALLY DEFERRED clause"
-msgstr ""
+#: commands/copy.c:849
+#, c-format
+msgid "cannot copy from view \"%s\""
+msgstr "ÎÅÌØÚÑ ËÏÐÉÒÏ×ÁÔØ ÉÚ ×ÉÄÁ \"%s\""
 
-#: parser/analyze.c:2633 parser/analyze.c:2651
-msgid "Multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed"
-msgstr ""
+#: commands/copy.c:854
+#, c-format
+msgid "cannot copy from sequence \"%s\""
+msgstr "ÎÅÌØÚÑ ËÏÐÉÒÏ×ÁÔØ ÉÚ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ \"%s\""
+
+#: commands/copy.c:859
+#, c-format
+msgid "cannot copy from non-table relation \"%s\""
+msgstr "ÎÅÌØÚÑ ËÏÐÉÒÏ×ÁÔØ ÉÚ ÎÅ-ÔÁÂÌÉÃÙ \"%s\""
 
-#: parser/analyze.c:2649
-msgid "Misplaced INITIALLY IMMEDIATE clause"
+#: commands/copy.c:881
+msgid "relative path not allowed for COPY to file"
 msgstr ""
 
-#: parser/analyze.c:2758
+#: commands/copy.c:890
 #, c-format
-msgid ""
-"New table specifies a schema (%s) different from the one being created (%s)"
-msgstr ""
+msgid "could not open file \"%s\" for writing: %m"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔËÔÒÙÔØ ÆÁÊÌ \"%s\" ÄÌÑ ÚÁÐÉÓÉ: %m"
 
-#: parser/analyze.c:2777
+#: commands/copy.c:1114
 #, c-format
-msgid ""
-"New view specifies a schema (%s) different from the one being created (%s)"
+msgid "COPY FROM, line %d"
+msgstr "COPY FROM, ÓÔÒÏËÁ %d"
+
+#: commands/copy.c:1282
+msgid "COPY file signature not recognized"
 msgstr ""
 
-#: parser/analyze.c:2794
-msgid "parser: unsupported schema node (internal error)"
+#: commands/copy.c:1288
+msgid "invalid COPY file header (missing flags)"
 msgstr ""
 
-#: parser/parse_agg.c:112
-#, c-format
-msgid "Attribute %s.%s must be GROUPed or used in an aggregate function"
+#: commands/copy.c:1294
+msgid "unrecognized critical flags in COPY file header"
 msgstr ""
 
-#: parser/parse_agg.c:150
-msgid "Aggregates not allowed in WHERE clause"
+#: commands/copy.c:1300
+msgid "invalid COPY file header (missing length)"
 msgstr ""
 
-#: parser/parse_agg.c:152
-msgid "Aggregates not allowed in JOIN conditions"
+#: commands/copy.c:1308
+msgid "invalid COPY file header (wrong length)"
 msgstr ""
 
-#: parser/parse_agg.c:168
-msgid "Aggregates not allowed in GROUP BY clause"
+#: commands/copy.c:1376
+msgid "null OID in COPY data"
 msgstr ""
 
-#: parser/parse_clause.c:195
-msgid "Bogus InhOption value"
+#: commands/copy.c:1384
+#: commands/copy.c:1499
+msgid "invalid OID in COPY data"
 msgstr ""
 
-#: parser/parse_clause.c:342
+#: commands/copy.c:1403
 #, c-format
-msgid "JOIN/ON clause refers to \"%s\", which is not part of JOIN"
+msgid "missing data for column \"%s\""
+msgstr "ÏÔÓÕÔÓÔ×ÕÀÔ ÄÁÎÎÙÅ ÄÌÑ ËÏÌÏÎËÉ \"%s\""
+
+#: commands/copy.c:1449
+#: commands/copy.c:1460
+msgid "extra data after last expected column"
 msgstr ""
 
-#: parser/parse_clause.c:401
-msgid "sub-select in FROM must have an alias"
+#: commands/copy.c:1486
+#, c-format
+msgid "row field count is %d, expected %d"
 msgstr ""
 
-#: parser/parse_clause.c:425 parser/parse_clause.c:428
-msgid "Unexpected parse analysis result for subselect in FROM"
+#: commands/copy.c:1691
+#: commands/copy.c:1709
+msgid "literal carriage return found in data"
 msgstr ""
 
-#: parser/parse_clause.c:431
-msgid "Expected SELECT query from subselect in FROM"
+#: commands/copy.c:1692
+#: commands/copy.c:1710
+msgid "Use \"\\r\" to represent carriage return."
 msgstr ""
 
-#: parser/parse_clause.c:433
-msgid "Subselect in FROM may not have SELECT INTO"
+#: commands/copy.c:1728
+msgid "literal newline found in data"
 msgstr ""
 
-#: parser/parse_clause.c:494
+#: commands/copy.c:1729
 msgid ""
-"FROM function expression may not refer to other relations of same query level"
+"Use \"\\n"
+"\" to represent newline."
 msgstr ""
 
-#: parser/parse_clause.c:503
-msgid "cannot use aggregate function in FROM function expression"
+#: commands/copy.c:1826
+#: commands/copy.c:1842
+msgid "end-of-copy marker does not match previous newline style"
 msgstr ""
 
-#: parser/parse_clause.c:626 parser/parse_clause.c:638
-msgid "transformFromClauseItem: unexpected subtree type"
+#: commands/copy.c:1830
+#: commands/copy.c:1836
+msgid "end-of-copy marker corrupt"
 msgstr ""
 
-#: parser/parse_clause.c:721
-#, c-format
-msgid "USING column name \"%s\" appears more than once"
+#: commands/copy.c:1911
+#: commands/copy.c:1933
+msgid "unexpected EOF in COPY data"
 msgstr ""
 
-#: parser/parse_clause.c:733
+#: commands/copy.c:1920
 #, c-format
-msgid "Common column name \"%s\" appears more than once in left table"
+msgid "invalid size for field %d"
 msgstr ""
 
-#: parser/parse_clause.c:739
+#: commands/copy.c:1947
 #, c-format
-msgid "JOIN/USING column \"%s\" not found in left table"
+msgid "incorrect binary data format in field %d"
 msgstr ""
 
-#: parser/parse_clause.c:751
+#: commands/copy.c:2067
+#: parser/parse_target.c:500
 #, c-format
-msgid "Common column name \"%s\" appears more than once in right table"
-msgstr ""
+msgid "attribute \"%s\" specified more than once"
+msgstr "ÁÔÒÉÂÕÔ \"%s\" ÕËÁÚÁΠÂÏÌÅÅ ÏÄÎÏÇÏ ÒÁÚÁ"
 
-#: parser/parse_clause.c:757
+#: commands/functioncmds.c:83
 #, c-format
-msgid "JOIN/USING column \"%s\" not found in right table"
-msgstr ""
+msgid "SQL function cannot return shell type %s"
+msgstr "SQL-ÆÕÎËÃÉÑ ÎÅ ÍÏÖÅÔ ×ÏÚ×ÒÁÝÁÔØ ÔÉРÏÂÏÌÏÞËÉ %s"
 
-#: parser/parse_clause.c:806
+#: commands/functioncmds.c:88
 #, c-format
-msgid "Column alias list for \"%s\" has too many entries"
+msgid "return type %s is only a shell"
 msgstr ""
 
-#: parser/parse_clause.c:833
+#: commands/functioncmds.c:114
 #, c-format
-msgid ""
-"transformFromClauseItem: unexpected node (internal error)\n"
-"\t%s"
-msgstr ""
+msgid "type \"%s\" is not yet defined"
+msgstr "ÔÉР\"%s\" ÅÝ£ ÎÅ ÏÐÒÅÄÅÌ£Î"
 
-#: parser/parse_clause.c:944
-#, c-format
-msgid "buildMergedJoinVar: unexpected jointype %d"
+#: commands/functioncmds.c:115
+msgid "Creating a shell type definition."
 msgstr ""
 
-#: parser/parse_clause.c:1065
+#: commands/functioncmds.c:162
 #, c-format
-msgid "%s '%s' is ambiguous"
-msgstr ""
+msgid "SQL function cannot accept shell type %s"
+msgstr "SQL-ÆÕÎËÃÉÑ ÎÅ ÍÏÖÅÔ ÐÒÉÎÉÍÁÔØ ÚÎÁÞÅÎÉÅ ÔÉÐÁ ÏÂÏÌÏÞËÉ %s"
 
-#: parser/parse_clause.c:1084
+#: commands/functioncmds.c:167
 #, c-format
-msgid "Non-integer constant in %s"
-msgstr ""
+msgid "argument type %s is only a shell"
+msgstr "ÔÉРÁÒÇÕÍÅÎÔÁ %s Ñ×ÌÑÅÔÓÑ ÔÏÌØËÏ ÏÂÏÌÏÞËÏÊ"
 
-#: parser/parse_clause.c:1097
+#: commands/functioncmds.c:175
+#: parser/parse_oper.c:113
+#: parser/parse_oper.c:124
 #, c-format
-msgid "%s position %d is not in target list"
-msgstr ""
+msgid "type %s does not exist"
+msgstr "ÔÉР%s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: parser/parse_clause.c:1238
-msgid "For SELECT DISTINCT, ORDER BY expressions must appear in target list"
-msgstr ""
-"äÌÑ SELECT DISTINCT, ×ÙÒÁÖÅÎÉÑ ORDER BY ÏÂÑÚÁÎÙ ÂÙÔØ × ÓÐÉÓËÅ ÎÁÚÎÁÚÞÅÎÉÑ"
+#: commands/functioncmds.c:182
+msgid "functions cannot accept set arguments"
+msgstr "ÆÕÎËÃÉÉ ÎÅ ÐÒÉÎÉÍÁÀÔ ÁÒÇÕÍÅÎÔÙ-ÍÎÏÖÅÓÔ×Á (set)"
 
-#: parser/parse_clause.c:1276
-msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions"
+#: commands/functioncmds.c:265
+msgid "no function body specified"
 msgstr ""
-"÷ÙÒÁÖÅÎÉÑ SELECT DISTINCT ON ÄÏÌÖÎÙ ÓÏ×ÐÁÄÁÔØ Ó ÉÚÎÁÞÁÌØÎÙÍÉ ×ÙÐÒÁÖÅÎÉÑÍÉ "
-"ORDER BY"
 
-#: parser/parse_clause.c:1300
-msgid ""
-"transformDistinctClause: failed to add DISTINCT ON clause to target list"
-msgstr ""
+#: commands/functioncmds.c:272
+msgid "no language specified"
+msgstr "ÑÚÙË ÎÅ ÕËÁÚÁÎ"
 
-#: parser/parse_coerce.c:291
+#: commands/functioncmds.c:333
 #, c-format
-msgid "coerce_type: no conversion function from %s to %s"
-msgstr "coerce_type: ÆÕÎÃÉÉ ËÏÎ×ÅÒÓÉÉ ÉÚ %s × %s ÎÅ ÏÂÎÁÒÕÖÅÎÏ"
+msgid "unrecognized function attribute \"%s\" ignored"
+msgstr ""
 
-#: parser/parse_coerce.c:423
+#: commands/functioncmds.c:377
 #, c-format
-msgid "coerce_type_constraints: failed to lookup type %u"
-msgstr "coerce_type_constraints: ÔÉР%u ÎÅ ÎÁÊÄÅÎ"
+msgid "only one AS item needed for language \"%s\""
+msgstr ""
 
-#: parser/parse_coerce.c:454
+#: commands/functioncmds.c:559
+#: commands/functioncmds.c:665
 #, c-format
-msgid "coerce_type_constraints: domain %s constraint %s has NULL conbin"
+msgid "\"%s\" is an aggregate function"
+msgstr "ÆÕÎËÃÉÑ \"%s\" Ñ×ÌÑÅÔÓÑ ÁÇÒÅÇÁÔÏÍ"
+
+#: commands/functioncmds.c:561
+msgid "Use DROP AGGREGATE to drop aggregate functions."
 msgstr ""
 
-#. translator: first %s is name of a SQL construct, eg WHERE
-#: parser/parse_coerce.c:607
+#: commands/functioncmds.c:568
 #, c-format
-msgid "Argument of %s must be type boolean, not type %s"
-msgstr "ôÉРÁÒÇÕÍÅÎÔÁ ËÏÎÓÔÒÕËÃÉÉ %s ÄÏÌÖÅΠÂÙÔØ boolean, Á ÎÅ %s"
+msgid "removing built-in function \"%s\""
+msgstr "ÕÄÁÌÅÎÉÅ ×ÓÔÒÏÅÎÎÏÊ ÆÕÎËÃÉÉ \"%s\""
 
-#. translator: %s is name of a SQL construct, eg WHERE
-#: parser/parse_coerce.c:615
-#, c-format
-msgid "Argument of %s must not be a set function"
+#: commands/functioncmds.c:667
+msgid "Use ALTER AGGREGATE to rename aggregate functions."
 msgstr ""
 
-#: parser/parse_coerce.c:662
+#: commands/functioncmds.c:805
+#: commands/functioncmds.c:1039
 #, c-format
-msgid "%s types '%s' and '%s' not matched"
-msgstr "%s ÔÉÐÙ '%s' É '%s' ÎÅ ÓÏ×ÐÁÄÁÀÔ"
+msgid "source data type %s does not exist"
+msgstr "ÉÓÈÏÄÎÙÊ ÔÉРÄÁÎÎÙÈ %s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: parser/parse_coerce.c:714
+#: commands/functioncmds.c:812
+#: commands/functioncmds.c:1046
 #, c-format
-msgid "%s unable to convert to type %s"
-msgstr "%s ÎÅ × ÓÏÓÔÏÑÎÉÉ ÓËÏÎ×ÅÒÔÉÒÏ×ÁÔØ × ÔÉР%s"
+msgid "target data type %s does not exist"
+msgstr "ÔÉРÄÁÎÎÙÈ ÎÁÚÎÁÞÅÎÉÑ %s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: parser/parse_coerce.c:996
-#, c-format
-msgid "find_coercion_pathway: bogus castcontext %c"
+#: commands/functioncmds.c:818
+msgid "source data type and target data type are the same"
 msgstr ""
 
-#: parser/parse_expr.c:101
+#: commands/functioncmds.c:824
 #, c-format
-msgid "Expression too complex: nesting depth exceeds max_expr_depth = %d"
+msgid "source data type %s is only a shell"
 msgstr ""
 
-#: parser/parse_expr.c:120
+#: commands/functioncmds.c:830
 #, c-format
-msgid "Parameter '$%d' is out of range"
-msgstr ""
-
-#: parser/parse_expr.c:273
-msgid "IS DISTINCT FROM requires = operator to yield boolean"
-msgstr ""
-
-#: parser/parse_expr.c:355 parser/parse_expr.c:359
-msgid "Bad query in subselect"
+msgid "target data type %s is only a shell"
 msgstr ""
 
-#: parser/parse_expr.c:381
-msgid "Subselect must have a field"
+#: commands/functioncmds.c:836
+#, c-format
+msgid "source data type %s is a pseudo-type"
 msgstr ""
 
-#: parser/parse_expr.c:385
-msgid "Subselect must have only one field"
+#: commands/functioncmds.c:842
+#, c-format
+msgid "target data type %s is a pseudo-type"
 msgstr ""
 
-#: parser/parse_expr.c:415
+#: commands/functioncmds.c:850
+#: commands/functioncmds.c:1065
 #, c-format
-msgid "Row comparison cannot use operator %s"
+msgid "must be owner of type %s or type %s"
 msgstr ""
 
-#: parser/parse_expr.c:438
-msgid "Subselect has too many fields"
+#: commands/functioncmds.c:872
+msgid "cast function must take one argument"
 msgstr ""
 
-#: parser/parse_expr.c:454
-#, c-format
-msgid ""
-"%s has result type of %s, but must return %s to be used with quantified "
-"predicate subquery"
+#: commands/functioncmds.c:876
+msgid "argument of cast function must match source data type"
 msgstr ""
 
-#: parser/parse_expr.c:460
-#, c-format
-msgid "%s must not return a set to be used with quantified predicate subquery"
+#: commands/functioncmds.c:880
+msgid "return data type of cast function must match target data type"
 msgstr ""
 
-#: parser/parse_expr.c:476
-msgid "Subselect has too few fields"
+#: commands/functioncmds.c:891
+msgid "cast function must not be volatile"
 msgstr ""
 
-#: parser/parse_expr.c:620
-#, c-format
-msgid "transformExpr: unexpected booltesttype %d"
+#: commands/functioncmds.c:896
+msgid "cast function must not be an aggregate function"
 msgstr ""
 
-#: parser/parse_expr.c:658
-#, c-format
-msgid "transformExpr: does not know how to transform node %d (internal error)"
+#: commands/functioncmds.c:900
+msgid "cast function must not return a set"
 msgstr ""
 
-#: parser/parse_expr.c:763
-#, c-format
-msgid "Attribute \"%s\" not found"
-msgstr "áÔÒÉÂÕÔ \"%s\" ÎÅ ÎÁÊÄÅÎ"
-
-#: parser/parse_expr.c:875 parser/parse_target.c:153
-msgid "Invalid qualified name syntax (too many names)"
+#: commands/functioncmds.c:923
+msgid "must be superuser to create a cast WITHOUT FUNCTION"
 msgstr ""
 
-#: parser/parse_expr.c:935
-msgid "exprType: Cannot get type for untransformed sublink"
+#: commands/functioncmds.c:938
+msgid "source and target datatypes are not physically compatible"
 msgstr ""
 
-#: parser/parse_expr.c:977
+#: commands/functioncmds.c:973
 #, c-format
-msgid "Relation reference \"%s\" cannot be used in an expression"
-msgstr ""
+msgid "cast from type %s to type %s already exists"
+msgstr "ËÏÎ×ÅÒÓÉÑ ÔÉÐÁ %s × ÔÉР%s ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: parser/parse_expr.c:982
+#: commands/functioncmds.c:1056
 #, c-format
-msgid "exprType: Do not know how to get type for %d node"
-msgstr "exprType: îÅ ÉÚ×ÅÓÔÎÏ ËÁË ÉÚ×ÌÅÞØ ÔÉРÄÌÑ ÕÚÌÁ %d"
+msgid "cast from type %s to type %s does not exist"
+msgstr "ËÏÎ×ÅÒÓÉÑ ÔÉÐÁ %s × ÔÉР%s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: parser/parse_expr.c:1151
+#: commands/define.c:71
+#: commands/define.c:169
+#: commands/define.c:201
+#: commands/define.c:235
 #, c-format
-msgid "Cannot cast type %s to %s"
-msgstr "îÅÌØÚÑ ËÏÎ×ÅÒÔÉÒÏ×ÁÔØ ÔÉР%s × %s"
+msgid "%s requires a parameter"
+msgstr "%s ÔÒÅÂÕÅÔ ÐÁÒÁÍÅÔÒ"
 
-#: parser/parse_func.c:97
+#: commands/define.c:110
+#: commands/define.c:121
+#: commands/define.c:136
+#: commands/define.c:154
 #, c-format
-msgid "Cannot pass more than %d arguments to a function"
-msgstr ""
+msgid "%s requires a numeric value"
+msgstr "%s ÔÒÅÂÕÅÔ ÃÉÆÒÏ×ÏÅ ÚÎÁÞÅÎÉÅ"
 
-#: parser/parse_func.c:104
+#: commands/define.c:183
 #, c-format
-msgid "Function '%s' does not allow NULL input"
+msgid "argument of %s must be a name"
 msgstr ""
 
-#: parser/parse_func.c:192
+#: commands/define.c:219
 #, c-format
-msgid "Cannot find type OID for relation %u"
+msgid "argument of %s must be a type name"
 msgstr ""
 
-#: parser/parse_func.c:232
+#: commands/define.c:244
 #, c-format
-msgid "Cannot pass result of sub-select or join %s to a function"
-msgstr ""
+msgid "%s requires an integer value"
+msgstr "%s ÔÒÅÂÕÅÔ ÃÅÌÏÅ ÚÎÁÞÅÎÉÅ"
 
-#: parser/parse_func.c:270
+#: commands/define.c:265
 #, c-format
-msgid "%s(*) specified, but %s is not an aggregate function"
-msgstr ""
+msgid "invalid argument for %s: \"%s\""
+msgstr "ÎÅ×ÅÒÎÙÊ ÁÒÇÕÍÅÎÔ ÄÌÑ %s: \"%s\""
 
-#: parser/parse_func.c:273
+#: commands/indexcmds.c:152
+#: commands/opclasscmds.c:91
+#: commands/opclasscmds.c:497
+#: commands/opclasscmds.c:647
 #, c-format
-msgid "DISTINCT specified, but %s is not an aggregate function"
+msgid "access method \"%s\" does not exist"
 msgstr ""
 
-#: parser/parse_func.c:296
-#, c-format
-msgid "Attribute notation .%s applied to type %s, which is not a complex type"
+#: commands/opclasscmds.c:112
+msgid "must be superuser to create an operator class"
 msgstr ""
 
-#: parser/parse_func.c:299
+#: commands/opclasscmds.c:154
 #, c-format
-msgid "Attribute \"%s\" not found in datatype %s"
-msgstr ""
-
-#: parser/parse_func.c:342
-msgid "Aggregates may not return sets"
+msgid "invalid operator number %d, must be between 1 and %d"
 msgstr ""
 
-#: parser/parse_func.c:1257
-#, c-format
-msgid "No such attribute %s.%s.%s"
-msgstr "%s.%s.%s: ÎÅÔ ÔÁËÏÇÏ ÁÔÒÉÂÕÔÁ"
-
-#: parser/parse_func.c:1260
+#: commands/opclasscmds.c:160
 #, c-format
-msgid "No such attribute %s.%s"
-msgstr "%s.%s: ÎÅÔ ÔÁËÏÇÏ ÁÔÒÉÂÕÔÁ"
+msgid "operator number %d appears more than once"
+msgstr "ÎÏÍÅÒ ÏÐÅÒÁÔÏÒÁ %d ÕËÁÚÁΠÂÏÌØÛÅ ÏÄÎÏÇÏ ÒÁÚÁ"
 
-#: parser/parse_func.c:1287
+#: commands/opclasscmds.c:192
 #, c-format
-msgid "Function %s(%s) does not exist%s%s"
-msgstr "æÕÎËÃÉÑ %s(%s) ÎÅ ÓÕÝÅÓÔ×ÕÅÔ %s%s"
+msgid "invalid procedure number %d, must be between 1 and %d"
+msgstr ""
 
-#: parser/parse_func.c:1293
+#: commands/opclasscmds.c:198
 #, c-format
-msgid "%s: function %s(%s) does not exist%s%s"
-msgstr "%s: ÆÕÎËÃÉÑ %s(%s) ÎÅ ÓÕÝÅÓÔ×ÕÅÔ %s%s"
+msgid "DefineOpClass: procedure number %d appears more than once"
+msgstr ""
 
-#: parser/parse_func.c:1319
-#, c-format
-msgid "%s: aggregate %s(*) does not exist"
-msgstr "%s: ÁÇÒÅÇÁÔ %s(*) ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
+#: commands/opclasscmds.c:214
+msgid "storage type specified more than once"
+msgstr ""
 
-#: parser/parse_func.c:1322
+#: commands/opclasscmds.c:241
 #, c-format
-msgid "%s: aggregate %s(%s) does not exist"
-msgstr "%s: ÁÇÒÅÇÁÔ %s(%s) ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
+msgid "storage type may not be different from datatype for access method \"%s\""
+msgstr ""
 
-#: parser/parse_func.c:1338
+#: commands/opclasscmds.c:259
 #, c-format
-msgid "%s: function %s(*) is not an aggregate"
+msgid "operator class \"%s\" for access method \"%s\" already exists"
 msgstr ""
 
-#: parser/parse_func.c:1341
+#: commands/opclasscmds.c:287
 #, c-format
-msgid "%s: function %s(%s) is not an aggregate"
+msgid "could not make class \"%s\" be default for type %s"
 msgstr ""
 
-#: parser/parse_node.c:211
+#: commands/opclasscmds.c:290
 #, c-format
-msgid "transformArraySubscripts: Cache lookup failed for array type %u"
+msgid "Class \"%s\" already is the default."
 msgstr ""
 
-#: parser/parse_node.c:217
+#: commands/indexcmds.c:479
+#: commands/indexcmds.c:489
+#: commands/opclasscmds.c:526
+#: commands/opclasscmds.c:536
+#: commands/opclasscmds.c:669
+#: commands/opclasscmds.c:680
 #, c-format
-msgid "transformArraySubscripts: type %s is not an array"
+msgid "operator class \"%s\" does not exist for access method \"%s\""
 msgstr ""
 
-#: parser/parse_node.c:225
+#: commands/opclasscmds.c:701
 #, c-format
-msgid "transformArraySubscripts: Cache lookup failed for array element type %u"
+msgid "operator class \"%s\" for access method \"%s\" already exists in schema \"%s\""
 msgstr ""
 
-#: parser/parse_node.c:282 parser/parse_node.c:302
-msgid "array index expressions must be integers"
+#: commands/indexcmds.c:92
+msgid "must specify at least one attribute"
 msgstr ""
 
-#: parser/parse_node.c:321
+#: commands/indexcmds.c:96
 #, c-format
-msgid ""
-"Array assignment requires type %s but expression is of type %s\n"
-"\tYou will need to rewrite or cast the expression"
+msgid "cannot use more than %d attributes in an index"
 msgstr ""
 
-#: parser/parse_node.c:431
-#, c-format
-msgid "make_const: unknown type %d"
+#: commands/indexcmds.c:120
+msgid "existing indexes are inactive"
 msgstr ""
 
-#: parser/parse_oper.c:116
-#, c-format
-msgid "%s: Prefix operator '%s' for type '%s' does not exist"
-msgstr "%s: Prefix-ÏÐÅÒÁÔÏÒ '%s' ÄÌÑ ÔÉÐÁ '%s' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#: parser/parse_oper.c:120
-#, c-format
-msgid "%s: Postfix operator '%s' for type '%s' does not exist"
-msgstr "%s: Postfix-ÏÐÅÒÁÔÏÒ '%s' ÄÌÑ ÔÉÐÁ '%s' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
+#: commands/indexcmds.c:121
+msgid "REINDEX the table first."
+msgstr ""
 
-#: parser/parse_oper.c:124
+#: commands/indexcmds.c:160
 #, c-format
-msgid "%s: Operator '%s' for types '%s' and '%s' does not exist"
-msgstr "%s: ïÐÅÒÁÔÏÒ '%s' ÄÌÑ ÔÉÐÏ× '%s' É '%s' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
+msgid "access method \"%s\" does not support UNIQUE indexes"
+msgstr ""
 
-#: parser/parse_oper.c:166
+#: commands/indexcmds.c:165
 #, c-format
-msgid "Unable to identify an equality operator for type %s"
+msgid "access method \"%s\" does not support multi-column indexes"
 msgstr ""
 
-#: parser/parse_oper.c:204
-#, c-format
-msgid ""
-"Unable to identify an ordering operator for type %s\n"
-"\tUse an explicit ordering operator or modify the query"
+#: commands/indexcmds.c:179
+msgid "index expressions and predicates may refer only to the base relation"
 msgstr ""
 
-#: parser/parse_oper.c:966
-#, c-format
-msgid ""
-"Left hand side of operator '%s' has an unknown type\n"
-"\tProbably a bad attribute name"
+#: commands/indexcmds.c:210
+msgid "primary keys cannot be expressions"
 msgstr ""
 
-#: parser/parse_oper.c:971
+#: commands/indexcmds.c:240
+#: parser/analyze.c:1442
 #, c-format
-msgid ""
-"Right hand side of operator %s has an unknown type\n"
-"\tProbably a bad attribute name"
+msgid "column \"%s\" named in key does not exist"
 msgstr ""
 
-#: parser/parse_oper.c:975
-#, c-format
-msgid ""
-"Unable to identify an operator '%s' for types '%s' and '%s'\n"
-"\tYou will have to retype this query using an explicit cast"
+#: commands/indexcmds.c:299
+msgid "cannot use sub-select in index predicate"
 msgstr ""
 
-#: parser/parse_oper.c:991
-#, c-format
-msgid ""
-"operand of prefix operator '%s' has an unknown type\n"
-"\t(probably an invalid column reference)"
+#: commands/indexcmds.c:303
+msgid "cannot use aggregate in index predicate"
 msgstr ""
 
-#: parser/parse_oper.c:995
-#, c-format
-msgid ""
-"operand of postfix operator '%s' has an unknown type\n"
-"\t(probably an invalid column reference)"
+#: commands/indexcmds.c:312
+msgid "functions in index predicate must be marked IMMUTABLE"
 msgstr ""
 
-#: parser/parse_oper.c:1002
+#: commands/indexcmds.c:345
+#: commands/tablecmds.c:1205
 #, c-format
-msgid ""
-"Unable to identify a prefix operator '%s' for type '%s'\n"
-"\tYou may need to add parentheses or an explicit cast"
+msgid "attribute \"%s\" does not exist"
+msgstr "ÁÔÒÉÂÕÔ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
+
+#: commands/indexcmds.c:377
+msgid "cannot use sub-select in index expression"
 msgstr ""
 
-#: parser/parse_oper.c:1006
-#, c-format
-msgid ""
-"Unable to identify a postfix operator '%s' for type '%s'\n"
-"\tYou may need to add parentheses or an explicit cast"
+#: commands/indexcmds.c:381
+msgid "cannot use aggregate in index expression"
 msgstr ""
 
-#: parser/parse_relation.c:169 parser/parse_relation.c:181
-#, c-format
-msgid "Table reference \"%s\" is ambiguous"
+#: commands/indexcmds.c:392
+msgid "functions in index expression must be marked IMMUTABLE"
 msgstr ""
 
-#: parser/parse_relation.c:185
+#: commands/indexcmds.c:447
 #, c-format
-msgid "scanNameSpaceForRefname: unexpected node type %d"
+msgid "data type %s has no default operator class for access method \"%s\""
 msgstr ""
 
-#: parser/parse_relation.c:239 parser/parse_relation.c:251
-#, c-format
-msgid "Table reference %u is ambiguous"
+#: commands/indexcmds.c:449
+msgid "You must specify an operator class for the index or define a default operator class for the data type."
 msgstr ""
 
-#: parser/parse_relation.c:255
+#: commands/indexcmds.c:502
 #, c-format
-msgid "scanNameSpaceForRelid: unexpected node type %d"
-msgstr "scanNameSpaceForRelid: ÎÅÏÖÉÄÁÎÎÙÊ ÔÉРÕÚÌÁ %d"
+msgid "operator class \"%s\" does not accept data type %s"
+msgstr ""
 
-#: parser/parse_relation.c:319
+#: commands/indexcmds.c:559
+#: utils/cache/typcache.c:286
 #, c-format
-msgid "checkNameSpaceConflicts: unexpected node type %d"
+msgid "there are multiple default operator classes for data type %s"
 msgstr ""
 
-#: parser/parse_relation.c:342 parser/parse_relation.c:352
+#: commands/indexcmds.c:626
+#: commands/indexcmds.c:632
 #, c-format
-msgid "Table name \"%s\" specified more than once"
-msgstr "éÍÑ ÔÁÂÌÉÃÙ \"%s\" ÕËÁÚÁÎÏ ÂÏÌØÛÅ ÏÄÎÏÇÏ ÒÁÚÁ"
+msgid "permission denied: \"%s\" is a system index"
+msgstr "ÄÏÓÔÕРÚÁÐÒÅÝ£Î: \"%s\" Ñ×ÌÑÅÔÓÑ ÓÉÓÔÅÍÎÙÍ ÉÎÄÅËÓÏÍ"
 
-#: parser/parse_relation.c:373
-#, c-format
-msgid "scanNameSpaceForConflict: unexpected node type %d"
-msgstr "scanNameSpaceForConflict: ÎÅÏÖÉÄÁÎÎÙÊ ÕÚÌÁ %d"
+#: commands/indexcmds.c:628
+msgid "Do REINDEX in standalone postgres with -O -P options."
+msgstr ""
 
-#: parser/parse_relation.c:408
-msgid "RTERangeTablePosn: RTE not found (internal error)"
+#: commands/indexcmds.c:634
+msgid "Do REINDEX in standalone postgres with -P -O options."
 msgstr ""
 
-#: parser/parse_relation.c:460 parser/parse_relation.c:553
+#: commands/indexcmds.c:649
 #, c-format
-msgid "Column reference \"%s\" is ambiguous"
+msgid "index \"%s\" wasn't reindexed"
 msgstr ""
 
-#: parser/parse_relation.c:547
+#: commands/indexcmds.c:685
 #, c-format
-msgid "colnameToVar: unexpected node type %d"
+msgid "table \"%s\" wasn't reindexed"
 msgstr ""
 
-#: parser/parse_relation.c:646 parser/parse_relation.c:739
-#: parser/parse_relation.c:832 parser/parse_relation.c:946
-#, c-format
-msgid "Table \"%s\" has %d columns available but %d columns specified"
+#: commands/indexcmds.c:712
+msgid "can only reindex the currently open database"
 msgstr ""
 
-#: parser/parse_relation.c:907
-msgid "A column definition list is only allowed for functions returning RECORD"
+#: commands/indexcmds.c:721
+msgid "REINDEX DATABASE must be done in standalone postgres with -O -P options"
 msgstr ""
 
-#: parser/parse_relation.c:916
-msgid "A column definition list is required for functions returning RECORD"
+#: commands/indexcmds.c:725
+msgid "REINDEX DATABASE must be done in standalone postgres with -P -O options"
 msgstr ""
 
-#: parser/parse_relation.c:972
+#: commands/indexcmds.c:793
 #, c-format
-msgid "Too many column aliases specified for function %s"
+msgid "relation %u was reindexed"
 msgstr ""
 
-#: parser/parse_relation.c:993
+#: commands/lockcmds.c:68
+#: commands/tablecmds.c:382
+#: commands/tablecmds.c:1679
+#: commands/tablecmds.c:1970
+#: commands/tablecmds.c:2114
+#: commands/tablecmds.c:2348
+#: commands/tablecmds.c:2514
+#: commands/tablecmds.c:2648
+#: commands/tablecmds.c:2829
+#: commands/tablecmds.c:3816
+#: commands/tablecmds.c:4085
+#: commands/trigger.c:144
+#: commands/trigger.c:546
+#: tcop/utility.c:76
 #, c-format
-msgid "Unknown kind of return type specified for function %s"
+msgid "\"%s\" is not a table"
+msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÔÁÂÌÉÃÅÊ"
+
+#: commands/operatorcmds.c:106
+#: commands/operatorcmds.c:114
+msgid "setof type not allowed for operator argument"
 msgstr ""
 
-#: parser/parse_relation.c:1425
+#: commands/operatorcmds.c:141
 #, c-format
-msgid "expandRTE: unsupported RTE kind %d"
+msgid "operator attribute \"%s\" not recognized"
+msgstr "ÁÔÒÉÂÕÔ ÏÐÅÒÁÔÏÒÁ \"%s\" ÎÅ ÒÁÓÐÏÚÎÁÎ"
+
+#: commands/operatorcmds.c:151
+msgid "operator procedure must be specified"
 msgstr ""
 
-#: parser/parse_relation.c:1515
-#, c-format
-msgid "Invalid attnum %d for rangetable entry %s"
+#: commands/portalcmds.c:54
+#: commands/portalcmds.c:165
+#: commands/portalcmds.c:213
+msgid "invalid cursor name: must not be empty"
 msgstr ""
 
-#: parser/parse_relation.c:1542 parser/parse_relation.c:1605
-#: parser/parse_relation.c:1683
-#, c-format
-msgid "Relation \"%s\" does not have attribute %d"
-msgstr "ó×ÑÚØ \"%s\" ÎÅ ÉÍÅÅÔ ÁÔÒÉÂÕÔÁ %d"
+#: commands/portalcmds.c:80
+msgid "DECLARE CURSOR may not specify INTO"
+msgstr "DECLARE CURSOR ÎÅ ÍÏÖÅÔ ÕËÁÚÙ×ÁÔØ INTO"
 
-#: parser/parse_relation.c:1574
-#, c-format
-msgid "Subquery %s does not have attribute %d"
+#: commands/portalcmds.c:84
+msgid "DECLARE CURSOR ... FOR UPDATE is not supported"
 msgstr ""
 
-#: parser/parse_relation.c:1655
-#, c-format
-msgid "get_rte_attribute_type: unsupported RTE kind %d"
+#: commands/portalcmds.c:85
+msgid "Cursors must be READ ONLY."
 msgstr ""
 
-#: parser/parse_relation.c:1716
+#: commands/portalcmds.c:174
+#: commands/portalcmds.c:223
+#: tcop/postgres.c:1506
+#: tcop/postgres.c:1704
 #, c-format
-msgid "Relation %s does not have attribute %d"
-msgstr ""
+msgid "portal \"%s\" does not exist"
+msgstr "ÐÏÒÔÁÌ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: parser/parse_relation.c:1732
+#: commands/portalcmds.c:313
+#: tcop/pquery.c:419
+#: tcop/pquery.c:931
 #, c-format
-msgid "get_rte_attribute_is_dropped: unsupported RTE kind %d"
+msgid "portal \"%s\" already active"
+msgstr "ÐÏÒÔÁÌ \"%s\" ÕÖÅ ÁËÔÉ×ÅÎ"
+
+#: commands/portalcmds.c:369
+msgid "could not reposition held cursor"
 msgstr ""
 
-#: parser/parse_relation.c:1815
-#, c-format
-msgid "attnumAttName: invalid attribute number %d"
-msgstr "attnumAttName: ÎÅ×ÅÒÎÙÊ ÎÏÍÅÒ ÁÔÒÉÂÕÔÁ: %d"
+#: commands/prepare.c:61
+msgid "invalid statement name: must not be empty"
+msgstr ""
+
+#: commands/prepare.c:80
+msgid "utility statements cannot be prepared"
+msgstr ""
+
+# [SM]: TO REVIEW
+#: commands/prepare.c:168
+#: commands/prepare.c:173
+#: commands/prepare.c:536
+msgid "prepared statement is not a SELECT"
+msgstr "ÚÁÇÏÔÏ×ÌÅÎÎÁÑ ËÏÍÁÎÄÁ ÎÅ Ñ×ÌÑÅÔÓÑ SELECTÏÍ"
 
-#: parser/parse_relation.c:1837
+# [SM]: TO REVIEW
+#: commands/prepare.c:308
 #, c-format
-msgid "attnumTypeId: invalid attribute number %d"
-msgstr "attnumTypeId: ÎÅ×ÅÒÎÙÊ ÎÏÍÅÒ ÁÔÒÉÂÕÔÁ: %d"
+msgid "prepared statement \"%s\" already exists"
+msgstr "ÚÁÇÏÔÏ×ÌÅÎÎÁÑ ËÏÍÁÎÄÁ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: parser/parse_relation.c:1864
+# [SM]: TO REVIEW
+#: commands/prepare.c:388
 #, c-format
-msgid "Adding missing FROM-clause entry%s for table \"%s\""
-msgstr "äÏÂÁ×ÌÅÎÉÅ ÏÔÓÕÔÓ×ÕÀÝÅÊ ÚÁÐÉÓÉ%s FROM-×ÙÒÁÖÅÎÉÑ ÄÌÑ ÔÁÂÌÉÃÙ \"%s\""
-
-#: parser/parse_target.c:62
-msgid "You can't use relation names alone in the target list, try relation.*."
-msgstr ""
+msgid "prepared statement \"%s\" does not exist"
+msgstr "ÚÁÇÏÔÏ×ÌÅÎÎÁÑ ËÏÍÁÎÄÁ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: parser/parse_target.c:236
+#: commands/sequence.c:421
+#: commands/sequence.c:613
+#: commands/sequence.c:656
 #, c-format
-msgid "Cannot assign to system attribute '%s'"
-msgstr ""
+msgid "permission denied for sequence %s"
+msgstr "ÄÏÓÔÕРÚÁÐÒÅݣΠÄÌÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ %s"
 
-#: parser/parse_target.c:298
+#: commands/sequence.c:498
 #, c-format
-msgid ""
-"column \"%s\" is of type %s but expression is of type %s\n"
-"\tYou will need to rewrite or cast the expression"
+msgid "%s.nextval: reached MAXVALUE (%s)"
 msgstr ""
 
-#: parser/parse_target.c:371
+#: commands/sequence.c:521
 #, c-format
-msgid "Attribute '%s' specified more than once"
+msgid "%s.nextval: reached MINVALUE (%s)"
 msgstr ""
 
-#: parser/parse_target.c:406
+#: commands/sequence.c:619
 #, c-format
-msgid ""
-"ExpandAllTables: unexpected node (internal error)\n"
-"\t%s"
+msgid "%s.currval is not yet defined in this session"
 msgstr ""
 
-#: parser/parse_target.c:424
-msgid "Wildcard with no tables specified not allowed"
-msgstr ""
+#: commands/sequence.c:673
+#, c-format
+msgid "%s.setval: value %s is out of bounds (%s..%s)"
+msgstr ""
+
+#: commands/sequence.c:800
+#: tcop/utility.c:81
+#, c-format
+msgid "\"%s\" is not a sequence"
+msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØÀ"
+
+#: commands/sequence.c:820
+#: executor/execGrouping.c:328
+#: executor/execGrouping.c:388
+#: executor/nodeIndexscan.c:1041
+#: executor/spi.c:83
+#: executor/spi.c:165
+#: lib/dllist.c:43
+#: lib/dllist.c:88
+#: libpq/auth.c:634
+#: postmaster/pgstat.c:828
+#: postmaster/pgstat.c:845
+#: postmaster/pgstat.c:2255
+#: postmaster/pgstat.c:2318
+#: postmaster/pgstat.c:2363
+#: postmaster/pgstat.c:2414
+#: postmaster/postmaster.c:1556
+#: postmaster/postmaster.c:2153
+#: postmaster/postmaster.c:2916
+#: storage/buffer/localbuf.c:129
+#: storage/file/fd.c:523
+#: storage/file/fd.c:556
+#: storage/file/fd.c:701
+#: storage/ipc/shmem.c:163
+#: storage/ipc/shmem.c:222
+#: storage/ipc/shmem.c:342
+#: storage/ipc/sinval.c:342
+#: storage/lmgr/lock.c:479
+#: storage/lmgr/lock.c:527
+#: storage/lmgr/proc.c:154
+#: storage/lmgr/proc.c:170
+#: storage/smgr/mm.c:191
+#: utils/adt/cash.c:297
+#: utils/adt/cash.c:312
+#: utils/adt/regexp.c:189
+#: utils/adt/ri_triggers.c:3266
+#: utils/cache/relcache.c:172
+#: utils/cache/relcache.c:182
+#: utils/cache/relcache.c:196
+#: utils/cache/relcache.c:1219
+#: utils/cache/typcache.c:121
+#: utils/fmgr/dfmgr.c:118
+#: utils/init/miscinit.c:126
+#: utils/init/miscinit.c:147
+#: utils/init/miscinit.c:157
+#: utils/misc/guc.c:1664
+#: utils/misc/guc.c:1861
+#: utils/misc/guc.c:2834
+#: utils/misc/guc.c:2881
+#: utils/misc/guc.c:3767
+#: utils/misc/guc.c:3903
+#: utils/misc/guc.c:3969
+#: utils/misc/guc.c:3977
+#: utils/misc/guc.c:3986
+#: utils/mmgr/aset.c:335
+#: utils/mmgr/aset.c:501
+#: utils/mmgr/aset.c:701
+#: utils/mmgr/aset.c:894
+#: utils/mmgr/portalmem.c:75
+msgid "out of memory"
+msgstr "ÎÅ È×ÁÔÁÅÔ ÐÁÍÑÔÉ"
 
-#: parser/parse_type.c:60
-#, c-format
-msgid "Improper %%TYPE reference (too few dotted names): %s"
+#: commands/sequence.c:958
+msgid "cannot increment by zero"
 msgstr ""
 
-#: parser/parse_type.c:79
+#: commands/sequence.c:994
 #, c-format
-msgid "Improper %%TYPE reference (too many dotted names): %s"
+msgid "MINVALUE (%s) must be less than MAXVALUE (%s)"
 msgstr ""
 
-#: parser/parse_type.c:96
+#: commands/sequence.c:1018
 #, c-format
-msgid "%s converted to %s"
+msgid "START value (%s) can't be less than MINVALUE (%s)"
 msgstr ""
 
-#: parser/parse_type.c:194 parser/parse_type.c:222
-#: utils/cache/lsyscache.c:1265
+#: commands/sequence.c:1030
 #, c-format
-msgid "Type \"%s\" is only a shell"
+msgid "START value (%s) can't be greater than MAXVALUE (%s)"
 msgstr ""
 
-#: parser/parse_type.c:247
+#: commands/sequence.c:1044
 #, c-format
-msgid "Unable to locate type oid %u in catalog"
+msgid "CACHE (%s) must be greater than zero"
 msgstr ""
 
-#: parser/parse_type.c:256
-msgid "typeTypeId() called with NULL type struct"
+#: commands/proclang.c:63
+msgid "must be superuser to create procedural language"
 msgstr ""
 
-#: parser/parse_type.c:389
+#: commands/proclang.c:76
+#: commands/proclang.c:263
 #, c-format
-msgid "typeidOutfunc: Invalid type - oid = %u"
-msgstr "typeidOutfunc: îÅ ×ÅÒÎÙÊ ÔÉР- OID = %u"
+msgid "language \"%s\" already exists"
+msgstr "ÑÚÙË \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: parser/parse_type.c:410
+#: commands/proclang.c:96
 #, c-format
-msgid "typeidTypeRelid: Invalid type - oid = %u"
-msgstr "typeidTypeRelid: îÅ ×ÅÒÎÙÊ ÔÉР- OID = %u"
-
-#: parser/parse_type.c:447 parser/parse_type.c:463 parser/parse_type.c:465
-#: parser/parse_type.c:471 parser/parse_type.c:477 parser/parse_type.c:481
-#, c-format
-msgid "Invalid type name '%s'"
-msgstr "îÅ×ÅÒÎÏÅ ÉÍÑ ÔÉÐÁ '%s'"
-
-#: y.tab.c:8678
-msgid "syntax error: cannot back up"
+msgid "changing return type of function %s() from OPAQUE to LANGUAGE_HANDLER"
 msgstr ""
 
-#: gram.y:929
-msgid "SET TRANSACTION/READ ONLY not yet supported"
-msgstr "SET TRANSACTION/READ ONLY ÐÏËÁ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
+#: commands/proclang.c:103
+#, c-format
+msgid "function %s() must return LANGUAGE_HANDLER"
+msgstr "ÆÕÎËÃÉÑ %s() ÄÏÌÖÎÁ ×ÏÚ×ÒÁÝÁÔØ LANGUAGE_HANDLER"
 
-#: gram.y:966 gram.y:983
-msgid "Time zone interval must be HOUR or HOUR TO MINUTE"
+#: commands/proclang.c:186
+msgid "must be superuser to drop procedural language"
 msgstr ""
 
-#: gram.y:977 gram.y:4960 gram.y:6945 utils/adt/timestamp.c:701
-#, c-format
-msgid "INTERVAL(%d) precision must be between %d and %d"
+#: commands/proclang.c:269
+msgid "must be superuser to rename procedural language"
 msgstr ""
 
-#: gram.y:1421 gram.y:1427 gram.y:4368 gram.y:4375
-msgid "GLOBAL TEMPORARY TABLE is not currently supported"
-msgstr "GLOBAL TEMPORARY TABLE ÐÏËÁ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
+#: commands/schemacmds.c:84
+#: commands/user.c:832
+#: commands/user.c:967
+msgid "permission denied"
+msgstr "ÄÏÓÔÕРÚÁÐÒÅÝ£Î"
 
-#: gram.y:1465
+#: commands/schemacmds.c:85
 #, c-format
-msgid "CREATE TABLE / COLLATE %s not yet implemented; clause ignored"
+msgid "\"%s\" is not a superuser, so cannot create a schema for \"%s\""
 msgstr ""
 
-#: gram.y:1649
-msgid "LIKE in table definitions not yet supported"
+#: commands/schemacmds.c:100
+#: commands/schemacmds.c:272
+#, c-format
+msgid "unacceptable schema name \"%s\""
 msgstr ""
 
-#: gram.y:1753
-msgid "FOREIGN KEY/MATCH PARTIAL not yet implemented"
+#: commands/schemacmds.c:101
+#: commands/schemacmds.c:273
+msgid "The prefix \"pg_\" is reserved for system schemas."
 msgstr ""
 
-#: gram.y:1833
-msgid "CREATE TABLE AS may not specify INTO"
-msgstr "CREATE TABLE AS ÎÅ ÍÏÖÅÔ ÕËÁÚÙ×ÁÔØ INTO"
-
-#: gram.y:2214
-msgid "CREATE ASSERTION is not yet supported"
-msgstr "CREATE ASSERTION ÐÏËÁ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
-
-#: gram.y:2228
-msgid "DROP ASSERTION is not yet supported"
-msgstr "DROP ASSERTION ÐÏËÁ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
-
-#: gram.y:2715
-msgid "FETCH / ABSOLUTE not supported, using RELATIVE"
+#: commands/tablecmds.c:150
+msgid "ON COMMIT can only be used on TEMP tables"
 msgstr ""
 
-#: gram.y:2877 gram.y:2885
-msgid "grant options are not implemented"
-msgstr "grant-ÏÐÃÉÉ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ"
-
-#: gram.y:3061
-msgid "CREATE FUNCTION / OUT parameters are not supported"
-msgstr "CREATE FUNCTION / OUT ÐÁÒÁÍÅÔÒÙ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ"
-
-#: gram.y:3067
-msgid "CREATE FUNCTION / INOUT parameters are not supported"
-msgstr "CREATE FUNCTION / INOUT ÐÁÒÁÍÅÔÒÙ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ"
-
-#: gram.y:3219
-msgid "parser: argument type missing (use NONE for unary operators)"
+#: commands/tablecmds.c:210
+#, c-format
+msgid "duplicate CHECK constraint name \"%s\""
 msgstr ""
 
-#: gram.y:3716
+#: commands/tablecmds.c:393
+#: commands/tablecmds.c:1150
+#: commands/tablecmds.c:1357
+#: commands/tablecmds.c:1695
+#: commands/tablecmds.c:1981
+#: commands/tablecmds.c:2125
+#: commands/tablecmds.c:2253
+#: commands/tablecmds.c:2362
+#: commands/tablecmds.c:2525
+#: commands/tablecmds.c:2659
+#: commands/tablecmds.c:2840
+#: commands/tablecmds.c:3139
+#: commands/tablecmds.c:3827
+#: commands/trigger.c:150
+#: commands/trigger.c:552
+#: tcop/utility.c:162
+#: tcop/utility.c:197
 #, c-format
-msgid "CREATE DOMAIN / COLLATE %s not yet implemented; clause ignored"
-msgstr ""
+msgid "permission denied: \"%s\" is a system catalog"
+msgstr "ÄÏÓÔÕРÚÁÐÒÅÝ£Î: \"%s\" Ñ×ÌÑÅÔÓÑ ÓÉÓÔÅÍÎÙÍ ËÁÔÁÌÏÇÏÍ"
 
-#: gram.y:4454
-msgid ""
-"LIMIT #,# syntax not supported.\n"
-"\tUse separate LIMIT and OFFSET clauses."
+#: commands/tablecmds.c:403
+msgid "cannot truncate temp tables of other processes"
 msgstr ""
-"óÉÎÔÁËÓÉÓ LIMIT #,# ÂÏÌØÛÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ.\n"
-"\téÓÐÏÌØÚÕÅÔÅ LIMIT É OFFSET ÄÌÑ ÜÔÉÈ ÃÅÌÅÊ."
-
-#: gram.y:4470
-msgid "LIMIT must not be negative"
-msgstr "LIMIT ÎÅ ÄÏÌÖÅΠÂÙÔØ ÏÔÒÉÃÁÔÅÌØÎÙÍ"
-
-#: gram.y:4508
-msgid "OFFSET must not be negative"
-msgstr "OFFSET ÎÅ ÄÏÌÖÅΠÂÙÔØ ÏÔÒÉÃÁÔÅÌØÎÙÍ"
 
-#: gram.y:4650
-msgid ""
-"sub-SELECT in FROM must have an alias\n"
-"\tFor example, FROM (SELECT ...) [AS] foo"
+#: commands/tablecmds.c:429
+msgid "cannot truncate a table referenced in a foreign key constraint"
 msgstr ""
 
-#: gram.y:5054
-msgid "precision for FLOAT must be at least 1"
+#: commands/tablecmds.c:430
+#, c-format
+msgid "Table \"%s\" references this one via foreign key constraint \"%s\"."
 msgstr ""
 
-#: gram.y:5061
-msgid "precision for FLOAT must be less than 16"
-msgstr ""
+#: commands/tablecmds.c:543
+#, c-format
+msgid "attribute \"%s\" duplicated"
+msgstr "ÐÏ×ÔÏÒÎÏÅ ÉÍÑ ÁÔÒÉÂÕÔÁ: \"%s\""
 
-#: gram.y:5074 gram.y:5087
+#: commands/tablecmds.c:568
+#: parser/analyze.c:1188
 #, c-format
-msgid "NUMERIC precision %d must be between 1 and %d"
+msgid "inherited relation \"%s\" is not a table"
 msgstr ""
 
-#: gram.y:5078
+#: commands/tablecmds.c:574
 #, c-format
-msgid "NUMERIC scale %d must be between 0 and precision %d"
+msgid "cannot inherit from temporary relation \"%s\""
 msgstr ""
 
-#: gram.y:5104 gram.y:5117
+#: commands/tablecmds.c:591
 #, c-format
-msgid "DECIMAL precision %d must be between 1 and %d"
+msgid "inherited relation \"%s\" duplicated"
 msgstr ""
 
-#: gram.y:5108
+#: commands/tablecmds.c:645
 #, c-format
-msgid "DECIMAL scale %d must be between 0 and precision %d"
+msgid "merging multiple inherited definitions of attribute \"%s\""
 msgstr ""
 
-#: gram.y:5163 gram.y:5237
+#: commands/tablecmds.c:652
 #, c-format
-msgid "length for type '%s' must be at least 1"
+msgid "inherited attribute \"%s\" has a type conflict"
 msgstr ""
 
-#: gram.y:5166 gram.y:5240
+#: commands/tablecmds.c:654
+#: commands/tablecmds.c:809
+#: parser/parse_coerce.c:255
+#: parser/parse_coerce.c:901
+#: parser/parse_coerce.c:918
+#: parser/parse_coerce.c:956
 #, c-format
-msgid "length for type '%s' cannot exceed %d"
-msgstr ""
+msgid "%s versus %s"
+msgstr "%s ÐÒÏÔÉ× %s"
 
-#: gram.y:5317
+#: commands/tablecmds.c:800
 #, c-format
-msgid "TIMESTAMP(%d)%s precision must be between %d and %d"
+msgid "merging attribute \"%s\" with inherited definition"
 msgstr ""
 
-#: gram.y:5349
+#: commands/tablecmds.c:807
 #, c-format
-msgid "TIME(%d)%s precision must be between %d and %d"
+msgid "attribute \"%s\" has a type conflict"
 msgstr ""
 
-#: gram.y:5499 gram.y:7503 gram.y:7555
-msgid "Unequal number of entries in row expression"
+#: commands/tablecmds.c:848
+#, c-format
+msgid "attribute \"%s\" inherits conflicting default values"
 msgstr ""
 
-#: gram.y:5913
-msgid "UNIQUE predicate is not yet implemented"
+#: commands/tablecmds.c:850
+msgid "To resolve the conflict, specify a default explicitly."
 msgstr ""
 
-#: gram.y:6142
+#: commands/tablecmds.c:1195
 #, c-format
-msgid "CURRENT_TIME(%d) precision must be between %d and %d"
+msgid "inherited attribute \"%s\" must be renamed in child tables too"
 msgstr ""
 
-#: gram.y:6187
+#: commands/tablecmds.c:1213
 #, c-format
-msgid "CURRENT_TIMESTAMP(%d) precision must be between %d and %d"
-msgstr ""
+msgid "cannot rename system attribute \"%s\""
+msgstr "ÎÅÌØÚÑ ÐÅÒÅÉÍÅÎÏ×ÁÔØ ÓÉÓÔÅÍÎÙÊ ÁÔÒÉÂÕÔ \"%s\""
 
-#: gram.y:6232
+#: commands/tablecmds.c:1223
 #, c-format
-msgid "LOCALTIME(%d) precision must be between %d and %d"
-msgstr ""
+msgid "cannot rename inherited attribute \"%s\""
+msgstr "ÎÅÌØÚÑ ÐÅÒÅÉÍÅÎÏ×ÁÔØ ÎÁÓÌÅÄÏ×ÁÎÎÙÊ ÁÔÒÉÂÕÔ \"%s\""
 
-#: gram.y:6277
+#: commands/tablecmds.c:1234
+#: commands/tablecmds.c:1835
 #, c-format
-msgid "LOCALTIMESTAMP(%d) precision must be between %d and %d"
-msgstr ""
-
-#: gram.y:7376
-msgid "OLD used in non-rule query"
-msgstr ""
+msgid "attribute \"%s\" of relation \"%s\" already exists"
+msgstr "ÁÔÒÉÂÕÔ \"%s\" ÄÌÑ Ó×ÑÚÉ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: gram.y:7383
-msgid "NEW used in non-rule query"
-msgstr ""
-
-#: y.tab.c:17467
-msgid "parse error; also virtual memory exhausted"
-msgstr ""
-
-#: y.tab.c:17471
-msgid "parse error"
-msgstr ""
-
-#: y.tab.c:17586
-msgid "parser stack overflow"
+#: commands/tablecmds.c:1748
+#, c-format
+msgid "child table \"%s\" has different type for column \"%s\""
 msgstr ""
 
-#: gram.y:7537
+#: commands/tablecmds.c:1756
 #, c-format
-msgid "Operator '%s' not implemented for row expressions"
+msgid "merging definition of column \"%s\" for child \"%s\""
 msgstr ""
 
-#: gram.y:7610
-msgid "Wrong number of parameters on left side of OVERLAPS expression"
+#: commands/tablecmds.c:1788
+msgid "attribute must be added to child tables too"
 msgstr ""
 
-#: gram.y:7615
-msgid "Wrong number of parameters on right side of OVERLAPS expression"
+#: commands/tablecmds.c:1807
+msgid "adding columns with defaults is not implemented"
 msgstr ""
 
-#: gram.y:7652
-msgid "Multiple ORDER BY clauses not allowed"
+#: commands/tablecmds.c:1808
+msgid "Add the column, then use ALTER TABLE SET DEFAULT."
 msgstr ""
 
-#: gram.y:7658
-msgid "Multiple FOR UPDATE clauses not allowed"
+#: commands/tablecmds.c:1813
+msgid "adding NOT NULL columns is not implemented"
 msgstr ""
 
-#: gram.y:7664
-msgid "Multiple OFFSET clauses not allowed"
+#: commands/tablecmds.c:1814
+msgid "Add the column, then use ALTER TABLE SET NOT NULL."
 msgstr ""
 
-#: gram.y:7670
-msgid "Multiple LIMIT clauses not allowed"
-msgstr ""
+#: commands/tablecmds.c:2027
+#: commands/tablecmds.c:2171
+#: commands/tablecmds.c:2299
+#: commands/tablecmds.c:2463
+#, c-format
+msgid "cannot alter system attribute \"%s\""
+msgstr "ÎÅÌØÚÑ ÐÏÍÅÎÑÔØ ÓÉÓÔÅÍÎÙÊ ÁÔÒÉÂÕÔ \"%s\""
 
-#: scan.l:295
-msgid "unterminated /* comment"
+#: commands/tablecmds.c:2063
+#, c-format
+msgid "attribute \"%s\" is in a primary key"
 msgstr ""
 
-#: scan.l:323
-msgid "unterminated bit string literal"
+#: commands/tablecmds.c:2192
+#, c-format
+msgid "attribute \"%s\" contains NULL values"
 msgstr ""
 
-#: scan.l:342
-msgid "unterminated hexadecimal string literal"
-msgstr ""
+#: commands/tablecmds.c:2242
+#, c-format
+msgid "\"%s\" is not a table or view"
+msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÔÁÂÌÉÃÅÊ ÉÌÉ ×ÉÄÏÍ"
 
-#: scan.l:388
-msgid "unterminated quoted string"
+#: commands/tablecmds.c:2381
+#, c-format
+msgid "statistics target %d is too low"
 msgstr ""
 
-#: scan.l:399
-msgid "zero-length delimited identifier"
+#: commands/tablecmds.c:2389
+#, c-format
+msgid "lowering statistics target to %d"
 msgstr ""
 
-#: scan.l:406 scan.l:562
+#: commands/tablecmds.c:2412
 #, c-format
-msgid "identifier \"%s\" will be truncated to \"%.*s\""
+msgid "invalid storage type \"%s\""
 msgstr ""
 
-#: scan.l:420
-msgid "unterminated quoted identifier"
+#: commands/tablecmds.c:2482
+#, c-format
+msgid "column datatype %s can only have storage \"plain\""
 msgstr ""
 
-#: scan.l:580
+#: commands/tablecmds.c:2572
 #, c-format
-msgid "parser: %s at end of input"
+msgid "table \"%s\" is already WITH OIDS"
 msgstr ""
 
-#: scan.l:582
+#: commands/tablecmds.c:2576
 #, c-format
-msgid "parser: %s at or near \"%s\" at character %d"
+msgid "table \"%s\" is already WITHOUT OIDS"
 msgstr ""
 
-#: port/ipc_test.c:93 storage/ipc/ipc.c:171
-msgid "Out of on_shmem_exit slots"
+#: commands/tablecmds.c:2596
+msgid "ALTER TABLE WITH OIDS is not yet implemented"
 msgstr ""
 
-#: port/posix_sema.c:168 port/sysv_sema.c:319 port/pg_sema.c:319
-msgid "Out of memory in PGReserveSemaphores"
-msgstr "îÅÄÏÓÔÁÔÏÞÎÏ ÐÁÍÑÔÉ × PGReserveSemaphores"
+#: commands/tablecmds.c:2677
+#, c-format
+msgid "cannot drop system attribute \"%s\""
+msgstr "ÎÅÌØÚÑ ÕÄÁÌÉÔØ ÓÉÓÔÅÍÎÙÊ ÁÔÒÉÂÕÔ \"%s\""
 
-#: port/posix_sema.c:205 port/sysv_sema.c:358 port/pg_sema.c:358
-msgid "PGSemaphoreCreate: too many semaphores created"
-msgstr "PGSemaphoreCreate: ÓÏÚÄÁÎÏ ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÅÍÁÆÏÒÏ×"
+#: commands/tablecmds.c:2685
+#, c-format
+msgid "cannot drop inherited attribute \"%s\""
+msgstr "ÎÅÌØÚÑ ÕÄÁÌÉÔØ ÎÁÓÌÅÄÏ×ÁÎÎÙÊ ÁÔÒÉÂÕÔ \"%s\""
 
-#: port/beos/support.c:45
-msgid "Error loading BeOS support server : can't create communication ports"
+#: commands/tablecmds.c:3012
+#, c-format
+msgid "CHECK constraint may only reference relation \"%s\""
 msgstr ""
 
-#: port/beos/support.c:71
-msgid "Can't load this add-on "
+#: commands/tablecmds.c:3076
+#, c-format
+msgid "CHECK constraint \"%s\" is violated at some row(s)"
 msgstr ""
 
-#: port/beos/support.c:95
-msgid "Can't load this add-on : map text error"
+#: commands/tablecmds.c:3127
+#, c-format
+msgid "referenced relation \"%s\" is not a table"
 msgstr ""
 
-#: port/beos/support.c:111
-msgid "Can't load this add-on : map data error"
+#: commands/tablecmds.c:3152
+msgid "cannot reference temporary table from permanent table constraint"
 msgstr ""
 
-#: port/beos/support.c:129
-#, c-format
-msgid "loading symbol '%s' failed "
+#: commands/tablecmds.c:3193
+#: commands/tablecmds.c:3622
+msgid "number of referencing and referenced attributes for foreign key disagree"
 msgstr ""
 
-#: port/beos/sem.c:158
-msgid "beos : semctl error : GETNCNT not implemented"
+#: commands/tablecmds.c:3275
+#, c-format
+msgid "column \"%s\" referenced in foreign key constraint does not exist"
 msgstr ""
 
-#: port/beos/sem.c:173
-msgid "beos : semctl error : unknown flag"
+#: commands/tablecmds.c:3280
+#, c-format
+msgid "cannot have more than %d keys in a foreign key"
 msgstr ""
 
-#: port/dynloader/beos.c:55
-msgid "add-on not loaded correctly"
+#: commands/tablecmds.c:3343
+#, c-format
+msgid "there is no PRIMARY KEY for referenced table \"%s\""
 msgstr ""
 
-#: port/dynloader/beos.c:66
-msgid "error while unloading add-on"
+#: commands/tablecmds.c:3457
+#, c-format
+msgid "there is no UNIQUE constraint matching given keys for referenced table \"%s\""
 msgstr ""
 
-#: port/dynloader/bsdi.c:59 port/dynloader/linux.c:71
-msgid "dld: Cannot link C library!"
+#: commands/tablecmds.c:3872
+#: commands/trigger.c:2312
+#, c-format
+msgid "constraint \"%s\" does not exist"
 msgstr ""
 
-#: port/dynloader/bsdi.c:66 port/dynloader/linux.c:78
-msgid "dld: Cannot link math library!"
+#: commands/tablecmds.c:3877
+#, c-format
+msgid "multiple constraints named \"%s\" were dropped"
 msgstr ""
 
-#: port/dynloader/bsdi.c:75 port/dynloader/linux.c:87
-msgid "dld: Undefined:"
+#: commands/tablecmds.c:3919
+#, c-format
+msgid "\"%s\" is not a table, TOAST table, index, view, or sequence"
 msgstr ""
 
-#: port/dynloader/bsdi.c:78 port/dynloader/linux.c:90
-#: port/dynloader/ultrix4.c:61
+#: commands/tablecmds.c:4005
 #, c-format
-msgid "  %s"
-msgstr "  %s"
-
-#: port/dynloader/linux.c:35
-msgid "dynamic load not supported"
+msgid "table \"%s\" is already being clustered on index \"%s\""
 msgstr ""
 
-#: port/dynloader/ultrix4.c:58
-msgid "dl: Undefined:"
+#: commands/tablecmds.c:4106
+msgid "shared relations cannot be toasted after initdb"
 msgstr ""
 
-#: postmaster/postmaster.c:329
+#: commands/tablecmds.c:4121
 #, c-format
-msgid "data directory %s was not found"
+msgid "relation \"%s\" already has a toast table"
 msgstr ""
 
-#: postmaster/postmaster.c:331
+#: commands/tablecmds.c:4138
 #, c-format
-msgid "could not read permissions of directory %s: %m"
+msgid "relation \"%s\" does not need a toast table"
 msgstr ""
 
-#: postmaster/postmaster.c:336
+#: commands/trigger.c:137
 #, c-format
-msgid ""
-"data directory %s has group or world access; permissions should be u=rwx "
-"(0700)"
+msgid "could not determine referenced table for constraint \"%s\""
 msgstr ""
 
-#: postmaster/postmaster.c:349
-#, c-format
-msgid ""
-"%s does not find the database system.\n"
-"Expected to find it in the PGDATA directory \"%s\",\n"
-"but unable to open file \"%s\": %s\n"
-"\n"
+#: commands/trigger.c:222
+msgid "double INSERT event specified"
+msgstr ""
+
+#: commands/trigger.c:229
+msgid "double DELETE event specified"
 msgstr ""
-"íÏÄÕÌØ %s ÎÅ ÎÁۣ̠ÓÉÓÔÅÍÕ ÂÁÚ ÄÁÎÎÙÈ.\n"
-"óÉÓÔÅÍÁ ÏÖÉÄÁÌÁÓØ × PGDATA ÄÉÒÉËÔÏÒÉÉ - \"%s\",\n"
-"ÎÏ ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔËÒÙÔØ ÆÁÊÌ \"%s\": %s\n"
-"\n"
 
-#: postmaster/postmaster.c:434
-msgid "Assert checking is not compiled in."
+#: commands/trigger.c:236
+msgid "double UPDATE event specified"
 msgstr ""
 
-#: postmaster/postmaster.c:540 tcop/postgres.c:1574
+#: commands/trigger.c:269
+#: commands/trigger.c:654
 #, c-format
-msgid "--%s requires argument"
-msgstr "--%s ÔÒÅÂÕÅÔ ÐÁÒÁÍÅÔÒ"
+msgid "trigger \"%s\" for relation \"%s\" already exists"
+msgstr "ÔÒÉÇÇÅÒ \"%s\" ÄÌÑ Ó×ÑÚÉ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: postmaster/postmaster.c:542 tcop/postgres.c:1576
+#: commands/trigger.c:290
 #, c-format
-msgid "-c %s requires argument"
-msgstr "-c %s ÔÒÅÂÕÅÔ ÐÁÒÁÍÅÔÒ"
+msgid "changing return type of function %s() from OPAQUE to TRIGGER"
+msgstr ""
 
-#: postmaster/postmaster.c:553 postmaster/postmaster.c:564
-#: postmaster/postmaster.c:632
+#: commands/trigger.c:297
 #, c-format
-msgid "Try '%s --help' for more information.\n"
-msgstr "îÁÂÅÒÉÔÅ '%s --help' ÄÌÑ ÂÏÌÅÅ ÄÅÔÁÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ.\n"
+msgid "function %s() must return TRIGGER"
+msgstr "ÆÕÎËÃÉÑ %s() ÄÏÌÖÎÁ ×ÏÚ×ÒÁÝÁÔØ TRIGGER"
 
-#: postmaster/postmaster.c:563
+#: commands/trigger.c:1161
 #, c-format
-msgid "invalid argument -- %s"
-msgstr "ÎÅ×ÅÒÎÙÊ ÁÒÇÕÍÅÎÔ -- %s"
+msgid "trigger function %u returned NULL"
+msgstr ""
 
-#: postmaster/postmaster.c:587
-msgid ""
-"The number of buffers (-B) must be at least twice the number of allowed "
-"connections (-N) and at least 16."
+#: commands/trigger.c:1213
+#: commands/trigger.c:1326
+#: commands/trigger.c:1455
+msgid "BEFORE STATEMENT trigger cannot return a value"
+msgstr ""
+
+#: commands/trigger.c:1582
+#: executor/execMain.c:1124
+#: executor/execMain.c:1423
+#: executor/execMain.c:1557
+msgid "could not serialize access due to concurrent update"
 msgstr ""
 
-#: postmaster/postmaster.c:593
-msgid "superuser_reserved_connections must be less than max_connections."
+#: commands/trigger.c:2263
+msgid "unnamed constraints cannot be set explicitly"
 msgstr ""
 
-#: postmaster/postmaster.c:611
+#: commands/trigger.c:2296
 #, c-format
-msgid "%s: PostmasterMain: initial environ dump:"
+msgid "constraint \"%s\" is not deferrable"
 msgstr ""
 
-#: postmaster/postmaster.c:612 postmaster/postmaster.c:615
-msgid "-----------------------------------------"
+#: commands/typecmds.c:135
+#, c-format
+msgid "type names must be %d characters or less"
 msgstr ""
 
-#: postmaster/postmaster.c:614 postmaster/postmaster.c:2287
+#: commands/typecmds.c:167
 #, c-format
-msgid "\t%s"
-msgstr "\t%s"
+msgid "array element type cannot be %s"
+msgstr ""
 
-#: postmaster/postmaster.c:622 tcop/postgres.c:1719
+#: commands/typecmds.c:200
 #, c-format
-msgid "%s: could not locate executable, bailing out..."
+msgid "alignment \"%s\" not recognized"
 msgstr ""
 
-#: postmaster/postmaster.c:631
-msgid "For SSL, TCP/IP connections must be enabled."
+#: commands/typecmds.c:217
+#, c-format
+msgid "storage \"%s\" not recognized"
 msgstr ""
 
-#: postmaster/postmaster.c:678
-msgid "cannot create INET stream port"
+#: commands/typecmds.c:222
+#, c-format
+msgid "type attribute \"%s\" not recognized"
+msgstr "áÔÒÉÂÕÔ ÔÉÐÁ \"%s\" ÎÅ ÒÁÓÐÏÚÎÁÎ"
+
+#: commands/typecmds.c:232
+msgid "type input function must be specified"
 msgstr ""
 
-#: postmaster/postmaster.c:690
-msgid "cannot create UNIX stream port"
+#: commands/typecmds.c:236
+msgid "type output function must be specified"
 msgstr ""
 
-#: postmaster/postmaster.c:810
+#: commands/typecmds.c:275
 #, c-format
-msgid "fork failed: %s"
-msgstr "fork ÎÅ ÕÄÁÌÓÑ: %s"
+msgid "changing return type of function %s from OPAQUE to %s"
+msgstr ""
 
-#: postmaster/postmaster.c:832
+#: commands/typecmds.c:282
 #, c-format
-msgid "cannot disassociate from controlling TTY: %s"
+msgid "type input function %s must return %s"
 msgstr ""
 
-#: postmaster/postmaster.c:852
+#: commands/typecmds.c:292
 #, c-format
-msgid ""
-"%s is the PostgreSQL server.\n"
-"\n"
+msgid "changing return type of function %s from OPAQUE to CSTRING"
 msgstr ""
-"%s Ñ×ÌÑÅÔÓÑ PostgreSQL ÓÅÒ×ÅÒÏÍ.\n"
-"\n"
 
-#: postmaster/postmaster.c:853
+#: commands/typecmds.c:299
 #, c-format
-msgid ""
-"Usage:\n"
-"  %s [OPTION]...\n"
-"\n"
+msgid "type output function %s must return cstring"
 msgstr ""
-"éÓÐÏÌØÚÏ×ÁÎÉÅ:\n"
-"  %s [ïðãéñ]...\n"
-"\n"
-
-#: postmaster/postmaster.c:854
-msgid "Options:\n"
-msgstr "ïÐÃÉÉ:\n"
 
-#: postmaster/postmaster.c:856
-msgid "  -A 1|0          enable/disable run-time assert checking\n"
+#: commands/typecmds.c:308
+#, c-format
+msgid "type receive function %s must return %s"
 msgstr ""
-"  -A 1|0          ×ËÌÀÞÉÔØ/×ÙËÌÀÞÉÔØ ÐÒÏ×ÅÒËÕ ÉÓËÌÀÞÉÔÅÌØÎÙÈ ÓÉÔÕÁÃÉÊ\n"
 
-#: postmaster/postmaster.c:858
+#: commands/typecmds.c:317
 #, c-format
-msgid "  -B NBUFFERS     number of shared buffers (default %d)\n"
-msgstr "  -B þâõæåòï÷     ÞÍÓÌÏ ÏÂÝÉÈ ÂÕÆÅÒÏ× (ÐÏ ÕÍÏÌÞÁÎÉÀ: %d)\n"
-
-#: postmaster/postmaster.c:859
-msgid "  -c NAME=VALUE   set run-time parameter\n"
-msgstr "  -c éíñ=úîáþ.   ÕÓÔÁÎÏ×ÉÔØ ÐÁÒÁÍÅÔÒ ×ÙÐÏÌÎÅÎÉÑ (run-time)\n"
-
-#: postmaster/postmaster.c:860
-msgid "  -d 1-5          debugging level\n"
-msgstr "  -d 1-5          ÕÒÏ×ÅÎØ ÏÔÌÁÄËÉ\n"
-
-#: postmaster/postmaster.c:861
-msgid "  -D DATADIR      database directory\n"
-msgstr "  -D äéòäáîîùè    ÄÉÒÅËÔÏÒÉÑ Ó ÄÁÎÎÙÍÉ\n"
-
-#: postmaster/postmaster.c:862
-msgid "  -F              turn fsync off\n"
-msgstr "  -F              ×ÙÕËÌÀÞÉÔØ fsync\n"
-
-#: postmaster/postmaster.c:863
-msgid "  -h HOSTNAME     host name or IP address to listen on\n"
-msgstr "  -h èïóô         ÉÍÑ ÈÏÓÔÁ ÉÌÉ IP-ÁÄÒÅÓ ÄÌÑ ÐÒÏÓÌÕÛÉ×ÁÎÉÑ\n"
-
-#: postmaster/postmaster.c:864
-msgid "  -i              enable TCP/IP connections\n"
-msgstr "  -i              ÐÏÄËÌÀÞÉÔØ TCP/IP ÓÏÅÄÉÎÅÎÉÑ\n"
-
-#: postmaster/postmaster.c:865
-msgid "  -k DIRECTORY    Unix-domain socket location\n"
-msgstr "  -k äéòåëôïòéñ   íÅÓÔÏÎÁÈÏÖÄÎÉÑ unix-domain ÓÏËÅÔÏ×\n"
-
-#: postmaster/postmaster.c:867
-msgid "  -l              enable SSL connections\n"
-msgstr "  -l              ×ËÌÀÞÉÔØ SSL-ÐÏÄÓÏÅÄÉÎÅÎÉÑ\n"
+msgid "type send function %s must return bytea"
+msgstr ""
 
-#: postmaster/postmaster.c:869
+#: commands/typecmds.c:520
 #, c-format
-msgid "  -N MAX-CONNECT  maximum number of allowed connections (default %d)\n"
+msgid "domain names must be %d characters or less"
 msgstr ""
-"  -N MAX-CONNECT  ÍÁËÓÉÍÁÌØÎÏ ÄÏÓÔÕÐÎÏÅ ÞÉÓÌÏ ÐÏÄÓÏÅÄÉÎÅÎÉÊ (ÐÏ ÕÍÏÌÞÁÎÉÀ: %"
-"d)\n"
-
-#: postmaster/postmaster.c:871
-msgid "  -o OPTIONS      pass 'OPTIONS' to each backend server\n"
-msgstr "  -o ïðãéé        ÐÅÒÅÄÁÔØ 'ïðãéé' ËÁÖÄÏÍÕ ÂÜË-ÅÎÄÕ (ÓÅÒ×ÅÒÕ)\n"
 
-#: postmaster/postmaster.c:872
+#: commands/typecmds.c:541
 #, c-format
-msgid "  -p PORT         port number to listen on (default %d)\n"
-msgstr "  -p ðïòô         ÎÏÍÅÒ ÐÏÒÔÁ ÄÌÑ ÐÒÏÓÌÕÛÉ×ÁÎÉÑ (ÐÏ ÕÍÏÌÞÁÎÉÀ: %d)\n"
+msgid "\"%s\" is not a valid base type for a domain"
+msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ×ÅÒÎÙÍ ÂÁÚÏ×ÙÍ ÔÉÐÏÍ ÄÌÑ ÄÏÍÅÎÁ"
 
-#: postmaster/postmaster.c:873
-msgid ""
-"  -S              silent mode (start in background without logging output)\n"
-msgstr ""
-"  -S              ÔÉÈÉÊ ÒÅÖÉÍ (ÚÁÐÕÓÔÉÔØ ÎÁ ÚÁÄÎÅÍ ÐÌÁÎÅ ÂÅÚ ÌÏÇÏ× "
-"ÒÅÚÕÌØÔÁÔÏ×)\n"
+#: commands/typecmds.c:598
+#: commands/typecmds.c:1457
+msgid "FOREIGN KEY constraints not supported for domains"
+msgstr "FOREIGN KEY ËÏÎÓÔÒÅÊÎÔÙ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ ÄÌÑ ÄÏÍÅÎÏ×"
 
-#: postmaster/postmaster.c:874
-msgid "  --help          show this help, then exit\n"
+#: commands/typecmds.c:618
+msgid "multiple DEFAULT expressions"
 msgstr ""
 
-#: postmaster/postmaster.c:875
-msgid "  --version       output version information, then exit\n"
+#: commands/typecmds.c:648
+#: commands/typecmds.c:657
+msgid "conflicting NULL/NOT NULL constraints"
 msgstr ""
 
-#: postmaster/postmaster.c:877
-msgid ""
-"\n"
-"Developer options:\n"
-msgstr ""
-"\n"
-"ïÐÃÉÉ ÒÁÚÒÁÂÏÔÞÉËÁ:\n"
+#: commands/typecmds.c:676
+#: commands/typecmds.c:1488
+msgid "UNIQUE constraints not supported for domains"
+msgstr "UNIQUE ËÏÎÓÔÒÅÊÎÔÙ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ ÄÌÑ ÄÏÍÅÎÏ×"
 
-#: postmaster/postmaster.c:878
-msgid ""
-"  -n              do not reinitialize shared memory after abnormal exit\n"
-msgstr ""
-"  -n              ÎÅ ÐÅÒÅÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÔØ ÏÂÝÕÀ ÐÁÍÑÔØ ÐÏÓÌÅ ÎÅÎÏÒÍÁÌØÎÏÇÏ "
-"ÚÁ×ÅÒÛÅÎÉÑ\n"
+#: commands/typecmds.c:682
+#: commands/typecmds.c:1494
+msgid "PRIMARY KEY constraints not supported for domains"
+msgstr "PRIMARY KEY ËÏÎÓÔÒÜÊÎÔÙ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ ÄÌÑ ÄÏÍÅÎÏ×"
 
-#: postmaster/postmaster.c:879
-msgid "  -s              send SIGSTOP to all backend servers if one dies\n"
+#: commands/typecmds.c:691
+#: commands/typecmds.c:1503
+msgid "deferrability constraints not supported for domains"
 msgstr ""
-"  -s              ÐÏÓÌÁÔØ ÓÉÇÎÁÌ SIGSTOP ×ÓÅÍ ÂÜË-ÅÎÄÁÍ (ÓÅÒ×ÅÒÁÍ) ÅÚÌÉ ÏÄÉΠ"
-"ÉÚ ÎÉÈ ÐÁÄÁÅÔ\n"
 
-#: postmaster/postmaster.c:881
-msgid ""
-"\n"
-"Please read the documentation for the complete list of run-time\n"
-"configuration settings and how to set them on the command line or in\n"
-"the configuration file.\n"
-"\n"
-"Report bugs to <[email protected]>.\n"
-msgstr ""
+#: commands/typecmds.c:808
+#: commands/typecmds.c:1737
+#: commands/typecmds.c:2048
+#, c-format
+msgid "\"%s\" is not a domain"
+msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÍÅÎÏÍ"
 
-#: postmaster/postmaster.c:963
+#: commands/typecmds.c:878
 #, c-format
-msgid "ServerLoop: select failed: %m"
+msgid "changing argument type of function %s from OPAQUE to CSTRING"
 msgstr ""
 
-#: postmaster/postmaster.c:1089 postmaster/postmaster.c:1104
-msgid "incomplete startup packet"
+#: commands/typecmds.c:948
+#, c-format
+msgid "changing argument type of function %s from OPAQUE to %s"
 msgstr ""
 
-#: postmaster/postmaster.c:1097
-msgid "invalid length of startup packet"
+#: commands/typecmds.c:1059
+msgid "composite type must have at least one attribute"
 msgstr ""
 
-#: postmaster/postmaster.c:1137
+#: commands/typecmds.c:1250
 #, c-format
-msgid "failed to send SSL negotiation response: %m"
+msgid "\"%s\" is already set to %s"
 msgstr ""
 
-#: postmaster/postmaster.c:1159
-msgid "unsupported frontend protocol"
+#: commands/typecmds.c:1294
+#, c-format
+msgid "relation \"%s\" attribute \"%s\" contains NULL values"
 msgstr ""
 
-#: postmaster/postmaster.c:1186
-msgid "no PostgreSQL user name specified in startup packet"
+#: commands/typecmds.c:1471
+msgid "use ALTER DOMAIN .. SET DEFAULT instead"
 msgstr ""
 
-#: postmaster/postmaster.c:1219
-msgid "The database system is starting up"
+#: commands/typecmds.c:1478
+msgid "use ALTER DOMAIN .. [ SET | DROP ] NOT NULL instead"
 msgstr ""
 
-#: postmaster/postmaster.c:1222
-msgid "The database system is shutting down"
+#: commands/typecmds.c:1574
+#, c-format
+msgid "relation \"%s\" attribute \"%s\" contains values that violate the new constraint"
 msgstr ""
 
-#: postmaster/postmaster.c:1225
-msgid "The database system is in recovery mode"
+#: commands/typecmds.c:1771
+#, c-format
+msgid "constraint \"%s\" for domain \"%s\" already exists"
 msgstr ""
 
-#: postmaster/postmaster.c:1228 storage/ipc/sinval.c:52
-#: storage/lmgr/proc.c:219
-msgid "Sorry, too many clients already"
+#: commands/typecmds.c:1811
+#: commands/typecmds.c:1820
+msgid "cannot use table references in domain CHECK constraint"
 msgstr ""
 
-#: postmaster/postmaster.c:1258
+#: commands/user.c:149
+#: commands/user.c:248
+#: commands/user.c:297
+#: commands/user.c:379
 #, c-format
-msgid "processCancelRequest: CheckPointPID in cancel request for process %d"
+msgid "could not write temp file \"%s\": %m"
 msgstr ""
 
-#: postmaster/postmaster.c:1272
+#: commands/user.c:184
 #, c-format
-msgid "processing cancel request: sending SIGINT to process %d"
-msgstr ""
+msgid "invalid group name \"%s\""
+msgstr "ÎÅ×ÅÒÎÏÅ ÉÍÑ ÇÒÕÐÐÙ \"%s\""
 
-#: postmaster/postmaster.c:1278
+#: commands/user.c:215
+#: commands/user.c:347
 #, c-format
-msgid "bad key in cancel request for process %d"
-msgstr ""
+msgid "invalid user name \"%s\""
+msgstr "ÎÅ×ÅÒÎÏÅ ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ \"%s\""
 
-#: postmaster/postmaster.c:1285
+#: commands/user.c:258
+#: commands/user.c:389
 #, c-format
-msgid "bad pid in cancel request for process %d"
-msgstr ""
+msgid "could not rename \"%s\" to \"%s\": %m"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÐÅÒÅÉÍÅÎÏ×ÁÔØ \"%s\" × \"%s\": %m"
+
+#: commands/user.c:354
+#, c-format
+msgid "invalid user password \"%s\""
+msgstr "ÎÅ×ÅÒÎÙÊ ÐÁÒÏÌØ \"%s\""
 
-#: postmaster/postmaster.c:1328
-msgid "ConnCreate: malloc failed"
-msgstr "ConnCreate: malloc ÎÅ ÕÄÁÌÓÑ"
+#: commands/user.c:587
+msgid "user id must be positive"
+msgstr ""
 
-#: postmaster/postmaster.c:1423
-msgid "Received SIGHUP, reloading configuration files"
+#: commands/user.c:604
+msgid "must be superuser to create users"
 msgstr ""
 
-#: postmaster/postmaster.c:1447
+#: commands/user.c:609
 #, c-format
-msgid "pmdie %d"
-msgstr "pmdie %d"
-
-#: postmaster/postmaster.c:1461
-msgid "smart shutdown request"
+msgid "user name \"%s\" is reserved"
 msgstr ""
 
-#: postmaster/postmaster.c:1473 postmaster/postmaster.c:1517
+#: commands/user.c:646
+#: commands/user.c:1191
 #, c-format
-msgid "shutdown process %d already running"
-msgstr ""
+msgid "user \"%s\" already exists"
+msgstr "ÐÏÌØÚÏ×ÁÔÅÌØ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: postmaster/postmaster.c:1491
-msgid "fast shutdown request"
+#: commands/user.c:651
+#: commands/user.c:1357
+#, c-format
+msgid "sysid %d is already assigned"
 msgstr ""
 
-#: postmaster/postmaster.c:1497
-msgid "aborting any active transactions"
+#: commands/user.c:848
+#: commands/user.c:961
+#: commands/user.c:1053
+#: commands/user.c:1172
+#: commands/variable.c:778
+#: utils/cache/lsyscache.c:1989
+#: utils/init/miscinit.c:259
+#, c-format
+msgid "user \"%s\" does not exist"
+msgstr "ÐÏÌØÚÏ×ÁÔÅÌØ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
+
+#: commands/user.c:1026
+msgid "must be superuser to drop users"
 msgstr ""
 
-#: postmaster/postmaster.c:1533
-msgid "immediate shutdown request"
+#: commands/user.c:1060
+msgid "current user cannot be dropped"
 msgstr ""
 
-#: postmaster/postmaster.c:1568
-msgid "reaping dead processes"
+#: commands/user.c:1064
+msgid "session user cannot be dropped"
 msgstr ""
 
-#: postmaster/postmaster.c:1585
-msgid "statistics collector process"
+#: commands/user.c:1090
+#, c-format
+msgid "user \"%s\" cannot be dropped"
 msgstr ""
 
-#: postmaster/postmaster.c:1598
-msgid "shutdown process"
+#: commands/user.c:1091
+#, c-format
+msgid "The user owns database \"%s\"."
 msgstr ""
 
-#: postmaster/postmaster.c:1609
-msgid "startup process"
+#: commands/user.c:1183
+msgid "session user may not be renamed"
 msgstr ""
 
-#: postmaster/postmaster.c:1611
-msgid "aborting startup due to startup process failure"
+#: commands/user.c:1197
+msgid "must be superuser to rename users"
 msgstr ""
 
-#: postmaster/postmaster.c:1620
+#: commands/user.c:1230
 #, c-format
-msgid "startup process %d died while shutdown process %d already running"
+msgid "before using passwords you must revoke permissions on %s"
 msgstr ""
 
-#: postmaster/postmaster.c:1652
-msgid ""
-"all server processes terminated; reinitializing shared memory and semaphores"
+#: commands/user.c:1232
+msgid "This restriction is to prevent unprivileged users from reading the passwords."
 msgstr ""
 
-#: postmaster/postmaster.c:1690
-msgid "child process"
+#: commands/user.c:1233
+#, c-format
+msgid "Try 'REVOKE ALL ON \"%s\" FROM PUBLIC'."
 msgstr ""
 
-#: postmaster/postmaster.c:1735
-msgid "server process"
+#: commands/user.c:1297
+msgid "group id must be positive"
 msgstr ""
 
-#: postmaster/postmaster.c:1736
-msgid "terminating any other active server processes"
+#: commands/user.c:1310
+msgid "must be superuser to create groups"
 msgstr ""
 
-#: postmaster/postmaster.c:1757
+#: commands/user.c:1315
 #, c-format
-msgid "CleanupProc: sending %s to process %d"
+msgid "group name \"%s\" is reserved"
 msgstr ""
 
-#: postmaster/postmaster.c:1801
+#: commands/user.c:1352
+#: commands/user.c:1739
 #, c-format
-msgid "%s (pid %d) exited with exit code %d"
-msgstr ""
+msgid "group \"%s\" already exists"
+msgstr "ÇÒÕÐÐÁ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: postmaster/postmaster.c:1804
-#, c-format
-msgid "%s (pid %d) was terminated by signal %d"
+#: commands/user.c:1437
+msgid "must be superuser to alter groups"
 msgstr ""
 
-#: postmaster/postmaster.c:1807
+#: commands/user.c:1504
 #, c-format
-msgid "%s (pid %d) exited with unexpected status %d"
+msgid "user \"%s\" is already in group \"%s\""
 msgstr ""
 
-#: postmaster/postmaster.c:1829
+#: commands/user.c:1521
 #, c-format
-msgid "SignalChildren: sending signal %d to process %d"
+msgid "group \"%s\" does not have any members"
 msgstr ""
 
-#: postmaster/postmaster.c:1867
-msgid "out of memory; connection startup aborted"
-msgstr ""
+#: commands/user.c:1549
+#, c-format
+msgid "user \"%s\" is not in group \"%s\""
+msgstr "ÐÏÌØÚÏ×ÁÔÅÌØ \"%s\" ÎÅ ÐÒÉÎÁÄÌÅÖÉÔ ÇÒÕÐÐÅ \"%s\""
 
-#: postmaster/postmaster.c:1918
-msgid "connection startup failed"
+#: commands/user.c:1681
+msgid "must be superuser to drop groups"
 msgstr ""
 
-#: postmaster/postmaster.c:1935
-#, c-format
-msgid "connection startup failed (fork failure): %s"
+#: commands/user.c:1745
+msgid "must be superuser to rename groups"
 msgstr ""
 
-#: postmaster/postmaster.c:1942
-#, c-format
-msgid "BackendStartup: forked pid=%d socket=%d"
+#: commands/vacuum.c:466
+msgid "oldest Xmin is far in the past"
 msgstr ""
 
-#: postmaster/postmaster.c:1976
-msgid "Server process fork() failed: "
+#: commands/vacuum.c:467
+msgid "Close open transactions soon to avoid wraparound problems."
 msgstr ""
 
-#: postmaster/postmaster.c:2123
-#, c-format
-msgid "connection received: host=%s port=%hu"
+#: commands/vacuum.c:674
+msgid "some databases have not been vacuumed in over 2 billion transactions"
 msgstr ""
 
-#: postmaster/postmaster.c:2143
-#, c-format
-msgid "connection received: host=%s"
+#: commands/vacuum.c:675
+msgid "You may have already suffered transaction-wraparound data loss."
 msgstr ""
 
-#: postmaster/postmaster.c:2163
-msgid "DoBackend: Unable to set timer for auth timeout"
+#: commands/vacuum.c:686
+msgid "some databases have not been vacuumed in over 1 billion transactions"
 msgstr ""
 
-#: postmaster/postmaster.c:2192
-msgid "DoBackend: Unable to disable timer for auth timeout"
+#: commands/vacuum.c:687
+msgid "Better vacuum them soon, or you may have a wraparound failure."
 msgstr ""
 
-#: postmaster/postmaster.c:2196
+#: commands/vacuum.c:694
 #, c-format
-msgid "connection authorized: user=%s database=%s"
+msgid "some databases have not been vacuumed in %d transactions"
 msgstr ""
 
-#: postmaster/postmaster.c:2285
+#: commands/vacuum.c:696
 #, c-format
-msgid "%s child[%d]: starting with ("
+msgid "Better vacuum them within %d transactions, or you may have a wraparound failure."
 msgstr ""
 
-#: postmaster/postmaster.c:2288
-msgid ")"
-msgstr ")"
-
-#: postmaster/postmaster.c:2350
+#: commands/vacuum.c:785
 #, c-format
-msgid ""
-"Checkpoint segments are being created too frequently (%d secs)\n"
-"\tConsider increasing CHECKPOINT_SEGMENTS"
+msgid "skipping \"%s\" --- only table or database owner can VACUUM it"
 msgstr ""
 
-#: postmaster/postmaster.c:2608
+#: commands/vacuum.c:799
 #, c-format
-msgid "could not launch startup process (fork failure): %m"
+msgid "skipping \"%s\" --- cannot VACUUM indexes, views or special system tables"
 msgstr ""
 
-#: postmaster/postmaster.c:2611
+#: commands/vacuum.c:1058
+#: commands/vacuumlazy.c:205
 #, c-format
-msgid "could not launch checkpoint process (fork failure): %m"
+msgid "vacuuming \"%s.%s\""
 msgstr ""
 
-#: postmaster/postmaster.c:2614
+#: commands/vacuum.c:1093
+#: commands/vacuumlazy.c:263
 #, c-format
-msgid "could not launch shutdown process (fork failure): %m"
+msgid "relation \"%s\" page %u is uninitialized --- fixing"
 msgstr ""
 
-#: postmaster/postmaster.c:2638
-msgid "CheckPointDataBase: malloc failed"
-msgstr "CheckPointDataBase: malloc ÎÅ ÕÄÁÌÓÑ"
-
-#: postmaster/postmaster.c:2677
+#: commands/vacuum.c:1210
 #, c-format
-msgid "cannot create file %s: %s"
-msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÏÚÄÁÔØ ÆÁÊÌ %s: %s"
-
-#: postmaster/postmaster.c:2689
-#, c-format
-msgid "writing file %s failed"
-msgstr "ÚÁÐÉÓØ ÆÁÊÌ %s ÎÅ ÕÄÁÌÁÓØ"
+msgid "relation \"%s\" TID %u/%u: InsertTransactionInProgress %u --- can't shrink relation"
+msgstr ""
 
-#: postmaster/pgstat.c:178
+#: commands/vacuum.c:1223
 #, c-format
-msgid "PGSTAT: socket() failed: %m"
-msgstr "PGSTAT: socket() ÎÅ ÕÄÁÌÓÑ: %m"
+msgid "relation \"%s\" TID %u/%u: DeleteTransactionInProgress %u --- can't shrink relation"
+msgstr ""
 
-#: postmaster/pgstat.c:192
+#: commands/vacuum.c:1385
+#: commands/vacuumlazy.c:428
 #, c-format
-msgid "PGSTAT: bind(127.0.0.1) failed: %m"
-msgstr "PGSTAT: bind(127.0.0.1) ÎÅ ÕÄÁÌÓÑ: %m"
+msgid "\"%s\": found %.0f removable, %.0f nonremovable tuples in %u pages"
+msgstr ""
 
-#: postmaster/pgstat.c:197
+#: commands/vacuum.c:1388
 #, c-format
-msgid "PGSTAT: getsockname() failed: %m"
-msgstr "PGSTAT: getsockname() ÎÅ ÕÄÁÌÓÑ: %m"
+msgid ""
+"%.0f dead tuples cannot be removed yet.\n"
+"Nonremovable tuples range from %lu to %lu bytes long.\n"
+"There were %.0f unused item pointers.\n"
+"Total free space (including removable tuples) is %.0f bytes.\n"
+"%u pages are or will become empty, including %u at the end of the table.\n"
+"%u pages containing %.0f free bytes are potential move destinations.\n"
+"%s"
+msgstr ""
 
-#: postmaster/pgstat.c:209
+#: commands/vacuum.c:2391
 #, c-format
-msgid "PGSTAT: connect() failed: %m"
-msgstr "PGSTAT: connect() ÎÅ ÕÄÁÌÓÑ: %m"
+msgid "\"%s\": moved %u tuples, truncated %u to %u pages"
+msgstr ""
 
-#: postmaster/pgstat.c:221
+#: commands/vacuum.c:2394
+#: commands/vacuumlazy.c:489
+#: commands/vacuumlazy.c:774
+#: nodes/print.c:87
+#: storage/lmgr/deadlock.c:888
+#: tcop/postgres.c:3191
 #, c-format
-msgid "PGSTAT: fcntl() failed: %m"
-msgstr "PGSTAT: fcntl() ÎÅ ÕÄÁÌÓÑ: %m"
+msgid "%s"
+msgstr "%s"
 
-#: postmaster/pgstat.c:230 postmaster/pgstat.c:1158
+#: commands/vacuum.c:2578
+#: commands/vacuumlazy.c:771
 #, c-format
-msgid "PGSTAT: pipe() failed: %m"
-msgstr "PGSTAT: pipe() ÎÅ ÕÄÁÌÓÑ: %m"
-
-#: postmaster/pgstat.c:273
-msgid "PGSTAT: statistics collector startup skipped"
+msgid "\"%s\": truncated %u to %u pages"
 msgstr ""
 
-#: postmaster/pgstat.c:296 postmaster/pgstat.c:1165
+#: commands/vacuum.c:2670
+#: commands/vacuum.c:2737
+#: commands/vacuumlazy.c:597
+#: commands/vacuumlazy.c:657
 #, c-format
-msgid "PGSTAT: fork() failed: %m"
-msgstr "PGSTAT: fork() ÎÅ ÕÄÁÌÓÑ: %m"
-
-#: postmaster/pgstat.c:697
-msgid "Only database superusers can reset statistic counters"
+msgid "index \"%s\" now contains %.0f tuples in %u pages"
 msgstr ""
 
-#: postmaster/pgstat.c:764 postmaster/pgstat.c:773 postmaster/pgstat.c:820
-#: postmaster/pgstat.c:830
-msgid "PGSTATBE: malloc() failed"
+#: commands/vacuum.c:2674
+#: commands/vacuumlazy.c:601
+#, c-format
+msgid ""
+"%u index pages have been deleted, %u are currently reusable.\n"
+"%s"
 msgstr ""
 
-#: postmaster/pgstat.c:1219
-msgid "PGSTAT: Creation of dead backend hash table failed"
+#: commands/vacuum.c:2688
+#: commands/vacuum.c:2757
+#, c-format
+msgid "index \"%s\" contains %.0f tuples, but table contains %.0f tuples"
 msgstr ""
 
-#: postmaster/pgstat.c:1230
-msgid "PGSTAT: Allocation of backend table failed"
+#: commands/vacuum.c:2691
+#: commands/vacuum.c:2760
+msgid "Rebuild the index with REINDEX."
 msgstr ""
 
-#: postmaster/pgstat.c:1294
-#, c-format
-msgid "PGSTAT: select() failed: %m"
-msgstr "PGSTAT: select() ÎÅ ÕÄÁÌÓÑ: %m"
-
-#: postmaster/pgstat.c:1334
+#: commands/vacuum.c:2741
+#: commands/vacuumlazy.c:661
 #, c-format
-msgid "PGSTAT: read() failed: %m"
-msgstr "PGSTAT: read() ÎÅ ÕÄÁÌÓÑ: %m"
-
-#: postmaster/pgstat.c:1352
-msgid "PGSTAT: bogus message length"
+msgid ""
+"%.0f index tuples were removed.\n"
+"%u index pages have been deleted, %u are currently reusable.\n"
+"%s"
 msgstr ""
 
-#: postmaster/pgstat.c:1502
+#: commands/vacuumlazy.c:431
 #, c-format
-msgid "PGSTATBUFF: fcntl() failed: %m"
+msgid ""
+"%.0f dead tuples cannot be removed yet.\n"
+"There were %.0f unused item pointers.\n"
+"%u pages are entirely empty.\n"
+"%s"
 msgstr ""
 
-#: postmaster/pgstat.c:1512
-msgid "PGSTATBUFF: malloc() failed"
+#: commands/vacuumlazy.c:486
+#, c-format
+msgid "\"%s\": removed %d tuples in %d pages"
 msgstr ""
 
-#: postmaster/pgstat.c:1539
-msgid "PGSTATBUFF: Warning - receive buffer full"
+#: commands/variable.c:75
+msgid "invalid list syntax for datestyle"
 msgstr ""
 
-#: postmaster/pgstat.c:1570
+#: commands/variable.c:161
 #, c-format
-msgid "PGSTATBUFF: select() failed: %m"
+msgid "unrecognized datestyle keyword: \"%s\""
 msgstr ""
 
-#: postmaster/pgstat.c:1586
-#, c-format
-msgid "PGSTATBUFF: recvfrom() failed: %m"
+#: commands/variable.c:179
+msgid "conflicting datestyle specifications"
 msgstr ""
 
-#: postmaster/pgstat.c:1661
-#, c-format
-msgid "PGSTATBUFF: write() failed: %m"
+#: commands/variable.c:450
+msgid "invalid INTERVAL for time zone: month not allowed"
 msgstr ""
 
-#: postmaster/pgstat.c:1714
+#: commands/variable.c:557
 #, c-format
-msgid "PGSTAT: Invalid backend ID %d"
+msgid "unrecognized timezone name: \"%s\""
 msgstr ""
 
-#: postmaster/pgstat.c:1770
-msgid "PGSTAT: DB hash table out of memory - abort"
+#: commands/variable.c:565
+#, c-format
+msgid "timezone \"%s\" appears to use leap seconds"
 msgstr ""
 
-#: postmaster/pgstat.c:1799 postmaster/pgstat.c:2214 postmaster/pgstat.c:2221
-msgid "PGSTAT: failed to initialize hash table for new database entry"
+#: commands/variable.c:567
+msgid "PostgreSQL does not support leap seconds"
 msgstr ""
 
-#: postmaster/pgstat.c:1851
-msgid "PGSTAT: dead backend hash table out of memory"
+#: commands/variable.c:636
+msgid "SET TRANSACTION ISOLATION LEVEL must be called before any query"
 msgstr ""
 
-#: postmaster/pgstat.c:1898
+#: commands/variable.c:713
+#: utils/mb/mbutils.c:188
 #, c-format
-msgid "PGSTAT: cannot open temp stats file %s: %m"
+msgid "conversion between %s and %s is not supported"
 msgstr ""
 
-#: postmaster/pgstat.c:1924
-msgid "PGSTAT: database hash table corrupted during cleanup - abort"
+#: commands/view.c:89
+msgid "view must have at least one attribute"
 msgstr ""
 
-#: postmaster/pgstat.c:1960
+#: commands/view.c:113
+#: tcop/utility.c:86
 #, c-format
-msgid ""
-"PGSTAT: tables hash table for database %d corrupted during cleanup - abort"
+msgid "\"%s\" is not a view"
+msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ×ÉÄÏÍ"
+
+#: commands/view.c:169
+#: commands/view.c:181
+msgid "cannot change number of columns in view"
 msgstr ""
 
-#: postmaster/pgstat.c:2007
+#: commands/view.c:186
 #, c-format
-msgid "PGSTAT: Error closing temp stats file %s: %m"
+msgid "cannot change name of view column \"%s\""
 msgstr ""
 
-#: postmaster/pgstat.c:2014
+#: commands/view.c:193
 #, c-format
-msgid "PGSTAT: Cannot rename temp stats file %s: %m"
+msgid "cannot change datatype of view column \"%s\""
 msgstr ""
 
-#: postmaster/pgstat.c:2035
-msgid "PGSTAT: dead backend hash table corrupted during cleanup - abort"
+#: executor/execMain.c:844
+#, c-format
+msgid "cannot change sequence relation \"%s\""
 msgstr ""
 
-#: postmaster/pgstat.c:2100 postmaster/pgstat.c:2104
-msgid "PGSTAT: Creation of DB hash table failed"
+#: executor/execMain.c:850
+#, c-format
+msgid "cannot change toast relation \"%s\""
 msgstr ""
 
-#: postmaster/pgstat.c:2142 postmaster/pgstat.c:2148 postmaster/pgstat.c:2177
-#: postmaster/pgstat.c:2183 postmaster/pgstat.c:2248 postmaster/pgstat.c:2254
-#: postmaster/pgstat.c:2287 postmaster/pgstat.c:2293 postmaster/pgstat.c:2316
-#: postmaster/pgstat.c:2322 postmaster/pgstat.c:2370 postmaster/pgstat.c:2376
-#: postmaster/pgstat.c:2411 postmaster/pgstat.c:2417
-msgid "PGSTAT: corrupted pgstat.stat file"
+#: executor/execMain.c:856
+#, c-format
+msgid "cannot change view relation \"%s\""
 msgstr ""
 
-#: postmaster/pgstat.c:2164 postmaster/pgstat.c:2170
-msgid "PGSTAT: DB hash table out of memory"
+#: executor/execMain.c:1689
+#, c-format
+msgid "null value for attribute \"%s\" violates NOT NULL constraint"
 msgstr ""
 
-#: postmaster/pgstat.c:2273 postmaster/pgstat.c:2279
-msgid "PGSTAT: Tab hash table out of memory"
+#: executor/execMain.c:1701
+#, c-format
+msgid "new row for relation \"%s\" violates CHECK constraint \"%s\""
 msgstr ""
 
-#: postmaster/pgstat.c:2526
+#: executor/execQual.c:180
+#: executor/execQual.c:204
+#: executor/execQual.c:1719
+#: utils/adt/array_userfuncs.c:362
+#: utils/adt/arrayfuncs.c:212
+#: utils/adt/arrayfuncs.c:378
+#: utils/adt/arrayfuncs.c:897
+#: utils/adt/arrayfuncs.c:2237
 #, c-format
-msgid "PGSTAT: tables hash table out of memory for database %d - abort"
+msgid "number of array dimensions exceeds the maximum allowed, %d"
 msgstr ""
 
-#: postmaster/pgstat.c:2706
-msgid "PGSTAT: failed to reinitialize hash table for database entry"
+#: executor/execQual.c:500
+#, c-format
+msgid "no value found for parameter \"%s\""
 msgstr ""
 
-#: regex/regcomp.c:1757 regex/regcomp.c:1772
-msgid "cclass_init: out of memory"
-msgstr "cclass_init: ÎÅ ÄÏÓÔÁÔÏÞÎÏ ÐÁÍÑÔÉ"
-
-#: rewrite/rewriteDefine.c:100
+#: executor/execQual.c:505
 #, c-format
-msgid "Attempt to insert rule \"%s\" failed: already exists"
+msgid "no value found for parameter %d"
 msgstr ""
 
-#: rewrite/rewriteDefine.c:227
-msgid ""
-"rule actions on OLD currently not supported\n"
-"\tuse views or triggers instead"
-msgstr ""
+#: executor/execQual.c:665
+msgid "functions and operators can take at most one set argument"
+msgstr "ÆÕÎËÃÉÉ É ÏÐÅÒÁÔÏÒÙ ÐÒÉÎÉÍÁÀÔ ÔÏÌØËÏ ÏÄÉΠÁÒÇÕÍÅÎÔ-ÍÎÏÖÅÓÔ×Ï (set)"
 
-#: rewrite/rewriteDefine.c:230
-msgid ""
-"rule actions on NEW currently not supported\n"
-"\tuse triggers instead"
+#: executor/execQual.c:717
+#: executor/execQual.c:761
+#: executor/execQual.c:948
+#: executor/execQual.c:2959
+#: executor/functions.c:578
+#: executor/functions.c:617
+#: utils/adt/pgstatfuncs.c:191
+#: utils/adt/sets.c:207
+#: utils/fmgr/funcapi.c:38
+msgid "set-valued function called in context that cannot accept a set"
 msgstr ""
 
-#: rewrite/rewriteDefine.c:247
-msgid ""
-"instead nothing rules on select currently not supported\n"
-"\tuse views instead"
+#: executor/execQual.c:1059
+#: executor/execQual.c:1100
+msgid "function returning tuple cannot return NULL"
 msgstr ""
 
-#: rewrite/rewriteDefine.c:255
-msgid "multiple action rules on select currently not supported"
+#: executor/execQual.c:1064
+msgid "function returning tuple did not return a valid tuple slot"
 msgstr ""
 
-#: rewrite/rewriteDefine.c:262
-msgid "only instead-select rules currently supported on select"
+#: executor/execQual.c:1127
+msgid "table-function protocol for materialize mode was not followed"
 msgstr ""
 
-#: rewrite/rewriteDefine.c:268
-msgid "event qualifications not supported for rules on select"
+#: executor/execQual.c:1134
+#, c-format
+msgid "unrecognized table-function returnMode: %d"
 msgstr ""
 
-#: rewrite/rewriteDefine.c:286
-msgid "select rule's target list has too many entries"
+#: executor/execQual.c:1247
+msgid "IS DISTINCT FROM does not support set arguments"
 msgstr ""
 
-#: rewrite/rewriteDefine.c:300
-msgid "cannot convert relation containing dropped columns to view"
+#: executor/execQual.c:1315
+msgid "op ANY/ALL (array) does not support set arguments"
 msgstr ""
 
-#: rewrite/rewriteDefine.c:303
-#, c-format
-msgid "select rule's target entry %d has different column name from %s"
+#: executor/execQual.c:1705
+msgid "cannot merge incompatible arrays"
 msgstr ""
 
-#: rewrite/rewriteDefine.c:306
+#: executor/execQual.c:1706
 #, c-format
-msgid "select rule's target entry %d has different type from attribute %s"
+msgid "Array with element type %s cannot be included in ARRAY construct with element type %s."
 msgstr ""
 
-#: rewrite/rewriteDefine.c:317
-#, c-format
-msgid "select rule's target entry %d has different size from attribute %s"
+#: executor/execQual.c:1739
+msgid "multidimensional arrays must have array expressions with matching dimensions"
 msgstr ""
 
-#: rewrite/rewriteDefine.c:321
-msgid "select rule's target list has too few entries"
+#: executor/execQual.c:1849
+msgid "NULLIF does not support set arguments"
 msgstr ""
 
-#: rewrite/rewriteDefine.c:334
+#: executor/execQual.c:2030
 #, c-format
-msgid "\"%s\" is already a view"
+msgid "domain %s does not allow NULL values"
 msgstr ""
 
-#: rewrite/rewriteDefine.c:356
+#: executor/execQual.c:2060
 #, c-format
-msgid "view rule for \"%s\" must be named \"%s\""
+msgid "value for domain %s violates CHECK constraint \"%s\""
 msgstr ""
 
-#: rewrite/rewriteDefine.c:373
-#, c-format
-msgid "Relation \"%s\" is not empty. Cannot convert it to view"
+#: executor/execQual.c:2417
+#: optimizer/util/clauses.c:411
+#: parser/parse_agg.c:74
+msgid "aggregate function calls may not be nested"
 msgstr ""
 
-#: rewrite/rewriteDefine.c:512
+#: executor/functions.c:183
 #, c-format
-msgid "RenameRewriteRule: rule \"%s\" does not exist"
+msgid "could not determine actual result type for function declared %s"
 msgstr ""
 
-#: rewrite/rewriteDefine.c:516
+#: executor/functions.c:254
 #, c-format
-msgid "Attempt to rename rule \"%s\" failed: \"%s\" already exists"
+msgid "could not determine actual type of argument declared %s"
 msgstr ""
 
-#: rewrite/rewriteHandler.c:345
+#: executor/functions.c:673
 #, c-format
-msgid "rewriteTargetList: bogus resno %d in targetlist"
-msgstr ""
+msgid "SQL function \"%s\" query %d"
+msgstr "SQL-ÆÕÎËÃÉÑ \"%s\" ÚÁÐÒÏÓ %d"
+
+#: executor/functions.c:686
+#, c-format
+msgid "SQL function \"%s\""
+msgstr "SQL-ÆÕÎËÃÉÑ \"%s\""
 
-#: rewrite/rewriteHandler.c:387 rewrite/rewriteHandler.c:399
+#: executor/functions.c:692
 #, c-format
-msgid "Multiple assignments to same attribute \"%s\""
+msgid "SQL function \"%s\" during startup"
+msgstr "SQL-ÆÕÎËÃÉÑ \"%s\" ÐÒÉ ÓÔÁÒÔÅ"
+
+#: executor/nodeAgg.c:1314
+#, c-format
+msgid "aggregate %u needs to have compatible input type and transition type"
 msgstr ""
 
-#: rewrite/rewriteHandler.c:555
-msgid "ApplyRetrieveRule: expected just one rule action"
+#: executor/nodeIndexscan.c:970
+#, c-format
+msgid "indexes of relation %u were deactivated"
 msgstr ""
 
-#: rewrite/rewriteHandler.c:557
-msgid "ApplyRetrieveRule: can't handle qualified ON SELECT rule"
+#: executor/nodeFunctionscan.c:93
+msgid "query-specified return tuple and actual function return tuple do not match"
 msgstr ""
 
-#: rewrite/rewriteHandler.c:559
-msgid "ApplyRetrieveRule: can't handle per-attribute ON SELECT rule"
+#: executor/nodeHashjoin.c:561
+#: executor/nodeHashjoin.c:571
+#, c-format
+msgid "read from hashjoin temp file failed: %m"
 msgstr ""
 
-#: rewrite/rewriteHandler.c:837
-msgid "fireRIRrules: failed to remove aggs from qual"
+#: executor/nodeHashjoin.c:629
+#: executor/nodeHashjoin.c:636
+#, c-format
+msgid "failed to rewind hashjoin temp file: %m"
 msgstr ""
 
-#: rewrite/rewriteHandler.c:1098
+#: executor/nodeHashjoin.c:687
+#: executor/nodeHashjoin.c:692
 #, c-format
-msgid "query rewritten %d times, may contain cycles"
+msgid "write to hashjoin temp file failed: %m"
 msgstr ""
 
-#: rewrite/rewriteHandler.c:1210
-msgid ""
-"Cannot insert into a view\n"
-"\tYou need an unconditional ON INSERT DO INSTEAD rule"
+#: executor/spi.c:725
+msgid "cannot open multi-query plan as cursor"
 msgstr ""
 
-#: rewrite/rewriteHandler.c:1214
-msgid ""
-"Cannot update a view\n"
-"\tYou need an unconditional ON UPDATE DO INSTEAD rule"
+#: executor/spi.c:732
+msgid "cannot open non-SELECT query as cursor"
 msgstr ""
 
-#: rewrite/rewriteHandler.c:1218
-msgid ""
-"Cannot delete from a view\n"
-"\tYou need an unconditional ON DELETE DO INSTEAD rule"
+#: executor/spi.c:736
+msgid "cannot open SELECT INTO query as cursor"
 msgstr ""
 
-#: rewrite/rewriteHandler.c:1222
-#, c-format
-msgid "QueryRewrite: unexpected commandType %d"
+#: executor/nodeMergejoin.c:1479
+msgid "RIGHT JOIN is only supported with mergejoinable join conditions"
 msgstr ""
 
-#: rewrite/rewriteManip.c:583 rewrite/rewriteManip.c:590
-msgid "getInsertSelectQuery: expected to find SELECT subquery"
+#: executor/nodeMergejoin.c:1496
+#: optimizer/path/joinpath.c:821
+msgid "FULL JOIN is only supported with mergejoinable join conditions"
 msgstr ""
 
-#: rewrite/rewriteManip.c:601
-msgid "getInsertSelectQuery: can't find rule placeholders"
+#: executor/nodeSubplan.c:290
+#: executor/nodeSubplan.c:332
+#: executor/nodeSubplan.c:966
+msgid "more than one tuple returned by a subselect used as an expression"
 msgstr ""
 
-#: rewrite/rewriteManip.c:635 rewrite/rewriteManip.c:675
-msgid "Conditional utility statements are not implemented"
+#: libpq/be-fsstubs.c:124
+#: libpq/be-fsstubs.c:162
+#: libpq/be-fsstubs.c:186
+#: libpq/be-fsstubs.c:214
+#: libpq/be-fsstubs.c:271
+#, c-format
+msgid "invalid large-object descriptor: %d"
 msgstr ""
 
-#: rewrite/rewriteManip.c:790
-msgid "ResolveNew: can't handle whole-tuple reference"
+#: libpq/be-fsstubs.c:375
+msgid "must be superuser to use server-side lo_import()"
 msgstr ""
 
-#: rewrite/rewriteRemove.c:57
-#, c-format
-msgid "Rule \"%s\" not found"
-msgstr "ðÒÁ×ÉÌÏ \"%s\" ÎÅ ÎÁÊÄÅÎÏ"
+#: libpq/be-fsstubs.c:376
+msgid "Anyone can use the client-side lo_import() provided by libpq."
+msgstr ""
 
-#: rewrite/rewriteRemove.c:113
+#: libpq/be-fsstubs.c:391
 #, c-format
-msgid "RemoveRewriteRuleById: Rule %u does not exist"
-msgstr "RemoveRewriteRuleById: ðÒÁ×ÉÌÏ %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
+msgid "could not open server file \"%s\": %m"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔËÔÒÙÔØ ÆÁÊÌ ÓÅÒ×ÅÒÁ \"%s\": %m"
 
-#: rewrite/rewriteSupport.c:68
+#: libpq/be-fsstubs.c:412
 #, c-format
-msgid "SetRelationRuleStatus: cache lookup failed for relation %u"
-msgstr ""
+msgid "could not read server file \"%s\": %m"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÞÉÔÁÔØ ÆÁÊÌ ÓÅÒ×ÅÒÁ \"%s\": %m"
 
-#: storage/buffer/buf_table.c:58
-msgid "couldn't initialize shared buffer pool Hash Tbl"
+#: libpq/be-fsstubs.c:442
+msgid "must be superuser to use server-side lo_export()"
 msgstr ""
 
-#: storage/buffer/buf_table.c:100
-msgid "BufTableDelete: BufferLookup table corrupted"
+#: libpq/be-fsstubs.c:443
+msgid "Anyone can use the client-side lo_export() provided by libpq."
 msgstr ""
 
-#: storage/buffer/buf_table.c:131
-msgid "BufTableInsert: BufferLookup table out of memory"
-msgstr ""
+#: libpq/be-fsstubs.c:469
+#, c-format
+msgid "could not create server file \"%s\": %m"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÏÚÄÁÔØ ÆÁÊÌ ÓÅÒ×ÅÒÁ \"%s\": %m"
 
-#: storage/buffer/buf_table.c:138
-msgid "BufTableInsert: BufferLookup table corrupted"
-msgstr ""
+#: libpq/be-fsstubs.c:481
+#, c-format
+msgid "could not write server file \"%s\": %m"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÚÁÐÉÓÁÔØ ÆÁÊÌ ÓÅÒ×ÅÒÁ \"%s\": %m"
 
-#: storage/buffer/bufmgr.c:243
-msgid "BufRead: buffer table broken after IO error"
-msgstr ""
+#: libpq/auth.c:113
+#, c-format
+msgid "kerberos error: %s"
+msgstr "ÏÛÉÂËÁ kerberos: %s"
 
-#: storage/buffer/bufmgr.c:413
+#: libpq/auth.c:119
 #, c-format
-msgid "BufferAlloc: cannot write block %u for %u/%u"
+msgid "kerberos protocol version \"%s\" != \"%s\""
 msgstr ""
 
-#: storage/buffer/bufmgr.c:431
+#: libpq/auth.c:126
+#: libpq/auth.c:306
 #, c-format
-msgid "BufferAlloc: content of block %u (%u/%u) changed while flushing"
+msgid "kerberos user name \"%s\" != \"%s\""
 msgstr ""
 
-#: storage/buffer/bufmgr.c:523
-msgid "buffer wasn't in the buffer table"
+#: libpq/auth.c:140
+msgid "kerberos v4 not implemented on this server"
 msgstr ""
 
-#: storage/buffer/bufmgr.c:531
-msgid "Buffer in lookup table twice"
+#: libpq/auth.c:201
+#, c-format
+msgid "kerberos init returned error %d"
 msgstr ""
 
-#: storage/buffer/bufmgr.c:570
+#: libpq/auth.c:211
 #, c-format
-msgid "write_buffer: bad buffer %d"
+msgid "kerberos keytab resolve returned error %d"
 msgstr ""
 
-#: storage/buffer/bufmgr.c:782
+#: libpq/auth.c:224
 #, c-format
-msgid "BufferSync: cannot write %u for %u/%u"
+msgid "kerberos sname_to_principal(\"%s\") returned error %d"
 msgstr ""
 
-#: storage/buffer/bufmgr.c:920
+#: libpq/auth.c:269
 #, c-format
-msgid ""
-"Buffer Leak: [%03d] (freeNext=%d, freePrev=%d, rel=%u/%u, blockNum=%u, "
-"flags=0x%x, refcount=%d %ld)"
+msgid "kerberos recvauth returned error %d"
 msgstr ""
 
-#: storage/buffer/bufmgr.c:1167
+#: libpq/auth.c:294
 #, c-format
-msgid "DropRelFileNodeBuffers: block %u is referenced (private %ld, global %d)"
+msgid "kerberos unparse_name returned error %d"
 msgstr ""
 
-#: storage/buffer/bufmgr.c:1270 storage/buffer/bufmgr.c:1304
-#, c-format
-msgid ""
-"[%02d] (freeNext=%d, freePrev=%d, rel=%u/%u, blockNum=%u, flags=0x%x, "
-"refcount=%d %ld)"
+#: libpq/auth.c:327
+msgid "kerberos v5 not implemented on this server"
 msgstr ""
 
-#: storage/buffer/bufmgr.c:1379
+#: libpq/auth.c:394
 #, c-format
-msgid ""
-"FlushRelationBuffers(%s (local), %u): block %u is dirty, could not flush it"
+msgid "%s authentication failed for user \"%s\""
 msgstr ""
 
-#: storage/buffer/bufmgr.c:1389
-#, c-format
-msgid "FlushRelationBuffers(%s (local), %u): block %u is referenced (%ld)"
+#: libpq/auth.c:418
+msgid "missing or erroneous pg_hba.conf file"
+msgstr ""
+
+#: libpq/auth.c:419
+msgid "See postmaster log for details."
 msgstr ""
 
-#: storage/buffer/bufmgr.c:1441
+#: libpq/auth.c:445
 #, c-format
-msgid "FlushRelationBuffers: cannot write %u for %u/%u"
+msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\", %s"
 msgstr ""
 
-#: storage/buffer/bufmgr.c:1467
+#: libpq/auth.c:447
+msgid "SSL on"
+msgstr "SSL ×ËÌ."
+
+#: libpq/auth.c:447
+msgid "SSL off"
+msgstr "SSL ×ÙËÌ."
+
+#: libpq/auth.c:451
 #, c-format
-msgid ""
-"FlushRelationBuffers(%s, %u): block %u is referenced (private %ld, global %d)"
+msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\""
 msgstr ""
 
-#: storage/buffer/bufmgr.c:1666
-msgid "buffer alloc trace error and can't open log file"
+#: libpq/auth.c:463
+msgid "kerberos 4 only supports IPv4 connections"
 msgstr ""
 
-#: storage/buffer/bufmgr.c:1765
+#: libpq/auth.c:495
 #, c-format
-msgid "SetBufferCommitInfoNeedsSave: bad buffer %d"
+msgid "failed to enable credential receipt: %m"
 msgstr ""
 
-#: storage/buffer/bufmgr.c:1859
+#: libpq/auth.c:582
 #, c-format
-msgid "LockBuffer: unknown lock mode %d"
+msgid "error from underlying PAM layer: %s"
 msgstr ""
 
-#: storage/buffer/bufmgr.c:1890 storage/buffer/bufmgr.c:1897
-msgid "LockBufferForCleanup: wrong local pin count"
+#: libpq/auth.c:587
+#, c-format
+msgid "unsupported PAM conversation %d/%s"
 msgstr ""
 
-#: storage/buffer/bufmgr.c:1919
-msgid "Multiple backends attempting to wait for pincount 1"
+#: libpq/auth.c:619
+msgid "empty password returned by client"
 msgstr ""
 
-#: storage/buffer/bufmgr.c:2042
+#: libpq/auth.c:679
 #, c-format
-msgid "write error may be permanent: cannot write block %u for %u/%u"
+msgid "Failed to create PAM authenticator: %s"
 msgstr ""
 
-#: storage/buffer/freelist.c:201
-msgid "out of free buffers: time to abort!"
+#: libpq/auth.c:690
+#, c-format
+msgid "pam_set_item(PAM_USER) failed: %s"
 msgstr ""
 
-#: storage/buffer/localbuf.c:83
-msgid "no empty local buffer."
+#: libpq/auth.c:701
+#, c-format
+msgid "pam_set_item(PAM_CONV) failed: %s"
 msgstr ""
 
-#: storage/buffer/localbuf.c:125
-msgid "Out of memory in LocalBufferAlloc"
+#: libpq/auth.c:712
+#, c-format
+msgid "pam_authenticate failed: %s"
 msgstr ""
 
-#: storage/buffer/localbuf.c:232
+#: libpq/auth.c:723
 #, c-format
-msgid ""
-"Local Buffer Leak: [%03d] (rel=%u/%u, blockNum=%u, flags=0x%x, refcount=%d %"
-"ld)"
+msgid "pam_acct_mgmt failed: %s"
 msgstr ""
 
-#: storage/file/buffile.c:477
+#: libpq/auth.c:734
 #, c-format
-msgid "BufFileSeek: invalid whence: %d"
+msgid "failed to release PAM authenticator: %s"
 msgstr ""
 
-#: storage/file/fd.c:272
+#: libpq/auth.c:772
 #, c-format
-msgid "BasicOpenFile: not enough descs, retry, er= %d"
+msgid "expected password response, got msg type %d"
 msgstr ""
 
-#: storage/file/fd.c:306
-#, c-format
-msgid "pg_nofile: sysconf(_SC_OPEN_MAX) failed; using %ld"
+#: libpq/auth.c:800
+msgid "invalid password packet size"
 msgstr ""
 
-#: storage/file/fd.c:328
-#, c-format
-msgid ""
-"pg_nofile: insufficient file descriptors available to start backend.\n"
-"\tSystem allows %ld, we need at least %d."
+#: libpq/auth.c:804
+msgid "received password packet"
 msgstr ""
 
-#: storage/file/fd.c:366
+#: libpq/be-secure.c:274
+#: libpq/be-secure.c:358
 #, c-format
-msgid "Delete %d (%s)"
+msgid "SSL SYSCALL error: %m"
 msgstr ""
 
-#: storage/file/fd.c:385
-#, c-format
-msgid "LruDelete %d (%s)"
+#: libpq/be-secure.c:279
+#: libpq/be-secure.c:363
+msgid "SSL SYSCALL error: EOF detected"
 msgstr ""
 
-#: storage/file/fd.c:399
+#: libpq/be-secure.c:287
+#: libpq/be-secure.c:371
 #, c-format
-msgid "LruDelete: failed to close %s: %m"
+msgid "SSL error: %s"
+msgstr "ïÛÉÂËÁ SSL: %s"
+
+#: libpq/be-secure.c:296
+#: libpq/be-secure.c:380
+msgid "unrecognized SSL error code"
 msgstr ""
 
-#: storage/file/fd.c:413
-#, c-format
-msgid "Insert %d (%s)"
+#: libpq/be-secure.c:326
+#: libpq/be-secure.c:330
+#: libpq/be-secure.c:340
+msgid "SSL renegotiation failure"
 msgstr ""
 
-#: storage/file/fd.c:434
-#, c-format
-msgid "LruInsert %d (%s)"
+#: libpq/be-secure.c:334
+msgid "SSL failed to send renegotiation request"
 msgstr ""
 
-#: storage/file/fd.c:456
+#: libpq/be-secure.c:632
 #, c-format
-msgid "RE_OPEN FAILED: %d"
-msgstr "RE_OPEN îå õäáìóñ: %d"
+msgid "could not create SSL context: %s"
+msgstr "ÎÅ ÕÄÁÌÏÓØ ÓÏÚÄÁÔØ ËÏÎÔÅËÓÔ SSL: %s"
 
-#: storage/file/fd.c:461
-msgid "RE_OPEN SUCCESS"
-msgstr "RE_OPEN õóðåûåî"
+#: libpq/be-secure.c:642
+#, c-format
+msgid "could not load server certificate file \"%s\": %s"
+msgstr "ÎÅ ÕÄÁÌÏÓØ ÚÁÇÒÕÚÉÔØ ÓÅÒÔÉÆÉËÁÔ ÓÅÒ×ÅÒÁ \"%s\": %s"
 
-#: storage/file/fd.c:487
+#: libpq/be-secure.c:649
 #, c-format
-msgid "ReleaseLruFile. Opened %d"
+msgid "could not access private key file \"%s\": %m"
 msgstr ""
 
-#: storage/file/fd.c:508
+#: libpq/be-secure.c:655
 #, c-format
-msgid "AllocateVfd. Size %d"
+msgid "unsafe permissions on private key file \"%s\""
 msgstr ""
 
-#: storage/file/fd.c:515
-msgid "AllocateVfd: no room for VFD array"
+#: libpq/be-secure.c:657
+msgid "File must be owned by the database user and must have no permissions for \"group\" or \"other\"."
 msgstr ""
 
-#: storage/file/fd.c:547
-msgid "AllocateVfd: no room to enlarge VFD array"
+#: libpq/be-secure.c:661
+#, c-format
+msgid "could not load private key file \"%s\": %s"
 msgstr ""
 
-#: storage/file/fd.c:580
+#: libpq/be-secure.c:666
 #, c-format
-msgid "FreeVfd: %d (%s)"
-msgstr "FreeVfd: %d (%s)"
+msgid "check of private key failed: %s"
+msgstr ""
 
-#: storage/file/fd.c:630
+#: libpq/be-secure.c:684
 #, c-format
-msgid "FileAccess %d (%s)"
-msgstr "FileAccess %d (%s)"
+msgid "could not load root cert file \"%s\": %s"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÚÁÇÒÕÚÉÔØ ÆÁÊÌ ËÏÒÎÅ×ÏÇÏ ÓÅÒÔÉÆÉËÁÔÁ \"%s\": %s"
 
-#: storage/file/fd.c:682
-msgid "fileNameOpenFile: NULL fname"
+#: libpq/be-secure.c:686
+msgid "Will not verify client certificates."
 msgstr ""
 
-#: storage/file/fd.c:684
+#: libpq/be-secure.c:721
 #, c-format
-msgid "fileNameOpenFile: %s %x %o"
-msgstr "fileNameOpenFile: %s %x %o"
+msgid "could not initialize SSL connection: %s"
+msgstr "ÎÅ ÕÄÁÌÏÓØ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÔØ SSL-ÐÏÄÓÏÅÄÉÎÅÎÉÅ: %s"
 
-#: storage/file/fd.c:704
+#: libpq/be-secure.c:745
 #, c-format
-msgid "fileNameOpenFile: success %d"
+msgid "secure connection from \"%s\""
 msgstr ""
 
-#: storage/file/fd.c:711
-msgid "fileNameOpenFile: no room to save VFD filename"
+#: libpq/crypt.c:62
+msgid "cannot use CRYPT auth method because password is MD5-encrypted"
 msgstr ""
 
-#: storage/file/fd.c:795
+#: libpq/hba.c:129
 #, c-format
-msgid "Failed to create temporary file %s"
+msgid "authentication file token too long, skipping: \"%s\""
 msgstr ""
 
-#: storage/file/fd.c:814
+#: libpq/hba.c:265
 #, c-format
-msgid "FileClose: %d (%s)"
-msgstr "FileClose: %d (%s)"
+msgid "could not open secondary authentication file \"@%s\" as \"%s\": %m"
+msgstr ""
 
-#: storage/file/fd.c:826
+#: libpq/hba.c:666
 #, c-format
-msgid "FileClose: failed to close %s: %m"
+msgid "could not interpret IP address \"%s\" in config file: %s"
 msgstr ""
 
-#: storage/file/fd.c:841
+#: libpq/hba.c:742
 #, c-format
-msgid "FileClose: failed to unlink %s: %m"
+msgid "invalid entry in pg_hba.conf file at line %d, token \"%s\""
 msgstr ""
 
-#: storage/file/fd.c:859
+#: libpq/hba.c:747
 #, c-format
-msgid "FileUnlink: %d (%s)"
-msgstr "FileUnlink: %d (%s)"
+msgid "missing field in pg_hba.conf file at end of line %d"
+msgstr ""
 
-#: storage/file/fd.c:875
+#: libpq/hba.c:806
+#: libpq/hba.c:830
+#: storage/smgr/smgr.c:278
+#: utils/init/miscinit.c:775
 #, c-format
-msgid "FileRead: %d (%s) %ld %d %p"
-msgstr "FileRead: %d (%s) %ld %d %p"
+msgid "could not open \"%s\": %m"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔËÔÒÙÔØ \"%s\": %m"
 
-#: storage/file/fd.c:896
+#: libpq/hba.c:949
 #, c-format
-msgid "FileWrite: %d (%s) %ld %d %p"
-msgstr "FileWrite: %d (%s) %ld %d %p"
+msgid "could not open config file \"%s\": %m"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔËÔÒÙÔØ ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ \"%s\": %m"
 
-#: storage/file/fd.c:922
+#: libpq/hba.c:1011
 #, c-format
-msgid "FileSeek: %d (%s) %ld %ld %d"
-msgstr "FileSeek: %d (%s) %ld %ld %d"
+msgid "invalid entry in pg_ident.conf file at line %d, token \"%s\""
+msgstr ""
 
-#: storage/file/fd.c:932 storage/file/fd.c:953
+#: libpq/hba.c:1016
 #, c-format
-msgid "FileSeek: invalid offset: %ld"
+msgid "missing entry in pg_ident.conf file at end of line %d"
 msgstr ""
 
-#: storage/file/fd.c:943 storage/file/fd.c:965
-#, c-format
-msgid "FileSeek: invalid whence: %d"
+#: libpq/hba.c:1048
+msgid "cannot use IDENT authentication without usermap field"
 msgstr ""
 
-#: storage/file/fd.c:980
+#: libpq/hba.c:1096
 #, c-format
-msgid "FileTell %d (%s)"
-msgstr "FileTell %d (%s)"
+msgid "could not open usermap file \"%s\": %m"
+msgstr ""
 
-#: storage/file/fd.c:993
+#: libpq/hba.c:1267
 #, c-format
-msgid "FileTruncate %d (%s)"
-msgstr "FileTruncate %d (%s)"
+msgid "could not create socket for IDENT connection: %m"
+msgstr ""
 
-#: storage/file/fd.c:1024
+#: libpq/hba.c:1283
 #, c-format
-msgid "AllocateFile: Allocated %d"
+msgid "could not bind to local address \"%s\": %m"
 msgstr ""
 
-#: storage/file/fd.c:1027
-msgid "AllocateFile: too many private FDs demanded"
+#: libpq/hba.c:1295
+#, c-format
+msgid "could not connect to IDENT server at address \"%s\", port %s): %m"
 msgstr ""
 
-#: storage/file/fd.c:1041
+#: libpq/hba.c:1315
 #, c-format
-msgid "AllocateFile: not enough descs, retry, er= %d"
+msgid "could not send query to IDENT server at address \"%s\", port %s): %m"
 msgstr ""
 
-#: storage/file/fd.c:1057
+#: libpq/hba.c:1330
 #, c-format
-msgid "FreeFile: Allocated %d"
+msgid "could not receive response from IDENT server at address \"%s\", port %s): %m"
 msgstr ""
 
-#: storage/file/fd.c:1070
-msgid "FreeFile: file was not obtained from AllocateFile"
+#: libpq/hba.c:1371
+#: libpq/hba.c:1402
+#: libpq/hba.c:1470
+#, c-format
+msgid "could not receive credentials: %m"
 msgstr ""
 
-#: storage/freespace/freespace.c:180 storage/freespace/freespace.c:195
-#: storage/freespace/freespace.c:203
-msgid "Insufficient shared memory for free space map"
+#: libpq/hba.c:1380
+#: libpq/hba.c:1411
+#: libpq/hba.c:1481
+#, c-format
+msgid "local user with uid %d is not known to getpwuid"
 msgstr ""
 
-#: storage/freespace/freespace.c:421
-msgid "MultiRecordFreeSpace: data not in page order"
+#: libpq/hba.c:1493
+msgid "IDENT auth is not supported on local connections on this platform"
 msgstr ""
 
-#: storage/freespace/freespace.c:536
-msgid "FreeSpaceMap hashtable out of memory"
+#: libpq/pqcomm.c:248
+#, c-format
+msgid "could not translate hostname \"%s\", service \"%s\" to address: %s"
 msgstr ""
 
-#: storage/freespace/freespace.c:606
-msgid "FreeSpaceMap hashtable corrupted"
+#: libpq/pqcomm.c:252
+#, c-format
+msgid "could not translate service \"%s\" to address: %s"
 msgstr ""
 
-#: storage/freespace/freespace.c:779
-msgid "fsm_record_free_space: unexpected match"
-msgstr ""
+#: libpq/pqcomm.c:285
+msgid "IPv4"
+msgstr "IPv4"
+
+#: libpq/pqcomm.c:289
+msgid "IPv6"
+msgstr "IPv6"
 
-#: storage/freespace/freespace.c:889
-msgid "insert_fsm_page_entry: entry already exists!"
+#: libpq/pqcomm.c:294
+msgid "Unix"
+msgstr "Unix"
+
+#: libpq/pqcomm.c:299
+#, c-format
+msgid "unrecognized address family %d"
 msgstr ""
 
-#: storage/ipc/ipc.c:95
+#. translator: %s is IPv4, IPv6, or Unix
+#: libpq/pqcomm.c:310
 #, c-format
-msgid "proc_exit(%d)"
-msgstr "proc_exit(%d)"
+msgid "could not create %s socket: %m"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÏÚÄÁÔØ ÓÏËÅÔ %s: %m"
 
-#: storage/ipc/ipc.c:113
+#: libpq/pqcomm.c:322
+#, c-format
+msgid "setsockopt(SO_REUSEADDR) failed: %m"
+msgstr "setsockopt(SO_REUSEADDR) ÎÅ ÕÄÁÌÓÑ: %m"
+
+#: libpq/pqcomm.c:336
 #, c-format
-msgid "exit(%d)"
-msgstr "exit(%d)"
+msgid "setsockopt(IPV6_V6ONLY) failed: %m"
+msgstr "setsockopt(IPV6_V6ONLY) ÎÅ ÕÄÁÌÓÑ: %m"
 
-#: storage/ipc/ipc.c:126
+#. translator: %s is IPv4, IPv6, or Unix
+#: libpq/pqcomm.c:355
 #, c-format
-msgid "shmem_exit(%d)"
-msgstr "shmem_exit(%d)"
+msgid "could not bind %s socket: %m"
+msgstr ""
 
-#: storage/ipc/ipc.c:152
-msgid "Out of on_proc_exit slots"
+#: libpq/pqcomm.c:358
+#, c-format
+msgid "Is another postmaster already running on port %d? If not, remove socket node \"%s\" and retry."
 msgstr ""
 
-#: storage/ipc/ipci.c:73
+#: libpq/pqcomm.c:361
 #, c-format
-msgid "invoking IpcMemoryCreate(size=%d)"
+msgid "Is another postmaster already running on port %d? If not, wait a few seconds and retry."
 msgstr ""
 
-#: storage/ipc/ipci.c:115
-msgid "Couldn't create the lock table"
+#. translator: %s is IPv4, IPv6, or Unix
+#: libpq/pqcomm.c:395
+#, c-format
+msgid "could not listen on %s socket: %m"
 msgstr ""
 
-#: storage/ipc/shmem.c:161
-msgid "ShmemAlloc: out of memory"
-msgstr "ShmemAlloc: ÎÅ È×ÁÔÁÅÔ ÐÁÍÑÔÉ"
+#: libpq/pqcomm.c:485
+#, c-format
+msgid "could not set group of \"%s\": %m"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÕÓÔÁÎÏ×ÉÔØ ÇÒÕÐÐÕ \"%s\": %m"
+
+#: libpq/pqcomm.c:496
+#, c-format
+msgid "could not set permissions of \"%s\": %m"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÕÓÔÁÎÏ×ÉÔØ ÐÒÁ×Á ÄÏÓÔÕÐÁ ÄÌÑ \"%s\": %m"
 
-#: storage/ipc/shmem.c:207
-msgid "InitShmemIndex: couldn't initialize Shmem Index"
+#: libpq/pqcomm.c:526
+#, c-format
+msgid "could not accept new connection: %m"
 msgstr ""
 
-#: storage/ipc/shmem.c:218
-msgid "InitShmemIndex: Shmem Index out of memory"
+#: libpq/pqcomm.c:678
+#, c-format
+msgid "could not receive data from client: %m"
 msgstr ""
 
-#: storage/ipc/shmem.c:336
-msgid "ShmemInitStruct: Shmem Index out of memory"
+#: libpq/pqcomm.c:841
+msgid "unexpected EOF within message length word"
 msgstr ""
 
-#: storage/ipc/shmem.c:351
-msgid "ShmemInitStruct: ShmemIndex entry size is wrong"
+#: libpq/pqcomm.c:853
+msgid "invalid message length"
 msgstr ""
 
-#: storage/ipc/shmem.c:368
-#, c-format
-msgid "ShmemInitStruct: cannot allocate '%s'"
+#: libpq/pqcomm.c:867
+msgid "incomplete message from client"
 msgstr ""
 
-#: storage/ipc/shmqueue.c:234 storage/ipc/shmqueue.c:254
+#: libpq/pqcomm.c:946
 #, c-format
-msgid "%s: %s"
-msgstr "%s: %s"
-
-#: storage/ipc/sinval.c:50
-msgid "Backend cache invalidation initialization failed"
+msgid "could not send data to client: %m"
 msgstr ""
 
-#: storage/ipc/sinval.c:68
-msgid "SendSharedInvalidMessage: SI buffer overflow"
+#: libpq/pqformat.c:443
+msgid "no data left in message"
 msgstr ""
 
-#: storage/ipc/sinval.c:111
-msgid "ReceiveSharedInvalidMessages: cache state reset"
+#: libpq/pqformat.c:591
+#: libpq/pqformat.c:609
+#: libpq/pqformat.c:630
+#: utils/adt/arrayfuncs.c:1023
+msgid "insufficient data left in message"
 msgstr ""
 
-#: storage/ipc/sinval.c:319 storage/ipc/sinval.c:329
-msgid "Memory exhausted in GetSnapshotData"
+#: libpq/pqformat.c:671
+msgid "invalid string in message"
 msgstr ""
 
-#: storage/ipc/sinvaladt.c:124
-#, c-format
-msgid "SIBackendInit: backend id %d"
+#: libpq/pqformat.c:687
+msgid "invalid message format"
 msgstr ""
 
-#: storage/ipc/sinvaladt.c:229
+#: main/main.c:84
 #, c-format
-msgid "SIInsertDataEntry: table is 70%% full, signaling postmaster"
+msgid "%s: setsysinfo failed: %s\n"
 msgstr ""
 
-#: storage/large_object/inv_api.c:48
-msgid "getbytealen: VARSIZE(data) < VARHDRSZ. This is internal error."
+#: main/main.c:176
+msgid ""
+"\"root\" execution of the PostgreSQL server is not permitted.\n"
+"The server must be started under an unprivileged user id to prevent\n"
+"possible system security compromise.  See the documentation for\n"
+"more information on how to properly start the server.\n"
 msgstr ""
 
-#: storage/large_object/inv_api.c:74
+#: main/main.c:197
 #, c-format
-msgid "inv_create: large object %u already exists. This is internal error."
+msgid "%s: real and effective user ids must match\n"
 msgstr ""
 
-#: storage/large_object/inv_api.c:107
+#: main/main.c:242
 #, c-format
-msgid "inv_create: invalid flags: %d"
+msgid "%s: invalid effective uid: %d\n"
 msgstr ""
 
-#: storage/large_object/inv_api.c:126
+#: main/main.c:255
 #, c-format
-msgid "inv_open: large object %u not found"
+msgid "%s: GetUserName failed\n"
 msgstr ""
 
-#: storage/large_object/inv_api.c:144
-#, c-format
-msgid "inv_open: invalid flags: %d"
+#: optimizer/path/allpaths.c:214
+msgid "SELECT FOR UPDATE is not supported for inherit queries"
 msgstr ""
 
-#: storage/large_object/inv_api.c:244
-#, c-format
-msgid "inv_getsize: large object %u not found"
+#: optimizer/plan/initsplan.c:101
+msgid "SELECT FOR UPDATE cannot be applied to a join"
 msgstr ""
 
-#: storage/large_object/inv_api.c:257 storage/large_object/inv_api.c:262
-#: storage/large_object/inv_api.c:270
+#: optimizer/plan/initsplan.c:290
+#: optimizer/prep/prepjointree.c:340
+msgid "UNION JOIN is not implemented yet"
+msgstr ""
+
+#: optimizer/plan/initsplan.c:347
+msgid "SELECT FOR UPDATE cannot be applied to the nullable side of an OUTER JOIN"
+msgstr ""
+
+#: optimizer/plan/initsplan.c:763
 #, c-format
-msgid "inv_seek: invalid offset: %d"
+msgid "could not identify an equality operator for types %s and %s"
 msgstr ""
 
-#: storage/large_object/inv_api.c:275
+#: optimizer/plan/initsplan.c:776
 #, c-format
-msgid "inv_seek: invalid whence: %d"
+msgid "equality operator for types %s and %s should be mergejoinable, but isn't"
 msgstr ""
 
-#: storage/lmgr/deadlock.c:275
-msgid "DeadLockCheckRecurse: inconsistent results"
+#: optimizer/plan/planner.c:591
+#: parser/analyze.c:2088
+#: parser/analyze.c:2252
+#: parser/analyze.c:2807
+msgid "SELECT FOR UPDATE is not allowed with UNION/INTERSECT/EXCEPT"
 msgstr ""
 
-#: storage/lmgr/lmgr.c:85
-msgid "InitLockTable: couldn't initialize lock table"
+#: optimizer/plan/planner.c:657
+msgid "SELECT FOR UPDATE is not allowed in subselects"
 msgstr ""
 
-#: storage/lmgr/lmgr.c:94
-msgid "InitLockTable: couldn't rename long-term lock table"
+#: optimizer/util/clauses.c:2037
+#, c-format
+msgid "SQL function \"%s\" during inlining"
 msgstr ""
 
-#: storage/lmgr/lmgr.c:135
-msgid "LockRelation: LockAcquire failed"
+#: parser/parse_clause.c:336
+#, c-format
+msgid "JOIN/ON clause refers to \"%s\", which is not part of JOIN"
 msgstr ""
 
-#: storage/lmgr/lmgr.c:224
-msgid "LockRelationForSession: LockAcquire failed"
+#: parser/parse_clause.c:396
+msgid "sub-select in FROM must have an alias"
 msgstr ""
 
-#: storage/lmgr/lmgr.c:262
-msgid "LockPage: LockAcquire failed"
+#: parser/parse_clause.c:419
+msgid "sub-select in FROM may not have SELECT INTO"
 msgstr ""
 
-#: storage/lmgr/lmgr.c:303
-msgid "XactLockTableInsert: LockAcquire failed"
+#: parser/parse_clause.c:441
+msgid "sub-select in FROM may not refer to other relations of same query level"
 msgstr ""
 
-#: storage/lmgr/lmgr.c:326
-msgid "XactLockTableWait: LockAcquire failed"
+#: parser/parse_clause.c:496
+msgid "function expression in FROM may not refer to other relations of same query level"
 msgstr ""
 
-#: storage/lmgr/lock.c:110
-#, c-format
-msgid ""
-"%s: lock(%lx) tbl(%d) rel(%u) db(%u) obj(%u) grantMask(%x) req(%d,%d,%d,%d,%"
-"d,%d,%d)=%d grant(%d,%d,%d,%d,%d,%d,%d)=%d wait(%d) type(%s)"
+#: parser/parse_clause.c:508
+msgid "cannot use aggregate function in function expression in FROM"
 msgstr ""
-"%s: lock(%lx) tbl(%d) rel(%u) db(%u) obj(%u) grantMask(%x) req(%d,%d,%d,%d,%"
-"d,%d,%d)=%d grant(%d,%d,%d,%d,%d,%d,%d)=%d wait(%d) type(%s)"
 
-#: storage/lmgr/lock.c:136
+#: parser/parse_clause.c:728
 #, c-format
-msgid ""
-"%s: holder(%lx) lock(%lx) tbl(%d) proc(%lx) xid(%u) hold(%d,%d,%d,%d,%d,%d,%"
-"d)=%d"
+msgid "USING column name \"%s\" appears more than once"
 msgstr ""
-"%s: holder(%lx) lock(%lx) tbl(%d) proc(%lx) xid(%u) hold(%d,%d,%d,%d,%d,%d,%"
-"d)=%d"
 
-#: storage/lmgr/lock.c:245
+#: parser/parse_clause.c:743
 #, c-format
-msgid "LockMethodTableInit: too many lock types %d greater than %d"
+msgid "common column name \"%s\" appears more than once in left table"
 msgstr ""
 
-#: storage/lmgr/lock.c:264 storage/lmgr/lock.c:310 storage/lmgr/lock.c:330
+#: parser/parse_clause.c:752
 #, c-format
-msgid "LockMethodTableInit: couldn't initialize %s"
+msgid "JOIN/USING column \"%s\" not found in left table"
 msgstr ""
 
-#: storage/lmgr/lock.c:451
+#: parser/parse_clause.c:766
 #, c-format
-msgid "LockAcquire: user lock [%u] %s"
+msgid "common column name \"%s\" appears more than once in right table"
 msgstr ""
 
-#: storage/lmgr/lock.c:462
+#: parser/parse_clause.c:775
 #, c-format
-msgid "LockAcquire: bad lock table %d"
+msgid "JOIN/USING column \"%s\" not found in right table"
 msgstr ""
 
-#: storage/lmgr/lock.c:480
+#: parser/parse_clause.c:827
 #, c-format
-msgid "LockAcquire: lock table %d is out of memory"
+msgid "column alias list for \"%s\" has too many entries"
 msgstr ""
 
-#: storage/lmgr/lock.c:527
-msgid "LockAcquire: holder table out of memory"
+#. translator: %s is name of a SQL construct, eg LIMIT
+#: parser/parse_clause.c:1020
+#, c-format
+msgid "argument of %s must not contain variables"
 msgstr ""
 
-#: storage/lmgr/lock.c:572
+#. translator: %s is name of a SQL construct, eg LIMIT
+#: parser/parse_clause.c:1028
 #, c-format
-msgid "Deadlock risk: raising lock level from %s to %s on object %u/%u/%u"
+msgid "argument of %s must not contain aggregates"
 msgstr ""
 
-#: storage/lmgr/lock.c:652
-msgid "LockAcquire: remove holder, table corrupted"
+#. translator: %s is name of a SQL construct, eg LIMIT
+#: parser/parse_clause.c:1036
+#, c-format
+msgid "argument of %s must not contain sub-selects"
 msgstr ""
 
-#: storage/lmgr/lock.c:908
-msgid "deadlock detected"
+#: parser/parse_clause.c:1142
+#, c-format
+msgid "%s \"%s\" is ambiguous"
 msgstr ""
 
-#: storage/lmgr/lock.c:989
+#. translator: %s is name of a SQL construct, eg ORDER BY
+#: parser/parse_clause.c:1164
 #, c-format
-msgid "LockRelease: user lock tag [%u] %d"
+msgid "non-integer constant in %s"
 msgstr ""
 
-#: storage/lmgr/lock.c:999
-msgid "lockMethodTable is null in LockRelease"
+#. translator: %s is name of a SQL construct, eg ORDER BY
+#: parser/parse_clause.c:1181
+#, c-format
+msgid "%s position %d is not in target list"
 msgstr ""
 
-#: storage/lmgr/lock.c:1021
-msgid "LockRelease: no such lock"
-msgstr ""
+#: parser/parse_clause.c:1366
+msgid "for SELECT DISTINCT, ORDER BY expressions must appear in target list"
+msgstr "ÄÌÑ SELECT DISTINCT, ×ÙÒÁÖÅÎÉÑ ORDER BY ÏÂÑÚÁÎÙ ÂÙÔØ × ÓÐÉÓËÅ ÎÁÚÎÁÚÞÅÎÉÑ"
 
-#: storage/lmgr/lock.c:1044
-msgid "LockRelease: no lock with this tag"
-msgstr ""
+#: parser/parse_clause.c:1406
+msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions"
+msgstr "÷ÙÒÁÖÅÎÉÑ SELECT DISTINCT ON ÄÏÌÖÎÙ ÓÏ×ÐÁÄÁÔØ Ó ÉÚÎÁÞÁÌØÎÙÍÉ ×ÙÐÒÁÖÅÎÉÑÍÉ ORDER BY"
 
-#: storage/lmgr/lock.c:1047
-msgid "LockRelease: holder table corrupted"
-msgstr ""
+#: parser/analyze.c:364
+msgid "CREATE VIEW specifies more column names than columns"
+msgstr "CREATE VIEW ÕËÁÚÙ×ÁÅÔ ÂÏÌØÛÅ ÉͣΠËÏÌÏÎÏË ÞÅÍ ÉÍÅÅÔÓÑ"
 
-#: storage/lmgr/lock.c:1061
-#, c-format
-msgid "LockRelease: you don't own a lock of type %s"
-msgstr ""
+#: parser/analyze.c:574
+msgid "INSERT ... SELECT may not specify INTO"
+msgstr "INSERT ... SELECT ÎÅ ÍÏÇÕÔ ÕËÁÚÙ×ÁÔØ INTO"
 
-#: storage/lmgr/lock.c:1115
-msgid "LockRelease: remove lock, table corrupted"
+#: parser/analyze.c:666
+msgid "INSERT has more expressions than target columns"
 msgstr ""
 
-#: storage/lmgr/lock.c:1144
-msgid "LockRelease: remove holder, table corrupted"
+#: parser/analyze.c:687
+msgid "INSERT has more target columns than expressions"
 msgstr ""
 
-#: storage/lmgr/lock.c:1185
+#: parser/analyze.c:973
 #, c-format
-msgid "LockReleaseAll: lockmethod=%d, pid=%d"
+msgid "%s will create implicit sequence \"%s\" for SERIAL column \"%s.%s\""
 msgstr ""
 
-#: storage/lmgr/lock.c:1193
+#: parser/analyze.c:1057
+#: parser/analyze.c:1067
 #, c-format
-msgid "LockReleaseAll: bad lockmethod %d"
-msgstr ""
-
-#: storage/lmgr/lock.c:1297
-msgid "LockReleaseAll: holder table corrupted"
-msgstr ""
-
-#: storage/lmgr/lock.c:1315
-msgid "LockReleaseAll: cannot remove lock from HTAB"
+msgid "conflicting NULL/NOT NULL declarations for \"%s.%s\""
 msgstr ""
 
-#: storage/lmgr/lock.c:1330
-msgid "LockReleaseAll: done"
+#: parser/analyze.c:1077
+#, c-format
+msgid "multiple DEFAULT values specified for \"%s.%s\""
 msgstr ""
 
-#: storage/lmgr/lock.c:1517
-msgid "DumpAllLocks: holder->tag.lock = NULL"
+#: parser/analyze.c:1322
+#, c-format
+msgid "multiple primary keys for table \"%s\" are not allowed"
 msgstr ""
 
-#: storage/lmgr/lwlock.c:71
+#: parser/analyze.c:1393
 #, c-format
-msgid "%s(%d): excl %d shared %d head %p rOK %d"
+msgid "inherited table \"%s\" is not a relation"
 msgstr ""
 
-#: storage/lmgr/lwlock.c:81
+#. translator: second %s is PRIMARY KEY or UNIQUE
+#: parser/analyze.c:1453
 #, c-format
-msgid "%s(%d): %s"
-msgstr "%s(%d): %s"
-
-#: storage/lmgr/lwlock.c:184
-msgid "No more LWLockIds available"
+msgid "column \"%s\" appears twice in %s constraint"
 msgstr ""
 
-#: storage/lmgr/lwlock.c:281
-msgid "LWLockAcquire: can't wait without a PGPROC structure"
-msgstr ""
+#: parser/analyze.c:1547
+#, c-format
+msgid "%s / %s%s will create implicit index \"%s\" for table \"%s\""
+msgstr "%s / %s%s ÓÏÚÄÁÓÔ ÐÏÄÒÁÚÕÍÅ×ÁÅÍÙÊ ÉÎÄÅËÓ \"%s\" ÄÌÑ ÔÁÂÌÉÃÙ \"%s\""
 
-#: storage/lmgr/lwlock.c:427
+#: parser/analyze.c:1563
 #, c-format
-msgid "LWLockRelease: lock %d is not held"
-msgstr ""
+msgid "%s will create implicit trigger(s) for FOREIGN KEY check(s)"
+msgstr "%s ÓÏÚÄÁÓÔ ÎÅÑ×ÎÙÊ(Å) ÔÒÉÇÇÅÒ(Á) ÄÌÑ ÐÒÏ×ÅÒËÉ ÎÁ FOREIGN KEY"
 
-#: storage/lmgr/proc.c:151 storage/lmgr/proc.c:165
-msgid "cannot create new proc: out of memory"
+#: parser/analyze.c:1656
+msgid "index expression may not return a set"
 msgstr ""
 
-#: storage/lmgr/proc.c:192
-msgid "InitProcess: Proc Header uninitialized"
+#: parser/analyze.c:1748
+msgid "rule WHERE condition may not contain references to other relations"
 msgstr ""
 
-#: storage/lmgr/proc.c:195
-msgid "InitProcess: you already exist"
+#: parser/analyze.c:1754
+msgid "rule WHERE condition may not contain aggregate functions"
 msgstr ""
 
-#: storage/lmgr/proc.c:273
-msgid "InitDummyProcess: Proc Header uninitialized"
+#: parser/analyze.c:1825
+msgid "rules with WHERE conditions may only have SELECT, INSERT, UPDATE, or DELETE actions"
 msgstr ""
 
-#: storage/lmgr/proc.c:276
-msgid "InitDummyProcess: you already exist"
+#: parser/analyze.c:1844
+#: parser/analyze.c:1916
+#: rewrite/rewriteHandler.c:176
+#: rewrite/rewriteManip.c:746
+#: rewrite/rewriteManip.c:800
+msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented"
 msgstr ""
 
-#: storage/lmgr/proc.c:282
-#, c-format
-msgid "InitDummyProcess: DummyProc is in use by PID %d"
-msgstr ""
+#: parser/analyze.c:1862
+msgid "ON SELECT rule may not use OLD"
+msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ OLD × ÐÒÁ×ÉÌÅ ON SELECT"
 
-#: storage/lmgr/proc.c:657
-msgid "ProcSleep: Unable to set timer for process wakeup"
-msgstr ""
+#: parser/analyze.c:1866
+msgid "ON SELECT rule may not use NEW"
+msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ NEW × ÐÒÁ×ÉÌÅ ON SELECT"
 
-#: storage/lmgr/proc.c:679
-msgid "ProcSleep: Unable to disable timer for process wakeup"
-msgstr ""
+#: parser/analyze.c:1875
+msgid "ON INSERT rule may not use OLD"
+msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ OLD × ÐÒÁ×ÉÌÅ ON INSERT"
 
-#: storage/lmgr/spin.c:84
-msgid "spin.c does not support S_LOCK_FREE()"
-msgstr ""
+#: parser/analyze.c:1881
+msgid "ON DELETE rule may not use NEW"
+msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ NEW × ÐÒÁ×ÉÌÅ ON DELETE"
 
-#: storage/page/bufpage.c:92
-#, c-format
-msgid ""
-"PageAddItem: corrupted page pointers: lower = %u, upper = %u, special = %u"
+#: parser/analyze.c:2209
+msgid "ORDER BY on a UNION/INTERSECT/EXCEPT result must be on one of the result columns"
 msgstr ""
 
-#: storage/page/bufpage.c:112
-msgid "PageAddItem: tried overwrite of used ItemId"
+#: parser/analyze.c:2247
+msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT"
 msgstr ""
 
-#: storage/page/bufpage.c:139
-msgid "PageAddItem: specified offset after maxoff"
+#: parser/analyze.c:2308
+msgid "UNION/INTERSECT/EXCEPT member statement may not refer to other relations of same query level"
 msgstr ""
 
-#: storage/page/bufpage.c:288
+#: parser/analyze.c:2361
 #, c-format
-msgid ""
-"PageRepairFragmentation: corrupted page pointers: lower = %u, upper = %u, "
-"special = %u"
+msgid "each %s query must have the same number of columns"
 msgstr ""
 
-#: storage/page/bufpage.c:330
-#, c-format
-msgid "PageRepairFragmentation: corrupted item pointer %u"
-msgstr ""
+#: parser/analyze.c:2431
+msgid "CREATE TABLE AS specifies too many column names"
+msgstr "CREATE TABLE AS ÕËÁÚÙ×ÁÅÔ ÓÌÉÛËÏÍ ÍÎÏÇÏ ÉͣΠÄÌÑ ËÏÌÏÎËÉ"
 
-#: storage/page/bufpage.c:343
-#, c-format
-msgid "PageRepairFragmentation: corrupted item lengths, total %u, avail %u"
+#: parser/analyze.c:2664
+msgid "cannot specify both SCROLL and NO SCROLL"
 msgstr ""
 
-#: storage/page/bufpage.c:422
+#: parser/analyze.c:2750
 #, c-format
-msgid ""
-"PageIndexTupleDelete: corrupted page pointers: lower = %u, upper = %u, "
-"special = %u"
+msgid "wrong number of parameters for prepared statement \"%s\""
 msgstr ""
 
-#: storage/page/bufpage.c:427
+#: parser/analyze.c:2752
 #, c-format
-msgid "PageIndexTupleDelete: bad offnum %u"
+msgid "Expected %d parameters but got %d."
 msgstr ""
 
-#: storage/page/bufpage.c:438
-#, c-format
-msgid "PageIndexTupleDelete: corrupted item pointer: offset = %u size = %u"
+#: parser/analyze.c:2767
+msgid "cannot use sub-select in EXECUTE parameter"
 msgstr ""
 
-#: storage/smgr/smgrtype.c:51
-#, c-format
-msgid "smgrin: unknown storage manager name '%s'"
+#: parser/analyze.c:2771
+msgid "cannot use aggregate in EXECUTE parameter"
 msgstr ""
 
-#: storage/smgr/smgrtype.c:62
+#: parser/analyze.c:2784
 #, c-format
-msgid "Illegal storage manager id %d"
+msgid "parameter $%d of type %s cannot be coerced to the expected type %s"
 msgstr ""
 
-#: storage/smgr/md.c:252 storage/smgr/md.c:424 storage/smgr/md.c:471
-#: storage/smgr/md.c:510
-msgid "seekpos too big!"
+#: parser/analyze.c:2811
+msgid "SELECT FOR UPDATE is not allowed with DISTINCT clause"
 msgstr ""
 
-#: storage/smgr/md.c:287
-msgid "segment too big!"
+#: parser/analyze.c:2815
+msgid "SELECT FOR UPDATE is not allowed with GROUP BY clause"
 msgstr ""
 
-#: storage/smgr/md.c:341
-msgid "segment too big on relopen!"
+#: parser/analyze.c:2819
+msgid "SELECT FOR UPDATE is not allowed with AGGREGATE"
 msgstr ""
 
-#: storage/smgr/md.c:519
+#: parser/analyze.c:2886
 #, c-format
-msgid "mdblindwrt: lseek(%ld) failed: %m"
+msgid "relation \"%s\" in FOR UPDATE clause not found in FROM clause"
 msgstr ""
 
-#: storage/smgr/md.c:533
-#, c-format
-msgid "mdblindwrt: write() failed: %m"
+#: parser/analyze.c:2978
+msgid "misplaced DEFERRABLE clause"
 msgstr ""
 
-#: storage/smgr/md.c:539
-#, c-format
-msgid "mdblindwrt: close() failed: %m"
+#: parser/analyze.c:2982
+#: parser/analyze.c:2995
+msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed"
 msgstr ""
 
-#: storage/smgr/md.c:576
-msgid "segment too big in mdnblocks!"
+#: parser/analyze.c:2991
+msgid "misplaced NOT DEFERRABLE clause"
 msgstr ""
 
-#: storage/smgr/md.c:596
-#, c-format
-msgid "cannot count blocks for %s -- open failed: %m"
+#: parser/analyze.c:3002
+#: parser/analyze.c:3026
+msgid "INITIALLY DEFERRED constraint must be DEFERRABLE"
 msgstr ""
 
-#: storage/smgr/md.c:761
-msgid "_fdvec_alloc error"
+#: parser/analyze.c:3009
+msgid "misplaced INITIALLY DEFERRED clause"
 msgstr ""
 
-#: storage/smgr/md.c:843
-msgid "segment too big on openseg!"
+#: parser/analyze.c:3013
+#: parser/analyze.c:3037
+msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed"
 msgstr ""
 
-#: storage/smgr/md.c:862
-#, c-format
-msgid "_mdfd_getrelnfd: cannot open relation %s: %m"
+#: parser/analyze.c:3033
+msgid "misplaced INITIALLY IMMEDIATE clause"
 msgstr ""
 
-#: storage/smgr/md.c:905
+#: parser/analyze.c:3146
+#: parser/analyze.c:3167
 #, c-format
-msgid "cannot open segment %u of relation %s (target block %u): %m"
+msgid "CREATE specifies a schema (%s) different from the one being created (%s)"
 msgstr ""
 
-#: storage/smgr/md.c:958
+#: parser/analyze.c:3221
+#: parser/parse_coerce.c:237
+#: parser/parse_expr.c:136
+#: parser/parse_expr.c:142
 #, c-format
-msgid "_mdfd_blind_getseg: couldn't open %s: %m"
-msgstr ""
-
-#: storage/smgr/mm.c:189
-msgid "main memory storage mgr hash table out of memory"
+msgid "there is no parameter $%d"
 msgstr ""
 
-#: storage/smgr/mm.c:232
-msgid "mmunlink: cache hash table corrupted"
+#: parser/analyze.c:3226
+#: tcop/postgres.c:1144
+#, c-format
+msgid "could not determine datatype of parameter $%d"
 msgstr ""
 
-#: storage/smgr/mm.c:249
-msgid "mmunlink: rel cache hash table corrupted"
+#: parser/parse_agg.c:120
+msgid "aggregates not allowed in WHERE clause"
 msgstr ""
 
-#: storage/smgr/mm.c:312
-msgid "mmextend: rel cache hash table corrupt"
+#: parser/parse_agg.c:124
+msgid "aggregates not allowed in JOIN conditions"
 msgstr ""
 
-#: storage/smgr/mm.c:323
-msgid "mmextend: cache hash table corrupt"
+#: parser/parse_agg.c:145
+msgid "aggregates not allowed in GROUP BY clause"
 msgstr ""
 
-#: storage/smgr/mm.c:434
-msgid "mmwrite: hash table missing requested page"
+#: parser/parse_agg.c:305
+#, c-format
+msgid "attribute \"%s.%s\" must be GROUPed or used in an aggregate function"
 msgstr ""
 
-#: storage/smgr/smgr.c:132
+#: parser/parse_agg.c:310
 #, c-format
-msgid "initialization failed on %s: %m"
+msgid "sub-select uses un-GROUPed attribute \"%s.%s\" from outer query"
 msgstr ""
 
-#: storage/smgr/smgr.c:154
+#: parser/parse_coerce.c:253
 #, c-format
-msgid "shutdown failed on %s: %m"
+msgid "inconsistent types deduced for parameter $%d"
 msgstr ""
 
-#: storage/smgr/smgr.c:174
+#. translator: first %s is name of a SQL construct, eg WHERE
+#: parser/parse_coerce.c:579
 #, c-format
-msgid "cannot create %s: %m"
-msgstr ""
+msgid "argument of %s must be type boolean, not type %s"
+msgstr "ÔÉРÁÒÇÕÍÅÎÔÁ ËÏÎÓÔÒÕËÃÉÉ %s ÄÏÌÖÅΠÂÙÔØ boolean, Á ÎÅ %s"
 
-#: storage/smgr/smgr.c:246
+#. translator: %s is name of a SQL construct, eg WHERE
+#: parser/parse_coerce.c:587
+#: parser/parse_coerce.c:626
 #, c-format
-msgid ""
-"cannot extend %s: %m.\n"
-"\tCheck free disk space."
+msgid "argument of %s must not return a set"
 msgstr ""
 
-#: storage/smgr/smgr.c:270 utils/init/miscinit.c:1014
-#: utils/misc/database.c:147
+#. translator: first %s is name of a SQL construct, eg LIMIT
+#: parser/parse_coerce.c:618
 #, c-format
-msgid "cannot open %s: %m"
-msgstr ""
+msgid "argument of %s must be type integer, not type %s"
+msgstr "ÔÉРÁÒÇÕÍÅÎÔÁ ËÏÎÓÔÒÕËÃÉÉ %s ÄÏÌÖÅΠÂÙÔØ integer, Á ÎÅ %s"
 
-#: storage/smgr/smgr.c:284
+#: parser/parse_coerce.c:679
 #, c-format
-msgid "cannot close %s: %m"
-msgstr ""
+msgid "%s types %s and %s cannot be matched"
+msgstr "%s ÔÉÐÙ %s É %s ÎÅ ÓÏ×ÐÁÄÁÀÔ"
 
-#: storage/smgr/smgr.c:307
+#. translator: first %s is name of a SQL construct, eg CASE
+#: parser/parse_coerce.c:741
 #, c-format
-msgid "cannot read block %d of %s: %m"
+msgid "%s could not convert type %s to %s"
+msgstr "%s ÎÅ × ÓÏÓÔÏÑÎÉÉ ÓËÏÎ×ÅÒÔÉÒÏ×ÁÔØ ÔÉР%s × %s"
+
+#: parser/parse_coerce.c:900
+msgid "arguments declared ANYELEMENT are not all alike"
 msgstr ""
 
-#: storage/smgr/smgr.c:331
-#, c-format
-msgid "cannot write block %d of %s: %m"
+#: parser/parse_coerce.c:917
+msgid "arguments declared ANYARRAY are not all alike"
 msgstr ""
 
-#: storage/smgr/smgr.c:360
+#: parser/parse_coerce.c:939
+#: parser/parse_coerce.c:1050
+#: parser/parse_coerce.c:1077
 #, c-format
-msgid "cannot write block %d of %u/%u blind: %m"
+msgid "argument declared ANYARRAY is not an array but %s"
 msgstr ""
 
-#: storage/smgr/smgr.c:387
-#, c-format
-msgid "cannot count blocks for %s: %m"
+#: parser/parse_coerce.c:955
+msgid "argument declared ANYARRAY is not consistent with argument declared ANYELEMENT"
 msgstr ""
 
-#: storage/smgr/smgr.c:417
-#, c-format
-msgid "cannot truncate %s to %u blocks: %m"
+#: parser/parse_coerce.c:966
+msgid "could not determine ANYARRAY/ANYELEMENT type because input is UNKNOWN"
 msgstr ""
 
-#: storage/smgr/smgr.c:459
+#: parser/parse_coerce.c:991
+#: parser/parse_coerce.c:1008
+#: parser/parse_coerce.c:1062
+#: parser/parse_expr.c:795
+#: parser/parse_expr.c:1227
+#: parser/parse_expr.c:1266
 #, c-format
-msgid "cannot unlink %u/%u: %m"
+msgid "could not find array type for datatype %s"
 msgstr ""
 
-#: storage/smgr/smgr.c:484
+#: parser/parse_relation.c:174
+#: parser/parse_relation.c:189
 #, c-format
-msgid "transaction commit failed on %s: %m"
+msgid "table reference \"%s\" is ambiguous"
 msgstr ""
 
-#: storage/smgr/smgr.c:506
+#: parser/parse_relation.c:249
+#: parser/parse_relation.c:264
 #, c-format
-msgid "transaction abort failed on %s: %m"
+msgid "table reference %u is ambiguous"
 msgstr ""
 
-#: storage/smgr/smgr.c:528
+#: parser/parse_relation.c:356
+#: parser/parse_relation.c:368
 #, c-format
-msgid "storage sync failed on %s: %m"
-msgstr ""
+msgid "table name \"%s\" specified more than once"
+msgstr "ÉÍÑ ÔÁÂÌÉÃÙ \"%s\" ÕËÁÚÁÎÏ ÂÏÌØÛÅ ÏÄÎÏÇÏ ÒÁÚÁ"
 
-#: storage/smgr/smgr.c:542
+#: parser/parse_relation.c:477
+#: parser/parse_relation.c:573
 #, c-format
-msgid "illegal storage manager number %d"
+msgid "column reference \"%s\" is ambiguous"
 msgstr ""
 
-#: tcop/fastpath.c:174
+#: parser/parse_relation.c:668
+#: parser/parse_relation.c:763
+#: parser/parse_relation.c:858
+#: parser/parse_relation.c:978
 #, c-format
-msgid "fetch_fp_info: cache lookup for function %u failed"
+msgid "table \"%s\" has %d columns available but %d columns specified"
 msgstr ""
 
-#: tcop/fastpath.c:185 tcop/fastpath.c:190
-msgid "CSTRING not supported in fastpath protocol"
+#: parser/parse_relation.c:935
+msgid "a column definition list is only allowed for functions returning RECORD"
 msgstr ""
 
-#: tcop/fastpath.c:278
-#, c-format
-msgid ""
-"HandleFunctionRequest: actual arguments (%d) != registered arguments (%d)"
+#: parser/parse_relation.c:946
+msgid "a column definition list is required for functions returning RECORD"
 msgstr ""
 
-#: tcop/fastpath.c:297 tcop/fastpath.c:309
+#: parser/parse_relation.c:1007
 #, c-format
-msgid "HandleFunctionRequest: bogus argsize %d"
+msgid "too many column aliases specified for function %s"
 msgstr ""
 
-#: tcop/fastpath.c:322
+#: parser/parse_relation.c:1030
 #, c-format
-msgid "HandleFunctionRequest: bogus argsize %d, should be %d"
+msgid "function \"%s\" in FROM has unsupported return type"
 msgstr ""
 
-#: tcop/fastpath.c:340 tcop/postgres.c:674
-msgid ""
-"current transaction is aborted, queries ignored until end of transaction "
-"block"
+#: parser/parse_relation.c:1422
+#: parser/parse_relation.c:1666
+msgid "function in FROM has unsupported return type"
 msgstr ""
 
-#: tcop/postgres.c:284
+#: parser/parse_relation.c:1910
 #, c-format
-msgid "Socket command type %c unknown"
-msgstr ""
+msgid "missing FROM-clause entry in subquery for table \"%s\""
+msgstr "ÏÔÓÕÔÓ×ÕÅÔ ÚÁÐÉÓØ Ï FROM-×ÙÒÁÖÅÎÉÉ × ÐÏÄÚÁÐÒÏÓÅ ÄÌÑ ÔÁÂÌÉÃÙ \"%s\""
 
-#: tcop/postgres.c:372
+#: parser/parse_relation.c:1915
 #, c-format
-msgid "query: %s"
-msgstr "ÚÁÐÒÏÓ: %s"
+msgid "missing FROM-clause entry for table \"%s\""
+msgstr "ÏÔÓÕÔÓ×ÕÅÔ ÚÁÐÉÓØ Ï FROM-×ÙÒÁÖÅÎÉÉ ÄÌÑ ÔÁÂÌÉÃÙ \"%s\""
+
+#: parser/parse_relation.c:1934
+#, c-format
+msgid "adding missing FROM-clause entry in subquery for table \"%s\""
+msgstr "ÄÏÂÁ×ÌÅÎÉÅ ÏÔÓÕÔÓ×ÕÀÝÅÊ ÚÁÐÉÓÉ Ï FROM-×ÙÒÁÖÅÎÉÉ × ÐÏÄÚÁÐÒÏÓÅ ÄÌÑ ÔÁÂÌÉÃÙ \"%s\""
+
+#: parser/parse_relation.c:1939
+#, c-format
+msgid "adding missing FROM-clause entry for table \"%s\""
+msgstr "ÄÏÂÁ×ÌÅÎÉÅ ÏÔÓÕÔÓ×ÕÀÝÅÊ ÚÁÐÉÓÉ Ï FROM-×ÙÒÁÖÅÎÉÉ ÄÌÑ ÔÁÂÌÉÃÙ \"%s\""
+
+#: parser/parse_expr.c:105
+msgid "expression too complex"
+msgstr "ÓÌÉÛËÏÍ ÓÌÏÖÎÏÅ ×ÙÒÁÖÅÎÉÅ"
 
-#: tcop/postgres.c:459
-msgid "pg_analyze_and_rewrite: copyObject failed on parse tree"
+#: parser/parse_expr.c:106
+#, c-format
+msgid "Nesting depth exceeds MAX_EXPR_DEPTH = %d."
+msgstr ""
+
+#: parser/parse_expr.c:351
+msgid "IS DISTINCT FROM requires = operator to yield boolean"
 msgstr ""
 
-#: tcop/postgres.c:503
-msgid "pg_plan_query: copyObject failed on plan tree"
+#: parser/parse_expr.c:374
+msgid "NULLIF requires = operator to yield boolean"
 msgstr ""
 
-#: tcop/postgres.c:751
-msgid "ProcessUtility"
-msgstr "ProcessUtility"
+#: parser/parse_expr.c:496
+msgid "sub-select must return a column"
+msgstr ""
 
-#: tcop/postgres.c:833
-msgid "ProcessQuery"
-msgstr "ProcessQuery"
+#: parser/parse_expr.c:502
+msgid "sub-select must return only one column"
+msgstr ""
 
-#: tcop/postgres.c:944
+#: parser/parse_expr.c:558
 #, c-format
-msgid "duration: %ld.%06ld sec"
+msgid "row comparison cannot use operator %s"
 msgstr ""
 
-#: tcop/postgres.c:958
-msgid "StartTransactionCommand"
-msgstr "StartTransactionCommand"
+#: parser/parse_expr.c:585
+msgid "sub-select has too many columns"
+msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ËÏÌÏÎÏË Á ÐÏÄÚÁÐÒÏÓÅ"
 
-#: tcop/postgres.c:976
-msgid "CommitTransactionCommand"
-msgstr "CommitTransactionCommand"
+#: parser/parse_expr.c:603
+#, c-format
+msgid "operator %s must return boolean, not type %s"
+msgstr "ÏÐÅÒÁÔÏÒ %s ÄÏÌÖÅΠ×ÏÚ×ÒÁÝÁÔØ ÔÉРboolean, Á ÎÅ %s"
 
-#: tcop/postgres.c:1003
-msgid ""
-"Message from PostgreSQL backend:\n"
-"\tThe Postmaster has informed me that some other backend\n"
-"\tdied abnormally and possibly corrupted shared memory.\n"
-"\tI have rolled back the current transaction and am\n"
-"\tgoing to terminate your database system connection and exit.\n"
-"\tPlease reconnect to the database system and repeat your query."
+#: parser/parse_expr.c:606
+#: parser/parse_expr.c:613
+msgid "The operator of a quantified predicate subquery must return boolean."
 msgstr ""
 
-#: tcop/postgres.c:1121
-msgid ""
-"floating point exception! The last floating point operation either exceeded "
-"legal ranges or was a divide by zero"
+#: parser/parse_expr.c:611
+#, c-format
+msgid "operator %s must not return a set"
 msgstr ""
 
-#: tcop/postgres.c:1154
-msgid "This connection has been terminated by the administrator."
+#: parser/parse_expr.c:623
+msgid "sub-select has too few columns"
 msgstr ""
 
-#: tcop/postgres.c:1161
-msgid "Query was canceled."
-msgstr ""
+#: parser/parse_expr.c:1033
+#, c-format
+msgid "attribute \"%s\" not found"
+msgstr "ÁÔÒÉÂÕÔ \"%s\" ÎÅ ÎÁÊÄÅÎ"
 
-#: tcop/postgres.c:1308
-msgid "Assert checking is not compiled in"
+#: parser/parse_expr.c:1322
+#, c-format
+msgid "relation reference \"%s\" cannot be used in an expression"
 msgstr ""
 
-#: tcop/postgres.c:1540
-msgid "only one -x flag is allowed"
+#: parser/parse_expr.c:1530
+#, c-format
+msgid "cannot cast type %s to %s"
+msgstr "ÎÅÌØÚÑ ËÏÎ×ÅÒÔÉÒÏ×ÁÔØ ÔÉР%s × %s"
+
+#: parser/parse_func.c:89
+#, c-format
+msgid "cannot pass more than %d arguments to a function"
+msgstr "ÞÉÓÌÏ ÁÒÇÕÍÅÎÔÏ× ÆÕÎËÃÉÉ ÎÅ ÍÏÖÅÔ ÂÙÔØ ÂÏÌÅÅ %d"
+
+#: parser/parse_func.c:224
+#, c-format
+msgid "cannot pass result of sub-select or join %s to a function"
 msgstr ""
 
-#: tcop/postgres.c:1558
-msgid "use -x {off,nor,nopull,nopm,pullall,wait}"
+#: parser/parse_func.c:265
+#, c-format
+msgid "%s(*) specified, but %s is not an aggregate function"
 msgstr ""
 
-#: tcop/postgres.c:1613
-msgid ""
-"Query statistics are disabled because parser, planner, or executor "
-"statistics are on."
+#: parser/parse_func.c:271
+#, c-format
+msgid "DISTINCT specified, but %s is not an aggregate function"
 msgstr ""
 
-#: tcop/postgres.c:1689 tcop/postgres.c:1701
+#: parser/parse_func.c:296
 #, c-format
-msgid ""
-"%s: invalid command line arguments\n"
-"Try -? for help."
+msgid "attribute notation .%s applied to type %s, which is not a complex type"
 msgstr ""
 
-#: tcop/postgres.c:1709
+#: parser/parse_func.c:301
 #, c-format
-msgid "%s: user name undefined and no database specified"
-msgstr ""
+msgid "attribute \"%s\" not found in datatype %s"
+msgstr "ÁÔÒÉÂÕÔ \"%s\" ÎÅ ÎÁÊÄÅΠנÔÉÐÅ %s"
 
-#: tcop/postgres.c:1760
-msgid "InitPostgres"
-msgstr "InitPostgres"
+#: parser/parse_func.c:311
+#, c-format
+msgid "function %s is not unique"
+msgstr "ÆÕÎËÃÉÑ %s ÎÅ ÕÎÉËÁÌØÎÁ"
 
-#: tcop/postgres.c:1845
-msgid "AbortCurrentTransaction"
-msgstr "AbortCurrentTransaction"
+#: parser/parse_func.c:314
+msgid "Could not choose a best candidate function. You may need to add explicit typecasts."
+msgstr ""
 
-#: tcop/postgres.c:2047
-msgid "unknown frontend message was received"
+#: parser/parse_func.c:322
+msgid "No function matches the given name and argument types. You may need to add explicit typecasts."
 msgstr ""
 
-#: tcop/postgres.c:2176
-#, c-format
-msgid ""
-"%s\n"
-"%s"
+#: parser/parse_func.c:371
+msgid "aggregates may not return sets"
 msgstr ""
-"%s\n"
-"%s"
 
-#: tcop/postgres.c:2542
+#: parser/parse_func.c:1353
 #, c-format
-msgid "CreateCommandTag: unknown parse node type %d"
-msgstr ""
+msgid "no such attribute %s.%s.%s"
+msgstr "%s.%s.%s: ÎÅÔ ÔÁËÏÇÏ ÁÔÒÉÂÕÔÁ"
 
-#: tcop/pquery.c:86
+#: parser/parse_func.c:1358
 #, c-format
-msgid "Closing pre-existing portal \"%s\""
-msgstr ""
+msgid "no such attribute %s.%s"
+msgstr "%s.%s: ÎÅÔ ÔÁËÏÇÏ ÁÔÒÉÂÕÔÁ"
 
-#: tcop/utility.c:96
+#: parser/parse_func.c:1428
 #, c-format
-msgid "\"%s\" is not %s %s. Use DROP %s to remove %s %s"
-msgstr ""
+msgid "aggregate %s(*) does not exist"
+msgstr "ÁÇÒÅÇÁÔ %s(*) ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: tcop/utility.c:100
+#: parser/parse_func.c:1433
 #, c-format
-msgid "\"%s\" is not %s %s"
-msgstr ""
+msgid "aggregate %s(%s) does not exist"
+msgstr "ÁÇÒÅÇÁÔ %s(%s) ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: tcop/utility.c:119 tcop/utility.c:124
+#: parser/parse_func.c:1454
 #, c-format
-msgid "%s \"%s\" does not exist"
-msgstr ""
+msgid "function %s(%s) is not an aggregate"
+msgstr "ÆÕÎËÃÉÑ %s(%s) ÎÅ Ñ×ÌÑÅÔÓÑ ÁÇÒÅÇÁÔÏÍ"
 
-#: tcop/utility.c:137
+#: parser/parse_node.c:124
 #, c-format
-msgid "%s \"%s\" is a system %s"
+msgid "cannot subscript type %s because it is not an array"
 msgstr ""
 
-#: tcop/utility.c:163
-#, c-format
-msgid "relation \"%s\" is a system catalog"
+#: parser/parse_node.c:183
+#: parser/parse_node.c:206
+msgid "array subscript must have type integer"
 msgstr ""
 
-#: tcop/utility.c:442 tcop/utility.c:446
+#: parser/parse_node.c:228
 #, c-format
-msgid "ProcessUtility: Invalid target for RENAME: %d"
+msgid "array assignment requires type %s but expression is of type %s"
 msgstr ""
 
-#: tcop/utility.c:550
-msgid "ALTER TABLE: permission denied"
-msgstr "ALTER TABLE: ÎÅÔ ÄÏÓÔÕÐÁ"
+#: parser/parse_oper.c:84
+#: parser/parse_oper.c:761
+#, c-format
+msgid "operator does not exist: %s"
+msgstr "ÏÐÅÒÁÔÏÒ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ: %s"
 
-#: tcop/utility.c:556
-msgid "T_AlterTableStmt: unknown subtype"
+#: parser/parse_oper.c:185
+#: utils/adt/arrayfuncs.c:2397
+#: utils/adt/ri_triggers.c:3436
+#, c-format
+msgid "could not identify an equality operator for type %s"
 msgstr ""
 
-#: tcop/utility.c:599
-msgid "T_AlterDomainStmt: unknown subtype"
+#: parser/parse_oper.c:249
+#: parser/parse_oper.c:314
+#, c-format
+msgid "could not identify an ordering operator for type %s"
 msgstr ""
 
-#: tcop/utility.c:908
-#, c-format
-msgid "ProcessUtility: command #%d unsupported"
+#: parser/parse_oper.c:251
+#: parser/parse_oper.c:316
+msgid "Use an explicit ordering operator or modify the query."
 msgstr ""
 
-#: utils/adt/arrayfuncs.c:176
+#: parser/parse_oper.c:560
 #, c-format
-msgid "array_in: more than %d dimensions"
+msgid "operator requires run-time type coercion: %s"
 msgstr ""
 
-#: utils/adt/arrayfuncs.c:179 utils/adt/arrayfuncs.c:188
-msgid "array_in: missing dimension value"
+#: parser/parse_oper.c:754
+#, c-format
+msgid "operator is not unique: %s"
 msgstr ""
 
-#: utils/adt/arrayfuncs.c:196
-msgid "array_in: missing ']' in array declaration"
+#: parser/parse_oper.c:756
+msgid "Could not choose a best candidate operator. You may need to add explicit typecasts."
 msgstr ""
 
-#: utils/adt/arrayfuncs.c:201
-msgid "array_in: upper_bound cannot be < lower_bound"
+#: parser/parse_oper.c:763
+msgid "No operator matches the given name and argument type(s). You may need to add explicit typecasts."
 msgstr ""
 
-#: utils/adt/arrayfuncs.c:210
-msgid "array_in: Need to specify dimension"
+#: parser/parse_oper.c:853
+msgid "op ANY/ALL (array) requires array on right side"
 msgstr ""
 
-#: utils/adt/arrayfuncs.c:219
-msgid "array_in: missing assignment operator"
+#: parser/parse_oper.c:882
+msgid "op ANY/ALL (array) requires operator to yield boolean"
 msgstr ""
 
-#: utils/adt/arrayfuncs.c:245
-msgid "array_in: missing left brace"
+#: parser/parse_oper.c:886
+msgid "op ANY/ALL (array) requires operator not to return a set"
 msgstr ""
 
-#: utils/adt/arrayfuncs.c:301 utils/adt/arrayfuncs.c:308
-#: utils/adt/arrayfuncs.c:420 utils/adt/arrayfuncs.c:430
+#: parser/parse_oper.c:896
 #, c-format
-msgid "malformed array constant: %s"
-msgstr ""
-
-#: utils/adt/arrayfuncs.c:317 utils/adt/arrayfuncs.c:328
-#: utils/adt/arrayfuncs.c:449 utils/adt/arrayfuncs.c:462
-#: utils/adt/arrayfuncs.c:498
-msgid "array_in: illformed array constant"
+msgid "could not find datatype for array of %s"
 msgstr ""
 
-#: utils/adt/arrayfuncs.c:1039
-msgid "Slices of fixed-length arrays not implemented"
+#: parser/parse_target.c:66
+#, c-format
+msgid "relation reference \"%s\" cannot be used as a targetlist entry"
 msgstr ""
 
-#: utils/adt/arrayfuncs.c:1175 utils/adt/arrayfuncs.c:1177
-#: utils/adt/arrayfuncs.c:1194 utils/adt/arrayfuncs.c:1214
-#: utils/adt/arrayfuncs.c:1224 utils/adt/arrayfuncs.c:1350
-#: utils/adt/arrayfuncs.c:1365 utils/adt/arrayfuncs.c:1374
-#: utils/adt/arrayfuncs.c:1381 utils/adt/arrayfuncs.c:1390
-msgid "Invalid array subscripts"
+#: parser/parse_target.c:68
+#, c-format
+msgid "Write \"%s\".* to denote all the columns of the relation."
 msgstr ""
 
-#: utils/adt/arrayfuncs.c:1339
-msgid "Updates on slices of fixed-length arrays not implemented"
-msgstr ""
+#: parser/parse_target.c:331
+#, c-format
+msgid "cannot assign to system attribute \"%s\""
+msgstr "ÎÅÌØÚÑ ÐÒÉÓ×ÏÉÔØ ÚÎÁÞÅÎÉÅ ÓÉÓÔÅÍÎÏÍÕ ÁÔÒÉÂÕÔÕ \"%s\""
 
-#: utils/adt/arrayfuncs.c:1400
-msgid "Source array too small"
+#: parser/parse_target.c:353
+msgid "cannot set an array element to DEFAULT"
 msgstr ""
 
-#: utils/adt/arrayfuncs.c:1531
+#: parser/parse_target.c:420
 #, c-format
-msgid "array_map: invalid nargs: %d"
-msgstr ""
-
-#: utils/adt/arrayfuncs.c:1533
-msgid "array_map: null input array"
+msgid "column \"%s\" is of type %s but expression is of type %s"
 msgstr ""
 
-#: utils/adt/arrayfuncs.c:1577
-msgid "array_map: cannot handle NULL in array"
+#: parser/parse_target.c:555
+msgid "SELECT * with no tables specified is not valid"
 msgstr ""
 
-#: utils/adt/arrayfuncs.c:1768 utils/cache/lsyscache.c:946
-#: utils/cache/lsyscache.c:969
+#: parser/parse_type.c:62
 #, c-format
-msgid "cache lookup failed for type %u"
+msgid "improper %%TYPE reference (too few dotted names): %s"
 msgstr ""
 
-#: utils/adt/acl.c:92
+#: parser/parse_type.c:83
 #, c-format
-msgid "getid: identifier must be <%d characters"
+msgid "improper %%TYPE reference (too many dotted names): %s"
 msgstr ""
 
-#: utils/adt/acl.c:130
+#: parser/parse_type.c:103
 #, c-format
-msgid "aclparse: input = '%s'"
+msgid "type reference %s converted to %s"
 msgstr ""
 
-#: utils/adt/acl.c:142
-msgid "aclparse: bad keyword, must be [group|user]"
-msgstr ""
+#: parser/parse_type.c:206
+#: parser/parse_type.c:237
+#, c-format
+msgid "type \"%s\" is only a shell"
+msgstr "ÔÉР\"%s\" Ñ×ÌÑÅÔÓÑ ÔÏÌØËÏ ÏÂÏÌÏÞËÏÊ"
 
-#: utils/adt/acl.c:145
-msgid "aclparse: a name must follow the [group|user] keyword"
-msgstr ""
+#: parser/parse_type.c:507
+#, c-format
+msgid "invalid type name \"%s\""
+msgstr "ÎÅ×ÅÒÎÏÅ ÉÍÑ ÔÉÐÁ \"%s\""
 
-#: utils/adt/acl.c:162
+#: port/pg_sema.c:117
+#: port/sysv_sema.c:117
 #, c-format
-msgid "aclparse: mode change flag must use \"%c%c%c\""
-msgstr ""
+msgid "could not create semaphores: %m"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÏÚÄÁÔØ ÓÅÍÁÆÏÒÙ: %m"
 
-#: utils/adt/acl.c:208
+#: port/pg_sema.c:118
+#: port/sysv_sema.c:118
 #, c-format
-msgid "aclparse: mode flags must use \"%s\""
+msgid "Failed syscall was semget(%d, %d, 0%o)."
 msgstr ""
 
-#: utils/adt/acl.c:229
+#: port/pg_sema.c:122
+#: port/sysv_sema.c:122
 #, c-format
-msgid "aclparse: correctly read [%x %d %x], modechg=%x"
+msgid ""
+"This error does *not* mean that you have run out of disk space.\n"
+"It occurs when either the system limit for the maximum number of semaphore sets (SEMMNI), or the system wide maximum number of semaphores (SEMMNS), would be exceeded.  You need to raise the respective kernel parameter.  Alternatively, reduce PostgreSQL's consumption of semaphores by reducing its max_connections parameter (currently %d).\n"
+"The PostgreSQL documentation contains more information about configuring your system for PostgreSQL."
 msgstr ""
 
-#: utils/adt/acl.c:249
+#: port/pg_sema.c:151
+#: port/sysv_sema.c:151
 #, c-format
-msgid "makeacl: invalid size: %d"
+msgid "You possibly need to raise your kernel's SEMVMX value to be at least %d.  Look into the PostgreSQL documentation for details."
 msgstr ""
 
-#: utils/adt/acl.c:279
-msgid "aclitemin: cannot accept anything but = ACLs"
+#: port/pg_shmem.c:92
+#: port/sysv_shmem.c:92
+#, c-format
+msgid "could not create shared memory segment: %m"
 msgstr ""
 
-#: utils/adt/acl.c:283
-msgid "aclitemin: extra garbage at end of specification"
+#: port/pg_shmem.c:93
+#: port/sysv_shmem.c:93
+#, c-format
+msgid "Failed syscall was shmget(key=%d, size=%u, 0%o)."
 msgstr ""
 
-#: utils/adt/acl.c:351
+#: port/pg_shmem.c:97
+#: port/sysv_shmem.c:97
 #, c-format
-msgid "aclitemout: bad idtype: %d"
+msgid ""
+"This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMMAX parameter.  You can either reduce the request size or reconfigure the kernel with larger SHMMAX. To reduce the request size (currently %u bytes), reduce PostgreSQL's shared_buffers parameter (currently %d) and/or its max_connections parameter (currently %d).\n"
+"If the request size is already small, it's possible that it is less than your kernel's SHMMIN parameter, in which case raising the request size or reconfiguring SHMMIN is called for.\n"
+"The PostgreSQL documentation contains more information about shared memory configuration."
 msgstr ""
 
-#: utils/adt/acl.c:433
+#: port/pg_shmem.c:110
+#: port/sysv_shmem.c:110
 #, c-format
-msgid "acldefault: bogus objtype %d"
+msgid ""
+"This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory or swap space. To reduce the request size (currently %u bytes), reduce PostgreSQL's shared_buffers parameter (currently %d) and/or its max_connections parameter (currently %d).\n"
+"The PostgreSQL documentation contains more information about shared memory configuration."
 msgstr ""
 
-#: utils/adt/acl.c:506
-msgid "aclinsert3: insertion before world ACL??"
+#: port/pg_shmem.c:119
+#: port/sysv_shmem.c:119
+#, c-format
+msgid ""
+"This error does *not* mean that you have run out of disk space. It occurs either if all available shared memory IDs have been taken, in which case you need to raise the SHMMNI parameter in your kernel, or because the system's overall limit for shared memory has been reached.  If you cannot increase the shared memory limit, reduce PostgreSQL's shared memory request (currently %u bytes), by reducing its shared_buffers parameter (currently %d) and/or its max_connections parameter (currently %d).\n"
+"The PostgreSQL documentation contains more information about shared memory configuration."
 msgstr ""
 
-#: utils/adt/acl.c:617
-msgid "aclremove: removal of the world ACL??"
-msgstr ""
+#: postmaster/postmaster.c:327
+#, c-format
+msgid "data directory \"%s\" does not exist"
+msgstr "ÄÉÒÅËÔÏÒÉÑ ÄÁÎÎÙÈ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: utils/adt/acl.c:864
+#: postmaster/postmaster.c:332
 #, c-format
-msgid "has_table_privilege: invalid privilege type %s"
+msgid "could not read permissions of directory \"%s\": %m"
 msgstr ""
 
-#: utils/adt/acl.c:1067
+#: postmaster/postmaster.c:347
 #, c-format
-msgid "has_database_privilege: invalid privilege type %s"
+msgid "data directory \"%s\" has group or world access"
 msgstr ""
 
-#: utils/adt/acl.c:1243
-#, c-format
-msgid "function \"%s\" does not exist"
-msgstr "ÆÕÎËÃÉÑ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
+#: postmaster/postmaster.c:349
+msgid "Permissions should be u=rwx (0700)."
+msgstr ""
 
-#: utils/adt/acl.c:1266
+#: postmaster/postmaster.c:361
 #, c-format
-msgid "has_function_privilege: invalid privilege type %s"
+msgid ""
+"%s could not find the database system.\n"
+"Expected to find it in the PGDATA directory \"%s\",\n"
+"but failed to open file \"%s\": %s\n"
 msgstr ""
+"íÏÄÕÌØ %s ÎÅ ÎÁۣ̠ÓÉÓÔÅÍÕ ÂÁÚ ÄÁÎÎÙÈ.\n"
+"óÉÓÔÅÍÁ ÏÖÉÄÁÌÁÓØ × PGDATA ÄÉÒÉËÔÏÒÉÉ - \"%s\",\n"
+"ÎÏ ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔËÒÙÔØ ÆÁÊÌ \"%s\": %s\n"
 
-#: utils/adt/acl.c:1465
-#, c-format
-msgid "has_language_privilege: invalid privilege type %s"
+#: postmaster/postmaster.c:459
+#: tcop/postgres.c:2114
+msgid "assert checking is not compiled in"
 msgstr ""
 
-#: utils/adt/acl.c:1641
+#: postmaster/postmaster.c:585
+#: postmaster/postmaster.c:598
 #, c-format
-msgid "schema \"%s\" does not exist"
-msgstr "ÓÈÅÍÁ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
+msgid "Try '%s --help' for more information.\n"
+msgstr "îÁÂÅÒÉÔÅ '%s --help' ÄÌÑ ÂÏÌÅÅ ÄÅÔÁÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ.\n"
 
-#: utils/adt/acl.c:1667
+#: postmaster/postmaster.c:596
 #, c-format
-msgid "has_schema_privilege: invalid privilege type %s"
+msgid "invalid argument: \"%s\""
+msgstr "ÎÅ×ÅÒÎÙÊ ÁÒÇÕÍÅÎÔ: \"%s\""
+
+#: postmaster/postmaster.c:624
+msgid "the number of buffers (-B) must be at least twice the number of allowed connections (-N) and at least 16"
 msgstr ""
 
-#: utils/adt/ascii.c:67
-#, c-format
-msgid "pg_to_ascii(): unsupported encoding from %s"
+#: postmaster/postmaster.c:630
+msgid "superuser_reserved_connections must be less than max_connections"
 msgstr ""
 
-#: utils/adt/bool.c:77
-#, c-format
-msgid "Bad boolean external representation '%s'"
+#: postmaster/postmaster.c:639
+msgid "invalid datetoken tables, please fix"
 msgstr ""
 
-#: utils/adt/cash.c:195
+#: postmaster/postmaster.c:674
+#: tcop/postgres.c:2591
 #, c-format
-msgid "Bad money external representation %s"
+msgid "%s: could not locate postgres executable"
 msgstr ""
 
-#: utils/adt/cash.c:292 utils/adt/cash.c:305
-msgid "Memory allocation failed, can't output cash"
+#: postmaster/postmaster.c:683
+msgid "for SSL, TCP/IP connections must be enabled"
 msgstr ""
 
-#: utils/adt/cash.c:445 utils/adt/cash.c:495
-msgid "cash_div:  divide by 0.0 error"
+#: postmaster/postmaster.c:757
+#, c-format
+msgid "could not create listen socket for \"%s\""
 msgstr ""
 
-#: utils/adt/cash.c:546
-msgid "cash_div_int4: divide by 0 error"
+#: postmaster/postmaster.c:776
+msgid "could not create TCP/IP listen socket"
 msgstr ""
 
-#: utils/adt/cash.c:596
-msgid "cash_div:  divide by 0 error"
+#: postmaster/postmaster.c:800
+msgid "could not create UNIX stream port"
 msgstr ""
 
-#: utils/adt/date.c:69
+#: postmaster/postmaster.c:920
 #, c-format
-msgid "Bad date external representation (too long) '%s'"
+msgid "could not fork background process: %s"
 msgstr ""
 
-#: utils/adt/date.c:73
+#: postmaster/postmaster.c:942
 #, c-format
-msgid "Bad date external representation '%s'"
+msgid "could not disassociate from controlling TTY: %s"
 msgstr ""
 
-#: utils/adt/date.c:81
+#: postmaster/postmaster.c:962
+#, c-format
 msgid ""
-"Date CURRENT no longer supported\n"
-"\tdate_in() internal coding error"
+"%s is the PostgreSQL server.\n"
+"\n"
 msgstr ""
+"%s Ñ×ÌÑÅÔÓÑ PostgreSQL ÓÅÒ×ÅÒÏÍ.\n"
+"\n"
 
-#: utils/adt/date.c:91
+#: postmaster/postmaster.c:963
 #, c-format
-msgid "Unrecognized date external representation '%s'"
+msgid ""
+"Usage:\n"
+"  %s [OPTION]...\n"
+"\n"
 msgstr ""
+"éÓÐÏÌØÚÏ×ÁÎÉÅ:\n"
+"  %s [ïðãéñ]...\n"
+"\n"
 
-#: utils/adt/date.c:400
-msgid "Unable to convert timestamp to date"
-msgstr ""
+#: postmaster/postmaster.c:964
+msgid "Options:\n"
+msgstr "ïÐÃÉÉ:\n"
 
-#: utils/adt/date.c:425
-msgid "Unable to convert reserved abstime value to date"
-msgstr ""
+#: postmaster/postmaster.c:966
+msgid "  -A 1|0          enable/disable run-time assert checking\n"
+msgstr "  -A 1|0          ×ËÌÀÞÉÔØ/×ÙËÌÀÞÉÔØ ÐÒÏ×ÅÒËÕ ÉÓËÌÀÞÉÔÅÌØÎÙÈ ÓÉÔÕÁÃÉÊ\n"
+
+#: postmaster/postmaster.c:968
+msgid "  -B NBUFFERS     number of shared buffers\n"
+msgstr "  -B þâõæåòï÷     ÞÉÓÌÏ ÏÂÝÉÈ ÂÕÆÅÒÏ×\n"
+
+#: postmaster/postmaster.c:969
+msgid "  -c NAME=VALUE   set run-time parameter\n"
+msgstr "  -c éíñ=úîáþ.   ÕÓÔÁÎÏ×ÉÔØ ÐÁÒÁÍÅÔÒ ×ÙÐÏÌÎÅÎÉÑ (run-time)\n"
+
+#: postmaster/postmaster.c:970
+msgid "  -d 1-5          debugging level\n"
+msgstr "  -d 1-5          ÕÒÏ×ÅÎØ ÏÔÌÁÄËÉ\n"
+
+#: postmaster/postmaster.c:971
+msgid "  -D DATADIR      database directory\n"
+msgstr "  -D äéòäáîîùè    ÄÉÒÅËÔÏÒÉÑ Ó ÄÁÎÎÙÍÉ\n"
 
-#: utils/adt/date.c:484
-msgid "Bad date external representation (too long)"
+#: postmaster/postmaster.c:972
+msgid "  -F              turn fsync off\n"
+msgstr "  -F              ×ÙÕËÌÀÞÉÔØ fsync\n"
+
+#: postmaster/postmaster.c:973
+msgid "  -h HOSTNAME     host name or IP address to listen on\n"
+msgstr "  -h èïóô         ÉÍÑ ÈÏÓÔÁ ÉÌÉ IP-ÁÄÒÅÓ ÄÌÑ ÐÒÏÓÌÕÛÉ×ÁÎÉÑ\n"
+
+#: postmaster/postmaster.c:974
+msgid "  -i              enable TCP/IP connections\n"
+msgstr "  -i              ÐÏÄËÌÀÞÉÔØ TCP/IP ÓÏÅÄÉÎÅÎÉÑ\n"
+
+#: postmaster/postmaster.c:975
+msgid "  -k DIRECTORY    Unix-domain socket location\n"
+msgstr "  -k äéòåëôïòéñ   íÅÓÔÏÎÁÈÏÖÄÎÉÑ unix-domain ÓÏËÅÔÏ×\n"
+
+#: postmaster/postmaster.c:977
+msgid "  -l              enable SSL connections\n"
+msgstr "  -l              ×ËÌÀÞÉÔØ SSL-ÐÏÄÓÏÅÄÉÎÅÎÉÑ\n"
+
+#: postmaster/postmaster.c:979
+msgid "  -N MAX-CONNECT  maximum number of allowed connections\n"
+msgstr "  -N MAX-CONNECT  ÍÁËÓÉÍÁÌØÎÏ ÄÏÓÔÕÐÎÏÅ ÞÉÓÌÏ ÐÏÄÓÏÅÄÉÎÅÎÉÊ\n"
+
+#: postmaster/postmaster.c:980
+msgid "  -o OPTIONS      pass 'OPTIONS' to each backend server\n"
+msgstr "  -o ïðãéé        ÐÅÒÅÄÁÔØ 'ïðãéé' ËÁÖÄÏÍÕ ÂÜË-ÅÎÄÕ (ÓÅÒ×ÅÒÕ)\n"
+
+#: postmaster/postmaster.c:981
+msgid "  -p PORT         port number to listen on\n"
+msgstr "  -p ðïòô         ÎÏÍÅÒ ÐÏÒÔÁ ÄÌÑ ÐÒÏÓÌÕÛÉ×ÁÎÉÑ\n"
+
+#: postmaster/postmaster.c:982
+msgid "  -S              silent mode (start in background without logging output)\n"
+msgstr "  -S              ÔÉÈÉÊ ÒÅÖÉÍ (ÚÁÐÕÓÔÉÔØ ÎÁ ÚÁÄÎÅÍ ÐÌÁÎÅ ÂÅÚ ÌÏÇÏ× ÒÅÚÕÌØÔÁÔÏ×)\n"
+
+#: postmaster/postmaster.c:983
+msgid "  --help          show this help, then exit\n"
+msgstr "  --help          ÐÏËÁÚÁÔØ ÜÔÕ ÐÏÄÓËÁÚËÕ É ×ÙÊÔÉ\n"
+
+#: postmaster/postmaster.c:984
+msgid "  --version       output version information, then exit\n"
+msgstr "  --version       ÐÏËÁÚÁÔØ ×ÅÒÓÉÀ É ×ÙÊÔÉ\n"
+
+#: postmaster/postmaster.c:986
+msgid ""
+"\n"
+"Developer options:\n"
 msgstr ""
+"\n"
+"ïÐÃÉÉ ÒÁÚÒÁÂÏÔÞÉËÁ:\n"
 
-#: utils/adt/date.c:521
-#, c-format
-msgid "Bad time external representation (too long) '%s'"
+#: postmaster/postmaster.c:987
+msgid "  -n              do not reinitialize shared memory after abnormal exit\n"
+msgstr "  -n              ÎÅ ÐÅÒÅÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÔØ ÏÂÝÕÀ ÐÁÍÑÔØ ÐÏÓÌÅ ÎÅÎÏÒÍÁÌØÎÏÇÏ ÚÁ×ÅÒÛÅÎÉÑ\n"
+
+#: postmaster/postmaster.c:988
+msgid "  -s              send SIGSTOP to all backend servers if one dies\n"
+msgstr "  -s              ÐÏÓÌÁÔØ ÓÉÇÎÁÌ SIGSTOP ×ÓÅÍ ÂÜË-ÅÎÄÁÍ (ÓÅÒ×ÅÒÁÍ) ÅÚÌÉ ÏÄÉΠÉÚ ÎÉÈ ÐÁÄÁÅÔ\n"
+
+#: postmaster/postmaster.c:990
+msgid ""
+"\n"
+"Please read the documentation for the complete list of run-time\n"
+"configuration settings and how to set them on the command line or in\n"
+"the configuration file.\n"
+"\n"
+"Report bugs to <[email protected]>.\n"
 msgstr ""
 
-#: utils/adt/date.c:525 utils/adt/date.c:1336
+#: postmaster/postmaster.c:1073
 #, c-format
-msgid "Bad time external representation '%s'"
+msgid "select failed in postmaster: %m"
 msgstr ""
 
-#: utils/adt/date.c:928
-msgid "Unable to convert timestamp to time"
+#: postmaster/postmaster.c:1190
+#: postmaster/postmaster.c:1221
+msgid "incomplete startup packet"
 msgstr ""
 
-#: utils/adt/date.c:963
-msgid "Unable to convert timestamptz to time"
+#: postmaster/postmaster.c:1202
+msgid "invalid length of startup packet"
 msgstr ""
 
-#: utils/adt/date.c:1165
-msgid "Bad time external representation (too long)"
+#: postmaster/postmaster.c:1254
+#, c-format
+msgid "failed to send SSL negotiation response: %m"
 msgstr ""
 
-#: utils/adt/date.c:1196 utils/adt/date.c:1279
+#: postmaster/postmaster.c:1283
 #, c-format
-msgid "TIME units '%s' not recognized"
+msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u"
 msgstr ""
 
-#: utils/adt/date.c:1263
-#, c-format
-msgid "TIME units '%s' not supported"
+#: postmaster/postmaster.c:1347
+msgid "invalid startup packet layout: expected terminator as last byte"
 msgstr ""
 
-#: utils/adt/date.c:1331
-#, c-format
-msgid "Bad time with time zone external representation (too long) '%s'"
+#: postmaster/postmaster.c:1376
+msgid "no PostgreSQL user name specified in startup packet"
 msgstr ""
 
-#: utils/adt/date.c:1795
-msgid "Unable to convert timestamptz to timetz"
+#: postmaster/postmaster.c:1431
+msgid "the database system is starting up"
+msgstr "ÓÉÓÔÅÍÁ ÂÁÚ ÄÁÎÎÙÈ ÓÔÁÒÔÕÅÔ"
+
+#: postmaster/postmaster.c:1436
+msgid "the database system is shutting down"
+msgstr "ÓÉÓÔÅÍÁ ÂÁÚ ÄÁÎÎÙÚ ÏÔËÌÀÞÁÅÔÓÑ"
+
+#: postmaster/postmaster.c:1441
+msgid "the database system is in recovery mode"
+msgstr "ÓÉÓÔÅÍÁ ÂÁÚ ÄÁÎÎÙÈ × ÒÅÖÉÍÅ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ"
+
+#: postmaster/postmaster.c:1446
+#: storage/ipc/sinval.c:54
+#: storage/lmgr/proc.c:226
+msgid "sorry, too many clients already"
 msgstr ""
 
-#: utils/adt/date.c:1871
-msgid "Bad timetz external representation (too long)"
+#: postmaster/postmaster.c:1655
+msgid "received SIGHUP, reloading configuration files"
 msgstr ""
 
-#: utils/adt/date.c:1902 utils/adt/date.c:1998
-#, c-format
-msgid "TIMETZ units '%s' not recognized"
+#: postmaster/postmaster.c:1699
+msgid "received smart shutdown request"
 msgstr ""
 
-#: utils/adt/date.c:1982
-#, c-format
-msgid "TIMETZ units '%s' not supported"
+#: postmaster/postmaster.c:1730
+msgid "received fast shutdown request"
 msgstr ""
 
-#: utils/adt/date.c:2025 utils/adt/date.c:2059 utils/adt/timestamp.c:3274
-#: utils/adt/timestamp.c:3297 utils/adt/timestamp.c:3411
-#: utils/adt/timestamp.c:3433
-#, c-format
-msgid "Time zone '%s' not recognized"
+#: postmaster/postmaster.c:1737
+msgid "aborting any active transactions"
 msgstr ""
 
-#: utils/adt/date.c:2078 utils/adt/timestamp.c:3319 utils/adt/timestamp.c:3456
-#, c-format
-msgid "INTERVAL time zone '%s' not legal (month specified)"
+#: postmaster/postmaster.c:1774
+msgid "received immediate shutdown request"
 msgstr ""
 
-#: utils/adt/datetime.c:1239 utils/adt/datetime.c:1955
-msgid "'CURRENT' is no longer supported"
+#: postmaster/postmaster.c:1831
+msgid "statistics collector process"
+msgstr "ÐÒÏÃÅÓÓ ÓÂÏÒÁ ÓÔÁÔÉÓÔÉËÉ"
+
+#: postmaster/postmaster.c:1844
+msgid "shutdown process"
+msgstr "ÐÒÏÃÅÓÓ ÚÁËÒÙÔÉÑ"
+
+#: postmaster/postmaster.c:1856
+msgid "startup process"
+msgstr "ÐÒÏÃÅÓÓ ÚÁÐÕÓËÁ"
+
+#: postmaster/postmaster.c:1859
+msgid "aborting startup due to startup process failure"
 msgstr ""
 
-#: utils/adt/datetime.c:1418 utils/adt/datetime.c:2227
-#: utils/adt/formatting.c:3035
-#, c-format
-msgid "Inconsistent use of year %04d and 'BC'"
+#: postmaster/postmaster.c:1914
+msgid "all server processes terminated; reinitializing"
 msgstr ""
 
-#: utils/adt/datum.c:78 utils/adt/datum.c:87
-msgid "datumGetSize: Invalid Datum Pointer"
+#: postmaster/postmaster.c:1952
+msgid "child process"
+msgstr "ÐÒÏÃÅÓÓ-ÓÙÎ"
+
+#: postmaster/postmaster.c:1998
+msgid "checkpoint process"
+msgstr "ÐÒÏÃÅÓÓ ËÏÎÔÏÌØÎÙÈ ÔÏÞÅË"
+
+#: postmaster/postmaster.c:1999
+msgid "server process"
+msgstr "ÐÒÏÃÅÓÓ ÓÅÒ×ÅÒÁ"
+
+#: postmaster/postmaster.c:2002
+msgid "terminating any other active server processes"
 msgstr ""
 
-#: utils/adt/datum.c:92
+#: postmaster/postmaster.c:2071
 #, c-format
-msgid "datumGetSize: Invalid typLen %d"
+msgid "%s (pid %d) exited with exit code %d"
 msgstr ""
 
-#: utils/adt/encode.c:53 utils/adt/encode.c:87
+#: postmaster/postmaster.c:2080
 #, c-format
-msgid "No such encoding as '%s'"
+msgid "%s (pid %d) was terminated by signal %d"
 msgstr ""
 
-#: utils/adt/encode.c:62
-msgid "Overflow - encode estimate too small"
+#: postmaster/postmaster.c:2089
+#, c-format
+msgid "%s (pid %d) exited with unexpected status %d"
 msgstr ""
 
-#: utils/adt/encode.c:96
-msgid "Overflow - decode estimate too small"
+#: postmaster/postmaster.c:2205
+msgid "connection startup failed"
 msgstr ""
 
-#: utils/adt/encode.c:144
+#: postmaster/postmaster.c:2221
 #, c-format
-msgid "Bad hex code: '%c'"
-msgstr ""
-
-#: utils/adt/encode.c:170
-msgid "hex_decode: invalid data"
+msgid "could not fork new process for connection: %m"
 msgstr ""
 
-#: utils/adt/encode.c:284
-msgid "base64: unexpected '='"
+#: postmaster/postmaster.c:2257
+msgid "could not fork new process for connection: "
 msgstr ""
 
-#: utils/adt/encode.c:294
-msgid "base64: Invalid symbol"
+#: postmaster/postmaster.c:2388
+#, c-format
+msgid "connection received: host=%s port=%s"
 msgstr ""
 
-#: utils/adt/encode.c:312
-msgid "base64: invalid end sequence"
+#: postmaster/postmaster.c:2450
+#, c-format
+msgid "connection authorized: user=%s database=%s"
 msgstr ""
 
-#: utils/adt/encode.c:419 utils/adt/encode.c:482
-msgid "decode: Bad input string for type bytea"
+#: postmaster/postmaster.c:2610
+#, c-format
+msgid "checkpoints are occurring too frequently (%d seconds apart)"
 msgstr ""
 
-#: utils/adt/float.c:151
-msgid "Bad float4 input format -- overflow"
+#: postmaster/postmaster.c:2612
+msgid "Consider increasing CHECKPOINT_SEGMENTS."
 msgstr ""
 
-#: utils/adt/float.c:153
-msgid "Bad float4 input format -- underflow"
+#: postmaster/postmaster.c:2880
+#, c-format
+msgid "could not fork startup process: %m"
 msgstr ""
 
-#: utils/adt/float.c:175
-msgid "Bad float8 input format -- overflow"
+#: postmaster/postmaster.c:2884
+#, c-format
+msgid "could not fork checkpoint process: %m"
 msgstr ""
 
-#: utils/adt/float.c:177
-msgid "Bad float8 input format -- underflow"
+#: postmaster/postmaster.c:2888
+#, c-format
+msgid "could not fork shutdown process: %m"
 msgstr ""
 
-#: utils/adt/float.c:207
+#: postmaster/postmaster.c:2892
 #, c-format
-msgid "Bad float4 input format '%s'"
+msgid "could not fork process: %m"
 msgstr ""
 
-#: utils/adt/float.c:212
+#: postmaster/pgstat.c:200
 #, c-format
-msgid "Input '%s' is out of range for float4"
+msgid "could not resolve \"localhost\": %s"
 msgstr ""
 
-#: utils/adt/float.c:278 utils/adt/numeric.c:2836 utils/adt/numeric.c:2859
+#: postmaster/pgstat.c:220
 #, c-format
-msgid "Bad float8 input format '%s'"
+msgid "could not create socket for statistics: %m"
 msgstr ""
 
-#: utils/adt/float.c:283
+#: postmaster/pgstat.c:232
 #, c-format
-msgid "Input '%s' is out of range for float8"
+msgid "could not bind socket for statistics: %m"
 msgstr ""
 
-#: utils/adt/float.c:508
-msgid "float4div: divide by zero error"
+#: postmaster/pgstat.c:244
+#, c-format
+msgid "could not get address of socket for statistics: %m"
 msgstr ""
 
-#: utils/adt/float.c:570
-msgid "float8div: divide by zero error"
+#: postmaster/pgstat.c:258
+#, c-format
+msgid "could not connect socket for statistics: %m"
 msgstr ""
 
-#: utils/adt/float.c:820
-msgid "dtoi4: integer out of range"
+#: postmaster/pgstat.c:272
+#, c-format
+msgid "could not set statistics socket to nonblock mode: %m"
 msgstr ""
 
-#: utils/adt/float.c:837
-msgid "dtoi2: integer out of range"
+#: postmaster/pgstat.c:283
+#, c-format
+msgid "could not create pipe for statistics collector: %m"
 msgstr ""
 
-#: utils/adt/float.c:882
-msgid "ftoi4: integer out of range"
+#: postmaster/pgstat.c:344
+msgid "statistics collector startup skipped"
 msgstr ""
 
-#: utils/adt/float.c:899
-msgid "ftoi2: integer out of range"
+#: postmaster/pgstat.c:375
+#, c-format
+msgid "could not fork statistics buffer: %m"
 msgstr ""
 
-#: utils/adt/float.c:1133
-msgid "can't take sqrt of a negative number"
+#: postmaster/pgstat.c:785
+msgid "must be superuser to reset statistics counters"
 msgstr ""
 
-#: utils/adt/float.c:1177
-msgid "pow() result is out of range"
+#: postmaster/pgstat.c:1266
+#, c-format
+msgid "could not create pipe for statistics buffer: %m"
 msgstr ""
 
-#: utils/adt/float.c:1205
-msgid "exp() result is out of range"
+#: postmaster/pgstat.c:1274
+#, c-format
+msgid "could not fork statistics collector: %m"
 msgstr ""
 
-#: utils/adt/float.c:1223 utils/adt/float.c:1244
-msgid "can't take log of zero"
+#: postmaster/pgstat.c:1331
+#: postmaster/pgstat.c:1634
+#: postmaster/pgstat.c:1902
+#: postmaster/pgstat.c:1934
+#: postmaster/pgstat.c:1988
+#: postmaster/pgstat.c:2249
+#: postmaster/pgstat.c:2310
+#: postmaster/pgstat.c:2356
+#: postmaster/pgstat.c:2407
+#: postmaster/pgstat.c:2636
+#: postmaster/pgstat.c:2818
+msgid "out of memory in statistics collector --- abort"
 msgstr ""
 
-#: utils/adt/float.c:1225 utils/adt/float.c:1246
-msgid "can't take log of a negative number"
+#: postmaster/pgstat.c:1343
+msgid "allocation of backend table failed"
 msgstr ""
 
-#: utils/adt/float.c:1271
+#: postmaster/pgstat.c:1409
 #, c-format
-msgid "acos(%f) input is out of range"
+msgid "select failed in statistics collector: %m"
 msgstr ""
 
-#: utils/adt/float.c:1294
+#: postmaster/pgstat.c:1451
 #, c-format
-msgid "asin(%f) input is out of range"
+msgid "could not read from statistics pipe: %m"
 msgstr ""
 
-#: utils/adt/float.c:1317
-#, c-format
-msgid "atan(%f) input is out of range"
+#: postmaster/pgstat.c:1470
+msgid "invalid statistics message length"
 msgstr ""
 
-#: utils/adt/float.c:1341
+#: postmaster/pgstat.c:1622
 #, c-format
-msgid "atan2(%f,%f) input is out of range"
+msgid "could not set statistics pipe to nonblock mode: %m"
 msgstr ""
 
-#: utils/adt/float.c:1364
-#, c-format
-msgid "cos(%f) input is out of range"
+#: postmaster/pgstat.c:1662
+msgid "statistics buffer is full"
 msgstr ""
 
-#: utils/adt/float.c:1387
+#: postmaster/pgstat.c:1695
 #, c-format
-msgid "cot(%f) input is out of range"
+msgid "select failed in statistics buffer: %m"
 msgstr ""
 
-#: utils/adt/float.c:1411
+#: postmaster/pgstat.c:1713
 #, c-format
-msgid "sin(%f) input is out of range"
+msgid "failed to read statistics message: %m"
 msgstr ""
 
-#: utils/adt/float.c:1434
+#: postmaster/pgstat.c:1788
 #, c-format
-msgid "tan(%f) input is out of range"
+msgid "failed to write statistics pipe: %m"
 msgstr ""
 
-#: utils/adt/float.c:1545
+#: postmaster/pgstat.c:1842
 #, c-format
-msgid "%s: expected 3-element float8 array"
+msgid "invalid backend ID %d"
 msgstr ""
 
-#: utils/adt/float.c:1756
-msgid "float48div: divide by zero"
+#: postmaster/pgstat.c:2037
+#: postmaster/pgstat.c:2150
+#, c-format
+msgid "could not write temp statistics file \"%s\": %m"
 msgstr ""
 
-#: utils/adt/float.c:1816
-msgid "float84div: divide by zero"
+#: postmaster/pgstat.c:2064
+msgid "database hash table corrupted during cleanup --- abort"
 msgstr ""
 
-#: utils/adt/format_type.c:136 utils/adt/format_type.c:162
+#: postmaster/pgstat.c:2101
 #, c-format
-msgid "could not locate data type with oid %u in catalog"
+msgid "tables hash table for database %u corrupted during cleanup --- abort"
 msgstr ""
 
-#: utils/adt/format_type.c:315
+#: postmaster/pgstat.c:2159
 #, c-format
-msgid "Invalid INTERVAL typmod 0x%x"
+msgid "could not rename temp statistics file \"%s\" to \"%s\": %m"
 msgstr ""
 
-#: utils/adt/formatting.c:390
-#, c-format
-msgid ""
-"TMFC:\n"
-"hh %d\n"
-"am %d\n"
-"pm %d\n"
-"mi %d\n"
-"ss %d\n"
-"ssss %d\n"
-"d %d\n"
-"dd %d\n"
-"ddd %d\n"
-"mm %d\n"
-"ms: %d\n"
-"year %d\n"
-"bc %d\n"
-"iw %d\n"
-"ww %d\n"
-"w %d\n"
-"cc %d\n"
-"q %d\n"
-"j %d\n"
-"us: %d"
-msgstr ""
-
-#: utils/adt/formatting.c:396
-#, c-format
-msgid ""
-"TM:\n"
-"sec %d\n"
-"year %d\n"
-"min %d\n"
-"wday %d\n"
-"hour %d\n"
-"yday %d\n"
-"mday %d\n"
-"nisdst %d\n"
-"mon %d\n"
+#: postmaster/pgstat.c:2181
+msgid "dead-backend hash table corrupted during cleanup --- abort"
 msgstr ""
 
-#: utils/adt/formatting.c:963
-msgid "to_char/to_number(): '9' must be ahead of 'PR'."
+#: postmaster/pgstat.c:2292
+#: postmaster/pgstat.c:2324
+#: postmaster/pgstat.c:2387
+#: postmaster/pgstat.c:2420
+#: postmaster/pgstat.c:2441
+#: postmaster/pgstat.c:2487
+#: postmaster/pgstat.c:2520
+msgid "corrupted pgstat.stat file"
 msgstr ""
 
-#: utils/adt/formatting.c:980
-msgid "to_char/to_number(): '0' must be ahead of 'PR'."
-msgstr ""
+#: rewrite/rewriteDefine.c:103
+#: rewrite/rewriteDefine.c:553
+#, c-format
+msgid "rule \"%s\" for relation \"%s\" already exists"
+msgstr "ÐÒÁ×ÉÌÏ \"%s\" ÄÌÑ Ó×ÑÚÉ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: utils/adt/formatting.c:1007
-msgid "to_char/to_number(): not unique decimal point."
+#: rewrite/rewriteDefine.c:233
+msgid "rule actions on OLD are not implemented"
 msgstr ""
 
-#: utils/adt/formatting.c:1012 utils/adt/formatting.c:1099
-msgid "to_char/to_number(): can't use 'V' and decimal poin together."
+#: rewrite/rewriteDefine.c:234
+msgid "Use views or triggers instead."
 msgstr ""
 
-#: utils/adt/formatting.c:1025
-msgid "to_char/to_number(): not unique 'S'."
+#: rewrite/rewriteDefine.c:238
+msgid "rule actions on NEW are not implemented"
 msgstr ""
 
-#: utils/adt/formatting.c:1030
-msgid "to_char/to_number(): can't use 'S' and 'PL'/'MI'/'SG'/'PR' together."
+#: rewrite/rewriteDefine.c:239
+msgid "Use triggers instead."
 msgstr ""
 
-#: utils/adt/formatting.c:1052
-msgid "to_char/to_number(): can't use 'S' and 'MI' together."
+#: rewrite/rewriteDefine.c:256
+msgid "INSTEAD NOTHING rules on select are not implemented"
 msgstr ""
 
-#: utils/adt/formatting.c:1061
-msgid "to_char/to_number(): can't use 'S' and 'PL' together."
+#: rewrite/rewriteDefine.c:257
+msgid "Use views instead."
 msgstr ""
 
-#: utils/adt/formatting.c:1070
-msgid "to_char/to_number(): can't use 'S' and 'SG' together."
+#: rewrite/rewriteDefine.c:265
+msgid "multiple action rules on select are not implemented"
 msgstr ""
 
-#: utils/adt/formatting.c:1080
-msgid "to_char/to_number(): can't use 'PR' and 'S'/'PL'/'MI'/'SG' together."
+#: rewrite/rewriteDefine.c:274
+msgid "only instead-select rules are currently supported on select"
 msgstr ""
 
-#: utils/adt/formatting.c:1106
-msgid "to_char/to_number(): 'E' is not supported."
+#: rewrite/rewriteDefine.c:282
+msgid "event qualifications are not implemented for rules on select"
 msgstr ""
 
-#: utils/adt/formatting.c:1130
-msgid "to_char/number(): run parser."
+#: rewrite/rewriteDefine.c:302
+msgid "select rule's target list has too many entries"
 msgstr ""
 
-#: utils/adt/formatting.c:1326
-msgid "to_from-char(): DUMP FORMAT"
+#: rewrite/rewriteDefine.c:318
+msgid "cannot convert relation containing dropped columns to view"
 msgstr ""
 
-#: utils/adt/formatting.c:1331
+#: rewrite/rewriteDefine.c:323
 #, c-format
-msgid "%d:\t NODE_TYPE_ACTION '%s'\t(%s,%s)"
+msgid "select rule's target entry %d has different column name from \"%s\""
 msgstr ""
 
-#: utils/adt/formatting.c:1334
+#: rewrite/rewriteDefine.c:328
 #, c-format
-msgid "%d:\t NODE_TYPE_CHAR '%c'"
+msgid "select rule's target entry %d has different type from attribute \"%s\""
 msgstr ""
 
-#: utils/adt/formatting.c:1337
+#: rewrite/rewriteDefine.c:341
 #, c-format
-msgid "%d:\t NODE_TYPE_END"
+msgid "select rule's target entry %d has different size from attribute \"%s\""
+msgstr ""
+
+#: rewrite/rewriteDefine.c:347
+msgid "select rule's target list has too few entries"
 msgstr ""
 
-#: utils/adt/formatting.c:1341
+#: rewrite/rewriteDefine.c:362
 #, c-format
-msgid "%d:\t UnKnown NODE !!!"
+msgid "\"%s\" is already a view"
 msgstr ""
 
-#: utils/adt/formatting.c:1365
+#: rewrite/rewriteDefine.c:386
 #, c-format
-msgid "get_th: '%s' is not number."
+msgid "view rule for \"%s\" must be named \"%s\""
 msgstr ""
 
-#: utils/adt/formatting.c:1539
-msgid "TO-FROM_CHAR: Dump KeyWord Index:"
+#: rewrite/rewriteDefine.c:405
+#, c-format
+msgid "cannot convert non-empty table \"%s\" to a view"
 msgstr ""
 
-#: utils/adt/formatting.c:1545
+#: rewrite/rewriteDefine.c:546
+#: rewrite/rewriteRemove.c:59
 #, c-format
-msgid "\t%c: %s, "
-msgstr "\t%c: %s, "
+msgid "rule \"%s\" for relation \"%s\" does not exist"
+msgstr "ÐÒÁ×ÉÌÏ \"%s\" ÄÌÑ Ó×ÑÚÉ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: utils/adt/formatting.c:1551
+#: rewrite/rewriteHandler.c:458
+#: rewrite/rewriteHandler.c:472
 #, c-format
-msgid "\t(%d) %c %d"
-msgstr "\t(%d) %c %d"
+msgid "multiple assignments to same attribute \"%s\""
+msgstr ""
 
-#: utils/adt/formatting.c:1554
+#: rewrite/rewriteHandler.c:884
+#: rewrite/rewriteHandler.c:1166
 #, c-format
-msgid ""
-"\n"
-"\t\tUsed positions: %d,\n"
-"\t\tFree positions: %d"
+msgid "infinite recursion detected in rules for relation \"%s\""
 msgstr ""
 
-#: utils/adt/formatting.c:1626
-msgid "to_timestamp(): bad AM/PM string"
+#: rewrite/rewriteHandler.c:1276
+msgid "cannot insert into a view"
+msgstr "ÎÅÌØÚÑ ×ÓÔÁ×ÌÑÔØ × ×ÉÄ"
+
+#: rewrite/rewriteHandler.c:1277
+msgid "You need an unconditional ON INSERT DO INSTEAD rule."
 msgstr ""
 
-#: utils/adt/formatting.c:1970
-msgid "to_timestamp(): TZ/tz not supported."
+#: rewrite/rewriteHandler.c:1282
+msgid "cannot update a view"
+msgstr "ÎÅÌØÚÑ ÏÂÎÏ×ÉÔØ ×ÉÄ"
+
+#: rewrite/rewriteHandler.c:1283
+msgid "You need an unconditional ON UPDATE DO INSTEAD rule."
 msgstr ""
 
-#: utils/adt/formatting.c:1978
-#, c-format
-msgid "to_timestamp(): bad value for %s"
+#: rewrite/rewriteHandler.c:1288
+msgid "cannot delete from a view"
+msgstr "ÎÅÌØÚÑ ÕÄÁÌÉÔØ ÉÚ ×ÉÄÁ"
+
+#: rewrite/rewriteHandler.c:1289
+msgid "You need an unconditional ON DELETE DO INSTEAD rule."
 msgstr ""
 
-#: utils/adt/formatting.c:2612 utils/adt/formatting.c:3171
-#, c-format
-msgid "Cache is full (%d)"
+#: rewrite/rewriteManip.c:734
+#: rewrite/rewriteManip.c:788
+msgid "conditional utility statements are not implemented"
 msgstr ""
 
-#: utils/adt/formatting.c:2620 utils/adt/formatting.c:3188
+#: rewrite/rewriteManip.c:879
+msgid "cannot handle whole-tuple reference"
+msgstr ""
+
+#: storage/buffer/buf_table.c:128
+#: storage/freespace/freespace.c:1005
+msgid "out of shared memory"
+msgstr "ÎÅ ÏÂÝÅÊ È×ÁÔÁÅÔ ÐÁÍÑÔÉ"
+
+#: storage/buffer/bufmgr.c:234
 #, c-format
-msgid "OLD: '%s' AGE: %d"
+msgid "invalid page header in block %u of \"%s\"; zeroing out page"
 msgstr ""
 
-#: utils/adt/formatting.c:2631 utils/adt/formatting.c:3200
+#: storage/buffer/bufmgr.c:241
 #, c-format
-msgid "NEW (%d)"
+msgid "invalid page header in block %u of \"%s\""
 msgstr ""
 
-#: utils/adt/formatting.c:2796 utils/adt/formatting.c:2822
-msgid "to_char(): Unable to convert timestamp to tm"
+#: storage/buffer/bufmgr.c:439
+#: storage/buffer/bufmgr.c:821
+#: storage/buffer/bufmgr.c:1512
+#: storage/buffer/bufmgr.c:2154
+#, c-format
+msgid "could not write block %u of %u/%u"
 msgstr ""
 
-#: utils/adt/formatting.c:2998
-msgid "to_timestamp(): AM/PM hour must be between 1 and 12"
+#: storage/buffer/bufmgr.c:2158
+msgid "Multiple failures --- write error may be permanent."
 msgstr ""
 
-#: utils/adt/formatting.c:3067
-msgid "to_timestamp() cat't convert yday without year information"
+#: storage/buffer/bufmgr.c:2191
+#, c-format
+msgid "writing block %u of relation %u/%u"
 msgstr ""
 
-#: utils/adt/formatting.c:3102
-msgid "to_timestamp(): can't convert 'tm' to timestamp."
+#: storage/buffer/freelist.c:203
+msgid "out of free buffers"
 msgstr ""
 
-#: utils/adt/formatting.c:3250
-#, c-format
-msgid "REMOVING ENTRY (%s)"
+#: storage/buffer/localbuf.c:85
+msgid "no empty local buffer available"
 msgstr ""
 
-#: utils/adt/formatting.c:3475
-msgid "CALL: get_last_relevant_decnum()"
+#: storage/file/fd.c:277
+#: storage/file/fd.c:1067
+#, c-format
+msgid "out of file descriptors: %m; release and retry"
 msgstr ""
 
-#: utils/adt/formatting.c:3500
-msgid " --- scan start --- "
+#: storage/file/fd.c:334
+msgid "insufficient file descriptors available to start backend"
 msgstr ""
 
-#: utils/adt/formatting.c:3521
+#: storage/file/fd.c:335
 #, c-format
-msgid "Try read sign (%c)."
+msgid "System allows %ld, we need at least %d."
 msgstr ""
 
-#: utils/adt/formatting.c:3533
-#, c-format
-msgid "Try read locale sign (%c)."
+#: storage/freespace/freespace.c:274
+#: storage/freespace/freespace.c:291
+#: storage/freespace/freespace.c:306
+msgid "insufficient shared memory for free space map"
 msgstr ""
 
-#: utils/adt/formatting.c:3552
+#: storage/freespace/freespace.c:299
 #, c-format
-msgid "Try read sipmle sign (%c)."
+msgid "max_fsm_pages must exceed max_fsm_relations * %d"
 msgstr ""
 
-#: utils/adt/formatting.c:3593
-#, c-format
-msgid "Read digit (%c)."
+#: storage/freespace/freespace.c:334
+msgid "max_fsm_pages is too large"
 msgstr ""
 
-#: utils/adt/formatting.c:3604
+#: storage/freespace/freespace.c:705
 #, c-format
-msgid "Try read decimal point (%c)."
+msgid "free space map: %d relations, %d pages stored; %.0f total pages needed"
 msgstr ""
 
-#: utils/adt/formatting.c:3619
+#: storage/freespace/freespace.c:707
 #, c-format
-msgid "Try read locale point (%c)."
+msgid "Allocated FSM size: %d relations + %d pages = %.0f KB shared mem."
 msgstr ""
 
-#: utils/adt/formatting.c:3652
+#: storage/ipc/shmem.c:376
 #, c-format
-msgid "SIGN_WROTE: %d, CURRENT: %d, NUMBER_P: '%s', INOUT: '%s'"
-msgstr "SIGN_WROTE: %d, CURRENT: %d, NUMBER_P: '%s', INOUT: '%s'"
+msgid "could not allocate \"%s\""
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ×ÙÄÅÌÉÔØ \"%s\""
 
-#: utils/adt/formatting.c:3667
+#: storage/lmgr/deadlock.c:867
 #, c-format
-msgid "Writing sign to position: %d"
+msgid "Proc %d waits for %s on transaction %u; blocked by proc %d."
 msgstr ""
 
-#: utils/adt/formatting.c:3709
+#: storage/lmgr/deadlock.c:877
 #, c-format
-msgid "Writing bracket to position %d"
+msgid "Proc %d waits for %s on relation %u of database %u; blocked by proc %d."
 msgstr ""
 
-#: utils/adt/formatting.c:3731
-#, c-format
-msgid "Writing blank space to position %d"
+#: storage/lmgr/deadlock.c:887
+msgid "deadlock detected"
 msgstr ""
 
-#: utils/adt/formatting.c:3746
+#: storage/page/bufpage.c:137
+#: storage/page/bufpage.c:335
+#: storage/page/bufpage.c:474
 #, c-format
-msgid "Writing zero to position %d"
+msgid "corrupted page pointers: lower = %u, upper = %u, special = %u"
 msgstr ""
 
-#: utils/adt/formatting.c:3764
+#: storage/page/bufpage.c:379
 #, c-format
-msgid "Writing decimal point to position %d"
+msgid "corrupted item pointer: %u"
 msgstr ""
 
-#: utils/adt/formatting.c:3813
+#: storage/page/bufpage.c:394
 #, c-format
-msgid "Writing digit '%c' to position %d"
+msgid "corrupted item lengths: total %u, available space %u"
 msgstr ""
 
-#: utils/adt/formatting.c:3857
-msgid "to_number(): RN is not supported"
+#: storage/page/bufpage.c:492
+#, c-format
+msgid "corrupted item pointer: offset = %u size = %u"
 msgstr ""
 
-#: utils/adt/formatting.c:3979
+#: storage/smgr/smgr.c:176
 #, c-format
-msgid ""
-"\n"
-"\tNUM: '%s'\n"
-"\tPRE: %d\n"
-"\tPOST: %d\n"
-"\tNUM_COUNT: %d\n"
-"\tNUM_PRE: %d\n"
-"\tSIGN_POS: %d\n"
-"\tSIGN_WROTE: %s\n"
-"\tZERO: %s\n"
-"\tZERO_START: %d\n"
-"\tZERO_END: %d\n"
-"\tLAST_RELEVANT: %s"
-msgstr ""
-"\n"
-"\tNUM: '%s'\n"
-"\tPRE: %d\n"
-"\tPOST: %d\n"
-"\tNUM_COUNT: %d\n"
-"\tNUM_PRE: %d\n"
-"\tSIGN_POS: %d\n"
-"\tSIGN_WROTE: %s\n"
-"\tZERO: %s\n"
-"\tZERO_START: %d\n"
-"\tZERO_END: %d\n"
-"\tLAST_RELEVANT: %s"
+msgid "could not create \"%s\": %m"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÏÚÄÁÔØ \"%s\": %m"
 
-#: utils/adt/formatting.c:4244
+#: storage/smgr/smgr.c:251
 #, c-format
-msgid "TO_NUMBER (number): '%s'"
-msgstr ""
+msgid "could not extend \"%s\": %m"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÒÁÓÛÉÒÉÔØ \"%s\": %m"
 
-#: utils/adt/geo_ops.c:290
-msgid "Too many points requested"
+#: storage/smgr/smgr.c:253
+msgid "Check free disk space."
 msgstr ""
 
-#: utils/adt/geo_ops.c:311
-msgid "Unable to format path"
-msgstr ""
+#: storage/smgr/smgr.c:295
+#, c-format
+msgid "could not close \"%s\": %m"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÚÁËÒÙÔØ \"%s\": %m"
 
-#: utils/adt/geo_ops.c:383
+#: storage/smgr/smgr.c:321
 #, c-format
-msgid "Bad box external representation '%s'"
+msgid "could not read block %d of \"%s\": %m"
 msgstr ""
 
-#: utils/adt/geo_ops.c:842
+#: storage/smgr/smgr.c:347
 #, c-format
-msgid "Bad line external representation '%s'"
+msgid "could not write block %d of \"%s\": %m"
 msgstr ""
 
-#: utils/adt/geo_ops.c:847 utils/adt/geo_ops.c:911
-msgid "line not yet implemented"
+#: storage/smgr/smgr.c:378
+#, c-format
+msgid "could not write block %d of %u/%u blind: %m"
 msgstr ""
 
-#: utils/adt/geo_ops.c:1237 utils/adt/geo_ops.c:1258
+#: storage/smgr/smgr.c:407
 #, c-format
-msgid "Bad path external representation '%s'"
+msgid "could not count blocks of \"%s\": %m"
 msgstr ""
 
-#: utils/adt/geo_ops.c:1574
+#: storage/smgr/smgr.c:439
 #, c-format
-msgid "Bad point external representation '%s'"
+msgid "could not truncate \"%s\" to %u blocks: %m"
 msgstr ""
 
-#: utils/adt/geo_ops.c:1770
+#: storage/smgr/smgr.c:483
 #, c-format
-msgid "Bad lseg external representation '%s'"
+msgid "could not unlink %u/%u: %m"
 msgstr ""
 
-#: utils/adt/geo_ops.c:2320
-msgid "dist_lb not implemented"
+#: tcop/fastpath.c:106
+#: tcop/fastpath.c:450
+#: tcop/fastpath.c:573
+#, c-format
+msgid "invalid argument size %d in function call message"
 msgstr ""
 
-#: utils/adt/geo_ops.c:2831
-msgid "close_lb not implemented"
+#: tcop/fastpath.c:305
+#: tcop/postgres.c:796
+#: tcop/postgres.c:1116
+#: tcop/postgres.c:1574
+msgid "current transaction is aborted, queries ignored until end of transaction block"
 msgstr ""
 
-#: utils/adt/geo_ops.c:3108
-msgid "Unable to create bounding box for empty polygon"
+#: tcop/fastpath.c:420
+#: tcop/fastpath.c:543
+#, c-format
+msgid "function call message contains %d arguments but function requires %d"
 msgstr ""
 
-#: utils/adt/geo_ops.c:3130 utils/adt/geo_ops.c:3140
+#: tcop/fastpath.c:428
 #, c-format
-msgid "Bad polygon external representation '%s'"
+msgid "function call message contains %d argument formats but %d arguments"
 msgstr ""
 
-#: utils/adt/geo_ops.c:3428
-msgid "poly_distance not implemented"
+#: tcop/fastpath.c:511
+#: tcop/fastpath.c:596
+#, c-format
+msgid "incorrect binary data format in function argument %d"
 msgstr ""
 
-#: utils/adt/geo_ops.c:3507
-msgid "point_div:  divide by 0.0 error"
+#: tcop/postgres.c:331
+#: tcop/postgres.c:343
+#: tcop/postgres.c:354
+#: tcop/postgres.c:366
+#: tcop/postgres.c:3068
+#, c-format
+msgid "invalid frontend message type %d"
 msgstr ""
 
-#: utils/adt/geo_ops.c:3626
-msgid "too many points requested."
-msgstr ""
+#: tcop/postgres.c:464
+#, c-format
+msgid "query: %s"
+msgstr "ÚÁÐÒÏÓ: %s"
 
-#: utils/adt/geo_ops.c:3734
-msgid "path_center not implemented"
+#: tcop/postgres.c:563
+msgid "copyObject failed to produce an equal parse tree"
 msgstr ""
 
-#: utils/adt/geo_ops.c:3749
-msgid "Open path cannot be converted to polygon"
+#: tcop/postgres.c:608
+msgid "copyObject failed to produce an equal plan tree"
 msgstr ""
 
-#: utils/adt/geo_ops.c:3914 utils/adt/geo_ops.c:3922 utils/adt/geo_ops.c:3935
-#: utils/adt/geo_ops.c:3939
+#: tcop/postgres.c:963
 #, c-format
-msgid "Bad circle external representation '%s'"
-msgstr ""
-
-#: utils/adt/geo_ops.c:3959 utils/adt/geo_ops.c:3965
-msgid "Unable to format circle"
-msgstr ""
-
-#: utils/adt/geo_ops.c:4445
-msgid "Unable to convert circle to polygon"
+msgid "duration_statement: %ld.%06ld %s"
 msgstr ""
 
-#: utils/adt/geo_ops.c:4452
-msgid "too many points requested"
+#: tcop/postgres.c:974
+#, c-format
+msgid "duration: %ld.%06ld sec"
 msgstr ""
 
-#: utils/adt/geo_ops.c:4485 utils/adt/geo_ops.c:4506
-msgid "Unable to convert polygon to circle"
+#: tcop/postgres.c:1080
+msgid "cannot insert multiple commands into a prepared statement"
 msgstr ""
 
-#: utils/adt/int.c:96
-msgid "int2vector value has too many values"
+#: tcop/postgres.c:1274
+#, c-format
+msgid "bind message has %d parameter formats but %d parameters"
 msgstr ""
 
-#: utils/adt/int.c:197
+# [SM]: TO REVIEW
+#: tcop/postgres.c:1287
+#: tcop/postgres.c:1651
+msgid "unnamed prepared statement does not exist"
+msgstr "ÂÅÚÙÍÑÎÎÁÑ ÚÁÇÏÔÏ×ÌÅÎÎÁÑ ËÏÍÁÎÄÁ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
+
+#: tcop/postgres.c:1293
 #, c-format
-msgid "i4toi2: '%d' causes int2 underflow"
+msgid "bind message supplies %d parameters, but prepared statement \"%s\" requires %d"
 msgstr ""
 
-#: utils/adt/int.c:199
+#: tcop/postgres.c:1423
 #, c-format
-msgid "i4toi2: '%d' causes int2 overflow"
+msgid "incorrect binary data format in bind parameter %d"
 msgstr ""
 
-#: utils/adt/int8.c:101 utils/adt/int8.c:125
-#, c-format
-msgid "Bad int8 external representation \"%s\""
+#: tcop/postgres.c:1800
+msgid "terminating connection due to crash of another backend"
 msgstr ""
 
-#: utils/adt/int8.c:114
-#, c-format
-msgid "int8 value out of range: \"%s\""
+#: tcop/postgres.c:1801
+msgid "The postmaster has commanded this backend to roll back the current transaction and exit, because another backend exited abnormally and possibly corrupted shared memory."
 msgstr ""
 
-#: utils/adt/int8.c:157
-msgid "Unable to format int8"
+#: tcop/postgres.c:1805
+msgid "In a moment you should be able to reconnect to the database and repeat your query."
 msgstr ""
 
-#: utils/adt/int8.c:748
-msgid "int8 conversion to int4 is out of range"
+#: tcop/postgres.c:1920
+msgid "floating-point exception"
 msgstr ""
 
-#: utils/adt/int8.c:771
-msgid "int8 conversion to int2 is out of range"
+#: tcop/postgres.c:1921
+msgid "An invalid floating-point operation was signaled. This probably means an out-of-range result or an invalid operation, such as division by zero."
 msgstr ""
 
-#: utils/adt/int8.c:807 utils/adt/int8.c:844
-msgid "Floating point conversion to int8 is out of range"
+#: tcop/postgres.c:1956
+msgid "terminating connection due to administrator command"
 msgstr ""
 
-#: utils/adt/int8.c:859
-msgid "int8 conversion to OID is out of range"
+#: tcop/postgres.c:1965
+msgid "canceling query due to user request"
 msgstr ""
 
-#: utils/adt/like.c:451 utils/adt/like_match.c:289 utils/adt/regexp.c:400
-msgid "ESCAPE string must be empty or one character"
+#: tcop/postgres.c:2473
+msgid "query-level statistics are disabled because parser, planner, or executor statistics are on"
 msgstr ""
 
-#: utils/adt/mac.c:61
-#, c-format
-msgid "macaddr_in: error in parsing \"%s\""
+#: tcop/postgres.c:2556
+msgid "invalid backend command-line arguments"
 msgstr ""
 
-#: utils/adt/mac.c:66
+#: tcop/postgres.c:2557
+#: tcop/postgres.c:2573
+msgid "Try -? for help."
+msgstr "îÁÂÅÒÉÔÅ -? ÄÌÑ ÐÏÄÓËÁÚËÉ."
+
+#: tcop/postgres.c:2571
 #, c-format
-msgid "macaddr_in: illegal address \"%s\""
-msgstr ""
+msgid "%s: invalid command-line arguments"
+msgstr "%s: ÎÅ×ÅÒÎÙÅ ÁÒÇÕÍÅÎÔÙ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ"
 
-#: utils/adt/mac.c:139
-msgid "Text is too long to convert to MAC address"
+#: tcop/postgres.c:2581
+#, c-format
+msgid "%s: no database nor user name specified"
 msgstr ""
 
-#: utils/adt/nabstime.c:340 utils/adt/nabstime.c:373
+#: tcop/postgres.c:2981
 #, c-format
-msgid "Invalid timezone '%s'"
+msgid "invalid CLOSE message subtype %d"
 msgstr ""
 
-#: utils/adt/nabstime.c:477
+#: tcop/postgres.c:3011
 #, c-format
-msgid "Bad abstime external representation (too long) '%s'"
+msgid "invalid DESCRIBE message subtype %d"
 msgstr ""
 
-#: utils/adt/nabstime.c:481
+#: tcop/pquery.c:352
 #, c-format
-msgid "Bad abstime external representation '%s'"
+msgid "bind message has %d result formats but query has %d columns"
 msgstr ""
 
-#: utils/adt/nabstime.c:511
+#: tcop/pquery.c:415
+#: tcop/pquery.c:927
 #, c-format
-msgid "Bad abstime (internal coding error) '%s'"
+msgid "portal \"%s\" cannot be run anymore"
 msgstr ""
 
-#: utils/adt/nabstime.c:702 utils/adt/nabstime.c:770
-msgid "Unable to convert timestamp to abstime"
+#: tcop/pquery.c:601
+msgid "cursor can only scan forward"
 msgstr ""
 
-#: utils/adt/nabstime.c:726
-msgid "Unable to convert abstime 'invalid' to timestamp"
+#: tcop/pquery.c:602
+msgid "Declare it with SCROLL option to enable backward scan."
 msgstr ""
 
-#: utils/adt/nabstime.c:741
-msgid ""
-"Unable to convert ABSTIME to TIMESTAMP\n"
-"\tabstime_timestamp() internal error"
-msgstr ""
+#: tcop/utility.c:75
+#, c-format
+msgid "table \"%s\" does not exist"
+msgstr "ÔÁÂÌÉÃÁ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: utils/adt/nabstime.c:794
-msgid "Unable to convert abstime 'invalid' to timestamptz"
+#: tcop/utility.c:77
+msgid "Use DROP TABLE to remove a table."
 msgstr ""
 
-#: utils/adt/nabstime.c:809
-msgid ""
-"Unable to convert ABSTIME to TIMESTAMP WITH TIME ZONE\n"
-"\tabstime_timestamptz() internal error"
+#: tcop/utility.c:80
+#, c-format
+msgid "sequence \"%s\" does not exist"
+msgstr "ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
+
+#: tcop/utility.c:82
+msgid "Use DROP SEQUENCE to remove a sequence."
 msgstr ""
 
-#: utils/adt/nabstime.c:840
+#: tcop/utility.c:85
 #, c-format
-msgid "Bad reltime external representation (too long) '%s'"
+msgid "view \"%s\" does not exist"
+msgstr "×ÉÄ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
+
+#: tcop/utility.c:87
+msgid "Use DROP VIEW to remove a view."
 msgstr ""
 
-#: utils/adt/nabstime.c:844
+#: tcop/utility.c:90
 #, c-format
-msgid "Bad reltime external representation '%s'"
+msgid "index \"%s\" does not exist"
 msgstr ""
 
-#: utils/adt/nabstime.c:854
+#: tcop/utility.c:91
 #, c-format
-msgid "Bad reltime (internal coding error) '%s'"
+msgid "\"%s\" is not an index"
+msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÉÎÄÅËÓÏÍ"
+
+#: tcop/utility.c:92
+msgid "Use DROP INDEX to remove an index."
 msgstr ""
 
-#: utils/adt/nabstime.c:912
+#: tcop/utility.c:96
 #, c-format
-msgid "Unable to decode tinterval '%s'"
-msgstr ""
+msgid "\"%s\" is not a type"
+msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÔÉÐÏÍ"
 
-#: utils/adt/nabstime.c:1025
-msgid "Unable to convert reltime 'invalid' to interval"
+#: tcop/utility.c:97
+msgid "Use DROP TYPE to remove a type."
 msgstr ""
 
-#: utils/adt/network.c:64
-#, c-format
-msgid "invalid %s value '%s'"
+#: tcop/utility.c:602
+#: tcop/utility.c:664
+msgid "must be superuser to alter owner"
 msgstr ""
 
-#: utils/adt/network.c:75
-#, c-format
-msgid "invalid CIDR value '%s': has bits set to right of mask"
+#: tcop/utility.c:984
+msgid "must be superuser to do CHECKPOINT"
 msgstr ""
 
-#: utils/adt/network.c:127 utils/adt/network.c:468
-#, c-format
-msgid "unable to print address (%s)"
+#: utils/adt/array_userfuncs.c:50
+msgid "could not determine input data types"
 msgstr ""
 
-#: utils/adt/network.c:137 utils/adt/network.c:401 utils/adt/network.c:438
-#: utils/adt/network.c:472 utils/adt/network.c:517 utils/adt/network.c:556
-#: utils/adt/network.c:597 utils/adt/network.c:633
-#, c-format
-msgid "unknown address family (%d)"
+#: utils/adt/array_userfuncs.c:72
+msgid "neither input type is an array"
 msgstr ""
 
-#: utils/adt/network.c:184
-#, c-format
-msgid "set_masklen - invalid value '%d'"
+#: utils/adt/array_userfuncs.c:99
+msgid "input must be empty or one-dimensional array"
 msgstr ""
 
-#: utils/adt/network.c:225 utils/adt/network.c:314 utils/adt/network.c:334
-#: utils/adt/network.c:354 utils/adt/network.c:374
-#, c-format
-msgid "cannot compare address families %d and %d"
+#: utils/adt/array_userfuncs.c:198
+#: utils/adt/array_userfuncs.c:210
+#: utils/adt/array_userfuncs.c:247
+#: utils/adt/array_userfuncs.c:280
+#: utils/adt/array_userfuncs.c:308
+msgid "cannot concatenate incompatible arrays"
 msgstr ""
 
-#: utils/adt/network.c:397 utils/adt/network.c:428
+#: utils/adt/array_userfuncs.c:199
 #, c-format
-msgid "unable to print host (%s)"
+msgid "Arrays of %d and %d dimensions are not compatible for concatenation."
 msgstr ""
 
-#: utils/adt/network.c:652
+#: utils/adt/array_userfuncs.c:211
 #, c-format
-msgid "convert_network_to_scalar: unsupported type %u"
+msgid "Arrays with element types %s and %s are not compatible for concatenation."
 msgstr ""
 
-#: utils/adt/not_in.c:62
-msgid "int4notin: must provide relationname.attributename"
+#: utils/adt/array_userfuncs.c:248
+msgid "Arrays with differing element dimensions are not compatible for concatenation."
 msgstr ""
 
-#: utils/adt/numeric.c:1512
-msgid "Cannot convert NaN to int4"
+#: utils/adt/array_userfuncs.c:281
+#: utils/adt/array_userfuncs.c:309
+msgid "Arrays with differing dimensions are not compatible for concatenation."
 msgstr ""
 
-#: utils/adt/numeric.c:1562
-msgid "Cannot convert NaN to int8"
+#: utils/adt/array_userfuncs.c:354
+#, c-format
+msgid "invalid array element type: %u"
 msgstr ""
 
-#: utils/adt/numeric.c:1613
-msgid "Cannot convert NaN to int2"
+#: utils/adt/array_userfuncs.c:358
+#: utils/adt/arrayfuncs.c:893
+#: utils/adt/arrayfuncs.c:2233
+#, c-format
+msgid "invalid number of dimensions: %d"
 msgstr ""
 
-#: utils/adt/numeric.c:1809
-msgid "do_numeric_accum: expected 3-element numeric array"
+#: utils/adt/acl.c:102
+#: utils/adt/name.c:90
+msgid "identifier too long"
 msgstr ""
 
-#: utils/adt/numeric.c:1900
-msgid "numeric_avg: expected 3-element numeric array"
+#: utils/adt/acl.c:103
+#: utils/adt/name.c:91
+#, c-format
+msgid "Identifier must be less than %d characters."
 msgstr ""
 
-#: utils/adt/numeric.c:1936
-msgid "numeric_variance: expected 3-element numeric array"
+#: utils/adt/acl.c:190
+#, c-format
+msgid "unrecognized keyword: \"%s\""
 msgstr ""
 
-#: utils/adt/numeric.c:2018
-msgid "numeric_stddev: expected 3-element numeric array"
+#: utils/adt/acl.c:191
+msgid "ACL keyword must be \"group\" or \"user\"."
 msgstr ""
 
-#: utils/adt/numeric.c:2214
-msgid "int2_avg_accum: expected 2-element int8 array"
+#: utils/adt/acl.c:196
+msgid "missing name"
 msgstr ""
 
-#: utils/adt/numeric.c:2234
-msgid "int4_avg_accum: expected 2-element int8 array"
+#: utils/adt/acl.c:197
+msgid "A name must follow the [group|user] keyword."
 msgstr ""
 
-#: utils/adt/numeric.c:2252
-msgid "int8_avg: expected 2-element int8 array"
+#: utils/adt/acl.c:205
+msgid "missing \"=\" sign"
 msgstr ""
 
-#: utils/adt/numeric.c:2443 utils/adt/numeric.c:2458 utils/adt/numeric.c:2476
-#: utils/adt/numeric.c:2480 utils/adt/numeric.c:2491
+#: utils/adt/acl.c:252
 #, c-format
-msgid "Bad numeric input format '%s'"
+msgid "invalid mode character: must be one of \"%s\""
 msgstr ""
 
-#: utils/adt/numeric.c:2810
-#, c-format
-msgid ""
-"overflow on numeric ABS(value) >= 10^%d for field with precision %d scale %d"
+#: utils/adt/acl.c:282
+msgid "a name must follow the \"/\" sign"
 msgstr ""
 
-#: utils/adt/numeric.c:3269
-msgid "division by zero on numeric"
+#: utils/adt/acl.c:291
+#, c-format
+msgid "defaulting grantor to %u"
 msgstr ""
 
-#: utils/adt/numeric.c:3650
-msgid "math error on numeric - cannot compute SQRT of negative value"
+#: utils/adt/acl.c:350
+msgid "extra garbage at the end of the ACL specification"
 msgstr ""
 
-#: utils/adt/numeric.c:3739
-msgid "argument for EXP() too big"
+#: utils/adt/acl.c:703
+msgid "dependent privileges exist"
 msgstr ""
 
-#: utils/adt/numeric.c:3818
-msgid "math error on numeric - cannot compute LN of value <= zero"
+#: utils/adt/acl.c:704
+msgid "Use CASCADE to revoke them too."
 msgstr ""
 
-#: utils/adt/numutils.c:71
-msgid "pg_atoi: NULL pointer"
+#: utils/adt/acl.c:780
+msgid "cannot remove the world ACL"
 msgstr ""
 
-#: utils/adt/numutils.c:73
-msgid "pg_atoi: zero-length string"
+#: utils/adt/acl.c:850
+msgid "cannot specify both user and group"
 msgstr ""
 
-#: utils/adt/numutils.c:83 utils/adt/numutils.c:95 utils/adt/numutils.c:100
-#: utils/adt/numutils.c:108 utils/adt/numutils.c:113 utils/adt/numutils.c:120
-#: utils/adt/numutils.c:125
+#: utils/adt/acl.c:911
+#: utils/adt/acl.c:1136
+#: utils/adt/acl.c:1348
+#: utils/adt/acl.c:1552
+#: utils/adt/acl.c:1756
+#: utils/adt/acl.c:1965
 #, c-format
-msgid "pg_atoi: error reading \"%s\": %m"
+msgid "unrecognized privilege type: \"%s\""
 msgstr ""
 
-#: utils/adt/numutils.c:85
+#: utils/adt/acl.c:1525
 #, c-format
-msgid "pg_atoi: error in \"%s\": can't parse \"%s\""
+msgid "function \"%s\" does not exist"
+msgstr "ÆÕÎËÃÉÑ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
+
+#: utils/adt/like.c:453
+#: utils/adt/like_match.c:291
+#: utils/adt/regexp.c:459
+msgid "invalid escape string"
 msgstr ""
 
-#: utils/adt/numutils.c:129
-#, c-format
-msgid "pg_atoi: invalid result size: %d"
+#: utils/adt/like.c:454
+#: utils/adt/like_match.c:292
+#: utils/adt/regexp.c:460
+msgid "Escape string must be empty or one character."
 msgstr ""
 
-#: utils/adt/oid.c:46
-#, c-format
-msgid "%s: error reading \"%s\": %m"
+#: utils/adt/arrayfuncs.c:219
+#: utils/adt/arrayfuncs.c:231
+msgid "missing dimension value"
 msgstr ""
 
-#: utils/adt/oid.c:49 utils/adt/oid.c:63
-#, c-format
-msgid "%s: error in \"%s\": can't parse \"%s\""
+#: utils/adt/arrayfuncs.c:241
+msgid "missing \"]\" in array dimensions"
 msgstr ""
 
-#: utils/adt/oid.c:84
-#, c-format
-msgid "%s: error reading \"%s\": %s"
+#: utils/adt/arrayfuncs.c:249
+msgid "upper bound cannot be less than lower bound"
 msgstr ""
 
-#: utils/adt/oid.c:138
-msgid "oidvector value has too many values"
+#: utils/adt/arrayfuncs.c:261
+msgid "array value must start with \"{\" or dimension information"
 msgstr ""
 
-#: utils/adt/oracle_compat.c:199 utils/adt/oracle_compat.c:294
-msgid "Requested length too large"
+#: utils/adt/arrayfuncs.c:272
+msgid "missing assignment operator"
 msgstr ""
 
-#: utils/adt/oracle_compat.c:857
-msgid "Requested buffer is too large."
+#: utils/adt/arrayfuncs.c:300
+msgid "missing left brace"
 msgstr ""
 
-#: utils/adt/pg_locale.c:160
-msgid "Invalid LC_COLLATE setting"
+#: utils/adt/arrayfuncs.c:358
+#: utils/adt/arrayfuncs.c:367
+#: utils/adt/arrayfuncs.c:392
+#: utils/adt/arrayfuncs.c:486
+#: utils/adt/arrayfuncs.c:498
+#: utils/adt/arrayfuncs.c:519
+#: utils/adt/arrayfuncs.c:534
+#: utils/adt/arrayfuncs.c:572
+#, c-format
+msgid "malformed array literal: \"%s\""
 msgstr ""
 
-#: utils/adt/pgstatfuncs.c:188
-msgid ""
-"pg_stat_get_backend_idset: called in context that does not accept a set "
-"result"
+#: utils/adt/arrayfuncs.c:904
+msgid "invalid array flags"
 msgstr ""
 
-#: utils/adt/pgstatfuncs.c:193
-msgid "No function memory context in set-function"
+#: utils/adt/arrayfuncs.c:912
+msgid "wrong element type"
 msgstr ""
 
-#: utils/adt/pseudotypes.c:35 utils/adt/pseudotypes.c:86
-#: utils/adt/pseudotypes.c:109 utils/adt/pseudotypes.c:157
-#: utils/adt/pseudotypes.c:180 utils/adt/pseudotypes.c:203
-#: utils/adt/pseudotypes.c:226
+#: utils/adt/arrayfuncs.c:955
+#: utils/cache/lsyscache.c:1709
 #, c-format
-msgid "Cannot accept a constant of type %s"
+msgid "no binary input function available for type %s"
 msgstr ""
 
-#: utils/adt/pseudotypes.c:46 utils/adt/pseudotypes.c:97
-#: utils/adt/pseudotypes.c:168 utils/adt/pseudotypes.c:191
-#: utils/adt/pseudotypes.c:214 utils/adt/pseudotypes.c:237
+#: utils/adt/arrayfuncs.c:1050
 #, c-format
-msgid "Cannot display a value of type %s"
+msgid "improper binary format in array element %d"
 msgstr ""
 
-#: utils/adt/regexp.c:166
+#: utils/adt/arrayfuncs.c:1129
+#: utils/cache/lsyscache.c:1745
 #, c-format
-msgid "Invalid regular expression: %s"
+msgid "no binary output function available for type %s"
 msgstr ""
 
-#: utils/adt/regproc.c:115 utils/adt/regproc.c:130 utils/adt/regproc.c:258
-#, c-format
-msgid "No procedure with name %s"
+#: utils/adt/arrayfuncs.c:1479
+msgid "slices of fixed-length arrays not implemented"
 msgstr ""
 
-#: utils/adt/regproc.c:117 utils/adt/regproc.c:132
-#, c-format
-msgid "There is more than one procedure named %s"
+#: utils/adt/arrayfuncs.c:1617
+#: utils/adt/arrayfuncs.c:1622
+#: utils/adt/arrayfuncs.c:1662
+#: utils/adt/arrayfuncs.c:1684
+#: utils/adt/arrayfuncs.c:1696
+#: utils/adt/arrayfuncs.c:1851
+#: utils/adt/arrayfuncs.c:1868
+#: utils/adt/arrayfuncs.c:1879
+#: utils/adt/arrayfuncs.c:1888
+#: utils/adt/arrayfuncs.c:1899
+msgid "invalid array subscripts"
 msgstr ""
 
-#: utils/adt/regproc.c:413 utils/adt/regproc.c:428 utils/adt/regproc.c:576
-#, c-format
-msgid "No operator with name %s"
+#: utils/adt/arrayfuncs.c:1813
+msgid "updates on slices of fixed-length arrays not implemented"
 msgstr ""
 
-#: utils/adt/regproc.c:415 utils/adt/regproc.c:430
-#, c-format
-msgid "There is more than one operator named %s"
+#: utils/adt/arrayfuncs.c:1911
+msgid "source array too small"
 msgstr ""
 
-#: utils/adt/regproc.c:556
-msgid ""
-"regoperatorin: use NONE to denote the missing argument of a unary operator"
+#: utils/adt/arrayfuncs.c:2135
+#: utils/adt/arrayfuncs.c:3031
+msgid "NULL array elements not supported"
 msgstr ""
 
-#: utils/adt/regproc.c:558
-msgid "regoperatorin: provide two argument types for operator"
+#: utils/adt/arrayfuncs.c:2375
+#: utils/adt/arrayfuncs.c:2530
+msgid "cannot compare arrays of different element types"
 msgstr ""
 
-#: utils/adt/regproc.c:726
+#: utils/adt/arrayfuncs.c:2547
 #, c-format
-msgid "No class with name %s"
+msgid "could not identify a comparison function for type %s"
 msgstr ""
 
-#: utils/adt/regproc.c:870
-#, c-format
-msgid "No type with name %s"
+#: utils/adt/arrayfuncs.c:2921
+msgid "could not determine target array type"
 msgstr ""
 
-#: utils/adt/regproc.c:955 utils/adt/regproc.c:958 utils/adt/varlena.c:1367
-#: utils/adt/varlena.c:1370
-#, c-format
-msgid "%s: invalid name syntax"
+#: utils/adt/arrayfuncs.c:2927
+msgid "target type is not an array"
 msgstr ""
 
-#: utils/adt/regproc.c:1015
-#, c-format
-msgid "%s: expected a left parenthesis"
+#: utils/adt/arrayfuncs.c:2939
+msgid "array coercion to domain type elements not currently supported"
 msgstr ""
 
-#: utils/adt/regproc.c:1029
+#: utils/adt/ascii.c:68
 #, c-format
-msgid "%s: expected a right parenthesis"
-msgstr ""
+msgid "unsupported encoding conversion from %s to ASCII"
+msgstr "ËÏÎ×ÅÒÓÉÑ ËÏÄÉÒÏ×ËÉ ÉÚ %s × ASCII ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
 
-#: utils/adt/regproc.c:1045
+#: utils/adt/bool.c:80
 #, c-format
-msgid "%s: expected a type name"
+msgid "invalid input syntax for boolean: \"%s\""
 msgstr ""
 
-#: utils/adt/regproc.c:1075
+#: utils/adt/cash.c:198
 #, c-format
-msgid "%s: improper type name"
+msgid "invalid input syntax for money: \"%s\""
 msgstr ""
 
-#: utils/adt/regproc.c:1107
+#: utils/adt/cash.c:496
+#: utils/adt/cash.c:548
+#: utils/adt/cash.c:601
+#: utils/adt/cash.c:653
+#: utils/adt/char.c:186
+#: utils/adt/float.c:571
+#: utils/adt/float.c:635
+#: utils/adt/float.c:1857
+#: utils/adt/float.c:1919
+#: utils/adt/geo_ops.c:3809
+#: utils/adt/int.c:644
+#: utils/adt/int.c:709
+#: utils/adt/int.c:750
+#: utils/adt/int.c:791
+#: utils/adt/int.c:805
+#: utils/adt/int.c:819
+#: utils/adt/int.c:833
+#: utils/adt/int.c:847
+#: utils/adt/int8.c:526
+#: utils/adt/int8.c:555
+#: utils/adt/int8.c:653
+#: utils/adt/int8.c:694
+#: utils/adt/numeric.c:3639
+#: utils/adt/timestamp.c:2007
+msgid "division by zero"
+msgstr "ÄÅÌÅÎÉÅ ÎÁ ÎÏÌØ"
+
+#: utils/adt/date.c:72
+#: utils/adt/date.c:78
+#: utils/adt/date.c:100
+#: utils/adt/date.c:529
 #, c-format
-msgid "%s: too many argument datatypes"
+msgid "invalid input syntax for date: \"%s\""
 msgstr ""
 
-#: utils/adt/ri_triggers.c:186
-msgid "RI_FKey_check() not fired by trigger manager"
-msgstr ""
+#: utils/adt/date.c:88
+#: utils/adt/datetime.c:1276
+#: utils/adt/datetime.c:2027
+msgid "\"current\" is no longer supported"
+msgstr "\"current\" ÂÏÌØÛÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
 
-#: utils/adt/ri_triggers.c:189
-msgid "RI_FKey_check() must be fired AFTER ROW"
+#: utils/adt/date.c:369
+#: utils/adt/date.c:441
+#: utils/adt/date.c:1004
+#: utils/adt/date.c:1041
+#: utils/adt/date.c:1946
+#: utils/adt/formatting.c:2832
+#: utils/adt/formatting.c:2857
+#: utils/adt/formatting.c:3146
+#: utils/adt/nabstime.c:631
+#: utils/adt/nabstime.c:674
+#: utils/adt/nabstime.c:704
+#: utils/adt/nabstime.c:747
+#: utils/adt/timestamp.c:158
+#: utils/adt/timestamp.c:388
+#: utils/adt/timestamp.c:1740
+#: utils/adt/timestamp.c:1761
+#: utils/adt/timestamp.c:1818
+#: utils/adt/timestamp.c:1841
+#: utils/adt/timestamp.c:2223
+#: utils/adt/timestamp.c:2334
+#: utils/adt/timestamp.c:2568
+#: utils/adt/timestamp.c:2619
+#: utils/adt/timestamp.c:2676
+#: utils/adt/timestamp.c:2728
+#: utils/adt/timestamp.c:2974
+#: utils/adt/timestamp.c:3080
+#: utils/adt/timestamp.c:3087
+#: utils/adt/timestamp.c:3100
+#: utils/adt/timestamp.c:3108
+#: utils/adt/timestamp.c:3182
+#: utils/adt/timestamp.c:3301
+#: utils/adt/timestamp.c:3309
+#: utils/adt/timestamp.c:3588
+#: utils/adt/timestamp.c:3595
+#: utils/adt/timestamp.c:3622
+#: utils/adt/timestamp.c:3626
+msgid "timestamp out of range"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:192
-msgid "RI_FKey_check() must be fired for INSERT or UPDATE"
+#: utils/adt/date.c:468
+msgid "cannot convert reserved abstime value to date"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:200
-msgid "wrong # of arguments in call to RI_FKey_check()"
+#: utils/adt/date.c:570
+#: utils/adt/date.c:576
+#: utils/adt/date.c:1258
+#, c-format
+msgid "invalid input syntax for time: \"%s\""
 msgstr ""
 
-#: utils/adt/ri_triggers.c:202
+#: utils/adt/date.c:1292
+#: utils/adt/date.c:1362
+#: utils/adt/date.c:1381
+#, c-format
+msgid "TIME units \"%s\" not recognized"
+msgstr ""
+
+#: utils/adt/date.c:1435
+#: utils/adt/date.c:1442
+#: utils/adt/date.c:2024
+#, c-format
+msgid "invalid input syntax for time with time zone: \"%s\""
+msgstr ""
+
+#: utils/adt/date.c:2058
+#: utils/adt/date.c:2142
+#: utils/adt/date.c:2161
+#, c-format
+msgid "TIMETZ units \"%s\" not recognized"
+msgstr ""
+
+#: utils/adt/date.c:2191
+#: utils/adt/date.c:2228
+#: utils/adt/timestamp.c:3502
+#: utils/adt/timestamp.c:3527
+#: utils/adt/timestamp.c:3654
+#: utils/adt/timestamp.c:3678
 #, c-format
-msgid "too many keys (%d max) in call to RI_FKey_check()"
+msgid "time zone \"%s\" not recognized"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:216 utils/adt/ri_triggers.c:759
-#: utils/adt/ri_triggers.c:989 utils/adt/ri_triggers.c:1225
-#: utils/adt/ri_triggers.c:1433 utils/adt/ri_triggers.c:1677
-#: utils/adt/ri_triggers.c:1900 utils/adt/ri_triggers.c:2128
-#: utils/adt/ri_triggers.c:2347 utils/adt/ri_triggers.c:2612
-#: utils/adt/ri_triggers.c:2875 utils/adt/ri_triggers.c:3146
+#: utils/adt/date.c:2250
 #, c-format
-msgid ""
-"No target table given for trigger \"%s\" on \"%s\"\n"
-"\tRemove these RI triggers and do ALTER TABLE ADD CONSTRAINT"
+msgid "INTERVAL time zone \"%s\" not legal"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:292 utils/adt/ri_triggers.c:403
-#: utils/adt/ri_triggers.c:608
-msgid "SPI_connect() failed in RI_FKey_check()"
+#: utils/adt/datetime.c:1458
+#: utils/adt/datetime.c:2302
+#: utils/adt/formatting.c:3074
+#, c-format
+msgid "inconsistent use of year %04d and \"BC\""
 msgstr ""
 
-#: utils/adt/ri_triggers.c:297 utils/adt/ri_triggers.c:481
-msgid "SPI_execp() failed in RI_FKey_check()"
+#: utils/adt/datum.c:80
+#: utils/adt/datum.c:92
+msgid "invalid Datum pointer"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:302
+#: utils/adt/encode.c:55
+#: utils/adt/encode.c:91
 #, c-format
-msgid "%s referential integrity violation - no rows found in %s"
+msgid "unrecognized encoding: \"%s\""
 msgstr ""
 
-#: utils/adt/ri_triggers.c:308 utils/adt/ri_triggers.c:493
-msgid "SPI_finish() failed in RI_FKey_check()"
+#: utils/adt/encode.c:150
+#, c-format
+msgid "invalid hex digit: \"%c\""
 msgstr ""
 
-#: utils/adt/ri_triggers.c:320 utils/adt/ri_triggers.c:909
-#: utils/adt/ri_triggers.c:1150 utils/adt/ri_triggers.c:1356
-#: utils/adt/ri_triggers.c:1595 utils/adt/ri_triggers.c:1817
-#: utils/adt/ri_triggers.c:2053 utils/adt/ri_triggers.c:2269
-#: utils/adt/ri_triggers.c:2537 utils/adt/ri_triggers.c:2798
-#: utils/adt/ri_triggers.c:3090 utils/adt/ri_triggers.c:3180
-msgid "MATCH PARTIAL not yet supported"
+#: utils/adt/encode.c:178
+msgid "invalid hex data: odd number of digits"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:356
-#, c-format
-msgid ""
-"%s referential integrity violation - MATCH FULL doesn't allow mixing of NULL "
-"and NON-NULL key values"
-msgstr ""
+#: utils/adt/encode.c:295
+msgid "unexpected \"=\""
+msgstr "ÎÅÏÖÉÄÁÎÎÙÊ \"=\""
 
-#: utils/adt/ri_triggers.c:380 utils/adt/ri_triggers.c:594
-msgid "MATCH PARTIAL not yet implemented"
+#: utils/adt/encode.c:307
+msgid "invalid symbol"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:486
-#, c-format
-msgid ""
-"%s referential integrity violation - key referenced from %s not found in %s"
+#: utils/adt/encode.c:327
+msgid "invalid end sequence"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:502
-msgid "internal error #1 in ri_triggers.c"
+#: utils/adt/encode.c:436
+#: utils/adt/encode.c:501
+#: utils/adt/varlena.c:117
+#: utils/adt/varlena.c:157
+msgid "invalid input syntax for bytea"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:679
-msgid "SPI_execp() failed in ri_Check_Pk_Match()"
+#: utils/adt/float.c:135
+msgid "float4 value out of range: overflow"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:686
-msgid "SPI_finish() failed in ri_Check_Pk_Match()"
+#: utils/adt/float.c:139
+msgid "float4 value out of range: underflow"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:727
-msgid "RI_FKey_noaction_del() not fired by trigger manager"
+#: utils/adt/float.c:164
+msgid "float8 value out of range: overflow"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:730
-msgid "RI_FKey_noaction_del() must be fired AFTER ROW"
+#: utils/adt/float.c:168
+msgid "float8 value out of range: underflow"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:732
-msgid "RI_FKey_noaction_del() must be fired for DELETE"
+#: utils/adt/float.c:200
+#, c-format
+msgid "invalid input syntax for float4: \"%s\""
 msgstr ""
 
-#: utils/adt/ri_triggers.c:740
-msgid "wrong # of arguments in call to RI_FKey_noaction_del()"
+#: utils/adt/float.c:208
+#, c-format
+msgid "\"%s\" is out of range for float4"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:742
+#: utils/adt/float.c:301
+#: utils/adt/numeric.c:3117
+#: utils/adt/numeric.c:3143
 #, c-format
-msgid "too many keys (%d max) in call to RI_FKey_noaction_del()"
+msgid "invalid input syntax for float8: \"%s\""
 msgstr ""
 
-#: utils/adt/ri_triggers.c:817
-msgid "SPI_connect() failed in RI_FKey_noaction_del()"
+#: utils/adt/float.c:309
+#, c-format
+msgid "\"%s\" is out of range for float8"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:887
-msgid "SPI_execp() failed in RI_FKey_noaction_del()"
+#: utils/adt/float.c:887
+#: utils/adt/float.c:906
+#: utils/adt/float.c:953
+#: utils/adt/float.c:972
+#: utils/adt/int.c:286
+#: utils/adt/int8.c:103
+#: utils/adt/int8.c:786
+#: utils/adt/int8.c:811
+#: utils/adt/int8.c:849
+#: utils/adt/int8.c:888
+#: utils/adt/numeric.c:1601
+#: utils/adt/numeric.c:1612
+#: utils/adt/numeric.c:1657
+#: utils/adt/numeric.c:1705
+#: utils/adt/numeric.c:1716
+#: utils/adt/varbit.c:1210
+#: utils/adt/varbit.c:1275
+msgid "integer out of range"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:892 utils/adt/ri_triggers.c:1133
-#: utils/adt/ri_triggers.c:1800 utils/adt/ri_triggers.c:2036
-#, c-format
-msgid "%s referential integrity violation - key in %s still referenced from %s"
+#: utils/adt/float.c:1208
+#: utils/adt/numeric.c:4035
+msgid "cannot take square root of a negative number"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:899
-msgid "SPI_finish() failed in RI_FKey_noaction_del()"
+#: utils/adt/float.c:1254
+#: utils/adt/float.c:1284
+msgid "result is out of range"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:916
-msgid "internal error #2 in ri_triggers.c"
+#: utils/adt/float.c:1304
+#: utils/adt/float.c:1330
+msgid "cannot take log of zero"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:957
-msgid "RI_FKey_noaction_upd() not fired by trigger manager"
+#: utils/adt/float.c:1309
+#: utils/adt/float.c:1335
+#: utils/adt/numeric.c:4252
+msgid "cannot take log of a negative number"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:960
-msgid "RI_FKey_noaction_upd() must be fired AFTER ROW"
+#: utils/adt/float.c:1362
+#: utils/adt/float.c:1387
+#: utils/adt/float.c:1412
+#: utils/adt/float.c:1438
+#: utils/adt/float.c:1463
+#: utils/adt/float.c:1488
+#: utils/adt/float.c:1514
+#: utils/adt/float.c:1539
+msgid "input is out of range"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:962
-msgid "RI_FKey_noaction_upd() must be fired for UPDATE"
+#: utils/adt/formatting.c:966
+msgid "\"9\" must be ahead of \"PR\""
 msgstr ""
 
-#: utils/adt/ri_triggers.c:970
-msgid "wrong # of arguments in call to RI_FKey_noaction_upd()"
+#: utils/adt/formatting.c:985
+msgid "\"0\" must be ahead of \"PR\""
 msgstr ""
 
-#: utils/adt/ri_triggers.c:972
-#, c-format
-msgid "too many keys (%d max) in call to RI_FKey_noaction_upd()"
+#: utils/adt/formatting.c:1014
+msgid "multiple decimal points"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1058
-msgid "SPI_connect() failed in RI_FKey_noaction_upd()"
+#: utils/adt/formatting.c:1021
+#: utils/adt/formatting.c:1126
+msgid "cannot use \"V\" and decimal point together"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1128
-msgid "SPI_execp() failed in RI_FKey_noaction_upd()"
+#: utils/adt/formatting.c:1036
+msgid "not unique \"S\""
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1140
-msgid "SPI_finish() failed in RI_FKey_noaction_upd()"
+#: utils/adt/formatting.c:1043
+msgid "cannot use \"S\" and \"PL\"/\"MI\"/\"SG\"/\"PR\" together"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1157
-msgid "internal error #3 in ri_triggers.c"
+#: utils/adt/formatting.c:1067
+msgid "cannot use \"S\" and \"MI\" together"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1193
-msgid "RI_FKey_cascade_del() not fired by trigger manager"
+#: utils/adt/formatting.c:1080
+msgid "cannot use \"S\" and \"PL\" together"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1196
-msgid "RI_FKey_cascade_del() must be fired AFTER ROW"
+#: utils/adt/formatting.c:1093
+msgid "cannot use \"S\" and \"SG\" together"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1198
-msgid "RI_FKey_cascade_del() must be fired for DELETE"
+#: utils/adt/formatting.c:1105
+msgid "cannot use \"PR\" and \"S\"/\"PL\"/\"MI\"/\"SG\" together"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1206
-msgid "wrong # of arguments in call to RI_FKey_cascade_del()"
+#: utils/adt/formatting.c:1135
+msgid "\"E\" is not supported"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1208
+#: utils/adt/formatting.c:1396
 #, c-format
-msgid "too many keys (%d max) in call to RI_FKey_cascade_del()"
-msgstr ""
+msgid "\"%s\" is not a number"
+msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÞÉÓÌÏÍ"
 
-#: utils/adt/ri_triggers.c:1272
-msgid "SPI_connect() failed in RI_FKey_cascade_del()"
+#: utils/adt/formatting.c:1659
+msgid "invalid AM/PM string"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1341
-msgid "SPI_execp() failed in RI_FKey_cascade_del()"
+#: utils/adt/formatting.c:2005
+msgid "\"TZ\"/\"tz\" not supported"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1346
-msgid "SPI_finish() failed in RI_FKey_cascade_del()"
-msgstr ""
+#: utils/adt/formatting.c:2015
+#, c-format
+msgid "invalid value for %s"
+msgstr "ÎÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ÄÌÑ %s"
 
-#: utils/adt/ri_triggers.c:1363
-msgid "internal error #4 in ri_triggers.c"
+#: utils/adt/formatting.c:3035
+msgid "AM/PM hour must be between 1 and 12"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1401
-msgid "RI_FKey_cascade_upd() not fired by trigger manager"
+#: utils/adt/formatting.c:3109
+msgid "cannot convert yday without year information"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1404
-msgid "RI_FKey_cascade_upd() must be fired AFTER ROW"
+#: utils/adt/formatting.c:3910
+msgid "\"RN\" not supported"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1406
-msgid "RI_FKey_cascade_upd() must be fired for UPDATE"
+#: utils/adt/geo_ops.c:292
+#: utils/adt/geo_ops.c:3930
+#: utils/adt/geo_ops.c:4820
+msgid "too many points requested"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1414
-msgid "wrong # of arguments in call to RI_FKey_cascade_upd()"
+#: utils/adt/geo_ops.c:315
+msgid "could not format path"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1416
+#: utils/adt/geo_ops.c:390
 #, c-format
-msgid "too many keys (%d max) in call to RI_FKey_cascade_upd()"
-msgstr ""
-
-#: utils/adt/ri_triggers.c:1491
-msgid "SPI_connect() failed in RI_FKey_cascade_upd()"
+msgid "invalid input syntax for box: \"%s\""
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1580
-msgid "SPI_execp() failed in RI_FKey_cascade_upd()"
+#: utils/adt/geo_ops.c:903
+#, c-format
+msgid "invalid input syntax for line: \"%s\""
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1585
-msgid "SPI_finish() failed in RI_FKey_cascade_upd()"
+#: utils/adt/geo_ops.c:910
+#: utils/adt/geo_ops.c:977
+#: utils/adt/geo_ops.c:992
+#: utils/adt/geo_ops.c:1004
+msgid "line not yet implemented"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1602
-msgid "internal error #5 in ri_triggers.c"
+#: utils/adt/geo_ops.c:1329
+#: utils/adt/geo_ops.c:1352
+#, c-format
+msgid "invalid input syntax for path: \"%s\""
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1645
-msgid "RI_FKey_restrict_del() not fired by trigger manager"
+#: utils/adt/geo_ops.c:1389
+msgid "invalid number of points in external path"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1648
-msgid "RI_FKey_restrict_del() must be fired AFTER ROW"
+#: utils/adt/geo_ops.c:1730
+#, c-format
+msgid "invalid input syntax for point: \"%s\""
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1650
-msgid "RI_FKey_restrict_del() must be fired for DELETE"
+#: utils/adt/geo_ops.c:1958
+#, c-format
+msgid "invalid input syntax for lseg: \"%s\""
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1658
-msgid "wrong # of arguments in call to RI_FKey_restrict_del()"
+#: utils/adt/geo_ops.c:2550
+msgid "dist_lb not implemented"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1660
-#, c-format
-msgid "too many keys (%d max) in call to RI_FKey_restrict_del()"
+#: utils/adt/geo_ops.c:3063
+msgid "close_lb not implemented"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1724
-msgid "SPI_connect() failed in RI_FKey_restrict_del()"
+#: utils/adt/geo_ops.c:3342
+msgid "cannot create bounding box for empty polygon"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1795
-msgid "SPI_execp() failed in RI_FKey_restrict_del()"
+#: utils/adt/geo_ops.c:3366
+#: utils/adt/geo_ops.c:3378
+#, c-format
+msgid "invalid input syntax for polygon: \"%s\""
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1807
-msgid "SPI_finish() failed in RI_FKey_restrict_del()"
+#: utils/adt/geo_ops.c:3418
+msgid "invalid number of points in external polygon"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1824
-msgid "internal error #6 in ri_triggers.c"
+#: utils/adt/geo_ops.c:3728
+msgid "poly_distance not implemented"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1868
-msgid "RI_FKey_restrict_upd() not fired by trigger manager"
+#: utils/adt/geo_ops.c:4040
+msgid "path_center not implemented"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1871
-msgid "RI_FKey_restrict_upd() must be fired AFTER ROW"
+#: utils/adt/geo_ops.c:4057
+msgid "open path cannot be converted to polygon"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1873
-msgid "RI_FKey_restrict_upd() must be fired for UPDATE"
+#: utils/adt/geo_ops.c:4224
+#: utils/adt/geo_ops.c:4234
+#: utils/adt/geo_ops.c:4249
+#: utils/adt/geo_ops.c:4255
+#, c-format
+msgid "invalid input syntax for circle: \"%s\""
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1881
-msgid "wrong # of arguments in call to RI_FKey_restrict_upd()"
+#: utils/adt/geo_ops.c:4277
+#: utils/adt/geo_ops.c:4285
+msgid "could not format circle"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1883
-#, c-format
-msgid "too many keys (%d max) in call to RI_FKey_restrict_upd()"
+#: utils/adt/geo_ops.c:4312
+msgid "invalid radius in external circle"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:1958
-msgid "SPI_connect() failed in RI_FKey_restrict_upd()"
+#: utils/adt/geo_ops.c:4806
+msgid "cannot convert zero-size circle to polygon"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2031
-msgid "SPI_execp() failed in RI_FKey_restrict_upd()"
+#: utils/adt/geo_ops.c:4811
+msgid "must request at least 2 points"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2043
-msgid "SPI_finish() failed in RI_FKey_restrict_upd()"
+#: utils/adt/geo_ops.c:4855
+#: utils/adt/geo_ops.c:4878
+msgid "cannot convert empty polygon to circle"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2060
-msgid "internal error #7 in ri_triggers.c"
+#: utils/adt/int.c:126
+msgid "int2vector has too many elements"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2096
-msgid "RI_FKey_setnull_del() not fired by trigger manager"
+#: utils/adt/int8.c:88
+#: utils/adt/int8.c:116
+#, c-format
+msgid "invalid input syntax for int8: \"%s\""
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2099
-msgid "RI_FKey_setnull_del() must be fired AFTER ROW"
+#: utils/adt/int8.c:905
+msgid "OID out of range"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2101
-msgid "RI_FKey_setnull_del() must be fired for DELETE"
+#: utils/adt/oracle_compat.c:206
+#: utils/adt/oracle_compat.c:303
+#: utils/adt/oracle_compat.c:927
+msgid "requested length too large"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2109
-msgid "wrong # of arguments in call to RI_FKey_setnull_del()"
+#: utils/adt/mac.c:65
+#, c-format
+msgid "invalid input syntax for macaddr: \"%s\""
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2111
+#: utils/adt/mac.c:72
 #, c-format
-msgid "too many keys (%d max) in call to RI_FKey_setnull_del()"
+msgid "invalid octet value in macaddr: \"%s\""
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2175
-msgid "SPI_connect() failed in RI_FKey_setnull_del()"
+#: utils/adt/mac.c:190
+msgid "text too long to convert to MAC address"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2254
-msgid "SPI_execp() failed in RI_FKey_setnull_del()"
+#: utils/adt/nabstime.c:244
+#: utils/adt/nabstime.c:280
+#, c-format
+msgid "invalid timezone name: \"%s\""
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2259
-msgid "SPI_finish() failed in RI_FKey_setnull_del()"
+#: utils/adt/nabstime.c:376
+#: utils/adt/nabstime.c:382
+#, c-format
+msgid "invalid input syntax for abstime: \"%s\""
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2276
-msgid "internal error #8 in ri_triggers.c"
+#: utils/adt/nabstime.c:657
+#: utils/adt/nabstime.c:730
+msgid "cannot convert \"invalid\" abstime to timestamp"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2315
-msgid "RI_FKey_setnull_upd() not fired by trigger manager"
+#: utils/adt/nabstime.c:779
+#: utils/adt/nabstime.c:785
+#, c-format
+msgid "invalid input syntax for reltime: \"%s\""
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2318
-msgid "RI_FKey_setnull_upd() must be fired AFTER ROW"
+#: utils/adt/nabstime.c:880
+#, c-format
+msgid "invalid input syntax for tinterval: \"%s\""
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2320
-msgid "RI_FKey_setnull_upd() must be fired for UPDATE"
+#: utils/adt/nabstime.c:943
+msgid "invalid status in external tinterval"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2328
-msgid "wrong # of arguments in call to RI_FKey_setnull_upd()"
+#: utils/adt/nabstime.c:1035
+msgid "cannot convert \"invalid\" reltime to interval"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2330
+#. translator: first %s is inet or cidr
+#: utils/adt/network.c:90
 #, c-format
-msgid "too many keys (%d max) in call to RI_FKey_setnull_upd()"
+msgid "invalid input syntax for %s: \"%s\""
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2406
-msgid "SPI_connect() failed in RI_FKey_setnull_upd()"
+#: utils/adt/network.c:102
+#, c-format
+msgid "invalid cidr value: \"%s\""
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2522
-msgid "SPI_execp() failed in RI_FKey_setnull_upd()"
+#: utils/adt/network.c:103
+#: utils/adt/network.c:229
+msgid "Value has bits set to right of mask."
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2527
-msgid "SPI_finish() failed in RI_FKey_setnull_upd()"
+#: utils/adt/network.c:149
+#: utils/adt/network.c:503
+#: utils/adt/network.c:529
+#: utils/adt/network.c:565
+#, c-format
+msgid "could not format inet value: %m"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2544
-msgid "internal error #9 in ri_triggers.c"
+#: utils/adt/network.c:194
+msgid "invalid family in external inet"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2580
-msgid "RI_FKey_setdefault_del() not fired by trigger manager"
+#: utils/adt/network.c:199
+msgid "invalid bits in external inet"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2583
-msgid "RI_FKey_setdefault_del() must be fired AFTER ROW"
+#: utils/adt/network.c:205
+msgid "invalid type in external inet"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2585
-msgid "RI_FKey_setdefault_del() must be fired for DELETE"
+#: utils/adt/network.c:210
+msgid "invalid length in external inet"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2593
-msgid "wrong # of arguments in call to RI_FKey_setdefault_del()"
+#: utils/adt/network.c:228
+msgid "invalid external CIDR value"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2595
+#: utils/adt/network.c:315
 #, c-format
-msgid "too many keys (%d max) in call to RI_FKey_setdefault_del()"
-msgstr ""
-
-#: utils/adt/ri_triggers.c:2659
-msgid "SPI_connect() failed in RI_FKey_setdefault_del()"
+msgid "invalid mask length: %d"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2783
-msgid "SPI_execp() failed in RI_FKey_setdefault_del()"
-msgstr ""
-
-#: utils/adt/ri_triggers.c:2788
-msgid "SPI_finish() failed in RI_FKey_setdefault_del()"
+#: utils/adt/not_in.c:64
+#: utils/adt/regproc.c:1110
+#: utils/adt/regproc.c:1115
+#: utils/adt/varlena.c:1618
+#: utils/adt/varlena.c:1623
+msgid "invalid name syntax"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2805
-msgid "internal error #10 in ri_triggers.c"
+#: utils/adt/not_in.c:65
+msgid "Must provide \"relationname.attributename\"."
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2843
-msgid "RI_FKey_setdefault_upd() not fired by trigger manager"
-msgstr ""
+#: utils/adt/numeric.c:403
+msgid "invalid length in external numeric"
+msgstr "'"
 
-#: utils/adt/ri_triggers.c:2846
-msgid "RI_FKey_setdefault_upd() must be fired AFTER ROW"
+#: utils/adt/numeric.c:414
+msgid "invalid sign in external numeric"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2848
-msgid "RI_FKey_setdefault_upd() must be fired for UPDATE"
+#: utils/adt/numeric.c:424
+msgid "invalid digit in external numeric"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2856
-msgid "wrong # of arguments in call to RI_FKey_setdefault_upd()"
+#: utils/adt/numeric.c:1592
+#: utils/adt/numeric.c:1648
+#: utils/adt/numeric.c:1696
+msgid "cannot convert NaN to integer"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2858
+#: utils/adt/numeric.c:2539
+#: utils/adt/numeric.c:2562
+#: utils/adt/numeric.c:2586
+#: utils/adt/numeric.c:2593
+#: utils/adt/numeric.c:2607
 #, c-format
-msgid "too many keys (%d max) in call to RI_FKey_setdefault_upd()"
+msgid "invalid input syntax for numeric: \"%s\""
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2935
-msgid "SPI_connect() failed in RI_FKey_setdefault_upd()"
+#: utils/adt/numeric.c:2905
+msgid "value overflows numeric format"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:3075
-msgid "SPI_execp() failed in RI_FKey_setdefault_upd()"
+#: utils/adt/numeric.c:2975
+msgid "numeric field overflow"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:3080
-msgid "SPI_finish() failed in RI_FKey_setdefault_upd()"
+#: utils/adt/numeric.c:2976
+#, c-format
+msgid "ABS(value) >= 10^%d for field with precision %d, scale %d."
 msgstr ""
 
-#: utils/adt/ri_triggers.c:3097
-msgid "internal error #11 in ri_triggers.c"
+#: utils/adt/numeric.c:4125
+msgid "argument for EXP() too big"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:3128
-msgid "wrong # of arguments in call to RI_FKey_keyequal_upd()"
+#: utils/adt/numeric.c:4501
+msgid "zero raised to zero is undefined"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:3130
+#: utils/adt/numutils.c:72
+#: utils/adt/numutils.c:86
+#: utils/adt/numutils.c:91
 #, c-format
-msgid "too many keys (%d max) in call to RI_FKey_keyequal_upd()"
+msgid "invalid input syntax for integer: \"%s\""
 msgstr ""
 
-#: utils/adt/ri_triggers.c:3187
-msgid "internal error #12 in ri_triggers.c"
+#: utils/adt/numutils.c:105
+#, c-format
+msgid "%s is out of range for int4"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:3252
+#: utils/adt/numutils.c:111
 #, c-format
-msgid "unrecognized referential integrity MATCH type '%s'"
+msgid "%s is out of range for int2"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:3302 utils/adt/ri_triggers.c:3310
-#: utils/adt/ri_triggers.c:3362
+#: utils/adt/numutils.c:117
 #, c-format
-msgid "constraint %s: table %s does not have an attribute %s"
+msgid "%s is out of range for int1"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:3490
-msgid "out of memory for RI plan cache"
+#: utils/adt/oid.c:49
+#: utils/adt/oid.c:54
+#: utils/adt/oid.c:75
+#, c-format
+msgid "invalid input syntax for OID: \"%s\""
 msgstr ""
 
-#: utils/adt/ri_triggers.c:3690
-msgid "out of memory for RI operator cache"
+#: utils/adt/oid.c:60
+#: utils/adt/oid.c:98
+#, c-format
+msgid "%s is out of range for OID"
 msgstr ""
 
-#: utils/adt/ruleutils.c:198
-msgid "get_ruledef: cannot connect to SPI manager"
+#: utils/adt/oid.c:176
+msgid "oidvector has too many elements"
 msgstr ""
 
-#: utils/adt/ruleutils.c:213 utils/adt/ruleutils.c:330
-#, c-format
-msgid "SPI_prepare() failed for \"%s\""
+#: utils/adt/ri_triggers.c:298
+#: utils/adt/ri_triggers.c:360
+#: utils/adt/ri_triggers.c:536
+#: utils/adt/ri_triggers.c:775
+#: utils/adt/ri_triggers.c:967
+#: utils/adt/ri_triggers.c:1129
+#: utils/adt/ri_triggers.c:1314
+#: utils/adt/ri_triggers.c:1484
+#: utils/adt/ri_triggers.c:1666
+#: utils/adt/ri_triggers.c:1837
+#: utils/adt/ri_triggers.c:2056
+#: utils/adt/ri_triggers.c:2267
+#: utils/adt/ri_triggers.c:2503
+#: utils/adt/ri_triggers.c:2599
+msgid "MATCH PARTIAL not yet implemented"
 msgstr ""
 
-#: utils/adt/ruleutils.c:224
+#: utils/adt/ri_triggers.c:334
+#: utils/adt/ri_triggers.c:3043
+#: utils/adt/ri_triggers.c:3080
 #, c-format
-msgid "failed to get pg_rewrite tuple for %u"
+msgid "insert or update on \"%s\" violates foreign key constraint \"%s\""
 msgstr ""
 
-#: utils/adt/ruleutils.c:228 utils/adt/ruleutils.c:253
-msgid "get_ruledef: SPI_finish() failed"
+#: utils/adt/ri_triggers.c:337
+msgid "MATCH FULL does not allow mixing of NULL and non-NULL key values."
 msgstr ""
 
-#: utils/adt/ruleutils.c:314
-msgid "get_viewdef: cannot connect to SPI manager"
+#: utils/adt/ri_triggers.c:2545
+#: utils/adt/ri_triggers.c:2803
+#, c-format
+msgid "%s() called with wrong number of trigger arguments"
 msgstr ""
 
-#: utils/adt/ruleutils.c:343
+#: utils/adt/ri_triggers.c:2563
+#: utils/adt/ri_triggers.c:2813
 #, c-format
-msgid "failed to get pg_rewrite tuple for view %u"
+msgid "no target table given for trigger \"%s\" on \"%s\""
 msgstr ""
 
-#: utils/adt/ruleutils.c:366
-msgid "get_viewdef: SPI_finish() failed"
+#: utils/adt/ri_triggers.c:2566
+#: utils/adt/ri_triggers.c:2816
+msgid "Remove this RI trigger and its mates, then do ALTER TABLE ADD CONSTRAINT."
 msgstr ""
 
-#: utils/adt/ruleutils.c:402
+#: utils/adt/ri_triggers.c:2723
+#: utils/adt/ri_triggers.c:2733
+#: utils/adt/ri_triggers.c:3142
 #, c-format
-msgid "syscache lookup for index %u failed"
-msgstr ""
+msgid "table \"%s\" does not have attribute \"%s\" referenced by constraint \"%s\""
+msgstr "ÔÁÂÌÉÃÁ \"%s\" ÎÅ ÉÍÅÅÔ ÁÔÒÉÂÕÔ \"%s\" ÕËÁÚÁÎÎÙÊ ËÏÎÓÔÒÅÊÎÔÏÍ \"%s\""
 
-#: utils/adt/ruleutils.c:415
+#: utils/adt/ri_triggers.c:2753
 #, c-format
-msgid "syscache lookup for relid %u failed"
+msgid "%s() was not fired by trigger manager"
 msgstr ""
 
-#: utils/adt/ruleutils.c:580
+#: utils/adt/ri_triggers.c:2762
 #, c-format
-msgid "Failed to find constraint with OID %u"
+msgid "%s() must be fired AFTER ROW"
 msgstr ""
 
-#: utils/adt/ruleutils.c:600
+#: utils/adt/ri_triggers.c:2770
 #, c-format
-msgid "pg_get_constraintdef: Null conkey for constraint %u"
+msgid "%s() must be fired for INSERT"
 msgstr ""
 
-#: utils/adt/ruleutils.c:613
+#: utils/adt/ri_triggers.c:2776
 #, c-format
-msgid "pg_get_constraintdef: Null confkey for constraint %u"
+msgid "%s() must be fired for UPDATE"
 msgstr ""
 
-#: utils/adt/ruleutils.c:633
+#: utils/adt/ri_triggers.c:2783
 #, c-format
-msgid "pg_get_constraintdef: Unknown confmatchtype '%c' for constraint %u"
+msgid "%s() must be fired for INSERT or UPDATE"
 msgstr ""
 
-#: utils/adt/ruleutils.c:659
+#: utils/adt/ri_triggers.c:2790
 #, c-format
-msgid "pg_get_constraintdef: Unknown confupdtype '%c' for constraint %u"
+msgid "%s() must be fired for DELETE"
 msgstr ""
 
-#: utils/adt/ruleutils.c:684
+#: utils/adt/ri_triggers.c:3013
 #, c-format
-msgid "pg_get_constraintdef: Unknown confdeltype '%c' for constraint %u"
+msgid "referential integrity query on \"%s\" from constraint \"%s\" on \"%s\" gave unexpected result"
 msgstr ""
 
-#: utils/adt/ruleutils.c:698
-#, c-format
-msgid "pg_get_constraintdef: unsupported constraint type '%c'"
+#: utils/adt/ri_triggers.c:3017
+msgid "This is most likely due to a rule having rewritten the query."
 msgstr ""
 
-#: utils/adt/ruleutils.c:1100
+#: utils/adt/ri_triggers.c:3045
 #, c-format
-msgid "get_ruledef: rule %s has unsupported event type %d"
+msgid "No rows were found in \"%s\"."
 msgstr ""
 
-#: utils/adt/ruleutils.c:1302
+#: utils/adt/ri_triggers.c:3082
 #, c-format
-msgid "get_query_def: unknown query command type %d"
+msgid "Key (%s)=(%s) is not present in \"%s\"."
 msgstr ""
 
-#: utils/adt/ruleutils.c:1537
+#: utils/adt/ri_triggers.c:3088
 #, c-format
-msgid "get_setop_query: unexpected set op %d"
+msgid "update or delete on \"%s\" violates foreign key constraint \"%s\" on \"%s\""
 msgstr ""
 
-#: utils/adt/ruleutils.c:1549
+#: utils/adt/ri_triggers.c:3091
 #, c-format
-msgid "get_setop_query: unexpected node %d"
+msgid "Key (%s)=(%s) is still referenced from \"%s\"."
 msgstr ""
 
-#: utils/adt/ruleutils.c:1609
-msgid "get_insert_query_def: too many RTEs in INSERT!"
+#: utils/adt/pseudotypes.c:38
+#: utils/adt/pseudotypes.c:64
+msgid "cannot accept a value of type record"
 msgstr ""
 
-#: utils/adt/ruleutils.c:1761
-msgid "get_utility_query_def: unexpected statement type"
+#: utils/adt/pseudotypes.c:51
+#: utils/adt/pseudotypes.c:77
+msgid "cannot display a value of type record"
 msgstr ""
 
-#: utils/adt/ruleutils.c:1792
-#, c-format
-msgid "get_names_for_var: bogus varlevelsup %d"
+#: utils/adt/pseudotypes.c:147
+msgid "cannot accept a value of type any"
 msgstr ""
 
-#: utils/adt/ruleutils.c:1806
-#, c-format
-msgid "get_names_for_var: bogus varno %d"
+#: utils/adt/pseudotypes.c:160
+msgid "cannot display a value of type any"
 msgstr ""
 
-#: utils/adt/ruleutils.c:2092
-#, c-format
-msgid "get_rule_expr: unknown boolop %d"
+#: utils/adt/pseudotypes.c:174
+#: utils/adt/pseudotypes.c:202
+msgid "cannot accept a value of type anyarray"
 msgstr ""
 
-#: utils/adt/ruleutils.c:2123
-#, c-format
-msgid "Argument type %s of FieldSelect is not a tuple type"
+#: utils/adt/pseudotypes.c:252
+msgid "cannot accept a value of type trigger"
 msgstr ""
 
-#: utils/adt/ruleutils.c:2205
-#, c-format
-msgid "get_rule_expr: unexpected nulltesttype %d"
+#: utils/adt/pseudotypes.c:265
+msgid "cannot display a value of type trigger"
 msgstr ""
 
-#: utils/adt/ruleutils.c:2238
-#, c-format
-msgid "get_rule_expr: unexpected booltesttype %d"
+#: utils/adt/pseudotypes.c:279
+msgid "cannot accept a value of type language_handler"
 msgstr ""
 
-#: utils/adt/ruleutils.c:2261
-#, c-format
-msgid "get_rule_expr: unknown node type %d"
+#: utils/adt/pseudotypes.c:292
+msgid "cannot display a value of type language_handler"
 msgstr ""
 
-#: utils/adt/ruleutils.c:2302
-#, c-format
-msgid "cache lookup for operator %u failed"
+#: utils/adt/pseudotypes.c:306
+msgid "cannot accept a value of type internal"
 msgstr ""
 
-#: utils/adt/ruleutils.c:2321
-msgid "get_rule_expr: bogus oprkind"
+#: utils/adt/pseudotypes.c:319
+msgid "cannot display a value of type internal"
 msgstr ""
 
-#: utils/adt/ruleutils.c:2677
-#, c-format
-msgid "get_sublink_expr: unsupported sublink type %d"
+#: utils/adt/pseudotypes.c:333
+msgid "cannot accept a value of type opaque"
 msgstr ""
 
-#: utils/adt/ruleutils.c:2770
-#, c-format
-msgid "unexpected rte kind %d"
+#: utils/adt/pseudotypes.c:346
+msgid "cannot display a value of type opaque"
 msgstr ""
 
-#: utils/adt/ruleutils.c:2842
-#, c-format
-msgid "get_from_clause_item: unknown join type %d"
+#: utils/adt/pseudotypes.c:360
+msgid "cannot accept a value of type anyelement"
 msgstr ""
 
-#: utils/adt/ruleutils.c:2892
-#, c-format
-msgid "get_from_clause_item: unexpected node type %d"
+#: utils/adt/pseudotypes.c:373
+msgid "cannot display a value of type anyelement"
 msgstr ""
 
-#: utils/adt/ruleutils.c:2959 utils/cache/lsyscache.c:251
+#: utils/adt/regexp.c:176
 #, c-format
-msgid "cache lookup failed for opclass %u"
-msgstr ""
-
-#: utils/adt/ruleutils.c:2999
-msgid "tleIsArrayAssign: I'm confused ..."
+msgid "invalid regular expression: %s"
 msgstr ""
 
-#: utils/adt/ruleutils.c:3216
+#: utils/adt/regproc.c:117
+#: utils/adt/regproc.c:138
+#: utils/adt/regproc.c:290
 #, c-format
-msgid "cache lookup of operator %u failed"
-msgstr "ÐÏÉÓË × ËÚÛÅ ÏÐÅÒÁÔÏÒÁ %u ÎÅ ÕÄÁÌÓÑ"
+msgid "no procedure with name %s"
+msgstr ""
 
-#: utils/adt/ruleutils.c:3237
+#: utils/adt/regproc.c:122
+#: utils/adt/regproc.c:142
 #, c-format
-msgid "unexpected oprkind %c for operator %u"
+msgid "more than one procedure named %s"
 msgstr ""
 
-#: utils/adt/selfuncs.c:880
+#: utils/adt/regproc.c:467
+#: utils/adt/regproc.c:487
+#: utils/adt/regproc.c:665
 #, c-format
-msgid "patternsel: no = operator for type %u"
-msgstr ""
+msgid "no operator with name %s"
+msgstr "ÎÅÔ ÏÐÅÒÁÔÏÒÁ Ó ÉÍÅÎÅÍ %s"
 
-#: utils/adt/selfuncs.c:1057 utils/adt/selfuncs.c:1134
-#: utils/adt/selfuncs.c:1175 utils/adt/selfuncs.c:1205
+#: utils/adt/regproc.c:471
+#: utils/adt/regproc.c:491
 #, c-format
-msgid "booltestsel: unexpected booltesttype %d"
+msgid "more than one operator named %s"
 msgstr ""
 
-#: utils/adt/selfuncs.c:1240 utils/adt/selfuncs.c:1294
-#, c-format
-msgid "nulltestsel: unexpected nulltesttype %d"
+#: utils/adt/regproc.c:639
+msgid "missing argument"
+msgstr "ÏÔÓÕÔÓÔ×ÕÅÔ ÁÒÇÕÍÅÎÔ"
+
+#: utils/adt/regproc.c:640
+msgid "Use NONE to denote the missing argument of a unary operator."
 msgstr ""
 
-#: utils/adt/selfuncs.c:2355
-#, c-format
-msgid "convert_numeric_to_scalar: unsupported type %u"
+#: utils/adt/regproc.c:644
+#: utils/adt/regproc.c:1276
+msgid "too many arguments"
+msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÁÒÇÕÍÅÎÔÏ×"
+
+#: utils/adt/regproc.c:645
+msgid "Provide two argument types for operator."
 msgstr ""
 
-#: utils/adt/selfuncs.c:2542
+#: utils/adt/regproc.c:837
 #, c-format
-msgid "convert_string_datum: unsupported type %u"
+msgid "no class with name %s"
 msgstr ""
 
-#: utils/adt/selfuncs.c:2731
+#: utils/adt/regproc.c:1003
 #, c-format
-msgid "convert_timevalue_to_scalar: unsupported type %u"
-msgstr ""
+msgid "no type with name %s"
+msgstr "ÎÅÔ ÔÉÐÁ Ó ÉÍÅÎÅÍ %s"
 
-#: utils/adt/selfuncs.c:2958 utils/adt/selfuncs.c:3326
-msgid "Cannot perform case insensitive matching on type BYTEA"
+#: utils/adt/regproc.c:1174
+msgid "expected a left parenthesis"
 msgstr ""
 
-#: utils/adt/selfuncs.c:3043 utils/adt/selfuncs.c:3472
-msgid "Regex matching not supported on type BYTEA"
+#: utils/adt/regproc.c:1190
+msgid "expected a right parenthesis"
 msgstr ""
 
-#: utils/adt/selfuncs.c:3184
-msgid "pattern_fixed_prefix: bogus ptype"
-msgstr ""
+#: utils/adt/regproc.c:1209
+msgid "expected a type name"
+msgstr "ÏÖÉÄÁÌÏÓØ ÉÍÑ ÔÉÐÁ"
+
+#: utils/adt/regproc.c:1241
+msgid "improper type name"
+msgstr "ÎÅ×ÅÒÎÏÅ ÉÍÑ ÔÉÐÁ"
 
-#: utils/adt/selfuncs.c:3213
+#: utils/adt/ruleutils.c:1102
 #, c-format
-msgid "prefix_selectivity: no >= operator for type %u"
+msgid "unsupported constraint type \"%c\""
 msgstr ""
 
-#: utils/adt/selfuncs.c:3244
+#: utils/adt/ruleutils.c:1557
 #, c-format
-msgid "prefix_selectivity: no < operator for type %u"
+msgid "rule \"%s\" has unsupported event type %d"
 msgstr ""
 
-#: utils/adt/selfuncs.c:3516
-msgid "pattern_selectivity: bogus ptype"
+#: utils/adt/selfuncs.c:3122
+#: utils/adt/selfuncs.c:3485
+msgid "case insensitive matching not supported on type bytea"
 msgstr ""
 
-#: utils/adt/selfuncs.c:3682
-#, c-format
-msgid "string_lessthan: unexpected datatype %u"
+#: utils/adt/selfuncs.c:3207
+#: utils/adt/selfuncs.c:3633
+msgid "regex matching not supported on type bytea"
 msgstr ""
 
-#: utils/adt/sets.c:86
+#: utils/adt/tid.c:66
+#: utils/adt/tid.c:74
+#: utils/adt/tid.c:82
 #, c-format
-msgid "SetDefine: unable to define set %s"
+msgid "invalid input syntax for tid: \"%s\""
 msgstr ""
 
-#: utils/adt/tid.c:62
+#: utils/adt/timestamp.c:87
+#: utils/adt/timestamp.c:94
+#: utils/adt/timestamp.c:2389
 #, c-format
-msgid "invalid tid format: '%s'"
+msgid "invalid input syntax for timestamp: \"%s\""
 msgstr ""
 
-#: utils/adt/tid.c:67 utils/adt/tid.c:72
-msgid "tidin: invalid value."
+#: utils/adt/timestamp.c:103
+#: utils/adt/timestamp.c:332
+#, c-format
+msgid "timestamp out of range: \"%s\""
 msgstr ""
 
-#: utils/adt/tid.c:171
-msgid "ctid isn't of type TID"
-msgstr ""
+#: utils/adt/timestamp.c:121
+#: utils/adt/timestamp.c:350
+#: utils/adt/timestamp.c:511
+#, c-format
+msgid "\"%s\" is no longer supported"
+msgstr "\"%s\" ÂÏÌØÛÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
 
-#: utils/adt/tid.c:176
-msgid "currtid can't handle views with no CTID"
+#: utils/adt/timestamp.c:261
+#, c-format
+msgid "timestamp(%d) precision must be between %d and %d"
 msgstr ""
 
-#: utils/adt/tid.c:178
-msgid "the view has no rules"
+#: utils/adt/timestamp.c:316
+#: utils/adt/timestamp.c:323
+#: utils/adt/timestamp.c:2449
+#, c-format
+msgid "invalid input syntax for timestamp with time zone: \"%s\""
 msgstr ""
 
-#: utils/adt/tid.c:188
-msgid "only one select rule is allowed in views"
+#: utils/adt/timestamp.c:486
+#: utils/adt/timestamp.c:493
+#: utils/adt/timestamp.c:2510
+#, c-format
+msgid "invalid input syntax for interval: \"%s\""
 msgstr ""
 
-#: utils/adt/tid.c:209
-msgid "currtid can't handle this view"
+#: utils/adt/timestamp.c:504
+#: utils/adt/timestamp.c:2218
+#: utils/adt/timestamp.c:2329
+#: utils/adt/timestamp.c:2828
+msgid "interval out of range"
 msgstr ""
 
-#: utils/adt/timestamp.c:80
+#: utils/adt/timestamp.c:836
 #, c-format
-msgid "Bad timestamp external representation (too long) '%s'"
+msgid "interval(%d) precision must be between %d and %d"
 msgstr ""
 
-#: utils/adt/timestamp.c:84 utils/adt/timestamp.c:278
-#, c-format
-msgid "Bad timestamp external representation '%s'"
+#: utils/adt/timestamp.c:1694
+msgid "cannot subtract non-finite timestamps"
 msgstr ""
 
-#: utils/adt/timestamp.c:90
+#: utils/adt/timestamp.c:2548
+#: utils/adt/timestamp.c:2625
+#: utils/adt/timestamp.c:2950
+#: utils/adt/timestamp.c:3126
 #, c-format
-msgid "TIMESTAMP out of range '%s'"
+msgid "timestamp units \"%s\" not recognized"
 msgstr ""
 
-#: utils/adt/timestamp.c:106
+#: utils/adt/timestamp.c:2611
+#: utils/adt/timestamp.c:3059
+#: utils/adt/timestamp.c:3116
 #, c-format
-msgid "TIMESTAMP '%s' no longer supported"
+msgid "timestamp units \"%s\" not supported"
 msgstr ""
 
-#: utils/adt/timestamp.c:111
+#: utils/adt/timestamp.c:2657
+#: utils/adt/timestamp.c:2734
+#: utils/adt/timestamp.c:3158
+#: utils/adt/timestamp.c:3326
 #, c-format
-msgid "TIMESTAMP '%s' not parsed; internal coding error"
+msgid "timestamp with time zone units \"%s\" not recognized"
 msgstr ""
 
-#: utils/adt/timestamp.c:139
-msgid "Unable to format timestamp; internal coding error"
-msgstr ""
-
-#: utils/adt/timestamp.c:213
+#: utils/adt/timestamp.c:2718
+#: utils/adt/timestamp.c:3279
+#: utils/adt/timestamp.c:3317
 #, c-format
-msgid "TIMESTAMP(%d) precision must be between %d and %d"
+msgid "timestamp with time zone units \"%s\" not supported"
 msgstr ""
 
-#: utils/adt/timestamp.c:273
+#: utils/adt/timestamp.c:2766
+#: utils/adt/timestamp.c:2837
+#: utils/adt/timestamp.c:3358
+#: utils/adt/timestamp.c:3470
 #, c-format
-msgid "Bad timestamp with time zone external representation (too long) '%s'"
+msgid "interval units \"%s\" not recognized"
 msgstr ""
 
-#: utils/adt/timestamp.c:284
+#: utils/adt/timestamp.c:2821
+#: utils/adt/timestamp.c:3440
 #, c-format
-msgid "TIMESTAMP WITH TIME ZONE out of range '%s'"
+msgid "interval units \"%s\" not supported"
 msgstr ""
 
-#: utils/adt/timestamp.c:300
-#, c-format
-msgid "TIMESTAMP WITH TIME ZONE '%s' no longer supported"
+#: utils/adt/timestamp.c:2861
+msgid "cannot convert week number without year information"
 msgstr ""
 
-#: utils/adt/timestamp.c:305
+#: utils/adt/timestamp.c:3553
+#: utils/adt/timestamp.c:3704
 #, c-format
-msgid "TIMESTAMP WITH TIME ZONE '%s' not parsed; internal coding error"
-msgstr ""
-
-#: utils/adt/timestamp.c:334
-msgid "Unable to format timestamp with time zone; internal coding error"
+msgid "interval time zone \"%s\" must not specify month"
 msgstr ""
 
-#: utils/adt/timestamp.c:393
+#: utils/adt/varbit.c:109
+#: utils/adt/varbit.c:263
 #, c-format
-msgid "Bad interval external representation (too long) '%s'"
+msgid "bit string length %d does not match type bit(%d)"
 msgstr ""
 
-#: utils/adt/timestamp.c:397 utils/adt/timestamp.c:405
+#: utils/adt/varbit.c:131
+#: utils/adt/varbit.c:370
 #, c-format
-msgid "Bad interval external representation '%s'"
+msgid "\"%c\" is not a valid binary digit"
 msgstr ""
 
-#: utils/adt/timestamp.c:410
+#: utils/adt/varbit.c:156
+#: utils/adt/varbit.c:395
 #, c-format
-msgid "Interval '%s' no longer supported"
+msgid "\"%c\" is not a valid hex digit"
 msgstr ""
 
-#: utils/adt/timestamp.c:414
+#: utils/adt/varbit.c:348
+#: utils/adt/varbit.c:532
 #, c-format
-msgid "Interval '%s' not parsed; internal coding error"
+msgid "bit string too long for type bit varying(%d)"
 msgstr ""
 
-#: utils/adt/timestamp.c:434
-msgid "Unable to encode interval; internal coding error"
+#: utils/adt/varbit.c:472
+msgid "invalid length in external bit string"
 msgstr ""
 
-#: utils/adt/timestamp.c:437
-msgid "Unable to format interval; internal coding error"
+#: utils/adt/varbit.c:905
+msgid "cannot AND bit strings of different sizes"
 msgstr ""
 
-#: utils/adt/timestamp.c:695
-msgid "AdjustIntervalForTypmod(): internal coding error"
+#: utils/adt/varbit.c:946
+msgid "cannot OR bit strings of different sizes"
 msgstr ""
 
-#: utils/adt/timestamp.c:1517
-msgid "Unable to subtract non-finite timestamps"
+#: utils/adt/varbit.c:992
+msgid "cannot XOR bit strings of different sizes"
 msgstr ""
 
-#: utils/adt/timestamp.c:1579
-msgid ""
-"Unable to add TIMESTAMP and INTERVAL\n"
-"\ttimestamp_pl_span() internal error encoding timestamp"
+#: utils/adt/varbit.c:1257
+#: utils/adt/varbit.c:1290
+msgid "int64 is not supported on this platform"
 msgstr ""
 
-#: utils/adt/timestamp.c:1586
-msgid ""
-"Unable to add TIMESTAMP and INTERVAL\n"
-"\ttimestamp_pl_span() internal error decoding timestamp"
+#: utils/adt/varchar.c:105
+#: utils/adt/varchar.c:225
+#, c-format
+msgid "value too long for type character(%d)"
 msgstr ""
 
-#: utils/adt/timestamp.c:1664
-msgid ""
-"Unable to add TIMESTAMP and INTERVAL\n"
-"\ttimestamptz_pl_span() internal error encoding timestamp"
+#: utils/adt/varchar.c:383
+#: utils/adt/varchar.c:475
+#, c-format
+msgid "value too long for type character varying(%d)"
 msgstr ""
 
-#: utils/adt/timestamp.c:1669
-msgid ""
-"Unable to add TIMESTAMP and INTERVAL\n"
-"\ttimestamptz_pl_span() internal error decoding timestamp"
+#: utils/adt/varlena.c:579
+#: utils/adt/varlena.c:643
+#: utils/adt/varlena.c:1294
+msgid "negative substring length not allowed"
 msgstr ""
 
-#: utils/adt/timestamp.c:1898
-msgid "interval_div: divide by 0.0 error"
+#: utils/adt/varlena.c:1389
+#: utils/adt/varlena.c:1420
+#: utils/adt/varlena.c:1456
+#: utils/adt/varlena.c:1499
+#, c-format
+msgid "index %d out of valid range, 0..%d"
 msgstr ""
 
-#: utils/adt/timestamp.c:1943
-msgid "interval_accum: expected 2-element interval array"
+#: utils/adt/varlena.c:1511
+msgid "new bit must be 0 or 1"
 msgstr ""
 
-#: utils/adt/timestamp.c:1985
-msgid "interval_avg: expected 2-element interval array"
+#: utils/adt/varlena.c:2008
+msgid "field position must be greater than zero"
 msgstr ""
 
-#: utils/adt/timestamp.c:2107
-msgid ""
-"Unable to encode INTERVAL\n"
-"\ttimestamp_age() internal coding error"
-msgstr ""
+#: utils/cache/lsyscache.c:1632
+#: utils/cache/lsyscache.c:1668
+#: utils/cache/lsyscache.c:1704
+#: utils/cache/lsyscache.c:1740
+#, c-format
+msgid "type %s is only a shell"
+msgstr "ÔÉР%s Ñ×ÌÑÅÔÓÑ ÔÏÌØËÏ ÏÂÏÌÏÞËÏÊ"
 
-#: utils/adt/timestamp.c:2111
-msgid ""
-"Unable to decode TIMESTAMP\n"
-"\ttimestamp_age() internal coding error"
+#: utils/cache/lsyscache.c:1637
+#, c-format
+msgid "no input function available for type %s"
 msgstr ""
 
-#: utils/adt/timestamp.c:2216 utils/adt/timestamp.c:2219
-msgid "Unable to decode TIMESTAMP"
+#: utils/cache/lsyscache.c:1673
+#, c-format
+msgid "no output function available for type %s"
 msgstr ""
 
-#: utils/adt/timestamp.c:2272
-msgid "TIMESTAMP bad external representation (too long)"
+#: utils/cache/relcache.c:3184
+#, c-format
+msgid "could not create init file \"%s\": %m"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÏÚÄÁÔØ ÆÁÊÌ ÉÎÉÃÉÁÌÉÚÁÃÉÉ \"%s\": %m"
+
+#: utils/cache/relcache.c:3186
+#: utils/cache/relcache.c:3327
+msgid "Continuing anyway, but there's something wrong."
 msgstr ""
 
-#: utils/adt/timestamp.c:2328
-msgid "TIMESTAMP WITH TIME ZONE bad external representation (too long)"
+#: utils/cache/relcache.c:3325
+#, c-format
+msgid "could not rename init file \"%s\" to \"%s\": %m"
 msgstr ""
 
-#: utils/adt/timestamp.c:2385
-msgid "INTERVAL bad external representation (too long)"
+#: utils/error/elog.c:458
+msgid "error during error recovery, giving up"
 msgstr ""
 
-#: utils/adt/timestamp.c:2418 utils/adt/timestamp.c:2482
-#: utils/adt/timestamp.c:2782 utils/adt/timestamp.c:2924
+#: utils/error/elog.c:874
 #, c-format
-msgid "TIMESTAMP units '%s' not recognized"
-msgstr ""
+msgid "failed to open \"%s\": %m"
+msgstr "ÎÅ ÕÄÁÌÏÓØ ÏÔËÒÙÔØ \"%s\": %m"
 
-#: utils/adt/timestamp.c:2473 utils/adt/timestamp.c:2885
-#: utils/adt/timestamp.c:2917
+#: utils/error/elog.c:884
 #, c-format
-msgid "TIMESTAMP units '%s' not supported"
+msgid "failed to reopen \"%s\" as stderr: %m"
 msgstr ""
 
-#: utils/adt/timestamp.c:2478
+#: utils/error/elog.c:897
 #, c-format
-msgid "Unable to truncate TIMESTAMP to '%s'"
+msgid "failed to reopen \"%s\" as stdout: %m"
 msgstr ""
 
-#: utils/adt/timestamp.c:2511 utils/adt/timestamp.c:2576
-#: utils/adt/timestamp.c:2954 utils/adt/timestamp.c:3107
-#, c-format
-msgid "TIMESTAMP WITH TIME ZONE units '%s' not recognized"
+#: utils/error/elog.c:1055
+#: utils/error/elog.c:1188
+#: utils/error/elog.c:1251
+msgid "missing error text"
 msgstr ""
 
-#: utils/adt/timestamp.c:2565 utils/adt/timestamp.c:3068
-#: utils/adt/timestamp.c:3101
+#: utils/error/elog.c:1058
+#: utils/error/elog.c:1254
 #, c-format
-msgid "TIMESTAMP WITH TIME ZONE units '%s' not supported"
+msgid " at character %d"
 msgstr ""
 
-#: utils/adt/timestamp.c:2572
+#: utils/error/elog.c:1065
 #, c-format
-msgid "Unable to truncate TIMESTAMP WITH TIME ZONE to '%s'"
-msgstr ""
+msgid "DETAIL:  %s\n"
+msgstr "ðïäòïâîïóôé:  %s\n"
 
-#: utils/adt/timestamp.c:2605 utils/adt/timestamp.c:2673
-#: utils/adt/timestamp.c:3135 utils/adt/timestamp.c:3244
+#: utils/error/elog.c:1067
 #, c-format
-msgid "INTERVAL units '%s' not recognized"
-msgstr ""
+msgid "HINT:  %s\n"
+msgstr "ðïäóëáúëá:  %s\n"
 
-#: utils/adt/timestamp.c:2658 utils/adt/timestamp.c:3215
+#: utils/error/elog.c:1069
 #, c-format
-msgid "INTERVAL units '%s' not supported"
-msgstr ""
+msgid "CONTEXT:  %s\n"
+msgstr "ëïîôåëóô:  %s\n"
 
-#: utils/adt/timestamp.c:2662
+#: utils/error/elog.c:1073
 #, c-format
-msgid "Unable to truncate INTERVAL to '%s'"
-msgstr ""
+msgid "LOCATION:  %s, %s:%d\n"
+msgstr "çäå:       %s, %s:%d\n"
 
-#: utils/adt/timestamp.c:2667
-msgid "Unable to decode INTERVAL; internal coding error"
-msgstr ""
+#: utils/error/elog.c:1077
+#, c-format
+msgid "LOCATION:  %s:%d\n"
+msgstr "çäå:       %s:%d\n"
 
-#: utils/adt/timestamp.c:2695
-msgid "isoweek2date(): can't convert without year information"
-msgstr ""
+#: utils/error/elog.c:1089
+#, c-format
+msgid "STATEMENT:  %s\n"
+msgstr "ëïíáîäá:  %s\n"
 
-#: utils/adt/timestamp.c:2903 utils/adt/timestamp.c:2910
-msgid "Unable to encode TIMESTAMP"
+#: utils/error/elog.c:1359
+#, c-format
+msgid "operating system error %d"
 msgstr ""
 
-#: utils/adt/timestamp.c:3087 utils/adt/timestamp.c:3094
-msgid "Unable to encode TIMESTAMP WITH TIME ZONE"
-msgstr ""
+#: utils/error/elog.c:1382
+msgid "DEBUG"
+msgstr "DEBUG"
 
-#: utils/adt/timestamp.c:3224
-msgid ""
-"Unable to decode INTERVAL\n"
-"\tinterval_part() internal coding error"
-msgstr ""
+#: utils/error/elog.c:1386
+msgid "LOG"
+msgstr "LOG"
 
-#: utils/adt/timestamp.c:3352
-msgid "Unable to convert TIMESTAMP to TIMESTAMP WITH TIME ZONE (tm)"
-msgstr ""
+#: utils/error/elog.c:1389
+msgid "INFO"
+msgstr "INFO"
 
-#: utils/adt/timestamp.c:3357
-msgid "Unable to convert TIMESTAMP to TIMESTAMP WITH TIME ZONE"
-msgstr ""
+#: utils/error/elog.c:1392
+msgid "NOTICE"
+msgstr "NOTICE"
 
-#: utils/adt/timestamp.c:3382
-msgid "Unable to convert TIMESTAMP WITH TIME ZONE to TIMESTAMP (tm)"
-msgstr ""
+#: utils/error/elog.c:1395
+msgid "WARNING"
+msgstr "WARNING"
 
-#: utils/adt/timestamp.c:3385
-msgid "Unable to convert TIMESTAMP WITH TIME ZONE to TIMESTAMP"
-msgstr ""
+#: utils/error/elog.c:1398
+msgid "ERROR"
+msgstr "ERROR"
+
+#: utils/error/elog.c:1401
+msgid "FATAL"
+msgstr "FATAL"
 
-#: utils/adt/varbit.c:106 utils/adt/varbit.c:230
+#: utils/error/elog.c:1404
+msgid "PANIC"
+msgstr "PANIC"
+
+#: utils/fmgr/fmgr.c:223
 #, c-format
-msgid "Bit string length %d does not match type BIT(%d)"
-msgstr ""
+msgid "internal function \"%s\" is not in table"
+msgstr "×ÎÕÔÒÅÎÎÑÑ ÆÕÎËÃÉÞ \"%s\" ÎÅ × ÔÁÂÌÉÃÅ"
 
-#: utils/adt/varbit.c:126 utils/adt/varbit.c:333
+#: utils/fmgr/fmgr.c:403
 #, c-format
-msgid "Cannot parse '%c' as a binary digit"
+msgid "unrecognized API version %d reported by info function \"%s\""
 msgstr ""
 
-#: utils/adt/varbit.c:147 utils/adt/varbit.c:354
+#: utils/fmgr/fmgr.c:622
+#: utils/fmgr/fmgr.c:1486
 #, c-format
-msgid "Cannot parse '%c' as a hex digit"
-msgstr ""
+msgid "function %u has too many arguments (%d > %d)"
+msgstr "Õ ÆÕÎËÃÉÉ %u ÓÌÉÛËÏÍ ÂÏÌØÛÏÅ ÞÉÓÌÏ ÁÒÇÕÍÅÎÔÏ× (%d > %d)"
 
-#: utils/adt/varbit.c:313 utils/adt/varbit.c:433
+#: utils/fmgr/dfmgr.c:99
+#: utils/fmgr/dfmgr.c:197
+#: utils/fmgr/dfmgr.c:254
 #, c-format
-msgid "Bit string too long for type BIT VARYING(%d)"
+msgid "could not access file \"%s\": %m"
 msgstr ""
 
-#: utils/adt/varbit.c:803
-msgid "Cannot AND bit strings of different sizes"
+#: utils/fmgr/dfmgr.c:134
+#, c-format
+msgid "could not load library \"%s\": %s"
 msgstr ""
 
-#: utils/adt/varbit.c:841
-msgid "Cannot OR bit strings of different sizes"
-msgstr ""
+#: utils/fmgr/dfmgr.c:164
+#, c-format
+msgid "could not find function \"%s\" in file \"%s\""
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÎÁÊÔÉ ÆÕÎÃÉÀ \"%s\" × ÆÁÊÌÅ \"%s\""
 
-#: utils/adt/varbit.c:885
-msgid "Cannot XOR bit strings of different sizes"
+#: utils/fmgr/dfmgr.c:355
+msgid "invalid macro name in dynamic library path"
 msgstr ""
 
-#: utils/adt/varbit.c:1100
-msgid "Bit string is too large to fit in type integer"
+#: utils/fmgr/dfmgr.c:407
+msgid "zero-length component in DYNAMIC_LIBRARY_PATH"
 msgstr ""
 
-#: utils/adt/varbit.c:1144 utils/adt/varbit.c:1171
-msgid "INT64 is not supported on this platform"
+#: utils/fmgr/dfmgr.c:420
+msgid "DYNAMIC_LIBRARY_PATH component is not absolute"
 msgstr ""
 
-#: utils/adt/varbit.c:1159
-msgid "Bit string is too large to fit in type int64"
-msgstr ""
+#: utils/init/miscinit.c:327
+msgid "permission denied to set session authorization"
+msgstr "ÄÏÓÔÕРÚÁÐÒÅݣΠÐÏ ÕÓÔÁÎÏ×ËÅ Á×ÔÏÒÉÚÁÃÉÉ ÓÅÓÓÉÉ"
 
-#: utils/adt/varbit.c:1251
+#: utils/init/miscinit.c:353
 #, c-format
-msgid "S. %d %d em=%2x sm=%2x r=%d"
-msgstr "S. %d %d em=%2x sm=%2x r=%d"
+msgid "invalid user id: %d"
+msgstr "ÎÅ×ÅÒÎÏÅ ID ÐÏÌØÚÏ×ÁÔÅÌÑ: %d"
 
-#: utils/adt/varchar.c:107 utils/adt/varchar.c:213
+#: utils/init/miscinit.c:443
 #, c-format
-msgid "value too long for type character(%d)"
+msgid "could not create lock file \"%s\": %m"
 msgstr ""
 
-#: utils/adt/varchar.c:369 utils/adt/varchar.c:447
+#: utils/init/miscinit.c:457
 #, c-format
-msgid "value too long for type character varying(%d)"
+msgid "could not open lock file \"%s\": %m"
 msgstr ""
 
-#: utils/adt/varlena.c:108 utils/adt/varlena.c:146
-msgid "Bad input string for type bytea"
+#: utils/init/miscinit.c:463
+#, c-format
+msgid "could not read lock file \"%s\": %m"
 msgstr ""
 
-#: utils/adt/varlena.c:338 utils/adt/varlena.c:621 utils/adt/varlena.c:724
-msgid "Invalid backend encoding; encoding max length is less than one."
+#: utils/init/miscinit.c:494
+#, c-format
+msgid "lock file \"%s\" already exists"
 msgstr ""
 
-#: utils/adt/varlena.c:485 utils/adt/varlena.c:547 utils/adt/varlena.c:1055
-msgid "negative substring length not allowed"
+#: utils/init/miscinit.c:497
+#, c-format
+msgid "Is another %s (pid %d) running in \"%s\"?"
 msgstr ""
 
-#: utils/adt/varlena.c:1148
+#: utils/init/miscinit.c:500
 #, c-format
-msgid "byteaGetByte: index %d out of range [0..%d]"
+msgid "Is another %s (pid %d) using \"%s\"?"
 msgstr ""
 
-#: utils/adt/varlena.c:1177
+#: utils/init/miscinit.c:529
 #, c-format
-msgid "byteaGetBit: index %d out of range [0..%d]"
+msgid "pre-existing shared memory block (key %lu, id %lu) is still in use"
 msgstr ""
 
-#: utils/adt/varlena.c:1211
+#: utils/init/miscinit.c:532
 #, c-format
-msgid "byteaSetByte: index %d out of range [0..%d]"
+msgid "If you're sure there are no old backends still running, remove the shared memory block with ipcrm(1), or just delete \"%s\"."
 msgstr ""
 
-#: utils/adt/varlena.c:1252
+#: utils/init/miscinit.c:549
 #, c-format
-msgid "byteaSetBit: index %d out of range [0..%d]"
+msgid "could not remove old lock file \"%s\": %m"
 msgstr ""
 
-#: utils/adt/varlena.c:1262
-msgid "byteaSetBit: new bit must be 0 or 1"
+#: utils/init/miscinit.c:551
+msgid "The file seems accidentally left over, but I couldn't remove it. Please remove the file by hand and try again."
 msgstr ""
 
-#: utils/adt/varlena.c:1753
-msgid "field position must be > 0"
+#: utils/init/miscinit.c:573
+#, c-format
+msgid "could not write lock file \"%s\": %m"
 msgstr ""
 
-#: utils/cache/catcache.c:151
+#: utils/init/miscinit.c:675
 #, c-format
-msgid "GetCCHashFunc: type %u unsupported as catcache key"
-msgstr ""
+msgid "could not rewrite \"%s\": %m"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÐÅÒÅÚÁÐÉÓÁÔØ \"%s\": %m"
 
-#: utils/cache/catcache.c:195
+#: utils/init/miscinit.c:684
 #, c-format
-msgid "CCComputeHashValue: %d nkeys"
-msgstr ""
+msgid "could not read \"%s\": %m"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÞÉÔÁÔØ \"%s\": %m"
 
-#: utils/cache/catcache.c:260
+#: utils/init/miscinit.c:724
 #, c-format
-msgid "CCComputeTupleHashValue: %d cc_nkeys"
-msgstr ""
+msgid "could not write \"%s\": %m"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÚÁÐÉÓÁÔØ \"%s\": %m"
 
-#: utils/cache/catcache.c:284
+#: utils/init/miscinit.c:769
+#: utils/init/miscinit.c:782
 #, c-format
-msgid "Catcache stats dump: %d/%d tuples in catcaches"
-msgstr ""
+msgid "\"%s\" is not a valid data directory"
+msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ×ÅÒÎÏÊ ÄÉÒÅËÔÏÒÉÅÊ ÄÁÎÎÙÈ"
 
-#: utils/cache/catcache.c:291
+#: utils/init/miscinit.c:771
 #, c-format
-msgid ""
-"Catcache %s/%s: %d tup, %ld srch, %ld+%ld=%ld hits, %ld+%ld=%ld loads, %ld "
-"invals, %ld discards, %ld lsrch, %ld lhits"
-msgstr ""
+msgid "File \"%s\" is missing."
+msgstr "æÁÊÌ \"%s\" ÏÔÓÕÔÓÔ×ÕÅÔ."
 
-#: utils/cache/catcache.c:315
+#: utils/init/miscinit.c:784
 #, c-format
-msgid ""
-"Catcache totals: %d tup, %ld srch, %ld+%ld=%ld hits, %ld+%ld=%ld loads, %ld "
-"invals, %ld discards, %ld lsrch, %ld lhits"
+msgid "File \"%s\" does not contain valid data."
+msgstr "æÁÊÌ \"%s\" ÎÅ ÓÏÄÅÒÖÉÔ ×ÅÒÎÙÅ ÄÁÎÎÙÅ."
+
+#: utils/init/miscinit.c:786
+msgid "You may need to initdb."
 msgstr ""
 
-#: utils/cache/catcache.c:550
+#: utils/init/miscinit.c:794
 #, c-format
-msgid "Cache reference leak: cache %s (%d), list %p has count %d"
+msgid "The data directory was initialized by PostgreSQL version %ld.%ld, which is not compatible with this version %s."
+msgstr "äÉÒÅËÔÏÒÉÑ ÄÁÎÎÙÈ ÂÙÌÁ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎÁ Ó ÐÏÍÏÝØÂ PostgreSQL, ×ÅÒÓÉÉ %ld.%ld, ËÏÔÏÒÁÑ ÎÅ ÓÏ×ÍÅÓÔÉÍÁ Ó ÜÔÏÊ ×ÅÒÓÉÅÊ: %s."
+
+#: utils/init/miscinit.c:836
+msgid "invalid list syntax for preload_libraries configuration option"
 msgstr ""
 
-#: utils/cache/catcache.c:573
+#: utils/init/miscinit.c:881
 #, c-format
-msgid "Cache reference leak: cache %s (%d), tuple %u has count %d"
+msgid "preloaded library \"%s\" with initialization function \"%s\""
 msgstr ""
 
-#: utils/cache/catcache.c:761
+#: utils/init/miscinit.c:885
 #, c-format
-msgid "InitCatCache: rel=%s id=%d nkeys=%d size=%d\n"
+msgid "preloaded library \"%s\""
 msgstr ""
 
-#: utils/cache/catcache.c:860
+#: utils/init/postinit.c:116
+#, c-format
+msgid "database \"%s\", OID %u, has disappeared from pg_database"
+msgstr "ÂÁÚÁ \"%s\", OID %u, ÉÓÞÅÚÌÁ ÉÚ pg_database"
+
+#: utils/init/postinit.c:127
 #, c-format
-msgid "CatalogCacheInitializeCache: cache @%p %s"
+msgid "database \"%s\" is not currently accepting connections"
+msgstr "ÂÁÚÁ \"%s\" ÎÅ ÐÒÉÎÉÍÁÅÔ ÐÏÄÓÏÅÄÉÎÅÎÉÑ × ÄÁÎÎÙÊ ÍÏÍÅÎÔ"
+
+#: utils/init/postinit.c:275
+#, c-format
+msgid "The database subdirectory \"%s\" is missing."
+msgstr "ðÏÄÄÉÒÅËÔÏÒÉÑ ÂÁÚ ÄÁÎÎÙÈ \"%s\" ÏÔÓÕÔÓÔ×ÕÅÔ."
+
+#: utils/init/postinit.c:280
+#, c-format
+msgid "could not access directory \"%s\": %m"
 msgstr ""
 
-#: utils/cache/catcache.c:866
+#: utils/init/postinit.c:289
 #, c-format
-msgid "CatalogCacheInitializeCache: load %d/%d w/%d, %u"
+msgid "could not change directory to \"%s\": %m"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÐÏÍÅÎÑÔØ ÄÉÒÅËÔÏÒÉÀ ÎÁ \"%s\": %m"
+
+#: utils/init/postinit.c:371
+msgid "no users are defined in this database system"
 msgstr ""
 
-#: utils/cache/catcache.c:870
+#: utils/init/postinit.c:372
 #, c-format
-msgid "CatalogCacheInitializeCache: load %d/%d w/%d"
+msgid "You should immediately run 'CREATE USER \"%s\" WITH SYSID %d CREATEUSER;'."
+msgstr ""
+
+#: utils/init/postinit.c:408
+msgid "connection limit exceeded for non-superusers"
 msgstr ""
 
-#: utils/cache/catcache.c:940
-msgid "CatalogCacheInit: only sys attr supported is OID"
+#: utils/mb/conv.c:376
+#, c-format
+msgid "ignoring unconvertible UTF-8 character 0x%04x"
 msgstr ""
 
-#: utils/cache/inval.c:453
+#: utils/mb/conv.c:406
 #, c-format
-msgid "ExecuteInvalidationMessage: bogus message id %d"
+msgid "invalid encoding number: %d"
+msgstr "ÎÅ×ÅÒÎÙÊ ÎÏÍÅÒ ËÏÄÉÒÏ×ËÉ: %d"
+
+#: utils/mb/conv.c:445
+#, c-format
+msgid "ignoring unconvertible %s character 0x%04x"
+msgstr ""
+
+#: utils/mb/encnames.c:445
+msgid "encoding name too long"
 msgstr ""
 
-#: utils/cache/inval.c:708 utils/cache/inval.c:731
-msgid "Out of cache_callback_list slots"
+#: utils/mb/wchar.c:640
+msgid "UNICODE characters >= 0x10000 are not supported"
 msgstr ""
 
-#: utils/cache/lsyscache.c:73
+#: utils/mb/wchar.c:669
 #, c-format
-msgid "op_requires_recheck: op %u is not a member of opclass %u"
+msgid "invalid %s character sequence: 0x%s"
 msgstr ""
 
-#: utils/cache/lsyscache.c:218
+#: utils/mb/mbutils.c:252
 #, c-format
-msgid "cache lookup failed for relation %u attribute %d"
+msgid "default conversion proc for %s to %s does not exist"
 msgstr ""
 
-#: utils/cache/lsyscache.c:370
+#: utils/mb/mbutils.c:326
 #, c-format
-msgid "op_mergejoin_crossops: operator %u not found"
-msgstr "op_mergejoin_crossops: ÏÐÅÒÁÔÏÒ %u ÎÅ ÎÁÊÄÅÎ"
+msgid "invalid source encoding name \"%s\""
+msgstr "ÎÅ×ÅÒÎÏÅ ÉÍÑ ÉÓÈÏÄÎÏÊ ËÏÄÉÒÏ×ËÉ: \"%s\""
 
-#: utils/cache/lsyscache.c:378
+#: utils/mb/mbutils.c:331
 #, c-format
-msgid "op_mergejoin_crossops: mergejoin operator %u has no matching < operator"
-msgstr ""
+msgid "invalid destination encoding name \"%s\""
+msgstr "ÎÅ×ÅÒÎÏÅ ÉÍÑ ËÏÄÉÒÏ×ËÉ ÎÁÚÎÁÞÅÎÉÑ: \"%s\""
 
-#: utils/cache/lsyscache.c:385
+#: utils/misc/help_config.c:62
 #, c-format
-msgid "op_mergejoin_crossops: mergejoin operator %u has no matching > operator"
+msgid ""
+"Name       : %-20s \n"
+"Context    : %-20s \n"
+"Group      : %-20s\n"
 msgstr ""
+"éÍÑ        : %-20s \n"
+"ëÏÎÔÅËÓÔ   : %-20s \n"
+"çÒÕÐÐÁ      : %-20s\n"
 
-#: utils/cache/lsyscache.c:430 utils/cache/lsyscache.c:446
+#: utils/misc/help_config.c:63
 #, c-format
-msgid "Operator OID %u does not exist"
-msgstr ""
+msgid "%s\t%s\t%s\t"
+msgstr "%s\t%s\t%s\t"
 
-#: utils/cache/lsyscache.c:699
+#: utils/misc/help_config.c:66
 #, c-format
-msgid "get_system_catalog_relid: cannot find %s"
+msgid ""
+"Description: %s\n"
+"%s\n"
 msgstr ""
+"ïÐÉÓÁÎÉÅ: %s\n"
+"%s\n"
+
+#: utils/misc/help_config.c:67
+#, c-format
+msgid "%s\t%s\n"
+msgstr "%s\t%s\n"
 
-#: utils/cache/lsyscache.c:1044
+#: utils/misc/help_config.c:70
 #, c-format
-msgid "get_typdefault: failed to lookup type %u"
+msgid ""
+"Type       : BOOL\n"
+"Reset Value: %-s \n"
 msgstr ""
 
-#: utils/cache/lsyscache.c:1123
+#: utils/misc/help_config.c:71
 #, c-format
-msgid "getBaseType: failed to lookup type %u"
-msgstr "getBaseType: ÔÉР%u ÎÅ ÎÁÊÄÅÎ"
+msgid "BOOL\t%s\t\t\t"
+msgstr "BOOL\t%s\t\t\t"
 
-#: utils/cache/lsyscache.c:1261
+#: utils/misc/help_config.c:74
 #, c-format
-msgid "getTypeInputInfo: Cache lookup of type %u failed"
-msgstr "getTypeInputInfo: ðÏÉÓË × ËÚÛÅ ÔÉÐÁ %u ÎÅ ÕÄÁÌÓÑ"
+msgid ""
+"Type       : INT\n"
+"Reset Value: %-20d \n"
+"Min Value  : %-20d \n"
+"Max Value  : %-20d \n"
+msgstr ""
 
-#: utils/cache/lsyscache.c:1291
+#: utils/misc/help_config.c:75
 #, c-format
-msgid "getTypeOutputInfo: Cache lookup of type %u failed"
-msgstr "getTypeOutputInfo: ðÏÉÓË × ËÚÛÅ ÔÉÐÁ %u ÎÅ ÕÄÁÌÓÑ"
+msgid "INT\t%d\t%d\t%d\t"
+msgstr "INT\t%d\t%d\t%d\t"
 
-#: utils/cache/lsyscache.c:1387
-msgid "get_attstatsslot: stavalues is null"
+#: utils/misc/help_config.c:78
+#, c-format
+msgid ""
+"Type       : REAL\n"
+"Reset Value: %-20g \n"
+"Min Value  : %-20g \n"
+"Max Value  : %-20g \n"
 msgstr ""
 
-#: utils/cache/lsyscache.c:1409
+#: utils/misc/help_config.c:79
+#, c-format
+msgid "REAL\t%g\t%g\t%g\t"
+msgstr "REAL\t%g\t%g\t%g\t"
+
+#: utils/misc/help_config.c:82
 #, c-format
-msgid "get_attstatsslot: Cache lookup failed for type %u"
+msgid ""
+"Type       : STRING\n"
+"Reset Value: %-s \n"
 msgstr ""
 
-#: utils/cache/lsyscache.c:1445
-msgid "get_attstatsslot: stanumbers is null"
+#: utils/misc/help_config.c:83
+#, c-format
+msgid "STRING\t%s\t\t\t"
+msgstr "STRING\t%s\t\t\t"
+
+#: utils/misc/help_config.c:87
+msgid "NAME\tCONTEXT\tGROUP\tTYPE\tRESET_VALUE\tMIN\tMAX\tSHORT_DESCRIPTION\tLONG_DESCRIPTION\n"
 msgstr ""
 
-#: utils/cache/lsyscache.c:1456
-msgid "get_attstatsslot: stanumbers is not a 1-D float4 array"
+#: utils/misc/help_config.c:176
+#, c-format
+msgid ""
+"%s \n"
+" Try -h for further details\n"
 msgstr ""
 
-#: utils/cache/relcache.c:168 utils/cache/relcache.c:176
-#: utils/cache/relcache.c:188
-msgid "out of memory for relation descriptor cache"
-msgstr ""
+#: utils/misc/help_config.c:360
+msgid "FALSE"
+msgstr "FALSE"
 
-#: utils/cache/relcache.c:234
-msgid "trying to delete a rd_id reldesc that does not exist."
-msgstr ""
+#: utils/misc/help_config.c:360
+msgid "TRUE"
+msgstr "TRUE"
 
-#: utils/cache/relcache.c:239
-msgid "trying to delete a rd_node reldesc that does not exist."
+#: utils/misc/help_config.c:383
+msgid "Unrecognized variable type!\n"
 msgstr ""
 
-#: utils/cache/relcache.c:248
-msgid "trying to delete a relname reldesc that does not exist."
+#: utils/misc/help_config.c:412
+msgid "All currently defined groups\n"
 msgstr ""
 
-#: utils/cache/relcache.c:354
-msgid "ScanPgRelation: bad buildinfo"
-msgstr ""
+#: utils/misc/help_config.c:413
+msgid "----------------------------\n"
+msgstr "----------------------------\n"
 
-#: utils/cache/relcache.c:508
+#: utils/misc/help_config.c:415
 #, c-format
-msgid "Bogus attribute number %d for %s"
-msgstr ""
+msgid "%s\n"
+msgstr "%s\n"
 
-#: utils/cache/relcache.c:550
-#, c-format
-msgid "catalog is missing %d attribute(s) for relid %u"
+#: utils/misc/help_config.c:421
+msgid "Usage for --help-config option: [-h] [-g <group>] [-l] [-G] [-m] [-M] [string]\n"
 msgstr ""
 
-#: utils/cache/relcache.c:962
+#: utils/misc/help_config.c:427
 #, c-format
-msgid "RelationInitIndexAccessInfo: no pg_index entry for index %u"
+msgid ""
+"Description:\n"
+"--help-config displays all the runtime options available in PostgreSQL.\n"
+"It groups them by category and sorts them by name. If available, it will\n"
+"present a short description, default, max and min values as well as other\n"
+"information about each option.\n"
+"\n"
+"With no options specified, it will output all available runtime options\n"
+"in human friendly format, grouped by category and sorted by name.\n"
+"\n"
+"%s\n"
+"General Options:\n"
+"  [string]\tAll options with names that match this string\n"
+"  -g GROUP\tAll options in categories that match GROUP\n"
+"  -l      \tPrints list of all groups / subgroups\n"
+"  -h      \tPrints this help message\n"
+"\n"
+"Output Options:\n"
+"  -G      \tDo not group by category\n"
+"  -m      \tMachine friendly format: tab separated fields\n"
+"  -M      \tSame as m, except header with column names is suppressed\n"
 msgstr ""
 
-#: utils/cache/relcache.c:977
+#: utils/misc/database.c:149
 #, c-format
-msgid "RelationInitIndexAccessInfo: cache lookup failed for AM %u"
-msgstr "RelationInitIndexAccessInfo: ÐÏÉÓË × ËÜÛÅ AM %u ÎÅ ÕÄÁÌÓÑ"
+msgid "could not open file \"%s\": %m"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔËÔÒÙÔØ ÆÁÊÌ \"%s\": %m"
 
-#: utils/cache/relcache.c:1092
-msgid "IndexSupportInitialize: bogus pg_index tuple"
+#: utils/misc/guc.c:239
+msgid "Ungrouped"
 msgstr ""
 
-#: utils/cache/relcache.c:1199
-msgid "out of memory for operator class cache"
+#: utils/misc/guc.c:241
+msgid "Connections & Authentication"
 msgstr ""
 
-#: utils/cache/relcache.c:1273
-#, c-format
-msgid "Bogus amopstrategy number %d for opclass %u"
+#: utils/misc/guc.c:243
+msgid "Connections & Authentication / Connection Settings"
 msgstr ""
 
-#: utils/cache/relcache.c:1308
-#, c-format
-msgid "Bogus amproc number %d for opclass %u"
+#: utils/misc/guc.c:245
+msgid "Connections & Authentication / Security & Authentication"
 msgstr ""
 
-#: utils/cache/relcache.c:1653
-#, c-format
-msgid "RelationReloadClassinfo system relation id=%d doesn't exist"
+#: utils/misc/guc.c:247
+msgid "Resource Usage"
 msgstr ""
 
-#: utils/cache/relcache.c:1780
-#, c-format
-msgid "RelationClearRelation: relation %u deleted while still in use"
+#: utils/misc/guc.c:249
+msgid "Resource Usage / Memory"
 msgstr ""
 
-#: utils/cache/relcache.c:1863
-#, c-format
-msgid "RelationForgetRelation: relation %u is still open"
+#: utils/misc/guc.c:251
+msgid "Resource Usage / Free Space Map"
 msgstr ""
 
-#: utils/cache/relcache.c:2020
-#, c-format
-msgid "Relcache reference leak: relation \"%s\" has refcnt %d instead of %d"
+#: utils/misc/guc.c:253
+msgid "Resource Usage / Kernel Resources"
 msgstr ""
 
-#: utils/cache/relcache.c:2317
-#, c-format
-msgid "RelationCacheInitializePhase2: no pg_class entry for %s"
+#: utils/misc/guc.c:255
+msgid "Write Ahead Log"
 msgstr ""
 
-#: utils/cache/relcache.c:2465
-#, c-format
-msgid "AttrDefaultFetch: second record found for attr %s in rel %s"
+#: utils/misc/guc.c:257
+msgid "Write Ahead Log / Settings"
 msgstr ""
 
-#: utils/cache/relcache.c:2473
-#, c-format
-msgid "AttrDefaultFetch: adbin IS NULL for attr %s in rel %s"
+#: utils/misc/guc.c:259
+msgid "Write Ahead Log / Checkpoints"
 msgstr ""
 
-#: utils/cache/relcache.c:2484
-#, c-format
-msgid "AttrDefaultFetch: unexpected record found for attr %d in rel %s"
+#: utils/misc/guc.c:261
+msgid "Query Tuning"
 msgstr ""
 
-#: utils/cache/relcache.c:2493
-#, c-format
-msgid "AttrDefaultFetch: %d record(s) not found for rel %s"
+#: utils/misc/guc.c:263
+msgid "Query Tuning / Planner Method Enabling"
 msgstr ""
 
-#: utils/cache/relcache.c:2527
-#, c-format
-msgid "CheckConstraintFetch: unexpected record found for rel %s"
+#: utils/misc/guc.c:265
+msgid "Query Tuning / Planner Cost Constants"
 msgstr ""
 
-#: utils/cache/relcache.c:2538
-#, c-format
-msgid "CheckConstraintFetch: conbin IS NULL for rel %s"
+#: utils/misc/guc.c:267
+msgid "Query Tuning / Genetic Query Optimizer"
 msgstr ""
 
-#: utils/cache/relcache.c:2551
-#, c-format
-msgid "CheckConstraintFetch: %d record(s) not found for rel %s"
+#: utils/misc/guc.c:269
+msgid "Query Tuning / Other Planner Options"
 msgstr ""
 
-#: utils/cache/relcache.c:3027
-#, c-format
-msgid ""
-"Cannot create init file %s: %m\n"
-"\tContinuing anyway, but there's something wrong."
+#: utils/misc/guc.c:271
+msgid "Reporting & Logging"
 msgstr ""
 
-#: utils/cache/relcache.c:3051
-msgid "cannot write init file -- descriptor length"
+#: utils/misc/guc.c:273
+msgid "Reporting & Logging / Syslog"
 msgstr ""
 
-#: utils/cache/relcache.c:3055
-msgid "cannot write init file -- reldesc"
+#: utils/misc/guc.c:275
+msgid "Reporting & Logging / When To Log"
 msgstr ""
 
-#: utils/cache/relcache.c:3060
-msgid "cannot write init file -- relation tuple form length"
+#: utils/misc/guc.c:277
+msgid "Reporting & Logging / What To Log"
 msgstr ""
 
-#: utils/cache/relcache.c:3063
-msgid "cannot write init file -- relation tuple form"
+#: utils/misc/guc.c:279
+msgid "Statistics"
 msgstr ""
 
-#: utils/cache/relcache.c:3070
-#, c-format
-msgid "cannot write init file -- length of attdesc %d"
+#: utils/misc/guc.c:281
+msgid "Statistics / Monitoring"
 msgstr ""
 
-#: utils/cache/relcache.c:3072
-#, c-format
-msgid "cannot write init file -- attdesc %d"
+#: utils/misc/guc.c:283
+msgid "Statistics / Query & Index Statistics Collector"
 msgstr ""
 
-#: utils/cache/relcache.c:3091
-#, c-format
-msgid "write_relcache_init_file: no pg_index entry for index %u"
+#: utils/misc/guc.c:285
+msgid "Client Connection Defaults"
 msgstr ""
 
-#: utils/cache/relcache.c:3095
-msgid "cannot write init file -- index tuple form length"
+#: utils/misc/guc.c:287
+msgid "Client Connection Defaults / Statement Behavior"
 msgstr ""
 
-#: utils/cache/relcache.c:3097
-msgid "cannot write init file -- index tuple form"
+#: utils/misc/guc.c:289
+msgid "Client Connection Defaults / Locale and Formatting"
 msgstr ""
 
-#: utils/cache/relcache.c:3103
-msgid "cannot write init file -- am tuple form length"
+#: utils/misc/guc.c:291
+msgid "Client Connection Defaults / Other Defaults"
 msgstr ""
 
-#: utils/cache/relcache.c:3106
-msgid "cannot write init file -- am tuple form"
+#: utils/misc/guc.c:293
+msgid "Lock Management"
 msgstr ""
 
-#: utils/cache/relcache.c:3112
-msgid "cannot write init file -- strategy map length"
+#: utils/misc/guc.c:295
+msgid "Version & Platform Compatibility"
 msgstr ""
 
-#: utils/cache/relcache.c:3115
-msgid "cannot write init file -- strategy map"
+#: utils/misc/guc.c:297
+msgid "Version & Platform Compatibility / Previous Postgres Versions"
 msgstr ""
 
-#: utils/cache/relcache.c:3120
-msgid "cannot write init file -- operator vector length"
+#: utils/misc/guc.c:299
+msgid "Version & Platform Compatibility / Other Platforms & Clients"
 msgstr ""
 
-#: utils/cache/relcache.c:3123
-msgid "cannot write init file -- operator vector"
-msgstr ""
+#: utils/misc/guc.c:301
+msgid "Developer Options"
+msgstr "ïÐÃÉÉ ÒÁÚÒÁÂÏÔÞÉËÁ"
 
-#: utils/cache/relcache.c:3128
-msgid "cannot write init file -- support vector length"
+#: utils/misc/guc.c:352
+msgid "Enable planner's use of sequential-scan plans"
 msgstr ""
 
-#: utils/cache/relcache.c:3131
-msgid "cannot write init file -- support vector"
+#: utils/misc/guc.c:360
+msgid "Enable planner's use of index-scan plans"
 msgstr ""
 
-#: utils/cache/relcache.c:3175
-#, c-format
-msgid ""
-"Cannot rename init file %s to %s: %m\n"
-"\tContinuing anyway, but there's something wrong."
+#: utils/misc/guc.c:368
+msgid "Enable planner's use of TID scan plans"
 msgstr ""
 
-#: utils/cache/syscache.c:478
-#, c-format
-msgid "InitCatalogCache: Can't init cache %s (%d)"
+#: utils/misc/guc.c:376
+msgid "Enable planner's use of explicit sort steps"
 msgstr ""
 
-#: utils/cache/syscache.c:534
-#, c-format
-msgid "SearchSysCache: Bad cache id %d"
+#: utils/misc/guc.c:384
+msgid "Enable planner's use of hashed aggregation plans"
 msgstr ""
 
-#: utils/cache/syscache.c:715
-#, c-format
-msgid "SysCacheGetAttr: Bad cache id %d"
+#: utils/misc/guc.c:392
+msgid "Enable planner's use of nested-loop join plans"
 msgstr ""
 
-#: utils/cache/syscache.c:718
-#, c-format
-msgid "SysCacheGetAttr: missing cache data for id %d"
+#: utils/misc/guc.c:400
+msgid "Enable planner's use of merge join plans"
 msgstr ""
 
-#: utils/cache/syscache.c:734
-#, c-format
-msgid "SearchSysCacheList: Bad cache id %d"
+#: utils/misc/guc.c:408
+msgid "Enable planner's use of hash join plans"
 msgstr ""
 
-#: utils/error/elog.c:128
-msgid "Pre-7.3 object file made an elog() call.  Recompile."
+#: utils/misc/guc.c:416
+msgid "Enable genetic query optimization"
 msgstr ""
 
-#: utils/error/elog.c:218
-#, c-format
-msgid "copy: line %d, "
+#: utils/misc/guc.c:417
+msgid "This algorithm attempts to do planning without exhaustive searching"
 msgstr ""
 
-#. translator: This must fit in fmt_fixedbuf.
-#: utils/error/elog.c:241 utils/error/elog.c:337
-msgid "elog: out of memory"
-msgstr "elog: ÎÅ ÄÏÓÔÁÔÏÞÎÏ ÐÁÍÑÔÉ"
-
-#: utils/error/elog.c:438
-#, c-format
-msgid "statement: %s"
+#: utils/misc/guc.c:426
+msgid "Set to indicate current user's privilege status"
 msgstr ""
 
-#: utils/error/elog.c:488
-msgid "elog: error during error recovery, giving up!"
+#: utils/misc/guc.c:435
+msgid "Accept TCP/IP connections"
 msgstr ""
 
-#: utils/error/elog.c:533
-#, c-format
-msgid "DebugFileOpen: open of %s: %m"
-msgstr "DebugFileOpen: ÏÔËÒÙÔÉÅ %s: %m"
+#: utils/misc/guc.c:443
+msgid "Enables SSL connections"
+msgstr "÷ËÌÀÞÁÅÔ SSL-ÐÏÄÓÏÅÄÉÎÅÎÉÑ"
 
-#: utils/error/elog.c:542
-#, c-format
-msgid "DebugFileOpen: %s reopen as stderr: %m"
+#: utils/misc/guc.c:451
+msgid "If on, server physically writes updates to disk"
 msgstr ""
 
-#: utils/error/elog.c:554
-#, c-format
-msgid "DebugFileOpen: %s reopen as stdout: %m"
+#: utils/misc/guc.c:452
+msgid "It will use the fsync() system call in several places to make sure that updates are physically written to disk. This insures that a database cluster will recover to a consistent state after an operating system or hardware crash"
 msgstr ""
 
-#: utils/error/elog.c:571
-msgid "DebugFileOpen: could not open debugging file"
+#: utils/misc/guc.c:462
+msgid "Continues processing past damaged page headers"
 msgstr ""
 
-#: utils/error/elog.c:776
-msgid "Numerical result out of range"
+#: utils/misc/guc.c:463
+msgid "Detection of a damaged page header normally causes PostgreSQL to report an error, aborting the current transaction. Setting zero_damaged_pages to true causes the system to instead report a warning, zero out the damaged page, and continue processing. This behavior will destroy data, namely all the rows on the damaged page"
 msgstr ""
 
-#: utils/error/elog.c:790
-#, c-format
-msgid "operating system error %d"
+#: utils/misc/guc.c:475
+msgid "Runs the server silently"
 msgstr ""
 
-#: utils/error/elog.c:812
-msgid "DEBUG:  "
-msgstr "DEBUG:  "
-
-#: utils/error/elog.c:816
-msgid "LOG:  "
-msgstr "LOG:  "
+#: utils/misc/guc.c:476
+msgid "If this option is set, the server will automatically run in thebackground and any controlling terminals are disassociated"
+msgstr ""
 
-#: utils/error/elog.c:819
-msgid "INFO:  "
-msgstr "INFO:  "
+#: utils/misc/guc.c:484
+msgid "Logs each successful connection"
+msgstr ""
 
-#: utils/error/elog.c:822
-msgid "NOTICE:  "
-msgstr "NOTICE:  "
+#: utils/misc/guc.c:492
+msgid "Prefixes server log messages with a time stamp"
+msgstr ""
 
-#: utils/error/elog.c:825
-msgid "WARNING:  "
-msgstr "WARNING:  "
+#: utils/misc/guc.c:500
+msgid "Prefixes server log messages with the server PID"
+msgstr ""
 
-#: utils/error/elog.c:828
-msgid "ERROR:  "
-msgstr "ERROR:  "
+#: utils/misc/guc.c:510
+msgid "Turns on various assertion checks"
+msgstr ""
 
-#: utils/error/elog.c:831
-msgid "FATAL:  "
-msgstr "FATAL:  "
+#: utils/misc/guc.c:511
+msgid "This is a debugging aid. To use this option, PostgreSQL must be built with the configure option --enable-cassert"
+msgstr ""
 
-#: utils/error/elog.c:834
-msgid "PANIC:  "
-msgstr "PANIC:  "
+#: utils/misc/guc.c:523
+#: utils/misc/guc.c:613
+#: utils/misc/guc.c:686
+#: utils/misc/guc.c:695
+#: utils/misc/guc.c:704
+#: utils/misc/guc.c:713
+#: utils/misc/guc.c:1022
+#: utils/misc/guc.c:1031
+#: utils/misc/guc.c:1099
+msgid "No Description Available"
+msgstr ""
 
-#: utils/fmgr/funcapi.c:36
-msgid "function called in context that does not accept a set result"
+#: utils/misc/guc.c:532
+msgid "Causes each SQL statement to be logged"
 msgstr ""
 
-#: utils/fmgr/funcapi.c:68
-msgid "init_MultiFuncCall may not be called more than once"
+#: utils/misc/guc.c:540
+msgid "Duration of every completed statement is logged"
 msgstr ""
 
-#: utils/fmgr/dfmgr.c:97
-#, c-format
-msgid "stat failed on file '%s': %m"
+#: utils/misc/guc.c:548
+msgid "Parse tree printed to server logs"
 msgstr ""
 
-#: utils/fmgr/dfmgr.c:114
-msgid "Out of memory in load_external_function"
+#: utils/misc/guc.c:549
+msgid "Parsed for each executed query"
 msgstr ""
 
-#: utils/fmgr/dfmgr.c:127
-#, c-format
-msgid "Load of file %s failed: %s"
+#: utils/misc/guc.c:556
+msgid "Prints query rewriter output to server log"
 msgstr ""
 
-#: utils/fmgr/dfmgr.c:154
-#, c-format
-msgid "Can't find function %s in file %s"
+#: utils/misc/guc.c:564
+msgid "Prints execution plan to the server log"
 msgstr ""
 
-#: utils/fmgr/dfmgr.c:184
-#, c-format
-msgid "LOAD: could not open file '%s': %m"
+#: utils/misc/guc.c:572
+msgid "Indents displays from parse, rewritten and plan"
 msgstr ""
 
-#: utils/fmgr/dfmgr.c:239
-#, c-format
-msgid "stat failed on %s: %s"
+#: utils/misc/guc.c:580
+msgid "Write parser performance stats to server log"
 msgstr ""
 
-#: utils/fmgr/dfmgr.c:334
-msgid "invalid macro name in dynamic library path"
+#: utils/misc/guc.c:588
+msgid "Write planner performance stats to server log"
 msgstr ""
 
-#: utils/fmgr/dfmgr.c:384
-msgid "zero length dynamic_library_path component"
+#: utils/misc/guc.c:596
+msgid "Write executor performance stats to server log"
 msgstr ""
 
-#: utils/fmgr/dfmgr.c:395
-msgid "dynamic_library_path component is not absolute"
+#: utils/misc/guc.c:604
+msgid "Write statement performance stats to server log"
 msgstr ""
 
-#: utils/fmgr/dfmgr.c:401
-#, c-format
-msgid "find_in_dynamic_libpath: trying %s"
+#: utils/misc/guc.c:624
+msgid "Use indented output format for EXPLAIN VERBOSE"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:187
-#, c-format
-msgid "fmgr_info: function %u: cache lookup failed"
+#: utils/misc/guc.c:632
+msgid "Start server statistics-collection subprocess"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:220
-#, c-format
-msgid "fmgr_info: function %s not in internal table"
+#: utils/misc/guc.c:640
+msgid "Collected statistics zeroed out on server restart"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:267
-#, c-format
-msgid "fmgr: Could not extract prosrc for %u from pg_proc"
+#: utils/misc/guc.c:648
+msgid "Enable stat collection of executing commands"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:274
-#, c-format
-msgid "fmgr: Could not extract probin for %u from pg_proc"
+#: utils/misc/guc.c:649
+msgid "Enables the collection of statistics on the currently executing command of each session, along with the time at which that command began execution."
 msgstr ""
 
-#: utils/fmgr/fmgr.c:307
-#, c-format
-msgid "Unknown function API version %d"
+#: utils/misc/guc.c:658
+msgid "Enable collection of row-level stats on db activity"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:333
-#, c-format
-msgid "fmgr_info: cache lookup for language %u failed"
+#: utils/misc/guc.c:666
+msgid "Enables collection of block-level stats on db activity"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:346
-#, c-format
-msgid "fmgr_info: language %u has old-style handler"
+#: utils/misc/guc.c:675
+msgid "Generates debugging output for LISTEN and NOTIFY"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:394
-#, c-format
-msgid "Null result from %s"
+#: utils/misc/guc.c:724
+msgid "Log hostname to connection logs"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:402
-#, c-format
-msgid "Unknown version %d reported by %s"
+#: utils/misc/guc.c:725
+msgid "By default, connection logs only show the IP address of the connecting host. If you want them to show the host name you can turn this on, but depending on your host name resolution setup it might impose a non-negligible performance penalty"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:470
-msgid "Internal error: fmgr_oldstyle received NULL pointer"
+#: utils/misc/guc.c:735
+msgid "Log outgoing port number of the connecting host"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:619
-#, c-format
-msgid "fmgr_oldstyle: function %u: too many arguments (%d > %d)"
+#: utils/misc/guc.c:744
+msgid "This controls the inheritance semantics"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:666
-#, c-format
-msgid "fmgr_security_definer: function %u: cache lookup failed"
+#: utils/misc/guc.c:745
+msgid "In particular, whether subtables are included by various commands by default"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:728
-#, c-format
-msgid "DirectFunctionCall1: function %p returned NULL"
+#: utils/misc/guc.c:753
+msgid "If true, ACST, CST, EST, and SAT are interpreted as Australian time zones"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:756
-#, c-format
-msgid "DirectFunctionCall2: function %p returned NULL"
+#: utils/misc/guc.c:755
+msgid "Otherwise they are interpreted as North/South American time zones and Saturday"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:779
-#, c-format
-msgid "DirectFunctionCall3: function %p returned NULL"
+#: utils/misc/guc.c:763
+msgid "If unspecified the password is encrypted"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:803
-#, c-format
-msgid "DirectFunctionCall4: function %p returned NULL"
+#: utils/misc/guc.c:764
+msgid "When a password is specified in CREATE USER or ALTER USER without writing either ENCRYPTED or UNENCRYPTED, this option determines whether the password is to be encrypted"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:828
-#, c-format
-msgid "DirectFunctionCall5: function %p returned NULL"
+#: utils/misc/guc.c:773
+msgid "expr=NULL treated as expr IS NULL"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:855
-#, c-format
-msgid "DirectFunctionCall6: function %p returned NULL"
+#: utils/misc/guc.c:774
+msgid "When turned on, expressions of the form expr = NULL (or NULL = expr) are treated as expr IS NULL, that is, they return true if expr evaluates to the null value, and false otherwise. The correct behavior of expr = NULL is to always return null (unknown)"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:883
-#, c-format
-msgid "DirectFunctionCall7: function %p returned NULL"
+#: utils/misc/guc.c:785
+msgid "This allows per-database user names"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:912
-#, c-format
-msgid "DirectFunctionCall8: function %p returned NULL"
+#: utils/misc/guc.c:794
+msgid "This var doesn't do anything"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:943
-#, c-format
-msgid "DirectFunctionCall9: function %p returned NULL"
+#: utils/misc/guc.c:795
+msgid "It's just here so that we won't choke on SET AUTOCOMMIT TO ON from 7.3-vintage clients."
 msgstr ""
 
-#: utils/fmgr/fmgr.c:974
-#, c-format
-msgid "FunctionCall1: function %u returned NULL"
+#: utils/misc/guc.c:804
+msgid "Controls default read-only status of new transactions"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:1002 utils/sort/tuplesort.c:1823
-#, c-format
-msgid "FunctionCall2: function %u returned NULL"
+#: utils/misc/guc.c:812
+msgid "Current transaction's read-only status"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:1026
-#, c-format
-msgid "FunctionCall3: function %u returned NULL"
+#: utils/misc/guc.c:821
+msgid "Add missing table references to FROM clauses"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:1051
-#, c-format
-msgid "FunctionCall4: function %u returned NULL"
+#: utils/misc/guc.c:839
+msgid "Sets the default statistics target"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:1077
-#, c-format
-msgid "FunctionCall5: function %u returned NULL"
+#: utils/misc/guc.c:840
+msgid "This applies to table columns that have not had a column-specific target set via ALTER TABLE SET STATISTICS"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:1105
-#, c-format
-msgid "FunctionCall6: function %u returned NULL"
+#: utils/misc/guc.c:848
+msgid "From list size beyond which sub-queries are not collapsed"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:1134
-#, c-format
-msgid "FunctionCall7: function %u returned NULL"
+#: utils/misc/guc.c:850
+msgid "The planner will merge sub-queries into upper queries if the resulting FROM list would have no more than this many items"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:1164
-#, c-format
-msgid "FunctionCall8: function %u returned NULL"
+#: utils/misc/guc.c:859
+msgid "From list size beyond which JOIN constructs not flattened"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:1196
-#, c-format
-msgid "FunctionCall9: function %u returned NULL"
+#: utils/misc/guc.c:861
+msgid "The planner will flatten explicit inner JOIN constructs into lists of FROM items whenever a list of no more than this many items would result"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:1227
-#, c-format
-msgid "OidFunctionCall1: function %u returned NULL"
+#: utils/misc/guc.c:870
+msgid "Threshold of FROM items beyond which geqo is used"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:1252
-#, c-format
-msgid "OidFunctionCall2: function %u returned NULL"
+#: utils/misc/guc.c:878
+msgid "The number of individuals in one population"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:1279
-#, c-format
-msgid "OidFunctionCall3: function %u returned NULL"
+#: utils/misc/guc.c:886
+msgid "Effort is used to calculate a default for generations"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:1307
-#, c-format
-msgid "OidFunctionCall4: function %u returned NULL"
+#: utils/misc/guc.c:894
+msgid "Specifies the number of iterations in the algorithm"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:1336
-#, c-format
-msgid "OidFunctionCall5: function %u returned NULL"
+#: utils/misc/guc.c:895
+msgid "The number must be a positive integer. If 0 is specified then Effort * Log2(PoolSize) is used"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:1367
-#, c-format
-msgid "OidFunctionCall6: function %u returned NULL"
+#: utils/misc/guc.c:903
+msgid "Can be set to get reproducible results from the algorithm"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:1399
-#, c-format
-msgid "OidFunctionCall7: function %u returned NULL"
+#: utils/misc/guc.c:904
+msgid "If it is set to -1 then the algorithm behaves non-deterministically"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:1432
-#, c-format
-msgid "OidFunctionCall8: function %u returned NULL"
+#: utils/misc/guc.c:913
+msgid "Time to wait on lock (msec) before checking for deadlock"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:1467
-#, c-format
-msgid "OidFunctionCall9: function %u returned NULL"
+#: utils/misc/guc.c:923
+msgid "Allows the use of syslog for logging"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:1506
-#, c-format
-msgid "fmgr: function %u: too many arguments (%d > %d)"
+#: utils/misc/guc.c:924
+msgid "If this option is 1, messages go both to syslog and the standard output. A value of 2 sends output only to syslog. (Some messages will still go to the standard output/error.) The default is 0, which means syslog is off"
 msgstr ""
 
-#: utils/fmgr/fmgr.c:1518
-#, c-format
-msgid "fmgr: function %u returned NULL"
+#: utils/misc/guc.c:943
+msgid "Max number of concurrent connections"
 msgstr ""
 
-#: utils/hash/dynahash.c:662
-#, c-format
-msgid "hash_search: bogus action %d"
+#: utils/misc/guc.c:952
+msgid "Number of connection \"slots\" reserved for superusers"
 msgstr ""
 
-#: utils/hash/dynahash.c:935 utils/hash/dynahash.c:937
-#, c-format
-msgid "Hash table '%s' corrupted"
+#: utils/misc/guc.c:961
+msgid "The number of shared memory buffers used by the server"
 msgstr ""
 
-#: utils/init/findbe.c:63
-#, c-format
-msgid "ValidateBinary: can't stat \"%s\""
+#: utils/misc/guc.c:970
+msgid "The TCP port the server listens on"
 msgstr ""
 
-#: utils/init/findbe.c:69
-#, c-format
-msgid "ValidateBinary: \"%s\" is not a regular file"
+#: utils/misc/guc.c:979
+msgid "Sets the access permissions of the Unix domain socket"
 msgstr ""
 
-#: utils/init/findbe.c:91
-#, c-format
-msgid "ValidateBinary: \"%s\" is not user read/execute"
+#: utils/misc/guc.c:980
+msgid "Unix domain sockets use the usual Unix file system permission set. The option value is expected to be an numeric mode specification in the form accepted by the chmod and umask system calls. (To use the customary octal format the number must start with a 0 (zero).)"
 msgstr ""
 
-#: utils/init/findbe.c:117
-#, c-format
-msgid "ValidateBinary: \"%s\" is not group read/execute"
+#: utils/misc/guc.c:992
+msgid "Max memory to be used for sorts and hash tables"
 msgstr ""
 
-#: utils/init/findbe.c:125
-#, c-format
-msgid "ValidateBinary: \"%s\" is not other read/execute"
+#: utils/misc/guc.c:993
+msgid "Specifies the amount of memory to be used by internal sort operations and hash tables before switching to temporary disk files"
 msgstr ""
 
-#: utils/init/findbe.c:174
-#, c-format
-msgid "FindExec: found \"%s\" using argv[0]"
+#: utils/misc/guc.c:1003
+msgid "Max mem used to keep track of to-be-reclaimed tuples"
 msgstr ""
 
-#: utils/init/findbe.c:177
-#, c-format
-msgid "FindExec: invalid binary \"%s\""
+#: utils/misc/guc.c:1012
+msgid "Max num of simultaneously open files for each subprocess"
 msgstr ""
 
-#: utils/init/findbe.c:187
-msgid "FindExec: searching PATH ..."
+#: utils/misc/guc.c:1041
+msgid "Max expression nesting depth"
 msgstr ""
 
-#: utils/init/findbe.c:208
-#, c-format
-msgid "FindExec: found \"%s\" using PATH"
+#: utils/misc/guc.c:1050
+msgid "Max allowed duration (msec) of any statement"
 msgstr ""
 
-#: utils/init/findbe.c:215
-#, c-format
-msgid "FindExec: could not read binary \"%s\""
+#: utils/misc/guc.c:1051
+msgid "A value of 0 turns off the timeout"
 msgstr ""
 
-#: utils/init/findbe.c:225
-#, c-format
-msgid "FindExec: could not find a %s to execute"
+#: utils/misc/guc.c:1059
+msgid "Max num. of tables+indexes for which free space is tracked"
 msgstr ""
 
-#: utils/init/miscinit.c:143 utils/init/miscinit.c:162
-#: utils/init/miscinit.c:170 utils/misc/guc.c:940 utils/misc/guc.c:1123
-#: utils/misc/guc.c:1917 utils/misc/guc.c:1931 utils/misc/guc.c:2686
-#: utils/misc/guc.c:2692 utils/misc/guc.c:2699 guc-file.l:147 guc-file.l:267
-#: guc-file.l:302
-msgid "out of memory"
-msgstr "ÎÅ È×ÁÔÁÅÔ ÐÁÍÑÔÉ"
+#: utils/misc/guc.c:1068
+msgid "Max num. of disk pages for which free space is tracked"
+msgstr ""
 
-#: utils/init/miscinit.c:156
-#, c-format
-msgid "cannot get current working directory: %m"
+#: utils/misc/guc.c:1078
+msgid "Max locks per transaction"
 msgstr ""
 
-#: utils/init/miscinit.c:246
-#, c-format
-msgid "SetCharSet: unknown tag %s in file %s"
+#: utils/misc/guc.c:1079
+msgid "The shared lock table is sized on the assumption that at most max_locks_per_transaction * max_connections distinct objects will need to be locked at any one time."
 msgstr ""
 
-#: utils/init/miscinit.c:401 utils/init/miscinit.c:457
-#, c-format
-msgid "GetCharSetByHost: unknown tag %s in file %s"
+#: utils/misc/guc.c:1089
+msgid "Max time (sec) to complete client authentication"
 msgstr ""
 
-#: utils/init/miscinit.c:635
-#, c-format
-msgid "invalid user id %d"
-msgstr "ÎÅ×ÅÒÎÏÅ ID ÐÏÌØÚÏ×ÁÔÅÌÑ: %d"
+#: utils/misc/guc.c:1109
+msgid "Max distance between automatic WAL checkpoints"
+msgstr ""
 
-#: utils/init/miscinit.c:717
-#, c-format
-msgid "Can't create lock file %s: %m"
+#: utils/misc/guc.c:1118
+msgid "Max time (sec) between automatic WAL checkpoints"
 msgstr ""
 
-#: utils/init/miscinit.c:728 utils/init/miscinit.c:731
-#, c-format
-msgid "Can't read lock file %s: %m"
+#: utils/misc/guc.c:1127
+msgid "Log if filling of checkpoint segments happens more frequently than this (sec)"
 msgstr ""
 
-#: utils/init/miscinit.c:741
-#, c-format
-msgid "Bogus data in lock file %s"
+#: utils/misc/guc.c:1129
+msgid "Send a message to the server logs if checkpoints caused by the filling of checkpoint segment files happens more frequently than this number of seconds. Zero turns off the warning."
 msgstr ""
 
-#: utils/init/miscinit.c:815
-#, c-format
-msgid ""
-"Can't remove old lock file %s: %m\n"
-"\tThe file seems accidentally left, but I couldn't remove it.\n"
-"\tPlease remove the file by hand and try again."
+#: utils/misc/guc.c:1139
+msgid "Disk-page buffers in shared memory for WAL logging"
 msgstr ""
 
-#: utils/init/miscinit.c:836
-#, c-format
-msgid "Can't write lock file %s: %m"
+#: utils/misc/guc.c:1148
+msgid "If nonzero, log WAL-related debugging output"
 msgstr ""
 
-#: utils/init/miscinit.c:927
-#, c-format
-msgid "Failed to rewrite %s: %m"
-msgstr "îÅ ÕÄÁÌÏÓØ ÐÅÒÅÚÁÐÉÓÁÔØ %s: %m"
+#: utils/misc/guc.c:1158
+msgid "Delay (usec) between transaction commit and flushing WAL to disk"
+msgstr ""
 
-#: utils/init/miscinit.c:933
-#, c-format
-msgid "Failed to read %s: %m"
-msgstr "îÅ ÕÄÁÌÏÓØ ÐÒÏÞÉÔÁÔØ %s: %m"
+#: utils/misc/guc.c:1168
+msgid "Min concurrent open trans. before performing COMMIT_DELAY"
+msgstr ""
 
-#: utils/init/miscinit.c:946
-#, c-format
-msgid "Bogus data in %s"
-msgstr "\"ìÅ×ÙÅ\" ÄÁÎÎÙÅ × %s"
+#: utils/misc/guc.c:1178
+msgid "Adjusts number of digits displayed for floating-point values"
+msgstr ""
 
-#: utils/init/miscinit.c:970
-#, c-format
-msgid "Failed to write %s: %m"
-msgstr "îÅ ÕÄÁÌÏÓØ ÚÁÐÉÓÁÔØ %s: %m"
+#: utils/misc/guc.c:1180
+msgid "This affects float4, float8, and geometric data types. The parameter value is added to the standard number of digits (FLT_DIG or DBL_DIG as appropriate)"
+msgstr ""
 
-#: utils/init/miscinit.c:1012
-#, c-format
-msgid "File %s is missing. This is not a valid data directory."
-msgstr "æÁÊÌ %s ÏÔÓÕÔÓÔ×ÕÅÔ. üÔÏ ÎÅ×ÅÒÎÁÑ ÄÉÒÅËÔÏÒÉÑ ÄÁÎÎÙÈ."
+#: utils/misc/guc.c:1190
+msgid "Min execution time (msec) above which statements will be logged"
+msgstr ""
 
-#: utils/init/miscinit.c:1019
-#, c-format
-msgid "File %s does not contain valid data. You need to initdb."
-msgstr "æÁÊÌ %s ÎÅ ÓÏÄÅÒÖÉÔ ×ÅÒÎÙÅ ÄÁÎÎÙÅ. ÷ÁÍ ÎÁÄÏ ×ÙÐÏÌÎÉÔØ initdb."
+#: utils/misc/guc.c:1192
+msgid "The default is 0 (turning this feature off)."
+msgstr ""
 
-#: utils/init/miscinit.c:1024
-#, c-format
-msgid ""
-"The data directory was initialized by PostgreSQL version %ld.%ld, which is "
-"not compatible with this version %s."
+#: utils/misc/guc.c:1209
+msgid "Planner's assumption about size of the disk cache"
 msgstr ""
-"äÉÒÅËÔÏÒÉÑ ÄÁÎÎÙÈ ÂÙÌÁ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎÁ Ó ÐÏÍÏÝØÂ PostgreSQL, ×ÅÒÓÉÉ %ld.%"
-"ld, ËÏÔÏÒÁÑ ÎÅ ÓÏ×ÍÅÓÔÉÍÁ Ó ÜÔÏÊ ×ÅÒÓÉÅÊ: %s."
 
-#: utils/init/postinit.c:114
-#, c-format
-msgid "Database \"%s\", OID %u, has disappeared from pg_database"
-msgstr "âÁÚÁ \"%s\", OID %u, ÉÓÞÅÚÌÁ ÉÚ pg_database"
+#: utils/misc/guc.c:1210
+msgid "That is, the portion of the kernel's disk cache that will be used for PostgreSQL data files. This is measured in disk pages, which are normally 8 kB each."
+msgstr ""
 
-#: utils/init/postinit.c:123
-#, c-format
-msgid "Database \"%s\" is not currently accepting connections"
-msgstr "âÁÚÁ \"%s\" ÎÅ ÐÒÉÎÉÍÁÅÔ ÐÏÄÓÏÅÄÉÎÅÎÉÑ × ÄÁÎÎÙÊ ÍÏÍÅÎÔ"
+#: utils/misc/guc.c:1219
+msgid "Planner's estimate of the cost of a nonsequentially fetched disk page"
+msgstr ""
 
-#: utils/init/postinit.c:259
-#, c-format
-msgid "Database \"%s\" does not exist in the system catalog."
-msgstr "âÁÚÁ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ × ÓÉÓÔÅÍÎÏÍ ËÁÔÁÌÏÇÅ."
+#: utils/misc/guc.c:1221
+msgid "This is measured as a multiple of the cost of a sequential page fetch. A higher value makes it more likely a sequential scan will be used, a lower value makes it more likely an index scan will be used."
+msgstr ""
 
-#: utils/init/postinit.c:267
-#, c-format
-msgid ""
-"Database \"%s\" does not exist.\n"
-"\tThe database subdirectory '%s' is missing."
+#: utils/misc/guc.c:1231
+msgid "Planner's estimate of the cost of processing each tuple"
 msgstr ""
-"âÁÚÁ ÄÁÎÎÙÈ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ.\n"
-"\tðÏÄÄÉÒÅËÔÏÒÉÊ '%s' ÎÅ ÎÁÊÄÅÎ."
 
-#: utils/init/postinit.c:274
-#, c-format
-msgid "Unable to change directory to '%s': %m"
-msgstr "îÅ ÐÏÌÕÞÉÌÏÓØ ÐÏÍÅÎÑÔØ ÄÉÒÅËÔÏÒÉÀ ÎÁ '%s': %m"
+#: utils/misc/guc.c:1232
+#: utils/misc/guc.c:1242
+#: utils/misc/guc.c:1251
+msgid "This is measured as a fraction of the cost of a sequential page fetch."
+msgstr ""
 
-#: utils/init/postinit.c:303
-#, c-format
-msgid "InitPostgres: bad backend id %d"
+#: utils/misc/guc.c:1240
+msgid "Planner's estimate of processing cost for each index tuple during index scan"
 msgstr ""
 
-#: utils/init/postinit.c:354
-msgid "There are currently no users defined in this database system."
+#: utils/misc/guc.c:1250
+msgid "Planner's estimate of processing cost of each op. in WHERE"
 msgstr ""
 
-#: utils/init/postinit.c:355
-#, c-format
-msgid ""
-"You should immediately run 'CREATE USER \"%s\" WITH SYSID %d CREATEUSER;'."
+#: utils/misc/guc.c:1260
+msgid "The selective pressure within the population"
 msgstr ""
 
-#: utils/init/postinit.c:390
-msgid "Non-superuser connection limit exceeded"
+#: utils/misc/guc.c:1270
+msgid "Seed for random-number generation"
 msgstr ""
 
-#: utils/mb/encnames.c:445
-msgid "pg_char_to_encname_struct(): encoding name too long"
+#: utils/misc/guc.c:1289
+msgid "Client's character set encoding"
 msgstr ""
 
-#: utils/mb/conv.c:374
-#, c-format
-msgid "UtfToLocal: could not convert UTF-8 (0x%04x). Ignored"
+#: utils/misc/guc.c:1299
+msgid "Controls which message levels are sent to the client"
 msgstr ""
 
-#: utils/mb/conv.c:401
-#, c-format
-msgid "Invalid encoding number %d"
-msgstr "îÅ×ÅÒÎÙÊ ÎÏÍÅÒ ËÏÄÉÒÏ×ËÉ %d"
+#: utils/misc/guc.c:1300
+msgid "Valid values are DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, LOG, NOTICE, WARNING, and ERROR. Each level includes all the levels that follow it. The later the level, the fewer messages are sent."
+msgstr ""
 
-#: utils/mb/conv.c:438
-#, c-format
-msgid "LocalToUtf: could not convert (0x%04x) %s to UTF-8. Ignored"
+#: utils/misc/guc.c:1311
+msgid "Controls which message levels logged"
 msgstr ""
 
-#: utils/mb/mbutils.c:174
-#, c-format
-msgid "default conversion proc for %s to %s not found"
+#: utils/misc/guc.c:1312
+msgid "Valid values are DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, WARNING, ERROR, LOG, FATAL, and PANIC. Each level includes all the levels that follow it"
 msgstr ""
 
-#: utils/mb/mbutils.c:188
-#, c-format
-msgid "default conversion proc %u for %s to %s not found in pg_proc"
+#: utils/misc/guc.c:1322
+msgid "Controls verbosity of logged messages"
 msgstr ""
 
-#: utils/mb/mbutils.c:247
-#, c-format
-msgid "Invalid source encoding name %s"
-msgstr "îÅ×ÅÒÎÏÅ ÉÍÑ ÉÓÈÏÄÎÏÊ ËÏÄÉÒÏ×ËÉ: %s"
+#: utils/misc/guc.c:1323
+msgid "Valid values are TERSE, DEFAULT, and VERBOSE"
+msgstr ""
 
-#: utils/mb/mbutils.c:249
-#, c-format
-msgid "Invalid destination encoding name %s"
-msgstr "îÅ×ÅÒÎÏÅ ÉÍÑ ËÏÄÉÒÏ×ËÉ ÎÁÚÎÁÞÅÎÉÑ: %s"
+#: utils/misc/guc.c:1331
+msgid "Controls whether the erroneous statement is logged"
+msgstr ""
 
-#: utils/mb/mbutils.c:259
-msgid "Encoding conversion failed"
+#: utils/misc/guc.c:1332
+msgid "All SQL statements that cause an error of the specified level, or a higher level, are logged"
 msgstr ""
 
-#: utils/mb/mbutils.c:480
-msgid "SetDatabaseEncoding(): invalid database encoding"
+#: utils/misc/guc.c:1341
+msgid "Sets display format for date and time values"
 msgstr ""
 
-#: utils/mb/conversion_procs/utf8_and_iso8859_1/utf8_and_iso8859_1.c:87
-msgid "Could not convert UTF-8 to ISO8859-1"
-msgstr "îÅ ÐÏÌÕÞÉÌÏÓØ ÓËÏÎ×ÅÒÔÉÒÏ×ÁÔØ ÉÚ UTF-8 × ISO8859-1"
+#: utils/misc/guc.c:1342
+msgid "Also controls interpretation of ambiguous date inputs"
+msgstr ""
 
-#: utils/misc/guc.c:1219 utils/misc/guc.c:1234 utils/misc/guc.c:1249
-#: utils/misc/guc.c:1278
-#, c-format
-msgid "Failed to reset %s"
+#: utils/misc/guc.c:1352
+msgid "The default isolation level of each new transaction"
 msgstr ""
 
-#: utils/misc/guc.c:1346 utils/misc/guc.c:1368 utils/misc/guc.c:1390
-#: utils/misc/guc.c:1420
-#, c-format
-msgid "Failed to commit %s"
+#: utils/misc/guc.c:1353
+msgid "Each SQL transaction has an isolation level, which can be either \"read committed\" or \"serializable\"."
 msgstr ""
 
-#: utils/misc/guc.c:1599 utils/misc/guc.c:2149
-#, c-format
-msgid "'%s' is not a valid option name"
+#: utils/misc/guc.c:1362
+msgid "Path for dynamically loadable modules"
 msgstr ""
 
-#: utils/misc/guc.c:1616
-#, c-format
-msgid "'%s' cannot be changed after server start"
+#: utils/misc/guc.c:1363
+msgid "If a dynamically loadable module needs to be opened and the specified name does not have a directory component (i.e. the name does not contain a slash), the system will search this path for the specified file."
 msgstr ""
 
-#: utils/misc/guc.c:1624
-#, c-format
-msgid "'%s' cannot be changed now"
+#: utils/misc/guc.c:1374
+msgid "The location of the Kerberos server key file"
 msgstr ""
 
-#: utils/misc/guc.c:1651
-#, c-format
-msgid "'%s' cannot be set after connection start"
+#: utils/misc/guc.c:1383
+msgid "The Rendezvous broadcast service name"
 msgstr ""
 
-#: utils/misc/guc.c:1659
-#, c-format
-msgid "'%s': permission denied"
-msgstr "'%s': ÎÅÔ ÄÏÓÔÕÐÁ"
+#: utils/misc/guc.c:1394
+msgid "Locale collation order"
+msgstr ""
 
-#: utils/misc/guc.c:1689
-#, c-format
-msgid "%s: setting ignored because previous source is higher priority"
+#: utils/misc/guc.c:1404
+msgid "Locale character classification and case conversion"
 msgstr ""
 
-#: utils/misc/guc.c:1710
-#, c-format
-msgid "option '%s' requires a boolean value"
-msgstr "ÏÐÃÉÑ '%s' ÔÒÅÂÕÅÔ ÂÕÌÅ×ÓËÏÅ ÚÎÁÞÅÎÉÅ"
+#: utils/misc/guc.c:1414
+msgid "Language in which messages are displayed"
+msgstr ""
 
-#: utils/misc/guc.c:1724 utils/misc/guc.c:1795
-#, c-format
-msgid "invalid value for option '%s': %d"
-msgstr "ÎÅ ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ÄÌÑ ÏÐÃÉÉ '%s': %d"
+#: utils/misc/guc.c:1423
+msgid "Locale for formatting monetary amounts"
+msgstr ""
 
-#: utils/misc/guc.c:1774
-#, c-format
-msgid "option '%s' expects an integer value"
-msgstr "ÏÐÃÉÑ '%s' ÏÖÉÄÁÅÔ ÃÅÌÏÅ ÚÎÁÞÅÎÉÅ"
+#: utils/misc/guc.c:1432
+msgid "Locale for formatting numbers"
+msgstr ""
 
-#: utils/misc/guc.c:1780
-#, c-format
-msgid "option '%s' value %d is outside of permissible range [%d .. %d]"
+#: utils/misc/guc.c:1441
+msgid "Locale for formatting date and time values"
 msgstr ""
 
-#: utils/misc/guc.c:1845
-#, c-format
-msgid "option '%s' expects a real number"
-msgstr "ÏÐÃÉÑ '%s' ÏÖÉÄÁÅÔ ÒÅÁÌØÎÏÅ ÞÉÓÌÏ"
+#: utils/misc/guc.c:1450
+msgid "Shared libraries to preload into postmaster"
+msgstr ""
 
-#: utils/misc/guc.c:1851
-#, c-format
-msgid "option '%s' value %g is outside of permissible range [%g .. %g]"
+#: utils/misc/guc.c:1460
+msgid "Regular expression \"flavor\""
 msgstr ""
 
-#: utils/misc/guc.c:1866
-#, c-format
-msgid "invalid value for option '%s': %g"
-msgstr "ÎÅ ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ÄÌÑ ÏÐÃÉÉ '%s': %g"
+#: utils/misc/guc.c:1461
+msgid "This can be set to advanced, extended, or basic"
+msgstr ""
 
-#: utils/misc/guc.c:1960
-#, c-format
-msgid "invalid value for option '%s': '%s'"
-msgstr "ÎÅ ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ÄÌÑ ÏÐÃÉÉ '%s': '%s'"
+#: utils/misc/guc.c:1469
+msgid "Schema search order for names not schema-qualified"
+msgstr ""
 
-#: utils/misc/guc.c:2061 utils/misc/guc.c:2095 utils/misc/guc.c:2409
-#, c-format
-msgid "Option '%s' is not recognized"
-msgstr "ïÐÃÉÑ '%s' ÎÅ ÒÁÓÐÏÚÎÁÎÁ"
+#: utils/misc/guc.c:1480
+msgid "Server (database) character set encoding"
+msgstr ""
 
-#: utils/misc/guc.c:2156
-#, c-format
-msgid "SET %s takes only one argument"
-msgstr "SET %s ÐÒÉÎÉÍÁÅÔ ÔÏÌØËÏ ÏÄÉΠÁÒÇÕÍÅÎÔ"
+#: utils/misc/guc.c:1491
+msgid "Server version"
+msgstr "÷ÅÒÓÉÑ ÓÅÒ×ÅÒÁ"
 
-#: utils/misc/guc.c:2169 utils/misc/guc.c:2218
-msgid "flatten_set_variable_args: unexpected input"
+#: utils/misc/guc.c:1502
+msgid "Current session userid"
 msgstr ""
 
-#: utils/misc/guc.c:2257
-msgid "SET variable name is required"
-msgstr "SET ÔÒÅÂÕÅÔÓÑ ÉÍÑ ÐÅÒÅÍÅÎÎÏÊ"
+#: utils/misc/guc.c:1513
+msgid "syslog \"facility\" to be used when syslog enabled"
+msgstr ""
 
-#: utils/misc/guc.c:2793
-#, c-format
-msgid "cannot parse setting \"%s\""
-msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÐÒÏÁÎÁÌÉÚÉÒÏ×ÁÔØ ÏÐÃÉÀ \"%s\""
+#: utils/misc/guc.c:1514
+msgid "You may choose from LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7"
+msgstr ""
 
-#: guc-file.l:158
-msgid "could not read configuration file `"
-msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÞÉÔÁÔØ ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ `"
+#: utils/misc/guc.c:1522
+msgid "Program name used to identify PostgreSQL messages in syslog"
+msgstr ""
 
-#: guc-file.l:158
-#, c-format
-msgid "': %s"
-msgstr "': %s"
+#: utils/misc/guc.c:1533
+msgid "Time zone for displaying and interpreting time stamps"
+msgstr ""
 
-#: guc-file.l:259
-#, c-format
-msgid ":%u: syntax error, token=\"%s\""
-msgstr ":%u: ÏÛÉÂËÁ ÓÉÎÔÁËÓÉÓÁ, ÔÏËÅÎ=\"%s\""
+#: utils/misc/guc.c:1542
+msgid "Current transaction's isolation level"
+msgstr ""
 
-#: utils/mmgr/portalmem.c:78
-msgid "out of memory in PortalHashTable"
-msgstr "ÎÅ È×ÁÔÁÅÔ ÐÁÍÑÔÉ × PortalHashTable"
+#: utils/misc/guc.c:1552
+msgid "The group owner of the Unix domain socket"
+msgstr ""
 
-#: utils/mmgr/portalmem.c:80
-msgid "trying to insert a portal name that exists."
+#: utils/misc/guc.c:1553
+msgid "(The owning user of the socket is always the user that starts the server.)"
 msgstr ""
 
-#: utils/mmgr/portalmem.c:93
-msgid "trying to delete portal name that does not exist."
+#: utils/misc/guc.c:1562
+msgid "The Unix-domain socket directory to listen to"
 msgstr ""
 
-#: utils/mmgr/portalmem.c:185
-#, c-format
-msgid "CreatePortal: portal \"%s\" already exists"
-msgstr "CreatePortal: ÐÏÒÔÁÌ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
+#: utils/misc/guc.c:1571
+msgid "The host name or IP address to listen to"
+msgstr "éÍÑ ÈÏÓÔÁ ÉÌÉ IP-ÁÄÒÅÓ ÄÌÑ ÐÒÏÓÌÕÛÉ×ÁÎÉÑ"
 
-#: utils/mmgr/aset.c:333
-#, c-format
-msgid "Memory exhausted in AllocSetContextCreate(%lu)"
+#: utils/misc/guc.c:1580
+msgid "Method used for forcing WAL updates out to disk"
 msgstr ""
 
-#: utils/mmgr/aset.c:496 utils/mmgr/aset.c:693
+#: utils/misc/guc.c:2413
+#: utils/misc/guc.c:3018
+#: utils/misc/guc.c:3054
+#: utils/misc/guc.c:3110
+#: utils/misc/guc.c:3404
 #, c-format
-msgid "Memory exhausted in AllocSetAlloc(%lu)"
+msgid "\"%s\" is not a recognized option"
 msgstr ""
 
-#: utils/mmgr/aset.c:757
+#: utils/misc/guc.c:2432
 #, c-format
-msgid "AllocSetFree: detected write past chunk end in %s %p"
+msgid "\"%s\" cannot be changed"
 msgstr ""
 
-#: utils/mmgr/aset.c:778
+#: utils/misc/guc.c:2444
 #, c-format
-msgid "AllocSetFree: cannot find block containing chunk %p"
+msgid "\"%s\" cannot be changed after server start"
 msgstr ""
 
-#: utils/mmgr/aset.c:832
+#: utils/misc/guc.c:2454
 #, c-format
-msgid "AllocSetRealloc: detected write past chunk end in %s %p"
+msgid "\"%s\" cannot be changed now"
 msgstr ""
 
-#: utils/mmgr/aset.c:872
+#: utils/misc/guc.c:2484
 #, c-format
-msgid "AllocSetRealloc: cannot find block containing chunk %p"
+msgid "\"%s\" cannot be set after connection start"
 msgstr ""
 
-#: utils/mmgr/aset.c:885
+#: utils/misc/guc.c:2494
+#: utils/misc/guc.c:2564
+#: utils/misc/guc.c:2661
+#: utils/misc/guc.c:2757
+#: utils/misc/guc.c:2856
 #, c-format
-msgid "Memory exhausted in AllocSetReAlloc(%lu)"
-msgstr ""
+msgid "permission denied to set option \"%s\""
+msgstr "ÄÏÓÔÕРÚÁÐÒÅݣΠÐÏ ÕÓÔÁÎÏ×ËÅ ÏÐÃÉÉ \"%s\""
 
-#: utils/mmgr/aset.c:1055
+#: utils/misc/guc.c:2552
 #, c-format
-msgid "AllocSetCheck: %s: empty block %p"
-msgstr ""
+msgid "\"%s\" requires a boolean value"
+msgstr "\"%s\" ÔÒÅÂÕÅÔ ÂÕÌÅ×ÓËÏÅ ÚÎÁÞÅÎÉÅ"
 
-#: utils/mmgr/aset.c:1077
-#, c-format
-msgid "AllocSetCheck: %s: req size > alloc size for chunk %p in block %p"
+#: utils/misc/guc.c:2566
+msgid "Must be superuser to change this value to false."
 msgstr ""
 
-#: utils/mmgr/aset.c:1080
+#: utils/misc/guc.c:2588
+#: utils/misc/guc.c:2685
 #, c-format
-msgid "AllocSetCheck: %s: bad size %lu for chunk %p in block %p"
-msgstr ""
+msgid "invalid value for \"%s\": %d"
+msgstr "ÎÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ÄÌÑ \"%s\": %d"
 
-#: utils/mmgr/aset.c:1086
+#: utils/misc/guc.c:2640
 #, c-format
-msgid "AllocSetCheck: %s: bad single-chunk %p in block %p"
-msgstr ""
+msgid "\"%s\" requires an integer value"
+msgstr "\"%s\" ÔÒÅÂÕÅÔ ÃÅÌÏÅ ÚÎÁÞÅÎÉÅ"
 
-#: utils/mmgr/aset.c:1095
+#: utils/misc/guc.c:2648
 #, c-format
-msgid "AllocSetCheck: %s: bogus aset link in block %p, chunk %p"
+msgid "%d is outside the valid range for \"%s\" (%d .. %d)"
 msgstr ""
 
-#: utils/mmgr/aset.c:1102
-#, c-format
-msgid "AllocSetCheck: %s: detected write past chunk end in block %p, chunk %p"
+#: utils/misc/guc.c:2663
+msgid "Must be superuser to increase this value or set it to zero."
 msgstr ""
 
-#: utils/mmgr/aset.c:1112
+#: utils/misc/guc.c:2737
 #, c-format
-msgid "AllocSetCheck: %s: found inconsistent memory block %p"
-msgstr ""
+msgid "\"%s\" requires a numeric value"
+msgstr "\"%s\" ÔÒÅÂÕÅÔ ÞÉÓÌÏ×ÏÅ ÚÎÁÞÅÎÉÅ"
 
-#: utils/mmgr/mcxt.c:478 utils/mmgr/mcxt.c:499 utils/mmgr/mcxt.c:524
+#: utils/misc/guc.c:2745
 #, c-format
-msgid "MemoryContextAlloc: invalid request size %lu"
+msgid "%g is outside the valid range for \"%s\" (%g .. %g)"
 msgstr ""
 
-#: utils/mmgr/mcxt.c:588
-#, c-format
-msgid "repalloc: invalid request size %lu"
+#: utils/misc/guc.c:2759
+#: utils/misc/guc.c:2858
+msgid "Must be superuser to increase this value."
 msgstr ""
 
-#: utils/sort/logtape.c:199
+#: utils/misc/guc.c:2781
 #, c-format
-msgid ""
-"ltsWriteBlock: failed to write block %ld of temporary file\n"
-"\t\tPerhaps out of disk space?"
-msgstr ""
+msgid "invalid value for \"%s\": %g"
+msgstr "ÎÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ÄÌÑ \"%s\": %g"
 
-#: utils/sort/logtape.c:214
+#: utils/misc/guc.c:2912
 #, c-format
-msgid "ltsReadBlock: failed to read block %ld of temporary file"
-msgstr ""
+msgid "invalid value for \"%s\": \"%s\""
+msgstr "ÎÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ÄÌÑ \"%s\": \"%s\""
 
-#: utils/sort/logtape.c:569
-msgid "LogicalTapeWrite: impossible state"
-msgstr ""
+#: utils/misc/guc.c:3119
+#, c-format
+msgid "SET %s takes only one argument"
+msgstr "SET %s ÐÒÉÎÉÍÁÅÔ ÔÏÌØËÏ ÏÄÉΠÁÒÇÕÍÅÎÔ"
 
-#: utils/sort/logtape.c:831
-msgid "LogicalTapeBackspace: unexpected end of tape"
-msgstr ""
+#: utils/misc/guc.c:3223
+msgid "SET variable name is required"
+msgstr "SET ÔÒÅÂÕÅÔÓÑ ÉÍÑ ÐÅÒÅÍÅÎÎÏÊ"
 
-#: utils/sort/logtape.c:888 utils/sort/logtape.c:898
-msgid "LogicalTapeSeek: unexpected end of tape"
+#: utils/misc/guc.c:3780
+msgid "could not write exec config params file \""
 msgstr ""
 
-#: utils/sort/tuplesort.c:694
-msgid "tuplesort_puttuple: invalid state"
-msgstr "tuplesort_puttuple: ÎÅ×ÅÒÎÏÅ ÓÏÓÔÏÑÎÉÅ"
-
-#: utils/sort/tuplesort.c:741
-msgid "tuplesort_performsort: invalid state"
-msgstr "tuplesort_performsort: ÎÅ×ÅÒÎÏÅ ÓÏÓÔÏÑÎÉÅ"
+#: utils/misc/guc.c:3781
+#: utils/misc/guc.c:3917
+#, c-format
+msgid "\": %m"
+msgstr "\": %m"
 
-#: utils/sort/tuplesort.c:859 utils/sort/tuplesort.c:874
-msgid "tuplesort_gettuple: bogus tuple len in backward scan"
+#: utils/misc/guc.c:3916
+msgid "could not read exec config params file \""
 msgstr ""
 
-#: utils/sort/tuplesort.c:926
-msgid "tuplesort_gettuple: invalid state"
-msgstr "tuplesort_gettuple: ÎÅ×ÅÒÎÏÅ ÓÏÓÔÏÑÎÉÅ"
-
-#: utils/sort/tuplesort.c:1486
-msgid "tuplesort_rescan: invalid state"
-msgstr "tuplesort_rescan: ÎÅ×ÅÒÎÏÅ ÓÏÓÔÏÑÎÉÅ"
-
-#: utils/sort/tuplesort.c:1513
-msgid "tuplesort_markpos: invalid state"
-msgstr "tuplesort_markpos: ÎÅ×ÅÒÎÏÅ ÓÏÓÔÏÑÎÉÅ"
-
-#: utils/sort/tuplesort.c:1538
-msgid "tuplesort_restorepos failed"
-msgstr "tuplesort_restorepos ÎÅ ÕÄÁÌÓÑ"
+#: utils/misc/guc.c:4036
+#, c-format
+msgid "could not parse setting for \"%s\""
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÐÒÏÁÎÁÌÉÚÉÒÏ×ÁÔØ ÕÓÔÁÎÏ×ËÉ ÄÌÑ \"%s\""
 
-#: utils/sort/tuplesort.c:1542
-msgid "tuplesort_restorepos: invalid state"
-msgstr "tuplesort_restorepos: ÎÅ×ÅÒÎÏÅ ÓÏÓÔÏÑÎÉÅ"
+#: utils/misc/guc.c:4383
+msgid "SET AUTOCOMMIT TO OFF is no longer supported"
+msgstr "SET AUTOCOMMIT TO OFF ÂÏÌØÛÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
 
-#: utils/sort/tuplesort.c:1665
-msgid "tuplesort: unexpected end of tape"
+#: utils/mmgr/aset.c:336
+#, c-format
+msgid "Failed while creating memory context \"%s\"."
 msgstr ""
 
-#: utils/sort/tuplesort.c:1667 utils/sort/tuplesort.c:2006
-#: utils/sort/tuplesort.c:2010 utils/sort/tuplesort.c:2133
-#: utils/sort/tuplesort.c:2137 utils/sort/tuplesort.c:2205
-#: utils/sort/tuplesort.c:2209
-msgid "tuplesort: unexpected end of data"
-msgstr "tuplesort: ÎÅÏÖÉÄÁÎÎÙÊ ËÏÎÅàÄÁÎÎÙÈ"
-
-#: utils/sort/tuplesort.c:1785
+#: utils/mmgr/aset.c:502
+#: utils/mmgr/aset.c:702
+#: utils/mmgr/aset.c:895
 #, c-format
-msgid "SelectSortFunction: cache lookup failed for operator %u"
+msgid "Failed on request of size %lu."
 msgstr ""
 
-#: utils/sort/tuplesort.c:1897
+#: utils/mmgr/portalmem.c:170
 #, c-format
-msgid "Invalid SortFunctionKind %d"
-msgstr "îÅ ×ÅÒÎÙÊ SortFunctionKind %d"
+msgid "portal \"%s\" already exists"
+msgstr "ÐÏÒÔÁÌ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
 
-#: utils/sort/tuplesort.c:2085
-msgid "Cannot create unique index. Table contains non-unique values"
+#: utils/mmgr/portalmem.c:174
+#, c-format
+msgid "closing pre-existing portal \"%s\""
 msgstr ""
 
-#: utils/sort/tuplesort.c:2161
-msgid "copytup_datum() should not be called"
+#: utils/sort/logtape.c:202
+#, c-format
+msgid "could not write block %ld of temporary file: %m"
 msgstr ""
 
-#: utils/sort/tuplestore.c:300
-msgid "tuplestore_puttuple: invalid state"
-msgstr "tuplestore_puttuple: ÎÅ×ÅÒÎÏÅ ÓÏÓÔÏÑÎÉÅ"
-
-#: utils/sort/tuplestore.c:336
-msgid "tuplestore_donestoring: seek(0) failed"
-msgstr "tuplestore_donestoring: seek(0) ÎÅ ÕÄÁÌÓÑ"
-
-#: utils/sort/tuplestore.c:344
-msgid "tuplestore_donestoring: invalid state"
-msgstr "tuplestore_donestoring: ÎÅ×ÅÒÎÏÅ ÓÏÓÔÏÑÎÉÅ"
-
-#: utils/sort/tuplestore.c:462 utils/sort/tuplestore.c:477
-msgid "tuplestore_gettuple: bogus tuple len in backward scan"
+#: utils/sort/logtape.c:204
+msgid "Perhaps out of disk space?"
 msgstr ""
 
-#: utils/sort/tuplestore.c:482
-msgid "tuplestore_gettuple: invalid state"
-msgstr "tuplestore_gettuple: ÎÅ×ÅÒÎÏÅ ÓÏÓÔÏÑÎÉÅ"
-
-#: utils/sort/tuplestore.c:518
-msgid "tuplestore_rescan: seek(0) failed"
-msgstr "tuplestore_rescan: seek(0) ÎÅ ÕÄÁÌÓÑ"
-
-#: utils/sort/tuplestore.c:525
-msgid "tuplestore_rescan: invalid state"
-msgstr "tuplestore_rescan: ÎÅ×ÅÒÎÏÅ ÓÏÓÔÏÑÎÉÅ"
-
-#: utils/sort/tuplestore.c:551
-msgid "tuplestore_markpos: invalid state"
-msgstr "tuplestore_markpos: ÎÅ×ÅÒÎÏÅ ÓÏÓÔÏÑÎÉÅ"
-
-#: utils/sort/tuplestore.c:576
-msgid "tuplestore_restorepos failed"
-msgstr "tuplestore_restorepos ÎÅ ÕÄÁÌÓÑ"
-
-#: utils/sort/tuplestore.c:580
-msgid "tuplestore_restorepos: invalid state"
-msgstr "tuplestore_restorepos: ÎÅ×ÅÒÎÏÅ ÓÏÓÔÏÑÎÉÅ"
-
-#: utils/sort/tuplestore.c:596
-msgid "tuplestore: unexpected end of tape"
-msgstr "tuplestore: ÎÅÏÖÉÄÁÎÎÙÊ ËÏÎÅàÌÅÎÔÙ"
-
-#: utils/sort/tuplestore.c:598 utils/sort/tuplestore.c:667
-#: utils/sort/tuplestore.c:671
-msgid "tuplestore: unexpected end of data"
-msgstr "tuplestore: ÎÅÏÖÉÄÁÎÎÙÊ ËÏÎÅàÄÁÎÎÙÈ"
-
-#: utils/sort/tuplestore.c:608 utils/sort/tuplestore.c:639
-#: utils/sort/tuplestore.c:642 utils/sort/tuplestore.c:646
-msgid "tuplestore: write failed"
-msgstr "tuplestore: ÚÁÐÉÓØ ÎÅ ÕÄÁÌÁÓØ"
-
-#: utils/time/tqual.c:981
-msgid "CopyQuerySnapshot: no snapshot has been set"
+#: utils/sort/logtape.c:221
+#, c-format
+msgid "could not read block %ld of temporary file: %m"
 msgstr ""
 
-#~ msgid "TRUNCATE TABLE cannot run inside a transaction block"
-#~ msgstr "îÅÌØÚÑ ×ÙÐÏÌÎÑÔØ TRUNCATE TABLE ×ÎÕÔÒÉ ÔÒÁÎÚÁËÃÉÏÎÎÏÇÏ ÂÌÏËÁ"
-
-#~ msgid "Conversion does not exist"
-#~ msgstr "ëÏÎ×ÅÒÓÉÑ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
+#: utils/sort/tuplesort.c:2072
+msgid "could not create unique index"
+msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÏÚÄÁÔØ ÕÎÉËÁÌØÎÙÊ ÉÎÄÅËÓ"
 
-#~ msgid "Function %s does not exist"
-#~ msgstr "æÕÎËÃÉÑ %s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#~ msgid "doDeletion: Relation %u does not exist"
-#~ msgstr "doDeletion: ó×ÑÚØ %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-
-#~ msgid "function %s() does not return type %s"
-#~ msgstr "ÆÕÎËÃÉÑ %s() ÎÅ ×ÏÚ×ÒÁÝÁÅÔ ÔÉР%s"
-
-#~ msgid "Conversion \"%s\" does not exist"
-#~ msgstr "ëÏÎ×ÅÒÓÉÑ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
+#: utils/sort/tuplesort.c:2073
+msgid "Table contains duplicated values."
+msgstr ""
 
-#~ msgid "getBaseTypeMod: failed to lookup type %u"
-#~ msgstr "getBaseTypeMod: ÔÉР%u ÎÅ ÎÁÊÄÅÎ"
index 9fafac6e93a5968063f59dac0ba55d98c1e7be07..acee235ad0f374d1ee25ff8176ddbdadc8d6b44b 100644 (file)
@@ -50,8 +50,8 @@ const bool    ExecBackend = false;
 
 bool           IsUnderPostmaster = false;
 
-int                    MaxBackends = DEF_MAXBACKENDS;
-int                    NBuffers = DEF_NBUFFERS;
+int                    MaxBackends = 32;
+int                    NBuffers = 64;
 
 #ifndef assert_enabled
 bool           assert_enabled = true;
index 165c8df9d56db6a815bf9929b43b9dcdbdbf1131..ce161072d976b457bc6d9ca0aca5273c8b5fef73 100644 (file)
@@ -76,8 +76,10 @@ InitLockTable(int maxBackends)
 {
        int                     lockmethod;
 
+       /* number of lock modes is lengthof()-1 because of dummy zero */
        lockmethod = LockMethodTableInit("LockTable",
-                                                                        LockConflicts, MAX_LOCKMODES - 1,
+                                                                        LockConflicts,
+                                                                        lengthof(LockConflicts) - 1,
                                                                         maxBackends);
        LockTableId = lockmethod;
 
@@ -151,7 +153,7 @@ LockRelation(Relation relation, LOCKMODE lockmode)
  * As above, but only lock if we can get the lock without blocking.
  * Returns TRUE iff the lock was acquired.
  *
- * NOTE: we do not currently need conditional versions of the other
+ * NOTE: we do not currently need conditional versions of all the
  * LockXXX routines in this file, but they could easily be added if needed.
  */
 bool
@@ -262,6 +264,26 @@ LockPage(Relation relation, BlockNumber blkno, LOCKMODE lockmode)
                elog(ERROR, "LockAcquire failed");
 }
 
+/*
+ *             ConditionalLockPage
+ *
+ * As above, but only lock if we can get the lock without blocking.
+ * Returns TRUE iff the lock was acquired.
+ */
+bool
+ConditionalLockPage(Relation relation, BlockNumber blkno, LOCKMODE lockmode)
+{
+       LOCKTAG         tag;
+
+       MemSet(&tag, 0, sizeof(tag));
+       tag.relId = relation->rd_lockInfo.lockRelId.relId;
+       tag.dbId = relation->rd_lockInfo.lockRelId.dbId;
+       tag.objId.blkno = blkno;
+
+       return LockAcquire(LockTableId, &tag, GetCurrentTransactionId(),
+                                          lockmode, true);
+}
+
 /*
  *             UnlockPage
  */
index e496ecb4e0017908920866579367c5155b2f0159..ef77b676d40f52d378647fe543674b76af872a43 100644 (file)
@@ -212,8 +212,8 @@ LockMethodInit(LOCKMETHODTABLE *lockMethodTable,
        int                     i;
 
        lockMethodTable->numLockModes = numModes;
-       numModes++;
-       for (i = 0; i < numModes; i++, conflictsP++)
+       /* copies useless zero element as well as the N lockmodes */
+       for (i = 0; i <= numModes; i++, conflictsP++)
                lockMethodTable->conflictTab[i] = *conflictsP;
 }
 
@@ -241,11 +241,8 @@ LockMethodTableInit(char *tabName,
                                max_table_size;
 
        if (numModes >= MAX_LOCKMODES)
-       {
-               elog(WARNING, "too many lock types %d (limit is %d)",
-                        numModes, MAX_LOCKMODES);
-               return INVALID_LOCKMETHOD;
-       }
+               elog(ERROR, "too many lock types %d (limit is %d)",
+                        numModes, MAX_LOCKMODES-1);
 
        /* Compute init/max size to request for lock hashtables */
        max_table_size = NLOCKENTS(maxBackends);
index 5be5e36848a2e4b2dd9e7527da0818010ad990ac..ce53efb6025f165eda9a47be92f4326ce287f782 100644 (file)
@@ -1978,7 +1978,7 @@ usage(char *progname)
 #ifdef USE_ASSERT_CHECKING
        printf("  -A 1|0          enable/disable run-time assert checking\n");
 #endif
-       printf("  -B NBUFFERS     number of shared buffers (default %d)\n", DEF_NBUFFERS);
+       printf("  -B NBUFFERS     number of shared buffers\n");
        printf("  -c NAME=VALUE   set run-time parameter\n");
        printf("  -d 0-5          debugging level (0 is off)\n");
        printf("  -D DATADIR      database directory\n");
@@ -2490,9 +2490,15 @@ PostgresMain(int argc, char *argv[], const char *username)
        }
        Assert(DataDir);
 
+       /* Acquire configuration parameters */
+       if (IsUnderPostmaster)
+       {
 #ifdef EXEC_BACKEND
-       read_nondefault_variables();
+               read_nondefault_variables();
 #endif
+       }
+       else
+               ProcessConfigFile(PGC_POSTMASTER);
 
        /*
         * Set up signal handlers and masks.
@@ -2651,7 +2657,7 @@ PostgresMain(int argc, char *argv[], const char *username)
        if (!IsUnderPostmaster)
        {
                puts("\nPOSTGRES backend interactive interface ");
-               puts("$Revision: 1.360 $ $Date: 2003/08/13 16:16:23 $\n");
+               puts("$Revision: 1.360.2.1 $ $Date: 2003/09/07 04:36:53 $\n");
        }
 
        /*
index be9d744f95aaf4d62cc4aed35be4e2df94c91359..f7befd6a6461350e7cf880cd0227a01cec1e75a7 100644 (file)
@@ -480,6 +480,23 @@ aclitem_eq(PG_FUNCTION_ARGS)
        PG_RETURN_BOOL(result);
 }
 
+/*
+ * aclitem hash function
+ *
+ * We make aclitems hashable not so much because anyone is likely to hash
+ * them, as because we want array equality to work on aclitem arrays, and
+ * with the typcache mechanism we must have a hash or btree opclass.
+ */
+Datum
+hash_aclitem(PG_FUNCTION_ARGS)
+{
+       AclItem    *a = PG_GETARG_ACLITEM_P(0);
+
+       /* not very bright, but avoids any issue of padding in struct */
+       PG_RETURN_UINT32((uint32) (a->ai_privs + a->ai_grantee + a->ai_grantor));
+}
+
+
 /*
  * acldefault()  --- create an ACL describing default access permissions
  *
index 472f7c7509adc68f558f069cefa3903fd60507a3..37edf0ff709a9164c174c445f51a1232998adc7c 100644 (file)
@@ -132,7 +132,7 @@ array_push(PG_FUNCTION_ARGS)
 
 /*-----------------------------------------------------------------------------
  * array_cat :
- *             concatenate two nD arrays to form an (n+1)D array, or
+ *             concatenate two nD arrays to form an nD array, or
  *             push an (n-1)D array onto the end of an nD array
  *----------------------------------------------------------------------------
  */
@@ -154,6 +154,7 @@ array_cat(PG_FUNCTION_ARGS)
                           *lbs2,
                                ndims2,
                                ndatabytes2;
+       int                     i;
        char       *dat1,
                           *dat2;
        Oid                     element_type;
@@ -164,11 +165,14 @@ array_cat(PG_FUNCTION_ARGS)
        v1 = PG_GETARG_ARRAYTYPE_P(0);
        v2 = PG_GETARG_ARRAYTYPE_P(1);
 
-       /*
-        * We must have one of the following combinations of inputs: 1) one
-        * empty array, and one non-empty array 2) both arrays empty 3) two
-        * arrays with ndims1 == ndims2 4) ndims1 == ndims2 - 1 5) ndims1 ==
-        * ndims2 + 1
+       /*----------
+        * We must have one of the following combinations of inputs:
+        * 1) one empty array, and one non-empty array
+        * 2) both arrays empty
+        * 3) two arrays with ndims1 == ndims2
+        * 4) ndims1 == ndims2 - 1
+        * 5) ndims1 == ndims2 + 1
+        *----------
         */
        ndims1 = ARR_NDIM(v1);
        ndims2 = ARR_NDIM(v2);
@@ -185,8 +189,10 @@ array_cat(PG_FUNCTION_ARGS)
        if (ndims2 == 0)
                PG_RETURN_ARRAYTYPE_P(v1);
 
-       /* the rest fall into combo 2, 3, or 4 */
-       if (ndims1 != ndims2 && ndims1 != ndims2 - 1 && ndims1 != ndims2 + 1)
+       /* the rest fall under rule 3, 4, or 5 */
+       if (ndims1 != ndims2 &&
+               ndims1 != ndims2 - 1 &&
+               ndims1 != ndims2 + 1)
                ereport(ERROR,
                                (errcode(ERRCODE_ARRAY_SUBSCRIPT_ERROR),
                                 errmsg("cannot concatenate incompatible arrays"),
@@ -197,7 +203,7 @@ array_cat(PG_FUNCTION_ARGS)
        element_type1 = ARR_ELEMTYPE(v1);
        element_type2 = ARR_ELEMTYPE(v2);
 
-       /* Do we have a matching element types */
+       /* Check we have matching element types */
        if (element_type1 != element_type2)
                ereport(ERROR,
                                (errcode(ERRCODE_DATATYPE_MISMATCH),
@@ -223,29 +229,27 @@ array_cat(PG_FUNCTION_ARGS)
        if (ndims1 == ndims2)
        {
                /*
-                * resulting array has two element outer array made up of input
-                * argument arrays
+                * resulting array is made up of the elements (possibly arrays
+                * themselves) of the input argument arrays
                 */
-               int                     i;
-
-               ndims = ndims1 + 1;
+               ndims = ndims1;
                dims = (int *) palloc(ndims * sizeof(int));
                lbs = (int *) palloc(ndims * sizeof(int));
 
-               dims[0] = 2;                    /* outer array made up of two input arrays */
-               lbs[0] = 1;                             /* start lower bound at 1 */
+               dims[0] = dims1[0] + dims2[0];
+               lbs[0] = lbs1[0];
 
-               for (i = 0; i < ndims1; i++)
+               for (i = 1; i < ndims; i++)
                {
                        if (dims1[i] != dims2[i] || lbs1[i] != lbs2[i])
                                ereport(ERROR,
                                                (errcode(ERRCODE_ARRAY_SUBSCRIPT_ERROR),
                                                 errmsg("cannot concatenate incompatible arrays"),
-                                       errdetail("Arrays with differing dimensions are not "
-                                                         "compatible for concatenation.")));
+                                       errdetail("Arrays with differing element dimensions are "
+                                                         "not compatible for concatenation.")));
 
-                       dims[i + 1] = dims1[i];
-                       lbs[i + 1] = lbs1[i];
+                       dims[i] = dims1[i];
+                       lbs[i] = lbs1[i];
                }
        }
        else if (ndims1 == ndims2 - 1)
@@ -255,15 +259,18 @@ array_cat(PG_FUNCTION_ARGS)
                 * with the first argument appended to the front of the outer
                 * dimension
                 */
-               int                     i;
-
                ndims = ndims2;
-               dims = dims2;
-               lbs = lbs2;
+               dims = (int *) palloc(ndims * sizeof(int));
+               lbs = (int *) palloc(ndims * sizeof(int));
+               memcpy(dims, dims2, ndims * sizeof(int));
+               memcpy(lbs, lbs2, ndims * sizeof(int));
 
                /* increment number of elements in outer array */
                dims[0] += 1;
 
+               /* decrement outer array lower bound */
+               lbs[0] -= 1;
+
                /* make sure the added element matches our existing elements */
                for (i = 0; i < ndims1; i++)
                {
@@ -276,17 +283,18 @@ array_cat(PG_FUNCTION_ARGS)
                }
        }
        else
-/* (ndims1 == ndims2 + 1) */
        {
                /*
+                * (ndims1 == ndims2 + 1)
+                *
                 * resulting array has the first argument as the outer array, with
                 * the second argument appended to the end of the outer dimension
                 */
-               int                     i;
-
                ndims = ndims1;
-               dims = dims1;
-               lbs = lbs1;
+               dims = (int *) palloc(ndims * sizeof(int));
+               lbs = (int *) palloc(ndims * sizeof(int));
+               memcpy(dims, dims1, ndims * sizeof(int));
+               memcpy(lbs, lbs1, ndims * sizeof(int));
 
                /* increment number of elements in outer array */
                dims[0] += 1;
index be6b27a7cb69c883b24b538172392319ff2a2bc5..0d7793ac5625cab423f524eff817ebf845afd3b0 100644 (file)
@@ -28,6 +28,7 @@
 #include "utils/memutils.h"
 #include "utils/lsyscache.h"
 #include "utils/syscache.h"
+#include "utils/typcache.h"
 
 
 /*----------
@@ -2341,6 +2342,9 @@ deconstruct_array(ArrayType *array,
  *               compares two arrays for equality
  * result :
  *               returns true if the arrays are equal, false otherwise.
+ *
+ * Note: we do not use array_cmp here, since equality may be meaningful in
+ * datatypes that don't have a total ordering (and hence no btree support).
  *-----------------------------------------------------------------------------
  */
 Datum
@@ -2357,13 +2361,12 @@ array_eq(PG_FUNCTION_ARGS)
        int                     nitems1 = ArrayGetNItems(ndims1, dims1);
        int                     nitems2 = ArrayGetNItems(ndims2, dims2);
        Oid                     element_type = ARR_ELEMTYPE(array1);
-       FmgrInfo   *ae_fmgr_info = fcinfo->flinfo;
        bool            result = true;
+       TypeCacheEntry *typentry;
        int                     typlen;
        bool            typbyval;
        char            typalign;
        int                     i;
-       ArrayMetaState *my_extra;
        FunctionCallInfoData locfcinfo;
 
        if (element_type != ARR_ELEMTYPE(array2))
@@ -2379,38 +2382,31 @@ array_eq(PG_FUNCTION_ARGS)
                /*
                 * We arrange to look up the equality function only once per
                 * series of calls, assuming the element type doesn't change
-                * underneath us.
+                * underneath us.  The typcache is used so that we have no
+                * memory leakage when being used as an index support function.
                 */
-               my_extra = (ArrayMetaState *) ae_fmgr_info->fn_extra;
-               if (my_extra == NULL)
+               typentry = (TypeCacheEntry *) fcinfo->flinfo->fn_extra;
+               if (typentry == NULL ||
+                       typentry->type_id != element_type)
                {
-                       ae_fmgr_info->fn_extra = MemoryContextAlloc(ae_fmgr_info->fn_mcxt,
-                                                                                                sizeof(ArrayMetaState));
-                       my_extra = (ArrayMetaState *) ae_fmgr_info->fn_extra;
-                       my_extra->element_type = InvalidOid;
-               }
-
-               if (my_extra->element_type != element_type)
-               {
-                       Oid                     opfuncid = equality_oper_funcid(element_type);
-
-                       get_typlenbyvalalign(element_type,
-                                                                &my_extra->typlen,
-                                                                &my_extra->typbyval,
-                                                                &my_extra->typalign);
-                       fmgr_info_cxt(opfuncid, &my_extra->proc,
-                                                 ae_fmgr_info->fn_mcxt);
-                       my_extra->element_type = element_type;
+                       typentry = lookup_type_cache(element_type,
+                                                                                TYPECACHE_EQ_OPR_FINFO);
+                       if (!OidIsValid(typentry->eq_opr_finfo.fn_oid))
+                               ereport(ERROR,
+                                               (errcode(ERRCODE_UNDEFINED_FUNCTION),
+                                                errmsg("could not identify an equality operator for type %s",
+                                                               format_type_be(element_type))));
+                       fcinfo->flinfo->fn_extra = (void *) typentry;
                }
-               typlen = my_extra->typlen;
-               typbyval = my_extra->typbyval;
-               typalign = my_extra->typalign;
+               typlen = typentry->typlen;
+               typbyval = typentry->typbyval;
+               typalign = typentry->typalign;
 
                /*
                 * apply the operator to each pair of array elements.
                 */
                MemSet(&locfcinfo, 0, sizeof(locfcinfo));
-               locfcinfo.flinfo = &my_extra->proc;
+               locfcinfo.flinfo = &typentry->eq_opr_finfo;
                locfcinfo.nargs = 2;
 
                /* Loop over source data */
@@ -2519,23 +2515,14 @@ array_cmp(FunctionCallInfo fcinfo)
        int                     nitems1 = ArrayGetNItems(ndims1, dims1);
        int                     nitems2 = ArrayGetNItems(ndims2, dims2);
        Oid                     element_type = ARR_ELEMTYPE(array1);
-       FmgrInfo   *ac_fmgr_info = fcinfo->flinfo;
        int                     result = 0;
+       TypeCacheEntry *typentry;
        int                     typlen;
        bool            typbyval;
        char            typalign;
        int                     min_nitems;
        int                     i;
-       typedef struct
-       {
-               Oid                     element_type;
-               int16           typlen;
-               bool            typbyval;
-               char            typalign;
-               FmgrInfo        eqproc;
-               FmgrInfo        ordproc;
-       } ac_extra;
-       ac_extra   *my_extra;
+       FunctionCallInfoData locfcinfo;
 
        if (element_type != ARR_ELEMTYPE(array2))
                ereport(ERROR,
@@ -2543,37 +2530,34 @@ array_cmp(FunctionCallInfo fcinfo)
                        errmsg("cannot compare arrays of different element types")));
 
        /*
-        * We arrange to look up the element type info and related functions
-        * only once per series of calls, assuming the element type doesn't
-        * change underneath us.
+        * We arrange to look up the comparison function only once per series of
+        * calls, assuming the element type doesn't change underneath us.
+        * The typcache is used so that we have no memory leakage when being used
+        * as an index support function.
         */
-       my_extra = (ac_extra *) ac_fmgr_info->fn_extra;
-       if (my_extra == NULL)
+       typentry = (TypeCacheEntry *) fcinfo->flinfo->fn_extra;
+       if (typentry == NULL ||
+               typentry->type_id != element_type)
        {
-               ac_fmgr_info->fn_extra = MemoryContextAlloc(ac_fmgr_info->fn_mcxt,
-                                                                                                       sizeof(ac_extra));
-               my_extra = (ac_extra *) ac_fmgr_info->fn_extra;
-               my_extra->element_type = InvalidOid;
+               typentry = lookup_type_cache(element_type,
+                                                                        TYPECACHE_CMP_PROC_FINFO);
+               if (!OidIsValid(typentry->cmp_proc_finfo.fn_oid))
+                       ereport(ERROR,
+                                       (errcode(ERRCODE_UNDEFINED_FUNCTION),
+                                        errmsg("could not identify a comparison function for type %s",
+                                                       format_type_be(element_type))));
+               fcinfo->flinfo->fn_extra = (void *) typentry;
        }
+       typlen = typentry->typlen;
+       typbyval = typentry->typbyval;
+       typalign = typentry->typalign;
 
-       if (my_extra->element_type != element_type)
-       {
-               Oid                     eqfuncid = equality_oper_funcid(element_type);
-               Oid                     ordfuncid = ordering_oper_funcid(element_type);
-
-               get_typlenbyvalalign(element_type,
-                                                        &my_extra->typlen,
-                                                        &my_extra->typbyval,
-                                                        &my_extra->typalign);
-               fmgr_info_cxt(eqfuncid, &my_extra->eqproc,
-                                         ac_fmgr_info->fn_mcxt);
-               fmgr_info_cxt(ordfuncid, &my_extra->ordproc,
-                                         ac_fmgr_info->fn_mcxt);
-               my_extra->element_type = element_type;
-       }
-       typlen = my_extra->typlen;
-       typbyval = my_extra->typbyval;
-       typalign = my_extra->typalign;
+       /*
+        * apply the operator to each pair of array elements.
+        */
+       MemSet(&locfcinfo, 0, sizeof(locfcinfo));
+       locfcinfo.flinfo = &typentry->cmp_proc_finfo;
+       locfcinfo.nargs = 2;
 
        /* Loop over source data */
        min_nitems = Min(nitems1, nitems2);
@@ -2581,7 +2565,7 @@ array_cmp(FunctionCallInfo fcinfo)
        {
                Datum           elt1;
                Datum           elt2;
-               Datum           opresult;
+               int32           cmpresult;
 
                /* Get element pair */
                elt1 = fetch_att(p1, typbyval, typlen);
@@ -2594,15 +2578,17 @@ array_cmp(FunctionCallInfo fcinfo)
                p2 = (char *) att_align(p2, typalign);
 
                /* Compare the pair of elements */
+               locfcinfo.arg[0] = elt1;
+               locfcinfo.arg[1] = elt2;
+               locfcinfo.argnull[0] = false;
+               locfcinfo.argnull[1] = false;
+               locfcinfo.isnull = false;
+               cmpresult = DatumGetInt32(FunctionCallInvoke(&locfcinfo));
 
-               /* are they equal */
-               opresult = FunctionCall2(&my_extra->eqproc, elt1, elt2);
-               if (DatumGetBool(opresult))
-                       continue;
+               if (cmpresult == 0)
+                       continue;                       /* equal */
 
-               /* nope, see if arg1 is less than arg2 */
-               opresult = FunctionCall2(&my_extra->ordproc, elt1, elt2);
-               if (DatumGetBool(opresult))
+               if (cmpresult < 0)
                {
                        /* arg1 is less than arg2 */
                        result = -1;
index 79b81cf81fdc527e039ad270838a193173bab359..844494472195a573c413d5c1245a554827eb5cea 100644 (file)
@@ -342,6 +342,9 @@ cash_send(PG_FUNCTION_ARGS)
        PG_RETURN_BYTEA_P(pq_endtypsend(&buf));
 }
 
+/*
+ * Comparison functions
+ */
 
 Datum
 cash_eq(PG_FUNCTION_ARGS)
@@ -397,6 +400,20 @@ cash_ge(PG_FUNCTION_ARGS)
        PG_RETURN_BOOL(c1 >= c2);
 }
 
+Datum
+cash_cmp(PG_FUNCTION_ARGS)
+{
+       Cash            c1 = PG_GETARG_CASH(0);
+       Cash            c2 = PG_GETARG_CASH(1);
+
+       if (c1 > c2)
+               PG_RETURN_INT32(1);
+       else if (c1 == c2)
+               PG_RETURN_INT32(0);
+       else
+               PG_RETURN_INT32(-1);
+}
+
 
 /* cash_pl()
  * Add two cash values.
index 595a2c290b1b6bdfe7c5ef92c75e98cf7ae3d615..7cdc48a4ebcb8e3828cfb524a0f1dd327daf1bf6 100644 (file)
@@ -62,20 +62,19 @@ date_in(PG_FUNCTION_ARGS)
        int                     tzp;
        int                     dtype;
        int                     nf;
+       int                     dterr;
        char       *field[MAXDATEFIELDS];
        int                     ftype[MAXDATEFIELDS];
        char            lowstr[MAXDATELEN + 1];
 
        if (strlen(str) >= sizeof(lowstr))
-               ereport(ERROR,
-                               (errcode(ERRCODE_INVALID_DATETIME_FORMAT),
-                                errmsg("invalid input syntax for date: \"%s\"", str)));
-
-       if ((ParseDateTime(str, lowstr, field, ftype, MAXDATEFIELDS, &nf) != 0)
-        || (DecodeDateTime(field, ftype, nf, &dtype, tm, &fsec, &tzp) != 0))
-               ereport(ERROR,
-                               (errcode(ERRCODE_INVALID_DATETIME_FORMAT),
-                                errmsg("invalid input syntax for date: \"%s\"", str)));
+               dterr = DTERR_BAD_FORMAT;
+       else
+               dterr = ParseDateTime(str, lowstr, field, ftype, MAXDATEFIELDS, &nf);
+       if (dterr == 0)
+               dterr = DecodeDateTime(field, ftype, nf, &dtype, tm, &fsec, &tzp);
+       if (dterr != 0)
+               DateTimeParseError(dterr, str, "date");
 
        switch (dtype)
        {
@@ -95,9 +94,8 @@ date_in(PG_FUNCTION_ARGS)
                        break;
 
                default:
-                       ereport(ERROR,
-                                       (errcode(ERRCODE_INVALID_DATETIME_FORMAT),
-                                 errmsg("invalid input syntax for date: \"%s\"", str)));
+                       DateTimeParseError(DTERR_BAD_FORMAT, str, "date");
+                       break;
        }
 
        date = date2j(tm->tm_year, tm->tm_mon, tm->tm_mday) - POSTGRES_EPOCH_JDATE;
@@ -559,21 +557,20 @@ time_in(PG_FUNCTION_ARGS)
                           *tm = &tt;
        int                     tz;
        int                     nf;
+       int                     dterr;
        char            lowstr[MAXDATELEN + 1];
        char       *field[MAXDATEFIELDS];
        int                     dtype;
        int                     ftype[MAXDATEFIELDS];
 
        if (strlen(str) >= sizeof(lowstr))
-               ereport(ERROR,
-                               (errcode(ERRCODE_INVALID_DATETIME_FORMAT),
-                                errmsg("invalid input syntax for time: \"%s\"", str)));
-
-       if ((ParseDateTime(str, lowstr, field, ftype, MAXDATEFIELDS, &nf) != 0)
-         || (DecodeTimeOnly(field, ftype, nf, &dtype, tm, &fsec, &tz) != 0))
-               ereport(ERROR,
-                               (errcode(ERRCODE_INVALID_DATETIME_FORMAT),
-                                errmsg("invalid input syntax for time: \"%s\"", str)));
+               dterr = DTERR_BAD_FORMAT;
+       else
+               dterr = ParseDateTime(str, lowstr, field, ftype, MAXDATEFIELDS, &nf);
+       if (dterr == 0)
+               dterr = DecodeTimeOnly(field, ftype, nf, &dtype, tm, &fsec, &tz);
+       if (dterr != 0)
+               DateTimeParseError(dterr, str, "time");
 
        tm2time(tm, fsec, &result);
        AdjustTimeForTypmod(&result, typmod);
@@ -1424,23 +1421,20 @@ timetz_in(PG_FUNCTION_ARGS)
                           *tm = &tt;
        int                     tz;
        int                     nf;
+       int                     dterr;
        char            lowstr[MAXDATELEN + 1];
        char       *field[MAXDATEFIELDS];
        int                     dtype;
        int                     ftype[MAXDATEFIELDS];
 
        if (strlen(str) >= sizeof(lowstr))
-               ereport(ERROR,
-                               (errcode(ERRCODE_INVALID_DATETIME_FORMAT),
-                  errmsg("invalid input syntax for time with time zone: \"%s\"",
-                                 str)));
-
-       if ((ParseDateTime(str, lowstr, field, ftype, MAXDATEFIELDS, &nf) != 0)
-         || (DecodeTimeOnly(field, ftype, nf, &dtype, tm, &fsec, &tz) != 0))
-               ereport(ERROR,
-                               (errcode(ERRCODE_INVALID_DATETIME_FORMAT),
-                  errmsg("invalid input syntax for time with time zone: \"%s\"",
-                                 str)));
+               dterr = DTERR_BAD_FORMAT;
+       else
+               dterr = ParseDateTime(str, lowstr, field, ftype, MAXDATEFIELDS, &nf);
+       if (dterr == 0)
+               dterr = DecodeTimeOnly(field, ftype, nf, &dtype, tm, &fsec, &tz);
+       if (dterr != 0)
+               DateTimeParseError(dterr, str, "time with time zone");
 
        result = (TimeTzADT *) palloc(sizeof(TimeTzADT));
        tm2timetz(tm, fsec, tz, result);
index 1956cea0e8511594530547e80a633595cbe9880e..26cab6da891031cba1579d2728d03a31c549384f 100644 (file)
@@ -82,7 +82,7 @@ char     *days[] = {"Sunday", "Monday", "Tuesday", "Wednesday",
  * which are 30 or 45 minutes away from an even hour, most are on an hour
  * boundary, and none on other boundaries.
  *
- * Let's include all strings from my current zinc time zone database.
+ * Let's include all strings from my current zic time zone database.
  * Not all of them are unique, or even very understandable, so we will
  * leave some commented out for now.
  */
@@ -91,8 +91,8 @@ static datetkn datetktbl[] = {
        {EARLY, RESERV, DTK_EARLY}, /* "-infinity" reserved for "early time" */
        {"abstime", IGNORE_DTF, 0}, /* for pre-v6.1 "Invalid Abstime" */
        {"acsst", DTZ, POS(42)},        /* Cent. Australia */
-       {"acst", DTZ, NEG(16)},         /* Atlantic/Porto Acre */
-       {"act", TZ, NEG(20)},           /* Atlantic/Porto Acre */
+       {"acst", DTZ, NEG(16)},         /* Atlantic/Porto Acre Summer Time */
+       {"act", TZ, NEG(20)},           /* Atlantic/Porto Acre Time */
        {DA_D, ADBC, AD},                       /* "ad" for years >= 0 */
        {"adt", DTZ, NEG(12)},          /* Atlantic Daylight Time */
        {"aesst", DTZ, POS(44)},        /* E. Australia */
@@ -107,9 +107,12 @@ static datetkn datetktbl[] = {
        {"am", AMPM, AM},
        {"amst", DTZ, POS(20)},         /* Armenia Summer Time (Yerevan) */
 #if 0
-       {"amst", DTZ, NEG(12)},         /* Porto Velho */
+       {"amst", DTZ, NEG(12)},         /* Amazon Summer Time (Porto Velho) */
 #endif
        {"amt", TZ, POS(16)},           /* Armenia Time (Yerevan) */
+#if 0
+       {"amt", TZ, NEG(16)},           /* Amazon Time (Porto Velho) */
+#endif
        {"anast", DTZ, POS(52)},        /* Anadyr Summer Time (Russia) */
        {"anat", TZ, POS(48)},          /* Anadyr Time (Russia) */
        {"apr", MONTH, 4},
@@ -147,10 +150,8 @@ static datetkn datetktbl[] = {
 #endif
        {"bot", TZ, NEG(16)},           /* Bolivia Time */
        {"bra", TZ, NEG(12)},           /* Brazil Time */
-#if 0
-       brst
-       brt
-#endif
+       {"brst", DTZ, NEG(8)},          /* Brasilia Summer Time */
+       {"brt", TZ, NEG(12)},           /* Brasilia Time */
        {"bst", DTZ, POS(4)},           /* British Summer Time */
 #if 0
        {"bst", TZ, NEG(12)},           /* Brazil Standard Time */
@@ -226,10 +227,8 @@ static datetkn datetktbl[] = {
        {"fjt", TZ, NEG(48)},           /* Fiji Time */
        {"fkst", DTZ, NEG(12)},         /* Falkland Islands Summer Time */
        {"fkt", TZ, NEG(8)},            /* Falkland Islands Time */
-#if 0
-       fnst
-       fnt
-#endif
+       {"fnst", DTZ, NEG(4)},          /* Fernando de Noronha Summer Time */
+       {"fnt", TZ, NEG(8)},            /* Fernando de Noronha Time */
        {"fri", DOW, 5},
        {"friday", DOW, 5},
        {"fst", TZ, POS(4)},            /* French Summer Time */
@@ -243,7 +242,7 @@ static datetkn datetktbl[] = {
        ghst
 #endif
        {"gilt", TZ, POS(48)},          /* Gilbert Islands Time */
-       {"gmt", TZ, POS(0)},            /* Greenwish Mean Time */
+       {"gmt", TZ, POS(0)},            /* Greenwich Mean Time */
        {"gst", TZ, POS(40)},           /* Guam Std Time, USSR Zone 9 */
        {"gyt", TZ, NEG(16)},           /* Guyana Time */
        {"h", UNITS, DTK_HOUR},         /* "hour" */
@@ -324,7 +323,7 @@ static datetkn datetktbl[] = {
        {"mez", TZ, POS(4)},            /* Middle Europe Zone */
        {"mht", TZ, POS(48)},           /* Kwajalein */
        {"mm", UNITS, DTK_MINUTE},      /* "minute" for ISO input */
-       {"mmt", TZ, POS(26)},           /* Myannar Time */
+       {"mmt", TZ, POS(26)},           /* Myanmar Time */
        {"mon", DOW, 1},
        {"monday", DOW, 1},
 #if 0
@@ -700,7 +699,7 @@ TrimTrailingZeros(char *str)
 
 /* ParseDateTime()
  *     Break string into tokens based on a date/time context.
- *     Returns 0 if successful, -1 if bogus input detected.
+ *     Returns 0 if successful, DTERR code if bogus input detected.
  *
  * timestr - the input string
  * lowstr - workspace for field string storage (must be large enough for
@@ -746,7 +745,7 @@ ParseDateTime(const char *timestr, char *lowstr,
 
                /* Record start of current field */
                if (nf >= maxfields)
-                       return -1;
+                       return DTERR_BAD_FORMAT;
                field[nf] = lp;
 
                /* leading digit? then date or time */
@@ -867,7 +866,7 @@ ParseDateTime(const char *timestr, char *lowstr,
                        }
                        /* otherwise something wrong... */
                        else
-                               return -1;
+                               return DTERR_BAD_FORMAT;
                }
                /* ignore other punctuation but use as delimiter */
                else if (ispunct((unsigned char) *cp))
@@ -877,7 +876,7 @@ ParseDateTime(const char *timestr, char *lowstr,
                }
                /* otherwise, something is not right... */
                else
-                       return -1;
+                       return DTERR_BAD_FORMAT;
 
                /* force in a delimiter after each field */
                *lp++ = '\0';
@@ -892,7 +891,9 @@ ParseDateTime(const char *timestr, char *lowstr,
 
 /* DecodeDateTime()
  * Interpret previously parsed fields for general date and time.
- * Return 0 if full date, 1 if only time, and -1 if problems.
+ * Return 0 if full date, 1 if only time, and negative DTERR code if problems.
+ * (Currently, all callers treat 1 as an error return too.)
+ *
  *             External format(s):
  *                             "<weekday> <month>-<day>-<year> <hour>:<minute>:<second>"
  *                             "Fri Feb-7-1997 15:23:27"
@@ -921,15 +922,16 @@ DecodeDateTime(char **field, int *ftype, int nf,
                                                                 * format */
        int                     i;
        int                     val;
+       int                     dterr;
        int                     mer = HR24;
        int                     haveTextMonth = FALSE;
        int                     is2digits = FALSE;
        int                     bc = FALSE;
 
-       /***
+       /*
         * We'll insist on at least all of the date fields, but initialize the
         * remaining fields in case they are not set later...
-        ***/
+        */
        *dtype = DTK_DATE;
        tm->tm_hour = 0;
        tm->tm_min = 0;
@@ -956,14 +958,15 @@ DecodeDateTime(char **field, int *ftype, int nf,
                                        int                     val;
 
                                        if (tzp == NULL)
-                                               return -1;
+                                               return DTERR_BAD_FORMAT;
 
                                        val = strtol(field[i], &cp, 10);
 
                                        j2date(val, &tm->tm_year, &tm->tm_mon, &tm->tm_mday);
                                        /* Get the time zone from the end of the string */
-                                       if (DecodeTimezone(cp, tzp) != 0)
-                                               return -1;
+                                       dterr = DecodeTimezone(cp, tzp);
+                                       if (dterr)
+                                               return dterr;
 
                                        tmask = DTK_DATE_M | DTK_TIME_M | DTK_M(TZ);
                                        ptype = 0;
@@ -980,7 +983,7 @@ DecodeDateTime(char **field, int *ftype, int nf,
                                {
                                        /* No time zone accepted? Then quit... */
                                        if (tzp == NULL)
-                                               return -1;
+                                               return DTERR_BAD_FORMAT;
 
                                        if (isdigit((unsigned char) *field[i]) || ptype != 0)
                                        {
@@ -990,7 +993,7 @@ DecodeDateTime(char **field, int *ftype, int nf,
                                                {
                                                        /* Sanity check; should not fail this test */
                                                        if (ptype != DTK_TIME)
-                                                               return -1;
+                                                               return DTERR_BAD_FORMAT;
                                                        ptype = 0;
                                                }
 
@@ -1000,23 +1003,28 @@ DecodeDateTime(char **field, int *ftype, int nf,
                                                 * time already...
                                                 */
                                                if ((fmask & DTK_TIME_M) == DTK_TIME_M)
-                                                       return -1;
+                                                       return DTERR_BAD_FORMAT;
 
                                                if ((cp = strchr(field[i], '-')) == NULL)
-                                                       return -1;
+                                                       return DTERR_BAD_FORMAT;
 
                                                /* Get the time zone from the end of the string */
-                                               if (DecodeTimezone(cp, tzp) != 0)
-                                                       return -1;
+                                               dterr = DecodeTimezone(cp, tzp);
+                                               if (dterr)
+                                                       return dterr;
                                                *cp = '\0';
 
                                                /*
                                                 * Then read the rest of the field as a
                                                 * concatenated time
                                                 */
-                                               if ((ftype[i] = DecodeNumberField(strlen(field[i]), field[i], fmask,
-                                                                         &tmask, tm, fsec, &is2digits)) < 0)
-                                                       return -1;
+                                               dterr = DecodeNumberField(strlen(field[i]), field[i],
+                                                                                                 fmask,
+                                                                                                 &tmask, tm,
+                                                                                                 fsec, &is2digits);
+                                               if (dterr < 0)
+                                                       return dterr;
+                                               ftype[i] = dterr;
 
                                                /*
                                                 * modify tmask after returning from
@@ -1026,27 +1034,33 @@ DecodeDateTime(char **field, int *ftype, int nf,
                                        }
                                        else
                                        {
-                                               if (DecodePosixTimezone(field[i], tzp) != 0)
-                                                       return -1;
+                                               dterr = DecodePosixTimezone(field[i], tzp);
+                                               if (dterr)
+                                                       return dterr;
 
                                                ftype[i] = DTK_TZ;
                                                tmask = DTK_M(TZ);
                                        }
                                }
-                               else if (DecodeDate(field[i], fmask, &tmask, tm) != 0)
-                                       return -1;
+                               else
+                               {
+                                       dterr = DecodeDate(field[i], fmask, &tmask, tm);
+                                       if (dterr)
+                                               return dterr;
+                               }
                                break;
 
                        case DTK_TIME:
-                               if (DecodeTime(field[i], fmask, &tmask, tm, fsec) != 0)
-                                       return -1;
+                               dterr = DecodeTime(field[i], fmask, &tmask, tm, fsec);
+                               if (dterr)
+                                       return dterr;
 
                                /*
                                 * Check upper limit on hours; other limits checked in
                                 * DecodeTime()
                                 */
                                if (tm->tm_hour > 23)
-                                       return -1;
+                                       return DTERR_FIELD_OVERFLOW;
                                break;
 
                        case DTK_TZ:
@@ -1054,10 +1068,11 @@ DecodeDateTime(char **field, int *ftype, int nf,
                                        int                     tz;
 
                                        if (tzp == NULL)
-                                               return -1;
+                                               return DTERR_BAD_FORMAT;
 
-                                       if (DecodeTimezone(field[i], &tz) != 0)
-                                               return -1;
+                                       dterr = DecodeTimezone(field[i], &tz);
+                                       if (dterr)
+                                               return dterr;
 
                                        /*
                                         * Already have a time zone? Then maybe this is the
@@ -1104,11 +1119,11 @@ DecodeDateTime(char **field, int *ftype, int nf,
                                                        case DTK_SECOND:
                                                                break;
                                                        default:
-                                                               return 1;
+                                                               return DTERR_BAD_FORMAT;
                                                                break;
                                                }
                                        else if (*cp != '\0')
-                                               return -1;
+                                               return DTERR_BAD_FORMAT;
 
                                        switch (ptype)
                                        {
@@ -1160,7 +1175,7 @@ DecodeDateTime(char **field, int *ftype, int nf,
 
                                                                frac = strtod(cp, &cp);
                                                                if (*cp != '\0')
-                                                                       return -1;
+                                                                       return DTERR_BAD_FORMAT;
 #ifdef HAVE_INT64_TIMESTAMP
                                                                *fsec = rint(frac * 1000000);
 #else
@@ -1171,8 +1186,9 @@ DecodeDateTime(char **field, int *ftype, int nf,
 
                                                case DTK_TZ:
                                                        tmask = DTK_M(TZ);
-                                                       if (DecodeTimezone(field[i], tzp) != 0)
-                                                               return -1;
+                                                       dterr = DecodeTimezone(field[i], tzp);
+                                                       if (dterr)
+                                                               return dterr;
                                                        break;
 
                                                case DTK_JULIAN:
@@ -1188,7 +1204,7 @@ DecodeDateTime(char **field, int *ftype, int nf,
 
                                                                time = strtod(cp, &cp);
                                                                if (*cp != '\0')
-                                                                       return -1;
+                                                                       return DTERR_BAD_FORMAT;
 
                                                                tmask |= DTK_TIME_M;
 #ifdef HAVE_INT64_TIMESTAMP
@@ -1203,16 +1219,20 @@ DecodeDateTime(char **field, int *ftype, int nf,
 
                                                case DTK_TIME:
                                                        /* previous field was "t" for ISO time */
-                                                       if ((ftype[i] = DecodeNumberField(strlen(field[i]), field[i], (fmask | DTK_DATE_M),
-                                                                         &tmask, tm, fsec, &is2digits)) < 0)
-                                                               return -1;
+                                                       dterr = DecodeNumberField(strlen(field[i]), field[i],
+                                                                                                         (fmask | DTK_DATE_M),
+                                                                                                         &tmask, tm,
+                                                                                                         fsec, &is2digits);
+                                                       if (dterr < 0)
+                                                               return dterr;
+                                                       ftype[i] = dterr;
 
                                                        if (tmask != DTK_TIME_M)
-                                                               return -1;
+                                                               return DTERR_BAD_FORMAT;
                                                        break;
 
                                                default:
-                                                       return -1;
+                                                       return DTERR_BAD_FORMAT;
                                                        break;
                                        }
 
@@ -1230,8 +1250,9 @@ DecodeDateTime(char **field, int *ftype, int nf,
                                        /* Embedded decimal and no date yet? */
                                        if ((cp != NULL) && !(fmask & DTK_DATE_M))
                                        {
-                                               if (DecodeDate(field[i], fmask, &tmask, tm) != 0)
-                                                       return -1;
+                                               dterr = DecodeDate(field[i], fmask, &tmask, tm);
+                                               if (dterr)
+                                                       return dterr;
                                        }
                                        /* embedded decimal and several digits before? */
                                        else if ((cp != NULL) && ((flen - strlen(cp)) > 2))
@@ -1241,20 +1262,31 @@ DecodeDateTime(char **field, int *ftype, int nf,
                                                 * the type field to allow decoding other fields
                                                 * later. Example: 20011223 or 040506
                                                 */
-                                               if ((ftype[i] = DecodeNumberField(flen, field[i], fmask,
-                                                                         &tmask, tm, fsec, &is2digits)) < 0)
-                                                       return -1;
+                                               dterr = DecodeNumberField(flen, field[i], fmask,
+                                                                                                 &tmask, tm,
+                                                                                                 fsec, &is2digits);
+                                               if (dterr < 0)
+                                                       return dterr;
+                                               ftype[i] = dterr;
                                        }
                                        else if (flen > 4)
                                        {
-                                               if ((ftype[i] = DecodeNumberField(flen, field[i], fmask,
-                                                                         &tmask, tm, fsec, &is2digits)) < 0)
-                                                       return -1;
+                                               dterr = DecodeNumberField(flen, field[i], fmask,
+                                                                                                 &tmask, tm,
+                                                                                                 fsec, &is2digits);
+                                               if (dterr < 0)
+                                                       return dterr;
+                                               ftype[i] = dterr;
                                        }
                                        /* otherwise it is a single date/time field... */
-                                       else if (DecodeNumber(flen, field[i], fmask,
-                                                                         &tmask, tm, fsec, &is2digits) != 0)
-                                               return -1;
+                                       else
+                                       {
+                                               dterr = DecodeNumber(flen, field[i], fmask,
+                                                                                        &tmask, tm,
+                                                                                        fsec, &is2digits);
+                                               if (dterr)
+                                                       return dterr;
+                                       }
                                }
                                break;
 
@@ -1275,7 +1307,7 @@ DecodeDateTime(char **field, int *ftype, int nf,
                                                                 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
                                                                  errmsg("\"current\" is no longer supported")));
 
-                                                               return -1;
+                                                               return DTERR_BAD_FORMAT;
                                                                break;
 
                                                        case DTK_NOW:
@@ -1357,7 +1389,7 @@ DecodeDateTime(char **field, int *ftype, int nf,
                                                tmask |= DTK_M(DTZ);
                                                tm->tm_isdst = 1;
                                                if (tzp == NULL)
-                                                       return -1;
+                                                       return DTERR_BAD_FORMAT;
                                                *tzp += val * 60;
                                                break;
 
@@ -1370,7 +1402,7 @@ DecodeDateTime(char **field, int *ftype, int nf,
                                                tmask |= DTK_M(TZ);
                                                tm->tm_isdst = 1;
                                                if (tzp == NULL)
-                                                       return -1;
+                                                       return DTERR_BAD_FORMAT;
                                                *tzp = val * 60;
                                                ftype[i] = DTK_TZ;
                                                break;
@@ -1378,7 +1410,7 @@ DecodeDateTime(char **field, int *ftype, int nf,
                                        case TZ:
                                                tm->tm_isdst = 0;
                                                if (tzp == NULL)
-                                                       return -1;
+                                                       return DTERR_BAD_FORMAT;
                                                *tzp = val * 60;
                                                ftype[i] = DTK_TZ;
                                                break;
@@ -1412,9 +1444,9 @@ DecodeDateTime(char **field, int *ftype, int nf,
                                                 */
                                                tmask = 0;
 
-                                               /* No preceeding date? Then quit... */
+                                               /* No preceding date? Then quit... */
                                                if ((fmask & DTK_DATE_M) != DTK_DATE_M)
-                                                       return -1;
+                                                       return DTERR_BAD_FORMAT;
 
                                                /***
                                                 * We will need one of the following fields:
@@ -1426,22 +1458,22 @@ DecodeDateTime(char **field, int *ftype, int nf,
                                                        || ((ftype[i + 1] != DTK_NUMBER)
                                                                && (ftype[i + 1] != DTK_TIME)
                                                                && (ftype[i + 1] != DTK_DATE)))
-                                                       return -1;
+                                                       return DTERR_BAD_FORMAT;
 
                                                ptype = val;
                                                break;
 
                                        default:
-                                               return -1;
+                                               return DTERR_BAD_FORMAT;
                                }
                                break;
 
                        default:
-                               return -1;
+                               return DTERR_BAD_FORMAT;
                }
 
                if (tmask & fmask)
-                       return -1;
+                       return DTERR_BAD_FORMAT;
                fmask |= tmask;
        }
 
@@ -1478,18 +1510,18 @@ DecodeDateTime(char **field, int *ftype, int nf,
        if (fmask & DTK_M(MONTH))
        {
                if (tm->tm_mon < 1 || tm->tm_mon > 12)
-                       return -1;
+                       return DTERR_MD_FIELD_OVERFLOW;
        }
 
        /* minimal check for valid day */
        if (fmask & DTK_M(DAY))
        {
                if (tm->tm_mday < 1 || tm->tm_mday > 31)
-                       return -1;
+                       return DTERR_MD_FIELD_OVERFLOW;
        }
 
        if ((mer != HR24) && (tm->tm_hour > 12))
-               return -1;
+               return DTERR_FIELD_OVERFLOW;
        if ((mer == AM) && (tm->tm_hour == 12))
                tm->tm_hour = 0;
        else if ((mer == PM) && (tm->tm_hour != 12))
@@ -1499,14 +1531,19 @@ DecodeDateTime(char **field, int *ftype, int nf,
        if (*dtype == DTK_DATE)
        {
                if ((fmask & DTK_DATE_M) != DTK_DATE_M)
-                       return ((fmask & DTK_TIME_M) == DTK_TIME_M) ? 1 : -1;
+               {
+                       if ((fmask & DTK_TIME_M) == DTK_TIME_M)
+                               return 1;
+                       return DTERR_BAD_FORMAT;
+               }
 
                /*
-                * check for valid day of month, now that we know for sure the
-                * month and year...
+                * Check for valid day of month, now that we know for sure the
+                * month and year.  Note we don't use MD_FIELD_OVERFLOW here,
+                * since it seems unlikely that "Feb 29" is a YMD-order error.
                 */
                if (tm->tm_mday > day_tab[isleap(tm->tm_year)][tm->tm_mon - 1])
-                       return -1;
+                       return DTERR_FIELD_OVERFLOW;
 
                /* timezone not specified? then find local timezone if possible */
                if ((tzp != NULL) && (!(fmask & DTK_M(TZ))))
@@ -1516,14 +1553,14 @@ DecodeDateTime(char **field, int *ftype, int nf,
                         * then error
                         */
                        if (fmask & DTK_M(DTZMOD))
-                               return -1;
+                               return DTERR_BAD_FORMAT;
 
                        *tzp = DetermineLocalTimeZone(tm);
                }
        }
 
        return 0;
-}      /* DecodeDateTime() */
+}
 
 
 /* DetermineLocalTimeZone()
@@ -1674,6 +1711,8 @@ DetermineLocalTimeZone(struct tm * tm)
 
 /* DecodeTimeOnly()
  * Interpret parsed string as time fields only.
+ * Returns 0 if successful, DTERR code if bogus input detected.
+ *
  * Note that support for time zone is here for
  * SQL92 TIME WITH TIME ZONE, but it reveals
  * bogosity with SQL92 date/time standards, since
@@ -1692,6 +1731,7 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
        int                     ptype = 0;              /* "prefix type" for ISO h04mm05s06 format */
        int                     i;
        int                     val;
+       int                     dterr;
        int                     is2digits = FALSE;
        int                     mer = HR24;
 
@@ -1717,15 +1757,16 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
                                 * time zones no matter what else!
                                 */
                                if (tzp == NULL)
-                                       return -1;
+                                       return DTERR_BAD_FORMAT;
 
                                /* Under limited circumstances, we will accept a date... */
                                if ((i == 0) && (nf >= 2)
                                        && ((ftype[nf - 1] == DTK_DATE)
                                                || (ftype[1] == DTK_TIME)))
                                {
-                                       if (DecodeDate(field[i], fmask, &tmask, tm) != 0)
-                                               return -1;
+                                       dterr = DecodeDate(field[i], fmask, &tmask, tm);
+                                       if (dterr)
+                                               return dterr;
                                }
                                /* otherwise, this is a time and/or time zone */
                                else
@@ -1740,34 +1781,40 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
                                                 * already...
                                                 */
                                                if ((fmask & DTK_TIME_M) == DTK_TIME_M)
-                                                       return -1;
+                                                       return DTERR_BAD_FORMAT;
 
                                                /*
                                                 * Should not get here and fail. Sanity check
                                                 * only...
                                                 */
                                                if ((cp = strchr(field[i], '-')) == NULL)
-                                                       return -1;
+                                                       return DTERR_BAD_FORMAT;
 
                                                /* Get the time zone from the end of the string */
-                                               if (DecodeTimezone(cp, tzp) != 0)
-                                                       return -1;
+                                               dterr = DecodeTimezone(cp, tzp);
+                                               if (dterr)
+                                                       return dterr;
                                                *cp = '\0';
 
                                                /*
                                                 * Then read the rest of the field as a
                                                 * concatenated time
                                                 */
-                                               if ((ftype[i] = DecodeNumberField(strlen(field[i]), field[i], (fmask | DTK_DATE_M),
-                                                                         &tmask, tm, fsec, &is2digits)) < 0)
-                                                       return -1;
+                                               dterr = DecodeNumberField(strlen(field[i]), field[i],
+                                                                                                 (fmask | DTK_DATE_M),
+                                                                                                 &tmask, tm,
+                                                                                                 fsec, &is2digits);
+                                               if (dterr < 0)
+                                                       return dterr;
+                                               ftype[i] = dterr;
 
                                                tmask |= DTK_M(TZ);
                                        }
                                        else
                                        {
-                                               if (DecodePosixTimezone(field[i], tzp) != 0)
-                                                       return -1;
+                                               dterr = DecodePosixTimezone(field[i], tzp);
+                                               if (dterr)
+                                                       return dterr;
 
                                                ftype[i] = DTK_TZ;
                                                tmask = DTK_M(TZ);
@@ -1776,19 +1823,22 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
                                break;
 
                        case DTK_TIME:
-                               if (DecodeTime(field[i], (fmask | DTK_DATE_M), &tmask, tm, fsec) != 0)
-                                       return -1;
+                               dterr = DecodeTime(field[i], (fmask | DTK_DATE_M),
+                                                                  &tmask, tm, fsec);
+                               if (dterr)
+                                       return dterr;
                                break;
 
                        case DTK_TZ:
-                               if (tzp == NULL)
-                                       return -1;
-
                                {
                                        int                     tz;
 
-                                       if (DecodeTimezone(field[i], &tz) != 0)
-                                               return -1;
+                                       if (tzp == NULL)
+                                               return DTERR_BAD_FORMAT;
+
+                                       dterr = DecodeTimezone(field[i], &tz);
+                                       if (dterr)
+                                               return dterr;
 
                                        /*
                                         * Already have a time zone? Then maybe this is the
@@ -1828,7 +1878,7 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
                                                case DTK_MONTH:
                                                case DTK_DAY:
                                                        if (tzp == NULL)
-                                                               return -1;
+                                                               return DTERR_BAD_FORMAT;
                                                default:
                                                        break;
                                        }
@@ -1847,11 +1897,11 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
                                                        case DTK_SECOND:
                                                                break;
                                                        default:
-                                                               return 1;
+                                                               return DTERR_BAD_FORMAT;
                                                                break;
                                                }
                                        else if (*cp != '\0')
-                                               return -1;
+                                               return DTERR_BAD_FORMAT;
 
                                        switch (ptype)
                                        {
@@ -1903,7 +1953,7 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
 
                                                                frac = strtod(cp, &cp);
                                                                if (*cp != '\0')
-                                                                       return -1;
+                                                                       return DTERR_BAD_FORMAT;
 #ifdef HAVE_INT64_TIMESTAMP
                                                                *fsec = rint(frac * 1000000);
 #else
@@ -1914,8 +1964,9 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
 
                                                case DTK_TZ:
                                                        tmask = DTK_M(TZ);
-                                                       if (DecodeTimezone(field[i], tzp) != 0)
-                                                               return -1;
+                                                       dterr = DecodeTimezone(field[i], tzp);
+                                                       if (dterr)
+                                                               return dterr;
                                                        break;
 
                                                case DTK_JULIAN:
@@ -1930,7 +1981,7 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
 
                                                                time = strtod(cp, &cp);
                                                                if (*cp != '\0')
-                                                                       return -1;
+                                                                       return DTERR_BAD_FORMAT;
 
                                                                tmask |= DTK_TIME_M;
 #ifdef HAVE_INT64_TIMESTAMP
@@ -1945,16 +1996,20 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
 
                                                case DTK_TIME:
                                                        /* previous field was "t" for ISO time */
-                                                       if ((ftype[i] = DecodeNumberField(strlen(field[i]), field[i], (fmask | DTK_DATE_M),
-                                                                         &tmask, tm, fsec, &is2digits)) < 0)
-                                                               return -1;
+                                                       dterr = DecodeNumberField(strlen(field[i]), field[i],
+                                                                                                         (fmask | DTK_DATE_M),
+                                                                                                         &tmask, tm,
+                                                                                                         fsec, &is2digits);
+                                                       if (dterr < 0)
+                                                               return dterr;
+                                                       ftype[i] = dterr;
 
                                                        if (tmask != DTK_TIME_M)
-                                                               return -1;
+                                                               return DTERR_BAD_FORMAT;
                                                        break;
 
                                                default:
-                                                       return -1;
+                                                       return DTERR_BAD_FORMAT;
                                                        break;
                                        }
 
@@ -1978,8 +2033,9 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
                                                 */
                                                if ((i == 0) && ((nf >= 2) && (ftype[nf - 1] == DTK_DATE)))
                                                {
-                                                       if (DecodeDate(field[i], fmask, &tmask, tm) != 0)
-                                                               return -1;
+                                                       dterr = DecodeDate(field[i], fmask, &tmask, tm);
+                                                       if (dterr)
+                                                               return dterr;
                                                }
                                                /* embedded decimal and several digits before? */
                                                else if ((flen - strlen(cp)) > 2)
@@ -1989,23 +2045,37 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
                                                         * Set the type field to allow decoding other
                                                         * fields later. Example: 20011223 or 040506
                                                         */
-                                                       if ((ftype[i] = DecodeNumberField(flen, field[i], fmask,
-                                                                         &tmask, tm, fsec, &is2digits)) < 0)
-                                                               return -1;
+                                                       dterr = DecodeNumberField(flen, field[i],
+                                                                                                         (fmask | DTK_DATE_M),
+                                                                                                         &tmask, tm,
+                                                                                                         fsec, &is2digits);
+                                                       if (dterr < 0)
+                                                               return dterr;
+                                                       ftype[i] = dterr;
                                                }
                                                else
-                                                       return -1;
+                                                       return DTERR_BAD_FORMAT;
                                        }
                                        else if (flen > 4)
                                        {
-                                               if ((ftype[i] = DecodeNumberField(flen, field[i], fmask,
-                                                                         &tmask, tm, fsec, &is2digits)) < 0)
-                                                       return -1;
+                                               dterr = DecodeNumberField(flen, field[i],
+                                                                                                 (fmask | DTK_DATE_M),
+                                                                                                 &tmask, tm,
+                                                                                                 fsec, &is2digits);
+                                               if (dterr < 0)
+                                                       return dterr;
+                                               ftype[i] = dterr;
                                        }
                                        /* otherwise it is a single date/time field... */
-                                       else if (DecodeNumber(flen, field[i], fmask,
-                                                                         &tmask, tm, fsec, &is2digits) != 0)
-                                               return -1;
+                                       else
+                                       {
+                                               dterr = DecodeNumber(flen, field[i],
+                                                                                        (fmask | DTK_DATE_M),
+                                                                                        &tmask, tm,
+                                                                                        fsec, &is2digits);
+                                               if (dterr)
+                                                       return dterr;
+                                       }
                                }
                                break;
 
@@ -2025,7 +2095,7 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
                                                                ereport(ERROR,
                                                                 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
                                                                  errmsg("\"current\" is no longer supported")));
-                                                               return -1;
+                                                               return DTERR_BAD_FORMAT;
                                                                break;
 
                                                        case DTK_NOW:
@@ -2044,7 +2114,7 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
                                                                break;
 
                                                        default:
-                                                               return -1;
+                                                               return DTERR_BAD_FORMAT;
                                                }
 
                                                break;
@@ -2058,7 +2128,7 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
                                                tmask |= DTK_M(DTZ);
                                                tm->tm_isdst = 1;
                                                if (tzp == NULL)
-                                                       return -1;
+                                                       return DTERR_BAD_FORMAT;
                                                *tzp += val * 60;
                                                break;
 
@@ -2071,7 +2141,7 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
                                                tmask |= DTK_M(TZ);
                                                tm->tm_isdst = 1;
                                                if (tzp == NULL)
-                                                       return -1;
+                                                       return DTERR_BAD_FORMAT;
                                                *tzp = val * 60;
                                                ftype[i] = DTK_TZ;
                                                break;
@@ -2079,7 +2149,7 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
                                        case TZ:
                                                tm->tm_isdst = 0;
                                                if (tzp == NULL)
-                                                       return -1;
+                                                       return DTERR_BAD_FORMAT;
                                                *tzp = val * 60;
                                                ftype[i] = DTK_TZ;
                                                break;
@@ -2109,27 +2179,27 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
                                                        || ((ftype[i + 1] != DTK_NUMBER)
                                                                && (ftype[i + 1] != DTK_TIME)
                                                                && (ftype[i + 1] != DTK_DATE)))
-                                                       return -1;
+                                                       return DTERR_BAD_FORMAT;
 
                                                ptype = val;
                                                break;
 
                                        default:
-                                               return -1;
+                                               return DTERR_BAD_FORMAT;
                                }
                                break;
 
                        default:
-                               return -1;
+                               return DTERR_BAD_FORMAT;
                }
 
                if (tmask & fmask)
-                       return -1;
+                       return DTERR_BAD_FORMAT;
                fmask |= tmask;
        }
 
        if ((mer != HR24) && (tm->tm_hour > 12))
-               return -1;
+               return DTERR_FIELD_OVERFLOW;
        if ((mer == AM) && (tm->tm_hour == 12))
                tm->tm_hour = 0;
        else if ((mer == PM) && (tm->tm_hour != 12))
@@ -2140,17 +2210,17 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
                || (tm->tm_min < 0) || (tm->tm_min > 59)
                || (tm->tm_sec < 0) || (tm->tm_sec > 60)
                || (*fsec < INT64CONST(0)) || (*fsec >= INT64CONST(1000000)))
-               return -1;
+               return DTERR_FIELD_OVERFLOW;
 #else
        if ((tm->tm_hour < 0) || (tm->tm_hour > 23)
                || (tm->tm_min < 0) || (tm->tm_min > 59)
                || (tm->tm_sec < 0) || (tm->tm_sec > 60)
                || (*fsec < 0) || (*fsec >= 1))
-               return -1;
+               return DTERR_FIELD_OVERFLOW;
 #endif
 
        if ((fmask & DTK_TIME_M) != DTK_TIME_M)
-               return -1;
+               return DTERR_BAD_FORMAT;
 
        /* timezone not specified? then find local timezone if possible */
        if ((tzp != NULL) && (!(fmask & DTK_M(TZ))))
@@ -2163,7 +2233,7 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
                 * error
                 */
                if (fmask & DTK_M(DTZMOD))
-                       return -1;
+                       return DTERR_BAD_FORMAT;
 
                if ((fmask & DTK_DATE_M) == 0)
                        GetCurrentDateTime(tmp);
@@ -2181,20 +2251,22 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
        }
 
        return 0;
-}      /* DecodeTimeOnly() */
+}
 
 /* DecodeDate()
  * Decode date string which includes delimiters.
+ * Return 0 if okay, a DTERR code if not.
+ *
  * Insist on a complete set of fields.
  */
 static int
 DecodeDate(char *str, int fmask, int *tmask, struct tm * tm)
 {
        fsec_t          fsec;
-
        int                     nf = 0;
        int                     i,
                                len;
+       int                     dterr;
        int                     bc = FALSE;
        int                     is2digits = FALSE;
        int                     type,
@@ -2230,7 +2302,7 @@ DecodeDate(char *str, int fmask, int *tmask, struct tm * tm)
 #if 0
        /* don't allow too many fields */
        if (nf > 3)
-               return -1;
+               return DTERR_BAD_FORMAT;
 #endif
 
        *tmask = 0;
@@ -2256,10 +2328,10 @@ DecodeDate(char *str, int fmask, int *tmask, struct tm * tm)
                                        break;
 
                                default:
-                                       return -1;
+                                       return DTERR_BAD_FORMAT;
                        }
                        if (fmask & dmask)
-                               return -1;
+                               return DTERR_BAD_FORMAT;
 
                        fmask |= dmask;
                        *tmask |= dmask;
@@ -2276,20 +2348,23 @@ DecodeDate(char *str, int fmask, int *tmask, struct tm * tm)
                        continue;
 
                if ((len = strlen(field[i])) <= 0)
-                       return -1;
+                       return DTERR_BAD_FORMAT;
 
-               if (DecodeNumber(len, field[i], fmask, &dmask, tm, &fsec, &is2digits) != 0)
-                       return -1;
+               dterr = DecodeNumber(len, field[i], fmask,
+                                                        &dmask, tm,
+                                                        &fsec, &is2digits);
+               if (dterr)
+                       return dterr;
 
                if (fmask & dmask)
-                       return -1;
+                       return DTERR_BAD_FORMAT;
 
                fmask |= dmask;
                *tmask |= dmask;
        }
 
        if ((fmask & ~(DTK_M(DOY) | DTK_M(TZ))) != DTK_DATE_M)
-               return -1;
+               return DTERR_BAD_FORMAT;
 
        /* there is no year zero in AD/BC notation; i.e. "1 BC" == year 0 */
        if (bc)
@@ -2319,19 +2394,24 @@ DecodeDate(char *str, int fmask, int *tmask, struct tm * tm)
 
        /* check for valid month */
        if (tm->tm_mon < 1 || tm->tm_mon > 12)
-               return -1;
+               return DTERR_MD_FIELD_OVERFLOW;
 
        /* check for valid day */
-       if (tm->tm_mday < 1 ||
-               tm->tm_mday > day_tab[isleap(tm->tm_year)][tm->tm_mon - 1])
-               return -1;
+       if (tm->tm_mday < 1 || tm->tm_mday > 31)
+               return DTERR_MD_FIELD_OVERFLOW;
+
+       /* We don't want to hint about DateStyle for Feb 29 */
+       if (tm->tm_mday > day_tab[isleap(tm->tm_year)][tm->tm_mon - 1])
+               return DTERR_FIELD_OVERFLOW;
 
        return 0;
-}      /* DecodeDate() */
+}
 
 
 /* DecodeTime()
  * Decode time string which includes delimiters.
+ * Return 0 if okay, a DTERR code if not.
+ *
  * Only check the lower limit on hours, since this same code
  *     can be used to represent time spans.
  */
@@ -2344,7 +2424,7 @@ DecodeTime(char *str, int fmask, int *tmask, struct tm * tm, fsec_t *fsec)
 
        tm->tm_hour = strtol(str, &cp, 10);
        if (*cp != ':')
-               return -1;
+               return DTERR_BAD_FORMAT;
        str = cp + 1;
        tm->tm_min = strtol(str, &cp, 10);
        if (*cp == '\0')
@@ -2353,7 +2433,7 @@ DecodeTime(char *str, int fmask, int *tmask, struct tm * tm, fsec_t *fsec)
                *fsec = 0;
        }
        else if (*cp != ':')
-               return -1;
+               return DTERR_BAD_FORMAT;
        else
        {
                str = cp + 1;
@@ -2367,7 +2447,7 @@ DecodeTime(char *str, int fmask, int *tmask, struct tm * tm, fsec_t *fsec)
                        str = cp;
                        frac = strtod(str, &cp);
                        if (*cp != '\0')
-                               return -1;
+                               return DTERR_BAD_FORMAT;
 #ifdef HAVE_INT64_TIMESTAMP
                        *fsec = rint(frac * 1000000);
 #else
@@ -2375,7 +2455,7 @@ DecodeTime(char *str, int fmask, int *tmask, struct tm * tm, fsec_t *fsec)
 #endif
                }
                else
-                       return -1;
+                       return DTERR_BAD_FORMAT;
        }
 
        /* do a sanity check */
@@ -2384,21 +2464,22 @@ DecodeTime(char *str, int fmask, int *tmask, struct tm * tm, fsec_t *fsec)
                || (tm->tm_min < 0) || (tm->tm_min > 59)
                || (tm->tm_sec < 0) || (tm->tm_sec > 60)
                || (*fsec < INT64CONST(0)) || (*fsec >= INT64CONST(1000000)))
-               return -1;
+               return DTERR_FIELD_OVERFLOW;
 #else
        if ((tm->tm_hour < 0)
                || (tm->tm_min < 0) || (tm->tm_min > 59)
                || (tm->tm_sec < 0) || (tm->tm_sec > 60)
                || (*fsec < 0) || (*fsec >= 1))
-               return -1;
+               return DTERR_FIELD_OVERFLOW;
 #endif
 
        return 0;
-}      /* DecodeTime() */
+}
 
 
 /* DecodeNumber()
  * Interpret plain numeric field as a date value in context.
+ * Return 0 if okay, a DTERR code if not.
  */
 static int
 DecodeNumber(int flen, char *str, int fmask,
@@ -2406,12 +2487,13 @@ DecodeNumber(int flen, char *str, int fmask,
 {
        int                     val;
        char       *cp;
+       int                     dterr;
 
        *tmask = 0;
 
        val = strtol(str, &cp, 10);
        if (cp == str)
-               return -1;
+               return DTERR_BAD_FORMAT;
 
        if (*cp == '.')
        {
@@ -2422,12 +2504,19 @@ DecodeNumber(int flen, char *str, int fmask,
                 * or a run-together time: 2001.360 20011225 040506.789
                 */
                if ((cp - str) > 2)
-                       return DecodeNumberField(flen, str, (fmask | DTK_DATE_M),
-                                                                        tmask, tm, fsec, is2digits);
+               {
+                       dterr = DecodeNumberField(flen, str,
+                                                                         (fmask | DTK_DATE_M),
+                                                                         tmask, tm,
+                                                                         fsec, is2digits);
+                       if (dterr < 0)
+                               return dterr;
+                       return 0;
+               }
 
                frac = strtod(cp, &cp);
                if (*cp != '\0')
-                       return -1;
+                       return DTERR_BAD_FORMAT;
 #ifdef HAVE_INT64_TIMESTAMP
                *fsec = rint(frac * 1000000);
 #else
@@ -2435,7 +2524,7 @@ DecodeNumber(int flen, char *str, int fmask,
 #endif
        }
        else if (*cp != '\0')
-               return -1;
+               return DTERR_BAD_FORMAT;
 
        /* Special case for day of year */
        if ((flen == 3) &&
@@ -2507,9 +2596,18 @@ DecodeNumber(int flen, char *str, int fmask,
                        tm->tm_mday = val;
                        break;
 
+               case (DTK_M(YEAR) | DTK_M(MONTH) | DTK_M(DAY)):
+                       /* we have all the date, so it must be a time field */
+                       dterr = DecodeNumberField(flen, str, fmask,
+                                                                         tmask, tm,
+                                                                         fsec, is2digits);
+                       if (dterr < 0)
+                               return dterr;
+                       return 0;
+
                default:
                        /* Anything else is bogus input */
-                       return -1;
+                       return DTERR_BAD_FORMAT;
        }
 
        /*
@@ -2525,12 +2623,14 @@ DecodeNumber(int flen, char *str, int fmask,
 
 /* DecodeNumberField()
  * Interpret numeric string as a concatenated date or time field.
+ * Return a DTK token (>= 0) if successful, a DTERR code (< 0) if not.
+ *
  * Use the context of previously decoded fields to help with
  * the interpretation.
  */
 static int
 DecodeNumberField(int len, char *str, int fmask,
-                               int *tmask, struct tm * tm, fsec_t *fsec, int *is2digits)
+                                 int *tmask, struct tm * tm, fsec_t *fsec, int *is2digits)
 {
        char       *cp;
 
@@ -2610,14 +2710,14 @@ DecodeNumberField(int len, char *str, int fmask,
                }
        }
 
-       return -1;
-}      /* DecodeNumberField() */
+       return DTERR_BAD_FORMAT;
+}
 
 
 /* DecodeTimezone()
  * Interpret string as a numeric timezone.
  *
- * Return 0 if okay (and set *tzp), nonzero if not okay.
+ * Return 0 if okay (and set *tzp), a DTERR code if not okay.
  *
  * NB: this must *not* ereport on failure; see commands/variable.c.
  *
@@ -2631,11 +2731,10 @@ DecodeTimezone(char *str, int *tzp)
        int                     hr,
                                min;
        char       *cp;
-       int                     len;
 
        /* leading character must be "+" or "-" */
        if (*str != '+' && *str != '-')
-               return -1;
+               return DTERR_BAD_FORMAT;
 
        hr = strtol((str + 1), &cp, 10);
 
@@ -2643,28 +2742,30 @@ DecodeTimezone(char *str, int *tzp)
        if (*cp == ':')
                min = strtol((cp + 1), &cp, 10);
        /* otherwise, might have run things together... */
-       else if ((*cp == '\0') && ((len = strlen(str)) > 3))
+       else if ((*cp == '\0') && (strlen(str) > 3))
        {
-               min = strtol((str + len - 2), &cp, 10);
-               if ((min < 0) || (min >= 60))
-                       return -1;
-
-               *(str + len - 2) = '\0';
-               hr = strtol((str + 1), &cp, 10);
-               if ((hr < 0) || (hr > 13))
-                       return -1;
+               min = hr % 100;
+               hr = hr / 100;
        }
        else
                min = 0;
 
-       tz = (hr * 60 + min) * 60;
+       if ((hr < 0) || (hr > 13))
+               return DTERR_TZDISP_OVERFLOW;
+       if ((min < 0) || (min >= 60))
+               return DTERR_TZDISP_OVERFLOW;
 
+       tz = (hr * 60 + min) * 60;
        if (*str == '-')
                tz = -tz;
 
        *tzp = -tz;
-       return *cp != '\0';
-}      /* DecodeTimezone() */
+
+       if (*cp != '\0')
+               return DTERR_BAD_FORMAT;
+
+       return 0;
+}
 
 
 /* DecodePosixTimezone()
@@ -2674,7 +2775,7 @@ DecodeTimezone(char *str, int *tzp)
  *     PST
  * - thomas 2000-03-15
  *
- * Return 0 if okay (and set *tzp), nonzero if not okay.
+ * Return 0 if okay (and set *tzp), a DTERR code if not okay.
  *
  * NB: this must *not* ereport on failure; see commands/variable.c.
  */
@@ -2684,6 +2785,7 @@ DecodePosixTimezone(char *str, int *tzp)
        int                     val,
                                tz;
        int                     type;
+       int                     dterr;
        char       *cp;
        char            delim;
 
@@ -2695,8 +2797,9 @@ DecodePosixTimezone(char *str, int *tzp)
        /* decode offset, if present */
        if (*cp)
        {
-               if (DecodeTimezone(cp, &tz) != 0)
-                       return -1;
+               dterr = DecodeTimezone(cp, &tz);
+               if (dterr)
+                       return dterr;
        }
        else
                tz = 0;
@@ -2715,11 +2818,11 @@ DecodePosixTimezone(char *str, int *tzp)
                        break;
 
                default:
-                       return -1;
+                       return DTERR_BAD_FORMAT;
        }
 
        return 0;
-}      /* DecodePosixTimezone() */
+}
 
 
 /* DecodeSpecial()
@@ -2773,12 +2876,12 @@ DecodeSpecial(int field, char *lowtoken, int *val)
        }
 
        return type;
-}      /* DecodeSpecial() */
+}
 
 
 /* DecodeInterval()
  * Interpret previously parsed fields for general time interval.
- * Return 0 if decoded and -1 if problems.
+ * Returns 0 if successful, DTERR code if bogus input detected.
  *
  * Allow "date" field DTK_DATE since this could be just
  *     an unsigned floating point number. - thomas 1997-11-16
@@ -2790,12 +2893,12 @@ int
 DecodeInterval(char **field, int *ftype, int nf, int *dtype, struct tm * tm, fsec_t *fsec)
 {
        int                     is_before = FALSE;
-
        char       *cp;
        int                     fmask = 0,
                                tmask,
                                type;
        int                     i;
+       int                     dterr;
        int                     val;
        double          fval;
 
@@ -2816,8 +2919,9 @@ DecodeInterval(char **field, int *ftype, int nf, int *dtype, struct tm * tm, fse
                switch (ftype[i])
                {
                        case DTK_TIME:
-                               if (DecodeTime(field[i], fmask, &tmask, tm, fsec) != 0)
-                                       return -1;
+                               dterr = DecodeTime(field[i], fmask, &tmask, tm, fsec);
+                               if (dterr)
+                                       return dterr;
                                type = DTK_DAY;
                                break;
 
@@ -2837,8 +2941,8 @@ DecodeInterval(char **field, int *ftype, int nf, int *dtype, struct tm * tm, fse
                                cp = field[i] + 1;
                                while ((*cp != '\0') && (*cp != ':') && (*cp != '.'))
                                        cp++;
-                               if ((*cp == ':')
-                                       && (DecodeTime((field[i] + 1), fmask, &tmask, tm, fsec) == 0))
+                               if ((*cp == ':') &&
+                                       (DecodeTime(field[i] + 1, fmask, &tmask, tm, fsec) == 0))
                                {
                                        if (*field[i] == '-')
                                        {
@@ -2890,7 +2994,7 @@ DecodeInterval(char **field, int *ftype, int nf, int *dtype, struct tm * tm, fse
                                {
                                        fval = strtod(cp, &cp);
                                        if (*cp != '\0')
-                                               return -1;
+                                               return DTERR_BAD_FORMAT;
 
                                        if (val < 0)
                                                fval = -(fval);
@@ -2898,7 +3002,7 @@ DecodeInterval(char **field, int *ftype, int nf, int *dtype, struct tm * tm, fse
                                else if (*cp == '\0')
                                        fval = 0;
                                else
-                                       return -1;
+                                       return DTERR_BAD_FORMAT;
 
                                tmask = 0;              /* DTK_M(type); */
 
@@ -3049,7 +3153,7 @@ DecodeInterval(char **field, int *ftype, int nf, int *dtype, struct tm * tm, fse
                                                break;
 
                                        default:
-                                               return -1;
+                                               return DTERR_BAD_FORMAT;
                                }
                                break;
 
@@ -3077,16 +3181,16 @@ DecodeInterval(char **field, int *ftype, int nf, int *dtype, struct tm * tm, fse
                                                break;
 
                                        default:
-                                               return -1;
+                                               return DTERR_BAD_FORMAT;
                                }
                                break;
 
                        default:
-                               return -1;
+                               return DTERR_BAD_FORMAT;
                }
 
                if (tmask & fmask)
-                       return -1;
+                       return DTERR_BAD_FORMAT;
                fmask |= tmask;
        }
 
@@ -3115,8 +3219,11 @@ DecodeInterval(char **field, int *ftype, int nf, int *dtype, struct tm * tm, fse
        }
 
        /* ensure that at least one time field has been found */
-       return (fmask != 0) ? 0 : -1;
-}      /* DecodeInterval() */
+       if (fmask == 0)
+               return DTERR_BAD_FORMAT;
+
+       return 0;
+}
 
 
 /* DecodeUnits()
@@ -3152,6 +3259,57 @@ DecodeUnits(int field, char *lowtoken, int *val)
        return type;
 }      /* DecodeUnits() */
 
+/*
+ * Report an error detected by one of the datetime input processing routines.
+ *
+ * dterr is the error code, str is the original input string, datatype is
+ * the name of the datatype we were trying to accept.
+ *
+ * Note: it might seem useless to distinguish DTERR_INTERVAL_OVERFLOW and
+ * DTERR_TZDISP_OVERFLOW from DTERR_FIELD_OVERFLOW, but SQL99 mandates three
+ * separate SQLSTATE codes, so ...
+ */
+void
+DateTimeParseError(int dterr, const char *str, const char *datatype)
+{
+       switch (dterr)
+       {
+               case DTERR_FIELD_OVERFLOW:
+                       ereport(ERROR,
+                                       (errcode(ERRCODE_DATETIME_FIELD_OVERFLOW),
+                                        errmsg("date/time field value out of range: \"%s\"",
+                                                       str)));
+                       break;
+               case DTERR_MD_FIELD_OVERFLOW:
+                       /* <nanny>same as above, but add hint about DateStyle</nanny> */
+                       ereport(ERROR,
+                                       (errcode(ERRCODE_DATETIME_FIELD_OVERFLOW),
+                                        errmsg("date/time field value out of range: \"%s\"",
+                                                       str),
+                                        errhint("Perhaps you need a different DateStyle setting.")));
+                       break;
+               case DTERR_INTERVAL_OVERFLOW:
+                       ereport(ERROR,
+                                       (errcode(ERRCODE_INTERVAL_FIELD_OVERFLOW),
+                                        errmsg("interval field value out of range: \"%s\"",
+                                                       str)));
+                       break;
+               case DTERR_TZDISP_OVERFLOW:
+                       ereport(ERROR,
+                                       (errcode(ERRCODE_INVALID_TIME_ZONE_DISPLACEMENT_VALUE),
+                                        errmsg("time zone displacement out of range: \"%s\"",
+                                                       str)));
+                       break;
+               case DTERR_BAD_FORMAT:
+               default:
+                       ereport(ERROR,
+                                       (errcode(ERRCODE_INVALID_DATETIME_FORMAT),
+                                        /* translator: first %s is datatype name */
+                                        errmsg("invalid input syntax for %s: \"%s\"",
+                                                       datatype, str)));
+                       break;
+       }
+}
 
 /* datebsearch()
  * Binary search -- from Knuth (6.2.1) Algorithm B.  Special case like this
index f8e13a2428c38da7c5f81b037503d08be6a4c0c2..ea274b18ff096cdf3eff9a83463e06ed0814238f 100644 (file)
@@ -880,6 +880,8 @@ static int  seq_search(char *name, char **array, int type, int max, int *len);
 static int     dch_global(int arg, char *inout, int suf, int flag, FormatNode *node, void *data);
 static int     dch_time(int arg, char *inout, int suf, int flag, FormatNode *node, void *data);
 static int     dch_date(int arg, char *inout, int suf, int flag, FormatNode *node, void *data);
+static void do_to_timestamp(text *date_txt, text *fmt,
+                                                       struct tm *tm, fsec_t *fsec);
 static char *fill_str(char *str, int c, int max);
 static FormatNode *NUM_cache(int len, NUMDesc *Num, char *pars_str, bool *shouldFree);
 static char *int_to_roman(int number);
@@ -1292,6 +1294,16 @@ DCH_processor(FormatNode *node, char *inout, int flag, void *data)
 
        for (n = node, s = inout; n->type != NODE_TYPE_END; n++)
        {
+               if (flag == FROM_CHAR && *s=='\0')
+                       /*
+                        * The input string is shorter than format picture, 
+                        * so it's good time to break this loop...
+                        * 
+                        * Note: this isn't relevant for TO_CHAR mode, beacuse 
+                        *       it use 'inout' allocated by format picture length.
+                        */
+                       break;
+
                if (n->type == NODE_TYPE_ACTION)
                {
                        int                     len;
@@ -1326,9 +1338,8 @@ DCH_processor(FormatNode *node, char *inout, int flag, void *data)
                                }
                        }
                }
-
+               
                ++s;                                    /* ! */
-
        }
 
        if (flag == TO_CHAR)
@@ -2713,10 +2724,10 @@ datetime_to_char_body(TmToChar *tmtc, text *fmt)
 {
        FormatNode *format;
        struct tm  *tm = NULL;
-       char       *str_fmt,
-                          *result;
-       bool            incache;
-       int                     len = VARSIZE(fmt) - VARHDRSZ;
+       char       *fmt_str,
+                  *result;
+       bool    incache;
+       int     fmt_len = VARSIZE(fmt) - VARHDRSZ;
 
        tm = tmtcTm(tmtc);
        tm->tm_wday = (date2j(tm->tm_year, tm->tm_mon, tm->tm_mday) + 1) % 7;
@@ -2725,29 +2736,28 @@ datetime_to_char_body(TmToChar *tmtc, text *fmt)
        /*
         * Convert fmt to C string
         */
-       str_fmt = (char *) palloc(len + 1);
-       memcpy(str_fmt, VARDATA(fmt), len);
-       *(str_fmt + len) = '\0';
+       fmt_str = (char *) palloc(fmt_len + 1);
+       memcpy(fmt_str, VARDATA(fmt), fmt_len);
+       *(fmt_str + fmt_len) = '\0';
 
        /*
         * Allocate result
         */
-       result = palloc((len * DCH_MAX_ITEM_SIZ) + 1);
+       result = palloc((fmt_len * DCH_MAX_ITEM_SIZ) + 1);
 
        /*
         * Allocate new memory if format picture is bigger than static cache
-        * and not use cache (call parser always) - incache=FALSE show this
-        * variant
+        * and not use cache (call parser always) 
         */
-       if (len > DCH_CACHE_SIZE)
+       if (fmt_len > DCH_CACHE_SIZE)
        {
-               format = (FormatNode *) palloc((len + 1) * sizeof(FormatNode));
+               format = (FormatNode *) palloc((fmt_len + 1) * sizeof(FormatNode));
                incache = FALSE;
 
-               parse_format(format, str_fmt, DCH_keywords,
+               parse_format(format, fmt_str, DCH_keywords,
                                         DCH_suff, DCH_index, DCH_TYPE, NULL);
 
-               (format + len)->type = NODE_TYPE_END;   /* Paranoia? */
+               (format + fmt_len)->type = NODE_TYPE_END;       /* Paranoia? */
 
        }
        else
@@ -2756,25 +2766,24 @@ datetime_to_char_body(TmToChar *tmtc, text *fmt)
                 * Use cache buffers
                 */
                DCHCacheEntry *ent;
-
                incache = TRUE;
 
-               if ((ent = DCH_cache_search(str_fmt)) == NULL)
+               if ((ent = DCH_cache_search(fmt_str)) == NULL)
                {
 
-                       ent = DCH_cache_getnew(str_fmt);
+                       ent = DCH_cache_getnew(fmt_str);
 
                        /*
                         * Not in the cache, must run parser and save a new
                         * format-picture to the cache.
                         */
-                       parse_format(ent->format, str_fmt, DCH_keywords,
+                       parse_format(ent->format, fmt_str, DCH_keywords,
                                                 DCH_suff, DCH_index, DCH_TYPE, NULL);
 
-                       (ent->format + len)->type = NODE_TYPE_END;      /* Paranoia? */
+                       (ent->format + fmt_len)->type = NODE_TYPE_END;  /* Paranoia? */
 
 #ifdef DEBUG_TO_FROM_CHAR
-                       /* dump_node(ent->format, len); */
+                       /* dump_node(ent->format, fmt_len); */
                        /* dump_index(DCH_keywords, DCH_index);  */
 #endif
                }
@@ -2786,22 +2795,27 @@ datetime_to_char_body(TmToChar *tmtc, text *fmt)
        if (!incache)
                pfree(format);
 
-       pfree(str_fmt);
+       pfree(fmt_str);
 
        /*
         * for result is allocated max memory, which current format-picture
         * needs, now it allocate result with real size
         */
-       if (!(len = strlen(result)))
-               pfree(result);
-       else
+       if (result && *result)
        {
-               text       *res = (text *) palloc(len + 1 + VARHDRSZ);
+               int len = strlen(result);
+       
+               if (len)
+               {
+                       text       *res = (text *) palloc(len + 1 + VARHDRSZ);
 
-               memcpy(VARDATA(res), result, len);
-               VARATT_SIZEP(res) = len + VARHDRSZ;
-               return res;
+                       memcpy(VARDATA(res), result, len);
+                       VARATT_SIZEP(res) = len + VARHDRSZ;
+                       pfree(result);
+                       return res;
+               }
        }
+       pfree(result);
        return NULL;
 }
 
@@ -2901,45 +2915,89 @@ to_timestamp(PG_FUNCTION_ARGS)
 {
        text       *date_txt = PG_GETARG_TEXT_P(0);
        text       *fmt = PG_GETARG_TEXT_P(1);
-
        Timestamp       result;
+       int                     tz;
+       struct tm       tm;
+       fsec_t          fsec;
+
+       do_to_timestamp(date_txt, fmt, &tm, &fsec);
+
+       tz = DetermineLocalTimeZone(&tm);
+
+       if (tm2timestamp(&tm, fsec, &tz, &result) != 0)
+               ereport(ERROR,
+                               (errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE),
+                                errmsg("timestamp out of range")));
+
+       PG_RETURN_TIMESTAMP(result);
+}
+
+/* ----------
+ * TO_DATE
+ *     Make Date from date_str which is formated at argument 'fmt'
+ * ----------
+ */
+Datum
+to_date(PG_FUNCTION_ARGS)
+{
+       text       *date_txt = PG_GETARG_TEXT_P(0);
+       text       *fmt = PG_GETARG_TEXT_P(1);
+       DateADT         result;
+       struct tm       tm;
+       fsec_t          fsec;
+
+       do_to_timestamp(date_txt, fmt, &tm, &fsec);
+
+       result = date2j(tm.tm_year, tm.tm_mon, tm.tm_mday) - POSTGRES_EPOCH_JDATE;
+
+       PG_RETURN_DATEADT(result);
+}
+
+/*
+ * do_to_timestamp: shared code for to_timestamp and to_date
+ *
+ * Parse the 'date_txt' according to 'fmt', return results as a struct tm
+ * and fractional seconds.
+ */
+static void
+do_to_timestamp(text *date_txt, text *fmt,
+                               struct tm *tm, fsec_t *fsec)
+{
        FormatNode *format;
        TmFromChar      tmfc;
+       int             fmt_len;
 
-       bool            incache;
-       char       *str;
-       char       *date_str;
-       int                     len,
-                               date_len,
-                               tz = 0;
-       struct tm       tm;
-       fsec_t          fsec = 0;
+       ZERO_tm(tm);
+       *fsec = 0;
 
-       ZERO_tm(&tm);
        ZERO_tmfc(&tmfc);
 
-       len = VARSIZE(fmt) - VARHDRSZ;
+       fmt_len = VARSIZE(fmt) - VARHDRSZ;
 
-       if (len)
+       if (fmt_len)
        {
-               str = (char *) palloc(len + 1);
-               memcpy(str, VARDATA(fmt), len);
-               *(str + len) = '\0';
+               int date_len;
+               char *fmt_str;
+               char *date_str;
+               bool incache;
+               
+               fmt_str = (char *) palloc(fmt_len + 1);
+               memcpy(fmt_str, VARDATA(fmt), fmt_len);
+               *(fmt_str + fmt_len) = '\0';
 
                /*
                 * Allocate new memory if format picture is bigger than static
-                * cache and not use cache (call parser always) - incache=FALSE
-                * show this variant
+                * cache and not use cache (call parser always)
                 */
-               if (len > DCH_CACHE_SIZE)
+               if (fmt_len > DCH_CACHE_SIZE)
                {
-                       format = (FormatNode *) palloc((len + 1) * sizeof(FormatNode));
+                       format = (FormatNode *) palloc((fmt_len + 1) * sizeof(FormatNode));
                        incache = FALSE;
 
-                       parse_format(format, str, DCH_keywords,
+                       parse_format(format, fmt_str, DCH_keywords,
                                                 DCH_suff, DCH_index, DCH_TYPE, NULL);
 
-                       (format + len)->type = NODE_TYPE_END;           /* Paranoia? */
+                       (format + fmt_len)->type = NODE_TYPE_END;               /* Paranoia? */
                }
                else
                {
@@ -2947,24 +3005,23 @@ to_timestamp(PG_FUNCTION_ARGS)
                         * Use cache buffers
                         */
                        DCHCacheEntry *ent;
+                       incache = TRUE;
 
-                       incache = 0;
-
-                       if ((ent = DCH_cache_search(str)) == NULL)
+                       if ((ent = DCH_cache_search(fmt_str)) == NULL)
                        {
 
-                               ent = DCH_cache_getnew(str);
+                               ent = DCH_cache_getnew(fmt_str);
 
                                /*
                                 * Not in the cache, must run parser and save a new
                                 * format-picture to the cache.
                                 */
-                               parse_format(ent->format, str, DCH_keywords,
+                               parse_format(ent->format, fmt_str, DCH_keywords,
                                                         DCH_suff, DCH_index, DCH_TYPE, NULL);
 
-                               (ent->format + len)->type = NODE_TYPE_END;              /* Paranoia? */
+                               (ent->format + fmt_len)->type = NODE_TYPE_END;          /* Paranoia? */
 #ifdef DEBUG_TO_FROM_CHAR
-                               /* dump_node(ent->format, len); */
+                               /* dump_node(ent->format, fmt_len); */
                                /* dump_index(DCH_keywords, DCH_index); */
 #endif
                        }
@@ -2975,7 +3032,7 @@ to_timestamp(PG_FUNCTION_ARGS)
                 * Call action for each node in FormatNode tree
                 */
 #ifdef DEBUG_TO_FROM_CHAR
-               /* dump_node(format, len); */
+               /* dump_node(format, fmt_len); */
 #endif
 
                /*
@@ -2989,8 +3046,8 @@ to_timestamp(PG_FUNCTION_ARGS)
                DCH_processor(format, date_str, FROM_CHAR, (void *) &tmfc);
 
                pfree(date_str);
-               pfree(str);
-               if (incache)
+               pfree(fmt_str);
+               if (!incache)
                        pfree(format);
        }
 
@@ -3004,15 +3061,15 @@ to_timestamp(PG_FUNCTION_ARGS)
        {
                int                     x = tmfc.ssss;
 
-               tm.tm_hour = x / 3600;
+               tm->tm_hour = x / 3600;
                x %= 3600;
-               tm.tm_min = x / 60;
+               tm->tm_min = x / 60;
                x %= 60;
-               tm.tm_sec = x;
+               tm->tm_sec = x;
        }
 
        if (tmfc.cc)
-               tm.tm_year = (tmfc.cc - 1) * 100;
+               tm->tm_year = (tmfc.cc - 1) * 100;
 
        if (tmfc.ww)
                tmfc.ddd = (tmfc.ww - 1) * 7 + 1;
@@ -3021,79 +3078,79 @@ to_timestamp(PG_FUNCTION_ARGS)
                tmfc.dd = (tmfc.w - 1) * 7 + 1;
 
        if (tmfc.ss)
-               tm.tm_sec = tmfc.ss;
+               tm->tm_sec = tmfc.ss;
        if (tmfc.mi)
-               tm.tm_min = tmfc.mi;
+               tm->tm_min = tmfc.mi;
        if (tmfc.hh)
-               tm.tm_hour = tmfc.hh;
+               tm->tm_hour = tmfc.hh;
 
        if (tmfc.pm || tmfc.am)
        {
-               if (tm.tm_hour < 1 || tm.tm_hour > 12)
+               if (tm->tm_hour < 1 || tm->tm_hour > 12)
                        ereport(ERROR,
                                        (errcode(ERRCODE_INVALID_DATETIME_FORMAT),
                                         errmsg("AM/PM hour must be between 1 and 12")));
 
-               if (tmfc.pm && tm.tm_hour < 12)
-                       tm.tm_hour += 12;
+               if (tmfc.pm && tm->tm_hour < 12)
+                       tm->tm_hour += 12;
 
-               else if (tmfc.am && tm.tm_hour == 12)
-                       tm.tm_hour = 0;
+               else if (tmfc.am && tm->tm_hour == 12)
+                       tm->tm_hour = 0;
        }
 
        switch (tmfc.q)
        {
                case 1:
-                       tm.tm_mday = 1;
-                       tm.tm_mon = 1;
+                       tm->tm_mday = 1;
+                       tm->tm_mon = 1;
                        break;
                case 2:
-                       tm.tm_mday = 1;
-                       tm.tm_mon = 4;
+                       tm->tm_mday = 1;
+                       tm->tm_mon = 4;
                        break;
                case 3:
-                       tm.tm_mday = 1;
-                       tm.tm_mon = 7;
+                       tm->tm_mday = 1;
+                       tm->tm_mon = 7;
                        break;
                case 4:
-                       tm.tm_mday = 1;
-                       tm.tm_mon = 10;
+                       tm->tm_mday = 1;
+                       tm->tm_mon = 10;
                        break;
        }
 
        if (tmfc.year)
-               tm.tm_year = tmfc.year;
+               tm->tm_year = tmfc.year;
 
        if (tmfc.bc)
        {
-               if (tm.tm_year > 0)
-                       tm.tm_year = -(tm.tm_year - 1);
+               if (tm->tm_year > 0)
+                       tm->tm_year = -(tm->tm_year - 1);
                else
                        ereport(ERROR,
                                        (errcode(ERRCODE_INVALID_DATETIME_FORMAT),
                                         errmsg("inconsistent use of year %04d and \"BC\"",
-                                                       tm.tm_year)));
+                                                       tm->tm_year)));
        }
 
        if (tmfc.j)
-               j2date(tmfc.j, &tm.tm_year, &tm.tm_mon, &tm.tm_mday);
+               j2date(tmfc.j, &tm->tm_year, &tm->tm_mon, &tm->tm_mday);
 
        if (tmfc.iw)
-               isoweek2date(tmfc.iw, &tm.tm_year, &tm.tm_mon, &tm.tm_mday);
+               isoweek2date(tmfc.iw, &tm->tm_year, &tm->tm_mon, &tm->tm_mday);
 
        if (tmfc.d)
-               tm.tm_wday = tmfc.d;
+               tm->tm_wday = tmfc.d;
        if (tmfc.dd)
-               tm.tm_mday = tmfc.dd;
+               tm->tm_mday = tmfc.dd;
        if (tmfc.ddd)
-               tm.tm_yday = tmfc.ddd;
+               tm->tm_yday = tmfc.ddd;
        if (tmfc.mm)
-               tm.tm_mon = tmfc.mm;
+               tm->tm_mon = tmfc.mm;
 
        /*
         * we don't ignore DDD
         */
-       if (tmfc.ddd && (tm.tm_mon <= 1 || tm.tm_mday <= 1))
+       if (tmfc.ddd && (tm->tm_mon <= 1 || tm->tm_mday <= 1))
        {
                /* count mday and mon from yday */
                int                *y,
@@ -3103,65 +3160,41 @@ to_timestamp(PG_FUNCTION_ARGS)
                        {31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365, 0},
                {31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366, 0}};
 
-               if (!tm.tm_year)
+               if (!tm->tm_year)
                        ereport(ERROR,
                                        (errcode(ERRCODE_INVALID_DATETIME_FORMAT),
                                errmsg("cannot convert yday without year information")));
 
-               y = ysum[isleap(tm.tm_year)];
+               y = ysum[isleap(tm->tm_year)];
 
                for (i = 0; i <= 11; i++)
                {
-                       if (tm.tm_yday < y[i])
+                       if (tm->tm_yday < y[i])
                                break;
                }
-               if (tm.tm_mon <= 1)
-                       tm.tm_mon = i + 1;
+               if (tm->tm_mon <= 1)
+                       tm->tm_mon = i + 1;
 
-               if (tm.tm_mday <= 1)
-                       tm.tm_mday = i == 0 ? tm.tm_yday :
-                               tm.tm_yday - y[i - 1];
+               if (tm->tm_mday <= 1)
+                       tm->tm_mday = i == 0 ? tm->tm_yday :
+                               tm->tm_yday - y[i - 1];
        }
 
 #ifdef HAVE_INT64_TIMESTAMP
        if (tmfc.ms)
-               fsec += tmfc.ms * 1000;
+               *fsec += tmfc.ms * 1000;
        if (tmfc.us)
-               fsec += tmfc.us;
+               *fsec += tmfc.us;
 #else
        if (tmfc.ms)
-               fsec += (double) tmfc.ms / 1000;
+               *fsec += (double) tmfc.ms / 1000;
        if (tmfc.us)
-               fsec += (double) tmfc.us / 1000000;
+               *fsec += (double) tmfc.us / 1000000;
 #endif
 
-       /* -------------------------------------------------------------- */
-
-       DEBUG_TM(&tm);
-       tz = DetermineLocalTimeZone(&tm);
-
-       if (tm2timestamp(&tm, fsec, &tz, &result) != 0)
-               ereport(ERROR,
-                               (errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE),
-                                errmsg("timestamp out of range")));
-
-       PG_RETURN_TIMESTAMP(result);
+       DEBUG_TM(tm);
 }
 
-/* ----------
- * TO_DATE
- *     Make Date from date_str which is formated at argument 'fmt'
- * ----------
- */
-Datum
-to_date(PG_FUNCTION_ARGS)
-{
-       /*
-        * Quick hack: since our inputs are just like to_timestamp, hand over
-        * the whole input info struct...
-        */
-       return DirectFunctionCall1(timestamptz_date, to_timestamp(fcinfo));
-}
 
 /**********************************************************************
  *     the NUMBER version part
index d70ea10ae2cd3e0a3d85f079702d0ee542bd2dee..7de55d2218ca6331906a4fd99e8d4a342a05d059 100644 (file)
@@ -364,6 +364,7 @@ abstimein(PG_FUNCTION_ARGS)
        int                     tz = 0;
        struct tm       date,
                           *tm = &date;
+       int                     dterr;
        char       *field[MAXDATEFIELDS];
        char            lowstr[MAXDATELEN + 1];
        int                     dtype;
@@ -371,15 +372,13 @@ abstimein(PG_FUNCTION_ARGS)
                                ftype[MAXDATEFIELDS];
 
        if (strlen(str) >= sizeof(lowstr))
-               ereport(ERROR,
-                               (errcode(ERRCODE_INVALID_DATETIME_FORMAT),
-                          errmsg("invalid input syntax for abstime: \"%s\"", str)));
-
-       if ((ParseDateTime(str, lowstr, field, ftype, MAXDATEFIELDS, &nf) != 0)
-         || (DecodeDateTime(field, ftype, nf, &dtype, tm, &fsec, &tz) != 0))
-               ereport(ERROR,
-                               (errcode(ERRCODE_INVALID_DATETIME_FORMAT),
-                          errmsg("invalid input syntax for abstime: \"%s\"", str)));
+               dterr = DTERR_BAD_FORMAT;
+       else
+               dterr = ParseDateTime(str, lowstr, field, ftype, MAXDATEFIELDS, &nf);
+       if (dterr == 0)
+               dterr = DecodeDateTime(field, ftype, nf, &dtype, tm, &fsec, &tz);
+       if (dterr != 0)
+               DateTimeParseError(dterr, str, "abstime");
 
        switch (dtype)
        {
@@ -505,11 +504,11 @@ abstime_finite(PG_FUNCTION_ARGS)
 static int
 abstime_cmp_internal(AbsoluteTime a, AbsoluteTime b)
 {
-/*
- * We consider all INVALIDs to be equal and larger than any non-INVALID.
- * This is somewhat arbitrary; the important thing is to have a
- * consistent sort order.
- */
+       /*
       * We consider all INVALIDs to be equal and larger than any non-INVALID.
       * This is somewhat arbitrary; the important thing is to have a
       * consistent sort order.
       */
        if (a == INVALID_ABSTIME)
        {
                if (b == INVALID_ABSTIME)
@@ -768,21 +767,24 @@ reltimein(PG_FUNCTION_ARGS)
                           *tm = &tt;
        fsec_t          fsec;
        int                     dtype;
+       int                     dterr;
        char       *field[MAXDATEFIELDS];
        int                     nf,
                                ftype[MAXDATEFIELDS];
        char            lowstr[MAXDATELEN + 1];
 
        if (strlen(str) >= sizeof(lowstr))
-               ereport(ERROR,
-                               (errcode(ERRCODE_INVALID_DATETIME_FORMAT),
-                          errmsg("invalid input syntax for reltime: \"%s\"", str)));
-
-       if ((ParseDateTime(str, lowstr, field, ftype, MAXDATEFIELDS, &nf) != 0)
-               || (DecodeInterval(field, ftype, nf, &dtype, tm, &fsec) != 0))
-               ereport(ERROR,
-                               (errcode(ERRCODE_INVALID_DATETIME_FORMAT),
-                          errmsg("invalid input syntax for reltime: \"%s\"", str)));
+               dterr = DTERR_BAD_FORMAT;
+       else
+               dterr = ParseDateTime(str, lowstr, field, ftype, MAXDATEFIELDS, &nf);
+       if (dterr == 0)
+               dterr = DecodeInterval(field, ftype, nf, &dtype, tm, &fsec);
+       if (dterr != 0)
+       {
+               if (dterr == DTERR_FIELD_OVERFLOW)
+                       dterr = DTERR_INTERVAL_OVERFLOW;
+               DateTimeParseError(dterr, str, "reltime");
+       }
 
        switch (dtype)
        {
@@ -904,7 +906,7 @@ tintervalout(PG_FUNCTION_ARGS)
        char       *i_str,
                           *p;
 
-       i_str = (char *) palloc(T_INTERVAL_LEN);        /* ['...' '...'] */
+       i_str = (char *) palloc(T_INTERVAL_LEN);        /* ["..." "..."] */
        strcpy(i_str, "[\"");
        if (interval->status == T_INTERVAL_INVAL)
                strcat(i_str, INVALID_INTERVAL_STR);
@@ -920,7 +922,7 @@ tintervalout(PG_FUNCTION_ARGS)
                strcat(i_str, p);
                pfree(p);
        }
-       strcat(i_str, "\"]\0");
+       strcat(i_str, "\"]");
        PG_RETURN_CSTRING(i_str);
 }
 
@@ -1190,22 +1192,42 @@ timenow(PG_FUNCTION_ARGS)
 }
 
 /*
- *             reltimeeq               - returns true iff arguments are equal
- *             reltimene               - returns true iff arguments are not equal
- *             reltimelt               - returns true iff t1 less than t2
- *             reltimegt               - returns true iff t1 greater than t2
- *             reltimele               - returns true iff t1 less than or equal to t2
- *             reltimege               - returns true iff t1 greater than or equal to t2
+ * reltime comparison routines
  */
+static int
+reltime_cmp_internal(RelativeTime a, RelativeTime b)
+{
+       /*
+        * We consider all INVALIDs to be equal and larger than any non-INVALID.
+        * This is somewhat arbitrary; the important thing is to have a
+        * consistent sort order.
+        */
+       if (a == INVALID_RELTIME)
+       {
+               if (b == INVALID_RELTIME)
+                       return 0;                       /* INVALID = INVALID */
+               else
+                       return 1;                       /* INVALID > non-INVALID */
+       }
+
+       if (b == INVALID_RELTIME)
+               return -1;                              /* non-INVALID < INVALID */
+
+       if (a > b)
+               return 1;
+       else if (a == b)
+               return 0;
+       else
+               return -1;
+}
+
 Datum
 reltimeeq(PG_FUNCTION_ARGS)
 {
        RelativeTime t1 = PG_GETARG_RELATIVETIME(0);
        RelativeTime t2 = PG_GETARG_RELATIVETIME(1);
 
-       if (t1 == INVALID_RELTIME || t2 == INVALID_RELTIME)
-               PG_RETURN_BOOL(false);
-       PG_RETURN_BOOL(t1 == t2);
+       PG_RETURN_BOOL(reltime_cmp_internal(t1, t2) == 0);
 }
 
 Datum
@@ -1214,9 +1236,7 @@ reltimene(PG_FUNCTION_ARGS)
        RelativeTime t1 = PG_GETARG_RELATIVETIME(0);
        RelativeTime t2 = PG_GETARG_RELATIVETIME(1);
 
-       if (t1 == INVALID_RELTIME || t2 == INVALID_RELTIME)
-               PG_RETURN_BOOL(false);
-       PG_RETURN_BOOL(t1 != t2);
+       PG_RETURN_BOOL(reltime_cmp_internal(t1, t2) != 0);
 }
 
 Datum
@@ -1225,9 +1245,7 @@ reltimelt(PG_FUNCTION_ARGS)
        RelativeTime t1 = PG_GETARG_RELATIVETIME(0);
        RelativeTime t2 = PG_GETARG_RELATIVETIME(1);
 
-       if (t1 == INVALID_RELTIME || t2 == INVALID_RELTIME)
-               PG_RETURN_BOOL(false);
-       PG_RETURN_BOOL(t1 < t2);
+       PG_RETURN_BOOL(reltime_cmp_internal(t1, t2) < 0);
 }
 
 Datum
@@ -1236,9 +1254,7 @@ reltimegt(PG_FUNCTION_ARGS)
        RelativeTime t1 = PG_GETARG_RELATIVETIME(0);
        RelativeTime t2 = PG_GETARG_RELATIVETIME(1);
 
-       if (t1 == INVALID_RELTIME || t2 == INVALID_RELTIME)
-               PG_RETURN_BOOL(false);
-       PG_RETURN_BOOL(t1 > t2);
+       PG_RETURN_BOOL(reltime_cmp_internal(t1, t2) > 0);
 }
 
 Datum
@@ -1247,9 +1263,7 @@ reltimele(PG_FUNCTION_ARGS)
        RelativeTime t1 = PG_GETARG_RELATIVETIME(0);
        RelativeTime t2 = PG_GETARG_RELATIVETIME(1);
 
-       if (t1 == INVALID_RELTIME || t2 == INVALID_RELTIME)
-               PG_RETURN_BOOL(false);
-       PG_RETURN_BOOL(t1 <= t2);
+       PG_RETURN_BOOL(reltime_cmp_internal(t1, t2) <= 0);
 }
 
 Datum
@@ -1258,9 +1272,16 @@ reltimege(PG_FUNCTION_ARGS)
        RelativeTime t1 = PG_GETARG_RELATIVETIME(0);
        RelativeTime t2 = PG_GETARG_RELATIVETIME(1);
 
-       if (t1 == INVALID_RELTIME || t2 == INVALID_RELTIME)
-               PG_RETURN_BOOL(false);
-       PG_RETURN_BOOL(t1 >= t2);
+       PG_RETURN_BOOL(reltime_cmp_internal(t1, t2) >= 0);
+}
+
+Datum
+btreltimecmp(PG_FUNCTION_ARGS)
+{
+       RelativeTime t1 = PG_GETARG_RELATIVETIME(0);
+       RelativeTime t2 = PG_GETARG_RELATIVETIME(1);
+
+       PG_RETURN_INT32(reltime_cmp_internal(t1, t2));
 }
 
 
@@ -1287,59 +1308,71 @@ tintervalsame(PG_FUNCTION_ARGS)
        PG_RETURN_BOOL(false);
 }
 
-
 /*
- *             tintervaleq             - returns true iff interval i1 is equal to interval i2
- *             Check length of intervals.
+ * tinterval comparison routines
+ *
+ * Note: comparison is based on the lengths of the intervals, not on
+ * endpoint value.  This is pretty bogus, but since it's only a legacy
+ * datatype I'm not going to propose changing it.
  */
-Datum
-tintervaleq(PG_FUNCTION_ARGS)
+static int
+tinterval_cmp_internal(TimeInterval a, TimeInterval b)
 {
-       TimeInterval i1 = PG_GETARG_TIMEINTERVAL(0);
-       TimeInterval i2 = PG_GETARG_TIMEINTERVAL(1);
-       AbsoluteTime t10,
-                               t11,
-                               t20,
-                               t21;
+       bool            a_invalid;
+       bool            b_invalid;
+       AbsoluteTime a_len;
+       AbsoluteTime b_len;
 
-       if (i1->status == T_INTERVAL_INVAL || i2->status == T_INTERVAL_INVAL)
-               PG_RETURN_BOOL(false);
+       /*
+        * We consider all INVALIDs to be equal and larger than any non-INVALID.
+        * This is somewhat arbitrary; the important thing is to have a
+        * consistent sort order.
+        */
+       a_invalid = ((a->status == T_INTERVAL_INVAL) ||
+                                (a->data[0] == INVALID_ABSTIME) ||
+                                (a->data[1] == INVALID_ABSTIME));
+       b_invalid = ((b->status == T_INTERVAL_INVAL) ||
+                                (b->data[0] == INVALID_ABSTIME) ||
+                                (b->data[1] == INVALID_ABSTIME));
+
+       if (a_invalid)
+       {
+               if (b_invalid)
+                       return 0;                       /* INVALID = INVALID */
+               else
+                       return 1;                       /* INVALID > non-INVALID */
+       }
 
-       t10 = i1->data[0];
-       t11 = i1->data[1];
-       t20 = i2->data[0];
-       t21 = i2->data[1];
+       if (b_invalid)
+               return -1;                              /* non-INVALID < INVALID */
 
-       if ((t10 == INVALID_ABSTIME) || (t11 == INVALID_ABSTIME)
-               || (t20 == INVALID_ABSTIME) || (t21 == INVALID_ABSTIME))
-               PG_RETURN_BOOL(false);
+       a_len = a->data[1] - a->data[0];
+       b_len = b->data[1] - b->data[0];
 
-       PG_RETURN_BOOL((t11 - t10) == (t21 - t20));
+       if (a_len > b_len)
+               return 1;
+       else if (a_len == b_len)
+               return 0;
+       else
+               return -1;
 }
 
 Datum
-tintervalne(PG_FUNCTION_ARGS)
+tintervaleq(PG_FUNCTION_ARGS)
 {
        TimeInterval i1 = PG_GETARG_TIMEINTERVAL(0);
        TimeInterval i2 = PG_GETARG_TIMEINTERVAL(1);
-       AbsoluteTime t10,
-                               t11,
-                               t20,
-                               t21;
-
-       if (i1->status == T_INTERVAL_INVAL || i2->status == T_INTERVAL_INVAL)
-               PG_RETURN_BOOL(false);
 
-       t10 = i1->data[0];
-       t11 = i1->data[1];
-       t20 = i2->data[0];
-       t21 = i2->data[1];
+       PG_RETURN_BOOL(tinterval_cmp_internal(i1, i2) == 0);
+}
 
-       if ((t10 == INVALID_ABSTIME) || (t11 == INVALID_ABSTIME)
-               || (t20 == INVALID_ABSTIME) || (t21 == INVALID_ABSTIME))
-               PG_RETURN_BOOL(false);
+Datum
+tintervalne(PG_FUNCTION_ARGS)
+{
+       TimeInterval i1 = PG_GETARG_TIMEINTERVAL(0);
+       TimeInterval i2 = PG_GETARG_TIMEINTERVAL(1);
 
-       PG_RETURN_BOOL((t11 - t10) != (t21 - t20));
+       PG_RETURN_BOOL(tinterval_cmp_internal(i1, i2) != 0);
 }
 
 Datum
@@ -1347,24 +1380,8 @@ tintervallt(PG_FUNCTION_ARGS)
 {
        TimeInterval i1 = PG_GETARG_TIMEINTERVAL(0);
        TimeInterval i2 = PG_GETARG_TIMEINTERVAL(1);
-       AbsoluteTime t10,
-                               t11,
-                               t20,
-                               t21;
-
-       if (i1->status == T_INTERVAL_INVAL || i2->status == T_INTERVAL_INVAL)
-               PG_RETURN_BOOL(false);
-
-       t10 = i1->data[0];
-       t11 = i1->data[1];
-       t20 = i2->data[0];
-       t21 = i2->data[1];
-
-       if ((t10 == INVALID_ABSTIME) || (t11 == INVALID_ABSTIME)
-               || (t20 == INVALID_ABSTIME) || (t21 == INVALID_ABSTIME))
-               PG_RETURN_BOOL(false);
 
-       PG_RETURN_BOOL((t11 - t10) < (t21 - t20));
+       PG_RETURN_BOOL(tinterval_cmp_internal(i1, i2) < 0);
 }
 
 Datum
@@ -1372,24 +1389,8 @@ tintervalle(PG_FUNCTION_ARGS)
 {
        TimeInterval i1 = PG_GETARG_TIMEINTERVAL(0);
        TimeInterval i2 = PG_GETARG_TIMEINTERVAL(1);
-       AbsoluteTime t10,
-                               t11,
-                               t20,
-                               t21;
 
-       if (i1->status == T_INTERVAL_INVAL || i2->status == T_INTERVAL_INVAL)
-               PG_RETURN_BOOL(false);
-
-       t10 = i1->data[0];
-       t11 = i1->data[1];
-       t20 = i2->data[0];
-       t21 = i2->data[1];
-
-       if ((t10 == INVALID_ABSTIME) || (t11 == INVALID_ABSTIME)
-               || (t20 == INVALID_ABSTIME) || (t21 == INVALID_ABSTIME))
-               PG_RETURN_BOOL(false);
-
-       PG_RETURN_BOOL((t11 - t10) <= (t21 - t20));
+       PG_RETURN_BOOL(tinterval_cmp_internal(i1, i2) <= 0);
 }
 
 Datum
@@ -1397,24 +1398,8 @@ tintervalgt(PG_FUNCTION_ARGS)
 {
        TimeInterval i1 = PG_GETARG_TIMEINTERVAL(0);
        TimeInterval i2 = PG_GETARG_TIMEINTERVAL(1);
-       AbsoluteTime t10,
-                               t11,
-                               t20,
-                               t21;
-
-       if (i1->status == T_INTERVAL_INVAL || i2->status == T_INTERVAL_INVAL)
-               PG_RETURN_BOOL(false);
 
-       t10 = i1->data[0];
-       t11 = i1->data[1];
-       t20 = i2->data[0];
-       t21 = i2->data[1];
-
-       if ((t10 == INVALID_ABSTIME) || (t11 == INVALID_ABSTIME)
-               || (t20 == INVALID_ABSTIME) || (t21 == INVALID_ABSTIME))
-               PG_RETURN_BOOL(false);
-
-       PG_RETURN_BOOL((t11 - t10) > (t21 - t20));
+       PG_RETURN_BOOL(tinterval_cmp_internal(i1, i2) > 0);
 }
 
 Datum
@@ -1422,24 +1407,17 @@ tintervalge(PG_FUNCTION_ARGS)
 {
        TimeInterval i1 = PG_GETARG_TIMEINTERVAL(0);
        TimeInterval i2 = PG_GETARG_TIMEINTERVAL(1);
-       AbsoluteTime t10,
-                               t11,
-                               t20,
-                               t21;
-
-       if (i1->status == T_INTERVAL_INVAL || i2->status == T_INTERVAL_INVAL)
-               PG_RETURN_BOOL(false);
 
-       t10 = i1->data[0];
-       t11 = i1->data[1];
-       t20 = i2->data[0];
-       t21 = i2->data[1];
+       PG_RETURN_BOOL(tinterval_cmp_internal(i1, i2) >= 0);
+}
 
-       if ((t10 == INVALID_ABSTIME) || (t11 == INVALID_ABSTIME)
-               || (t20 == INVALID_ABSTIME) || (t21 == INVALID_ABSTIME))
-               PG_RETURN_BOOL(false);
+Datum
+bttintervalcmp(PG_FUNCTION_ARGS)
+{
+       TimeInterval i1 = PG_GETARG_TIMEINTERVAL(0);
+       TimeInterval i2 = PG_GETARG_TIMEINTERVAL(1);
 
-       PG_RETURN_BOOL((t11 - t10) >= (t21 - t20));
+       PG_RETURN_INT32(tinterval_cmp_internal(i1, i2));
 }
 
 
@@ -1652,7 +1630,7 @@ istinterval(char *i_string,
                        break;
        }
        p++;
-       /* skip leading blanks up to "'" */
+       /* skip leading blanks up to '"' */
        while ((c = *p) != '\0')
        {
                if (IsSpace(c))
@@ -1680,10 +1658,10 @@ istinterval(char *i_string,
        /* get the first date */
        *i_start = DatumGetAbsoluteTime(DirectFunctionCall1(abstimein,
                                                                                                        CStringGetDatum(p)));
-       /* rechange NULL at the end of the first date to a "'" */
+       /* rechange NULL at the end of the first date to a '"' */
        *p1 = '"';
        p = ++p1;
-       /* skip blanks up to "'", beginning of second date */
+       /* skip blanks up to '"', beginning of second date */
        while ((c = *p) != '\0')
        {
                if (IsSpace(c))
@@ -1708,7 +1686,7 @@ istinterval(char *i_string,
        /* get the second date */
        *i_end = DatumGetAbsoluteTime(DirectFunctionCall1(abstimein,
                                                                                                        CStringGetDatum(p)));
-       /* rechange NULL at the end of the first date to a ''' */
+       /* rechange NULL at the end of the first date to a '"' */
        *p1 = '"';
        p = ++p1;
        /* skip blanks up to ']' */
index 62100df2f9eafb76c497ad4c2a4b183f08bec8e0..c028aa5da3d918ae9686f00f80e4dcae4291fc0b 100644 (file)
@@ -39,6 +39,7 @@
 #include "parser/parse_oper.h"
 #include "rewrite/rewriteHandler.h"
 #include "utils/lsyscache.h"
+#include "utils/typcache.h"
 #include "miscadmin.h"
 
 
@@ -48,7 +49,6 @@
  */
 
 #define RI_INIT_QUERYHASHSIZE                  128
-#define RI_INIT_OPREQHASHSIZE                  128
 
 #define RI_MATCH_TYPE_UNSPECIFIED              0
 #define RI_MATCH_TYPE_FULL                             1
@@ -109,20 +109,11 @@ typedef struct RI_QueryHashEntry
 } RI_QueryHashEntry;
 
 
-typedef struct RI_OpreqHashEntry
-{
-       Oid                     typeid;
-       FmgrInfo        oprfmgrinfo;
-} RI_OpreqHashEntry;
-
-
-
 /* ----------
  * Local data
  * ----------
  */
 static HTAB *ri_query_cache = (HTAB *) NULL;
-static HTAB *ri_opreq_cache = (HTAB *) NULL;
 
 
 /* ----------
@@ -3197,8 +3188,8 @@ ri_NullCheck(Relation rel, HeapTuple tup, RI_QueryKey *key, int pairidx)
 /* ----------
  * ri_InitHashTables -
  *
- *     Initialize our internal hash tables for prepared
- *     query plans and equal operators.
+ *     Initialize our internal hash table for prepared
+ *     query plans.
  * ----------
  */
 static void
@@ -3212,12 +3203,6 @@ ri_InitHashTables(void)
        ctl.hash = tag_hash;
        ri_query_cache = hash_create("RI query cache", RI_INIT_QUERYHASHSIZE,
                                                                 &ctl, HASH_ELEM | HASH_FUNCTION);
-
-       ctl.keysize = sizeof(Oid);
-       ctl.entrysize = sizeof(RI_OpreqHashEntry);
-       ctl.hash = tag_hash;
-       ri_opreq_cache = hash_create("RI OpReq cache", RI_INIT_OPREQHASHSIZE,
-                                                                &ctl, HASH_ELEM | HASH_FUNCTION);
 }
 
 
@@ -3438,57 +3423,22 @@ ri_OneKeyEqual(Relation rel, int column, HeapTuple oldtup, HeapTuple newtup,
 static bool
 ri_AttributesEqual(Oid typeid, Datum oldvalue, Datum newvalue)
 {
-       RI_OpreqHashEntry *entry;
-       bool            found;
+       TypeCacheEntry *typentry;
 
        /*
-        * On the first call initialize the hashtable
+        * Find the data type in the typcache, and ask for eq_opr info.
         */
-       if (!ri_opreq_cache)
-               ri_InitHashTables();
+       typentry = lookup_type_cache(typeid, TYPECACHE_EQ_OPR_FINFO);
 
-       /*
-        * Try to find the '=' operator for this type in our cache
-        */
-       entry = (RI_OpreqHashEntry *) hash_search(ri_opreq_cache,
-                                                                                         (void *) &typeid,
-                                                                                         HASH_FIND, NULL);
-
-       /*
-        * If not found, lookup the operator, then do the function manager
-        * lookup, and remember that info.
-        */
-       if (!entry)
-       {
-               Oid                     opr_proc;
-               FmgrInfo        finfo;
-
-               opr_proc = equality_oper_funcid(typeid);
-
-               /*
-                * Since fmgr_info could fail, call it *before* creating the
-                * hashtable entry --- otherwise we could ereport leaving an
-                * incomplete entry in the hashtable.  Also, because this will be
-                * a permanent table entry, we must make sure any subsidiary
-                * structures of the fmgr record are kept in TopMemoryContext.
-                */
-               fmgr_info_cxt(opr_proc, &finfo, TopMemoryContext);
-
-               entry = (RI_OpreqHashEntry *) hash_search(ri_opreq_cache,
-                                                                                                 (void *) &typeid,
-                                                                                                 HASH_ENTER, &found);
-               if (entry == NULL)
-                       ereport(ERROR,
-                                       (errcode(ERRCODE_OUT_OF_MEMORY),
-                                        errmsg("out of memory")));
-
-               entry->typeid = typeid;
-               memcpy(&(entry->oprfmgrinfo), &finfo, sizeof(FmgrInfo));
-       }
+       if (!OidIsValid(typentry->eq_opr_finfo.fn_oid))
+               ereport(ERROR,
+                               (errcode(ERRCODE_UNDEFINED_FUNCTION),
+                                errmsg("could not identify an equality operator for type %s",
+                                               format_type_be(typeid))));
 
        /*
         * Call the type specific '=' function
         */
-       return DatumGetBool(FunctionCall2(&(entry->oprfmgrinfo),
+       return DatumGetBool(FunctionCall2(&(typentry->eq_opr_finfo),
                                                                          oldvalue, newvalue));
 }
index 75d42ce3513ebe57bb95c96343b99314f6246381..e88dc5e024f055241f60d2b2f9b22b0e75d4cb94 100644 (file)
@@ -69,6 +69,7 @@
 #include "utils/array.h"
 #include "utils/fmgroids.h"
 #include "utils/lsyscache.h"
+#include "utils/typcache.h"
 
 
 /* ----------
@@ -1815,21 +1816,24 @@ get_select_query_def(Query *query, deparse_context *context,
                        SortClause *srt = (SortClause *) lfirst(l);
                        Node       *sortexpr;
                        Oid                     sortcoltype;
-                       char       *opname;
+                       TypeCacheEntry *typentry;
 
                        appendStringInfo(buf, sep);
                        sortexpr = get_rule_sortgroupclause(srt, query->targetList,
                                                                                                force_colno, context);
                        sortcoltype = exprType(sortexpr);
-                       opname = generate_operator_name(srt->sortop,
-                                                                                       sortcoltype, sortcoltype);
-                       if (strcmp(opname, "<") != 0)
-                       {
-                               if (strcmp(opname, ">") == 0)
-                                       appendStringInfo(buf, " DESC");
-                               else
-                                       appendStringInfo(buf, " USING %s", opname);
-                       }
+                       /* See whether operator is default < or > for datatype */
+                       typentry = lookup_type_cache(sortcoltype,
+                                                                                TYPECACHE_LT_OPR | TYPECACHE_GT_OPR);
+                       if (srt->sortop == typentry->lt_opr)
+                               /* ASC is default, so emit nothing */ ;
+                       else if (srt->sortop == typentry->gt_opr)
+                               appendStringInfo(buf, " DESC");
+                       else
+                               appendStringInfo(buf, " USING %s",
+                                                                generate_operator_name(srt->sortop,
+                                                                                                               sortcoltype,
+                                                                                                               sortcoltype));
                        sep = ", ";
                }
        }
@@ -4032,6 +4036,15 @@ get_opclass_name(Oid opclass, Oid actual_datatype,
        if (!HeapTupleIsValid(ht_opc))
                elog(ERROR, "cache lookup failed for opclass %u", opclass);
        opcrec = (Form_pg_opclass) GETSTRUCT(ht_opc);
+
+       /* Special case for ARRAY_OPS: pretend it is default for any array type */
+       if (OidIsValid(actual_datatype))
+       {
+               if (opcrec->opcintype == ANYARRAYOID &&
+                       OidIsValid(get_element_type(actual_datatype)))
+                       actual_datatype = opcrec->opcintype;
+       }
+       
        if (actual_datatype != opcrec->opcintype || !opcrec->opcdefault)
        {
                /* Okay, we need the opclass name.      Do we need to qualify it? */
index 4712d511e6a7966fa2ba9a62ed256f4b16e88f14..5d07d06f34197d431d51733cc38e4ae58084e01e 100644 (file)
@@ -77,22 +77,19 @@ timestamp_in(PG_FUNCTION_ARGS)
        int                     tz;
        int                     dtype;
        int                     nf;
+       int                     dterr;
        char       *field[MAXDATEFIELDS];
        int                     ftype[MAXDATEFIELDS];
        char            lowstr[MAXDATELEN + MAXDATEFIELDS];
 
        if (strlen(str) >= sizeof(lowstr))
-               ereport(ERROR,
-                               (errcode(ERRCODE_INVALID_DATETIME_FORMAT),
-                                errmsg("invalid input syntax for timestamp: \"%s\"",
-                                               str)));
-
-       if ((ParseDateTime(str, lowstr, field, ftype, MAXDATEFIELDS, &nf) != 0)
-         || (DecodeDateTime(field, ftype, nf, &dtype, tm, &fsec, &tz) != 0))
-               ereport(ERROR,
-                               (errcode(ERRCODE_INVALID_DATETIME_FORMAT),
-                                errmsg("invalid input syntax for timestamp: \"%s\"",
-                                               str)));
+               dterr = DTERR_BAD_FORMAT;
+       else
+               dterr = ParseDateTime(str, lowstr, field, ftype, MAXDATEFIELDS, &nf);
+       if (dterr == 0)
+               dterr = DecodeDateTime(field, ftype, nf, &dtype, tm, &fsec, &tz);
+       if (dterr != 0)
+               DateTimeParseError(dterr, str, "timestamp");
 
        switch (dtype)
        {
@@ -306,22 +303,19 @@ timestamptz_in(PG_FUNCTION_ARGS)
        int                     tz;
        int                     dtype;
        int                     nf;
+       int                     dterr;
        char       *field[MAXDATEFIELDS];
        int                     ftype[MAXDATEFIELDS];
        char            lowstr[MAXDATELEN + MAXDATEFIELDS];
 
        if (strlen(str) >= sizeof(lowstr))
-               ereport(ERROR,
-                               (errcode(ERRCODE_INVALID_DATETIME_FORMAT),
-                                errmsg("invalid input syntax for timestamp with time zone: \"%s\"",
-                                               str)));
-
-       if ((ParseDateTime(str, lowstr, field, ftype, MAXDATEFIELDS, &nf) != 0)
-         || (DecodeDateTime(field, ftype, nf, &dtype, tm, &fsec, &tz) != 0))
-               ereport(ERROR,
-                               (errcode(ERRCODE_INVALID_DATETIME_FORMAT),
-                                errmsg("invalid input syntax for timestamp with time zone: \"%s\"",
-                                               str)));
+               dterr = DTERR_BAD_FORMAT;
+       else
+               dterr = ParseDateTime(str, lowstr, field, ftype, MAXDATEFIELDS, &nf);
+       if (dterr == 0)
+               dterr = DecodeDateTime(field, ftype, nf, &dtype, tm, &fsec, &tz);
+       if (dterr != 0)
+               DateTimeParseError(dterr, str, "timestamp with time zone");
 
        switch (dtype)
        {
@@ -468,6 +462,7 @@ interval_in(PG_FUNCTION_ARGS)
                           *tm = &tt;
        int                     dtype;
        int                     nf;
+       int                     dterr;
        char       *field[MAXDATEFIELDS];
        int                     ftype[MAXDATEFIELDS];
        char            lowstr[MAXDATELEN + MAXDATEFIELDS];
@@ -481,17 +476,17 @@ interval_in(PG_FUNCTION_ARGS)
        fsec = 0;
 
        if (strlen(str) >= sizeof(lowstr))
-               ereport(ERROR,
-                               (errcode(ERRCODE_INVALID_DATETIME_FORMAT),
-                                errmsg("invalid input syntax for interval: \"%s\"",
-                                               str)));
-
-       if ((ParseDateTime(str, lowstr, field, ftype, MAXDATEFIELDS, &nf) != 0)
-               || (DecodeInterval(field, ftype, nf, &dtype, tm, &fsec) != 0))
-               ereport(ERROR,
-                               (errcode(ERRCODE_INVALID_DATETIME_FORMAT),
-                                errmsg("invalid input syntax for interval: \"%s\"",
-                                               str)));
+               dterr = DTERR_BAD_FORMAT;
+       else
+               dterr = ParseDateTime(str, lowstr, field, ftype, MAXDATEFIELDS, &nf);
+       if (dterr == 0)
+               dterr = DecodeInterval(field, ftype, nf, &dtype, tm, &fsec);
+       if (dterr != 0)
+       {
+               if (dterr == DTERR_FIELD_OVERFLOW)
+                       dterr = DTERR_INTERVAL_OVERFLOW;
+               DateTimeParseError(dterr, str, "interval");
+       }
 
        result = (Interval *) palloc(sizeof(Interval));
 
@@ -1046,8 +1041,8 @@ timestamp2tm(Timestamp dt, int *tzp, struct tm * tm, fsec_t *fsec, char **tzn)
  * Argh! My Linux box puts in a 1 second offset for dates less than 1970
  *     but only if the seconds field was non-zero. So, don't copy the seconds
  *     field and instead carry forward from the original - thomas 97/06/18
- * Note that GNU/Linux uses the standard freeware zic package as do
- *     many other platforms so this may not be GNU/Linux/ix86-specific.
+ * Note that Linux uses the standard freeware zic package as do
+ *     many other platforms so this may not be Linux/ix86-specific.
  * Still shows a problem on my up to date Linux box - thomas 2001-01-17
  */
                        tm->tm_sec = tx->tm_sec;
index fa5a9a16596293a1807f36080e77272814aeeb35..d1a40dc8cfae3f72e538a812e058ad24175106e0 100644 (file)
@@ -12,7 +12,7 @@ subdir = src/backend/utils/cache
 top_builddir = ../../../..
 include $(top_builddir)/src/Makefile.global
 
-OBJS = catcache.o inval.o relcache.o syscache.o lsyscache.o
+OBJS = catcache.o inval.o relcache.o syscache.o lsyscache.o typcache.o
 
 all: SUBSYS.o
 
index 15bca6af8b993caea9d6763c60a62dab914fd416..8feacdfb4fc8ac8da25ddc9ca217fe405cfa62c0 100644 (file)
@@ -122,7 +122,6 @@ get_op_hash_function(Oid opno)
 {
        CatCList   *catlist;
        int                     i;
-       HeapTuple       tuple;
        Oid                     opclass = InvalidOid;
 
        /*
@@ -137,10 +136,8 @@ get_op_hash_function(Oid opno)
 
        for (i = 0; i < catlist->n_members; i++)
        {
-               Form_pg_amop aform;
-
-               tuple = &catlist->members[i]->tuple;
-               aform = (Form_pg_amop) GETSTRUCT(tuple);
+               HeapTuple       tuple = &catlist->members[i]->tuple;
+               Form_pg_amop aform = (Form_pg_amop) GETSTRUCT(tuple);
 
                if (aform->amopstrategy == HTEqualStrategyNumber &&
                        opclass_is_hash(aform->amopclaid))
@@ -155,20 +152,7 @@ get_op_hash_function(Oid opno)
        if (OidIsValid(opclass))
        {
                /* Found a suitable opclass, get its hash support function */
-               tuple = SearchSysCache(AMPROCNUM,
-                                                          ObjectIdGetDatum(opclass),
-                                                          Int16GetDatum(HASHPROC),
-                                                          0, 0);
-               if (HeapTupleIsValid(tuple))
-               {
-                       Form_pg_amproc aform = (Form_pg_amproc) GETSTRUCT(tuple);
-                       RegProcedure result;
-
-                       result = aform->amproc;
-                       ReleaseSysCache(tuple);
-                       Assert(RegProcedureIsValid(result));
-                       return result;
-               }
+               return get_opclass_proc(opclass, HASHPROC);
        }
 
        /* Didn't find a match... */
@@ -176,6 +160,35 @@ get_op_hash_function(Oid opno)
 }
 
 
+/*                             ---------- AMPROC CACHES ----------                                              */
+
+/*
+ * get_opclass_proc
+ *             Get the OID of the specified support function
+ *             for the specified opclass.
+ *
+ * Returns InvalidOid if there is no pg_amproc entry for the given keys.
+ */
+Oid
+get_opclass_proc(Oid opclass, int16 procnum)
+{
+       HeapTuple       tp;
+       Form_pg_amproc amproc_tup;
+       RegProcedure result;
+
+       tp = SearchSysCache(AMPROCNUM,
+                                               ObjectIdGetDatum(opclass),
+                                               Int16GetDatum(procnum),
+                                               0, 0);
+       if (!HeapTupleIsValid(tp))
+               return InvalidOid;
+       amproc_tup = (Form_pg_amproc) GETSTRUCT(tp);
+       result = amproc_tup->amproc;
+       ReleaseSysCache(tp);
+       return result;
+}
+
+
 /*                             ---------- ATTRIBUTE CACHES ----------                                   */
 
 /*
index 5ea78bb87963eed82402e0f3ff05da6fa8cbd4b2..eb76668b2cfe60beaf5b8c5fda68ee7f8aea8b73 100644 (file)
@@ -530,20 +530,22 @@ errcode_for_file_access(void)
                        edata->sqlerrcode = ERRCODE_INSUFFICIENT_PRIVILEGE;
                        break;
 
-                       /* Object not found */
+                       /* File not found */
                case ENOENT:                    /* No such file or directory */
-                       edata->sqlerrcode = ERRCODE_UNDEFINED_OBJECT;
+                       edata->sqlerrcode = ERRCODE_UNDEFINED_FILE;
                        break;
 
-                       /* Duplicate object */
+                       /* Duplicate file */
                case EEXIST:                    /* File exists */
-                       edata->sqlerrcode = ERRCODE_DUPLICATE_OBJECT;
+                       edata->sqlerrcode = ERRCODE_DUPLICATE_FILE;
                        break;
 
                        /* Wrong object type or state */
                case ENOTDIR:                   /* Not a directory */
                case EISDIR:                    /* Is a directory */
-               case ENOTEMPTY: /* Directory not empty */
+#if defined(ENOTEMPTY) && (ENOTEMPTY != EEXIST)        /* same code on AIX */
+               case ENOTEMPTY:                 /* Directory not empty */
+#endif
                        edata->sqlerrcode = ERRCODE_WRONG_OBJECT_TYPE;
                        break;
 
@@ -1165,7 +1167,7 @@ send_message_to_frontend(ErrorData *edata)
                int                     ssval;
                int                     i;
 
-               pq_sendbyte(&msgbuf, 'S');
+               pq_sendbyte(&msgbuf, PG_DIAG_SEVERITY);
                pq_sendstring(&msgbuf, error_severity(edata->elevel));
 
                /* unpack MAKE_SQLSTATE code */
@@ -1177,11 +1179,11 @@ send_message_to_frontend(ErrorData *edata)
                }
                tbuf[i] = '\0';
 
-               pq_sendbyte(&msgbuf, 'C');
+               pq_sendbyte(&msgbuf, PG_DIAG_SQLSTATE);
                pq_sendstring(&msgbuf, tbuf);
 
                /* M field is required per protocol, so always send something */
-               pq_sendbyte(&msgbuf, 'M');
+               pq_sendbyte(&msgbuf, PG_DIAG_MESSAGE_PRIMARY);
                if (edata->message)
                        pq_sendstring(&msgbuf, edata->message);
                else
@@ -1189,45 +1191,45 @@ send_message_to_frontend(ErrorData *edata)
 
                if (edata->detail)
                {
-                       pq_sendbyte(&msgbuf, 'D');
+                       pq_sendbyte(&msgbuf, PG_DIAG_MESSAGE_DETAIL);
                        pq_sendstring(&msgbuf, edata->detail);
                }
 
                if (edata->hint)
                {
-                       pq_sendbyte(&msgbuf, 'H');
+                       pq_sendbyte(&msgbuf, PG_DIAG_MESSAGE_HINT);
                        pq_sendstring(&msgbuf, edata->hint);
                }
 
                if (edata->context)
                {
-                       pq_sendbyte(&msgbuf, 'W');
+                       pq_sendbyte(&msgbuf, PG_DIAG_CONTEXT);
                        pq_sendstring(&msgbuf, edata->context);
                }
 
                if (edata->cursorpos > 0)
                {
                        snprintf(tbuf, sizeof(tbuf), "%d", edata->cursorpos);
-                       pq_sendbyte(&msgbuf, 'P');
+                       pq_sendbyte(&msgbuf, PG_DIAG_STATEMENT_POSITION);
                        pq_sendstring(&msgbuf, tbuf);
                }
 
                if (edata->filename)
                {
-                       pq_sendbyte(&msgbuf, 'F');
+                       pq_sendbyte(&msgbuf, PG_DIAG_SOURCE_FILE);
                        pq_sendstring(&msgbuf, edata->filename);
                }
 
                if (edata->lineno > 0)
                {
                        snprintf(tbuf, sizeof(tbuf), "%d", edata->lineno);
-                       pq_sendbyte(&msgbuf, 'L');
+                       pq_sendbyte(&msgbuf, PG_DIAG_SOURCE_LINE);
                        pq_sendstring(&msgbuf, tbuf);
                }
 
                if (edata->funcname)
                {
-                       pq_sendbyte(&msgbuf, 'R');
+                       pq_sendbyte(&msgbuf, PG_DIAG_SOURCE_FUNCTION);
                        pq_sendstring(&msgbuf, edata->funcname);
                }
 
index d7d113fbc84c5f70b23ab8108cb1d296391aa983..ad16b4ac5010d81236361fe3a80815d0720c12bf 100644 (file)
@@ -96,7 +96,8 @@ load_external_function(char *filename, char *funcname,
                if (stat(fullname, &stat_buf) == -1)
                        ereport(ERROR,
                                        (errcode_for_file_access(),
-                                 errmsg("could not access file \"%s\": %m", fullname)));
+                                        errmsg("could not access file \"%s\": %m",
+                                                       fullname)));
 
                for (file_scanner = file_list;
                         file_scanner != (DynamicFileList *) NULL &&
@@ -177,7 +178,8 @@ void
 load_file(char *filename)
 {
        DynamicFileList *file_scanner,
-                          *p;
+                          *prv,
+                          *nxt;
        struct stat stat_buf;
        char       *fullname;
 
@@ -196,31 +198,27 @@ load_file(char *filename)
                                (errcode_for_file_access(),
                                 errmsg("could not access file \"%s\": %m", fullname)));
 
-       if (file_list != (DynamicFileList *) NULL)
+       /*
+        * We have to zap all entries in the list that match on either filename
+        * or inode, else load_external_function() won't do anything.
+        */
+       prv = NULL;
+       for (file_scanner = file_list; file_scanner != NULL; file_scanner = nxt)
        {
-               if (SAME_INODE(stat_buf, *file_list))
+               nxt = file_scanner->next;
+               if (strcmp(fullname, file_scanner->filename) == 0 ||
+                       SAME_INODE(stat_buf, *file_scanner))
                {
-                       p = file_list;
-                       file_list = p->next;
-                       pg_dlclose(p->handle);
-                       free((char *) p);
+                       if (prv)
+                               prv->next = nxt;
+                       else
+                               file_list = nxt;
+                       pg_dlclose(file_scanner->handle);
+                       free((char *) file_scanner);
+                       /* prv does not change */
                }
                else
-               {
-                       for (file_scanner = file_list;
-                                file_scanner->next != (DynamicFileList *) NULL;
-                                file_scanner = file_scanner->next)
-                       {
-                               if (SAME_INODE(stat_buf, *(file_scanner->next)))
-                               {
-                                       p = file_scanner->next;
-                                       file_scanner->next = p->next;
-                                       pg_dlclose(p->handle);
-                                       free((char *) p);
-                                       break;
-                               }
-                       }
-               }
+                       prv = file_scanner;
        }
 
        load_external_function(fullname, (char *) NULL, false, (void *) NULL);
index 1d27bed4fe68fd269bb62ed8aea7f866ace2f177..6480993fde23659c7d512152b4ca0100a34ceb35 100644 (file)
@@ -44,7 +44,6 @@
 
 #include "postgres.h"
 
-
 #include "utils/dynahash.h"
 #include "utils/hsearch.h"
 #include "utils/memutils.h"
@@ -63,7 +62,6 @@
  * Private function prototypes
  */
 static void *DynaHashAlloc(Size size);
-static uint32 call_hash(HTAB *hashp, void *k);
 static HASHSEGMENT seg_alloc(HTAB *hashp);
 static bool element_alloc(HTAB *hashp);
 static bool dir_realloc(HTAB *hashp);
@@ -133,6 +131,19 @@ hash_create(const char *tabname, long nelem, HASHCTL *info, int flags)
        else
                hashp->hash = string_hash;              /* default hash function */
 
+       /*
+        * If you don't specify a match function, it defaults to strncmp() if
+        * you used string_hash (either explicitly or by default) and to
+        * memcmp() otherwise.  (Prior to PostgreSQL 7.4, memcmp() was always
+        * used.)
+        */
+       if (flags & HASH_COMPARE)
+               hashp->match = info->match;
+       else if (hashp->hash == string_hash)
+               hashp->match = (HashCompareFunc) strncmp;
+       else
+               hashp->match = memcmp;
+
        if (flags & HASH_SHARED_MEM)
        {
                /*
@@ -155,7 +166,7 @@ hash_create(const char *tabname, long nelem, HASHCTL *info, int flags)
                hashp->hctl = NULL;
                hashp->dir = NULL;
                hashp->alloc = MEM_ALLOC;
-               hashp->hcxt = DynaHashCxt;
+               hashp->hcxt = CurrentDynaHashCxt;
                hashp->isshared = false;
        }
 
@@ -207,26 +218,13 @@ hash_create(const char *tabname, long nelem, HASHCTL *info, int flags)
                hashp->alloc = info->alloc;
        else
        {
-               if (flags & HASH_CONTEXT)
-               {
-                       /* hash table structures live in child of given context */
-                       CurrentDynaHashCxt = AllocSetContextCreate(info->hcxt,
-                                                                                                          "DynaHashTable",
-                                                                                               ALLOCSET_DEFAULT_MINSIZE,
-                                                                                          ALLOCSET_DEFAULT_INITSIZE,
-                                                                                          ALLOCSET_DEFAULT_MAXSIZE);
-                       hashp->hcxt = CurrentDynaHashCxt;
-               }
-               else
-               {
-                       /* hash table structures live in child of DynaHashCxt */
-                       CurrentDynaHashCxt = AllocSetContextCreate(DynaHashCxt,
-                                                                                                          "DynaHashTable",
-                                                                                               ALLOCSET_DEFAULT_MINSIZE,
-                                                                                          ALLOCSET_DEFAULT_INITSIZE,
-                                                                                          ALLOCSET_DEFAULT_MAXSIZE);
-                       hashp->hcxt = CurrentDynaHashCxt;
-               }
+               /* remaining hash table structures live in child of given context */
+               hashp->hcxt = AllocSetContextCreate(CurrentDynaHashCxt,
+                                                                                       "DynaHashTable",
+                                                                                       ALLOCSET_DEFAULT_MINSIZE,
+                                                                                       ALLOCSET_DEFAULT_INITSIZE,
+                                                                                       ALLOCSET_DEFAULT_MAXSIZE);
+               CurrentDynaHashCxt = hashp->hcxt;
        }
 
        if (!init_htab(hashp, nelem))
@@ -351,7 +349,7 @@ init_htab(HTAB *hashp, long nelem)
  * NB: assumes that all hash structure parameters have default values!
  */
 long
-hash_estimate_size(long num_entries, long entrysize)
+hash_estimate_size(long num_entries, Size entrysize)
 {
        long            size = 0;
        long            nBuckets,
@@ -447,7 +445,6 @@ void
 hash_stats(const char *where, HTAB *hashp)
 {
 #if HASH_STATISTICS
-
        fprintf(stderr, "%s: this HTAB -- accesses %ld collisions %ld\n",
                        where, hashp->hctl->accesses, hashp->hctl->collisions);
 
@@ -459,19 +456,16 @@ hash_stats(const char *where, HTAB *hashp)
        fprintf(stderr, "hash_stats: total expansions %ld\n",
                        hash_expansions);
 #endif
-
 }
 
 /*******************************SEARCH ROUTINES *****************************/
 
-static uint32
-call_hash(HTAB *hashp, void *k)
-{
-       HASHHDR    *hctl = hashp->hctl;
-       uint32          hash_val,
-                               bucket;
 
-       hash_val = hashp->hash(k, (int) hctl->keysize);
+/* Convert a hash value to a bucket number */
+static inline uint32
+calc_bucket(HASHHDR *hctl, uint32 hash_val)
+{
+       uint32          bucket;
 
        bucket = hash_val & hctl->high_mask;
        if (bucket > hctl->max_bucket)
@@ -506,11 +500,12 @@ call_hash(HTAB *hashp, void *k)
  */
 void *
 hash_search(HTAB *hashp,
-                       void *keyPtr,
+                       const void *keyPtr,
                        HASHACTION action,
                        bool *foundPtr)
 {
        HASHHDR    *hctl = hashp->hctl;
+       uint32          hashvalue = 0;
        uint32          bucket;
        long            segment_num;
        long            segment_ndx;
@@ -545,7 +540,12 @@ hash_search(HTAB *hashp,
        }
        else
        {
-               bucket = call_hash(hashp, keyPtr);
+               HashCompareFunc match;
+               Size            keysize = hctl->keysize;
+
+               hashvalue = hashp->hash(keyPtr, keysize);
+               bucket = calc_bucket(hctl, hashvalue);
+
                segment_num = bucket >> hctl->sshift;
                segment_ndx = MOD(bucket, hctl->ssize);
 
@@ -560,9 +560,11 @@ hash_search(HTAB *hashp,
                /*
                 * Follow collision chain looking for matching key
                 */
+               match = hashp->match;   /* save one fetch in inner loop */
                while (currBucket != NULL)
                {
-                       if (memcmp(ELEMENTKEY(currBucket), keyPtr, hctl->keysize) == 0)
+                       if (currBucket->hashvalue == hashvalue &&
+                               match(ELEMENTKEY(currBucket), keyPtr, keysize) == 0)
                                break;
                        prevBucketPtr = &(currBucket->link);
                        currBucket = *prevBucketPtr;
@@ -641,6 +643,7 @@ hash_search(HTAB *hashp,
                        currBucket->link = NULL;
 
                        /* copy key into record */
+                       currBucket->hashvalue = hashvalue;
                        memcpy(ELEMENTKEY(currBucket), keyPtr, hctl->keysize);
 
                        /* caller is expected to fill the data field on return */
@@ -802,7 +805,7 @@ expand_table(HTAB *hashp)
 
        /*
         * Relocate records to the new bucket.  NOTE: because of the way the
-        * hash masking is done in call_hash, only one old bucket can need to
+        * hash masking is done in calc_bucket, only one old bucket can need to
         * be split at this point.      With a different way of reducing the hash
         * value, that might not be true!
         */
@@ -820,8 +823,7 @@ expand_table(HTAB *hashp)
                 currElement = nextElement)
        {
                nextElement = currElement->link;
-               if ((long) call_hash(hashp, (void *) ELEMENTKEY(currElement))
-                       == old_bucket)
+               if ((long) calc_bucket(hctl, currElement->hashvalue) == old_bucket)
                {
                        *oldlink = currElement;
                        oldlink = &currElement->link;
index 9265e38b977e3d26941efa5eee364f777f250706..4574a0946f75c3f117dba907739723ba96b42703 100644 (file)
 /*
  * string_hash: hash function for keys that are null-terminated strings.
  *
- * NOTE: since dynahash.c backs this up with a fixed-length memcmp(),
- * the key must actually be zero-padded to the specified maximum length
- * to work correctly.  However, if it is known that nothing after the
- * first zero byte is interesting, this is the right hash function to use.
- *
  * NOTE: this is the default hash function if none is specified.
  */
 uint32
-string_hash(void *key, int keysize)
+string_hash(const void *key, Size keysize)
 {
-       return DatumGetUInt32(hash_any((unsigned char *) key, strlen((char *) key)));
+       return DatumGetUInt32(hash_any((const unsigned char *) key,
+                                                                  (int) strlen((const char *) key)));
 }
 
 /*
  * tag_hash: hash function for fixed-size tag values
  */
 uint32
-tag_hash(void *key, int keysize)
+tag_hash(const void *key, Size keysize)
 {
-       return DatumGetUInt32(hash_any((unsigned char *) key, keysize));
+       return DatumGetUInt32(hash_any((const unsigned char *) key,
+                                                                  (int) keysize));
 }
index 684ca554472ea429bfe03d28e47fb4d8b9d95b71..0eb7039da73ff965b4802c54f864d0b4387d10ca 100644 (file)
@@ -70,4 +70,4 @@ bool          enableFsync = true;
 bool           allowSystemTableMods = false;
 int                    SortMem = 1024;
 int                    VacuumMem = 8192;
-int                    NBuffers = DEF_NBUFFERS;
+int                    NBuffers = 1000;
index 324ab086c45be4b35c3f83d9acb30f13b99de2b8..cc44c46d50028319b30a292d1d33a99fc8a1870f 100755 (executable)
@@ -78,7 +78,7 @@ while( <FILE> ){
        if( /^#/ ){
                next;
        }
-       ( $c, $u, $rest ) = split;
+       ( $u, $c, $rest ) = split;
        $ucs = hex($u);
        $code = hex($c);
        if( $code >= 0x80 && $ucs >= 0x0080 ){
index e539e93caad45f5462fd949a8b1d7ff14f186a8b..3aea9f4ec858d553429837a25ff03e212572fc68 100644 (file)
 static pg_local_to_utf LUmapGB18030[ 63360 ] = {
-  {0x0080, 0x13e884b0},
-  {0x0081, 0x13e884b1},
-  {0x0082, 0x13e884b2},
-  {0x0083, 0x13e884b3},
-  {0x0084, 0x13e884b4},
-  {0x0085, 0x13e884b5},
-  {0x0086, 0x13e884b6},
-  {0x0087, 0x13e884b7},
-  {0x0088, 0x13e884b8},
-  {0x0089, 0x13e884b9},
-  {0x008a, 0x13e888b0},
-  {0x008b, 0x13e888b1},
-  {0x008c, 0x13e888b2},
-  {0x008d, 0x13e888b3},
-  {0x008e, 0x13e888b4},
-  {0x008f, 0x13e888b5},
-  {0x0090, 0x13e888b6},
-  {0x0091, 0x13e888b7},
-  {0x0092, 0x13e888b8},
-  {0x0093, 0x13e888b9},
-  {0x0094, 0x13e88cb0},
-  {0x0095, 0x13e88cb1},
-  {0x0096, 0x13e88cb2},
-  {0x0097, 0x13e88cb3},
-  {0x0098, 0x13e88cb4},
-  {0x0099, 0x13e88cb5},
-  {0x009a, 0x13e88cb6},
-  {0x009b, 0x13e88cb7},
-  {0x009c, 0x13e88cb8},
-  {0x009d, 0x13e88cb9},
-  {0x009e, 0x13e890b0},
-  {0x009f, 0x13e890b1},
-  {0x00a0, 0x13e890b2},
-  {0x00a1, 0x13e890b3},
-  {0x00a2, 0x13e890b4},
-  {0x00a3, 0x13e890b5},
-  {0x00a4, 0xea87a8},
-  {0x00a5, 0x13e890b6},
-  {0x00a6, 0x13e890b7},
-  {0x00a7, 0xea87ac},
-  {0x00a8, 0xea86a7},
-  {0x00a9, 0x13e890b8},
-  {0x00aa, 0x13e890b9},
-  {0x00ab, 0x13e894b0},
-  {0x00ac, 0x13e894b1},
-  {0x00ad, 0x13e894b2},
-  {0x00ae, 0x13e894b3},
-  {0x00af, 0x13e894b4},
-  {0x00b0, 0xea87a3},
-  {0x00b1, 0xea8780},
-  {0x00b2, 0x13e894b5},
-  {0x00b3, 0x13e894b6},
-  {0x00b4, 0x13e894b7},
-  {0x00b5, 0x13e894b8},
-  {0x00b6, 0x13e894b9},
-  {0x00b7, 0xea86a4},
-  {0x00b8, 0x13e898b0},
-  {0x00b9, 0x13e898b1},
-  {0x00ba, 0x13e898b2},
-  {0x00bb, 0x13e898b3},
-  {0x00bc, 0x13e898b4},
-  {0x00bd, 0x13e898b5},
-  {0x00be, 0x13e898b6},
-  {0x00bf, 0x13e898b7},
-  {0x00c0, 0x13e898b8},
-  {0x00c1, 0x13e898b9},
-  {0x00c2, 0x13e89cb0},
-  {0x00c3, 0x13e89cb1},
-  {0x00c4, 0x13e89cb2},
-  {0x00c5, 0x13e89cb3},
-  {0x00c6, 0x13e89cb4},
-  {0x00c7, 0x13e89cb5},
-  {0x00c8, 0x13e89cb6},
-  {0x00c9, 0x13e89cb7},
-  {0x00ca, 0x13e89cb8},
-  {0x00cb, 0x13e89cb9},
-  {0x00cc, 0x13e8a0b0},
-  {0x00cd, 0x13e8a0b1},
-  {0x00ce, 0x13e8a0b2},
-  {0x00cf, 0x13e8a0b3},
-  {0x00d0, 0x13e8a0b4},
-  {0x00d1, 0x13e8a0b5},
-  {0x00d2, 0x13e8a0b6},
-  {0x00d3, 0x13e8a0b7},
-  {0x00d4, 0x13e8a0b8},
-  {0x00d5, 0x13e8a0b9},
-  {0x00d6, 0x13e8a4b0},
-  {0x00d7, 0xea8781},
-  {0x00d8, 0x13e8a4b1},
-  {0x00d9, 0x13e8a4b2},
-  {0x00da, 0x13e8a4b3},
-  {0x00db, 0x13e8a4b4},
-  {0x00dc, 0x13e8a4b5},
-  {0x00dd, 0x13e8a4b6},
-  {0x00de, 0x13e8a4b7},
-  {0x00df, 0x13e8a4b8},
-  {0x00e0, 0xeaa2a4},
-  {0x00e1, 0xeaa2a2},
-  {0x00e2, 0x13e8a4b9},
-  {0x00e3, 0x13e8a8b0},
-  {0x00e4, 0x13e8a8b1},
-  {0x00e5, 0x13e8a8b2},
-  {0x00e6, 0x13e8a8b3},
-  {0x00e7, 0x13e8a8b4},
-  {0x00e8, 0xeaa2a8},
-  {0x00e9, 0xeaa2a6},
-  {0x00ea, 0xeaa2ba},
-  {0x00eb, 0x13e8a8b5},
-  {0x00ec, 0xeaa2ac},
-  {0x00ed, 0xeaa2aa},
-  {0x00ee, 0x13e8a8b6},
-  {0x00ef, 0x13e8a8b7},
-  {0x00f0, 0x13e8a8b8},
-  {0x00f1, 0x13e8a8b9},
-  {0x00f2, 0xeaa2b0},
-  {0x00f3, 0xeaa2ae},
-  {0x00f4, 0x13e8acb0},
-  {0x00f5, 0x13e8acb1},
-  {0x00f6, 0x13e8acb2},
-  {0x00f7, 0xea8782},
-  {0x00f8, 0x13e8acb3},
-  {0x00f9, 0xeaa2b4},
-  {0x00fa, 0xeaa2b2},
-  {0x00fb, 0x13e8acb4},
-  {0x00fc, 0xeaa2b9},
-  {0x00fd, 0x13e8acb5},
-  {0x00fe, 0x13e8acb6},
-  {0x00ff, 0x13e8acb7},
-  {0x0100, 0x13e8acb8},
-  {0x0101, 0xeaa2a1},
-  {0x0102, 0x13e8acb9},
-  {0x0103, 0x13e8b0b0},
-  {0x0104, 0x13e8b0b1},
-  {0x0105, 0x13e8b0b2},
-  {0x0106, 0x13e8b0b3},
-  {0x0107, 0x13e8b0b4},
-  {0x0108, 0x13e8b0b5},
-  {0x0109, 0x13e8b0b6},
-  {0x010a, 0x13e8b0b7},
-  {0x010b, 0x13e8b0b8},
-  {0x010c, 0x13e8b0b9},
-  {0x010d, 0x13e8b4b0},
-  {0x010e, 0x13e8b4b1},
-  {0x010f, 0x13e8b4b2},
-  {0x0110, 0x13e8b4b3},
-  {0x0111, 0x13e8b4b4},
-  {0x0112, 0x13e8b4b5},
-  {0x0113, 0xeaa2a5},
-  {0x0114, 0x13e8b4b6},
-  {0x0115, 0x13e8b4b7},
-  {0x0116, 0x13e8b4b8},
-  {0x0117, 0x13e8b4b9},
-  {0x0118, 0x13e8b8b0},
-  {0x0119, 0x13e8b8b1},
-  {0x011a, 0x13e8b8b2},
-  {0x011b, 0xeaa2a7},
-  {0x011c, 0x13e8b8b3},
-  {0x011d, 0x13e8b8b4},
-  {0x011e, 0x13e8b8b5},
-  {0x011f, 0x13e8b8b6},
-  {0x0120, 0x13e8b8b7},
-  {0x0121, 0x13e8b8b8},
-  {0x0122, 0x13e8b8b9},
-  {0x0123, 0x13e8bcb0},
-  {0x0124, 0x13e8bcb1},
-  {0x0125, 0x13e8bcb2},
-  {0x0126, 0x13e8bcb3},
-  {0x0127, 0x13e8bcb4},
-  {0x0128, 0x13e8bcb5},
-  {0x0129, 0x13e8bcb6},
-  {0x012a, 0x13e8bcb7},
-  {0x012b, 0xeaa2a9},
-  {0x012c, 0x13e8bcb8},
-  {0x012d, 0x13e8bcb9},
-  {0x012e, 0x13e980b0},
-  {0x012f, 0x13e980b1},
-  {0x0130, 0x13e980b2},
-  {0x0131, 0x13e980b3},
-  {0x0132, 0x13e980b4},
-  {0x0133, 0x13e980b5},
-  {0x0134, 0x13e980b6},
-  {0x0135, 0x13e980b7},
-  {0x0136, 0x13e980b8},
-  {0x0137, 0x13e980b9},
-  {0x0138, 0x13e984b0},
-  {0x0139, 0x13e984b1},
-  {0x013a, 0x13e984b2},
-  {0x013b, 0x13e984b3},
-  {0x013c, 0x13e984b4},
-  {0x013d, 0x13e984b5},
-  {0x013e, 0x13e984b6},
-  {0x013f, 0x13e984b7},
-  {0x0140, 0x13e984b8},
-  {0x0141, 0x13e984b9},
-  {0x0142, 0x13e988b0},
-  {0x0143, 0x13e988b1},
-  {0x0144, 0xeaa2bd},
-  {0x0145, 0x13e988b2},
-  {0x0146, 0x13e988b3},
-  {0x0147, 0x13e988b4},
-  {0x0148, 0xeaa2be},
-  {0x0149, 0x13e988b5},
-  {0x014a, 0x13e988b6},
-  {0x014b, 0x13e988b7},
-  {0x014c, 0x13e988b8},
-  {0x014d, 0xeaa2ad},
-  {0x014e, 0x13e988b9},
-  {0x014f, 0x13e98cb0},
-  {0x0150, 0x13e98cb1},
-  {0x0151, 0x13e98cb2},
-  {0x0152, 0x13e98cb3},
-  {0x0153, 0x13e98cb4},
-  {0x0154, 0x13e98cb5},
-  {0x0155, 0x13e98cb6},
-  {0x0156, 0x13e98cb7},
-  {0x0157, 0x13e98cb8},
-  {0x0158, 0x13e98cb9},
-  {0x0159, 0x13e990b0},
-  {0x015a, 0x13e990b1},
-  {0x015b, 0x13e990b2},
-  {0x015c, 0x13e990b3},
-  {0x015d, 0x13e990b4},
-  {0x015e, 0x13e990b5},
-  {0x015f, 0x13e990b6},
-  {0x0160, 0x13e990b7},
-  {0x0161, 0x13e990b8},
-  {0x0162, 0x13e990b9},
-  {0x0163, 0x13e994b0},
-  {0x0164, 0x13e994b1},
-  {0x0165, 0x13e994b2},
-  {0x0166, 0x13e994b3},
-  {0x0167, 0x13e994b4},
-  {0x0168, 0x13e994b5},
-  {0x0169, 0x13e994b6},
-  {0x016a, 0x13e994b7},
-  {0x016b, 0xeaa2b1},
-  {0x016c, 0x13e994b8},
-  {0x016d, 0x13e994b9},
-  {0x016e, 0x13e998b0},
-  {0x016f, 0x13e998b1},
-  {0x0170, 0x13e998b2},
-  {0x0171, 0x13e998b3},
-  {0x0172, 0x13e998b4},
-  {0x0173, 0x13e998b5},
-  {0x0174, 0x13e998b6},
-  {0x0175, 0x13e998b7},
-  {0x0176, 0x13e998b8},
-  {0x0177, 0x13e998b9},
-  {0x0178, 0x13e99cb0},
-  {0x0179, 0x13e99cb1},
-  {0x017a, 0x13e99cb2},
-  {0x017b, 0x13e99cb3},
-  {0x017c, 0x13e99cb4},
-  {0x017d, 0x13e99cb5},
-  {0x017e, 0x13e99cb6},
-  {0x017f, 0x13e99cb7},
-  {0x0180, 0x13e99cb8},
-  {0x0181, 0x13e99cb9},
-  {0x0182, 0x13e9a0b0},
-  {0x0183, 0x13e9a0b1},
-  {0x0184, 0x13e9a0b2},
-  {0x0185, 0x13e9a0b3},
-  {0x0186, 0x13e9a0b4},
-  {0x0187, 0x13e9a0b5},
-  {0x0188, 0x13e9a0b6},
-  {0x0189, 0x13e9a0b7},
-  {0x018a, 0x13e9a0b8},
-  {0x018b, 0x13e9a0b9},
-  {0x018c, 0x13e9a4b0},
-  {0x018d, 0x13e9a4b1},
-  {0x018e, 0x13e9a4b2},
-  {0x018f, 0x13e9a4b3},
-  {0x0190, 0x13e9a4b4},
-  {0x0191, 0x13e9a4b5},
-  {0x0192, 0x13e9a4b6},
-  {0x0193, 0x13e9a4b7},
-  {0x0194, 0x13e9a4b8},
-  {0x0195, 0x13e9a4b9},
-  {0x0196, 0x13e9a8b0},
-  {0x0197, 0x13e9a8b1},
-  {0x0198, 0x13e9a8b2},
-  {0x0199, 0x13e9a8b3},
-  {0x019a, 0x13e9a8b4},
-  {0x019b, 0x13e9a8b5},
-  {0x019c, 0x13e9a8b6},
-  {0x019d, 0x13e9a8b7},
-  {0x019e, 0x13e9a8b8},
-  {0x019f, 0x13e9a8b9},
-  {0x01a0, 0x13e9acb0},
-  {0x01a1, 0x13e9acb1},
-  {0x01a2, 0x13e9acb2},
-  {0x01a3, 0x13e9acb3},
-  {0x01a4, 0x13e9acb4},
-  {0x01a5, 0x13e9acb5},
-  {0x01a6, 0x13e9acb6},
-  {0x01a7, 0x13e9acb7},
-  {0x01a8, 0x13e9acb8},
-  {0x01a9, 0x13e9acb9},
-  {0x01aa, 0x13e9b0b0},
-  {0x01ab, 0x13e9b0b1},
-  {0x01ac, 0x13e9b0b2},
-  {0x01ad, 0x13e9b0b3},
-  {0x01ae, 0x13e9b0b4},
-  {0x01af, 0x13e9b0b5},
-  {0x01b0, 0x13e9b0b6},
-  {0x01b1, 0x13e9b0b7},
-  {0x01b2, 0x13e9b0b8},
-  {0x01b3, 0x13e9b0b9},
-  {0x01b4, 0x13e9b4b0},
-  {0x01b5, 0x13e9b4b1},
-  {0x01b6, 0x13e9b4b2},
-  {0x01b7, 0x13e9b4b3},
-  {0x01b8, 0x13e9b4b4},
-  {0x01b9, 0x13e9b4b5},
-  {0x01ba, 0x13e9b4b6},
-  {0x01bb, 0x13e9b4b7},
-  {0x01bc, 0x13e9b4b8},
-  {0x01bd, 0x13e9b4b9},
-  {0x01be, 0x13e9b8b0},
-  {0x01bf, 0x13e9b8b1},
-  {0x01c0, 0x13e9b8b2},
-  {0x01c1, 0x13e9b8b3},
-  {0x01c2, 0x13e9b8b4},
-  {0x01c3, 0x13e9b8b5},
-  {0x01c4, 0x13e9b8b6},
-  {0x01c5, 0x13e9b8b7},
-  {0x01c6, 0x13e9b8b8},
-  {0x01c7, 0x13e9b8b9},
-  {0x01c8, 0x13e9bcb0},
-  {0x01c9, 0x13e9bcb1},
-  {0x01ca, 0x13e9bcb2},
-  {0x01cb, 0x13e9bcb3},
-  {0x01cc, 0x13e9bcb4},
-  {0x01cd, 0x13e9bcb5},
-  {0x01ce, 0xeaa2a3},
-  {0x01cf, 0x13e9bcb6},
-  {0x01d0, 0xeaa2ab},
-  {0x01d1, 0x13e9bcb7},
-  {0x01d2, 0xeaa2af},
-  {0x01d3, 0x13e9bcb8},
-  {0x01d4, 0xeaa2b3},
-  {0x01d5, 0x13e9bcb9},
-  {0x01d6, 0xeaa2b5},
-  {0x01d7, 0x13ea80b0},
-  {0x01d8, 0xeaa2b6},
-  {0x01d9, 0x13ea80b1},
-  {0x01da, 0xeaa2b7},
-  {0x01db, 0x13ea80b2},
-  {0x01dc, 0xeaa2b8},
-  {0x01dd, 0x13ea80b3},
-  {0x01de, 0x13ea80b4},
-  {0x01df, 0x13ea80b5},
-  {0x01e0, 0x13ea80b6},
-  {0x01e1, 0x13ea80b7},
-  {0x01e2, 0x13ea80b8},
-  {0x01e3, 0x13ea80b9},
-  {0x01e4, 0x13ea84b0},
-  {0x01e5, 0x13ea84b1},
-  {0x01e6, 0x13ea84b2},
-  {0x01e7, 0x13ea84b3},
-  {0x01e8, 0x13ea84b4},
-  {0x01e9, 0x13ea84b5},
-  {0x01ea, 0x13ea84b6},
-  {0x01eb, 0x13ea84b7},
-  {0x01ec, 0x13ea84b8},
-  {0x01ed, 0x13ea84b9},
-  {0x01ee, 0x13ea88b0},
-  {0x01ef, 0x13ea88b1},
-  {0x01f0, 0x13ea88b2},
-  {0x01f1, 0x13ea88b3},
-  {0x01f2, 0x13ea88b4},
-  {0x01f3, 0x13ea88b5},
-  {0x01f4, 0x13ea88b6},
-  {0x01f5, 0x13ea88b7},
-  {0x01f6, 0x13ea88b8},
-  {0x01f7, 0x13ea88b9},
-  {0x01f8, 0x13ea8cb0},
-  {0x01f9, 0xeaa2bf},
-  {0x01fa, 0x13ea8cb1},
-  {0x01fb, 0x13ea8cb2},
-  {0x01fc, 0x13ea8cb3},
-  {0x01fd, 0x13ea8cb4},
-  {0x01fe, 0x13ea8cb5},
-  {0x01ff, 0x13ea8cb6},
-  {0x0200, 0x13ea8cb7},
-  {0x0201, 0x13ea8cb8},
-  {0x0202, 0x13ea8cb9},
-  {0x0203, 0x13ea90b0},
-  {0x0204, 0x13ea90b1},
-  {0x0205, 0x13ea90b2},
-  {0x0206, 0x13ea90b3},
-  {0x0207, 0x13ea90b4},
-  {0x0208, 0x13ea90b5},
-  {0x0209, 0x13ea90b6},
-  {0x020a, 0x13ea90b7},
-  {0x020b, 0x13ea90b8},
-  {0x020c, 0x13ea90b9},
-  {0x020d, 0x13ea94b0},
-  {0x020e, 0x13ea94b1},
-  {0x020f, 0x13ea94b2},
-  {0x0210, 0x13ea94b3},
-  {0x0211, 0x13ea94b4},
-  {0x0212, 0x13ea94b5},
-  {0x0213, 0x13ea94b6},
-  {0x0214, 0x13ea94b7},
-  {0x0215, 0x13ea94b8},
-  {0x0216, 0x13ea94b9},
-  {0x0217, 0x13ea98b0},
-  {0x0218, 0x13ea98b1},
-  {0x0219, 0x13ea98b2},
-  {0x021a, 0x13ea98b3},
-  {0x021b, 0x13ea98b4},
-  {0x021c, 0x13ea98b5},
-  {0x021d, 0x13ea98b6},
-  {0x021e, 0x13ea98b7},
-  {0x021f, 0x13ea98b8},
-  {0x0220, 0x13ea98b9},
-  {0x0221, 0x13ea9cb0},
-  {0x0222, 0x13ea9cb1},
-  {0x0223, 0x13ea9cb2},
-  {0x0224, 0x13ea9cb3},
-  {0x0225, 0x13ea9cb4},
-  {0x0226, 0x13ea9cb5},
-  {0x0227, 0x13ea9cb6},
-  {0x0228, 0x13ea9cb7},
-  {0x0229, 0x13ea9cb8},
-  {0x022a, 0x13ea9cb9},
-  {0x022b, 0x13eaa0b0},
-  {0x022c, 0x13eaa0b1},
-  {0x022d, 0x13eaa0b2},
-  {0x022e, 0x13eaa0b3},
-  {0x022f, 0x13eaa0b4},
-  {0x0230, 0x13eaa0b5},
-  {0x0231, 0x13eaa0b6},
-  {0x0232, 0x13eaa0b7},
-  {0x0233, 0x13eaa0b8},
-  {0x0234, 0x13eaa0b9},
-  {0x0235, 0x13eaa4b0},
-  {0x0236, 0x13eaa4b1},
-  {0x0237, 0x13eaa4b2},
-  {0x0238, 0x13eaa4b3},
-  {0x0239, 0x13eaa4b4},
-  {0x023a, 0x13eaa4b5},
-  {0x023b, 0x13eaa4b6},
-  {0x023c, 0x13eaa4b7},
-  {0x023d, 0x13eaa4b8},
-  {0x023e, 0x13eaa4b9},
-  {0x023f, 0x13eaa8b0},
-  {0x0240, 0x13eaa8b1},
-  {0x0241, 0x13eaa8b2},
-  {0x0242, 0x13eaa8b3},
-  {0x0243, 0x13eaa8b4},
-  {0x0244, 0x13eaa8b5},
-  {0x0245, 0x13eaa8b6},
-  {0x0246, 0x13eaa8b7},
-  {0x0247, 0x13eaa8b8},
-  {0x0248, 0x13eaa8b9},
-  {0x0249, 0x13eaacb0},
-  {0x024a, 0x13eaacb1},
-  {0x024b, 0x13eaacb2},
-  {0x024c, 0x13eaacb3},
-  {0x024d, 0x13eaacb4},
-  {0x024e, 0x13eaacb5},
-  {0x024f, 0x13eaacb6},
-  {0x0250, 0x13eaacb7},
-  {0x0251, 0xeaa2bb},
-  {0x0252, 0x13eaacb8},
-  {0x0253, 0x13eaacb9},
-  {0x0254, 0x13eab0b0},
-  {0x0255, 0x13eab0b1},
-  {0x0256, 0x13eab0b2},
-  {0x0257, 0x13eab0b3},
-  {0x0258, 0x13eab0b4},
-  {0x0259, 0x13eab0b5},
-  {0x025a, 0x13eab0b6},
-  {0x025b, 0x13eab0b7},
-  {0x025c, 0x13eab0b8},
-  {0x025d, 0x13eab0b9},
-  {0x025e, 0x13eab4b0},
-  {0x025f, 0x13eab4b1},
-  {0x0260, 0x13eab4b2},
-  {0x0261, 0xeaa380},
-  {0x0262, 0x13eab4b3},
-  {0x0263, 0x13eab4b4},
-  {0x0264, 0x13eab4b5},
-  {0x0265, 0x13eab4b6},
-  {0x0266, 0x13eab4b7},
-  {0x0267, 0x13eab4b8},
-  {0x0268, 0x13eab4b9},
-  {0x0269, 0x13eab8b0},
-  {0x026a, 0x13eab8b1},
-  {0x026b, 0x13eab8b2},
-  {0x026c, 0x13eab8b3},
-  {0x026d, 0x13eab8b4},
-  {0x026e, 0x13eab8b5},
-  {0x026f, 0x13eab8b6},
-  {0x0270, 0x13eab8b7},
-  {0x0271, 0x13eab8b8},
-  {0x0272, 0x13eab8b9},
-  {0x0273, 0x13eabcb0},
-  {0x0274, 0x13eabcb1},
-  {0x0275, 0x13eabcb2},
-  {0x0276, 0x13eabcb3},
-  {0x0277, 0x13eabcb4},
-  {0x0278, 0x13eabcb5},
-  {0x0279, 0x13eabcb6},
-  {0x027a, 0x13eabcb7},
-  {0x027b, 0x13eabcb8},
-  {0x027c, 0x13eabcb9},
-  {0x027d, 0x13eb80b0},
-  {0x027e, 0x13eb80b1},
-  {0x027f, 0x13eb80b2},
-  {0x0280, 0x13eb80b3},
-  {0x0281, 0x13eb80b4},
-  {0x0282, 0x13eb80b5},
-  {0x0283, 0x13eb80b6},
-  {0x0284, 0x13eb80b7},
-  {0x0285, 0x13eb80b8},
-  {0x0286, 0x13eb80b9},
-  {0x0287, 0x13eb84b0},
-  {0x0288, 0x13eb84b1},
-  {0x0289, 0x13eb84b2},
-  {0x028a, 0x13eb84b3},
-  {0x028b, 0x13eb84b4},
-  {0x028c, 0x13eb84b5},
-  {0x028d, 0x13eb84b6},
-  {0x028e, 0x13eb84b7},
-  {0x028f, 0x13eb84b8},
-  {0x0290, 0x13eb84b9},
-  {0x0291, 0x13eb88b0},
-  {0x0292, 0x13eb88b1},
-  {0x0293, 0x13eb88b2},
-  {0x0294, 0x13eb88b3},
-  {0x0295, 0x13eb88b4},
-  {0x0296, 0x13eb88b5},
-  {0x0297, 0x13eb88b6},
-  {0x0298, 0x13eb88b7},
-  {0x0299, 0x13eb88b8},
-  {0x029a, 0x13eb88b9},
-  {0x029b, 0x13eb8cb0},
-  {0x029c, 0x13eb8cb1},
-  {0x029d, 0x13eb8cb2},
-  {0x029e, 0x13eb8cb3},
-  {0x029f, 0x13eb8cb4},
-  {0x02a0, 0x13eb8cb5},
-  {0x02a1, 0x13eb8cb6},
-  {0x02a2, 0x13eb8cb7},
-  {0x02a3, 0x13eb8cb8},
-  {0x02a4, 0x13eb8cb9},
-  {0x02a5, 0x13eb90b0},
-  {0x02a6, 0x13eb90b1},
-  {0x02a7, 0x13eb90b2},
-  {0x02a8, 0x13eb90b3},
-  {0x02a9, 0x13eb90b4},
-  {0x02aa, 0x13eb90b5},
-  {0x02ab, 0x13eb90b6},
-  {0x02ac, 0x13eb90b7},
-  {0x02ad, 0x13eb90b8},
-  {0x02ae, 0x13eb90b9},
-  {0x02af, 0x13eb94b0},
-  {0x02b0, 0x13eb94b1},
-  {0x02b1, 0x13eb94b2},
-  {0x02b2, 0x13eb94b3},
-  {0x02b3, 0x13eb94b4},
-  {0x02b4, 0x13eb94b5},
-  {0x02b5, 0x13eb94b6},
-  {0x02b6, 0x13eb94b7},
-  {0x02b7, 0x13eb94b8},
-  {0x02b8, 0x13eb94b9},
-  {0x02b9, 0x13eb98b0},
-  {0x02ba, 0x13eb98b1},
-  {0x02bb, 0x13eb98b2},
-  {0x02bc, 0x13eb98b3},
-  {0x02bd, 0x13eb98b4},
-  {0x02be, 0x13eb98b5},
-  {0x02bf, 0x13eb98b6},
-  {0x02c0, 0x13eb98b7},
-  {0x02c1, 0x13eb98b8},
-  {0x02c2, 0x13eb98b9},
-  {0x02c3, 0x13eb9cb0},
-  {0x02c4, 0x13eb9cb1},
-  {0x02c5, 0x13eb9cb2},
-  {0x02c6, 0x13eb9cb3},
-  {0x02c7, 0xea86a6},
-  {0x02c8, 0x13eb9cb4},
-  {0x02c9, 0xea86a5},
-  {0x02ca, 0xeaa180},
-  {0x02cb, 0xeaa181},
-  {0x02cc, 0x13eb9cb5},
-  {0x02cd, 0x13eb9cb6},
-  {0x02ce, 0x13eb9cb7},
-  {0x02cf, 0x13eb9cb8},
-  {0x02d0, 0x13eb9cb9},
-  {0x02d1, 0x13eba0b0},
-  {0x02d2, 0x13eba0b1},
-  {0x02d3, 0x13eba0b2},
-  {0x02d4, 0x13eba0b3},
-  {0x02d5, 0x13eba0b4},
-  {0x02d6, 0x13eba0b5},
-  {0x02d7, 0x13eba0b6},
-  {0x02d8, 0x13eba0b7},
-  {0x02d9, 0xeaa182},
-  {0x02da, 0x13eba0b8},
-  {0x02db, 0x13eba0b9},
-  {0x02dc, 0x13eba4b0},
-  {0x02dd, 0x13eba4b1},
-  {0x02de, 0x13eba4b2},
-  {0x02df, 0x13eba4b3},
-  {0x02e0, 0x13eba4b4},
-  {0x02e1, 0x13eba4b5},
-  {0x02e2, 0x13eba4b6},
-  {0x02e3, 0x13eba4b7},
-  {0x02e4, 0x13eba4b8},
-  {0x02e5, 0x13eba4b9},
-  {0x02e6, 0x13eba8b0},
-  {0x02e7, 0x13eba8b1},
-  {0x02e8, 0x13eba8b2},
-  {0x02e9, 0x13eba8b3},
-  {0x02ea, 0x13eba8b4},
-  {0x02eb, 0x13eba8b5},
-  {0x02ec, 0x13eba8b6},
-  {0x02ed, 0x13eba8b7},
-  {0x02ee, 0x13eba8b8},
-  {0x02ef, 0x13eba8b9},
-  {0x02f0, 0x13ebacb0},
-  {0x02f1, 0x13ebacb1},
-  {0x02f2, 0x13ebacb2},
-  {0x02f3, 0x13ebacb3},
-  {0x02f4, 0x13ebacb4},
-  {0x02f5, 0x13ebacb5},
-  {0x02f6, 0x13ebacb6},
-  {0x02f7, 0x13ebacb7},
-  {0x02f8, 0x13ebacb8},
-  {0x02f9, 0x13ebacb9},
-  {0x02fa, 0x13ebb0b0},
-  {0x02fb, 0x13ebb0b1},
-  {0x02fc, 0x13ebb0b2},
-  {0x02fd, 0x13ebb0b3},
-  {0x02fe, 0x13ebb0b4},
-  {0x02ff, 0x13ebb0b5},
-  {0x0300, 0x13ebb0b6},
-  {0x0301, 0x13ebb0b7},
-  {0x0302, 0x13ebb0b8},
-  {0x0303, 0x13ebb0b9},
-  {0x0304, 0x13ebb4b0},
-  {0x0305, 0x13ebb4b1},
-  {0x0306, 0x13ebb4b2},
-  {0x0307, 0x13ebb4b3},
-  {0x0308, 0x13ebb4b4},
-  {0x0309, 0x13ebb4b5},
-  {0x030a, 0x13ebb4b6},
-  {0x030b, 0x13ebb4b7},
-  {0x030c, 0x13ebb4b8},
-  {0x030d, 0x13ebb4b9},
-  {0x030e, 0x13ebb8b0},
-  {0x030f, 0x13ebb8b1},
-  {0x0310, 0x13ebb8b2},
-  {0x0311, 0x13ebb8b3},
-  {0x0312, 0x13ebb8b4},
-  {0x0313, 0x13ebb8b5},
-  {0x0314, 0x13ebb8b6},
-  {0x0315, 0x13ebb8b7},
-  {0x0316, 0x13ebb8b8},
-  {0x0317, 0x13ebb8b9},
-  {0x0318, 0x13ebbcb0},
-  {0x0319, 0x13ebbcb1},
-  {0x031a, 0x13ebbcb2},
-  {0x031b, 0x13ebbcb3},
-  {0x031c, 0x13ebbcb4},
-  {0x031d, 0x13ebbcb5},
-  {0x031e, 0x13ebbcb6},
-  {0x031f, 0x13ebbcb7},
-  {0x0320, 0x13ebbcb8},
-  {0x0321, 0x13ebbcb9},
-  {0x0322, 0x13ec80b0},
-  {0x0323, 0x13ec80b1},
-  {0x0324, 0x13ec80b2},
-  {0x0325, 0x13ec80b3},
-  {0x0326, 0x13ec80b4},
-  {0x0327, 0x13ec80b5},
-  {0x0328, 0x13ec80b6},
-  {0x0329, 0x13ec80b7},
-  {0x032a, 0x13ec80b8},
-  {0x032b, 0x13ec80b9},
-  {0x032c, 0x13ec84b0},
-  {0x032d, 0x13ec84b1},
-  {0x032e, 0x13ec84b2},
-  {0x032f, 0x13ec84b3},
-  {0x0330, 0x13ec84b4},
-  {0x0331, 0x13ec84b5},
-  {0x0332, 0x13ec84b6},
-  {0x0333, 0x13ec84b7},
-  {0x0334, 0x13ec84b8},
-  {0x0335, 0x13ec84b9},
-  {0x0336, 0x13ec88b0},
-  {0x0337, 0x13ec88b1},
-  {0x0338, 0x13ec88b2},
-  {0x0339, 0x13ec88b3},
-  {0x033a, 0x13ec88b4},
-  {0x033b, 0x13ec88b5},
-  {0x033c, 0x13ec88b6},
-  {0x033d, 0x13ec88b7},
-  {0x033e, 0x13ec88b8},
-  {0x033f, 0x13ec88b9},
-  {0x0340, 0x13ec8cb0},
-  {0x0341, 0x13ec8cb1},
-  {0x0342, 0x13ec8cb2},
-  {0x0343, 0x13ec8cb3},
-  {0x0344, 0x13ec8cb4},
-  {0x0345, 0x13ec8cb5},
-  {0x0346, 0x13ec8cb6},
-  {0x0347, 0x13ec8cb7},
-  {0x0348, 0x13ec8cb8},
-  {0x0349, 0x13ec8cb9},
-  {0x034a, 0x13ec90b0},
-  {0x034b, 0x13ec90b1},
-  {0x034c, 0x13ec90b2},
-  {0x034d, 0x13ec90b3},
-  {0x034e, 0x13ec90b4},
-  {0x034f, 0x13ec90b5},
-  {0x0350, 0x13ec90b6},
-  {0x0351, 0x13ec90b7},
-  {0x0352, 0x13ec90b8},
-  {0x0353, 0x13ec90b9},
-  {0x0354, 0x13ec94b0},
-  {0x0355, 0x13ec94b1},
-  {0x0356, 0x13ec94b2},
-  {0x0357, 0x13ec94b3},
-  {0x0358, 0x13ec94b4},
-  {0x0359, 0x13ec94b5},
-  {0x035a, 0x13ec94b6},
-  {0x035b, 0x13ec94b7},
-  {0x035c, 0x13ec94b8},
-  {0x035d, 0x13ec94b9},
-  {0x035e, 0x13ec98b0},
-  {0x035f, 0x13ec98b1},
-  {0x0360, 0x13ec98b2},
-  {0x0361, 0x13ec98b3},
-  {0x0362, 0x13ec98b4},
-  {0x0363, 0x13ec98b5},
-  {0x0364, 0x13ec98b6},
-  {0x0365, 0x13ec98b7},
-  {0x0366, 0x13ec98b8},
-  {0x0367, 0x13ec98b9},
-  {0x0368, 0x13ec9cb0},
-  {0x0369, 0x13ec9cb1},
-  {0x036a, 0x13ec9cb2},
-  {0x036b, 0x13ec9cb3},
-  {0x036c, 0x13ec9cb4},
-  {0x036d, 0x13ec9cb5},
-  {0x036e, 0x13ec9cb6},
-  {0x036f, 0x13ec9cb7},
-  {0x0370, 0x13ec9cb8},
-  {0x0371, 0x13ec9cb9},
-  {0x0372, 0x13eca0b0},
-  {0x0373, 0x13eca0b1},
-  {0x0374, 0x13eca0b2},
-  {0x0375, 0x13eca0b3},
-  {0x0376, 0x13eca0b4},
-  {0x0377, 0x13eca0b5},
-  {0x0378, 0x13eca0b6},
-  {0x0379, 0x13eca0b7},
-  {0x037a, 0x13eca0b8},
-  {0x037b, 0x13eca0b9},
-  {0x037c, 0x13eca4b0},
-  {0x037d, 0x13eca4b1},
-  {0x037e, 0x13eca4b2},
-  {0x037f, 0x13eca4b3},
-  {0x0380, 0x13eca4b4},
-  {0x0381, 0x13eca4b5},
-  {0x0382, 0x13eca4b6},
-  {0x0383, 0x13eca4b7},
-  {0x0384, 0x13eca4b8},
-  {0x0385, 0x13eca4b9},
-  {0x0386, 0x13eca8b0},
-  {0x0387, 0x13eca8b1},
-  {0x0388, 0x13eca8b2},
-  {0x0389, 0x13eca8b3},
-  {0x038a, 0x13eca8b4},
-  {0x038b, 0x13eca8b5},
-  {0x038c, 0x13eca8b6},
-  {0x038d, 0x13eca8b7},
-  {0x038e, 0x13eca8b8},
-  {0x038f, 0x13eca8b9},
-  {0x0390, 0x13ecacb0},
-  {0x0391, 0xea9aa1},
-  {0x0392, 0xea9aa2},
-  {0x0393, 0xea9aa3},
-  {0x0394, 0xea9aa4},
-  {0x0395, 0xea9aa5},
-  {0x0396, 0xea9aa6},
-  {0x0397, 0xea9aa7},
-  {0x0398, 0xea9aa8},
-  {0x0399, 0xea9aa9},
-  {0x039a, 0xea9aaa},
-  {0x039b, 0xea9aab},
-  {0x039c, 0xea9aac},
-  {0x039d, 0xea9aad},
-  {0x039e, 0xea9aae},
-  {0x039f, 0xea9aaf},
-  {0x03a0, 0xea9ab0},
-  {0x03a1, 0xea9ab1},
-  {0x03a2, 0x13ecacb1},
-  {0x03a3, 0xea9ab2},
-  {0x03a4, 0xea9ab3},
-  {0x03a5, 0xea9ab4},
-  {0x03a6, 0xea9ab5},
-  {0x03a7, 0xea9ab6},
-  {0x03a8, 0xea9ab7},
-  {0x03a9, 0xea9ab8},
-  {0x03aa, 0x13ecacb2},
-  {0x03ab, 0x13ecacb3},
-  {0x03ac, 0x13ecacb4},
-  {0x03ad, 0x13ecacb5},
-  {0x03ae, 0x13ecacb6},
-  {0x03af, 0x13ecacb7},
-  {0x03b0, 0x13ecacb8},
-  {0x03b1, 0xea9b81},
-  {0x03b2, 0xea9b82},
-  {0x03b3, 0xea9b83},
-  {0x03b4, 0xea9b84},
-  {0x03b5, 0xea9b85},
-  {0x03b6, 0xea9b86},
-  {0x03b7, 0xea9b87},
-  {0x03b8, 0xea9b88},
-  {0x03b9, 0xea9b89},
-  {0x03ba, 0xea9b8a},
-  {0x03bb, 0xea9b8b},
-  {0x03bc, 0xea9b8c},
-  {0x03bd, 0xea9b8d},
-  {0x03be, 0xea9b8e},
-  {0x03bf, 0xea9b8f},
-  {0x03c0, 0xea9b90},
-  {0x03c1, 0xea9b91},
-  {0x03c2, 0x13ecacb9},
-  {0x03c3, 0xea9b92},
-  {0x03c4, 0xea9b93},
-  {0x03c5, 0xea9b94},
-  {0x03c6, 0xea9b95},
-  {0x03c7, 0xea9b96},
-  {0x03c8, 0xea9b97},
-  {0x03c9, 0xea9b98},
-  {0x03ca, 0x13ecb0b0},
-  {0x03cb, 0x13ecb0b1},
-  {0x03cc, 0x13ecb0b2},
-  {0x03cd, 0x13ecb0b3},
-  {0x03ce, 0x13ecb0b4},
-  {0x03cf, 0x13ecb0b5},
-  {0x03d0, 0x13ecb0b6},
-  {0x03d1, 0x13ecb0b7},
-  {0x03d2, 0x13ecb0b8},
-  {0x03d3, 0x13ecb0b9},
-  {0x03d4, 0x13ecb4b0},
-  {0x03d5, 0x13ecb4b1},
-  {0x03d6, 0x13ecb4b2},
-  {0x03d7, 0x13ecb4b3},
-  {0x03d8, 0x13ecb4b4},
-  {0x03d9, 0x13ecb4b5},
-  {0x03da, 0x13ecb4b6},
-  {0x03db, 0x13ecb4b7},
-  {0x03dc, 0x13ecb4b8},
-  {0x03dd, 0x13ecb4b9},
-  {0x03de, 0x13ecb8b0},
-  {0x03df, 0x13ecb8b1},
-  {0x03e0, 0x13ecb8b2},
-  {0x03e1, 0x13ecb8b3},
-  {0x03e2, 0x13ecb8b4},
-  {0x03e3, 0x13ecb8b5},
-  {0x03e4, 0x13ecb8b6},
-  {0x03e5, 0x13ecb8b7},
-  {0x03e6, 0x13ecb8b8},
-  {0x03e7, 0x13ecb8b9},
-  {0x03e8, 0x13ecbcb0},
-  {0x03e9, 0x13ecbcb1},
-  {0x03ea, 0x13ecbcb2},
-  {0x03eb, 0x13ecbcb3},
-  {0x03ec, 0x13ecbcb4},
-  {0x03ed, 0x13ecbcb5},
-  {0x03ee, 0x13ecbcb6},
-  {0x03ef, 0x13ecbcb7},
-  {0x03f0, 0x13ecbcb8},
-  {0x03f1, 0x13ecbcb9},
-  {0x03f2, 0x13ed80b0},
-  {0x03f3, 0x13ed80b1},
-  {0x03f4, 0x13ed80b2},
-  {0x03f5, 0x13ed80b3},
-  {0x03f6, 0x13ed80b4},
-  {0x03f7, 0x13ed80b5},
-  {0x03f8, 0x13ed80b6},
-  {0x03f9, 0x13ed80b7},
-  {0x03fa, 0x13ed80b8},
-  {0x03fb, 0x13ed80b9},
-  {0x03fc, 0x13ed84b0},
-  {0x03fd, 0x13ed84b1},
-  {0x03fe, 0x13ed84b2},
-  {0x03ff, 0x13ed84b3},
-  {0x0400, 0x13ed84b4},
-  {0x0401, 0xea9ea7},
-  {0x0402, 0x13ed84b5},
-  {0x0403, 0x13ed84b6},
-  {0x0404, 0x13ed84b7},
-  {0x0405, 0x13ed84b8},
-  {0x0406, 0x13ed84b9},
-  {0x0407, 0x13ed88b0},
-  {0x0408, 0x13ed88b1},
-  {0x0409, 0x13ed88b2},
-  {0x040a, 0x13ed88b3},
-  {0x040b, 0x13ed88b4},
-  {0x040c, 0x13ed88b5},
-  {0x040d, 0x13ed88b6},
-  {0x040e, 0x13ed88b7},
-  {0x040f, 0x13ed88b8},
-  {0x0410, 0xea9ea1},
-  {0x0411, 0xea9ea2},
-  {0x0412, 0xea9ea3},
-  {0x0413, 0xea9ea4},
-  {0x0414, 0xea9ea5},
-  {0x0415, 0xea9ea6},
-  {0x0416, 0xea9ea8},
-  {0x0417, 0xea9ea9},
-  {0x0418, 0xea9eaa},
-  {0x0419, 0xea9eab},
-  {0x041a, 0xea9eac},
-  {0x041b, 0xea9ead},
-  {0x041c, 0xea9eae},
-  {0x041d, 0xea9eaf},
-  {0x041e, 0xea9eb0},
-  {0x041f, 0xea9eb1},
-  {0x0420, 0xea9eb2},
-  {0x0421, 0xea9eb3},
-  {0x0422, 0xea9eb4},
-  {0x0423, 0xea9eb5},
-  {0x0424, 0xea9eb6},
-  {0x0425, 0xea9eb7},
-  {0x0426, 0xea9eb8},
-  {0x0427, 0xea9eb9},
-  {0x0428, 0xea9eba},
-  {0x0429, 0xea9ebb},
-  {0x042a, 0xea9ebc},
-  {0x042b, 0xea9ebd},
-  {0x042c, 0xea9ebe},
-  {0x042d, 0xea9ebf},
-  {0x042e, 0xea9f80},
-  {0x042f, 0xea9f81},
-  {0x0430, 0xea9f91},
-  {0x0431, 0xea9f92},
-  {0x0432, 0xea9f93},
-  {0x0433, 0xea9f94},
-  {0x0434, 0xea9f95},
-  {0x0435, 0xea9f96},
-  {0x0436, 0xea9f98},
-  {0x0437, 0xea9f99},
-  {0x0438, 0xea9f9a},
-  {0x0439, 0xea9f9b},
-  {0x043a, 0xea9f9c},
-  {0x043b, 0xea9f9d},
-  {0x043c, 0xea9f9e},
-  {0x043d, 0xea9f9f},
-  {0x043e, 0xea9fa0},
-  {0x043f, 0xea9fa1},
-  {0x0440, 0xea9fa2},
-  {0x0441, 0xea9fa3},
-  {0x0442, 0xea9fa4},
-  {0x0443, 0xea9fa5},
-  {0x0444, 0xea9fa6},
-  {0x0445, 0xea9fa7},
-  {0x0446, 0xea9fa8},
-  {0x0447, 0xea9fa9},
-  {0x0448, 0xea9faa},
-  {0x0449, 0xea9fab},
-  {0x044a, 0xea9fac},
-  {0x044b, 0xea9fad},
-  {0x044c, 0xea9fae},
-  {0x044d, 0xea9faf},
-  {0x044e, 0xea9fb0},
-  {0x044f, 0xea9fb1},
-  {0x0450, 0x13ed88b9},
-  {0x0451, 0xea9f97},
-  {0x0452, 0x13ed8cb0},
-  {0x0453, 0x13ed8cb1},
-  {0x0454, 0x13ed8cb2},
-  {0x0455, 0x13ed8cb3},
-  {0x0456, 0x13ed8cb4},
-  {0x0457, 0x13ed8cb5},
-  {0x0458, 0x13ed8cb6},
-  {0x0459, 0x13ed8cb7},
-  {0x045a, 0x13ed8cb8},
-  {0x045b, 0x13ed8cb9},
-  {0x045c, 0x13ed90b0},
-  {0x045d, 0x13ed90b1},
-  {0x045e, 0x13ed90b2},
-  {0x045f, 0x13ed90b3},
-  {0x0460, 0x13ed90b4},
-  {0x0461, 0x13ed90b5},
-  {0x0462, 0x13ed90b6},
-  {0x0463, 0x13ed90b7},
-  {0x0464, 0x13ed90b8},
-  {0x0465, 0x13ed90b9},
-  {0x0466, 0x13ed94b0},
-  {0x0467, 0x13ed94b1},
-  {0x0468, 0x13ed94b2},
-  {0x0469, 0x13ed94b3},
-  {0x046a, 0x13ed94b4},
-  {0x046b, 0x13ed94b5},
-  {0x046c, 0x13ed94b6},
-  {0x046d, 0x13ed94b7},
-  {0x046e, 0x13ed94b8},
-  {0x046f, 0x13ed94b9},
-  {0x0470, 0x13ed98b0},
-  {0x0471, 0x13ed98b1},
-  {0x0472, 0x13ed98b2},
-  {0x0473, 0x13ed98b3},
-  {0x0474, 0x13ed98b4},
-  {0x0475, 0x13ed98b5},
-  {0x0476, 0x13ed98b6},
-  {0x0477, 0x13ed98b7},
-  {0x0478, 0x13ed98b8},
-  {0x0479, 0x13ed98b9},
-  {0x047a, 0x13ed9cb0},
-  {0x047b, 0x13ed9cb1},
-  {0x047c, 0x13ed9cb2},
-  {0x047d, 0x13ed9cb3},
-  {0x047e, 0x13ed9cb4},
-  {0x047f, 0x13ed9cb5},
-  {0x0480, 0x13ed9cb6},
-  {0x0481, 0x13ed9cb7},
-  {0x0482, 0x13ed9cb8},
-  {0x0483, 0x13ed9cb9},
-  {0x0484, 0x13eda0b0},
-  {0x0485, 0x13eda0b1},
-  {0x0486, 0x13eda0b2},
-  {0x0487, 0x13eda0b3},
-  {0x0488, 0x13eda0b4},
-  {0x0489, 0x13eda0b5},
-  {0x048a, 0x13eda0b6},
-  {0x048b, 0x13eda0b7},
-  {0x048c, 0x13eda0b8},
-  {0x048d, 0x13eda0b9},
-  {0x048e, 0x13eda4b0},
-  {0x048f, 0x13eda4b1},
-  {0x0490, 0x13eda4b2},
-  {0x0491, 0x13eda4b3},
-  {0x0492, 0x13eda4b4},
-  {0x0493, 0x13eda4b5},
-  {0x0494, 0x13eda4b6},
-  {0x0495, 0x13eda4b7},
-  {0x0496, 0x13eda4b8},
-  {0x0497, 0x13eda4b9},
-  {0x0498, 0x13eda8b0},
-  {0x0499, 0x13eda8b1},
-  {0x049a, 0x13eda8b2},
-  {0x049b, 0x13eda8b3},
-  {0x049c, 0x13eda8b4},
-  {0x049d, 0x13eda8b5},
-  {0x049e, 0x13eda8b6},
-  {0x049f, 0x13eda8b7},
-  {0x04a0, 0x13eda8b8},
-  {0x04a1, 0x13eda8b9},
-  {0x04a2, 0x13edacb0},
-  {0x04a3, 0x13edacb1},
-  {0x04a4, 0x13edacb2},
-  {0x04a5, 0x13edacb3},
-  {0x04a6, 0x13edacb4},
-  {0x04a7, 0x13edacb5},
-  {0x04a8, 0x13edacb6},
-  {0x04a9, 0x13edacb7},
-  {0x04aa, 0x13edacb8},
-  {0x04ab, 0x13edacb9},
-  {0x04ac, 0x13edb0b0},
-  {0x04ad, 0x13edb0b1},
-  {0x04ae, 0x13edb0b2},
-  {0x04af, 0x13edb0b3},
-  {0x04b0, 0x13edb0b4},
-  {0x04b1, 0x13edb0b5},
-  {0x04b2, 0x13edb0b6},
-  {0x04b3, 0x13edb0b7},
-  {0x04b4, 0x13edb0b8},
-  {0x04b5, 0x13edb0b9},
-  {0x04b6, 0x13edb4b0},
-  {0x04b7, 0x13edb4b1},
-  {0x04b8, 0x13edb4b2},
-  {0x04b9, 0x13edb4b3},
-  {0x04ba, 0x13edb4b4},
-  {0x04bb, 0x13edb4b5},
-  {0x04bc, 0x13edb4b6},
-  {0x04bd, 0x13edb4b7},
-  {0x04be, 0x13edb4b8},
-  {0x04bf, 0x13edb4b9},
-  {0x04c0, 0x13edb8b0},
-  {0x04c1, 0x13edb8b1},
-  {0x04c2, 0x13edb8b2},
-  {0x04c3, 0x13edb8b3},
-  {0x04c4, 0x13edb8b4},
-  {0x04c5, 0x13edb8b5},
-  {0x04c6, 0x13edb8b6},
-  {0x04c7, 0x13edb8b7},
-  {0x04c8, 0x13edb8b8},
-  {0x04c9, 0x13edb8b9},
-  {0x04ca, 0x13edbcb0},
-  {0x04cb, 0x13edbcb1},
-  {0x04cc, 0x13edbcb2},
-  {0x04cd, 0x13edbcb3},
-  {0x04ce, 0x13edbcb4},
-  {0x04cf, 0x13edbcb5},
-  {0x04d0, 0x13edbcb6},
-  {0x04d1, 0x13edbcb7},
-  {0x04d2, 0x13edbcb8},
-  {0x04d3, 0x13edbcb9},
-  {0x04d4, 0x13ee80b0},
-  {0x04d5, 0x13ee80b1},
-  {0x04d6, 0x13ee80b2},
-  {0x04d7, 0x13ee80b3},
-  {0x04d8, 0x13ee80b4},
-  {0x04d9, 0x13ee80b5},
-  {0x04da, 0x13ee80b6},
-  {0x04db, 0x13ee80b7},
-  {0x04dc, 0x13ee80b8},
-  {0x04dd, 0x13ee80b9},
-  {0x04de, 0x13ee84b0},
-  {0x04df, 0x13ee84b1},
-  {0x04e0, 0x13ee84b2},
-  {0x04e1, 0x13ee84b3},
-  {0x04e2, 0x13ee84b4},
-  {0x04e3, 0x13ee84b5},
-  {0x04e4, 0x13ee84b6},
-  {0x04e5, 0x13ee84b7},
-  {0x04e6, 0x13ee84b8},
-  {0x04e7, 0x13ee84b9},
-  {0x04e8, 0x13ee88b0},
-  {0x04e9, 0x13ee88b1},
-  {0x04ea, 0x13ee88b2},
-  {0x04eb, 0x13ee88b3},
-  {0x04ec, 0x13ee88b4},
-  {0x04ed, 0x13ee88b5},
-  {0x04ee, 0x13ee88b6},
-  {0x04ef, 0x13ee88b7},
-  {0x04f0, 0x13ee88b8},
-  {0x04f1, 0x13ee88b9},
-  {0x04f2, 0x13ee8cb0},
-  {0x04f3, 0x13ee8cb1},
-  {0x04f4, 0x13ee8cb2},
-  {0x04f5, 0x13ee8cb3},
-  {0x04f6, 0x13ee8cb4},
-  {0x04f7, 0x13ee8cb5},
-  {0x04f8, 0x13ee8cb6},
-  {0x04f9, 0x13ee8cb7},
-  {0x04fa, 0x13ee8cb8},
-  {0x04fb, 0x13ee8cb9},
-  {0x04fc, 0x13ee90b0},
-  {0x04fd, 0x13ee90b1},
-  {0x04fe, 0x13ee90b2},
-  {0x04ff, 0x13ee90b3},
-  {0x0500, 0x13ee90b4},
-  {0x0501, 0x13ee90b5},
-  {0x0502, 0x13ee90b6},
-  {0x0503, 0x13ee90b7},
-  {0x0504, 0x13ee90b8},
-  {0x0505, 0x13ee90b9},
-  {0x0506, 0x13ee94b0},
-  {0x0507, 0x13ee94b1},
-  {0x0508, 0x13ee94b2},
-  {0x0509, 0x13ee94b3},
-  {0x050a, 0x13ee94b4},
-  {0x050b, 0x13ee94b5},
-  {0x050c, 0x13ee94b6},
-  {0x050d, 0x13ee94b7},
-  {0x050e, 0x13ee94b8},
-  {0x050f, 0x13ee94b9},
-  {0x0510, 0x13ee98b0},
-  {0x0511, 0x13ee98b1},
-  {0x0512, 0x13ee98b2},
-  {0x0513, 0x13ee98b3},
-  {0x0514, 0x13ee98b4},
-  {0x0515, 0x13ee98b5},
-  {0x0516, 0x13ee98b6},
-  {0x0517, 0x13ee98b7},
-  {0x0518, 0x13ee98b8},
-  {0x0519, 0x13ee98b9},
-  {0x051a, 0x13ee9cb0},
-  {0x051b, 0x13ee9cb1},
-  {0x051c, 0x13ee9cb2},
-  {0x051d, 0x13ee9cb3},
-  {0x051e, 0x13ee9cb4},
-  {0x051f, 0x13ee9cb5},
-  {0x0520, 0x13ee9cb6},
-  {0x0521, 0x13ee9cb7},
-  {0x0522, 0x13ee9cb8},
-  {0x0523, 0x13ee9cb9},
-  {0x0524, 0x13eea0b0},
-  {0x0525, 0x13eea0b1},
-  {0x0526, 0x13eea0b2},
-  {0x0527, 0x13eea0b3},
-  {0x0528, 0x13eea0b4},
-  {0x0529, 0x13eea0b5},
-  {0x052a, 0x13eea0b6},
-  {0x052b, 0x13eea0b7},
-  {0x052c, 0x13eea0b8},
-  {0x052d, 0x13eea0b9},
-  {0x052e, 0x13eea4b0},
-  {0x052f, 0x13eea4b1},
-  {0x0530, 0x13eea4b2},
-  {0x0531, 0x13eea4b3},
-  {0x0532, 0x13eea4b4},
-  {0x0533, 0x13eea4b5},
-  {0x0534, 0x13eea4b6},
-  {0x0535, 0x13eea4b7},
-  {0x0536, 0x13eea4b8},
-  {0x0537, 0x13eea4b9},
-  {0x0538, 0x13eea8b0},
-  {0x0539, 0x13eea8b1},
-  {0x053a, 0x13eea8b2},
-  {0x053b, 0x13eea8b3},
-  {0x053c, 0x13eea8b4},
-  {0x053d, 0x13eea8b5},
-  {0x053e, 0x13eea8b6},
-  {0x053f, 0x13eea8b7},
-  {0x0540, 0x13eea8b8},
-  {0x0541, 0x13eea8b9},
-  {0x0542, 0x13eeacb0},
-  {0x0543, 0x13eeacb1},
-  {0x0544, 0x13eeacb2},
-  {0x0545, 0x13eeacb3},
-  {0x0546, 0x13eeacb4},
-  {0x0547, 0x13eeacb5},
-  {0x0548, 0x13eeacb6},
-  {0x0549, 0x13eeacb7},
-  {0x054a, 0x13eeacb8},
-  {0x054b, 0x13eeacb9},
-  {0x054c, 0x13eeb0b0},
-  {0x054d, 0x13eeb0b1},
-  {0x054e, 0x13eeb0b2},
-  {0x054f, 0x13eeb0b3},
-  {0x0550, 0x13eeb0b4},
-  {0x0551, 0x13eeb0b5},
-  {0x0552, 0x13eeb0b6},
-  {0x0553, 0x13eeb0b7},
-  {0x0554, 0x13eeb0b8},
-  {0x0555, 0x13eeb0b9},
-  {0x0556, 0x13eeb4b0},
-  {0x0557, 0x13eeb4b1},
-  {0x0558, 0x13eeb4b2},
-  {0x0559, 0x13eeb4b3},
-  {0x055a, 0x13eeb4b4},
-  {0x055b, 0x13eeb4b5},
-  {0x055c, 0x13eeb4b6},
-  {0x055d, 0x13eeb4b7},
-  {0x055e, 0x13eeb4b8},
-  {0x055f, 0x13eeb4b9},
-  {0x0560, 0x13eeb8b0},
-  {0x0561, 0x13eeb8b1},
-  {0x0562, 0x13eeb8b2},
-  {0x0563, 0x13eeb8b3},
-  {0x0564, 0x13eeb8b4},
-  {0x0565, 0x13eeb8b5},
-  {0x0566, 0x13eeb8b6},
-  {0x0567, 0x13eeb8b7},
-  {0x0568, 0x13eeb8b8},
-  {0x0569, 0x13eeb8b9},
-  {0x056a, 0x13eebcb0},
-  {0x056b, 0x13eebcb1},
-  {0x056c, 0x13eebcb2},
-  {0x056d, 0x13eebcb3},
-  {0x056e, 0x13eebcb4},
-  {0x056f, 0x13eebcb5},
-  {0x0570, 0x13eebcb6},
-  {0x0571, 0x13eebcb7},
-  {0x0572, 0x13eebcb8},
-  {0x0573, 0x13eebcb9},
-  {0x0574, 0x13ef80b0},
-  {0x0575, 0x13ef80b1},
-  {0x0576, 0x13ef80b2},
-  {0x0577, 0x13ef80b3},
-  {0x0578, 0x13ef80b4},
-  {0x0579, 0x13ef80b5},
-  {0x057a, 0x13ef80b6},
-  {0x057b, 0x13ef80b7},
-  {0x057c, 0x13ef80b8},
-  {0x057d, 0x13ef80b9},
-  {0x057e, 0x13ef84b0},
-  {0x057f, 0x13ef84b1},
-  {0x0580, 0x13ef84b2},
-  {0x0581, 0x13ef84b3},
-  {0x0582, 0x13ef84b4},
-  {0x0583, 0x13ef84b5},
-  {0x0584, 0x13ef84b6},
-  {0x0585, 0x13ef84b7},
-  {0x0586, 0x13ef84b8},
-  {0x0587, 0x13ef84b9},
-  {0x0588, 0x13ef88b0},
-  {0x0589, 0x13ef88b1},
-  {0x058a, 0x13ef88b2},
-  {0x058b, 0x13ef88b3},
-  {0x058c, 0x13ef88b4},
-  {0x058d, 0x13ef88b5},
-  {0x058e, 0x13ef88b6},
-  {0x058f, 0x13ef88b7},
-  {0x0590, 0x13ef88b8},
-  {0x0591, 0x13ef88b9},
-  {0x0592, 0x13ef8cb0},
-  {0x0593, 0x13ef8cb1},
-  {0x0594, 0x13ef8cb2},
-  {0x0595, 0x13ef8cb3},
-  {0x0596, 0x13ef8cb4},
-  {0x0597, 0x13ef8cb5},
-  {0x0598, 0x13ef8cb6},
-  {0x0599, 0x13ef8cb7},
-  {0x059a, 0x13ef8cb8},
-  {0x059b, 0x13ef8cb9},
-  {0x059c, 0x13ef90b0},
-  {0x059d, 0x13ef90b1},
-  {0x059e, 0x13ef90b2},
-  {0x059f, 0x13ef90b3},
-  {0x05a0, 0x13ef90b4},
-  {0x05a1, 0x13ef90b5},
-  {0x05a2, 0x13ef90b6},
-  {0x05a3, 0x13ef90b7},
-  {0x05a4, 0x13ef90b8},
-  {0x05a5, 0x13ef90b9},
-  {0x05a6, 0x13ef94b0},
-  {0x05a7, 0x13ef94b1},
-  {0x05a8, 0x13ef94b2},
-  {0x05a9, 0x13ef94b3},
-  {0x05aa, 0x13ef94b4},
-  {0x05ab, 0x13ef94b5},
-  {0x05ac, 0x13ef94b6},
-  {0x05ad, 0x13ef94b7},
-  {0x05ae, 0x13ef94b8},
-  {0x05af, 0x13ef94b9},
-  {0x05b0, 0x13ef98b0},
-  {0x05b1, 0x13ef98b1},
-  {0x05b2, 0x13ef98b2},
-  {0x05b3, 0x13ef98b3},
-  {0x05b4, 0x13ef98b4},
-  {0x05b5, 0x13ef98b5},
-  {0x05b6, 0x13ef98b6},
-  {0x05b7, 0x13ef98b7},
-  {0x05b8, 0x13ef98b8},
-  {0x05b9, 0x13ef98b9},
-  {0x05ba, 0x13ef9cb0},
-  {0x05bb, 0x13ef9cb1},
-  {0x05bc, 0x13ef9cb2},
-  {0x05bd, 0x13ef9cb3},
-  {0x05be, 0x13ef9cb4},
-  {0x05bf, 0x13ef9cb5},
-  {0x05c0, 0x13ef9cb6},
-  {0x05c1, 0x13ef9cb7},
-  {0x05c2, 0x13ef9cb8},
-  {0x05c3, 0x13ef9cb9},
-  {0x05c4, 0x13efa0b0},
-  {0x05c5, 0x13efa0b1},
-  {0x05c6, 0x13efa0b2},
-  {0x05c7, 0x13efa0b3},
-  {0x05c8, 0x13efa0b4},
-  {0x05c9, 0x13efa0b5},
-  {0x05ca, 0x13efa0b6},
-  {0x05cb, 0x13efa0b7},
-  {0x05cc, 0x13efa0b8},
-  {0x05cd, 0x13efa0b9},
-  {0x05ce, 0x13efa4b0},
-  {0x05cf, 0x13efa4b1},
-  {0x05d0, 0x13efa4b2},
-  {0x05d1, 0x13efa4b3},
-  {0x05d2, 0x13efa4b4},
-  {0x05d3, 0x13efa4b5},
-  {0x05d4, 0x13efa4b6},
-  {0x05d5, 0x13efa4b7},
-  {0x05d6, 0x13efa4b8},
-  {0x05d7, 0x13efa4b9},
-  {0x05d8, 0x13efa8b0},
-  {0x05d9, 0x13efa8b1},
-  {0x05da, 0x13efa8b2},
-  {0x05db, 0x13efa8b3},
-  {0x05dc, 0x13efa8b4},
-  {0x05dd, 0x13efa8b5},
-  {0x05de, 0x13efa8b6},
-  {0x05df, 0x13efa8b7},
-  {0x05e0, 0x13efa8b8},
-  {0x05e1, 0x13efa8b9},
-  {0x05e2, 0x13efacb0},
-  {0x05e3, 0x13efacb1},
-  {0x05e4, 0x13efacb2},
-  {0x05e5, 0x13efacb3},
-  {0x05e6, 0x13efacb4},
-  {0x05e7, 0x13efacb5},
-  {0x05e8, 0x13efacb6},
-  {0x05e9, 0x13efacb7},
-  {0x05ea, 0x13efacb8},
-  {0x05eb, 0x13efacb9},
-  {0x05ec, 0x13efb0b0},
-  {0x05ed, 0x13efb0b1},
-  {0x05ee, 0x13efb0b2},
-  {0x05ef, 0x13efb0b3},
-  {0x05f0, 0x13efb0b4},
-  {0x05f1, 0x13efb0b5},
-  {0x05f2, 0x13efb0b6},
-  {0x05f3, 0x13efb0b7},
-  {0x05f4, 0x13efb0b8},
-  {0x05f5, 0x13efb0b9},
-  {0x05f6, 0x13efb4b0},
-  {0x05f7, 0x13efb4b1},
-  {0x05f8, 0x13efb4b2},
-  {0x05f9, 0x13efb4b3},
-  {0x05fa, 0x13efb4b4},
-  {0x05fb, 0x13efb4b5},
-  {0x05fc, 0x13efb4b6},
-  {0x05fd, 0x13efb4b7},
-  {0x05fe, 0x13efb4b8},
-  {0x05ff, 0x13efb4b9},
-  {0x0600, 0x13efb8b0},
-  {0x0601, 0x13efb8b1},
-  {0x0602, 0x13efb8b2},
-  {0x0603, 0x13efb8b3},
-  {0x0604, 0x13efb8b4},
-  {0x0605, 0x13efb8b5},
-  {0x0606, 0x13efb8b6},
-  {0x0607, 0x13efb8b7},
-  {0x0608, 0x13efb8b8},
-  {0x0609, 0x13efb8b9},
-  {0x060a, 0x13f884b0},
-  {0x060b, 0x13f884b1},
-  {0x060c, 0x13f884b2},
-  {0x060d, 0x13f884b3},
-  {0x060e, 0x13f884b4},
-  {0x060f, 0x13f884b5},
-  {0x0610, 0x13f884b6},
-  {0x0611, 0x13f884b7},
-  {0x0612, 0x13f884b8},
-  {0x0613, 0x13f884b9},
-  {0x0614, 0x13f888b0},
-  {0x0615, 0x13f888b1},
-  {0x0616, 0x13f888b2},
-  {0x0617, 0x13f888b3},
-  {0x0618, 0x13f888b4},
-  {0x0619, 0x13f888b5},
-  {0x061a, 0x13f888b6},
-  {0x061b, 0x13f888b7},
-  {0x061c, 0x13f888b8},
-  {0x061d, 0x13f888b9},
-  {0x061e, 0x13f88cb0},
-  {0x061f, 0x13f88cb1},
-  {0x0620, 0x13f88cb2},
-  {0x0621, 0x13f88cb3},
-  {0x0622, 0x13f88cb4},
-  {0x0623, 0x13f88cb5},
-  {0x0624, 0x13f88cb6},
-  {0x0625, 0x13f88cb7},
-  {0x0626, 0x13f88cb8},
-  {0x0627, 0x13f88cb9},
-  {0x0628, 0x13f890b0},
-  {0x0629, 0x13f890b1},
-  {0x062a, 0x13f890b2},
-  {0x062b, 0x13f890b3},
-  {0x062c, 0x13f890b4},
-  {0x062d, 0x13f890b5},
-  {0x062e, 0x13f890b6},
-  {0x062f, 0x13f890b7},
-  {0x0630, 0x13f890b8},
-  {0x0631, 0x13f890b9},
-  {0x0632, 0x13f894b0},
-  {0x0633, 0x13f894b1},
-  {0x0634, 0x13f894b2},
-  {0x0635, 0x13f894b3},
-  {0x0636, 0x13f894b4},
-  {0x0637, 0x13f894b5},
-  {0x0638, 0x13f894b6},
-  {0x0639, 0x13f894b7},
-  {0x063a, 0x13f894b8},
-  {0x063b, 0x13f894b9},
-  {0x063c, 0x13f898b0},
-  {0x063d, 0x13f898b1},
-  {0x063e, 0x13f898b2},
-  {0x063f, 0x13f898b3},
-  {0x0640, 0x13f898b4},
-  {0x0641, 0x13f898b5},
-  {0x0642, 0x13f898b6},
-  {0x0643, 0x13f898b7},
-  {0x0644, 0x13f898b8},
-  {0x0645, 0x13f898b9},
-  {0x0646, 0x13f89cb0},
-  {0x0647, 0x13f89cb1},
-  {0x0648, 0x13f89cb2},
-  {0x0649, 0x13f89cb3},
-  {0x064a, 0x13f89cb4},
-  {0x064b, 0x13f89cb5},
-  {0x064c, 0x13f89cb6},
-  {0x064d, 0x13f89cb7},
-  {0x064e, 0x13f89cb8},
-  {0x064f, 0x13f89cb9},
-  {0x0650, 0x13f8a0b0},
-  {0x0651, 0x13f8a0b1},
-  {0x0652, 0x13f8a0b2},
-  {0x0653, 0x13f8a0b3},
-  {0x0654, 0x13f8a0b4},
-  {0x0655, 0x13f8a0b5},
-  {0x0656, 0x13f8a0b6},
-  {0x0657, 0x13f8a0b7},
-  {0x0658, 0x13f8a0b8},
-  {0x0659, 0x13f8a0b9},
-  {0x065a, 0x13f8a4b0},
-  {0x065b, 0x13f8a4b1},
-  {0x065c, 0x13f8a4b2},
-  {0x065d, 0x13f8a4b3},
-  {0x065e, 0x13f8a4b4},
-  {0x065f, 0x13f8a4b5},
-  {0x0660, 0x13f8a4b6},
-  {0x0661, 0x13f8a4b7},
-  {0x0662, 0x13f8a4b8},
-  {0x0663, 0x13f8a4b9},
-  {0x0664, 0x13f8a8b0},
-  {0x0665, 0x13f8a8b1},
-  {0x0666, 0x13f8a8b2},
-  {0x0667, 0x13f8a8b3},
-  {0x0668, 0x13f8a8b4},
-  {0x0669, 0x13f8a8b5},
-  {0x066a, 0x13f8a8b6},
-  {0x066b, 0x13f8a8b7},
-  {0x066c, 0x13f8a8b8},
-  {0x066d, 0x13f8a8b9},
-  {0x066e, 0x13f8acb0},
-  {0x066f, 0x13f8acb1},
-  {0x0670, 0x13f8acb2},
-  {0x0671, 0x13f8acb3},
-  {0x0672, 0x13f8acb4},
-  {0x0673, 0x13f8acb5},
-  {0x0674, 0x13f8acb6},
-  {0x0675, 0x13f8acb7},
-  {0x0676, 0x13f8acb8},
-  {0x0677, 0x13f8acb9},
-  {0x0678, 0x13f8b0b0},
-  {0x0679, 0x13f8b0b1},
-  {0x067a, 0x13f8b0b2},
-  {0x067b, 0x13f8b0b3},
-  {0x067c, 0x13f8b0b4},
-  {0x067d, 0x13f8b0b5},
-  {0x067e, 0x13f8b0b6},
-  {0x067f, 0x13f8b0b7},
-  {0x0680, 0x13f8b0b8},
-  {0x0681, 0x13f8b0b9},
-  {0x0682, 0x13f8b4b0},
-  {0x0683, 0x13f8b4b1},
-  {0x0684, 0x13f8b4b2},
-  {0x0685, 0x13f8b4b3},
-  {0x0686, 0x13f8b4b4},
-  {0x0687, 0x13f8b4b5},
-  {0x0688, 0x13f8b4b6},
-  {0x0689, 0x13f8b4b7},
-  {0x068a, 0x13f8b4b8},
-  {0x068b, 0x13f8b4b9},
-  {0x068c, 0x13f8b8b0},
-  {0x068d, 0x13f8b8b1},
-  {0x068e, 0x13f8b8b2},
-  {0x068f, 0x13f8b8b3},
-  {0x0690, 0x13f8b8b4},
-  {0x0691, 0x13f8b8b5},
-  {0x0692, 0x13f8b8b6},
-  {0x0693, 0x13f8b8b7},
-  {0x0694, 0x13f8b8b8},
-  {0x0695, 0x13f8b8b9},
-  {0x0696, 0x13f8bcb0},
-  {0x0697, 0x13f8bcb1},
-  {0x0698, 0x13f8bcb2},
-  {0x0699, 0x13f8bcb3},
-  {0x069a, 0x13f8bcb4},
-  {0x069b, 0x13f8bcb5},
-  {0x069c, 0x13f8bcb6},
-  {0x069d, 0x13f8bcb7},
-  {0x069e, 0x13f8bcb8},
-  {0x069f, 0x13f8bcb9},
-  {0x06a0, 0x13f980b0},
-  {0x06a1, 0x13f980b1},
-  {0x06a2, 0x13f980b2},
-  {0x06a3, 0x13f980b3},
-  {0x06a4, 0x13f980b4},
-  {0x06a5, 0x13f980b5},
-  {0x06a6, 0x13f980b6},
-  {0x06a7, 0x13f980b7},
-  {0x06a8, 0x13f980b8},
-  {0x06a9, 0x13f980b9},
-  {0x06aa, 0x13f984b0},
-  {0x06ab, 0x13f984b1},
-  {0x06ac, 0x13f984b2},
-  {0x06ad, 0x13f984b3},
-  {0x06ae, 0x13f984b4},
-  {0x06af, 0x13f984b5},
-  {0x06b0, 0x13f984b6},
-  {0x06b1, 0x13f984b7},
-  {0x06b2, 0x13f984b8},
-  {0x06b3, 0x13f984b9},
-  {0x06b4, 0x13f988b0},
-  {0x06b5, 0x13f988b1},
-  {0x06b6, 0x13f988b2},
-  {0x06b7, 0x13f988b3},
-  {0x06b8, 0x13f988b4},
-  {0x06b9, 0x13f988b5},
-  {0x06ba, 0x13f988b6},
-  {0x06bb, 0x13f988b7},
-  {0x06bc, 0x13f988b8},
-  {0x06bd, 0x13f988b9},
-  {0x06be, 0x13f98cb0},
-  {0x06bf, 0x13f98cb1},
-  {0x06c0, 0x13f98cb2},
-  {0x06c1, 0x13f98cb3},
-  {0x06c2, 0x13f98cb4},
-  {0x06c3, 0x13f98cb5},
-  {0x06c4, 0x13f98cb6},
-  {0x06c5, 0x13f98cb7},
-  {0x06c6, 0x13f98cb8},
-  {0x06c7, 0x13f98cb9},
-  {0x06c8, 0x13f990b0},
-  {0x06c9, 0x13f990b1},
-  {0x06ca, 0x13f990b2},
-  {0x06cb, 0x13f990b3},
-  {0x06cc, 0x13f990b4},
-  {0x06cd, 0x13f990b5},
-  {0x06ce, 0x13f990b6},
-  {0x06cf, 0x13f990b7},
-  {0x06d0, 0x13f990b8},
-  {0x06d1, 0x13f990b9},
-  {0x06d2, 0x13f994b0},
-  {0x06d3, 0x13f994b1},
-  {0x06d4, 0x13f994b2},
-  {0x06d5, 0x13f994b3},
-  {0x06d6, 0x13f994b4},
-  {0x06d7, 0x13f994b5},
-  {0x06d8, 0x13f994b6},
-  {0x06d9, 0x13f994b7},
-  {0x06da, 0x13f994b8},
-  {0x06db, 0x13f994b9},
-  {0x06dc, 0x13f998b0},
-  {0x06dd, 0x13f998b1},
-  {0x06de, 0x13f998b2},
-  {0x06df, 0x13f998b3},
-  {0x06e0, 0x13f998b4},
-  {0x06e1, 0x13f998b5},
-  {0x06e2, 0x13f998b6},
-  {0x06e3, 0x13f998b7},
-  {0x06e4, 0x13f998b8},
-  {0x06e5, 0x13f998b9},
-  {0x06e6, 0x13f99cb0},
-  {0x06e7, 0x13f99cb1},
-  {0x06e8, 0x13f99cb2},
-  {0x06e9, 0x13f99cb3},
-  {0x06ea, 0x13f99cb4},
-  {0x06eb, 0x13f99cb5},
-  {0x06ec, 0x13f99cb6},
-  {0x06ed, 0x13f99cb7},
-  {0x06ee, 0x13f99cb8},
-  {0x06ef, 0x13f99cb9},
-  {0x06f0, 0x13f9a0b0},
-  {0x06f1, 0x13f9a0b1},
-  {0x06f2, 0x13f9a0b2},
-  {0x06f3, 0x13f9a0b3},
-  {0x06f4, 0x13f9a0b4},
-  {0x06f5, 0x13f9a0b5},
-  {0x06f6, 0x13f9a0b6},
-  {0x06f7, 0x13f9a0b7},
-  {0x06f8, 0x13f9a0b8},
-  {0x06f9, 0x13f9a0b9},
-  {0x06fa, 0x13f9a4b0},
-  {0x06fb, 0x13f9a4b1},
-  {0x06fc, 0x13f9a4b2},
-  {0x06fd, 0x13f9a4b3},
-  {0x06fe, 0x13f9a4b4},
-  {0x06ff, 0x13f9a4b5},
-  {0x0700, 0x13f9a4b6},
-  {0x0701, 0x13f9a4b7},
-  {0x0702, 0x13f9a4b8},
-  {0x0703, 0x13f9a4b9},
-  {0x0704, 0x13f9a8b0},
-  {0x0705, 0x13f9a8b1},
-  {0x0706, 0x13f9a8b2},
-  {0x0707, 0x13f9a8b3},
-  {0x0708, 0x13f9a8b4},
-  {0x0709, 0x13f9a8b5},
-  {0x070a, 0x13f9a8b6},
-  {0x070b, 0x13f9a8b7},
-  {0x070c, 0x13f9a8b8},
-  {0x070d, 0x13f9a8b9},
-  {0x070e, 0x13f9acb0},
-  {0x070f, 0x13f9acb1},
-  {0x0710, 0x13f9acb2},
-  {0x0711, 0x13f9acb3},
-  {0x0712, 0x13f9acb4},
-  {0x0713, 0x13f9acb5},
-  {0x0714, 0x13f9acb6},
-  {0x0715, 0x13f9acb7},
-  {0x0716, 0x13f9acb8},
-  {0x0717, 0x13f9acb9},
-  {0x0718, 0x13f9b0b0},
-  {0x0719, 0x13f9b0b1},
-  {0x071a, 0x13f9b0b2},
-  {0x071b, 0x13f9b0b3},
-  {0x071c, 0x13f9b0b4},
-  {0x071d, 0x13f9b0b5},
-  {0x071e, 0x13f9b0b6},
-  {0x071f, 0x13f9b0b7},
-  {0x0720, 0x13f9b0b8},
-  {0x0721, 0x13f9b0b9},
-  {0x0722, 0x13f9b4b0},
-  {0x0723, 0x13f9b4b1},
-  {0x0724, 0x13f9b4b2},
-  {0x0725, 0x13f9b4b3},
-  {0x0726, 0x13f9b4b4},
-  {0x0727, 0x13f9b4b5},
-  {0x0728, 0x13f9b4b6},
-  {0x0729, 0x13f9b4b7},
-  {0x072a, 0x13f9b4b8},
-  {0x072b, 0x13f9b4b9},
-  {0x072c, 0x13f9b8b0},
-  {0x072d, 0x13f9b8b1},
-  {0x072e, 0x13f9b8b2},
-  {0x072f, 0x13f9b8b3},
-  {0x0730, 0x13f9b8b4},
-  {0x0731, 0x13f9b8b5},
-  {0x0732, 0x13f9b8b6},
-  {0x0733, 0x13f9b8b7},
-  {0x0734, 0x13f9b8b8},
-  {0x0735, 0x13f9b8b9},
-  {0x0736, 0x13f9bcb0},
-  {0x0737, 0x13f9bcb1},
-  {0x0738, 0x13f9bcb2},
-  {0x0739, 0x13f9bcb3},
-  {0x073a, 0x13f9bcb4},
-  {0x073b, 0x13f9bcb5},
-  {0x073c, 0x13f9bcb6},
-  {0x073d, 0x13f9bcb7},
-  {0x073e, 0x13f9bcb8},
-  {0x073f, 0x13f9bcb9},
-  {0x0740, 0x13fa80b0},
-  {0x0741, 0x13fa80b1},
-  {0x0742, 0x13fa80b2},
-  {0x0743, 0x13fa80b3},
-  {0x0744, 0x13fa80b4},
-  {0x0745, 0x13fa80b5},
-  {0x0746, 0x13fa80b6},
-  {0x0747, 0x13fa80b7},
-  {0x0748, 0x13fa80b8},
-  {0x0749, 0x13fa80b9},
-  {0x074a, 0x13fa84b0},
-  {0x074b, 0x13fa84b1},
-  {0x074c, 0x13fa84b2},
-  {0x074d, 0x13fa84b3},
-  {0x074e, 0x13fa84b4},
-  {0x074f, 0x13fa84b5},
-  {0x0750, 0x13fa84b6},
-  {0x0751, 0x13fa84b7},
-  {0x0752, 0x13fa84b8},
-  {0x0753, 0x13fa84b9},
-  {0x0754, 0x13fa88b0},
-  {0x0755, 0x13fa88b1},
-  {0x0756, 0x13fa88b2},
-  {0x0757, 0x13fa88b3},
-  {0x0758, 0x13fa88b4},
-  {0x0759, 0x13fa88b5},
-  {0x075a, 0x13fa88b6},
-  {0x075b, 0x13fa88b7},
-  {0x075c, 0x13fa88b8},
-  {0x075d, 0x13fa88b9},
-  {0x075e, 0x13fa8cb0},
-  {0x075f, 0x13fa8cb1},
-  {0x0760, 0x13fa8cb2},
-  {0x0761, 0x13fa8cb3},
-  {0x0762, 0x13fa8cb4},
-  {0x0763, 0x13fa8cb5},
-  {0x0764, 0x13fa8cb6},
-  {0x0765, 0x13fa8cb7},
-  {0x0766, 0x13fa8cb8},
-  {0x0767, 0x13fa8cb9},
-  {0x0768, 0x13fa90b0},
-  {0x0769, 0x13fa90b1},
-  {0x076a, 0x13fa90b2},
-  {0x076b, 0x13fa90b3},
-  {0x076c, 0x13fa90b4},
-  {0x076d, 0x13fa90b5},
-  {0x076e, 0x13fa90b6},
-  {0x076f, 0x13fa90b7},
-  {0x0770, 0x13fa90b8},
-  {0x0771, 0x13fa90b9},
-  {0x0772, 0x13fa94b0},
-  {0x0773, 0x13fa94b1},
-  {0x0774, 0x13fa94b2},
-  {0x0775, 0x13fa94b3},
-  {0x0776, 0x13fa94b4},
-  {0x0777, 0x13fa94b5},
-  {0x0778, 0x13fa94b6},
-  {0x0779, 0x13fa94b7},
-  {0x077a, 0x13fa94b8},
-  {0x077b, 0x13fa94b9},
-  {0x077c, 0x13fa98b0},
-  {0x077d, 0x13fa98b1},
-  {0x077e, 0x13fa98b2},
-  {0x077f, 0x13fa98b3},
-  {0x0780, 0x13fa98b4},
-  {0x0781, 0x13fa98b5},
-  {0x0782, 0x13fa98b6},
-  {0x0783, 0x13fa98b7},
-  {0x0784, 0x13fa98b8},
-  {0x0785, 0x13fa98b9},
-  {0x0786, 0x13fa9cb0},
-  {0x0787, 0x13fa9cb1},
-  {0x0788, 0x13fa9cb2},
-  {0x0789, 0x13fa9cb3},
-  {0x078a, 0x13fa9cb4},
-  {0x078b, 0x13fa9cb5},
-  {0x078c, 0x13fa9cb6},
-  {0x078d, 0x13fa9cb7},
-  {0x078e, 0x13fa9cb8},
-  {0x078f, 0x13fa9cb9},
-  {0x0790, 0x13faa0b0},
-  {0x0791, 0x13faa0b1},
-  {0x0792, 0x13faa0b2},
-  {0x0793, 0x13faa0b3},
-  {0x0794, 0x13faa0b4},
-  {0x0795, 0x13faa0b5},
-  {0x0796, 0x13faa0b6},
-  {0x0797, 0x13faa0b7},
-  {0x0798, 0x13faa0b8},
-  {0x0799, 0x13faa0b9},
-  {0x079a, 0x13faa4b0},
-  {0x079b, 0x13faa4b1},
-  {0x079c, 0x13faa4b2},
-  {0x079d, 0x13faa4b3},
-  {0x079e, 0x13faa4b4},
-  {0x079f, 0x13faa4b5},
-  {0x07a0, 0x13faa4b6},
-  {0x07a1, 0x13faa4b7},
-  {0x07a2, 0x13faa4b8},
-  {0x07a3, 0x13faa4b9},
-  {0x07a4, 0x13faa8b0},
-  {0x07a5, 0x13faa8b1},
-  {0x07a6, 0x13faa8b2},
-  {0x07a7, 0x13faa8b3},
-  {0x07a8, 0x13faa8b4},
-  {0x07a9, 0x13faa8b5},
-  {0x07aa, 0x13faa8b6},
-  {0x07ab, 0x13faa8b7},
-  {0x07ac, 0x13faa8b8},
-  {0x07ad, 0x13faa8b9},
-  {0x07ae, 0x13faacb0},
-  {0x07af, 0x13faacb1},
-  {0x07b0, 0x13faacb2},
-  {0x07b1, 0x13faacb3},
-  {0x07b2, 0x13faacb4},
-  {0x07b3, 0x13faacb5},
-  {0x07b4, 0x13faacb6},
-  {0x07b5, 0x13faacb7},
-  {0x07b6, 0x13faacb8},
-  {0x07b7, 0x13faacb9},
-  {0x07b8, 0x13fab0b0},
-  {0x07b9, 0x13fab0b1},
-  {0x07ba, 0x13fab0b2},
-  {0x07bb, 0x13fab0b3},
-  {0x07bc, 0x13fab0b4},
-  {0x07bd, 0x13fab0b5},
-  {0x07be, 0x13fab0b6},
-  {0x07bf, 0x13fab0b7},
-  {0x07c0, 0x13fab0b8},
-  {0x07c1, 0x13fab0b9},
-  {0x07c2, 0x13fab4b0},
-  {0x07c3, 0x13fab4b1},
-  {0x07c4, 0x13fab4b2},
-  {0x07c5, 0x13fab4b3},
-  {0x07c6, 0x13fab4b4},
-  {0x07c7, 0x13fab4b5},
-  {0x07c8, 0x13fab4b6},
-  {0x07c9, 0x13fab4b7},
-  {0x07ca, 0x13fab4b8},
-  {0x07cb, 0x13fab4b9},
-  {0x07cc, 0x13fab8b0},
-  {0x07cd, 0x13fab8b1},
-  {0x07ce, 0x13fab8b2},
-  {0x07cf, 0x13fab8b3},
-  {0x07d0, 0x13fab8b4},
-  {0x07d1, 0x13fab8b5},
-  {0x07d2, 0x13fab8b6},
-  {0x07d3, 0x13fab8b7},
-  {0x07d4, 0x13fab8b8},
-  {0x07d5, 0x13fab8b9},
-  {0x07d6, 0x13fabcb0},
-  {0x07d7, 0x13fabcb1},
-  {0x07d8, 0x13fabcb2},
-  {0x07d9, 0x13fabcb3},
-  {0x07da, 0x13fabcb4},
-  {0x07db, 0x13fabcb5},
-  {0x07dc, 0x13fabcb6},
-  {0x07dd, 0x13fabcb7},
-  {0x07de, 0x13fabcb8},
-  {0x07df, 0x13fabcb9},
-  {0x07e0, 0x13fb80b0},
-  {0x07e1, 0x13fb80b1},
-  {0x07e2, 0x13fb80b2},
-  {0x07e3, 0x13fb80b3},
-  {0x07e4, 0x13fb80b4},
-  {0x07e5, 0x13fb80b5},
-  {0x07e6, 0x13fb80b6},
-  {0x07e7, 0x13fb80b7},
-  {0x07e8, 0x13fb80b8},
-  {0x07e9, 0x13fb80b9},
-  {0x07ea, 0x13fb84b0},
-  {0x07eb, 0x13fb84b1},
-  {0x07ec, 0x13fb84b2},
-  {0x07ed, 0x13fb84b3},
-  {0x07ee, 0x13fb84b4},
-  {0x07ef, 0x13fb84b5},
-  {0x07f0, 0x13fb84b6},
-  {0x07f1, 0x13fb84b7},
-  {0x07f2, 0x13fb84b8},
-  {0x07f3, 0x13fb84b9},
-  {0x07f4, 0x13fb88b0},
-  {0x07f5, 0x13fb88b1},
-  {0x07f6, 0x13fb88b2},
-  {0x07f7, 0x13fb88b3},
-  {0x07f8, 0x13fb88b4},
-  {0x07f9, 0x13fb88b5},
-  {0x07fa, 0x13fb88b6},
-  {0x07fb, 0x13fb88b7},
-  {0x07fc, 0x13fb88b8},
-  {0x07fd, 0x13fb88b9},
-  {0x07fe, 0x13fb8cb0},
-  {0x07ff, 0x13fb8cb1},
-  {0x0800, 0x13fb8cb2},
-  {0x0801, 0x13fb8cb3},
-  {0x0802, 0x13fb8cb4},
-  {0x0803, 0x13fb8cb5},
-  {0x0804, 0x13fb8cb6},
-  {0x0805, 0x13fb8cb7},
-  {0x0806, 0x13fb8cb8},
-  {0x0807, 0x13fb8cb9},
-  {0x0808, 0x13fb90b0},
-  {0x0809, 0x13fb90b1},
-  {0x080a, 0x13fb90b2},
-  {0x080b, 0x13fb90b3},
-  {0x080c, 0x13fb90b4},
-  {0x080d, 0x13fb90b5},
-  {0x080e, 0x13fb90b6},
-  {0x080f, 0x13fb90b7},
-  {0x0810, 0x13fb90b8},
-  {0x0811, 0x13fb90b9},
-  {0x0812, 0x13fb94b0},
-  {0x0813, 0x13fb94b1},
-  {0x0814, 0x13fb94b2},
-  {0x0815, 0x13fb94b3},
-  {0x0816, 0x13fb94b4},
-  {0x0817, 0x13fb94b5},
-  {0x0818, 0x13fb94b6},
-  {0x0819, 0x13fb94b7},
-  {0x081a, 0x13fb94b8},
-  {0x081b, 0x13fb94b9},
-  {0x081c, 0x13fb98b0},
-  {0x081d, 0x13fb98b1},
-  {0x081e, 0x13fb98b2},
-  {0x081f, 0x13fb98b3},
-  {0x0820, 0x13fb98b4},
-  {0x0821, 0x13fb98b5},
-  {0x0822, 0x13fb98b6},
-  {0x0823, 0x13fb98b7},
-  {0x0824, 0x13fb98b8},
-  {0x0825, 0x13fb98b9},
-  {0x0826, 0x13fb9cb0},
-  {0x0827, 0x13fb9cb1},
-  {0x0828, 0x13fb9cb2},
-  {0x0829, 0x13fb9cb3},
-  {0x082a, 0x13fb9cb4},
-  {0x082b, 0x13fb9cb5},
-  {0x082c, 0x13fb9cb6},
-  {0x082d, 0x13fb9cb7},
-  {0x082e, 0x13fb9cb8},
-  {0x082f, 0x13fb9cb9},
-  {0x0830, 0x13fba0b0},
-  {0x0831, 0x13fba0b1},
-  {0x0832, 0x13fba0b2},
-  {0x0833, 0x13fba0b3},
-  {0x0834, 0x13fba0b4},
-  {0x0835, 0x13fba0b5},
-  {0x0836, 0x13fba0b6},
-  {0x0837, 0x13fba0b7},
-  {0x0838, 0x13fba0b8},
-  {0x0839, 0x13fba0b9},
-  {0x083a, 0x13fba4b0},
-  {0x083b, 0x13fba4b1},
-  {0x083c, 0x13fba4b2},
-  {0x083d, 0x13fba4b3},
-  {0x083e, 0x13fba4b4},
-  {0x083f, 0x13fba4b5},
-  {0x0840, 0x13fba4b6},
-  {0x0841, 0x13fba4b7},
-  {0x0842, 0x13fba4b8},
-  {0x0843, 0x13fba4b9},
-  {0x0844, 0x13fba8b0},
-  {0x0845, 0x13fba8b1},
-  {0x0846, 0x13fba8b2},
-  {0x0847, 0x13fba8b3},
-  {0x0848, 0x13fba8b4},
-  {0x0849, 0x13fba8b5},
-  {0x084a, 0x13fba8b6},
-  {0x084b, 0x13fba8b7},
-  {0x084c, 0x13fba8b8},
-  {0x084d, 0x13fba8b9},
-  {0x084e, 0x13fbacb0},
-  {0x084f, 0x13fbacb1},
-  {0x0850, 0x13fbacb2},
-  {0x0851, 0x13fbacb3},
-  {0x0852, 0x13fbacb4},
-  {0x0853, 0x13fbacb5},
-  {0x0854, 0x13fbacb6},
-  {0x0855, 0x13fbacb7},
-  {0x0856, 0x13fbacb8},
-  {0x0857, 0x13fbacb9},
-  {0x0858, 0x13fbb0b0},
-  {0x0859, 0x13fbb0b1},
-  {0x085a, 0x13fbb0b2},
-  {0x085b, 0x13fbb0b3},
-  {0x085c, 0x13fbb0b4},
-  {0x085d, 0x13fbb0b5},
-  {0x085e, 0x13fbb0b6},
-  {0x085f, 0x13fbb0b7},
-  {0x0860, 0x13fbb0b8},
-  {0x0861, 0x13fbb0b9},
-  {0x0862, 0x13fbb4b0},
-  {0x0863, 0x13fbb4b1},
-  {0x0864, 0x13fbb4b2},
-  {0x0865, 0x13fbb4b3},
-  {0x0866, 0x13fbb4b4},
-  {0x0867, 0x13fbb4b5},
-  {0x0868, 0x13fbb4b6},
-  {0x0869, 0x13fbb4b7},
-  {0x086a, 0x13fbb4b8},
-  {0x086b, 0x13fbb4b9},
-  {0x086c, 0x13fbb8b0},
-  {0x086d, 0x13fbb8b1},
-  {0x086e, 0x13fbb8b2},
-  {0x086f, 0x13fbb8b3},
-  {0x0870, 0x13fbb8b4},
-  {0x0871, 0x13fbb8b5},
-  {0x0872, 0x13fbb8b6},
-  {0x0873, 0x13fbb8b7},
-  {0x0874, 0x13fbb8b8},
-  {0x0875, 0x13fbb8b9},
-  {0x0876, 0x13fbbcb0},
-  {0x0877, 0x13fbbcb1},
-  {0x0878, 0x13fbbcb2},
-  {0x0879, 0x13fbbcb3},
-  {0x087a, 0x13fbbcb4},
-  {0x087b, 0x13fbbcb5},
-  {0x087c, 0x13fbbcb6},
-  {0x087d, 0x13fbbcb7},
-  {0x087e, 0x13fbbcb8},
-  {0x087f, 0x13fbbcb9},
-  {0x0880, 0x13fc80b0},
-  {0x0881, 0x13fc80b1},
-  {0x0882, 0x13fc80b2},
-  {0x0883, 0x13fc80b3},
-  {0x0884, 0x13fc80b4},
-  {0x0885, 0x13fc80b5},
-  {0x0886, 0x13fc80b6},
-  {0x0887, 0x13fc80b7},
-  {0x0888, 0x13fc80b8},
-  {0x0889, 0x13fc80b9},
-  {0x088a, 0x13fc84b0},
-  {0x088b, 0x13fc84b1},
-  {0x088c, 0x13fc84b2},
-  {0x088d, 0x13fc84b3},
-  {0x088e, 0x13fc84b4},
-  {0x088f, 0x13fc84b5},
-  {0x0890, 0x13fc84b6},
-  {0x0891, 0x13fc84b7},
-  {0x0892, 0x13fc84b8},
-  {0x0893, 0x13fc84b9},
-  {0x0894, 0x13fc88b0},
-  {0x0895, 0x13fc88b1},
-  {0x0896, 0x13fc88b2},
-  {0x0897, 0x13fc88b3},
-  {0x0898, 0x13fc88b4},
-  {0x0899, 0x13fc88b5},
-  {0x089a, 0x13fc88b6},
-  {0x089b, 0x13fc88b7},
-  {0x089c, 0x13fc88b8},
-  {0x089d, 0x13fc88b9},
-  {0x089e, 0x13fc8cb0},
-  {0x089f, 0x13fc8cb1},
-  {0x08a0, 0x13fc8cb2},
-  {0x08a1, 0x13fc8cb3},
-  {0x08a2, 0x13fc8cb4},
-  {0x08a3, 0x13fc8cb5},
-  {0x08a4, 0x13fc8cb6},
-  {0x08a5, 0x13fc8cb7},
-  {0x08a6, 0x13fc8cb8},
-  {0x08a7, 0x13fc8cb9},
-  {0x08a8, 0x13fc90b0},
-  {0x08a9, 0x13fc90b1},
-  {0x08aa, 0x13fc90b2},
-  {0x08ab, 0x13fc90b3},
-  {0x08ac, 0x13fc90b4},
-  {0x08ad, 0x13fc90b5},
-  {0x08ae, 0x13fc90b6},
-  {0x08af, 0x13fc90b7},
-  {0x08b0, 0x13fc90b8},
-  {0x08b1, 0x13fc90b9},
-  {0x08b2, 0x13fc94b0},
-  {0x08b3, 0x13fc94b1},
-  {0x08b4, 0x13fc94b2},
-  {0x08b5, 0x13fc94b3},
-  {0x08b6, 0x13fc94b4},
-  {0x08b7, 0x13fc94b5},
-  {0x08b8, 0x13fc94b6},
-  {0x08b9, 0x13fc94b7},
-  {0x08ba, 0x13fc94b8},
-  {0x08bb, 0x13fc94b9},
-  {0x08bc, 0x13fc98b0},
-  {0x08bd, 0x13fc98b1},
-  {0x08be, 0x13fc98b2},
-  {0x08bf, 0x13fc98b3},
-  {0x08c0, 0x13fc98b4},
-  {0x08c1, 0x13fc98b5},
-  {0x08c2, 0x13fc98b6},
-  {0x08c3, 0x13fc98b7},
-  {0x08c4, 0x13fc98b8},
-  {0x08c5, 0x13fc98b9},
-  {0x08c6, 0x13fc9cb0},
-  {0x08c7, 0x13fc9cb1},
-  {0x08c8, 0x13fc9cb2},
-  {0x08c9, 0x13fc9cb3},
-  {0x08ca, 0x13fc9cb4},
-  {0x08cb, 0x13fc9cb5},
-  {0x08cc, 0x13fc9cb6},
-  {0x08cd, 0x13fc9cb7},
-  {0x08ce, 0x13fc9cb8},
-  {0x08cf, 0x13fc9cb9},
-  {0x08d0, 0x13fca0b0},
-  {0x08d1, 0x13fca0b1},
-  {0x08d2, 0x13fca0b2},
-  {0x08d3, 0x13fca0b3},
-  {0x08d4, 0x13fca0b4},
-  {0x08d5, 0x13fca0b5},
-  {0x08d6, 0x13fca0b6},
-  {0x08d7, 0x13fca0b7},
-  {0x08d8, 0x13fca0b8},
-  {0x08d9, 0x13fca0b9},
-  {0x08da, 0x13fca4b0},
-  {0x08db, 0x13fca4b1},
-  {0x08dc, 0x13fca4b2},
-  {0x08dd, 0x13fca4b3},
-  {0x08de, 0x13fca4b4},
-  {0x08df, 0x13fca4b5},
-  {0x08e0, 0x13fca4b6},
-  {0x08e1, 0x13fca4b7},
-  {0x08e2, 0x13fca4b8},
-  {0x08e3, 0x13fca4b9},
-  {0x08e4, 0x13fca8b0},
-  {0x08e5, 0x13fca8b1},
-  {0x08e6, 0x13fca8b2},
-  {0x08e7, 0x13fca8b3},
-  {0x08e8, 0x13fca8b4},
-  {0x08e9, 0x13fca8b5},
-  {0x08ea, 0x13fca8b6},
-  {0x08eb, 0x13fca8b7},
-  {0x08ec, 0x13fca8b8},
-  {0x08ed, 0x13fca8b9},
-  {0x08ee, 0x13fcacb0},
-  {0x08ef, 0x13fcacb1},
-  {0x08f0, 0x13fcacb2},
-  {0x08f1, 0x13fcacb3},
-  {0x08f2, 0x13fcacb4},
-  {0x08f3, 0x13fcacb5},
-  {0x08f4, 0x13fcacb6},
-  {0x08f5, 0x13fcacb7},
-  {0x08f6, 0x13fcacb8},
-  {0x08f7, 0x13fcacb9},
-  {0x08f8, 0x13fcb0b0},
-  {0x08f9, 0x13fcb0b1},
-  {0x08fa, 0x13fcb0b2},
-  {0x08fb, 0x13fcb0b3},
-  {0x08fc, 0x13fcb0b4},
-  {0x08fd, 0x13fcb0b5},
-  {0x08fe, 0x13fcb0b6},
-  {0x08ff, 0x13fcb0b7},
-  {0x0900, 0x13fcb0b8},
-  {0x0901, 0x13fcb0b9},
-  {0x0902, 0x13fcb4b0},
-  {0x0903, 0x13fcb4b1},
-  {0x0904, 0x13fcb4b2},
-  {0x0905, 0x13fcb4b3},
-  {0x0906, 0x13fcb4b4},
-  {0x0907, 0x13fcb4b5},
-  {0x0908, 0x13fcb4b6},
-  {0x0909, 0x13fcb4b7},
-  {0x090a, 0x13fcb4b8},
-  {0x090b, 0x13fcb4b9},
-  {0x090c, 0x13fcb8b0},
-  {0x090d, 0x13fcb8b1},
-  {0x090e, 0x13fcb8b2},
-  {0x090f, 0x13fcb8b3},
-  {0x0910, 0x13fcb8b4},
-  {0x0911, 0x13fcb8b5},
-  {0x0912, 0x13fcb8b6},
-  {0x0913, 0x13fcb8b7},
-  {0x0914, 0x13fcb8b8},
-  {0x0915, 0x13fcb8b9},
-  {0x0916, 0x13fcbcb0},
-  {0x0917, 0x13fcbcb1},
-  {0x0918, 0x13fcbcb2},
-  {0x0919, 0x13fcbcb3},
-  {0x091a, 0x13fcbcb4},
-  {0x091b, 0x13fcbcb5},
-  {0x091c, 0x13fcbcb6},
-  {0x091d, 0x13fcbcb7},
-  {0x091e, 0x13fcbcb8},
-  {0x091f, 0x13fcbcb9},
-  {0x0920, 0x13fd80b0},
-  {0x0921, 0x13fd80b1},
-  {0x0922, 0x13fd80b2},
-  {0x0923, 0x13fd80b3},
-  {0x0924, 0x13fd80b4},
-  {0x0925, 0x13fd80b5},
-  {0x0926, 0x13fd80b6},
-  {0x0927, 0x13fd80b7},
-  {0x0928, 0x13fd80b8},
-  {0x0929, 0x13fd80b9},
-  {0x092a, 0x13fd84b0},
-  {0x092b, 0x13fd84b1},
-  {0x092c, 0x13fd84b2},
-  {0x092d, 0x13fd84b3},
-  {0x092e, 0x13fd84b4},
-  {0x092f, 0x13fd84b5},
-  {0x0930, 0x13fd84b6},
-  {0x0931, 0x13fd84b7},
-  {0x0932, 0x13fd84b8},
-  {0x0933, 0x13fd84b9},
-  {0x0934, 0x13fd88b0},
-  {0x0935, 0x13fd88b1},
-  {0x0936, 0x13fd88b2},
-  {0x0937, 0x13fd88b3},
-  {0x0938, 0x13fd88b4},
-  {0x0939, 0x13fd88b5},
-  {0x093a, 0x13fd88b6},
-  {0x093b, 0x13fd88b7},
-  {0x093c, 0x13fd88b8},
-  {0x093d, 0x13fd88b9},
-  {0x093e, 0x13fd8cb0},
-  {0x093f, 0x13fd8cb1},
-  {0x0940, 0x13fd8cb2},
-  {0x0941, 0x13fd8cb3},
-  {0x0942, 0x13fd8cb4},
-  {0x0943, 0x13fd8cb5},
-  {0x0944, 0x13fd8cb6},
-  {0x0945, 0x13fd8cb7},
-  {0x0946, 0x13fd8cb8},
-  {0x0947, 0x13fd8cb9},
-  {0x0948, 0x13fd90b0},
-  {0x0949, 0x13fd90b1},
-  {0x094a, 0x13fd90b2},
-  {0x094b, 0x13fd90b3},
-  {0x094c, 0x13fd90b4},
-  {0x094d, 0x13fd90b5},
-  {0x094e, 0x13fd90b6},
-  {0x094f, 0x13fd90b7},
-  {0x0950, 0x13fd90b8},
-  {0x0951, 0x13fd90b9},
-  {0x0952, 0x13fd94b0},
-  {0x0953, 0x13fd94b1},
-  {0x0954, 0x13fd94b2},
-  {0x0955, 0x13fd94b3},
-  {0x0956, 0x13fd94b4},
-  {0x0957, 0x13fd94b5},
-  {0x0958, 0x13fd94b6},
-  {0x0959, 0x13fd94b7},
-  {0x095a, 0x13fd94b8},
-  {0x095b, 0x13fd94b9},
-  {0x095c, 0x13fd98b0},
-  {0x095d, 0x13fd98b1},
-  {0x095e, 0x13fd98b2},
-  {0x095f, 0x13fd98b3},
-  {0x0960, 0x13fd98b4},
-  {0x0961, 0x13fd98b5},
-  {0x0962, 0x13fd98b6},
-  {0x0963, 0x13fd98b7},
-  {0x0964, 0x13fd98b8},
-  {0x0965, 0x13fd98b9},
-  {0x0966, 0x13fd9cb0},
-  {0x0967, 0x13fd9cb1},
-  {0x0968, 0x13fd9cb2},
-  {0x0969, 0x13fd9cb3},
-  {0x096a, 0x13fd9cb4},
-  {0x096b, 0x13fd9cb5},
-  {0x096c, 0x13fd9cb6},
-  {0x096d, 0x13fd9cb7},
-  {0x096e, 0x13fd9cb8},
-  {0x096f, 0x13fd9cb9},
-  {0x0970, 0x13fda0b0},
-  {0x0971, 0x13fda0b1},
-  {0x0972, 0x13fda0b2},
-  {0x0973, 0x13fda0b3},
-  {0x0974, 0x13fda0b4},
-  {0x0975, 0x13fda0b5},
-  {0x0976, 0x13fda0b6},
-  {0x0977, 0x13fda0b7},
-  {0x0978, 0x13fda0b8},
-  {0x0979, 0x13fda0b9},
-  {0x097a, 0x13fda4b0},
-  {0x097b, 0x13fda4b1},
-  {0x097c, 0x13fda4b2},
-  {0x097d, 0x13fda4b3},
-  {0x097e, 0x13fda4b4},
-  {0x097f, 0x13fda4b5},
-  {0x0980, 0x13fda4b6},
-  {0x0981, 0x13fda4b7},
-  {0x0982, 0x13fda4b8},
-  {0x0983, 0x13fda4b9},
-  {0x0984, 0x13fda8b0},
-  {0x0985, 0x13fda8b1},
-  {0x0986, 0x13fda8b2},
-  {0x0987, 0x13fda8b3},
-  {0x0988, 0x13fda8b4},
-  {0x0989, 0x13fda8b5},
-  {0x098a, 0x13fda8b6},
-  {0x098b, 0x13fda8b7},
-  {0x098c, 0x13fda8b8},
-  {0x098d, 0x13fda8b9},
-  {0x098e, 0x13fdacb0},
-  {0x098f, 0x13fdacb1},
-  {0x0990, 0x13fdacb2},
-  {0x0991, 0x13fdacb3},
-  {0x0992, 0x13fdacb4},
-  {0x0993, 0x13fdacb5},
-  {0x0994, 0x13fdacb6},
-  {0x0995, 0x13fdacb7},
-  {0x0996, 0x13fdacb8},
-  {0x0997, 0x13fdacb9},
-  {0x0998, 0x13fdb0b0},
-  {0x0999, 0x13fdb0b1},
-  {0x099a, 0x13fdb0b2},
-  {0x099b, 0x13fdb0b3},
-  {0x099c, 0x13fdb0b4},
-  {0x099d, 0x13fdb0b5},
-  {0x099e, 0x13fdb0b6},
-  {0x099f, 0x13fdb0b7},
-  {0x09a0, 0x13fdb0b8},
-  {0x09a1, 0x13fdb0b9},
-  {0x09a2, 0x13fdb4b0},
-  {0x09a3, 0x13fdb4b1},
-  {0x09a4, 0x13fdb4b2},
-  {0x09a5, 0x13fdb4b3},
-  {0x09a6, 0x13fdb4b4},
-  {0x09a7, 0x13fdb4b5},
-  {0x09a8, 0x13fdb4b6},
-  {0x09a9, 0x13fdb4b7},
-  {0x09aa, 0x13fdb4b8},
-  {0x09ab, 0x13fdb4b9},
-  {0x09ac, 0x13fdb8b0},
-  {0x09ad, 0x13fdb8b1},
-  {0x09ae, 0x13fdb8b2},
-  {0x09af, 0x13fdb8b3},
-  {0x09b0, 0x13fdb8b4},
-  {0x09b1, 0x13fdb8b5},
-  {0x09b2, 0x13fdb8b6},
-  {0x09b3, 0x13fdb8b7},
-  {0x09b4, 0x13fdb8b8},
-  {0x09b5, 0x13fdb8b9},
-  {0x09b6, 0x13fdbcb0},
-  {0x09b7, 0x13fdbcb1},
-  {0x09b8, 0x13fdbcb2},
-  {0x09b9, 0x13fdbcb3},
-  {0x09ba, 0x13fdbcb4},
-  {0x09bb, 0x13fdbcb5},
-  {0x09bc, 0x13fdbcb6},
-  {0x09bd, 0x13fdbcb7},
-  {0x09be, 0x13fdbcb8},
-  {0x09bf, 0x13fdbcb9},
-  {0x09c0, 0x13fe80b0},
-  {0x09c1, 0x13fe80b1},
-  {0x09c2, 0x13fe80b2},
-  {0x09c3, 0x13fe80b3},
-  {0x09c4, 0x13fe80b4},
-  {0x09c5, 0x13fe80b5},
-  {0x09c6, 0x13fe80b6},
-  {0x09c7, 0x13fe80b7},
-  {0x09c8, 0x13fe80b8},
-  {0x09c9, 0x13fe80b9},
-  {0x09ca, 0x13fe84b0},
-  {0x09cb, 0x13fe84b1},
-  {0x09cc, 0x13fe84b2},
-  {0x09cd, 0x13fe84b3},
-  {0x09ce, 0x13fe84b4},
-  {0x09cf, 0x13fe84b5},
-  {0x09d0, 0x13fe84b6},
-  {0x09d1, 0x13fe84b7},
-  {0x09d2, 0x13fe84b8},
-  {0x09d3, 0x13fe84b9},
-  {0x09d4, 0x13fe88b0},
-  {0x09d5, 0x13fe88b1},
-  {0x09d6, 0x13fe88b2},
-  {0x09d7, 0x13fe88b3},
-  {0x09d8, 0x13fe88b4},
-  {0x09d9, 0x13fe88b5},
-  {0x09da, 0x13fe88b6},
-  {0x09db, 0x13fe88b7},
-  {0x09dc, 0x13fe88b8},
-  {0x09dd, 0x13fe88b9},
-  {0x09de, 0x13fe8cb0},
-  {0x09df, 0x13fe8cb1},
-  {0x09e0, 0x13fe8cb2},
-  {0x09e1, 0x13fe8cb3},
-  {0x09e2, 0x13fe8cb4},
-  {0x09e3, 0x13fe8cb5},
-  {0x09e4, 0x13fe8cb6},
-  {0x09e5, 0x13fe8cb7},
-  {0x09e6, 0x13fe8cb8},
-  {0x09e7, 0x13fe8cb9},
-  {0x09e8, 0x13fe90b0},
-  {0x09e9, 0x13fe90b1},
-  {0x09ea, 0x13fe90b2},
-  {0x09eb, 0x13fe90b3},
-  {0x09ec, 0x13fe90b4},
-  {0x09ed, 0x13fe90b5},
-  {0x09ee, 0x13fe90b6},
-  {0x09ef, 0x13fe90b7},
-  {0x09f0, 0x13fe90b8},
-  {0x09f1, 0x13fe90b9},
-  {0x09f2, 0x13fe94b0},
-  {0x09f3, 0x13fe94b1},
-  {0x09f4, 0x13fe94b2},
-  {0x09f5, 0x13fe94b3},
-  {0x09f6, 0x13fe94b4},
-  {0x09f7, 0x13fe94b5},
-  {0x09f8, 0x13fe94b6},
-  {0x09f9, 0x13fe94b7},
-  {0x09fa, 0x13fe94b8},
-  {0x09fb, 0x13fe94b9},
-  {0x09fc, 0x13fe98b0},
-  {0x09fd, 0x13fe98b1},
-  {0x09fe, 0x13fe98b2},
-  {0x09ff, 0x13fe98b3},
-  {0x0a00, 0x13fe98b4},
-  {0x0a01, 0x13fe98b5},
-  {0x0a02, 0x13fe98b6},
-  {0x0a03, 0x13fe98b7},
-  {0x0a04, 0x13fe98b8},
-  {0x0a05, 0x13fe98b9},
-  {0x0a06, 0x13fe9cb0},
-  {0x0a07, 0x13fe9cb1},
-  {0x0a08, 0x13fe9cb2},
-  {0x0a09, 0x13fe9cb3},
-  {0x0a0a, 0x13fe9cb4},
-  {0x0a0b, 0x13fe9cb5},
-  {0x0a0c, 0x13fe9cb6},
-  {0x0a0d, 0x13fe9cb7},
-  {0x0a0e, 0x13fe9cb8},
-  {0x0a0f, 0x13fe9cb9},
-  {0x0a10, 0x13fea0b0},
-  {0x0a11, 0x13fea0b1},
-  {0x0a12, 0x13fea0b2},
-  {0x0a13, 0x13fea0b3},
-  {0x0a14, 0x13fea0b4},
-  {0x0a15, 0x13fea0b5},
-  {0x0a16, 0x13fea0b6},
-  {0x0a17, 0x13fea0b7},
-  {0x0a18, 0x13fea0b8},
-  {0x0a19, 0x13fea0b9},
-  {0x0a1a, 0x13fea4b0},
-  {0x0a1b, 0x13fea4b1},
-  {0x0a1c, 0x13fea4b2},
-  {0x0a1d, 0x13fea4b3},
-  {0x0a1e, 0x13fea4b4},
-  {0x0a1f, 0x13fea4b5},
-  {0x0a20, 0x13fea4b6},
-  {0x0a21, 0x13fea4b7},
-  {0x0a22, 0x13fea4b8},
-  {0x0a23, 0x13fea4b9},
-  {0x0a24, 0x13fea8b0},
-  {0x0a25, 0x13fea8b1},
-  {0x0a26, 0x13fea8b2},
-  {0x0a27, 0x13fea8b3},
-  {0x0a28, 0x13fea8b4},
-  {0x0a29, 0x13fea8b5},
-  {0x0a2a, 0x13fea8b6},
-  {0x0a2b, 0x13fea8b7},
-  {0x0a2c, 0x13fea8b8},
-  {0x0a2d, 0x13fea8b9},
-  {0x0a2e, 0x13feacb0},
-  {0x0a2f, 0x13feacb1},
-  {0x0a30, 0x13feacb2},
-  {0x0a31, 0x13feacb3},
-  {0x0a32, 0x13feacb4},
-  {0x0a33, 0x13feacb5},
-  {0x0a34, 0x13feacb6},
-  {0x0a35, 0x13feacb7},
-  {0x0a36, 0x13feacb8},
-  {0x0a37, 0x13feacb9},
-  {0x0a38, 0x13feb0b0},
-  {0x0a39, 0x13feb0b1},
-  {0x0a3a, 0x13feb0b2},
-  {0x0a3b, 0x13feb0b3},
-  {0x0a3c, 0x13feb0b4},
-  {0x0a3d, 0x13feb0b5},
-  {0x0a3e, 0x13feb0b6},
-  {0x0a3f, 0x13feb0b7},
-  {0x0a40, 0x13feb0b8},
-  {0x0a41, 0x13feb0b9},
-  {0x0a42, 0x13feb4b0},
-  {0x0a43, 0x13feb4b1},
-  {0x0a44, 0x13feb4b2},
-  {0x0a45, 0x13feb4b3},
-  {0x0a46, 0x13feb4b4},
-  {0x0a47, 0x13feb4b5},
-  {0x0a48, 0x13feb4b6},
-  {0x0a49, 0x13feb4b7},
-  {0x0a4a, 0x13feb4b8},
-  {0x0a4b, 0x13feb4b9},
-  {0x0a4c, 0x13feb8b0},
-  {0x0a4d, 0x13feb8b1},
-  {0x0a4e, 0x13feb8b2},
-  {0x0a4f, 0x13feb8b3},
-  {0x0a50, 0x13feb8b4},
-  {0x0a51, 0x13feb8b5},
-  {0x0a52, 0x13feb8b6},
-  {0x0a53, 0x13feb8b7},
-  {0x0a54, 0x13feb8b8},
-  {0x0a55, 0x13feb8b9},
-  {0x0a56, 0x13febcb0},
-  {0x0a57, 0x13febcb1},
-  {0x0a58, 0x13febcb2},
-  {0x0a59, 0x13febcb3},
-  {0x0a5a, 0x13febcb4},
-  {0x0a5b, 0x13febcb5},
-  {0x0a5c, 0x13febcb6},
-  {0x0a5d, 0x13febcb7},
-  {0x0a5e, 0x13febcb8},
-  {0x0a5f, 0x13febcb9},
-  {0x0a60, 0x13ff80b0},
-  {0x0a61, 0x13ff80b1},
-  {0x0a62, 0x13ff80b2},
-  {0x0a63, 0x13ff80b3},
-  {0x0a64, 0x13ff80b4},
-  {0x0a65, 0x13ff80b5},
-  {0x0a66, 0x13ff80b6},
-  {0x0a67, 0x13ff80b7},
-  {0x0a68, 0x13ff80b8},
-  {0x0a69, 0x13ff80b9},
-  {0x0a6a, 0x13ff84b0},
-  {0x0a6b, 0x13ff84b1},
-  {0x0a6c, 0x13ff84b2},
-  {0x0a6d, 0x13ff84b3},
-  {0x0a6e, 0x13ff84b4},
-  {0x0a6f, 0x13ff84b5},
-  {0x0a70, 0x13ff84b6},
-  {0x0a71, 0x13ff84b7},
-  {0x0a72, 0x13ff84b8},
-  {0x0a73, 0x13ff84b9},
-  {0x0a74, 0x13ff88b0},
-  {0x0a75, 0x13ff88b1},
-  {0x0a76, 0x13ff88b2},
-  {0x0a77, 0x13ff88b3},
-  {0x0a78, 0x13ff88b4},
-  {0x0a79, 0x13ff88b5},
-  {0x0a7a, 0x13ff88b6},
-  {0x0a7b, 0x13ff88b7},
-  {0x0a7c, 0x13ff88b8},
-  {0x0a7d, 0x13ff88b9},
-  {0x0a7e, 0x13ff8cb0},
-  {0x0a7f, 0x13ff8cb1},
-  {0x0a80, 0x13ff8cb2},
-  {0x0a81, 0x13ff8cb3},
-  {0x0a82, 0x13ff8cb4},
-  {0x0a83, 0x13ff8cb5},
-  {0x0a84, 0x13ff8cb6},
-  {0x0a85, 0x13ff8cb7},
-  {0x0a86, 0x13ff8cb8},
-  {0x0a87, 0x13ff8cb9},
-  {0x0a88, 0x13ff90b0},
-  {0x0a89, 0x13ff90b1},
-  {0x0a8a, 0x13ff90b2},
-  {0x0a8b, 0x13ff90b3},
-  {0x0a8c, 0x13ff90b4},
-  {0x0a8d, 0x13ff90b5},
-  {0x0a8e, 0x13ff90b6},
-  {0x0a8f, 0x13ff90b7},
-  {0x0a90, 0x13ff90b8},
-  {0x0a91, 0x13ff90b9},
-  {0x0a92, 0x13ff94b0},
-  {0x0a93, 0x13ff94b1},
-  {0x0a94, 0x13ff94b2},
-  {0x0a95, 0x13ff94b3},
-  {0x0a96, 0x13ff94b4},
-  {0x0a97, 0x13ff94b5},
-  {0x0a98, 0x13ff94b6},
-  {0x0a99, 0x13ff94b7},
-  {0x0a9a, 0x13ff94b8},
-  {0x0a9b, 0x13ff94b9},
-  {0x0a9c, 0x13ff98b0},
-  {0x0a9d, 0x13ff98b1},
-  {0x0a9e, 0x13ff98b2},
-  {0x0a9f, 0x13ff98b3},
-  {0x0aa0, 0x13ff98b4},
-  {0x0aa1, 0x13ff98b5},
-  {0x0aa2, 0x13ff98b6},
-  {0x0aa3, 0x13ff98b7},
-  {0x0aa4, 0x13ff98b8},
-  {0x0aa5, 0x13ff98b9},
-  {0x0aa6, 0x13ff9cb0},
-  {0x0aa7, 0x13ff9cb1},
-  {0x0aa8, 0x13ff9cb2},
-  {0x0aa9, 0x13ff9cb3},
-  {0x0aaa, 0x13ff9cb4},
-  {0x0aab, 0x13ff9cb5},
-  {0x0aac, 0x13ff9cb6},
-  {0x0aad, 0x13ff9cb7},
-  {0x0aae, 0x13ff9cb8},
-  {0x0aaf, 0x13ff9cb9},
-  {0x0ab0, 0x13ffa0b0},
-  {0x0ab1, 0x13ffa0b1},
-  {0x0ab2, 0x13ffa0b2},
-  {0x0ab3, 0x13ffa0b3},
-  {0x0ab4, 0x13ffa0b4},
-  {0x0ab5, 0x13ffa0b5},
-  {0x0ab6, 0x13ffa0b6},
-  {0x0ab7, 0x13ffa0b7},
-  {0x0ab8, 0x13ffa0b8},
-  {0x0ab9, 0x13ffa0b9},
-  {0x0aba, 0x13ffa4b0},
-  {0x0abb, 0x13ffa4b1},
-  {0x0abc, 0x13ffa4b2},
-  {0x0abd, 0x13ffa4b3},
-  {0x0abe, 0x13ffa4b4},
-  {0x0abf, 0x13ffa4b5},
-  {0x0ac0, 0x13ffa4b6},
-  {0x0ac1, 0x13ffa4b7},
-  {0x0ac2, 0x13ffa4b8},
-  {0x0ac3, 0x13ffa4b9},
-  {0x0ac4, 0x13ffa8b0},
-  {0x0ac5, 0x13ffa8b1},
-  {0x0ac6, 0x13ffa8b2},
-  {0x0ac7, 0x13ffa8b3},
-  {0x0ac8, 0x13ffa8b4},
-  {0x0ac9, 0x13ffa8b5},
-  {0x0aca, 0x13ffa8b6},
-  {0x0acb, 0x13ffa8b7},
-  {0x0acc, 0x13ffa8b8},
-  {0x0acd, 0x13ffa8b9},
-  {0x0ace, 0x13ffacb0},
-  {0x0acf, 0x13ffacb1},
-  {0x0ad0, 0x13ffacb2},
-  {0x0ad1, 0x13ffacb3},
-  {0x0ad2, 0x13ffacb4},
-  {0x0ad3, 0x13ffacb5},
-  {0x0ad4, 0x13ffacb6},
-  {0x0ad5, 0x13ffacb7},
-  {0x0ad6, 0x13ffacb8},
-  {0x0ad7, 0x13ffacb9},
-  {0x0ad8, 0x13ffb0b0},
-  {0x0ad9, 0x13ffb0b1},
-  {0x0ada, 0x13ffb0b2},
-  {0x0adb, 0x13ffb0b3},
-  {0x0adc, 0x13ffb0b4},
-  {0x0add, 0x13ffb0b5},
-  {0x0ade, 0x13ffb0b6},
-  {0x0adf, 0x13ffb0b7},
-  {0x0ae0, 0x13ffb0b8},
-  {0x0ae1, 0x13ffb0b9},
-  {0x0ae2, 0x13ffb4b0},
-  {0x0ae3, 0x13ffb4b1},
-  {0x0ae4, 0x13ffb4b2},
-  {0x0ae5, 0x13ffb4b3},
-  {0x0ae6, 0x13ffb4b4},
-  {0x0ae7, 0x13ffb4b5},
-  {0x0ae8, 0x13ffb4b6},
-  {0x0ae9, 0x13ffb4b7},
-  {0x0aea, 0x13ffb4b8},
-  {0x0aeb, 0x13ffb4b9},
-  {0x0aec, 0x13ffb8b0},
-  {0x0aed, 0x13ffb8b1},
-  {0x0aee, 0x13ffb8b2},
-  {0x0aef, 0x13ffb8b3},
-  {0x0af0, 0x13ffb8b4},
-  {0x0af1, 0x13ffb8b5},
-  {0x0af2, 0x13ffb8b6},
-  {0x0af3, 0x13ffb8b7},
-  {0x0af4, 0x13ffb8b8},
-  {0x0af5, 0x13ffb8b9},
-  {0x0af6, 0x13e884b0},
-  {0x0af7, 0x13e884b1},
-  {0x0af8, 0x13e884b2},
-  {0x0af9, 0x13e884b3},
-  {0x0afa, 0x13e884b4},
-  {0x0afb, 0x13e884b5},
-  {0x0afc, 0x13e884b6},
-  {0x0afd, 0x13e884b7},
-  {0x0afe, 0x13e884b8},
-  {0x0aff, 0x13e884b9},
-  {0x0b00, 0x13e888b0},
-  {0x0b01, 0x13e888b1},
-  {0x0b02, 0x13e888b2},
-  {0x0b03, 0x13e888b3},
-  {0x0b04, 0x13e888b4},
-  {0x0b05, 0x13e888b5},
-  {0x0b06, 0x13e888b6},
-  {0x0b07, 0x13e888b7},
-  {0x0b08, 0x13e888b8},
-  {0x0b09, 0x13e888b9},
-  {0x0b0a, 0x13e88cb0},
-  {0x0b0b, 0x13e88cb1},
-  {0x0b0c, 0x13e88cb2},
-  {0x0b0d, 0x13e88cb3},
-  {0x0b0e, 0x13e88cb4},
-  {0x0b0f, 0x13e88cb5},
-  {0x0b10, 0x13e88cb6},
-  {0x0b11, 0x13e88cb7},
-  {0x0b12, 0x13e88cb8},
-  {0x0b13, 0x13e88cb9},
-  {0x0b14, 0x13e890b0},
-  {0x0b15, 0x13e890b1},
-  {0x0b16, 0x13e890b2},
-  {0x0b17, 0x13e890b3},
-  {0x0b18, 0x13e890b4},
-  {0x0b19, 0x13e890b5},
-  {0x0b1a, 0x13e890b6},
-  {0x0b1b, 0x13e890b7},
-  {0x0b1c, 0x13e890b8},
-  {0x0b1d, 0x13e890b9},
-  {0x0b1e, 0x13e894b0},
-  {0x0b1f, 0x13e894b1},
-  {0x0b20, 0x13e894b2},
-  {0x0b21, 0x13e894b3},
-  {0x0b22, 0x13e894b4},
-  {0x0b23, 0x13e894b5},
-  {0x0b24, 0x13e894b6},
-  {0x0b25, 0x13e894b7},
-  {0x0b26, 0x13e894b8},
-  {0x0b27, 0x13e894b9},
-  {0x0b28, 0x13e898b0},
-  {0x0b29, 0x13e898b1},
-  {0x0b2a, 0x13e898b2},
-  {0x0b2b, 0x13e898b3},
-  {0x0b2c, 0x13e898b4},
-  {0x0b2d, 0x13e898b5},
-  {0x0b2e, 0x13e898b6},
-  {0x0b2f, 0x13e898b7},
-  {0x0b30, 0x13e898b8},
-  {0x0b31, 0x13e898b9},
-  {0x0b32, 0x13e89cb0},
-  {0x0b33, 0x13e89cb1},
-  {0x0b34, 0x13e89cb2},
-  {0x0b35, 0x13e89cb3},
-  {0x0b36, 0x13e89cb4},
-  {0x0b37, 0x13e89cb5},
-  {0x0b38, 0x13e89cb6},
-  {0x0b39, 0x13e89cb7},
-  {0x0b3a, 0x13e89cb8},
-  {0x0b3b, 0x13e89cb9},
-  {0x0b3c, 0x13e8a0b0},
-  {0x0b3d, 0x13e8a0b1},
-  {0x0b3e, 0x13e8a0b2},
-  {0x0b3f, 0x13e8a0b3},
-  {0x0b40, 0x13e8a0b4},
-  {0x0b41, 0x13e8a0b5},
-  {0x0b42, 0x13e8a0b6},
-  {0x0b43, 0x13e8a0b7},
-  {0x0b44, 0x13e8a0b8},
-  {0x0b45, 0x13e8a0b9},
-  {0x0b46, 0x13e8a4b0},
-  {0x0b47, 0x13e8a4b1},
-  {0x0b48, 0x13e8a4b2},
-  {0x0b49, 0x13e8a4b3},
-  {0x0b4a, 0x13e8a4b4},
-  {0x0b4b, 0x13e8a4b5},
-  {0x0b4c, 0x13e8a4b6},
-  {0x0b4d, 0x13e8a4b7},
-  {0x0b4e, 0x13e8a4b8},
-  {0x0b4f, 0x13e8a4b9},
-  {0x0b50, 0x13e8a8b0},
-  {0x0b51, 0x13e8a8b1},
-  {0x0b52, 0x13e8a8b2},
-  {0x0b53, 0x13e8a8b3},
-  {0x0b54, 0x13e8a8b4},
-  {0x0b55, 0x13e8a8b5},
-  {0x0b56, 0x13e8a8b6},
-  {0x0b57, 0x13e8a8b7},
-  {0x0b58, 0x13e8a8b8},
-  {0x0b59, 0x13e8a8b9},
-  {0x0b5a, 0x13e8acb0},
-  {0x0b5b, 0x13e8acb1},
-  {0x0b5c, 0x13e8acb2},
-  {0x0b5d, 0x13e8acb3},
-  {0x0b5e, 0x13e8acb4},
-  {0x0b5f, 0x13e8acb5},
-  {0x0b60, 0x13e8acb6},
-  {0x0b61, 0x13e8acb7},
-  {0x0b62, 0x13e8acb8},
-  {0x0b63, 0x13e8acb9},
-  {0x0b64, 0x13e8b0b0},
-  {0x0b65, 0x13e8b0b1},
-  {0x0b66, 0x13e8b0b2},
-  {0x0b67, 0x13e8b0b3},
-  {0x0b68, 0x13e8b0b4},
-  {0x0b69, 0x13e8b0b5},
-  {0x0b6a, 0x13e8b0b6},
-  {0x0b6b, 0x13e8b0b7},
-  {0x0b6c, 0x13e8b0b8},
-  {0x0b6d, 0x13e8b0b9},
-  {0x0b6e, 0x13e8b4b0},
-  {0x0b6f, 0x13e8b4b1},
-  {0x0b70, 0x13e8b4b2},
-  {0x0b71, 0x13e8b4b3},
-  {0x0b72, 0x13e8b4b4},
-  {0x0b73, 0x13e8b4b5},
-  {0x0b74, 0x13e8b4b6},
-  {0x0b75, 0x13e8b4b7},
-  {0x0b76, 0x13e8b4b8},
-  {0x0b77, 0x13e8b4b9},
-  {0x0b78, 0x13e8b8b0},
-  {0x0b79, 0x13e8b8b1},
-  {0x0b7a, 0x13e8b8b2},
-  {0x0b7b, 0x13e8b8b3},
-  {0x0b7c, 0x13e8b8b4},
-  {0x0b7d, 0x13e8b8b5},
-  {0x0b7e, 0x13e8b8b6},
-  {0x0b7f, 0x13e8b8b7},
-  {0x0b80, 0x13e8b8b8},
-  {0x0b81, 0x13e8b8b9},
-  {0x0b82, 0x13e8bcb0},
-  {0x0b83, 0x13e8bcb1},
-  {0x0b84, 0x13e8bcb2},
-  {0x0b85, 0x13e8bcb3},
-  {0x0b86, 0x13e8bcb4},
-  {0x0b87, 0x13e8bcb5},
-  {0x0b88, 0x13e8bcb6},
-  {0x0b89, 0x13e8bcb7},
-  {0x0b8a, 0x13e8bcb8},
-  {0x0b8b, 0x13e8bcb9},
-  {0x0b8c, 0x13e980b0},
-  {0x0b8d, 0x13e980b1},
-  {0x0b8e, 0x13e980b2},
-  {0x0b8f, 0x13e980b3},
-  {0x0b90, 0x13e980b4},
-  {0x0b91, 0x13e980b5},
-  {0x0b92, 0x13e980b6},
-  {0x0b93, 0x13e980b7},
-  {0x0b94, 0x13e980b8},
-  {0x0b95, 0x13e980b9},
-  {0x0b96, 0x13e984b0},
-  {0x0b97, 0x13e984b1},
-  {0x0b98, 0x13e984b2},
-  {0x0b99, 0x13e984b3},
-  {0x0b9a, 0x13e984b4},
-  {0x0b9b, 0x13e984b5},
-  {0x0b9c, 0x13e984b6},
-  {0x0b9d, 0x13e984b7},
-  {0x0b9e, 0x13e984b8},
-  {0x0b9f, 0x13e984b9},
-  {0x0ba0, 0x13e988b0},
-  {0x0ba1, 0x13e988b1},
-  {0x0ba2, 0x13e988b2},
-  {0x0ba3, 0x13e988b3},
-  {0x0ba4, 0x13e988b4},
-  {0x0ba5, 0x13e988b5},
-  {0x0ba6, 0x13e988b6},
-  {0x0ba7, 0x13e988b7},
-  {0x0ba8, 0x13e988b8},
-  {0x0ba9, 0x13e988b9},
-  {0x0baa, 0x13e98cb0},
-  {0x0bab, 0x13e98cb1},
-  {0x0bac, 0x13e98cb2},
-  {0x0bad, 0x13e98cb3},
-  {0x0bae, 0x13e98cb4},
-  {0x0baf, 0x13e98cb5},
-  {0x0bb0, 0x13e98cb6},
-  {0x0bb1, 0x13e98cb7},
-  {0x0bb2, 0x13e98cb8},
-  {0x0bb3, 0x13e98cb9},
-  {0x0bb4, 0x13e990b0},
-  {0x0bb5, 0x13e990b1},
-  {0x0bb6, 0x13e990b2},
-  {0x0bb7, 0x13e990b3},
-  {0x0bb8, 0x13e990b4},
-  {0x0bb9, 0x13e990b5},
-  {0x0bba, 0x13e990b6},
-  {0x0bbb, 0x13e990b7},
-  {0x0bbc, 0x13e990b8},
-  {0x0bbd, 0x13e990b9},
-  {0x0bbe, 0x13e994b0},
-  {0x0bbf, 0x13e994b1},
-  {0x0bc0, 0x13e994b2},
-  {0x0bc1, 0x13e994b3},
-  {0x0bc2, 0x13e994b4},
-  {0x0bc3, 0x13e994b5},
-  {0x0bc4, 0x13e994b6},
-  {0x0bc5, 0x13e994b7},
-  {0x0bc6, 0x13e994b8},
-  {0x0bc7, 0x13e994b9},
-  {0x0bc8, 0x13e998b0},
-  {0x0bc9, 0x13e998b1},
-  {0x0bca, 0x13e998b2},
-  {0x0bcb, 0x13e998b3},
-  {0x0bcc, 0x13e998b4},
-  {0x0bcd, 0x13e998b5},
-  {0x0bce, 0x13e998b6},
-  {0x0bcf, 0x13e998b7},
-  {0x0bd0, 0x13e998b8},
-  {0x0bd1, 0x13e998b9},
-  {0x0bd2, 0x13e99cb0},
-  {0x0bd3, 0x13e99cb1},
-  {0x0bd4, 0x13e99cb2},
-  {0x0bd5, 0x13e99cb3},
-  {0x0bd6, 0x13e99cb4},
-  {0x0bd7, 0x13e99cb5},
-  {0x0bd8, 0x13e99cb6},
-  {0x0bd9, 0x13e99cb7},
-  {0x0bda, 0x13e99cb8},
-  {0x0bdb, 0x13e99cb9},
-  {0x0bdc, 0x13e9a0b0},
-  {0x0bdd, 0x13e9a0b1},
-  {0x0bde, 0x13e9a0b2},
-  {0x0bdf, 0x13e9a0b3},
-  {0x0be0, 0x13e9a0b4},
-  {0x0be1, 0x13e9a0b5},
-  {0x0be2, 0x13e9a0b6},
-  {0x0be3, 0x13e9a0b7},
-  {0x0be4, 0x13e9a0b8},
-  {0x0be5, 0x13e9a0b9},
-  {0x0be6, 0x13e9a4b0},
-  {0x0be7, 0x13e9a4b1},
-  {0x0be8, 0x13e9a4b2},
-  {0x0be9, 0x13e9a4b3},
-  {0x0bea, 0x13e9a4b4},
-  {0x0beb, 0x13e9a4b5},
-  {0x0bec, 0x13e9a4b6},
-  {0x0bed, 0x13e9a4b7},
-  {0x0bee, 0x13e9a4b8},
-  {0x0bef, 0x13e9a4b9},
-  {0x0bf0, 0x13e9a8b0},
-  {0x0bf1, 0x13e9a8b1},
-  {0x0bf2, 0x13e9a8b2},
-  {0x0bf3, 0x13e9a8b3},
-  {0x0bf4, 0x13e9a8b4},
-  {0x0bf5, 0x13e9a8b5},
-  {0x0bf6, 0x13e9a8b6},
-  {0x0bf7, 0x13e9a8b7},
-  {0x0bf8, 0x13e9a8b8},
-  {0x0bf9, 0x13e9a8b9},
-  {0x0bfa, 0x13e9acb0},
-  {0x0bfb, 0x13e9acb1},
-  {0x0bfc, 0x13e9acb2},
-  {0x0bfd, 0x13e9acb3},
-  {0x0bfe, 0x13e9acb4},
-  {0x0bff, 0x13e9acb5},
-  {0x0c00, 0x13e9acb6},
-  {0x0c01, 0x13e9acb7},
-  {0x0c02, 0x13e9acb8},
-  {0x0c03, 0x13e9acb9},
-  {0x0c04, 0x13e9b0b0},
-  {0x0c05, 0x13e9b0b1},
-  {0x0c06, 0x13e9b0b2},
-  {0x0c07, 0x13e9b0b3},
-  {0x0c08, 0x13e9b0b4},
-  {0x0c09, 0x13e9b0b5},
-  {0x0c0a, 0x13e9b0b6},
-  {0x0c0b, 0x13e9b0b7},
-  {0x0c0c, 0x13e9b0b8},
-  {0x0c0d, 0x13e9b0b9},
-  {0x0c0e, 0x13e9b4b0},
-  {0x0c0f, 0x13e9b4b1},
-  {0x0c10, 0x13e9b4b2},
-  {0x0c11, 0x13e9b4b3},
-  {0x0c12, 0x13e9b4b4},
-  {0x0c13, 0x13e9b4b5},
-  {0x0c14, 0x13e9b4b6},
-  {0x0c15, 0x13e9b4b7},
-  {0x0c16, 0x13e9b4b8},
-  {0x0c17, 0x13e9b4b9},
-  {0x0c18, 0x13e9b8b0},
-  {0x0c19, 0x13e9b8b1},
-  {0x0c1a, 0x13e9b8b2},
-  {0x0c1b, 0x13e9b8b3},
-  {0x0c1c, 0x13e9b8b4},
-  {0x0c1d, 0x13e9b8b5},
-  {0x0c1e, 0x13e9b8b6},
-  {0x0c1f, 0x13e9b8b7},
-  {0x0c20, 0x13e9b8b8},
-  {0x0c21, 0x13e9b8b9},
-  {0x0c22, 0x13e9bcb0},
-  {0x0c23, 0x13e9bcb1},
-  {0x0c24, 0x13e9bcb2},
-  {0x0c25, 0x13e9bcb3},
-  {0x0c26, 0x13e9bcb4},
-  {0x0c27, 0x13e9bcb5},
-  {0x0c28, 0x13e9bcb6},
-  {0x0c29, 0x13e9bcb7},
-  {0x0c2a, 0x13e9bcb8},
-  {0x0c2b, 0x13e9bcb9},
-  {0x0c2c, 0x13ea80b0},
-  {0x0c2d, 0x13ea80b1},
-  {0x0c2e, 0x13ea80b2},
-  {0x0c2f, 0x13ea80b3},
-  {0x0c30, 0x13ea80b4},
-  {0x0c31, 0x13ea80b5},
-  {0x0c32, 0x13ea80b6},
-  {0x0c33, 0x13ea80b7},
-  {0x0c34, 0x13ea80b8},
-  {0x0c35, 0x13ea80b9},
-  {0x0c36, 0x13ea84b0},
-  {0x0c37, 0x13ea84b1},
-  {0x0c38, 0x13ea84b2},
-  {0x0c39, 0x13ea84b3},
-  {0x0c3a, 0x13ea84b4},
-  {0x0c3b, 0x13ea84b5},
-  {0x0c3c, 0x13ea84b6},
-  {0x0c3d, 0x13ea84b7},
-  {0x0c3e, 0x13ea84b8},
-  {0x0c3f, 0x13ea84b9},
-  {0x0c40, 0x13ea88b0},
-  {0x0c41, 0x13ea88b1},
-  {0x0c42, 0x13ea88b2},
-  {0x0c43, 0x13ea88b3},
-  {0x0c44, 0x13ea88b4},
-  {0x0c45, 0x13ea88b5},
-  {0x0c46, 0x13ea88b6},
-  {0x0c47, 0x13ea88b7},
-  {0x0c48, 0x13ea88b8},
-  {0x0c49, 0x13ea88b9},
-  {0x0c4a, 0x13ea8cb0},
-  {0x0c4b, 0x13ea8cb1},
-  {0x0c4c, 0x13ea8cb2},
-  {0x0c4d, 0x13ea8cb3},
-  {0x0c4e, 0x13ea8cb4},
-  {0x0c4f, 0x13ea8cb5},
-  {0x0c50, 0x13ea8cb6},
-  {0x0c51, 0x13ea8cb7},
-  {0x0c52, 0x13ea8cb8},
-  {0x0c53, 0x13ea8cb9},
-  {0x0c54, 0x13ea90b0},
-  {0x0c55, 0x13ea90b1},
-  {0x0c56, 0x13ea90b2},
-  {0x0c57, 0x13ea90b3},
-  {0x0c58, 0x13ea90b4},
-  {0x0c59, 0x13ea90b5},
-  {0x0c5a, 0x13ea90b6},
-  {0x0c5b, 0x13ea90b7},
-  {0x0c5c, 0x13ea90b8},
-  {0x0c5d, 0x13ea90b9},
-  {0x0c5e, 0x13ea94b0},
-  {0x0c5f, 0x13ea94b1},
-  {0x0c60, 0x13ea94b2},
-  {0x0c61, 0x13ea94b3},
-  {0x0c62, 0x13ea94b4},
-  {0x0c63, 0x13ea94b5},
-  {0x0c64, 0x13ea94b6},
-  {0x0c65, 0x13ea94b7},
-  {0x0c66, 0x13ea94b8},
-  {0x0c67, 0x13ea94b9},
-  {0x0c68, 0x13ea98b0},
-  {0x0c69, 0x13ea98b1},
-  {0x0c6a, 0x13ea98b2},
-  {0x0c6b, 0x13ea98b3},
-  {0x0c6c, 0x13ea98b4},
-  {0x0c6d, 0x13ea98b5},
-  {0x0c6e, 0x13ea98b6},
-  {0x0c6f, 0x13ea98b7},
-  {0x0c70, 0x13ea98b8},
-  {0x0c71, 0x13ea98b9},
-  {0x0c72, 0x13ea9cb0},
-  {0x0c73, 0x13ea9cb1},
-  {0x0c74, 0x13ea9cb2},
-  {0x0c75, 0x13ea9cb3},
-  {0x0c76, 0x13ea9cb4},
-  {0x0c77, 0x13ea9cb5},
-  {0x0c78, 0x13ea9cb6},
-  {0x0c79, 0x13ea9cb7},
-  {0x0c7a, 0x13ea9cb8},
-  {0x0c7b, 0x13ea9cb9},
-  {0x0c7c, 0x13eaa0b0},
-  {0x0c7d, 0x13eaa0b1},
-  {0x0c7e, 0x13eaa0b2},
-  {0x0c7f, 0x13eaa0b3},
-  {0x0c80, 0x13eaa0b4},
-  {0x0c81, 0x13eaa0b5},
-  {0x0c82, 0x13eaa0b6},
-  {0x0c83, 0x13eaa0b7},
-  {0x0c84, 0x13eaa0b8},
-  {0x0c85, 0x13eaa0b9},
-  {0x0c86, 0x13eaa4b0},
-  {0x0c87, 0x13eaa4b1},
-  {0x0c88, 0x13eaa4b2},
-  {0x0c89, 0x13eaa4b3},
-  {0x0c8a, 0x13eaa4b4},
-  {0x0c8b, 0x13eaa4b5},
-  {0x0c8c, 0x13eaa4b6},
-  {0x0c8d, 0x13eaa4b7},
-  {0x0c8e, 0x13eaa4b8},
-  {0x0c8f, 0x13eaa4b9},
-  {0x0c90, 0x13eaa8b0},
-  {0x0c91, 0x13eaa8b1},
-  {0x0c92, 0x13eaa8b2},
-  {0x0c93, 0x13eaa8b3},
-  {0x0c94, 0x13eaa8b4},
-  {0x0c95, 0x13eaa8b5},
-  {0x0c96, 0x13eaa8b6},
-  {0x0c97, 0x13eaa8b7},
-  {0x0c98, 0x13eaa8b8},
-  {0x0c99, 0x13eaa8b9},
-  {0x0c9a, 0x13eaacb0},
-  {0x0c9b, 0x13eaacb1},
-  {0x0c9c, 0x13eaacb2},
-  {0x0c9d, 0x13eaacb3},
-  {0x0c9e, 0x13eaacb4},
-  {0x0c9f, 0x13eaacb5},
-  {0x0ca0, 0x13eaacb6},
-  {0x0ca1, 0x13eaacb7},
-  {0x0ca2, 0x13eaacb8},
-  {0x0ca3, 0x13eaacb9},
-  {0x0ca4, 0x13eab0b0},
-  {0x0ca5, 0x13eab0b1},
-  {0x0ca6, 0x13eab0b2},
-  {0x0ca7, 0x13eab0b3},
-  {0x0ca8, 0x13eab0b4},
-  {0x0ca9, 0x13eab0b5},
-  {0x0caa, 0x13eab0b6},
-  {0x0cab, 0x13eab0b7},
-  {0x0cac, 0x13eab0b8},
-  {0x0cad, 0x13eab0b9},
-  {0x0cae, 0x13eab4b0},
-  {0x0caf, 0x13eab4b1},
-  {0x0cb0, 0x13eab4b2},
-  {0x0cb1, 0x13eab4b3},
-  {0x0cb2, 0x13eab4b4},
-  {0x0cb3, 0x13eab4b5},
-  {0x0cb4, 0x13eab4b6},
-  {0x0cb5, 0x13eab4b7},
-  {0x0cb6, 0x13eab4b8},
-  {0x0cb7, 0x13eab4b9},
-  {0x0cb8, 0x13eab8b0},
-  {0x0cb9, 0x13eab8b1},
-  {0x0cba, 0x13eab8b2},
-  {0x0cbb, 0x13eab8b3},
-  {0x0cbc, 0x13eab8b4},
-  {0x0cbd, 0x13eab8b5},
-  {0x0cbe, 0x13eab8b6},
-  {0x0cbf, 0x13eab8b7},
-  {0x0cc0, 0x13eab8b8},
-  {0x0cc1, 0x13eab8b9},
-  {0x0cc2, 0x13eabcb0},
-  {0x0cc3, 0x13eabcb1},
-  {0x0cc4, 0x13eabcb2},
-  {0x0cc5, 0x13eabcb3},
-  {0x0cc6, 0x13eabcb4},
-  {0x0cc7, 0x13eabcb5},
-  {0x0cc8, 0x13eabcb6},
-  {0x0cc9, 0x13eabcb7},
-  {0x0cca, 0x13eabcb8},
-  {0x0ccb, 0x13eabcb9},
-  {0x0ccc, 0x13eb80b0},
-  {0x0ccd, 0x13eb80b1},
-  {0x0cce, 0x13eb80b2},
-  {0x0ccf, 0x13eb80b3},
-  {0x0cd0, 0x13eb80b4},
-  {0x0cd1, 0x13eb80b5},
-  {0x0cd2, 0x13eb80b6},
-  {0x0cd3, 0x13eb80b7},
-  {0x0cd4, 0x13eb80b8},
-  {0x0cd5, 0x13eb80b9},
-  {0x0cd6, 0x13eb84b0},
-  {0x0cd7, 0x13eb84b1},
-  {0x0cd8, 0x13eb84b2},
-  {0x0cd9, 0x13eb84b3},
-  {0x0cda, 0x13eb84b4},
-  {0x0cdb, 0x13eb84b5},
-  {0x0cdc, 0x13eb84b6},
-  {0x0cdd, 0x13eb84b7},
-  {0x0cde, 0x13eb84b8},
-  {0x0cdf, 0x13eb84b9},
-  {0x0ce0, 0x13eb88b0},
-  {0x0ce1, 0x13eb88b1},
-  {0x0ce2, 0x13eb88b2},
-  {0x0ce3, 0x13eb88b3},
-  {0x0ce4, 0x13eb88b4},
-  {0x0ce5, 0x13eb88b5},
-  {0x0ce6, 0x13eb88b6},
-  {0x0ce7, 0x13eb88b7},
-  {0x0ce8, 0x13eb88b8},
-  {0x0ce9, 0x13eb88b9},
-  {0x0cea, 0x13eb8cb0},
-  {0x0ceb, 0x13eb8cb1},
-  {0x0cec, 0x13eb8cb2},
-  {0x0ced, 0x13eb8cb3},
-  {0x0cee, 0x13eb8cb4},
-  {0x0cef, 0x13eb8cb5},
-  {0x0cf0, 0x13eb8cb6},
-  {0x0cf1, 0x13eb8cb7},
-  {0x0cf2, 0x13eb8cb8},
-  {0x0cf3, 0x13eb8cb9},
-  {0x0cf4, 0x13eb90b0},
-  {0x0cf5, 0x13eb90b1},
-  {0x0cf6, 0x13eb90b2},
-  {0x0cf7, 0x13eb90b3},
-  {0x0cf8, 0x13eb90b4},
-  {0x0cf9, 0x13eb90b5},
-  {0x0cfa, 0x13eb90b6},
-  {0x0cfb, 0x13eb90b7},
-  {0x0cfc, 0x13eb90b8},
-  {0x0cfd, 0x13eb90b9},
-  {0x0cfe, 0x13eb94b0},
-  {0x0cff, 0x13eb94b1},
-  {0x0d00, 0x13eb94b2},
-  {0x0d01, 0x13eb94b3},
-  {0x0d02, 0x13eb94b4},
-  {0x0d03, 0x13eb94b5},
-  {0x0d04, 0x13eb94b6},
-  {0x0d05, 0x13eb94b7},
-  {0x0d06, 0x13eb94b8},
-  {0x0d07, 0x13eb94b9},
-  {0x0d08, 0x13eb98b0},
-  {0x0d09, 0x13eb98b1},
-  {0x0d0a, 0x13eb98b2},
-  {0x0d0b, 0x13eb98b3},
-  {0x0d0c, 0x13eb98b4},
-  {0x0d0d, 0x13eb98b5},
-  {0x0d0e, 0x13eb98b6},
-  {0x0d0f, 0x13eb98b7},
-  {0x0d10, 0x13eb98b8},
-  {0x0d11, 0x13eb98b9},
-  {0x0d12, 0x13eb9cb0},
-  {0x0d13, 0x13eb9cb1},
-  {0x0d14, 0x13eb9cb2},
-  {0x0d15, 0x13eb9cb3},
-  {0x0d16, 0x13eb9cb4},
-  {0x0d17, 0x13eb9cb5},
-  {0x0d18, 0x13eb9cb6},
-  {0x0d19, 0x13eb9cb7},
-  {0x0d1a, 0x13eb9cb8},
-  {0x0d1b, 0x13eb9cb9},
-  {0x0d1c, 0x13eba0b0},
-  {0x0d1d, 0x13eba0b1},
-  {0x0d1e, 0x13eba0b2},
-  {0x0d1f, 0x13eba0b3},
-  {0x0d20, 0x13eba0b4},
-  {0x0d21, 0x13eba0b5},
-  {0x0d22, 0x13eba0b6},
-  {0x0d23, 0x13eba0b7},
-  {0x0d24, 0x13eba0b8},
-  {0x0d25, 0x13eba0b9},
-  {0x0d26, 0x13eba4b0},
-  {0x0d27, 0x13eba4b1},
-  {0x0d28, 0x13eba4b2},
-  {0x0d29, 0x13eba4b3},
-  {0x0d2a, 0x13eba4b4},
-  {0x0d2b, 0x13eba4b5},
-  {0x0d2c, 0x13eba4b6},
-  {0x0d2d, 0x13eba4b7},
-  {0x0d2e, 0x13eba4b8},
-  {0x0d2f, 0x13eba4b9},
-  {0x0d30, 0x13eba8b0},
-  {0x0d31, 0x13eba8b1},
-  {0x0d32, 0x13eba8b2},
-  {0x0d33, 0x13eba8b3},
-  {0x0d34, 0x13eba8b4},
-  {0x0d35, 0x13eba8b5},
-  {0x0d36, 0x13eba8b6},
-  {0x0d37, 0x13eba8b7},
-  {0x0d38, 0x13eba8b8},
-  {0x0d39, 0x13eba8b9},
-  {0x0d3a, 0x13ebacb0},
-  {0x0d3b, 0x13ebacb1},
-  {0x0d3c, 0x13ebacb2},
-  {0x0d3d, 0x13ebacb3},
-  {0x0d3e, 0x13ebacb4},
-  {0x0d3f, 0x13ebacb5},
-  {0x0d40, 0x13ebacb6},
-  {0x0d41, 0x13ebacb7},
-  {0x0d42, 0x13ebacb8},
-  {0x0d43, 0x13ebacb9},
-  {0x0d44, 0x13ebb0b0},
-  {0x0d45, 0x13ebb0b1},
-  {0x0d46, 0x13ebb0b2},
-  {0x0d47, 0x13ebb0b3},
-  {0x0d48, 0x13ebb0b4},
-  {0x0d49, 0x13ebb0b5},
-  {0x0d4a, 0x13ebb0b6},
-  {0x0d4b, 0x13ebb0b7},
-  {0x0d4c, 0x13ebb0b8},
-  {0x0d4d, 0x13ebb0b9},
-  {0x0d4e, 0x13ebb4b0},
-  {0x0d4f, 0x13ebb4b1},
-  {0x0d50, 0x13ebb4b2},
-  {0x0d51, 0x13ebb4b3},
-  {0x0d52, 0x13ebb4b4},
-  {0x0d53, 0x13ebb4b5},
-  {0x0d54, 0x13ebb4b6},
-  {0x0d55, 0x13ebb4b7},
-  {0x0d56, 0x13ebb4b8},
-  {0x0d57, 0x13ebb4b9},
-  {0x0d58, 0x13ebb8b0},
-  {0x0d59, 0x13ebb8b1},
-  {0x0d5a, 0x13ebb8b2},
-  {0x0d5b, 0x13ebb8b3},
-  {0x0d5c, 0x13ebb8b4},
-  {0x0d5d, 0x13ebb8b5},
-  {0x0d5e, 0x13ebb8b6},
-  {0x0d5f, 0x13ebb8b7},
-  {0x0d60, 0x13ebb8b8},
-  {0x0d61, 0x13ebb8b9},
-  {0x0d62, 0x13ebbcb0},
-  {0x0d63, 0x13ebbcb1},
-  {0x0d64, 0x13ebbcb2},
-  {0x0d65, 0x13ebbcb3},
-  {0x0d66, 0x13ebbcb4},
-  {0x0d67, 0x13ebbcb5},
-  {0x0d68, 0x13ebbcb6},
-  {0x0d69, 0x13ebbcb7},
-  {0x0d6a, 0x13ebbcb8},
-  {0x0d6b, 0x13ebbcb9},
-  {0x0d6c, 0x13ec80b0},
-  {0x0d6d, 0x13ec80b1},
-  {0x0d6e, 0x13ec80b2},
-  {0x0d6f, 0x13ec80b3},
-  {0x0d70, 0x13ec80b4},
-  {0x0d71, 0x13ec80b5},
-  {0x0d72, 0x13ec80b6},
-  {0x0d73, 0x13ec80b7},
-  {0x0d74, 0x13ec80b8},
-  {0x0d75, 0x13ec80b9},
-  {0x0d76, 0x13ec84b0},
-  {0x0d77, 0x13ec84b1},
-  {0x0d78, 0x13ec84b2},
-  {0x0d79, 0x13ec84b3},
-  {0x0d7a, 0x13ec84b4},
-  {0x0d7b, 0x13ec84b5},
-  {0x0d7c, 0x13ec84b6},
-  {0x0d7d, 0x13ec84b7},
-  {0x0d7e, 0x13ec84b8},
-  {0x0d7f, 0x13ec84b9},
-  {0x0d80, 0x13ec88b0},
-  {0x0d81, 0x13ec88b1},
-  {0x0d82, 0x13ec88b2},
-  {0x0d83, 0x13ec88b3},
-  {0x0d84, 0x13ec88b4},
-  {0x0d85, 0x13ec88b5},
-  {0x0d86, 0x13ec88b6},
-  {0x0d87, 0x13ec88b7},
-  {0x0d88, 0x13ec88b8},
-  {0x0d89, 0x13ec88b9},
-  {0x0d8a, 0x13ec8cb0},
-  {0x0d8b, 0x13ec8cb1},
-  {0x0d8c, 0x13ec8cb2},
-  {0x0d8d, 0x13ec8cb3},
-  {0x0d8e, 0x13ec8cb4},
-  {0x0d8f, 0x13ec8cb5},
-  {0x0d90, 0x13ec8cb6},
-  {0x0d91, 0x13ec8cb7},
-  {0x0d92, 0x13ec8cb8},
-  {0x0d93, 0x13ec8cb9},
-  {0x0d94, 0x13ec90b0},
-  {0x0d95, 0x13ec90b1},
-  {0x0d96, 0x13ec90b2},
-  {0x0d97, 0x13ec90b3},
-  {0x0d98, 0x13ec90b4},
-  {0x0d99, 0x13ec90b5},
-  {0x0d9a, 0x13ec90b6},
-  {0x0d9b, 0x13ec90b7},
-  {0x0d9c, 0x13ec90b8},
-  {0x0d9d, 0x13ec90b9},
-  {0x0d9e, 0x13ec94b0},
-  {0x0d9f, 0x13ec94b1},
-  {0x0da0, 0x13ec94b2},
-  {0x0da1, 0x13ec94b3},
-  {0x0da2, 0x13ec94b4},
-  {0x0da3, 0x13ec94b5},
-  {0x0da4, 0x13ec94b6},
-  {0x0da5, 0x13ec94b7},
-  {0x0da6, 0x13ec94b8},
-  {0x0da7, 0x13ec94b9},
-  {0x0da8, 0x13ec98b0},
-  {0x0da9, 0x13ec98b1},
-  {0x0daa, 0x13ec98b2},
-  {0x0dab, 0x13ec98b3},
-  {0x0dac, 0x13ec98b4},
-  {0x0dad, 0x13ec98b5},
-  {0x0dae, 0x13ec98b6},
-  {0x0daf, 0x13ec98b7},
-  {0x0db0, 0x13ec98b8},
-  {0x0db1, 0x13ec98b9},
-  {0x0db2, 0x13ec9cb0},
-  {0x0db3, 0x13ec9cb1},
-  {0x0db4, 0x13ec9cb2},
-  {0x0db5, 0x13ec9cb3},
-  {0x0db6, 0x13ec9cb4},
-  {0x0db7, 0x13ec9cb5},
-  {0x0db8, 0x13ec9cb6},
-  {0x0db9, 0x13ec9cb7},
-  {0x0dba, 0x13ec9cb8},
-  {0x0dbb, 0x13ec9cb9},
-  {0x0dbc, 0x13eca0b0},
-  {0x0dbd, 0x13eca0b1},
-  {0x0dbe, 0x13eca0b2},
-  {0x0dbf, 0x13eca0b3},
-  {0x0dc0, 0x13eca0b4},
-  {0x0dc1, 0x13eca0b5},
-  {0x0dc2, 0x13eca0b6},
-  {0x0dc3, 0x13eca0b7},
-  {0x0dc4, 0x13eca0b8},
-  {0x0dc5, 0x13eca0b9},
-  {0x0dc6, 0x13eca4b0},
-  {0x0dc7, 0x13eca4b1},
-  {0x0dc8, 0x13eca4b2},
-  {0x0dc9, 0x13eca4b3},
-  {0x0dca, 0x13eca4b4},
-  {0x0dcb, 0x13eca4b5},
-  {0x0dcc, 0x13eca4b6},
-  {0x0dcd, 0x13eca4b7},
-  {0x0dce, 0x13eca4b8},
-  {0x0dcf, 0x13eca4b9},
-  {0x0dd0, 0x13eca8b0},
-  {0x0dd1, 0x13eca8b1},
-  {0x0dd2, 0x13eca8b2},
-  {0x0dd3, 0x13eca8b3},
-  {0x0dd4, 0x13eca8b4},
-  {0x0dd5, 0x13eca8b5},
-  {0x0dd6, 0x13eca8b6},
-  {0x0dd7, 0x13eca8b7},
-  {0x0dd8, 0x13eca8b8},
-  {0x0dd9, 0x13eca8b9},
-  {0x0dda, 0x13ecacb0},
-  {0x0ddb, 0x13ecacb1},
-  {0x0ddc, 0x13ecacb2},
-  {0x0ddd, 0x13ecacb3},
-  {0x0dde, 0x13ecacb4},
-  {0x0ddf, 0x13ecacb5},
-  {0x0de0, 0x13ecacb6},
-  {0x0de1, 0x13ecacb7},
-  {0x0de2, 0x13ecacb8},
-  {0x0de3, 0x13ecacb9},
-  {0x0de4, 0x13ecb0b0},
-  {0x0de5, 0x13ecb0b1},
-  {0x0de6, 0x13ecb0b2},
-  {0x0de7, 0x13ecb0b3},
-  {0x0de8, 0x13ecb0b4},
-  {0x0de9, 0x13ecb0b5},
-  {0x0dea, 0x13ecb0b6},
-  {0x0deb, 0x13ecb0b7},
-  {0x0dec, 0x13ecb0b8},
-  {0x0ded, 0x13ecb0b9},
-  {0x0dee, 0x13ecb4b0},
-  {0x0def, 0x13ecb4b1},
-  {0x0df0, 0x13ecb4b2},
-  {0x0df1, 0x13ecb4b3},
-  {0x0df2, 0x13ecb4b4},
-  {0x0df3, 0x13ecb4b5},
-  {0x0df4, 0x13ecb4b6},
-  {0x0df5, 0x13ecb4b7},
-  {0x0df6, 0x13ecb4b8},
-  {0x0df7, 0x13ecb4b9},
-  {0x0df8, 0x13ecb8b0},
-  {0x0df9, 0x13ecb8b1},
-  {0x0dfa, 0x13ecb8b2},
-  {0x0dfb, 0x13ecb8b3},
-  {0x0dfc, 0x13ecb8b4},
-  {0x0dfd, 0x13ecb8b5},
-  {0x0dfe, 0x13ecb8b6},
-  {0x0dff, 0x13ecb8b7},
-  {0x0e00, 0x13ecb8b8},
-  {0x0e01, 0x13ecb8b9},
-  {0x0e02, 0x13ecbcb0},
-  {0x0e03, 0x13ecbcb1},
-  {0x0e04, 0x13ecbcb2},
-  {0x0e05, 0x13ecbcb3},
-  {0x0e06, 0x13ecbcb4},
-  {0x0e07, 0x13ecbcb5},
-  {0x0e08, 0x13ecbcb6},
-  {0x0e09, 0x13ecbcb7},
-  {0x0e0a, 0x13ecbcb8},
-  {0x0e0b, 0x13ecbcb9},
-  {0x0e0c, 0x13ed80b0},
-  {0x0e0d, 0x13ed80b1},
-  {0x0e0e, 0x13ed80b2},
-  {0x0e0f, 0x13ed80b3},
-  {0x0e10, 0x13ed80b4},
-  {0x0e11, 0x13ed80b5},
-  {0x0e12, 0x13ed80b6},
-  {0x0e13, 0x13ed80b7},
-  {0x0e14, 0x13ed80b8},
-  {0x0e15, 0x13ed80b9},
-  {0x0e16, 0x13ed84b0},
-  {0x0e17, 0x13ed84b1},
-  {0x0e18, 0x13ed84b2},
-  {0x0e19, 0x13ed84b3},
-  {0x0e1a, 0x13ed84b4},
-  {0x0e1b, 0x13ed84b5},
-  {0x0e1c, 0x13ed84b6},
-  {0x0e1d, 0x13ed84b7},
-  {0x0e1e, 0x13ed84b8},
-  {0x0e1f, 0x13ed84b9},
-  {0x0e20, 0x13ed88b0},
-  {0x0e21, 0x13ed88b1},
-  {0x0e22, 0x13ed88b2},
-  {0x0e23, 0x13ed88b3},
-  {0x0e24, 0x13ed88b4},
-  {0x0e25, 0x13ed88b5},
-  {0x0e26, 0x13ed88b6},
-  {0x0e27, 0x13ed88b7},
-  {0x0e28, 0x13ed88b8},
-  {0x0e29, 0x13ed88b9},
-  {0x0e2a, 0x13ed8cb0},
-  {0x0e2b, 0x13ed8cb1},
-  {0x0e2c, 0x13ed8cb2},
-  {0x0e2d, 0x13ed8cb3},
-  {0x0e2e, 0x13ed8cb4},
-  {0x0e2f, 0x13ed8cb5},
-  {0x0e30, 0x13ed8cb6},
-  {0x0e31, 0x13ed8cb7},
-  {0x0e32, 0x13ed8cb8},
-  {0x0e33, 0x13ed8cb9},
-  {0x0e34, 0x13ed90b0},
-  {0x0e35, 0x13ed90b1},
-  {0x0e36, 0x13ed90b2},
-  {0x0e37, 0x13ed90b3},
-  {0x0e38, 0x13ed90b4},
-  {0x0e39, 0x13ed90b5},
-  {0x0e3a, 0x13ed90b6},
-  {0x0e3b, 0x13ed90b7},
-  {0x0e3c, 0x13ed90b8},
-  {0x0e3d, 0x13ed90b9},
-  {0x0e3e, 0x13ed94b0},
-  {0x0e3f, 0x13ed94b1},
-  {0x0e40, 0x13ed94b2},
-  {0x0e41, 0x13ed94b3},
-  {0x0e42, 0x13ed94b4},
-  {0x0e43, 0x13ed94b5},
-  {0x0e44, 0x13ed94b6},
-  {0x0e45, 0x13ed94b7},
-  {0x0e46, 0x13ed94b8},
-  {0x0e47, 0x13ed94b9},
-  {0x0e48, 0x13ed98b0},
-  {0x0e49, 0x13ed98b1},
-  {0x0e4a, 0x13ed98b2},
-  {0x0e4b, 0x13ed98b3},
-  {0x0e4c, 0x13ed98b4},
-  {0x0e4d, 0x13ed98b5},
-  {0x0e4e, 0x13ed98b6},
-  {0x0e4f, 0x13ed98b7},
-  {0x0e50, 0x13ed98b8},
-  {0x0e51, 0x13ed98b9},
-  {0x0e52, 0x13ed9cb0},
-  {0x0e53, 0x13ed9cb1},
-  {0x0e54, 0x13ed9cb2},
-  {0x0e55, 0x13ed9cb3},
-  {0x0e56, 0x13ed9cb4},
-  {0x0e57, 0x13ed9cb5},
-  {0x0e58, 0x13ed9cb6},
-  {0x0e59, 0x13ed9cb7},
-  {0x0e5a, 0x13ed9cb8},
-  {0x0e5b, 0x13ed9cb9},
-  {0x0e5c, 0x13eda0b0},
-  {0x0e5d, 0x13eda0b1},
-  {0x0e5e, 0x13eda0b2},
-  {0x0e5f, 0x13eda0b3},
-  {0x0e60, 0x13eda0b4},
-  {0x0e61, 0x13eda0b5},
-  {0x0e62, 0x13eda0b6},
-  {0x0e63, 0x13eda0b7},
-  {0x0e64, 0x13eda0b8},
-  {0x0e65, 0x13eda0b9},
-  {0x0e66, 0x13eda4b0},
-  {0x0e67, 0x13eda4b1},
-  {0x0e68, 0x13eda4b2},
-  {0x0e69, 0x13eda4b3},
-  {0x0e6a, 0x13eda4b4},
-  {0x0e6b, 0x13eda4b5},
-  {0x0e6c, 0x13eda4b6},
-  {0x0e6d, 0x13eda4b7},
-  {0x0e6e, 0x13eda4b8},
-  {0x0e6f, 0x13eda4b9},
-  {0x0e70, 0x13eda8b0},
-  {0x0e71, 0x13eda8b1},
-  {0x0e72, 0x13eda8b2},
-  {0x0e73, 0x13eda8b3},
-  {0x0e74, 0x13eda8b4},
-  {0x0e75, 0x13eda8b5},
-  {0x0e76, 0x13eda8b6},
-  {0x0e77, 0x13eda8b7},
-  {0x0e78, 0x13eda8b8},
-  {0x0e79, 0x13eda8b9},
-  {0x0e7a, 0x13edacb0},
-  {0x0e7b, 0x13edacb1},
-  {0x0e7c, 0x13edacb2},
-  {0x0e7d, 0x13edacb3},
-  {0x0e7e, 0x13edacb4},
-  {0x0e7f, 0x13edacb5},
-  {0x0e80, 0x13edacb6},
-  {0x0e81, 0x13edacb7},
-  {0x0e82, 0x13edacb8},
-  {0x0e83, 0x13edacb9},
-  {0x0e84, 0x13edb0b0},
-  {0x0e85, 0x13edb0b1},
-  {0x0e86, 0x13edb0b2},
-  {0x0e87, 0x13edb0b3},
-  {0x0e88, 0x13edb0b4},
-  {0x0e89, 0x13edb0b5},
-  {0x0e8a, 0x13edb0b6},
-  {0x0e8b, 0x13edb0b7},
-  {0x0e8c, 0x13edb0b8},
-  {0x0e8d, 0x13edb0b9},
-  {0x0e8e, 0x13edb4b0},
-  {0x0e8f, 0x13edb4b1},
-  {0x0e90, 0x13edb4b2},
-  {0x0e91, 0x13edb4b3},
-  {0x0e92, 0x13edb4b4},
-  {0x0e93, 0x13edb4b5},
-  {0x0e94, 0x13edb4b6},
-  {0x0e95, 0x13edb4b7},
-  {0x0e96, 0x13edb4b8},
-  {0x0e97, 0x13edb4b9},
-  {0x0e98, 0x13edb8b0},
-  {0x0e99, 0x13edb8b1},
-  {0x0e9a, 0x13edb8b2},
-  {0x0e9b, 0x13edb8b3},
-  {0x0e9c, 0x13edb8b4},
-  {0x0e9d, 0x13edb8b5},
-  {0x0e9e, 0x13edb8b6},
-  {0x0e9f, 0x13edb8b7},
-  {0x0ea0, 0x13edb8b8},
-  {0x0ea1, 0x13edb8b9},
-  {0x0ea2, 0x13edbcb0},
-  {0x0ea3, 0x13edbcb1},
-  {0x0ea4, 0x13edbcb2},
-  {0x0ea5, 0x13edbcb3},
-  {0x0ea6, 0x13edbcb4},
-  {0x0ea7, 0x13edbcb5},
-  {0x0ea8, 0x13edbcb6},
-  {0x0ea9, 0x13edbcb7},
-  {0x0eaa, 0x13edbcb8},
-  {0x0eab, 0x13edbcb9},
-  {0x0eac, 0x13ee80b0},
-  {0x0ead, 0x13ee80b1},
-  {0x0eae, 0x13ee80b2},
-  {0x0eaf, 0x13ee80b3},
-  {0x0eb0, 0x13ee80b4},
-  {0x0eb1, 0x13ee80b5},
-  {0x0eb2, 0x13ee80b6},
-  {0x0eb3, 0x13ee80b7},
-  {0x0eb4, 0x13ee80b8},
-  {0x0eb5, 0x13ee80b9},
-  {0x0eb6, 0x13ee84b0},
-  {0x0eb7, 0x13ee84b1},
-  {0x0eb8, 0x13ee84b2},
-  {0x0eb9, 0x13ee84b3},
-  {0x0eba, 0x13ee84b4},
-  {0x0ebb, 0x13ee84b5},
-  {0x0ebc, 0x13ee84b6},
-  {0x0ebd, 0x13ee84b7},
-  {0x0ebe, 0x13ee84b8},
-  {0x0ebf, 0x13ee84b9},
-  {0x0ec0, 0x13ee88b0},
-  {0x0ec1, 0x13ee88b1},
-  {0x0ec2, 0x13ee88b2},
-  {0x0ec3, 0x13ee88b3},
-  {0x0ec4, 0x13ee88b4},
-  {0x0ec5, 0x13ee88b5},
-  {0x0ec6, 0x13ee88b6},
-  {0x0ec7, 0x13ee88b7},
-  {0x0ec8, 0x13ee88b8},
-  {0x0ec9, 0x13ee88b9},
-  {0x0eca, 0x13ee8cb0},
-  {0x0ecb, 0x13ee8cb1},
-  {0x0ecc, 0x13ee8cb2},
-  {0x0ecd, 0x13ee8cb3},
-  {0x0ece, 0x13ee8cb4},
-  {0x0ecf, 0x13ee8cb5},
-  {0x0ed0, 0x13ee8cb6},
-  {0x0ed1, 0x13ee8cb7},
-  {0x0ed2, 0x13ee8cb8},
-  {0x0ed3, 0x13ee8cb9},
-  {0x0ed4, 0x13ee90b0},
-  {0x0ed5, 0x13ee90b1},
-  {0x0ed6, 0x13ee90b2},
-  {0x0ed7, 0x13ee90b3},
-  {0x0ed8, 0x13ee90b4},
-  {0x0ed9, 0x13ee90b5},
-  {0x0eda, 0x13ee90b6},
-  {0x0edb, 0x13ee90b7},
-  {0x0edc, 0x13ee90b8},
-  {0x0edd, 0x13ee90b9},
-  {0x0ede, 0x13ee94b0},
-  {0x0edf, 0x13ee94b1},
-  {0x0ee0, 0x13ee94b2},
-  {0x0ee1, 0x13ee94b3},
-  {0x0ee2, 0x13ee94b4},
-  {0x0ee3, 0x13ee94b5},
-  {0x0ee4, 0x13ee94b6},
-  {0x0ee5, 0x13ee94b7},
-  {0x0ee6, 0x13ee94b8},
-  {0x0ee7, 0x13ee94b9},
-  {0x0ee8, 0x13ee98b0},
-  {0x0ee9, 0x13ee98b1},
-  {0x0eea, 0x13ee98b2},
-  {0x0eeb, 0x13ee98b3},
-  {0x0eec, 0x13ee98b4},
-  {0x0eed, 0x13ee98b5},
-  {0x0eee, 0x13ee98b6},
-  {0x0eef, 0x13ee98b7},
-  {0x0ef0, 0x13ee98b8},
-  {0x0ef1, 0x13ee98b9},
-  {0x0ef2, 0x13ee9cb0},
-  {0x0ef3, 0x13ee9cb1},
-  {0x0ef4, 0x13ee9cb2},
-  {0x0ef5, 0x13ee9cb3},
-  {0x0ef6, 0x13ee9cb4},
-  {0x0ef7, 0x13ee9cb5},
-  {0x0ef8, 0x13ee9cb6},
-  {0x0ef9, 0x13ee9cb7},
-  {0x0efa, 0x13ee9cb8},
-  {0x0efb, 0x13ee9cb9},
-  {0x0efc, 0x13eea0b0},
-  {0x0efd, 0x13eea0b1},
-  {0x0efe, 0x13eea0b2},
-  {0x0eff, 0x13eea0b3},
-  {0x0f00, 0x13eea0b4},
-  {0x0f01, 0x13eea0b5},
-  {0x0f02, 0x13eea0b6},
-  {0x0f03, 0x13eea0b7},
-  {0x0f04, 0x13eea0b8},
-  {0x0f05, 0x13eea0b9},
-  {0x0f06, 0x13eea4b0},
-  {0x0f07, 0x13eea4b1},
-  {0x0f08, 0x13eea4b2},
-  {0x0f09, 0x13eea4b3},
-  {0x0f0a, 0x13eea4b4},
-  {0x0f0b, 0x13eea4b5},
-  {0x0f0c, 0x13eea4b6},
-  {0x0f0d, 0x13eea4b7},
-  {0x0f0e, 0x13eea4b8},
-  {0x0f0f, 0x13eea4b9},
-  {0x0f10, 0x13eea8b0},
-  {0x0f11, 0x13eea8b1},
-  {0x0f12, 0x13eea8b2},
-  {0x0f13, 0x13eea8b3},
-  {0x0f14, 0x13eea8b4},
-  {0x0f15, 0x13eea8b5},
-  {0x0f16, 0x13eea8b6},
-  {0x0f17, 0x13eea8b7},
-  {0x0f18, 0x13eea8b8},
-  {0x0f19, 0x13eea8b9},
-  {0x0f1a, 0x13eeacb0},
-  {0x0f1b, 0x13eeacb1},
-  {0x0f1c, 0x13eeacb2},
-  {0x0f1d, 0x13eeacb3},
-  {0x0f1e, 0x13eeacb4},
-  {0x0f1f, 0x13eeacb5},
-  {0x0f20, 0x13eeacb6},
-  {0x0f21, 0x13eeacb7},
-  {0x0f22, 0x13eeacb8},
-  {0x0f23, 0x13eeacb9},
-  {0x0f24, 0x13eeb0b0},
-  {0x0f25, 0x13eeb0b1},
-  {0x0f26, 0x13eeb0b2},
-  {0x0f27, 0x13eeb0b3},
-  {0x0f28, 0x13eeb0b4},
-  {0x0f29, 0x13eeb0b5},
-  {0x0f2a, 0x13eeb0b6},
-  {0x0f2b, 0x13eeb0b7},
-  {0x0f2c, 0x13eeb0b8},
-  {0x0f2d, 0x13eeb0b9},
-  {0x0f2e, 0x13eeb4b0},
-  {0x0f2f, 0x13eeb4b1},
-  {0x0f30, 0x13eeb4b2},
-  {0x0f31, 0x13eeb4b3},
-  {0x0f32, 0x13eeb4b4},
-  {0x0f33, 0x13eeb4b5},
-  {0x0f34, 0x13eeb4b6},
-  {0x0f35, 0x13eeb4b7},
-  {0x0f36, 0x13eeb4b8},
-  {0x0f37, 0x13eeb4b9},
-  {0x0f38, 0x13eeb8b0},
-  {0x0f39, 0x13eeb8b1},
-  {0x0f3a, 0x13eeb8b2},
-  {0x0f3b, 0x13eeb8b3},
-  {0x0f3c, 0x13eeb8b4},
-  {0x0f3d, 0x13eeb8b5},
-  {0x0f3e, 0x13eeb8b6},
-  {0x0f3f, 0x13eeb8b7},
-  {0x0f40, 0x13eeb8b8},
-  {0x0f41, 0x13eeb8b9},
-  {0x0f42, 0x13eebcb0},
-  {0x0f43, 0x13eebcb1},
-  {0x0f44, 0x13eebcb2},
-  {0x0f45, 0x13eebcb3},
-  {0x0f46, 0x13eebcb4},
-  {0x0f47, 0x13eebcb5},
-  {0x0f48, 0x13eebcb6},
-  {0x0f49, 0x13eebcb7},
-  {0x0f4a, 0x13eebcb8},
-  {0x0f4b, 0x13eebcb9},
-  {0x0f4c, 0x13ef80b0},
-  {0x0f4d, 0x13ef80b1},
-  {0x0f4e, 0x13ef80b2},
-  {0x0f4f, 0x13ef80b3},
-  {0x0f50, 0x13ef80b4},
-  {0x0f51, 0x13ef80b5},
-  {0x0f52, 0x13ef80b6},
-  {0x0f53, 0x13ef80b7},
-  {0x0f54, 0x13ef80b8},
-  {0x0f55, 0x13ef80b9},
-  {0x0f56, 0x13ef84b0},
-  {0x0f57, 0x13ef84b1},
-  {0x0f58, 0x13ef84b2},
-  {0x0f59, 0x13ef84b3},
-  {0x0f5a, 0x13ef84b4},
-  {0x0f5b, 0x13ef84b5},
-  {0x0f5c, 0x13ef84b6},
-  {0x0f5d, 0x13ef84b7},
-  {0x0f5e, 0x13ef84b8},
-  {0x0f5f, 0x13ef84b9},
-  {0x0f60, 0x13ef88b0},
-  {0x0f61, 0x13ef88b1},
-  {0x0f62, 0x13ef88b2},
-  {0x0f63, 0x13ef88b3},
-  {0x0f64, 0x13ef88b4},
-  {0x0f65, 0x13ef88b5},
-  {0x0f66, 0x13ef88b6},
-  {0x0f67, 0x13ef88b7},
-  {0x0f68, 0x13ef88b8},
-  {0x0f69, 0x13ef88b9},
-  {0x0f6a, 0x13ef8cb0},
-  {0x0f6b, 0x13ef8cb1},
-  {0x0f6c, 0x13ef8cb2},
-  {0x0f6d, 0x13ef8cb3},
-  {0x0f6e, 0x13ef8cb4},
-  {0x0f6f, 0x13ef8cb5},
-  {0x0f70, 0x13ef8cb6},
-  {0x0f71, 0x13ef8cb7},
-  {0x0f72, 0x13ef8cb8},
-  {0x0f73, 0x13ef8cb9},
-  {0x0f74, 0x13ef90b0},
-  {0x0f75, 0x13ef90b1},
-  {0x0f76, 0x13ef90b2},
-  {0x0f77, 0x13ef90b3},
-  {0x0f78, 0x13ef90b4},
-  {0x0f79, 0x13ef90b5},
-  {0x0f7a, 0x13ef90b6},
-  {0x0f7b, 0x13ef90b7},
-  {0x0f7c, 0x13ef90b8},
-  {0x0f7d, 0x13ef90b9},
-  {0x0f7e, 0x13ef94b0},
-  {0x0f7f, 0x13ef94b1},
-  {0x0f80, 0x13ef94b2},
-  {0x0f81, 0x13ef94b3},
-  {0x0f82, 0x13ef94b4},
-  {0x0f83, 0x13ef94b5},
-  {0x0f84, 0x13ef94b6},
-  {0x0f85, 0x13ef94b7},
-  {0x0f86, 0x13ef94b8},
-  {0x0f87, 0x13ef94b9},
-  {0x0f88, 0x13ef98b0},
-  {0x0f89, 0x13ef98b1},
-  {0x0f8a, 0x13ef98b2},
-  {0x0f8b, 0x13ef98b3},
-  {0x0f8c, 0x13ef98b4},
-  {0x0f8d, 0x13ef98b5},
-  {0x0f8e, 0x13ef98b6},
-  {0x0f8f, 0x13ef98b7},
-  {0x0f90, 0x13ef98b8},
-  {0x0f91, 0x13ef98b9},
-  {0x0f92, 0x13ef9cb0},
-  {0x0f93, 0x13ef9cb1},
-  {0x0f94, 0x13ef9cb2},
-  {0x0f95, 0x13ef9cb3},
-  {0x0f96, 0x13ef9cb4},
-  {0x0f97, 0x13ef9cb5},
-  {0x0f98, 0x13ef9cb6},
-  {0x0f99, 0x13ef9cb7},
-  {0x0f9a, 0x13ef9cb8},
-  {0x0f9b, 0x13ef9cb9},
-  {0x0f9c, 0x13efa0b0},
-  {0x0f9d, 0x13efa0b1},
-  {0x0f9e, 0x13efa0b2},
-  {0x0f9f, 0x13efa0b3},
-  {0x0fa0, 0x13efa0b4},
-  {0x0fa1, 0x13efa0b5},
-  {0x0fa2, 0x13efa0b6},
-  {0x0fa3, 0x13efa0b7},
-  {0x0fa4, 0x13efa0b8},
-  {0x0fa5, 0x13efa0b9},
-  {0x0fa6, 0x13efa4b0},
-  {0x0fa7, 0x13efa4b1},
-  {0x0fa8, 0x13efa4b2},
-  {0x0fa9, 0x13efa4b3},
-  {0x0faa, 0x13efa4b4},
-  {0x0fab, 0x13efa4b5},
-  {0x0fac, 0x13efa4b6},
-  {0x0fad, 0x13efa4b7},
-  {0x0fae, 0x13efa4b8},
-  {0x0faf, 0x13efa4b9},
-  {0x0fb0, 0x13efa8b0},
-  {0x0fb1, 0x13efa8b1},
-  {0x0fb2, 0x13efa8b2},
-  {0x0fb3, 0x13efa8b3},
-  {0x0fb4, 0x13efa8b4},
-  {0x0fb5, 0x13efa8b5},
-  {0x0fb6, 0x13efa8b6},
-  {0x0fb7, 0x13efa8b7},
-  {0x0fb8, 0x13efa8b8},
-  {0x0fb9, 0x13efa8b9},
-  {0x0fba, 0x13efacb0},
-  {0x0fbb, 0x13efacb1},
-  {0x0fbc, 0x13efacb2},
-  {0x0fbd, 0x13efacb3},
-  {0x0fbe, 0x13efacb4},
-  {0x0fbf, 0x13efacb5},
-  {0x0fc0, 0x13efacb6},
-  {0x0fc1, 0x13efacb7},
-  {0x0fc2, 0x13efacb8},
-  {0x0fc3, 0x13efacb9},
-  {0x0fc4, 0x13efb0b0},
-  {0x0fc5, 0x13efb0b1},
-  {0x0fc6, 0x13efb0b2},
-  {0x0fc7, 0x13efb0b3},
-  {0x0fc8, 0x13efb0b4},
-  {0x0fc9, 0x13efb0b5},
-  {0x0fca, 0x13efb0b6},
-  {0x0fcb, 0x13efb0b7},
-  {0x0fcc, 0x13efb0b8},
-  {0x0fcd, 0x13efb0b9},
-  {0x0fce, 0x13efb4b0},
-  {0x0fcf, 0x13efb4b1},
-  {0x0fd0, 0x13efb4b2},
-  {0x0fd1, 0x13efb4b3},
-  {0x0fd2, 0x13efb4b4},
-  {0x0fd3, 0x13efb4b5},
-  {0x0fd4, 0x13efb4b6},
-  {0x0fd5, 0x13efb4b7},
-  {0x0fd6, 0x13efb4b8},
-  {0x0fd7, 0x13efb4b9},
-  {0x0fd8, 0x13efb8b0},
-  {0x0fd9, 0x13efb8b1},
-  {0x0fda, 0x13efb8b2},
-  {0x0fdb, 0x13efb8b3},
-  {0x0fdc, 0x13efb8b4},
-  {0x0fdd, 0x13efb8b5},
-  {0x0fde, 0x13efb8b6},
-  {0x0fdf, 0x13efb8b7},
-  {0x0fe0, 0x13efb8b8},
-  {0x0fe1, 0x13efb8b9},
-  {0x0fe2, 0x13f884b0},
-  {0x0fe3, 0x13f884b1},
-  {0x0fe4, 0x13f884b2},
-  {0x0fe5, 0x13f884b3},
-  {0x0fe6, 0x13f884b4},
-  {0x0fe7, 0x13f884b5},
-  {0x0fe8, 0x13f884b6},
-  {0x0fe9, 0x13f884b7},
-  {0x0fea, 0x13f884b8},
-  {0x0feb, 0x13f884b9},
-  {0x0fec, 0x13f888b0},
-  {0x0fed, 0x13f888b1},
-  {0x0fee, 0x13f888b2},
-  {0x0fef, 0x13f888b3},
-  {0x0ff0, 0x13f888b4},
-  {0x0ff1, 0x13f888b5},
-  {0x0ff2, 0x13f888b6},
-  {0x0ff3, 0x13f888b7},
-  {0x0ff4, 0x13f888b8},
-  {0x0ff5, 0x13f888b9},
-  {0x0ff6, 0x13f88cb0},
-  {0x0ff7, 0x13f88cb1},
-  {0x0ff8, 0x13f88cb2},
-  {0x0ff9, 0x13f88cb3},
-  {0x0ffa, 0x13f88cb4},
-  {0x0ffb, 0x13f88cb5},
-  {0x0ffc, 0x13f88cb6},
-  {0x0ffd, 0x13f88cb7},
-  {0x0ffe, 0x13f88cb8},
-  {0x0fff, 0x13f88cb9},
-  {0x1000, 0x13f890b0},
-  {0x1001, 0x13f890b1},
-  {0x1002, 0x13f890b2},
-  {0x1003, 0x13f890b3},
-  {0x1004, 0x13f890b4},
-  {0x1005, 0x13f890b5},
-  {0x1006, 0x13f890b6},
-  {0x1007, 0x13f890b7},
-  {0x1008, 0x13f890b8},
-  {0x1009, 0x13f890b9},
-  {0x100a, 0x13f894b0},
-  {0x100b, 0x13f894b1},
-  {0x100c, 0x13f894b2},
-  {0x100d, 0x13f894b3},
-  {0x100e, 0x13f894b4},
-  {0x100f, 0x13f894b5},
-  {0x1010, 0x13f894b6},
-  {0x1011, 0x13f894b7},
-  {0x1012, 0x13f894b8},
-  {0x1013, 0x13f894b9},
-  {0x1014, 0x13f898b0},
-  {0x1015, 0x13f898b1},
-  {0x1016, 0x13f898b2},
-  {0x1017, 0x13f898b3},
-  {0x1018, 0x13f898b4},
-  {0x1019, 0x13f898b5},
-  {0x101a, 0x13f898b6},
-  {0x101b, 0x13f898b7},
-  {0x101c, 0x13f898b8},
-  {0x101d, 0x13f898b9},
-  {0x101e, 0x13f89cb0},
-  {0x101f, 0x13f89cb1},
-  {0x1020, 0x13f89cb2},
-  {0x1021, 0x13f89cb3},
-  {0x1022, 0x13f89cb4},
-  {0x1023, 0x13f89cb5},
-  {0x1024, 0x13f89cb6},
-  {0x1025, 0x13f89cb7},
-  {0x1026, 0x13f89cb8},
-  {0x1027, 0x13f89cb9},
-  {0x1028, 0x13f8a0b0},
-  {0x1029, 0x13f8a0b1},
-  {0x102a, 0x13f8a0b2},
-  {0x102b, 0x13f8a0b3},
-  {0x102c, 0x13f8a0b4},
-  {0x102d, 0x13f8a0b5},
-  {0x102e, 0x13f8a0b6},
-  {0x102f, 0x13f8a0b7},
-  {0x1030, 0x13f8a0b8},
-  {0x1031, 0x13f8a0b9},
-  {0x1032, 0x13f8a4b0},
-  {0x1033, 0x13f8a4b1},
-  {0x1034, 0x13f8a4b2},
-  {0x1035, 0x13f8a4b3},
-  {0x1036, 0x13f8a4b4},
-  {0x1037, 0x13f8a4b5},
-  {0x1038, 0x13f8a4b6},
-  {0x1039, 0x13f8a4b7},
-  {0x103a, 0x13f8a4b8},
-  {0x103b, 0x13f8a4b9},
-  {0x103c, 0x13f8a8b0},
-  {0x103d, 0x13f8a8b1},
-  {0x103e, 0x13f8a8b2},
-  {0x103f, 0x13f8a8b3},
-  {0x1040, 0x13f8a8b4},
-  {0x1041, 0x13f8a8b5},
-  {0x1042, 0x13f8a8b6},
-  {0x1043, 0x13f8a8b7},
-  {0x1044, 0x13f8a8b8},
-  {0x1045, 0x13f8a8b9},
-  {0x1046, 0x13f8acb0},
-  {0x1047, 0x13f8acb1},
-  {0x1048, 0x13f8acb2},
-  {0x1049, 0x13f8acb3},
-  {0x104a, 0x13f8acb4},
-  {0x104b, 0x13f8acb5},
-  {0x104c, 0x13f8acb6},
-  {0x104d, 0x13f8acb7},
-  {0x104e, 0x13f8acb8},
-  {0x104f, 0x13f8acb9},
-  {0x1050, 0x13f8b0b0},
-  {0x1051, 0x13f8b0b1},
-  {0x1052, 0x13f8b0b2},
-  {0x1053, 0x13f8b0b3},
-  {0x1054, 0x13f8b0b4},
-  {0x1055, 0x13f8b0b5},
-  {0x1056, 0x13f8b0b6},
-  {0x1057, 0x13f8b0b7},
-  {0x1058, 0x13f8b0b8},
-  {0x1059, 0x13f8b0b9},
-  {0x105a, 0x13f8b4b0},
-  {0x105b, 0x13f8b4b1},
-  {0x105c, 0x13f8b4b2},
-  {0x105d, 0x13f8b4b3},
-  {0x105e, 0x13f8b4b4},
-  {0x105f, 0x13f8b4b5},
-  {0x1060, 0x13f8b4b6},
-  {0x1061, 0x13f8b4b7},
-  {0x1062, 0x13f8b4b8},
-  {0x1063, 0x13f8b4b9},
-  {0x1064, 0x13f8b8b0},
-  {0x1065, 0x13f8b8b1},
-  {0x1066, 0x13f8b8b2},
-  {0x1067, 0x13f8b8b3},
-  {0x1068, 0x13f8b8b4},
-  {0x1069, 0x13f8b8b5},
-  {0x106a, 0x13f8b8b6},
-  {0x106b, 0x13f8b8b7},
-  {0x106c, 0x13f8b8b8},
-  {0x106d, 0x13f8b8b9},
-  {0x106e, 0x13f8bcb0},
-  {0x106f, 0x13f8bcb1},
-  {0x1070, 0x13f8bcb2},
-  {0x1071, 0x13f8bcb3},
-  {0x1072, 0x13f8bcb4},
-  {0x1073, 0x13f8bcb5},
-  {0x1074, 0x13f8bcb6},
-  {0x1075, 0x13f8bcb7},
-  {0x1076, 0x13f8bcb8},
-  {0x1077, 0x13f8bcb9},
-  {0x1078, 0x13f980b0},
-  {0x1079, 0x13f980b1},
-  {0x107a, 0x13f980b2},
-  {0x107b, 0x13f980b3},
-  {0x107c, 0x13f980b4},
-  {0x107d, 0x13f980b5},
-  {0x107e, 0x13f980b6},
-  {0x107f, 0x13f980b7},
-  {0x1080, 0x13f980b8},
-  {0x1081, 0x13f980b9},
-  {0x1082, 0x13f984b0},
-  {0x1083, 0x13f984b1},
-  {0x1084, 0x13f984b2},
-  {0x1085, 0x13f984b3},
-  {0x1086, 0x13f984b4},
-  {0x1087, 0x13f984b5},
-  {0x1088, 0x13f984b6},
-  {0x1089, 0x13f984b7},
-  {0x108a, 0x13f984b8},
-  {0x108b, 0x13f984b9},
-  {0x108c, 0x13f988b0},
-  {0x108d, 0x13f988b1},
-  {0x108e, 0x13f988b2},
-  {0x108f, 0x13f988b3},
-  {0x1090, 0x13f988b4},
-  {0x1091, 0x13f988b5},
-  {0x1092, 0x13f988b6},
-  {0x1093, 0x13f988b7},
-  {0x1094, 0x13f988b8},
-  {0x1095, 0x13f988b9},
-  {0x1096, 0x13f98cb0},
-  {0x1097, 0x13f98cb1},
-  {0x1098, 0x13f98cb2},
-  {0x1099, 0x13f98cb3},
-  {0x109a, 0x13f98cb4},
-  {0x109b, 0x13f98cb5},
-  {0x109c, 0x13f98cb6},
-  {0x109d, 0x13f98cb7},
-  {0x109e, 0x13f98cb8},
-  {0x109f, 0x13f98cb9},
-  {0x10a0, 0x13f990b0},
-  {0x10a1, 0x13f990b1},
-  {0x10a2, 0x13f990b2},
-  {0x10a3, 0x13f990b3},
-  {0x10a4, 0x13f990b4},
-  {0x10a5, 0x13f990b5},
-  {0x10a6, 0x13f990b6},
-  {0x10a7, 0x13f990b7},
-  {0x10a8, 0x13f990b8},
-  {0x10a9, 0x13f990b9},
-  {0x10aa, 0x13f994b0},
-  {0x10ab, 0x13f994b1},
-  {0x10ac, 0x13f994b2},
-  {0x10ad, 0x13f994b3},
-  {0x10ae, 0x13f994b4},
-  {0x10af, 0x13f994b5},
-  {0x10b0, 0x13f994b6},
-  {0x10b1, 0x13f994b7},
-  {0x10b2, 0x13f994b8},
-  {0x10b3, 0x13f994b9},
-  {0x10b4, 0x13f998b0},
-  {0x10b5, 0x13f998b1},
-  {0x10b6, 0x13f998b2},
-  {0x10b7, 0x13f998b3},
-  {0x10b8, 0x13f998b4},
-  {0x10b9, 0x13f998b5},
-  {0x10ba, 0x13f998b6},
-  {0x10bb, 0x13f998b7},
-  {0x10bc, 0x13f998b8},
-  {0x10bd, 0x13f998b9},
-  {0x10be, 0x13f99cb0},
-  {0x10bf, 0x13f99cb1},
-  {0x10c0, 0x13f99cb2},
-  {0x10c1, 0x13f99cb3},
-  {0x10c2, 0x13f99cb4},
-  {0x10c3, 0x13f99cb5},
-  {0x10c4, 0x13f99cb6},
-  {0x10c5, 0x13f99cb7},
-  {0x10c6, 0x13f99cb8},
-  {0x10c7, 0x13f99cb9},
-  {0x10c8, 0x13f9a0b0},
-  {0x10c9, 0x13f9a0b1},
-  {0x10ca, 0x13f9a0b2},
-  {0x10cb, 0x13f9a0b3},
-  {0x10cc, 0x13f9a0b4},
-  {0x10cd, 0x13f9a0b5},
-  {0x10ce, 0x13f9a0b6},
-  {0x10cf, 0x13f9a0b7},
-  {0x10d0, 0x13f9a0b8},
-  {0x10d1, 0x13f9a0b9},
-  {0x10d2, 0x13f9a4b0},
-  {0x10d3, 0x13f9a4b1},
-  {0x10d4, 0x13f9a4b2},
-  {0x10d5, 0x13f9a4b3},
-  {0x10d6, 0x13f9a4b4},
-  {0x10d7, 0x13f9a4b5},
-  {0x10d8, 0x13f9a4b6},
-  {0x10d9, 0x13f9a4b7},
-  {0x10da, 0x13f9a4b8},
-  {0x10db, 0x13f9a4b9},
-  {0x10dc, 0x13f9a8b0},
-  {0x10dd, 0x13f9a8b1},
-  {0x10de, 0x13f9a8b2},
-  {0x10df, 0x13f9a8b3},
-  {0x10e0, 0x13f9a8b4},
-  {0x10e1, 0x13f9a8b5},
-  {0x10e2, 0x13f9a8b6},
-  {0x10e3, 0x13f9a8b7},
-  {0x10e4, 0x13f9a8b8},
-  {0x10e5, 0x13f9a8b9},
-  {0x10e6, 0x13f9acb0},
-  {0x10e7, 0x13f9acb1},
-  {0x10e8, 0x13f9acb2},
-  {0x10e9, 0x13f9acb3},
-  {0x10ea, 0x13f9acb4},
-  {0x10eb, 0x13f9acb5},
-  {0x10ec, 0x13f9acb6},
-  {0x10ed, 0x13f9acb7},
-  {0x10ee, 0x13f9acb8},
-  {0x10ef, 0x13f9acb9},
-  {0x10f0, 0x13f9b0b0},
-  {0x10f1, 0x13f9b0b1},
-  {0x10f2, 0x13f9b0b2},
-  {0x10f3, 0x13f9b0b3},
-  {0x10f4, 0x13f9b0b4},
-  {0x10f5, 0x13f9b0b5},
-  {0x10f6, 0x13f9b0b6},
-  {0x10f7, 0x13f9b0b7},
-  {0x10f8, 0x13f9b0b8},
-  {0x10f9, 0x13f9b0b9},
-  {0x10fa, 0x13f9b4b0},
-  {0x10fb, 0x13f9b4b1},
-  {0x10fc, 0x13f9b4b2},
-  {0x10fd, 0x13f9b4b3},
-  {0x10fe, 0x13f9b4b4},
-  {0x10ff, 0x13f9b4b5},
-  {0x1100, 0x13f9b4b6},
-  {0x1101, 0x13f9b4b7},
-  {0x1102, 0x13f9b4b8},
-  {0x1103, 0x13f9b4b9},
-  {0x1104, 0x13f9b8b0},
-  {0x1105, 0x13f9b8b1},
-  {0x1106, 0x13f9b8b2},
-  {0x1107, 0x13f9b8b3},
-  {0x1108, 0x13f9b8b4},
-  {0x1109, 0x13f9b8b5},
-  {0x110a, 0x13f9b8b6},
-  {0x110b, 0x13f9b8b7},
-  {0x110c, 0x13f9b8b8},
-  {0x110d, 0x13f9b8b9},
-  {0x110e, 0x13f9bcb0},
-  {0x110f, 0x13f9bcb1},
-  {0x1110, 0x13f9bcb2},
-  {0x1111, 0x13f9bcb3},
-  {0x1112, 0x13f9bcb4},
-  {0x1113, 0x13f9bcb5},
-  {0x1114, 0x13f9bcb6},
-  {0x1115, 0x13f9bcb7},
-  {0x1116, 0x13f9bcb8},
-  {0x1117, 0x13f9bcb9},
-  {0x1118, 0x13fa80b0},
-  {0x1119, 0x13fa80b1},
-  {0x111a, 0x13fa80b2},
-  {0x111b, 0x13fa80b3},
-  {0x111c, 0x13fa80b4},
-  {0x111d, 0x13fa80b5},
-  {0x111e, 0x13fa80b6},
-  {0x111f, 0x13fa80b7},
-  {0x1120, 0x13fa80b8},
-  {0x1121, 0x13fa80b9},
-  {0x1122, 0x13fa84b0},
-  {0x1123, 0x13fa84b1},
-  {0x1124, 0x13fa84b2},
-  {0x1125, 0x13fa84b3},
-  {0x1126, 0x13fa84b4},
-  {0x1127, 0x13fa84b5},
-  {0x1128, 0x13fa84b6},
-  {0x1129, 0x13fa84b7},
-  {0x112a, 0x13fa84b8},
-  {0x112b, 0x13fa84b9},
-  {0x112c, 0x13fa88b0},
-  {0x112d, 0x13fa88b1},
-  {0x112e, 0x13fa88b2},
-  {0x112f, 0x13fa88b3},
-  {0x1130, 0x13fa88b4},
-  {0x1131, 0x13fa88b5},
-  {0x1132, 0x13fa88b6},
-  {0x1133, 0x13fa88b7},
-  {0x1134, 0x13fa88b8},
-  {0x1135, 0x13fa88b9},
-  {0x1136, 0x13fa8cb0},
-  {0x1137, 0x13fa8cb1},
-  {0x1138, 0x13fa8cb2},
-  {0x1139, 0x13fa8cb3},
-  {0x113a, 0x13fa8cb4},
-  {0x113b, 0x13fa8cb5},
-  {0x113c, 0x13fa8cb6},
-  {0x113d, 0x13fa8cb7},
-  {0x113e, 0x13fa8cb8},
-  {0x113f, 0x13fa8cb9},
-  {0x1140, 0x13fa90b0},
-  {0x1141, 0x13fa90b1},
-  {0x1142, 0x13fa90b2},
-  {0x1143, 0x13fa90b3},
-  {0x1144, 0x13fa90b4},
-  {0x1145, 0x13fa90b5},
-  {0x1146, 0x13fa90b6},
-  {0x1147, 0x13fa90b7},
-  {0x1148, 0x13fa90b8},
-  {0x1149, 0x13fa90b9},
-  {0x114a, 0x13fa94b0},
-  {0x114b, 0x13fa94b1},
-  {0x114c, 0x13fa94b2},
-  {0x114d, 0x13fa94b3},
-  {0x114e, 0x13fa94b4},
-  {0x114f, 0x13fa94b5},
-  {0x1150, 0x13fa94b6},
-  {0x1151, 0x13fa94b7},
-  {0x1152, 0x13fa94b8},
-  {0x1153, 0x13fa94b9},
-  {0x1154, 0x13fa98b0},
-  {0x1155, 0x13fa98b1},
-  {0x1156, 0x13fa98b2},
-  {0x1157, 0x13fa98b3},
-  {0x1158, 0x13fa98b4},
-  {0x1159, 0x13fa98b5},
-  {0x115a, 0x13fa98b6},
-  {0x115b, 0x13fa98b7},
-  {0x115c, 0x13fa98b8},
-  {0x115d, 0x13fa98b9},
-  {0x115e, 0x13fa9cb0},
-  {0x115f, 0x13fa9cb1},
-  {0x1160, 0x13fa9cb2},
-  {0x1161, 0x13fa9cb3},
-  {0x1162, 0x13fa9cb4},
-  {0x1163, 0x13fa9cb5},
-  {0x1164, 0x13fa9cb6},
-  {0x1165, 0x13fa9cb7},
-  {0x1166, 0x13fa9cb8},
-  {0x1167, 0x13fa9cb9},
-  {0x1168, 0x13faa0b0},
-  {0x1169, 0x13faa0b1},
-  {0x116a, 0x13faa0b2},
-  {0x116b, 0x13faa0b3},
-  {0x116c, 0x13faa0b4},
-  {0x116d, 0x13faa0b5},
-  {0x116e, 0x13faa0b6},
-  {0x116f, 0x13faa0b7},
-  {0x1170, 0x13faa0b8},
-  {0x1171, 0x13faa0b9},
-  {0x1172, 0x13faa4b0},
-  {0x1173, 0x13faa4b1},
-  {0x1174, 0x13faa4b2},
-  {0x1175, 0x13faa4b3},
-  {0x1176, 0x13faa4b4},
-  {0x1177, 0x13faa4b5},
-  {0x1178, 0x13faa4b6},
-  {0x1179, 0x13faa4b7},
-  {0x117a, 0x13faa4b8},
-  {0x117b, 0x13faa4b9},
-  {0x117c, 0x13faa8b0},
-  {0x117d, 0x13faa8b1},
-  {0x117e, 0x13faa8b2},
-  {0x117f, 0x13faa8b3},
-  {0x1180, 0x13faa8b4},
-  {0x1181, 0x13faa8b5},
-  {0x1182, 0x13faa8b6},
-  {0x1183, 0x13faa8b7},
-  {0x1184, 0x13faa8b8},
-  {0x1185, 0x13faa8b9},
-  {0x1186, 0x13faacb0},
-  {0x1187, 0x13faacb1},
-  {0x1188, 0x13faacb2},
-  {0x1189, 0x13faacb3},
-  {0x118a, 0x13faacb4},
-  {0x118b, 0x13faacb5},
-  {0x118c, 0x13faacb6},
-  {0x118d, 0x13faacb7},
-  {0x118e, 0x13faacb8},
-  {0x118f, 0x13faacb9},
-  {0x1190, 0x13fab0b0},
-  {0x1191, 0x13fab0b1},
-  {0x1192, 0x13fab0b2},
-  {0x1193, 0x13fab0b3},
-  {0x1194, 0x13fab0b4},
-  {0x1195, 0x13fab0b5},
-  {0x1196, 0x13fab0b6},
-  {0x1197, 0x13fab0b7},
-  {0x1198, 0x13fab0b8},
-  {0x1199, 0x13fab0b9},
-  {0x119a, 0x13fab4b0},
-  {0x119b, 0x13fab4b1},
-  {0x119c, 0x13fab4b2},
-  {0x119d, 0x13fab4b3},
-  {0x119e, 0x13fab4b4},
-  {0x119f, 0x13fab4b5},
-  {0x11a0, 0x13fab4b6},
-  {0x11a1, 0x13fab4b7},
-  {0x11a2, 0x13fab4b8},
-  {0x11a3, 0x13fab4b9},
-  {0x11a4, 0x13fab8b0},
-  {0x11a5, 0x13fab8b1},
-  {0x11a6, 0x13fab8b2},
-  {0x11a7, 0x13fab8b3},
-  {0x11a8, 0x13fab8b4},
-  {0x11a9, 0x13fab8b5},
-  {0x11aa, 0x13fab8b6},
-  {0x11ab, 0x13fab8b7},
-  {0x11ac, 0x13fab8b8},
-  {0x11ad, 0x13fab8b9},
-  {0x11ae, 0x13fabcb0},
-  {0x11af, 0x13fabcb1},
-  {0x11b0, 0x13fabcb2},
-  {0x11b1, 0x13fabcb3},
-  {0x11b2, 0x13fabcb4},
-  {0x11b3, 0x13fabcb5},
-  {0x11b4, 0x13fabcb6},
-  {0x11b5, 0x13fabcb7},
-  {0x11b6, 0x13fabcb8},
-  {0x11b7, 0x13fabcb9},
-  {0x11b8, 0x13fb80b0},
-  {0x11b9, 0x13fb80b1},
-  {0x11ba, 0x13fb80b2},
-  {0x11bb, 0x13fb80b3},
-  {0x11bc, 0x13fb80b4},
-  {0x11bd, 0x13fb80b5},
-  {0x11be, 0x13fb80b6},
-  {0x11bf, 0x13fb80b7},
-  {0x11c0, 0x13fb80b8},
-  {0x11c1, 0x13fb80b9},
-  {0x11c2, 0x13fb84b0},
-  {0x11c3, 0x13fb84b1},
-  {0x11c4, 0x13fb84b2},
-  {0x11c5, 0x13fb84b3},
-  {0x11c6, 0x13fb84b4},
-  {0x11c7, 0x13fb84b5},
-  {0x11c8, 0x13fb84b6},
-  {0x11c9, 0x13fb84b7},
-  {0x11ca, 0x13fb84b8},
-  {0x11cb, 0x13fb84b9},
-  {0x11cc, 0x13fb88b0},
-  {0x11cd, 0x13fb88b1},
-  {0x11ce, 0x13fb88b2},
-  {0x11cf, 0x13fb88b3},
-  {0x11d0, 0x13fb88b4},
-  {0x11d1, 0x13fb88b5},
-  {0x11d2, 0x13fb88b6},
-  {0x11d3, 0x13fb88b7},
-  {0x11d4, 0x13fb88b8},
-  {0x11d5, 0x13fb88b9},
-  {0x11d6, 0x13fb8cb0},
-  {0x11d7, 0x13fb8cb1},
-  {0x11d8, 0x13fb8cb2},
-  {0x11d9, 0x13fb8cb3},
-  {0x11da, 0x13fb8cb4},
-  {0x11db, 0x13fb8cb5},
-  {0x11dc, 0x13fb8cb6},
-  {0x11dd, 0x13fb8cb7},
-  {0x11de, 0x13fb8cb8},
-  {0x11df, 0x13fb8cb9},
-  {0x11e0, 0x13fb90b0},
-  {0x11e1, 0x13fb90b1},
-  {0x11e2, 0x13fb90b2},
-  {0x11e3, 0x13fb90b3},
-  {0x11e4, 0x13fb90b4},
-  {0x11e5, 0x13fb90b5},
-  {0x11e6, 0x13fb90b6},
-  {0x11e7, 0x13fb90b7},
-  {0x11e8, 0x13fb90b8},
-  {0x11e9, 0x13fb90b9},
-  {0x11ea, 0x13fb94b0},
-  {0x11eb, 0x13fb94b1},
-  {0x11ec, 0x13fb94b2},
-  {0x11ed, 0x13fb94b3},
-  {0x11ee, 0x13fb94b4},
-  {0x11ef, 0x13fb94b5},
-  {0x11f0, 0x13fb94b6},
-  {0x11f1, 0x13fb94b7},
-  {0x11f2, 0x13fb94b8},
-  {0x11f3, 0x13fb94b9},
-  {0x11f4, 0x13fb98b0},
-  {0x11f5, 0x13fb98b1},
-  {0x11f6, 0x13fb98b2},
-  {0x11f7, 0x13fb98b3},
-  {0x11f8, 0x13fb98b4},
-  {0x11f9, 0x13fb98b5},
-  {0x11fa, 0x13fb98b6},
-  {0x11fb, 0x13fb98b7},
-  {0x11fc, 0x13fb98b8},
-  {0x11fd, 0x13fb98b9},
-  {0x11fe, 0x13fb9cb0},
-  {0x11ff, 0x13fb9cb1},
-  {0x1200, 0x13fb9cb2},
-  {0x1201, 0x13fb9cb3},
-  {0x1202, 0x13fb9cb4},
-  {0x1203, 0x13fb9cb5},
-  {0x1204, 0x13fb9cb6},
-  {0x1205, 0x13fb9cb7},
-  {0x1206, 0x13fb9cb8},
-  {0x1207, 0x13fb9cb9},
-  {0x1208, 0x13fba0b0},
-  {0x1209, 0x13fba0b1},
-  {0x120a, 0x13fba0b2},
-  {0x120b, 0x13fba0b3},
-  {0x120c, 0x13fba0b4},
-  {0x120d, 0x13fba0b5},
-  {0x120e, 0x13fba0b6},
-  {0x120f, 0x13fba0b7},
-  {0x1210, 0x13fba0b8},
-  {0x1211, 0x13fba0b9},
-  {0x1212, 0x13fba4b0},
-  {0x1213, 0x13fba4b1},
-  {0x1214, 0x13fba4b2},
-  {0x1215, 0x13fba4b3},
-  {0x1216, 0x13fba4b4},
-  {0x1217, 0x13fba4b5},
-  {0x1218, 0x13fba4b6},
-  {0x1219, 0x13fba4b7},
-  {0x121a, 0x13fba4b8},
-  {0x121b, 0x13fba4b9},
-  {0x121c, 0x13fba8b0},
-  {0x121d, 0x13fba8b1},
-  {0x121e, 0x13fba8b2},
-  {0x121f, 0x13fba8b3},
-  {0x1220, 0x13fba8b4},
-  {0x1221, 0x13fba8b5},
-  {0x1222, 0x13fba8b6},
-  {0x1223, 0x13fba8b7},
-  {0x1224, 0x13fba8b8},
-  {0x1225, 0x13fba8b9},
-  {0x1226, 0x13fbacb0},
-  {0x1227, 0x13fbacb1},
-  {0x1228, 0x13fbacb2},
-  {0x1229, 0x13fbacb3},
-  {0x122a, 0x13fbacb4},
-  {0x122b, 0x13fbacb5},
-  {0x122c, 0x13fbacb6},
-  {0x122d, 0x13fbacb7},
-  {0x122e, 0x13fbacb8},
-  {0x122f, 0x13fbacb9},
-  {0x1230, 0x13fbb0b0},
-  {0x1231, 0x13fbb0b1},
-  {0x1232, 0x13fbb0b2},
-  {0x1233, 0x13fbb0b3},
-  {0x1234, 0x13fbb0b4},
-  {0x1235, 0x13fbb0b5},
-  {0x1236, 0x13fbb0b6},
-  {0x1237, 0x13fbb0b7},
-  {0x1238, 0x13fbb0b8},
-  {0x1239, 0x13fbb0b9},
-  {0x123a, 0x13fbb4b0},
-  {0x123b, 0x13fbb4b1},
-  {0x123c, 0x13fbb4b2},
-  {0x123d, 0x13fbb4b3},
-  {0x123e, 0x13fbb4b4},
-  {0x123f, 0x13fbb4b5},
-  {0x1240, 0x13fbb4b6},
-  {0x1241, 0x13fbb4b7},
-  {0x1242, 0x13fbb4b8},
-  {0x1243, 0x13fbb4b9},
-  {0x1244, 0x13fbb8b0},
-  {0x1245, 0x13fbb8b1},
-  {0x1246, 0x13fbb8b2},
-  {0x1247, 0x13fbb8b3},
-  {0x1248, 0x13fbb8b4},
-  {0x1249, 0x13fbb8b5},
-  {0x124a, 0x13fbb8b6},
-  {0x124b, 0x13fbb8b7},
-  {0x124c, 0x13fbb8b8},
-  {0x124d, 0x13fbb8b9},
-  {0x124e, 0x13fbbcb0},
-  {0x124f, 0x13fbbcb1},
-  {0x1250, 0x13fbbcb2},
-  {0x1251, 0x13fbbcb3},
-  {0x1252, 0x13fbbcb4},
-  {0x1253, 0x13fbbcb5},
-  {0x1254, 0x13fbbcb6},
-  {0x1255, 0x13fbbcb7},
-  {0x1256, 0x13fbbcb8},
-  {0x1257, 0x13fbbcb9},
-  {0x1258, 0x13fc80b0},
-  {0x1259, 0x13fc80b1},
-  {0x125a, 0x13fc80b2},
-  {0x125b, 0x13fc80b3},
-  {0x125c, 0x13fc80b4},
-  {0x125d, 0x13fc80b5},
-  {0x125e, 0x13fc80b6},
-  {0x125f, 0x13fc80b7},
-  {0x1260, 0x13fc80b8},
-  {0x1261, 0x13fc80b9},
-  {0x1262, 0x13fc84b0},
-  {0x1263, 0x13fc84b1},
-  {0x1264, 0x13fc84b2},
-  {0x1265, 0x13fc84b3},
-  {0x1266, 0x13fc84b4},
-  {0x1267, 0x13fc84b5},
-  {0x1268, 0x13fc84b6},
-  {0x1269, 0x13fc84b7},
-  {0x126a, 0x13fc84b8},
-  {0x126b, 0x13fc84b9},
-  {0x126c, 0x13fc88b0},
-  {0x126d, 0x13fc88b1},
-  {0x126e, 0x13fc88b2},
-  {0x126f, 0x13fc88b3},
-  {0x1270, 0x13fc88b4},
-  {0x1271, 0x13fc88b5},
-  {0x1272, 0x13fc88b6},
-  {0x1273, 0x13fc88b7},
-  {0x1274, 0x13fc88b8},
-  {0x1275, 0x13fc88b9},
-  {0x1276, 0x13fc8cb0},
-  {0x1277, 0x13fc8cb1},
-  {0x1278, 0x13fc8cb2},
-  {0x1279, 0x13fc8cb3},
-  {0x127a, 0x13fc8cb4},
-  {0x127b, 0x13fc8cb5},
-  {0x127c, 0x13fc8cb6},
-  {0x127d, 0x13fc8cb7},
-  {0x127e, 0x13fc8cb8},
-  {0x127f, 0x13fc8cb9},
-  {0x1280, 0x13fc90b0},
-  {0x1281, 0x13fc90b1},
-  {0x1282, 0x13fc90b2},
-  {0x1283, 0x13fc90b3},
-  {0x1284, 0x13fc90b4},
-  {0x1285, 0x13fc90b5},
-  {0x1286, 0x13fc90b6},
-  {0x1287, 0x13fc90b7},
-  {0x1288, 0x13fc90b8},
-  {0x1289, 0x13fc90b9},
-  {0x128a, 0x13fc94b0},
-  {0x128b, 0x13fc94b1},
-  {0x128c, 0x13fc94b2},
-  {0x128d, 0x13fc94b3},
-  {0x128e, 0x13fc94b4},
-  {0x128f, 0x13fc94b5},
-  {0x1290, 0x13fc94b6},
-  {0x1291, 0x13fc94b7},
-  {0x1292, 0x13fc94b8},
-  {0x1293, 0x13fc94b9},
-  {0x1294, 0x13fc98b0},
-  {0x1295, 0x13fc98b1},
-  {0x1296, 0x13fc98b2},
-  {0x1297, 0x13fc98b3},
-  {0x1298, 0x13fc98b4},
-  {0x1299, 0x13fc98b5},
-  {0x129a, 0x13fc98b6},
-  {0x129b, 0x13fc98b7},
-  {0x129c, 0x13fc98b8},
-  {0x129d, 0x13fc98b9},
-  {0x129e, 0x13fc9cb0},
-  {0x129f, 0x13fc9cb1},
-  {0x12a0, 0x13fc9cb2},
-  {0x12a1, 0x13fc9cb3},
-  {0x12a2, 0x13fc9cb4},
-  {0x12a3, 0x13fc9cb5},
-  {0x12a4, 0x13fc9cb6},
-  {0x12a5, 0x13fc9cb7},
-  {0x12a6, 0x13fc9cb8},
-  {0x12a7, 0x13fc9cb9},
-  {0x12a8, 0x13fca0b0},
-  {0x12a9, 0x13fca0b1},
-  {0x12aa, 0x13fca0b2},
-  {0x12ab, 0x13fca0b3},
-  {0x12ac, 0x13fca0b4},
-  {0x12ad, 0x13fca0b5},
-  {0x12ae, 0x13fca0b6},
-  {0x12af, 0x13fca0b7},
-  {0x12b0, 0x13fca0b8},
-  {0x12b1, 0x13fca0b9},
-  {0x12b2, 0x13fca4b0},
-  {0x12b3, 0x13fca4b1},
-  {0x12b4, 0x13fca4b2},
-  {0x12b5, 0x13fca4b3},
-  {0x12b6, 0x13fca4b4},
-  {0x12b7, 0x13fca4b5},
-  {0x12b8, 0x13fca4b6},
-  {0x12b9, 0x13fca4b7},
-  {0x12ba, 0x13fca4b8},
-  {0x12bb, 0x13fca4b9},
-  {0x12bc, 0x13fca8b0},
-  {0x12bd, 0x13fca8b1},
-  {0x12be, 0x13fca8b2},
-  {0x12bf, 0x13fca8b3},
-  {0x12c0, 0x13fca8b4},
-  {0x12c1, 0x13fca8b5},
-  {0x12c2, 0x13fca8b6},
-  {0x12c3, 0x13fca8b7},
-  {0x12c4, 0x13fca8b8},
-  {0x12c5, 0x13fca8b9},
-  {0x12c6, 0x13fcacb0},
-  {0x12c7, 0x13fcacb1},
-  {0x12c8, 0x13fcacb2},
-  {0x12c9, 0x13fcacb3},
-  {0x12ca, 0x13fcacb4},
-  {0x12cb, 0x13fcacb5},
-  {0x12cc, 0x13fcacb6},
-  {0x12cd, 0x13fcacb7},
-  {0x12ce, 0x13fcacb8},
-  {0x12cf, 0x13fcacb9},
-  {0x12d0, 0x13fcb0b0},
-  {0x12d1, 0x13fcb0b1},
-  {0x12d2, 0x13fcb0b2},
-  {0x12d3, 0x13fcb0b3},
-  {0x12d4, 0x13fcb0b4},
-  {0x12d5, 0x13fcb0b5},
-  {0x12d6, 0x13fcb0b6},
-  {0x12d7, 0x13fcb0b7},
-  {0x12d8, 0x13fcb0b8},
-  {0x12d9, 0x13fcb0b9},
-  {0x12da, 0x13fcb4b0},
-  {0x12db, 0x13fcb4b1},
-  {0x12dc, 0x13fcb4b2},
-  {0x12dd, 0x13fcb4b3},
-  {0x12de, 0x13fcb4b4},
-  {0x12df, 0x13fcb4b5},
-  {0x12e0, 0x13fcb4b6},
-  {0x12e1, 0x13fcb4b7},
-  {0x12e2, 0x13fcb4b8},
-  {0x12e3, 0x13fcb4b9},
-  {0x12e4, 0x13fcb8b0},
-  {0x12e5, 0x13fcb8b1},
-  {0x12e6, 0x13fcb8b2},
-  {0x12e7, 0x13fcb8b3},
-  {0x12e8, 0x13fcb8b4},
-  {0x12e9, 0x13fcb8b5},
-  {0x12ea, 0x13fcb8b6},
-  {0x12eb, 0x13fcb8b7},
-  {0x12ec, 0x13fcb8b8},
-  {0x12ed, 0x13fcb8b9},
-  {0x12ee, 0x13fcbcb0},
-  {0x12ef, 0x13fcbcb1},
-  {0x12f0, 0x13fcbcb2},
-  {0x12f1, 0x13fcbcb3},
-  {0x12f2, 0x13fcbcb4},
-  {0x12f3, 0x13fcbcb5},
-  {0x12f4, 0x13fcbcb6},
-  {0x12f5, 0x13fcbcb7},
-  {0x12f6, 0x13fcbcb8},
-  {0x12f7, 0x13fcbcb9},
-  {0x12f8, 0x13fd80b0},
-  {0x12f9, 0x13fd80b1},
-  {0x12fa, 0x13fd80b2},
-  {0x12fb, 0x13fd80b3},
-  {0x12fc, 0x13fd80b4},
-  {0x12fd, 0x13fd80b5},
-  {0x12fe, 0x13fd80b6},
-  {0x12ff, 0x13fd80b7},
-  {0x1300, 0x13fd80b8},
-  {0x1301, 0x13fd80b9},
-  {0x1302, 0x13fd84b0},
-  {0x1303, 0x13fd84b1},
-  {0x1304, 0x13fd84b2},
-  {0x1305, 0x13fd84b3},
-  {0x1306, 0x13fd84b4},
-  {0x1307, 0x13fd84b5},
-  {0x1308, 0x13fd84b6},
-  {0x1309, 0x13fd84b7},
-  {0x130a, 0x13fd84b8},
-  {0x130b, 0x13fd84b9},
-  {0x130c, 0x13fd88b0},
-  {0x130d, 0x13fd88b1},
-  {0x130e, 0x13fd88b2},
-  {0x130f, 0x13fd88b3},
-  {0x1310, 0x13fd88b4},
-  {0x1311, 0x13fd88b5},
-  {0x1312, 0x13fd88b6},
-  {0x1313, 0x13fd88b7},
-  {0x1314, 0x13fd88b8},
-  {0x1315, 0x13fd88b9},
-  {0x1316, 0x13fd8cb0},
-  {0x1317, 0x13fd8cb1},
-  {0x1318, 0x13fd8cb2},
-  {0x1319, 0x13fd8cb3},
-  {0x131a, 0x13fd8cb4},
-  {0x131b, 0x13fd8cb5},
-  {0x131c, 0x13fd8cb6},
-  {0x131d, 0x13fd8cb7},
-  {0x131e, 0x13fd8cb8},
-  {0x131f, 0x13fd8cb9},
-  {0x1320, 0x13fd90b0},
-  {0x1321, 0x13fd90b1},
-  {0x1322, 0x13fd90b2},
-  {0x1323, 0x13fd90b3},
-  {0x1324, 0x13fd90b4},
-  {0x1325, 0x13fd90b5},
-  {0x1326, 0x13fd90b6},
-  {0x1327, 0x13fd90b7},
-  {0x1328, 0x13fd90b8},
-  {0x1329, 0x13fd90b9},
-  {0x132a, 0x13fd94b0},
-  {0x132b, 0x13fd94b1},
-  {0x132c, 0x13fd94b2},
-  {0x132d, 0x13fd94b3},
-  {0x132e, 0x13fd94b4},
-  {0x132f, 0x13fd94b5},
-  {0x1330, 0x13fd94b6},
-  {0x1331, 0x13fd94b7},
-  {0x1332, 0x13fd94b8},
-  {0x1333, 0x13fd94b9},
-  {0x1334, 0x13fd98b0},
-  {0x1335, 0x13fd98b1},
-  {0x1336, 0x13fd98b2},
-  {0x1337, 0x13fd98b3},
-  {0x1338, 0x13fd98b4},
-  {0x1339, 0x13fd98b5},
-  {0x133a, 0x13fd98b6},
-  {0x133b, 0x13fd98b7},
-  {0x133c, 0x13fd98b8},
-  {0x133d, 0x13fd98b9},
-  {0x133e, 0x13fd9cb0},
-  {0x133f, 0x13fd9cb1},
-  {0x1340, 0x13fd9cb2},
-  {0x1341, 0x13fd9cb3},
-  {0x1342, 0x13fd9cb4},
-  {0x1343, 0x13fd9cb5},
-  {0x1344, 0x13fd9cb6},
-  {0x1345, 0x13fd9cb7},
-  {0x1346, 0x13fd9cb8},
-  {0x1347, 0x13fd9cb9},
-  {0x1348, 0x13fda0b0},
-  {0x1349, 0x13fda0b1},
-  {0x134a, 0x13fda0b2},
-  {0x134b, 0x13fda0b3},
-  {0x134c, 0x13fda0b4},
-  {0x134d, 0x13fda0b5},
-  {0x134e, 0x13fda0b6},
-  {0x134f, 0x13fda0b7},
-  {0x1350, 0x13fda0b8},
-  {0x1351, 0x13fda0b9},
-  {0x1352, 0x13fda4b0},
-  {0x1353, 0x13fda4b1},
-  {0x1354, 0x13fda4b2},
-  {0x1355, 0x13fda4b3},
-  {0x1356, 0x13fda4b4},
-  {0x1357, 0x13fda4b5},
-  {0x1358, 0x13fda4b6},
-  {0x1359, 0x13fda4b7},
-  {0x135a, 0x13fda4b8},
-  {0x135b, 0x13fda4b9},
-  {0x135c, 0x13fda8b0},
-  {0x135d, 0x13fda8b1},
-  {0x135e, 0x13fda8b2},
-  {0x135f, 0x13fda8b3},
-  {0x1360, 0x13fda8b4},
-  {0x1361, 0x13fda8b5},
-  {0x1362, 0x13fda8b6},
-  {0x1363, 0x13fda8b7},
-  {0x1364, 0x13fda8b8},
-  {0x1365, 0x13fda8b9},
-  {0x1366, 0x13fdacb0},
-  {0x1367, 0x13fdacb1},
-  {0x1368, 0x13fdacb2},
-  {0x1369, 0x13fdacb3},
-  {0x136a, 0x13fdacb4},
-  {0x136b, 0x13fdacb5},
-  {0x136c, 0x13fdacb6},
-  {0x136d, 0x13fdacb7},
-  {0x136e, 0x13fdacb8},
-  {0x136f, 0x13fdacb9},
-  {0x1370, 0x13fdb0b0},
-  {0x1371, 0x13fdb0b1},
-  {0x1372, 0x13fdb0b2},
-  {0x1373, 0x13fdb0b3},
-  {0x1374, 0x13fdb0b4},
-  {0x1375, 0x13fdb0b5},
-  {0x1376, 0x13fdb0b6},
-  {0x1377, 0x13fdb0b7},
-  {0x1378, 0x13fdb0b8},
-  {0x1379, 0x13fdb0b9},
-  {0x137a, 0x13fdb4b0},
-  {0x137b, 0x13fdb4b1},
-  {0x137c, 0x13fdb4b2},
-  {0x137d, 0x13fdb4b3},
-  {0x137e, 0x13fdb4b4},
-  {0x137f, 0x13fdb4b5},
-  {0x1380, 0x13fdb4b6},
-  {0x1381, 0x13fdb4b7},
-  {0x1382, 0x13fdb4b8},
-  {0x1383, 0x13fdb4b9},
-  {0x1384, 0x13fdb8b0},
-  {0x1385, 0x13fdb8b1},
-  {0x1386, 0x13fdb8b2},
-  {0x1387, 0x13fdb8b3},
-  {0x1388, 0x13fdb8b4},
-  {0x1389, 0x13fdb8b5},
-  {0x138a, 0x13fdb8b6},
-  {0x138b, 0x13fdb8b7},
-  {0x138c, 0x13fdb8b8},
-  {0x138d, 0x13fdb8b9},
-  {0x138e, 0x13fdbcb0},
-  {0x138f, 0x13fdbcb1},
-  {0x1390, 0x13fdbcb2},
-  {0x1391, 0x13fdbcb3},
-  {0x1392, 0x13fdbcb4},
-  {0x1393, 0x13fdbcb5},
-  {0x1394, 0x13fdbcb6},
-  {0x1395, 0x13fdbcb7},
-  {0x1396, 0x13fdbcb8},
-  {0x1397, 0x13fdbcb9},
-  {0x1398, 0x13fe80b0},
-  {0x1399, 0x13fe80b1},
-  {0x139a, 0x13fe80b2},
-  {0x139b, 0x13fe80b3},
-  {0x139c, 0x13fe80b4},
-  {0x139d, 0x13fe80b5},
-  {0x139e, 0x13fe80b6},
-  {0x139f, 0x13fe80b7},
-  {0x13a0, 0x13fe80b8},
-  {0x13a1, 0x13fe80b9},
-  {0x13a2, 0x13fe84b0},
-  {0x13a3, 0x13fe84b1},
-  {0x13a4, 0x13fe84b2},
-  {0x13a5, 0x13fe84b3},
-  {0x13a6, 0x13fe84b4},
-  {0x13a7, 0x13fe84b5},
-  {0x13a8, 0x13fe84b6},
-  {0x13a9, 0x13fe84b7},
-  {0x13aa, 0x13fe84b8},
-  {0x13ab, 0x13fe84b9},
-  {0x13ac, 0x13fe88b0},
-  {0x13ad, 0x13fe88b1},
-  {0x13ae, 0x13fe88b2},
-  {0x13af, 0x13fe88b3},
-  {0x13b0, 0x13fe88b4},
-  {0x13b1, 0x13fe88b5},
-  {0x13b2, 0x13fe88b6},
-  {0x13b3, 0x13fe88b7},
-  {0x13b4, 0x13fe88b8},
-  {0x13b5, 0x13fe88b9},
-  {0x13b6, 0x13fe8cb0},
-  {0x13b7, 0x13fe8cb1},
-  {0x13b8, 0x13fe8cb2},
-  {0x13b9, 0x13fe8cb3},
-  {0x13ba, 0x13fe8cb4},
-  {0x13bb, 0x13fe8cb5},
-  {0x13bc, 0x13fe8cb6},
-  {0x13bd, 0x13fe8cb7},
-  {0x13be, 0x13fe8cb8},
-  {0x13bf, 0x13fe8cb9},
-  {0x13c0, 0x13fe90b0},
-  {0x13c1, 0x13fe90b1},
-  {0x13c2, 0x13fe90b2},
-  {0x13c3, 0x13fe90b3},
-  {0x13c4, 0x13fe90b4},
-  {0x13c5, 0x13fe90b5},
-  {0x13c6, 0x13fe90b6},
-  {0x13c7, 0x13fe90b7},
-  {0x13c8, 0x13fe90b8},
-  {0x13c9, 0x13fe90b9},
-  {0x13ca, 0x13fe94b0},
-  {0x13cb, 0x13fe94b1},
-  {0x13cc, 0x13fe94b2},
-  {0x13cd, 0x13fe94b3},
-  {0x13ce, 0x13fe94b4},
-  {0x13cf, 0x13fe94b5},
-  {0x13d0, 0x13fe94b6},
-  {0x13d1, 0x13fe94b7},
-  {0x13d2, 0x13fe94b8},
-  {0x13d3, 0x13fe94b9},
-  {0x13d4, 0x13fe98b0},
-  {0x13d5, 0x13fe98b1},
-  {0x13d6, 0x13fe98b2},
-  {0x13d7, 0x13fe98b3},
-  {0x13d8, 0x13fe98b4},
-  {0x13d9, 0x13fe98b5},
-  {0x13da, 0x13fe98b6},
-  {0x13db, 0x13fe98b7},
-  {0x13dc, 0x13fe98b8},
-  {0x13dd, 0x13fe98b9},
-  {0x13de, 0x13fe9cb0},
-  {0x13df, 0x13fe9cb1},
-  {0x13e0, 0x13fe9cb2},
-  {0x13e1, 0x13fe9cb3},
-  {0x13e2, 0x13fe9cb4},
-  {0x13e3, 0x13fe9cb5},
-  {0x13e4, 0x13fe9cb6},
-  {0x13e5, 0x13fe9cb7},
-  {0x13e6, 0x13fe9cb8},
-  {0x13e7, 0x13fe9cb9},
-  {0x13e8, 0x13fea0b0},
-  {0x13e9, 0x13fea0b1},
-  {0x13ea, 0x13fea0b2},
-  {0x13eb, 0x13fea0b3},
-  {0x13ec, 0x13fea0b4},
-  {0x13ed, 0x13fea0b5},
-  {0x13ee, 0x13fea0b6},
-  {0x13ef, 0x13fea0b7},
-  {0x13f0, 0x13fea0b8},
-  {0x13f1, 0x13fea0b9},
-  {0x13f2, 0x13fea4b0},
-  {0x13f3, 0x13fea4b1},
-  {0x13f4, 0x13fea4b2},
-  {0x13f5, 0x13fea4b3},
-  {0x13f6, 0x13fea4b4},
-  {0x13f7, 0x13fea4b5},
-  {0x13f8, 0x13fea4b6},
-  {0x13f9, 0x13fea4b7},
-  {0x13fa, 0x13fea4b8},
-  {0x13fb, 0x13fea4b9},
-  {0x13fc, 0x13fea8b0},
-  {0x13fd, 0x13fea8b1},
-  {0x13fe, 0x13fea8b2},
-  {0x13ff, 0x13fea8b3},
-  {0x1400, 0x13fea8b4},
-  {0x1401, 0x13fea8b5},
-  {0x1402, 0x13fea8b6},
-  {0x1403, 0x13fea8b7},
-  {0x1404, 0x13fea8b8},
-  {0x1405, 0x13fea8b9},
-  {0x1406, 0x13feacb0},
-  {0x1407, 0x13feacb1},
-  {0x1408, 0x13feacb2},
-  {0x1409, 0x13feacb3},
-  {0x140a, 0x13feacb4},
-  {0x140b, 0x13feacb5},
-  {0x140c, 0x13feacb6},
-  {0x140d, 0x13feacb7},
-  {0x140e, 0x13feacb8},
-  {0x140f, 0x13feacb9},
-  {0x1410, 0x13feb0b0},
-  {0x1411, 0x13feb0b1},
-  {0x1412, 0x13feb0b2},
-  {0x1413, 0x13feb0b3},
-  {0x1414, 0x13feb0b4},
-  {0x1415, 0x13feb0b5},
-  {0x1416, 0x13feb0b6},
-  {0x1417, 0x13feb0b7},
-  {0x1418, 0x13feb0b8},
-  {0x1419, 0x13feb0b9},
-  {0x141a, 0x13feb4b0},
-  {0x141b, 0x13feb4b1},
-  {0x141c, 0x13feb4b2},
-  {0x141d, 0x13feb4b3},
-  {0x141e, 0x13feb4b4},
-  {0x141f, 0x13feb4b5},
-  {0x1420, 0x13feb4b6},
-  {0x1421, 0x13feb4b7},
-  {0x1422, 0x13feb4b8},
-  {0x1423, 0x13feb4b9},
-  {0x1424, 0x13feb8b0},
-  {0x1425, 0x13feb8b1},
-  {0x1426, 0x13feb8b2},
-  {0x1427, 0x13feb8b3},
-  {0x1428, 0x13feb8b4},
-  {0x1429, 0x13feb8b5},
-  {0x142a, 0x13feb8b6},
-  {0x142b, 0x13feb8b7},
-  {0x142c, 0x13feb8b8},
-  {0x142d, 0x13feb8b9},
-  {0x142e, 0x13febcb0},
-  {0x142f, 0x13febcb1},
-  {0x1430, 0x13febcb2},
-  {0x1431, 0x13febcb3},
-  {0x1432, 0x13febcb4},
-  {0x1433, 0x13febcb5},
-  {0x1434, 0x13febcb6},
-  {0x1435, 0x13febcb7},
-  {0x1436, 0x13febcb8},
-  {0x1437, 0x13febcb9},
-  {0x1438, 0x13ff80b0},
-  {0x1439, 0x13ff80b1},
-  {0x143a, 0x13ff80b2},
-  {0x143b, 0x13ff80b3},
-  {0x143c, 0x13ff80b4},
-  {0x143d, 0x13ff80b5},
-  {0x143e, 0x13ff80b6},
-  {0x143f, 0x13ff80b7},
-  {0x1440, 0x13ff80b8},
-  {0x1441, 0x13ff80b9},
-  {0x1442, 0x13ff84b0},
-  {0x1443, 0x13ff84b1},
-  {0x1444, 0x13ff84b2},
-  {0x1445, 0x13ff84b3},
-  {0x1446, 0x13ff84b4},
-  {0x1447, 0x13ff84b5},
-  {0x1448, 0x13ff84b6},
-  {0x1449, 0x13ff84b7},
-  {0x144a, 0x13ff84b8},
-  {0x144b, 0x13ff84b9},
-  {0x144c, 0x13ff88b0},
-  {0x144d, 0x13ff88b1},
-  {0x144e, 0x13ff88b2},
-  {0x144f, 0x13ff88b3},
-  {0x1450, 0x13ff88b4},
-  {0x1451, 0x13ff88b5},
-  {0x1452, 0x13ff88b6},
-  {0x1453, 0x13ff88b7},
-  {0x1454, 0x13ff88b8},
-  {0x1455, 0x13ff88b9},
-  {0x1456, 0x13ff8cb0},
-  {0x1457, 0x13ff8cb1},
-  {0x1458, 0x13ff8cb2},
-  {0x1459, 0x13ff8cb3},
-  {0x145a, 0x13ff8cb4},
-  {0x145b, 0x13ff8cb5},
-  {0x145c, 0x13ff8cb6},
-  {0x145d, 0x13ff8cb7},
-  {0x145e, 0x13ff8cb8},
-  {0x145f, 0x13ff8cb9},
-  {0x1460, 0x13ff90b0},
-  {0x1461, 0x13ff90b1},
-  {0x1462, 0x13ff90b2},
-  {0x1463, 0x13ff90b3},
-  {0x1464, 0x13ff90b4},
-  {0x1465, 0x13ff90b5},
-  {0x1466, 0x13ff90b6},
-  {0x1467, 0x13ff90b7},
-  {0x1468, 0x13ff90b8},
-  {0x1469, 0x13ff90b9},
-  {0x146a, 0x13ff94b0},
-  {0x146b, 0x13ff94b1},
-  {0x146c, 0x13ff94b2},
-  {0x146d, 0x13ff94b3},
-  {0x146e, 0x13ff94b4},
-  {0x146f, 0x13ff94b5},
-  {0x1470, 0x13ff94b6},
-  {0x1471, 0x13ff94b7},
-  {0x1472, 0x13ff94b8},
-  {0x1473, 0x13ff94b9},
-  {0x1474, 0x13ff98b0},
-  {0x1475, 0x13ff98b1},
-  {0x1476, 0x13ff98b2},
-  {0x1477, 0x13ff98b3},
-  {0x1478, 0x13ff98b4},
-  {0x1479, 0x13ff98b5},
-  {0x147a, 0x13ff98b6},
-  {0x147b, 0x13ff98b7},
-  {0x147c, 0x13ff98b8},
-  {0x147d, 0x13ff98b9},
-  {0x147e, 0x13ff9cb0},
-  {0x147f, 0x13ff9cb1},
-  {0x1480, 0x13ff9cb2},
-  {0x1481, 0x13ff9cb3},
-  {0x1482, 0x13ff9cb4},
-  {0x1483, 0x13ff9cb5},
-  {0x1484, 0x13ff9cb6},
-  {0x1485, 0x13ff9cb7},
-  {0x1486, 0x13ff9cb8},
-  {0x1487, 0x13ff9cb9},
-  {0x1488, 0x13ffa0b0},
-  {0x1489, 0x13ffa0b1},
-  {0x148a, 0x13ffa0b2},
-  {0x148b, 0x13ffa0b3},
-  {0x148c, 0x13ffa0b4},
-  {0x148d, 0x13ffa0b5},
-  {0x148e, 0x13ffa0b6},
-  {0x148f, 0x13ffa0b7},
-  {0x1490, 0x13ffa0b8},
-  {0x1491, 0x13ffa0b9},
-  {0x1492, 0x13ffa4b0},
-  {0x1493, 0x13ffa4b1},
-  {0x1494, 0x13ffa4b2},
-  {0x1495, 0x13ffa4b3},
-  {0x1496, 0x13ffa4b4},
-  {0x1497, 0x13ffa4b5},
-  {0x1498, 0x13ffa4b6},
-  {0x1499, 0x13ffa4b7},
-  {0x149a, 0x13ffa4b8},
-  {0x149b, 0x13ffa4b9},
-  {0x149c, 0x13ffa8b0},
-  {0x149d, 0x13ffa8b1},
-  {0x149e, 0x13ffa8b2},
-  {0x149f, 0x13ffa8b3},
-  {0x14a0, 0x13ffa8b4},
-  {0x14a1, 0x13ffa8b5},
-  {0x14a2, 0x13ffa8b6},
-  {0x14a3, 0x13ffa8b7},
-  {0x14a4, 0x13ffa8b8},
-  {0x14a5, 0x13ffa8b9},
-  {0x14a6, 0x13ffacb0},
-  {0x14a7, 0x13ffacb1},
-  {0x14a8, 0x13ffacb2},
-  {0x14a9, 0x13ffacb3},
-  {0x14aa, 0x13ffacb4},
-  {0x14ab, 0x13ffacb5},
-  {0x14ac, 0x13ffacb6},
-  {0x14ad, 0x13ffacb7},
-  {0x14ae, 0x13ffacb8},
-  {0x14af, 0x13ffacb9},
-  {0x14b0, 0x13ffb0b0},
-  {0x14b1, 0x13ffb0b1},
-  {0x14b2, 0x13ffb0b2},
-  {0x14b3, 0x13ffb0b3},
-  {0x14b4, 0x13ffb0b4},
-  {0x14b5, 0x13ffb0b5},
-  {0x14b6, 0x13ffb0b6},
-  {0x14b7, 0x13ffb0b7},
-  {0x14b8, 0x13ffb0b8},
-  {0x14b9, 0x13ffb0b9},
-  {0x14ba, 0x13ffb4b0},
-  {0x14bb, 0x13ffb4b1},
-  {0x14bc, 0x13ffb4b2},
-  {0x14bd, 0x13ffb4b3},
-  {0x14be, 0x13ffb4b4},
-  {0x14bf, 0x13ffb4b5},
-  {0x14c0, 0x13ffb4b6},
-  {0x14c1, 0x13ffb4b7},
-  {0x14c2, 0x13ffb4b8},
-  {0x14c3, 0x13ffb4b9},
-  {0x14c4, 0x13ffb8b0},
-  {0x14c5, 0x13ffb8b1},
-  {0x14c6, 0x13ffb8b2},
-  {0x14c7, 0x13ffb8b3},
-  {0x14c8, 0x13ffb8b4},
-  {0x14c9, 0x13ffb8b5},
-  {0x14ca, 0x13ffb8b6},
-  {0x14cb, 0x13ffb8b7},
-  {0x14cc, 0x13ffb8b8},
-  {0x14cd, 0x13ffb8b9},
-  {0x14ce, 0x13e884b0},
-  {0x14cf, 0x13e884b1},
-  {0x14d0, 0x13e884b2},
-  {0x14d1, 0x13e884b3},
-  {0x14d2, 0x13e884b4},
-  {0x14d3, 0x13e884b5},
-  {0x14d4, 0x13e884b6},
-  {0x14d5, 0x13e884b7},
-  {0x14d6, 0x13e884b8},
-  {0x14d7, 0x13e884b9},
-  {0x14d8, 0x13e888b0},
-  {0x14d9, 0x13e888b1},
-  {0x14da, 0x13e888b2},
-  {0x14db, 0x13e888b3},
-  {0x14dc, 0x13e888b4},
-  {0x14dd, 0x13e888b5},
-  {0x14de, 0x13e888b6},
-  {0x14df, 0x13e888b7},
-  {0x14e0, 0x13e888b8},
-  {0x14e1, 0x13e888b9},
-  {0x14e2, 0x13e88cb0},
-  {0x14e3, 0x13e88cb1},
-  {0x14e4, 0x13e88cb2},
-  {0x14e5, 0x13e88cb3},
-  {0x14e6, 0x13e88cb4},
-  {0x14e7, 0x13e88cb5},
-  {0x14e8, 0x13e88cb6},
-  {0x14e9, 0x13e88cb7},
-  {0x14ea, 0x13e88cb8},
-  {0x14eb, 0x13e88cb9},
-  {0x14ec, 0x13e890b0},
-  {0x14ed, 0x13e890b1},
-  {0x14ee, 0x13e890b2},
-  {0x14ef, 0x13e890b3},
-  {0x14f0, 0x13e890b4},
-  {0x14f1, 0x13e890b5},
-  {0x14f2, 0x13e890b6},
-  {0x14f3, 0x13e890b7},
-  {0x14f4, 0x13e890b8},
-  {0x14f5, 0x13e890b9},
-  {0x14f6, 0x13e894b0},
-  {0x14f7, 0x13e894b1},
-  {0x14f8, 0x13e894b2},
-  {0x14f9, 0x13e894b3},
-  {0x14fa, 0x13e894b4},
-  {0x14fb, 0x13e894b5},
-  {0x14fc, 0x13e894b6},
-  {0x14fd, 0x13e894b7},
-  {0x14fe, 0x13e894b8},
-  {0x14ff, 0x13e894b9},
-  {0x1500, 0x13e898b0},
-  {0x1501, 0x13e898b1},
-  {0x1502, 0x13e898b2},
-  {0x1503, 0x13e898b3},
-  {0x1504, 0x13e898b4},
-  {0x1505, 0x13e898b5},
-  {0x1506, 0x13e898b6},
-  {0x1507, 0x13e898b7},
-  {0x1508, 0x13e898b8},
-  {0x1509, 0x13e898b9},
-  {0x150a, 0x13e89cb0},
-  {0x150b, 0x13e89cb1},
-  {0x150c, 0x13e89cb2},
-  {0x150d, 0x13e89cb3},
-  {0x150e, 0x13e89cb4},
-  {0x150f, 0x13e89cb5},
-  {0x1510, 0x13e89cb6},
-  {0x1511, 0x13e89cb7},
-  {0x1512, 0x13e89cb8},
-  {0x1513, 0x13e89cb9},
-  {0x1514, 0x13e8a0b0},
-  {0x1515, 0x13e8a0b1},
-  {0x1516, 0x13e8a0b2},
-  {0x1517, 0x13e8a0b3},
-  {0x1518, 0x13e8a0b4},
-  {0x1519, 0x13e8a0b5},
-  {0x151a, 0x13e8a0b6},
-  {0x151b, 0x13e8a0b7},
-  {0x151c, 0x13e8a0b8},
-  {0x151d, 0x13e8a0b9},
-  {0x151e, 0x13e8a4b0},
-  {0x151f, 0x13e8a4b1},
-  {0x1520, 0x13e8a4b2},
-  {0x1521, 0x13e8a4b3},
-  {0x1522, 0x13e8a4b4},
-  {0x1523, 0x13e8a4b5},
-  {0x1524, 0x13e8a4b6},
-  {0x1525, 0x13e8a4b7},
-  {0x1526, 0x13e8a4b8},
-  {0x1527, 0x13e8a4b9},
-  {0x1528, 0x13e8a8b0},
-  {0x1529, 0x13e8a8b1},
-  {0x152a, 0x13e8a8b2},
-  {0x152b, 0x13e8a8b3},
-  {0x152c, 0x13e8a8b4},
-  {0x152d, 0x13e8a8b5},
-  {0x152e, 0x13e8a8b6},
-  {0x152f, 0x13e8a8b7},
-  {0x1530, 0x13e8a8b8},
-  {0x1531, 0x13e8a8b9},
-  {0x1532, 0x13e8acb0},
-  {0x1533, 0x13e8acb1},
-  {0x1534, 0x13e8acb2},
-  {0x1535, 0x13e8acb3},
-  {0x1536, 0x13e8acb4},
-  {0x1537, 0x13e8acb5},
-  {0x1538, 0x13e8acb6},
-  {0x1539, 0x13e8acb7},
-  {0x153a, 0x13e8acb8},
-  {0x153b, 0x13e8acb9},
-  {0x153c, 0x13e8b0b0},
-  {0x153d, 0x13e8b0b1},
-  {0x153e, 0x13e8b0b2},
-  {0x153f, 0x13e8b0b3},
-  {0x1540, 0x13e8b0b4},
-  {0x1541, 0x13e8b0b5},
-  {0x1542, 0x13e8b0b6},
-  {0x1543, 0x13e8b0b7},
-  {0x1544, 0x13e8b0b8},
-  {0x1545, 0x13e8b0b9},
-  {0x1546, 0x13e8b4b0},
-  {0x1547, 0x13e8b4b1},
-  {0x1548, 0x13e8b4b2},
-  {0x1549, 0x13e8b4b3},
-  {0x154a, 0x13e8b4b4},
-  {0x154b, 0x13e8b4b5},
-  {0x154c, 0x13e8b4b6},
-  {0x154d, 0x13e8b4b7},
-  {0x154e, 0x13e8b4b8},
-  {0x154f, 0x13e8b4b9},
-  {0x1550, 0x13e8b8b0},
-  {0x1551, 0x13e8b8b1},
-  {0x1552, 0x13e8b8b2},
-  {0x1553, 0x13e8b8b3},
-  {0x1554, 0x13e8b8b4},
-  {0x1555, 0x13e8b8b5},
-  {0x1556, 0x13e8b8b6},
-  {0x1557, 0x13e8b8b7},
-  {0x1558, 0x13e8b8b8},
-  {0x1559, 0x13e8b8b9},
-  {0x155a, 0x13e8bcb0},
-  {0x155b, 0x13e8bcb1},
-  {0x155c, 0x13e8bcb2},
-  {0x155d, 0x13e8bcb3},
-  {0x155e, 0x13e8bcb4},
-  {0x155f, 0x13e8bcb5},
-  {0x1560, 0x13e8bcb6},
-  {0x1561, 0x13e8bcb7},
-  {0x1562, 0x13e8bcb8},
-  {0x1563, 0x13e8bcb9},
-  {0x1564, 0x13e980b0},
-  {0x1565, 0x13e980b1},
-  {0x1566, 0x13e980b2},
-  {0x1567, 0x13e980b3},
-  {0x1568, 0x13e980b4},
-  {0x1569, 0x13e980b5},
-  {0x156a, 0x13e980b6},
-  {0x156b, 0x13e980b7},
-  {0x156c, 0x13e980b8},
-  {0x156d, 0x13e980b9},
-  {0x156e, 0x13e984b0},
-  {0x156f, 0x13e984b1},
-  {0x1570, 0x13e984b2},
-  {0x1571, 0x13e984b3},
-  {0x1572, 0x13e984b4},
-  {0x1573, 0x13e984b5},
-  {0x1574, 0x13e984b6},
-  {0x1575, 0x13e984b7},
-  {0x1576, 0x13e984b8},
-  {0x1577, 0x13e984b9},
-  {0x1578, 0x13e988b0},
-  {0x1579, 0x13e988b1},
-  {0x157a, 0x13e988b2},
-  {0x157b, 0x13e988b3},
-  {0x157c, 0x13e988b4},
-  {0x157d, 0x13e988b5},
-  {0x157e, 0x13e988b6},
-  {0x157f, 0x13e988b7},
-  {0x1580, 0x13e988b8},
-  {0x1581, 0x13e988b9},
-  {0x1582, 0x13e98cb0},
-  {0x1583, 0x13e98cb1},
-  {0x1584, 0x13e98cb2},
-  {0x1585, 0x13e98cb3},
-  {0x1586, 0x13e98cb4},
-  {0x1587, 0x13e98cb5},
-  {0x1588, 0x13e98cb6},
-  {0x1589, 0x13e98cb7},
-  {0x158a, 0x13e98cb8},
-  {0x158b, 0x13e98cb9},
-  {0x158c, 0x13e990b0},
-  {0x158d, 0x13e990b1},
-  {0x158e, 0x13e990b2},
-  {0x158f, 0x13e990b3},
-  {0x1590, 0x13e990b4},
-  {0x1591, 0x13e990b5},
-  {0x1592, 0x13e990b6},
-  {0x1593, 0x13e990b7},
-  {0x1594, 0x13e990b8},
-  {0x1595, 0x13e990b9},
-  {0x1596, 0x13e994b0},
-  {0x1597, 0x13e994b1},
-  {0x1598, 0x13e994b2},
-  {0x1599, 0x13e994b3},
-  {0x159a, 0x13e994b4},
-  {0x159b, 0x13e994b5},
-  {0x159c, 0x13e994b6},
-  {0x159d, 0x13e994b7},
-  {0x159e, 0x13e994b8},
-  {0x159f, 0x13e994b9},
-  {0x15a0, 0x13e998b0},
-  {0x15a1, 0x13e998b1},
-  {0x15a2, 0x13e998b2},
-  {0x15a3, 0x13e998b3},
-  {0x15a4, 0x13e998b4},
-  {0x15a5, 0x13e998b5},
-  {0x15a6, 0x13e998b6},
-  {0x15a7, 0x13e998b7},
-  {0x15a8, 0x13e998b8},
-  {0x15a9, 0x13e998b9},
-  {0x15aa, 0x13e99cb0},
-  {0x15ab, 0x13e99cb1},
-  {0x15ac, 0x13e99cb2},
-  {0x15ad, 0x13e99cb3},
-  {0x15ae, 0x13e99cb4},
-  {0x15af, 0x13e99cb5},
-  {0x15b0, 0x13e99cb6},
-  {0x15b1, 0x13e99cb7},
-  {0x15b2, 0x13e99cb8},
-  {0x15b3, 0x13e99cb9},
-  {0x15b4, 0x13e9a0b0},
-  {0x15b5, 0x13e9a0b1},
-  {0x15b6, 0x13e9a0b2},
-  {0x15b7, 0x13e9a0b3},
-  {0x15b8, 0x13e9a0b4},
-  {0x15b9, 0x13e9a0b5},
-  {0x15ba, 0x13e9a0b6},
-  {0x15bb, 0x13e9a0b7},
-  {0x15bc, 0x13e9a0b8},
-  {0x15bd, 0x13e9a0b9},
-  {0x15be, 0x13e9a4b0},
-  {0x15bf, 0x13e9a4b1},
-  {0x15c0, 0x13e9a4b2},
-  {0x15c1, 0x13e9a4b3},
-  {0x15c2, 0x13e9a4b4},
-  {0x15c3, 0x13e9a4b5},
-  {0x15c4, 0x13e9a4b6},
-  {0x15c5, 0x13e9a4b7},
-  {0x15c6, 0x13e9a4b8},
-  {0x15c7, 0x13e9a4b9},
-  {0x15c8, 0x13e9a8b0},
-  {0x15c9, 0x13e9a8b1},
-  {0x15ca, 0x13e9a8b2},
-  {0x15cb, 0x13e9a8b3},
-  {0x15cc, 0x13e9a8b4},
-  {0x15cd, 0x13e9a8b5},
-  {0x15ce, 0x13e9a8b6},
-  {0x15cf, 0x13e9a8b7},
-  {0x15d0, 0x13e9a8b8},
-  {0x15d1, 0x13e9a8b9},
-  {0x15d2, 0x13e9acb0},
-  {0x15d3, 0x13e9acb1},
-  {0x15d4, 0x13e9acb2},
-  {0x15d5, 0x13e9acb3},
-  {0x15d6, 0x13e9acb4},
-  {0x15d7, 0x13e9acb5},
-  {0x15d8, 0x13e9acb6},
-  {0x15d9, 0x13e9acb7},
-  {0x15da, 0x13e9acb8},
-  {0x15db, 0x13e9acb9},
-  {0x15dc, 0x13e9b0b0},
-  {0x15dd, 0x13e9b0b1},
-  {0x15de, 0x13e9b0b2},
-  {0x15df, 0x13e9b0b3},
-  {0x15e0, 0x13e9b0b4},
-  {0x15e1, 0x13e9b0b5},
-  {0x15e2, 0x13e9b0b6},
-  {0x15e3, 0x13e9b0b7},
-  {0x15e4, 0x13e9b0b8},
-  {0x15e5, 0x13e9b0b9},
-  {0x15e6, 0x13e9b4b0},
-  {0x15e7, 0x13e9b4b1},
-  {0x15e8, 0x13e9b4b2},
-  {0x15e9, 0x13e9b4b3},
-  {0x15ea, 0x13e9b4b4},
-  {0x15eb, 0x13e9b4b5},
-  {0x15ec, 0x13e9b4b6},
-  {0x15ed, 0x13e9b4b7},
-  {0x15ee, 0x13e9b4b8},
-  {0x15ef, 0x13e9b4b9},
-  {0x15f0, 0x13e9b8b0},
-  {0x15f1, 0x13e9b8b1},
-  {0x15f2, 0x13e9b8b2},
-  {0x15f3, 0x13e9b8b3},
-  {0x15f4, 0x13e9b8b4},
-  {0x15f5, 0x13e9b8b5},
-  {0x15f6, 0x13e9b8b6},
-  {0x15f7, 0x13e9b8b7},
-  {0x15f8, 0x13e9b8b8},
-  {0x15f9, 0x13e9b8b9},
-  {0x15fa, 0x13e9bcb0},
-  {0x15fb, 0x13e9bcb1},
-  {0x15fc, 0x13e9bcb2},
-  {0x15fd, 0x13e9bcb3},
-  {0x15fe, 0x13e9bcb4},
-  {0x15ff, 0x13e9bcb5},
-  {0x1600, 0x13e9bcb6},
-  {0x1601, 0x13e9bcb7},
-  {0x1602, 0x13e9bcb8},
-  {0x1603, 0x13e9bcb9},
-  {0x1604, 0x13ea80b0},
-  {0x1605, 0x13ea80b1},
-  {0x1606, 0x13ea80b2},
-  {0x1607, 0x13ea80b3},
-  {0x1608, 0x13ea80b4},
-  {0x1609, 0x13ea80b5},
-  {0x160a, 0x13ea80b6},
-  {0x160b, 0x13ea80b7},
-  {0x160c, 0x13ea80b8},
-  {0x160d, 0x13ea80b9},
-  {0x160e, 0x13ea84b0},
-  {0x160f, 0x13ea84b1},
-  {0x1610, 0x13ea84b2},
-  {0x1611, 0x13ea84b3},
-  {0x1612, 0x13ea84b4},
-  {0x1613, 0x13ea84b5},
-  {0x1614, 0x13ea84b6},
-  {0x1615, 0x13ea84b7},
-  {0x1616, 0x13ea84b8},
-  {0x1617, 0x13ea84b9},
-  {0x1618, 0x13ea88b0},
-  {0x1619, 0x13ea88b1},
-  {0x161a, 0x13ea88b2},
-  {0x161b, 0x13ea88b3},
-  {0x161c, 0x13ea88b4},
-  {0x161d, 0x13ea88b5},
-  {0x161e, 0x13ea88b6},
-  {0x161f, 0x13ea88b7},
-  {0x1620, 0x13ea88b8},
-  {0x1621, 0x13ea88b9},
-  {0x1622, 0x13ea8cb0},
-  {0x1623, 0x13ea8cb1},
-  {0x1624, 0x13ea8cb2},
-  {0x1625, 0x13ea8cb3},
-  {0x1626, 0x13ea8cb4},
-  {0x1627, 0x13ea8cb5},
-  {0x1628, 0x13ea8cb6},
-  {0x1629, 0x13ea8cb7},
-  {0x162a, 0x13ea8cb8},
-  {0x162b, 0x13ea8cb9},
-  {0x162c, 0x13ea90b0},
-  {0x162d, 0x13ea90b1},
-  {0x162e, 0x13ea90b2},
-  {0x162f, 0x13ea90b3},
-  {0x1630, 0x13ea90b4},
-  {0x1631, 0x13ea90b5},
-  {0x1632, 0x13ea90b6},
-  {0x1633, 0x13ea90b7},
-  {0x1634, 0x13ea90b8},
-  {0x1635, 0x13ea90b9},
-  {0x1636, 0x13ea94b0},
-  {0x1637, 0x13ea94b1},
-  {0x1638, 0x13ea94b2},
-  {0x1639, 0x13ea94b3},
-  {0x163a, 0x13ea94b4},
-  {0x163b, 0x13ea94b5},
-  {0x163c, 0x13ea94b6},
-  {0x163d, 0x13ea94b7},
-  {0x163e, 0x13ea94b8},
-  {0x163f, 0x13ea94b9},
-  {0x1640, 0x13ea98b0},
-  {0x1641, 0x13ea98b1},
-  {0x1642, 0x13ea98b2},
-  {0x1643, 0x13ea98b3},
-  {0x1644, 0x13ea98b4},
-  {0x1645, 0x13ea98b5},
-  {0x1646, 0x13ea98b6},
-  {0x1647, 0x13ea98b7},
-  {0x1648, 0x13ea98b8},
-  {0x1649, 0x13ea98b9},
-  {0x164a, 0x13ea9cb0},
-  {0x164b, 0x13ea9cb1},
-  {0x164c, 0x13ea9cb2},
-  {0x164d, 0x13ea9cb3},
-  {0x164e, 0x13ea9cb4},
-  {0x164f, 0x13ea9cb5},
-  {0x1650, 0x13ea9cb6},
-  {0x1651, 0x13ea9cb7},
-  {0x1652, 0x13ea9cb8},
-  {0x1653, 0x13ea9cb9},
-  {0x1654, 0x13eaa0b0},
-  {0x1655, 0x13eaa0b1},
-  {0x1656, 0x13eaa0b2},
-  {0x1657, 0x13eaa0b3},
-  {0x1658, 0x13eaa0b4},
-  {0x1659, 0x13eaa0b5},
-  {0x165a, 0x13eaa0b6},
-  {0x165b, 0x13eaa0b7},
-  {0x165c, 0x13eaa0b8},
-  {0x165d, 0x13eaa0b9},
-  {0x165e, 0x13eaa4b0},
-  {0x165f, 0x13eaa4b1},
-  {0x1660, 0x13eaa4b2},
-  {0x1661, 0x13eaa4b3},
-  {0x1662, 0x13eaa4b4},
-  {0x1663, 0x13eaa4b5},
-  {0x1664, 0x13eaa4b6},
-  {0x1665, 0x13eaa4b7},
-  {0x1666, 0x13eaa4b8},
-  {0x1667, 0x13eaa4b9},
-  {0x1668, 0x13eaa8b0},
-  {0x1669, 0x13eaa8b1},
-  {0x166a, 0x13eaa8b2},
-  {0x166b, 0x13eaa8b3},
-  {0x166c, 0x13eaa8b4},
-  {0x166d, 0x13eaa8b5},
-  {0x166e, 0x13eaa8b6},
-  {0x166f, 0x13eaa8b7},
-  {0x1670, 0x13eaa8b8},
-  {0x1671, 0x13eaa8b9},
-  {0x1672, 0x13eaacb0},
-  {0x1673, 0x13eaacb1},
-  {0x1674, 0x13eaacb2},
-  {0x1675, 0x13eaacb3},
-  {0x1676, 0x13eaacb4},
-  {0x1677, 0x13eaacb5},
-  {0x1678, 0x13eaacb6},
-  {0x1679, 0x13eaacb7},
-  {0x167a, 0x13eaacb8},
-  {0x167b, 0x13eaacb9},
-  {0x167c, 0x13eab0b0},
-  {0x167d, 0x13eab0b1},
-  {0x167e, 0x13eab0b2},
-  {0x167f, 0x13eab0b3},
-  {0x1680, 0x13eab0b4},
-  {0x1681, 0x13eab0b5},
-  {0x1682, 0x13eab0b6},
-  {0x1683, 0x13eab0b7},
-  {0x1684, 0x13eab0b8},
-  {0x1685, 0x13eab0b9},
-  {0x1686, 0x13eab4b0},
-  {0x1687, 0x13eab4b1},
-  {0x1688, 0x13eab4b2},
-  {0x1689, 0x13eab4b3},
-  {0x168a, 0x13eab4b4},
-  {0x168b, 0x13eab4b5},
-  {0x168c, 0x13eab4b6},
-  {0x168d, 0x13eab4b7},
-  {0x168e, 0x13eab4b8},
-  {0x168f, 0x13eab4b9},
-  {0x1690, 0x13eab8b0},
-  {0x1691, 0x13eab8b1},
-  {0x1692, 0x13eab8b2},
-  {0x1693, 0x13eab8b3},
-  {0x1694, 0x13eab8b4},
-  {0x1695, 0x13eab8b5},
-  {0x1696, 0x13eab8b6},
-  {0x1697, 0x13eab8b7},
-  {0x1698, 0x13eab8b8},
-  {0x1699, 0x13eab8b9},
-  {0x169a, 0x13eabcb0},
-  {0x169b, 0x13eabcb1},
-  {0x169c, 0x13eabcb2},
-  {0x169d, 0x13eabcb3},
-  {0x169e, 0x13eabcb4},
-  {0x169f, 0x13eabcb5},
-  {0x16a0, 0x13eabcb6},
-  {0x16a1, 0x13eabcb7},
-  {0x16a2, 0x13eabcb8},
-  {0x16a3, 0x13eabcb9},
-  {0x16a4, 0x13eb80b0},
-  {0x16a5, 0x13eb80b1},
-  {0x16a6, 0x13eb80b2},
-  {0x16a7, 0x13eb80b3},
-  {0x16a8, 0x13eb80b4},
-  {0x16a9, 0x13eb80b5},
-  {0x16aa, 0x13eb80b6},
-  {0x16ab, 0x13eb80b7},
-  {0x16ac, 0x13eb80b8},
-  {0x16ad, 0x13eb80b9},
-  {0x16ae, 0x13eb84b0},
-  {0x16af, 0x13eb84b1},
-  {0x16b0, 0x13eb84b2},
-  {0x16b1, 0x13eb84b3},
-  {0x16b2, 0x13eb84b4},
-  {0x16b3, 0x13eb84b5},
-  {0x16b4, 0x13eb84b6},
-  {0x16b5, 0x13eb84b7},
-  {0x16b6, 0x13eb84b8},
-  {0x16b7, 0x13eb84b9},
-  {0x16b8, 0x13eb88b0},
-  {0x16b9, 0x13eb88b1},
-  {0x16ba, 0x13eb88b2},
-  {0x16bb, 0x13eb88b3},
-  {0x16bc, 0x13eb88b4},
-  {0x16bd, 0x13eb88b5},
-  {0x16be, 0x13eb88b6},
-  {0x16bf, 0x13eb88b7},
-  {0x16c0, 0x13eb88b8},
-  {0x16c1, 0x13eb88b9},
-  {0x16c2, 0x13eb8cb0},
-  {0x16c3, 0x13eb8cb1},
-  {0x16c4, 0x13eb8cb2},
-  {0x16c5, 0x13eb8cb3},
-  {0x16c6, 0x13eb8cb4},
-  {0x16c7, 0x13eb8cb5},
-  {0x16c8, 0x13eb8cb6},
-  {0x16c9, 0x13eb8cb7},
-  {0x16ca, 0x13eb8cb8},
-  {0x16cb, 0x13eb8cb9},
-  {0x16cc, 0x13eb90b0},
-  {0x16cd, 0x13eb90b1},
-  {0x16ce, 0x13eb90b2},
-  {0x16cf, 0x13eb90b3},
-  {0x16d0, 0x13eb90b4},
-  {0x16d1, 0x13eb90b5},
-  {0x16d2, 0x13eb90b6},
-  {0x16d3, 0x13eb90b7},
-  {0x16d4, 0x13eb90b8},
-  {0x16d5, 0x13eb90b9},
-  {0x16d6, 0x13eb94b0},
-  {0x16d7, 0x13eb94b1},
-  {0x16d8, 0x13eb94b2},
-  {0x16d9, 0x13eb94b3},
-  {0x16da, 0x13eb94b4},
-  {0x16db, 0x13eb94b5},
-  {0x16dc, 0x13eb94b6},
-  {0x16dd, 0x13eb94b7},
-  {0x16de, 0x13eb94b8},
-  {0x16df, 0x13eb94b9},
-  {0x16e0, 0x13eb98b0},
-  {0x16e1, 0x13eb98b1},
-  {0x16e2, 0x13eb98b2},
-  {0x16e3, 0x13eb98b3},
-  {0x16e4, 0x13eb98b4},
-  {0x16e5, 0x13eb98b5},
-  {0x16e6, 0x13eb98b6},
-  {0x16e7, 0x13eb98b7},
-  {0x16e8, 0x13eb98b8},
-  {0x16e9, 0x13eb98b9},
-  {0x16ea, 0x13eb9cb0},
-  {0x16eb, 0x13eb9cb1},
-  {0x16ec, 0x13eb9cb2},
-  {0x16ed, 0x13eb9cb3},
-  {0x16ee, 0x13eb9cb4},
-  {0x16ef, 0x13eb9cb5},
-  {0x16f0, 0x13eb9cb6},
-  {0x16f1, 0x13eb9cb7},
-  {0x16f2, 0x13eb9cb8},
-  {0x16f3, 0x13eb9cb9},
-  {0x16f4, 0x13eba0b0},
-  {0x16f5, 0x13eba0b1},
-  {0x16f6, 0x13eba0b2},
-  {0x16f7, 0x13eba0b3},
-  {0x16f8, 0x13eba0b4},
-  {0x16f9, 0x13eba0b5},
-  {0x16fa, 0x13eba0b6},
-  {0x16fb, 0x13eba0b7},
-  {0x16fc, 0x13eba0b8},
-  {0x16fd, 0x13eba0b9},
-  {0x16fe, 0x13eba4b0},
-  {0x16ff, 0x13eba4b1},
-  {0x1700, 0x13eba4b2},
-  {0x1701, 0x13eba4b3},
-  {0x1702, 0x13eba4b4},
-  {0x1703, 0x13eba4b5},
-  {0x1704, 0x13eba4b6},
-  {0x1705, 0x13eba4b7},
-  {0x1706, 0x13eba4b8},
-  {0x1707, 0x13eba4b9},
-  {0x1708, 0x13eba8b0},
-  {0x1709, 0x13eba8b1},
-  {0x170a, 0x13eba8b2},
-  {0x170b, 0x13eba8b3},
-  {0x170c, 0x13eba8b4},
-  {0x170d, 0x13eba8b5},
-  {0x170e, 0x13eba8b6},
-  {0x170f, 0x13eba8b7},
-  {0x1710, 0x13eba8b8},
-  {0x1711, 0x13eba8b9},
-  {0x1712, 0x13ebacb0},
-  {0x1713, 0x13ebacb1},
-  {0x1714, 0x13ebacb2},
-  {0x1715, 0x13ebacb3},
-  {0x1716, 0x13ebacb4},
-  {0x1717, 0x13ebacb5},
-  {0x1718, 0x13ebacb6},
-  {0x1719, 0x13ebacb7},
-  {0x171a, 0x13ebacb8},
-  {0x171b, 0x13ebacb9},
-  {0x171c, 0x13ebb0b0},
-  {0x171d, 0x13ebb0b1},
-  {0x171e, 0x13ebb0b2},
-  {0x171f, 0x13ebb0b3},
-  {0x1720, 0x13ebb0b4},
-  {0x1721, 0x13ebb0b5},
-  {0x1722, 0x13ebb0b6},
-  {0x1723, 0x13ebb0b7},
-  {0x1724, 0x13ebb0b8},
-  {0x1725, 0x13ebb0b9},
-  {0x1726, 0x13ebb4b0},
-  {0x1727, 0x13ebb4b1},
-  {0x1728, 0x13ebb4b2},
-  {0x1729, 0x13ebb4b3},
-  {0x172a, 0x13ebb4b4},
-  {0x172b, 0x13ebb4b5},
-  {0x172c, 0x13ebb4b6},
-  {0x172d, 0x13ebb4b7},
-  {0x172e, 0x13ebb4b8},
-  {0x172f, 0x13ebb4b9},
-  {0x1730, 0x13ebb8b0},
-  {0x1731, 0x13ebb8b1},
-  {0x1732, 0x13ebb8b2},
-  {0x1733, 0x13ebb8b3},
-  {0x1734, 0x13ebb8b4},
-  {0x1735, 0x13ebb8b5},
-  {0x1736, 0x13ebb8b6},
-  {0x1737, 0x13ebb8b7},
-  {0x1738, 0x13ebb8b8},
-  {0x1739, 0x13ebb8b9},
-  {0x173a, 0x13ebbcb0},
-  {0x173b, 0x13ebbcb1},
-  {0x173c, 0x13ebbcb2},
-  {0x173d, 0x13ebbcb3},
-  {0x173e, 0x13ebbcb4},
-  {0x173f, 0x13ebbcb5},
-  {0x1740, 0x13ebbcb6},
-  {0x1741, 0x13ebbcb7},
-  {0x1742, 0x13ebbcb8},
-  {0x1743, 0x13ebbcb9},
-  {0x1744, 0x13ec80b0},
-  {0x1745, 0x13ec80b1},
-  {0x1746, 0x13ec80b2},
-  {0x1747, 0x13ec80b3},
-  {0x1748, 0x13ec80b4},
-  {0x1749, 0x13ec80b5},
-  {0x174a, 0x13ec80b6},
-  {0x174b, 0x13ec80b7},
-  {0x174c, 0x13ec80b8},
-  {0x174d, 0x13ec80b9},
-  {0x174e, 0x13ec84b0},
-  {0x174f, 0x13ec84b1},
-  {0x1750, 0x13ec84b2},
-  {0x1751, 0x13ec84b3},
-  {0x1752, 0x13ec84b4},
-  {0x1753, 0x13ec84b5},
-  {0x1754, 0x13ec84b6},
-  {0x1755, 0x13ec84b7},
-  {0x1756, 0x13ec84b8},
-  {0x1757, 0x13ec84b9},
-  {0x1758, 0x13ec88b0},
-  {0x1759, 0x13ec88b1},
-  {0x175a, 0x13ec88b2},
-  {0x175b, 0x13ec88b3},
-  {0x175c, 0x13ec88b4},
-  {0x175d, 0x13ec88b5},
-  {0x175e, 0x13ec88b6},
-  {0x175f, 0x13ec88b7},
-  {0x1760, 0x13ec88b8},
-  {0x1761, 0x13ec88b9},
-  {0x1762, 0x13ec8cb0},
-  {0x1763, 0x13ec8cb1},
-  {0x1764, 0x13ec8cb2},
-  {0x1765, 0x13ec8cb3},
-  {0x1766, 0x13ec8cb4},
-  {0x1767, 0x13ec8cb5},
-  {0x1768, 0x13ec8cb6},
-  {0x1769, 0x13ec8cb7},
-  {0x176a, 0x13ec8cb8},
-  {0x176b, 0x13ec8cb9},
-  {0x176c, 0x13ec90b0},
-  {0x176d, 0x13ec90b1},
-  {0x176e, 0x13ec90b2},
-  {0x176f, 0x13ec90b3},
-  {0x1770, 0x13ec90b4},
-  {0x1771, 0x13ec90b5},
-  {0x1772, 0x13ec90b6},
-  {0x1773, 0x13ec90b7},
-  {0x1774, 0x13ec90b8},
-  {0x1775, 0x13ec90b9},
-  {0x1776, 0x13ec94b0},
-  {0x1777, 0x13ec94b1},
-  {0x1778, 0x13ec94b2},
-  {0x1779, 0x13ec94b3},
-  {0x177a, 0x13ec94b4},
-  {0x177b, 0x13ec94b5},
-  {0x177c, 0x13ec94b6},
-  {0x177d, 0x13ec94b7},
-  {0x177e, 0x13ec94b8},
-  {0x177f, 0x13ec94b9},
-  {0x1780, 0x13ec98b0},
-  {0x1781, 0x13ec98b1},
-  {0x1782, 0x13ec98b2},
-  {0x1783, 0x13ec98b3},
-  {0x1784, 0x13ec98b4},
-  {0x1785, 0x13ec98b5},
-  {0x1786, 0x13ec98b6},
-  {0x1787, 0x13ec98b7},
-  {0x1788, 0x13ec98b8},
-  {0x1789, 0x13ec98b9},
-  {0x178a, 0x13ec9cb0},
-  {0x178b, 0x13ec9cb1},
-  {0x178c, 0x13ec9cb2},
-  {0x178d, 0x13ec9cb3},
-  {0x178e, 0x13ec9cb4},
-  {0x178f, 0x13ec9cb5},
-  {0x1790, 0x13ec9cb6},
-  {0x1791, 0x13ec9cb7},
-  {0x1792, 0x13ec9cb8},
-  {0x1793, 0x13ec9cb9},
-  {0x1794, 0x13eca0b0},
-  {0x1795, 0x13eca0b1},
-  {0x1796, 0x13eca0b2},
-  {0x1797, 0x13eca0b3},
-  {0x1798, 0x13eca0b4},
-  {0x1799, 0x13eca0b5},
-  {0x179a, 0x13eca0b6},
-  {0x179b, 0x13eca0b7},
-  {0x179c, 0x13eca0b8},
-  {0x179d, 0x13eca0b9},
-  {0x179e, 0x13eca4b0},
-  {0x179f, 0x13eca4b1},
-  {0x17a0, 0x13eca4b2},
-  {0x17a1, 0x13eca4b3},
-  {0x17a2, 0x13eca4b4},
-  {0x17a3, 0x13eca4b5},
-  {0x17a4, 0x13eca4b6},
-  {0x17a5, 0x13eca4b7},
-  {0x17a6, 0x13eca4b8},
-  {0x17a7, 0x13eca4b9},
-  {0x17a8, 0x13eca8b0},
-  {0x17a9, 0x13eca8b1},
-  {0x17aa, 0x13eca8b2},
-  {0x17ab, 0x13eca8b3},
-  {0x17ac, 0x13eca8b4},
-  {0x17ad, 0x13eca8b5},
-  {0x17ae, 0x13eca8b6},
-  {0x17af, 0x13eca8b7},
-  {0x17b0, 0x13eca8b8},
-  {0x17b1, 0x13eca8b9},
-  {0x17b2, 0x13ecacb0},
-  {0x17b3, 0x13ecacb1},
-  {0x17b4, 0x13ecacb2},
-  {0x17b5, 0x13ecacb3},
-  {0x17b6, 0x13ecacb4},
-  {0x17b7, 0x13ecacb5},
-  {0x17b8, 0x13ecacb6},
-  {0x17b9, 0x13ecacb7},
-  {0x17ba, 0x13ecacb8},
-  {0x17bb, 0x13ecacb9},
-  {0x17bc, 0x13ecb0b0},
-  {0x17bd, 0x13ecb0b1},
-  {0x17be, 0x13ecb0b2},
-  {0x17bf, 0x13ecb0b3},
-  {0x17c0, 0x13ecb0b4},
-  {0x17c1, 0x13ecb0b5},
-  {0x17c2, 0x13ecb0b6},
-  {0x17c3, 0x13ecb0b7},
-  {0x17c4, 0x13ecb0b8},
-  {0x17c5, 0x13ecb0b9},
-  {0x17c6, 0x13ecb4b0},
-  {0x17c7, 0x13ecb4b1},
-  {0x17c8, 0x13ecb4b2},
-  {0x17c9, 0x13ecb4b3},
-  {0x17ca, 0x13ecb4b4},
-  {0x17cb, 0x13ecb4b5},
-  {0x17cc, 0x13ecb4b6},
-  {0x17cd, 0x13ecb4b7},
-  {0x17ce, 0x13ecb4b8},
-  {0x17cf, 0x13ecb4b9},
-  {0x17d0, 0x13ecb8b0},
-  {0x17d1, 0x13ecb8b1},
-  {0x17d2, 0x13ecb8b2},
-  {0x17d3, 0x13ecb8b3},
-  {0x17d4, 0x13ecb8b4},
-  {0x17d5, 0x13ecb8b5},
-  {0x17d6, 0x13ecb8b6},
-  {0x17d7, 0x13ecb8b7},
-  {0x17d8, 0x13ecb8b8},
-  {0x17d9, 0x13ecb8b9},
-  {0x17da, 0x13ecbcb0},
-  {0x17db, 0x13ecbcb1},
-  {0x17dc, 0x13ecbcb2},
-  {0x17dd, 0x13ecbcb3},
-  {0x17de, 0x13ecbcb4},
-  {0x17df, 0x13ecbcb5},
-  {0x17e0, 0x13ecbcb6},
-  {0x17e1, 0x13ecbcb7},
-  {0x17e2, 0x13ecbcb8},
-  {0x17e3, 0x13ecbcb9},
-  {0x17e4, 0x13ed80b0},
-  {0x17e5, 0x13ed80b1},
-  {0x17e6, 0x13ed80b2},
-  {0x17e7, 0x13ed80b3},
-  {0x17e8, 0x13ed80b4},
-  {0x17e9, 0x13ed80b5},
-  {0x17ea, 0x13ed80b6},
-  {0x17eb, 0x13ed80b7},
-  {0x17ec, 0x13ed80b8},
-  {0x17ed, 0x13ed80b9},
-  {0x17ee, 0x13ed84b0},
-  {0x17ef, 0x13ed84b1},
-  {0x17f0, 0x13ed84b2},
-  {0x17f1, 0x13ed84b3},
-  {0x17f2, 0x13ed84b4},
-  {0x17f3, 0x13ed84b5},
-  {0x17f4, 0x13ed84b6},
-  {0x17f5, 0x13ed84b7},
-  {0x17f6, 0x13ed84b8},
-  {0x17f7, 0x13ed84b9},
-  {0x17f8, 0x13ed88b0},
-  {0x17f9, 0x13ed88b1},
-  {0x17fa, 0x13ed88b2},
-  {0x17fb, 0x13ed88b3},
-  {0x17fc, 0x13ed88b4},
-  {0x17fd, 0x13ed88b5},
-  {0x17fe, 0x13ed88b6},
-  {0x17ff, 0x13ed88b7},
-  {0x1800, 0x13ed88b8},
-  {0x1801, 0x13ed88b9},
-  {0x1802, 0x13ed8cb0},
-  {0x1803, 0x13ed8cb1},
-  {0x1804, 0x13ed8cb2},
-  {0x1805, 0x13ed8cb3},
-  {0x1806, 0x13ed8cb4},
-  {0x1807, 0x13ed8cb5},
-  {0x1808, 0x13ed8cb6},
-  {0x1809, 0x13ed8cb7},
-  {0x180a, 0x13ed8cb8},
-  {0x180b, 0x13ed8cb9},
-  {0x180c, 0x13ed90b0},
-  {0x180d, 0x13ed90b1},
-  {0x180e, 0x13ed90b2},
-  {0x180f, 0x13ed90b3},
-  {0x1810, 0x13ed90b4},
-  {0x1811, 0x13ed90b5},
-  {0x1812, 0x13ed90b6},
-  {0x1813, 0x13ed90b7},
-  {0x1814, 0x13ed90b8},
-  {0x1815, 0x13ed90b9},
-  {0x1816, 0x13ed94b0},
-  {0x1817, 0x13ed94b1},
-  {0x1818, 0x13ed94b2},
-  {0x1819, 0x13ed94b3},
-  {0x181a, 0x13ed94b4},
-  {0x181b, 0x13ed94b5},
-  {0x181c, 0x13ed94b6},
-  {0x181d, 0x13ed94b7},
-  {0x181e, 0x13ed94b8},
-  {0x181f, 0x13ed94b9},
-  {0x1820, 0x13ed98b0},
-  {0x1821, 0x13ed98b1},
-  {0x1822, 0x13ed98b2},
-  {0x1823, 0x13ed98b3},
-  {0x1824, 0x13ed98b4},
-  {0x1825, 0x13ed98b5},
-  {0x1826, 0x13ed98b6},
-  {0x1827, 0x13ed98b7},
-  {0x1828, 0x13ed98b8},
-  {0x1829, 0x13ed98b9},
-  {0x182a, 0x13ed9cb0},
-  {0x182b, 0x13ed9cb1},
-  {0x182c, 0x13ed9cb2},
-  {0x182d, 0x13ed9cb3},
-  {0x182e, 0x13ed9cb4},
-  {0x182f, 0x13ed9cb5},
-  {0x1830, 0x13ed9cb6},
-  {0x1831, 0x13ed9cb7},
-  {0x1832, 0x13ed9cb8},
-  {0x1833, 0x13ed9cb9},
-  {0x1834, 0x13eda0b0},
-  {0x1835, 0x13eda0b1},
-  {0x1836, 0x13eda0b2},
-  {0x1837, 0x13eda0b3},
-  {0x1838, 0x13eda0b4},
-  {0x1839, 0x13eda0b5},
-  {0x183a, 0x13eda0b6},
-  {0x183b, 0x13eda0b7},
-  {0x183c, 0x13eda0b8},
-  {0x183d, 0x13eda0b9},
-  {0x183e, 0x13eda4b0},
-  {0x183f, 0x13eda4b1},
-  {0x1840, 0x13eda4b2},
-  {0x1841, 0x13eda4b3},
-  {0x1842, 0x13eda4b4},
-  {0x1843, 0x13eda4b5},
-  {0x1844, 0x13eda4b6},
-  {0x1845, 0x13eda4b7},
-  {0x1846, 0x13eda4b8},
-  {0x1847, 0x13eda4b9},
-  {0x1848, 0x13eda8b0},
-  {0x1849, 0x13eda8b1},
-  {0x184a, 0x13eda8b2},
-  {0x184b, 0x13eda8b3},
-  {0x184c, 0x13eda8b4},
-  {0x184d, 0x13eda8b5},
-  {0x184e, 0x13eda8b6},
-  {0x184f, 0x13eda8b7},
-  {0x1850, 0x13eda8b8},
-  {0x1851, 0x13eda8b9},
-  {0x1852, 0x13edacb0},
-  {0x1853, 0x13edacb1},
-  {0x1854, 0x13edacb2},
-  {0x1855, 0x13edacb3},
-  {0x1856, 0x13edacb4},
-  {0x1857, 0x13edacb5},
-  {0x1858, 0x13edacb6},
-  {0x1859, 0x13edacb7},
-  {0x185a, 0x13edacb8},
-  {0x185b, 0x13edacb9},
-  {0x185c, 0x13edb0b0},
-  {0x185d, 0x13edb0b1},
-  {0x185e, 0x13edb0b2},
-  {0x185f, 0x13edb0b3},
-  {0x1860, 0x13edb0b4},
-  {0x1861, 0x13edb0b5},
-  {0x1862, 0x13edb0b6},
-  {0x1863, 0x13edb0b7},
-  {0x1864, 0x13edb0b8},
-  {0x1865, 0x13edb0b9},
-  {0x1866, 0x13edb4b0},
-  {0x1867, 0x13edb4b1},
-  {0x1868, 0x13edb4b2},
-  {0x1869, 0x13edb4b3},
-  {0x186a, 0x13edb4b4},
-  {0x186b, 0x13edb4b5},
-  {0x186c, 0x13edb4b6},
-  {0x186d, 0x13edb4b7},
-  {0x186e, 0x13edb4b8},
-  {0x186f, 0x13edb4b9},
-  {0x1870, 0x13edb8b0},
-  {0x1871, 0x13edb8b1},
-  {0x1872, 0x13edb8b2},
-  {0x1873, 0x13edb8b3},
-  {0x1874, 0x13edb8b4},
-  {0x1875, 0x13edb8b5},
-  {0x1876, 0x13edb8b6},
-  {0x1877, 0x13edb8b7},
-  {0x1878, 0x13edb8b8},
-  {0x1879, 0x13edb8b9},
-  {0x187a, 0x13edbcb0},
-  {0x187b, 0x13edbcb1},
-  {0x187c, 0x13edbcb2},
-  {0x187d, 0x13edbcb3},
-  {0x187e, 0x13edbcb4},
-  {0x187f, 0x13edbcb5},
-  {0x1880, 0x13edbcb6},
-  {0x1881, 0x13edbcb7},
-  {0x1882, 0x13edbcb8},
-  {0x1883, 0x13edbcb9},
-  {0x1884, 0x13ee80b0},
-  {0x1885, 0x13ee80b1},
-  {0x1886, 0x13ee80b2},
-  {0x1887, 0x13ee80b3},
-  {0x1888, 0x13ee80b4},
-  {0x1889, 0x13ee80b5},
-  {0x188a, 0x13ee80b6},
-  {0x188b, 0x13ee80b7},
-  {0x188c, 0x13ee80b8},
-  {0x188d, 0x13ee80b9},
-  {0x188e, 0x13ee84b0},
-  {0x188f, 0x13ee84b1},
-  {0x1890, 0x13ee84b2},
-  {0x1891, 0x13ee84b3},
-  {0x1892, 0x13ee84b4},
-  {0x1893, 0x13ee84b5},
-  {0x1894, 0x13ee84b6},
-  {0x1895, 0x13ee84b7},
-  {0x1896, 0x13ee84b8},
-  {0x1897, 0x13ee84b9},
-  {0x1898, 0x13ee88b0},
-  {0x1899, 0x13ee88b1},
-  {0x189a, 0x13ee88b2},
-  {0x189b, 0x13ee88b3},
-  {0x189c, 0x13ee88b4},
-  {0x189d, 0x13ee88b5},
-  {0x189e, 0x13ee88b6},
-  {0x189f, 0x13ee88b7},
-  {0x18a0, 0x13ee88b8},
-  {0x18a1, 0x13ee88b9},
-  {0x18a2, 0x13ee8cb0},
-  {0x18a3, 0x13ee8cb1},
-  {0x18a4, 0x13ee8cb2},
-  {0x18a5, 0x13ee8cb3},
-  {0x18a6, 0x13ee8cb4},
-  {0x18a7, 0x13ee8cb5},
-  {0x18a8, 0x13ee8cb6},
-  {0x18a9, 0x13ee8cb7},
-  {0x18aa, 0x13ee8cb8},
-  {0x18ab, 0x13ee8cb9},
-  {0x18ac, 0x13ee90b0},
-  {0x18ad, 0x13ee90b1},
-  {0x18ae, 0x13ee90b2},
-  {0x18af, 0x13ee90b3},
-  {0x18b0, 0x13ee90b4},
-  {0x18b1, 0x13ee90b5},
-  {0x18b2, 0x13ee90b6},
-  {0x18b3, 0x13ee90b7},
-  {0x18b4, 0x13ee90b8},
-  {0x18b5, 0x13ee90b9},
-  {0x18b6, 0x13ee94b0},
-  {0x18b7, 0x13ee94b1},
-  {0x18b8, 0x13ee94b2},
-  {0x18b9, 0x13ee94b3},
-  {0x18ba, 0x13ee94b4},
-  {0x18bb, 0x13ee94b5},
-  {0x18bc, 0x13ee94b6},
-  {0x18bd, 0x13ee94b7},
-  {0x18be, 0x13ee94b8},
-  {0x18bf, 0x13ee94b9},
-  {0x18c0, 0x13ee98b0},
-  {0x18c1, 0x13ee98b1},
-  {0x18c2, 0x13ee98b2},
-  {0x18c3, 0x13ee98b3},
-  {0x18c4, 0x13ee98b4},
-  {0x18c5, 0x13ee98b5},
-  {0x18c6, 0x13ee98b6},
-  {0x18c7, 0x13ee98b7},
-  {0x18c8, 0x13ee98b8},
-  {0x18c9, 0x13ee98b9},
-  {0x18ca, 0x13ee9cb0},
-  {0x18cb, 0x13ee9cb1},
-  {0x18cc, 0x13ee9cb2},
-  {0x18cd, 0x13ee9cb3},
-  {0x18ce, 0x13ee9cb4},
-  {0x18cf, 0x13ee9cb5},
-  {0x18d0, 0x13ee9cb6},
-  {0x18d1, 0x13ee9cb7},
-  {0x18d2, 0x13ee9cb8},
-  {0x18d3, 0x13ee9cb9},
-  {0x18d4, 0x13eea0b0},
-  {0x18d5, 0x13eea0b1},
-  {0x18d6, 0x13eea0b2},
-  {0x18d7, 0x13eea0b3},
-  {0x18d8, 0x13eea0b4},
-  {0x18d9, 0x13eea0b5},
-  {0x18da, 0x13eea0b6},
-  {0x18db, 0x13eea0b7},
-  {0x18dc, 0x13eea0b8},
-  {0x18dd, 0x13eea0b9},
-  {0x18de, 0x13eea4b0},
-  {0x18df, 0x13eea4b1},
-  {0x18e0, 0x13eea4b2},
-  {0x18e1, 0x13eea4b3},
-  {0x18e2, 0x13eea4b4},
-  {0x18e3, 0x13eea4b5},
-  {0x18e4, 0x13eea4b6},
-  {0x18e5, 0x13eea4b7},
-  {0x18e6, 0x13eea4b8},
-  {0x18e7, 0x13eea4b9},
-  {0x18e8, 0x13eea8b0},
-  {0x18e9, 0x13eea8b1},
-  {0x18ea, 0x13eea8b2},
-  {0x18eb, 0x13eea8b3},
-  {0x18ec, 0x13eea8b4},
-  {0x18ed, 0x13eea8b5},
-  {0x18ee, 0x13eea8b6},
-  {0x18ef, 0x13eea8b7},
-  {0x18f0, 0x13eea8b8},
-  {0x18f1, 0x13eea8b9},
-  {0x18f2, 0x13eeacb0},
-  {0x18f3, 0x13eeacb1},
-  {0x18f4, 0x13eeacb2},
-  {0x18f5, 0x13eeacb3},
-  {0x18f6, 0x13eeacb4},
-  {0x18f7, 0x13eeacb5},
-  {0x18f8, 0x13eeacb6},
-  {0x18f9, 0x13eeacb7},
-  {0x18fa, 0x13eeacb8},
-  {0x18fb, 0x13eeacb9},
-  {0x18fc, 0x13eeb0b0},
-  {0x18fd, 0x13eeb0b1},
-  {0x18fe, 0x13eeb0b2},
-  {0x18ff, 0x13eeb0b3},
-  {0x1900, 0x13eeb0b4},
-  {0x1901, 0x13eeb0b5},
-  {0x1902, 0x13eeb0b6},
-  {0x1903, 0x13eeb0b7},
-  {0x1904, 0x13eeb0b8},
-  {0x1905, 0x13eeb0b9},
-  {0x1906, 0x13eeb4b0},
-  {0x1907, 0x13eeb4b1},
-  {0x1908, 0x13eeb4b2},
-  {0x1909, 0x13eeb4b3},
-  {0x190a, 0x13eeb4b4},
-  {0x190b, 0x13eeb4b5},
-  {0x190c, 0x13eeb4b6},
-  {0x190d, 0x13eeb4b7},
-  {0x190e, 0x13eeb4b8},
-  {0x190f, 0x13eeb4b9},
-  {0x1910, 0x13eeb8b0},
-  {0x1911, 0x13eeb8b1},
-  {0x1912, 0x13eeb8b2},
-  {0x1913, 0x13eeb8b3},
-  {0x1914, 0x13eeb8b4},
-  {0x1915, 0x13eeb8b5},
-  {0x1916, 0x13eeb8b6},
-  {0x1917, 0x13eeb8b7},
-  {0x1918, 0x13eeb8b8},
-  {0x1919, 0x13eeb8b9},
-  {0x191a, 0x13eebcb0},
-  {0x191b, 0x13eebcb1},
-  {0x191c, 0x13eebcb2},
-  {0x191d, 0x13eebcb3},
-  {0x191e, 0x13eebcb4},
-  {0x191f, 0x13eebcb5},
-  {0x1920, 0x13eebcb6},
-  {0x1921, 0x13eebcb7},
-  {0x1922, 0x13eebcb8},
-  {0x1923, 0x13eebcb9},
-  {0x1924, 0x13ef80b0},
-  {0x1925, 0x13ef80b1},
-  {0x1926, 0x13ef80b2},
-  {0x1927, 0x13ef80b3},
-  {0x1928, 0x13ef80b4},
-  {0x1929, 0x13ef80b5},
-  {0x192a, 0x13ef80b6},
-  {0x192b, 0x13ef80b7},
-  {0x192c, 0x13ef80b8},
-  {0x192d, 0x13ef80b9},
-  {0x192e, 0x13ef84b0},
-  {0x192f, 0x13ef84b1},
-  {0x1930, 0x13ef84b2},
-  {0x1931, 0x13ef84b3},
-  {0x1932, 0x13ef84b4},
-  {0x1933, 0x13ef84b5},
-  {0x1934, 0x13ef84b6},
-  {0x1935, 0x13ef84b7},
-  {0x1936, 0x13ef84b8},
-  {0x1937, 0x13ef84b9},
-  {0x1938, 0x13ef88b0},
-  {0x1939, 0x13ef88b1},
-  {0x193a, 0x13ef88b2},
-  {0x193b, 0x13ef88b3},
-  {0x193c, 0x13ef88b4},
-  {0x193d, 0x13ef88b5},
-  {0x193e, 0x13ef88b6},
-  {0x193f, 0x13ef88b7},
-  {0x1940, 0x13ef88b8},
-  {0x1941, 0x13ef88b9},
-  {0x1942, 0x13ef8cb0},
-  {0x1943, 0x13ef8cb1},
-  {0x1944, 0x13ef8cb2},
-  {0x1945, 0x13ef8cb3},
-  {0x1946, 0x13ef8cb4},
-  {0x1947, 0x13ef8cb5},
-  {0x1948, 0x13ef8cb6},
-  {0x1949, 0x13ef8cb7},
-  {0x194a, 0x13ef8cb8},
-  {0x194b, 0x13ef8cb9},
-  {0x194c, 0x13ef90b0},
-  {0x194d, 0x13ef90b1},
-  {0x194e, 0x13ef90b2},
-  {0x194f, 0x13ef90b3},
-  {0x1950, 0x13ef90b4},
-  {0x1951, 0x13ef90b5},
-  {0x1952, 0x13ef90b6},
-  {0x1953, 0x13ef90b7},
-  {0x1954, 0x13ef90b8},
-  {0x1955, 0x13ef90b9},
-  {0x1956, 0x13ef94b0},
-  {0x1957, 0x13ef94b1},
-  {0x1958, 0x13ef94b2},
-  {0x1959, 0x13ef94b3},
-  {0x195a, 0x13ef94b4},
-  {0x195b, 0x13ef94b5},
-  {0x195c, 0x13ef94b6},
-  {0x195d, 0x13ef94b7},
-  {0x195e, 0x13ef94b8},
-  {0x195f, 0x13ef94b9},
-  {0x1960, 0x13ef98b0},
-  {0x1961, 0x13ef98b1},
-  {0x1962, 0x13ef98b2},
-  {0x1963, 0x13ef98b3},
-  {0x1964, 0x13ef98b4},
-  {0x1965, 0x13ef98b5},
-  {0x1966, 0x13ef98b6},
-  {0x1967, 0x13ef98b7},
-  {0x1968, 0x13ef98b8},
-  {0x1969, 0x13ef98b9},
-  {0x196a, 0x13ef9cb0},
-  {0x196b, 0x13ef9cb1},
-  {0x196c, 0x13ef9cb2},
-  {0x196d, 0x13ef9cb3},
-  {0x196e, 0x13ef9cb4},
-  {0x196f, 0x13ef9cb5},
-  {0x1970, 0x13ef9cb6},
-  {0x1971, 0x13ef9cb7},
-  {0x1972, 0x13ef9cb8},
-  {0x1973, 0x13ef9cb9},
-  {0x1974, 0x13efa0b0},
-  {0x1975, 0x13efa0b1},
-  {0x1976, 0x13efa0b2},
-  {0x1977, 0x13efa0b3},
-  {0x1978, 0x13efa0b4},
-  {0x1979, 0x13efa0b5},
-  {0x197a, 0x13efa0b6},
-  {0x197b, 0x13efa0b7},
-  {0x197c, 0x13efa0b8},
-  {0x197d, 0x13efa0b9},
-  {0x197e, 0x13efa4b0},
-  {0x197f, 0x13efa4b1},
-  {0x1980, 0x13efa4b2},
-  {0x1981, 0x13efa4b3},
-  {0x1982, 0x13efa4b4},
-  {0x1983, 0x13efa4b5},
-  {0x1984, 0x13efa4b6},
-  {0x1985, 0x13efa4b7},
-  {0x1986, 0x13efa4b8},
-  {0x1987, 0x13efa4b9},
-  {0x1988, 0x13efa8b0},
-  {0x1989, 0x13efa8b1},
-  {0x198a, 0x13efa8b2},
-  {0x198b, 0x13efa8b3},
-  {0x198c, 0x13efa8b4},
-  {0x198d, 0x13efa8b5},
-  {0x198e, 0x13efa8b6},
-  {0x198f, 0x13efa8b7},
-  {0x1990, 0x13efa8b8},
-  {0x1991, 0x13efa8b9},
-  {0x1992, 0x13efacb0},
-  {0x1993, 0x13efacb1},
-  {0x1994, 0x13efacb2},
-  {0x1995, 0x13efacb3},
-  {0x1996, 0x13efacb4},
-  {0x1997, 0x13efacb5},
-  {0x1998, 0x13efacb6},
-  {0x1999, 0x13efacb7},
-  {0x199a, 0x13efacb8},
-  {0x199b, 0x13efacb9},
-  {0x199c, 0x13efb0b0},
-  {0x199d, 0x13efb0b1},
-  {0x199e, 0x13efb0b2},
-  {0x199f, 0x13efb0b3},
-  {0x19a0, 0x13efb0b4},
-  {0x19a1, 0x13efb0b5},
-  {0x19a2, 0x13efb0b6},
-  {0x19a3, 0x13efb0b7},
-  {0x19a4, 0x13efb0b8},
-  {0x19a5, 0x13efb0b9},
-  {0x19a6, 0x13efb4b0},
-  {0x19a7, 0x13efb4b1},
-  {0x19a8, 0x13efb4b2},
-  {0x19a9, 0x13efb4b3},
-  {0x19aa, 0x13efb4b4},
-  {0x19ab, 0x13efb4b5},
-  {0x19ac, 0x13efb4b6},
-  {0x19ad, 0x13efb4b7},
-  {0x19ae, 0x13efb4b8},
-  {0x19af, 0x13efb4b9},
-  {0x19b0, 0x13efb8b0},
-  {0x19b1, 0x13efb8b1},
-  {0x19b2, 0x13efb8b2},
-  {0x19b3, 0x13efb8b3},
-  {0x19b4, 0x13efb8b4},
-  {0x19b5, 0x13efb8b5},
-  {0x19b6, 0x13efb8b6},
-  {0x19b7, 0x13efb8b7},
-  {0x19b8, 0x13efb8b8},
-  {0x19b9, 0x13efb8b9},
-  {0x19ba, 0x13f884b0},
-  {0x19bb, 0x13f884b1},
-  {0x19bc, 0x13f884b2},
-  {0x19bd, 0x13f884b3},
-  {0x19be, 0x13f884b4},
-  {0x19bf, 0x13f884b5},
-  {0x19c0, 0x13f884b6},
-  {0x19c1, 0x13f884b7},
-  {0x19c2, 0x13f884b8},
-  {0x19c3, 0x13f884b9},
-  {0x19c4, 0x13f888b0},
-  {0x19c5, 0x13f888b1},
-  {0x19c6, 0x13f888b2},
-  {0x19c7, 0x13f888b3},
-  {0x19c8, 0x13f888b4},
-  {0x19c9, 0x13f888b5},
-  {0x19ca, 0x13f888b6},
-  {0x19cb, 0x13f888b7},
-  {0x19cc, 0x13f888b8},
-  {0x19cd, 0x13f888b9},
-  {0x19ce, 0x13f88cb0},
-  {0x19cf, 0x13f88cb1},
-  {0x19d0, 0x13f88cb2},
-  {0x19d1, 0x13f88cb3},
-  {0x19d2, 0x13f88cb4},
-  {0x19d3, 0x13f88cb5},
-  {0x19d4, 0x13f88cb6},
-  {0x19d5, 0x13f88cb7},
-  {0x19d6, 0x13f88cb8},
-  {0x19d7, 0x13f88cb9},
-  {0x19d8, 0x13f890b0},
-  {0x19d9, 0x13f890b1},
-  {0x19da, 0x13f890b2},
-  {0x19db, 0x13f890b3},
-  {0x19dc, 0x13f890b4},
-  {0x19dd, 0x13f890b5},
-  {0x19de, 0x13f890b6},
-  {0x19df, 0x13f890b7},
-  {0x19e0, 0x13f890b8},
-  {0x19e1, 0x13f890b9},
-  {0x19e2, 0x13f894b0},
-  {0x19e3, 0x13f894b1},
-  {0x19e4, 0x13f894b2},
-  {0x19e5, 0x13f894b3},
-  {0x19e6, 0x13f894b4},
-  {0x19e7, 0x13f894b5},
-  {0x19e8, 0x13f894b6},
-  {0x19e9, 0x13f894b7},
-  {0x19ea, 0x13f894b8},
-  {0x19eb, 0x13f894b9},
-  {0x19ec, 0x13f898b0},
-  {0x19ed, 0x13f898b1},
-  {0x19ee, 0x13f898b2},
-  {0x19ef, 0x13f898b3},
-  {0x19f0, 0x13f898b4},
-  {0x19f1, 0x13f898b5},
-  {0x19f2, 0x13f898b6},
-  {0x19f3, 0x13f898b7},
-  {0x19f4, 0x13f898b8},
-  {0x19f5, 0x13f898b9},
-  {0x19f6, 0x13f89cb0},
-  {0x19f7, 0x13f89cb1},
-  {0x19f8, 0x13f89cb2},
-  {0x19f9, 0x13f89cb3},
-  {0x19fa, 0x13f89cb4},
-  {0x19fb, 0x13f89cb5},
-  {0x19fc, 0x13f89cb6},
-  {0x19fd, 0x13f89cb7},
-  {0x19fe, 0x13f89cb8},
-  {0x19ff, 0x13f89cb9},
-  {0x1a00, 0x13f8a0b0},
-  {0x1a01, 0x13f8a0b1},
-  {0x1a02, 0x13f8a0b2},
-  {0x1a03, 0x13f8a0b3},
-  {0x1a04, 0x13f8a0b4},
-  {0x1a05, 0x13f8a0b5},
-  {0x1a06, 0x13f8a0b6},
-  {0x1a07, 0x13f8a0b7},
-  {0x1a08, 0x13f8a0b8},
-  {0x1a09, 0x13f8a0b9},
-  {0x1a0a, 0x13f8a4b0},
-  {0x1a0b, 0x13f8a4b1},
-  {0x1a0c, 0x13f8a4b2},
-  {0x1a0d, 0x13f8a4b3},
-  {0x1a0e, 0x13f8a4b4},
-  {0x1a0f, 0x13f8a4b5},
-  {0x1a10, 0x13f8a4b6},
-  {0x1a11, 0x13f8a4b7},
-  {0x1a12, 0x13f8a4b8},
-  {0x1a13, 0x13f8a4b9},
-  {0x1a14, 0x13f8a8b0},
-  {0x1a15, 0x13f8a8b1},
-  {0x1a16, 0x13f8a8b2},
-  {0x1a17, 0x13f8a8b3},
-  {0x1a18, 0x13f8a8b4},
-  {0x1a19, 0x13f8a8b5},
-  {0x1a1a, 0x13f8a8b6},
-  {0x1a1b, 0x13f8a8b7},
-  {0x1a1c, 0x13f8a8b8},
-  {0x1a1d, 0x13f8a8b9},
-  {0x1a1e, 0x13f8acb0},
-  {0x1a1f, 0x13f8acb1},
-  {0x1a20, 0x13f8acb2},
-  {0x1a21, 0x13f8acb3},
-  {0x1a22, 0x13f8acb4},
-  {0x1a23, 0x13f8acb5},
-  {0x1a24, 0x13f8acb6},
-  {0x1a25, 0x13f8acb7},
-  {0x1a26, 0x13f8acb8},
-  {0x1a27, 0x13f8acb9},
-  {0x1a28, 0x13f8b0b0},
-  {0x1a29, 0x13f8b0b1},
-  {0x1a2a, 0x13f8b0b2},
-  {0x1a2b, 0x13f8b0b3},
-  {0x1a2c, 0x13f8b0b4},
-  {0x1a2d, 0x13f8b0b5},
-  {0x1a2e, 0x13f8b0b6},
-  {0x1a2f, 0x13f8b0b7},
-  {0x1a30, 0x13f8b0b8},
-  {0x1a31, 0x13f8b0b9},
-  {0x1a32, 0x13f8b4b0},
-  {0x1a33, 0x13f8b4b1},
-  {0x1a34, 0x13f8b4b2},
-  {0x1a35, 0x13f8b4b3},
-  {0x1a36, 0x13f8b4b4},
-  {0x1a37, 0x13f8b4b5},
-  {0x1a38, 0x13f8b4b6},
-  {0x1a39, 0x13f8b4b7},
-  {0x1a3a, 0x13f8b4b8},
-  {0x1a3b, 0x13f8b4b9},
-  {0x1a3c, 0x13f8b8b0},
-  {0x1a3d, 0x13f8b8b1},
-  {0x1a3e, 0x13f8b8b2},
-  {0x1a3f, 0x13f8b8b3},
-  {0x1a40, 0x13f8b8b4},
-  {0x1a41, 0x13f8b8b5},
-  {0x1a42, 0x13f8b8b6},
-  {0x1a43, 0x13f8b8b7},
-  {0x1a44, 0x13f8b8b8},
-  {0x1a45, 0x13f8b8b9},
-  {0x1a46, 0x13f8bcb0},
-  {0x1a47, 0x13f8bcb1},
-  {0x1a48, 0x13f8bcb2},
-  {0x1a49, 0x13f8bcb3},
-  {0x1a4a, 0x13f8bcb4},
-  {0x1a4b, 0x13f8bcb5},
-  {0x1a4c, 0x13f8bcb6},
-  {0x1a4d, 0x13f8bcb7},
-  {0x1a4e, 0x13f8bcb8},
-  {0x1a4f, 0x13f8bcb9},
-  {0x1a50, 0x13f980b0},
-  {0x1a51, 0x13f980b1},
-  {0x1a52, 0x13f980b2},
-  {0x1a53, 0x13f980b3},
-  {0x1a54, 0x13f980b4},
-  {0x1a55, 0x13f980b5},
-  {0x1a56, 0x13f980b6},
-  {0x1a57, 0x13f980b7},
-  {0x1a58, 0x13f980b8},
-  {0x1a59, 0x13f980b9},
-  {0x1a5a, 0x13f984b0},
-  {0x1a5b, 0x13f984b1},
-  {0x1a5c, 0x13f984b2},
-  {0x1a5d, 0x13f984b3},
-  {0x1a5e, 0x13f984b4},
-  {0x1a5f, 0x13f984b5},
-  {0x1a60, 0x13f984b6},
-  {0x1a61, 0x13f984b7},
-  {0x1a62, 0x13f984b8},
-  {0x1a63, 0x13f984b9},
-  {0x1a64, 0x13f988b0},
-  {0x1a65, 0x13f988b1},
-  {0x1a66, 0x13f988b2},
-  {0x1a67, 0x13f988b3},
-  {0x1a68, 0x13f988b4},
-  {0x1a69, 0x13f988b5},
-  {0x1a6a, 0x13f988b6},
-  {0x1a6b, 0x13f988b7},
-  {0x1a6c, 0x13f988b8},
-  {0x1a6d, 0x13f988b9},
-  {0x1a6e, 0x13f98cb0},
-  {0x1a6f, 0x13f98cb1},
-  {0x1a70, 0x13f98cb2},
-  {0x1a71, 0x13f98cb3},
-  {0x1a72, 0x13f98cb4},
-  {0x1a73, 0x13f98cb5},
-  {0x1a74, 0x13f98cb6},
-  {0x1a75, 0x13f98cb7},
-  {0x1a76, 0x13f98cb8},
-  {0x1a77, 0x13f98cb9},
-  {0x1a78, 0x13f990b0},
-  {0x1a79, 0x13f990b1},
-  {0x1a7a, 0x13f990b2},
-  {0x1a7b, 0x13f990b3},
-  {0x1a7c, 0x13f990b4},
-  {0x1a7d, 0x13f990b5},
-  {0x1a7e, 0x13f990b6},
-  {0x1a7f, 0x13f990b7},
-  {0x1a80, 0x13f990b8},
-  {0x1a81, 0x13f990b9},
-  {0x1a82, 0x13f994b0},
-  {0x1a83, 0x13f994b1},
-  {0x1a84, 0x13f994b2},
-  {0x1a85, 0x13f994b3},
-  {0x1a86, 0x13f994b4},
-  {0x1a87, 0x13f994b5},
-  {0x1a88, 0x13f994b6},
-  {0x1a89, 0x13f994b7},
-  {0x1a8a, 0x13f994b8},
-  {0x1a8b, 0x13f994b9},
-  {0x1a8c, 0x13f998b0},
-  {0x1a8d, 0x13f998b1},
-  {0x1a8e, 0x13f998b2},
-  {0x1a8f, 0x13f998b3},
-  {0x1a90, 0x13f998b4},
-  {0x1a91, 0x13f998b5},
-  {0x1a92, 0x13f998b6},
-  {0x1a93, 0x13f998b7},
-  {0x1a94, 0x13f998b8},
-  {0x1a95, 0x13f998b9},
-  {0x1a96, 0x13f99cb0},
-  {0x1a97, 0x13f99cb1},
-  {0x1a98, 0x13f99cb2},
-  {0x1a99, 0x13f99cb3},
-  {0x1a9a, 0x13f99cb4},
-  {0x1a9b, 0x13f99cb5},
-  {0x1a9c, 0x13f99cb6},
-  {0x1a9d, 0x13f99cb7},
-  {0x1a9e, 0x13f99cb8},
-  {0x1a9f, 0x13f99cb9},
-  {0x1aa0, 0x13f9a0b0},
-  {0x1aa1, 0x13f9a0b1},
-  {0x1aa2, 0x13f9a0b2},
-  {0x1aa3, 0x13f9a0b3},
-  {0x1aa4, 0x13f9a0b4},
-  {0x1aa5, 0x13f9a0b5},
-  {0x1aa6, 0x13f9a0b6},
-  {0x1aa7, 0x13f9a0b7},
-  {0x1aa8, 0x13f9a0b8},
-  {0x1aa9, 0x13f9a0b9},
-  {0x1aaa, 0x13f9a4b0},
-  {0x1aab, 0x13f9a4b1},
-  {0x1aac, 0x13f9a4b2},
-  {0x1aad, 0x13f9a4b3},
-  {0x1aae, 0x13f9a4b4},
-  {0x1aaf, 0x13f9a4b5},
-  {0x1ab0, 0x13f9a4b6},
-  {0x1ab1, 0x13f9a4b7},
-  {0x1ab2, 0x13f9a4b8},
-  {0x1ab3, 0x13f9a4b9},
-  {0x1ab4, 0x13f9a8b0},
-  {0x1ab5, 0x13f9a8b1},
-  {0x1ab6, 0x13f9a8b2},
-  {0x1ab7, 0x13f9a8b3},
-  {0x1ab8, 0x13f9a8b4},
-  {0x1ab9, 0x13f9a8b5},
-  {0x1aba, 0x13f9a8b6},
-  {0x1abb, 0x13f9a8b7},
-  {0x1abc, 0x13f9a8b8},
-  {0x1abd, 0x13f9a8b9},
-  {0x1abe, 0x13f9acb0},
-  {0x1abf, 0x13f9acb1},
-  {0x1ac0, 0x13f9acb2},
-  {0x1ac1, 0x13f9acb3},
-  {0x1ac2, 0x13f9acb4},
-  {0x1ac3, 0x13f9acb5},
-  {0x1ac4, 0x13f9acb6},
-  {0x1ac5, 0x13f9acb7},
-  {0x1ac6, 0x13f9acb8},
-  {0x1ac7, 0x13f9acb9},
-  {0x1ac8, 0x13f9b0b0},
-  {0x1ac9, 0x13f9b0b1},
-  {0x1aca, 0x13f9b0b2},
-  {0x1acb, 0x13f9b0b3},
-  {0x1acc, 0x13f9b0b4},
-  {0x1acd, 0x13f9b0b5},
-  {0x1ace, 0x13f9b0b6},
-  {0x1acf, 0x13f9b0b7},
-  {0x1ad0, 0x13f9b0b8},
-  {0x1ad1, 0x13f9b0b9},
-  {0x1ad2, 0x13f9b4b0},
-  {0x1ad3, 0x13f9b4b1},
-  {0x1ad4, 0x13f9b4b2},
-  {0x1ad5, 0x13f9b4b3},
-  {0x1ad6, 0x13f9b4b4},
-  {0x1ad7, 0x13f9b4b5},
-  {0x1ad8, 0x13f9b4b6},
-  {0x1ad9, 0x13f9b4b7},
-  {0x1ada, 0x13f9b4b8},
-  {0x1adb, 0x13f9b4b9},
-  {0x1adc, 0x13f9b8b0},
-  {0x1add, 0x13f9b8b1},
-  {0x1ade, 0x13f9b8b2},
-  {0x1adf, 0x13f9b8b3},
-  {0x1ae0, 0x13f9b8b4},
-  {0x1ae1, 0x13f9b8b5},
-  {0x1ae2, 0x13f9b8b6},
-  {0x1ae3, 0x13f9b8b7},
-  {0x1ae4, 0x13f9b8b8},
-  {0x1ae5, 0x13f9b8b9},
-  {0x1ae6, 0x13f9bcb0},
-  {0x1ae7, 0x13f9bcb1},
-  {0x1ae8, 0x13f9bcb2},
-  {0x1ae9, 0x13f9bcb3},
-  {0x1aea, 0x13f9bcb4},
-  {0x1aeb, 0x13f9bcb5},
-  {0x1aec, 0x13f9bcb6},
-  {0x1aed, 0x13f9bcb7},
-  {0x1aee, 0x13f9bcb8},
-  {0x1aef, 0x13f9bcb9},
-  {0x1af0, 0x13fa80b0},
-  {0x1af1, 0x13fa80b1},
-  {0x1af2, 0x13fa80b2},
-  {0x1af3, 0x13fa80b3},
-  {0x1af4, 0x13fa80b4},
-  {0x1af5, 0x13fa80b5},
-  {0x1af6, 0x13fa80b6},
-  {0x1af7, 0x13fa80b7},
-  {0x1af8, 0x13fa80b8},
-  {0x1af9, 0x13fa80b9},
-  {0x1afa, 0x13fa84b0},
-  {0x1afb, 0x13fa84b1},
-  {0x1afc, 0x13fa84b2},
-  {0x1afd, 0x13fa84b3},
-  {0x1afe, 0x13fa84b4},
-  {0x1aff, 0x13fa84b5},
-  {0x1b00, 0x13fa84b6},
-  {0x1b01, 0x13fa84b7},
-  {0x1b02, 0x13fa84b8},
-  {0x1b03, 0x13fa84b9},
-  {0x1b04, 0x13fa88b0},
-  {0x1b05, 0x13fa88b1},
-  {0x1b06, 0x13fa88b2},
-  {0x1b07, 0x13fa88b3},
-  {0x1b08, 0x13fa88b4},
-  {0x1b09, 0x13fa88b5},
-  {0x1b0a, 0x13fa88b6},
-  {0x1b0b, 0x13fa88b7},
-  {0x1b0c, 0x13fa88b8},
-  {0x1b0d, 0x13fa88b9},
-  {0x1b0e, 0x13fa8cb0},
-  {0x1b0f, 0x13fa8cb1},
-  {0x1b10, 0x13fa8cb2},
-  {0x1b11, 0x13fa8cb3},
-  {0x1b12, 0x13fa8cb4},
-  {0x1b13, 0x13fa8cb5},
-  {0x1b14, 0x13fa8cb6},
-  {0x1b15, 0x13fa8cb7},
-  {0x1b16, 0x13fa8cb8},
-  {0x1b17, 0x13fa8cb9},
-  {0x1b18, 0x13fa90b0},
-  {0x1b19, 0x13fa90b1},
-  {0x1b1a, 0x13fa90b2},
-  {0x1b1b, 0x13fa90b3},
-  {0x1b1c, 0x13fa90b4},
-  {0x1b1d, 0x13fa90b5},
-  {0x1b1e, 0x13fa90b6},
-  {0x1b1f, 0x13fa90b7},
-  {0x1b20, 0x13fa90b8},
-  {0x1b21, 0x13fa90b9},
-  {0x1b22, 0x13fa94b0},
-  {0x1b23, 0x13fa94b1},
-  {0x1b24, 0x13fa94b2},
-  {0x1b25, 0x13fa94b3},
-  {0x1b26, 0x13fa94b4},
-  {0x1b27, 0x13fa94b5},
-  {0x1b28, 0x13fa94b6},
-  {0x1b29, 0x13fa94b7},
-  {0x1b2a, 0x13fa94b8},
-  {0x1b2b, 0x13fa94b9},
-  {0x1b2c, 0x13fa98b0},
-  {0x1b2d, 0x13fa98b1},
-  {0x1b2e, 0x13fa98b2},
-  {0x1b2f, 0x13fa98b3},
-  {0x1b30, 0x13fa98b4},
-  {0x1b31, 0x13fa98b5},
-  {0x1b32, 0x13fa98b6},
-  {0x1b33, 0x13fa98b7},
-  {0x1b34, 0x13fa98b8},
-  {0x1b35, 0x13fa98b9},
-  {0x1b36, 0x13fa9cb0},
-  {0x1b37, 0x13fa9cb1},
-  {0x1b38, 0x13fa9cb2},
-  {0x1b39, 0x13fa9cb3},
-  {0x1b3a, 0x13fa9cb4},
-  {0x1b3b, 0x13fa9cb5},
-  {0x1b3c, 0x13fa9cb6},
-  {0x1b3d, 0x13fa9cb7},
-  {0x1b3e, 0x13fa9cb8},
-  {0x1b3f, 0x13fa9cb9},
-  {0x1b40, 0x13faa0b0},
-  {0x1b41, 0x13faa0b1},
-  {0x1b42, 0x13faa0b2},
-  {0x1b43, 0x13faa0b3},
-  {0x1b44, 0x13faa0b4},
-  {0x1b45, 0x13faa0b5},
-  {0x1b46, 0x13faa0b6},
-  {0x1b47, 0x13faa0b7},
-  {0x1b48, 0x13faa0b8},
-  {0x1b49, 0x13faa0b9},
-  {0x1b4a, 0x13faa4b0},
-  {0x1b4b, 0x13faa4b1},
-  {0x1b4c, 0x13faa4b2},
-  {0x1b4d, 0x13faa4b3},
-  {0x1b4e, 0x13faa4b4},
-  {0x1b4f, 0x13faa4b5},
-  {0x1b50, 0x13faa4b6},
-  {0x1b51, 0x13faa4b7},
-  {0x1b52, 0x13faa4b8},
-  {0x1b53, 0x13faa4b9},
-  {0x1b54, 0x13faa8b0},
-  {0x1b55, 0x13faa8b1},
-  {0x1b56, 0x13faa8b2},
-  {0x1b57, 0x13faa8b3},
-  {0x1b58, 0x13faa8b4},
-  {0x1b59, 0x13faa8b5},
-  {0x1b5a, 0x13faa8b6},
-  {0x1b5b, 0x13faa8b7},
-  {0x1b5c, 0x13faa8b8},
-  {0x1b5d, 0x13faa8b9},
-  {0x1b5e, 0x13faacb0},
-  {0x1b5f, 0x13faacb1},
-  {0x1b60, 0x13faacb2},
-  {0x1b61, 0x13faacb3},
-  {0x1b62, 0x13faacb4},
-  {0x1b63, 0x13faacb5},
-  {0x1b64, 0x13faacb6},
-  {0x1b65, 0x13faacb7},
-  {0x1b66, 0x13faacb8},
-  {0x1b67, 0x13faacb9},
-  {0x1b68, 0x13fab0b0},
-  {0x1b69, 0x13fab0b1},
-  {0x1b6a, 0x13fab0b2},
-  {0x1b6b, 0x13fab0b3},
-  {0x1b6c, 0x13fab0b4},
-  {0x1b6d, 0x13fab0b5},
-  {0x1b6e, 0x13fab0b6},
-  {0x1b6f, 0x13fab0b7},
-  {0x1b70, 0x13fab0b8},
-  {0x1b71, 0x13fab0b9},
-  {0x1b72, 0x13fab4b0},
-  {0x1b73, 0x13fab4b1},
-  {0x1b74, 0x13fab4b2},
-  {0x1b75, 0x13fab4b3},
-  {0x1b76, 0x13fab4b4},
-  {0x1b77, 0x13fab4b5},
-  {0x1b78, 0x13fab4b6},
-  {0x1b79, 0x13fab4b7},
-  {0x1b7a, 0x13fab4b8},
-  {0x1b7b, 0x13fab4b9},
-  {0x1b7c, 0x13fab8b0},
-  {0x1b7d, 0x13fab8b1},
-  {0x1b7e, 0x13fab8b2},
-  {0x1b7f, 0x13fab8b3},
-  {0x1b80, 0x13fab8b4},
-  {0x1b81, 0x13fab8b5},
-  {0x1b82, 0x13fab8b6},
-  {0x1b83, 0x13fab8b7},
-  {0x1b84, 0x13fab8b8},
-  {0x1b85, 0x13fab8b9},
-  {0x1b86, 0x13fabcb0},
-  {0x1b87, 0x13fabcb1},
-  {0x1b88, 0x13fabcb2},
-  {0x1b89, 0x13fabcb3},
-  {0x1b8a, 0x13fabcb4},
-  {0x1b8b, 0x13fabcb5},
-  {0x1b8c, 0x13fabcb6},
-  {0x1b8d, 0x13fabcb7},
-  {0x1b8e, 0x13fabcb8},
-  {0x1b8f, 0x13fabcb9},
-  {0x1b90, 0x13fb80b0},
-  {0x1b91, 0x13fb80b1},
-  {0x1b92, 0x13fb80b2},
-  {0x1b93, 0x13fb80b3},
-  {0x1b94, 0x13fb80b4},
-  {0x1b95, 0x13fb80b5},
-  {0x1b96, 0x13fb80b6},
-  {0x1b97, 0x13fb80b7},
-  {0x1b98, 0x13fb80b8},
-  {0x1b99, 0x13fb80b9},
-  {0x1b9a, 0x13fb84b0},
-  {0x1b9b, 0x13fb84b1},
-  {0x1b9c, 0x13fb84b2},
-  {0x1b9d, 0x13fb84b3},
-  {0x1b9e, 0x13fb84b4},
-  {0x1b9f, 0x13fb84b5},
-  {0x1ba0, 0x13fb84b6},
-  {0x1ba1, 0x13fb84b7},
-  {0x1ba2, 0x13fb84b8},
-  {0x1ba3, 0x13fb84b9},
-  {0x1ba4, 0x13fb88b0},
-  {0x1ba5, 0x13fb88b1},
-  {0x1ba6, 0x13fb88b2},
-  {0x1ba7, 0x13fb88b3},
-  {0x1ba8, 0x13fb88b4},
-  {0x1ba9, 0x13fb88b5},
-  {0x1baa, 0x13fb88b6},
-  {0x1bab, 0x13fb88b7},
-  {0x1bac, 0x13fb88b8},
-  {0x1bad, 0x13fb88b9},
-  {0x1bae, 0x13fb8cb0},
-  {0x1baf, 0x13fb8cb1},
-  {0x1bb0, 0x13fb8cb2},
-  {0x1bb1, 0x13fb8cb3},
-  {0x1bb2, 0x13fb8cb4},
-  {0x1bb3, 0x13fb8cb5},
-  {0x1bb4, 0x13fb8cb6},
-  {0x1bb5, 0x13fb8cb7},
-  {0x1bb6, 0x13fb8cb8},
-  {0x1bb7, 0x13fb8cb9},
-  {0x1bb8, 0x13fb90b0},
-  {0x1bb9, 0x13fb90b1},
-  {0x1bba, 0x13fb90b2},
-  {0x1bbb, 0x13fb90b3},
-  {0x1bbc, 0x13fb90b4},
-  {0x1bbd, 0x13fb90b5},
-  {0x1bbe, 0x13fb90b6},
-  {0x1bbf, 0x13fb90b7},
-  {0x1bc0, 0x13fb90b8},
-  {0x1bc1, 0x13fb90b9},
-  {0x1bc2, 0x13fb94b0},
-  {0x1bc3, 0x13fb94b1},
-  {0x1bc4, 0x13fb94b2},
-  {0x1bc5, 0x13fb94b3},
-  {0x1bc6, 0x13fb94b4},
-  {0x1bc7, 0x13fb94b5},
-  {0x1bc8, 0x13fb94b6},
-  {0x1bc9, 0x13fb94b7},
-  {0x1bca, 0x13fb94b8},
-  {0x1bcb, 0x13fb94b9},
-  {0x1bcc, 0x13fb98b0},
-  {0x1bcd, 0x13fb98b1},
-  {0x1bce, 0x13fb98b2},
-  {0x1bcf, 0x13fb98b3},
-  {0x1bd0, 0x13fb98b4},
-  {0x1bd1, 0x13fb98b5},
-  {0x1bd2, 0x13fb98b6},
-  {0x1bd3, 0x13fb98b7},
-  {0x1bd4, 0x13fb98b8},
-  {0x1bd5, 0x13fb98b9},
-  {0x1bd6, 0x13fb9cb0},
-  {0x1bd7, 0x13fb9cb1},
-  {0x1bd8, 0x13fb9cb2},
-  {0x1bd9, 0x13fb9cb3},
-  {0x1bda, 0x13fb9cb4},
-  {0x1bdb, 0x13fb9cb5},
-  {0x1bdc, 0x13fb9cb6},
-  {0x1bdd, 0x13fb9cb7},
-  {0x1bde, 0x13fb9cb8},
-  {0x1bdf, 0x13fb9cb9},
-  {0x1be0, 0x13fba0b0},
-  {0x1be1, 0x13fba0b1},
-  {0x1be2, 0x13fba0b2},
-  {0x1be3, 0x13fba0b3},
-  {0x1be4, 0x13fba0b4},
-  {0x1be5, 0x13fba0b5},
-  {0x1be6, 0x13fba0b6},
-  {0x1be7, 0x13fba0b7},
-  {0x1be8, 0x13fba0b8},
-  {0x1be9, 0x13fba0b9},
-  {0x1bea, 0x13fba4b0},
-  {0x1beb, 0x13fba4b1},
-  {0x1bec, 0x13fba4b2},
-  {0x1bed, 0x13fba4b3},
-  {0x1bee, 0x13fba4b4},
-  {0x1bef, 0x13fba4b5},
-  {0x1bf0, 0x13fba4b6},
-  {0x1bf1, 0x13fba4b7},
-  {0x1bf2, 0x13fba4b8},
-  {0x1bf3, 0x13fba4b9},
-  {0x1bf4, 0x13fba8b0},
-  {0x1bf5, 0x13fba8b1},
-  {0x1bf6, 0x13fba8b2},
-  {0x1bf7, 0x13fba8b3},
-  {0x1bf8, 0x13fba8b4},
-  {0x1bf9, 0x13fba8b5},
-  {0x1bfa, 0x13fba8b6},
-  {0x1bfb, 0x13fba8b7},
-  {0x1bfc, 0x13fba8b8},
-  {0x1bfd, 0x13fba8b9},
-  {0x1bfe, 0x13fbacb0},
-  {0x1bff, 0x13fbacb1},
-  {0x1c00, 0x13fbacb2},
-  {0x1c01, 0x13fbacb3},
-  {0x1c02, 0x13fbacb4},
-  {0x1c03, 0x13fbacb5},
-  {0x1c04, 0x13fbacb6},
-  {0x1c05, 0x13fbacb7},
-  {0x1c06, 0x13fbacb8},
-  {0x1c07, 0x13fbacb9},
-  {0x1c08, 0x13fbb0b0},
-  {0x1c09, 0x13fbb0b1},
-  {0x1c0a, 0x13fbb0b2},
-  {0x1c0b, 0x13fbb0b3},
-  {0x1c0c, 0x13fbb0b4},
-  {0x1c0d, 0x13fbb0b5},
-  {0x1c0e, 0x13fbb0b6},
-  {0x1c0f, 0x13fbb0b7},
-  {0x1c10, 0x13fbb0b8},
-  {0x1c11, 0x13fbb0b9},
-  {0x1c12, 0x13fbb4b0},
-  {0x1c13, 0x13fbb4b1},
-  {0x1c14, 0x13fbb4b2},
-  {0x1c15, 0x13fbb4b3},
-  {0x1c16, 0x13fbb4b4},
-  {0x1c17, 0x13fbb4b5},
-  {0x1c18, 0x13fbb4b6},
-  {0x1c19, 0x13fbb4b7},
-  {0x1c1a, 0x13fbb4b8},
-  {0x1c1b, 0x13fbb4b9},
-  {0x1c1c, 0x13fbb8b0},
-  {0x1c1d, 0x13fbb8b1},
-  {0x1c1e, 0x13fbb8b2},
-  {0x1c1f, 0x13fbb8b3},
-  {0x1c20, 0x13fbb8b4},
-  {0x1c21, 0x13fbb8b5},
-  {0x1c22, 0x13fbb8b6},
-  {0x1c23, 0x13fbb8b7},
-  {0x1c24, 0x13fbb8b8},
-  {0x1c25, 0x13fbb8b9},
-  {0x1c26, 0x13fbbcb0},
-  {0x1c27, 0x13fbbcb1},
-  {0x1c28, 0x13fbbcb2},
-  {0x1c29, 0x13fbbcb3},
-  {0x1c2a, 0x13fbbcb4},
-  {0x1c2b, 0x13fbbcb5},
-  {0x1c2c, 0x13fbbcb6},
-  {0x1c2d, 0x13fbbcb7},
-  {0x1c2e, 0x13fbbcb8},
-  {0x1c2f, 0x13fbbcb9},
-  {0x1c30, 0x13fc80b0},
-  {0x1c31, 0x13fc80b1},
-  {0x1c32, 0x13fc80b2},
-  {0x1c33, 0x13fc80b3},
-  {0x1c34, 0x13fc80b4},
-  {0x1c35, 0x13fc80b5},
-  {0x1c36, 0x13fc80b6},
-  {0x1c37, 0x13fc80b7},
-  {0x1c38, 0x13fc80b8},
-  {0x1c39, 0x13fc80b9},
-  {0x1c3a, 0x13fc84b0},
-  {0x1c3b, 0x13fc84b1},
-  {0x1c3c, 0x13fc84b2},
-  {0x1c3d, 0x13fc84b3},
-  {0x1c3e, 0x13fc84b4},
-  {0x1c3f, 0x13fc84b5},
-  {0x1c40, 0x13fc84b6},
-  {0x1c41, 0x13fc84b7},
-  {0x1c42, 0x13fc84b8},
-  {0x1c43, 0x13fc84b9},
-  {0x1c44, 0x13fc88b0},
-  {0x1c45, 0x13fc88b1},
-  {0x1c46, 0x13fc88b2},
-  {0x1c47, 0x13fc88b3},
-  {0x1c48, 0x13fc88b4},
-  {0x1c49, 0x13fc88b5},
-  {0x1c4a, 0x13fc88b6},
-  {0x1c4b, 0x13fc88b7},
-  {0x1c4c, 0x13fc88b8},
-  {0x1c4d, 0x13fc88b9},
-  {0x1c4e, 0x13fc8cb0},
-  {0x1c4f, 0x13fc8cb1},
-  {0x1c50, 0x13fc8cb2},
-  {0x1c51, 0x13fc8cb3},
-  {0x1c52, 0x13fc8cb4},
-  {0x1c53, 0x13fc8cb5},
-  {0x1c54, 0x13fc8cb6},
-  {0x1c55, 0x13fc8cb7},
-  {0x1c56, 0x13fc8cb8},
-  {0x1c57, 0x13fc8cb9},
-  {0x1c58, 0x13fc90b0},
-  {0x1c59, 0x13fc90b1},
-  {0x1c5a, 0x13fc90b2},
-  {0x1c5b, 0x13fc90b3},
-  {0x1c5c, 0x13fc90b4},
-  {0x1c5d, 0x13fc90b5},
-  {0x1c5e, 0x13fc90b6},
-  {0x1c5f, 0x13fc90b7},
-  {0x1c60, 0x13fc90b8},
-  {0x1c61, 0x13fc90b9},
-  {0x1c62, 0x13fc94b0},
-  {0x1c63, 0x13fc94b1},
-  {0x1c64, 0x13fc94b2},
-  {0x1c65, 0x13fc94b3},
-  {0x1c66, 0x13fc94b4},
-  {0x1c67, 0x13fc94b5},
-  {0x1c68, 0x13fc94b6},
-  {0x1c69, 0x13fc94b7},
-  {0x1c6a, 0x13fc94b8},
-  {0x1c6b, 0x13fc94b9},
-  {0x1c6c, 0x13fc98b0},
-  {0x1c6d, 0x13fc98b1},
-  {0x1c6e, 0x13fc98b2},
-  {0x1c6f, 0x13fc98b3},
-  {0x1c70, 0x13fc98b4},
-  {0x1c71, 0x13fc98b5},
-  {0x1c72, 0x13fc98b6},
-  {0x1c73, 0x13fc98b7},
-  {0x1c74, 0x13fc98b8},
-  {0x1c75, 0x13fc98b9},
-  {0x1c76, 0x13fc9cb0},
-  {0x1c77, 0x13fc9cb1},
-  {0x1c78, 0x13fc9cb2},
-  {0x1c79, 0x13fc9cb3},
-  {0x1c7a, 0x13fc9cb4},
-  {0x1c7b, 0x13fc9cb5},
-  {0x1c7c, 0x13fc9cb6},
-  {0x1c7d, 0x13fc9cb7},
-  {0x1c7e, 0x13fc9cb8},
-  {0x1c7f, 0x13fc9cb9},
-  {0x1c80, 0x13fca0b0},
-  {0x1c81, 0x13fca0b1},
-  {0x1c82, 0x13fca0b2},
-  {0x1c83, 0x13fca0b3},
-  {0x1c84, 0x13fca0b4},
-  {0x1c85, 0x13fca0b5},
-  {0x1c86, 0x13fca0b6},
-  {0x1c87, 0x13fca0b7},
-  {0x1c88, 0x13fca0b8},
-  {0x1c89, 0x13fca0b9},
-  {0x1c8a, 0x13fca4b0},
-  {0x1c8b, 0x13fca4b1},
-  {0x1c8c, 0x13fca4b2},
-  {0x1c8d, 0x13fca4b3},
-  {0x1c8e, 0x13fca4b4},
-  {0x1c8f, 0x13fca4b5},
-  {0x1c90, 0x13fca4b6},
-  {0x1c91, 0x13fca4b7},
-  {0x1c92, 0x13fca4b8},
-  {0x1c93, 0x13fca4b9},
-  {0x1c94, 0x13fca8b0},
-  {0x1c95, 0x13fca8b1},
-  {0x1c96, 0x13fca8b2},
-  {0x1c97, 0x13fca8b3},
-  {0x1c98, 0x13fca8b4},
-  {0x1c99, 0x13fca8b5},
-  {0x1c9a, 0x13fca8b6},
-  {0x1c9b, 0x13fca8b7},
-  {0x1c9c, 0x13fca8b8},
-  {0x1c9d, 0x13fca8b9},
-  {0x1c9e, 0x13fcacb0},
-  {0x1c9f, 0x13fcacb1},
-  {0x1ca0, 0x13fcacb2},
-  {0x1ca1, 0x13fcacb3},
-  {0x1ca2, 0x13fcacb4},
-  {0x1ca3, 0x13fcacb5},
-  {0x1ca4, 0x13fcacb6},
-  {0x1ca5, 0x13fcacb7},
-  {0x1ca6, 0x13fcacb8},
-  {0x1ca7, 0x13fcacb9},
-  {0x1ca8, 0x13fcb0b0},
-  {0x1ca9, 0x13fcb0b1},
-  {0x1caa, 0x13fcb0b2},
-  {0x1cab, 0x13fcb0b3},
-  {0x1cac, 0x13fcb0b4},
-  {0x1cad, 0x13fcb0b5},
-  {0x1cae, 0x13fcb0b6},
-  {0x1caf, 0x13fcb0b7},
-  {0x1cb0, 0x13fcb0b8},
-  {0x1cb1, 0x13fcb0b9},
-  {0x1cb2, 0x13fcb4b0},
-  {0x1cb3, 0x13fcb4b1},
-  {0x1cb4, 0x13fcb4b2},
-  {0x1cb5, 0x13fcb4b3},
-  {0x1cb6, 0x13fcb4b4},
-  {0x1cb7, 0x13fcb4b5},
-  {0x1cb8, 0x13fcb4b6},
-  {0x1cb9, 0x13fcb4b7},
-  {0x1cba, 0x13fcb4b8},
-  {0x1cbb, 0x13fcb4b9},
-  {0x1cbc, 0x13fcb8b0},
-  {0x1cbd, 0x13fcb8b1},
-  {0x1cbe, 0x13fcb8b2},
-  {0x1cbf, 0x13fcb8b3},
-  {0x1cc0, 0x13fcb8b4},
-  {0x1cc1, 0x13fcb8b5},
-  {0x1cc2, 0x13fcb8b6},
-  {0x1cc3, 0x13fcb8b7},
-  {0x1cc4, 0x13fcb8b8},
-  {0x1cc5, 0x13fcb8b9},
-  {0x1cc6, 0x13fcbcb0},
-  {0x1cc7, 0x13fcbcb1},
-  {0x1cc8, 0x13fcbcb2},
-  {0x1cc9, 0x13fcbcb3},
-  {0x1cca, 0x13fcbcb4},
-  {0x1ccb, 0x13fcbcb5},
-  {0x1ccc, 0x13fcbcb6},
-  {0x1ccd, 0x13fcbcb7},
-  {0x1cce, 0x13fcbcb8},
-  {0x1ccf, 0x13fcbcb9},
-  {0x1cd0, 0x13fd80b0},
-  {0x1cd1, 0x13fd80b1},
-  {0x1cd2, 0x13fd80b2},
-  {0x1cd3, 0x13fd80b3},
-  {0x1cd4, 0x13fd80b4},
-  {0x1cd5, 0x13fd80b5},
-  {0x1cd6, 0x13fd80b6},
-  {0x1cd7, 0x13fd80b7},
-  {0x1cd8, 0x13fd80b8},
-  {0x1cd9, 0x13fd80b9},
-  {0x1cda, 0x13fd84b0},
-  {0x1cdb, 0x13fd84b1},
-  {0x1cdc, 0x13fd84b2},
-  {0x1cdd, 0x13fd84b3},
-  {0x1cde, 0x13fd84b4},
-  {0x1cdf, 0x13fd84b5},
-  {0x1ce0, 0x13fd84b6},
-  {0x1ce1, 0x13fd84b7},
-  {0x1ce2, 0x13fd84b8},
-  {0x1ce3, 0x13fd84b9},
-  {0x1ce4, 0x13fd88b0},
-  {0x1ce5, 0x13fd88b1},
-  {0x1ce6, 0x13fd88b2},
-  {0x1ce7, 0x13fd88b3},
-  {0x1ce8, 0x13fd88b4},
-  {0x1ce9, 0x13fd88b5},
-  {0x1cea, 0x13fd88b6},
-  {0x1ceb, 0x13fd88b7},
-  {0x1cec, 0x13fd88b8},
-  {0x1ced, 0x13fd88b9},
-  {0x1cee, 0x13fd8cb0},
-  {0x1cef, 0x13fd8cb1},
-  {0x1cf0, 0x13fd8cb2},
-  {0x1cf1, 0x13fd8cb3},
-  {0x1cf2, 0x13fd8cb4},
-  {0x1cf3, 0x13fd8cb5},
-  {0x1cf4, 0x13fd8cb6},
-  {0x1cf5, 0x13fd8cb7},
-  {0x1cf6, 0x13fd8cb8},
-  {0x1cf7, 0x13fd8cb9},
-  {0x1cf8, 0x13fd90b0},
-  {0x1cf9, 0x13fd90b1},
-  {0x1cfa, 0x13fd90b2},
-  {0x1cfb, 0x13fd90b3},
-  {0x1cfc, 0x13fd90b4},
-  {0x1cfd, 0x13fd90b5},
-  {0x1cfe, 0x13fd90b6},
-  {0x1cff, 0x13fd90b7},
-  {0x1d00, 0x13fd90b8},
-  {0x1d01, 0x13fd90b9},
-  {0x1d02, 0x13fd94b0},
-  {0x1d03, 0x13fd94b1},
-  {0x1d04, 0x13fd94b2},
-  {0x1d05, 0x13fd94b3},
-  {0x1d06, 0x13fd94b4},
-  {0x1d07, 0x13fd94b5},
-  {0x1d08, 0x13fd94b6},
-  {0x1d09, 0x13fd94b7},
-  {0x1d0a, 0x13fd94b8},
-  {0x1d0b, 0x13fd94b9},
-  {0x1d0c, 0x13fd98b0},
-  {0x1d0d, 0x13fd98b1},
-  {0x1d0e, 0x13fd98b2},
-  {0x1d0f, 0x13fd98b3},
-  {0x1d10, 0x13fd98b4},
-  {0x1d11, 0x13fd98b5},
-  {0x1d12, 0x13fd98b6},
-  {0x1d13, 0x13fd98b7},
-  {0x1d14, 0x13fd98b8},
-  {0x1d15, 0x13fd98b9},
-  {0x1d16, 0x13fd9cb0},
-  {0x1d17, 0x13fd9cb1},
-  {0x1d18, 0x13fd9cb2},
-  {0x1d19, 0x13fd9cb3},
-  {0x1d1a, 0x13fd9cb4},
-  {0x1d1b, 0x13fd9cb5},
-  {0x1d1c, 0x13fd9cb6},
-  {0x1d1d, 0x13fd9cb7},
-  {0x1d1e, 0x13fd9cb8},
-  {0x1d1f, 0x13fd9cb9},
-  {0x1d20, 0x13fda0b0},
-  {0x1d21, 0x13fda0b1},
-  {0x1d22, 0x13fda0b2},
-  {0x1d23, 0x13fda0b3},
-  {0x1d24, 0x13fda0b4},
-  {0x1d25, 0x13fda0b5},
-  {0x1d26, 0x13fda0b6},
-  {0x1d27, 0x13fda0b7},
-  {0x1d28, 0x13fda0b8},
-  {0x1d29, 0x13fda0b9},
-  {0x1d2a, 0x13fda4b0},
-  {0x1d2b, 0x13fda4b1},
-  {0x1d2c, 0x13fda4b2},
-  {0x1d2d, 0x13fda4b3},
-  {0x1d2e, 0x13fda4b4},
-  {0x1d2f, 0x13fda4b5},
-  {0x1d30, 0x13fda4b6},
-  {0x1d31, 0x13fda4b7},
-  {0x1d32, 0x13fda4b8},
-  {0x1d33, 0x13fda4b9},
-  {0x1d34, 0x13fda8b0},
-  {0x1d35, 0x13fda8b1},
-  {0x1d36, 0x13fda8b2},
-  {0x1d37, 0x13fda8b3},
-  {0x1d38, 0x13fda8b4},
-  {0x1d39, 0x13fda8b5},
-  {0x1d3a, 0x13fda8b6},
-  {0x1d3b, 0x13fda8b7},
-  {0x1d3c, 0x13fda8b8},
-  {0x1d3d, 0x13fda8b9},
-  {0x1d3e, 0x13fdacb0},
-  {0x1d3f, 0x13fdacb1},
-  {0x1d40, 0x13fdacb2},
-  {0x1d41, 0x13fdacb3},
-  {0x1d42, 0x13fdacb4},
-  {0x1d43, 0x13fdacb5},
-  {0x1d44, 0x13fdacb6},
-  {0x1d45, 0x13fdacb7},
-  {0x1d46, 0x13fdacb8},
-  {0x1d47, 0x13fdacb9},
-  {0x1d48, 0x13fdb0b0},
-  {0x1d49, 0x13fdb0b1},
-  {0x1d4a, 0x13fdb0b2},
-  {0x1d4b, 0x13fdb0b3},
-  {0x1d4c, 0x13fdb0b4},
-  {0x1d4d, 0x13fdb0b5},
-  {0x1d4e, 0x13fdb0b6},
-  {0x1d4f, 0x13fdb0b7},
-  {0x1d50, 0x13fdb0b8},
-  {0x1d51, 0x13fdb0b9},
-  {0x1d52, 0x13fdb4b0},
-  {0x1d53, 0x13fdb4b1},
-  {0x1d54, 0x13fdb4b2},
-  {0x1d55, 0x13fdb4b3},
-  {0x1d56, 0x13fdb4b4},
-  {0x1d57, 0x13fdb4b5},
-  {0x1d58, 0x13fdb4b6},
-  {0x1d59, 0x13fdb4b7},
-  {0x1d5a, 0x13fdb4b8},
-  {0x1d5b, 0x13fdb4b9},
-  {0x1d5c, 0x13fdb8b0},
-  {0x1d5d, 0x13fdb8b1},
-  {0x1d5e, 0x13fdb8b2},
-  {0x1d5f, 0x13fdb8b3},
-  {0x1d60, 0x13fdb8b4},
-  {0x1d61, 0x13fdb8b5},
-  {0x1d62, 0x13fdb8b6},
-  {0x1d63, 0x13fdb8b7},
-  {0x1d64, 0x13fdb8b8},
-  {0x1d65, 0x13fdb8b9},
-  {0x1d66, 0x13fdbcb0},
-  {0x1d67, 0x13fdbcb1},
-  {0x1d68, 0x13fdbcb2},
-  {0x1d69, 0x13fdbcb3},
-  {0x1d6a, 0x13fdbcb4},
-  {0x1d6b, 0x13fdbcb5},
-  {0x1d6c, 0x13fdbcb6},
-  {0x1d6d, 0x13fdbcb7},
-  {0x1d6e, 0x13fdbcb8},
-  {0x1d6f, 0x13fdbcb9},
-  {0x1d70, 0x13fe80b0},
-  {0x1d71, 0x13fe80b1},
-  {0x1d72, 0x13fe80b2},
-  {0x1d73, 0x13fe80b3},
-  {0x1d74, 0x13fe80b4},
-  {0x1d75, 0x13fe80b5},
-  {0x1d76, 0x13fe80b6},
-  {0x1d77, 0x13fe80b7},
-  {0x1d78, 0x13fe80b8},
-  {0x1d79, 0x13fe80b9},
-  {0x1d7a, 0x13fe84b0},
-  {0x1d7b, 0x13fe84b1},
-  {0x1d7c, 0x13fe84b2},
-  {0x1d7d, 0x13fe84b3},
-  {0x1d7e, 0x13fe84b4},
-  {0x1d7f, 0x13fe84b5},
-  {0x1d80, 0x13fe84b6},
-  {0x1d81, 0x13fe84b7},
-  {0x1d82, 0x13fe84b8},
-  {0x1d83, 0x13fe84b9},
-  {0x1d84, 0x13fe88b0},
-  {0x1d85, 0x13fe88b1},
-  {0x1d86, 0x13fe88b2},
-  {0x1d87, 0x13fe88b3},
-  {0x1d88, 0x13fe88b4},
-  {0x1d89, 0x13fe88b5},
-  {0x1d8a, 0x13fe88b6},
-  {0x1d8b, 0x13fe88b7},
-  {0x1d8c, 0x13fe88b8},
-  {0x1d8d, 0x13fe88b9},
-  {0x1d8e, 0x13fe8cb0},
-  {0x1d8f, 0x13fe8cb1},
-  {0x1d90, 0x13fe8cb2},
-  {0x1d91, 0x13fe8cb3},
-  {0x1d92, 0x13fe8cb4},
-  {0x1d93, 0x13fe8cb5},
-  {0x1d94, 0x13fe8cb6},
-  {0x1d95, 0x13fe8cb7},
-  {0x1d96, 0x13fe8cb8},
-  {0x1d97, 0x13fe8cb9},
-  {0x1d98, 0x13fe90b0},
-  {0x1d99, 0x13fe90b1},
-  {0x1d9a, 0x13fe90b2},
-  {0x1d9b, 0x13fe90b3},
-  {0x1d9c, 0x13fe90b4},
-  {0x1d9d, 0x13fe90b5},
-  {0x1d9e, 0x13fe90b6},
-  {0x1d9f, 0x13fe90b7},
-  {0x1da0, 0x13fe90b8},
-  {0x1da1, 0x13fe90b9},
-  {0x1da2, 0x13fe94b0},
-  {0x1da3, 0x13fe94b1},
-  {0x1da4, 0x13fe94b2},
-  {0x1da5, 0x13fe94b3},
-  {0x1da6, 0x13fe94b4},
-  {0x1da7, 0x13fe94b5},
-  {0x1da8, 0x13fe94b6},
-  {0x1da9, 0x13fe94b7},
-  {0x1daa, 0x13fe94b8},
-  {0x1dab, 0x13fe94b9},
-  {0x1dac, 0x13fe98b0},
-  {0x1dad, 0x13fe98b1},
-  {0x1dae, 0x13fe98b2},
-  {0x1daf, 0x13fe98b3},
-  {0x1db0, 0x13fe98b4},
-  {0x1db1, 0x13fe98b5},
-  {0x1db2, 0x13fe98b6},
-  {0x1db3, 0x13fe98b7},
-  {0x1db4, 0x13fe98b8},
-  {0x1db5, 0x13fe98b9},
-  {0x1db6, 0x13fe9cb0},
-  {0x1db7, 0x13fe9cb1},
-  {0x1db8, 0x13fe9cb2},
-  {0x1db9, 0x13fe9cb3},
-  {0x1dba, 0x13fe9cb4},
-  {0x1dbb, 0x13fe9cb5},
-  {0x1dbc, 0x13fe9cb6},
-  {0x1dbd, 0x13fe9cb7},
-  {0x1dbe, 0x13fe9cb8},
-  {0x1dbf, 0x13fe9cb9},
-  {0x1dc0, 0x13fea0b0},
-  {0x1dc1, 0x13fea0b1},
-  {0x1dc2, 0x13fea0b2},
-  {0x1dc3, 0x13fea0b3},
-  {0x1dc4, 0x13fea0b4},
-  {0x1dc5, 0x13fea0b5},
-  {0x1dc6, 0x13fea0b6},
-  {0x1dc7, 0x13fea0b7},
-  {0x1dc8, 0x13fea0b8},
-  {0x1dc9, 0x13fea0b9},
-  {0x1dca, 0x13fea4b0},
-  {0x1dcb, 0x13fea4b1},
-  {0x1dcc, 0x13fea4b2},
-  {0x1dcd, 0x13fea4b3},
-  {0x1dce, 0x13fea4b4},
-  {0x1dcf, 0x13fea4b5},
-  {0x1dd0, 0x13fea4b6},
-  {0x1dd1, 0x13fea4b7},
-  {0x1dd2, 0x13fea4b8},
-  {0x1dd3, 0x13fea4b9},
-  {0x1dd4, 0x13fea8b0},
-  {0x1dd5, 0x13fea8b1},
-  {0x1dd6, 0x13fea8b2},
-  {0x1dd7, 0x13fea8b3},
-  {0x1dd8, 0x13fea8b4},
-  {0x1dd9, 0x13fea8b5},
-  {0x1dda, 0x13fea8b6},
-  {0x1ddb, 0x13fea8b7},
-  {0x1ddc, 0x13fea8b8},
-  {0x1ddd, 0x13fea8b9},
-  {0x1dde, 0x13feacb0},
-  {0x1ddf, 0x13feacb1},
-  {0x1de0, 0x13feacb2},
-  {0x1de1, 0x13feacb3},
-  {0x1de2, 0x13feacb4},
-  {0x1de3, 0x13feacb5},
-  {0x1de4, 0x13feacb6},
-  {0x1de5, 0x13feacb7},
-  {0x1de6, 0x13feacb8},
-  {0x1de7, 0x13feacb9},
-  {0x1de8, 0x13feb0b0},
-  {0x1de9, 0x13feb0b1},
-  {0x1dea, 0x13feb0b2},
-  {0x1deb, 0x13feb0b3},
-  {0x1dec, 0x13feb0b4},
-  {0x1ded, 0x13feb0b5},
-  {0x1dee, 0x13feb0b6},
-  {0x1def, 0x13feb0b7},
-  {0x1df0, 0x13feb0b8},
-  {0x1df1, 0x13feb0b9},
-  {0x1df2, 0x13feb4b0},
-  {0x1df3, 0x13feb4b1},
-  {0x1df4, 0x13feb4b2},
-  {0x1df5, 0x13feb4b3},
-  {0x1df6, 0x13feb4b4},
-  {0x1df7, 0x13feb4b5},
-  {0x1df8, 0x13feb4b6},
-  {0x1df9, 0x13feb4b7},
-  {0x1dfa, 0x13feb4b8},
-  {0x1dfb, 0x13feb4b9},
-  {0x1dfc, 0x13feb8b0},
-  {0x1dfd, 0x13feb8b1},
-  {0x1dfe, 0x13feb8b2},
-  {0x1dff, 0x13feb8b3},
-  {0x1e00, 0x13feb8b4},
-  {0x1e01, 0x13feb8b5},
-  {0x1e02, 0x13feb8b6},
-  {0x1e03, 0x13feb8b7},
-  {0x1e04, 0x13feb8b8},
-  {0x1e05, 0x13feb8b9},
-  {0x1e06, 0x13febcb0},
-  {0x1e07, 0x13febcb1},
-  {0x1e08, 0x13febcb2},
-  {0x1e09, 0x13febcb3},
-  {0x1e0a, 0x13febcb4},
-  {0x1e0b, 0x13febcb5},
-  {0x1e0c, 0x13febcb6},
-  {0x1e0d, 0x13febcb7},
-  {0x1e0e, 0x13febcb8},
-  {0x1e0f, 0x13febcb9},
-  {0x1e10, 0x13ff80b0},
-  {0x1e11, 0x13ff80b1},
-  {0x1e12, 0x13ff80b2},
-  {0x1e13, 0x13ff80b3},
-  {0x1e14, 0x13ff80b4},
-  {0x1e15, 0x13ff80b5},
-  {0x1e16, 0x13ff80b6},
-  {0x1e17, 0x13ff80b7},
-  {0x1e18, 0x13ff80b8},
-  {0x1e19, 0x13ff80b9},
-  {0x1e1a, 0x13ff84b0},
-  {0x1e1b, 0x13ff84b1},
-  {0x1e1c, 0x13ff84b2},
-  {0x1e1d, 0x13ff84b3},
-  {0x1e1e, 0x13ff84b4},
-  {0x1e1f, 0x13ff84b5},
-  {0x1e20, 0x13ff84b6},
-  {0x1e21, 0x13ff84b7},
-  {0x1e22, 0x13ff84b8},
-  {0x1e23, 0x13ff84b9},
-  {0x1e24, 0x13ff88b0},
-  {0x1e25, 0x13ff88b1},
-  {0x1e26, 0x13ff88b2},
-  {0x1e27, 0x13ff88b3},
-  {0x1e28, 0x13ff88b4},
-  {0x1e29, 0x13ff88b5},
-  {0x1e2a, 0x13ff88b6},
-  {0x1e2b, 0x13ff88b7},
-  {0x1e2c, 0x13ff88b8},
-  {0x1e2d, 0x13ff88b9},
-  {0x1e2e, 0x13ff8cb0},
-  {0x1e2f, 0x13ff8cb1},
-  {0x1e30, 0x13ff8cb2},
-  {0x1e31, 0x13ff8cb3},
-  {0x1e32, 0x13ff8cb4},
-  {0x1e33, 0x13ff8cb5},
-  {0x1e34, 0x13ff8cb6},
-  {0x1e35, 0x13ff8cb7},
-  {0x1e36, 0x13ff8cb8},
-  {0x1e37, 0x13ff8cb9},
-  {0x1e38, 0x13ff90b0},
-  {0x1e39, 0x13ff90b1},
-  {0x1e3a, 0x13ff90b2},
-  {0x1e3b, 0x13ff90b3},
-  {0x1e3c, 0x13ff90b4},
-  {0x1e3d, 0x13ff90b5},
-  {0x1e3e, 0x13ff90b6},
-  {0x1e3f, 0x13ff90b7},
-  {0x1e40, 0x13ff90b8},
-  {0x1e41, 0x13ff90b9},
-  {0x1e42, 0x13ff94b0},
-  {0x1e43, 0x13ff94b1},
-  {0x1e44, 0x13ff94b2},
-  {0x1e45, 0x13ff94b3},
-  {0x1e46, 0x13ff94b4},
-  {0x1e47, 0x13ff94b5},
-  {0x1e48, 0x13ff94b6},
-  {0x1e49, 0x13ff94b7},
-  {0x1e4a, 0x13ff94b8},
-  {0x1e4b, 0x13ff94b9},
-  {0x1e4c, 0x13ff98b0},
-  {0x1e4d, 0x13ff98b1},
-  {0x1e4e, 0x13ff98b2},
-  {0x1e4f, 0x13ff98b3},
-  {0x1e50, 0x13ff98b4},
-  {0x1e51, 0x13ff98b5},
-  {0x1e52, 0x13ff98b6},
-  {0x1e53, 0x13ff98b7},
-  {0x1e54, 0x13ff98b8},
-  {0x1e55, 0x13ff98b9},
-  {0x1e56, 0x13ff9cb0},
-  {0x1e57, 0x13ff9cb1},
-  {0x1e58, 0x13ff9cb2},
-  {0x1e59, 0x13ff9cb3},
-  {0x1e5a, 0x13ff9cb4},
-  {0x1e5b, 0x13ff9cb5},
-  {0x1e5c, 0x13ff9cb6},
-  {0x1e5d, 0x13ff9cb7},
-  {0x1e5e, 0x13ff9cb8},
-  {0x1e5f, 0x13ff9cb9},
-  {0x1e60, 0x13ffa0b0},
-  {0x1e61, 0x13ffa0b1},
-  {0x1e62, 0x13ffa0b2},
-  {0x1e63, 0x13ffa0b3},
-  {0x1e64, 0x13ffa0b4},
-  {0x1e65, 0x13ffa0b5},
-  {0x1e66, 0x13ffa0b6},
-  {0x1e67, 0x13ffa0b7},
-  {0x1e68, 0x13ffa0b8},
-  {0x1e69, 0x13ffa0b9},
-  {0x1e6a, 0x13ffa4b0},
-  {0x1e6b, 0x13ffa4b1},
-  {0x1e6c, 0x13ffa4b2},
-  {0x1e6d, 0x13ffa4b3},
-  {0x1e6e, 0x13ffa4b4},
-  {0x1e6f, 0x13ffa4b5},
-  {0x1e70, 0x13ffa4b6},
-  {0x1e71, 0x13ffa4b7},
-  {0x1e72, 0x13ffa4b8},
-  {0x1e73, 0x13ffa4b9},
-  {0x1e74, 0x13ffa8b0},
-  {0x1e75, 0x13ffa8b1},
-  {0x1e76, 0x13ffa8b2},
-  {0x1e77, 0x13ffa8b3},
-  {0x1e78, 0x13ffa8b4},
-  {0x1e79, 0x13ffa8b5},
-  {0x1e7a, 0x13ffa8b6},
-  {0x1e7b, 0x13ffa8b7},
-  {0x1e7c, 0x13ffa8b8},
-  {0x1e7d, 0x13ffa8b9},
-  {0x1e7e, 0x13ffacb0},
-  {0x1e7f, 0x13ffacb1},
-  {0x1e80, 0x13ffacb2},
-  {0x1e81, 0x13ffacb3},
-  {0x1e82, 0x13ffacb4},
-  {0x1e83, 0x13ffacb5},
-  {0x1e84, 0x13ffacb6},
-  {0x1e85, 0x13ffacb7},
-  {0x1e86, 0x13ffacb8},
-  {0x1e87, 0x13ffacb9},
-  {0x1e88, 0x13ffb0b0},
-  {0x1e89, 0x13ffb0b1},
-  {0x1e8a, 0x13ffb0b2},
-  {0x1e8b, 0x13ffb0b3},
-  {0x1e8c, 0x13ffb0b4},
-  {0x1e8d, 0x13ffb0b5},
-  {0x1e8e, 0x13ffb0b6},
-  {0x1e8f, 0x13ffb0b7},
-  {0x1e90, 0x13ffb0b8},
-  {0x1e91, 0x13ffb0b9},
-  {0x1e92, 0x13ffb4b0},
-  {0x1e93, 0x13ffb4b1},
-  {0x1e94, 0x13ffb4b2},
-  {0x1e95, 0x13ffb4b3},
-  {0x1e96, 0x13ffb4b4},
-  {0x1e97, 0x13ffb4b5},
-  {0x1e98, 0x13ffb4b6},
-  {0x1e99, 0x13ffb4b7},
-  {0x1e9a, 0x13ffb4b8},
-  {0x1e9b, 0x13ffb4b9},
-  {0x1e9c, 0x13ffb8b0},
-  {0x1e9d, 0x13ffb8b1},
-  {0x1e9e, 0x13ffb8b2},
-  {0x1e9f, 0x13ffb8b3},
-  {0x1ea0, 0x13ffb8b4},
-  {0x1ea1, 0x13ffb8b5},
-  {0x1ea2, 0x13ffb8b6},
-  {0x1ea3, 0x13ffb8b7},
-  {0x1ea4, 0x13ffb8b8},
-  {0x1ea5, 0x13ffb8b9},
-  {0x1ea6, 0x13e884b0},
-  {0x1ea7, 0x13e884b1},
-  {0x1ea8, 0x13e884b2},
-  {0x1ea9, 0x13e884b3},
-  {0x1eaa, 0x13e884b4},
-  {0x1eab, 0x13e884b5},
-  {0x1eac, 0x13e884b6},
-  {0x1ead, 0x13e884b7},
-  {0x1eae, 0x13e884b8},
-  {0x1eaf, 0x13e884b9},
-  {0x1eb0, 0x13e888b0},
-  {0x1eb1, 0x13e888b1},
-  {0x1eb2, 0x13e888b2},
-  {0x1eb3, 0x13e888b3},
-  {0x1eb4, 0x13e888b4},
-  {0x1eb5, 0x13e888b5},
-  {0x1eb6, 0x13e888b6},
-  {0x1eb7, 0x13e888b7},
-  {0x1eb8, 0x13e888b8},
-  {0x1eb9, 0x13e888b9},
-  {0x1eba, 0x13e88cb0},
-  {0x1ebb, 0x13e88cb1},
-  {0x1ebc, 0x13e88cb2},
-  {0x1ebd, 0x13e88cb3},
-  {0x1ebe, 0x13e88cb4},
-  {0x1ebf, 0x13e88cb5},
-  {0x1ec0, 0x13e88cb6},
-  {0x1ec1, 0x13e88cb7},
-  {0x1ec2, 0x13e88cb8},
-  {0x1ec3, 0x13e88cb9},
-  {0x1ec4, 0x13e890b0},
-  {0x1ec5, 0x13e890b1},
-  {0x1ec6, 0x13e890b2},
-  {0x1ec7, 0x13e890b3},
-  {0x1ec8, 0x13e890b4},
-  {0x1ec9, 0x13e890b5},
-  {0x1eca, 0x13e890b6},
-  {0x1ecb, 0x13e890b7},
-  {0x1ecc, 0x13e890b8},
-  {0x1ecd, 0x13e890b9},
-  {0x1ece, 0x13e894b0},
-  {0x1ecf, 0x13e894b1},
-  {0x1ed0, 0x13e894b2},
-  {0x1ed1, 0x13e894b3},
-  {0x1ed2, 0x13e894b4},
-  {0x1ed3, 0x13e894b5},
-  {0x1ed4, 0x13e894b6},
-  {0x1ed5, 0x13e894b7},
-  {0x1ed6, 0x13e894b8},
-  {0x1ed7, 0x13e894b9},
-  {0x1ed8, 0x13e898b0},
-  {0x1ed9, 0x13e898b1},
-  {0x1eda, 0x13e898b2},
-  {0x1edb, 0x13e898b3},
-  {0x1edc, 0x13e898b4},
-  {0x1edd, 0x13e898b5},
-  {0x1ede, 0x13e898b6},
-  {0x1edf, 0x13e898b7},
-  {0x1ee0, 0x13e898b8},
-  {0x1ee1, 0x13e898b9},
-  {0x1ee2, 0x13e89cb0},
-  {0x1ee3, 0x13e89cb1},
-  {0x1ee4, 0x13e89cb2},
-  {0x1ee5, 0x13e89cb3},
-  {0x1ee6, 0x13e89cb4},
-  {0x1ee7, 0x13e89cb5},
-  {0x1ee8, 0x13e89cb6},
-  {0x1ee9, 0x13e89cb7},
-  {0x1eea, 0x13e89cb8},
-  {0x1eeb, 0x13e89cb9},
-  {0x1eec, 0x13e8a0b0},
-  {0x1eed, 0x13e8a0b1},
-  {0x1eee, 0x13e8a0b2},
-  {0x1eef, 0x13e8a0b3},
-  {0x1ef0, 0x13e8a0b4},
-  {0x1ef1, 0x13e8a0b5},
-  {0x1ef2, 0x13e8a0b6},
-  {0x1ef3, 0x13e8a0b7},
-  {0x1ef4, 0x13e8a0b8},
-  {0x1ef5, 0x13e8a0b9},
-  {0x1ef6, 0x13e8a4b0},
-  {0x1ef7, 0x13e8a4b1},
-  {0x1ef8, 0x13e8a4b2},
-  {0x1ef9, 0x13e8a4b3},
-  {0x1efa, 0x13e8a4b4},
-  {0x1efb, 0x13e8a4b5},
-  {0x1efc, 0x13e8a4b6},
-  {0x1efd, 0x13e8a4b7},
-  {0x1efe, 0x13e8a4b8},
-  {0x1eff, 0x13e8a4b9},
-  {0x1f00, 0x13e8a8b0},
-  {0x1f01, 0x13e8a8b1},
-  {0x1f02, 0x13e8a8b2},
-  {0x1f03, 0x13e8a8b3},
-  {0x1f04, 0x13e8a8b4},
-  {0x1f05, 0x13e8a8b5},
-  {0x1f06, 0x13e8a8b6},
-  {0x1f07, 0x13e8a8b7},
-  {0x1f08, 0x13e8a8b8},
-  {0x1f09, 0x13e8a8b9},
-  {0x1f0a, 0x13e8acb0},
-  {0x1f0b, 0x13e8acb1},
-  {0x1f0c, 0x13e8acb2},
-  {0x1f0d, 0x13e8acb3},
-  {0x1f0e, 0x13e8acb4},
-  {0x1f0f, 0x13e8acb5},
-  {0x1f10, 0x13e8acb6},
-  {0x1f11, 0x13e8acb7},
-  {0x1f12, 0x13e8acb8},
-  {0x1f13, 0x13e8acb9},
-  {0x1f14, 0x13e8b0b0},
-  {0x1f15, 0x13e8b0b1},
-  {0x1f16, 0x13e8b0b2},
-  {0x1f17, 0x13e8b0b3},
-  {0x1f18, 0x13e8b0b4},
-  {0x1f19, 0x13e8b0b5},
-  {0x1f1a, 0x13e8b0b6},
-  {0x1f1b, 0x13e8b0b7},
-  {0x1f1c, 0x13e8b0b8},
-  {0x1f1d, 0x13e8b0b9},
-  {0x1f1e, 0x13e8b4b0},
-  {0x1f1f, 0x13e8b4b1},
-  {0x1f20, 0x13e8b4b2},
-  {0x1f21, 0x13e8b4b3},
-  {0x1f22, 0x13e8b4b4},
-  {0x1f23, 0x13e8b4b5},
-  {0x1f24, 0x13e8b4b6},
-  {0x1f25, 0x13e8b4b7},
-  {0x1f26, 0x13e8b4b8},
-  {0x1f27, 0x13e8b4b9},
-  {0x1f28, 0x13e8b8b0},
-  {0x1f29, 0x13e8b8b1},
-  {0x1f2a, 0x13e8b8b2},
-  {0x1f2b, 0x13e8b8b3},
-  {0x1f2c, 0x13e8b8b4},
-  {0x1f2d, 0x13e8b8b5},
-  {0x1f2e, 0x13e8b8b6},
-  {0x1f2f, 0x13e8b8b7},
-  {0x1f30, 0x13e8b8b8},
-  {0x1f31, 0x13e8b8b9},
-  {0x1f32, 0x13e8bcb0},
-  {0x1f33, 0x13e8bcb1},
-  {0x1f34, 0x13e8bcb2},
-  {0x1f35, 0x13e8bcb3},
-  {0x1f36, 0x13e8bcb4},
-  {0x1f37, 0x13e8bcb5},
-  {0x1f38, 0x13e8bcb6},
-  {0x1f39, 0x13e8bcb7},
-  {0x1f3a, 0x13e8bcb8},
-  {0x1f3b, 0x13e8bcb9},
-  {0x1f3c, 0x13e980b0},
-  {0x1f3d, 0x13e980b1},
-  {0x1f3e, 0x13e980b2},
-  {0x1f3f, 0x13e980b3},
-  {0x1f40, 0x13e980b4},
-  {0x1f41, 0x13e980b5},
-  {0x1f42, 0x13e980b6},
-  {0x1f43, 0x13e980b7},
-  {0x1f44, 0x13e980b8},
-  {0x1f45, 0x13e980b9},
-  {0x1f46, 0x13e984b0},
-  {0x1f47, 0x13e984b1},
-  {0x1f48, 0x13e984b2},
-  {0x1f49, 0x13e984b3},
-  {0x1f4a, 0x13e984b4},
-  {0x1f4b, 0x13e984b5},
-  {0x1f4c, 0x13e984b6},
-  {0x1f4d, 0x13e984b7},
-  {0x1f4e, 0x13e984b8},
-  {0x1f4f, 0x13e984b9},
-  {0x1f50, 0x13e988b0},
-  {0x1f51, 0x13e988b1},
-  {0x1f52, 0x13e988b2},
-  {0x1f53, 0x13e988b3},
-  {0x1f54, 0x13e988b4},
-  {0x1f55, 0x13e988b5},
-  {0x1f56, 0x13e988b6},
-  {0x1f57, 0x13e988b7},
-  {0x1f58, 0x13e988b8},
-  {0x1f59, 0x13e988b9},
-  {0x1f5a, 0x13e98cb0},
-  {0x1f5b, 0x13e98cb1},
-  {0x1f5c, 0x13e98cb2},
-  {0x1f5d, 0x13e98cb3},
-  {0x1f5e, 0x13e98cb4},
-  {0x1f5f, 0x13e98cb5},
-  {0x1f60, 0x13e98cb6},
-  {0x1f61, 0x13e98cb7},
-  {0x1f62, 0x13e98cb8},
-  {0x1f63, 0x13e98cb9},
-  {0x1f64, 0x13e990b0},
-  {0x1f65, 0x13e990b1},
-  {0x1f66, 0x13e990b2},
-  {0x1f67, 0x13e990b3},
-  {0x1f68, 0x13e990b4},
-  {0x1f69, 0x13e990b5},
-  {0x1f6a, 0x13e990b6},
-  {0x1f6b, 0x13e990b7},
-  {0x1f6c, 0x13e990b8},
-  {0x1f6d, 0x13e990b9},
-  {0x1f6e, 0x13e994b0},
-  {0x1f6f, 0x13e994b1},
-  {0x1f70, 0x13e994b2},
-  {0x1f71, 0x13e994b3},
-  {0x1f72, 0x13e994b4},
-  {0x1f73, 0x13e994b5},
-  {0x1f74, 0x13e994b6},
-  {0x1f75, 0x13e994b7},
-  {0x1f76, 0x13e994b8},
-  {0x1f77, 0x13e994b9},
-  {0x1f78, 0x13e998b0},
-  {0x1f79, 0x13e998b1},
-  {0x1f7a, 0x13e998b2},
-  {0x1f7b, 0x13e998b3},
-  {0x1f7c, 0x13e998b4},
-  {0x1f7d, 0x13e998b5},
-  {0x1f7e, 0x13e998b6},
-  {0x1f7f, 0x13e998b7},
-  {0x1f80, 0x13e998b8},
-  {0x1f81, 0x13e998b9},
-  {0x1f82, 0x13e99cb0},
-  {0x1f83, 0x13e99cb1},
-  {0x1f84, 0x13e99cb2},
-  {0x1f85, 0x13e99cb3},
-  {0x1f86, 0x13e99cb4},
-  {0x1f87, 0x13e99cb5},
-  {0x1f88, 0x13e99cb6},
-  {0x1f89, 0x13e99cb7},
-  {0x1f8a, 0x13e99cb8},
-  {0x1f8b, 0x13e99cb9},
-  {0x1f8c, 0x13e9a0b0},
-  {0x1f8d, 0x13e9a0b1},
-  {0x1f8e, 0x13e9a0b2},
-  {0x1f8f, 0x13e9a0b3},
-  {0x1f90, 0x13e9a0b4},
-  {0x1f91, 0x13e9a0b5},
-  {0x1f92, 0x13e9a0b6},
-  {0x1f93, 0x13e9a0b7},
-  {0x1f94, 0x13e9a0b8},
-  {0x1f95, 0x13e9a0b9},
-  {0x1f96, 0x13e9a4b0},
-  {0x1f97, 0x13e9a4b1},
-  {0x1f98, 0x13e9a4b2},
-  {0x1f99, 0x13e9a4b3},
-  {0x1f9a, 0x13e9a4b4},
-  {0x1f9b, 0x13e9a4b5},
-  {0x1f9c, 0x13e9a4b6},
-  {0x1f9d, 0x13e9a4b7},
-  {0x1f9e, 0x13e9a4b8},
-  {0x1f9f, 0x13e9a4b9},
-  {0x1fa0, 0x13e9a8b0},
-  {0x1fa1, 0x13e9a8b1},
-  {0x1fa2, 0x13e9a8b2},
-  {0x1fa3, 0x13e9a8b3},
-  {0x1fa4, 0x13e9a8b4},
-  {0x1fa5, 0x13e9a8b5},
-  {0x1fa6, 0x13e9a8b6},
-  {0x1fa7, 0x13e9a8b7},
-  {0x1fa8, 0x13e9a8b8},
-  {0x1fa9, 0x13e9a8b9},
-  {0x1faa, 0x13e9acb0},
-  {0x1fab, 0x13e9acb1},
-  {0x1fac, 0x13e9acb2},
-  {0x1fad, 0x13e9acb3},
-  {0x1fae, 0x13e9acb4},
-  {0x1faf, 0x13e9acb5},
-  {0x1fb0, 0x13e9acb6},
-  {0x1fb1, 0x13e9acb7},
-  {0x1fb2, 0x13e9acb8},
-  {0x1fb3, 0x13e9acb9},
-  {0x1fb4, 0x13e9b0b0},
-  {0x1fb5, 0x13e9b0b1},
-  {0x1fb6, 0x13e9b0b2},
-  {0x1fb7, 0x13e9b0b3},
-  {0x1fb8, 0x13e9b0b4},
-  {0x1fb9, 0x13e9b0b5},
-  {0x1fba, 0x13e9b0b6},
-  {0x1fbb, 0x13e9b0b7},
-  {0x1fbc, 0x13e9b0b8},
-  {0x1fbd, 0x13e9b0b9},
-  {0x1fbe, 0x13e9b4b0},
-  {0x1fbf, 0x13e9b4b1},
-  {0x1fc0, 0x13e9b4b2},
-  {0x1fc1, 0x13e9b4b3},
-  {0x1fc2, 0x13e9b4b4},
-  {0x1fc3, 0x13e9b4b5},
-  {0x1fc4, 0x13e9b4b6},
-  {0x1fc5, 0x13e9b4b7},
-  {0x1fc6, 0x13e9b4b8},
-  {0x1fc7, 0x13e9b4b9},
-  {0x1fc8, 0x13e9b8b0},
-  {0x1fc9, 0x13e9b8b1},
-  {0x1fca, 0x13e9b8b2},
-  {0x1fcb, 0x13e9b8b3},
-  {0x1fcc, 0x13e9b8b4},
-  {0x1fcd, 0x13e9b8b5},
-  {0x1fce, 0x13e9b8b6},
-  {0x1fcf, 0x13e9b8b7},
-  {0x1fd0, 0x13e9b8b8},
-  {0x1fd1, 0x13e9b8b9},
-  {0x1fd2, 0x13e9bcb0},
-  {0x1fd3, 0x13e9bcb1},
-  {0x1fd4, 0x13e9bcb2},
-  {0x1fd5, 0x13e9bcb3},
-  {0x1fd6, 0x13e9bcb4},
-  {0x1fd7, 0x13e9bcb5},
-  {0x1fd8, 0x13e9bcb6},
-  {0x1fd9, 0x13e9bcb7},
-  {0x1fda, 0x13e9bcb8},
-  {0x1fdb, 0x13e9bcb9},
-  {0x1fdc, 0x13ea80b0},
-  {0x1fdd, 0x13ea80b1},
-  {0x1fde, 0x13ea80b2},
-  {0x1fdf, 0x13ea80b3},
-  {0x1fe0, 0x13ea80b4},
-  {0x1fe1, 0x13ea80b5},
-  {0x1fe2, 0x13ea80b6},
-  {0x1fe3, 0x13ea80b7},
-  {0x1fe4, 0x13ea80b8},
-  {0x1fe5, 0x13ea80b9},
-  {0x1fe6, 0x13ea84b0},
-  {0x1fe7, 0x13ea84b1},
-  {0x1fe8, 0x13ea84b2},
-  {0x1fe9, 0x13ea84b3},
-  {0x1fea, 0x13ea84b4},
-  {0x1feb, 0x13ea84b5},
-  {0x1fec, 0x13ea84b6},
-  {0x1fed, 0x13ea84b7},
-  {0x1fee, 0x13ea84b8},
-  {0x1fef, 0x13ea84b9},
-  {0x1ff0, 0x13ea88b0},
-  {0x1ff1, 0x13ea88b1},
-  {0x1ff2, 0x13ea88b2},
-  {0x1ff3, 0x13ea88b3},
-  {0x1ff4, 0x13ea88b4},
-  {0x1ff5, 0x13ea88b5},
-  {0x1ff6, 0x13ea88b6},
-  {0x1ff7, 0x13ea88b7},
-  {0x1ff8, 0x13ea88b8},
-  {0x1ff9, 0x13ea88b9},
-  {0x1ffa, 0x13ea8cb0},
-  {0x1ffb, 0x13ea8cb1},
-  {0x1ffc, 0x13ea8cb2},
-  {0x1ffd, 0x13ea8cb3},
-  {0x1ffe, 0x13ea8cb4},
-  {0x1fff, 0x13ea8cb5},
-  {0x2000, 0x13ea8cb6},
-  {0x2001, 0x13ea8cb7},
-  {0x2002, 0x13ea8cb8},
-  {0x2003, 0x13ea8cb9},
-  {0x2004, 0x13ea90b0},
-  {0x2005, 0x13ea90b1},
-  {0x2006, 0x13ea90b2},
-  {0x2007, 0x13ea90b3},
-  {0x2008, 0x13ea90b4},
-  {0x2009, 0x13ea90b5},
-  {0x200a, 0x13ea90b6},
-  {0x200b, 0x13ea90b7},
-  {0x200c, 0x13ea90b8},
-  {0x200d, 0x13ea90b9},
-  {0x200e, 0x13ea94b0},
-  {0x200f, 0x13ea94b1},
-  {0x2010, 0xeaa59c},
-  {0x2011, 0x13ea94b2},
-  {0x2012, 0x13ea94b3},
-  {0x2013, 0xeaa183},
-  {0x2014, 0xea86aa},
-  {0x2015, 0xeaa184},
-  {0x2016, 0xea86ac},
-  {0x2017, 0x13ea94b4},
-  {0x2018, 0xea86ae},
-  {0x2019, 0xea86af},
-  {0x201a, 0x13ea94b5},
-  {0x201b, 0x13ea94b6},
-  {0x201c, 0xea86b0},
-  {0x201d, 0xea86b1},
-  {0x201e, 0x13ea94b7},
-  {0x201f, 0x13ea94b8},
-  {0x2020, 0x13ea94b9},
-  {0x2021, 0x13ea98b0},
-  {0x2022, 0x13ea98b1},
-  {0x2023, 0x13ea98b2},
-  {0x2024, 0x13ea98b3},
-  {0x2025, 0xeaa185},
-  {0x2026, 0xea86ad},
-  {0x2027, 0x13ea98b4},
-  {0x2028, 0x13ea98b5},
-  {0x2029, 0x13ea98b6},
-  {0x202a, 0x13ea98b7},
-  {0x202b, 0x13ea98b8},
-  {0x202c, 0x13ea98b9},
-  {0x202d, 0x13ea9cb0},
-  {0x202e, 0x13ea9cb1},
-  {0x202f, 0x13ea9cb2},
-  {0x2030, 0xea87ab},
-  {0x2031, 0x13ea9cb3},
-  {0x2032, 0xea87a4},
-  {0x2033, 0xea87a5},
-  {0x2034, 0x13ea9cb4},
-  {0x2035, 0xeaa186},
-  {0x2036, 0x13ea9cb5},
-  {0x2037, 0x13ea9cb6},
-  {0x2038, 0x13ea9cb7},
-  {0x2039, 0x13ea9cb8},
-  {0x203a, 0x13ea9cb9},
-  {0x203b, 0xea87b9},
-  {0x203c, 0x13eaa0b0},
-  {0x203d, 0x13eaa0b1},
-  {0x203e, 0x13eaa0b2},
-  {0x203f, 0x13eaa0b3},
-  {0x2040, 0x13eaa0b4},
-  {0x2041, 0x13eaa0b5},
-  {0x2042, 0x13eaa0b6},
-  {0x2043, 0x13eaa0b7},
-  {0x2044, 0x13eaa0b8},
-  {0x2045, 0x13eaa0b9},
-  {0x2046, 0x13eaa4b0},
-  {0x2047, 0x13eaa4b1},
-  {0x2048, 0x13eaa4b2},
-  {0x2049, 0x13eaa4b3},
-  {0x204a, 0x13eaa4b4},
-  {0x204b, 0x13eaa4b5},
-  {0x204c, 0x13eaa4b6},
-  {0x204d, 0x13eaa4b7},
-  {0x204e, 0x13eaa4b8},
-  {0x204f, 0x13eaa4b9},
-  {0x2050, 0x13eaa8b0},
-  {0x2051, 0x13eaa8b1},
-  {0x2052, 0x13eaa8b2},
-  {0x2053, 0x13eaa8b3},
-  {0x2054, 0x13eaa8b4},
-  {0x2055, 0x13eaa8b5},
-  {0x2056, 0x13eaa8b6},
-  {0x2057, 0x13eaa8b7},
-  {0x2058, 0x13eaa8b8},
-  {0x2059, 0x13eaa8b9},
-  {0x205a, 0x13eaacb0},
-  {0x205b, 0x13eaacb1},
-  {0x205c, 0x13eaacb2},
-  {0x205d, 0x13eaacb3},
-  {0x205e, 0x13eaacb4},
-  {0x205f, 0x13eaacb5},
-  {0x2060, 0x13eaacb6},
-  {0x2061, 0x13eaacb7},
-  {0x2062, 0x13eaacb8},
-  {0x2063, 0x13eaacb9},
-  {0x2064, 0x13eab0b0},
-  {0x2065, 0x13eab0b1},
-  {0x2066, 0x13eab0b2},
-  {0x2067, 0x13eab0b3},
-  {0x2068, 0x13eab0b4},
-  {0x2069, 0x13eab0b5},
-  {0x206a, 0x13eab0b6},
-  {0x206b, 0x13eab0b7},
-  {0x206c, 0x13eab0b8},
-  {0x206d, 0x13eab0b9},
-  {0x206e, 0x13eab4b0},
-  {0x206f, 0x13eab4b1},
-  {0x2070, 0x13eab4b2},
-  {0x2071, 0x13eab4b3},
-  {0x2072, 0x13eab4b4},
-  {0x2073, 0x13eab4b5},
-  {0x2074, 0x13eab4b6},
-  {0x2075, 0x13eab4b7},
-  {0x2076, 0x13eab4b8},
-  {0x2077, 0x13eab4b9},
-  {0x2078, 0x13eab8b0},
-  {0x2079, 0x13eab8b1},
-  {0x207a, 0x13eab8b2},
-  {0x207b, 0x13eab8b3},
-  {0x207c, 0x13eab8b4},
-  {0x207d, 0x13eab8b5},
-  {0x207e, 0x13eab8b6},
-  {0x207f, 0x13eab8b7},
-  {0x2080, 0x13eab8b8},
-  {0x2081, 0x13eab8b9},
-  {0x2082, 0x13eabcb0},
-  {0x2083, 0x13eabcb1},
-  {0x2084, 0x13eabcb2},
-  {0x2085, 0x13eabcb3},
-  {0x2086, 0x13eabcb4},
-  {0x2087, 0x13eabcb5},
-  {0x2088, 0x13eabcb6},
-  {0x2089, 0x13eabcb7},
-  {0x208a, 0x13eabcb8},
-  {0x208b, 0x13eabcb9},
-  {0x208c, 0x13eb80b0},
-  {0x208d, 0x13eb80b1},
-  {0x208e, 0x13eb80b2},
-  {0x208f, 0x13eb80b3},
-  {0x2090, 0x13eb80b4},
-  {0x2091, 0x13eb80b5},
-  {0x2092, 0x13eb80b6},
-  {0x2093, 0x13eb80b7},
-  {0x2094, 0x13eb80b8},
-  {0x2095, 0x13eb80b9},
-  {0x2096, 0x13eb84b0},
-  {0x2097, 0x13eb84b1},
-  {0x2098, 0x13eb84b2},
-  {0x2099, 0x13eb84b3},
-  {0x209a, 0x13eb84b4},
-  {0x209b, 0x13eb84b5},
-  {0x209c, 0x13eb84b6},
-  {0x209d, 0x13eb84b7},
-  {0x209e, 0x13eb84b8},
-  {0x209f, 0x13eb84b9},
-  {0x20a0, 0x13eb88b0},
-  {0x20a1, 0x13eb88b1},
-  {0x20a2, 0x13eb88b2},
-  {0x20a3, 0x13eb88b3},
-  {0x20a4, 0x13eb88b4},
-  {0x20a5, 0x13eb88b5},
-  {0x20a6, 0x13eb88b6},
-  {0x20a7, 0x13eb88b7},
-  {0x20a8, 0x13eb88b8},
-  {0x20a9, 0x13eb88b9},
-  {0x20aa, 0x13eb8cb0},
-  {0x20ab, 0x13eb8cb1},
-  {0x20ac, 0xea8ba3},
-  {0x20ad, 0x13eb8cb2},
-  {0x20ae, 0x13eb8cb3},
-  {0x20af, 0x13eb8cb4},
-  {0x20b0, 0x13eb8cb5},
-  {0x20b1, 0x13eb8cb6},
-  {0x20b2, 0x13eb8cb7},
-  {0x20b3, 0x13eb8cb8},
-  {0x20b4, 0x13eb8cb9},
-  {0x20b5, 0x13eb90b0},
-  {0x20b6, 0x13eb90b1},
-  {0x20b7, 0x13eb90b2},
-  {0x20b8, 0x13eb90b3},
-  {0x20b9, 0x13eb90b4},
-  {0x20ba, 0x13eb90b5},
-  {0x20bb, 0x13eb90b6},
-  {0x20bc, 0x13eb90b7},
-  {0x20bd, 0x13eb90b8},
-  {0x20be, 0x13eb90b9},
-  {0x20bf, 0x13eb94b0},
-  {0x20c0, 0x13eb94b1},
-  {0x20c1, 0x13eb94b2},
-  {0x20c2, 0x13eb94b3},
-  {0x20c3, 0x13eb94b4},
-  {0x20c4, 0x13eb94b5},
-  {0x20c5, 0x13eb94b6},
-  {0x20c6, 0x13eb94b7},
-  {0x20c7, 0x13eb94b8},
-  {0x20c8, 0x13eb94b9},
-  {0x20c9, 0x13eb98b0},
-  {0x20ca, 0x13eb98b1},
-  {0x20cb, 0x13eb98b2},
-  {0x20cc, 0x13eb98b3},
-  {0x20cd, 0x13eb98b4},
-  {0x20ce, 0x13eb98b5},
-  {0x20cf, 0x13eb98b6},
-  {0x20d0, 0x13eb98b7},
-  {0x20d1, 0x13eb98b8},
-  {0x20d2, 0x13eb98b9},
-  {0x20d3, 0x13eb9cb0},
-  {0x20d4, 0x13eb9cb1},
-  {0x20d5, 0x13eb9cb2},
-  {0x20d6, 0x13eb9cb3},
-  {0x20d7, 0x13eb9cb4},
-  {0x20d8, 0x13eb9cb5},
-  {0x20d9, 0x13eb9cb6},
-  {0x20da, 0x13eb9cb7},
-  {0x20db, 0x13eb9cb8},
-  {0x20dc, 0x13eb9cb9},
-  {0x20dd, 0x13eba0b0},
-  {0x20de, 0x13eba0b1},
-  {0x20df, 0x13eba0b2},
-  {0x20e0, 0x13eba0b3},
-  {0x20e1, 0x13eba0b4},
-  {0x20e2, 0x13eba0b5},
-  {0x20e3, 0x13eba0b6},
-  {0x20e4, 0x13eba0b7},
-  {0x20e5, 0x13eba0b8},
-  {0x20e6, 0x13eba0b9},
-  {0x20e7, 0x13eba4b0},
-  {0x20e8, 0x13eba4b1},
-  {0x20e9, 0x13eba4b2},
-  {0x20ea, 0x13eba4b3},
-  {0x20eb, 0x13eba4b4},
-  {0x20ec, 0x13eba4b5},
-  {0x20ed, 0x13eba4b6},
-  {0x20ee, 0x13eba4b7},
-  {0x20ef, 0x13eba4b8},
-  {0x20f0, 0x13eba4b9},
-  {0x20f1, 0x13eba8b0},
-  {0x20f2, 0x13eba8b1},
-  {0x20f3, 0x13eba8b2},
-  {0x20f4, 0x13eba8b3},
-  {0x20f5, 0x13eba8b4},
-  {0x20f6, 0x13eba8b5},
-  {0x20f7, 0x13eba8b6},
-  {0x20f8, 0x13eba8b7},
-  {0x20f9, 0x13eba8b8},
-  {0x20fa, 0x13eba8b9},
-  {0x20fb, 0x13ebacb0},
-  {0x20fc, 0x13ebacb1},
-  {0x20fd, 0x13ebacb2},
-  {0x20fe, 0x13ebacb3},
-  {0x20ff, 0x13ebacb4},
-  {0x2100, 0x13ebacb5},
-  {0x2101, 0x13ebacb6},
-  {0x2102, 0x13ebacb7},
-  {0x2103, 0xea87a6},
-  {0x2104, 0x13ebacb8},
-  {0x2105, 0xeaa187},
-  {0x2106, 0x13ebacb9},
-  {0x2107, 0x13ebb0b0},
-  {0x2108, 0x13ebb0b1},
-  {0x2109, 0xeaa188},
-  {0x210a, 0x13ebb0b2},
-  {0x210b, 0x13ebb0b3},
-  {0x210c, 0x13ebb0b4},
-  {0x210d, 0x13ebb0b5},
-  {0x210e, 0x13ebb0b6},
-  {0x210f, 0x13ebb0b7},
-  {0x2110, 0x13ebb0b8},
-  {0x2111, 0x13ebb0b9},
-  {0x2112, 0x13ebb4b0},
-  {0x2113, 0x13ebb4b1},
-  {0x2114, 0x13ebb4b2},
-  {0x2115, 0x13ebb4b3},
-  {0x2116, 0xea87ad},
-  {0x2117, 0x13ebb4b4},
-  {0x2118, 0x13ebb4b5},
-  {0x2119, 0x13ebb4b6},
-  {0x211a, 0x13ebb4b7},
-  {0x211b, 0x13ebb4b8},
-  {0x211c, 0x13ebb4b9},
-  {0x211d, 0x13ebb8b0},
-  {0x211e, 0x13ebb8b1},
-  {0x211f, 0x13ebb8b2},
-  {0x2120, 0x13ebb8b3},
-  {0x2121, 0xeaa599},
-  {0x2122, 0x13ebb8b4},
-  {0x2123, 0x13ebb8b5},
-  {0x2124, 0x13ebb8b6},
-  {0x2125, 0x13ebb8b7},
-  {0x2126, 0x13ebb8b8},
-  {0x2127, 0x13ebb8b9},
-  {0x2128, 0x13ebbcb0},
-  {0x2129, 0x13ebbcb1},
-  {0x212a, 0x13ebbcb2},
-  {0x212b, 0x13ebbcb3},
-  {0x212c, 0x13ebbcb4},
-  {0x212d, 0x13ebbcb5},
-  {0x212e, 0x13ebbcb6},
-  {0x212f, 0x13ebbcb7},
-  {0x2130, 0x13ebbcb8},
-  {0x2131, 0x13ebbcb9},
-  {0x2132, 0x13ec80b0},
-  {0x2133, 0x13ec80b1},
-  {0x2134, 0x13ec80b2},
-  {0x2135, 0x13ec80b3},
-  {0x2136, 0x13ec80b4},
-  {0x2137, 0x13ec80b5},
-  {0x2138, 0x13ec80b6},
-  {0x2139, 0x13ec80b7},
-  {0x213a, 0x13ec80b8},
-  {0x213b, 0x13ec80b9},
-  {0x213c, 0x13ec84b0},
-  {0x213d, 0x13ec84b1},
-  {0x213e, 0x13ec84b2},
-  {0x213f, 0x13ec84b3},
-  {0x2140, 0x13ec84b4},
-  {0x2141, 0x13ec84b5},
-  {0x2142, 0x13ec84b6},
-  {0x2143, 0x13ec84b7},
-  {0x2144, 0x13ec84b8},
-  {0x2145, 0x13ec84b9},
-  {0x2146, 0x13ec88b0},
-  {0x2147, 0x13ec88b1},
-  {0x2148, 0x13ec88b2},
-  {0x2149, 0x13ec88b3},
-  {0x214a, 0x13ec88b4},
-  {0x214b, 0x13ec88b5},
-  {0x214c, 0x13ec88b6},
-  {0x214d, 0x13ec88b7},
-  {0x214e, 0x13ec88b8},
-  {0x214f, 0x13ec88b9},
-  {0x2150, 0x13ec8cb0},
-  {0x2151, 0x13ec8cb1},
-  {0x2152, 0x13ec8cb2},
-  {0x2153, 0x13ec8cb3},
-  {0x2154, 0x13ec8cb4},
-  {0x2155, 0x13ec8cb5},
-  {0x2156, 0x13ec8cb6},
-  {0x2157, 0x13ec8cb7},
-  {0x2158, 0x13ec8cb8},
-  {0x2159, 0x13ec8cb9},
-  {0x215a, 0x13ec90b0},
-  {0x215b, 0x13ec90b1},
-  {0x215c, 0x13ec90b2},
-  {0x215d, 0x13ec90b3},
-  {0x215e, 0x13ec90b4},
-  {0x215f, 0x13ec90b5},
-  {0x2160, 0xea8bb1},
-  {0x2161, 0xea8bb2},
-  {0x2162, 0xea8bb3},
-  {0x2163, 0xea8bb4},
-  {0x2164, 0xea8bb5},
-  {0x2165, 0xea8bb6},
-  {0x2166, 0xea8bb7},
-  {0x2167, 0xea8bb8},
-  {0x2168, 0xea8bb9},
-  {0x2169, 0xea8bba},
-  {0x216a, 0xea8bbb},
-  {0x216b, 0xea8bbc},
-  {0x216c, 0x13ec90b6},
-  {0x216d, 0x13ec90b7},
-  {0x216e, 0x13ec90b8},
-  {0x216f, 0x13ec90b9},
-  {0x2170, 0xea8aa1},
-  {0x2171, 0xea8aa2},
-  {0x2172, 0xea8aa3},
-  {0x2173, 0xea8aa4},
-  {0x2174, 0xea8aa5},
-  {0x2175, 0xea8aa6},
-  {0x2176, 0xea8aa7},
-  {0x2177, 0xea8aa8},
-  {0x2178, 0xea8aa9},
-  {0x2179, 0xea8aaa},
-  {0x217a, 0x13ec94b0},
-  {0x217b, 0x13ec94b1},
-  {0x217c, 0x13ec94b2},
-  {0x217d, 0x13ec94b3},
-  {0x217e, 0x13ec94b4},
-  {0x217f, 0x13ec94b5},
-  {0x2180, 0x13ec94b6},
-  {0x2181, 0x13ec94b7},
-  {0x2182, 0x13ec94b8},
-  {0x2183, 0x13ec94b9},
-  {0x2184, 0x13ec98b0},
-  {0x2185, 0x13ec98b1},
-  {0x2186, 0x13ec98b2},
-  {0x2187, 0x13ec98b3},
-  {0x2188, 0x13ec98b4},
-  {0x2189, 0x13ec98b5},
-  {0x218a, 0x13ec98b6},
-  {0x218b, 0x13ec98b7},
-  {0x218c, 0x13ec98b8},
-  {0x218d, 0x13ec98b9},
-  {0x218e, 0x13ec9cb0},
-  {0x218f, 0x13ec9cb1},
-  {0x2190, 0xea87bb},
-  {0x2191, 0xea87bc},
-  {0x2192, 0xea87ba},
-  {0x2193, 0xea87bd},
-  {0x2194, 0x13ec9cb2},
-  {0x2195, 0x13ec9cb3},
-  {0x2196, 0xeaa189},
-  {0x2197, 0xeaa18a},
-  {0x2198, 0xeaa18b},
-  {0x2199, 0xeaa18c},
-  {0x219a, 0x13ec9cb4},
-  {0x219b, 0x13ec9cb5},
-  {0x219c, 0x13ec9cb6},
-  {0x219d, 0x13ec9cb7},
-  {0x219e, 0x13ec9cb8},
-  {0x219f, 0x13ec9cb9},
-  {0x21a0, 0x13eca0b0},
-  {0x21a1, 0x13eca0b1},
-  {0x21a2, 0x13eca0b2},
-  {0x21a3, 0x13eca0b3},
-  {0x21a4, 0x13eca0b4},
-  {0x21a5, 0x13eca0b5},
-  {0x21a6, 0x13eca0b6},
-  {0x21a7, 0x13eca0b7},
-  {0x21a8, 0x13eca0b8},
-  {0x21a9, 0x13eca0b9},
-  {0x21aa, 0x13eca4b0},
-  {0x21ab, 0x13eca4b1},
-  {0x21ac, 0x13eca4b2},
-  {0x21ad, 0x13eca4b3},
-  {0x21ae, 0x13eca4b4},
-  {0x21af, 0x13eca4b5},
-  {0x21b0, 0x13eca4b6},
-  {0x21b1, 0x13eca4b7},
-  {0x21b2, 0x13eca4b8},
-  {0x21b3, 0x13eca4b9},
-  {0x21b4, 0x13eca8b0},
-  {0x21b5, 0x13eca8b1},
-  {0x21b6, 0x13eca8b2},
-  {0x21b7, 0x13eca8b3},
-  {0x21b8, 0x13eca8b4},
-  {0x21b9, 0x13eca8b5},
-  {0x21ba, 0x13eca8b6},
-  {0x21bb, 0x13eca8b7},
-  {0x21bc, 0x13eca8b8},
-  {0x21bd, 0x13eca8b9},
-  {0x21be, 0x13ecacb0},
-  {0x21bf, 0x13ecacb1},
-  {0x21c0, 0x13ecacb2},
-  {0x21c1, 0x13ecacb3},
-  {0x21c2, 0x13ecacb4},
-  {0x21c3, 0x13ecacb5},
-  {0x21c4, 0x13ecacb6},
-  {0x21c5, 0x13ecacb7},
-  {0x21c6, 0x13ecacb8},
-  {0x21c7, 0x13ecacb9},
-  {0x21c8, 0x13ecb0b0},
-  {0x21c9, 0x13ecb0b1},
-  {0x21ca, 0x13ecb0b2},
-  {0x21cb, 0x13ecb0b3},
-  {0x21cc, 0x13ecb0b4},
-  {0x21cd, 0x13ecb0b5},
-  {0x21ce, 0x13ecb0b6},
-  {0x21cf, 0x13ecb0b7},
-  {0x21d0, 0x13ecb0b8},
-  {0x21d1, 0x13ecb0b9},
-  {0x21d2, 0x13ecb4b0},
-  {0x21d3, 0x13ecb4b1},
-  {0x21d4, 0x13ecb4b2},
-  {0x21d5, 0x13ecb4b3},
-  {0x21d6, 0x13ecb4b4},
-  {0x21d7, 0x13ecb4b5},
-  {0x21d8, 0x13ecb4b6},
-  {0x21d9, 0x13ecb4b7},
-  {0x21da, 0x13ecb4b8},
-  {0x21db, 0x13ecb4b9},
-  {0x21dc, 0x13ecb8b0},
-  {0x21dd, 0x13ecb8b1},
-  {0x21de, 0x13ecb8b2},
-  {0x21df, 0x13ecb8b3},
-  {0x21e0, 0x13ecb8b4},
-  {0x21e1, 0x13ecb8b5},
-  {0x21e2, 0x13ecb8b6},
-  {0x21e3, 0x13ecb8b7},
-  {0x21e4, 0x13ecb8b8},
-  {0x21e5, 0x13ecb8b9},
-  {0x21e6, 0x13ecbcb0},
-  {0x21e7, 0x13ecbcb1},
-  {0x21e8, 0x13ecbcb2},
-  {0x21e9, 0x13ecbcb3},
-  {0x21ea, 0x13ecbcb4},
-  {0x21eb, 0x13ecbcb5},
-  {0x21ec, 0x13ecbcb6},
-  {0x21ed, 0x13ecbcb7},
-  {0x21ee, 0x13ecbcb8},
-  {0x21ef, 0x13ecbcb9},
-  {0x21f0, 0x13ed80b0},
-  {0x21f1, 0x13ed80b1},
-  {0x21f2, 0x13ed80b2},
-  {0x21f3, 0x13ed80b3},
-  {0x21f4, 0x13ed80b4},
-  {0x21f5, 0x13ed80b5},
-  {0x21f6, 0x13ed80b6},
-  {0x21f7, 0x13ed80b7},
-  {0x21f8, 0x13ed80b8},
-  {0x21f9, 0x13ed80b9},
-  {0x21fa, 0x13ed84b0},
-  {0x21fb, 0x13ed84b1},
-  {0x21fc, 0x13ed84b2},
-  {0x21fd, 0x13ed84b3},
-  {0x21fe, 0x13ed84b4},
-  {0x21ff, 0x13ed84b5},
-  {0x2200, 0x13ed84b6},
-  {0x2201, 0x13ed84b7},
-  {0x2202, 0x13ed84b8},
-  {0x2203, 0x13ed84b9},
-  {0x2204, 0x13ed88b0},
-  {0x2205, 0x13ed88b1},
-  {0x2206, 0x13ed88b2},
-  {0x2207, 0x13ed88b3},
-  {0x2208, 0xea878a},
-  {0x2209, 0x13ed88b4},
-  {0x220a, 0x13ed88b5},
-  {0x220b, 0x13ed88b6},
-  {0x220c, 0x13ed88b7},
-  {0x220d, 0x13ed88b8},
-  {0x220e, 0x13ed88b9},
-  {0x220f, 0xea8787},
-  {0x2210, 0x13ed8cb0},
-  {0x2211, 0xea8786},
-  {0x2212, 0x13ed8cb1},
-  {0x2213, 0x13ed8cb2},
-  {0x2214, 0x13ed8cb3},
-  {0x2215, 0xeaa18d},
-  {0x2216, 0x13ed8cb4},
-  {0x2217, 0x13ed8cb5},
-  {0x2218, 0x13ed8cb6},
-  {0x2219, 0x13ed8cb7},
-  {0x221a, 0xea878c},
-  {0x221b, 0x13ed8cb8},
-  {0x221c, 0x13ed8cb9},
-  {0x221d, 0xea8798},
-  {0x221e, 0xea879e},
-  {0x221f, 0xeaa18e},
-  {0x2220, 0xea878f},
-  {0x2221, 0x13ed90b0},
-  {0x2222, 0x13ed90b1},
-  {0x2223, 0xeaa18f},
-  {0x2224, 0x13ed90b2},
-  {0x2225, 0xea878e},
-  {0x2226, 0x13ed90b3},
-  {0x2227, 0xea8784},
-  {0x2228, 0xea8785},
-  {0x2229, 0xea8789},
-  {0x222a, 0xea8788},
-  {0x222b, 0xea8792},
-  {0x222c, 0x13ed90b4},
-  {0x222d, 0x13ed90b5},
-  {0x222e, 0xea8793},
-  {0x222f, 0x13ed90b6},
-  {0x2230, 0x13ed90b7},
-  {0x2231, 0x13ed90b8},
-  {0x2232, 0x13ed90b9},
-  {0x2233, 0x13ed94b0},
-  {0x2234, 0xea87a0},
-  {0x2235, 0xea879f},
-  {0x2236, 0xea8783},
-  {0x2237, 0xea878b},
-  {0x2238, 0x13ed94b1},
-  {0x2239, 0x13ed94b2},
-  {0x223a, 0x13ed94b3},
-  {0x223b, 0x13ed94b4},
-  {0x223c, 0x13ed94b5},
-  {0x223d, 0xea8797},
-  {0x223e, 0x13ed94b6},
-  {0x223f, 0x13ed94b7},
-  {0x2240, 0x13ed94b8},
-  {0x2241, 0x13ed94b9},
-  {0x2242, 0x13ed98b0},
-  {0x2243, 0x13ed98b1},
-  {0x2244, 0x13ed98b2},
-  {0x2245, 0x13ed98b3},
-  {0x2246, 0x13ed98b4},
-  {0x2247, 0x13ed98b5},
-  {0x2248, 0xea8796},
-  {0x2249, 0x13ed98b6},
-  {0x224a, 0x13ed98b7},
-  {0x224b, 0x13ed98b8},
-  {0x224c, 0xea8795},
-  {0x224d, 0x13ed98b9},
-  {0x224e, 0x13ed9cb0},
-  {0x224f, 0x13ed9cb1},
-  {0x2250, 0x13ed9cb2},
-  {0x2251, 0x13ed9cb3},
-  {0x2252, 0xeaa190},
-  {0x2253, 0x13ed9cb4},
-  {0x2254, 0x13ed9cb5},
-  {0x2255, 0x13ed9cb6},
-  {0x2256, 0x13ed9cb7},
-  {0x2257, 0x13ed9cb8},
-  {0x2258, 0x13ed9cb9},
-  {0x2259, 0x13eda0b0},
-  {0x225a, 0x13eda0b1},
-  {0x225b, 0x13eda0b2},
-  {0x225c, 0x13eda0b3},
-  {0x225d, 0x13eda0b4},
-  {0x225e, 0x13eda0b5},
-  {0x225f, 0x13eda0b6},
-  {0x2260, 0xea8799},
-  {0x2261, 0xea8794},
-  {0x2262, 0x13eda0b7},
-  {0x2263, 0x13eda0b8},
-  {0x2264, 0xea879c},
-  {0x2265, 0xea879d},
-  {0x2266, 0xeaa191},
-  {0x2267, 0xeaa192},
-  {0x2268, 0x13eda0b9},
-  {0x2269, 0x13eda4b0},
-  {0x226a, 0x13eda4b1},
-  {0x226b, 0x13eda4b2},
-  {0x226c, 0x13eda4b3},
-  {0x226d, 0x13eda4b4},
-  {0x226e, 0xea879a},
-  {0x226f, 0xea879b},
-  {0x2270, 0x13eda4b5},
-  {0x2271, 0x13eda4b6},
-  {0x2272, 0x13eda4b7},
-  {0x2273, 0x13eda4b8},
-  {0x2274, 0x13eda4b9},
-  {0x2275, 0x13eda8b0},
-  {0x2276, 0x13eda8b1},
-  {0x2277, 0x13eda8b2},
-  {0x2278, 0x13eda8b3},
-  {0x2279, 0x13eda8b4},
-  {0x227a, 0x13eda8b5},
-  {0x227b, 0x13eda8b6},
-  {0x227c, 0x13eda8b7},
-  {0x227d, 0x13eda8b8},
-  {0x227e, 0x13eda8b9},
-  {0x227f, 0x13edacb0},
-  {0x2280, 0x13edacb1},
-  {0x2281, 0x13edacb2},
-  {0x2282, 0x13edacb3},
-  {0x2283, 0x13edacb4},
-  {0x2284, 0x13edacb5},
-  {0x2285, 0x13edacb6},
-  {0x2286, 0x13edacb7},
-  {0x2287, 0x13edacb8},
-  {0x2288, 0x13edacb9},
-  {0x2289, 0x13edb0b0},
-  {0x228a, 0x13edb0b1},
-  {0x228b, 0x13edb0b2},
-  {0x228c, 0x13edb0b3},
-  {0x228d, 0x13edb0b4},
-  {0x228e, 0x13edb0b5},
-  {0x228f, 0x13edb0b6},
-  {0x2290, 0x13edb0b7},
-  {0x2291, 0x13edb0b8},
-  {0x2292, 0x13edb0b9},
-  {0x2293, 0x13edb4b0},
-  {0x2294, 0x13edb4b1},
-  {0x2295, 0xeaa292},
-  {0x2296, 0x13edb4b2},
-  {0x2297, 0x13edb4b3},
-  {0x2298, 0x13edb4b4},
-  {0x2299, 0xea8791},
-  {0x229a, 0x13edb4b5},
-  {0x229b, 0x13edb4b6},
-  {0x229c, 0x13edb4b7},
-  {0x229d, 0x13edb4b8},
-  {0x229e, 0x13edb4b9},
-  {0x229f, 0x13edb8b0},
-  {0x22a0, 0x13edb8b1},
-  {0x22a1, 0x13edb8b2},
-  {0x22a2, 0x13edb8b3},
-  {0x22a3, 0x13edb8b4},
-  {0x22a4, 0x13edb8b5},
-  {0x22a5, 0xea878d},
-  {0x22a6, 0x13edb8b6},
-  {0x22a7, 0x13edb8b7},
-  {0x22a8, 0x13edb8b8},
-  {0x22a9, 0x13edb8b9},
-  {0x22aa, 0x13edbcb0},
-  {0x22ab, 0x13edbcb1},
-  {0x22ac, 0x13edbcb2},
-  {0x22ad, 0x13edbcb3},
-  {0x22ae, 0x13edbcb4},
-  {0x22af, 0x13edbcb5},
-  {0x22b0, 0x13edbcb6},
-  {0x22b1, 0x13edbcb7},
-  {0x22b2, 0x13edbcb8},
-  {0x22b3, 0x13edbcb9},
-  {0x22b4, 0x13ee80b0},
-  {0x22b5, 0x13ee80b1},
-  {0x22b6, 0x13ee80b2},
-  {0x22b7, 0x13ee80b3},
-  {0x22b8, 0x13ee80b4},
-  {0x22b9, 0x13ee80b5},
-  {0x22ba, 0x13ee80b6},
-  {0x22bb, 0x13ee80b7},
-  {0x22bc, 0x13ee80b8},
-  {0x22bd, 0x13ee80b9},
-  {0x22be, 0x13ee84b0},
-  {0x22bf, 0xeaa193},
-  {0x22c0, 0x13ee84b1},
-  {0x22c1, 0x13ee84b2},
-  {0x22c2, 0x13ee84b3},
-  {0x22c3, 0x13ee84b4},
-  {0x22c4, 0x13ee84b5},
-  {0x22c5, 0x13ee84b6},
-  {0x22c6, 0x13ee84b7},
-  {0x22c7, 0x13ee84b8},
-  {0x22c8, 0x13ee84b9},
-  {0x22c9, 0x13ee88b0},
-  {0x22ca, 0x13ee88b1},
-  {0x22cb, 0x13ee88b2},
-  {0x22cc, 0x13ee88b3},
-  {0x22cd, 0x13ee88b4},
-  {0x22ce, 0x13ee88b5},
-  {0x22cf, 0x13ee88b6},
-  {0x22d0, 0x13ee88b7},
-  {0x22d1, 0x13ee88b8},
-  {0x22d2, 0x13ee88b9},
-  {0x22d3, 0x13ee8cb0},
-  {0x22d4, 0x13ee8cb1},
-  {0x22d5, 0x13ee8cb2},
-  {0x22d6, 0x13ee8cb3},
-  {0x22d7, 0x13ee8cb4},
-  {0x22d8, 0x13ee8cb5},
-  {0x22d9, 0x13ee8cb6},
-  {0x22da, 0x13ee8cb7},
-  {0x22db, 0x13ee8cb8},
-  {0x22dc, 0x13ee8cb9},
-  {0x22dd, 0x13ee90b0},
-  {0x22de, 0x13ee90b1},
-  {0x22df, 0x13ee90b2},
-  {0x22e0, 0x13ee90b3},
-  {0x22e1, 0x13ee90b4},
-  {0x22e2, 0x13ee90b5},
-  {0x22e3, 0x13ee90b6},
-  {0x22e4, 0x13ee90b7},
-  {0x22e5, 0x13ee90b8},
-  {0x22e6, 0x13ee90b9},
-  {0x22e7, 0x13ee94b0},
-  {0x22e8, 0x13ee94b1},
-  {0x22e9, 0x13ee94b2},
-  {0x22ea, 0x13ee94b3},
-  {0x22eb, 0x13ee94b4},
-  {0x22ec, 0x13ee94b5},
-  {0x22ed, 0x13ee94b6},
-  {0x22ee, 0x13ee94b7},
-  {0x22ef, 0x13ee94b8},
-  {0x22f0, 0x13ee94b9},
-  {0x22f1, 0x13ee98b0},
-  {0x22f2, 0x13ee98b1},
-  {0x22f3, 0x13ee98b2},
-  {0x22f4, 0x13ee98b3},
-  {0x22f5, 0x13ee98b4},
-  {0x22f6, 0x13ee98b5},
-  {0x22f7, 0x13ee98b6},
-  {0x22f8, 0x13ee98b7},
-  {0x22f9, 0x13ee98b8},
-  {0x22fa, 0x13ee98b9},
-  {0x22fb, 0x13ee9cb0},
-  {0x22fc, 0x13ee9cb1},
-  {0x22fd, 0x13ee9cb2},
-  {0x22fe, 0x13ee9cb3},
-  {0x22ff, 0x13ee9cb4},
-  {0x2300, 0x13ee9cb5},
-  {0x2301, 0x13ee9cb6},
-  {0x2302, 0x13ee9cb7},
-  {0x2303, 0x13ee9cb8},
-  {0x2304, 0x13ee9cb9},
-  {0x2305, 0x13eea0b0},
-  {0x2306, 0x13eea0b1},
-  {0x2307, 0x13eea0b2},
-  {0x2308, 0x13eea0b3},
-  {0x2309, 0x13eea0b4},
-  {0x230a, 0x13eea0b5},
-  {0x230b, 0x13eea0b6},
-  {0x230c, 0x13eea0b7},
-  {0x230d, 0x13eea0b8},
-  {0x230e, 0x13eea0b9},
-  {0x230f, 0x13eea4b0},
-  {0x2310, 0x13eea4b1},
-  {0x2311, 0x13eea4b2},
-  {0x2312, 0xea8790},
-  {0x2313, 0x13eea4b3},
-  {0x2314, 0x13eea4b4},
-  {0x2315, 0x13eea4b5},
-  {0x2316, 0x13eea4b6},
-  {0x2317, 0x13eea4b7},
-  {0x2318, 0x13eea4b8},
-  {0x2319, 0x13eea4b9},
-  {0x231a, 0x13eea8b0},
-  {0x231b, 0x13eea8b1},
-  {0x231c, 0x13eea8b2},
-  {0x231d, 0x13eea8b3},
-  {0x231e, 0x13eea8b4},
-  {0x231f, 0x13eea8b5},
-  {0x2320, 0x13eea8b6},
-  {0x2321, 0x13eea8b7},
-  {0x2322, 0x13eea8b8},
-  {0x2323, 0x13eea8b9},
-  {0x2324, 0x13eeacb0},
-  {0x2325, 0x13eeacb1},
-  {0x2326, 0x13eeacb2},
-  {0x2327, 0x13eeacb3},
-  {0x2328, 0x13eeacb4},
-  {0x2329, 0x13eeacb5},
-  {0x232a, 0x13eeacb6},
-  {0x232b, 0x13eeacb7},
-  {0x232c, 0x13eeacb8},
-  {0x232d, 0x13eeacb9},
-  {0x232e, 0x13eeb0b0},
-  {0x232f, 0x13eeb0b1},
-  {0x2330, 0x13eeb0b2},
-  {0x2331, 0x13eeb0b3},
-  {0x2332, 0x13eeb0b4},
-  {0x2333, 0x13eeb0b5},
-  {0x2334, 0x13eeb0b6},
-  {0x2335, 0x13eeb0b7},
-  {0x2336, 0x13eeb0b8},
-  {0x2337, 0x13eeb0b9},
-  {0x2338, 0x13eeb4b0},
-  {0x2339, 0x13eeb4b1},
-  {0x233a, 0x13eeb4b2},
-  {0x233b, 0x13eeb4b3},
-  {0x233c, 0x13eeb4b4},
-  {0x233d, 0x13eeb4b5},
-  {0x233e, 0x13eeb4b6},
-  {0x233f, 0x13eeb4b7},
-  {0x2340, 0x13eeb4b8},
-  {0x2341, 0x13eeb4b9},
-  {0x2342, 0x13eeb8b0},
-  {0x2343, 0x13eeb8b1},
-  {0x2344, 0x13eeb8b2},
-  {0x2345, 0x13eeb8b3},
-  {0x2346, 0x13eeb8b4},
-  {0x2347, 0x13eeb8b5},
-  {0x2348, 0x13eeb8b6},
-  {0x2349, 0x13eeb8b7},
-  {0x234a, 0x13eeb8b8},
-  {0x234b, 0x13eeb8b9},
-  {0x234c, 0x13eebcb0},
-  {0x234d, 0x13eebcb1},
-  {0x234e, 0x13eebcb2},
-  {0x234f, 0x13eebcb3},
-  {0x2350, 0x13eebcb4},
-  {0x2351, 0x13eebcb5},
-  {0x2352, 0x13eebcb6},
-  {0x2353, 0x13eebcb7},
-  {0x2354, 0x13eebcb8},
-  {0x2355, 0x13eebcb9},
-  {0x2356, 0x13ef80b0},
-  {0x2357, 0x13ef80b1},
-  {0x2358, 0x13ef80b2},
-  {0x2359, 0x13ef80b3},
-  {0x235a, 0x13ef80b4},
-  {0x235b, 0x13ef80b5},
-  {0x235c, 0x13ef80b6},
-  {0x235d, 0x13ef80b7},
-  {0x235e, 0x13ef80b8},
-  {0x235f, 0x13ef80b9},
-  {0x2360, 0x13ef84b0},
-  {0x2361, 0x13ef84b1},
-  {0x2362, 0x13ef84b2},
-  {0x2363, 0x13ef84b3},
-  {0x2364, 0x13ef84b4},
-  {0x2365, 0x13ef84b5},
-  {0x2366, 0x13ef84b6},
-  {0x2367, 0x13ef84b7},
-  {0x2368, 0x13ef84b8},
-  {0x2369, 0x13ef84b9},
-  {0x236a, 0x13ef88b0},
-  {0x236b, 0x13ef88b1},
-  {0x236c, 0x13ef88b2},
-  {0x236d, 0x13ef88b3},
-  {0x236e, 0x13ef88b4},
-  {0x236f, 0x13ef88b5},
-  {0x2370, 0x13ef88b6},
-  {0x2371, 0x13ef88b7},
-  {0x2372, 0x13ef88b8},
-  {0x2373, 0x13ef88b9},
-  {0x2374, 0x13ef8cb0},
-  {0x2375, 0x13ef8cb1},
-  {0x2376, 0x13ef8cb2},
-  {0x2377, 0x13ef8cb3},
-  {0x2378, 0x13ef8cb4},
-  {0x2379, 0x13ef8cb5},
-  {0x237a, 0x13ef8cb6},
-  {0x237b, 0x13ef8cb7},
-  {0x237c, 0x13ef8cb8},
-  {0x237d, 0x13ef8cb9},
-  {0x237e, 0x13ef90b0},
-  {0x237f, 0x13ef90b1},
-  {0x2380, 0x13ef90b2},
-  {0x2381, 0x13ef90b3},
-  {0x2382, 0x13ef90b4},
-  {0x2383, 0x13ef90b5},
-  {0x2384, 0x13ef90b6},
-  {0x2385, 0x13ef90b7},
-  {0x2386, 0x13ef90b8},
-  {0x2387, 0x13ef90b9},
-  {0x2388, 0x13ef94b0},
-  {0x2389, 0x13ef94b1},
-  {0x238a, 0x13ef94b2},
-  {0x238b, 0x13ef94b3},
-  {0x238c, 0x13ef94b4},
-  {0x238d, 0x13ef94b5},
-  {0x238e, 0x13ef94b6},
-  {0x238f, 0x13ef94b7},
-  {0x2390, 0x13ef94b8},
-  {0x2391, 0x13ef94b9},
-  {0x2392, 0x13ef98b0},
-  {0x2393, 0x13ef98b1},
-  {0x2394, 0x13ef98b2},
-  {0x2395, 0x13ef98b3},
-  {0x2396, 0x13ef98b4},
-  {0x2397, 0x13ef98b5},
-  {0x2398, 0x13ef98b6},
-  {0x2399, 0x13ef98b7},
-  {0x239a, 0x13ef98b8},
-  {0x239b, 0x13ef98b9},
-  {0x239c, 0x13ef9cb0},
-  {0x239d, 0x13ef9cb1},
-  {0x239e, 0x13ef9cb2},
-  {0x239f, 0x13ef9cb3},
-  {0x23a0, 0x13ef9cb4},
-  {0x23a1, 0x13ef9cb5},
-  {0x23a2, 0x13ef9cb6},
-  {0x23a3, 0x13ef9cb7},
-  {0x23a4, 0x13ef9cb8},
-  {0x23a5, 0x13ef9cb9},
-  {0x23a6, 0x13efa0b0},
-  {0x23a7, 0x13efa0b1},
-  {0x23a8, 0x13efa0b2},
-  {0x23a9, 0x13efa0b3},
-  {0x23aa, 0x13efa0b4},
-  {0x23ab, 0x13efa0b5},
-  {0x23ac, 0x13efa0b6},
-  {0x23ad, 0x13efa0b7},
-  {0x23ae, 0x13efa0b8},
-  {0x23af, 0x13efa0b9},
-  {0x23b0, 0x13efa4b0},
-  {0x23b1, 0x13efa4b1},
-  {0x23b2, 0x13efa4b2},
-  {0x23b3, 0x13efa4b3},
-  {0x23b4, 0x13efa4b4},
-  {0x23b5, 0x13efa4b5},
-  {0x23b6, 0x13efa4b6},
-  {0x23b7, 0x13efa4b7},
-  {0x23b8, 0x13efa4b8},
-  {0x23b9, 0x13efa4b9},
-  {0x23ba, 0x13efa8b0},
-  {0x23bb, 0x13efa8b1},
-  {0x23bc, 0x13efa8b2},
-  {0x23bd, 0x13efa8b3},
-  {0x23be, 0x13efa8b4},
-  {0x23bf, 0x13efa8b5},
-  {0x23c0, 0x13efa8b6},
-  {0x23c1, 0x13efa8b7},
-  {0x23c2, 0x13efa8b8},
-  {0x23c3, 0x13efa8b9},
-  {0x23c4, 0x13efacb0},
-  {0x23c5, 0x13efacb1},
-  {0x23c6, 0x13efacb2},
-  {0x23c7, 0x13efacb3},
-  {0x23c8, 0x13efacb4},
-  {0x23c9, 0x13efacb5},
-  {0x23ca, 0x13efacb6},
-  {0x23cb, 0x13efacb7},
-  {0x23cc, 0x13efacb8},
-  {0x23cd, 0x13efacb9},
-  {0x23ce, 0x13efb0b0},
-  {0x23cf, 0x13efb0b1},
-  {0x23d0, 0x13efb0b2},
-  {0x23d1, 0x13efb0b3},
-  {0x23d2, 0x13efb0b4},
-  {0x23d3, 0x13efb0b5},
-  {0x23d4, 0x13efb0b6},
-  {0x23d5, 0x13efb0b7},
-  {0x23d6, 0x13efb0b8},
-  {0x23d7, 0x13efb0b9},
-  {0x23d8, 0x13efb4b0},
-  {0x23d9, 0x13efb4b1},
-  {0x23da, 0x13efb4b2},
-  {0x23db, 0x13efb4b3},
-  {0x23dc, 0x13efb4b4},
-  {0x23dd, 0x13efb4b5},
-  {0x23de, 0x13efb4b6},
-  {0x23df, 0x13efb4b7},
-  {0x23e0, 0x13efb4b8},
-  {0x23e1, 0x13efb4b9},
-  {0x23e2, 0x13efb8b0},
-  {0x23e3, 0x13efb8b1},
-  {0x23e4, 0x13efb8b2},
-  {0x23e5, 0x13efb8b3},
-  {0x23e6, 0x13efb8b4},
-  {0x23e7, 0x13efb8b5},
-  {0x23e8, 0x13efb8b6},
-  {0x23e9, 0x13efb8b7},
-  {0x23ea, 0x13efb8b8},
-  {0x23eb, 0x13efb8b9},
-  {0x23ec, 0x13f884b0},
-  {0x23ed, 0x13f884b1},
-  {0x23ee, 0x13f884b2},
-  {0x23ef, 0x13f884b3},
-  {0x23f0, 0x13f884b4},
-  {0x23f1, 0x13f884b5},
-  {0x23f2, 0x13f884b6},
-  {0x23f3, 0x13f884b7},
-  {0x23f4, 0x13f884b8},
-  {0x23f5, 0x13f884b9},
-  {0x23f6, 0x13f888b0},
-  {0x23f7, 0x13f888b1},
-  {0x23f8, 0x13f888b2},
-  {0x23f9, 0x13f888b3},
-  {0x23fa, 0x13f888b4},
-  {0x23fb, 0x13f888b5},
-  {0x23fc, 0x13f888b6},
-  {0x23fd, 0x13f888b7},
-  {0x23fe, 0x13f888b8},
-  {0x23ff, 0x13f888b9},
-  {0x2400, 0x13f88cb0},
-  {0x2401, 0x13f88cb1},
-  {0x2402, 0x13f88cb2},
-  {0x2403, 0x13f88cb3},
-  {0x2404, 0x13f88cb4},
-  {0x2405, 0x13f88cb5},
-  {0x2406, 0x13f88cb6},
-  {0x2407, 0x13f88cb7},
-  {0x2408, 0x13f88cb8},
-  {0x2409, 0x13f88cb9},
-  {0x240a, 0x13f890b0},
-  {0x240b, 0x13f890b1},
-  {0x240c, 0x13f890b2},
-  {0x240d, 0x13f890b3},
-  {0x240e, 0x13f890b4},
-  {0x240f, 0x13f890b5},
-  {0x2410, 0x13f890b6},
-  {0x2411, 0x13f890b7},
-  {0x2412, 0x13f890b8},
-  {0x2413, 0x13f890b9},
-  {0x2414, 0x13f894b0},
-  {0x2415, 0x13f894b1},
-  {0x2416, 0x13f894b2},
-  {0x2417, 0x13f894b3},
-  {0x2418, 0x13f894b4},
-  {0x2419, 0x13f894b5},
-  {0x241a, 0x13f894b6},
-  {0x241b, 0x13f894b7},
-  {0x241c, 0x13f894b8},
-  {0x241d, 0x13f894b9},
-  {0x241e, 0x13f898b0},
-  {0x241f, 0x13f898b1},
-  {0x2420, 0x13f898b2},
-  {0x2421, 0x13f898b3},
-  {0x2422, 0x13f898b4},
-  {0x2423, 0x13f898b5},
-  {0x2424, 0x13f898b6},
-  {0x2425, 0x13f898b7},
-  {0x2426, 0x13f898b8},
-  {0x2427, 0x13f898b9},
-  {0x2428, 0x13f89cb0},
-  {0x2429, 0x13f89cb1},
-  {0x242a, 0x13f89cb2},
-  {0x242b, 0x13f89cb3},
-  {0x242c, 0x13f89cb4},
-  {0x242d, 0x13f89cb5},
-  {0x242e, 0x13f89cb6},
-  {0x242f, 0x13f89cb7},
-  {0x2430, 0x13f89cb8},
-  {0x2431, 0x13f89cb9},
-  {0x2432, 0x13f8a0b0},
-  {0x2433, 0x13f8a0b1},
-  {0x2434, 0x13f8a0b2},
-  {0x2435, 0x13f8a0b3},
-  {0x2436, 0x13f8a0b4},
-  {0x2437, 0x13f8a0b5},
-  {0x2438, 0x13f8a0b6},
-  {0x2439, 0x13f8a0b7},
-  {0x243a, 0x13f8a0b8},
-  {0x243b, 0x13f8a0b9},
-  {0x243c, 0x13f8a4b0},
-  {0x243d, 0x13f8a4b1},
-  {0x243e, 0x13f8a4b2},
-  {0x243f, 0x13f8a4b3},
-  {0x2440, 0x13f8a4b4},
-  {0x2441, 0x13f8a4b5},
-  {0x2442, 0x13f8a4b6},
-  {0x2443, 0x13f8a4b7},
-  {0x2444, 0x13f8a4b8},
-  {0x2445, 0x13f8a4b9},
-  {0x2446, 0x13f8a8b0},
-  {0x2447, 0x13f8a8b1},
-  {0x2448, 0x13f8a8b2},
-  {0x2449, 0x13f8a8b3},
-  {0x244a, 0x13f8a8b4},
-  {0x244b, 0x13f8a8b5},
-  {0x244c, 0x13f8a8b6},
-  {0x244d, 0x13f8a8b7},
-  {0x244e, 0x13f8a8b8},
-  {0x244f, 0x13f8a8b9},
-  {0x2450, 0x13f8acb0},
-  {0x2451, 0x13f8acb1},
-  {0x2452, 0x13f8acb2},
-  {0x2453, 0x13f8acb3},
-  {0x2454, 0x13f8acb4},
-  {0x2455, 0x13f8acb5},
-  {0x2456, 0x13f8acb6},
-  {0x2457, 0x13f8acb7},
-  {0x2458, 0x13f8acb8},
-  {0x2459, 0x13f8acb9},
-  {0x245a, 0x13f8b0b0},
-  {0x245b, 0x13f8b0b1},
-  {0x245c, 0x13f8b0b2},
-  {0x245d, 0x13f8b0b3},
-  {0x245e, 0x13f8b0b4},
-  {0x245f, 0x13f8b0b5},
-  {0x2460, 0xea8b99},
-  {0x2461, 0xea8b9a},
-  {0x2462, 0xea8b9b},
-  {0x2463, 0xea8b9c},
-  {0x2464, 0xea8b9d},
-  {0x2465, 0xea8b9e},
-  {0x2466, 0xea8b9f},
-  {0x2467, 0xea8ba0},
-  {0x2468, 0xea8ba1},
-  {0x2469, 0xea8ba2},
-  {0x246a, 0x13f8b0b6},
-  {0x246b, 0x13f8b0b7},
-  {0x246c, 0x13f8b0b8},
-  {0x246d, 0x13f8b0b9},
-  {0x246e, 0x13f8b4b0},
-  {0x246f, 0x13f8b4b1},
-  {0x2470, 0x13f8b4b2},
-  {0x2471, 0x13f8b4b3},
-  {0x2472, 0x13f8b4b4},
-  {0x2473, 0x13f8b4b5},
-  {0x2474, 0xea8b85},
-  {0x2475, 0xea8b86},
-  {0x2476, 0xea8b87},
-  {0x2477, 0xea8b88},
-  {0x2478, 0xea8b89},
-  {0x2479, 0xea8b8a},
-  {0x247a, 0xea8b8b},
-  {0x247b, 0xea8b8c},
-  {0x247c, 0xea8b8d},
-  {0x247d, 0xea8b8e},
-  {0x247e, 0xea8b8f},
-  {0x247f, 0xea8b90},
-  {0x2480, 0xea8b91},
-  {0x2481, 0xea8b92},
-  {0x2482, 0xea8b93},
-  {0x2483, 0xea8b94},
-  {0x2484, 0xea8b95},
-  {0x2485, 0xea8b96},
-  {0x2486, 0xea8b97},
-  {0x2487, 0xea8b98},
-  {0x2488, 0xea8ab1},
-  {0x2489, 0xea8ab2},
-  {0x248a, 0xea8ab3},
-  {0x248b, 0xea8ab4},
-  {0x248c, 0xea8ab5},
-  {0x248d, 0xea8ab6},
-  {0x248e, 0xea8ab7},
-  {0x248f, 0xea8ab8},
-  {0x2490, 0xea8ab9},
-  {0x2491, 0xea8aba},
-  {0x2492, 0xea8abb},
-  {0x2493, 0xea8abc},
-  {0x2494, 0xea8abd},
-  {0x2495, 0xea8abe},
-  {0x2496, 0xea8abf},
-  {0x2497, 0xea8b80},
-  {0x2498, 0xea8b81},
-  {0x2499, 0xea8b82},
-  {0x249a, 0xea8b83},
-  {0x249b, 0xea8b84},
-  {0x249c, 0x13f8b4b6},
-  {0x249d, 0x13f8b4b7},
-  {0x249e, 0x13f8b4b8},
-  {0x249f, 0x13f8b4b9},
-  {0x24a0, 0x13f8b8b0},
-  {0x24a1, 0x13f8b8b1},
-  {0x24a2, 0x13f8b8b2},
-  {0x24a3, 0x13f8b8b3},
-  {0x24a4, 0x13f8b8b4},
-  {0x24a5, 0x13f8b8b5},
-  {0x24a6, 0x13f8b8b6},
-  {0x24a7, 0x13f8b8b7},
-  {0x24a8, 0x13f8b8b8},
-  {0x24a9, 0x13f8b8b9},
-  {0x24aa, 0x13f8bcb0},
-  {0x24ab, 0x13f8bcb1},
-  {0x24ac, 0x13f8bcb2},
-  {0x24ad, 0x13f8bcb3},
-  {0x24ae, 0x13f8bcb4},
-  {0x24af, 0x13f8bcb5},
-  {0x24b0, 0x13f8bcb6},
-  {0x24b1, 0x13f8bcb7},
-  {0x24b2, 0x13f8bcb8},
-  {0x24b3, 0x13f8bcb9},
-  {0x24b4, 0x13f980b0},
-  {0x24b5, 0x13f980b1},
-  {0x24b6, 0x13f980b2},
-  {0x24b7, 0x13f980b3},
-  {0x24b8, 0x13f980b4},
-  {0x24b9, 0x13f980b5},
-  {0x24ba, 0x13f980b6},
-  {0x24bb, 0x13f980b7},
-  {0x24bc, 0x13f980b8},
-  {0x24bd, 0x13f980b9},
-  {0x24be, 0x13f984b0},
-  {0x24bf, 0x13f984b1},
-  {0x24c0, 0x13f984b2},
-  {0x24c1, 0x13f984b3},
-  {0x24c2, 0x13f984b4},
-  {0x24c3, 0x13f984b5},
-  {0x24c4, 0x13f984b6},
-  {0x24c5, 0x13f984b7},
-  {0x24c6, 0x13f984b8},
-  {0x24c7, 0x13f984b9},
-  {0x24c8, 0x13f988b0},
-  {0x24c9, 0x13f988b1},
-  {0x24ca, 0x13f988b2},
-  {0x24cb, 0x13f988b3},
-  {0x24cc, 0x13f988b4},
-  {0x24cd, 0x13f988b5},
-  {0x24ce, 0x13f988b6},
-  {0x24cf, 0x13f988b7},
-  {0x24d0, 0x13f988b8},
-  {0x24d1, 0x13f988b9},
-  {0x24d2, 0x13f98cb0},
-  {0x24d3, 0x13f98cb1},
-  {0x24d4, 0x13f98cb2},
-  {0x24d5, 0x13f98cb3},
-  {0x24d6, 0x13f98cb4},
-  {0x24d7, 0x13f98cb5},
-  {0x24d8, 0x13f98cb6},
-  {0x24d9, 0x13f98cb7},
-  {0x24da, 0x13f98cb8},
-  {0x24db, 0x13f98cb9},
-  {0x24dc, 0x13f990b0},
-  {0x24dd, 0x13f990b1},
-  {0x24de, 0x13f990b2},
-  {0x24df, 0x13f990b3},
-  {0x24e0, 0x13f990b4},
-  {0x24e1, 0x13f990b5},
-  {0x24e2, 0x13f990b6},
-  {0x24e3, 0x13f990b7},
-  {0x24e4, 0x13f990b8},
-  {0x24e5, 0x13f990b9},
-  {0x24e6, 0x13f994b0},
-  {0x24e7, 0x13f994b1},
-  {0x24e8, 0x13f994b2},
-  {0x24e9, 0x13f994b3},
-  {0x24ea, 0x13f994b4},
-  {0x24eb, 0x13f994b5},
-  {0x24ec, 0x13f994b6},
-  {0x24ed, 0x13f994b7},
-  {0x24ee, 0x13f994b8},
-  {0x24ef, 0x13f994b9},
-  {0x24f0, 0x13f998b0},
-  {0x24f1, 0x13f998b1},
-  {0x24f2, 0x13f998b2},
-  {0x24f3, 0x13f998b3},
-  {0x24f4, 0x13f998b4},
-  {0x24f5, 0x13f998b5},
-  {0x24f6, 0x13f998b6},
-  {0x24f7, 0x13f998b7},
-  {0x24f8, 0x13f998b8},
-  {0x24f9, 0x13f998b9},
-  {0x24fa, 0x13f99cb0},
-  {0x24fb, 0x13f99cb1},
-  {0x24fc, 0x13f99cb2},
-  {0x24fd, 0x13f99cb3},
-  {0x24fe, 0x13f99cb4},
-  {0x24ff, 0x13f99cb5},
-  {0x2500, 0xeaa6a4},
-  {0x2501, 0xeaa6a5},
-  {0x2502, 0xeaa6a6},
-  {0x2503, 0xeaa6a7},
-  {0x2504, 0xeaa6a8},
-  {0x2505, 0xeaa6a9},
-  {0x2506, 0xeaa6aa},
-  {0x2507, 0xeaa6ab},
-  {0x2508, 0xeaa6ac},
-  {0x2509, 0xeaa6ad},
-  {0x250a, 0xeaa6ae},
-  {0x250b, 0xeaa6af},
-  {0x250c, 0xeaa6b0},
-  {0x250d, 0xeaa6b1},
-  {0x250e, 0xeaa6b2},
-  {0x250f, 0xeaa6b3},
-  {0x2510, 0xeaa6b4},
-  {0x2511, 0xeaa6b5},
-  {0x2512, 0xeaa6b6},
-  {0x2513, 0xeaa6b7},
-  {0x2514, 0xeaa6b8},
-  {0x2515, 0xeaa6b9},
-  {0x2516, 0xeaa6ba},
-  {0x2517, 0xeaa6bb},
-  {0x2518, 0xeaa6bc},
-  {0x2519, 0xeaa6bd},
-  {0x251a, 0xeaa6be},
-  {0x251b, 0xeaa6bf},
-  {0x251c, 0xeaa780},
-  {0x251d, 0xeaa781},
-  {0x251e, 0xeaa782},
-  {0x251f, 0xeaa783},
-  {0x2520, 0xeaa784},
-  {0x2521, 0xeaa785},
-  {0x2522, 0xeaa786},
-  {0x2523, 0xeaa787},
-  {0x2524, 0xeaa788},
-  {0x2525, 0xeaa789},
-  {0x2526, 0xeaa78a},
-  {0x2527, 0xeaa78b},
-  {0x2528, 0xeaa78c},
-  {0x2529, 0xeaa78d},
-  {0x252a, 0xeaa78e},
-  {0x252b, 0xeaa78f},
-  {0x252c, 0xeaa790},
-  {0x252d, 0xeaa791},
-  {0x252e, 0xeaa792},
-  {0x252f, 0xeaa793},
-  {0x2530, 0xeaa794},
-  {0x2531, 0xeaa795},
-  {0x2532, 0xeaa796},
-  {0x2533, 0xeaa797},
-  {0x2534, 0xeaa798},
-  {0x2535, 0xeaa799},
-  {0x2536, 0xeaa79a},
-  {0x2537, 0xeaa79b},
-  {0x2538, 0xeaa79c},
-  {0x2539, 0xeaa79d},
-  {0x253a, 0xeaa79e},
-  {0x253b, 0xeaa79f},
-  {0x253c, 0xeaa7a0},
-  {0x253d, 0xeaa7a1},
-  {0x253e, 0xeaa7a2},
-  {0x253f, 0xeaa7a3},
-  {0x2540, 0xeaa7a4},
-  {0x2541, 0xeaa7a5},
-  {0x2542, 0xeaa7a6},
-  {0x2543, 0xeaa7a7},
-  {0x2544, 0xeaa7a8},
-  {0x2545, 0xeaa7a9},
-  {0x2546, 0xeaa7aa},
-  {0x2547, 0xeaa7ab},
-  {0x2548, 0xeaa7ac},
-  {0x2549, 0xeaa7ad},
-  {0x254a, 0xeaa7ae},
-  {0x254b, 0xeaa7af},
-  {0x254c, 0x13f99cb6},
-  {0x254d, 0x13f99cb7},
-  {0x254e, 0x13f99cb8},
-  {0x254f, 0x13f99cb9},
-  {0x2550, 0xeaa194},
-  {0x2551, 0xeaa195},
-  {0x2552, 0xeaa196},
-  {0x2553, 0xeaa197},
-  {0x2554, 0xeaa198},
-  {0x2555, 0xeaa199},
-  {0x2556, 0xeaa19a},
-  {0x2557, 0xeaa19b},
-  {0x2558, 0xeaa19c},
-  {0x2559, 0xeaa19d},
-  {0x255a, 0xeaa19e},
-  {0x255b, 0xeaa19f},
-  {0x255c, 0xeaa1a0},
-  {0x255d, 0xeaa1a1},
-  {0x255e, 0xeaa1a2},
-  {0x255f, 0xeaa1a3},
-  {0x2560, 0xeaa1a4},
-  {0x2561, 0xeaa1a5},
-  {0x2562, 0xeaa1a6},
-  {0x2563, 0xeaa1a7},
-  {0x2564, 0xeaa1a8},
-  {0x2565, 0xeaa1a9},
-  {0x2566, 0xeaa1aa},
-  {0x2567, 0xeaa1ab},
-  {0x2568, 0xeaa1ac},
-  {0x2569, 0xeaa1ad},
-  {0x256a, 0xeaa1ae},
-  {0x256b, 0xeaa1af},
-  {0x256c, 0xeaa1b0},
-  {0x256d, 0xeaa1b1},
-  {0x256e, 0xeaa1b2},
-  {0x256f, 0xeaa1b3},
-  {0x2570, 0xeaa1b4},
-  {0x2571, 0xeaa1b5},
-  {0x2572, 0xeaa1b6},
-  {0x2573, 0xeaa1b7},
-  {0x2574, 0x13f9a0b0},
-  {0x2575, 0x13f9a0b1},
-  {0x2576, 0x13f9a0b2},
-  {0x2577, 0x13f9a0b3},
-  {0x2578, 0x13f9a0b4},
-  {0x2579, 0x13f9a0b5},
-  {0x257a, 0x13f9a0b6},
-  {0x257b, 0x13f9a0b7},
-  {0x257c, 0x13f9a0b8},
-  {0x257d, 0x13f9a0b9},
-  {0x257e, 0x13f9a4b0},
-  {0x257f, 0x13f9a4b1},
-  {0x2580, 0x13f9a4b2},
-  {0x2581, 0xeaa1b8},
-  {0x2582, 0xeaa1b9},
-  {0x2583, 0xeaa1ba},
-  {0x2584, 0xeaa1bb},
-  {0x2585, 0xeaa1bc},
-  {0x2586, 0xeaa1bd},
-  {0x2587, 0xeaa1be},
-  {0x2588, 0xeaa280},
-  {0x2589, 0xeaa281},
-  {0x258a, 0xeaa282},
-  {0x258b, 0xeaa283},
-  {0x258c, 0xeaa284},
-  {0x258d, 0xeaa285},
-  {0x258e, 0xeaa286},
-  {0x258f, 0xeaa287},
-  {0x2590, 0x13f9a4b3},
-  {0x2591, 0x13f9a4b4},
-  {0x2592, 0x13f9a4b5},
-  {0x2593, 0xeaa288},
-  {0x2594, 0xeaa289},
-  {0x2595, 0xeaa28a},
-  {0x2596, 0x13f9a4b6},
-  {0x2597, 0x13f9a4b7},
-  {0x2598, 0x13f9a4b8},
-  {0x2599, 0x13f9a4b9},
-  {0x259a, 0x13f9a8b0},
-  {0x259b, 0x13f9a8b1},
-  {0x259c, 0x13f9a8b2},
-  {0x259d, 0x13f9a8b3},
-  {0x259e, 0x13f9a8b4},
-  {0x259f, 0x13f9a8b5},
-  {0x25a0, 0xea87b6},
-  {0x25a1, 0xea87b5},
-  {0x25a2, 0x13f9a8b6},
-  {0x25a3, 0x13f9a8b7},
-  {0x25a4, 0x13f9a8b8},
-  {0x25a5, 0x13f9a8b9},
-  {0x25a6, 0x13f9acb0},
-  {0x25a7, 0x13f9acb1},
-  {0x25a8, 0x13f9acb2},
-  {0x25a9, 0x13f9acb3},
-  {0x25aa, 0x13f9acb4},
-  {0x25ab, 0x13f9acb5},
-  {0x25ac, 0x13f9acb6},
-  {0x25ad, 0x13f9acb7},
-  {0x25ae, 0x13f9acb8},
-  {0x25af, 0x13f9acb9},
-  {0x25b0, 0x13f9b0b0},
-  {0x25b1, 0x13f9b0b1},
-  {0x25b2, 0xea87b8},
-  {0x25b3, 0xea87b7},
-  {0x25b4, 0x13f9b0b2},
-  {0x25b5, 0x13f9b0b3},
-  {0x25b6, 0x13f9b0b4},
-  {0x25b7, 0x13f9b0b5},
-  {0x25b8, 0x13f9b0b6},
-  {0x25b9, 0x13f9b0b7},
-  {0x25ba, 0x13f9b0b8},
-  {0x25bb, 0x13f9b0b9},
-  {0x25bc, 0xeaa28b},
-  {0x25bd, 0xeaa28c},
-  {0x25be, 0x13f9b4b0},
-  {0x25bf, 0x13f9b4b1},
-  {0x25c0, 0x13f9b4b2},
-  {0x25c1, 0x13f9b4b3},
-  {0x25c2, 0x13f9b4b4},
-  {0x25c3, 0x13f9b4b5},
-  {0x25c4, 0x13f9b4b6},
-  {0x25c5, 0x13f9b4b7},
-  {0x25c6, 0xea87b4},
-  {0x25c7, 0xea87b3},
-  {0x25c8, 0x13f9b4b8},
-  {0x25c9, 0x13f9b4b9},
-  {0x25ca, 0x13f9b8b0},
-  {0x25cb, 0xea87b0},
-  {0x25cc, 0x13f9b8b1},
-  {0x25cd, 0x13f9b8b2},
-  {0x25ce, 0xea87b2},
-  {0x25cf, 0xea87b1},
-  {0x25d0, 0x13f9b8b3},
-  {0x25d1, 0x13f9b8b4},
-  {0x25d2, 0x13f9b8b5},
-  {0x25d3, 0x13f9b8b6},
-  {0x25d4, 0x13f9b8b7},
-  {0x25d5, 0x13f9b8b8},
-  {0x25d6, 0x13f9b8b9},
-  {0x25d7, 0x13f9bcb0},
-  {0x25d8, 0x13f9bcb1},
-  {0x25d9, 0x13f9bcb2},
-  {0x25da, 0x13f9bcb3},
-  {0x25db, 0x13f9bcb4},
-  {0x25dc, 0x13f9bcb5},
-  {0x25dd, 0x13f9bcb6},
-  {0x25de, 0x13f9bcb7},
-  {0x25df, 0x13f9bcb8},
-  {0x25e0, 0x13f9bcb9},
-  {0x25e1, 0x13fa80b0},
-  {0x25e2, 0xeaa28d},
-  {0x25e3, 0xeaa28e},
-  {0x25e4, 0xeaa28f},
-  {0x25e5, 0xeaa290},
-  {0x25e6, 0x13fa80b1},
-  {0x25e7, 0x13fa80b2},
-  {0x25e8, 0x13fa80b3},
-  {0x25e9, 0x13fa80b4},
-  {0x25ea, 0x13fa80b5},
-  {0x25eb, 0x13fa80b6},
-  {0x25ec, 0x13fa80b7},
-  {0x25ed, 0x13fa80b8},
-  {0x25ee, 0x13fa80b9},
-  {0x25ef, 0x13fa84b0},
-  {0x25f0, 0x13fa84b1},
-  {0x25f1, 0x13fa84b2},
-  {0x25f2, 0x13fa84b3},
-  {0x25f3, 0x13fa84b4},
-  {0x25f4, 0x13fa84b5},
-  {0x25f5, 0x13fa84b6},
-  {0x25f6, 0x13fa84b7},
-  {0x25f7, 0x13fa84b8},
-  {0x25f8, 0x13fa84b9},
-  {0x25f9, 0x13fa88b0},
-  {0x25fa, 0x13fa88b1},
-  {0x25fb, 0x13fa88b2},
-  {0x25fc, 0x13fa88b3},
-  {0x25fd, 0x13fa88b4},
-  {0x25fe, 0x13fa88b5},
-  {0x25ff, 0x13fa88b6},
-  {0x2600, 0x13fa88b7},
-  {0x2601, 0x13fa88b8},
-  {0x2602, 0x13fa88b9},
-  {0x2603, 0x13fa8cb0},
-  {0x2604, 0x13fa8cb1},
-  {0x2605, 0xea87af},
-  {0x2606, 0xea87ae},
-  {0x2607, 0x13fa8cb2},
-  {0x2608, 0x13fa8cb3},
-  {0x2609, 0xeaa291},
-  {0x260a, 0x13fa8cb4},
-  {0x260b, 0x13fa8cb5},
-  {0x260c, 0x13fa8cb6},
-  {0x260d, 0x13fa8cb7},
-  {0x260e, 0x13fa8cb8},
-  {0x260f, 0x13fa8cb9},
-  {0x2610, 0x13fa90b0},
-  {0x2611, 0x13fa90b1},
-  {0x2612, 0x13fa90b2},
-  {0x2613, 0x13fa90b3},
-  {0x2614, 0x13fa90b4},
-  {0x2615, 0x13fa90b5},
-  {0x2616, 0x13fa90b6},
-  {0x2617, 0x13fa90b7},
-  {0x2618, 0x13fa90b8},
-  {0x2619, 0x13fa90b9},
-  {0x261a, 0x13fa94b0},
-  {0x261b, 0x13fa94b1},
-  {0x261c, 0x13fa94b2},
-  {0x261d, 0x13fa94b3},
-  {0x261e, 0x13fa94b4},
-  {0x261f, 0x13fa94b5},
-  {0x2620, 0x13fa94b6},
-  {0x2621, 0x13fa94b7},
-  {0x2622, 0x13fa94b8},
-  {0x2623, 0x13fa94b9},
-  {0x2624, 0x13fa98b0},
-  {0x2625, 0x13fa98b1},
-  {0x2626, 0x13fa98b2},
-  {0x2627, 0x13fa98b3},
-  {0x2628, 0x13fa98b4},
-  {0x2629, 0x13fa98b5},
-  {0x262a, 0x13fa98b6},
-  {0x262b, 0x13fa98b7},
-  {0x262c, 0x13fa98b8},
-  {0x262d, 0x13fa98b9},
-  {0x262e, 0x13fa9cb0},
-  {0x262f, 0x13fa9cb1},
-  {0x2630, 0x13fa9cb2},
-  {0x2631, 0x13fa9cb3},
-  {0x2632, 0x13fa9cb4},
-  {0x2633, 0x13fa9cb5},
-  {0x2634, 0x13fa9cb6},
-  {0x2635, 0x13fa9cb7},
-  {0x2636, 0x13fa9cb8},
-  {0x2637, 0x13fa9cb9},
-  {0x2638, 0x13faa0b0},
-  {0x2639, 0x13faa0b1},
-  {0x263a, 0x13faa0b2},
-  {0x263b, 0x13faa0b3},
-  {0x263c, 0x13faa0b4},
-  {0x263d, 0x13faa0b5},
-  {0x263e, 0x13faa0b6},
-  {0x263f, 0x13faa0b7},
-  {0x2640, 0xea87a2},
-  {0x2641, 0x13faa0b8},
-  {0x2642, 0xea87a1},
-  {0x2643, 0x13faa0b9},
-  {0x2644, 0x13faa4b0},
-  {0x2645, 0x13faa4b1},
-  {0x2646, 0x13faa4b2},
-  {0x2647, 0x13faa4b3},
-  {0x2648, 0x13faa4b4},
-  {0x2649, 0x13faa4b5},
-  {0x264a, 0x13faa4b6},
-  {0x264b, 0x13faa4b7},
-  {0x264c, 0x13faa4b8},
-  {0x264d, 0x13faa4b9},
-  {0x264e, 0x13faa8b0},
-  {0x264f, 0x13faa8b1},
-  {0x2650, 0x13faa8b2},
-  {0x2651, 0x13faa8b3},
-  {0x2652, 0x13faa8b4},
-  {0x2653, 0x13faa8b5},
-  {0x2654, 0x13faa8b6},
-  {0x2655, 0x13faa8b7},
-  {0x2656, 0x13faa8b8},
-  {0x2657, 0x13faa8b9},
-  {0x2658, 0x13faacb0},
-  {0x2659, 0x13faacb1},
-  {0x265a, 0x13faacb2},
-  {0x265b, 0x13faacb3},
-  {0x265c, 0x13faacb4},
-  {0x265d, 0x13faacb5},
-  {0x265e, 0x13faacb6},
-  {0x265f, 0x13faacb7},
-  {0x2660, 0x13faacb8},
-  {0x2661, 0x13faacb9},
-  {0x2662, 0x13fab0b0},
-  {0x2663, 0x13fab0b1},
-  {0x2664, 0x13fab0b2},
-  {0x2665, 0x13fab0b3},
-  {0x2666, 0x13fab0b4},
-  {0x2667, 0x13fab0b5},
-  {0x2668, 0x13fab0b6},
-  {0x2669, 0x13fab0b7},
-  {0x266a, 0x13fab0b8},
-  {0x266b, 0x13fab0b9},
-  {0x266c, 0x13fab4b0},
-  {0x266d, 0x13fab4b1},
-  {0x266e, 0x13fab4b2},
-  {0x266f, 0x13fab4b3},
-  {0x2670, 0x13fab4b4},
-  {0x2671, 0x13fab4b5},
-  {0x2672, 0x13fab4b6},
-  {0x2673, 0x13fab4b7},
-  {0x2674, 0x13fab4b8},
-  {0x2675, 0x13fab4b9},
-  {0x2676, 0x13fab8b0},
-  {0x2677, 0x13fab8b1},
-  {0x2678, 0x13fab8b2},
-  {0x2679, 0x13fab8b3},
-  {0x267a, 0x13fab8b4},
-  {0x267b, 0x13fab8b5},
-  {0x267c, 0x13fab8b6},
-  {0x267d, 0x13fab8b7},
-  {0x267e, 0x13fab8b8},
-  {0x267f, 0x13fab8b9},
-  {0x2680, 0x13fabcb0},
-  {0x2681, 0x13fabcb1},
-  {0x2682, 0x13fabcb2},
-  {0x2683, 0x13fabcb3},
-  {0x2684, 0x13fabcb4},
-  {0x2685, 0x13fabcb5},
-  {0x2686, 0x13fabcb6},
-  {0x2687, 0x13fabcb7},
-  {0x2688, 0x13fabcb8},
-  {0x2689, 0x13fabcb9},
-  {0x268a, 0x13fb80b0},
-  {0x268b, 0x13fb80b1},
-  {0x268c, 0x13fb80b2},
-  {0x268d, 0x13fb80b3},
-  {0x268e, 0x13fb80b4},
-  {0x268f, 0x13fb80b5},
-  {0x2690, 0x13fb80b6},
-  {0x2691, 0x13fb80b7},
-  {0x2692, 0x13fb80b8},
-  {0x2693, 0x13fb80b9},
-  {0x2694, 0x13fb84b0},
-  {0x2695, 0x13fb84b1},
-  {0x2696, 0x13fb84b2},
-  {0x2697, 0x13fb84b3},
-  {0x2698, 0x13fb84b4},
-  {0x2699, 0x13fb84b5},
-  {0x269a, 0x13fb84b6},
-  {0x269b, 0x13fb84b7},
-  {0x269c, 0x13fb84b8},
-  {0x269d, 0x13fb84b9},
-  {0x269e, 0x13fb88b0},
-  {0x269f, 0x13fb88b1},
-  {0x26a0, 0x13fb88b2},
-  {0x26a1, 0x13fb88b3},
-  {0x26a2, 0x13fb88b4},
-  {0x26a3, 0x13fb88b5},
-  {0x26a4, 0x13fb88b6},
-  {0x26a5, 0x13fb88b7},
-  {0x26a6, 0x13fb88b8},
-  {0x26a7, 0x13fb88b9},
-  {0x26a8, 0x13fb8cb0},
-  {0x26a9, 0x13fb8cb1},
-  {0x26aa, 0x13fb8cb2},
-  {0x26ab, 0x13fb8cb3},
-  {0x26ac, 0x13fb8cb4},
-  {0x26ad, 0x13fb8cb5},
-  {0x26ae, 0x13fb8cb6},
-  {0x26af, 0x13fb8cb7},
-  {0x26b0, 0x13fb8cb8},
-  {0x26b1, 0x13fb8cb9},
-  {0x26b2, 0x13fb90b0},
-  {0x26b3, 0x13fb90b1},
-  {0x26b4, 0x13fb90b2},
-  {0x26b5, 0x13fb90b3},
-  {0x26b6, 0x13fb90b4},
-  {0x26b7, 0x13fb90b5},
-  {0x26b8, 0x13fb90b6},
-  {0x26b9, 0x13fb90b7},
-  {0x26ba, 0x13fb90b8},
-  {0x26bb, 0x13fb90b9},
-  {0x26bc, 0x13fb94b0},
-  {0x26bd, 0x13fb94b1},
-  {0x26be, 0x13fb94b2},
-  {0x26bf, 0x13fb94b3},
-  {0x26c0, 0x13fb94b4},
-  {0x26c1, 0x13fb94b5},
-  {0x26c2, 0x13fb94b6},
-  {0x26c3, 0x13fb94b7},
-  {0x26c4, 0x13fb94b8},
-  {0x26c5, 0x13fb94b9},
-  {0x26c6, 0x13fb98b0},
-  {0x26c7, 0x13fb98b1},
-  {0x26c8, 0x13fb98b2},
-  {0x26c9, 0x13fb98b3},
-  {0x26ca, 0x13fb98b4},
-  {0x26cb, 0x13fb98b5},
-  {0x26cc, 0x13fb98b6},
-  {0x26cd, 0x13fb98b7},
-  {0x26ce, 0x13fb98b8},
-  {0x26cf, 0x13fb98b9},
-  {0x26d0, 0x13fb9cb0},
-  {0x26d1, 0x13fb9cb1},
-  {0x26d2, 0x13fb9cb2},
-  {0x26d3, 0x13fb9cb3},
-  {0x26d4, 0x13fb9cb4},
-  {0x26d5, 0x13fb9cb5},
-  {0x26d6, 0x13fb9cb6},
-  {0x26d7, 0x13fb9cb7},
-  {0x26d8, 0x13fb9cb8},
-  {0x26d9, 0x13fb9cb9},
-  {0x26da, 0x13fba0b0},
-  {0x26db, 0x13fba0b1},
-  {0x26dc, 0x13fba0b2},
-  {0x26dd, 0x13fba0b3},
-  {0x26de, 0x13fba0b4},
-  {0x26df, 0x13fba0b5},
-  {0x26e0, 0x13fba0b6},
-  {0x26e1, 0x13fba0b7},
-  {0x26e2, 0x13fba0b8},
-  {0x26e3, 0x13fba0b9},
-  {0x26e4, 0x13fba4b0},
-  {0x26e5, 0x13fba4b1},
-  {0x26e6, 0x13fba4b2},
-  {0x26e7, 0x13fba4b3},
-  {0x26e8, 0x13fba4b4},
-  {0x26e9, 0x13fba4b5},
-  {0x26ea, 0x13fba4b6},
-  {0x26eb, 0x13fba4b7},
-  {0x26ec, 0x13fba4b8},
-  {0x26ed, 0x13fba4b9},
-  {0x26ee, 0x13fba8b0},
-  {0x26ef, 0x13fba8b1},
-  {0x26f0, 0x13fba8b2},
-  {0x26f1, 0x13fba8b3},
-  {0x26f2, 0x13fba8b4},
-  {0x26f3, 0x13fba8b5},
-  {0x26f4, 0x13fba8b6},
-  {0x26f5, 0x13fba8b7},
-  {0x26f6, 0x13fba8b8},
-  {0x26f7, 0x13fba8b9},
-  {0x26f8, 0x13fbacb0},
-  {0x26f9, 0x13fbacb1},
-  {0x26fa, 0x13fbacb2},
-  {0x26fb, 0x13fbacb3},
-  {0x26fc, 0x13fbacb4},
-  {0x26fd, 0x13fbacb5},
-  {0x26fe, 0x13fbacb6},
-  {0x26ff, 0x13fbacb7},
-  {0x2700, 0x13fbacb8},
-  {0x2701, 0x13fbacb9},
-  {0x2702, 0x13fbb0b0},
-  {0x2703, 0x13fbb0b1},
-  {0x2704, 0x13fbb0b2},
-  {0x2705, 0x13fbb0b3},
-  {0x2706, 0x13fbb0b4},
-  {0x2707, 0x13fbb0b5},
-  {0x2708, 0x13fbb0b6},
-  {0x2709, 0x13fbb0b7},
-  {0x270a, 0x13fbb0b8},
-  {0x270b, 0x13fbb0b9},
-  {0x270c, 0x13fbb4b0},
-  {0x270d, 0x13fbb4b1},
-  {0x270e, 0x13fbb4b2},
-  {0x270f, 0x13fbb4b3},
-  {0x2710, 0x13fbb4b4},
-  {0x2711, 0x13fbb4b5},
-  {0x2712, 0x13fbb4b6},
-  {0x2713, 0x13fbb4b7},
-  {0x2714, 0x13fbb4b8},
-  {0x2715, 0x13fbb4b9},
-  {0x2716, 0x13fbb8b0},
-  {0x2717, 0x13fbb8b1},
-  {0x2718, 0x13fbb8b2},
-  {0x2719, 0x13fbb8b3},
-  {0x271a, 0x13fbb8b4},
-  {0x271b, 0x13fbb8b5},
-  {0x271c, 0x13fbb8b6},
-  {0x271d, 0x13fbb8b7},
-  {0x271e, 0x13fbb8b8},
-  {0x271f, 0x13fbb8b9},
-  {0x2720, 0x13fbbcb0},
-  {0x2721, 0x13fbbcb1},
-  {0x2722, 0x13fbbcb2},
-  {0x2723, 0x13fbbcb3},
-  {0x2724, 0x13fbbcb4},
-  {0x2725, 0x13fbbcb5},
-  {0x2726, 0x13fbbcb6},
-  {0x2727, 0x13fbbcb7},
-  {0x2728, 0x13fbbcb8},
-  {0x2729, 0x13fbbcb9},
-  {0x272a, 0x13fc80b0},
-  {0x272b, 0x13fc80b1},
-  {0x272c, 0x13fc80b2},
-  {0x272d, 0x13fc80b3},
-  {0x272e, 0x13fc80b4},
-  {0x272f, 0x13fc80b5},
-  {0x2730, 0x13fc80b6},
-  {0x2731, 0x13fc80b7},
-  {0x2732, 0x13fc80b8},
-  {0x2733, 0x13fc80b9},
-  {0x2734, 0x13fc84b0},
-  {0x2735, 0x13fc84b1},
-  {0x2736, 0x13fc84b2},
-  {0x2737, 0x13fc84b3},
-  {0x2738, 0x13fc84b4},
-  {0x2739, 0x13fc84b5},
-  {0x273a, 0x13fc84b6},
-  {0x273b, 0x13fc84b7},
-  {0x273c, 0x13fc84b8},
-  {0x273d, 0x13fc84b9},
-  {0x273e, 0x13fc88b0},
-  {0x273f, 0x13fc88b1},
-  {0x2740, 0x13fc88b2},
-  {0x2741, 0x13fc88b3},
-  {0x2742, 0x13fc88b4},
-  {0x2743, 0x13fc88b5},
-  {0x2744, 0x13fc88b6},
-  {0x2745, 0x13fc88b7},
-  {0x2746, 0x13fc88b8},
-  {0x2747, 0x13fc88b9},
-  {0x2748, 0x13fc8cb0},
-  {0x2749, 0x13fc8cb1},
-  {0x274a, 0x13fc8cb2},
-  {0x274b, 0x13fc8cb3},
-  {0x274c, 0x13fc8cb4},
-  {0x274d, 0x13fc8cb5},
-  {0x274e, 0x13fc8cb6},
-  {0x274f, 0x13fc8cb7},
-  {0x2750, 0x13fc8cb8},
-  {0x2751, 0x13fc8cb9},
-  {0x2752, 0x13fc90b0},
-  {0x2753, 0x13fc90b1},
-  {0x2754, 0x13fc90b2},
-  {0x2755, 0x13fc90b3},
-  {0x2756, 0x13fc90b4},
-  {0x2757, 0x13fc90b5},
-  {0x2758, 0x13fc90b6},
-  {0x2759, 0x13fc90b7},
-  {0x275a, 0x13fc90b8},
-  {0x275b, 0x13fc90b9},
-  {0x275c, 0x13fc94b0},
-  {0x275d, 0x13fc94b1},
-  {0x275e, 0x13fc94b2},
-  {0x275f, 0x13fc94b3},
-  {0x2760, 0x13fc94b4},
-  {0x2761, 0x13fc94b5},
-  {0x2762, 0x13fc94b6},
-  {0x2763, 0x13fc94b7},
-  {0x2764, 0x13fc94b8},
-  {0x2765, 0x13fc94b9},
-  {0x2766, 0x13fc98b0},
-  {0x2767, 0x13fc98b1},
-  {0x2768, 0x13fc98b2},
-  {0x2769, 0x13fc98b3},
-  {0x276a, 0x13fc98b4},
-  {0x276b, 0x13fc98b5},
-  {0x276c, 0x13fc98b6},
-  {0x276d, 0x13fc98b7},
-  {0x276e, 0x13fc98b8},
-  {0x276f, 0x13fc98b9},
-  {0x2770, 0x13fc9cb0},
-  {0x2771, 0x13fc9cb1},
-  {0x2772, 0x13fc9cb2},
-  {0x2773, 0x13fc9cb3},
-  {0x2774, 0x13fc9cb4},
-  {0x2775, 0x13fc9cb5},
-  {0x2776, 0x13fc9cb6},
-  {0x2777, 0x13fc9cb7},
-  {0x2778, 0x13fc9cb8},
-  {0x2779, 0x13fc9cb9},
-  {0x277a, 0x13fca0b0},
-  {0x277b, 0x13fca0b1},
-  {0x277c, 0x13fca0b2},
-  {0x277d, 0x13fca0b3},
-  {0x277e, 0x13fca0b4},
-  {0x277f, 0x13fca0b5},
-  {0x2780, 0x13fca0b6},
-  {0x2781, 0x13fca0b7},
-  {0x2782, 0x13fca0b8},
-  {0x2783, 0x13fca0b9},
-  {0x2784, 0x13fca4b0},
-  {0x2785, 0x13fca4b1},
-  {0x2786, 0x13fca4b2},
-  {0x2787, 0x13fca4b3},
-  {0x2788, 0x13fca4b4},
-  {0x2789, 0x13fca4b5},
-  {0x278a, 0x13fca4b6},
-  {0x278b, 0x13fca4b7},
-  {0x278c, 0x13fca4b8},
-  {0x278d, 0x13fca4b9},
-  {0x278e, 0x13fca8b0},
-  {0x278f, 0x13fca8b1},
-  {0x2790, 0x13fca8b2},
-  {0x2791, 0x13fca8b3},
-  {0x2792, 0x13fca8b4},
-  {0x2793, 0x13fca8b5},
-  {0x2794, 0x13fca8b6},
-  {0x2795, 0x13fca8b7},
-  {0x2796, 0x13fca8b8},
-  {0x2797, 0x13fca8b9},
-  {0x2798, 0x13fcacb0},
-  {0x2799, 0x13fcacb1},
-  {0x279a, 0x13fcacb2},
-  {0x279b, 0x13fcacb3},
-  {0x279c, 0x13fcacb4},
-  {0x279d, 0x13fcacb5},
-  {0x279e, 0x13fcacb6},
-  {0x279f, 0x13fcacb7},
-  {0x27a0, 0x13fcacb8},
-  {0x27a1, 0x13fcacb9},
-  {0x27a2, 0x13fcb0b0},
-  {0x27a3, 0x13fcb0b1},
-  {0x27a4, 0x13fcb0b2},
-  {0x27a5, 0x13fcb0b3},
-  {0x27a6, 0x13fcb0b4},
-  {0x27a7, 0x13fcb0b5},
-  {0x27a8, 0x13fcb0b6},
-  {0x27a9, 0x13fcb0b7},
-  {0x27aa, 0x13fcb0b8},
-  {0x27ab, 0x13fcb0b9},
-  {0x27ac, 0x13fcb4b0},
-  {0x27ad, 0x13fcb4b1},
-  {0x27ae, 0x13fcb4b2},
-  {0x27af, 0x13fcb4b3},
-  {0x27b0, 0x13fcb4b4},
-  {0x27b1, 0x13fcb4b5},
-  {0x27b2, 0x13fcb4b6},
-  {0x27b3, 0x13fcb4b7},
-  {0x27b4, 0x13fcb4b8},
-  {0x27b5, 0x13fcb4b9},
-  {0x27b6, 0x13fcb8b0},
-  {0x27b7, 0x13fcb8b1},
-  {0x27b8, 0x13fcb8b2},
-  {0x27b9, 0x13fcb8b3},
-  {0x27ba, 0x13fcb8b4},
-  {0x27bb, 0x13fcb8b5},
-  {0x27bc, 0x13fcb8b6},
-  {0x27bd, 0x13fcb8b7},
-  {0x27be, 0x13fcb8b8},
-  {0x27bf, 0x13fcb8b9},
-  {0x27c0, 0x13fcbcb0},
-  {0x27c1, 0x13fcbcb1},
-  {0x27c2, 0x13fcbcb2},
-  {0x27c3, 0x13fcbcb3},
-  {0x27c4, 0x13fcbcb4},
-  {0x27c5, 0x13fcbcb5},
-  {0x27c6, 0x13fcbcb6},
-  {0x27c7, 0x13fcbcb7},
-  {0x27c8, 0x13fcbcb8},
-  {0x27c9, 0x13fcbcb9},
-  {0x27ca, 0x13fd80b0},
-  {0x27cb, 0x13fd80b1},
-  {0x27cc, 0x13fd80b2},
-  {0x27cd, 0x13fd80b3},
-  {0x27ce, 0x13fd80b4},
-  {0x27cf, 0x13fd80b5},
-  {0x27d0, 0x13fd80b6},
-  {0x27d1, 0x13fd80b7},
-  {0x27d2, 0x13fd80b8},
-  {0x27d3, 0x13fd80b9},
-  {0x27d4, 0x13fd84b0},
-  {0x27d5, 0x13fd84b1},
-  {0x27d6, 0x13fd84b2},
-  {0x27d7, 0x13fd84b3},
-  {0x27d8, 0x13fd84b4},
-  {0x27d9, 0x13fd84b5},
-  {0x27da, 0x13fd84b6},
-  {0x27db, 0x13fd84b7},
-  {0x27dc, 0x13fd84b8},
-  {0x27dd, 0x13fd84b9},
-  {0x27de, 0x13fd88b0},
-  {0x27df, 0x13fd88b1},
-  {0x27e0, 0x13fd88b2},
-  {0x27e1, 0x13fd88b3},
-  {0x27e2, 0x13fd88b4},
-  {0x27e3, 0x13fd88b5},
-  {0x27e4, 0x13fd88b6},
-  {0x27e5, 0x13fd88b7},
-  {0x27e6, 0x13fd88b8},
-  {0x27e7, 0x13fd88b9},
-  {0x27e8, 0x13fd8cb0},
-  {0x27e9, 0x13fd8cb1},
-  {0x27ea, 0x13fd8cb2},
-  {0x27eb, 0x13fd8cb3},
-  {0x27ec, 0x13fd8cb4},
-  {0x27ed, 0x13fd8cb5},
-  {0x27ee, 0x13fd8cb6},
-  {0x27ef, 0x13fd8cb7},
-  {0x27f0, 0x13fd8cb8},
-  {0x27f1, 0x13fd8cb9},
-  {0x27f2, 0x13fd90b0},
-  {0x27f3, 0x13fd90b1},
-  {0x27f4, 0x13fd90b2},
-  {0x27f5, 0x13fd90b3},
-  {0x27f6, 0x13fd90b4},
-  {0x27f7, 0x13fd90b5},
-  {0x27f8, 0x13fd90b6},
-  {0x27f9, 0x13fd90b7},
-  {0x27fa, 0x13fd90b8},
-  {0x27fb, 0x13fd90b9},
-  {0x27fc, 0x13fd94b0},
-  {0x27fd, 0x13fd94b1},
-  {0x27fe, 0x13fd94b2},
-  {0x27ff, 0x13fd94b3},
-  {0x2800, 0x13fd94b4},
-  {0x2801, 0x13fd94b5},
-  {0x2802, 0x13fd94b6},
-  {0x2803, 0x13fd94b7},
-  {0x2804, 0x13fd94b8},
-  {0x2805, 0x13fd94b9},
-  {0x2806, 0x13fd98b0},
-  {0x2807, 0x13fd98b1},
-  {0x2808, 0x13fd98b2},
-  {0x2809, 0x13fd98b3},
-  {0x280a, 0x13fd98b4},
-  {0x280b, 0x13fd98b5},
-  {0x280c, 0x13fd98b6},
-  {0x280d, 0x13fd98b7},
-  {0x280e, 0x13fd98b8},
-  {0x280f, 0x13fd98b9},
-  {0x2810, 0x13fd9cb0},
-  {0x2811, 0x13fd9cb1},
-  {0x2812, 0x13fd9cb2},
-  {0x2813, 0x13fd9cb3},
-  {0x2814, 0x13fd9cb4},
-  {0x2815, 0x13fd9cb5},
-  {0x2816, 0x13fd9cb6},
-  {0x2817, 0x13fd9cb7},
-  {0x2818, 0x13fd9cb8},
-  {0x2819, 0x13fd9cb9},
-  {0x281a, 0x13fda0b0},
-  {0x281b, 0x13fda0b1},
-  {0x281c, 0x13fda0b2},
-  {0x281d, 0x13fda0b3},
-  {0x281e, 0x13fda0b4},
-  {0x281f, 0x13fda0b5},
-  {0x2820, 0x13fda0b6},
-  {0x2821, 0x13fda0b7},
-  {0x2822, 0x13fda0b8},
-  {0x2823, 0x13fda0b9},
-  {0x2824, 0x13fda4b0},
-  {0x2825, 0x13fda4b1},
-  {0x2826, 0x13fda4b2},
-  {0x2827, 0x13fda4b3},
-  {0x2828, 0x13fda4b4},
-  {0x2829, 0x13fda4b5},
-  {0x282a, 0x13fda4b6},
-  {0x282b, 0x13fda4b7},
-  {0x282c, 0x13fda4b8},
-  {0x282d, 0x13fda4b9},
-  {0x282e, 0x13fda8b0},
-  {0x282f, 0x13fda8b1},
-  {0x2830, 0x13fda8b2},
-  {0x2831, 0x13fda8b3},
-  {0x2832, 0x13fda8b4},
-  {0x2833, 0x13fda8b5},
-  {0x2834, 0x13fda8b6},
-  {0x2835, 0x13fda8b7},
-  {0x2836, 0x13fda8b8},
-  {0x2837, 0x13fda8b9},
-  {0x2838, 0x13fdacb0},
-  {0x2839, 0x13fdacb1},
-  {0x283a, 0x13fdacb2},
-  {0x283b, 0x13fdacb3},
-  {0x283c, 0x13fdacb4},
-  {0x283d, 0x13fdacb5},
-  {0x283e, 0x13fdacb6},
-  {0x283f, 0x13fdacb7},
-  {0x2840, 0x13fdacb8},
-  {0x2841, 0x13fdacb9},
-  {0x2842, 0x13fdb0b0},
-  {0x2843, 0x13fdb0b1},
-  {0x2844, 0x13fdb0b2},
-  {0x2845, 0x13fdb0b3},
-  {0x2846, 0x13fdb0b4},
-  {0x2847, 0x13fdb0b5},
-  {0x2848, 0x13fdb0b6},
-  {0x2849, 0x13fdb0b7},
-  {0x284a, 0x13fdb0b8},
-  {0x284b, 0x13fdb0b9},
-  {0x284c, 0x13fdb4b0},
-  {0x284d, 0x13fdb4b1},
-  {0x284e, 0x13fdb4b2},
-  {0x284f, 0x13fdb4b3},
-  {0x2850, 0x13fdb4b4},
-  {0x2851, 0x13fdb4b5},
-  {0x2852, 0x13fdb4b6},
-  {0x2853, 0x13fdb4b7},
-  {0x2854, 0x13fdb4b8},
-  {0x2855, 0x13fdb4b9},
-  {0x2856, 0x13fdb8b0},
-  {0x2857, 0x13fdb8b1},
-  {0x2858, 0x13fdb8b2},
-  {0x2859, 0x13fdb8b3},
-  {0x285a, 0x13fdb8b4},
-  {0x285b, 0x13fdb8b5},
-  {0x285c, 0x13fdb8b6},
-  {0x285d, 0x13fdb8b7},
-  {0x285e, 0x13fdb8b8},
-  {0x285f, 0x13fdb8b9},
-  {0x2860, 0x13fdbcb0},
-  {0x2861, 0x13fdbcb1},
-  {0x2862, 0x13fdbcb2},
-  {0x2863, 0x13fdbcb3},
-  {0x2864, 0x13fdbcb4},
-  {0x2865, 0x13fdbcb5},
-  {0x2866, 0x13fdbcb6},
-  {0x2867, 0x13fdbcb7},
-  {0x2868, 0x13fdbcb8},
-  {0x2869, 0x13fdbcb9},
-  {0x286a, 0x13fe80b0},
-  {0x286b, 0x13fe80b1},
-  {0x286c, 0x13fe80b2},
-  {0x286d, 0x13fe80b3},
-  {0x286e, 0x13fe80b4},
-  {0x286f, 0x13fe80b5},
-  {0x2870, 0x13fe80b6},
-  {0x2871, 0x13fe80b7},
-  {0x2872, 0x13fe80b8},
-  {0x2873, 0x13fe80b9},
-  {0x2874, 0x13fe84b0},
-  {0x2875, 0x13fe84b1},
-  {0x2876, 0x13fe84b2},
-  {0x2877, 0x13fe84b3},
-  {0x2878, 0x13fe84b4},
-  {0x2879, 0x13fe84b5},
-  {0x287a, 0x13fe84b6},
-  {0x287b, 0x13fe84b7},
-  {0x287c, 0x13fe84b8},
-  {0x287d, 0x13fe84b9},
-  {0x287e, 0x13fe88b0},
-  {0x287f, 0x13fe88b1},
-  {0x2880, 0x13fe88b2},
-  {0x2881, 0x13fe88b3},
-  {0x2882, 0x13fe88b4},
-  {0x2883, 0x13fe88b5},
-  {0x2884, 0x13fe88b6},
-  {0x2885, 0x13fe88b7},
-  {0x2886, 0x13fe88b8},
-  {0x2887, 0x13fe88b9},
-  {0x2888, 0x13fe8cb0},
-  {0x2889, 0x13fe8cb1},
-  {0x288a, 0x13fe8cb2},
-  {0x288b, 0x13fe8cb3},
-  {0x288c, 0x13fe8cb4},
-  {0x288d, 0x13fe8cb5},
-  {0x288e, 0x13fe8cb6},
-  {0x288f, 0x13fe8cb7},
-  {0x2890, 0x13fe8cb8},
-  {0x2891, 0x13fe8cb9},
-  {0x2892, 0x13fe90b0},
-  {0x2893, 0x13fe90b1},
-  {0x2894, 0x13fe90b2},
-  {0x2895, 0x13fe90b3},
-  {0x2896, 0x13fe90b4},
-  {0x2897, 0x13fe90b5},
-  {0x2898, 0x13fe90b6},
-  {0x2899, 0x13fe90b7},
-  {0x289a, 0x13fe90b8},
-  {0x289b, 0x13fe90b9},
-  {0x289c, 0x13fe94b0},
-  {0x289d, 0x13fe94b1},
-  {0x289e, 0x13fe94b2},
-  {0x289f, 0x13fe94b3},
-  {0x28a0, 0x13fe94b4},
-  {0x28a1, 0x13fe94b5},
-  {0x28a2, 0x13fe94b6},
-  {0x28a3, 0x13fe94b7},
-  {0x28a4, 0x13fe94b8},
-  {0x28a5, 0x13fe94b9},
-  {0x28a6, 0x13fe98b0},
-  {0x28a7, 0x13fe98b1},
-  {0x28a8, 0x13fe98b2},
-  {0x28a9, 0x13fe98b3},
-  {0x28aa, 0x13fe98b4},
-  {0x28ab, 0x13fe98b5},
-  {0x28ac, 0x13fe98b6},
-  {0x28ad, 0x13fe98b7},
-  {0x28ae, 0x13fe98b8},
-  {0x28af, 0x13fe98b9},
-  {0x28b0, 0x13fe9cb0},
-  {0x28b1, 0x13fe9cb1},
-  {0x28b2, 0x13fe9cb2},
-  {0x28b3, 0x13fe9cb3},
-  {0x28b4, 0x13fe9cb4},
-  {0x28b5, 0x13fe9cb5},
-  {0x28b6, 0x13fe9cb6},
-  {0x28b7, 0x13fe9cb7},
-  {0x28b8, 0x13fe9cb8},
-  {0x28b9, 0x13fe9cb9},
-  {0x28ba, 0x13fea0b0},
-  {0x28bb, 0x13fea0b1},
-  {0x28bc, 0x13fea0b2},
-  {0x28bd, 0x13fea0b3},
-  {0x28be, 0x13fea0b4},
-  {0x28bf, 0x13fea0b5},
-  {0x28c0, 0x13fea0b6},
-  {0x28c1, 0x13fea0b7},
-  {0x28c2, 0x13fea0b8},
-  {0x28c3, 0x13fea0b9},
-  {0x28c4, 0x13fea4b0},
-  {0x28c5, 0x13fea4b1},
-  {0x28c6, 0x13fea4b2},
-  {0x28c7, 0x13fea4b3},
-  {0x28c8, 0x13fea4b4},
-  {0x28c9, 0x13fea4b5},
-  {0x28ca, 0x13fea4b6},
-  {0x28cb, 0x13fea4b7},
-  {0x28cc, 0x13fea4b8},
-  {0x28cd, 0x13fea4b9},
-  {0x28ce, 0x13fea8b0},
-  {0x28cf, 0x13fea8b1},
-  {0x28d0, 0x13fea8b2},
-  {0x28d1, 0x13fea8b3},
-  {0x28d2, 0x13fea8b4},
-  {0x28d3, 0x13fea8b5},
-  {0x28d4, 0x13fea8b6},
-  {0x28d5, 0x13fea8b7},
-  {0x28d6, 0x13fea8b8},
-  {0x28d7, 0x13fea8b9},
-  {0x28d8, 0x13feacb0},
-  {0x28d9, 0x13feacb1},
-  {0x28da, 0x13feacb2},
-  {0x28db, 0x13feacb3},
-  {0x28dc, 0x13feacb4},
-  {0x28dd, 0x13feacb5},
-  {0x28de, 0x13feacb6},
-  {0x28df, 0x13feacb7},
-  {0x28e0, 0x13feacb8},
-  {0x28e1, 0x13feacb9},
-  {0x28e2, 0x13feb0b0},
-  {0x28e3, 0x13feb0b1},
-  {0x28e4, 0x13feb0b2},
-  {0x28e5, 0x13feb0b3},
-  {0x28e6, 0x13feb0b4},
-  {0x28e7, 0x13feb0b5},
-  {0x28e8, 0x13feb0b6},
-  {0x28e9, 0x13feb0b7},
-  {0x28ea, 0x13feb0b8},
-  {0x28eb, 0x13feb0b9},
-  {0x28ec, 0x13feb4b0},
-  {0x28ed, 0x13feb4b1},
-  {0x28ee, 0x13feb4b2},
-  {0x28ef, 0x13feb4b3},
-  {0x28f0, 0x13feb4b4},
-  {0x28f1, 0x13feb4b5},
-  {0x28f2, 0x13feb4b6},
-  {0x28f3, 0x13feb4b7},
-  {0x28f4, 0x13feb4b8},
-  {0x28f5, 0x13feb4b9},
-  {0x28f6, 0x13feb8b0},
-  {0x28f7, 0x13feb8b1},
-  {0x28f8, 0x13feb8b2},
-  {0x28f9, 0x13feb8b3},
-  {0x28fa, 0x13feb8b4},
-  {0x28fb, 0x13feb8b5},
-  {0x28fc, 0x13feb8b6},
-  {0x28fd, 0x13feb8b7},
-  {0x28fe, 0x13feb8b8},
-  {0x28ff, 0x13feb8b9},
-  {0x2900, 0x13febcb0},
-  {0x2901, 0x13febcb1},
-  {0x2902, 0x13febcb2},
-  {0x2903, 0x13febcb3},
-  {0x2904, 0x13febcb4},
-  {0x2905, 0x13febcb5},
-  {0x2906, 0x13febcb6},
-  {0x2907, 0x13febcb7},
-  {0x2908, 0x13febcb8},
-  {0x2909, 0x13febcb9},
-  {0x290a, 0x13ff80b0},
-  {0x290b, 0x13ff80b1},
-  {0x290c, 0x13ff80b2},
-  {0x290d, 0x13ff80b3},
-  {0x290e, 0x13ff80b4},
-  {0x290f, 0x13ff80b5},
-  {0x2910, 0x13ff80b6},
-  {0x2911, 0x13ff80b7},
-  {0x2912, 0x13ff80b8},
-  {0x2913, 0x13ff80b9},
-  {0x2914, 0x13ff84b0},
-  {0x2915, 0x13ff84b1},
-  {0x2916, 0x13ff84b2},
-  {0x2917, 0x13ff84b3},
-  {0x2918, 0x13ff84b4},
-  {0x2919, 0x13ff84b5},
-  {0x291a, 0x13ff84b6},
-  {0x291b, 0x13ff84b7},
-  {0x291c, 0x13ff84b8},
-  {0x291d, 0x13ff84b9},
-  {0x291e, 0x13ff88b0},
-  {0x291f, 0x13ff88b1},
-  {0x2920, 0x13ff88b2},
-  {0x2921, 0x13ff88b3},
-  {0x2922, 0x13ff88b4},
-  {0x2923, 0x13ff88b5},
-  {0x2924, 0x13ff88b6},
-  {0x2925, 0x13ff88b7},
-  {0x2926, 0x13ff88b8},
-  {0x2927, 0x13ff88b9},
-  {0x2928, 0x13ff8cb0},
-  {0x2929, 0x13ff8cb1},
-  {0x292a, 0x13ff8cb2},
-  {0x292b, 0x13ff8cb3},
-  {0x292c, 0x13ff8cb4},
-  {0x292d, 0x13ff8cb5},
-  {0x292e, 0x13ff8cb6},
-  {0x292f, 0x13ff8cb7},
-  {0x2930, 0x13ff8cb8},
-  {0x2931, 0x13ff8cb9},
-  {0x2932, 0x13ff90b0},
-  {0x2933, 0x13ff90b1},
-  {0x2934, 0x13ff90b2},
-  {0x2935, 0x13ff90b3},
-  {0x2936, 0x13ff90b4},
-  {0x2937, 0x13ff90b5},
-  {0x2938, 0x13ff90b6},
-  {0x2939, 0x13ff90b7},
-  {0x293a, 0x13ff90b8},
-  {0x293b, 0x13ff90b9},
-  {0x293c, 0x13ff94b0},
-  {0x293d, 0x13ff94b1},
-  {0x293e, 0x13ff94b2},
-  {0x293f, 0x13ff94b3},
-  {0x2940, 0x13ff94b4},
-  {0x2941, 0x13ff94b5},
-  {0x2942, 0x13ff94b6},
-  {0x2943, 0x13ff94b7},
-  {0x2944, 0x13ff94b8},
-  {0x2945, 0x13ff94b9},
-  {0x2946, 0x13ff98b0},
-  {0x2947, 0x13ff98b1},
-  {0x2948, 0x13ff98b2},
-  {0x2949, 0x13ff98b3},
-  {0x294a, 0x13ff98b4},
-  {0x294b, 0x13ff98b5},
-  {0x294c, 0x13ff98b6},
-  {0x294d, 0x13ff98b7},
-  {0x294e, 0x13ff98b8},
-  {0x294f, 0x13ff98b9},
-  {0x2950, 0x13ff9cb0},
-  {0x2951, 0x13ff9cb1},
-  {0x2952, 0x13ff9cb2},
-  {0x2953, 0x13ff9cb3},
-  {0x2954, 0x13ff9cb4},
-  {0x2955, 0x13ff9cb5},
-  {0x2956, 0x13ff9cb6},
-  {0x2957, 0x13ff9cb7},
-  {0x2958, 0x13ff9cb8},
-  {0x2959, 0x13ff9cb9},
-  {0x295a, 0x13ffa0b0},
-  {0x295b, 0x13ffa0b1},
-  {0x295c, 0x13ffa0b2},
-  {0x295d, 0x13ffa0b3},
-  {0x295e, 0x13ffa0b4},
-  {0x295f, 0x13ffa0b5},
-  {0x2960, 0x13ffa0b6},
-  {0x2961, 0x13ffa0b7},
-  {0x2962, 0x13ffa0b8},
-  {0x2963, 0x13ffa0b9},
-  {0x2964, 0x13ffa4b0},
-  {0x2965, 0x13ffa4b1},
-  {0x2966, 0x13ffa4b2},
-  {0x2967, 0x13ffa4b3},
-  {0x2968, 0x13ffa4b4},
-  {0x2969, 0x13ffa4b5},
-  {0x296a, 0x13ffa4b6},
-  {0x296b, 0x13ffa4b7},
-  {0x296c, 0x13ffa4b8},
-  {0x296d, 0x13ffa4b9},
-  {0x296e, 0x13ffa8b0},
-  {0x296f, 0x13ffa8b1},
-  {0x2970, 0x13ffa8b2},
-  {0x2971, 0x13ffa8b3},
-  {0x2972, 0x13ffa8b4},
-  {0x2973, 0x13ffa8b5},
-  {0x2974, 0x13ffa8b6},
-  {0x2975, 0x13ffa8b7},
-  {0x2976, 0x13ffa8b8},
-  {0x2977, 0x13ffa8b9},
-  {0x2978, 0x13ffacb0},
-  {0x2979, 0x13ffacb1},
-  {0x297a, 0x13ffacb2},
-  {0x297b, 0x13ffacb3},
-  {0x297c, 0x13ffacb4},
-  {0x297d, 0x13ffacb5},
-  {0x297e, 0x13ffacb6},
-  {0x297f, 0x13ffacb7},
-  {0x2980, 0x13ffacb8},
-  {0x2981, 0x13ffacb9},
-  {0x2982, 0x13ffb0b0},
-  {0x2983, 0x13ffb0b1},
-  {0x2984, 0x13ffb0b2},
-  {0x2985, 0x13ffb0b3},
-  {0x2986, 0x13ffb0b4},
-  {0x2987, 0x13ffb0b5},
-  {0x2988, 0x13ffb0b6},
-  {0x2989, 0x13ffb0b7},
-  {0x298a, 0x13ffb0b8},
-  {0x298b, 0x13ffb0b9},
-  {0x298c, 0x13ffb4b0},
-  {0x298d, 0x13ffb4b1},
-  {0x298e, 0x13ffb4b2},
-  {0x298f, 0x13ffb4b3},
-  {0x2990, 0x13ffb4b4},
-  {0x2991, 0x13ffb4b5},
-  {0x2992, 0x13ffb4b6},
-  {0x2993, 0x13ffb4b7},
-  {0x2994, 0x13ffb4b8},
-  {0x2995, 0x13ffb4b9},
-  {0x2996, 0x13ffb8b0},
-  {0x2997, 0x13ffb8b1},
-  {0x2998, 0x13ffb8b2},
-  {0x2999, 0x13ffb8b3},
-  {0x299a, 0x13ffb8b4},
-  {0x299b, 0x13ffb8b5},
-  {0x299c, 0x13ffb8b6},
-  {0x299d, 0x13ffb8b7},
-  {0x299e, 0x13ffb8b8},
-  {0x299f, 0x13ffb8b9},
-  {0x29a0, 0x13e884b0},
-  {0x29a1, 0x13e884b1},
-  {0x29a2, 0x13e884b2},
-  {0x29a3, 0x13e884b3},
-  {0x29a4, 0x13e884b4},
-  {0x29a5, 0x13e884b5},
-  {0x29a6, 0x13e884b6},
-  {0x29a7, 0x13e884b7},
-  {0x29a8, 0x13e884b8},
-  {0x29a9, 0x13e884b9},
-  {0x29aa, 0x13e888b0},
-  {0x29ab, 0x13e888b1},
-  {0x29ac, 0x13e888b2},
-  {0x29ad, 0x13e888b3},
-  {0x29ae, 0x13e888b4},
-  {0x29af, 0x13e888b5},
-  {0x29b0, 0x13e888b6},
-  {0x29b1, 0x13e888b7},
-  {0x29b2, 0x13e888b8},
-  {0x29b3, 0x13e888b9},
-  {0x29b4, 0x13e88cb0},
-  {0x29b5, 0x13e88cb1},
-  {0x29b6, 0x13e88cb2},
-  {0x29b7, 0x13e88cb3},
-  {0x29b8, 0x13e88cb4},
-  {0x29b9, 0x13e88cb5},
-  {0x29ba, 0x13e88cb6},
-  {0x29bb, 0x13e88cb7},
-  {0x29bc, 0x13e88cb8},
-  {0x29bd, 0x13e88cb9},
-  {0x29be, 0x13e890b0},
-  {0x29bf, 0x13e890b1},
-  {0x29c0, 0x13e890b2},
-  {0x29c1, 0x13e890b3},
-  {0x29c2, 0x13e890b4},
-  {0x29c3, 0x13e890b5},
-  {0x29c4, 0x13e890b6},
-  {0x29c5, 0x13e890b7},
-  {0x29c6, 0x13e890b8},
-  {0x29c7, 0x13e890b9},
-  {0x29c8, 0x13e894b0},
-  {0x29c9, 0x13e894b1},
-  {0x29ca, 0x13e894b2},
-  {0x29cb, 0x13e894b3},
-  {0x29cc, 0x13e894b4},
-  {0x29cd, 0x13e894b5},
-  {0x29ce, 0x13e894b6},
-  {0x29cf, 0x13e894b7},
-  {0x29d0, 0x13e894b8},
-  {0x29d1, 0x13e894b9},
-  {0x29d2, 0x13e898b0},
-  {0x29d3, 0x13e898b1},
-  {0x29d4, 0x13e898b2},
-  {0x29d5, 0x13e898b3},
-  {0x29d6, 0x13e898b4},
-  {0x29d7, 0x13e898b5},
-  {0x29d8, 0x13e898b6},
-  {0x29d9, 0x13e898b7},
-  {0x29da, 0x13e898b8},
-  {0x29db, 0x13e898b9},
-  {0x29dc, 0x13e89cb0},
-  {0x29dd, 0x13e89cb1},
-  {0x29de, 0x13e89cb2},
-  {0x29df, 0x13e89cb3},
-  {0x29e0, 0x13e89cb4},
-  {0x29e1, 0x13e89cb5},
-  {0x29e2, 0x13e89cb6},
-  {0x29e3, 0x13e89cb7},
-  {0x29e4, 0x13e89cb8},
-  {0x29e5, 0x13e89cb9},
-  {0x29e6, 0x13e8a0b0},
-  {0x29e7, 0x13e8a0b1},
-  {0x29e8, 0x13e8a0b2},
-  {0x29e9, 0x13e8a0b3},
-  {0x29ea, 0x13e8a0b4},
-  {0x29eb, 0x13e8a0b5},
-  {0x29ec, 0x13e8a0b6},
-  {0x29ed, 0x13e8a0b7},
-  {0x29ee, 0x13e8a0b8},
-  {0x29ef, 0x13e8a0b9},
-  {0x29f0, 0x13e8a4b0},
-  {0x29f1, 0x13e8a4b1},
-  {0x29f2, 0x13e8a4b2},
-  {0x29f3, 0x13e8a4b3},
-  {0x29f4, 0x13e8a4b4},
-  {0x29f5, 0x13e8a4b5},
-  {0x29f6, 0x13e8a4b6},
-  {0x29f7, 0x13e8a4b7},
-  {0x29f8, 0x13e8a4b8},
-  {0x29f9, 0x13e8a4b9},
-  {0x29fa, 0x13e8a8b0},
-  {0x29fb, 0x13e8a8b1},
-  {0x29fc, 0x13e8a8b2},
-  {0x29fd, 0x13e8a8b3},
-  {0x29fe, 0x13e8a8b4},
-  {0x29ff, 0x13e8a8b5},
-  {0x2a00, 0x13e8a8b6},
-  {0x2a01, 0x13e8a8b7},
-  {0x2a02, 0x13e8a8b8},
-  {0x2a03, 0x13e8a8b9},
-  {0x2a04, 0x13e8acb0},
-  {0x2a05, 0x13e8acb1},
-  {0x2a06, 0x13e8acb2},
-  {0x2a07, 0x13e8acb3},
-  {0x2a08, 0x13e8acb4},
-  {0x2a09, 0x13e8acb5},
-  {0x2a0a, 0x13e8acb6},
-  {0x2a0b, 0x13e8acb7},
-  {0x2a0c, 0x13e8acb8},
-  {0x2a0d, 0x13e8acb9},
-  {0x2a0e, 0x13e8b0b0},
-  {0x2a0f, 0x13e8b0b1},
-  {0x2a10, 0x13e8b0b2},
-  {0x2a11, 0x13e8b0b3},
-  {0x2a12, 0x13e8b0b4},
-  {0x2a13, 0x13e8b0b5},
-  {0x2a14, 0x13e8b0b6},
-  {0x2a15, 0x13e8b0b7},
-  {0x2a16, 0x13e8b0b8},
-  {0x2a17, 0x13e8b0b9},
-  {0x2a18, 0x13e8b4b0},
-  {0x2a19, 0x13e8b4b1},
-  {0x2a1a, 0x13e8b4b2},
-  {0x2a1b, 0x13e8b4b3},
-  {0x2a1c, 0x13e8b4b4},
-  {0x2a1d, 0x13e8b4b5},
-  {0x2a1e, 0x13e8b4b6},
-  {0x2a1f, 0x13e8b4b7},
-  {0x2a20, 0x13e8b4b8},
-  {0x2a21, 0x13e8b4b9},
-  {0x2a22, 0x13e8b8b0},
-  {0x2a23, 0x13e8b8b1},
-  {0x2a24, 0x13e8b8b2},
-  {0x2a25, 0x13e8b8b3},
-  {0x2a26, 0x13e8b8b4},
-  {0x2a27, 0x13e8b8b5},
-  {0x2a28, 0x13e8b8b6},
-  {0x2a29, 0x13e8b8b7},
-  {0x2a2a, 0x13e8b8b8},
-  {0x2a2b, 0x13e8b8b9},
-  {0x2a2c, 0x13e8bcb0},
-  {0x2a2d, 0x13e8bcb1},
-  {0x2a2e, 0x13e8bcb2},
-  {0x2a2f, 0x13e8bcb3},
-  {0x2a30, 0x13e8bcb4},
-  {0x2a31, 0x13e8bcb5},
-  {0x2a32, 0x13e8bcb6},
-  {0x2a33, 0x13e8bcb7},
-  {0x2a34, 0x13e8bcb8},
-  {0x2a35, 0x13e8bcb9},
-  {0x2a36, 0x13e980b0},
-  {0x2a37, 0x13e980b1},
-  {0x2a38, 0x13e980b2},
-  {0x2a39, 0x13e980b3},
-  {0x2a3a, 0x13e980b4},
-  {0x2a3b, 0x13e980b5},
-  {0x2a3c, 0x13e980b6},
-  {0x2a3d, 0x13e980b7},
-  {0x2a3e, 0x13e980b8},
-  {0x2a3f, 0x13e980b9},
-  {0x2a40, 0x13e984b0},
-  {0x2a41, 0x13e984b1},
-  {0x2a42, 0x13e984b2},
-  {0x2a43, 0x13e984b3},
-  {0x2a44, 0x13e984b4},
-  {0x2a45, 0x13e984b5},
-  {0x2a46, 0x13e984b6},
-  {0x2a47, 0x13e984b7},
-  {0x2a48, 0x13e984b8},
-  {0x2a49, 0x13e984b9},
-  {0x2a4a, 0x13e988b0},
-  {0x2a4b, 0x13e988b1},
-  {0x2a4c, 0x13e988b2},
-  {0x2a4d, 0x13e988b3},
-  {0x2a4e, 0x13e988b4},
-  {0x2a4f, 0x13e988b5},
-  {0x2a50, 0x13e988b6},
-  {0x2a51, 0x13e988b7},
-  {0x2a52, 0x13e988b8},
-  {0x2a53, 0x13e988b9},
-  {0x2a54, 0x13e98cb0},
-  {0x2a55, 0x13e98cb1},
-  {0x2a56, 0x13e98cb2},
-  {0x2a57, 0x13e98cb3},
-  {0x2a58, 0x13e98cb4},
-  {0x2a59, 0x13e98cb5},
-  {0x2a5a, 0x13e98cb6},
-  {0x2a5b, 0x13e98cb7},
-  {0x2a5c, 0x13e98cb8},
-  {0x2a5d, 0x13e98cb9},
-  {0x2a5e, 0x13e990b0},
-  {0x2a5f, 0x13e990b1},
-  {0x2a60, 0x13e990b2},
-  {0x2a61, 0x13e990b3},
-  {0x2a62, 0x13e990b4},
-  {0x2a63, 0x13e990b5},
-  {0x2a64, 0x13e990b6},
-  {0x2a65, 0x13e990b7},
-  {0x2a66, 0x13e990b8},
-  {0x2a67, 0x13e990b9},
-  {0x2a68, 0x13e994b0},
-  {0x2a69, 0x13e994b1},
-  {0x2a6a, 0x13e994b2},
-  {0x2a6b, 0x13e994b3},
-  {0x2a6c, 0x13e994b4},
-  {0x2a6d, 0x13e994b5},
-  {0x2a6e, 0x13e994b6},
-  {0x2a6f, 0x13e994b7},
-  {0x2a70, 0x13e994b8},
-  {0x2a71, 0x13e994b9},
-  {0x2a72, 0x13e998b0},
-  {0x2a73, 0x13e998b1},
-  {0x2a74, 0x13e998b2},
-  {0x2a75, 0x13e998b3},
-  {0x2a76, 0x13e998b4},
-  {0x2a77, 0x13e998b5},
-  {0x2a78, 0x13e998b6},
-  {0x2a79, 0x13e998b7},
-  {0x2a7a, 0x13e998b8},
-  {0x2a7b, 0x13e998b9},
-  {0x2a7c, 0x13e99cb0},
-  {0x2a7d, 0x13e99cb1},
-  {0x2a7e, 0x13e99cb2},
-  {0x2a7f, 0x13e99cb3},
-  {0x2a80, 0x13e99cb4},
-  {0x2a81, 0x13e99cb5},
-  {0x2a82, 0x13e99cb6},
-  {0x2a83, 0x13e99cb7},
-  {0x2a84, 0x13e99cb8},
-  {0x2a85, 0x13e99cb9},
-  {0x2a86, 0x13e9a0b0},
-  {0x2a87, 0x13e9a0b1},
-  {0x2a88, 0x13e9a0b2},
-  {0x2a89, 0x13e9a0b3},
-  {0x2a8a, 0x13e9a0b4},
-  {0x2a8b, 0x13e9a0b5},
-  {0x2a8c, 0x13e9a0b6},
-  {0x2a8d, 0x13e9a0b7},
-  {0x2a8e, 0x13e9a0b8},
-  {0x2a8f, 0x13e9a0b9},
-  {0x2a90, 0x13e9a4b0},
-  {0x2a91, 0x13e9a4b1},
-  {0x2a92, 0x13e9a4b2},
-  {0x2a93, 0x13e9a4b3},
-  {0x2a94, 0x13e9a4b4},
-  {0x2a95, 0x13e9a4b5},
-  {0x2a96, 0x13e9a4b6},
-  {0x2a97, 0x13e9a4b7},
-  {0x2a98, 0x13e9a4b8},
-  {0x2a99, 0x13e9a4b9},
-  {0x2a9a, 0x13e9a8b0},
-  {0x2a9b, 0x13e9a8b1},
-  {0x2a9c, 0x13e9a8b2},
-  {0x2a9d, 0x13e9a8b3},
-  {0x2a9e, 0x13e9a8b4},
-  {0x2a9f, 0x13e9a8b5},
-  {0x2aa0, 0x13e9a8b6},
-  {0x2aa1, 0x13e9a8b7},
-  {0x2aa2, 0x13e9a8b8},
-  {0x2aa3, 0x13e9a8b9},
-  {0x2aa4, 0x13e9acb0},
-  {0x2aa5, 0x13e9acb1},
-  {0x2aa6, 0x13e9acb2},
-  {0x2aa7, 0x13e9acb3},
-  {0x2aa8, 0x13e9acb4},
-  {0x2aa9, 0x13e9acb5},
-  {0x2aaa, 0x13e9acb6},
-  {0x2aab, 0x13e9acb7},
-  {0x2aac, 0x13e9acb8},
-  {0x2aad, 0x13e9acb9},
-  {0x2aae, 0x13e9b0b0},
-  {0x2aaf, 0x13e9b0b1},
-  {0x2ab0, 0x13e9b0b2},
-  {0x2ab1, 0x13e9b0b3},
-  {0x2ab2, 0x13e9b0b4},
-  {0x2ab3, 0x13e9b0b5},
-  {0x2ab4, 0x13e9b0b6},
-  {0x2ab5, 0x13e9b0b7},
-  {0x2ab6, 0x13e9b0b8},
-  {0x2ab7, 0x13e9b0b9},
-  {0x2ab8, 0x13e9b4b0},
-  {0x2ab9, 0x13e9b4b1},
-  {0x2aba, 0x13e9b4b2},
-  {0x2abb, 0x13e9b4b3},
-  {0x2abc, 0x13e9b4b4},
-  {0x2abd, 0x13e9b4b5},
-  {0x2abe, 0x13e9b4b6},
-  {0x2abf, 0x13e9b4b7},
-  {0x2ac0, 0x13e9b4b8},
-  {0x2ac1, 0x13e9b4b9},
-  {0x2ac2, 0x13e9b8b0},
-  {0x2ac3, 0x13e9b8b1},
-  {0x2ac4, 0x13e9b8b2},
-  {0x2ac5, 0x13e9b8b3},
-  {0x2ac6, 0x13e9b8b4},
-  {0x2ac7, 0x13e9b8b5},
-  {0x2ac8, 0x13e9b8b6},
-  {0x2ac9, 0x13e9b8b7},
-  {0x2aca, 0x13e9b8b8},
-  {0x2acb, 0x13e9b8b9},
-  {0x2acc, 0x13e9bcb0},
-  {0x2acd, 0x13e9bcb1},
-  {0x2ace, 0x13e9bcb2},
-  {0x2acf, 0x13e9bcb3},
-  {0x2ad0, 0x13e9bcb4},
-  {0x2ad1, 0x13e9bcb5},
-  {0x2ad2, 0x13e9bcb6},
-  {0x2ad3, 0x13e9bcb7},
-  {0x2ad4, 0x13e9bcb8},
-  {0x2ad5, 0x13e9bcb9},
-  {0x2ad6, 0x13ea80b0},
-  {0x2ad7, 0x13ea80b1},
-  {0x2ad8, 0x13ea80b2},
-  {0x2ad9, 0x13ea80b3},
-  {0x2ada, 0x13ea80b4},
-  {0x2adb, 0x13ea80b5},
-  {0x2adc, 0x13ea80b6},
-  {0x2add, 0x13ea80b7},
-  {0x2ade, 0x13ea80b8},
-  {0x2adf, 0x13ea80b9},
-  {0x2ae0, 0x13ea84b0},
-  {0x2ae1, 0x13ea84b1},
-  {0x2ae2, 0x13ea84b2},
-  {0x2ae3, 0x13ea84b3},
-  {0x2ae4, 0x13ea84b4},
-  {0x2ae5, 0x13ea84b5},
-  {0x2ae6, 0x13ea84b6},
-  {0x2ae7, 0x13ea84b7},
-  {0x2ae8, 0x13ea84b8},
-  {0x2ae9, 0x13ea84b9},
-  {0x2aea, 0x13ea88b0},
-  {0x2aeb, 0x13ea88b1},
-  {0x2aec, 0x13ea88b2},
-  {0x2aed, 0x13ea88b3},
-  {0x2aee, 0x13ea88b4},
-  {0x2aef, 0x13ea88b5},
-  {0x2af0, 0x13ea88b6},
-  {0x2af1, 0x13ea88b7},
-  {0x2af2, 0x13ea88b8},
-  {0x2af3, 0x13ea88b9},
-  {0x2af4, 0x13ea8cb0},
-  {0x2af5, 0x13ea8cb1},
-  {0x2af6, 0x13ea8cb2},
-  {0x2af7, 0x13ea8cb3},
-  {0x2af8, 0x13ea8cb4},
-  {0x2af9, 0x13ea8cb5},
-  {0x2afa, 0x13ea8cb6},
-  {0x2afb, 0x13ea8cb7},
-  {0x2afc, 0x13ea8cb8},
-  {0x2afd, 0x13ea8cb9},
-  {0x2afe, 0x13ea90b0},
-  {0x2aff, 0x13ea90b1},
-  {0x2b00, 0x13ea90b2},
-  {0x2b01, 0x13ea90b3},
-  {0x2b02, 0x13ea90b4},
-  {0x2b03, 0x13ea90b5},
-  {0x2b04, 0x13ea90b6},
-  {0x2b05, 0x13ea90b7},
-  {0x2b06, 0x13ea90b8},
-  {0x2b07, 0x13ea90b9},
-  {0x2b08, 0x13ea94b0},
-  {0x2b09, 0x13ea94b1},
-  {0x2b0a, 0x13ea94b2},
-  {0x2b0b, 0x13ea94b3},
-  {0x2b0c, 0x13ea94b4},
-  {0x2b0d, 0x13ea94b5},
-  {0x2b0e, 0x13ea94b6},
-  {0x2b0f, 0x13ea94b7},
-  {0x2b10, 0x13ea94b8},
-  {0x2b11, 0x13ea94b9},
-  {0x2b12, 0x13ea98b0},
-  {0x2b13, 0x13ea98b1},
-  {0x2b14, 0x13ea98b2},
-  {0x2b15, 0x13ea98b3},
-  {0x2b16, 0x13ea98b4},
-  {0x2b17, 0x13ea98b5},
-  {0x2b18, 0x13ea98b6},
-  {0x2b19, 0x13ea98b7},
-  {0x2b1a, 0x13ea98b8},
-  {0x2b1b, 0x13ea98b9},
-  {0x2b1c, 0x13ea9cb0},
-  {0x2b1d, 0x13ea9cb1},
-  {0x2b1e, 0x13ea9cb2},
-  {0x2b1f, 0x13ea9cb3},
-  {0x2b20, 0x13ea9cb4},
-  {0x2b21, 0x13ea9cb5},
-  {0x2b22, 0x13ea9cb6},
-  {0x2b23, 0x13ea9cb7},
-  {0x2b24, 0x13ea9cb8},
-  {0x2b25, 0x13ea9cb9},
-  {0x2b26, 0x13eaa0b0},
-  {0x2b27, 0x13eaa0b1},
-  {0x2b28, 0x13eaa0b2},
-  {0x2b29, 0x13eaa0b3},
-  {0x2b2a, 0x13eaa0b4},
-  {0x2b2b, 0x13eaa0b5},
-  {0x2b2c, 0x13eaa0b6},
-  {0x2b2d, 0x13eaa0b7},
-  {0x2b2e, 0x13eaa0b8},
-  {0x2b2f, 0x13eaa0b9},
-  {0x2b30, 0x13eaa4b0},
-  {0x2b31, 0x13eaa4b1},
-  {0x2b32, 0x13eaa4b2},
-  {0x2b33, 0x13eaa4b3},
-  {0x2b34, 0x13eaa4b4},
-  {0x2b35, 0x13eaa4b5},
-  {0x2b36, 0x13eaa4b6},
-  {0x2b37, 0x13eaa4b7},
-  {0x2b38, 0x13eaa4b8},
-  {0x2b39, 0x13eaa4b9},
-  {0x2b3a, 0x13eaa8b0},
-  {0x2b3b, 0x13eaa8b1},
-  {0x2b3c, 0x13eaa8b2},
-  {0x2b3d, 0x13eaa8b3},
-  {0x2b3e, 0x13eaa8b4},
-  {0x2b3f, 0x13eaa8b5},
-  {0x2b40, 0x13eaa8b6},
-  {0x2b41, 0x13eaa8b7},
-  {0x2b42, 0x13eaa8b8},
-  {0x2b43, 0x13eaa8b9},
-  {0x2b44, 0x13eaacb0},
-  {0x2b45, 0x13eaacb1},
-  {0x2b46, 0x13eaacb2},
-  {0x2b47, 0x13eaacb3},
-  {0x2b48, 0x13eaacb4},
-  {0x2b49, 0x13eaacb5},
-  {0x2b4a, 0x13eaacb6},
-  {0x2b4b, 0x13eaacb7},
-  {0x2b4c, 0x13eaacb8},
-  {0x2b4d, 0x13eaacb9},
-  {0x2b4e, 0x13eab0b0},
-  {0x2b4f, 0x13eab0b1},
-  {0x2b50, 0x13eab0b2},
-  {0x2b51, 0x13eab0b3},
-  {0x2b52, 0x13eab0b4},
-  {0x2b53, 0x13eab0b5},
-  {0x2b54, 0x13eab0b6},
-  {0x2b55, 0x13eab0b7},
-  {0x2b56, 0x13eab0b8},
-  {0x2b57, 0x13eab0b9},
-  {0x2b58, 0x13eab4b0},
-  {0x2b59, 0x13eab4b1},
-  {0x2b5a, 0x13eab4b2},
-  {0x2b5b, 0x13eab4b3},
-  {0x2b5c, 0x13eab4b4},
-  {0x2b5d, 0x13eab4b5},
-  {0x2b5e, 0x13eab4b6},
-  {0x2b5f, 0x13eab4b7},
-  {0x2b60, 0x13eab4b8},
-  {0x2b61, 0x13eab4b9},
-  {0x2b62, 0x13eab8b0},
-  {0x2b63, 0x13eab8b1},
-  {0x2b64, 0x13eab8b2},
-  {0x2b65, 0x13eab8b3},
-  {0x2b66, 0x13eab8b4},
-  {0x2b67, 0x13eab8b5},
-  {0x2b68, 0x13eab8b6},
-  {0x2b69, 0x13eab8b7},
-  {0x2b6a, 0x13eab8b8},
-  {0x2b6b, 0x13eab8b9},
-  {0x2b6c, 0x13eabcb0},
-  {0x2b6d, 0x13eabcb1},
-  {0x2b6e, 0x13eabcb2},
-  {0x2b6f, 0x13eabcb3},
-  {0x2b70, 0x13eabcb4},
-  {0x2b71, 0x13eabcb5},
-  {0x2b72, 0x13eabcb6},
-  {0x2b73, 0x13eabcb7},
-  {0x2b74, 0x13eabcb8},
-  {0x2b75, 0x13eabcb9},
-  {0x2b76, 0x13eb80b0},
-  {0x2b77, 0x13eb80b1},
-  {0x2b78, 0x13eb80b2},
-  {0x2b79, 0x13eb80b3},
-  {0x2b7a, 0x13eb80b4},
-  {0x2b7b, 0x13eb80b5},
-  {0x2b7c, 0x13eb80b6},
-  {0x2b7d, 0x13eb80b7},
-  {0x2b7e, 0x13eb80b8},
-  {0x2b7f, 0x13eb80b9},
-  {0x2b80, 0x13eb84b0},
-  {0x2b81, 0x13eb84b1},
-  {0x2b82, 0x13eb84b2},
-  {0x2b83, 0x13eb84b3},
-  {0x2b84, 0x13eb84b4},
-  {0x2b85, 0x13eb84b5},
-  {0x2b86, 0x13eb84b6},
-  {0x2b87, 0x13eb84b7},
-  {0x2b88, 0x13eb84b8},
-  {0x2b89, 0x13eb84b9},
-  {0x2b8a, 0x13eb88b0},
-  {0x2b8b, 0x13eb88b1},
-  {0x2b8c, 0x13eb88b2},
-  {0x2b8d, 0x13eb88b3},
-  {0x2b8e, 0x13eb88b4},
-  {0x2b8f, 0x13eb88b5},
-  {0x2b90, 0x13eb88b6},
-  {0x2b91, 0x13eb88b7},
-  {0x2b92, 0x13eb88b8},
-  {0x2b93, 0x13eb88b9},
-  {0x2b94, 0x13eb8cb0},
-  {0x2b95, 0x13eb8cb1},
-  {0x2b96, 0x13eb8cb2},
-  {0x2b97, 0x13eb8cb3},
-  {0x2b98, 0x13eb8cb4},
-  {0x2b99, 0x13eb8cb5},
-  {0x2b9a, 0x13eb8cb6},
-  {0x2b9b, 0x13eb8cb7},
-  {0x2b9c, 0x13eb8cb8},
-  {0x2b9d, 0x13eb8cb9},
-  {0x2b9e, 0x13eb90b0},
-  {0x2b9f, 0x13eb90b1},
-  {0x2ba0, 0x13eb90b2},
-  {0x2ba1, 0x13eb90b3},
-  {0x2ba2, 0x13eb90b4},
-  {0x2ba3, 0x13eb90b5},
-  {0x2ba4, 0x13eb90b6},
-  {0x2ba5, 0x13eb90b7},
-  {0x2ba6, 0x13eb90b8},
-  {0x2ba7, 0x13eb90b9},
-  {0x2ba8, 0x13eb94b0},
-  {0x2ba9, 0x13eb94b1},
-  {0x2baa, 0x13eb94b2},
-  {0x2bab, 0x13eb94b3},
-  {0x2bac, 0x13eb94b4},
-  {0x2bad, 0x13eb94b5},
-  {0x2bae, 0x13eb94b6},
-  {0x2baf, 0x13eb94b7},
-  {0x2bb0, 0x13eb94b8},
-  {0x2bb1, 0x13eb94b9},
-  {0x2bb2, 0x13eb98b0},
-  {0x2bb3, 0x13eb98b1},
-  {0x2bb4, 0x13eb98b2},
-  {0x2bb5, 0x13eb98b3},
-  {0x2bb6, 0x13eb98b4},
-  {0x2bb7, 0x13eb98b5},
-  {0x2bb8, 0x13eb98b6},
-  {0x2bb9, 0x13eb98b7},
-  {0x2bba, 0x13eb98b8},
-  {0x2bbb, 0x13eb98b9},
-  {0x2bbc, 0x13eb9cb0},
-  {0x2bbd, 0x13eb9cb1},
-  {0x2bbe, 0x13eb9cb2},
-  {0x2bbf, 0x13eb9cb3},
-  {0x2bc0, 0x13eb9cb4},
-  {0x2bc1, 0x13eb9cb5},
-  {0x2bc2, 0x13eb9cb6},
-  {0x2bc3, 0x13eb9cb7},
-  {0x2bc4, 0x13eb9cb8},
-  {0x2bc5, 0x13eb9cb9},
-  {0x2bc6, 0x13eba0b0},
-  {0x2bc7, 0x13eba0b1},
-  {0x2bc8, 0x13eba0b2},
-  {0x2bc9, 0x13eba0b3},
-  {0x2bca, 0x13eba0b4},
-  {0x2bcb, 0x13eba0b5},
-  {0x2bcc, 0x13eba0b6},
-  {0x2bcd, 0x13eba0b7},
-  {0x2bce, 0x13eba0b8},
-  {0x2bcf, 0x13eba0b9},
-  {0x2bd0, 0x13eba4b0},
-  {0x2bd1, 0x13eba4b1},
-  {0x2bd2, 0x13eba4b2},
-  {0x2bd3, 0x13eba4b3},
-  {0x2bd4, 0x13eba4b4},
-  {0x2bd5, 0x13eba4b5},
-  {0x2bd6, 0x13eba4b6},
-  {0x2bd7, 0x13eba4b7},
-  {0x2bd8, 0x13eba4b8},
-  {0x2bd9, 0x13eba4b9},
-  {0x2bda, 0x13eba8b0},
-  {0x2bdb, 0x13eba8b1},
-  {0x2bdc, 0x13eba8b2},
-  {0x2bdd, 0x13eba8b3},
-  {0x2bde, 0x13eba8b4},
-  {0x2bdf, 0x13eba8b5},
-  {0x2be0, 0x13eba8b6},
-  {0x2be1, 0x13eba8b7},
-  {0x2be2, 0x13eba8b8},
-  {0x2be3, 0x13eba8b9},
-  {0x2be4, 0x13ebacb0},
-  {0x2be5, 0x13ebacb1},
-  {0x2be6, 0x13ebacb2},
-  {0x2be7, 0x13ebacb3},
-  {0x2be8, 0x13ebacb4},
-  {0x2be9, 0x13ebacb5},
-  {0x2bea, 0x13ebacb6},
-  {0x2beb, 0x13ebacb7},
-  {0x2bec, 0x13ebacb8},
-  {0x2bed, 0x13ebacb9},
-  {0x2bee, 0x13ebb0b0},
-  {0x2bef, 0x13ebb0b1},
-  {0x2bf0, 0x13ebb0b2},
-  {0x2bf1, 0x13ebb0b3},
-  {0x2bf2, 0x13ebb0b4},
-  {0x2bf3, 0x13ebb0b5},
-  {0x2bf4, 0x13ebb0b6},
-  {0x2bf5, 0x13ebb0b7},
-  {0x2bf6, 0x13ebb0b8},
-  {0x2bf7, 0x13ebb0b9},
-  {0x2bf8, 0x13ebb4b0},
-  {0x2bf9, 0x13ebb4b1},
-  {0x2bfa, 0x13ebb4b2},
-  {0x2bfb, 0x13ebb4b3},
-  {0x2bfc, 0x13ebb4b4},
-  {0x2bfd, 0x13ebb4b5},
-  {0x2bfe, 0x13ebb4b6},
-  {0x2bff, 0x13ebb4b7},
-  {0x2c00, 0x13ebb4b8},
-  {0x2c01, 0x13ebb4b9},
-  {0x2c02, 0x13ebb8b0},
-  {0x2c03, 0x13ebb8b1},
-  {0x2c04, 0x13ebb8b2},
-  {0x2c05, 0x13ebb8b3},
-  {0x2c06, 0x13ebb8b4},
-  {0x2c07, 0x13ebb8b5},
-  {0x2c08, 0x13ebb8b6},
-  {0x2c09, 0x13ebb8b7},
-  {0x2c0a, 0x13ebb8b8},
-  {0x2c0b, 0x13ebb8b9},
-  {0x2c0c, 0x13ebbcb0},
-  {0x2c0d, 0x13ebbcb1},
-  {0x2c0e, 0x13ebbcb2},
-  {0x2c0f, 0x13ebbcb3},
-  {0x2c10, 0x13ebbcb4},
-  {0x2c11, 0x13ebbcb5},
-  {0x2c12, 0x13ebbcb6},
-  {0x2c13, 0x13ebbcb7},
-  {0x2c14, 0x13ebbcb8},
-  {0x2c15, 0x13ebbcb9},
-  {0x2c16, 0x13ec80b0},
-  {0x2c17, 0x13ec80b1},
-  {0x2c18, 0x13ec80b2},
-  {0x2c19, 0x13ec80b3},
-  {0x2c1a, 0x13ec80b4},
-  {0x2c1b, 0x13ec80b5},
-  {0x2c1c, 0x13ec80b6},
-  {0x2c1d, 0x13ec80b7},
-  {0x2c1e, 0x13ec80b8},
-  {0x2c1f, 0x13ec80b9},
-  {0x2c20, 0x13ec84b0},
-  {0x2c21, 0x13ec84b1},
-  {0x2c22, 0x13ec84b2},
-  {0x2c23, 0x13ec84b3},
-  {0x2c24, 0x13ec84b4},
-  {0x2c25, 0x13ec84b5},
-  {0x2c26, 0x13ec84b6},
-  {0x2c27, 0x13ec84b7},
-  {0x2c28, 0x13ec84b8},
-  {0x2c29, 0x13ec84b9},
-  {0x2c2a, 0x13ec88b0},
-  {0x2c2b, 0x13ec88b1},
-  {0x2c2c, 0x13ec88b2},
-  {0x2c2d, 0x13ec88b3},
-  {0x2c2e, 0x13ec88b4},
-  {0x2c2f, 0x13ec88b5},
-  {0x2c30, 0x13ec88b6},
-  {0x2c31, 0x13ec88b7},
-  {0x2c32, 0x13ec88b8},
-  {0x2c33, 0x13ec88b9},
-  {0x2c34, 0x13ec8cb0},
-  {0x2c35, 0x13ec8cb1},
-  {0x2c36, 0x13ec8cb2},
-  {0x2c37, 0x13ec8cb3},
-  {0x2c38, 0x13ec8cb4},
-  {0x2c39, 0x13ec8cb5},
-  {0x2c3a, 0x13ec8cb6},
-  {0x2c3b, 0x13ec8cb7},
-  {0x2c3c, 0x13ec8cb8},
-  {0x2c3d, 0x13ec8cb9},
-  {0x2c3e, 0x13ec90b0},
-  {0x2c3f, 0x13ec90b1},
-  {0x2c40, 0x13ec90b2},
-  {0x2c41, 0x13ec90b3},
-  {0x2c42, 0x13ec90b4},
-  {0x2c43, 0x13ec90b5},
-  {0x2c44, 0x13ec90b6},
-  {0x2c45, 0x13ec90b7},
-  {0x2c46, 0x13ec90b8},
-  {0x2c47, 0x13ec90b9},
-  {0x2c48, 0x13ec94b0},
-  {0x2c49, 0x13ec94b1},
-  {0x2c4a, 0x13ec94b2},
-  {0x2c4b, 0x13ec94b3},
-  {0x2c4c, 0x13ec94b4},
-  {0x2c4d, 0x13ec94b5},
-  {0x2c4e, 0x13ec94b6},
-  {0x2c4f, 0x13ec94b7},
-  {0x2c50, 0x13ec94b8},
-  {0x2c51, 0x13ec94b9},
-  {0x2c52, 0x13ec98b0},
-  {0x2c53, 0x13ec98b1},
-  {0x2c54, 0x13ec98b2},
-  {0x2c55, 0x13ec98b3},
-  {0x2c56, 0x13ec98b4},
-  {0x2c57, 0x13ec98b5},
-  {0x2c58, 0x13ec98b6},
-  {0x2c59, 0x13ec98b7},
-  {0x2c5a, 0x13ec98b8},
-  {0x2c5b, 0x13ec98b9},
-  {0x2c5c, 0x13ec9cb0},
-  {0x2c5d, 0x13ec9cb1},
-  {0x2c5e, 0x13ec9cb2},
-  {0x2c5f, 0x13ec9cb3},
-  {0x2c60, 0x13ec9cb4},
-  {0x2c61, 0x13ec9cb5},
-  {0x2c62, 0x13ec9cb6},
-  {0x2c63, 0x13ec9cb7},
-  {0x2c64, 0x13ec9cb8},
-  {0x2c65, 0x13ec9cb9},
-  {0x2c66, 0x13eca0b0},
-  {0x2c67, 0x13eca0b1},
-  {0x2c68, 0x13eca0b2},
-  {0x2c69, 0x13eca0b3},
-  {0x2c6a, 0x13eca0b4},
-  {0x2c6b, 0x13eca0b5},
-  {0x2c6c, 0x13eca0b6},
-  {0x2c6d, 0x13eca0b7},
-  {0x2c6e, 0x13eca0b8},
-  {0x2c6f, 0x13eca0b9},
-  {0x2c70, 0x13eca4b0},
-  {0x2c71, 0x13eca4b1},
-  {0x2c72, 0x13eca4b2},
-  {0x2c73, 0x13eca4b3},
-  {0x2c74, 0x13eca4b4},
-  {0x2c75, 0x13eca4b5},
-  {0x2c76, 0x13eca4b6},
-  {0x2c77, 0x13eca4b7},
-  {0x2c78, 0x13eca4b8},
-  {0x2c79, 0x13eca4b9},
-  {0x2c7a, 0x13eca8b0},
-  {0x2c7b, 0x13eca8b1},
-  {0x2c7c, 0x13eca8b2},
-  {0x2c7d, 0x13eca8b3},
-  {0x2c7e, 0x13eca8b4},
-  {0x2c7f, 0x13eca8b5},
-  {0x2c80, 0x13eca8b6},
-  {0x2c81, 0x13eca8b7},
-  {0x2c82, 0x13eca8b8},
-  {0x2c83, 0x13eca8b9},
-  {0x2c84, 0x13ecacb0},
-  {0x2c85, 0x13ecacb1},
-  {0x2c86, 0x13ecacb2},
-  {0x2c87, 0x13ecacb3},
-  {0x2c88, 0x13ecacb4},
-  {0x2c89, 0x13ecacb5},
-  {0x2c8a, 0x13ecacb6},
-  {0x2c8b, 0x13ecacb7},
-  {0x2c8c, 0x13ecacb8},
-  {0x2c8d, 0x13ecacb9},
-  {0x2c8e, 0x13ecb0b0},
-  {0x2c8f, 0x13ecb0b1},
-  {0x2c90, 0x13ecb0b2},
-  {0x2c91, 0x13ecb0b3},
-  {0x2c92, 0x13ecb0b4},
-  {0x2c93, 0x13ecb0b5},
-  {0x2c94, 0x13ecb0b6},
-  {0x2c95, 0x13ecb0b7},
-  {0x2c96, 0x13ecb0b8},
-  {0x2c97, 0x13ecb0b9},
-  {0x2c98, 0x13ecb4b0},
-  {0x2c99, 0x13ecb4b1},
-  {0x2c9a, 0x13ecb4b2},
-  {0x2c9b, 0x13ecb4b3},
-  {0x2c9c, 0x13ecb4b4},
-  {0x2c9d, 0x13ecb4b5},
-  {0x2c9e, 0x13ecb4b6},
-  {0x2c9f, 0x13ecb4b7},
-  {0x2ca0, 0x13ecb4b8},
-  {0x2ca1, 0x13ecb4b9},
-  {0x2ca2, 0x13ecb8b0},
-  {0x2ca3, 0x13ecb8b1},
-  {0x2ca4, 0x13ecb8b2},
-  {0x2ca5, 0x13ecb8b3},
-  {0x2ca6, 0x13ecb8b4},
-  {0x2ca7, 0x13ecb8b5},
-  {0x2ca8, 0x13ecb8b6},
-  {0x2ca9, 0x13ecb8b7},
-  {0x2caa, 0x13ecb8b8},
-  {0x2cab, 0x13ecb8b9},
-  {0x2cac, 0x13ecbcb0},
-  {0x2cad, 0x13ecbcb1},
-  {0x2cae, 0x13ecbcb2},
-  {0x2caf, 0x13ecbcb3},
-  {0x2cb0, 0x13ecbcb4},
-  {0x2cb1, 0x13ecbcb5},
-  {0x2cb2, 0x13ecbcb6},
-  {0x2cb3, 0x13ecbcb7},
-  {0x2cb4, 0x13ecbcb8},
-  {0x2cb5, 0x13ecbcb9},
-  {0x2cb6, 0x13ed80b0},
-  {0x2cb7, 0x13ed80b1},
-  {0x2cb8, 0x13ed80b2},
-  {0x2cb9, 0x13ed80b3},
-  {0x2cba, 0x13ed80b4},
-  {0x2cbb, 0x13ed80b5},
-  {0x2cbc, 0x13ed80b6},
-  {0x2cbd, 0x13ed80b7},
-  {0x2cbe, 0x13ed80b8},
-  {0x2cbf, 0x13ed80b9},
-  {0x2cc0, 0x13ed84b0},
-  {0x2cc1, 0x13ed84b1},
-  {0x2cc2, 0x13ed84b2},
-  {0x2cc3, 0x13ed84b3},
-  {0x2cc4, 0x13ed84b4},
-  {0x2cc5, 0x13ed84b5},
-  {0x2cc6, 0x13ed84b6},
-  {0x2cc7, 0x13ed84b7},
-  {0x2cc8, 0x13ed84b8},
-  {0x2cc9, 0x13ed84b9},
-  {0x2cca, 0x13ed88b0},
-  {0x2ccb, 0x13ed88b1},
-  {0x2ccc, 0x13ed88b2},
-  {0x2ccd, 0x13ed88b3},
-  {0x2cce, 0x13ed88b4},
-  {0x2ccf, 0x13ed88b5},
-  {0x2cd0, 0x13ed88b6},
-  {0x2cd1, 0x13ed88b7},
-  {0x2cd2, 0x13ed88b8},
-  {0x2cd3, 0x13ed88b9},
-  {0x2cd4, 0x13ed8cb0},
-  {0x2cd5, 0x13ed8cb1},
-  {0x2cd6, 0x13ed8cb2},
-  {0x2cd7, 0x13ed8cb3},
-  {0x2cd8, 0x13ed8cb4},
-  {0x2cd9, 0x13ed8cb5},
-  {0x2cda, 0x13ed8cb6},
-  {0x2cdb, 0x13ed8cb7},
-  {0x2cdc, 0x13ed8cb8},
-  {0x2cdd, 0x13ed8cb9},
-  {0x2cde, 0x13ed90b0},
-  {0x2cdf, 0x13ed90b1},
-  {0x2ce0, 0x13ed90b2},
-  {0x2ce1, 0x13ed90b3},
-  {0x2ce2, 0x13ed90b4},
-  {0x2ce3, 0x13ed90b5},
-  {0x2ce4, 0x13ed90b6},
-  {0x2ce5, 0x13ed90b7},
-  {0x2ce6, 0x13ed90b8},
-  {0x2ce7, 0x13ed90b9},
-  {0x2ce8, 0x13ed94b0},
-  {0x2ce9, 0x13ed94b1},
-  {0x2cea, 0x13ed94b2},
-  {0x2ceb, 0x13ed94b3},
-  {0x2cec, 0x13ed94b4},
-  {0x2ced, 0x13ed94b5},
-  {0x2cee, 0x13ed94b6},
-  {0x2cef, 0x13ed94b7},
-  {0x2cf0, 0x13ed94b8},
-  {0x2cf1, 0x13ed94b9},
-  {0x2cf2, 0x13ed98b0},
-  {0x2cf3, 0x13ed98b1},
-  {0x2cf4, 0x13ed98b2},
-  {0x2cf5, 0x13ed98b3},
-  {0x2cf6, 0x13ed98b4},
-  {0x2cf7, 0x13ed98b5},
-  {0x2cf8, 0x13ed98b6},
-  {0x2cf9, 0x13ed98b7},
-  {0x2cfa, 0x13ed98b8},
-  {0x2cfb, 0x13ed98b9},
-  {0x2cfc, 0x13ed9cb0},
-  {0x2cfd, 0x13ed9cb1},
-  {0x2cfe, 0x13ed9cb2},
-  {0x2cff, 0x13ed9cb3},
-  {0x2d00, 0x13ed9cb4},
-  {0x2d01, 0x13ed9cb5},
-  {0x2d02, 0x13ed9cb6},
-  {0x2d03, 0x13ed9cb7},
-  {0x2d04, 0x13ed9cb8},
-  {0x2d05, 0x13ed9cb9},
-  {0x2d06, 0x13eda0b0},
-  {0x2d07, 0x13eda0b1},
-  {0x2d08, 0x13eda0b2},
-  {0x2d09, 0x13eda0b3},
-  {0x2d0a, 0x13eda0b4},
-  {0x2d0b, 0x13eda0b5},
-  {0x2d0c, 0x13eda0b6},
-  {0x2d0d, 0x13eda0b7},
-  {0x2d0e, 0x13eda0b8},
-  {0x2d0f, 0x13eda0b9},
-  {0x2d10, 0x13eda4b0},
-  {0x2d11, 0x13eda4b1},
-  {0x2d12, 0x13eda4b2},
-  {0x2d13, 0x13eda4b3},
-  {0x2d14, 0x13eda4b4},
-  {0x2d15, 0x13eda4b5},
-  {0x2d16, 0x13eda4b6},
-  {0x2d17, 0x13eda4b7},
-  {0x2d18, 0x13eda4b8},
-  {0x2d19, 0x13eda4b9},
-  {0x2d1a, 0x13eda8b0},
-  {0x2d1b, 0x13eda8b1},
-  {0x2d1c, 0x13eda8b2},
-  {0x2d1d, 0x13eda8b3},
-  {0x2d1e, 0x13eda8b4},
-  {0x2d1f, 0x13eda8b5},
-  {0x2d20, 0x13eda8b6},
-  {0x2d21, 0x13eda8b7},
-  {0x2d22, 0x13eda8b8},
-  {0x2d23, 0x13eda8b9},
-  {0x2d24, 0x13edacb0},
-  {0x2d25, 0x13edacb1},
-  {0x2d26, 0x13edacb2},
-  {0x2d27, 0x13edacb3},
-  {0x2d28, 0x13edacb4},
-  {0x2d29, 0x13edacb5},
-  {0x2d2a, 0x13edacb6},
-  {0x2d2b, 0x13edacb7},
-  {0x2d2c, 0x13edacb8},
-  {0x2d2d, 0x13edacb9},
-  {0x2d2e, 0x13edb0b0},
-  {0x2d2f, 0x13edb0b1},
-  {0x2d30, 0x13edb0b2},
-  {0x2d31, 0x13edb0b3},
-  {0x2d32, 0x13edb0b4},
-  {0x2d33, 0x13edb0b5},
-  {0x2d34, 0x13edb0b6},
-  {0x2d35, 0x13edb0b7},
-  {0x2d36, 0x13edb0b8},
-  {0x2d37, 0x13edb0b9},
-  {0x2d38, 0x13edb4b0},
-  {0x2d39, 0x13edb4b1},
-  {0x2d3a, 0x13edb4b2},
-  {0x2d3b, 0x13edb4b3},
-  {0x2d3c, 0x13edb4b4},
-  {0x2d3d, 0x13edb4b5},
-  {0x2d3e, 0x13edb4b6},
-  {0x2d3f, 0x13edb4b7},
-  {0x2d40, 0x13edb4b8},
-  {0x2d41, 0x13edb4b9},
-  {0x2d42, 0x13edb8b0},
-  {0x2d43, 0x13edb8b1},
-  {0x2d44, 0x13edb8b2},
-  {0x2d45, 0x13edb8b3},
-  {0x2d46, 0x13edb8b4},
-  {0x2d47, 0x13edb8b5},
-  {0x2d48, 0x13edb8b6},
-  {0x2d49, 0x13edb8b7},
-  {0x2d4a, 0x13edb8b8},
-  {0x2d4b, 0x13edb8b9},
-  {0x2d4c, 0x13edbcb0},
-  {0x2d4d, 0x13edbcb1},
-  {0x2d4e, 0x13edbcb2},
-  {0x2d4f, 0x13edbcb3},
-  {0x2d50, 0x13edbcb4},
-  {0x2d51, 0x13edbcb5},
-  {0x2d52, 0x13edbcb6},
-  {0x2d53, 0x13edbcb7},
-  {0x2d54, 0x13edbcb8},
-  {0x2d55, 0x13edbcb9},
-  {0x2d56, 0x13ee80b0},
-  {0x2d57, 0x13ee80b1},
-  {0x2d58, 0x13ee80b2},
-  {0x2d59, 0x13ee80b3},
-  {0x2d5a, 0x13ee80b4},
-  {0x2d5b, 0x13ee80b5},
-  {0x2d5c, 0x13ee80b6},
-  {0x2d5d, 0x13ee80b7},
-  {0x2d5e, 0x13ee80b8},
-  {0x2d5f, 0x13ee80b9},
-  {0x2d60, 0x13ee84b0},
-  {0x2d61, 0x13ee84b1},
-  {0x2d62, 0x13ee84b2},
-  {0x2d63, 0x13ee84b3},
-  {0x2d64, 0x13ee84b4},
-  {0x2d65, 0x13ee84b5},
-  {0x2d66, 0x13ee84b6},
-  {0x2d67, 0x13ee84b7},
-  {0x2d68, 0x13ee84b8},
-  {0x2d69, 0x13ee84b9},
-  {0x2d6a, 0x13ee88b0},
-  {0x2d6b, 0x13ee88b1},
-  {0x2d6c, 0x13ee88b2},
-  {0x2d6d, 0x13ee88b3},
-  {0x2d6e, 0x13ee88b4},
-  {0x2d6f, 0x13ee88b5},
-  {0x2d70, 0x13ee88b6},
-  {0x2d71, 0x13ee88b7},
-  {0x2d72, 0x13ee88b8},
-  {0x2d73, 0x13ee88b9},
-  {0x2d74, 0x13ee8cb0},
-  {0x2d75, 0x13ee8cb1},
-  {0x2d76, 0x13ee8cb2},
-  {0x2d77, 0x13ee8cb3},
-  {0x2d78, 0x13ee8cb4},
-  {0x2d79, 0x13ee8cb5},
-  {0x2d7a, 0x13ee8cb6},
-  {0x2d7b, 0x13ee8cb7},
-  {0x2d7c, 0x13ee8cb8},
-  {0x2d7d, 0x13ee8cb9},
-  {0x2d7e, 0x13ee90b0},
-  {0x2d7f, 0x13ee90b1},
-  {0x2d80, 0x13ee90b2},
-  {0x2d81, 0x13ee90b3},
-  {0x2d82, 0x13ee90b4},
-  {0x2d83, 0x13ee90b5},
-  {0x2d84, 0x13ee90b6},
-  {0x2d85, 0x13ee90b7},
-  {0x2d86, 0x13ee90b8},
-  {0x2d87, 0x13ee90b9},
-  {0x2d88, 0x13ee94b0},
-  {0x2d89, 0x13ee94b1},
-  {0x2d8a, 0x13ee94b2},
-  {0x2d8b, 0x13ee94b3},
-  {0x2d8c, 0x13ee94b4},
-  {0x2d8d, 0x13ee94b5},
-  {0x2d8e, 0x13ee94b6},
-  {0x2d8f, 0x13ee94b7},
-  {0x2d90, 0x13ee94b8},
-  {0x2d91, 0x13ee94b9},
-  {0x2d92, 0x13ee98b0},
-  {0x2d93, 0x13ee98b1},
-  {0x2d94, 0x13ee98b2},
-  {0x2d95, 0x13ee98b3},
-  {0x2d96, 0x13ee98b4},
-  {0x2d97, 0x13ee98b5},
-  {0x2d98, 0x13ee98b6},
-  {0x2d99, 0x13ee98b7},
-  {0x2d9a, 0x13ee98b8},
-  {0x2d9b, 0x13ee98b9},
-  {0x2d9c, 0x13ee9cb0},
-  {0x2d9d, 0x13ee9cb1},
-  {0x2d9e, 0x13ee9cb2},
-  {0x2d9f, 0x13ee9cb3},
-  {0x2da0, 0x13ee9cb4},
-  {0x2da1, 0x13ee9cb5},
-  {0x2da2, 0x13ee9cb6},
-  {0x2da3, 0x13ee9cb7},
-  {0x2da4, 0x13ee9cb8},
-  {0x2da5, 0x13ee9cb9},
-  {0x2da6, 0x13eea0b0},
-  {0x2da7, 0x13eea0b1},
-  {0x2da8, 0x13eea0b2},
-  {0x2da9, 0x13eea0b3},
-  {0x2daa, 0x13eea0b4},
-  {0x2dab, 0x13eea0b5},
-  {0x2dac, 0x13eea0b6},
-  {0x2dad, 0x13eea0b7},
-  {0x2dae, 0x13eea0b8},
-  {0x2daf, 0x13eea0b9},
-  {0x2db0, 0x13eea4b0},
-  {0x2db1, 0x13eea4b1},
-  {0x2db2, 0x13eea4b2},
-  {0x2db3, 0x13eea4b3},
-  {0x2db4, 0x13eea4b4},
-  {0x2db5, 0x13eea4b5},
-  {0x2db6, 0x13eea4b6},
-  {0x2db7, 0x13eea4b7},
-  {0x2db8, 0x13eea4b8},
-  {0x2db9, 0x13eea4b9},
-  {0x2dba, 0x13eea8b0},
-  {0x2dbb, 0x13eea8b1},
-  {0x2dbc, 0x13eea8b2},
-  {0x2dbd, 0x13eea8b3},
-  {0x2dbe, 0x13eea8b4},
-  {0x2dbf, 0x13eea8b5},
-  {0x2dc0, 0x13eea8b6},
-  {0x2dc1, 0x13eea8b7},
-  {0x2dc2, 0x13eea8b8},
-  {0x2dc3, 0x13eea8b9},
-  {0x2dc4, 0x13eeacb0},
-  {0x2dc5, 0x13eeacb1},
-  {0x2dc6, 0x13eeacb2},
-  {0x2dc7, 0x13eeacb3},
-  {0x2dc8, 0x13eeacb4},
-  {0x2dc9, 0x13eeacb5},
-  {0x2dca, 0x13eeacb6},
-  {0x2dcb, 0x13eeacb7},
-  {0x2dcc, 0x13eeacb8},
-  {0x2dcd, 0x13eeacb9},
-  {0x2dce, 0x13eeb0b0},
-  {0x2dcf, 0x13eeb0b1},
-  {0x2dd0, 0x13eeb0b2},
-  {0x2dd1, 0x13eeb0b3},
-  {0x2dd2, 0x13eeb0b4},
-  {0x2dd3, 0x13eeb0b5},
-  {0x2dd4, 0x13eeb0b6},
-  {0x2dd5, 0x13eeb0b7},
-  {0x2dd6, 0x13eeb0b8},
-  {0x2dd7, 0x13eeb0b9},
-  {0x2dd8, 0x13eeb4b0},
-  {0x2dd9, 0x13eeb4b1},
-  {0x2dda, 0x13eeb4b2},
-  {0x2ddb, 0x13eeb4b3},
-  {0x2ddc, 0x13eeb4b4},
-  {0x2ddd, 0x13eeb4b5},
-  {0x2dde, 0x13eeb4b6},
-  {0x2ddf, 0x13eeb4b7},
-  {0x2de0, 0x13eeb4b8},
-  {0x2de1, 0x13eeb4b9},
-  {0x2de2, 0x13eeb8b0},
-  {0x2de3, 0x13eeb8b1},
-  {0x2de4, 0x13eeb8b2},
-  {0x2de5, 0x13eeb8b3},
-  {0x2de6, 0x13eeb8b4},
-  {0x2de7, 0x13eeb8b5},
-  {0x2de8, 0x13eeb8b6},
-  {0x2de9, 0x13eeb8b7},
-  {0x2dea, 0x13eeb8b8},
-  {0x2deb, 0x13eeb8b9},
-  {0x2dec, 0x13eebcb0},
-  {0x2ded, 0x13eebcb1},
-  {0x2dee, 0x13eebcb2},
-  {0x2def, 0x13eebcb3},
-  {0x2df0, 0x13eebcb4},
-  {0x2df1, 0x13eebcb5},
-  {0x2df2, 0x13eebcb6},
-  {0x2df3, 0x13eebcb7},
-  {0x2df4, 0x13eebcb8},
-  {0x2df5, 0x13eebcb9},
-  {0x2df6, 0x13ef80b0},
-  {0x2df7, 0x13ef80b1},
-  {0x2df8, 0x13ef80b2},
-  {0x2df9, 0x13ef80b3},
-  {0x2dfa, 0x13ef80b4},
-  {0x2dfb, 0x13ef80b5},
-  {0x2dfc, 0x13ef80b6},
-  {0x2dfd, 0x13ef80b7},
-  {0x2dfe, 0x13ef80b8},
-  {0x2dff, 0x13ef80b9},
-  {0x2e00, 0x13ef84b0},
-  {0x2e01, 0x13ef84b1},
-  {0x2e02, 0x13ef84b2},
-  {0x2e03, 0x13ef84b3},
-  {0x2e04, 0x13ef84b4},
-  {0x2e05, 0x13ef84b5},
-  {0x2e06, 0x13ef84b6},
-  {0x2e07, 0x13ef84b7},
-  {0x2e08, 0x13ef84b8},
-  {0x2e09, 0x13ef84b9},
-  {0x2e0a, 0x13ef88b0},
-  {0x2e0b, 0x13ef88b1},
-  {0x2e0c, 0x13ef88b2},
-  {0x2e0d, 0x13ef88b3},
-  {0x2e0e, 0x13ef88b4},
-  {0x2e0f, 0x13ef88b5},
-  {0x2e10, 0x13ef88b6},
-  {0x2e11, 0x13ef88b7},
-  {0x2e12, 0x13ef88b8},
-  {0x2e13, 0x13ef88b9},
-  {0x2e14, 0x13ef8cb0},
-  {0x2e15, 0x13ef8cb1},
-  {0x2e16, 0x13ef8cb2},
-  {0x2e17, 0x13ef8cb3},
-  {0x2e18, 0x13ef8cb4},
-  {0x2e19, 0x13ef8cb5},
-  {0x2e1a, 0x13ef8cb6},
-  {0x2e1b, 0x13ef8cb7},
-  {0x2e1c, 0x13ef8cb8},
-  {0x2e1d, 0x13ef8cb9},
-  {0x2e1e, 0x13ef90b0},
-  {0x2e1f, 0x13ef90b1},
-  {0x2e20, 0x13ef90b2},
-  {0x2e21, 0x13ef90b3},
-  {0x2e22, 0x13ef90b4},
-  {0x2e23, 0x13ef90b5},
-  {0x2e24, 0x13ef90b6},
-  {0x2e25, 0x13ef90b7},
-  {0x2e26, 0x13ef90b8},
-  {0x2e27, 0x13ef90b9},
-  {0x2e28, 0x13ef94b0},
-  {0x2e29, 0x13ef94b1},
-  {0x2e2a, 0x13ef94b2},
-  {0x2e2b, 0x13ef94b3},
-  {0x2e2c, 0x13ef94b4},
-  {0x2e2d, 0x13ef94b5},
-  {0x2e2e, 0x13ef94b6},
-  {0x2e2f, 0x13ef94b7},
-  {0x2e30, 0x13ef94b8},
-  {0x2e31, 0x13ef94b9},
-  {0x2e32, 0x13ef98b0},
-  {0x2e33, 0x13ef98b1},
-  {0x2e34, 0x13ef98b2},
-  {0x2e35, 0x13ef98b3},
-  {0x2e36, 0x13ef98b4},
-  {0x2e37, 0x13ef98b5},
-  {0x2e38, 0x13ef98b6},
-  {0x2e39, 0x13ef98b7},
-  {0x2e3a, 0x13ef98b8},
-  {0x2e3b, 0x13ef98b9},
-  {0x2e3c, 0x13ef9cb0},
-  {0x2e3d, 0x13ef9cb1},
-  {0x2e3e, 0x13ef9cb2},
-  {0x2e3f, 0x13ef9cb3},
-  {0x2e40, 0x13ef9cb4},
-  {0x2e41, 0x13ef9cb5},
-  {0x2e42, 0x13ef9cb6},
-  {0x2e43, 0x13ef9cb7},
-  {0x2e44, 0x13ef9cb8},
-  {0x2e45, 0x13ef9cb9},
-  {0x2e46, 0x13efa0b0},
-  {0x2e47, 0x13efa0b1},
-  {0x2e48, 0x13efa0b2},
-  {0x2e49, 0x13efa0b3},
-  {0x2e4a, 0x13efa0b4},
-  {0x2e4b, 0x13efa0b5},
-  {0x2e4c, 0x13efa0b6},
-  {0x2e4d, 0x13efa0b7},
-  {0x2e4e, 0x13efa0b8},
-  {0x2e4f, 0x13efa0b9},
-  {0x2e50, 0x13efa4b0},
-  {0x2e51, 0x13efa4b1},
-  {0x2e52, 0x13efa4b2},
-  {0x2e53, 0x13efa4b3},
-  {0x2e54, 0x13efa4b4},
-  {0x2e55, 0x13efa4b5},
-  {0x2e56, 0x13efa4b6},
-  {0x2e57, 0x13efa4b7},
-  {0x2e58, 0x13efa4b8},
-  {0x2e59, 0x13efa4b9},
-  {0x2e5a, 0x13efa8b0},
-  {0x2e5b, 0x13efa8b1},
-  {0x2e5c, 0x13efa8b2},
-  {0x2e5d, 0x13efa8b3},
-  {0x2e5e, 0x13efa8b4},
-  {0x2e5f, 0x13efa8b5},
-  {0x2e60, 0x13efa8b6},
-  {0x2e61, 0x13efa8b7},
-  {0x2e62, 0x13efa8b8},
-  {0x2e63, 0x13efa8b9},
-  {0x2e64, 0x13efacb0},
-  {0x2e65, 0x13efacb1},
-  {0x2e66, 0x13efacb2},
-  {0x2e67, 0x13efacb3},
-  {0x2e68, 0x13efacb4},
-  {0x2e69, 0x13efacb5},
-  {0x2e6a, 0x13efacb6},
-  {0x2e6b, 0x13efacb7},
-  {0x2e6c, 0x13efacb8},
-  {0x2e6d, 0x13efacb9},
-  {0x2e6e, 0x13efb0b0},
-  {0x2e6f, 0x13efb0b1},
-  {0x2e70, 0x13efb0b2},
-  {0x2e71, 0x13efb0b3},
-  {0x2e72, 0x13efb0b4},
-  {0x2e73, 0x13efb0b5},
-  {0x2e74, 0x13efb0b6},
-  {0x2e75, 0x13efb0b7},
-  {0x2e76, 0x13efb0b8},
-  {0x2e77, 0x13efb0b9},
-  {0x2e78, 0x13efb4b0},
-  {0x2e79, 0x13efb4b1},
-  {0x2e7a, 0x13efb4b2},
-  {0x2e7b, 0x13efb4b3},
-  {0x2e7c, 0x13efb4b4},
-  {0x2e7d, 0x13efb4b5},
-  {0x2e7e, 0x13efb4b6},
-  {0x2e7f, 0x13efb4b7},
-  {0x2e80, 0x13efb4b8},
-  {0x2e81, 0xefb990},
-  {0x2e82, 0x13efb4b9},
-  {0x2e83, 0x13efb8b0},
-  {0x2e84, 0xefb994},
-  {0x2e85, 0x13efb8b1},
-  {0x2e86, 0x13efb8b2},
-  {0x2e87, 0x13efb8b3},
-  {0x2e88, 0xefb997},
-  {0x2e89, 0x13efb8b4},
-  {0x2e8a, 0x13efb8b5},
-  {0x2e8b, 0xefb998},
-  {0x2e8c, 0xefb99d},
-  {0x2e8d, 0x13efb8b6},
-  {0x2e8e, 0x13efb8b7},
-  {0x2e8f, 0x13efb8b8},
-  {0x2e90, 0x13efb8b9},
-  {0x2e91, 0x13f884b0},
-  {0x2e92, 0x13f884b1},
-  {0x2e93, 0x13f884b2},
-  {0x2e94, 0x13f884b3},
-  {0x2e95, 0x13f884b4},
-  {0x2e96, 0x13f884b5},
-  {0x2e97, 0xefb99e},
-  {0x2e98, 0x13f884b6},
-  {0x2e99, 0x13f884b7},
-  {0x2e9a, 0x13f884b8},
-  {0x2e9b, 0x13f884b9},
-  {0x2e9c, 0x13f888b0},
-  {0x2e9d, 0x13f888b1},
-  {0x2e9e, 0x13f888b2},
-  {0x2e9f, 0x13f888b3},
-  {0x2ea0, 0x13f888b4},
-  {0x2ea1, 0x13f888b5},
-  {0x2ea2, 0x13f888b6},
-  {0x2ea3, 0x13f888b7},
-  {0x2ea4, 0x13f888b8},
-  {0x2ea5, 0x13f888b9},
-  {0x2ea6, 0x13f88cb0},
-  {0x2ea7, 0xefb9ab},
-  {0x2ea8, 0x13f88cb1},
-  {0x2ea9, 0x13f88cb2},
-  {0x2eaa, 0xefb9ae},
-  {0x2eab, 0x13f88cb3},
-  {0x2eac, 0x13f88cb4},
-  {0x2ead, 0x13f88cb5},
-  {0x2eae, 0xefb9b1},
-  {0x2eaf, 0x13f88cb6},
-  {0x2eb0, 0x13f88cb7},
-  {0x2eb1, 0x13f88cb8},
-  {0x2eb2, 0x13f88cb9},
-  {0x2eb3, 0xefb9b3},
-  {0x2eb4, 0x13f890b0},
-  {0x2eb5, 0x13f890b1},
-  {0x2eb6, 0xefb9b4},
-  {0x2eb7, 0xefb9b5},
-  {0x2eb8, 0x13f890b2},
-  {0x2eb9, 0x13f890b3},
-  {0x2eba, 0x13f890b4},
-  {0x2ebb, 0xefb9b9},
-  {0x2ebc, 0x13f890b5},
-  {0x2ebd, 0x13f890b6},
-  {0x2ebe, 0x13f890b7},
-  {0x2ebf, 0x13f890b8},
-  {0x2ec0, 0x13f890b9},
-  {0x2ec1, 0x13f894b0},
-  {0x2ec2, 0x13f894b1},
-  {0x2ec3, 0x13f894b2},
-  {0x2ec4, 0x13f894b3},
-  {0x2ec5, 0x13f894b4},
-  {0x2ec6, 0x13f894b5},
-  {0x2ec7, 0x13f894b6},
-  {0x2ec8, 0x13f894b7},
-  {0x2ec9, 0x13f894b8},
-  {0x2eca, 0xefba84},
-  {0x2ecb, 0x13f894b9},
-  {0x2ecc, 0x13f898b0},
-  {0x2ecd, 0x13f898b1},
-  {0x2ece, 0x13f898b2},
-  {0x2ecf, 0x13f898b3},
-  {0x2ed0, 0x13f898b4},
-  {0x2ed1, 0x13f898b5},
-  {0x2ed2, 0x13f898b6},
-  {0x2ed3, 0x13f898b7},
-  {0x2ed4, 0x13f898b8},
-  {0x2ed5, 0x13f898b9},
-  {0x2ed6, 0x13f89cb0},
-  {0x2ed7, 0x13f89cb1},
-  {0x2ed8, 0x13f89cb2},
-  {0x2ed9, 0x13f89cb3},
-  {0x2eda, 0x13f89cb4},
-  {0x2edb, 0x13f89cb5},
-  {0x2edc, 0x13f89cb6},
-  {0x2edd, 0x13f89cb7},
-  {0x2ede, 0x13f89cb8},
-  {0x2edf, 0x13f89cb9},
-  {0x2ee0, 0x13f8a0b0},
-  {0x2ee1, 0x13f8a0b1},
-  {0x2ee2, 0x13f8a0b2},
-  {0x2ee3, 0x13f8a0b3},
-  {0x2ee4, 0x13f8a0b4},
-  {0x2ee5, 0x13f8a0b5},
-  {0x2ee6, 0x13f8a0b6},
-  {0x2ee7, 0x13f8a0b7},
-  {0x2ee8, 0x13f8a0b8},
-  {0x2ee9, 0x13f8a0b9},
-  {0x2eea, 0x13f8a4b0},
-  {0x2eeb, 0x13f8a4b1},
-  {0x2eec, 0x13f8a4b2},
-  {0x2eed, 0x13f8a4b3},
-  {0x2eee, 0x13f8a4b4},
-  {0x2eef, 0x13f8a4b5},
-  {0x2ef0, 0x13f8a4b6},
-  {0x2ef1, 0x13f8a4b7},
-  {0x2ef2, 0x13f8a4b8},
-  {0x2ef3, 0x13f8a4b9},
-  {0x2ef4, 0x13f8a8b0},
-  {0x2ef5, 0x13f8a8b1},
-  {0x2ef6, 0x13f8a8b2},
-  {0x2ef7, 0x13f8a8b3},
-  {0x2ef8, 0x13f8a8b4},
-  {0x2ef9, 0x13f8a8b5},
-  {0x2efa, 0x13f8a8b6},
-  {0x2efb, 0x13f8a8b7},
-  {0x2efc, 0x13f8a8b8},
-  {0x2efd, 0x13f8a8b9},
-  {0x2efe, 0x13f8acb0},
-  {0x2eff, 0x13f8acb1},
-  {0x2f00, 0x13f8acb2},
-  {0x2f01, 0x13f8acb3},
-  {0x2f02, 0x13f8acb4},
-  {0x2f03, 0x13f8acb5},
-  {0x2f04, 0x13f8acb6},
-  {0x2f05, 0x13f8acb7},
-  {0x2f06, 0x13f8acb8},
-  {0x2f07, 0x13f8acb9},
-  {0x2f08, 0x13f8b0b0},
-  {0x2f09, 0x13f8b0b1},
-  {0x2f0a, 0x13f8b0b2},
-  {0x2f0b, 0x13f8b0b3},
-  {0x2f0c, 0x13f8b0b4},
-  {0x2f0d, 0x13f8b0b5},
-  {0x2f0e, 0x13f8b0b6},
-  {0x2f0f, 0x13f8b0b7},
-  {0x2f10, 0x13f8b0b8},
-  {0x2f11, 0x13f8b0b9},
-  {0x2f12, 0x13f8b4b0},
-  {0x2f13, 0x13f8b4b1},
-  {0x2f14, 0x13f8b4b2},
-  {0x2f15, 0x13f8b4b3},
-  {0x2f16, 0x13f8b4b4},
-  {0x2f17, 0x13f8b4b5},
-  {0x2f18, 0x13f8b4b6},
-  {0x2f19, 0x13f8b4b7},
-  {0x2f1a, 0x13f8b4b8},
-  {0x2f1b, 0x13f8b4b9},
-  {0x2f1c, 0x13f8b8b0},
-  {0x2f1d, 0x13f8b8b1},
-  {0x2f1e, 0x13f8b8b2},
-  {0x2f1f, 0x13f8b8b3},
-  {0x2f20, 0x13f8b8b4},
-  {0x2f21, 0x13f8b8b5},
-  {0x2f22, 0x13f8b8b6},
-  {0x2f23, 0x13f8b8b7},
-  {0x2f24, 0x13f8b8b8},
-  {0x2f25, 0x13f8b8b9},
-  {0x2f26, 0x13f8bcb0},
-  {0x2f27, 0x13f8bcb1},
-  {0x2f28, 0x13f8bcb2},
-  {0x2f29, 0x13f8bcb3},
-  {0x2f2a, 0x13f8bcb4},
-  {0x2f2b, 0x13f8bcb5},
-  {0x2f2c, 0x13f8bcb6},
-  {0x2f2d, 0x13f8bcb7},
-  {0x2f2e, 0x13f8bcb8},
-  {0x2f2f, 0x13f8bcb9},
-  {0x2f30, 0x13f980b0},
-  {0x2f31, 0x13f980b1},
-  {0x2f32, 0x13f980b2},
-  {0x2f33, 0x13f980b3},
-  {0x2f34, 0x13f980b4},
-  {0x2f35, 0x13f980b5},
-  {0x2f36, 0x13f980b6},
-  {0x2f37, 0x13f980b7},
-  {0x2f38, 0x13f980b8},
-  {0x2f39, 0x13f980b9},
-  {0x2f3a, 0x13f984b0},
-  {0x2f3b, 0x13f984b1},
-  {0x2f3c, 0x13f984b2},
-  {0x2f3d, 0x13f984b3},
-  {0x2f3e, 0x13f984b4},
-  {0x2f3f, 0x13f984b5},
-  {0x2f40, 0x13f984b6},
-  {0x2f41, 0x13f984b7},
-  {0x2f42, 0x13f984b8},
-  {0x2f43, 0x13f984b9},
-  {0x2f44, 0x13f988b0},
-  {0x2f45, 0x13f988b1},
-  {0x2f46, 0x13f988b2},
-  {0x2f47, 0x13f988b3},
-  {0x2f48, 0x13f988b4},
-  {0x2f49, 0x13f988b5},
-  {0x2f4a, 0x13f988b6},
-  {0x2f4b, 0x13f988b7},
-  {0x2f4c, 0x13f988b8},
-  {0x2f4d, 0x13f988b9},
-  {0x2f4e, 0x13f98cb0},
-  {0x2f4f, 0x13f98cb1},
-  {0x2f50, 0x13f98cb2},
-  {0x2f51, 0x13f98cb3},
-  {0x2f52, 0x13f98cb4},
-  {0x2f53, 0x13f98cb5},
-  {0x2f54, 0x13f98cb6},
-  {0x2f55, 0x13f98cb7},
-  {0x2f56, 0x13f98cb8},
-  {0x2f57, 0x13f98cb9},
-  {0x2f58, 0x13f990b0},
-  {0x2f59, 0x13f990b1},
-  {0x2f5a, 0x13f990b2},
-  {0x2f5b, 0x13f990b3},
-  {0x2f5c, 0x13f990b4},
-  {0x2f5d, 0x13f990b5},
-  {0x2f5e, 0x13f990b6},
-  {0x2f5f, 0x13f990b7},
-  {0x2f60, 0x13f990b8},
-  {0x2f61, 0x13f990b9},
-  {0x2f62, 0x13f994b0},
-  {0x2f63, 0x13f994b1},
-  {0x2f64, 0x13f994b2},
-  {0x2f65, 0x13f994b3},
-  {0x2f66, 0x13f994b4},
-  {0x2f67, 0x13f994b5},
-  {0x2f68, 0x13f994b6},
-  {0x2f69, 0x13f994b7},
-  {0x2f6a, 0x13f994b8},
-  {0x2f6b, 0x13f994b9},
-  {0x2f6c, 0x13f998b0},
-  {0x2f6d, 0x13f998b1},
-  {0x2f6e, 0x13f998b2},
-  {0x2f6f, 0x13f998b3},
-  {0x2f70, 0x13f998b4},
-  {0x2f71, 0x13f998b5},
-  {0x2f72, 0x13f998b6},
-  {0x2f73, 0x13f998b7},
-  {0x2f74, 0x13f998b8},
-  {0x2f75, 0x13f998b9},
-  {0x2f76, 0x13f99cb0},
-  {0x2f77, 0x13f99cb1},
-  {0x2f78, 0x13f99cb2},
-  {0x2f79, 0x13f99cb3},
-  {0x2f7a, 0x13f99cb4},
-  {0x2f7b, 0x13f99cb5},
-  {0x2f7c, 0x13f99cb6},
-  {0x2f7d, 0x13f99cb7},
-  {0x2f7e, 0x13f99cb8},
-  {0x2f7f, 0x13f99cb9},
-  {0x2f80, 0x13f9a0b0},
-  {0x2f81, 0x13f9a0b1},
-  {0x2f82, 0x13f9a0b2},
-  {0x2f83, 0x13f9a0b3},
-  {0x2f84, 0x13f9a0b4},
-  {0x2f85, 0x13f9a0b5},
-  {0x2f86, 0x13f9a0b6},
-  {0x2f87, 0x13f9a0b7},
-  {0x2f88, 0x13f9a0b8},
-  {0x2f89, 0x13f9a0b9},
-  {0x2f8a, 0x13f9a4b0},
-  {0x2f8b, 0x13f9a4b1},
-  {0x2f8c, 0x13f9a4b2},
-  {0x2f8d, 0x13f9a4b3},
-  {0x2f8e, 0x13f9a4b4},
-  {0x2f8f, 0x13f9a4b5},
-  {0x2f90, 0x13f9a4b6},
-  {0x2f91, 0x13f9a4b7},
-  {0x2f92, 0x13f9a4b8},
-  {0x2f93, 0x13f9a4b9},
-  {0x2f94, 0x13f9a8b0},
-  {0x2f95, 0x13f9a8b1},
-  {0x2f96, 0x13f9a8b2},
-  {0x2f97, 0x13f9a8b3},
-  {0x2f98, 0x13f9a8b4},
-  {0x2f99, 0x13f9a8b5},
-  {0x2f9a, 0x13f9a8b6},
-  {0x2f9b, 0x13f9a8b7},
-  {0x2f9c, 0x13f9a8b8},
-  {0x2f9d, 0x13f9a8b9},
-  {0x2f9e, 0x13f9acb0},
-  {0x2f9f, 0x13f9acb1},
-  {0x2fa0, 0x13f9acb2},
-  {0x2fa1, 0x13f9acb3},
-  {0x2fa2, 0x13f9acb4},
-  {0x2fa3, 0x13f9acb5},
-  {0x2fa4, 0x13f9acb6},
-  {0x2fa5, 0x13f9acb7},
-  {0x2fa6, 0x13f9acb8},
-  {0x2fa7, 0x13f9acb9},
-  {0x2fa8, 0x13f9b0b0},
-  {0x2fa9, 0x13f9b0b1},
-  {0x2faa, 0x13f9b0b2},
-  {0x2fab, 0x13f9b0b3},
-  {0x2fac, 0x13f9b0b4},
-  {0x2fad, 0x13f9b0b5},
-  {0x2fae, 0x13f9b0b6},
-  {0x2faf, 0x13f9b0b7},
-  {0x2fb0, 0x13f9b0b8},
-  {0x2fb1, 0x13f9b0b9},
-  {0x2fb2, 0x13f9b4b0},
-  {0x2fb3, 0x13f9b4b1},
-  {0x2fb4, 0x13f9b4b2},
-  {0x2fb5, 0x13f9b4b3},
-  {0x2fb6, 0x13f9b4b4},
-  {0x2fb7, 0x13f9b4b5},
-  {0x2fb8, 0x13f9b4b6},
-  {0x2fb9, 0x13f9b4b7},
-  {0x2fba, 0x13f9b4b8},
-  {0x2fbb, 0x13f9b4b9},
-  {0x2fbc, 0x13f9b8b0},
-  {0x2fbd, 0x13f9b8b1},
-  {0x2fbe, 0x13f9b8b2},
-  {0x2fbf, 0x13f9b8b3},
-  {0x2fc0, 0x13f9b8b4},
-  {0x2fc1, 0x13f9b8b5},
-  {0x2fc2, 0x13f9b8b6},
-  {0x2fc3, 0x13f9b8b7},
-  {0x2fc4, 0x13f9b8b8},
-  {0x2fc5, 0x13f9b8b9},
-  {0x2fc6, 0x13f9bcb0},
-  {0x2fc7, 0x13f9bcb1},
-  {0x2fc8, 0x13f9bcb2},
-  {0x2fc9, 0x13f9bcb3},
-  {0x2fca, 0x13f9bcb4},
-  {0x2fcb, 0x13f9bcb5},
-  {0x2fcc, 0x13f9bcb6},
-  {0x2fcd, 0x13f9bcb7},
-  {0x2fce, 0x13f9bcb8},
-  {0x2fcf, 0x13f9bcb9},
-  {0x2fd0, 0x13fa80b0},
-  {0x2fd1, 0x13fa80b1},
-  {0x2fd2, 0x13fa80b2},
-  {0x2fd3, 0x13fa80b3},
-  {0x2fd4, 0x13fa80b4},
-  {0x2fd5, 0x13fa80b5},
-  {0x2fd6, 0x13fa80b6},
-  {0x2fd7, 0x13fa80b7},
-  {0x2fd8, 0x13fa80b8},
-  {0x2fd9, 0x13fa80b9},
-  {0x2fda, 0x13fa84b0},
-  {0x2fdb, 0x13fa84b1},
-  {0x2fdc, 0x13fa84b2},
-  {0x2fdd, 0x13fa84b3},
-  {0x2fde, 0x13fa84b4},
-  {0x2fdf, 0x13fa84b5},
-  {0x2fe0, 0x13fa84b6},
-  {0x2fe1, 0x13fa84b7},
-  {0x2fe2, 0x13fa84b8},
-  {0x2fe3, 0x13fa84b9},
-  {0x2fe4, 0x13fa88b0},
-  {0x2fe5, 0x13fa88b1},
-  {0x2fe6, 0x13fa88b2},
-  {0x2fe7, 0x13fa88b3},
-  {0x2fe8, 0x13fa88b4},
-  {0x2fe9, 0x13fa88b5},
-  {0x2fea, 0x13fa88b6},
-  {0x2feb, 0x13fa88b7},
-  {0x2fec, 0x13fa88b8},
-  {0x2fed, 0x13fa88b9},
-  {0x2fee, 0x13fa8cb0},
-  {0x2fef, 0x13fa8cb1},
-  {0x2ff0, 0xeaa68a},
-  {0x2ff1, 0xeaa68b},
-  {0x2ff2, 0xeaa68c},
-  {0x2ff3, 0xeaa68d},
-  {0x2ff4, 0xeaa68e},
-  {0x2ff5, 0xeaa68f},
-  {0x2ff6, 0xeaa690},
-  {0x2ff7, 0xeaa691},
-  {0x2ff8, 0xeaa692},
-  {0x2ff9, 0xeaa693},
-  {0x2ffa, 0xeaa694},
-  {0x2ffb, 0xeaa695},
-  {0x2ffc, 0x13fa8cb2},
-  {0x2ffd, 0x13fa8cb3},
-  {0x2ffe, 0x13fa8cb4},
-  {0x2fff, 0x13fa8cb5},
-  {0x3000, 0xea86a1},
-  {0x3001, 0xea86a2},
-  {0x3002, 0xea86a3},
-  {0x3003, 0xea86a8},
-  {0x3004, 0x13fa8cb6},
-  {0x3005, 0xea86a9},
-  {0x3006, 0xeaa5a5},
-  {0x3007, 0xeaa696},
-  {0x3008, 0xea86b4},
-  {0x3009, 0xea86b5},
-  {0x300a, 0xea86b6},
-  {0x300b, 0xea86b7},
-  {0x300c, 0xea86b8},
-  {0x300d, 0xea86b9},
-  {0x300e, 0xea86ba},
-  {0x300f, 0xea86bb},
-  {0x3010, 0xea86be},
-  {0x3011, 0xea86bf},
-  {0x3012, 0xeaa293},
-  {0x3013, 0xea87be},
-  {0x3014, 0xea86b2},
-  {0x3015, 0xea86b3},
-  {0x3016, 0xea86bc},
-  {0x3017, 0xea86bd},
-  {0x3018, 0x13fa8cb7},
-  {0x3019, 0x13fa8cb8},
-  {0x301a, 0x13fa8cb9},
-  {0x301b, 0x13fa90b0},
-  {0x301c, 0x13fa90b1},
-  {0x301d, 0xeaa294},
-  {0x301e, 0xeaa295},
-  {0x301f, 0x13fa90b2},
-  {0x3020, 0x13fa90b3},
-  {0x3021, 0xeaa580},
-  {0x3022, 0xeaa581},
-  {0x3023, 0xeaa582},
-  {0x3024, 0xeaa583},
-  {0x3025, 0xeaa584},
-  {0x3026, 0xeaa585},
-  {0x3027, 0xeaa586},
-  {0x3028, 0xeaa587},
-  {0x3029, 0xeaa588},
-  {0x302a, 0x13fa90b4},
-  {0x302b, 0x13fa90b5},
-  {0x302c, 0x13fa90b6},
-  {0x302d, 0x13fa90b7},
-  {0x302e, 0x13fa90b8},
-  {0x302f, 0x13fa90b9},
-  {0x3030, 0x13fa94b0},
-  {0x3031, 0x13fa94b1},
-  {0x3032, 0x13fa94b2},
-  {0x3033, 0x13fa94b3},
-  {0x3034, 0x13fa94b4},
-  {0x3035, 0x13fa94b5},
-  {0x3036, 0x13fa94b6},
-  {0x3037, 0x13fa94b7},
-  {0x3038, 0x13fa94b8},
-  {0x3039, 0x13fa94b9},
-  {0x303a, 0x13fa98b0},
-  {0x303b, 0x13fa98b1},
-  {0x303c, 0x13fa98b2},
-  {0x303d, 0x13fa98b3},
-  {0x303e, 0xeaa689},
-  {0x303f, 0x13fa98b4},
-  {0x3040, 0x13fa98b5},
-  {0x3041, 0xea92a1},
-  {0x3042, 0xea92a2},
-  {0x3043, 0xea92a3},
-  {0x3044, 0xea92a4},
-  {0x3045, 0xea92a5},
-  {0x3046, 0xea92a6},
-  {0x3047, 0xea92a7},
-  {0x3048, 0xea92a8},
-  {0x3049, 0xea92a9},
-  {0x304a, 0xea92aa},
-  {0x304b, 0xea92ab},
-  {0x304c, 0xea92ac},
-  {0x304d, 0xea92ad},
-  {0x304e, 0xea92ae},
-  {0x304f, 0xea92af},
-  {0x3050, 0xea92b0},
-  {0x3051, 0xea92b1},
-  {0x3052, 0xea92b2},
-  {0x3053, 0xea92b3},
-  {0x3054, 0xea92b4},
-  {0x3055, 0xea92b5},
-  {0x3056, 0xea92b6},
-  {0x3057, 0xea92b7},
-  {0x3058, 0xea92b8},
-  {0x3059, 0xea92b9},
-  {0x305a, 0xea92ba},
-  {0x305b, 0xea92bb},
-  {0x305c, 0xea92bc},
-  {0x305d, 0xea92bd},
-  {0x305e, 0xea92be},
-  {0x305f, 0xea92bf},
-  {0x3060, 0xea9380},
-  {0x3061, 0xea9381},
-  {0x3062, 0xea9382},
-  {0x3063, 0xea9383},
-  {0x3064, 0xea9384},
-  {0x3065, 0xea9385},
-  {0x3066, 0xea9386},
-  {0x3067, 0xea9387},
-  {0x3068, 0xea9388},
-  {0x3069, 0xea9389},
-  {0x306a, 0xea938a},
-  {0x306b, 0xea938b},
-  {0x306c, 0xea938c},
-  {0x306d, 0xea938d},
-  {0x306e, 0xea938e},
-  {0x306f, 0xea938f},
-  {0x3070, 0xea9390},
-  {0x3071, 0xea9391},
-  {0x3072, 0xea9392},
-  {0x3073, 0xea9393},
-  {0x3074, 0xea9394},
-  {0x3075, 0xea9395},
-  {0x3076, 0xea9396},
-  {0x3077, 0xea9397},
-  {0x3078, 0xea9398},
-  {0x3079, 0xea9399},
-  {0x307a, 0xea939a},
-  {0x307b, 0xea939b},
-  {0x307c, 0xea939c},
-  {0x307d, 0xea939d},
-  {0x307e, 0xea939e},
-  {0x307f, 0xea939f},
-  {0x3080, 0xea93a0},
-  {0x3081, 0xea93a1},
-  {0x3082, 0xea93a2},
-  {0x3083, 0xea93a3},
-  {0x3084, 0xea93a4},
-  {0x3085, 0xea93a5},
-  {0x3086, 0xea93a6},
-  {0x3087, 0xea93a7},
-  {0x3088, 0xea93a8},
-  {0x3089, 0xea93a9},
-  {0x308a, 0xea93aa},
-  {0x308b, 0xea93ab},
-  {0x308c, 0xea93ac},
-  {0x308d, 0xea93ad},
-  {0x308e, 0xea93ae},
-  {0x308f, 0xea93af},
-  {0x3090, 0xea93b0},
-  {0x3091, 0xea93b1},
-  {0x3092, 0xea93b2},
-  {0x3093, 0xea93b3},
-  {0x3094, 0x13fa98b6},
-  {0x3095, 0x13fa98b7},
-  {0x3096, 0x13fa98b8},
-  {0x3097, 0x13fa98b9},
-  {0x3098, 0x13fa9cb0},
-  {0x3099, 0x13fa9cb1},
-  {0x309a, 0x13fa9cb2},
-  {0x309b, 0xeaa5a1},
-  {0x309c, 0xeaa5a2},
-  {0x309d, 0xeaa5a6},
-  {0x309e, 0xeaa5a7},
-  {0x309f, 0x13fa9cb3},
-  {0x30a0, 0x13fa9cb4},
-  {0x30a1, 0xea96a1},
-  {0x30a2, 0xea96a2},
-  {0x30a3, 0xea96a3},
-  {0x30a4, 0xea96a4},
-  {0x30a5, 0xea96a5},
-  {0x30a6, 0xea96a6},
-  {0x30a7, 0xea96a7},
-  {0x30a8, 0xea96a8},
-  {0x30a9, 0xea96a9},
-  {0x30aa, 0xea96aa},
-  {0x30ab, 0xea96ab},
-  {0x30ac, 0xea96ac},
-  {0x30ad, 0xea96ad},
-  {0x30ae, 0xea96ae},
-  {0x30af, 0xea96af},
-  {0x30b0, 0xea96b0},
-  {0x30b1, 0xea96b1},
-  {0x30b2, 0xea96b2},
-  {0x30b3, 0xea96b3},
-  {0x30b4, 0xea96b4},
-  {0x30b5, 0xea96b5},
-  {0x30b6, 0xea96b6},
-  {0x30b7, 0xea96b7},
-  {0x30b8, 0xea96b8},
-  {0x30b9, 0xea96b9},
-  {0x30ba, 0xea96ba},
-  {0x30bb, 0xea96bb},
-  {0x30bc, 0xea96bc},
-  {0x30bd, 0xea96bd},
-  {0x30be, 0xea96be},
-  {0x30bf, 0xea96bf},
-  {0x30c0, 0xea9780},
-  {0x30c1, 0xea9781},
-  {0x30c2, 0xea9782},
-  {0x30c3, 0xea9783},
-  {0x30c4, 0xea9784},
-  {0x30c5, 0xea9785},
-  {0x30c6, 0xea9786},
-  {0x30c7, 0xea9787},
-  {0x30c8, 0xea9788},
-  {0x30c9, 0xea9789},
-  {0x30ca, 0xea978a},
-  {0x30cb, 0xea978b},
-  {0x30cc, 0xea978c},
-  {0x30cd, 0xea978d},
-  {0x30ce, 0xea978e},
-  {0x30cf, 0xea978f},
-  {0x30d0, 0xea9790},
-  {0x30d1, 0xea9791},
-  {0x30d2, 0xea9792},
-  {0x30d3, 0xea9793},
-  {0x30d4, 0xea9794},
-  {0x30d5, 0xea9795},
-  {0x30d6, 0xea9796},
-  {0x30d7, 0xea9797},
-  {0x30d8, 0xea9798},
-  {0x30d9, 0xea9799},
-  {0x30da, 0xea979a},
-  {0x30db, 0xea979b},
-  {0x30dc, 0xea979c},
-  {0x30dd, 0xea979d},
-  {0x30de, 0xea979e},
-  {0x30df, 0xea979f},
-  {0x30e0, 0xea97a0},
-  {0x30e1, 0xea97a1},
-  {0x30e2, 0xea97a2},
-  {0x30e3, 0xea97a3},
-  {0x30e4, 0xea97a4},
-  {0x30e5, 0xea97a5},
-  {0x30e6, 0xea97a6},
-  {0x30e7, 0xea97a7},
-  {0x30e8, 0xea97a8},
-  {0x30e9, 0xea97a9},
-  {0x30ea, 0xea97aa},
-  {0x30eb, 0xea97ab},
-  {0x30ec, 0xea97ac},
-  {0x30ed, 0xea97ad},
-  {0x30ee, 0xea97ae},
-  {0x30ef, 0xea97af},
-  {0x30f0, 0xea97b0},
-  {0x30f1, 0xea97b1},
-  {0x30f2, 0xea97b2},
-  {0x30f3, 0xea97b3},
-  {0x30f4, 0xea97b4},
-  {0x30f5, 0xea97b5},
-  {0x30f6, 0xea97b6},
-  {0x30f7, 0x13fa9cb5},
-  {0x30f8, 0x13fa9cb6},
-  {0x30f9, 0x13fa9cb7},
-  {0x30fa, 0x13fa9cb8},
-  {0x30fb, 0x13fa9cb9},
-  {0x30fc, 0xeaa5a0},
-  {0x30fd, 0xeaa5a3},
-  {0x30fe, 0xeaa5a4},
-  {0x30ff, 0x13faa0b0},
-  {0x3100, 0x13faa0b1},
-  {0x3101, 0x13faa0b2},
-  {0x3102, 0x13faa0b3},
-  {0x3103, 0x13faa0b4},
-  {0x3104, 0x13faa0b5},
-  {0x3105, 0xeaa385},
-  {0x3106, 0xeaa386},
-  {0x3107, 0xeaa387},
-  {0x3108, 0xeaa388},
-  {0x3109, 0xeaa389},
-  {0x310a, 0xeaa38a},
-  {0x310b, 0xeaa38b},
-  {0x310c, 0xeaa38c},
-  {0x310d, 0xeaa38d},
-  {0x310e, 0xeaa38e},
-  {0x310f, 0xeaa38f},
-  {0x3110, 0xeaa390},
-  {0x3111, 0xeaa391},
-  {0x3112, 0xeaa392},
-  {0x3113, 0xeaa393},
-  {0x3114, 0xeaa394},
-  {0x3115, 0xeaa395},
-  {0x3116, 0xeaa396},
-  {0x3117, 0xeaa397},
-  {0x3118, 0xeaa398},
-  {0x3119, 0xeaa399},
-  {0x311a, 0xeaa39a},
-  {0x311b, 0xeaa39b},
-  {0x311c, 0xeaa39c},
-  {0x311d, 0xeaa39d},
-  {0x311e, 0xeaa39e},
-  {0x311f, 0xeaa39f},
-  {0x3120, 0xeaa3a0},
-  {0x3121, 0xeaa3a1},
-  {0x3122, 0xeaa3a2},
-  {0x3123, 0xeaa3a3},
-  {0x3124, 0xeaa3a4},
-  {0x3125, 0xeaa3a5},
-  {0x3126, 0xeaa3a6},
-  {0x3127, 0xeaa3a7},
-  {0x3128, 0xeaa3a8},
-  {0x3129, 0xeaa3a9},
-  {0x312a, 0x13faa0b6},
-  {0x312b, 0x13faa0b7},
-  {0x312c, 0x13faa0b8},
-  {0x312d, 0x13faa0b9},
-  {0x312e, 0x13faa4b0},
-  {0x312f, 0x13faa4b1},
-  {0x3130, 0x13faa4b2},
-  {0x3131, 0x13faa4b3},
-  {0x3132, 0x13faa4b4},
-  {0x3133, 0x13faa4b5},
-  {0x3134, 0x13faa4b6},
-  {0x3135, 0x13faa4b7},
-  {0x3136, 0x13faa4b8},
-  {0x3137, 0x13faa4b9},
-  {0x3138, 0x13faa8b0},
-  {0x3139, 0x13faa8b1},
-  {0x313a, 0x13faa8b2},
-  {0x313b, 0x13faa8b3},
-  {0x313c, 0x13faa8b4},
-  {0x313d, 0x13faa8b5},
-  {0x313e, 0x13faa8b6},
-  {0x313f, 0x13faa8b7},
-  {0x3140, 0x13faa8b8},
-  {0x3141, 0x13faa8b9},
-  {0x3142, 0x13faacb0},
-  {0x3143, 0x13faacb1},
-  {0x3144, 0x13faacb2},
-  {0x3145, 0x13faacb3},
-  {0x3146, 0x13faacb4},
-  {0x3147, 0x13faacb5},
-  {0x3148, 0x13faacb6},
-  {0x3149, 0x13faacb7},
-  {0x314a, 0x13faacb8},
-  {0x314b, 0x13faacb9},
-  {0x314c, 0x13fab0b0},
-  {0x314d, 0x13fab0b1},
-  {0x314e, 0x13fab0b2},
-  {0x314f, 0x13fab0b3},
-  {0x3150, 0x13fab0b4},
-  {0x3151, 0x13fab0b5},
-  {0x3152, 0x13fab0b6},
-  {0x3153, 0x13fab0b7},
-  {0x3154, 0x13fab0b8},
-  {0x3155, 0x13fab0b9},
-  {0x3156, 0x13fab4b0},
-  {0x3157, 0x13fab4b1},
-  {0x3158, 0x13fab4b2},
-  {0x3159, 0x13fab4b3},
-  {0x315a, 0x13fab4b4},
-  {0x315b, 0x13fab4b5},
-  {0x315c, 0x13fab4b6},
-  {0x315d, 0x13fab4b7},
-  {0x315e, 0x13fab4b8},
-  {0x315f, 0x13fab4b9},
-  {0x3160, 0x13fab8b0},
-  {0x3161, 0x13fab8b1},
-  {0x3162, 0x13fab8b2},
-  {0x3163, 0x13fab8b3},
-  {0x3164, 0x13fab8b4},
-  {0x3165, 0x13fab8b5},
-  {0x3166, 0x13fab8b6},
-  {0x3167, 0x13fab8b7},
-  {0x3168, 0x13fab8b8},
-  {0x3169, 0x13fab8b9},
-  {0x316a, 0x13fabcb0},
-  {0x316b, 0x13fabcb1},
-  {0x316c, 0x13fabcb2},
-  {0x316d, 0x13fabcb3},
-  {0x316e, 0x13fabcb4},
-  {0x316f, 0x13fabcb5},
-  {0x3170, 0x13fabcb6},
-  {0x3171, 0x13fabcb7},
-  {0x3172, 0x13fabcb8},
-  {0x3173, 0x13fabcb9},
-  {0x3174, 0x13fb80b0},
-  {0x3175, 0x13fb80b1},
-  {0x3176, 0x13fb80b2},
-  {0x3177, 0x13fb80b3},
-  {0x3178, 0x13fb80b4},
-  {0x3179, 0x13fb80b5},
-  {0x317a, 0x13fb80b6},
-  {0x317b, 0x13fb80b7},
-  {0x317c, 0x13fb80b8},
-  {0x317d, 0x13fb80b9},
-  {0x317e, 0x13fb84b0},
-  {0x317f, 0x13fb84b1},
-  {0x3180, 0x13fb84b2},
-  {0x3181, 0x13fb84b3},
-  {0x3182, 0x13fb84b4},
-  {0x3183, 0x13fb84b5},
-  {0x3184, 0x13fb84b6},
-  {0x3185, 0x13fb84b7},
-  {0x3186, 0x13fb84b8},
-  {0x3187, 0x13fb84b9},
-  {0x3188, 0x13fb88b0},
-  {0x3189, 0x13fb88b1},
-  {0x318a, 0x13fb88b2},
-  {0x318b, 0x13fb88b3},
-  {0x318c, 0x13fb88b4},
-  {0x318d, 0x13fb88b5},
-  {0x318e, 0x13fb88b6},
-  {0x318f, 0x13fb88b7},
-  {0x3190, 0x13fb88b8},
-  {0x3191, 0x13fb88b9},
-  {0x3192, 0x13fb8cb0},
-  {0x3193, 0x13fb8cb1},
-  {0x3194, 0x13fb8cb2},
-  {0x3195, 0x13fb8cb3},
-  {0x3196, 0x13fb8cb4},
-  {0x3197, 0x13fb8cb5},
-  {0x3198, 0x13fb8cb6},
-  {0x3199, 0x13fb8cb7},
-  {0x319a, 0x13fb8cb8},
-  {0x319b, 0x13fb8cb9},
-  {0x319c, 0x13fb90b0},
-  {0x319d, 0x13fb90b1},
-  {0x319e, 0x13fb90b2},
-  {0x319f, 0x13fb90b3},
-  {0x31a0, 0x13fb90b4},
-  {0x31a1, 0x13fb90b5},
-  {0x31a2, 0x13fb90b6},
-  {0x31a3, 0x13fb90b7},
-  {0x31a4, 0x13fb90b8},
-  {0x31a5, 0x13fb90b9},
-  {0x31a6, 0x13fb94b0},
-  {0x31a7, 0x13fb94b1},
-  {0x31a8, 0x13fb94b2},
-  {0x31a9, 0x13fb94b3},
-  {0x31aa, 0x13fb94b4},
-  {0x31ab, 0x13fb94b5},
-  {0x31ac, 0x13fb94b6},
-  {0x31ad, 0x13fb94b7},
-  {0x31ae, 0x13fb94b8},
-  {0x31af, 0x13fb94b9},
-  {0x31b0, 0x13fb98b0},
-  {0x31b1, 0x13fb98b1},
-  {0x31b2, 0x13fb98b2},
-  {0x31b3, 0x13fb98b3},
-  {0x31b4, 0x13fb98b4},
-  {0x31b5, 0x13fb98b5},
-  {0x31b6, 0x13fb98b6},
-  {0x31b7, 0x13fb98b7},
-  {0x31b8, 0x13fb98b8},
-  {0x31b9, 0x13fb98b9},
-  {0x31ba, 0x13fb9cb0},
-  {0x31bb, 0x13fb9cb1},
-  {0x31bc, 0x13fb9cb2},
-  {0x31bd, 0x13fb9cb3},
-  {0x31be, 0x13fb9cb4},
-  {0x31bf, 0x13fb9cb5},
-  {0x31c0, 0x13fb9cb6},
-  {0x31c1, 0x13fb9cb7},
-  {0x31c2, 0x13fb9cb8},
-  {0x31c3, 0x13fb9cb9},
-  {0x31c4, 0x13fba0b0},
-  {0x31c5, 0x13fba0b1},
-  {0x31c6, 0x13fba0b2},
-  {0x31c7, 0x13fba0b3},
-  {0x31c8, 0x13fba0b4},
-  {0x31c9, 0x13fba0b5},
-  {0x31ca, 0x13fba0b6},
-  {0x31cb, 0x13fba0b7},
-  {0x31cc, 0x13fba0b8},
-  {0x31cd, 0x13fba0b9},
-  {0x31ce, 0x13fba4b0},
-  {0x31cf, 0x13fba4b1},
-  {0x31d0, 0x13fba4b2},
-  {0x31d1, 0x13fba4b3},
-  {0x31d2, 0x13fba4b4},
-  {0x31d3, 0x13fba4b5},
-  {0x31d4, 0x13fba4b6},
-  {0x31d5, 0x13fba4b7},
-  {0x31d6, 0x13fba4b8},
-  {0x31d7, 0x13fba4b9},
-  {0x31d8, 0x13fba8b0},
-  {0x31d9, 0x13fba8b1},
-  {0x31da, 0x13fba8b2},
-  {0x31db, 0x13fba8b3},
-  {0x31dc, 0x13fba8b4},
-  {0x31dd, 0x13fba8b5},
-  {0x31de, 0x13fba8b6},
-  {0x31df, 0x13fba8b7},
-  {0x31e0, 0x13fba8b8},
-  {0x31e1, 0x13fba8b9},
-  {0x31e2, 0x13fbacb0},
-  {0x31e3, 0x13fbacb1},
-  {0x31e4, 0x13fbacb2},
-  {0x31e5, 0x13fbacb3},
-  {0x31e6, 0x13fbacb4},
-  {0x31e7, 0x13fbacb5},
-  {0x31e8, 0x13fbacb6},
-  {0x31e9, 0x13fbacb7},
-  {0x31ea, 0x13fbacb8},
-  {0x31eb, 0x13fbacb9},
-  {0x31ec, 0x13fbb0b0},
-  {0x31ed, 0x13fbb0b1},
-  {0x31ee, 0x13fbb0b2},
-  {0x31ef, 0x13fbb0b3},
-  {0x31f0, 0x13fbb0b4},
-  {0x31f1, 0x13fbb0b5},
-  {0x31f2, 0x13fbb0b6},
-  {0x31f3, 0x13fbb0b7},
-  {0x31f4, 0x13fbb0b8},
-  {0x31f5, 0x13fbb0b9},
-  {0x31f6, 0x13fbb4b0},
-  {0x31f7, 0x13fbb4b1},
-  {0x31f8, 0x13fbb4b2},
-  {0x31f9, 0x13fbb4b3},
-  {0x31fa, 0x13fbb4b4},
-  {0x31fb, 0x13fbb4b5},
-  {0x31fc, 0x13fbb4b6},
-  {0x31fd, 0x13fbb4b7},
-  {0x31fe, 0x13fbb4b8},
-  {0x31ff, 0x13fbb4b9},
-  {0x3200, 0x13fbb8b0},
-  {0x3201, 0x13fbb8b1},
-  {0x3202, 0x13fbb8b2},
-  {0x3203, 0x13fbb8b3},
-  {0x3204, 0x13fbb8b4},
-  {0x3205, 0x13fbb8b5},
-  {0x3206, 0x13fbb8b6},
-  {0x3207, 0x13fbb8b7},
-  {0x3208, 0x13fbb8b8},
-  {0x3209, 0x13fbb8b9},
-  {0x320a, 0x13fbbcb0},
-  {0x320b, 0x13fbbcb1},
-  {0x320c, 0x13fbbcb2},
-  {0x320d, 0x13fbbcb3},
-  {0x320e, 0x13fbbcb4},
-  {0x320f, 0x13fbbcb5},
-  {0x3210, 0x13fbbcb6},
-  {0x3211, 0x13fbbcb7},
-  {0x3212, 0x13fbbcb8},
-  {0x3213, 0x13fbbcb9},
-  {0x3214, 0x13fc80b0},
-  {0x3215, 0x13fc80b1},
-  {0x3216, 0x13fc80b2},
-  {0x3217, 0x13fc80b3},
-  {0x3218, 0x13fc80b4},
-  {0x3219, 0x13fc80b5},
-  {0x321a, 0x13fc80b6},
-  {0x321b, 0x13fc80b7},
-  {0x321c, 0x13fc80b8},
-  {0x321d, 0x13fc80b9},
-  {0x321e, 0x13fc84b0},
-  {0x321f, 0x13fc84b1},
-  {0x3220, 0xea8ba5},
-  {0x3221, 0xea8ba6},
-  {0x3222, 0xea8ba7},
-  {0x3223, 0xea8ba8},
-  {0x3224, 0xea8ba9},
-  {0x3225, 0xea8baa},
-  {0x3226, 0xea8bab},
-  {0x3227, 0xea8bac},
-  {0x3228, 0xea8bad},
-  {0x3229, 0xea8bae},
-  {0x322a, 0x13fc84b2},
-  {0x322b, 0x13fc84b3},
-  {0x322c, 0x13fc84b4},
-  {0x322d, 0x13fc84b5},
-  {0x322e, 0x13fc84b6},
-  {0x322f, 0x13fc84b7},
-  {0x3230, 0x13fc84b8},
-  {0x3231, 0xeaa59a},
-  {0x3232, 0x13fc84b9},
-  {0x3233, 0x13fc88b0},
-  {0x3234, 0x13fc88b1},
-  {0x3235, 0x13fc88b2},
-  {0x3236, 0x13fc88b3},
-  {0x3237, 0x13fc88b4},
-  {0x3238, 0x13fc88b5},
-  {0x3239, 0x13fc88b6},
-  {0x323a, 0x13fc88b7},
-  {0x323b, 0x13fc88b8},
-  {0x323c, 0x13fc88b9},
-  {0x323d, 0x13fc8cb0},
-  {0x323e, 0x13fc8cb1},
-  {0x323f, 0x13fc8cb2},
-  {0x3240, 0x13fc8cb3},
-  {0x3241, 0x13fc8cb4},
-  {0x3242, 0x13fc8cb5},
-  {0x3243, 0x13fc8cb6},
-  {0x3244, 0x13fc8cb7},
-  {0x3245, 0x13fc8cb8},
-  {0x3246, 0x13fc8cb9},
-  {0x3247, 0x13fc90b0},
-  {0x3248, 0x13fc90b1},
-  {0x3249, 0x13fc90b2},
-  {0x324a, 0x13fc90b3},
-  {0x324b, 0x13fc90b4},
-  {0x324c, 0x13fc90b5},
-  {0x324d, 0x13fc90b6},
-  {0x324e, 0x13fc90b7},
-  {0x324f, 0x13fc90b8},
-  {0x3250, 0x13fc90b9},
-  {0x3251, 0x13fc94b0},
-  {0x3252, 0x13fc94b1},
-  {0x3253, 0x13fc94b2},
-  {0x3254, 0x13fc94b3},
-  {0x3255, 0x13fc94b4},
-  {0x3256, 0x13fc94b5},
-  {0x3257, 0x13fc94b6},
-  {0x3258, 0x13fc94b7},
-  {0x3259, 0x13fc94b8},
-  {0x325a, 0x13fc94b9},
-  {0x325b, 0x13fc98b0},
-  {0x325c, 0x13fc98b1},
-  {0x325d, 0x13fc98b2},
-  {0x325e, 0x13fc98b3},
-  {0x325f, 0x13fc98b4},
-  {0x3260, 0x13fc98b5},
-  {0x3261, 0x13fc98b6},
-  {0x3262, 0x13fc98b7},
-  {0x3263, 0x13fc98b8},
-  {0x3264, 0x13fc98b9},
-  {0x3265, 0x13fc9cb0},
-  {0x3266, 0x13fc9cb1},
-  {0x3267, 0x13fc9cb2},
-  {0x3268, 0x13fc9cb3},
-  {0x3269, 0x13fc9cb4},
-  {0x326a, 0x13fc9cb5},
-  {0x326b, 0x13fc9cb6},
-  {0x326c, 0x13fc9cb7},
-  {0x326d, 0x13fc9cb8},
-  {0x326e, 0x13fc9cb9},
-  {0x326f, 0x13fca0b0},
-  {0x3270, 0x13fca0b1},
-  {0x3271, 0x13fca0b2},
-  {0x3272, 0x13fca0b3},
-  {0x3273, 0x13fca0b4},
-  {0x3274, 0x13fca0b5},
-  {0x3275, 0x13fca0b6},
-  {0x3276, 0x13fca0b7},
-  {0x3277, 0x13fca0b8},
-  {0x3278, 0x13fca0b9},
-  {0x3279, 0x13fca4b0},
-  {0x327a, 0x13fca4b1},
-  {0x327b, 0x13fca4b2},
-  {0x327c, 0x13fca4b3},
-  {0x327d, 0x13fca4b4},
-  {0x327e, 0x13fca4b5},
-  {0x327f, 0x13fca4b6},
-  {0x3280, 0x13fca4b7},
-  {0x3281, 0x13fca4b8},
-  {0x3282, 0x13fca4b9},
-  {0x3283, 0x13fca8b0},
-  {0x3284, 0x13fca8b1},
-  {0x3285, 0x13fca8b2},
-  {0x3286, 0x13fca8b3},
-  {0x3287, 0x13fca8b4},
-  {0x3288, 0x13fca8b5},
-  {0x3289, 0x13fca8b6},
-  {0x328a, 0x13fca8b7},
-  {0x328b, 0x13fca8b8},
-  {0x328c, 0x13fca8b9},
-  {0x328d, 0x13fcacb0},
-  {0x328e, 0x13fcacb1},
-  {0x328f, 0x13fcacb2},
-  {0x3290, 0x13fcacb3},
-  {0x3291, 0x13fcacb4},
-  {0x3292, 0x13fcacb5},
-  {0x3293, 0x13fcacb6},
-  {0x3294, 0x13fcacb7},
-  {0x3295, 0x13fcacb8},
-  {0x3296, 0x13fcacb9},
-  {0x3297, 0x13fcb0b0},
-  {0x3298, 0x13fcb0b1},
-  {0x3299, 0x13fcb0b2},
-  {0x329a, 0x13fcb0b3},
-  {0x329b, 0x13fcb0b4},
-  {0x329c, 0x13fcb0b5},
-  {0x329d, 0x13fcb0b6},
-  {0x329e, 0x13fcb0b7},
-  {0x329f, 0x13fcb0b8},
-  {0x32a0, 0x13fcb0b9},
-  {0x32a1, 0x13fcb4b0},
-  {0x32a2, 0x13fcb4b1},
-  {0x32a3, 0xeaa589},
-  {0x32a4, 0x13fcb4b2},
-  {0x32a5, 0x13fcb4b3},
-  {0x32a6, 0x13fcb4b4},
-  {0x32a7, 0x13fcb4b5},
-  {0x32a8, 0x13fcb4b6},
-  {0x32a9, 0x13fcb4b7},
-  {0x32aa, 0x13fcb4b8},
-  {0x32ab, 0x13fcb4b9},
-  {0x32ac, 0x13fcb8b0},
-  {0x32ad, 0x13fcb8b1},
-  {0x32ae, 0x13fcb8b2},
-  {0x32af, 0x13fcb8b3},
-  {0x32b0, 0x13fcb8b4},
-  {0x32b1, 0x13fcb8b5},
-  {0x32b2, 0x13fcb8b6},
-  {0x32b3, 0x13fcb8b7},
-  {0x32b4, 0x13fcb8b8},
-  {0x32b5, 0x13fcb8b9},
-  {0x32b6, 0x13fcbcb0},
-  {0x32b7, 0x13fcbcb1},
-  {0x32b8, 0x13fcbcb2},
-  {0x32b9, 0x13fcbcb3},
-  {0x32ba, 0x13fcbcb4},
-  {0x32bb, 0x13fcbcb5},
-  {0x32bc, 0x13fcbcb6},
-  {0x32bd, 0x13fcbcb7},
-  {0x32be, 0x13fcbcb8},
-  {0x32bf, 0x13fcbcb9},
-  {0x32c0, 0x13fd80b0},
-  {0x32c1, 0x13fd80b1},
-  {0x32c2, 0x13fd80b2},
-  {0x32c3, 0x13fd80b3},
-  {0x32c4, 0x13fd80b4},
-  {0x32c5, 0x13fd80b5},
-  {0x32c6, 0x13fd80b6},
-  {0x32c7, 0x13fd80b7},
-  {0x32c8, 0x13fd80b8},
-  {0x32c9, 0x13fd80b9},
-  {0x32ca, 0x13fd84b0},
-  {0x32cb, 0x13fd84b1},
-  {0x32cc, 0x13fd84b2},
-  {0x32cd, 0x13fd84b3},
-  {0x32ce, 0x13fd84b4},
-  {0x32cf, 0x13fd84b5},
-  {0x32d0, 0x13fd84b6},
-  {0x32d1, 0x13fd84b7},
-  {0x32d2, 0x13fd84b8},
-  {0x32d3, 0x13fd84b9},
-  {0x32d4, 0x13fd88b0},
-  {0x32d5, 0x13fd88b1},
-  {0x32d6, 0x13fd88b2},
-  {0x32d7, 0x13fd88b3},
-  {0x32d8, 0x13fd88b4},
-  {0x32d9, 0x13fd88b5},
-  {0x32da, 0x13fd88b6},
-  {0x32db, 0x13fd88b7},
-  {0x32dc, 0x13fd88b8},
-  {0x32dd, 0x13fd88b9},
-  {0x32de, 0x13fd8cb0},
-  {0x32df, 0x13fd8cb1},
-  {0x32e0, 0x13fd8cb2},
-  {0x32e1, 0x13fd8cb3},
-  {0x32e2, 0x13fd8cb4},
-  {0x32e3, 0x13fd8cb5},
-  {0x32e4, 0x13fd8cb6},
-  {0x32e5, 0x13fd8cb7},
-  {0x32e6, 0x13fd8cb8},
-  {0x32e7, 0x13fd8cb9},
-  {0x32e8, 0x13fd90b0},
-  {0x32e9, 0x13fd90b1},
-  {0x32ea, 0x13fd90b2},
-  {0x32eb, 0x13fd90b3},
-  {0x32ec, 0x13fd90b4},
-  {0x32ed, 0x13fd90b5},
-  {0x32ee, 0x13fd90b6},
-  {0x32ef, 0x13fd90b7},
-  {0x32f0, 0x13fd90b8},
-  {0x32f1, 0x13fd90b9},
-  {0x32f2, 0x13fd94b0},
-  {0x32f3, 0x13fd94b1},
-  {0x32f4, 0x13fd94b2},
-  {0x32f5, 0x13fd94b3},
-  {0x32f6, 0x13fd94b4},
-  {0x32f7, 0x13fd94b5},
-  {0x32f8, 0x13fd94b6},
-  {0x32f9, 0x13fd94b7},
-  {0x32fa, 0x13fd94b8},
-  {0x32fb, 0x13fd94b9},
-  {0x32fc, 0x13fd98b0},
-  {0x32fd, 0x13fd98b1},
-  {0x32fe, 0x13fd98b2},
-  {0x32ff, 0x13fd98b3},
-  {0x3300, 0x13fd98b4},
-  {0x3301, 0x13fd98b5},
-  {0x3302, 0x13fd98b6},
-  {0x3303, 0x13fd98b7},
-  {0x3304, 0x13fd98b8},
-  {0x3305, 0x13fd98b9},
-  {0x3306, 0x13fd9cb0},
-  {0x3307, 0x13fd9cb1},
-  {0x3308, 0x13fd9cb2},
-  {0x3309, 0x13fd9cb3},
-  {0x330a, 0x13fd9cb4},
-  {0x330b, 0x13fd9cb5},
-  {0x330c, 0x13fd9cb6},
-  {0x330d, 0x13fd9cb7},
-  {0x330e, 0x13fd9cb8},
-  {0x330f, 0x13fd9cb9},
-  {0x3310, 0x13fda0b0},
-  {0x3311, 0x13fda0b1},
-  {0x3312, 0x13fda0b2},
-  {0x3313, 0x13fda0b3},
-  {0x3314, 0x13fda0b4},
-  {0x3315, 0x13fda0b5},
-  {0x3316, 0x13fda0b6},
-  {0x3317, 0x13fda0b7},
-  {0x3318, 0x13fda0b8},
-  {0x3319, 0x13fda0b9},
-  {0x331a, 0x13fda4b0},
-  {0x331b, 0x13fda4b1},
-  {0x331c, 0x13fda4b2},
-  {0x331d, 0x13fda4b3},
-  {0x331e, 0x13fda4b4},
-  {0x331f, 0x13fda4b5},
-  {0x3320, 0x13fda4b6},
-  {0x3321, 0x13fda4b7},
-  {0x3322, 0x13fda4b8},
-  {0x3323, 0x13fda4b9},
-  {0x3324, 0x13fda8b0},
-  {0x3325, 0x13fda8b1},
-  {0x3326, 0x13fda8b2},
-  {0x3327, 0x13fda8b3},
-  {0x3328, 0x13fda8b4},
-  {0x3329, 0x13fda8b5},
-  {0x332a, 0x13fda8b6},
-  {0x332b, 0x13fda8b7},
-  {0x332c, 0x13fda8b8},
-  {0x332d, 0x13fda8b9},
-  {0x332e, 0x13fdacb0},
-  {0x332f, 0x13fdacb1},
-  {0x3330, 0x13fdacb2},
-  {0x3331, 0x13fdacb3},
-  {0x3332, 0x13fdacb4},
-  {0x3333, 0x13fdacb5},
-  {0x3334, 0x13fdacb6},
-  {0x3335, 0x13fdacb7},
-  {0x3336, 0x13fdacb8},
-  {0x3337, 0x13fdacb9},
-  {0x3338, 0x13fdb0b0},
-  {0x3339, 0x13fdb0b1},
-  {0x333a, 0x13fdb0b2},
-  {0x333b, 0x13fdb0b3},
-  {0x333c, 0x13fdb0b4},
-  {0x333d, 0x13fdb0b5},
-  {0x333e, 0x13fdb0b6},
-  {0x333f, 0x13fdb0b7},
-  {0x3340, 0x13fdb0b8},
-  {0x3341, 0x13fdb0b9},
-  {0x3342, 0x13fdb4b0},
-  {0x3343, 0x13fdb4b1},
-  {0x3344, 0x13fdb4b2},
-  {0x3345, 0x13fdb4b3},
-  {0x3346, 0x13fdb4b4},
-  {0x3347, 0x13fdb4b5},
-  {0x3348, 0x13fdb4b6},
-  {0x3349, 0x13fdb4b7},
-  {0x334a, 0x13fdb4b8},
-  {0x334b, 0x13fdb4b9},
-  {0x334c, 0x13fdb8b0},
-  {0x334d, 0x13fdb8b1},
-  {0x334e, 0x13fdb8b2},
-  {0x334f, 0x13fdb8b3},
-  {0x3350, 0x13fdb8b4},
-  {0x3351, 0x13fdb8b5},
-  {0x3352, 0x13fdb8b6},
-  {0x3353, 0x13fdb8b7},
-  {0x3354, 0x13fdb8b8},
-  {0x3355, 0x13fdb8b9},
-  {0x3356, 0x13fdbcb0},
-  {0x3357, 0x13fdbcb1},
-  {0x3358, 0x13fdbcb2},
-  {0x3359, 0x13fdbcb3},
-  {0x335a, 0x13fdbcb4},
-  {0x335b, 0x13fdbcb5},
-  {0x335c, 0x13fdbcb6},
-  {0x335d, 0x13fdbcb7},
-  {0x335e, 0x13fdbcb8},
-  {0x335f, 0x13fdbcb9},
-  {0x3360, 0x13fe80b0},
-  {0x3361, 0x13fe80b1},
-  {0x3362, 0x13fe80b2},
-  {0x3363, 0x13fe80b3},
-  {0x3364, 0x13fe80b4},
-  {0x3365, 0x13fe80b5},
-  {0x3366, 0x13fe80b6},
-  {0x3367, 0x13fe80b7},
-  {0x3368, 0x13fe80b8},
-  {0x3369, 0x13fe80b9},
-  {0x336a, 0x13fe84b0},
-  {0x336b, 0x13fe84b1},
-  {0x336c, 0x13fe84b2},
-  {0x336d, 0x13fe84b3},
-  {0x336e, 0x13fe84b4},
-  {0x336f, 0x13fe84b5},
-  {0x3370, 0x13fe84b6},
-  {0x3371, 0x13fe84b7},
-  {0x3372, 0x13fe84b8},
-  {0x3373, 0x13fe84b9},
-  {0x3374, 0x13fe88b0},
-  {0x3375, 0x13fe88b1},
-  {0x3376, 0x13fe88b2},
-  {0x3377, 0x13fe88b3},
-  {0x3378, 0x13fe88b4},
-  {0x3379, 0x13fe88b5},
-  {0x337a, 0x13fe88b6},
-  {0x337b, 0x13fe88b7},
-  {0x337c, 0x13fe88b8},
-  {0x337d, 0x13fe88b9},
-  {0x337e, 0x13fe8cb0},
-  {0x337f, 0x13fe8cb1},
-  {0x3380, 0x13fe8cb2},
-  {0x3381, 0x13fe8cb3},
-  {0x3382, 0x13fe8cb4},
-  {0x3383, 0x13fe8cb5},
-  {0x3384, 0x13fe8cb6},
-  {0x3385, 0x13fe8cb7},
-  {0x3386, 0x13fe8cb8},
-  {0x3387, 0x13fe8cb9},
-  {0x3388, 0x13fe90b0},
-  {0x3389, 0x13fe90b1},
-  {0x338a, 0x13fe90b2},
-  {0x338b, 0x13fe90b3},
-  {0x338c, 0x13fe90b4},
-  {0x338d, 0x13fe90b5},
-  {0x338e, 0xeaa58a},
-  {0x338f, 0xeaa58b},
-  {0x3390, 0x13fe90b6},
-  {0x3391, 0x13fe90b7},
-  {0x3392, 0x13fe90b8},
-  {0x3393, 0x13fe90b9},
-  {0x3394, 0x13fe94b0},
-  {0x3395, 0x13fe94b1},
-  {0x3396, 0x13fe94b2},
-  {0x3397, 0x13fe94b3},
-  {0x3398, 0x13fe94b4},
-  {0x3399, 0x13fe94b5},
-  {0x339a, 0x13fe94b6},
-  {0x339b, 0x13fe94b7},
-  {0x339c, 0xeaa58c},
-  {0x339d, 0xeaa58d},
-  {0x339e, 0xeaa58e},
-  {0x339f, 0x13fe94b8},
-  {0x33a0, 0x13fe94b9},
-  {0x33a1, 0xeaa58f},
-  {0x33a2, 0x13fe98b0},
-  {0x33a3, 0x13fe98b1},
-  {0x33a4, 0x13fe98b2},
-  {0x33a5, 0x13fe98b3},
-  {0x33a6, 0x13fe98b4},
-  {0x33a7, 0x13fe98b5},
-  {0x33a8, 0x13fe98b6},
-  {0x33a9, 0x13fe98b7},
-  {0x33aa, 0x13fe98b8},
-  {0x33ab, 0x13fe98b9},
-  {0x33ac, 0x13fe9cb0},
-  {0x33ad, 0x13fe9cb1},
-  {0x33ae, 0x13fe9cb2},
-  {0x33af, 0x13fe9cb3},
-  {0x33b0, 0x13fe9cb4},
-  {0x33b1, 0x13fe9cb5},
-  {0x33b2, 0x13fe9cb6},
-  {0x33b3, 0x13fe9cb7},
-  {0x33b4, 0x13fe9cb8},
-  {0x33b5, 0x13fe9cb9},
-  {0x33b6, 0x13fea0b0},
-  {0x33b7, 0x13fea0b1},
-  {0x33b8, 0x13fea0b2},
-  {0x33b9, 0x13fea0b3},
-  {0x33ba, 0x13fea0b4},
-  {0x33bb, 0x13fea0b5},
-  {0x33bc, 0x13fea0b6},
-  {0x33bd, 0x13fea0b7},
-  {0x33be, 0x13fea0b8},
-  {0x33bf, 0x13fea0b9},
-  {0x33c0, 0x13fea4b0},
-  {0x33c1, 0x13fea4b1},
-  {0x33c2, 0x13fea4b2},
-  {0x33c3, 0x13fea4b3},
-  {0x33c4, 0xeaa590},
-  {0x33c5, 0x13fea4b4},
-  {0x33c6, 0x13fea4b5},
-  {0x33c7, 0x13fea4b6},
-  {0x33c8, 0x13fea4b7},
-  {0x33c9, 0x13fea4b8},
-  {0x33ca, 0x13fea4b9},
-  {0x33cb, 0x13fea8b0},
-  {0x33cc, 0x13fea8b1},
-  {0x33cd, 0x13fea8b2},
-  {0x33ce, 0xeaa591},
-  {0x33cf, 0x13fea8b3},
-  {0x33d0, 0x13fea8b4},
-  {0x33d1, 0xeaa592},
-  {0x33d2, 0xeaa593},
-  {0x33d3, 0x13fea8b5},
-  {0x33d4, 0x13fea8b6},
-  {0x33d5, 0xeaa594},
-  {0x33d6, 0x13fea8b7},
-  {0x33d7, 0x13fea8b8},
-  {0x33d8, 0x13fea8b9},
-  {0x33d9, 0x13feacb0},
-  {0x33da, 0x13feacb1},
-  {0x33db, 0x13feacb2},
-  {0x33dc, 0x13feacb3},
-  {0x33dd, 0x13feacb4},
-  {0x33de, 0x13feacb5},
-  {0x33df, 0x13feacb6},
-  {0x33e0, 0x13feacb7},
-  {0x33e1, 0x13feacb8},
-  {0x33e2, 0x13feacb9},
-  {0x33e3, 0x13feb0b0},
-  {0x33e4, 0x13feb0b1},
-  {0x33e5, 0x13feb0b2},
-  {0x33e6, 0x13feb0b3},
-  {0x33e7, 0x13feb0b4},
-  {0x33e8, 0x13feb0b5},
-  {0x33e9, 0x13feb0b6},
-  {0x33ea, 0x13feb0b7},
-  {0x33eb, 0x13feb0b8},
-  {0x33ec, 0x13feb0b9},
-  {0x33ed, 0x13feb4b0},
-  {0x33ee, 0x13feb4b1},
-  {0x33ef, 0x13feb4b2},
-  {0x33f0, 0x13feb4b3},
-  {0x33f1, 0x13feb4b4},
-  {0x33f2, 0x13feb4b5},
-  {0x33f3, 0x13feb4b6},
-  {0x33f4, 0x13feb4b7},
-  {0x33f5, 0x13feb4b8},
-  {0x33f6, 0x13feb4b9},
-  {0x33f7, 0x13feb8b0},
-  {0x33f8, 0x13feb8b1},
-  {0x33f9, 0x13feb8b2},
-  {0x33fa, 0x13feb8b3},
-  {0x33fb, 0x13feb8b4},
-  {0x33fc, 0x13feb8b5},
-  {0x33fd, 0x13feb8b6},
-  {0x33fe, 0x13feb8b7},
-  {0x33ff, 0x13feb8b8},
-  {0x3400, 0x13feb8b9},
-  {0x3401, 0x13febcb0},
-  {0x3402, 0x13febcb1},
-  {0x3403, 0x13febcb2},
-  {0x3404, 0x13febcb3},
-  {0x3405, 0x13febcb4},
-  {0x3406, 0x13febcb5},
-  {0x3407, 0x13febcb6},
-  {0x3408, 0x13febcb7},
-  {0x3409, 0x13febcb8},
-  {0x340a, 0x13febcb9},
-  {0x340b, 0x13ff80b0},
-  {0x340c, 0x13ff80b1},
-  {0x340d, 0x13ff80b2},
-  {0x340e, 0x13ff80b3},
-  {0x340f, 0x13ff80b4},
-  {0x3410, 0x13ff80b5},
-  {0x3411, 0x13ff80b6},
-  {0x3412, 0x13ff80b7},
-  {0x3413, 0x13ff80b8},
-  {0x3414, 0x13ff80b9},
-  {0x3415, 0x13ff84b0},
-  {0x3416, 0x13ff84b1},
-  {0x3417, 0x13ff84b2},
-  {0x3418, 0x13ff84b3},
-  {0x3419, 0x13ff84b4},
-  {0x341a, 0x13ff84b5},
-  {0x341b, 0x13ff84b6},
-  {0x341c, 0x13ff84b7},
-  {0x341d, 0x13ff84b8},
-  {0x341e, 0x13ff84b9},
-  {0x341f, 0x13ff88b0},
-  {0x3420, 0x13ff88b1},
-  {0x3421, 0x13ff88b2},
-  {0x3422, 0x13ff88b3},
-  {0x3423, 0x13ff88b4},
-  {0x3424, 0x13ff88b5},
-  {0x3425, 0x13ff88b6},
-  {0x3426, 0x13ff88b7},
-  {0x3427, 0x13ff88b8},
-  {0x3428, 0x13ff88b9},
-  {0x3429, 0x13ff8cb0},
-  {0x342a, 0x13ff8cb1},
-  {0x342b, 0x13ff8cb2},
-  {0x342c, 0x13ff8cb3},
-  {0x342d, 0x13ff8cb4},
-  {0x342e, 0x13ff8cb5},
-  {0x342f, 0x13ff8cb6},
-  {0x3430, 0x13ff8cb7},
-  {0x3431, 0x13ff8cb8},
-  {0x3432, 0x13ff8cb9},
-  {0x3433, 0x13ff90b0},
-  {0x3434, 0x13ff90b1},
-  {0x3435, 0x13ff90b2},
-  {0x3436, 0x13ff90b3},
-  {0x3437, 0x13ff90b4},
-  {0x3438, 0x13ff90b5},
-  {0x3439, 0x13ff90b6},
-  {0x343a, 0x13ff90b7},
-  {0x343b, 0x13ff90b8},
-  {0x343c, 0x13ff90b9},
-  {0x343d, 0x13ff94b0},
-  {0x343e, 0x13ff94b1},
-  {0x343f, 0x13ff94b2},
-  {0x3440, 0x13ff94b3},
-  {0x3441, 0x13ff94b4},
-  {0x3442, 0x13ff94b5},
-  {0x3443, 0x13ff94b6},
-  {0x3444, 0x13ff94b7},
-  {0x3445, 0x13ff94b8},
-  {0x3446, 0x13ff94b9},
-  {0x3447, 0xefb996},
-  {0x3448, 0x13ff98b0},
-  {0x3449, 0x13ff98b1},
-  {0x344a, 0x13ff98b2},
-  {0x344b, 0x13ff98b3},
-  {0x344c, 0x13ff98b4},
-  {0x344d, 0x13ff98b5},
-  {0x344e, 0x13ff98b6},
-  {0x344f, 0x13ff98b7},
-  {0x3450, 0x13ff98b8},
-  {0x3451, 0x13ff98b9},
-  {0x3452, 0x13ff9cb0},
-  {0x3453, 0x13ff9cb1},
-  {0x3454, 0x13ff9cb2},
-  {0x3455, 0x13ff9cb3},
-  {0x3456, 0x13ff9cb4},
-  {0x3457, 0x13ff9cb5},
-  {0x3458, 0x13ff9cb6},
-  {0x3459, 0x13ff9cb7},
-  {0x345a, 0x13ff9cb8},
-  {0x345b, 0x13ff9cb9},
-  {0x345c, 0x13ffa0b0},
-  {0x345d, 0x13ffa0b1},
-  {0x345e, 0x13ffa0b2},
-  {0x345f, 0x13ffa0b3},
-  {0x3460, 0x13ffa0b4},
-  {0x3461, 0x13ffa0b5},
-  {0x3462, 0x13ffa0b6},
-  {0x3463, 0x13ffa0b7},
-  {0x3464, 0x13ffa0b8},
-  {0x3465, 0x13ffa0b9},
-  {0x3466, 0x13ffa4b0},
-  {0x3467, 0x13ffa4b1},
-  {0x3468, 0x13ffa4b2},
-  {0x3469, 0x13ffa4b3},
-  {0x346a, 0x13ffa4b4},
-  {0x346b, 0x13ffa4b5},
-  {0x346c, 0x13ffa4b6},
-  {0x346d, 0x13ffa4b7},
-  {0x346e, 0x13ffa4b8},
-  {0x346f, 0x13ffa4b9},
-  {0x3470, 0x13ffa8b0},
-  {0x3471, 0x13ffa8b1},
-  {0x3472, 0x13ffa8b2},
-  {0x3473, 0xefb995},
-  {0x3474, 0x13ffa8b3},
-  {0x3475, 0x13ffa8b4},
-  {0x3476, 0x13ffa8b5},
-  {0x3477, 0x13ffa8b6},
-  {0x3478, 0x13ffa8b7},
-  {0x3479, 0x13ffa8b8},
-  {0x347a, 0x13ffa8b9},
-  {0x347b, 0x13ffacb0},
-  {0x347c, 0x13ffacb1},
-  {0x347d, 0x13ffacb2},
-  {0x347e, 0x13ffacb3},
-  {0x347f, 0x13ffacb4},
-  {0x3480, 0x13ffacb5},
-  {0x3481, 0x13ffacb6},
-  {0x3482, 0x13ffacb7},
-  {0x3483, 0x13ffacb8},
-  {0x3484, 0x13ffacb9},
-  {0x3485, 0x13ffb0b0},
-  {0x3486, 0x13ffb0b1},
-  {0x3487, 0x13ffb0b2},
-  {0x3488, 0x13ffb0b3},
-  {0x3489, 0x13ffb0b4},
-  {0x348a, 0x13ffb0b5},
-  {0x348b, 0x13ffb0b6},
-  {0x348c, 0x13ffb0b7},
-  {0x348d, 0x13ffb0b8},
-  {0x348e, 0x13ffb0b9},
-  {0x348f, 0x13ffb4b0},
-  {0x3490, 0x13ffb4b1},
-  {0x3491, 0x13ffb4b2},
-  {0x3492, 0x13ffb4b3},
-  {0x3493, 0x13ffb4b4},
-  {0x3494, 0x13ffb4b5},
-  {0x3495, 0x13ffb4b6},
-  {0x3496, 0x13ffb4b7},
-  {0x3497, 0x13ffb4b8},
-  {0x3498, 0x13ffb4b9},
-  {0x3499, 0x13ffb8b0},
-  {0x349a, 0x13ffb8b1},
-  {0x349b, 0x13ffb8b2},
-  {0x349c, 0x13ffb8b3},
-  {0x349d, 0x13ffb8b4},
-  {0x349e, 0x13ffb8b5},
-  {0x349f, 0x13ffb8b6},
-  {0x34a0, 0x13ffb8b7},
-  {0x34a1, 0x13ffb8b8},
-  {0x34a2, 0x13ffb8b9},
-  {0x34a3, 0x23e884b0},
-  {0x34a4, 0x23e884b1},
-  {0x34a5, 0x23e884b2},
-  {0x34a6, 0x23e884b3},
-  {0x34a7, 0x23e884b4},
-  {0x34a8, 0x23e884b5},
-  {0x34a9, 0x23e884b6},
-  {0x34aa, 0x23e884b7},
-  {0x34ab, 0x23e884b8},
-  {0x34ac, 0x23e884b9},
-  {0x34ad, 0x23e888b0},
-  {0x34ae, 0x23e888b1},
-  {0x34af, 0x23e888b2},
-  {0x34b0, 0x23e888b3},
-  {0x34b1, 0x23e888b4},
-  {0x34b2, 0x23e888b5},
-  {0x34b3, 0x23e888b6},
-  {0x34b4, 0x23e888b7},
-  {0x34b5, 0x23e888b8},
-  {0x34b6, 0x23e888b9},
-  {0x34b7, 0x23e88cb0},
-  {0x34b8, 0x23e88cb1},
-  {0x34b9, 0x23e88cb2},
-  {0x34ba, 0x23e88cb3},
-  {0x34bb, 0x23e88cb4},
-  {0x34bc, 0x23e88cb5},
-  {0x34bd, 0x23e88cb6},
-  {0x34be, 0x23e88cb7},
-  {0x34bf, 0x23e88cb8},
-  {0x34c0, 0x23e88cb9},
-  {0x34c1, 0x23e890b0},
-  {0x34c2, 0x23e890b1},
-  {0x34c3, 0x23e890b2},
-  {0x34c4, 0x23e890b3},
-  {0x34c5, 0x23e890b4},
-  {0x34c6, 0x23e890b5},
-  {0x34c7, 0x23e890b6},
-  {0x34c8, 0x23e890b7},
-  {0x34c9, 0x23e890b8},
-  {0x34ca, 0x23e890b9},
-  {0x34cb, 0x23e894b0},
-  {0x34cc, 0x23e894b1},
-  {0x34cd, 0x23e894b2},
-  {0x34ce, 0x23e894b3},
-  {0x34cf, 0x23e894b4},
-  {0x34d0, 0x23e894b5},
-  {0x34d1, 0x23e894b6},
-  {0x34d2, 0x23e894b7},
-  {0x34d3, 0x23e894b8},
-  {0x34d4, 0x23e894b9},
-  {0x34d5, 0x23e898b0},
-  {0x34d6, 0x23e898b1},
-  {0x34d7, 0x23e898b2},
-  {0x34d8, 0x23e898b3},
-  {0x34d9, 0x23e898b4},
-  {0x34da, 0x23e898b5},
-  {0x34db, 0x23e898b6},
-  {0x34dc, 0x23e898b7},
-  {0x34dd, 0x23e898b8},
-  {0x34de, 0x23e898b9},
-  {0x34df, 0x23e89cb0},
-  {0x34e0, 0x23e89cb1},
-  {0x34e1, 0x23e89cb2},
-  {0x34e2, 0x23e89cb3},
-  {0x34e3, 0x23e89cb4},
-  {0x34e4, 0x23e89cb5},
-  {0x34e5, 0x23e89cb6},
-  {0x34e6, 0x23e89cb7},
-  {0x34e7, 0x23e89cb8},
-  {0x34e8, 0x23e89cb9},
-  {0x34e9, 0x23e8a0b0},
-  {0x34ea, 0x23e8a0b1},
-  {0x34eb, 0x23e8a0b2},
-  {0x34ec, 0x23e8a0b3},
-  {0x34ed, 0x23e8a0b4},
-  {0x34ee, 0x23e8a0b5},
-  {0x34ef, 0x23e8a0b6},
-  {0x34f0, 0x23e8a0b7},
-  {0x34f1, 0x23e8a0b8},
-  {0x34f2, 0x23e8a0b9},
-  {0x34f3, 0x23e8a4b0},
-  {0x34f4, 0x23e8a4b1},
-  {0x34f5, 0x23e8a4b2},
-  {0x34f6, 0x23e8a4b3},
-  {0x34f7, 0x23e8a4b4},
-  {0x34f8, 0x23e8a4b5},
-  {0x34f9, 0x23e8a4b6},
-  {0x34fa, 0x23e8a4b7},
-  {0x34fb, 0x23e8a4b8},
-  {0x34fc, 0x23e8a4b9},
-  {0x34fd, 0x23e8a8b0},
-  {0x34fe, 0x23e8a8b1},
-  {0x34ff, 0x23e8a8b2},
-  {0x3500, 0x23e8a8b3},
-  {0x3501, 0x23e8a8b4},
-  {0x3502, 0x23e8a8b5},
-  {0x3503, 0x23e8a8b6},
-  {0x3504, 0x23e8a8b7},
-  {0x3505, 0x23e8a8b8},
-  {0x3506, 0x23e8a8b9},
-  {0x3507, 0x23e8acb0},
-  {0x3508, 0x23e8acb1},
-  {0x3509, 0x23e8acb2},
-  {0x350a, 0x23e8acb3},
-  {0x350b, 0x23e8acb4},
-  {0x350c, 0x23e8acb5},
-  {0x350d, 0x23e8acb6},
-  {0x350e, 0x23e8acb7},
-  {0x350f, 0x23e8acb8},
-  {0x3510, 0x23e8acb9},
-  {0x3511, 0x23e8b0b0},
-  {0x3512, 0x23e8b0b1},
-  {0x3513, 0x23e8b0b2},
-  {0x3514, 0x23e8b0b3},
-  {0x3515, 0x23e8b0b4},
-  {0x3516, 0x23e8b0b5},
-  {0x3517, 0x23e8b0b6},
-  {0x3518, 0x23e8b0b7},
-  {0x3519, 0x23e8b0b8},
-  {0x351a, 0x23e8b0b9},
-  {0x351b, 0x23e8b4b0},
-  {0x351c, 0x23e8b4b1},
-  {0x351d, 0x23e8b4b2},
-  {0x351e, 0x23e8b4b3},
-  {0x351f, 0x23e8b4b4},
-  {0x3520, 0x23e8b4b5},
-  {0x3521, 0x23e8b4b6},
-  {0x3522, 0x23e8b4b7},
-  {0x3523, 0x23e8b4b8},
-  {0x3524, 0x23e8b4b9},
-  {0x3525, 0x23e8b8b0},
-  {0x3526, 0x23e8b8b1},
-  {0x3527, 0x23e8b8b2},
-  {0x3528, 0x23e8b8b3},
-  {0x3529, 0x23e8b8b4},
-  {0x352a, 0x23e8b8b5},
-  {0x352b, 0x23e8b8b6},
-  {0x352c, 0x23e8b8b7},
-  {0x352d, 0x23e8b8b8},
-  {0x352e, 0x23e8b8b9},
-  {0x352f, 0x23e8bcb0},
-  {0x3530, 0x23e8bcb1},
-  {0x3531, 0x23e8bcb2},
-  {0x3532, 0x23e8bcb3},
-  {0x3533, 0x23e8bcb4},
-  {0x3534, 0x23e8bcb5},
-  {0x3535, 0x23e8bcb6},
-  {0x3536, 0x23e8bcb7},
-  {0x3537, 0x23e8bcb8},
-  {0x3538, 0x23e8bcb9},
-  {0x3539, 0x23e980b0},
-  {0x353a, 0x23e980b1},
-  {0x353b, 0x23e980b2},
-  {0x353c, 0x23e980b3},
-  {0x353d, 0x23e980b4},
-  {0x353e, 0x23e980b5},
-  {0x353f, 0x23e980b6},
-  {0x3540, 0x23e980b7},
-  {0x3541, 0x23e980b8},
-  {0x3542, 0x23e980b9},
-  {0x3543, 0x23e984b0},
-  {0x3544, 0x23e984b1},
-  {0x3545, 0x23e984b2},
-  {0x3546, 0x23e984b3},
-  {0x3547, 0x23e984b4},
-  {0x3548, 0x23e984b5},
-  {0x3549, 0x23e984b6},
-  {0x354a, 0x23e984b7},
-  {0x354b, 0x23e984b8},
-  {0x354c, 0x23e984b9},
-  {0x354d, 0x23e988b0},
-  {0x354e, 0x23e988b1},
-  {0x354f, 0x23e988b2},
-  {0x3550, 0x23e988b3},
-  {0x3551, 0x23e988b4},
-  {0x3552, 0x23e988b5},
-  {0x3553, 0x23e988b6},
-  {0x3554, 0x23e988b7},
-  {0x3555, 0x23e988b8},
-  {0x3556, 0x23e988b9},
-  {0x3557, 0x23e98cb0},
-  {0x3558, 0x23e98cb1},
-  {0x3559, 0x23e98cb2},
-  {0x355a, 0x23e98cb3},
-  {0x355b, 0x23e98cb4},
-  {0x355c, 0x23e98cb5},
-  {0x355d, 0x23e98cb6},
-  {0x355e, 0x23e98cb7},
-  {0x355f, 0x23e98cb8},
-  {0x3560, 0x23e98cb9},
-  {0x3561, 0x23e990b0},
-  {0x3562, 0x23e990b1},
-  {0x3563, 0x23e990b2},
-  {0x3564, 0x23e990b3},
-  {0x3565, 0x23e990b4},
-  {0x3566, 0x23e990b5},
-  {0x3567, 0x23e990b6},
-  {0x3568, 0x23e990b7},
-  {0x3569, 0x23e990b8},
-  {0x356a, 0x23e990b9},
-  {0x356b, 0x23e994b0},
-  {0x356c, 0x23e994b1},
-  {0x356d, 0x23e994b2},
-  {0x356e, 0x23e994b3},
-  {0x356f, 0x23e994b4},
-  {0x3570, 0x23e994b5},
-  {0x3571, 0x23e994b6},
-  {0x3572, 0x23e994b7},
-  {0x3573, 0x23e994b8},
-  {0x3574, 0x23e994b9},
-  {0x3575, 0x23e998b0},
-  {0x3576, 0x23e998b1},
-  {0x3577, 0x23e998b2},
-  {0x3578, 0x23e998b3},
-  {0x3579, 0x23e998b4},
-  {0x357a, 0x23e998b5},
-  {0x357b, 0x23e998b6},
-  {0x357c, 0x23e998b7},
-  {0x357d, 0x23e998b8},
-  {0x357e, 0x23e998b9},
-  {0x357f, 0x23e99cb0},
-  {0x3580, 0x23e99cb1},
-  {0x3581, 0x23e99cb2},
-  {0x3582, 0x23e99cb3},
-  {0x3583, 0x23e99cb4},
-  {0x3584, 0x23e99cb5},
-  {0x3585, 0x23e99cb6},
-  {0x3586, 0x23e99cb7},
-  {0x3587, 0x23e99cb8},
-  {0x3588, 0x23e99cb9},
-  {0x3589, 0x23e9a0b0},
-  {0x358a, 0x23e9a0b1},
-  {0x358b, 0x23e9a0b2},
-  {0x358c, 0x23e9a0b3},
-  {0x358d, 0x23e9a0b4},
-  {0x358e, 0x23e9a0b5},
-  {0x358f, 0x23e9a0b6},
-  {0x3590, 0x23e9a0b7},
-  {0x3591, 0x23e9a0b8},
-  {0x3592, 0x23e9a0b9},
-  {0x3593, 0x23e9a4b0},
-  {0x3594, 0x23e9a4b1},
-  {0x3595, 0x23e9a4b2},
-  {0x3596, 0x23e9a4b3},
-  {0x3597, 0x23e9a4b4},
-  {0x3598, 0x23e9a4b5},
-  {0x3599, 0x23e9a4b6},
-  {0x359a, 0x23e9a4b7},
-  {0x359b, 0x23e9a4b8},
-  {0x359c, 0x23e9a4b9},
-  {0x359d, 0x23e9a8b0},
-  {0x359e, 0xefb99a},
-  {0x359f, 0x23e9a8b1},
-  {0x35a0, 0x23e9a8b2},
-  {0x35a1, 0x23e9a8b3},
-  {0x35a2, 0x23e9a8b4},
-  {0x35a3, 0x23e9a8b5},
-  {0x35a4, 0x23e9a8b6},
-  {0x35a5, 0x23e9a8b7},
-  {0x35a6, 0x23e9a8b8},
-  {0x35a7, 0x23e9a8b9},
-  {0x35a8, 0x23e9acb0},
-  {0x35a9, 0x23e9acb1},
-  {0x35aa, 0x23e9acb2},
-  {0x35ab, 0x23e9acb3},
-  {0x35ac, 0x23e9acb4},
-  {0x35ad, 0x23e9acb5},
-  {0x35ae, 0x23e9acb6},
-  {0x35af, 0x23e9acb7},
-  {0x35b0, 0x23e9acb8},
-  {0x35b1, 0x23e9acb9},
-  {0x35b2, 0x23e9b0b0},
-  {0x35b3, 0x23e9b0b1},
-  {0x35b4, 0x23e9b0b2},
-  {0x35b5, 0x23e9b0b3},
-  {0x35b6, 0x23e9b0b4},
-  {0x35b7, 0x23e9b0b5},
-  {0x35b8, 0x23e9b0b6},
-  {0x35b9, 0x23e9b0b7},
-  {0x35ba, 0x23e9b0b8},
-  {0x35bb, 0x23e9b0b9},
-  {0x35bc, 0x23e9b4b0},
-  {0x35bd, 0x23e9b4b1},
-  {0x35be, 0x23e9b4b2},
-  {0x35bf, 0x23e9b4b3},
-  {0x35c0, 0x23e9b4b4},
-  {0x35c1, 0x23e9b4b5},
-  {0x35c2, 0x23e9b4b6},
-  {0x35c3, 0x23e9b4b7},
-  {0x35c4, 0x23e9b4b8},
-  {0x35c5, 0x23e9b4b9},
-  {0x35c6, 0x23e9b8b0},
-  {0x35c7, 0x23e9b8b1},
-  {0x35c8, 0x23e9b8b2},
-  {0x35c9, 0x23e9b8b3},
-  {0x35ca, 0x23e9b8b4},
-  {0x35cb, 0x23e9b8b5},
-  {0x35cc, 0x23e9b8b6},
-  {0x35cd, 0x23e9b8b7},
-  {0x35ce, 0x23e9b8b8},
-  {0x35cf, 0x23e9b8b9},
-  {0x35d0, 0x23e9bcb0},
-  {0x35d1, 0x23e9bcb1},
-  {0x35d2, 0x23e9bcb2},
-  {0x35d3, 0x23e9bcb3},
-  {0x35d4, 0x23e9bcb4},
-  {0x35d5, 0x23e9bcb5},
-  {0x35d6, 0x23e9bcb6},
-  {0x35d7, 0x23e9bcb7},
-  {0x35d8, 0x23e9bcb8},
-  {0x35d9, 0x23e9bcb9},
-  {0x35da, 0x23ea80b0},
-  {0x35db, 0x23ea80b1},
-  {0x35dc, 0x23ea80b2},
-  {0x35dd, 0x23ea80b3},
-  {0x35de, 0x23ea80b4},
-  {0x35df, 0x23ea80b5},
-  {0x35e0, 0x23ea80b6},
-  {0x35e1, 0x23ea80b7},
-  {0x35e2, 0x23ea80b8},
-  {0x35e3, 0x23ea80b9},
-  {0x35e4, 0x23ea84b0},
-  {0x35e5, 0x23ea84b1},
-  {0x35e6, 0x23ea84b2},
-  {0x35e7, 0x23ea84b3},
-  {0x35e8, 0x23ea84b4},
-  {0x35e9, 0x23ea84b5},
-  {0x35ea, 0x23ea84b6},
-  {0x35eb, 0x23ea84b7},
-  {0x35ec, 0x23ea84b8},
-  {0x35ed, 0x23ea84b9},
-  {0x35ee, 0x23ea88b0},
-  {0x35ef, 0x23ea88b1},
-  {0x35f0, 0x23ea88b2},
-  {0x35f1, 0x23ea88b3},
-  {0x35f2, 0x23ea88b4},
-  {0x35f3, 0x23ea88b5},
-  {0x35f4, 0x23ea88b6},
-  {0x35f5, 0x23ea88b7},
-  {0x35f6, 0x23ea88b8},
-  {0x35f7, 0x23ea88b9},
-  {0x35f8, 0x23ea8cb0},
-  {0x35f9, 0x23ea8cb1},
-  {0x35fa, 0x23ea8cb2},
-  {0x35fb, 0x23ea8cb3},
-  {0x35fc, 0x23ea8cb4},
-  {0x35fd, 0x23ea8cb5},
-  {0x35fe, 0x23ea8cb6},
-  {0x35ff, 0x23ea8cb7},
-  {0x3600, 0x23ea8cb8},
-  {0x3601, 0x23ea8cb9},
-  {0x3602, 0x23ea90b0},
-  {0x3603, 0x23ea90b1},
-  {0x3604, 0x23ea90b2},
-  {0x3605, 0x23ea90b3},
-  {0x3606, 0x23ea90b4},
-  {0x3607, 0x23ea90b5},
-  {0x3608, 0x23ea90b6},
-  {0x3609, 0x23ea90b7},
-  {0x360a, 0x23ea90b8},
-  {0x360b, 0x23ea90b9},
-  {0x360c, 0x23ea94b0},
-  {0x360d, 0x23ea94b1},
-  {0x360e, 0xefb99c},
-  {0x360f, 0x23ea94b2},
-  {0x3610, 0x23ea94b3},
-  {0x3611, 0x23ea94b4},
-  {0x3612, 0x23ea94b5},
-  {0x3613, 0x23ea94b6},
-  {0x3614, 0x23ea94b7},
-  {0x3615, 0x23ea94b8},
-  {0x3616, 0x23ea94b9},
-  {0x3617, 0x23ea98b0},
-  {0x3618, 0x23ea98b1},
-  {0x3619, 0x23ea98b2},
-  {0x361a, 0xefb99b},
-  {0x361b, 0x23ea98b3},
-  {0x361c, 0x23ea98b4},
-  {0x361d, 0x23ea98b5},
-  {0x361e, 0x23ea98b6},
-  {0x361f, 0x23ea98b7},
-  {0x3620, 0x23ea98b8},
-  {0x3621, 0x23ea98b9},
-  {0x3622, 0x23ea9cb0},
-  {0x3623, 0x23ea9cb1},
-  {0x3624, 0x23ea9cb2},
-  {0x3625, 0x23ea9cb3},
-  {0x3626, 0x23ea9cb4},
-  {0x3627, 0x23ea9cb5},
-  {0x3628, 0x23ea9cb6},
-  {0x3629, 0x23ea9cb7},
-  {0x362a, 0x23ea9cb8},
-  {0x362b, 0x23ea9cb9},
-  {0x362c, 0x23eaa0b0},
-  {0x362d, 0x23eaa0b1},
-  {0x362e, 0x23eaa0b2},
-  {0x362f, 0x23eaa0b3},
-  {0x3630, 0x23eaa0b4},
-  {0x3631, 0x23eaa0b5},
-  {0x3632, 0x23eaa0b6},
-  {0x3633, 0x23eaa0b7},
-  {0x3634, 0x23eaa0b8},
-  {0x3635, 0x23eaa0b9},
-  {0x3636, 0x23eaa4b0},
-  {0x3637, 0x23eaa4b1},
-  {0x3638, 0x23eaa4b2},
-  {0x3639, 0x23eaa4b3},
-  {0x363a, 0x23eaa4b4},
-  {0x363b, 0x23eaa4b5},
-  {0x363c, 0x23eaa4b6},
-  {0x363d, 0x23eaa4b7},
-  {0x363e, 0x23eaa4b8},
-  {0x363f, 0x23eaa4b9},
-  {0x3640, 0x23eaa8b0},
-  {0x3641, 0x23eaa8b1},
-  {0x3642, 0x23eaa8b2},
-  {0x3643, 0x23eaa8b3},
-  {0x3644, 0x23eaa8b4},
-  {0x3645, 0x23eaa8b5},
-  {0x3646, 0x23eaa8b6},
-  {0x3647, 0x23eaa8b7},
-  {0x3648, 0x23eaa8b8},
-  {0x3649, 0x23eaa8b9},
-  {0x364a, 0x23eaacb0},
-  {0x364b, 0x23eaacb1},
-  {0x364c, 0x23eaacb2},
-  {0x364d, 0x23eaacb3},
-  {0x364e, 0x23eaacb4},
-  {0x364f, 0x23eaacb5},
-  {0x3650, 0x23eaacb6},
-  {0x3651, 0x23eaacb7},
-  {0x3652, 0x23eaacb8},
-  {0x3653, 0x23eaacb9},
-  {0x3654, 0x23eab0b0},
-  {0x3655, 0x23eab0b1},
-  {0x3656, 0x23eab0b2},
-  {0x3657, 0x23eab0b3},
-  {0x3658, 0x23eab0b4},
-  {0x3659, 0x23eab0b5},
-  {0x365a, 0x23eab0b6},
-  {0x365b, 0x23eab0b7},
-  {0x365c, 0x23eab0b8},
-  {0x365d, 0x23eab0b9},
-  {0x365e, 0x23eab4b0},
-  {0x365f, 0x23eab4b1},
-  {0x3660, 0x23eab4b2},
-  {0x3661, 0x23eab4b3},
-  {0x3662, 0x23eab4b4},
-  {0x3663, 0x23eab4b5},
-  {0x3664, 0x23eab4b6},
-  {0x3665, 0x23eab4b7},
-  {0x3666, 0x23eab4b8},
-  {0x3667, 0x23eab4b9},
-  {0x3668, 0x23eab8b0},
-  {0x3669, 0x23eab8b1},
-  {0x366a, 0x23eab8b2},
-  {0x366b, 0x23eab8b3},
-  {0x366c, 0x23eab8b4},
-  {0x366d, 0x23eab8b5},
-  {0x366e, 0x23eab8b6},
-  {0x366f, 0x23eab8b7},
-  {0x3670, 0x23eab8b8},
-  {0x3671, 0x23eab8b9},
-  {0x3672, 0x23eabcb0},
-  {0x3673, 0x23eabcb1},
-  {0x3674, 0x23eabcb2},
-  {0x3675, 0x23eabcb3},
-  {0x3676, 0x23eabcb4},
-  {0x3677, 0x23eabcb5},
-  {0x3678, 0x23eabcb6},
-  {0x3679, 0x23eabcb7},
-  {0x367a, 0x23eabcb8},
-  {0x367b, 0x23eabcb9},
-  {0x367c, 0x23eb80b0},
-  {0x367d, 0x23eb80b1},
-  {0x367e, 0x23eb80b2},
-  {0x367f, 0x23eb80b3},
-  {0x3680, 0x23eb80b4},
-  {0x3681, 0x23eb80b5},
-  {0x3682, 0x23eb80b6},
-  {0x3683, 0x23eb80b7},
-  {0x3684, 0x23eb80b8},
-  {0x3685, 0x23eb80b9},
-  {0x3686, 0x23eb84b0},
-  {0x3687, 0x23eb84b1},
-  {0x3688, 0x23eb84b2},
-  {0x3689, 0x23eb84b3},
-  {0x368a, 0x23eb84b4},
-  {0x368b, 0x23eb84b5},
-  {0x368c, 0x23eb84b6},
-  {0x368d, 0x23eb84b7},
-  {0x368e, 0x23eb84b8},
-  {0x368f, 0x23eb84b9},
-  {0x3690, 0x23eb88b0},
-  {0x3691, 0x23eb88b1},
-  {0x3692, 0x23eb88b2},
-  {0x3693, 0x23eb88b3},
-  {0x3694, 0x23eb88b4},
-  {0x3695, 0x23eb88b5},
-  {0x3696, 0x23eb88b6},
-  {0x3697, 0x23eb88b7},
-  {0x3698, 0x23eb88b8},
-  {0x3699, 0x23eb88b9},
-  {0x369a, 0x23eb8cb0},
-  {0x369b, 0x23eb8cb1},
-  {0x369c, 0x23eb8cb2},
-  {0x369d, 0x23eb8cb3},
-  {0x369e, 0x23eb8cb4},
-  {0x369f, 0x23eb8cb5},
-  {0x36a0, 0x23eb8cb6},
-  {0x36a1, 0x23eb8cb7},
-  {0x36a2, 0x23eb8cb8},
-  {0x36a3, 0x23eb8cb9},
-  {0x36a4, 0x23eb90b0},
-  {0x36a5, 0x23eb90b1},
-  {0x36a6, 0x23eb90b2},
-  {0x36a7, 0x23eb90b3},
-  {0x36a8, 0x23eb90b4},
-  {0x36a9, 0x23eb90b5},
-  {0x36aa, 0x23eb90b6},
-  {0x36ab, 0x23eb90b7},
-  {0x36ac, 0x23eb90b8},
-  {0x36ad, 0x23eb90b9},
-  {0x36ae, 0x23eb94b0},
-  {0x36af, 0x23eb94b1},
-  {0x36b0, 0x23eb94b2},
-  {0x36b1, 0x23eb94b3},
-  {0x36b2, 0x23eb94b4},
-  {0x36b3, 0x23eb94b5},
-  {0x36b4, 0x23eb94b6},
-  {0x36b5, 0x23eb94b7},
-  {0x36b6, 0x23eb94b8},
-  {0x36b7, 0x23eb94b9},
-  {0x36b8, 0x23eb98b0},
-  {0x36b9, 0x23eb98b1},
-  {0x36ba, 0x23eb98b2},
-  {0x36bb, 0x23eb98b3},
-  {0x36bc, 0x23eb98b4},
-  {0x36bd, 0x23eb98b5},
-  {0x36be, 0x23eb98b6},
-  {0x36bf, 0x23eb98b7},
-  {0x36c0, 0x23eb98b8},
-  {0x36c1, 0x23eb98b9},
-  {0x36c2, 0x23eb9cb0},
-  {0x36c3, 0x23eb9cb1},
-  {0x36c4, 0x23eb9cb2},
-  {0x36c5, 0x23eb9cb3},
-  {0x36c6, 0x23eb9cb4},
-  {0x36c7, 0x23eb9cb5},
-  {0x36c8, 0x23eb9cb6},
-  {0x36c9, 0x23eb9cb7},
-  {0x36ca, 0x23eb9cb8},
-  {0x36cb, 0x23eb9cb9},
-  {0x36cc, 0x23eba0b0},
-  {0x36cd, 0x23eba0b1},
-  {0x36ce, 0x23eba0b2},
-  {0x36cf, 0x23eba0b3},
-  {0x36d0, 0x23eba0b4},
-  {0x36d1, 0x23eba0b5},
-  {0x36d2, 0x23eba0b6},
-  {0x36d3, 0x23eba0b7},
-  {0x36d4, 0x23eba0b8},
-  {0x36d5, 0x23eba0b9},
-  {0x36d6, 0x23eba4b0},
-  {0x36d7, 0x23eba4b1},
-  {0x36d8, 0x23eba4b2},
-  {0x36d9, 0x23eba4b3},
-  {0x36da, 0x23eba4b4},
-  {0x36db, 0x23eba4b5},
-  {0x36dc, 0x23eba4b6},
-  {0x36dd, 0x23eba4b7},
-  {0x36de, 0x23eba4b8},
-  {0x36df, 0x23eba4b9},
-  {0x36e0, 0x23eba8b0},
-  {0x36e1, 0x23eba8b1},
-  {0x36e2, 0x23eba8b2},
-  {0x36e3, 0x23eba8b3},
-  {0x36e4, 0x23eba8b4},
-  {0x36e5, 0x23eba8b5},
-  {0x36e6, 0x23eba8b6},
-  {0x36e7, 0x23eba8b7},
-  {0x36e8, 0x23eba8b8},
-  {0x36e9, 0x23eba8b9},
-  {0x36ea, 0x23ebacb0},
-  {0x36eb, 0x23ebacb1},
-  {0x36ec, 0x23ebacb2},
-  {0x36ed, 0x23ebacb3},
-  {0x36ee, 0x23ebacb4},
-  {0x36ef, 0x23ebacb5},
-  {0x36f0, 0x23ebacb6},
-  {0x36f1, 0x23ebacb7},
-  {0x36f2, 0x23ebacb8},
-  {0x36f3, 0x23ebacb9},
-  {0x36f4, 0x23ebb0b0},
-  {0x36f5, 0x23ebb0b1},
-  {0x36f6, 0x23ebb0b2},
-  {0x36f7, 0x23ebb0b3},
-  {0x36f8, 0x23ebb0b4},
-  {0x36f9, 0x23ebb0b5},
-  {0x36fa, 0x23ebb0b6},
-  {0x36fb, 0x23ebb0b7},
-  {0x36fc, 0x23ebb0b8},
-  {0x36fd, 0x23ebb0b9},
-  {0x36fe, 0x23ebb4b0},
-  {0x36ff, 0x23ebb4b1},
-  {0x3700, 0x23ebb4b2},
-  {0x3701, 0x23ebb4b3},
-  {0x3702, 0x23ebb4b4},
-  {0x3703, 0x23ebb4b5},
-  {0x3704, 0x23ebb4b6},
-  {0x3705, 0x23ebb4b7},
-  {0x3706, 0x23ebb4b8},
-  {0x3707, 0x23ebb4b9},
-  {0x3708, 0x23ebb8b0},
-  {0x3709, 0x23ebb8b1},
-  {0x370a, 0x23ebb8b2},
-  {0x370b, 0x23ebb8b3},
-  {0x370c, 0x23ebb8b4},
-  {0x370d, 0x23ebb8b5},
-  {0x370e, 0x23ebb8b6},
-  {0x370f, 0x23ebb8b7},
-  {0x3710, 0x23ebb8b8},
-  {0x3711, 0x23ebb8b9},
-  {0x3712, 0x23ebbcb0},
-  {0x3713, 0x23ebbcb1},
-  {0x3714, 0x23ebbcb2},
-  {0x3715, 0x23ebbcb3},
-  {0x3716, 0x23ebbcb4},
-  {0x3717, 0x23ebbcb5},
-  {0x3718, 0x23ebbcb6},
-  {0x3719, 0x23ebbcb7},
-  {0x371a, 0x23ebbcb8},
-  {0x371b, 0x23ebbcb9},
-  {0x371c, 0x23ec80b0},
-  {0x371d, 0x23ec80b1},
-  {0x371e, 0x23ec80b2},
-  {0x371f, 0x23ec80b3},
-  {0x3720, 0x23ec80b4},
-  {0x3721, 0x23ec80b5},
-  {0x3722, 0x23ec80b6},
-  {0x3723, 0x23ec80b7},
-  {0x3724, 0x23ec80b8},
-  {0x3725, 0x23ec80b9},
-  {0x3726, 0x23ec84b0},
-  {0x3727, 0x23ec84b1},
-  {0x3728, 0x23ec84b2},
-  {0x3729, 0x23ec84b3},
-  {0x372a, 0x23ec84b4},
-  {0x372b, 0x23ec84b5},
-  {0x372c, 0x23ec84b6},
-  {0x372d, 0x23ec84b7},
-  {0x372e, 0x23ec84b8},
-  {0x372f, 0x23ec84b9},
-  {0x3730, 0x23ec88b0},
-  {0x3731, 0x23ec88b1},
-  {0x3732, 0x23ec88b2},
-  {0x3733, 0x23ec88b3},
-  {0x3734, 0x23ec88b4},
-  {0x3735, 0x23ec88b5},
-  {0x3736, 0x23ec88b6},
-  {0x3737, 0x23ec88b7},
-  {0x3738, 0x23ec88b8},
-  {0x3739, 0x23ec88b9},
-  {0x373a, 0x23ec8cb0},
-  {0x373b, 0x23ec8cb1},
-  {0x373c, 0x23ec8cb2},
-  {0x373d, 0x23ec8cb3},
-  {0x373e, 0x23ec8cb4},
-  {0x373f, 0x23ec8cb5},
-  {0x3740, 0x23ec8cb6},
-  {0x3741, 0x23ec8cb7},
-  {0x3742, 0x23ec8cb8},
-  {0x3743, 0x23ec8cb9},
-  {0x3744, 0x23ec90b0},
-  {0x3745, 0x23ec90b1},
-  {0x3746, 0x23ec90b2},
-  {0x3747, 0x23ec90b3},
-  {0x3748, 0x23ec90b4},
-  {0x3749, 0x23ec90b5},
-  {0x374a, 0x23ec90b6},
-  {0x374b, 0x23ec90b7},
-  {0x374c, 0x23ec90b8},
-  {0x374d, 0x23ec90b9},
-  {0x374e, 0x23ec94b0},
-  {0x374f, 0x23ec94b1},
-  {0x3750, 0x23ec94b2},
-  {0x3751, 0x23ec94b3},
-  {0x3752, 0x23ec94b4},
-  {0x3753, 0x23ec94b5},
-  {0x3754, 0x23ec94b6},
-  {0x3755, 0x23ec94b7},
-  {0x3756, 0x23ec94b8},
-  {0x3757, 0x23ec94b9},
-  {0x3758, 0x23ec98b0},
-  {0x3759, 0x23ec98b1},
-  {0x375a, 0x23ec98b2},
-  {0x375b, 0x23ec98b3},
-  {0x375c, 0x23ec98b4},
-  {0x375d, 0x23ec98b5},
-  {0x375e, 0x23ec98b6},
-  {0x375f, 0x23ec98b7},
-  {0x3760, 0x23ec98b8},
-  {0x3761, 0x23ec98b9},
-  {0x3762, 0x23ec9cb0},
-  {0x3763, 0x23ec9cb1},
-  {0x3764, 0x23ec9cb2},
-  {0x3765, 0x23ec9cb3},
-  {0x3766, 0x23ec9cb4},
-  {0x3767, 0x23ec9cb5},
-  {0x3768, 0x23ec9cb6},
-  {0x3769, 0x23ec9cb7},
-  {0x376a, 0x23ec9cb8},
-  {0x376b, 0x23ec9cb9},
-  {0x376c, 0x23eca0b0},
-  {0x376d, 0x23eca0b1},
-  {0x376e, 0x23eca0b2},
-  {0x376f, 0x23eca0b3},
-  {0x3770, 0x23eca0b4},
-  {0x3771, 0x23eca0b5},
-  {0x3772, 0x23eca0b6},
-  {0x3773, 0x23eca0b7},
-  {0x3774, 0x23eca0b8},
-  {0x3775, 0x23eca0b9},
-  {0x3776, 0x23eca4b0},
-  {0x3777, 0x23eca4b1},
-  {0x3778, 0x23eca4b2},
-  {0x3779, 0x23eca4b3},
-  {0x377a, 0x23eca4b4},
-  {0x377b, 0x23eca4b5},
-  {0x377c, 0x23eca4b6},
-  {0x377d, 0x23eca4b7},
-  {0x377e, 0x23eca4b8},
-  {0x377f, 0x23eca4b9},
-  {0x3780, 0x23eca8b0},
-  {0x3781, 0x23eca8b1},
-  {0x3782, 0x23eca8b2},
-  {0x3783, 0x23eca8b3},
-  {0x3784, 0x23eca8b4},
-  {0x3785, 0x23eca8b5},
-  {0x3786, 0x23eca8b6},
-  {0x3787, 0x23eca8b7},
-  {0x3788, 0x23eca8b8},
-  {0x3789, 0x23eca8b9},
-  {0x378a, 0x23ecacb0},
-  {0x378b, 0x23ecacb1},
-  {0x378c, 0x23ecacb2},
-  {0x378d, 0x23ecacb3},
-  {0x378e, 0x23ecacb4},
-  {0x378f, 0x23ecacb5},
-  {0x3790, 0x23ecacb6},
-  {0x3791, 0x23ecacb7},
-  {0x3792, 0x23ecacb8},
-  {0x3793, 0x23ecacb9},
-  {0x3794, 0x23ecb0b0},
-  {0x3795, 0x23ecb0b1},
-  {0x3796, 0x23ecb0b2},
-  {0x3797, 0x23ecb0b3},
-  {0x3798, 0x23ecb0b4},
-  {0x3799, 0x23ecb0b5},
-  {0x379a, 0x23ecb0b6},
-  {0x379b, 0x23ecb0b7},
-  {0x379c, 0x23ecb0b8},
-  {0x379d, 0x23ecb0b9},
-  {0x379e, 0x23ecb4b0},
-  {0x379f, 0x23ecb4b1},
-  {0x37a0, 0x23ecb4b2},
-  {0x37a1, 0x23ecb4b3},
-  {0x37a2, 0x23ecb4b4},
-  {0x37a3, 0x23ecb4b5},
-  {0x37a4, 0x23ecb4b6},
-  {0x37a5, 0x23ecb4b7},
-  {0x37a6, 0x23ecb4b8},
-  {0x37a7, 0x23ecb4b9},
-  {0x37a8, 0x23ecb8b0},
-  {0x37a9, 0x23ecb8b1},
-  {0x37aa, 0x23ecb8b2},
-  {0x37ab, 0x23ecb8b3},
-  {0x37ac, 0x23ecb8b4},
-  {0x37ad, 0x23ecb8b5},
-  {0x37ae, 0x23ecb8b6},
-  {0x37af, 0x23ecb8b7},
-  {0x37b0, 0x23ecb8b8},
-  {0x37b1, 0x23ecb8b9},
-  {0x37b2, 0x23ecbcb0},
-  {0x37b3, 0x23ecbcb1},
-  {0x37b4, 0x23ecbcb2},
-  {0x37b5, 0x23ecbcb3},
-  {0x37b6, 0x23ecbcb4},
-  {0x37b7, 0x23ecbcb5},
-  {0x37b8, 0x23ecbcb6},
-  {0x37b9, 0x23ecbcb7},
-  {0x37ba, 0x23ecbcb8},
-  {0x37bb, 0x23ecbcb9},
-  {0x37bc, 0x23ed80b0},
-  {0x37bd, 0x23ed80b1},
-  {0x37be, 0x23ed80b2},
-  {0x37bf, 0x23ed80b3},
-  {0x37c0, 0x23ed80b4},
-  {0x37c1, 0x23ed80b5},
-  {0x37c2, 0x23ed80b6},
-  {0x37c3, 0x23ed80b7},
-  {0x37c4, 0x23ed80b8},
-  {0x37c5, 0x23ed80b9},
-  {0x37c6, 0x23ed84b0},
-  {0x37c7, 0x23ed84b1},
-  {0x37c8, 0x23ed84b2},
-  {0x37c9, 0x23ed84b3},
-  {0x37ca, 0x23ed84b4},
-  {0x37cb, 0x23ed84b5},
-  {0x37cc, 0x23ed84b6},
-  {0x37cd, 0x23ed84b7},
-  {0x37ce, 0x23ed84b8},
-  {0x37cf, 0x23ed84b9},
-  {0x37d0, 0x23ed88b0},
-  {0x37d1, 0x23ed88b1},
-  {0x37d2, 0x23ed88b2},
-  {0x37d3, 0x23ed88b3},
-  {0x37d4, 0x23ed88b4},
-  {0x37d5, 0x23ed88b5},
-  {0x37d6, 0x23ed88b6},
-  {0x37d7, 0x23ed88b7},
-  {0x37d8, 0x23ed88b8},
-  {0x37d9, 0x23ed88b9},
-  {0x37da, 0x23ed8cb0},
-  {0x37db, 0x23ed8cb1},
-  {0x37dc, 0x23ed8cb2},
-  {0x37dd, 0x23ed8cb3},
-  {0x37de, 0x23ed8cb4},
-  {0x37df, 0x23ed8cb5},
-  {0x37e0, 0x23ed8cb6},
-  {0x37e1, 0x23ed8cb7},
-  {0x37e2, 0x23ed8cb8},
-  {0x37e3, 0x23ed8cb9},
-  {0x37e4, 0x23ed90b0},
-  {0x37e5, 0x23ed90b1},
-  {0x37e6, 0x23ed90b2},
-  {0x37e7, 0x23ed90b3},
-  {0x37e8, 0x23ed90b4},
-  {0x37e9, 0x23ed90b5},
-  {0x37ea, 0x23ed90b6},
-  {0x37eb, 0x23ed90b7},
-  {0x37ec, 0x23ed90b8},
-  {0x37ed, 0x23ed90b9},
-  {0x37ee, 0x23ed94b0},
-  {0x37ef, 0x23ed94b1},
-  {0x37f0, 0x23ed94b2},
-  {0x37f1, 0x23ed94b3},
-  {0x37f2, 0x23ed94b4},
-  {0x37f3, 0x23ed94b5},
-  {0x37f4, 0x23ed94b6},
-  {0x37f5, 0x23ed94b7},
-  {0x37f6, 0x23ed94b8},
-  {0x37f7, 0x23ed94b9},
-  {0x37f8, 0x23ed98b0},
-  {0x37f9, 0x23ed98b1},
-  {0x37fa, 0x23ed98b2},
-  {0x37fb, 0x23ed98b3},
-  {0x37fc, 0x23ed98b4},
-  {0x37fd, 0x23ed98b5},
-  {0x37fe, 0x23ed98b6},
-  {0x37ff, 0x23ed98b7},
-  {0x3800, 0x23ed98b8},
-  {0x3801, 0x23ed98b9},
-  {0x3802, 0x23ed9cb0},
-  {0x3803, 0x23ed9cb1},
-  {0x3804, 0x23ed9cb2},
-  {0x3805, 0x23ed9cb3},
-  {0x3806, 0x23ed9cb4},
-  {0x3807, 0x23ed9cb5},
-  {0x3808, 0x23ed9cb6},
-  {0x3809, 0x23ed9cb7},
-  {0x380a, 0x23ed9cb8},
-  {0x380b, 0x23ed9cb9},
-  {0x380c, 0x23eda0b0},
-  {0x380d, 0x23eda0b1},
-  {0x380e, 0x23eda0b2},
-  {0x380f, 0x23eda0b3},
-  {0x3810, 0x23eda0b4},
-  {0x3811, 0x23eda0b5},
-  {0x3812, 0x23eda0b6},
-  {0x3813, 0x23eda0b7},
-  {0x3814, 0x23eda0b8},
-  {0x3815, 0x23eda0b9},
-  {0x3816, 0x23eda4b0},
-  {0x3817, 0x23eda4b1},
-  {0x3818, 0x23eda4b2},
-  {0x3819, 0x23eda4b3},
-  {0x381a, 0x23eda4b4},
-  {0x381b, 0x23eda4b5},
-  {0x381c, 0x23eda4b6},
-  {0x381d, 0x23eda4b7},
-  {0x381e, 0x23eda4b8},
-  {0x381f, 0x23eda4b9},
-  {0x3820, 0x23eda8b0},
-  {0x3821, 0x23eda8b1},
-  {0x3822, 0x23eda8b2},
-  {0x3823, 0x23eda8b3},
-  {0x3824, 0x23eda8b4},
-  {0x3825, 0x23eda8b5},
-  {0x3826, 0x23eda8b6},
-  {0x3827, 0x23eda8b7},
-  {0x3828, 0x23eda8b8},
-  {0x3829, 0x23eda8b9},
-  {0x382a, 0x23edacb0},
-  {0x382b, 0x23edacb1},
-  {0x382c, 0x23edacb2},
-  {0x382d, 0x23edacb3},
-  {0x382e, 0x23edacb4},
-  {0x382f, 0x23edacb5},
-  {0x3830, 0x23edacb6},
-  {0x3831, 0x23edacb7},
-  {0x3832, 0x23edacb8},
-  {0x3833, 0x23edacb9},
-  {0x3834, 0x23edb0b0},
-  {0x3835, 0x23edb0b1},
-  {0x3836, 0x23edb0b2},
-  {0x3837, 0x23edb0b3},
-  {0x3838, 0x23edb0b4},
-  {0x3839, 0x23edb0b5},
-  {0x383a, 0x23edb0b6},
-  {0x383b, 0x23edb0b7},
-  {0x383c, 0x23edb0b8},
-  {0x383d, 0x23edb0b9},
-  {0x383e, 0x23edb4b0},
-  {0x383f, 0x23edb4b1},
-  {0x3840, 0x23edb4b2},
-  {0x3841, 0x23edb4b3},
-  {0x3842, 0x23edb4b4},
-  {0x3843, 0x23edb4b5},
-  {0x3844, 0x23edb4b6},
-  {0x3845, 0x23edb4b7},
-  {0x3846, 0x23edb4b8},
-  {0x3847, 0x23edb4b9},
-  {0x3848, 0x23edb8b0},
-  {0x3849, 0x23edb8b1},
-  {0x384a, 0x23edb8b2},
-  {0x384b, 0x23edb8b3},
-  {0x384c, 0x23edb8b4},
-  {0x384d, 0x23edb8b5},
-  {0x384e, 0x23edb8b6},
-  {0x384f, 0x23edb8b7},
-  {0x3850, 0x23edb8b8},
-  {0x3851, 0x23edb8b9},
-  {0x3852, 0x23edbcb0},
-  {0x3853, 0x23edbcb1},
-  {0x3854, 0x23edbcb2},
-  {0x3855, 0x23edbcb3},
-  {0x3856, 0x23edbcb4},
-  {0x3857, 0x23edbcb5},
-  {0x3858, 0x23edbcb6},
-  {0x3859, 0x23edbcb7},
-  {0x385a, 0x23edbcb8},
-  {0x385b, 0x23edbcb9},
-  {0x385c, 0x23ee80b0},
-  {0x385d, 0x23ee80b1},
-  {0x385e, 0x23ee80b2},
-  {0x385f, 0x23ee80b3},
-  {0x3860, 0x23ee80b4},
-  {0x3861, 0x23ee80b5},
-  {0x3862, 0x23ee80b6},
-  {0x3863, 0x23ee80b7},
-  {0x3864, 0x23ee80b8},
-  {0x3865, 0x23ee80b9},
-  {0x3866, 0x23ee84b0},
-  {0x3867, 0x23ee84b1},
-  {0x3868, 0x23ee84b2},
-  {0x3869, 0x23ee84b3},
-  {0x386a, 0x23ee84b4},
-  {0x386b, 0x23ee84b5},
-  {0x386c, 0x23ee84b6},
-  {0x386d, 0x23ee84b7},
-  {0x386e, 0x23ee84b8},
-  {0x386f, 0x23ee84b9},
-  {0x3870, 0x23ee88b0},
-  {0x3871, 0x23ee88b1},
-  {0x3872, 0x23ee88b2},
-  {0x3873, 0x23ee88b3},
-  {0x3874, 0x23ee88b4},
-  {0x3875, 0x23ee88b5},
-  {0x3876, 0x23ee88b6},
-  {0x3877, 0x23ee88b7},
-  {0x3878, 0x23ee88b8},
-  {0x3879, 0x23ee88b9},
-  {0x387a, 0x23ee8cb0},
-  {0x387b, 0x23ee8cb1},
-  {0x387c, 0x23ee8cb2},
-  {0x387d, 0x23ee8cb3},
-  {0x387e, 0x23ee8cb4},
-  {0x387f, 0x23ee8cb5},
-  {0x3880, 0x23ee8cb6},
-  {0x3881, 0x23ee8cb7},
-  {0x3882, 0x23ee8cb8},
-  {0x3883, 0x23ee8cb9},
-  {0x3884, 0x23ee90b0},
-  {0x3885, 0x23ee90b1},
-  {0x3886, 0x23ee90b2},
-  {0x3887, 0x23ee90b3},
-  {0x3888, 0x23ee90b4},
-  {0x3889, 0x23ee90b5},
-  {0x388a, 0x23ee90b6},
-  {0x388b, 0x23ee90b7},
-  {0x388c, 0x23ee90b8},
-  {0x388d, 0x23ee90b9},
-  {0x388e, 0x23ee94b0},
-  {0x388f, 0x23ee94b1},
-  {0x3890, 0x23ee94b2},
-  {0x3891, 0x23ee94b3},
-  {0x3892, 0x23ee94b4},
-  {0x3893, 0x23ee94b5},
-  {0x3894, 0x23ee94b6},
-  {0x3895, 0x23ee94b7},
-  {0x3896, 0x23ee94b8},
-  {0x3897, 0x23ee94b9},
-  {0x3898, 0x23ee98b0},
-  {0x3899, 0x23ee98b1},
-  {0x389a, 0x23ee98b2},
-  {0x389b, 0x23ee98b3},
-  {0x389c, 0x23ee98b4},
-  {0x389d, 0x23ee98b5},
-  {0x389e, 0x23ee98b6},
-  {0x389f, 0x23ee98b7},
-  {0x38a0, 0x23ee98b8},
-  {0x38a1, 0x23ee98b9},
-  {0x38a2, 0x23ee9cb0},
-  {0x38a3, 0x23ee9cb1},
-  {0x38a4, 0x23ee9cb2},
-  {0x38a5, 0x23ee9cb3},
-  {0x38a6, 0x23ee9cb4},
-  {0x38a7, 0x23ee9cb5},
-  {0x38a8, 0x23ee9cb6},
-  {0x38a9, 0x23ee9cb7},
-  {0x38aa, 0x23ee9cb8},
-  {0x38ab, 0x23ee9cb9},
-  {0x38ac, 0x23eea0b0},
-  {0x38ad, 0x23eea0b1},
-  {0x38ae, 0x23eea0b2},
-  {0x38af, 0x23eea0b3},
-  {0x38b0, 0x23eea0b4},
-  {0x38b1, 0x23eea0b5},
-  {0x38b2, 0x23eea0b6},
-  {0x38b3, 0x23eea0b7},
-  {0x38b4, 0x23eea0b8},
-  {0x38b5, 0x23eea0b9},
-  {0x38b6, 0x23eea4b0},
-  {0x38b7, 0x23eea4b1},
-  {0x38b8, 0x23eea4b2},
-  {0x38b9, 0x23eea4b3},
-  {0x38ba, 0x23eea4b4},
-  {0x38bb, 0x23eea4b5},
-  {0x38bc, 0x23eea4b6},
-  {0x38bd, 0x23eea4b7},
-  {0x38be, 0x23eea4b8},
-  {0x38bf, 0x23eea4b9},
-  {0x38c0, 0x23eea8b0},
-  {0x38c1, 0x23eea8b1},
-  {0x38c2, 0x23eea8b2},
-  {0x38c3, 0x23eea8b3},
-  {0x38c4, 0x23eea8b4},
-  {0x38c5, 0x23eea8b5},
-  {0x38c6, 0x23eea8b6},
-  {0x38c7, 0x23eea8b7},
-  {0x38c8, 0x23eea8b8},
-  {0x38c9, 0x23eea8b9},
-  {0x38ca, 0x23eeacb0},
-  {0x38cb, 0x23eeacb1},
-  {0x38cc, 0x23eeacb2},
-  {0x38cd, 0x23eeacb3},
-  {0x38ce, 0x23eeacb4},
-  {0x38cf, 0x23eeacb5},
-  {0x38d0, 0x23eeacb6},
-  {0x38d1, 0x23eeacb7},
-  {0x38d2, 0x23eeacb8},
-  {0x38d3, 0x23eeacb9},
-  {0x38d4, 0x23eeb0b0},
-  {0x38d5, 0x23eeb0b1},
-  {0x38d6, 0x23eeb0b2},
-  {0x38d7, 0x23eeb0b3},
-  {0x38d8, 0x23eeb0b4},
-  {0x38d9, 0x23eeb0b5},
-  {0x38da, 0x23eeb0b6},
-  {0x38db, 0x23eeb0b7},
-  {0x38dc, 0x23eeb0b8},
-  {0x38dd, 0x23eeb0b9},
-  {0x38de, 0x23eeb4b0},
-  {0x38df, 0x23eeb4b1},
-  {0x38e0, 0x23eeb4b2},
-  {0x38e1, 0x23eeb4b3},
-  {0x38e2, 0x23eeb4b4},
-  {0x38e3, 0x23eeb4b5},
-  {0x38e4, 0x23eeb4b6},
-  {0x38e5, 0x23eeb4b7},
-  {0x38e6, 0x23eeb4b8},
-  {0x38e7, 0x23eeb4b9},
-  {0x38e8, 0x23eeb8b0},
-  {0x38e9, 0x23eeb8b1},
-  {0x38ea, 0x23eeb8b2},
-  {0x38eb, 0x23eeb8b3},
-  {0x38ec, 0x23eeb8b4},
-  {0x38ed, 0x23eeb8b5},
-  {0x38ee, 0x23eeb8b6},
-  {0x38ef, 0x23eeb8b7},
-  {0x38f0, 0x23eeb8b8},
-  {0x38f1, 0x23eeb8b9},
-  {0x38f2, 0x23eebcb0},
-  {0x38f3, 0x23eebcb1},
-  {0x38f4, 0x23eebcb2},
-  {0x38f5, 0x23eebcb3},
-  {0x38f6, 0x23eebcb4},
-  {0x38f7, 0x23eebcb5},
-  {0x38f8, 0x23eebcb6},
-  {0x38f9, 0x23eebcb7},
-  {0x38fa, 0x23eebcb8},
-  {0x38fb, 0x23eebcb9},
-  {0x38fc, 0x23ef80b0},
-  {0x38fd, 0x23ef80b1},
-  {0x38fe, 0x23ef80b2},
-  {0x38ff, 0x23ef80b3},
-  {0x3900, 0x23ef80b4},
-  {0x3901, 0x23ef80b5},
-  {0x3902, 0x23ef80b6},
-  {0x3903, 0x23ef80b7},
-  {0x3904, 0x23ef80b8},
-  {0x3905, 0x23ef80b9},
-  {0x3906, 0x23ef84b0},
-  {0x3907, 0x23ef84b1},
-  {0x3908, 0x23ef84b2},
-  {0x3909, 0x23ef84b3},
-  {0x390a, 0x23ef84b4},
-  {0x390b, 0x23ef84b5},
-  {0x390c, 0x23ef84b6},
-  {0x390d, 0x23ef84b7},
-  {0x390e, 0x23ef84b8},
-  {0x390f, 0x23ef84b9},
-  {0x3910, 0x23ef88b0},
-  {0x3911, 0x23ef88b1},
-  {0x3912, 0x23ef88b2},
-  {0x3913, 0x23ef88b3},
-  {0x3914, 0x23ef88b4},
-  {0x3915, 0x23ef88b5},
-  {0x3916, 0x23ef88b6},
-  {0x3917, 0x23ef88b7},
-  {0x3918, 0xefb9a0},
-  {0x3919, 0x23ef88b8},
-  {0x391a, 0x23ef88b9},
-  {0x391b, 0x23ef8cb0},
-  {0x391c, 0x23ef8cb1},
-  {0x391d, 0x23ef8cb2},
-  {0x391e, 0x23ef8cb3},
-  {0x391f, 0x23ef8cb4},
-  {0x3920, 0x23ef8cb5},
-  {0x3921, 0x23ef8cb6},
-  {0x3922, 0x23ef8cb7},
-  {0x3923, 0x23ef8cb8},
-  {0x3924, 0x23ef8cb9},
-  {0x3925, 0x23ef90b0},
-  {0x3926, 0x23ef90b1},
-  {0x3927, 0x23ef90b2},
-  {0x3928, 0x23ef90b3},
-  {0x3929, 0x23ef90b4},
-  {0x392a, 0x23ef90b5},
-  {0x392b, 0x23ef90b6},
-  {0x392c, 0x23ef90b7},
-  {0x392d, 0x23ef90b8},
-  {0x392e, 0x23ef90b9},
-  {0x392f, 0x23ef94b0},
-  {0x3930, 0x23ef94b1},
-  {0x3931, 0x23ef94b2},
-  {0x3932, 0x23ef94b3},
-  {0x3933, 0x23ef94b4},
-  {0x3934, 0x23ef94b5},
-  {0x3935, 0x23ef94b6},
-  {0x3936, 0x23ef94b7},
-  {0x3937, 0x23ef94b8},
-  {0x3938, 0x23ef94b9},
-  {0x3939, 0x23ef98b0},
-  {0x393a, 0x23ef98b1},
-  {0x393b, 0x23ef98b2},
-  {0x393c, 0x23ef98b3},
-  {0x393d, 0x23ef98b4},
-  {0x393e, 0x23ef98b5},
-  {0x393f, 0x23ef98b6},
-  {0x3940, 0x23ef98b7},
-  {0x3941, 0x23ef98b8},
-  {0x3942, 0x23ef98b9},
-  {0x3943, 0x23ef9cb0},
-  {0x3944, 0x23ef9cb1},
-  {0x3945, 0x23ef9cb2},
-  {0x3946, 0x23ef9cb3},
-  {0x3947, 0x23ef9cb4},
-  {0x3948, 0x23ef9cb5},
-  {0x3949, 0x23ef9cb6},
-  {0x394a, 0x23ef9cb7},
-  {0x394b, 0x23ef9cb8},
-  {0x394c, 0x23ef9cb9},
-  {0x394d, 0x23efa0b0},
-  {0x394e, 0x23efa0b1},
-  {0x394f, 0x23efa0b2},
-  {0x3950, 0x23efa0b3},
-  {0x3951, 0x23efa0b4},
-  {0x3952, 0x23efa0b5},
-  {0x3953, 0x23efa0b6},
-  {0x3954, 0x23efa0b7},
-  {0x3955, 0x23efa0b8},
-  {0x3956, 0x23efa0b9},
-  {0x3957, 0x23efa4b0},
-  {0x3958, 0x23efa4b1},
-  {0x3959, 0x23efa4b2},
-  {0x395a, 0x23efa4b3},
-  {0x395b, 0x23efa4b4},
-  {0x395c, 0x23efa4b5},
-  {0x395d, 0x23efa4b6},
-  {0x395e, 0x23efa4b7},
-  {0x395f, 0x23efa4b8},
-  {0x3960, 0x23efa4b9},
-  {0x3961, 0x23efa8b0},
-  {0x3962, 0x23efa8b1},
-  {0x3963, 0x23efa8b2},
-  {0x3964, 0x23efa8b3},
-  {0x3965, 0x23efa8b4},
-  {0x3966, 0x23efa8b5},
-  {0x3967, 0x23efa8b6},
-  {0x3968, 0x23efa8b7},
-  {0x3969, 0x23efa8b8},
-  {0x396a, 0x23efa8b9},
-  {0x396b, 0x23efacb0},
-  {0x396c, 0x23efacb1},
-  {0x396d, 0x23efacb2},
-  {0x396e, 0xefb99f},
-  {0x396f, 0x23efacb3},
-  {0x3970, 0x23efacb4},
-  {0x3971, 0x23efacb5},
-  {0x3972, 0x23efacb6},
-  {0x3973, 0x23efacb7},
-  {0x3974, 0x23efacb8},
-  {0x3975, 0x23efacb9},
-  {0x3976, 0x23efb0b0},
-  {0x3977, 0x23efb0b1},
-  {0x3978, 0x23efb0b2},
-  {0x3979, 0x23efb0b3},
-  {0x397a, 0x23efb0b4},
-  {0x397b, 0x23efb0b5},
-  {0x397c, 0x23efb0b6},
-  {0x397d, 0x23efb0b7},
-  {0x397e, 0x23efb0b8},
-  {0x397f, 0x23efb0b9},
-  {0x3980, 0x23efb4b0},
-  {0x3981, 0x23efb4b1},
-  {0x3982, 0x23efb4b2},
-  {0x3983, 0x23efb4b3},
-  {0x3984, 0x23efb4b4},
-  {0x3985, 0x23efb4b5},
-  {0x3986, 0x23efb4b6},
-  {0x3987, 0x23efb4b7},
-  {0x3988, 0x23efb4b8},
-  {0x3989, 0x23efb4b9},
-  {0x398a, 0x23efb8b0},
-  {0x398b, 0x23efb8b1},
-  {0x398c, 0x23efb8b2},
-  {0x398d, 0x23efb8b3},
-  {0x398e, 0x23efb8b4},
-  {0x398f, 0x23efb8b5},
-  {0x3990, 0x23efb8b6},
-  {0x3991, 0x23efb8b7},
-  {0x3992, 0x23efb8b8},
-  {0x3993, 0x23efb8b9},
-  {0x3994, 0x23f884b0},
-  {0x3995, 0x23f884b1},
-  {0x3996, 0x23f884b2},
-  {0x3997, 0x23f884b3},
-  {0x3998, 0x23f884b4},
-  {0x3999, 0x23f884b5},
-  {0x399a, 0x23f884b6},
-  {0x399b, 0x23f884b7},
-  {0x399c, 0x23f884b8},
-  {0x399d, 0x23f884b9},
-  {0x399e, 0x23f888b0},
-  {0x399f, 0x23f888b1},
-  {0x39a0, 0x23f888b2},
-  {0x39a1, 0x23f888b3},
-  {0x39a2, 0x23f888b4},
-  {0x39a3, 0x23f888b5},
-  {0x39a4, 0x23f888b6},
-  {0x39a5, 0x23f888b7},
-  {0x39a6, 0x23f888b8},
-  {0x39a7, 0x23f888b9},
-  {0x39a8, 0x23f88cb0},
-  {0x39a9, 0x23f88cb1},
-  {0x39aa, 0x23f88cb2},
-  {0x39ab, 0x23f88cb3},
-  {0x39ac, 0x23f88cb4},
-  {0x39ad, 0x23f88cb5},
-  {0x39ae, 0x23f88cb6},
-  {0x39af, 0x23f88cb7},
-  {0x39b0, 0x23f88cb8},
-  {0x39b1, 0x23f88cb9},
-  {0x39b2, 0x23f890b0},
-  {0x39b3, 0x23f890b1},
-  {0x39b4, 0x23f890b2},
-  {0x39b5, 0x23f890b3},
-  {0x39b6, 0x23f890b4},
-  {0x39b7, 0x23f890b5},
-  {0x39b8, 0x23f890b6},
-  {0x39b9, 0x23f890b7},
-  {0x39ba, 0x23f890b8},
-  {0x39bb, 0x23f890b9},
-  {0x39bc, 0x23f894b0},
-  {0x39bd, 0x23f894b1},
-  {0x39be, 0x23f894b2},
-  {0x39bf, 0x23f894b3},
-  {0x39c0, 0x23f894b4},
-  {0x39c1, 0x23f894b5},
-  {0x39c2, 0x23f894b6},
-  {0x39c3, 0x23f894b7},
-  {0x39c4, 0x23f894b8},
-  {0x39c5, 0x23f894b9},
-  {0x39c6, 0x23f898b0},
-  {0x39c7, 0x23f898b1},
-  {0x39c8, 0x23f898b2},
-  {0x39c9, 0x23f898b3},
-  {0x39ca, 0x23f898b4},
-  {0x39cb, 0x23f898b5},
-  {0x39cc, 0x23f898b6},
-  {0x39cd, 0x23f898b7},
-  {0x39ce, 0x23f898b8},
-  {0x39cf, 0xefb9a2},
-  {0x39d0, 0xefb9a5},
-  {0x39d1, 0x23f898b9},
-  {0x39d2, 0x23f89cb0},
-  {0x39d3, 0x23f89cb1},
-  {0x39d4, 0x23f89cb2},
-  {0x39d5, 0x23f89cb3},
-  {0x39d6, 0x23f89cb4},
-  {0x39d7, 0x23f89cb5},
-  {0x39d8, 0x23f89cb6},
-  {0x39d9, 0x23f89cb7},
-  {0x39da, 0x23f89cb8},
-  {0x39db, 0x23f89cb9},
-  {0x39dc, 0x23f8a0b0},
-  {0x39dd, 0x23f8a0b1},
-  {0x39de, 0x23f8a0b2},
-  {0x39df, 0xefb9a3},
-  {0x39e0, 0x23f8a0b3},
-  {0x39e1, 0x23f8a0b4},
-  {0x39e2, 0x23f8a0b5},
-  {0x39e3, 0x23f8a0b6},
-  {0x39e4, 0x23f8a0b7},
-  {0x39e5, 0x23f8a0b8},
-  {0x39e6, 0x23f8a0b9},
-  {0x39e7, 0x23f8a4b0},
-  {0x39e8, 0x23f8a4b1},
-  {0x39e9, 0x23f8a4b2},
-  {0x39ea, 0x23f8a4b3},
-  {0x39eb, 0x23f8a4b4},
-  {0x39ec, 0x23f8a4b5},
-  {0x39ed, 0x23f8a4b6},
-  {0x39ee, 0x23f8a4b7},
-  {0x39ef, 0x23f8a4b8},
-  {0x39f0, 0x23f8a4b9},
-  {0x39f1, 0x23f8a8b0},
-  {0x39f2, 0x23f8a8b1},
-  {0x39f3, 0x23f8a8b2},
-  {0x39f4, 0x23f8a8b3},
-  {0x39f5, 0x23f8a8b4},
-  {0x39f6, 0x23f8a8b5},
-  {0x39f7, 0x23f8a8b6},
-  {0x39f8, 0x23f8a8b7},
-  {0x39f9, 0x23f8a8b8},
-  {0x39fa, 0x23f8a8b9},
-  {0x39fb, 0x23f8acb0},
-  {0x39fc, 0x23f8acb1},
-  {0x39fd, 0x23f8acb2},
-  {0x39fe, 0x23f8acb3},
-  {0x39ff, 0x23f8acb4},
-  {0x3a00, 0x23f8acb5},
-  {0x3a01, 0x23f8acb6},
-  {0x3a02, 0x23f8acb7},
-  {0x3a03, 0x23f8acb8},
-  {0x3a04, 0x23f8acb9},
-  {0x3a05, 0x23f8b0b0},
-  {0x3a06, 0x23f8b0b1},
-  {0x3a07, 0x23f8b0b2},
-  {0x3a08, 0x23f8b0b3},
-  {0x3a09, 0x23f8b0b4},
-  {0x3a0a, 0x23f8b0b5},
-  {0x3a0b, 0x23f8b0b6},
-  {0x3a0c, 0x23f8b0b7},
-  {0x3a0d, 0x23f8b0b8},
-  {0x3a0e, 0x23f8b0b9},
-  {0x3a0f, 0x23f8b4b0},
-  {0x3a10, 0x23f8b4b1},
-  {0x3a11, 0x23f8b4b2},
-  {0x3a12, 0x23f8b4b3},
-  {0x3a13, 0x23f8b4b4},
-  {0x3a14, 0x23f8b4b5},
-  {0x3a15, 0x23f8b4b6},
-  {0x3a16, 0x23f8b4b7},
-  {0x3a17, 0x23f8b4b8},
-  {0x3a18, 0x23f8b4b9},
-  {0x3a19, 0x23f8b8b0},
-  {0x3a1a, 0x23f8b8b1},
-  {0x3a1b, 0x23f8b8b2},
-  {0x3a1c, 0x23f8b8b3},
-  {0x3a1d, 0x23f8b8b4},
-  {0x3a1e, 0x23f8b8b5},
-  {0x3a1f, 0x23f8b8b6},
-  {0x3a20, 0x23f8b8b7},
-  {0x3a21, 0x23f8b8b8},
-  {0x3a22, 0x23f8b8b9},
-  {0x3a23, 0x23f8bcb0},
-  {0x3a24, 0x23f8bcb1},
-  {0x3a25, 0x23f8bcb2},
-  {0x3a26, 0x23f8bcb3},
-  {0x3a27, 0x23f8bcb4},
-  {0x3a28, 0x23f8bcb5},
-  {0x3a29, 0x23f8bcb6},
-  {0x3a2a, 0x23f8bcb7},
-  {0x3a2b, 0x23f8bcb8},
-  {0x3a2c, 0x23f8bcb9},
-  {0x3a2d, 0x23f980b0},
-  {0x3a2e, 0x23f980b1},
-  {0x3a2f, 0x23f980b2},
-  {0x3a30, 0x23f980b3},
-  {0x3a31, 0x23f980b4},
-  {0x3a32, 0x23f980b5},
-  {0x3a33, 0x23f980b6},
-  {0x3a34, 0x23f980b7},
-  {0x3a35, 0x23f980b8},
-  {0x3a36, 0x23f980b9},
-  {0x3a37, 0x23f984b0},
-  {0x3a38, 0x23f984b1},
-  {0x3a39, 0x23f984b2},
-  {0x3a3a, 0x23f984b3},
-  {0x3a3b, 0x23f984b4},
-  {0x3a3c, 0x23f984b5},
-  {0x3a3d, 0x23f984b6},
-  {0x3a3e, 0x23f984b7},
-  {0x3a3f, 0x23f984b8},
-  {0x3a40, 0x23f984b9},
-  {0x3a41, 0x23f988b0},
-  {0x3a42, 0x23f988b1},
-  {0x3a43, 0x23f988b2},
-  {0x3a44, 0x23f988b3},
-  {0x3a45, 0x23f988b4},
-  {0x3a46, 0x23f988b5},
-  {0x3a47, 0x23f988b6},
-  {0x3a48, 0x23f988b7},
-  {0x3a49, 0x23f988b8},
-  {0x3a4a, 0x23f988b9},
-  {0x3a4b, 0x23f98cb0},
-  {0x3a4c, 0x23f98cb1},
-  {0x3a4d, 0x23f98cb2},
-  {0x3a4e, 0x23f98cb3},
-  {0x3a4f, 0x23f98cb4},
-  {0x3a50, 0x23f98cb5},
-  {0x3a51, 0x23f98cb6},
-  {0x3a52, 0x23f98cb7},
-  {0x3a53, 0x23f98cb8},
-  {0x3a54, 0x23f98cb9},
-  {0x3a55, 0x23f990b0},
-  {0x3a56, 0x23f990b1},
-  {0x3a57, 0x23f990b2},
-  {0x3a58, 0x23f990b3},
-  {0x3a59, 0x23f990b4},
-  {0x3a5a, 0x23f990b5},
-  {0x3a5b, 0x23f990b6},
-  {0x3a5c, 0x23f990b7},
-  {0x3a5d, 0x23f990b8},
-  {0x3a5e, 0x23f990b9},
-  {0x3a5f, 0x23f994b0},
-  {0x3a60, 0x23f994b1},
-  {0x3a61, 0x23f994b2},
-  {0x3a62, 0x23f994b3},
-  {0x3a63, 0x23f994b4},
-  {0x3a64, 0x23f994b5},
-  {0x3a65, 0x23f994b6},
-  {0x3a66, 0x23f994b7},
-  {0x3a67, 0x23f994b8},
-  {0x3a68, 0x23f994b9},
-  {0x3a69, 0x23f998b0},
-  {0x3a6a, 0x23f998b1},
-  {0x3a6b, 0x23f998b2},
-  {0x3a6c, 0x23f998b3},
-  {0x3a6d, 0x23f998b4},
-  {0x3a6e, 0x23f998b5},
-  {0x3a6f, 0x23f998b6},
-  {0x3a70, 0x23f998b7},
-  {0x3a71, 0x23f998b8},
-  {0x3a72, 0x23f998b9},
-  {0x3a73, 0xefb9a4},
-  {0x3a74, 0x23f99cb0},
-  {0x3a75, 0x23f99cb1},
-  {0x3a76, 0x23f99cb2},
-  {0x3a77, 0x23f99cb3},
-  {0x3a78, 0x23f99cb4},
-  {0x3a79, 0x23f99cb5},
-  {0x3a7a, 0x23f99cb6},
-  {0x3a7b, 0x23f99cb7},
-  {0x3a7c, 0x23f99cb8},
-  {0x3a7d, 0x23f99cb9},
-  {0x3a7e, 0x23f9a0b0},
-  {0x3a7f, 0x23f9a0b1},
-  {0x3a80, 0x23f9a0b2},
-  {0x3a81, 0x23f9a0b3},
-  {0x3a82, 0x23f9a0b4},
-  {0x3a83, 0x23f9a0b5},
-  {0x3a84, 0x23f9a0b6},
-  {0x3a85, 0x23f9a0b7},
-  {0x3a86, 0x23f9a0b8},
-  {0x3a87, 0x23f9a0b9},
-  {0x3a88, 0x23f9a4b0},
-  {0x3a89, 0x23f9a4b1},
-  {0x3a8a, 0x23f9a4b2},
-  {0x3a8b, 0x23f9a4b3},
-  {0x3a8c, 0x23f9a4b4},
-  {0x3a8d, 0x23f9a4b5},
-  {0x3a8e, 0x23f9a4b6},
-  {0x3a8f, 0x23f9a4b7},
-  {0x3a90, 0x23f9a4b8},
-  {0x3a91, 0x23f9a4b9},
-  {0x3a92, 0x23f9a8b0},
-  {0x3a93, 0x23f9a8b1},
-  {0x3a94, 0x23f9a8b2},
-  {0x3a95, 0x23f9a8b3},
-  {0x3a96, 0x23f9a8b4},
-  {0x3a97, 0x23f9a8b5},
-  {0x3a98, 0x23f9a8b6},
-  {0x3a99, 0x23f9a8b7},
-  {0x3a9a, 0x23f9a8b8},
-  {0x3a9b, 0x23f9a8b9},
-  {0x3a9c, 0x23f9acb0},
-  {0x3a9d, 0x23f9acb1},
-  {0x3a9e, 0x23f9acb2},
-  {0x3a9f, 0x23f9acb3},
-  {0x3aa0, 0x23f9acb4},
-  {0x3aa1, 0x23f9acb5},
-  {0x3aa2, 0x23f9acb6},
-  {0x3aa3, 0x23f9acb7},
-  {0x3aa4, 0x23f9acb8},
-  {0x3aa5, 0x23f9acb9},
-  {0x3aa6, 0x23f9b0b0},
-  {0x3aa7, 0x23f9b0b1},
-  {0x3aa8, 0x23f9b0b2},
-  {0x3aa9, 0x23f9b0b3},
-  {0x3aaa, 0x23f9b0b4},
-  {0x3aab, 0x23f9b0b5},
-  {0x3aac, 0x23f9b0b6},
-  {0x3aad, 0x23f9b0b7},
-  {0x3aae, 0x23f9b0b8},
-  {0x3aaf, 0x23f9b0b9},
-  {0x3ab0, 0x23f9b4b0},
-  {0x3ab1, 0x23f9b4b1},
-  {0x3ab2, 0x23f9b4b2},
-  {0x3ab3, 0x23f9b4b3},
-  {0x3ab4, 0x23f9b4b4},
-  {0x3ab5, 0x23f9b4b5},
-  {0x3ab6, 0x23f9b4b6},
-  {0x3ab7, 0x23f9b4b7},
-  {0x3ab8, 0x23f9b4b8},
-  {0x3ab9, 0x23f9b4b9},
-  {0x3aba, 0x23f9b8b0},
-  {0x3abb, 0x23f9b8b1},
-  {0x3abc, 0x23f9b8b2},
-  {0x3abd, 0x23f9b8b3},
-  {0x3abe, 0x23f9b8b4},
-  {0x3abf, 0x23f9b8b5},
-  {0x3ac0, 0x23f9b8b6},
-  {0x3ac1, 0x23f9b8b7},
-  {0x3ac2, 0x23f9b8b8},
-  {0x3ac3, 0x23f9b8b9},
-  {0x3ac4, 0x23f9bcb0},
-  {0x3ac5, 0x23f9bcb1},
-  {0x3ac6, 0x23f9bcb2},
-  {0x3ac7, 0x23f9bcb3},
-  {0x3ac8, 0x23f9bcb4},
-  {0x3ac9, 0x23f9bcb5},
-  {0x3aca, 0x23f9bcb6},
-  {0x3acb, 0x23f9bcb7},
-  {0x3acc, 0x23f9bcb8},
-  {0x3acd, 0x23f9bcb9},
-  {0x3ace, 0x23fa80b0},
-  {0x3acf, 0x23fa80b1},
-  {0x3ad0, 0x23fa80b2},
-  {0x3ad1, 0x23fa80b3},
-  {0x3ad2, 0x23fa80b4},
-  {0x3ad3, 0x23fa80b5},
-  {0x3ad4, 0x23fa80b6},
-  {0x3ad5, 0x23fa80b7},
-  {0x3ad6, 0x23fa80b8},
-  {0x3ad7, 0x23fa80b9},
-  {0x3ad8, 0x23fa84b0},
-  {0x3ad9, 0x23fa84b1},
-  {0x3ada, 0x23fa84b2},
-  {0x3adb, 0x23fa84b3},
-  {0x3adc, 0x23fa84b4},
-  {0x3add, 0x23fa84b5},
-  {0x3ade, 0x23fa84b6},
-  {0x3adf, 0x23fa84b7},
-  {0x3ae0, 0x23fa84b8},
-  {0x3ae1, 0x23fa84b9},
-  {0x3ae2, 0x23fa88b0},
-  {0x3ae3, 0x23fa88b1},
-  {0x3ae4, 0x23fa88b2},
-  {0x3ae5, 0x23fa88b3},
-  {0x3ae6, 0x23fa88b4},
-  {0x3ae7, 0x23fa88b5},
-  {0x3ae8, 0x23fa88b6},
-  {0x3ae9, 0x23fa88b7},
-  {0x3aea, 0x23fa88b8},
-  {0x3aeb, 0x23fa88b9},
-  {0x3aec, 0x23fa8cb0},
-  {0x3aed, 0x23fa8cb1},
-  {0x3aee, 0x23fa8cb2},
-  {0x3aef, 0x23fa8cb3},
-  {0x3af0, 0x23fa8cb4},
-  {0x3af1, 0x23fa8cb5},
-  {0x3af2, 0x23fa8cb6},
-  {0x3af3, 0x23fa8cb7},
-  {0x3af4, 0x23fa8cb8},
-  {0x3af5, 0x23fa8cb9},
-  {0x3af6, 0x23fa90b0},
-  {0x3af7, 0x23fa90b1},
-  {0x3af8, 0x23fa90b2},
-  {0x3af9, 0x23fa90b3},
-  {0x3afa, 0x23fa90b4},
-  {0x3afb, 0x23fa90b5},
-  {0x3afc, 0x23fa90b6},
-  {0x3afd, 0x23fa90b7},
-  {0x3afe, 0x23fa90b8},
-  {0x3aff, 0x23fa90b9},
-  {0x3b00, 0x23fa94b0},
-  {0x3b01, 0x23fa94b1},
-  {0x3b02, 0x23fa94b2},
-  {0x3b03, 0x23fa94b3},
-  {0x3b04, 0x23fa94b4},
-  {0x3b05, 0x23fa94b5},
-  {0x3b06, 0x23fa94b6},
-  {0x3b07, 0x23fa94b7},
-  {0x3b08, 0x23fa94b8},
-  {0x3b09, 0x23fa94b9},
-  {0x3b0a, 0x23fa98b0},
-  {0x3b0b, 0x23fa98b1},
-  {0x3b0c, 0x23fa98b2},
-  {0x3b0d, 0x23fa98b3},
-  {0x3b0e, 0x23fa98b4},
-  {0x3b0f, 0x23fa98b5},
-  {0x3b10, 0x23fa98b6},
-  {0x3b11, 0x23fa98b7},
-  {0x3b12, 0x23fa98b8},
-  {0x3b13, 0x23fa98b9},
-  {0x3b14, 0x23fa9cb0},
-  {0x3b15, 0x23fa9cb1},
-  {0x3b16, 0x23fa9cb2},
-  {0x3b17, 0x23fa9cb3},
-  {0x3b18, 0x23fa9cb4},
-  {0x3b19, 0x23fa9cb5},
-  {0x3b1a, 0x23fa9cb6},
-  {0x3b1b, 0x23fa9cb7},
-  {0x3b1c, 0x23fa9cb8},
-  {0x3b1d, 0x23fa9cb9},
-  {0x3b1e, 0x23faa0b0},
-  {0x3b1f, 0x23faa0b1},
-  {0x3b20, 0x23faa0b2},
-  {0x3b21, 0x23faa0b3},
-  {0x3b22, 0x23faa0b4},
-  {0x3b23, 0x23faa0b5},
-  {0x3b24, 0x23faa0b6},
-  {0x3b25, 0x23faa0b7},
-  {0x3b26, 0x23faa0b8},
-  {0x3b27, 0x23faa0b9},
-  {0x3b28, 0x23faa4b0},
-  {0x3b29, 0x23faa4b1},
-  {0x3b2a, 0x23faa4b2},
-  {0x3b2b, 0x23faa4b3},
-  {0x3b2c, 0x23faa4b4},
-  {0x3b2d, 0x23faa4b5},
-  {0x3b2e, 0x23faa4b6},
-  {0x3b2f, 0x23faa4b7},
-  {0x3b30, 0x23faa4b8},
-  {0x3b31, 0x23faa4b9},
-  {0x3b32, 0x23faa8b0},
-  {0x3b33, 0x23faa8b1},
-  {0x3b34, 0x23faa8b2},
-  {0x3b35, 0x23faa8b3},
-  {0x3b36, 0x23faa8b4},
-  {0x3b37, 0x23faa8b5},
-  {0x3b38, 0x23faa8b6},
-  {0x3b39, 0x23faa8b7},
-  {0x3b3a, 0x23faa8b8},
-  {0x3b3b, 0x23faa8b9},
-  {0x3b3c, 0x23faacb0},
-  {0x3b3d, 0x23faacb1},
-  {0x3b3e, 0x23faacb2},
-  {0x3b3f, 0x23faacb3},
-  {0x3b40, 0x23faacb4},
-  {0x3b41, 0x23faacb5},
-  {0x3b42, 0x23faacb6},
-  {0x3b43, 0x23faacb7},
-  {0x3b44, 0x23faacb8},
-  {0x3b45, 0x23faacb9},
-  {0x3b46, 0x23fab0b0},
-  {0x3b47, 0x23fab0b1},
-  {0x3b48, 0x23fab0b2},
-  {0x3b49, 0x23fab0b3},
-  {0x3b4a, 0x23fab0b4},
-  {0x3b4b, 0x23fab0b5},
-  {0x3b4c, 0x23fab0b6},
-  {0x3b4d, 0x23fab0b7},
-  {0x3b4e, 0xefb9a8},
-  {0x3b4f, 0x23fab0b8},
-  {0x3b50, 0x23fab0b9},
-  {0x3b51, 0x23fab4b0},
-  {0x3b52, 0x23fab4b1},
-  {0x3b53, 0x23fab4b2},
-  {0x3b54, 0x23fab4b3},
-  {0x3b55, 0x23fab4b4},
-  {0x3b56, 0x23fab4b5},
-  {0x3b57, 0x23fab4b6},
-  {0x3b58, 0x23fab4b7},
-  {0x3b59, 0x23fab4b8},
-  {0x3b5a, 0x23fab4b9},
-  {0x3b5b, 0x23fab8b0},
-  {0x3b5c, 0x23fab8b1},
-  {0x3b5d, 0x23fab8b2},
-  {0x3b5e, 0x23fab8b3},
-  {0x3b5f, 0x23fab8b4},
-  {0x3b60, 0x23fab8b5},
-  {0x3b61, 0x23fab8b6},
-  {0x3b62, 0x23fab8b7},
-  {0x3b63, 0x23fab8b8},
-  {0x3b64, 0x23fab8b9},
-  {0x3b65, 0x23fabcb0},
-  {0x3b66, 0x23fabcb1},
-  {0x3b67, 0x23fabcb2},
-  {0x3b68, 0x23fabcb3},
-  {0x3b69, 0x23fabcb4},
-  {0x3b6a, 0x23fabcb5},
-  {0x3b6b, 0x23fabcb6},
-  {0x3b6c, 0x23fabcb7},
-  {0x3b6d, 0x23fabcb8},
-  {0x3b6e, 0x23fabcb9},
-  {0x3b6f, 0x23fb80b0},
-  {0x3b70, 0x23fb80b1},
-  {0x3b71, 0x23fb80b2},
-  {0x3b72, 0x23fb80b3},
-  {0x3b73, 0x23fb80b4},
-  {0x3b74, 0x23fb80b5},
-  {0x3b75, 0x23fb80b6},
-  {0x3b76, 0x23fb80b7},
-  {0x3b77, 0x23fb80b8},
-  {0x3b78, 0x23fb80b9},
-  {0x3b79, 0x23fb84b0},
-  {0x3b7a, 0x23fb84b1},
-  {0x3b7b, 0x23fb84b2},
-  {0x3b7c, 0x23fb84b3},
-  {0x3b7d, 0x23fb84b4},
-  {0x3b7e, 0x23fb84b5},
-  {0x3b7f, 0x23fb84b6},
-  {0x3b80, 0x23fb84b7},
-  {0x3b81, 0x23fb84b8},
-  {0x3b82, 0x23fb84b9},
-  {0x3b83, 0x23fb88b0},
-  {0x3b84, 0x23fb88b1},
-  {0x3b85, 0x23fb88b2},
-  {0x3b86, 0x23fb88b3},
-  {0x3b87, 0x23fb88b4},
-  {0x3b88, 0x23fb88b5},
-  {0x3b89, 0x23fb88b6},
-  {0x3b8a, 0x23fb88b7},
-  {0x3b8b, 0x23fb88b8},
-  {0x3b8c, 0x23fb88b9},
-  {0x3b8d, 0x23fb8cb0},
-  {0x3b8e, 0x23fb8cb1},
-  {0x3b8f, 0x23fb8cb2},
-  {0x3b90, 0x23fb8cb3},
-  {0x3b91, 0x23fb8cb4},
-  {0x3b92, 0x23fb8cb5},
-  {0x3b93, 0x23fb8cb6},
-  {0x3b94, 0x23fb8cb7},
-  {0x3b95, 0x23fb8cb8},
-  {0x3b96, 0x23fb8cb9},
-  {0x3b97, 0x23fb90b0},
-  {0x3b98, 0x23fb90b1},
-  {0x3b99, 0x23fb90b2},
-  {0x3b9a, 0x23fb90b3},
-  {0x3b9b, 0x23fb90b4},
-  {0x3b9c, 0x23fb90b5},
-  {0x3b9d, 0x23fb90b6},
-  {0x3b9e, 0x23fb90b7},
-  {0x3b9f, 0x23fb90b8},
-  {0x3ba0, 0x23fb90b9},
-  {0x3ba1, 0x23fb94b0},
-  {0x3ba2, 0x23fb94b1},
-  {0x3ba3, 0x23fb94b2},
-  {0x3ba4, 0x23fb94b3},
-  {0x3ba5, 0x23fb94b4},
-  {0x3ba6, 0x23fb94b5},
-  {0x3ba7, 0x23fb94b6},
-  {0x3ba8, 0x23fb94b7},
-  {0x3ba9, 0x23fb94b8},
-  {0x3baa, 0x23fb94b9},
-  {0x3bab, 0x23fb98b0},
-  {0x3bac, 0x23fb98b1},
-  {0x3bad, 0x23fb98b2},
-  {0x3bae, 0x23fb98b3},
-  {0x3baf, 0x23fb98b4},
-  {0x3bb0, 0x23fb98b5},
-  {0x3bb1, 0x23fb98b6},
-  {0x3bb2, 0x23fb98b7},
-  {0x3bb3, 0x23fb98b8},
-  {0x3bb4, 0x23fb98b9},
-  {0x3bb5, 0x23fb9cb0},
-  {0x3bb6, 0x23fb9cb1},
-  {0x3bb7, 0x23fb9cb2},
-  {0x3bb8, 0x23fb9cb3},
-  {0x3bb9, 0x23fb9cb4},
-  {0x3bba, 0x23fb9cb5},
-  {0x3bbb, 0x23fb9cb6},
-  {0x3bbc, 0x23fb9cb7},
-  {0x3bbd, 0x23fb9cb8},
-  {0x3bbe, 0x23fb9cb9},
-  {0x3bbf, 0x23fba0b0},
-  {0x3bc0, 0x23fba0b1},
-  {0x3bc1, 0x23fba0b2},
-  {0x3bc2, 0x23fba0b3},
-  {0x3bc3, 0x23fba0b4},
-  {0x3bc4, 0x23fba0b5},
-  {0x3bc5, 0x23fba0b6},
-  {0x3bc6, 0x23fba0b7},
-  {0x3bc7, 0x23fba0b8},
-  {0x3bc8, 0x23fba0b9},
-  {0x3bc9, 0x23fba4b0},
-  {0x3bca, 0x23fba4b1},
-  {0x3bcb, 0x23fba4b2},
-  {0x3bcc, 0x23fba4b3},
-  {0x3bcd, 0x23fba4b4},
-  {0x3bce, 0x23fba4b5},
-  {0x3bcf, 0x23fba4b6},
-  {0x3bd0, 0x23fba4b7},
-  {0x3bd1, 0x23fba4b8},
-  {0x3bd2, 0x23fba4b9},
-  {0x3bd3, 0x23fba8b0},
-  {0x3bd4, 0x23fba8b1},
-  {0x3bd5, 0x23fba8b2},
-  {0x3bd6, 0x23fba8b3},
-  {0x3bd7, 0x23fba8b4},
-  {0x3bd8, 0x23fba8b5},
-  {0x3bd9, 0x23fba8b6},
-  {0x3bda, 0x23fba8b7},
-  {0x3bdb, 0x23fba8b8},
-  {0x3bdc, 0x23fba8b9},
-  {0x3bdd, 0x23fbacb0},
-  {0x3bde, 0x23fbacb1},
-  {0x3bdf, 0x23fbacb2},
-  {0x3be0, 0x23fbacb3},
-  {0x3be1, 0x23fbacb4},
-  {0x3be2, 0x23fbacb5},
-  {0x3be3, 0x23fbacb6},
-  {0x3be4, 0x23fbacb7},
-  {0x3be5, 0x23fbacb8},
-  {0x3be6, 0x23fbacb9},
-  {0x3be7, 0x23fbb0b0},
-  {0x3be8, 0x23fbb0b1},
-  {0x3be9, 0x23fbb0b2},
-  {0x3bea, 0x23fbb0b3},
-  {0x3beb, 0x23fbb0b4},
-  {0x3bec, 0x23fbb0b5},
-  {0x3bed, 0x23fbb0b6},
-  {0x3bee, 0x23fbb0b7},
-  {0x3bef, 0x23fbb0b8},
-  {0x3bf0, 0x23fbb0b9},
-  {0x3bf1, 0x23fbb4b0},
-  {0x3bf2, 0x23fbb4b1},
-  {0x3bf3, 0x23fbb4b2},
-  {0x3bf4, 0x23fbb4b3},
-  {0x3bf5, 0x23fbb4b4},
-  {0x3bf6, 0x23fbb4b5},
-  {0x3bf7, 0x23fbb4b6},
-  {0x3bf8, 0x23fbb4b7},
-  {0x3bf9, 0x23fbb4b8},
-  {0x3bfa, 0x23fbb4b9},
-  {0x3bfb, 0x23fbb8b0},
-  {0x3bfc, 0x23fbb8b1},
-  {0x3bfd, 0x23fbb8b2},
-  {0x3bfe, 0x23fbb8b3},
-  {0x3bff, 0x23fbb8b4},
-  {0x3c00, 0x23fbb8b5},
-  {0x3c01, 0x23fbb8b6},
-  {0x3c02, 0x23fbb8b7},
-  {0x3c03, 0x23fbb8b8},
-  {0x3c04, 0x23fbb8b9},
-  {0x3c05, 0x23fbbcb0},
-  {0x3c06, 0x23fbbcb1},
-  {0x3c07, 0x23fbbcb2},
-  {0x3c08, 0x23fbbcb3},
-  {0x3c09, 0x23fbbcb4},
-  {0x3c0a, 0x23fbbcb5},
-  {0x3c0b, 0x23fbbcb6},
-  {0x3c0c, 0x23fbbcb7},
-  {0x3c0d, 0x23fbbcb8},
-  {0x3c0e, 0x23fbbcb9},
-  {0x3c0f, 0x23fc80b0},
-  {0x3c10, 0x23fc80b1},
-  {0x3c11, 0x23fc80b2},
-  {0x3c12, 0x23fc80b3},
-  {0x3c13, 0x23fc80b4},
-  {0x3c14, 0x23fc80b5},
-  {0x3c15, 0x23fc80b6},
-  {0x3c16, 0x23fc80b7},
-  {0x3c17, 0x23fc80b8},
-  {0x3c18, 0x23fc80b9},
-  {0x3c19, 0x23fc84b0},
-  {0x3c1a, 0x23fc84b1},
-  {0x3c1b, 0x23fc84b2},
-  {0x3c1c, 0x23fc84b3},
-  {0x3c1d, 0x23fc84b4},
-  {0x3c1e, 0x23fc84b5},
-  {0x3c1f, 0x23fc84b6},
-  {0x3c20, 0x23fc84b7},
-  {0x3c21, 0x23fc84b8},
-  {0x3c22, 0x23fc84b9},
-  {0x3c23, 0x23fc88b0},
-  {0x3c24, 0x23fc88b1},
-  {0x3c25, 0x23fc88b2},
-  {0x3c26, 0x23fc88b3},
-  {0x3c27, 0x23fc88b4},
-  {0x3c28, 0x23fc88b5},
-  {0x3c29, 0x23fc88b6},
-  {0x3c2a, 0x23fc88b7},
-  {0x3c2b, 0x23fc88b8},
-  {0x3c2c, 0x23fc88b9},
-  {0x3c2d, 0x23fc8cb0},
-  {0x3c2e, 0x23fc8cb1},
-  {0x3c2f, 0x23fc8cb2},
-  {0x3c30, 0x23fc8cb3},
-  {0x3c31, 0x23fc8cb4},
-  {0x3c32, 0x23fc8cb5},
-  {0x3c33, 0x23fc8cb6},
-  {0x3c34, 0x23fc8cb7},
-  {0x3c35, 0x23fc8cb8},
-  {0x3c36, 0x23fc8cb9},
-  {0x3c37, 0x23fc90b0},
-  {0x3c38, 0x23fc90b1},
-  {0x3c39, 0x23fc90b2},
-  {0x3c3a, 0x23fc90b3},
-  {0x3c3b, 0x23fc90b4},
-  {0x3c3c, 0x23fc90b5},
-  {0x3c3d, 0x23fc90b6},
-  {0x3c3e, 0x23fc90b7},
-  {0x3c3f, 0x23fc90b8},
-  {0x3c40, 0x23fc90b9},
-  {0x3c41, 0x23fc94b0},
-  {0x3c42, 0x23fc94b1},
-  {0x3c43, 0x23fc94b2},
-  {0x3c44, 0x23fc94b3},
-  {0x3c45, 0x23fc94b4},
-  {0x3c46, 0x23fc94b5},
-  {0x3c47, 0x23fc94b6},
-  {0x3c48, 0x23fc94b7},
-  {0x3c49, 0x23fc94b8},
-  {0x3c4a, 0x23fc94b9},
-  {0x3c4b, 0x23fc98b0},
-  {0x3c4c, 0x23fc98b1},
-  {0x3c4d, 0x23fc98b2},
-  {0x3c4e, 0x23fc98b3},
-  {0x3c4f, 0x23fc98b4},
-  {0x3c50, 0x23fc98b5},
-  {0x3c51, 0x23fc98b6},
-  {0x3c52, 0x23fc98b7},
-  {0x3c53, 0x23fc98b8},
-  {0x3c54, 0x23fc98b9},
-  {0x3c55, 0x23fc9cb0},
-  {0x3c56, 0x23fc9cb1},
-  {0x3c57, 0x23fc9cb2},
-  {0x3c58, 0x23fc9cb3},
-  {0x3c59, 0x23fc9cb4},
-  {0x3c5a, 0x23fc9cb5},
-  {0x3c5b, 0x23fc9cb6},
-  {0x3c5c, 0x23fc9cb7},
-  {0x3c5d, 0x23fc9cb8},
-  {0x3c5e, 0x23fc9cb9},
-  {0x3c5f, 0x23fca0b0},
-  {0x3c60, 0x23fca0b1},
-  {0x3c61, 0x23fca0b2},
-  {0x3c62, 0x23fca0b3},
-  {0x3c63, 0x23fca0b4},
-  {0x3c64, 0x23fca0b5},
-  {0x3c65, 0x23fca0b6},
-  {0x3c66, 0x23fca0b7},
-  {0x3c67, 0x23fca0b8},
-  {0x3c68, 0x23fca0b9},
-  {0x3c69, 0x23fca4b0},
-  {0x3c6a, 0x23fca4b1},
-  {0x3c6b, 0x23fca4b2},
-  {0x3c6c, 0x23fca4b3},
-  {0x3c6d, 0x23fca4b4},
-  {0x3c6e, 0xefb9a9},
-  {0x3c6f, 0x23fca4b5},
-  {0x3c70, 0x23fca4b6},
-  {0x3c71, 0x23fca4b7},
-  {0x3c72, 0x23fca4b8},
-  {0x3c73, 0x23fca4b9},
-  {0x3c74, 0x23fca8b0},
-  {0x3c75, 0x23fca8b1},
-  {0x3c76, 0x23fca8b2},
-  {0x3c77, 0x23fca8b3},
-  {0x3c78, 0x23fca8b4},
-  {0x3c79, 0x23fca8b5},
-  {0x3c7a, 0x23fca8b6},
-  {0x3c7b, 0x23fca8b7},
-  {0x3c7c, 0x23fca8b8},
-  {0x3c7d, 0x23fca8b9},
-  {0x3c7e, 0x23fcacb0},
-  {0x3c7f, 0x23fcacb1},
-  {0x3c80, 0x23fcacb2},
-  {0x3c81, 0x23fcacb3},
-  {0x3c82, 0x23fcacb4},
-  {0x3c83, 0x23fcacb5},
-  {0x3c84, 0x23fcacb6},
-  {0x3c85, 0x23fcacb7},
-  {0x3c86, 0x23fcacb8},
-  {0x3c87, 0x23fcacb9},
-  {0x3c88, 0x23fcb0b0},
-  {0x3c89, 0x23fcb0b1},
-  {0x3c8a, 0x23fcb0b2},
-  {0x3c8b, 0x23fcb0b3},
-  {0x3c8c, 0x23fcb0b4},
-  {0x3c8d, 0x23fcb0b5},
-  {0x3c8e, 0x23fcb0b6},
-  {0x3c8f, 0x23fcb0b7},
-  {0x3c90, 0x23fcb0b8},
-  {0x3c91, 0x23fcb0b9},
-  {0x3c92, 0x23fcb4b0},
-  {0x3c93, 0x23fcb4b1},
-  {0x3c94, 0x23fcb4b2},
-  {0x3c95, 0x23fcb4b3},
-  {0x3c96, 0x23fcb4b4},
-  {0x3c97, 0x23fcb4b5},
-  {0x3c98, 0x23fcb4b6},
-  {0x3c99, 0x23fcb4b7},
-  {0x3c9a, 0x23fcb4b8},
-  {0x3c9b, 0x23fcb4b9},
-  {0x3c9c, 0x23fcb8b0},
-  {0x3c9d, 0x23fcb8b1},
-  {0x3c9e, 0x23fcb8b2},
-  {0x3c9f, 0x23fcb8b3},
-  {0x3ca0, 0x23fcb8b4},
-  {0x3ca1, 0x23fcb8b5},
-  {0x3ca2, 0x23fcb8b6},
-  {0x3ca3, 0x23fcb8b7},
-  {0x3ca4, 0x23fcb8b8},
-  {0x3ca5, 0x23fcb8b9},
-  {0x3ca6, 0x23fcbcb0},
-  {0x3ca7, 0x23fcbcb1},
-  {0x3ca8, 0x23fcbcb2},
-  {0x3ca9, 0x23fcbcb3},
-  {0x3caa, 0x23fcbcb4},
-  {0x3cab, 0x23fcbcb5},
-  {0x3cac, 0x23fcbcb6},
-  {0x3cad, 0x23fcbcb7},
-  {0x3cae, 0x23fcbcb8},
-  {0x3caf, 0x23fcbcb9},
-  {0x3cb0, 0x23fd80b0},
-  {0x3cb1, 0x23fd80b1},
-  {0x3cb2, 0x23fd80b2},
-  {0x3cb3, 0x23fd80b3},
-  {0x3cb4, 0x23fd80b4},
-  {0x3cb5, 0x23fd80b5},
-  {0x3cb6, 0x23fd80b6},
-  {0x3cb7, 0x23fd80b7},
-  {0x3cb8, 0x23fd80b8},
-  {0x3cb9, 0x23fd80b9},
-  {0x3cba, 0x23fd84b0},
-  {0x3cbb, 0x23fd84b1},
-  {0x3cbc, 0x23fd84b2},
-  {0x3cbd, 0x23fd84b3},
-  {0x3cbe, 0x23fd84b4},
-  {0x3cbf, 0x23fd84b5},
-  {0x3cc0, 0x23fd84b6},
-  {0x3cc1, 0x23fd84b7},
-  {0x3cc2, 0x23fd84b8},
-  {0x3cc3, 0x23fd84b9},
-  {0x3cc4, 0x23fd88b0},
-  {0x3cc5, 0x23fd88b1},
-  {0x3cc6, 0x23fd88b2},
-  {0x3cc7, 0x23fd88b3},
-  {0x3cc8, 0x23fd88b4},
-  {0x3cc9, 0x23fd88b5},
-  {0x3cca, 0x23fd88b6},
-  {0x3ccb, 0x23fd88b7},
-  {0x3ccc, 0x23fd88b8},
-  {0x3ccd, 0x23fd88b9},
-  {0x3cce, 0x23fd8cb0},
-  {0x3ccf, 0x23fd8cb1},
-  {0x3cd0, 0x23fd8cb2},
-  {0x3cd1, 0x23fd8cb3},
-  {0x3cd2, 0x23fd8cb4},
-  {0x3cd3, 0x23fd8cb5},
-  {0x3cd4, 0x23fd8cb6},
-  {0x3cd5, 0x23fd8cb7},
-  {0x3cd6, 0x23fd8cb8},
-  {0x3cd7, 0x23fd8cb9},
-  {0x3cd8, 0x23fd90b0},
-  {0x3cd9, 0x23fd90b1},
-  {0x3cda, 0x23fd90b2},
-  {0x3cdb, 0x23fd90b3},
-  {0x3cdc, 0x23fd90b4},
-  {0x3cdd, 0x23fd90b5},
-  {0x3cde, 0x23fd90b6},
-  {0x3cdf, 0x23fd90b7},
-  {0x3ce0, 0xefb9aa},
-  {0x3ce1, 0x23fd90b8},
-  {0x3ce2, 0x23fd90b9},
-  {0x3ce3, 0x23fd94b0},
-  {0x3ce4, 0x23fd94b1},
-  {0x3ce5, 0x23fd94b2},
-  {0x3ce6, 0x23fd94b3},
-  {0x3ce7, 0x23fd94b4},
-  {0x3ce8, 0x23fd94b5},
-  {0x3ce9, 0x23fd94b6},
-  {0x3cea, 0x23fd94b7},
-  {0x3ceb, 0x23fd94b8},
-  {0x3cec, 0x23fd94b9},
-  {0x3ced, 0x23fd98b0},
-  {0x3cee, 0x23fd98b1},
-  {0x3cef, 0x23fd98b2},
-  {0x3cf0, 0x23fd98b3},
-  {0x3cf1, 0x23fd98b4},
-  {0x3cf2, 0x23fd98b5},
-  {0x3cf3, 0x23fd98b6},
-  {0x3cf4, 0x23fd98b7},
-  {0x3cf5, 0x23fd98b8},
-  {0x3cf6, 0x23fd98b9},
-  {0x3cf7, 0x23fd9cb0},
-  {0x3cf8, 0x23fd9cb1},
-  {0x3cf9, 0x23fd9cb2},
-  {0x3cfa, 0x23fd9cb3},
-  {0x3cfb, 0x23fd9cb4},
-  {0x3cfc, 0x23fd9cb5},
-  {0x3cfd, 0x23fd9cb6},
-  {0x3cfe, 0x23fd9cb7},
-  {0x3cff, 0x23fd9cb8},
-  {0x3d00, 0x23fd9cb9},
-  {0x3d01, 0x23fda0b0},
-  {0x3d02, 0x23fda0b1},
-  {0x3d03, 0x23fda0b2},
-  {0x3d04, 0x23fda0b3},
-  {0x3d05, 0x23fda0b4},
-  {0x3d06, 0x23fda0b5},
-  {0x3d07, 0x23fda0b6},
-  {0x3d08, 0x23fda0b7},
-  {0x3d09, 0x23fda0b8},
-  {0x3d0a, 0x23fda0b9},
-  {0x3d0b, 0x23fda4b0},
-  {0x3d0c, 0x23fda4b1},
-  {0x3d0d, 0x23fda4b2},
-  {0x3d0e, 0x23fda4b3},
-  {0x3d0f, 0x23fda4b4},
-  {0x3d10, 0x23fda4b5},
-  {0x3d11, 0x23fda4b6},
-  {0x3d12, 0x23fda4b7},
-  {0x3d13, 0x23fda4b8},
-  {0x3d14, 0x23fda4b9},
-  {0x3d15, 0x23fda8b0},
-  {0x3d16, 0x23fda8b1},
-  {0x3d17, 0x23fda8b2},
-  {0x3d18, 0x23fda8b3},
-  {0x3d19, 0x23fda8b4},
-  {0x3d1a, 0x23fda8b5},
-  {0x3d1b, 0x23fda8b6},
-  {0x3d1c, 0x23fda8b7},
-  {0x3d1d, 0x23fda8b8},
-  {0x3d1e, 0x23fda8b9},
-  {0x3d1f, 0x23fdacb0},
-  {0x3d20, 0x23fdacb1},
-  {0x3d21, 0x23fdacb2},
-  {0x3d22, 0x23fdacb3},
-  {0x3d23, 0x23fdacb4},
-  {0x3d24, 0x23fdacb5},
-  {0x3d25, 0x23fdacb6},
-  {0x3d26, 0x23fdacb7},
-  {0x3d27, 0x23fdacb8},
-  {0x3d28, 0x23fdacb9},
-  {0x3d29, 0x23fdb0b0},
-  {0x3d2a, 0x23fdb0b1},
-  {0x3d2b, 0x23fdb0b2},
-  {0x3d2c, 0x23fdb0b3},
-  {0x3d2d, 0x23fdb0b4},
-  {0x3d2e, 0x23fdb0b5},
-  {0x3d2f, 0x23fdb0b6},
-  {0x3d30, 0x23fdb0b7},
-  {0x3d31, 0x23fdb0b8},
-  {0x3d32, 0x23fdb0b9},
-  {0x3d33, 0x23fdb4b0},
-  {0x3d34, 0x23fdb4b1},
-  {0x3d35, 0x23fdb4b2},
-  {0x3d36, 0x23fdb4b3},
-  {0x3d37, 0x23fdb4b4},
-  {0x3d38, 0x23fdb4b5},
-  {0x3d39, 0x23fdb4b6},
-  {0x3d3a, 0x23fdb4b7},
-  {0x3d3b, 0x23fdb4b8},
-  {0x3d3c, 0x23fdb4b9},
-  {0x3d3d, 0x23fdb8b0},
-  {0x3d3e, 0x23fdb8b1},
-  {0x3d3f, 0x23fdb8b2},
-  {0x3d40, 0x23fdb8b3},
-  {0x3d41, 0x23fdb8b4},
-  {0x3d42, 0x23fdb8b5},
-  {0x3d43, 0x23fdb8b6},
-  {0x3d44, 0x23fdb8b7},
-  {0x3d45, 0x23fdb8b8},
-  {0x3d46, 0x23fdb8b9},
-  {0x3d47, 0x23fdbcb0},
-  {0x3d48, 0x23fdbcb1},
-  {0x3d49, 0x23fdbcb2},
-  {0x3d4a, 0x23fdbcb3},
-  {0x3d4b, 0x23fdbcb4},
-  {0x3d4c, 0x23fdbcb5},
-  {0x3d4d, 0x23fdbcb6},
-  {0x3d4e, 0x23fdbcb7},
-  {0x3d4f, 0x23fdbcb8},
-  {0x3d50, 0x23fdbcb9},
-  {0x3d51, 0x23fe80b0},
-  {0x3d52, 0x23fe80b1},
-  {0x3d53, 0x23fe80b2},
-  {0x3d54, 0x23fe80b3},
-  {0x3d55, 0x23fe80b4},
-  {0x3d56, 0x23fe80b5},
-  {0x3d57, 0x23fe80b6},
-  {0x3d58, 0x23fe80b7},
-  {0x3d59, 0x23fe80b8},
-  {0x3d5a, 0x23fe80b9},
-  {0x3d5b, 0x23fe84b0},
-  {0x3d5c, 0x23fe84b1},
-  {0x3d5d, 0x23fe84b2},
-  {0x3d5e, 0x23fe84b3},
-  {0x3d5f, 0x23fe84b4},
-  {0x3d60, 0x23fe84b5},
-  {0x3d61, 0x23fe84b6},
-  {0x3d62, 0x23fe84b7},
-  {0x3d63, 0x23fe84b8},
-  {0x3d64, 0x23fe84b9},
-  {0x3d65, 0x23fe88b0},
-  {0x3d66, 0x23fe88b1},
-  {0x3d67, 0x23fe88b2},
-  {0x3d68, 0x23fe88b3},
-  {0x3d69, 0x23fe88b4},
-  {0x3d6a, 0x23fe88b5},
-  {0x3d6b, 0x23fe88b6},
-  {0x3d6c, 0x23fe88b7},
-  {0x3d6d, 0x23fe88b8},
-  {0x3d6e, 0x23fe88b9},
-  {0x3d6f, 0x23fe8cb0},
-  {0x3d70, 0x23fe8cb1},
-  {0x3d71, 0x23fe8cb2},
-  {0x3d72, 0x23fe8cb3},
-  {0x3d73, 0x23fe8cb4},
-  {0x3d74, 0x23fe8cb5},
-  {0x3d75, 0x23fe8cb6},
-  {0x3d76, 0x23fe8cb7},
-  {0x3d77, 0x23fe8cb8},
-  {0x3d78, 0x23fe8cb9},
-  {0x3d79, 0x23fe90b0},
-  {0x3d7a, 0x23fe90b1},
-  {0x3d7b, 0x23fe90b2},
-  {0x3d7c, 0x23fe90b3},
-  {0x3d7d, 0x23fe90b4},
-  {0x3d7e, 0x23fe90b5},
-  {0x3d7f, 0x23fe90b6},
-  {0x3d80, 0x23fe90b7},
-  {0x3d81, 0x23fe90b8},
-  {0x3d82, 0x23fe90b9},
-  {0x3d83, 0x23fe94b0},
-  {0x3d84, 0x23fe94b1},
-  {0x3d85, 0x23fe94b2},
-  {0x3d86, 0x23fe94b3},
-  {0x3d87, 0x23fe94b4},
-  {0x3d88, 0x23fe94b5},
-  {0x3d89, 0x23fe94b6},
-  {0x3d8a, 0x23fe94b7},
-  {0x3d8b, 0x23fe94b8},
-  {0x3d8c, 0x23fe94b9},
-  {0x3d8d, 0x23fe98b0},
-  {0x3d8e, 0x23fe98b1},
-  {0x3d8f, 0x23fe98b2},
-  {0x3d90, 0x23fe98b3},
-  {0x3d91, 0x23fe98b4},
-  {0x3d92, 0x23fe98b5},
-  {0x3d93, 0x23fe98b6},
-  {0x3d94, 0x23fe98b7},
-  {0x3d95, 0x23fe98b8},
-  {0x3d96, 0x23fe98b9},
-  {0x3d97, 0x23fe9cb0},
-  {0x3d98, 0x23fe9cb1},
-  {0x3d99, 0x23fe9cb2},
-  {0x3d9a, 0x23fe9cb3},
-  {0x3d9b, 0x23fe9cb4},
-  {0x3d9c, 0x23fe9cb5},
-  {0x3d9d, 0x23fe9cb6},
-  {0x3d9e, 0x23fe9cb7},
-  {0x3d9f, 0x23fe9cb8},
-  {0x3da0, 0x23fe9cb9},
-  {0x3da1, 0x23fea0b0},
-  {0x3da2, 0x23fea0b1},
-  {0x3da3, 0x23fea0b2},
-  {0x3da4, 0x23fea0b3},
-  {0x3da5, 0x23fea0b4},
-  {0x3da6, 0x23fea0b5},
-  {0x3da7, 0x23fea0b6},
-  {0x3da8, 0x23fea0b7},
-  {0x3da9, 0x23fea0b8},
-  {0x3daa, 0x23fea0b9},
-  {0x3dab, 0x23fea4b0},
-  {0x3dac, 0x23fea4b1},
-  {0x3dad, 0x23fea4b2},
-  {0x3dae, 0x23fea4b3},
-  {0x3daf, 0x23fea4b4},
-  {0x3db0, 0x23fea4b5},
-  {0x3db1, 0x23fea4b6},
-  {0x3db2, 0x23fea4b7},
-  {0x3db3, 0x23fea4b8},
-  {0x3db4, 0x23fea4b9},
-  {0x3db5, 0x23fea8b0},
-  {0x3db6, 0x23fea8b1},
-  {0x3db7, 0x23fea8b2},
-  {0x3db8, 0x23fea8b3},
-  {0x3db9, 0x23fea8b4},
-  {0x3dba, 0x23fea8b5},
-  {0x3dbb, 0x23fea8b6},
-  {0x3dbc, 0x23fea8b7},
-  {0x3dbd, 0x23fea8b8},
-  {0x3dbe, 0x23fea8b9},
-  {0x3dbf, 0x23feacb0},
-  {0x3dc0, 0x23feacb1},
-  {0x3dc1, 0x23feacb2},
-  {0x3dc2, 0x23feacb3},
-  {0x3dc3, 0x23feacb4},
-  {0x3dc4, 0x23feacb5},
-  {0x3dc5, 0x23feacb6},
-  {0x3dc6, 0x23feacb7},
-  {0x3dc7, 0x23feacb8},
-  {0x3dc8, 0x23feacb9},
-  {0x3dc9, 0x23feb0b0},
-  {0x3dca, 0x23feb0b1},
-  {0x3dcb, 0x23feb0b2},
-  {0x3dcc, 0x23feb0b3},
-  {0x3dcd, 0x23feb0b4},
-  {0x3dce, 0x23feb0b5},
-  {0x3dcf, 0x23feb0b6},
-  {0x3dd0, 0x23feb0b7},
-  {0x3dd1, 0x23feb0b8},
-  {0x3dd2, 0x23feb0b9},
-  {0x3dd3, 0x23feb4b0},
-  {0x3dd4, 0x23feb4b1},
-  {0x3dd5, 0x23feb4b2},
-  {0x3dd6, 0x23feb4b3},
-  {0x3dd7, 0x23feb4b4},
-  {0x3dd8, 0x23feb4b5},
-  {0x3dd9, 0x23feb4b6},
-  {0x3dda, 0x23feb4b7},
-  {0x3ddb, 0x23feb4b8},
-  {0x3ddc, 0x23feb4b9},
-  {0x3ddd, 0x23feb8b0},
-  {0x3dde, 0x23feb8b1},
-  {0x3ddf, 0x23feb8b2},
-  {0x3de0, 0x23feb8b3},
-  {0x3de1, 0x23feb8b4},
-  {0x3de2, 0x23feb8b5},
-  {0x3de3, 0x23feb8b6},
-  {0x3de4, 0x23feb8b7},
-  {0x3de5, 0x23feb8b8},
-  {0x3de6, 0x23feb8b9},
-  {0x3de7, 0x23febcb0},
-  {0x3de8, 0x23febcb1},
-  {0x3de9, 0x23febcb2},
-  {0x3dea, 0x23febcb3},
-  {0x3deb, 0x23febcb4},
-  {0x3dec, 0x23febcb5},
-  {0x3ded, 0x23febcb6},
-  {0x3dee, 0x23febcb7},
-  {0x3def, 0x23febcb8},
-  {0x3df0, 0x23febcb9},
-  {0x3df1, 0x23ff80b0},
-  {0x3df2, 0x23ff80b1},
-  {0x3df3, 0x23ff80b2},
-  {0x3df4, 0x23ff80b3},
-  {0x3df5, 0x23ff80b4},
-  {0x3df6, 0x23ff80b5},
-  {0x3df7, 0x23ff80b6},
-  {0x3df8, 0x23ff80b7},
-  {0x3df9, 0x23ff80b8},
-  {0x3dfa, 0x23ff80b9},
-  {0x3dfb, 0x23ff84b0},
-  {0x3dfc, 0x23ff84b1},
-  {0x3dfd, 0x23ff84b2},
-  {0x3dfe, 0x23ff84b3},
-  {0x3dff, 0x23ff84b4},
-  {0x3e00, 0x23ff84b5},
-  {0x3e01, 0x23ff84b6},
-  {0x3e02, 0x23ff84b7},
-  {0x3e03, 0x23ff84b8},
-  {0x3e04, 0x23ff84b9},
-  {0x3e05, 0x23ff88b0},
-  {0x3e06, 0x23ff88b1},
-  {0x3e07, 0x23ff88b2},
-  {0x3e08, 0x23ff88b3},
-  {0x3e09, 0x23ff88b4},
-  {0x3e0a, 0x23ff88b5},
-  {0x3e0b, 0x23ff88b6},
-  {0x3e0c, 0x23ff88b7},
-  {0x3e0d, 0x23ff88b8},
-  {0x3e0e, 0x23ff88b9},
-  {0x3e0f, 0x23ff8cb0},
-  {0x3e10, 0x23ff8cb1},
-  {0x3e11, 0x23ff8cb2},
-  {0x3e12, 0x23ff8cb3},
-  {0x3e13, 0x23ff8cb4},
-  {0x3e14, 0x23ff8cb5},
-  {0x3e15, 0x23ff8cb6},
-  {0x3e16, 0x23ff8cb7},
-  {0x3e17, 0x23ff8cb8},
-  {0x3e18, 0x23ff8cb9},
-  {0x3e19, 0x23ff90b0},
-  {0x3e1a, 0x23ff90b1},
-  {0x3e1b, 0x23ff90b2},
-  {0x3e1c, 0x23ff90b3},
-  {0x3e1d, 0x23ff90b4},
-  {0x3e1e, 0x23ff90b5},
-  {0x3e1f, 0x23ff90b6},
-  {0x3e20, 0x23ff90b7},
-  {0x3e21, 0x23ff90b8},
-  {0x3e22, 0x23ff90b9},
-  {0x3e23, 0x23ff94b0},
-  {0x3e24, 0x23ff94b1},
-  {0x3e25, 0x23ff94b2},
-  {0x3e26, 0x23ff94b3},
-  {0x3e27, 0x23ff94b4},
-  {0x3e28, 0x23ff94b5},
-  {0x3e29, 0x23ff94b6},
-  {0x3e2a, 0x23ff94b7},
-  {0x3e2b, 0x23ff94b8},
-  {0x3e2c, 0x23ff94b9},
-  {0x3e2d, 0x23ff98b0},
-  {0x3e2e, 0x23ff98b1},
-  {0x3e2f, 0x23ff98b2},
-  {0x3e30, 0x23ff98b3},
-  {0x3e31, 0x23ff98b4},
-  {0x3e32, 0x23ff98b5},
-  {0x3e33, 0x23ff98b6},
-  {0x3e34, 0x23ff98b7},
-  {0x3e35, 0x23ff98b8},
-  {0x3e36, 0x23ff98b9},
-  {0x3e37, 0x23ff9cb0},
-  {0x3e38, 0x23ff9cb1},
-  {0x3e39, 0x23ff9cb2},
-  {0x3e3a, 0x23ff9cb3},
-  {0x3e3b, 0x23ff9cb4},
-  {0x3e3c, 0x23ff9cb5},
-  {0x3e3d, 0x23ff9cb6},
-  {0x3e3e, 0x23ff9cb7},
-  {0x3e3f, 0x23ff9cb8},
-  {0x3e40, 0x23ff9cb9},
-  {0x3e41, 0x23ffa0b0},
-  {0x3e42, 0x23ffa0b1},
-  {0x3e43, 0x23ffa0b2},
-  {0x3e44, 0x23ffa0b3},
-  {0x3e45, 0x23ffa0b4},
-  {0x3e46, 0x23ffa0b5},
-  {0x3e47, 0x23ffa0b6},
-  {0x3e48, 0x23ffa0b7},
-  {0x3e49, 0x23ffa0b8},
-  {0x3e4a, 0x23ffa0b9},
-  {0x3e4b, 0x23ffa4b0},
-  {0x3e4c, 0x23ffa4b1},
-  {0x3e4d, 0x23ffa4b2},
-  {0x3e4e, 0x23ffa4b3},
-  {0x3e4f, 0x23ffa4b4},
-  {0x3e50, 0x23ffa4b5},
-  {0x3e51, 0x23ffa4b6},
-  {0x3e52, 0x23ffa4b7},
-  {0x3e53, 0x23ffa4b8},
-  {0x3e54, 0x23ffa4b9},
-  {0x3e55, 0x23ffa8b0},
-  {0x3e56, 0x23ffa8b1},
-  {0x3e57, 0x23ffa8b2},
-  {0x3e58, 0x23ffa8b3},
-  {0x3e59, 0x23ffa8b4},
-  {0x3e5a, 0x23ffa8b5},
-  {0x3e5b, 0x23ffa8b6},
-  {0x3e5c, 0x23ffa8b7},
-  {0x3e5d, 0x23ffa8b8},
-  {0x3e5e, 0x23ffa8b9},
-  {0x3e5f, 0x23ffacb0},
-  {0x3e60, 0x23ffacb1},
-  {0x3e61, 0x23ffacb2},
-  {0x3e62, 0x23ffacb3},
-  {0x3e63, 0x23ffacb4},
-  {0x3e64, 0x23ffacb5},
-  {0x3e65, 0x23ffacb6},
-  {0x3e66, 0x23ffacb7},
-  {0x3e67, 0x23ffacb8},
-  {0x3e68, 0x23ffacb9},
-  {0x3e69, 0x23ffb0b0},
-  {0x3e6a, 0x23ffb0b1},
-  {0x3e6b, 0x23ffb0b2},
-  {0x3e6c, 0x23ffb0b3},
-  {0x3e6d, 0x23ffb0b4},
-  {0x3e6e, 0x23ffb0b5},
-  {0x3e6f, 0x23ffb0b6},
-  {0x3e70, 0x23ffb0b7},
-  {0x3e71, 0x23ffb0b8},
-  {0x3e72, 0x23ffb0b9},
-  {0x3e73, 0x23ffb4b0},
-  {0x3e74, 0x23ffb4b1},
-  {0x3e75, 0x23ffb4b2},
-  {0x3e76, 0x23ffb4b3},
-  {0x3e77, 0x23ffb4b4},
-  {0x3e78, 0x23ffb4b5},
-  {0x3e79, 0x23ffb4b6},
-  {0x3e7a, 0x23ffb4b7},
-  {0x3e7b, 0x23ffb4b8},
-  {0x3e7c, 0x23ffb4b9},
-  {0x3e7d, 0x23ffb8b0},
-  {0x3e7e, 0x23ffb8b1},
-  {0x3e7f, 0x23ffb8b2},
-  {0x3e80, 0x23ffb8b3},
-  {0x3e81, 0x23ffb8b4},
-  {0x3e82, 0x23ffb8b5},
-  {0x3e83, 0x23ffb8b6},
-  {0x3e84, 0x23ffb8b7},
-  {0x3e85, 0x23ffb8b8},
-  {0x3e86, 0x23ffb8b9},
-  {0x3e87, 0x23e884b0},
-  {0x3e88, 0x23e884b1},
-  {0x3e89, 0x23e884b2},
-  {0x3e8a, 0x23e884b3},
-  {0x3e8b, 0x23e884b4},
-  {0x3e8c, 0x23e884b5},
-  {0x3e8d, 0x23e884b6},
-  {0x3e8e, 0x23e884b7},
-  {0x3e8f, 0x23e884b8},
-  {0x3e90, 0x23e884b9},
-  {0x3e91, 0x23e888b0},
-  {0x3e92, 0x23e888b1},
-  {0x3e93, 0x23e888b2},
-  {0x3e94, 0x23e888b3},
-  {0x3e95, 0x23e888b4},
-  {0x3e96, 0x23e888b5},
-  {0x3e97, 0x23e888b6},
-  {0x3e98, 0x23e888b7},
-  {0x3e99, 0x23e888b8},
-  {0x3e9a, 0x23e888b9},
-  {0x3e9b, 0x23e88cb0},
-  {0x3e9c, 0x23e88cb1},
-  {0x3e9d, 0x23e88cb2},
-  {0x3e9e, 0x23e88cb3},
-  {0x3e9f, 0x23e88cb4},
-  {0x3ea0, 0x23e88cb5},
-  {0x3ea1, 0x23e88cb6},
-  {0x3ea2, 0x23e88cb7},
-  {0x3ea3, 0x23e88cb8},
-  {0x3ea4, 0x23e88cb9},
-  {0x3ea5, 0x23e890b0},
-  {0x3ea6, 0x23e890b1},
-  {0x3ea7, 0x23e890b2},
-  {0x3ea8, 0x23e890b3},
-  {0x3ea9, 0x23e890b4},
-  {0x3eaa, 0x23e890b5},
-  {0x3eab, 0x23e890b6},
-  {0x3eac, 0x23e890b7},
-  {0x3ead, 0x23e890b8},
-  {0x3eae, 0x23e890b9},
-  {0x3eaf, 0x23e894b0},
-  {0x3eb0, 0x23e894b1},
-  {0x3eb1, 0x23e894b2},
-  {0x3eb2, 0x23e894b3},
-  {0x3eb3, 0x23e894b4},
-  {0x3eb4, 0x23e894b5},
-  {0x3eb5, 0x23e894b6},
-  {0x3eb6, 0x23e894b7},
-  {0x3eb7, 0x23e894b8},
-  {0x3eb8, 0x23e894b9},
-  {0x3eb9, 0x23e898b0},
-  {0x3eba, 0x23e898b1},
-  {0x3ebb, 0x23e898b2},
-  {0x3ebc, 0x23e898b3},
-  {0x3ebd, 0x23e898b4},
-  {0x3ebe, 0x23e898b5},
-  {0x3ebf, 0x23e898b6},
-  {0x3ec0, 0x23e898b7},
-  {0x3ec1, 0x23e898b8},
-  {0x3ec2, 0x23e898b9},
-  {0x3ec3, 0x23e89cb0},
-  {0x3ec4, 0x23e89cb1},
-  {0x3ec5, 0x23e89cb2},
-  {0x3ec6, 0x23e89cb3},
-  {0x3ec7, 0x23e89cb4},
-  {0x3ec8, 0x23e89cb5},
-  {0x3ec9, 0x23e89cb6},
-  {0x3eca, 0x23e89cb7},
-  {0x3ecb, 0x23e89cb8},
-  {0x3ecc, 0x23e89cb9},
-  {0x3ecd, 0x23e8a0b0},
-  {0x3ece, 0x23e8a0b1},
-  {0x3ecf, 0x23e8a0b2},
-  {0x3ed0, 0x23e8a0b3},
-  {0x3ed1, 0x23e8a0b4},
-  {0x3ed2, 0x23e8a0b5},
-  {0x3ed3, 0x23e8a0b6},
-  {0x3ed4, 0x23e8a0b7},
-  {0x3ed5, 0x23e8a0b8},
-  {0x3ed6, 0x23e8a0b9},
-  {0x3ed7, 0x23e8a4b0},
-  {0x3ed8, 0x23e8a4b1},
-  {0x3ed9, 0x23e8a4b2},
-  {0x3eda, 0x23e8a4b3},
-  {0x3edb, 0x23e8a4b4},
-  {0x3edc, 0x23e8a4b5},
-  {0x3edd, 0x23e8a4b6},
-  {0x3ede, 0x23e8a4b7},
-  {0x3edf, 0x23e8a4b8},
-  {0x3ee0, 0x23e8a4b9},
-  {0x3ee1, 0x23e8a8b0},
-  {0x3ee2, 0x23e8a8b1},
-  {0x3ee3, 0x23e8a8b2},
-  {0x3ee4, 0x23e8a8b3},
-  {0x3ee5, 0x23e8a8b4},
-  {0x3ee6, 0x23e8a8b5},
-  {0x3ee7, 0x23e8a8b6},
-  {0x3ee8, 0x23e8a8b7},
-  {0x3ee9, 0x23e8a8b8},
-  {0x3eea, 0x23e8a8b9},
-  {0x3eeb, 0x23e8acb0},
-  {0x3eec, 0x23e8acb1},
-  {0x3eed, 0x23e8acb2},
-  {0x3eee, 0x23e8acb3},
-  {0x3eef, 0x23e8acb4},
-  {0x3ef0, 0x23e8acb5},
-  {0x3ef1, 0x23e8acb6},
-  {0x3ef2, 0x23e8acb7},
-  {0x3ef3, 0x23e8acb8},
-  {0x3ef4, 0x23e8acb9},
-  {0x3ef5, 0x23e8b0b0},
-  {0x3ef6, 0x23e8b0b1},
-  {0x3ef7, 0x23e8b0b2},
-  {0x3ef8, 0x23e8b0b3},
-  {0x3ef9, 0x23e8b0b4},
-  {0x3efa, 0x23e8b0b5},
-  {0x3efb, 0x23e8b0b6},
-  {0x3efc, 0x23e8b0b7},
-  {0x3efd, 0x23e8b0b8},
-  {0x3efe, 0x23e8b0b9},
-  {0x3eff, 0x23e8b4b0},
-  {0x3f00, 0x23e8b4b1},
-  {0x3f01, 0x23e8b4b2},
-  {0x3f02, 0x23e8b4b3},
-  {0x3f03, 0x23e8b4b4},
-  {0x3f04, 0x23e8b4b5},
-  {0x3f05, 0x23e8b4b6},
-  {0x3f06, 0x23e8b4b7},
-  {0x3f07, 0x23e8b4b8},
-  {0x3f08, 0x23e8b4b9},
-  {0x3f09, 0x23e8b8b0},
-  {0x3f0a, 0x23e8b8b1},
-  {0x3f0b, 0x23e8b8b2},
-  {0x3f0c, 0x23e8b8b3},
-  {0x3f0d, 0x23e8b8b4},
-  {0x3f0e, 0x23e8b8b5},
-  {0x3f0f, 0x23e8b8b6},
-  {0x3f10, 0x23e8b8b7},
-  {0x3f11, 0x23e8b8b8},
-  {0x3f12, 0x23e8b8b9},
-  {0x3f13, 0x23e8bcb0},
-  {0x3f14, 0x23e8bcb1},
-  {0x3f15, 0x23e8bcb2},
-  {0x3f16, 0x23e8bcb3},
-  {0x3f17, 0x23e8bcb4},
-  {0x3f18, 0x23e8bcb5},
-  {0x3f19, 0x23e8bcb6},
-  {0x3f1a, 0x23e8bcb7},
-  {0x3f1b, 0x23e8bcb8},
-  {0x3f1c, 0x23e8bcb9},
-  {0x3f1d, 0x23e980b0},
-  {0x3f1e, 0x23e980b1},
-  {0x3f1f, 0x23e980b2},
-  {0x3f20, 0x23e980b3},
-  {0x3f21, 0x23e980b4},
-  {0x3f22, 0x23e980b5},
-  {0x3f23, 0x23e980b6},
-  {0x3f24, 0x23e980b7},
-  {0x3f25, 0x23e980b8},
-  {0x3f26, 0x23e980b9},
-  {0x3f27, 0x23e984b0},
-  {0x3f28, 0x23e984b1},
-  {0x3f29, 0x23e984b2},
-  {0x3f2a, 0x23e984b3},
-  {0x3f2b, 0x23e984b4},
-  {0x3f2c, 0x23e984b5},
-  {0x3f2d, 0x23e984b6},
-  {0x3f2e, 0x23e984b7},
-  {0x3f2f, 0x23e984b8},
-  {0x3f30, 0x23e984b9},
-  {0x3f31, 0x23e988b0},
-  {0x3f32, 0x23e988b1},
-  {0x3f33, 0x23e988b2},
-  {0x3f34, 0x23e988b3},
-  {0x3f35, 0x23e988b4},
-  {0x3f36, 0x23e988b5},
-  {0x3f37, 0x23e988b6},
-  {0x3f38, 0x23e988b7},
-  {0x3f39, 0x23e988b8},
-  {0x3f3a, 0x23e988b9},
-  {0x3f3b, 0x23e98cb0},
-  {0x3f3c, 0x23e98cb1},
-  {0x3f3d, 0x23e98cb2},
-  {0x3f3e, 0x23e98cb3},
-  {0x3f3f, 0x23e98cb4},
-  {0x3f40, 0x23e98cb5},
-  {0x3f41, 0x23e98cb6},
-  {0x3f42, 0x23e98cb7},
-  {0x3f43, 0x23e98cb8},
-  {0x3f44, 0x23e98cb9},
-  {0x3f45, 0x23e990b0},
-  {0x3f46, 0x23e990b1},
-  {0x3f47, 0x23e990b2},
-  {0x3f48, 0x23e990b3},
-  {0x3f49, 0x23e990b4},
-  {0x3f4a, 0x23e990b5},
-  {0x3f4b, 0x23e990b6},
-  {0x3f4c, 0x23e990b7},
-  {0x3f4d, 0x23e990b8},
-  {0x3f4e, 0x23e990b9},
-  {0x3f4f, 0x23e994b0},
-  {0x3f50, 0x23e994b1},
-  {0x3f51, 0x23e994b2},
-  {0x3f52, 0x23e994b3},
-  {0x3f53, 0x23e994b4},
-  {0x3f54, 0x23e994b5},
-  {0x3f55, 0x23e994b6},
-  {0x3f56, 0x23e994b7},
-  {0x3f57, 0x23e994b8},
-  {0x3f58, 0x23e994b9},
-  {0x3f59, 0x23e998b0},
-  {0x3f5a, 0x23e998b1},
-  {0x3f5b, 0x23e998b2},
-  {0x3f5c, 0x23e998b3},
-  {0x3f5d, 0x23e998b4},
-  {0x3f5e, 0x23e998b5},
-  {0x3f5f, 0x23e998b6},
-  {0x3f60, 0x23e998b7},
-  {0x3f61, 0x23e998b8},
-  {0x3f62, 0x23e998b9},
-  {0x3f63, 0x23e99cb0},
-  {0x3f64, 0x23e99cb1},
-  {0x3f65, 0x23e99cb2},
-  {0x3f66, 0x23e99cb3},
-  {0x3f67, 0x23e99cb4},
-  {0x3f68, 0x23e99cb5},
-  {0x3f69, 0x23e99cb6},
-  {0x3f6a, 0x23e99cb7},
-  {0x3f6b, 0x23e99cb8},
-  {0x3f6c, 0x23e99cb9},
-  {0x3f6d, 0x23e9a0b0},
-  {0x3f6e, 0x23e9a0b1},
-  {0x3f6f, 0x23e9a0b2},
-  {0x3f70, 0x23e9a0b3},
-  {0x3f71, 0x23e9a0b4},
-  {0x3f72, 0x23e9a0b5},
-  {0x3f73, 0x23e9a0b6},
-  {0x3f74, 0x23e9a0b7},
-  {0x3f75, 0x23e9a0b8},
-  {0x3f76, 0x23e9a0b9},
-  {0x3f77, 0x23e9a4b0},
-  {0x3f78, 0x23e9a4b1},
-  {0x3f79, 0x23e9a4b2},
-  {0x3f7a, 0x23e9a4b3},
-  {0x3f7b, 0x23e9a4b4},
-  {0x3f7c, 0x23e9a4b5},
-  {0x3f7d, 0x23e9a4b6},
-  {0x3f7e, 0x23e9a4b7},
-  {0x3f7f, 0x23e9a4b8},
-  {0x3f80, 0x23e9a4b9},
-  {0x3f81, 0x23e9a8b0},
-  {0x3f82, 0x23e9a8b1},
-  {0x3f83, 0x23e9a8b2},
-  {0x3f84, 0x23e9a8b3},
-  {0x3f85, 0x23e9a8b4},
-  {0x3f86, 0x23e9a8b5},
-  {0x3f87, 0x23e9a8b6},
-  {0x3f88, 0x23e9a8b7},
-  {0x3f89, 0x23e9a8b8},
-  {0x3f8a, 0x23e9a8b9},
-  {0x3f8b, 0x23e9acb0},
-  {0x3f8c, 0x23e9acb1},
-  {0x3f8d, 0x23e9acb2},
-  {0x3f8e, 0x23e9acb3},
-  {0x3f8f, 0x23e9acb4},
-  {0x3f90, 0x23e9acb5},
-  {0x3f91, 0x23e9acb6},
-  {0x3f92, 0x23e9acb7},
-  {0x3f93, 0x23e9acb8},
-  {0x3f94, 0x23e9acb9},
-  {0x3f95, 0x23e9b0b0},
-  {0x3f96, 0x23e9b0b1},
-  {0x3f97, 0x23e9b0b2},
-  {0x3f98, 0x23e9b0b3},
-  {0x3f99, 0x23e9b0b4},
-  {0x3f9a, 0x23e9b0b5},
-  {0x3f9b, 0x23e9b0b6},
-  {0x3f9c, 0x23e9b0b7},
-  {0x3f9d, 0x23e9b0b8},
-  {0x3f9e, 0x23e9b0b9},
-  {0x3f9f, 0x23e9b4b0},
-  {0x3fa0, 0x23e9b4b1},
-  {0x3fa1, 0x23e9b4b2},
-  {0x3fa2, 0x23e9b4b3},
-  {0x3fa3, 0x23e9b4b4},
-  {0x3fa4, 0x23e9b4b5},
-  {0x3fa5, 0x23e9b4b6},
-  {0x3fa6, 0x23e9b4b7},
-  {0x3fa7, 0x23e9b4b8},
-  {0x3fa8, 0x23e9b4b9},
-  {0x3fa9, 0x23e9b8b0},
-  {0x3faa, 0x23e9b8b1},
-  {0x3fab, 0x23e9b8b2},
-  {0x3fac, 0x23e9b8b3},
-  {0x3fad, 0x23e9b8b4},
-  {0x3fae, 0x23e9b8b5},
-  {0x3faf, 0x23e9b8b6},
-  {0x3fb0, 0x23e9b8b7},
-  {0x3fb1, 0x23e9b8b8},
-  {0x3fb2, 0x23e9b8b9},
-  {0x3fb3, 0x23e9bcb0},
-  {0x3fb4, 0x23e9bcb1},
-  {0x3fb5, 0x23e9bcb2},
-  {0x3fb6, 0x23e9bcb3},
-  {0x3fb7, 0x23e9bcb4},
-  {0x3fb8, 0x23e9bcb5},
-  {0x3fb9, 0x23e9bcb6},
-  {0x3fba, 0x23e9bcb7},
-  {0x3fbb, 0x23e9bcb8},
-  {0x3fbc, 0x23e9bcb9},
-  {0x3fbd, 0x23ea80b0},
-  {0x3fbe, 0x23ea80b1},
-  {0x3fbf, 0x23ea80b2},
-  {0x3fc0, 0x23ea80b3},
-  {0x3fc1, 0x23ea80b4},
-  {0x3fc2, 0x23ea80b5},
-  {0x3fc3, 0x23ea80b6},
-  {0x3fc4, 0x23ea80b7},
-  {0x3fc5, 0x23ea80b8},
-  {0x3fc6, 0x23ea80b9},
-  {0x3fc7, 0x23ea84b0},
-  {0x3fc8, 0x23ea84b1},
-  {0x3fc9, 0x23ea84b2},
-  {0x3fca, 0x23ea84b3},
-  {0x3fcb, 0x23ea84b4},
-  {0x3fcc, 0x23ea84b5},
-  {0x3fcd, 0x23ea84b6},
-  {0x3fce, 0x23ea84b7},
-  {0x3fcf, 0x23ea84b8},
-  {0x3fd0, 0x23ea84b9},
-  {0x3fd1, 0x23ea88b0},
-  {0x3fd2, 0x23ea88b1},
-  {0x3fd3, 0x23ea88b2},
-  {0x3fd4, 0x23ea88b3},
-  {0x3fd5, 0x23ea88b4},
-  {0x3fd6, 0x23ea88b5},
-  {0x3fd7, 0x23ea88b6},
-  {0x3fd8, 0x23ea88b7},
-  {0x3fd9, 0x23ea88b8},
-  {0x3fda, 0x23ea88b9},
-  {0x3fdb, 0x23ea8cb0},
-  {0x3fdc, 0x23ea8cb1},
-  {0x3fdd, 0x23ea8cb2},
-  {0x3fde, 0x23ea8cb3},
-  {0x3fdf, 0x23ea8cb4},
-  {0x3fe0, 0x23ea8cb5},
-  {0x3fe1, 0x23ea8cb6},
-  {0x3fe2, 0x23ea8cb7},
-  {0x3fe3, 0x23ea8cb8},
-  {0x3fe4, 0x23ea8cb9},
-  {0x3fe5, 0x23ea90b0},
-  {0x3fe6, 0x23ea90b1},
-  {0x3fe7, 0x23ea90b2},
-  {0x3fe8, 0x23ea90b3},
-  {0x3fe9, 0x23ea90b4},
-  {0x3fea, 0x23ea90b5},
-  {0x3feb, 0x23ea90b6},
-  {0x3fec, 0x23ea90b7},
-  {0x3fed, 0x23ea90b8},
-  {0x3fee, 0x23ea90b9},
-  {0x3fef, 0x23ea94b0},
-  {0x3ff0, 0x23ea94b1},
-  {0x3ff1, 0x23ea94b2},
-  {0x3ff2, 0x23ea94b3},
-  {0x3ff3, 0x23ea94b4},
-  {0x3ff4, 0x23ea94b5},
-  {0x3ff5, 0x23ea94b6},
-  {0x3ff6, 0x23ea94b7},
-  {0x3ff7, 0x23ea94b8},
-  {0x3ff8, 0x23ea94b9},
-  {0x3ff9, 0x23ea98b0},
-  {0x3ffa, 0x23ea98b1},
-  {0x3ffb, 0x23ea98b2},
-  {0x3ffc, 0x23ea98b3},
-  {0x3ffd, 0x23ea98b4},
-  {0x3ffe, 0x23ea98b5},
-  {0x3fff, 0x23ea98b6},
-  {0x4000, 0x23ea98b7},
-  {0x4001, 0x23ea98b8},
-  {0x4002, 0x23ea98b9},
-  {0x4003, 0x23ea9cb0},
-  {0x4004, 0x23ea9cb1},
-  {0x4005, 0x23ea9cb2},
-  {0x4006, 0x23ea9cb3},
-  {0x4007, 0x23ea9cb4},
-  {0x4008, 0x23ea9cb5},
-  {0x4009, 0x23ea9cb6},
-  {0x400a, 0x23ea9cb7},
-  {0x400b, 0x23ea9cb8},
-  {0x400c, 0x23ea9cb9},
-  {0x400d, 0x23eaa0b0},
-  {0x400e, 0x23eaa0b1},
-  {0x400f, 0x23eaa0b2},
-  {0x4010, 0x23eaa0b3},
-  {0x4011, 0x23eaa0b4},
-  {0x4012, 0x23eaa0b5},
-  {0x4013, 0x23eaa0b6},
-  {0x4014, 0x23eaa0b7},
-  {0x4015, 0x23eaa0b8},
-  {0x4016, 0x23eaa0b9},
-  {0x4017, 0x23eaa4b0},
-  {0x4018, 0x23eaa4b1},
-  {0x4019, 0x23eaa4b2},
-  {0x401a, 0x23eaa4b3},
-  {0x401b, 0x23eaa4b4},
-  {0x401c, 0x23eaa4b5},
-  {0x401d, 0x23eaa4b6},
-  {0x401e, 0x23eaa4b7},
-  {0x401f, 0x23eaa4b8},
-  {0x4020, 0x23eaa4b9},
-  {0x4021, 0x23eaa8b0},
-  {0x4022, 0x23eaa8b1},
-  {0x4023, 0x23eaa8b2},
-  {0x4024, 0x23eaa8b3},
-  {0x4025, 0x23eaa8b4},
-  {0x4026, 0x23eaa8b5},
-  {0x4027, 0x23eaa8b6},
-  {0x4028, 0x23eaa8b7},
-  {0x4029, 0x23eaa8b8},
-  {0x402a, 0x23eaa8b9},
-  {0x402b, 0x23eaacb0},
-  {0x402c, 0x23eaacb1},
-  {0x402d, 0x23eaacb2},
-  {0x402e, 0x23eaacb3},
-  {0x402f, 0x23eaacb4},
-  {0x4030, 0x23eaacb5},
-  {0x4031, 0x23eaacb6},
-  {0x4032, 0x23eaacb7},
-  {0x4033, 0x23eaacb8},
-  {0x4034, 0x23eaacb9},
-  {0x4035, 0x23eab0b0},
-  {0x4036, 0x23eab0b1},
-  {0x4037, 0x23eab0b2},
-  {0x4038, 0x23eab0b3},
-  {0x4039, 0x23eab0b4},
-  {0x403a, 0x23eab0b5},
-  {0x403b, 0x23eab0b6},
-  {0x403c, 0x23eab0b7},
-  {0x403d, 0x23eab0b8},
-  {0x403e, 0x23eab0b9},
-  {0x403f, 0x23eab4b0},
-  {0x4040, 0x23eab4b1},
-  {0x4041, 0x23eab4b2},
-  {0x4042, 0x23eab4b3},
-  {0x4043, 0x23eab4b4},
-  {0x4044, 0x23eab4b5},
-  {0x4045, 0x23eab4b6},
-  {0x4046, 0x23eab4b7},
-  {0x4047, 0x23eab4b8},
-  {0x4048, 0x23eab4b9},
-  {0x4049, 0x23eab8b0},
-  {0x404a, 0x23eab8b1},
-  {0x404b, 0x23eab8b2},
-  {0x404c, 0x23eab8b3},
-  {0x404d, 0x23eab8b4},
-  {0x404e, 0x23eab8b5},
-  {0x404f, 0x23eab8b6},
-  {0x4050, 0x23eab8b7},
-  {0x4051, 0x23eab8b8},
-  {0x4052, 0x23eab8b9},
-  {0x4053, 0x23eabcb0},
-  {0x4054, 0x23eabcb1},
-  {0x4055, 0x23eabcb2},
-  {0x4056, 0xefb9af},
-  {0x4057, 0x23eabcb3},
-  {0x4058, 0x23eabcb4},
-  {0x4059, 0x23eabcb5},
-  {0x405a, 0x23eabcb6},
-  {0x405b, 0x23eabcb7},
-  {0x405c, 0x23eabcb8},
-  {0x405d, 0x23eabcb9},
-  {0x405e, 0x23eb80b0},
-  {0x405f, 0x23eb80b1},
-  {0x4060, 0x23eb80b2},
-  {0x4061, 0x23eb80b3},
-  {0x4062, 0x23eb80b4},
-  {0x4063, 0x23eb80b5},
-  {0x4064, 0x23eb80b6},
-  {0x4065, 0x23eb80b7},
-  {0x4066, 0x23eb80b8},
-  {0x4067, 0x23eb80b9},
-  {0x4068, 0x23eb84b0},
-  {0x4069, 0x23eb84b1},
-  {0x406a, 0x23eb84b2},
-  {0x406b, 0x23eb84b3},
-  {0x406c, 0x23eb84b4},
-  {0x406d, 0x23eb84b5},
-  {0x406e, 0x23eb84b6},
-  {0x406f, 0x23eb84b7},
-  {0x4070, 0x23eb84b8},
-  {0x4071, 0x23eb84b9},
-  {0x4072, 0x23eb88b0},
-  {0x4073, 0x23eb88b1},
-  {0x4074, 0x23eb88b2},
-  {0x4075, 0x23eb88b3},
-  {0x4076, 0x23eb88b4},
-  {0x4077, 0x23eb88b5},
-  {0x4078, 0x23eb88b6},
-  {0x4079, 0x23eb88b7},
-  {0x407a, 0x23eb88b8},
-  {0x407b, 0x23eb88b9},
-  {0x407c, 0x23eb8cb0},
-  {0x407d, 0x23eb8cb1},
-  {0x407e, 0x23eb8cb2},
-  {0x407f, 0x23eb8cb3},
-  {0x4080, 0x23eb8cb4},
-  {0x4081, 0x23eb8cb5},
-  {0x4082, 0x23eb8cb6},
-  {0x4083, 0x23eb8cb7},
-  {0x4084, 0x23eb8cb8},
-  {0x4085, 0x23eb8cb9},
-  {0x4086, 0x23eb90b0},
-  {0x4087, 0x23eb90b1},
-  {0x4088, 0x23eb90b2},
-  {0x4089, 0x23eb90b3},
-  {0x408a, 0x23eb90b4},
-  {0x408b, 0x23eb90b5},
-  {0x408c, 0x23eb90b6},
-  {0x408d, 0x23eb90b7},
-  {0x408e, 0x23eb90b8},
-  {0x408f, 0x23eb90b9},
-  {0x4090, 0x23eb94b0},
-  {0x4091, 0x23eb94b1},
-  {0x4092, 0x23eb94b2},
-  {0x4093, 0x23eb94b3},
-  {0x4094, 0x23eb94b4},
-  {0x4095, 0x23eb94b5},
-  {0x4096, 0x23eb94b6},
-  {0x4097, 0x23eb94b7},
-  {0x4098, 0x23eb94b8},
-  {0x4099, 0x23eb94b9},
-  {0x409a, 0x23eb98b0},
-  {0x409b, 0x23eb98b1},
-  {0x409c, 0x23eb98b2},
-  {0x409d, 0x23eb98b3},
-  {0x409e, 0x23eb98b4},
-  {0x409f, 0x23eb98b5},
-  {0x40a0, 0x23eb98b6},
-  {0x40a1, 0x23eb98b7},
-  {0x40a2, 0x23eb98b8},
-  {0x40a3, 0x23eb98b9},
-  {0x40a4, 0x23eb9cb0},
-  {0x40a5, 0x23eb9cb1},
-  {0x40a6, 0x23eb9cb2},
-  {0x40a7, 0x23eb9cb3},
-  {0x40a8, 0x23eb9cb4},
-  {0x40a9, 0x23eb9cb5},
-  {0x40aa, 0x23eb9cb6},
-  {0x40ab, 0x23eb9cb7},
-  {0x40ac, 0x23eb9cb8},
-  {0x40ad, 0x23eb9cb9},
-  {0x40ae, 0x23eba0b0},
-  {0x40af, 0x23eba0b1},
-  {0x40b0, 0x23eba0b2},
-  {0x40b1, 0x23eba0b3},
-  {0x40b2, 0x23eba0b4},
-  {0x40b3, 0x23eba0b5},
-  {0x40b4, 0x23eba0b6},
-  {0x40b5, 0x23eba0b7},
-  {0x40b6, 0x23eba0b8},
-  {0x40b7, 0x23eba0b9},
-  {0x40b8, 0x23eba4b0},
-  {0x40b9, 0x23eba4b1},
-  {0x40ba, 0x23eba4b2},
-  {0x40bb, 0x23eba4b3},
-  {0x40bc, 0x23eba4b4},
-  {0x40bd, 0x23eba4b5},
-  {0x40be, 0x23eba4b6},
-  {0x40bf, 0x23eba4b7},
-  {0x40c0, 0x23eba4b8},
-  {0x40c1, 0x23eba4b9},
-  {0x40c2, 0x23eba8b0},
-  {0x40c3, 0x23eba8b1},
-  {0x40c4, 0x23eba8b2},
-  {0x40c5, 0x23eba8b3},
-  {0x40c6, 0x23eba8b4},
-  {0x40c7, 0x23eba8b5},
-  {0x40c8, 0x23eba8b6},
-  {0x40c9, 0x23eba8b7},
-  {0x40ca, 0x23eba8b8},
-  {0x40cb, 0x23eba8b9},
-  {0x40cc, 0x23ebacb0},
-  {0x40cd, 0x23ebacb1},
-  {0x40ce, 0x23ebacb2},
-  {0x40cf, 0x23ebacb3},
-  {0x40d0, 0x23ebacb4},
-  {0x40d1, 0x23ebacb5},
-  {0x40d2, 0x23ebacb6},
-  {0x40d3, 0x23ebacb7},
-  {0x40d4, 0x23ebacb8},
-  {0x40d5, 0x23ebacb9},
-  {0x40d6, 0x23ebb0b0},
-  {0x40d7, 0x23ebb0b1},
-  {0x40d8, 0x23ebb0b2},
-  {0x40d9, 0x23ebb0b3},
-  {0x40da, 0x23ebb0b4},
-  {0x40db, 0x23ebb0b5},
-  {0x40dc, 0x23ebb0b6},
-  {0x40dd, 0x23ebb0b7},
-  {0x40de, 0x23ebb0b8},
-  {0x40df, 0x23ebb0b9},
-  {0x40e0, 0x23ebb4b0},
-  {0x40e1, 0x23ebb4b1},
-  {0x40e2, 0x23ebb4b2},
-  {0x40e3, 0x23ebb4b3},
-  {0x40e4, 0x23ebb4b4},
-  {0x40e5, 0x23ebb4b5},
-  {0x40e6, 0x23ebb4b6},
-  {0x40e7, 0x23ebb4b7},
-  {0x40e8, 0x23ebb4b8},
-  {0x40e9, 0x23ebb4b9},
-  {0x40ea, 0x23ebb8b0},
-  {0x40eb, 0x23ebb8b1},
-  {0x40ec, 0x23ebb8b2},
-  {0x40ed, 0x23ebb8b3},
-  {0x40ee, 0x23ebb8b4},
-  {0x40ef, 0x23ebb8b5},
-  {0x40f0, 0x23ebb8b6},
-  {0x40f1, 0x23ebb8b7},
-  {0x40f2, 0x23ebb8b8},
-  {0x40f3, 0x23ebb8b9},
-  {0x40f4, 0x23ebbcb0},
-  {0x40f5, 0x23ebbcb1},
-  {0x40f6, 0x23ebbcb2},
-  {0x40f7, 0x23ebbcb3},
-  {0x40f8, 0x23ebbcb4},
-  {0x40f9, 0x23ebbcb5},
-  {0x40fa, 0x23ebbcb6},
-  {0x40fb, 0x23ebbcb7},
-  {0x40fc, 0x23ebbcb8},
-  {0x40fd, 0x23ebbcb9},
-  {0x40fe, 0x23ec80b0},
-  {0x40ff, 0x23ec80b1},
-  {0x4100, 0x23ec80b2},
-  {0x4101, 0x23ec80b3},
-  {0x4102, 0x23ec80b4},
-  {0x4103, 0x23ec80b5},
-  {0x4104, 0x23ec80b6},
-  {0x4105, 0x23ec80b7},
-  {0x4106, 0x23ec80b8},
-  {0x4107, 0x23ec80b9},
-  {0x4108, 0x23ec84b0},
-  {0x4109, 0x23ec84b1},
-  {0x410a, 0x23ec84b2},
-  {0x410b, 0x23ec84b3},
-  {0x410c, 0x23ec84b4},
-  {0x410d, 0x23ec84b5},
-  {0x410e, 0x23ec84b6},
-  {0x410f, 0x23ec84b7},
-  {0x4110, 0x23ec84b8},
-  {0x4111, 0x23ec84b9},
-  {0x4112, 0x23ec88b0},
-  {0x4113, 0x23ec88b1},
-  {0x4114, 0x23ec88b2},
-  {0x4115, 0x23ec88b3},
-  {0x4116, 0x23ec88b4},
-  {0x4117, 0x23ec88b5},
-  {0x4118, 0x23ec88b6},
-  {0x4119, 0x23ec88b7},
-  {0x411a, 0x23ec88b8},
-  {0x411b, 0x23ec88b9},
-  {0x411c, 0x23ec8cb0},
-  {0x411d, 0x23ec8cb1},
-  {0x411e, 0x23ec8cb2},
-  {0x411f, 0x23ec8cb3},
-  {0x4120, 0x23ec8cb4},
-  {0x4121, 0x23ec8cb5},
-  {0x4122, 0x23ec8cb6},
-  {0x4123, 0x23ec8cb7},
-  {0x4124, 0x23ec8cb8},
-  {0x4125, 0x23ec8cb9},
-  {0x4126, 0x23ec90b0},
-  {0x4127, 0x23ec90b1},
-  {0x4128, 0x23ec90b2},
-  {0x4129, 0x23ec90b3},
-  {0x412a, 0x23ec90b4},
-  {0x412b, 0x23ec90b5},
-  {0x412c, 0x23ec90b6},
-  {0x412d, 0x23ec90b7},
-  {0x412e, 0x23ec90b8},
-  {0x412f, 0x23ec90b9},
-  {0x4130, 0x23ec94b0},
-  {0x4131, 0x23ec94b1},
-  {0x4132, 0x23ec94b2},
-  {0x4133, 0x23ec94b3},
-  {0x4134, 0x23ec94b4},
-  {0x4135, 0x23ec94b5},
-  {0x4136, 0x23ec94b6},
-  {0x4137, 0x23ec94b7},
-  {0x4138, 0x23ec94b8},
-  {0x4139, 0x23ec94b9},
-  {0x413a, 0x23ec98b0},
-  {0x413b, 0x23ec98b1},
-  {0x413c, 0x23ec98b2},
-  {0x413d, 0x23ec98b3},
-  {0x413e, 0x23ec98b4},
-  {0x413f, 0x23ec98b5},
-  {0x4140, 0x23ec98b6},
-  {0x4141, 0x23ec98b7},
-  {0x4142, 0x23ec98b8},
-  {0x4143, 0x23ec98b9},
-  {0x4144, 0x23ec9cb0},
-  {0x4145, 0x23ec9cb1},
-  {0x4146, 0x23ec9cb2},
-  {0x4147, 0x23ec9cb3},
-  {0x4148, 0x23ec9cb4},
-  {0x4149, 0x23ec9cb5},
-  {0x414a, 0x23ec9cb6},
-  {0x414b, 0x23ec9cb7},
-  {0x414c, 0x23ec9cb8},
-  {0x414d, 0x23ec9cb9},
-  {0x414e, 0x23eca0b0},
-  {0x414f, 0x23eca0b1},
-  {0x4150, 0x23eca0b2},
-  {0x4151, 0x23eca0b3},
-  {0x4152, 0x23eca0b4},
-  {0x4153, 0x23eca0b5},
-  {0x4154, 0x23eca0b6},
-  {0x4155, 0x23eca0b7},
-  {0x4156, 0x23eca0b8},
-  {0x4157, 0x23eca0b9},
-  {0x4158, 0x23eca4b0},
-  {0x4159, 0x23eca4b1},
-  {0x415a, 0x23eca4b2},
-  {0x415b, 0x23eca4b3},
-  {0x415c, 0x23eca4b4},
-  {0x415d, 0x23eca4b5},
-  {0x415e, 0x23eca4b6},
-  {0x415f, 0xefb9b0},
-  {0x4160, 0x23eca4b7},
-  {0x4161, 0x23eca4b8},
-  {0x4162, 0x23eca4b9},
-  {0x4163, 0x23eca8b0},
-  {0x4164, 0x23eca8b1},
-  {0x4165, 0x23eca8b2},
-  {0x4166, 0x23eca8b3},
-  {0x4167, 0x23eca8b4},
-  {0x4168, 0x23eca8b5},
-  {0x4169, 0x23eca8b6},
-  {0x416a, 0x23eca8b7},
-  {0x416b, 0x23eca8b8},
-  {0x416c, 0x23eca8b9},
-  {0x416d, 0x23ecacb0},
-  {0x416e, 0x23ecacb1},
-  {0x416f, 0x23ecacb2},
-  {0x4170, 0x23ecacb3},
-  {0x4171, 0x23ecacb4},
-  {0x4172, 0x23ecacb5},
-  {0x4173, 0x23ecacb6},
-  {0x4174, 0x23ecacb7},
-  {0x4175, 0x23ecacb8},
-  {0x4176, 0x23ecacb9},
-  {0x4177, 0x23ecb0b0},
-  {0x4178, 0x23ecb0b1},
-  {0x4179, 0x23ecb0b2},
-  {0x417a, 0x23ecb0b3},
-  {0x417b, 0x23ecb0b4},
-  {0x417c, 0x23ecb0b5},
-  {0x417d, 0x23ecb0b6},
-  {0x417e, 0x23ecb0b7},
-  {0x417f, 0x23ecb0b8},
-  {0x4180, 0x23ecb0b9},
-  {0x4181, 0x23ecb4b0},
-  {0x4182, 0x23ecb4b1},
-  {0x4183, 0x23ecb4b2},
-  {0x4184, 0x23ecb4b3},
-  {0x4185, 0x23ecb4b4},
-  {0x4186, 0x23ecb4b5},
-  {0x4187, 0x23ecb4b6},
-  {0x4188, 0x23ecb4b7},
-  {0x4189, 0x23ecb4b8},
-  {0x418a, 0x23ecb4b9},
-  {0x418b, 0x23ecb8b0},
-  {0x418c, 0x23ecb8b1},
-  {0x418d, 0x23ecb8b2},
-  {0x418e, 0x23ecb8b3},
-  {0x418f, 0x23ecb8b4},
-  {0x4190, 0x23ecb8b5},
-  {0x4191, 0x23ecb8b6},
-  {0x4192, 0x23ecb8b7},
-  {0x4193, 0x23ecb8b8},
-  {0x4194, 0x23ecb8b9},
-  {0x4195, 0x23ecbcb0},
-  {0x4196, 0x23ecbcb1},
-  {0x4197, 0x23ecbcb2},
-  {0x4198, 0x23ecbcb3},
-  {0x4199, 0x23ecbcb4},
-  {0x419a, 0x23ecbcb5},
-  {0x419b, 0x23ecbcb6},
-  {0x419c, 0x23ecbcb7},
-  {0x419d, 0x23ecbcb8},
-  {0x419e, 0x23ecbcb9},
-  {0x419f, 0x23ed80b0},
-  {0x41a0, 0x23ed80b1},
-  {0x41a1, 0x23ed80b2},
-  {0x41a2, 0x23ed80b3},
-  {0x41a3, 0x23ed80b4},
-  {0x41a4, 0x23ed80b5},
-  {0x41a5, 0x23ed80b6},
-  {0x41a6, 0x23ed80b7},
-  {0x41a7, 0x23ed80b8},
-  {0x41a8, 0x23ed80b9},
-  {0x41a9, 0x23ed84b0},
-  {0x41aa, 0x23ed84b1},
-  {0x41ab, 0x23ed84b2},
-  {0x41ac, 0x23ed84b3},
-  {0x41ad, 0x23ed84b4},
-  {0x41ae, 0x23ed84b5},
-  {0x41af, 0x23ed84b6},
-  {0x41b0, 0x23ed84b7},
-  {0x41b1, 0x23ed84b8},
-  {0x41b2, 0x23ed84b9},
-  {0x41b3, 0x23ed88b0},
-  {0x41b4, 0x23ed88b1},
-  {0x41b5, 0x23ed88b2},
-  {0x41b6, 0x23ed88b3},
-  {0x41b7, 0x23ed88b4},
-  {0x41b8, 0x23ed88b5},
-  {0x41b9, 0x23ed88b6},
-  {0x41ba, 0x23ed88b7},
-  {0x41bb, 0x23ed88b8},
-  {0x41bc, 0x23ed88b9},
-  {0x41bd, 0x23ed8cb0},
-  {0x41be, 0x23ed8cb1},
-  {0x41bf, 0x23ed8cb2},
-  {0x41c0, 0x23ed8cb3},
-  {0x41c1, 0x23ed8cb4},
-  {0x41c2, 0x23ed8cb5},
-  {0x41c3, 0x23ed8cb6},
-  {0x41c4, 0x23ed8cb7},
-  {0x41c5, 0x23ed8cb8},
-  {0x41c6, 0x23ed8cb9},
-  {0x41c7, 0x23ed90b0},
-  {0x41c8, 0x23ed90b1},
-  {0x41c9, 0x23ed90b2},
-  {0x41ca, 0x23ed90b3},
-  {0x41cb, 0x23ed90b4},
-  {0x41cc, 0x23ed90b5},
-  {0x41cd, 0x23ed90b6},
-  {0x41ce, 0x23ed90b7},
-  {0x41cf, 0x23ed90b8},
-  {0x41d0, 0x23ed90b9},
-  {0x41d1, 0x23ed94b0},
-  {0x41d2, 0x23ed94b1},
-  {0x41d3, 0x23ed94b2},
-  {0x41d4, 0x23ed94b3},
-  {0x41d5, 0x23ed94b4},
-  {0x41d6, 0x23ed94b5},
-  {0x41d7, 0x23ed94b6},
-  {0x41d8, 0x23ed94b7},
-  {0x41d9, 0x23ed94b8},
-  {0x41da, 0x23ed94b9},
-  {0x41db, 0x23ed98b0},
-  {0x41dc, 0x23ed98b1},
-  {0x41dd, 0x23ed98b2},
-  {0x41de, 0x23ed98b3},
-  {0x41df, 0x23ed98b4},
-  {0x41e0, 0x23ed98b5},
-  {0x41e1, 0x23ed98b6},
-  {0x41e2, 0x23ed98b7},
-  {0x41e3, 0x23ed98b8},
-  {0x41e4, 0x23ed98b9},
-  {0x41e5, 0x23ed9cb0},
-  {0x41e6, 0x23ed9cb1},
-  {0x41e7, 0x23ed9cb2},
-  {0x41e8, 0x23ed9cb3},
-  {0x41e9, 0x23ed9cb4},
-  {0x41ea, 0x23ed9cb5},
-  {0x41eb, 0x23ed9cb6},
-  {0x41ec, 0x23ed9cb7},
-  {0x41ed, 0x23ed9cb8},
-  {0x41ee, 0x23ed9cb9},
-  {0x41ef, 0x23eda0b0},
-  {0x41f0, 0x23eda0b1},
-  {0x41f1, 0x23eda0b2},
-  {0x41f2, 0x23eda0b3},
-  {0x41f3, 0x23eda0b4},
-  {0x41f4, 0x23eda0b5},
-  {0x41f5, 0x23eda0b6},
-  {0x41f6, 0x23eda0b7},
-  {0x41f7, 0x23eda0b8},
-  {0x41f8, 0x23eda0b9},
-  {0x41f9, 0x23eda4b0},
-  {0x41fa, 0x23eda4b1},
-  {0x41fb, 0x23eda4b2},
-  {0x41fc, 0x23eda4b3},
-  {0x41fd, 0x23eda4b4},
-  {0x41fe, 0x23eda4b5},
-  {0x41ff, 0x23eda4b6},
-  {0x4200, 0x23eda4b7},
-  {0x4201, 0x23eda4b8},
-  {0x4202, 0x23eda4b9},
-  {0x4203, 0x23eda8b0},
-  {0x4204, 0x23eda8b1},
-  {0x4205, 0x23eda8b2},
-  {0x4206, 0x23eda8b3},
-  {0x4207, 0x23eda8b4},
-  {0x4208, 0x23eda8b5},
-  {0x4209, 0x23eda8b6},
-  {0x420a, 0x23eda8b7},
-  {0x420b, 0x23eda8b8},
-  {0x420c, 0x23eda8b9},
-  {0x420d, 0x23edacb0},
-  {0x420e, 0x23edacb1},
-  {0x420f, 0x23edacb2},
-  {0x4210, 0x23edacb3},
-  {0x4211, 0x23edacb4},
-  {0x4212, 0x23edacb5},
-  {0x4213, 0x23edacb6},
-  {0x4214, 0x23edacb7},
-  {0x4215, 0x23edacb8},
-  {0x4216, 0x23edacb9},
-  {0x4217, 0x23edb0b0},
-  {0x4218, 0x23edb0b1},
-  {0x4219, 0x23edb0b2},
-  {0x421a, 0x23edb0b3},
-  {0x421b, 0x23edb0b4},
-  {0x421c, 0x23edb0b5},
-  {0x421d, 0x23edb0b6},
-  {0x421e, 0x23edb0b7},
-  {0x421f, 0x23edb0b8},
-  {0x4220, 0x23edb0b9},
-  {0x4221, 0x23edb4b0},
-  {0x4222, 0x23edb4b1},
-  {0x4223, 0x23edb4b2},
-  {0x4224, 0x23edb4b3},
-  {0x4225, 0x23edb4b4},
-  {0x4226, 0x23edb4b5},
-  {0x4227, 0x23edb4b6},
-  {0x4228, 0x23edb4b7},
-  {0x4229, 0x23edb4b8},
-  {0x422a, 0x23edb4b9},
-  {0x422b, 0x23edb8b0},
-  {0x422c, 0x23edb8b1},
-  {0x422d, 0x23edb8b2},
-  {0x422e, 0x23edb8b3},
-  {0x422f, 0x23edb8b4},
-  {0x4230, 0x23edb8b5},
-  {0x4231, 0x23edb8b6},
-  {0x4232, 0x23edb8b7},
-  {0x4233, 0x23edb8b8},
-  {0x4234, 0x23edb8b9},
-  {0x4235, 0x23edbcb0},
-  {0x4236, 0x23edbcb1},
-  {0x4237, 0x23edbcb2},
-  {0x4238, 0x23edbcb3},
-  {0x4239, 0x23edbcb4},
-  {0x423a, 0x23edbcb5},
-  {0x423b, 0x23edbcb6},
-  {0x423c, 0x23edbcb7},
-  {0x423d, 0x23edbcb8},
-  {0x423e, 0x23edbcb9},
-  {0x423f, 0x23ee80b0},
-  {0x4240, 0x23ee80b1},
-  {0x4241, 0x23ee80b2},
-  {0x4242, 0x23ee80b3},
-  {0x4243, 0x23ee80b4},
-  {0x4244, 0x23ee80b5},
-  {0x4245, 0x23ee80b6},
-  {0x4246, 0x23ee80b7},
-  {0x4247, 0x23ee80b8},
-  {0x4248, 0x23ee80b9},
-  {0x4249, 0x23ee84b0},
-  {0x424a, 0x23ee84b1},
-  {0x424b, 0x23ee84b2},
-  {0x424c, 0x23ee84b3},
-  {0x424d, 0x23ee84b4},
-  {0x424e, 0x23ee84b5},
-  {0x424f, 0x23ee84b6},
-  {0x4250, 0x23ee84b7},
-  {0x4251, 0x23ee84b8},
-  {0x4252, 0x23ee84b9},
-  {0x4253, 0x23ee88b0},
-  {0x4254, 0x23ee88b1},
-  {0x4255, 0x23ee88b2},
-  {0x4256, 0x23ee88b3},
-  {0x4257, 0x23ee88b4},
-  {0x4258, 0x23ee88b5},
-  {0x4259, 0x23ee88b6},
-  {0x425a, 0x23ee88b7},
-  {0x425b, 0x23ee88b8},
-  {0x425c, 0x23ee88b9},
-  {0x425d, 0x23ee8cb0},
-  {0x425e, 0x23ee8cb1},
-  {0x425f, 0x23ee8cb2},
-  {0x4260, 0x23ee8cb3},
-  {0x4261, 0x23ee8cb4},
-  {0x4262, 0x23ee8cb5},
-  {0x4263, 0x23ee8cb6},
-  {0x4264, 0x23ee8cb7},
-  {0x4265, 0x23ee8cb8},
-  {0x4266, 0x23ee8cb9},
-  {0x4267, 0x23ee90b0},
-  {0x4268, 0x23ee90b1},
-  {0x4269, 0x23ee90b2},
-  {0x426a, 0x23ee90b3},
-  {0x426b, 0x23ee90b4},
-  {0x426c, 0x23ee90b5},
-  {0x426d, 0x23ee90b6},
-  {0x426e, 0x23ee90b7},
-  {0x426f, 0x23ee90b8},
-  {0x4270, 0x23ee90b9},
-  {0x4271, 0x23ee94b0},
-  {0x4272, 0x23ee94b1},
-  {0x4273, 0x23ee94b2},
-  {0x4274, 0x23ee94b3},
-  {0x4275, 0x23ee94b4},
-  {0x4276, 0x23ee94b5},
-  {0x4277, 0x23ee94b6},
-  {0x4278, 0x23ee94b7},
-  {0x4279, 0x23ee94b8},
-  {0x427a, 0x23ee94b9},
-  {0x427b, 0x23ee98b0},
-  {0x427c, 0x23ee98b1},
-  {0x427d, 0x23ee98b2},
-  {0x427e, 0x23ee98b3},
-  {0x427f, 0x23ee98b4},
-  {0x4280, 0x23ee98b5},
-  {0x4281, 0x23ee98b6},
-  {0x4282, 0x23ee98b7},
-  {0x4283, 0x23ee98b8},
-  {0x4284, 0x23ee98b9},
-  {0x4285, 0x23ee9cb0},
-  {0x4286, 0x23ee9cb1},
-  {0x4287, 0x23ee9cb2},
-  {0x4288, 0x23ee9cb3},
-  {0x4289, 0x23ee9cb4},
-  {0x428a, 0x23ee9cb5},
-  {0x428b, 0x23ee9cb6},
-  {0x428c, 0x23ee9cb7},
-  {0x428d, 0x23ee9cb8},
-  {0x428e, 0x23ee9cb9},
-  {0x428f, 0x23eea0b0},
-  {0x4290, 0x23eea0b1},
-  {0x4291, 0x23eea0b2},
-  {0x4292, 0x23eea0b3},
-  {0x4293, 0x23eea0b4},
-  {0x4294, 0x23eea0b5},
-  {0x4295, 0x23eea0b6},
-  {0x4296, 0x23eea0b7},
-  {0x4297, 0x23eea0b8},
-  {0x4298, 0x23eea0b9},
-  {0x4299, 0x23eea4b0},
-  {0x429a, 0x23eea4b1},
-  {0x429b, 0x23eea4b2},
-  {0x429c, 0x23eea4b3},
-  {0x429d, 0x23eea4b4},
-  {0x429e, 0x23eea4b5},
-  {0x429f, 0x23eea4b6},
-  {0x42a0, 0x23eea4b7},
-  {0x42a1, 0x23eea4b8},
-  {0x42a2, 0x23eea4b9},
-  {0x42a3, 0x23eea8b0},
-  {0x42a4, 0x23eea8b1},
-  {0x42a5, 0x23eea8b2},
-  {0x42a6, 0x23eea8b3},
-  {0x42a7, 0x23eea8b4},
-  {0x42a8, 0x23eea8b5},
-  {0x42a9, 0x23eea8b6},
-  {0x42aa, 0x23eea8b7},
-  {0x42ab, 0x23eea8b8},
-  {0x42ac, 0x23eea8b9},
-  {0x42ad, 0x23eeacb0},
-  {0x42ae, 0x23eeacb1},
-  {0x42af, 0x23eeacb2},
-  {0x42b0, 0x23eeacb3},
-  {0x42b1, 0x23eeacb4},
-  {0x42b2, 0x23eeacb5},
-  {0x42b3, 0x23eeacb6},
-  {0x42b4, 0x23eeacb7},
-  {0x42b5, 0x23eeacb8},
-  {0x42b6, 0x23eeacb9},
-  {0x42b7, 0x23eeb0b0},
-  {0x42b8, 0x23eeb0b1},
-  {0x42b9, 0x23eeb0b2},
-  {0x42ba, 0x23eeb0b3},
-  {0x42bb, 0x23eeb0b4},
-  {0x42bc, 0x23eeb0b5},
-  {0x42bd, 0x23eeb0b6},
-  {0x42be, 0x23eeb0b7},
-  {0x42bf, 0x23eeb0b8},
-  {0x42c0, 0x23eeb0b9},
-  {0x42c1, 0x23eeb4b0},
-  {0x42c2, 0x23eeb4b1},
-  {0x42c3, 0x23eeb4b2},
-  {0x42c4, 0x23eeb4b3},
-  {0x42c5, 0x23eeb4b4},
-  {0x42c6, 0x23eeb4b5},
-  {0x42c7, 0x23eeb4b6},
-  {0x42c8, 0x23eeb4b7},
-  {0x42c9, 0x23eeb4b8},
-  {0x42ca, 0x23eeb4b9},
-  {0x42cb, 0x23eeb8b0},
-  {0x42cc, 0x23eeb8b1},
-  {0x42cd, 0x23eeb8b2},
-  {0x42ce, 0x23eeb8b3},
-  {0x42cf, 0x23eeb8b4},
-  {0x42d0, 0x23eeb8b5},
-  {0x42d1, 0x23eeb8b6},
-  {0x42d2, 0x23eeb8b7},
-  {0x42d3, 0x23eeb8b8},
-  {0x42d4, 0x23eeb8b9},
-  {0x42d5, 0x23eebcb0},
-  {0x42d6, 0x23eebcb1},
-  {0x42d7, 0x23eebcb2},
-  {0x42d8, 0x23eebcb3},
-  {0x42d9, 0x23eebcb4},
-  {0x42da, 0x23eebcb5},
-  {0x42db, 0x23eebcb6},
-  {0x42dc, 0x23eebcb7},
-  {0x42dd, 0x23eebcb8},
-  {0x42de, 0x23eebcb9},
-  {0x42df, 0x23ef80b0},
-  {0x42e0, 0x23ef80b1},
-  {0x42e1, 0x23ef80b2},
-  {0x42e2, 0x23ef80b3},
-  {0x42e3, 0x23ef80b4},
-  {0x42e4, 0x23ef80b5},
-  {0x42e5, 0x23ef80b6},
-  {0x42e6, 0x23ef80b7},
-  {0x42e7, 0x23ef80b8},
-  {0x42e8, 0x23ef80b9},
-  {0x42e9, 0x23ef84b0},
-  {0x42ea, 0x23ef84b1},
-  {0x42eb, 0x23ef84b2},
-  {0x42ec, 0x23ef84b3},
-  {0x42ed, 0x23ef84b4},
-  {0x42ee, 0x23ef84b5},
-  {0x42ef, 0x23ef84b6},
-  {0x42f0, 0x23ef84b7},
-  {0x42f1, 0x23ef84b8},
-  {0x42f2, 0x23ef84b9},
-  {0x42f3, 0x23ef88b0},
-  {0x42f4, 0x23ef88b1},
-  {0x42f5, 0x23ef88b2},
-  {0x42f6, 0x23ef88b3},
-  {0x42f7, 0x23ef88b4},
-  {0x42f8, 0x23ef88b5},
-  {0x42f9, 0x23ef88b6},
-  {0x42fa, 0x23ef88b7},
-  {0x42fb, 0x23ef88b8},
-  {0x42fc, 0x23ef88b9},
-  {0x42fd, 0x23ef8cb0},
-  {0x42fe, 0x23ef8cb1},
-  {0x42ff, 0x23ef8cb2},
-  {0x4300, 0x23ef8cb3},
-  {0x4301, 0x23ef8cb4},
-  {0x4302, 0x23ef8cb5},
-  {0x4303, 0x23ef8cb6},
-  {0x4304, 0x23ef8cb7},
-  {0x4305, 0x23ef8cb8},
-  {0x4306, 0x23ef8cb9},
-  {0x4307, 0x23ef90b0},
-  {0x4308, 0x23ef90b1},
-  {0x4309, 0x23ef90b2},
-  {0x430a, 0x23ef90b3},
-  {0x430b, 0x23ef90b4},
-  {0x430c, 0x23ef90b5},
-  {0x430d, 0x23ef90b6},
-  {0x430e, 0x23ef90b7},
-  {0x430f, 0x23ef90b8},
-  {0x4310, 0x23ef90b9},
-  {0x4311, 0x23ef94b0},
-  {0x4312, 0x23ef94b1},
-  {0x4313, 0x23ef94b2},
-  {0x4314, 0x23ef94b3},
-  {0x4315, 0x23ef94b4},
-  {0x4316, 0x23ef94b5},
-  {0x4317, 0x23ef94b6},
-  {0x4318, 0x23ef94b7},
-  {0x4319, 0x23ef94b8},
-  {0x431a, 0x23ef94b9},
-  {0x431b, 0x23ef98b0},
-  {0x431c, 0x23ef98b1},
-  {0x431d, 0x23ef98b2},
-  {0x431e, 0x23ef98b3},
-  {0x431f, 0x23ef98b4},
-  {0x4320, 0x23ef98b5},
-  {0x4321, 0x23ef98b6},
-  {0x4322, 0x23ef98b7},
-  {0x4323, 0x23ef98b8},
-  {0x4324, 0x23ef98b9},
-  {0x4325, 0x23ef9cb0},
-  {0x4326, 0x23ef9cb1},
-  {0x4327, 0x23ef9cb2},
-  {0x4328, 0x23ef9cb3},
-  {0x4329, 0x23ef9cb4},
-  {0x432a, 0x23ef9cb5},
-  {0x432b, 0x23ef9cb6},
-  {0x432c, 0x23ef9cb7},
-  {0x432d, 0x23ef9cb8},
-  {0x432e, 0x23ef9cb9},
-  {0x432f, 0x23efa0b0},
-  {0x4330, 0x23efa0b1},
-  {0x4331, 0x23efa0b2},
-  {0x4332, 0x23efa0b3},
-  {0x4333, 0x23efa0b4},
-  {0x4334, 0x23efa0b5},
-  {0x4335, 0x23efa0b6},
-  {0x4336, 0x23efa0b7},
-  {0x4337, 0xefb9b2},
-  {0x4338, 0x23efa0b8},
-  {0x4339, 0x23efa0b9},
-  {0x433a, 0x23efa4b0},
-  {0x433b, 0x23efa4b1},
-  {0x433c, 0x23efa4b2},
-  {0x433d, 0x23efa4b3},
-  {0x433e, 0x23efa4b4},
-  {0x433f, 0x23efa4b5},
-  {0x4340, 0x23efa4b6},
-  {0x4341, 0x23efa4b7},
-  {0x4342, 0x23efa4b8},
-  {0x4343, 0x23efa4b9},
-  {0x4344, 0x23efa8b0},
-  {0x4345, 0x23efa8b1},
-  {0x4346, 0x23efa8b2},
-  {0x4347, 0x23efa8b3},
-  {0x4348, 0x23efa8b4},
-  {0x4349, 0x23efa8b5},
-  {0x434a, 0x23efa8b6},
-  {0x434b, 0x23efa8b7},
-  {0x434c, 0x23efa8b8},
-  {0x434d, 0x23efa8b9},
-  {0x434e, 0x23efacb0},
-  {0x434f, 0x23efacb1},
-  {0x4350, 0x23efacb2},
-  {0x4351, 0x23efacb3},
-  {0x4352, 0x23efacb4},
-  {0x4353, 0x23efacb5},
-  {0x4354, 0x23efacb6},
-  {0x4355, 0x23efacb7},
-  {0x4356, 0x23efacb8},
-  {0x4357, 0x23efacb9},
-  {0x4358, 0x23efb0b0},
-  {0x4359, 0x23efb0b1},
-  {0x435a, 0x23efb0b2},
-  {0x435b, 0x23efb0b3},
-  {0x435c, 0x23efb0b4},
-  {0x435d, 0x23efb0b5},
-  {0x435e, 0x23efb0b6},
-  {0x435f, 0x23efb0b7},
-  {0x4360, 0x23efb0b8},
-  {0x4361, 0x23efb0b9},
-  {0x4362, 0x23efb4b0},
-  {0x4363, 0x23efb4b1},
-  {0x4364, 0x23efb4b2},
-  {0x4365, 0x23efb4b3},
-  {0x4366, 0x23efb4b4},
-  {0x4367, 0x23efb4b5},
-  {0x4368, 0x23efb4b6},
-  {0x4369, 0x23efb4b7},
-  {0x436a, 0x23efb4b8},
-  {0x436b, 0x23efb4b9},
-  {0x436c, 0x23efb8b0},
-  {0x436d, 0x23efb8b1},
-  {0x436e, 0x23efb8b2},
-  {0x436f, 0x23efb8b3},
-  {0x4370, 0x23efb8b4},
-  {0x4371, 0x23efb8b5},
-  {0x4372, 0x23efb8b6},
-  {0x4373, 0x23efb8b7},
-  {0x4374, 0x23efb8b8},
-  {0x4375, 0x23efb8b9},
-  {0x4376, 0x23f884b0},
-  {0x4377, 0x23f884b1},
-  {0x4378, 0x23f884b2},
-  {0x4379, 0x23f884b3},
-  {0x437a, 0x23f884b4},
-  {0x437b, 0x23f884b5},
-  {0x437c, 0x23f884b6},
-  {0x437d, 0x23f884b7},
-  {0x437e, 0x23f884b8},
-  {0x437f, 0x23f884b9},
-  {0x4380, 0x23f888b0},
-  {0x4381, 0x23f888b1},
-  {0x4382, 0x23f888b2},
-  {0x4383, 0x23f888b3},
-  {0x4384, 0x23f888b4},
-  {0x4385, 0x23f888b5},
-  {0x4386, 0x23f888b6},
-  {0x4387, 0x23f888b7},
-  {0x4388, 0x23f888b8},
-  {0x4389, 0x23f888b9},
-  {0x438a, 0x23f88cb0},
-  {0x438b, 0x23f88cb1},
-  {0x438c, 0x23f88cb2},
-  {0x438d, 0x23f88cb3},
-  {0x438e, 0x23f88cb4},
-  {0x438f, 0x23f88cb5},
-  {0x4390, 0x23f88cb6},
-  {0x4391, 0x23f88cb7},
-  {0x4392, 0x23f88cb8},
-  {0x4393, 0x23f88cb9},
-  {0x4394, 0x23f890b0},
-  {0x4395, 0x23f890b1},
-  {0x4396, 0x23f890b2},
-  {0x4397, 0x23f890b3},
-  {0x4398, 0x23f890b4},
-  {0x4399, 0x23f890b5},
-  {0x439a, 0x23f890b6},
-  {0x439b, 0x23f890b7},
-  {0x439c, 0x23f890b8},
-  {0x439d, 0x23f890b9},
-  {0x439e, 0x23f894b0},
-  {0x439f, 0x23f894b1},
-  {0x43a0, 0x23f894b2},
-  {0x43a1, 0x23f894b3},
-  {0x43a2, 0x23f894b4},
-  {0x43a3, 0x23f894b5},
-  {0x43a4, 0x23f894b6},
-  {0x43a5, 0x23f894b7},
-  {0x43a6, 0x23f894b8},
-  {0x43a7, 0x23f894b9},
-  {0x43a8, 0x23f898b0},
-  {0x43a9, 0x23f898b1},
-  {0x43aa, 0x23f898b2},
-  {0x43ab, 0x23f898b3},
-  {0x43ac, 0xefb9b8},
-  {0x43ad, 0x23f898b4},
-  {0x43ae, 0x23f898b5},
-  {0x43af, 0x23f898b6},
-  {0x43b0, 0x23f898b7},
-  {0x43b1, 0xefb9b7},
-  {0x43b2, 0x23f898b8},
-  {0x43b3, 0x23f898b9},
-  {0x43b4, 0x23f89cb0},
-  {0x43b5, 0x23f89cb1},
-  {0x43b6, 0x23f89cb2},
-  {0x43b7, 0x23f89cb3},
-  {0x43b8, 0x23f89cb4},
-  {0x43b9, 0x23f89cb5},
-  {0x43ba, 0x23f89cb6},
-  {0x43bb, 0x23f89cb7},
-  {0x43bc, 0x23f89cb8},
-  {0x43bd, 0x23f89cb9},
-  {0x43be, 0x23f8a0b0},
-  {0x43bf, 0x23f8a0b1},
-  {0x43c0, 0x23f8a0b2},
-  {0x43c1, 0x23f8a0b3},
-  {0x43c2, 0x23f8a0b4},
-  {0x43c3, 0x23f8a0b5},
-  {0x43c4, 0x23f8a0b6},
-  {0x43c5, 0x23f8a0b7},
-  {0x43c6, 0x23f8a0b8},
-  {0x43c7, 0x23f8a0b9},
-  {0x43c8, 0x23f8a4b0},
-  {0x43c9, 0x23f8a4b1},
-  {0x43ca, 0x23f8a4b2},
-  {0x43cb, 0x23f8a4b3},
-  {0x43cc, 0x23f8a4b4},
-  {0x43cd, 0x23f8a4b5},
-  {0x43ce, 0x23f8a4b6},
-  {0x43cf, 0x23f8a4b7},
-  {0x43d0, 0x23f8a4b8},
-  {0x43d1, 0x23f8a4b9},
-  {0x43d2, 0x23f8a8b0},
-  {0x43d3, 0x23f8a8b1},
-  {0x43d4, 0x23f8a8b2},
-  {0x43d5, 0x23f8a8b3},
-  {0x43d6, 0x23f8a8b4},
-  {0x43d7, 0x23f8a8b5},
-  {0x43d8, 0x23f8a8b6},
-  {0x43d9, 0x23f8a8b7},
-  {0x43da, 0x23f8a8b8},
-  {0x43db, 0x23f8a8b9},
-  {0x43dc, 0x23f8acb0},
-  {0x43dd, 0xefb9ba},
-  {0x43de, 0x23f8acb1},
-  {0x43df, 0x23f8acb2},
-  {0x43e0, 0x23f8acb3},
-  {0x43e1, 0x23f8acb4},
-  {0x43e2, 0x23f8acb5},
-  {0x43e3, 0x23f8acb6},
-  {0x43e4, 0x23f8acb7},
-  {0x43e5, 0x23f8acb8},
-  {0x43e6, 0x23f8acb9},
-  {0x43e7, 0x23f8b0b0},
-  {0x43e8, 0x23f8b0b1},
-  {0x43e9, 0x23f8b0b2},
-  {0x43ea, 0x23f8b0b3},
-  {0x43eb, 0x23f8b0b4},
-  {0x43ec, 0x23f8b0b5},
-  {0x43ed, 0x23f8b0b6},
-  {0x43ee, 0x23f8b0b7},
-  {0x43ef, 0x23f8b0b8},
-  {0x43f0, 0x23f8b0b9},
-  {0x43f1, 0x23f8b4b0},
-  {0x43f2, 0x23f8b4b1},
-  {0x43f3, 0x23f8b4b2},
-  {0x43f4, 0x23f8b4b3},
-  {0x43f5, 0x23f8b4b4},
-  {0x43f6, 0x23f8b4b5},
-  {0x43f7, 0x23f8b4b6},
-  {0x43f8, 0x23f8b4b7},
-  {0x43f9, 0x23f8b4b8},
-  {0x43fa, 0x23f8b4b9},
-  {0x43fb, 0x23f8b8b0},
-  {0x43fc, 0x23f8b8b1},
-  {0x43fd, 0x23f8b8b2},
-  {0x43fe, 0x23f8b8b3},
-  {0x43ff, 0x23f8b8b4},
-  {0x4400, 0x23f8b8b5},
-  {0x4401, 0x23f8b8b6},
-  {0x4402, 0x23f8b8b7},
-  {0x4403, 0x23f8b8b8},
-  {0x4404, 0x23f8b8b9},
-  {0x4405, 0x23f8bcb0},
-  {0x4406, 0x23f8bcb1},
-  {0x4407, 0x23f8bcb2},
-  {0x4408, 0x23f8bcb3},
-  {0x4409, 0x23f8bcb4},
-  {0x440a, 0x23f8bcb5},
-  {0x440b, 0x23f8bcb6},
-  {0x440c, 0x23f8bcb7},
-  {0x440d, 0x23f8bcb8},
-  {0x440e, 0x23f8bcb9},
-  {0x440f, 0x23f980b0},
-  {0x4410, 0x23f980b1},
-  {0x4411, 0x23f980b2},
-  {0x4412, 0x23f980b3},
-  {0x4413, 0x23f980b4},
-  {0x4414, 0x23f980b5},
-  {0x4415, 0x23f980b6},
-  {0x4416, 0x23f980b7},
-  {0x4417, 0x23f980b8},
-  {0x4418, 0x23f980b9},
-  {0x4419, 0x23f984b0},
-  {0x441a, 0x23f984b1},
-  {0x441b, 0x23f984b2},
-  {0x441c, 0x23f984b3},
-  {0x441d, 0x23f984b4},
-  {0x441e, 0x23f984b5},
-  {0x441f, 0x23f984b6},
-  {0x4420, 0x23f984b7},
-  {0x4421, 0x23f984b8},
-  {0x4422, 0x23f984b9},
-  {0x4423, 0x23f988b0},
-  {0x4424, 0x23f988b1},
-  {0x4425, 0x23f988b2},
-  {0x4426, 0x23f988b3},
-  {0x4427, 0x23f988b4},
-  {0x4428, 0x23f988b5},
-  {0x4429, 0x23f988b6},
-  {0x442a, 0x23f988b7},
-  {0x442b, 0x23f988b8},
-  {0x442c, 0x23f988b9},
-  {0x442d, 0x23f98cb0},
-  {0x442e, 0x23f98cb1},
-  {0x442f, 0x23f98cb2},
-  {0x4430, 0x23f98cb3},
-  {0x4431, 0x23f98cb4},
-  {0x4432, 0x23f98cb5},
-  {0x4433, 0x23f98cb6},
-  {0x4434, 0x23f98cb7},
-  {0x4435, 0x23f98cb8},
-  {0x4436, 0x23f98cb9},
-  {0x4437, 0x23f990b0},
-  {0x4438, 0x23f990b1},
-  {0x4439, 0x23f990b2},
-  {0x443a, 0x23f990b3},
-  {0x443b, 0x23f990b4},
-  {0x443c, 0x23f990b5},
-  {0x443d, 0x23f990b6},
-  {0x443e, 0x23f990b7},
-  {0x443f, 0x23f990b8},
-  {0x4440, 0x23f990b9},
-  {0x4441, 0x23f994b0},
-  {0x4442, 0x23f994b1},
-  {0x4443, 0x23f994b2},
-  {0x4444, 0x23f994b3},
-  {0x4445, 0x23f994b4},
-  {0x4446, 0x23f994b5},
-  {0x4447, 0x23f994b6},
-  {0x4448, 0x23f994b7},
-  {0x4449, 0x23f994b8},
-  {0x444a, 0x23f994b9},
-  {0x444b, 0x23f998b0},
-  {0x444c, 0x23f998b1},
-  {0x444d, 0x23f998b2},
-  {0x444e, 0x23f998b3},
-  {0x444f, 0x23f998b4},
-  {0x4450, 0x23f998b5},
-  {0x4451, 0x23f998b6},
-  {0x4452, 0x23f998b7},
-  {0x4453, 0x23f998b8},
-  {0x4454, 0x23f998b9},
-  {0x4455, 0x23f99cb0},
-  {0x4456, 0x23f99cb1},
-  {0x4457, 0x23f99cb2},
-  {0x4458, 0x23f99cb3},
-  {0x4459, 0x23f99cb4},
-  {0x445a, 0x23f99cb5},
-  {0x445b, 0x23f99cb6},
-  {0x445c, 0x23f99cb7},
-  {0x445d, 0x23f99cb8},
-  {0x445e, 0x23f99cb9},
-  {0x445f, 0x23f9a0b0},
-  {0x4460, 0x23f9a0b1},
-  {0x4461, 0x23f9a0b2},
-  {0x4462, 0x23f9a0b3},
-  {0x4463, 0x23f9a0b4},
-  {0x4464, 0x23f9a0b5},
-  {0x4465, 0x23f9a0b6},
-  {0x4466, 0x23f9a0b7},
-  {0x4467, 0x23f9a0b8},
-  {0x4468, 0x23f9a0b9},
-  {0x4469, 0x23f9a4b0},
-  {0x446a, 0x23f9a4b1},
-  {0x446b, 0x23f9a4b2},
-  {0x446c, 0x23f9a4b3},
-  {0x446d, 0x23f9a4b4},
-  {0x446e, 0x23f9a4b5},
-  {0x446f, 0x23f9a4b6},
-  {0x4470, 0x23f9a4b7},
-  {0x4471, 0x23f9a4b8},
-  {0x4472, 0x23f9a4b9},
-  {0x4473, 0x23f9a8b0},
-  {0x4474, 0x23f9a8b1},
-  {0x4475, 0x23f9a8b2},
-  {0x4476, 0x23f9a8b3},
-  {0x4477, 0x23f9a8b4},
-  {0x4478, 0x23f9a8b5},
-  {0x4479, 0x23f9a8b6},
-  {0x447a, 0x23f9a8b7},
-  {0x447b, 0x23f9a8b8},
-  {0x447c, 0x23f9a8b9},
-  {0x447d, 0x23f9acb0},
-  {0x447e, 0x23f9acb1},
-  {0x447f, 0x23f9acb2},
-  {0x4480, 0x23f9acb3},
-  {0x4481, 0x23f9acb4},
-  {0x4482, 0x23f9acb5},
-  {0x4483, 0x23f9acb6},
-  {0x4484, 0x23f9acb7},
-  {0x4485, 0x23f9acb8},
-  {0x4486, 0x23f9acb9},
-  {0x4487, 0x23f9b0b0},
-  {0x4488, 0x23f9b0b1},
-  {0x4489, 0x23f9b0b2},
-  {0x448a, 0x23f9b0b3},
-  {0x448b, 0x23f9b0b4},
-  {0x448c, 0x23f9b0b5},
-  {0x448d, 0x23f9b0b6},
-  {0x448e, 0x23f9b0b7},
-  {0x448f, 0x23f9b0b8},
-  {0x4490, 0x23f9b0b9},
-  {0x4491, 0x23f9b4b0},
-  {0x4492, 0x23f9b4b1},
-  {0x4493, 0x23f9b4b2},
-  {0x4494, 0x23f9b4b3},
-  {0x4495, 0x23f9b4b4},
-  {0x4496, 0x23f9b4b5},
-  {0x4497, 0x23f9b4b6},
-  {0x4498, 0x23f9b4b7},
-  {0x4499, 0x23f9b4b8},
-  {0x449a, 0x23f9b4b9},
-  {0x449b, 0x23f9b8b0},
-  {0x449c, 0x23f9b8b1},
-  {0x449d, 0x23f9b8b2},
-  {0x449e, 0x23f9b8b3},
-  {0x449f, 0x23f9b8b4},
-  {0x44a0, 0x23f9b8b5},
-  {0x44a1, 0x23f9b8b6},
-  {0x44a2, 0x23f9b8b7},
-  {0x44a3, 0x23f9b8b8},
-  {0x44a4, 0x23f9b8b9},
-  {0x44a5, 0x23f9bcb0},
-  {0x44a6, 0x23f9bcb1},
-  {0x44a7, 0x23f9bcb2},
-  {0x44a8, 0x23f9bcb3},
-  {0x44a9, 0x23f9bcb4},
-  {0x44aa, 0x23f9bcb5},
-  {0x44ab, 0x23f9bcb6},
-  {0x44ac, 0x23f9bcb7},
-  {0x44ad, 0x23f9bcb8},
-  {0x44ae, 0x23f9bcb9},
-  {0x44af, 0x23fa80b0},
-  {0x44b0, 0x23fa80b1},
-  {0x44b1, 0x23fa80b2},
-  {0x44b2, 0x23fa80b3},
-  {0x44b3, 0x23fa80b4},
-  {0x44b4, 0x23fa80b5},
-  {0x44b5, 0x23fa80b6},
-  {0x44b6, 0x23fa80b7},
-  {0x44b7, 0x23fa80b8},
-  {0x44b8, 0x23fa80b9},
-  {0x44b9, 0x23fa84b0},
-  {0x44ba, 0x23fa84b1},
-  {0x44bb, 0x23fa84b2},
-  {0x44bc, 0x23fa84b3},
-  {0x44bd, 0x23fa84b4},
-  {0x44be, 0x23fa84b5},
-  {0x44bf, 0x23fa84b6},
-  {0x44c0, 0x23fa84b7},
-  {0x44c1, 0x23fa84b8},
-  {0x44c2, 0x23fa84b9},
-  {0x44c3, 0x23fa88b0},
-  {0x44c4, 0x23fa88b1},
-  {0x44c5, 0x23fa88b2},
-  {0x44c6, 0x23fa88b3},
-  {0x44c7, 0x23fa88b4},
-  {0x44c8, 0x23fa88b5},
-  {0x44c9, 0x23fa88b6},
-  {0x44ca, 0x23fa88b7},
-  {0x44cb, 0x23fa88b8},
-  {0x44cc, 0x23fa88b9},
-  {0x44cd, 0x23fa8cb0},
-  {0x44ce, 0x23fa8cb1},
-  {0x44cf, 0x23fa8cb2},
-  {0x44d0, 0x23fa8cb3},
-  {0x44d1, 0x23fa8cb4},
-  {0x44d2, 0x23fa8cb5},
-  {0x44d3, 0x23fa8cb6},
-  {0x44d4, 0x23fa8cb7},
-  {0x44d5, 0x23fa8cb8},
-  {0x44d6, 0xefb9bb},
-  {0x44d7, 0x23fa8cb9},
-  {0x44d8, 0x23fa90b0},
-  {0x44d9, 0x23fa90b1},
-  {0x44da, 0x23fa90b2},
-  {0x44db, 0x23fa90b3},
-  {0x44dc, 0x23fa90b4},
-  {0x44dd, 0x23fa90b5},
-  {0x44de, 0x23fa90b6},
-  {0x44df, 0x23fa90b7},
-  {0x44e0, 0x23fa90b8},
-  {0x44e1, 0x23fa90b9},
-  {0x44e2, 0x23fa94b0},
-  {0x44e3, 0x23fa94b1},
-  {0x44e4, 0x23fa94b2},
-  {0x44e5, 0x23fa94b3},
-  {0x44e6, 0x23fa94b4},
-  {0x44e7, 0x23fa94b5},
-  {0x44e8, 0x23fa94b6},
-  {0x44e9, 0x23fa94b7},
-  {0x44ea, 0x23fa94b8},
-  {0x44eb, 0x23fa94b9},
-  {0x44ec, 0x23fa98b0},
-  {0x44ed, 0x23fa98b1},
-  {0x44ee, 0x23fa98b2},
-  {0x44ef, 0x23fa98b3},
-  {0x44f0, 0x23fa98b4},
-  {0x44f1, 0x23fa98b5},
-  {0x44f2, 0x23fa98b6},
-  {0x44f3, 0x23fa98b7},
-  {0x44f4, 0x23fa98b8},
-  {0x44f5, 0x23fa98b9},
-  {0x44f6, 0x23fa9cb0},
-  {0x44f7, 0x23fa9cb1},
-  {0x44f8, 0x23fa9cb2},
-  {0x44f9, 0x23fa9cb3},
-  {0x44fa, 0x23fa9cb4},
-  {0x44fb, 0x23fa9cb5},
-  {0x44fc, 0x23fa9cb6},
-  {0x44fd, 0x23fa9cb7},
-  {0x44fe, 0x23fa9cb8},
-  {0x44ff, 0x23fa9cb9},
-  {0x4500, 0x23faa0b0},
-  {0x4501, 0x23faa0b1},
-  {0x4502, 0x23faa0b2},
-  {0x4503, 0x23faa0b3},
-  {0x4504, 0x23faa0b4},
-  {0x4505, 0x23faa0b5},
-  {0x4506, 0x23faa0b6},
-  {0x4507, 0x23faa0b7},
-  {0x4508, 0x23faa0b8},
-  {0x4509, 0x23faa0b9},
-  {0x450a, 0x23faa4b0},
-  {0x450b, 0x23faa4b1},
-  {0x450c, 0x23faa4b2},
-  {0x450d, 0x23faa4b3},
-  {0x450e, 0x23faa4b4},
-  {0x450f, 0x23faa4b5},
-  {0x4510, 0x23faa4b6},
-  {0x4511, 0x23faa4b7},
-  {0x4512, 0x23faa4b8},
-  {0x4513, 0x23faa4b9},
-  {0x4514, 0x23faa8b0},
-  {0x4515, 0x23faa8b1},
-  {0x4516, 0x23faa8b2},
-  {0x4517, 0x23faa8b3},
-  {0x4518, 0x23faa8b4},
-  {0x4519, 0x23faa8b5},
-  {0x451a, 0x23faa8b6},
-  {0x451b, 0x23faa8b7},
-  {0x451c, 0x23faa8b8},
-  {0x451d, 0x23faa8b9},
-  {0x451e, 0x23faacb0},
-  {0x451f, 0x23faacb1},
-  {0x4520, 0x23faacb2},
-  {0x4521, 0x23faacb3},
-  {0x4522, 0x23faacb4},
-  {0x4523, 0x23faacb5},
-  {0x4524, 0x23faacb6},
-  {0x4525, 0x23faacb7},
-  {0x4526, 0x23faacb8},
-  {0x4527, 0x23faacb9},
-  {0x4528, 0x23fab0b0},
-  {0x4529, 0x23fab0b1},
-  {0x452a, 0x23fab0b2},
-  {0x452b, 0x23fab0b3},
-  {0x452c, 0x23fab0b4},
-  {0x452d, 0x23fab0b5},
-  {0x452e, 0x23fab0b6},
-  {0x452f, 0x23fab0b7},
-  {0x4530, 0x23fab0b8},
-  {0x4531, 0x23fab0b9},
-  {0x4532, 0x23fab4b0},
-  {0x4533, 0x23fab4b1},
-  {0x4534, 0x23fab4b2},
-  {0x4535, 0x23fab4b3},
-  {0x4536, 0x23fab4b4},
-  {0x4537, 0x23fab4b5},
-  {0x4538, 0x23fab4b6},
-  {0x4539, 0x23fab4b7},
-  {0x453a, 0x23fab4b8},
-  {0x453b, 0x23fab4b9},
-  {0x453c, 0x23fab8b0},
-  {0x453d, 0x23fab8b1},
-  {0x453e, 0x23fab8b2},
-  {0x453f, 0x23fab8b3},
-  {0x4540, 0x23fab8b4},
-  {0x4541, 0x23fab8b5},
-  {0x4542, 0x23fab8b6},
-  {0x4543, 0x23fab8b7},
-  {0x4544, 0x23fab8b8},
-  {0x4545, 0x23fab8b9},
-  {0x4546, 0x23fabcb0},
-  {0x4547, 0x23fabcb1},
-  {0x4548, 0x23fabcb2},
-  {0x4549, 0x23fabcb3},
-  {0x454a, 0x23fabcb4},
-  {0x454b, 0x23fabcb5},
-  {0x454c, 0x23fabcb6},
-  {0x454d, 0x23fabcb7},
-  {0x454e, 0x23fabcb8},
-  {0x454f, 0x23fabcb9},
-  {0x4550, 0x23fb80b0},
-  {0x4551, 0x23fb80b1},
-  {0x4552, 0x23fb80b2},
-  {0x4553, 0x23fb80b3},
-  {0x4554, 0x23fb80b4},
-  {0x4555, 0x23fb80b5},
-  {0x4556, 0x23fb80b6},
-  {0x4557, 0x23fb80b7},
-  {0x4558, 0x23fb80b8},
-  {0x4559, 0x23fb80b9},
-  {0x455a, 0x23fb84b0},
-  {0x455b, 0x23fb84b1},
-  {0x455c, 0x23fb84b2},
-  {0x455d, 0x23fb84b3},
-  {0x455e, 0x23fb84b4},
-  {0x455f, 0x23fb84b5},
-  {0x4560, 0x23fb84b6},
-  {0x4561, 0x23fb84b7},
-  {0x4562, 0x23fb84b8},
-  {0x4563, 0x23fb84b9},
-  {0x4564, 0x23fb88b0},
-  {0x4565, 0x23fb88b1},
-  {0x4566, 0x23fb88b2},
-  {0x4567, 0x23fb88b3},
-  {0x4568, 0x23fb88b4},
-  {0x4569, 0x23fb88b5},
-  {0x456a, 0x23fb88b6},
-  {0x456b, 0x23fb88b7},
-  {0x456c, 0x23fb88b8},
-  {0x456d, 0x23fb88b9},
-  {0x456e, 0x23fb8cb0},
-  {0x456f, 0x23fb8cb1},
-  {0x4570, 0x23fb8cb2},
-  {0x4571, 0x23fb8cb3},
-  {0x4572, 0x23fb8cb4},
-  {0x4573, 0x23fb8cb5},
-  {0x4574, 0x23fb8cb6},
-  {0x4575, 0x23fb8cb7},
-  {0x4576, 0x23fb8cb8},
-  {0x4577, 0x23fb8cb9},
-  {0x4578, 0x23fb90b0},
-  {0x4579, 0x23fb90b1},
-  {0x457a, 0x23fb90b2},
-  {0x457b, 0x23fb90b3},
-  {0x457c, 0x23fb90b4},
-  {0x457d, 0x23fb90b5},
-  {0x457e, 0x23fb90b6},
-  {0x457f, 0x23fb90b7},
-  {0x4580, 0x23fb90b8},
-  {0x4581, 0x23fb90b9},
-  {0x4582, 0x23fb94b0},
-  {0x4583, 0x23fb94b1},
-  {0x4584, 0x23fb94b2},
-  {0x4585, 0x23fb94b3},
-  {0x4586, 0x23fb94b4},
-  {0x4587, 0x23fb94b5},
-  {0x4588, 0x23fb94b6},
-  {0x4589, 0x23fb94b7},
-  {0x458a, 0x23fb94b8},
-  {0x458b, 0x23fb94b9},
-  {0x458c, 0x23fb98b0},
-  {0x458d, 0x23fb98b1},
-  {0x458e, 0x23fb98b2},
-  {0x458f, 0x23fb98b3},
-  {0x4590, 0x23fb98b4},
-  {0x4591, 0x23fb98b5},
-  {0x4592, 0x23fb98b6},
-  {0x4593, 0x23fb98b7},
-  {0x4594, 0x23fb98b8},
-  {0x4595, 0x23fb98b9},
-  {0x4596, 0x23fb9cb0},
-  {0x4597, 0x23fb9cb1},
-  {0x4598, 0x23fb9cb2},
-  {0x4599, 0x23fb9cb3},
-  {0x459a, 0x23fb9cb4},
-  {0x459b, 0x23fb9cb5},
-  {0x459c, 0x23fb9cb6},
-  {0x459d, 0x23fb9cb7},
-  {0x459e, 0x23fb9cb8},
-  {0x459f, 0x23fb9cb9},
-  {0x45a0, 0x23fba0b0},
-  {0x45a1, 0x23fba0b1},
-  {0x45a2, 0x23fba0b2},
-  {0x45a3, 0x23fba0b3},
-  {0x45a4, 0x23fba0b4},
-  {0x45a5, 0x23fba0b5},
-  {0x45a6, 0x23fba0b6},
-  {0x45a7, 0x23fba0b7},
-  {0x45a8, 0x23fba0b8},
-  {0x45a9, 0x23fba0b9},
-  {0x45aa, 0x23fba4b0},
-  {0x45ab, 0x23fba4b1},
-  {0x45ac, 0x23fba4b2},
-  {0x45ad, 0x23fba4b3},
-  {0x45ae, 0x23fba4b4},
-  {0x45af, 0x23fba4b5},
-  {0x45b0, 0x23fba4b6},
-  {0x45b1, 0x23fba4b7},
-  {0x45b2, 0x23fba4b8},
-  {0x45b3, 0x23fba4b9},
-  {0x45b4, 0x23fba8b0},
-  {0x45b5, 0x23fba8b1},
-  {0x45b6, 0x23fba8b2},
-  {0x45b7, 0x23fba8b3},
-  {0x45b8, 0x23fba8b4},
-  {0x45b9, 0x23fba8b5},
-  {0x45ba, 0x23fba8b6},
-  {0x45bb, 0x23fba8b7},
-  {0x45bc, 0x23fba8b8},
-  {0x45bd, 0x23fba8b9},
-  {0x45be, 0x23fbacb0},
-  {0x45bf, 0x23fbacb1},
-  {0x45c0, 0x23fbacb2},
-  {0x45c1, 0x23fbacb3},
-  {0x45c2, 0x23fbacb4},
-  {0x45c3, 0x23fbacb5},
-  {0x45c4, 0x23fbacb6},
-  {0x45c5, 0x23fbacb7},
-  {0x45c6, 0x23fbacb8},
-  {0x45c7, 0x23fbacb9},
-  {0x45c8, 0x23fbb0b0},
-  {0x45c9, 0x23fbb0b1},
-  {0x45ca, 0x23fbb0b2},
-  {0x45cb, 0x23fbb0b3},
-  {0x45cc, 0x23fbb0b4},
-  {0x45cd, 0x23fbb0b5},
-  {0x45ce, 0x23fbb0b6},
-  {0x45cf, 0x23fbb0b7},
-  {0x45d0, 0x23fbb0b8},
-  {0x45d1, 0x23fbb0b9},
-  {0x45d2, 0x23fbb4b0},
-  {0x45d3, 0x23fbb4b1},
-  {0x45d4, 0x23fbb4b2},
-  {0x45d5, 0x23fbb4b3},
-  {0x45d6, 0x23fbb4b4},
-  {0x45d7, 0x23fbb4b5},
-  {0x45d8, 0x23fbb4b6},
-  {0x45d9, 0x23fbb4b7},
-  {0x45da, 0x23fbb4b8},
-  {0x45db, 0x23fbb4b9},
-  {0x45dc, 0x23fbb8b0},
-  {0x45dd, 0x23fbb8b1},
-  {0x45de, 0x23fbb8b2},
-  {0x45df, 0x23fbb8b3},
-  {0x45e0, 0x23fbb8b4},
-  {0x45e1, 0x23fbb8b5},
-  {0x45e2, 0x23fbb8b6},
-  {0x45e3, 0x23fbb8b7},
-  {0x45e4, 0x23fbb8b8},
-  {0x45e5, 0x23fbb8b9},
-  {0x45e6, 0x23fbbcb0},
-  {0x45e7, 0x23fbbcb1},
-  {0x45e8, 0x23fbbcb2},
-  {0x45e9, 0x23fbbcb3},
-  {0x45ea, 0x23fbbcb4},
-  {0x45eb, 0x23fbbcb5},
-  {0x45ec, 0x23fbbcb6},
-  {0x45ed, 0x23fbbcb7},
-  {0x45ee, 0x23fbbcb8},
-  {0x45ef, 0x23fbbcb9},
-  {0x45f0, 0x23fc80b0},
-  {0x45f1, 0x23fc80b1},
-  {0x45f2, 0x23fc80b2},
-  {0x45f3, 0x23fc80b3},
-  {0x45f4, 0x23fc80b4},
-  {0x45f5, 0x23fc80b5},
-  {0x45f6, 0x23fc80b6},
-  {0x45f7, 0x23fc80b7},
-  {0x45f8, 0x23fc80b8},
-  {0x45f9, 0x23fc80b9},
-  {0x45fa, 0x23fc84b0},
-  {0x45fb, 0x23fc84b1},
-  {0x45fc, 0x23fc84b2},
-  {0x45fd, 0x23fc84b3},
-  {0x45fe, 0x23fc84b4},
-  {0x45ff, 0x23fc84b5},
-  {0x4600, 0x23fc84b6},
-  {0x4601, 0x23fc84b7},
-  {0x4602, 0x23fc84b8},
-  {0x4603, 0x23fc84b9},
-  {0x4604, 0x23fc88b0},
-  {0x4605, 0x23fc88b1},
-  {0x4606, 0x23fc88b2},
-  {0x4607, 0x23fc88b3},
-  {0x4608, 0x23fc88b4},
-  {0x4609, 0x23fc88b5},
-  {0x460a, 0x23fc88b6},
-  {0x460b, 0x23fc88b7},
-  {0x460c, 0x23fc88b8},
-  {0x460d, 0x23fc88b9},
-  {0x460e, 0x23fc8cb0},
-  {0x460f, 0x23fc8cb1},
-  {0x4610, 0x23fc8cb2},
-  {0x4611, 0x23fc8cb3},
-  {0x4612, 0x23fc8cb4},
-  {0x4613, 0x23fc8cb5},
-  {0x4614, 0x23fc8cb6},
-  {0x4615, 0x23fc8cb7},
-  {0x4616, 0x23fc8cb8},
-  {0x4617, 0x23fc8cb9},
-  {0x4618, 0x23fc90b0},
-  {0x4619, 0x23fc90b1},
-  {0x461a, 0x23fc90b2},
-  {0x461b, 0x23fc90b3},
-  {0x461c, 0x23fc90b4},
-  {0x461d, 0x23fc90b5},
-  {0x461e, 0x23fc90b6},
-  {0x461f, 0x23fc90b7},
-  {0x4620, 0x23fc90b8},
-  {0x4621, 0x23fc90b9},
-  {0x4622, 0x23fc94b0},
-  {0x4623, 0x23fc94b1},
-  {0x4624, 0x23fc94b2},
-  {0x4625, 0x23fc94b3},
-  {0x4626, 0x23fc94b4},
-  {0x4627, 0x23fc94b5},
-  {0x4628, 0x23fc94b6},
-  {0x4629, 0x23fc94b7},
-  {0x462a, 0x23fc94b8},
-  {0x462b, 0x23fc94b9},
-  {0x462c, 0x23fc98b0},
-  {0x462d, 0x23fc98b1},
-  {0x462e, 0x23fc98b2},
-  {0x462f, 0x23fc98b3},
-  {0x4630, 0x23fc98b4},
-  {0x4631, 0x23fc98b5},
-  {0x4632, 0x23fc98b6},
-  {0x4633, 0x23fc98b7},
-  {0x4634, 0x23fc98b8},
-  {0x4635, 0x23fc98b9},
-  {0x4636, 0x23fc9cb0},
-  {0x4637, 0x23fc9cb1},
-  {0x4638, 0x23fc9cb2},
-  {0x4639, 0x23fc9cb3},
-  {0x463a, 0x23fc9cb4},
-  {0x463b, 0x23fc9cb5},
-  {0x463c, 0x23fc9cb6},
-  {0x463d, 0x23fc9cb7},
-  {0x463e, 0x23fc9cb8},
-  {0x463f, 0x23fc9cb9},
-  {0x4640, 0x23fca0b0},
-  {0x4641, 0x23fca0b1},
-  {0x4642, 0x23fca0b2},
-  {0x4643, 0x23fca0b3},
-  {0x4644, 0x23fca0b4},
-  {0x4645, 0x23fca0b5},
-  {0x4646, 0x23fca0b6},
-  {0x4647, 0x23fca0b7},
-  {0x4648, 0x23fca0b8},
-  {0x4649, 0x23fca0b9},
-  {0x464a, 0x23fca4b0},
-  {0x464b, 0x23fca4b1},
-  {0x464c, 0xefb9bd},
-  {0x464d, 0x23fca4b2},
-  {0x464e, 0x23fca4b3},
-  {0x464f, 0x23fca4b4},
-  {0x4650, 0x23fca4b5},
-  {0x4651, 0x23fca4b6},
-  {0x4652, 0x23fca4b7},
-  {0x4653, 0x23fca4b8},
-  {0x4654, 0x23fca4b9},
-  {0x4655, 0x23fca8b0},
-  {0x4656, 0x23fca8b1},
-  {0x4657, 0x23fca8b2},
-  {0x4658, 0x23fca8b3},
-  {0x4659, 0x23fca8b4},
-  {0x465a, 0x23fca8b5},
-  {0x465b, 0x23fca8b6},
-  {0x465c, 0x23fca8b7},
-  {0x465d, 0x23fca8b8},
-  {0x465e, 0x23fca8b9},
-  {0x465f, 0x23fcacb0},
-  {0x4660, 0x23fcacb1},
-  {0x4661, 0xefb9bc},
-  {0x4662, 0x23fcacb2},
-  {0x4663, 0x23fcacb3},
-  {0x4664, 0x23fcacb4},
-  {0x4665, 0x23fcacb5},
-  {0x4666, 0x23fcacb6},
-  {0x4667, 0x23fcacb7},
-  {0x4668, 0x23fcacb8},
-  {0x4669, 0x23fcacb9},
-  {0x466a, 0x23fcb0b0},
-  {0x466b, 0x23fcb0b1},
-  {0x466c, 0x23fcb0b2},
-  {0x466d, 0x23fcb0b3},
-  {0x466e, 0x23fcb0b4},
-  {0x466f, 0x23fcb0b5},
-  {0x4670, 0x23fcb0b6},
-  {0x4671, 0x23fcb0b7},
-  {0x4672, 0x23fcb0b8},
-  {0x4673, 0x23fcb0b9},
-  {0x4674, 0x23fcb4b0},
-  {0x4675, 0x23fcb4b1},
-  {0x4676, 0x23fcb4b2},
-  {0x4677, 0x23fcb4b3},
-  {0x4678, 0x23fcb4b4},
-  {0x4679, 0x23fcb4b5},
-  {0x467a, 0x23fcb4b6},
-  {0x467b, 0x23fcb4b7},
-  {0x467c, 0x23fcb4b8},
-  {0x467d, 0x23fcb4b9},
-  {0x467e, 0x23fcb8b0},
-  {0x467f, 0x23fcb8b1},
-  {0x4680, 0x23fcb8b2},
-  {0x4681, 0x23fcb8b3},
-  {0x4682, 0x23fcb8b4},
-  {0x4683, 0x23fcb8b5},
-  {0x4684, 0x23fcb8b6},
-  {0x4685, 0x23fcb8b7},
-  {0x4686, 0x23fcb8b8},
-  {0x4687, 0x23fcb8b9},
-  {0x4688, 0x23fcbcb0},
-  {0x4689, 0x23fcbcb1},
-  {0x468a, 0x23fcbcb2},
-  {0x468b, 0x23fcbcb3},
-  {0x468c, 0x23fcbcb4},
-  {0x468d, 0x23fcbcb5},
-  {0x468e, 0x23fcbcb6},
-  {0x468f, 0x23fcbcb7},
-  {0x4690, 0x23fcbcb8},
-  {0x4691, 0x23fcbcb9},
-  {0x4692, 0x23fd80b0},
-  {0x4693, 0x23fd80b1},
-  {0x4694, 0x23fd80b2},
-  {0x4695, 0x23fd80b3},
-  {0x4696, 0x23fd80b4},
-  {0x4697, 0x23fd80b5},
-  {0x4698, 0x23fd80b6},
-  {0x4699, 0x23fd80b7},
-  {0x469a, 0x23fd80b8},
-  {0x469b, 0x23fd80b9},
-  {0x469c, 0x23fd84b0},
-  {0x469d, 0x23fd84b1},
-  {0x469e, 0x23fd84b2},
-  {0x469f, 0x23fd84b3},
-  {0x46a0, 0x23fd84b4},
-  {0x46a1, 0x23fd84b5},
-  {0x46a2, 0x23fd84b6},
-  {0x46a3, 0x23fd84b7},
-  {0x46a4, 0x23fd84b8},
-  {0x46a5, 0x23fd84b9},
-  {0x46a6, 0x23fd88b0},
-  {0x46a7, 0x23fd88b1},
-  {0x46a8, 0x23fd88b2},
-  {0x46a9, 0x23fd88b3},
-  {0x46aa, 0x23fd88b4},
-  {0x46ab, 0x23fd88b5},
-  {0x46ac, 0x23fd88b6},
-  {0x46ad, 0x23fd88b7},
-  {0x46ae, 0x23fd88b8},
-  {0x46af, 0x23fd88b9},
-  {0x46b0, 0x23fd8cb0},
-  {0x46b1, 0x23fd8cb1},
-  {0x46b2, 0x23fd8cb2},
-  {0x46b3, 0x23fd8cb3},
-  {0x46b4, 0x23fd8cb4},
-  {0x46b5, 0x23fd8cb5},
-  {0x46b6, 0x23fd8cb6},
-  {0x46b7, 0x23fd8cb7},
-  {0x46b8, 0x23fd8cb8},
-  {0x46b9, 0x23fd8cb9},
-  {0x46ba, 0x23fd90b0},
-  {0x46bb, 0x23fd90b1},
-  {0x46bc, 0x23fd90b2},
-  {0x46bd, 0x23fd90b3},
-  {0x46be, 0x23fd90b4},
-  {0x46bf, 0x23fd90b5},
-  {0x46c0, 0x23fd90b6},
-  {0x46c1, 0x23fd90b7},
-  {0x46c2, 0x23fd90b8},
-  {0x46c3, 0x23fd90b9},
-  {0x46c4, 0x23fd94b0},
-  {0x46c5, 0x23fd94b1},
-  {0x46c6, 0x23fd94b2},
-  {0x46c7, 0x23fd94b3},
-  {0x46c8, 0x23fd94b4},
-  {0x46c9, 0x23fd94b5},
-  {0x46ca, 0x23fd94b6},
-  {0x46cb, 0x23fd94b7},
-  {0x46cc, 0x23fd94b8},
-  {0x46cd, 0x23fd94b9},
-  {0x46ce, 0x23fd98b0},
-  {0x46cf, 0x23fd98b1},
-  {0x46d0, 0x23fd98b2},
-  {0x46d1, 0x23fd98b3},
-  {0x46d2, 0x23fd98b4},
-  {0x46d3, 0x23fd98b5},
-  {0x46d4, 0x23fd98b6},
-  {0x46d5, 0x23fd98b7},
-  {0x46d6, 0x23fd98b8},
-  {0x46d7, 0x23fd98b9},
-  {0x46d8, 0x23fd9cb0},
-  {0x46d9, 0x23fd9cb1},
-  {0x46da, 0x23fd9cb2},
-  {0x46db, 0x23fd9cb3},
-  {0x46dc, 0x23fd9cb4},
-  {0x46dd, 0x23fd9cb5},
-  {0x46de, 0x23fd9cb6},
-  {0x46df, 0x23fd9cb7},
-  {0x46e0, 0x23fd9cb8},
-  {0x46e1, 0x23fd9cb9},
-  {0x46e2, 0x23fda0b0},
-  {0x46e3, 0x23fda0b1},
-  {0x46e4, 0x23fda0b2},
-  {0x46e5, 0x23fda0b3},
-  {0x46e6, 0x23fda0b4},
-  {0x46e7, 0x23fda0b5},
-  {0x46e8, 0x23fda0b6},
-  {0x46e9, 0x23fda0b7},
-  {0x46ea, 0x23fda0b8},
-  {0x46eb, 0x23fda0b9},
-  {0x46ec, 0x23fda4b0},
-  {0x46ed, 0x23fda4b1},
-  {0x46ee, 0x23fda4b2},
-  {0x46ef, 0x23fda4b3},
-  {0x46f0, 0x23fda4b4},
-  {0x46f1, 0x23fda4b5},
-  {0x46f2, 0x23fda4b6},
-  {0x46f3, 0x23fda4b7},
-  {0x46f4, 0x23fda4b8},
-  {0x46f5, 0x23fda4b9},
-  {0x46f6, 0x23fda8b0},
-  {0x46f7, 0x23fda8b1},
-  {0x46f8, 0x23fda8b2},
-  {0x46f9, 0x23fda8b3},
-  {0x46fa, 0x23fda8b4},
-  {0x46fb, 0x23fda8b5},
-  {0x46fc, 0x23fda8b6},
-  {0x46fd, 0x23fda8b7},
-  {0x46fe, 0x23fda8b8},
-  {0x46ff, 0x23fda8b9},
-  {0x4700, 0x23fdacb0},
-  {0x4701, 0x23fdacb1},
-  {0x4702, 0x23fdacb2},
-  {0x4703, 0x23fdacb3},
-  {0x4704, 0x23fdacb4},
-  {0x4705, 0x23fdacb5},
-  {0x4706, 0x23fdacb6},
-  {0x4707, 0x23fdacb7},
-  {0x4708, 0x23fdacb8},
-  {0x4709, 0x23fdacb9},
-  {0x470a, 0x23fdb0b0},
-  {0x470b, 0x23fdb0b1},
-  {0x470c, 0x23fdb0b2},
-  {0x470d, 0x23fdb0b3},
-  {0x470e, 0x23fdb0b4},
-  {0x470f, 0x23fdb0b5},
-  {0x4710, 0x23fdb0b6},
-  {0x4711, 0x23fdb0b7},
-  {0x4712, 0x23fdb0b8},
-  {0x4713, 0x23fdb0b9},
-  {0x4714, 0x23fdb4b0},
-  {0x4715, 0x23fdb4b1},
-  {0x4716, 0x23fdb4b2},
-  {0x4717, 0x23fdb4b3},
-  {0x4718, 0x23fdb4b4},
-  {0x4719, 0x23fdb4b5},
-  {0x471a, 0x23fdb4b6},
-  {0x471b, 0x23fdb4b7},
-  {0x471c, 0x23fdb4b8},
-  {0x471d, 0x23fdb4b9},
-  {0x471e, 0x23fdb8b0},
-  {0x471f, 0x23fdb8b1},
-  {0x4720, 0x23fdb8b2},
-  {0x4721, 0x23fdb8b3},
-  {0x4722, 0x23fdb8b4},
-  {0x4723, 0xefba80},
-  {0x4724, 0x23fdb8b5},
-  {0x4725, 0x23fdb8b6},
-  {0x4726, 0x23fdb8b7},
-  {0x4727, 0x23fdb8b8},
-  {0x4728, 0x23fdb8b9},
-  {0x4729, 0xefba81},
-  {0x472a, 0x23fdbcb0},
-  {0x472b, 0x23fdbcb1},
-  {0x472c, 0x23fdbcb2},
-  {0x472d, 0x23fdbcb3},
-  {0x472e, 0x23fdbcb4},
-  {0x472f, 0x23fdbcb5},
-  {0x4730, 0x23fdbcb6},
-  {0x4731, 0x23fdbcb7},
-  {0x4732, 0x23fdbcb8},
-  {0x4733, 0x23fdbcb9},
-  {0x4734, 0x23fe80b0},
-  {0x4735, 0x23fe80b1},
-  {0x4736, 0x23fe80b2},
-  {0x4737, 0x23fe80b3},
-  {0x4738, 0x23fe80b4},
-  {0x4739, 0x23fe80b5},
-  {0x473a, 0x23fe80b6},
-  {0x473b, 0x23fe80b7},
-  {0x473c, 0x23fe80b8},
-  {0x473d, 0x23fe80b9},
-  {0x473e, 0x23fe84b0},
-  {0x473f, 0x23fe84b1},
-  {0x4740, 0x23fe84b2},
-  {0x4741, 0x23fe84b3},
-  {0x4742, 0x23fe84b4},
-  {0x4743, 0x23fe84b5},
-  {0x4744, 0x23fe84b6},
-  {0x4745, 0x23fe84b7},
-  {0x4746, 0x23fe84b8},
-  {0x4747, 0x23fe84b9},
-  {0x4748, 0x23fe88b0},
-  {0x4749, 0x23fe88b1},
-  {0x474a, 0x23fe88b2},
-  {0x474b, 0x23fe88b3},
-  {0x474c, 0x23fe88b4},
-  {0x474d, 0x23fe88b5},
-  {0x474e, 0x23fe88b6},
-  {0x474f, 0x23fe88b7},
-  {0x4750, 0x23fe88b8},
-  {0x4751, 0x23fe88b9},
-  {0x4752, 0x23fe8cb0},
-  {0x4753, 0x23fe8cb1},
-  {0x4754, 0x23fe8cb2},
-  {0x4755, 0x23fe8cb3},
-  {0x4756, 0x23fe8cb4},
-  {0x4757, 0x23fe8cb5},
-  {0x4758, 0x23fe8cb6},
-  {0x4759, 0x23fe8cb7},
-  {0x475a, 0x23fe8cb8},
-  {0x475b, 0x23fe8cb9},
-  {0x475c, 0x23fe90b0},
-  {0x475d, 0x23fe90b1},
-  {0x475e, 0x23fe90b2},
-  {0x475f, 0x23fe90b3},
-  {0x4760, 0x23fe90b4},
-  {0x4761, 0x23fe90b5},
-  {0x4762, 0x23fe90b6},
-  {0x4763, 0x23fe90b7},
-  {0x4764, 0x23fe90b8},
-  {0x4765, 0x23fe90b9},
-  {0x4766, 0x23fe94b0},
-  {0x4767, 0x23fe94b1},
-  {0x4768, 0x23fe94b2},
-  {0x4769, 0x23fe94b3},
-  {0x476a, 0x23fe94b4},
-  {0x476b, 0x23fe94b5},
-  {0x476c, 0x23fe94b6},
-  {0x476d, 0x23fe94b7},
-  {0x476e, 0x23fe94b8},
-  {0x476f, 0x23fe94b9},
-  {0x4770, 0x23fe98b0},
-  {0x4771, 0x23fe98b1},
-  {0x4772, 0x23fe98b2},
-  {0x4773, 0x23fe98b3},
-  {0x4774, 0x23fe98b4},
-  {0x4775, 0x23fe98b5},
-  {0x4776, 0x23fe98b6},
-  {0x4777, 0x23fe98b7},
-  {0x4778, 0x23fe98b8},
-  {0x4779, 0x23fe98b9},
-  {0x477a, 0x23fe9cb0},
-  {0x477b, 0x23fe9cb1},
-  {0x477c, 0xefba82},
-  {0x477d, 0x23fe9cb2},
-  {0x477e, 0x23fe9cb3},
-  {0x477f, 0x23fe9cb4},
-  {0x4780, 0x23fe9cb5},
-  {0x4781, 0x23fe9cb6},
-  {0x4782, 0x23fe9cb7},
-  {0x4783, 0x23fe9cb8},
-  {0x4784, 0x23fe9cb9},
-  {0x4785, 0x23fea0b0},
-  {0x4786, 0x23fea0b1},
-  {0x4787, 0x23fea0b2},
-  {0x4788, 0x23fea0b3},
-  {0x4789, 0x23fea0b4},
-  {0x478a, 0x23fea0b5},
-  {0x478b, 0x23fea0b6},
-  {0x478c, 0x23fea0b7},
-  {0x478d, 0xefba83},
-  {0x478e, 0x23fea0b8},
-  {0x478f, 0x23fea0b9},
-  {0x4790, 0x23fea4b0},
-  {0x4791, 0x23fea4b1},
-  {0x4792, 0x23fea4b2},
-  {0x4793, 0x23fea4b3},
-  {0x4794, 0x23fea4b4},
-  {0x4795, 0x23fea4b5},
-  {0x4796, 0x23fea4b6},
-  {0x4797, 0x23fea4b7},
-  {0x4798, 0x23fea4b8},
-  {0x4799, 0x23fea4b9},
-  {0x479a, 0x23fea8b0},
-  {0x479b, 0x23fea8b1},
-  {0x479c, 0x23fea8b2},
-  {0x479d, 0x23fea8b3},
-  {0x479e, 0x23fea8b4},
-  {0x479f, 0x23fea8b5},
-  {0x47a0, 0x23fea8b6},
-  {0x47a1, 0x23fea8b7},
-  {0x47a2, 0x23fea8b8},
-  {0x47a3, 0x23fea8b9},
-  {0x47a4, 0x23feacb0},
-  {0x47a5, 0x23feacb1},
-  {0x47a6, 0x23feacb2},
-  {0x47a7, 0x23feacb3},
-  {0x47a8, 0x23feacb4},
-  {0x47a9, 0x23feacb5},
-  {0x47aa, 0x23feacb6},
-  {0x47ab, 0x23feacb7},
-  {0x47ac, 0x23feacb8},
-  {0x47ad, 0x23feacb9},
-  {0x47ae, 0x23feb0b0},
-  {0x47af, 0x23feb0b1},
-  {0x47b0, 0x23feb0b2},
-  {0x47b1, 0x23feb0b3},
-  {0x47b2, 0x23feb0b4},
-  {0x47b3, 0x23feb0b5},
-  {0x47b4, 0x23feb0b6},
-  {0x47b5, 0x23feb0b7},
-  {0x47b6, 0x23feb0b8},
-  {0x47b7, 0x23feb0b9},
-  {0x47b8, 0x23feb4b0},
-  {0x47b9, 0x23feb4b1},
-  {0x47ba, 0x23feb4b2},
-  {0x47bb, 0x23feb4b3},
-  {0x47bc, 0x23feb4b4},
-  {0x47bd, 0x23feb4b5},
-  {0x47be, 0x23feb4b6},
-  {0x47bf, 0x23feb4b7},
-  {0x47c0, 0x23feb4b8},
-  {0x47c1, 0x23feb4b9},
-  {0x47c2, 0x23feb8b0},
-  {0x47c3, 0x23feb8b1},
-  {0x47c4, 0x23feb8b2},
-  {0x47c5, 0x23feb8b3},
-  {0x47c6, 0x23feb8b4},
-  {0x47c7, 0x23feb8b5},
-  {0x47c8, 0x23feb8b6},
-  {0x47c9, 0x23feb8b7},
-  {0x47ca, 0x23feb8b8},
-  {0x47cb, 0x23feb8b9},
-  {0x47cc, 0x23febcb0},
-  {0x47cd, 0x23febcb1},
-  {0x47ce, 0x23febcb2},
-  {0x47cf, 0x23febcb3},
-  {0x47d0, 0x23febcb4},
-  {0x47d1, 0x23febcb5},
-  {0x47d2, 0x23febcb6},
-  {0x47d3, 0x23febcb7},
-  {0x47d4, 0x23febcb8},
-  {0x47d5, 0x23febcb9},
-  {0x47d6, 0x23ff80b0},
-  {0x47d7, 0x23ff80b1},
-  {0x47d8, 0x23ff80b2},
-  {0x47d9, 0x23ff80b3},
-  {0x47da, 0x23ff80b4},
-  {0x47db, 0x23ff80b5},
-  {0x47dc, 0x23ff80b6},
-  {0x47dd, 0x23ff80b7},
-  {0x47de, 0x23ff80b8},
-  {0x47df, 0x23ff80b9},
-  {0x47e0, 0x23ff84b0},
-  {0x47e1, 0x23ff84b1},
-  {0x47e2, 0x23ff84b2},
-  {0x47e3, 0x23ff84b3},
-  {0x47e4, 0x23ff84b4},
-  {0x47e5, 0x23ff84b5},
-  {0x47e6, 0x23ff84b6},
-  {0x47e7, 0x23ff84b7},
-  {0x47e8, 0x23ff84b8},
-  {0x47e9, 0x23ff84b9},
-  {0x47ea, 0x23ff88b0},
-  {0x47eb, 0x23ff88b1},
-  {0x47ec, 0x23ff88b2},
-  {0x47ed, 0x23ff88b3},
-  {0x47ee, 0x23ff88b4},
-  {0x47ef, 0x23ff88b5},
-  {0x47f0, 0x23ff88b6},
-  {0x47f1, 0x23ff88b7},
-  {0x47f2, 0x23ff88b8},
-  {0x47f3, 0x23ff88b9},
-  {0x47f4, 0x23ff8cb0},
-  {0x47f5, 0x23ff8cb1},
-  {0x47f6, 0x23ff8cb2},
-  {0x47f7, 0x23ff8cb3},
-  {0x47f8, 0x23ff8cb4},
-  {0x47f9, 0x23ff8cb5},
-  {0x47fa, 0x23ff8cb6},
-  {0x47fb, 0x23ff8cb7},
-  {0x47fc, 0x23ff8cb8},
-  {0x47fd, 0x23ff8cb9},
-  {0x47fe, 0x23ff90b0},
-  {0x47ff, 0x23ff90b1},
-  {0x4800, 0x23ff90b2},
-  {0x4801, 0x23ff90b3},
-  {0x4802, 0x23ff90b4},
-  {0x4803, 0x23ff90b5},
-  {0x4804, 0x23ff90b6},
-  {0x4805, 0x23ff90b7},
-  {0x4806, 0x23ff90b8},
-  {0x4807, 0x23ff90b9},
-  {0x4808, 0x23ff94b0},
-  {0x4809, 0x23ff94b1},
-  {0x480a, 0x23ff94b2},
-  {0x480b, 0x23ff94b3},
-  {0x480c, 0x23ff94b4},
-  {0x480d, 0x23ff94b5},
-  {0x480e, 0x23ff94b6},
-  {0x480f, 0x23ff94b7},
-  {0x4810, 0x23ff94b8},
-  {0x4811, 0x23ff94b9},
-  {0x4812, 0x23ff98b0},
-  {0x4813, 0x23ff98b1},
-  {0x4814, 0x23ff98b2},
-  {0x4815, 0x23ff98b3},
-  {0x4816, 0x23ff98b4},
-  {0x4817, 0x23ff98b5},
-  {0x4818, 0x23ff98b6},
-  {0x4819, 0x23ff98b7},
-  {0x481a, 0x23ff98b8},
-  {0x481b, 0x23ff98b9},
-  {0x481c, 0x23ff9cb0},
-  {0x481d, 0x23ff9cb1},
-  {0x481e, 0x23ff9cb2},
-  {0x481f, 0x23ff9cb3},
-  {0x4820, 0x23ff9cb4},
-  {0x4821, 0x23ff9cb5},
-  {0x4822, 0x23ff9cb6},
-  {0x4823, 0x23ff9cb7},
-  {0x4824, 0x23ff9cb8},
-  {0x4825, 0x23ff9cb9},
-  {0x4826, 0x23ffa0b0},
-  {0x4827, 0x23ffa0b1},
-  {0x4828, 0x23ffa0b2},
-  {0x4829, 0x23ffa0b3},
-  {0x482a, 0x23ffa0b4},
-  {0x482b, 0x23ffa0b5},
-  {0x482c, 0x23ffa0b6},
-  {0x482d, 0x23ffa0b7},
-  {0x482e, 0x23ffa0b8},
-  {0x482f, 0x23ffa0b9},
-  {0x4830, 0x23ffa4b0},
-  {0x4831, 0x23ffa4b1},
-  {0x4832, 0x23ffa4b2},
-  {0x4833, 0x23ffa4b3},
-  {0x4834, 0x23ffa4b4},
-  {0x4835, 0x23ffa4b5},
-  {0x4836, 0x23ffa4b6},
-  {0x4837, 0x23ffa4b7},
-  {0x4838, 0x23ffa4b8},
-  {0x4839, 0x23ffa4b9},
-  {0x483a, 0x23ffa8b0},
-  {0x483b, 0x23ffa8b1},
-  {0x483c, 0x23ffa8b2},
-  {0x483d, 0x23ffa8b3},
-  {0x483e, 0x23ffa8b4},
-  {0x483f, 0x23ffa8b5},
-  {0x4840, 0x23ffa8b6},
-  {0x4841, 0x23ffa8b7},
-  {0x4842, 0x23ffa8b8},
-  {0x4843, 0x23ffa8b9},
-  {0x4844, 0x23ffacb0},
-  {0x4845, 0x23ffacb1},
-  {0x4846, 0x23ffacb2},
-  {0x4847, 0x23ffacb3},
-  {0x4848, 0x23ffacb4},
-  {0x4849, 0x23ffacb5},
-  {0x484a, 0x23ffacb6},
-  {0x484b, 0x23ffacb7},
-  {0x484c, 0x23ffacb8},
-  {0x484d, 0x23ffacb9},
-  {0x484e, 0x23ffb0b0},
-  {0x484f, 0x23ffb0b1},
-  {0x4850, 0x23ffb0b2},
-  {0x4851, 0x23ffb0b3},
-  {0x4852, 0x23ffb0b4},
-  {0x4853, 0x23ffb0b5},
-  {0x4854, 0x23ffb0b6},
-  {0x4855, 0x23ffb0b7},
-  {0x4856, 0x23ffb0b8},
-  {0x4857, 0x23ffb0b9},
-  {0x4858, 0x23ffb4b0},
-  {0x4859, 0x23ffb4b1},
-  {0x485a, 0x23ffb4b2},
-  {0x485b, 0x23ffb4b3},
-  {0x485c, 0x23ffb4b4},
-  {0x485d, 0x23ffb4b5},
-  {0x485e, 0x23ffb4b6},
-  {0x485f, 0x23ffb4b7},
-  {0x4860, 0x23ffb4b8},
-  {0x4861, 0x23ffb4b9},
-  {0x4862, 0x23ffb8b0},
-  {0x4863, 0x23ffb8b1},
-  {0x4864, 0x23ffb8b2},
-  {0x4865, 0x23ffb8b3},
-  {0x4866, 0x23ffb8b4},
-  {0x4867, 0x23ffb8b5},
-  {0x4868, 0x23ffb8b6},
-  {0x4869, 0x23ffb8b7},
-  {0x486a, 0x23ffb8b8},
-  {0x486b, 0x23ffb8b9},
-  {0x486c, 0x23e884b0},
-  {0x486d, 0x23e884b1},
-  {0x486e, 0x23e884b2},
-  {0x486f, 0x23e884b3},
-  {0x4870, 0x23e884b4},
-  {0x4871, 0x23e884b5},
-  {0x4872, 0x23e884b6},
-  {0x4873, 0x23e884b7},
-  {0x4874, 0x23e884b8},
-  {0x4875, 0x23e884b9},
-  {0x4876, 0x23e888b0},
-  {0x4877, 0x23e888b1},
-  {0x4878, 0x23e888b2},
-  {0x4879, 0x23e888b3},
-  {0x487a, 0x23e888b4},
-  {0x487b, 0x23e888b5},
-  {0x487c, 0x23e888b6},
-  {0x487d, 0x23e888b7},
-  {0x487e, 0x23e888b8},
-  {0x487f, 0x23e888b9},
-  {0x4880, 0x23e88cb0},
-  {0x4881, 0x23e88cb1},
-  {0x4882, 0x23e88cb2},
-  {0x4883, 0x23e88cb3},
-  {0x4884, 0x23e88cb4},
-  {0x4885, 0x23e88cb5},
-  {0x4886, 0x23e88cb6},
-  {0x4887, 0x23e88cb7},
-  {0x4888, 0x23e88cb8},
-  {0x4889, 0x23e88cb9},
-  {0x488a, 0x23e890b0},
-  {0x488b, 0x23e890b1},
-  {0x488c, 0x23e890b2},
-  {0x488d, 0x23e890b3},
-  {0x488e, 0x23e890b4},
-  {0x488f, 0x23e890b5},
-  {0x4890, 0x23e890b6},
-  {0x4891, 0x23e890b7},
-  {0x4892, 0x23e890b8},
-  {0x4893, 0x23e890b9},
-  {0x4894, 0x23e894b0},
-  {0x4895, 0x23e894b1},
-  {0x4896, 0x23e894b2},
-  {0x4897, 0x23e894b3},
-  {0x4898, 0x23e894b4},
-  {0x4899, 0x23e894b5},
-  {0x489a, 0x23e894b6},
-  {0x489b, 0x23e894b7},
-  {0x489c, 0x23e894b8},
-  {0x489d, 0x23e894b9},
-  {0x489e, 0x23e898b0},
-  {0x489f, 0x23e898b1},
-  {0x48a0, 0x23e898b2},
-  {0x48a1, 0x23e898b3},
-  {0x48a2, 0x23e898b4},
-  {0x48a3, 0x23e898b5},
-  {0x48a4, 0x23e898b6},
-  {0x48a5, 0x23e898b7},
-  {0x48a6, 0x23e898b8},
-  {0x48a7, 0x23e898b9},
-  {0x48a8, 0x23e89cb0},
-  {0x48a9, 0x23e89cb1},
-  {0x48aa, 0x23e89cb2},
-  {0x48ab, 0x23e89cb3},
-  {0x48ac, 0x23e89cb4},
-  {0x48ad, 0x23e89cb5},
-  {0x48ae, 0x23e89cb6},
-  {0x48af, 0x23e89cb7},
-  {0x48b0, 0x23e89cb8},
-  {0x48b1, 0x23e89cb9},
-  {0x48b2, 0x23e8a0b0},
-  {0x48b3, 0x23e8a0b1},
-  {0x48b4, 0x23e8a0b2},
-  {0x48b5, 0x23e8a0b3},
-  {0x48b6, 0x23e8a0b4},
-  {0x48b7, 0x23e8a0b5},
-  {0x48b8, 0x23e8a0b6},
-  {0x48b9, 0x23e8a0b7},
-  {0x48ba, 0x23e8a0b8},
-  {0x48bb, 0x23e8a0b9},
-  {0x48bc, 0x23e8a4b0},
-  {0x48bd, 0x23e8a4b1},
-  {0x48be, 0x23e8a4b2},
-  {0x48bf, 0x23e8a4b3},
-  {0x48c0, 0x23e8a4b4},
-  {0x48c1, 0x23e8a4b5},
-  {0x48c2, 0x23e8a4b6},
-  {0x48c3, 0x23e8a4b7},
-  {0x48c4, 0x23e8a4b8},
-  {0x48c5, 0x23e8a4b9},
-  {0x48c6, 0x23e8a8b0},
-  {0x48c7, 0x23e8a8b1},
-  {0x48c8, 0x23e8a8b2},
-  {0x48c9, 0x23e8a8b3},
-  {0x48ca, 0x23e8a8b4},
-  {0x48cb, 0x23e8a8b5},
-  {0x48cc, 0x23e8a8b6},
-  {0x48cd, 0x23e8a8b7},
-  {0x48ce, 0x23e8a8b8},
-  {0x48cf, 0x23e8a8b9},
-  {0x48d0, 0x23e8acb0},
-  {0x48d1, 0x23e8acb1},
-  {0x48d2, 0x23e8acb2},
-  {0x48d3, 0x23e8acb3},
-  {0x48d4, 0x23e8acb4},
-  {0x48d5, 0x23e8acb5},
-  {0x48d6, 0x23e8acb6},
-  {0x48d7, 0x23e8acb7},
-  {0x48d8, 0x23e8acb8},
-  {0x48d9, 0x23e8acb9},
-  {0x48da, 0x23e8b0b0},
-  {0x48db, 0x23e8b0b1},
-  {0x48dc, 0x23e8b0b2},
-  {0x48dd, 0x23e8b0b3},
-  {0x48de, 0x23e8b0b4},
-  {0x48df, 0x23e8b0b5},
-  {0x48e0, 0x23e8b0b6},
-  {0x48e1, 0x23e8b0b7},
-  {0x48e2, 0x23e8b0b8},
-  {0x48e3, 0x23e8b0b9},
-  {0x48e4, 0x23e8b4b0},
-  {0x48e5, 0x23e8b4b1},
-  {0x48e6, 0x23e8b4b2},
-  {0x48e7, 0x23e8b4b3},
-  {0x48e8, 0x23e8b4b4},
-  {0x48e9, 0x23e8b4b5},
-  {0x48ea, 0x23e8b4b6},
-  {0x48eb, 0x23e8b4b7},
-  {0x48ec, 0x23e8b4b8},
-  {0x48ed, 0x23e8b4b9},
-  {0x48ee, 0x23e8b8b0},
-  {0x48ef, 0x23e8b8b1},
-  {0x48f0, 0x23e8b8b2},
-  {0x48f1, 0x23e8b8b3},
-  {0x48f2, 0x23e8b8b4},
-  {0x48f3, 0x23e8b8b5},
-  {0x48f4, 0x23e8b8b6},
-  {0x48f5, 0x23e8b8b7},
-  {0x48f6, 0x23e8b8b8},
-  {0x48f7, 0x23e8b8b9},
-  {0x48f8, 0x23e8bcb0},
-  {0x48f9, 0x23e8bcb1},
-  {0x48fa, 0x23e8bcb2},
-  {0x48fb, 0x23e8bcb3},
-  {0x48fc, 0x23e8bcb4},
-  {0x48fd, 0x23e8bcb5},
-  {0x48fe, 0x23e8bcb6},
-  {0x48ff, 0x23e8bcb7},
-  {0x4900, 0x23e8bcb8},
-  {0x4901, 0x23e8bcb9},
-  {0x4902, 0x23e980b0},
-  {0x4903, 0x23e980b1},
-  {0x4904, 0x23e980b2},
-  {0x4905, 0x23e980b3},
-  {0x4906, 0x23e980b4},
-  {0x4907, 0x23e980b5},
-  {0x4908, 0x23e980b6},
-  {0x4909, 0x23e980b7},
-  {0x490a, 0x23e980b8},
-  {0x490b, 0x23e980b9},
-  {0x490c, 0x23e984b0},
-  {0x490d, 0x23e984b1},
-  {0x490e, 0x23e984b2},
-  {0x490f, 0x23e984b3},
-  {0x4910, 0x23e984b4},
-  {0x4911, 0x23e984b5},
-  {0x4912, 0x23e984b6},
-  {0x4913, 0x23e984b7},
-  {0x4914, 0x23e984b8},
-  {0x4915, 0x23e984b9},
-  {0x4916, 0x23e988b0},
-  {0x4917, 0x23e988b1},
-  {0x4918, 0x23e988b2},
-  {0x4919, 0x23e988b3},
-  {0x491a, 0x23e988b4},
-  {0x491b, 0x23e988b5},
-  {0x491c, 0x23e988b6},
-  {0x491d, 0x23e988b7},
-  {0x491e, 0x23e988b8},
-  {0x491f, 0x23e988b9},
-  {0x4920, 0x23e98cb0},
-  {0x4921, 0x23e98cb1},
-  {0x4922, 0x23e98cb2},
-  {0x4923, 0x23e98cb3},
-  {0x4924, 0x23e98cb4},
-  {0x4925, 0x23e98cb5},
-  {0x4926, 0x23e98cb6},
-  {0x4927, 0x23e98cb7},
-  {0x4928, 0x23e98cb8},
-  {0x4929, 0x23e98cb9},
-  {0x492a, 0x23e990b0},
-  {0x492b, 0x23e990b1},
-  {0x492c, 0x23e990b2},
-  {0x492d, 0x23e990b3},
-  {0x492e, 0x23e990b4},
-  {0x492f, 0x23e990b5},
-  {0x4930, 0x23e990b6},
-  {0x4931, 0x23e990b7},
-  {0x4932, 0x23e990b8},
-  {0x4933, 0x23e990b9},
-  {0x4934, 0x23e994b0},
-  {0x4935, 0x23e994b1},
-  {0x4936, 0x23e994b2},
-  {0x4937, 0x23e994b3},
-  {0x4938, 0x23e994b4},
-  {0x4939, 0x23e994b5},
-  {0x493a, 0x23e994b6},
-  {0x493b, 0x23e994b7},
-  {0x493c, 0x23e994b8},
-  {0x493d, 0x23e994b9},
-  {0x493e, 0x23e998b0},
-  {0x493f, 0x23e998b1},
-  {0x4940, 0x23e998b2},
-  {0x4941, 0x23e998b3},
-  {0x4942, 0x23e998b4},
-  {0x4943, 0x23e998b5},
-  {0x4944, 0x23e998b6},
-  {0x4945, 0x23e998b7},
-  {0x4946, 0x23e998b8},
-  {0x4947, 0xefba85},
-  {0x4948, 0x23e998b9},
-  {0x4949, 0x23e99cb0},
-  {0x494a, 0x23e99cb1},
-  {0x494b, 0x23e99cb2},
-  {0x494c, 0x23e99cb3},
-  {0x494d, 0x23e99cb4},
-  {0x494e, 0x23e99cb5},
-  {0x494f, 0x23e99cb6},
-  {0x4950, 0x23e99cb7},
-  {0x4951, 0x23e99cb8},
-  {0x4952, 0x23e99cb9},
-  {0x4953, 0x23e9a0b0},
-  {0x4954, 0x23e9a0b1},
-  {0x4955, 0x23e9a0b2},
-  {0x4956, 0x23e9a0b3},
-  {0x4957, 0x23e9a0b4},
-  {0x4958, 0x23e9a0b5},
-  {0x4959, 0x23e9a0b6},
-  {0x495a, 0x23e9a0b7},
-  {0x495b, 0x23e9a0b8},
-  {0x495c, 0x23e9a0b9},
-  {0x495d, 0x23e9a4b0},
-  {0x495e, 0x23e9a4b1},
-  {0x495f, 0x23e9a4b2},
-  {0x4960, 0x23e9a4b3},
-  {0x4961, 0x23e9a4b4},
-  {0x4962, 0x23e9a4b5},
-  {0x4963, 0x23e9a4b6},
-  {0x4964, 0x23e9a4b7},
-  {0x4965, 0x23e9a4b8},
-  {0x4966, 0x23e9a4b9},
-  {0x4967, 0x23e9a8b0},
-  {0x4968, 0x23e9a8b1},
-  {0x4969, 0x23e9a8b2},
-  {0x496a, 0x23e9a8b3},
-  {0x496b, 0x23e9a8b4},
-  {0x496c, 0x23e9a8b5},
-  {0x496d, 0x23e9a8b6},
-  {0x496e, 0x23e9a8b7},
-  {0x496f, 0x23e9a8b8},
-  {0x4970, 0x23e9a8b9},
-  {0x4971, 0x23e9acb0},
-  {0x4972, 0x23e9acb1},
-  {0x4973, 0x23e9acb2},
-  {0x4974, 0x23e9acb3},
-  {0x4975, 0x23e9acb4},
-  {0x4976, 0x23e9acb5},
-  {0x4977, 0x23e9acb6},
-  {0x4978, 0x23e9acb7},
-  {0x4979, 0x23e9acb8},
-  {0x497a, 0xefba86},
-  {0x497b, 0x23e9acb9},
-  {0x497c, 0x23e9b0b0},
-  {0x497d, 0xefba87},
-  {0x497e, 0x23e9b0b1},
-  {0x497f, 0x23e9b0b2},
-  {0x4980, 0x23e9b0b3},
-  {0x4981, 0x23e9b0b4},
-  {0x4982, 0xefba88},
-  {0x4983, 0xefba89},
-  {0x4984, 0x23e9b0b5},
-  {0x4985, 0xefba8a},
-  {0x4986, 0xefba8b},
-  {0x4987, 0x23e9b0b6},
-  {0x4988, 0x23e9b0b7},
-  {0x4989, 0x23e9b0b8},
-  {0x498a, 0x23e9b0b9},
-  {0x498b, 0x23e9b4b0},
-  {0x498c, 0x23e9b4b1},
-  {0x498d, 0x23e9b4b2},
-  {0x498e, 0x23e9b4b3},
-  {0x498f, 0x23e9b4b4},
-  {0x4990, 0x23e9b4b5},
-  {0x4991, 0x23e9b4b6},
-  {0x4992, 0x23e9b4b7},
-  {0x4993, 0x23e9b4b8},
-  {0x4994, 0x23e9b4b9},
-  {0x4995, 0x23e9b8b0},
-  {0x4996, 0x23e9b8b1},
-  {0x4997, 0x23e9b8b2},
-  {0x4998, 0x23e9b8b3},
-  {0x4999, 0x23e9b8b4},
-  {0x499a, 0x23e9b8b5},
-  {0x499b, 0xefba8d},
-  {0x499c, 0x23e9b8b6},
-  {0x499d, 0x23e9b8b7},
-  {0x499e, 0x23e9b8b8},
-  {0x499f, 0xefba8c},
-  {0x49a0, 0x23e9b8b9},
-  {0x49a1, 0x23e9bcb0},
-  {0x49a2, 0x23e9bcb1},
-  {0x49a3, 0x23e9bcb2},
-  {0x49a4, 0x23e9bcb3},
-  {0x49a5, 0x23e9bcb4},
-  {0x49a6, 0x23e9bcb5},
-  {0x49a7, 0x23e9bcb6},
-  {0x49a8, 0x23e9bcb7},
-  {0x49a9, 0x23e9bcb8},
-  {0x49aa, 0x23e9bcb9},
-  {0x49ab, 0x23ea80b0},
-  {0x49ac, 0x23ea80b1},
-  {0x49ad, 0x23ea80b2},
-  {0x49ae, 0x23ea80b3},
-  {0x49af, 0x23ea80b4},
-  {0x49b0, 0x23ea80b5},
-  {0x49b1, 0x23ea80b6},
-  {0x49b2, 0x23ea80b7},
-  {0x49b3, 0x23ea80b8},
-  {0x49b4, 0x23ea80b9},
-  {0x49b5, 0x23ea84b0},
-  {0x49b6, 0xefba8f},
-  {0x49b7, 0xefba8e},
-  {0x49b8, 0x23ea84b1},
-  {0x49b9, 0x23ea84b2},
-  {0x49ba, 0x23ea84b3},
-  {0x49bb, 0x23ea84b4},
-  {0x49bc, 0x23ea84b5},
-  {0x49bd, 0x23ea84b6},
-  {0x49be, 0x23ea84b7},
-  {0x49bf, 0x23ea84b8},
-  {0x49c0, 0x23ea84b9},
-  {0x49c1, 0x23ea88b0},
-  {0x49c2, 0x23ea88b1},
-  {0x49c3, 0x23ea88b2},
-  {0x49c4, 0x23ea88b3},
-  {0x49c5, 0x23ea88b4},
-  {0x49c6, 0x23ea88b5},
-  {0x49c7, 0x23ea88b6},
-  {0x49c8, 0x23ea88b7},
-  {0x49c9, 0x23ea88b8},
-  {0x49ca, 0x23ea88b9},
-  {0x49cb, 0x23ea8cb0},
-  {0x49cc, 0x23ea8cb1},
-  {0x49cd, 0x23ea8cb2},
-  {0x49ce, 0x23ea8cb3},
-  {0x49cf, 0x23ea8cb4},
-  {0x49d0, 0x23ea8cb5},
-  {0x49d1, 0x23ea8cb6},
-  {0x49d2, 0x23ea8cb7},
-  {0x49d3, 0x23ea8cb8},
-  {0x49d4, 0x23ea8cb9},
-  {0x49d5, 0x23ea90b0},
-  {0x49d6, 0x23ea90b1},
-  {0x49d7, 0x23ea90b2},
-  {0x49d8, 0x23ea90b3},
-  {0x49d9, 0x23ea90b4},
-  {0x49da, 0x23ea90b5},
-  {0x49db, 0x23ea90b6},
-  {0x49dc, 0x23ea90b7},
-  {0x49dd, 0x23ea90b8},
-  {0x49de, 0x23ea90b9},
-  {0x49df, 0x23ea94b0},
-  {0x49e0, 0x23ea94b1},
-  {0x49e1, 0x23ea94b2},
-  {0x49e2, 0x23ea94b3},
-  {0x49e3, 0x23ea94b4},
-  {0x49e4, 0x23ea94b5},
-  {0x49e5, 0x23ea94b6},
-  {0x49e6, 0x23ea94b7},
-  {0x49e7, 0x23ea94b8},
-  {0x49e8, 0x23ea94b9},
-  {0x49e9, 0x23ea98b0},
-  {0x49ea, 0x23ea98b1},
-  {0x49eb, 0x23ea98b2},
-  {0x49ec, 0x23ea98b3},
-  {0x49ed, 0x23ea98b4},
-  {0x49ee, 0x23ea98b5},
-  {0x49ef, 0x23ea98b6},
-  {0x49f0, 0x23ea98b7},
-  {0x49f1, 0x23ea98b8},
-  {0x49f2, 0x23ea98b9},
-  {0x49f3, 0x23ea9cb0},
-  {0x49f4, 0x23ea9cb1},
-  {0x49f5, 0x23ea9cb2},
-  {0x49f6, 0x23ea9cb3},
-  {0x49f7, 0x23ea9cb4},
-  {0x49f8, 0x23ea9cb5},
-  {0x49f9, 0x23ea9cb6},
-  {0x49fa, 0x23ea9cb7},
-  {0x49fb, 0x23ea9cb8},
-  {0x49fc, 0x23ea9cb9},
-  {0x49fd, 0x23eaa0b0},
-  {0x49fe, 0x23eaa0b1},
-  {0x49ff, 0x23eaa0b2},
-  {0x4a00, 0x23eaa0b3},
-  {0x4a01, 0x23eaa0b4},
-  {0x4a02, 0x23eaa0b5},
-  {0x4a03, 0x23eaa0b6},
-  {0x4a04, 0x23eaa0b7},
-  {0x4a05, 0x23eaa0b8},
-  {0x4a06, 0x23eaa0b9},
-  {0x4a07, 0x23eaa4b0},
-  {0x4a08, 0x23eaa4b1},
-  {0x4a09, 0x23eaa4b2},
-  {0x4a0a, 0x23eaa4b3},
-  {0x4a0b, 0x23eaa4b4},
-  {0x4a0c, 0x23eaa4b5},
-  {0x4a0d, 0x23eaa4b6},
-  {0x4a0e, 0x23eaa4b7},
-  {0x4a0f, 0x23eaa4b8},
-  {0x4a10, 0x23eaa4b9},
-  {0x4a11, 0x23eaa8b0},
-  {0x4a12, 0x23eaa8b1},
-  {0x4a13, 0x23eaa8b2},
-  {0x4a14, 0x23eaa8b3},
-  {0x4a15, 0x23eaa8b4},
-  {0x4a16, 0x23eaa8b5},
-  {0x4a17, 0x23eaa8b6},
-  {0x4a18, 0x23eaa8b7},
-  {0x4a19, 0x23eaa8b8},
-  {0x4a1a, 0x23eaa8b9},
-  {0x4a1b, 0x23eaacb0},
-  {0x4a1c, 0x23eaacb1},
-  {0x4a1d, 0x23eaacb2},
-  {0x4a1e, 0x23eaacb3},
-  {0x4a1f, 0x23eaacb4},
-  {0x4a20, 0x23eaacb5},
-  {0x4a21, 0x23eaacb6},
-  {0x4a22, 0x23eaacb7},
-  {0x4a23, 0x23eaacb8},
-  {0x4a24, 0x23eaacb9},
-  {0x4a25, 0x23eab0b0},
-  {0x4a26, 0x23eab0b1},
-  {0x4a27, 0x23eab0b2},
-  {0x4a28, 0x23eab0b3},
-  {0x4a29, 0x23eab0b4},
-  {0x4a2a, 0x23eab0b5},
-  {0x4a2b, 0x23eab0b6},
-  {0x4a2c, 0x23eab0b7},
-  {0x4a2d, 0x23eab0b8},
-  {0x4a2e, 0x23eab0b9},
-  {0x4a2f, 0x23eab4b0},
-  {0x4a30, 0x23eab4b1},
-  {0x4a31, 0x23eab4b2},
-  {0x4a32, 0x23eab4b3},
-  {0x4a33, 0x23eab4b4},
-  {0x4a34, 0x23eab4b5},
-  {0x4a35, 0x23eab4b6},
-  {0x4a36, 0x23eab4b7},
-  {0x4a37, 0x23eab4b8},
-  {0x4a38, 0x23eab4b9},
-  {0x4a39, 0x23eab8b0},
-  {0x4a3a, 0x23eab8b1},
-  {0x4a3b, 0x23eab8b2},
-  {0x4a3c, 0x23eab8b3},
-  {0x4a3d, 0x23eab8b4},
-  {0x4a3e, 0x23eab8b5},
-  {0x4a3f, 0x23eab8b6},
-  {0x4a40, 0x23eab8b7},
-  {0x4a41, 0x23eab8b8},
-  {0x4a42, 0x23eab8b9},
-  {0x4a43, 0x23eabcb0},
-  {0x4a44, 0x23eabcb1},
-  {0x4a45, 0x23eabcb2},
-  {0x4a46, 0x23eabcb3},
-  {0x4a47, 0x23eabcb4},
-  {0x4a48, 0x23eabcb5},
-  {0x4a49, 0x23eabcb6},
-  {0x4a4a, 0x23eabcb7},
-  {0x4a4b, 0x23eabcb8},
-  {0x4a4c, 0x23eabcb9},
-  {0x4a4d, 0x23eb80b0},
-  {0x4a4e, 0x23eb80b1},
-  {0x4a4f, 0x23eb80b2},
-  {0x4a50, 0x23eb80b3},
-  {0x4a51, 0x23eb80b4},
-  {0x4a52, 0x23eb80b5},
-  {0x4a53, 0x23eb80b6},
-  {0x4a54, 0x23eb80b7},
-  {0x4a55, 0x23eb80b8},
-  {0x4a56, 0x23eb80b9},
-  {0x4a57, 0x23eb84b0},
-  {0x4a58, 0x23eb84b1},
-  {0x4a59, 0x23eb84b2},
-  {0x4a5a, 0x23eb84b3},
-  {0x4a5b, 0x23eb84b4},
-  {0x4a5c, 0x23eb84b5},
-  {0x4a5d, 0x23eb84b6},
-  {0x4a5e, 0x23eb84b7},
-  {0x4a5f, 0x23eb84b8},
-  {0x4a60, 0x23eb84b9},
-  {0x4a61, 0x23eb88b0},
-  {0x4a62, 0x23eb88b1},
-  {0x4a63, 0x23eb88b2},
-  {0x4a64, 0x23eb88b3},
-  {0x4a65, 0x23eb88b4},
-  {0x4a66, 0x23eb88b5},
-  {0x4a67, 0x23eb88b6},
-  {0x4a68, 0x23eb88b7},
-  {0x4a69, 0x23eb88b8},
-  {0x4a6a, 0x23eb88b9},
-  {0x4a6b, 0x23eb8cb0},
-  {0x4a6c, 0x23eb8cb1},
-  {0x4a6d, 0x23eb8cb2},
-  {0x4a6e, 0x23eb8cb3},
-  {0x4a6f, 0x23eb8cb4},
-  {0x4a70, 0x23eb8cb5},
-  {0x4a71, 0x23eb8cb6},
-  {0x4a72, 0x23eb8cb7},
-  {0x4a73, 0x23eb8cb8},
-  {0x4a74, 0x23eb8cb9},
-  {0x4a75, 0x23eb90b0},
-  {0x4a76, 0x23eb90b1},
-  {0x4a77, 0x23eb90b2},
-  {0x4a78, 0x23eb90b3},
-  {0x4a79, 0x23eb90b4},
-  {0x4a7a, 0x23eb90b5},
-  {0x4a7b, 0x23eb90b6},
-  {0x4a7c, 0x23eb90b7},
-  {0x4a7d, 0x23eb90b8},
-  {0x4a7e, 0x23eb90b9},
-  {0x4a7f, 0x23eb94b0},
-  {0x4a80, 0x23eb94b1},
-  {0x4a81, 0x23eb94b2},
-  {0x4a82, 0x23eb94b3},
-  {0x4a83, 0x23eb94b4},
-  {0x4a84, 0x23eb94b5},
-  {0x4a85, 0x23eb94b6},
-  {0x4a86, 0x23eb94b7},
-  {0x4a87, 0x23eb94b8},
-  {0x4a88, 0x23eb94b9},
-  {0x4a89, 0x23eb98b0},
-  {0x4a8a, 0x23eb98b1},
-  {0x4a8b, 0x23eb98b2},
-  {0x4a8c, 0x23eb98b3},
-  {0x4a8d, 0x23eb98b4},
-  {0x4a8e, 0x23eb98b5},
-  {0x4a8f, 0x23eb98b6},
-  {0x4a90, 0x23eb98b7},
-  {0x4a91, 0x23eb98b8},
-  {0x4a92, 0x23eb98b9},
-  {0x4a93, 0x23eb9cb0},
-  {0x4a94, 0x23eb9cb1},
-  {0x4a95, 0x23eb9cb2},
-  {0x4a96, 0x23eb9cb3},
-  {0x4a97, 0x23eb9cb4},
-  {0x4a98, 0x23eb9cb5},
-  {0x4a99, 0x23eb9cb6},
-  {0x4a9a, 0x23eb9cb7},
-  {0x4a9b, 0x23eb9cb8},
-  {0x4a9c, 0x23eb9cb9},
-  {0x4a9d, 0x23eba0b0},
-  {0x4a9e, 0x23eba0b1},
-  {0x4a9f, 0x23eba0b2},
-  {0x4aa0, 0x23eba0b3},
-  {0x4aa1, 0x23eba0b4},
-  {0x4aa2, 0x23eba0b5},
-  {0x4aa3, 0x23eba0b6},
-  {0x4aa4, 0x23eba0b7},
-  {0x4aa5, 0x23eba0b8},
-  {0x4aa6, 0x23eba0b9},
-  {0x4aa7, 0x23eba4b0},
-  {0x4aa8, 0x23eba4b1},
-  {0x4aa9, 0x23eba4b2},
-  {0x4aaa, 0x23eba4b3},
-  {0x4aab, 0x23eba4b4},
-  {0x4aac, 0x23eba4b5},
-  {0x4aad, 0x23eba4b6},
-  {0x4aae, 0x23eba4b7},
-  {0x4aaf, 0x23eba4b8},
-  {0x4ab0, 0x23eba4b9},
-  {0x4ab1, 0x23eba8b0},
-  {0x4ab2, 0x23eba8b1},
-  {0x4ab3, 0x23eba8b2},
-  {0x4ab4, 0x23eba8b3},
-  {0x4ab5, 0x23eba8b4},
-  {0x4ab6, 0x23eba8b5},
-  {0x4ab7, 0x23eba8b6},
-  {0x4ab8, 0x23eba8b7},
-  {0x4ab9, 0x23eba8b8},
-  {0x4aba, 0x23eba8b9},
-  {0x4abb, 0x23ebacb0},
-  {0x4abc, 0x23ebacb1},
-  {0x4abd, 0x23ebacb2},
-  {0x4abe, 0x23ebacb3},
-  {0x4abf, 0x23ebacb4},
-  {0x4ac0, 0x23ebacb5},
-  {0x4ac1, 0x23ebacb6},
-  {0x4ac2, 0x23ebacb7},
-  {0x4ac3, 0x23ebacb8},
-  {0x4ac4, 0x23ebacb9},
-  {0x4ac5, 0x23ebb0b0},
-  {0x4ac6, 0x23ebb0b1},
-  {0x4ac7, 0x23ebb0b2},
-  {0x4ac8, 0x23ebb0b3},
-  {0x4ac9, 0x23ebb0b4},
-  {0x4aca, 0x23ebb0b5},
-  {0x4acb, 0x23ebb0b6},
-  {0x4acc, 0x23ebb0b7},
-  {0x4acd, 0x23ebb0b8},
-  {0x4ace, 0x23ebb0b9},
-  {0x4acf, 0x23ebb4b0},
-  {0x4ad0, 0x23ebb4b1},
-  {0x4ad1, 0x23ebb4b2},
-  {0x4ad2, 0x23ebb4b3},
-  {0x4ad3, 0x23ebb4b4},
-  {0x4ad4, 0x23ebb4b5},
-  {0x4ad5, 0x23ebb4b6},
-  {0x4ad6, 0x23ebb4b7},
-  {0x4ad7, 0x23ebb4b8},
-  {0x4ad8, 0x23ebb4b9},
-  {0x4ad9, 0x23ebb8b0},
-  {0x4ada, 0x23ebb8b1},
-  {0x4adb, 0x23ebb8b2},
-  {0x4adc, 0x23ebb8b3},
-  {0x4add, 0x23ebb8b4},
-  {0x4ade, 0x23ebb8b5},
-  {0x4adf, 0x23ebb8b6},
-  {0x4ae0, 0x23ebb8b7},
-  {0x4ae1, 0x23ebb8b8},
-  {0x4ae2, 0x23ebb8b9},
-  {0x4ae3, 0x23ebbcb0},
-  {0x4ae4, 0x23ebbcb1},
-  {0x4ae5, 0x23ebbcb2},
-  {0x4ae6, 0x23ebbcb3},
-  {0x4ae7, 0x23ebbcb4},
-  {0x4ae8, 0x23ebbcb5},
-  {0x4ae9, 0x23ebbcb6},
-  {0x4aea, 0x23ebbcb7},
-  {0x4aeb, 0x23ebbcb8},
-  {0x4aec, 0x23ebbcb9},
-  {0x4aed, 0x23ec80b0},
-  {0x4aee, 0x23ec80b1},
-  {0x4aef, 0x23ec80b2},
-  {0x4af0, 0x23ec80b3},
-  {0x4af1, 0x23ec80b4},
-  {0x4af2, 0x23ec80b5},
-  {0x4af3, 0x23ec80b6},
-  {0x4af4, 0x23ec80b7},
-  {0x4af5, 0x23ec80b8},
-  {0x4af6, 0x23ec80b9},
-  {0x4af7, 0x23ec84b0},
-  {0x4af8, 0x23ec84b1},
-  {0x4af9, 0x23ec84b2},
-  {0x4afa, 0x23ec84b3},
-  {0x4afb, 0x23ec84b4},
-  {0x4afc, 0x23ec84b5},
-  {0x4afd, 0x23ec84b6},
-  {0x4afe, 0x23ec84b7},
-  {0x4aff, 0x23ec84b8},
-  {0x4b00, 0x23ec84b9},
-  {0x4b01, 0x23ec88b0},
-  {0x4b02, 0x23ec88b1},
-  {0x4b03, 0x23ec88b2},
-  {0x4b04, 0x23ec88b3},
-  {0x4b05, 0x23ec88b4},
-  {0x4b06, 0x23ec88b5},
-  {0x4b07, 0x23ec88b6},
-  {0x4b08, 0x23ec88b7},
-  {0x4b09, 0x23ec88b8},
-  {0x4b0a, 0x23ec88b9},
-  {0x4b0b, 0x23ec8cb0},
-  {0x4b0c, 0x23ec8cb1},
-  {0x4b0d, 0x23ec8cb2},
-  {0x4b0e, 0x23ec8cb3},
-  {0x4b0f, 0x23ec8cb4},
-  {0x4b10, 0x23ec8cb5},
-  {0x4b11, 0x23ec8cb6},
-  {0x4b12, 0x23ec8cb7},
-  {0x4b13, 0x23ec8cb8},
-  {0x4b14, 0x23ec8cb9},
-  {0x4b15, 0x23ec90b0},
-  {0x4b16, 0x23ec90b1},
-  {0x4b17, 0x23ec90b2},
-  {0x4b18, 0x23ec90b3},
-  {0x4b19, 0x23ec90b4},
-  {0x4b1a, 0x23ec90b5},
-  {0x4b1b, 0x23ec90b6},
-  {0x4b1c, 0x23ec90b7},
-  {0x4b1d, 0x23ec90b8},
-  {0x4b1e, 0x23ec90b9},
-  {0x4b1f, 0x23ec94b0},
-  {0x4b20, 0x23ec94b1},
-  {0x4b21, 0x23ec94b2},
-  {0x4b22, 0x23ec94b3},
-  {0x4b23, 0x23ec94b4},
-  {0x4b24, 0x23ec94b5},
-  {0x4b25, 0x23ec94b6},
-  {0x4b26, 0x23ec94b7},
-  {0x4b27, 0x23ec94b8},
-  {0x4b28, 0x23ec94b9},
-  {0x4b29, 0x23ec98b0},
-  {0x4b2a, 0x23ec98b1},
-  {0x4b2b, 0x23ec98b2},
-  {0x4b2c, 0x23ec98b3},
-  {0x4b2d, 0x23ec98b4},
-  {0x4b2e, 0x23ec98b5},
-  {0x4b2f, 0x23ec98b6},
-  {0x4b30, 0x23ec98b7},
-  {0x4b31, 0x23ec98b8},
-  {0x4b32, 0x23ec98b9},
-  {0x4b33, 0x23ec9cb0},
-  {0x4b34, 0x23ec9cb1},
-  {0x4b35, 0x23ec9cb2},
-  {0x4b36, 0x23ec9cb3},
-  {0x4b37, 0x23ec9cb4},
-  {0x4b38, 0x23ec9cb5},
-  {0x4b39, 0x23ec9cb6},
-  {0x4b3a, 0x23ec9cb7},
-  {0x4b3b, 0x23ec9cb8},
-  {0x4b3c, 0x23ec9cb9},
-  {0x4b3d, 0x23eca0b0},
-  {0x4b3e, 0x23eca0b1},
-  {0x4b3f, 0x23eca0b2},
-  {0x4b40, 0x23eca0b3},
-  {0x4b41, 0x23eca0b4},
-  {0x4b42, 0x23eca0b5},
-  {0x4b43, 0x23eca0b6},
-  {0x4b44, 0x23eca0b7},
-  {0x4b45, 0x23eca0b8},
-  {0x4b46, 0x23eca0b9},
-  {0x4b47, 0x23eca4b0},
-  {0x4b48, 0x23eca4b1},
-  {0x4b49, 0x23eca4b2},
-  {0x4b4a, 0x23eca4b3},
-  {0x4b4b, 0x23eca4b4},
-  {0x4b4c, 0x23eca4b5},
-  {0x4b4d, 0x23eca4b6},
-  {0x4b4e, 0x23eca4b7},
-  {0x4b4f, 0x23eca4b8},
-  {0x4b50, 0x23eca4b9},
-  {0x4b51, 0x23eca8b0},
-  {0x4b52, 0x23eca8b1},
-  {0x4b53, 0x23eca8b2},
-  {0x4b54, 0x23eca8b3},
-  {0x4b55, 0x23eca8b4},
-  {0x4b56, 0x23eca8b5},
-  {0x4b57, 0x23eca8b6},
-  {0x4b58, 0x23eca8b7},
-  {0x4b59, 0x23eca8b8},
-  {0x4b5a, 0x23eca8b9},
-  {0x4b5b, 0x23ecacb0},
-  {0x4b5c, 0x23ecacb1},
-  {0x4b5d, 0x23ecacb2},
-  {0x4b5e, 0x23ecacb3},
-  {0x4b5f, 0x23ecacb4},
-  {0x4b60, 0x23ecacb5},
-  {0x4b61, 0x23ecacb6},
-  {0x4b62, 0x23ecacb7},
-  {0x4b63, 0x23ecacb8},
-  {0x4b64, 0x23ecacb9},
-  {0x4b65, 0x23ecb0b0},
-  {0x4b66, 0x23ecb0b1},
-  {0x4b67, 0x23ecb0b2},
-  {0x4b68, 0x23ecb0b3},
-  {0x4b69, 0x23ecb0b4},
-  {0x4b6a, 0x23ecb0b5},
-  {0x4b6b, 0x23ecb0b6},
-  {0x4b6c, 0x23ecb0b7},
-  {0x4b6d, 0x23ecb0b8},
-  {0x4b6e, 0x23ecb0b9},
-  {0x4b6f, 0x23ecb4b0},
-  {0x4b70, 0x23ecb4b1},
-  {0x4b71, 0x23ecb4b2},
-  {0x4b72, 0x23ecb4b3},
-  {0x4b73, 0x23ecb4b4},
-  {0x4b74, 0x23ecb4b5},
-  {0x4b75, 0x23ecb4b6},
-  {0x4b76, 0x23ecb4b7},
-  {0x4b77, 0x23ecb4b8},
-  {0x4b78, 0x23ecb4b9},
-  {0x4b79, 0x23ecb8b0},
-  {0x4b7a, 0x23ecb8b1},
-  {0x4b7b, 0x23ecb8b2},
-  {0x4b7c, 0x23ecb8b3},
-  {0x4b7d, 0x23ecb8b4},
-  {0x4b7e, 0x23ecb8b5},
-  {0x4b7f, 0x23ecb8b6},
-  {0x4b80, 0x23ecb8b7},
-  {0x4b81, 0x23ecb8b8},
-  {0x4b82, 0x23ecb8b9},
-  {0x4b83, 0x23ecbcb0},
-  {0x4b84, 0x23ecbcb1},
-  {0x4b85, 0x23ecbcb2},
-  {0x4b86, 0x23ecbcb3},
-  {0x4b87, 0x23ecbcb4},
-  {0x4b88, 0x23ecbcb5},
-  {0x4b89, 0x23ecbcb6},
-  {0x4b8a, 0x23ecbcb7},
-  {0x4b8b, 0x23ecbcb8},
-  {0x4b8c, 0x23ecbcb9},
-  {0x4b8d, 0x23ed80b0},
-  {0x4b8e, 0x23ed80b1},
-  {0x4b8f, 0x23ed80b2},
-  {0x4b90, 0x23ed80b3},
-  {0x4b91, 0x23ed80b4},
-  {0x4b92, 0x23ed80b5},
-  {0x4b93, 0x23ed80b6},
-  {0x4b94, 0x23ed80b7},
-  {0x4b95, 0x23ed80b8},
-  {0x4b96, 0x23ed80b9},
-  {0x4b97, 0x23ed84b0},
-  {0x4b98, 0x23ed84b1},
-  {0x4b99, 0x23ed84b2},
-  {0x4b9a, 0x23ed84b3},
-  {0x4b9b, 0x23ed84b4},
-  {0x4b9c, 0x23ed84b5},
-  {0x4b9d, 0x23ed84b6},
-  {0x4b9e, 0x23ed84b7},
-  {0x4b9f, 0x23ed84b8},
-  {0x4ba0, 0x23ed84b9},
-  {0x4ba1, 0x23ed88b0},
-  {0x4ba2, 0x23ed88b1},
-  {0x4ba3, 0x23ed88b2},
-  {0x4ba4, 0x23ed88b3},
-  {0x4ba5, 0x23ed88b4},
-  {0x4ba6, 0x23ed88b5},
-  {0x4ba7, 0x23ed88b6},
-  {0x4ba8, 0x23ed88b7},
-  {0x4ba9, 0x23ed88b8},
-  {0x4baa, 0x23ed88b9},
-  {0x4bab, 0x23ed8cb0},
-  {0x4bac, 0x23ed8cb1},
-  {0x4bad, 0x23ed8cb2},
-  {0x4bae, 0x23ed8cb3},
-  {0x4baf, 0x23ed8cb4},
-  {0x4bb0, 0x23ed8cb5},
-  {0x4bb1, 0x23ed8cb6},
-  {0x4bb2, 0x23ed8cb7},
-  {0x4bb3, 0x23ed8cb8},
-  {0x4bb4, 0x23ed8cb9},
-  {0x4bb5, 0x23ed90b0},
-  {0x4bb6, 0x23ed90b1},
-  {0x4bb7, 0x23ed90b2},
-  {0x4bb8, 0x23ed90b3},
-  {0x4bb9, 0x23ed90b4},
-  {0x4bba, 0x23ed90b5},
-  {0x4bbb, 0x23ed90b6},
-  {0x4bbc, 0x23ed90b7},
-  {0x4bbd, 0x23ed90b8},
-  {0x4bbe, 0x23ed90b9},
-  {0x4bbf, 0x23ed94b0},
-  {0x4bc0, 0x23ed94b1},
-  {0x4bc1, 0x23ed94b2},
-  {0x4bc2, 0x23ed94b3},
-  {0x4bc3, 0x23ed94b4},
-  {0x4bc4, 0x23ed94b5},
-  {0x4bc5, 0x23ed94b6},
-  {0x4bc6, 0x23ed94b7},
-  {0x4bc7, 0x23ed94b8},
-  {0x4bc8, 0x23ed94b9},
-  {0x4bc9, 0x23ed98b0},
-  {0x4bca, 0x23ed98b1},
-  {0x4bcb, 0x23ed98b2},
-  {0x4bcc, 0x23ed98b3},
-  {0x4bcd, 0x23ed98b4},
-  {0x4bce, 0x23ed98b5},
-  {0x4bcf, 0x23ed98b6},
-  {0x4bd0, 0x23ed98b7},
-  {0x4bd1, 0x23ed98b8},
-  {0x4bd2, 0x23ed98b9},
-  {0x4bd3, 0x23ed9cb0},
-  {0x4bd4, 0x23ed9cb1},
-  {0x4bd5, 0x23ed9cb2},
-  {0x4bd6, 0x23ed9cb3},
-  {0x4bd7, 0x23ed9cb4},
-  {0x4bd8, 0x23ed9cb5},
-  {0x4bd9, 0x23ed9cb6},
-  {0x4bda, 0x23ed9cb7},
-  {0x4bdb, 0x23ed9cb8},
-  {0x4bdc, 0x23ed9cb9},
-  {0x4bdd, 0x23eda0b0},
-  {0x4bde, 0x23eda0b1},
-  {0x4bdf, 0x23eda0b2},
-  {0x4be0, 0x23eda0b3},
-  {0x4be1, 0x23eda0b4},
-  {0x4be2, 0x23eda0b5},
-  {0x4be3, 0x23eda0b6},
-  {0x4be4, 0x23eda0b7},
-  {0x4be5, 0x23eda0b8},
-  {0x4be6, 0x23eda0b9},
-  {0x4be7, 0x23eda4b0},
-  {0x4be8, 0x23eda4b1},
-  {0x4be9, 0x23eda4b2},
-  {0x4bea, 0x23eda4b3},
-  {0x4beb, 0x23eda4b4},
-  {0x4bec, 0x23eda4b5},
-  {0x4bed, 0x23eda4b6},
-  {0x4bee, 0x23eda4b7},
-  {0x4bef, 0x23eda4b8},
-  {0x4bf0, 0x23eda4b9},
-  {0x4bf1, 0x23eda8b0},
-  {0x4bf2, 0x23eda8b1},
-  {0x4bf3, 0x23eda8b2},
-  {0x4bf4, 0x23eda8b3},
-  {0x4bf5, 0x23eda8b4},
-  {0x4bf6, 0x23eda8b5},
-  {0x4bf7, 0x23eda8b6},
-  {0x4bf8, 0x23eda8b7},
-  {0x4bf9, 0x23eda8b8},
-  {0x4bfa, 0x23eda8b9},
-  {0x4bfb, 0x23edacb0},
-  {0x4bfc, 0x23edacb1},
-  {0x4bfd, 0x23edacb2},
-  {0x4bfe, 0x23edacb3},
-  {0x4bff, 0x23edacb4},
-  {0x4c00, 0x23edacb5},
-  {0x4c01, 0x23edacb6},
-  {0x4c02, 0x23edacb7},
-  {0x4c03, 0x23edacb8},
-  {0x4c04, 0x23edacb9},
-  {0x4c05, 0x23edb0b0},
-  {0x4c06, 0x23edb0b1},
-  {0x4c07, 0x23edb0b2},
-  {0x4c08, 0x23edb0b3},
-  {0x4c09, 0x23edb0b4},
-  {0x4c0a, 0x23edb0b5},
-  {0x4c0b, 0x23edb0b6},
-  {0x4c0c, 0x23edb0b7},
-  {0x4c0d, 0x23edb0b8},
-  {0x4c0e, 0x23edb0b9},
-  {0x4c0f, 0x23edb4b0},
-  {0x4c10, 0x23edb4b1},
-  {0x4c11, 0x23edb4b2},
-  {0x4c12, 0x23edb4b3},
-  {0x4c13, 0x23edb4b4},
-  {0x4c14, 0x23edb4b5},
-  {0x4c15, 0x23edb4b6},
-  {0x4c16, 0x23edb4b7},
-  {0x4c17, 0x23edb4b8},
-  {0x4c18, 0x23edb4b9},
-  {0x4c19, 0x23edb8b0},
-  {0x4c1a, 0x23edb8b1},
-  {0x4c1b, 0x23edb8b2},
-  {0x4c1c, 0x23edb8b3},
-  {0x4c1d, 0x23edb8b4},
-  {0x4c1e, 0x23edb8b5},
-  {0x4c1f, 0x23edb8b6},
-  {0x4c20, 0x23edb8b7},
-  {0x4c21, 0x23edb8b8},
-  {0x4c22, 0x23edb8b9},
-  {0x4c23, 0x23edbcb0},
-  {0x4c24, 0x23edbcb1},
-  {0x4c25, 0x23edbcb2},
-  {0x4c26, 0x23edbcb3},
-  {0x4c27, 0x23edbcb4},
-  {0x4c28, 0x23edbcb5},
-  {0x4c29, 0x23edbcb6},
-  {0x4c2a, 0x23edbcb7},
-  {0x4c2b, 0x23edbcb8},
-  {0x4c2c, 0x23edbcb9},
-  {0x4c2d, 0x23ee80b0},
-  {0x4c2e, 0x23ee80b1},
-  {0x4c2f, 0x23ee80b2},
-  {0x4c30, 0x23ee80b3},
-  {0x4c31, 0x23ee80b4},
-  {0x4c32, 0x23ee80b5},
-  {0x4c33, 0x23ee80b6},
-  {0x4c34, 0x23ee80b7},
-  {0x4c35, 0x23ee80b8},
-  {0x4c36, 0x23ee80b9},
-  {0x4c37, 0x23ee84b0},
-  {0x4c38, 0x23ee84b1},
-  {0x4c39, 0x23ee84b2},
-  {0x4c3a, 0x23ee84b3},
-  {0x4c3b, 0x23ee84b4},
-  {0x4c3c, 0x23ee84b5},
-  {0x4c3d, 0x23ee84b6},
-  {0x4c3e, 0x23ee84b7},
-  {0x4c3f, 0x23ee84b8},
-  {0x4c40, 0x23ee84b9},
-  {0x4c41, 0x23ee88b0},
-  {0x4c42, 0x23ee88b1},
-  {0x4c43, 0x23ee88b2},
-  {0x4c44, 0x23ee88b3},
-  {0x4c45, 0x23ee88b4},
-  {0x4c46, 0x23ee88b5},
-  {0x4c47, 0x23ee88b6},
-  {0x4c48, 0x23ee88b7},
-  {0x4c49, 0x23ee88b8},
-  {0x4c4a, 0x23ee88b9},
-  {0x4c4b, 0x23ee8cb0},
-  {0x4c4c, 0x23ee8cb1},
-  {0x4c4d, 0x23ee8cb2},
-  {0x4c4e, 0x23ee8cb3},
-  {0x4c4f, 0x23ee8cb4},
-  {0x4c50, 0x23ee8cb5},
-  {0x4c51, 0x23ee8cb6},
-  {0x4c52, 0x23ee8cb7},
-  {0x4c53, 0x23ee8cb8},
-  {0x4c54, 0x23ee8cb9},
-  {0x4c55, 0x23ee90b0},
-  {0x4c56, 0x23ee90b1},
-  {0x4c57, 0x23ee90b2},
-  {0x4c58, 0x23ee90b3},
-  {0x4c59, 0x23ee90b4},
-  {0x4c5a, 0x23ee90b5},
-  {0x4c5b, 0x23ee90b6},
-  {0x4c5c, 0x23ee90b7},
-  {0x4c5d, 0x23ee90b8},
-  {0x4c5e, 0x23ee90b9},
-  {0x4c5f, 0x23ee94b0},
-  {0x4c60, 0x23ee94b1},
-  {0x4c61, 0x23ee94b2},
-  {0x4c62, 0x23ee94b3},
-  {0x4c63, 0x23ee94b4},
-  {0x4c64, 0x23ee94b5},
-  {0x4c65, 0x23ee94b6},
-  {0x4c66, 0x23ee94b7},
-  {0x4c67, 0x23ee94b8},
-  {0x4c68, 0x23ee94b9},
-  {0x4c69, 0x23ee98b0},
-  {0x4c6a, 0x23ee98b1},
-  {0x4c6b, 0x23ee98b2},
-  {0x4c6c, 0x23ee98b3},
-  {0x4c6d, 0x23ee98b4},
-  {0x4c6e, 0x23ee98b5},
-  {0x4c6f, 0x23ee98b6},
-  {0x4c70, 0x23ee98b7},
-  {0x4c71, 0x23ee98b8},
-  {0x4c72, 0x23ee98b9},
-  {0x4c73, 0x23ee9cb0},
-  {0x4c74, 0x23ee9cb1},
-  {0x4c75, 0x23ee9cb2},
-  {0x4c76, 0x23ee9cb3},
-  {0x4c77, 0xefba96},
-  {0x4c78, 0x23ee9cb4},
-  {0x4c79, 0x23ee9cb5},
-  {0x4c7a, 0x23ee9cb6},
-  {0x4c7b, 0x23ee9cb7},
-  {0x4c7c, 0x23ee9cb8},
-  {0x4c7d, 0x23ee9cb9},
-  {0x4c7e, 0x23eea0b0},
-  {0x4c7f, 0x23eea0b1},
-  {0x4c80, 0x23eea0b2},
-  {0x4c81, 0x23eea0b3},
-  {0x4c82, 0x23eea0b4},
-  {0x4c83, 0x23eea0b5},
-  {0x4c84, 0x23eea0b6},
-  {0x4c85, 0x23eea0b7},
-  {0x4c86, 0x23eea0b8},
-  {0x4c87, 0x23eea0b9},
-  {0x4c88, 0x23eea4b0},
-  {0x4c89, 0x23eea4b1},
-  {0x4c8a, 0x23eea4b2},
-  {0x4c8b, 0x23eea4b3},
-  {0x4c8c, 0x23eea4b4},
-  {0x4c8d, 0x23eea4b5},
-  {0x4c8e, 0x23eea4b6},
-  {0x4c8f, 0x23eea4b7},
-  {0x4c90, 0x23eea4b8},
-  {0x4c91, 0x23eea4b9},
-  {0x4c92, 0x23eea8b0},
-  {0x4c93, 0x23eea8b1},
-  {0x4c94, 0x23eea8b2},
-  {0x4c95, 0x23eea8b3},
-  {0x4c96, 0x23eea8b4},
-  {0x4c97, 0x23eea8b5},
-  {0x4c98, 0x23eea8b6},
-  {0x4c99, 0x23eea8b7},
-  {0x4c9a, 0x23eea8b8},
-  {0x4c9b, 0x23eea8b9},
-  {0x4c9c, 0x23eeacb0},
-  {0x4c9d, 0x23eeacb1},
-  {0x4c9e, 0x23eeacb2},
-  {0x4c9f, 0xefba93},
-  {0x4ca0, 0xefba94},
-  {0x4ca1, 0xefba95},
-  {0x4ca2, 0xefba97},
-  {0x4ca3, 0xefba92},
-  {0x4ca4, 0x23eeacb3},
-  {0x4ca5, 0x23eeacb4},
-  {0x4ca6, 0x23eeacb5},
-  {0x4ca7, 0x23eeacb6},
-  {0x4ca8, 0x23eeacb7},
-  {0x4ca9, 0x23eeacb8},
-  {0x4caa, 0x23eeacb9},
-  {0x4cab, 0x23eeb0b0},
-  {0x4cac, 0x23eeb0b1},
-  {0x4cad, 0x23eeb0b2},
-  {0x4cae, 0x23eeb0b3},
-  {0x4caf, 0x23eeb0b4},
-  {0x4cb0, 0x23eeb0b5},
-  {0x4cb1, 0x23eeb0b6},
-  {0x4cb2, 0x23eeb0b7},
-  {0x4cb3, 0x23eeb0b8},
-  {0x4cb4, 0x23eeb0b9},
-  {0x4cb5, 0x23eeb4b0},
-  {0x4cb6, 0x23eeb4b1},
-  {0x4cb7, 0x23eeb4b2},
-  {0x4cb8, 0x23eeb4b3},
-  {0x4cb9, 0x23eeb4b4},
-  {0x4cba, 0x23eeb4b5},
-  {0x4cbb, 0x23eeb4b6},
-  {0x4cbc, 0x23eeb4b7},
-  {0x4cbd, 0x23eeb4b8},
-  {0x4cbe, 0x23eeb4b9},
-  {0x4cbf, 0x23eeb8b0},
-  {0x4cc0, 0x23eeb8b1},
-  {0x4cc1, 0x23eeb8b2},
-  {0x4cc2, 0x23eeb8b3},
-  {0x4cc3, 0x23eeb8b4},
-  {0x4cc4, 0x23eeb8b5},
-  {0x4cc5, 0x23eeb8b6},
-  {0x4cc6, 0x23eeb8b7},
-  {0x4cc7, 0x23eeb8b8},
-  {0x4cc8, 0x23eeb8b9},
-  {0x4cc9, 0x23eebcb0},
-  {0x4cca, 0x23eebcb1},
-  {0x4ccb, 0x23eebcb2},
-  {0x4ccc, 0x23eebcb3},
-  {0x4ccd, 0x23eebcb4},
-  {0x4cce, 0x23eebcb5},
-  {0x4ccf, 0x23eebcb6},
-  {0x4cd0, 0x23eebcb7},
-  {0x4cd1, 0x23eebcb8},
-  {0x4cd2, 0x23eebcb9},
-  {0x4cd3, 0x23ef80b0},
-  {0x4cd4, 0x23ef80b1},
-  {0x4cd5, 0x23ef80b2},
-  {0x4cd6, 0x23ef80b3},
-  {0x4cd7, 0x23ef80b4},
-  {0x4cd8, 0x23ef80b5},
-  {0x4cd9, 0x23ef80b6},
-  {0x4cda, 0x23ef80b7},
-  {0x4cdb, 0x23ef80b8},
-  {0x4cdc, 0x23ef80b9},
-  {0x4cdd, 0x23ef84b0},
-  {0x4cde, 0x23ef84b1},
-  {0x4cdf, 0x23ef84b2},
-  {0x4ce0, 0x23ef84b3},
-  {0x4ce1, 0x23ef84b4},
-  {0x4ce2, 0x23ef84b5},
-  {0x4ce3, 0x23ef84b6},
-  {0x4ce4, 0x23ef84b7},
-  {0x4ce5, 0x23ef84b8},
-  {0x4ce6, 0x23ef84b9},
-  {0x4ce7, 0x23ef88b0},
-  {0x4ce8, 0x23ef88b1},
-  {0x4ce9, 0x23ef88b2},
-  {0x4cea, 0x23ef88b3},
-  {0x4ceb, 0x23ef88b4},
-  {0x4cec, 0x23ef88b5},
-  {0x4ced, 0x23ef88b6},
-  {0x4cee, 0x23ef88b7},
-  {0x4cef, 0x23ef88b8},
-  {0x4cf0, 0x23ef88b9},
-  {0x4cf1, 0x23ef8cb0},
-  {0x4cf2, 0x23ef8cb1},
-  {0x4cf3, 0x23ef8cb2},
-  {0x4cf4, 0x23ef8cb3},
-  {0x4cf5, 0x23ef8cb4},
-  {0x4cf6, 0x23ef8cb5},
-  {0x4cf7, 0x23ef8cb6},
-  {0x4cf8, 0x23ef8cb7},
-  {0x4cf9, 0x23ef8cb8},
-  {0x4cfa, 0x23ef8cb9},
-  {0x4cfb, 0x23ef90b0},
-  {0x4cfc, 0x23ef90b1},
-  {0x4cfd, 0x23ef90b2},
-  {0x4cfe, 0x23ef90b3},
-  {0x4cff, 0x23ef90b4},
-  {0x4d00, 0x23ef90b5},
-  {0x4d01, 0x23ef90b6},
-  {0x4d02, 0x23ef90b7},
-  {0x4d03, 0x23ef90b8},
-  {0x4d04, 0x23ef90b9},
-  {0x4d05, 0x23ef94b0},
-  {0x4d06, 0x23ef94b1},
-  {0x4d07, 0x23ef94b2},
-  {0x4d08, 0x23ef94b3},
-  {0x4d09, 0x23ef94b4},
-  {0x4d0a, 0x23ef94b5},
-  {0x4d0b, 0x23ef94b6},
-  {0x4d0c, 0x23ef94b7},
-  {0x4d0d, 0x23ef94b8},
-  {0x4d0e, 0x23ef94b9},
-  {0x4d0f, 0x23ef98b0},
-  {0x4d10, 0x23ef98b1},
-  {0x4d11, 0x23ef98b2},
-  {0x4d12, 0x23ef98b3},
-  {0x4d13, 0xefba98},
-  {0x4d14, 0xefba99},
-  {0x4d15, 0xefba9a},
-  {0x4d16, 0xefba9b},
-  {0x4d17, 0xefba9c},
-  {0x4d18, 0xefba9d},
-  {0x4d19, 0xefba9e},
-  {0x4d1a, 0x23ef98b4},
-  {0x4d1b, 0x23ef98b5},
-  {0x4d1c, 0x23ef98b6},
-  {0x4d1d, 0x23ef98b7},
-  {0x4d1e, 0x23ef98b8},
-  {0x4d1f, 0x23ef98b9},
-  {0x4d20, 0x23ef9cb0},
-  {0x4d21, 0x23ef9cb1},
-  {0x4d22, 0x23ef9cb2},
-  {0x4d23, 0x23ef9cb3},
-  {0x4d24, 0x23ef9cb4},
-  {0x4d25, 0x23ef9cb5},
-  {0x4d26, 0x23ef9cb6},
-  {0x4d27, 0x23ef9cb7},
-  {0x4d28, 0x23ef9cb8},
-  {0x4d29, 0x23ef9cb9},
-  {0x4d2a, 0x23efa0b0},
-  {0x4d2b, 0x23efa0b1},
-  {0x4d2c, 0x23efa0b2},
-  {0x4d2d, 0x23efa0b3},
-  {0x4d2e, 0x23efa0b4},
-  {0x4d2f, 0x23efa0b5},
-  {0x4d30, 0x23efa0b6},
-  {0x4d31, 0x23efa0b7},
-  {0x4d32, 0x23efa0b8},
-  {0x4d33, 0x23efa0b9},
-  {0x4d34, 0x23efa4b0},
-  {0x4d35, 0x23efa4b1},
-  {0x4d36, 0x23efa4b2},
-  {0x4d37, 0x23efa4b3},
-  {0x4d38, 0x23efa4b4},
-  {0x4d39, 0x23efa4b5},
-  {0x4d3a, 0x23efa4b6},
-  {0x4d3b, 0x23efa4b7},
-  {0x4d3c, 0x23efa4b8},
-  {0x4d3d, 0x23efa4b9},
-  {0x4d3e, 0x23efa8b0},
-  {0x4d3f, 0x23efa8b1},
-  {0x4d40, 0x23efa8b2},
-  {0x4d41, 0x23efa8b3},
-  {0x4d42, 0x23efa8b4},
-  {0x4d43, 0x23efa8b5},
-  {0x4d44, 0x23efa8b6},
-  {0x4d45, 0x23efa8b7},
-  {0x4d46, 0x23efa8b8},
-  {0x4d47, 0x23efa8b9},
-  {0x4d48, 0x23efacb0},
-  {0x4d49, 0x23efacb1},
-  {0x4d4a, 0x23efacb2},
-  {0x4d4b, 0x23efacb3},
-  {0x4d4c, 0x23efacb4},
-  {0x4d4d, 0x23efacb5},
-  {0x4d4e, 0x23efacb6},
-  {0x4d4f, 0x23efacb7},
-  {0x4d50, 0x23efacb8},
-  {0x4d51, 0x23efacb9},
-  {0x4d52, 0x23efb0b0},
-  {0x4d53, 0x23efb0b1},
-  {0x4d54, 0x23efb0b2},
-  {0x4d55, 0x23efb0b3},
-  {0x4d56, 0x23efb0b4},
-  {0x4d57, 0x23efb0b5},
-  {0x4d58, 0x23efb0b6},
-  {0x4d59, 0x23efb0b7},
-  {0x4d5a, 0x23efb0b8},
-  {0x4d5b, 0x23efb0b9},
-  {0x4d5c, 0x23efb4b0},
-  {0x4d5d, 0x23efb4b1},
-  {0x4d5e, 0x23efb4b2},
-  {0x4d5f, 0x23efb4b3},
-  {0x4d60, 0x23efb4b4},
-  {0x4d61, 0x23efb4b5},
-  {0x4d62, 0x23efb4b6},
-  {0x4d63, 0x23efb4b7},
-  {0x4d64, 0x23efb4b8},
-  {0x4d65, 0x23efb4b9},
-  {0x4d66, 0x23efb8b0},
-  {0x4d67, 0x23efb8b1},
-  {0x4d68, 0x23efb8b2},
-  {0x4d69, 0x23efb8b3},
-  {0x4d6a, 0x23efb8b4},
-  {0x4d6b, 0x23efb8b5},
-  {0x4d6c, 0x23efb8b6},
-  {0x4d6d, 0x23efb8b7},
-  {0x4d6e, 0x23efb8b8},
-  {0x4d6f, 0x23efb8b9},
-  {0x4d70, 0x23f884b0},
-  {0x4d71, 0x23f884b1},
-  {0x4d72, 0x23f884b2},
-  {0x4d73, 0x23f884b3},
-  {0x4d74, 0x23f884b4},
-  {0x4d75, 0x23f884b5},
-  {0x4d76, 0x23f884b6},
-  {0x4d77, 0x23f884b7},
-  {0x4d78, 0x23f884b8},
-  {0x4d79, 0x23f884b9},
-  {0x4d7a, 0x23f888b0},
-  {0x4d7b, 0x23f888b1},
-  {0x4d7c, 0x23f888b2},
-  {0x4d7d, 0x23f888b3},
-  {0x4d7e, 0x23f888b4},
-  {0x4d7f, 0x23f888b5},
-  {0x4d80, 0x23f888b6},
-  {0x4d81, 0x23f888b7},
-  {0x4d82, 0x23f888b8},
-  {0x4d83, 0x23f888b9},
-  {0x4d84, 0x23f88cb0},
-  {0x4d85, 0x23f88cb1},
-  {0x4d86, 0x23f88cb2},
-  {0x4d87, 0x23f88cb3},
-  {0x4d88, 0x23f88cb4},
-  {0x4d89, 0x23f88cb5},
-  {0x4d8a, 0x23f88cb6},
-  {0x4d8b, 0x23f88cb7},
-  {0x4d8c, 0x23f88cb8},
-  {0x4d8d, 0x23f88cb9},
-  {0x4d8e, 0x23f890b0},
-  {0x4d8f, 0x23f890b1},
-  {0x4d90, 0x23f890b2},
-  {0x4d91, 0x23f890b3},
-  {0x4d92, 0x23f890b4},
-  {0x4d93, 0x23f890b5},
-  {0x4d94, 0x23f890b6},
-  {0x4d95, 0x23f890b7},
-  {0x4d96, 0x23f890b8},
-  {0x4d97, 0x23f890b9},
-  {0x4d98, 0x23f894b0},
-  {0x4d99, 0x23f894b1},
-  {0x4d9a, 0x23f894b2},
-  {0x4d9b, 0x23f894b3},
-  {0x4d9c, 0x23f894b4},
-  {0x4d9d, 0x23f894b5},
-  {0x4d9e, 0x23f894b6},
-  {0x4d9f, 0x23f894b7},
-  {0x4da0, 0x23f894b8},
-  {0x4da1, 0x23f894b9},
-  {0x4da2, 0x23f898b0},
-  {0x4da3, 0x23f898b1},
-  {0x4da4, 0x23f898b2},
-  {0x4da5, 0x23f898b3},
-  {0x4da6, 0x23f898b4},
-  {0x4da7, 0x23f898b5},
-  {0x4da8, 0x23f898b6},
-  {0x4da9, 0x23f898b7},
-  {0x4daa, 0x23f898b8},
-  {0x4dab, 0x23f898b9},
-  {0x4dac, 0x23f89cb0},
-  {0x4dad, 0x23f89cb1},
-  {0x4dae, 0xefba9f},
-  {0x4daf, 0x23f89cb2},
-  {0x4db0, 0x23f89cb3},
-  {0x4db1, 0x23f89cb4},
-  {0x4db2, 0x23f89cb5},
-  {0x4db3, 0x23f89cb6},
-  {0x4db4, 0x23f89cb7},
-  {0x4db5, 0x23f89cb8},
-  {0x4db6, 0x23f89cb9},
-  {0x4db7, 0x23f8a0b0},
-  {0x4db8, 0x23f8a0b1},
-  {0x4db9, 0x23f8a0b2},
-  {0x4dba, 0x23f8a0b3},
-  {0x4dbb, 0x23f8a0b4},
-  {0x4dbc, 0x23f8a0b5},
-  {0x4dbd, 0x23f8a0b6},
-  {0x4dbe, 0x23f8a0b7},
-  {0x4dbf, 0x23f8a0b8},
-  {0x4dc0, 0x23f8a0b9},
-  {0x4dc1, 0x23f8a4b0},
-  {0x4dc2, 0x23f8a4b1},
-  {0x4dc3, 0x23f8a4b2},
-  {0x4dc4, 0x23f8a4b3},
-  {0x4dc5, 0x23f8a4b4},
-  {0x4dc6, 0x23f8a4b5},
-  {0x4dc7, 0x23f8a4b6},
-  {0x4dc8, 0x23f8a4b7},
-  {0x4dc9, 0x23f8a4b8},
-  {0x4dca, 0x23f8a4b9},
-  {0x4dcb, 0x23f8a8b0},
-  {0x4dcc, 0x23f8a8b1},
-  {0x4dcd, 0x23f8a8b2},
-  {0x4dce, 0x23f8a8b3},
-  {0x4dcf, 0x23f8a8b4},
-  {0x4dd0, 0x23f8a8b5},
-  {0x4dd1, 0x23f8a8b6},
-  {0x4dd2, 0x23f8a8b7},
-  {0x4dd3, 0x23f8a8b8},
-  {0x4dd4, 0x23f8a8b9},
-  {0x4dd5, 0x23f8acb0},
-  {0x4dd6, 0x23f8acb1},
-  {0x4dd7, 0x23f8acb2},
-  {0x4dd8, 0x23f8acb3},
-  {0x4dd9, 0x23f8acb4},
-  {0x4dda, 0x23f8acb5},
-  {0x4ddb, 0x23f8acb6},
-  {0x4ddc, 0x23f8acb7},
-  {0x4ddd, 0x23f8acb8},
-  {0x4dde, 0x23f8acb9},
-  {0x4ddf, 0x23f8b0b0},
-  {0x4de0, 0x23f8b0b1},
-  {0x4de1, 0x23f8b0b2},
-  {0x4de2, 0x23f8b0b3},
-  {0x4de3, 0x23f8b0b4},
-  {0x4de4, 0x23f8b0b5},
-  {0x4de5, 0x23f8b0b6},
-  {0x4de6, 0x23f8b0b7},
-  {0x4de7, 0x23f8b0b8},
-  {0x4de8, 0x23f8b0b9},
-  {0x4de9, 0x23f8b4b0},
-  {0x4dea, 0x23f8b4b1},
-  {0x4deb, 0x23f8b4b2},
-  {0x4dec, 0x23f8b4b3},
-  {0x4ded, 0x23f8b4b4},
-  {0x4dee, 0x23f8b4b5},
-  {0x4def, 0x23f8b4b6},
-  {0x4df0, 0x23f8b4b7},
-  {0x4df1, 0x23f8b4b8},
-  {0x4df2, 0x23f8b4b9},
-  {0x4df3, 0x23f8b8b0},
-  {0x4df4, 0x23f8b8b1},
-  {0x4df5, 0x23f8b8b2},
-  {0x4df6, 0x23f8b8b3},
-  {0x4df7, 0x23f8b8b4},
-  {0x4df8, 0x23f8b8b5},
-  {0x4df9, 0x23f8b8b6},
-  {0x4dfa, 0x23f8b8b7},
-  {0x4dfb, 0x23f8b8b8},
-  {0x4dfc, 0x23f8b8b9},
-  {0x4dfd, 0x23f8bcb0},
-  {0x4dfe, 0x23f8bcb1},
-  {0x4dff, 0x23f8bcb2},
-  {0x4e00, 0xed8abb},
-  {0x4e01, 0xeb9aa1},
-  {0x4e02, 0xe88580},
-  {0x4e03, 0xec9b9f},
-  {0x4e04, 0xe88581},
-  {0x4e05, 0xe88582},
-  {0x4e06, 0xe88583},
-  {0x4e07, 0xecb7b2},
-  {0x4e08, 0xed9789},
-  {0x4e09, 0xeca3bd},
-  {0x4e0a, 0xeca78f},
-  {0x4e0b, 0xecbf82},
-  {0x4e0c, 0xeda2a2},
-  {0x4e0d, 0xeb8abb},
-  {0x4e0e, 0xed8fab},
-  {0x4e0f, 0xe88584},
-  {0x4e10, 0xeda2a4},
-  {0x4e11, 0xeb8fb3},
-  {0x4e12, 0xe88585},
-  {0x4e13, 0xed9ea8},
-  {0x4e14, 0xec9f92},
-  {0x4e15, 0xeda2a7},
-  {0x4e16, 0xecab80},
-  {0x4e17, 0xe88586},
-  {0x4e18, 0xec9fb0},
-  {0x4e19, 0xeb87bb},
-  {0x4e1a, 0xed8ab5},
-  {0x4e1b, 0xeb9394},
-  {0x4e1c, 0xeb9aab},
-  {0x4e1d, 0xecaebf},
-  {0x4e1e, 0xeda2a9},
-  {0x4e1f, 0xe88587},
-  {0x4e20, 0xe88588},
-  {0x4e21, 0xe88589},
-  {0x4e22, 0xeb9aaa},
-  {0x4e23, 0xe8858a},
-  {0x4e24, 0xec86bd},
-  {0x4e25, 0xed878f},
-  {0x4e26, 0xe8858b},
-  {0x4e27, 0xeca6a5},
-  {0x4e28, 0xeda2ad},
-  {0x4e29, 0xe8858c},
-  {0x4e2a, 0xeba3b6},
-  {0x4e2b, 0xed86be},
-  {0x4e2c, 0xee8f9c},
-  {0x4e2d, 0xed9b90},
-  {0x4e2e, 0xe8858d},
-  {0x4e2f, 0xe8858e},
-  {0x4e30, 0xeb9fa1},
-  {0x4e31, 0xe8858f},
-  {0x4e32, 0xeb92ae},
-  {0x4e33, 0xe88590},
-  {0x4e34, 0xec8799},
-  {0x4e35, 0xe88591},
-  {0x4e36, 0xeda2bc},
-  {0x4e37, 0xe88592},
-  {0x4e38, 0xecb7a8},
-  {0x4e39, 0xeb96a4},
-  {0x4e3a, 0xecbaaa},
-  {0x4e3b, 0xed9bb7},
-  {0x4e3c, 0xe88593},
-  {0x4e3d, 0xec83b6},
-  {0x4e3e, 0xebbb99},
-  {0x4e3f, 0xeda2af},
-  {0x4e40, 0xe88594},
-  {0x4e41, 0xe88595},
-  {0x4e42, 0xe88596},
-  {0x4e43, 0xec938b},
-  {0x4e44, 0xe88597},
-  {0x4e45, 0xebbb83},
-  {0x4e46, 0xe88598},
-  {0x4e47, 0xeda2b1},
-  {0x4e48, 0xec8eb4},
-  {0x4e49, 0xed8ba5},
-  {0x4e4a, 0xe88599},
-  {0x4e4b, 0xed9aae},
-  {0x4e4c, 0xecbb9a},
-  {0x4e4d, 0xed96a7},
-  {0x4e4e, 0xebabb5},
-  {0x4e4f, 0xeb9ea6},
-  {0x4e50, 0xec8396},
-  {0x4e51, 0xe8859a},
-  {0x4e52, 0xec9ab9},
-  {0x4e53, 0xec9792},
-  {0x4e54, 0xec9f87},
-  {0x4e55, 0xe8859b},
-  {0x4e56, 0xeba794},
-  {0x4e57, 0xe8859c},
-  {0x4e58, 0xeb8f8b},
-  {0x4e59, 0xed8b92},
-  {0x4e5a, 0xe8859d},
-  {0x4e5b, 0xe8859e},
-  {0x4e5c, 0xeda2bf},
-  {0x4e5d, 0xebbb85},
-  {0x4e5e, 0xec9bb2},
-  {0x4e5f, 0xed8ab2},
-  {0x4e60, 0xecbeb0},
-  {0x4e61, 0xecbfa7},
-  {0x4e62, 0xe8859f},
-  {0x4e63, 0xe885a0},
-  {0x4e64, 0xe885a1},
-  {0x4e65, 0xe885a2},
-  {0x4e66, 0xecaba9},
-  {0x4e67, 0xe885a3},
-  {0x4e68, 0xe885a4},
-  {0x4e69, 0xeda380},
-  {0x4e6a, 0xe885a5},
-  {0x4e6b, 0xe885a6},
-  {0x4e6c, 0xe885a7},
-  {0x4e6d, 0xe885a8},
-  {0x4e6e, 0xe885a9},
-  {0x4e6f, 0xe885aa},
-  {0x4e70, 0xec8bb2},
-  {0x4e71, 0xec8b92},
-  {0x4e72, 0xe885ab},
-  {0x4e73, 0xeca3a9},
-  {0x4e74, 0xe885ac},
-  {0x4e75, 0xe885ad},
-  {0x4e76, 0xe885ae},
-  {0x4e77, 0xe885af},
-  {0x4e78, 0xe885b0},
-  {0x4e79, 0xe885b1},
-  {0x4e7a, 0xe885b2},
-  {0x4e7b, 0xe885b3},
-  {0x4e7c, 0xe885b4},
-  {0x4e7d, 0xe885b5},
-  {0x4e7e, 0xec9eac},
-  {0x4e7f, 0xe885b6},
-  {0x4e80, 0xe885b7},
-  {0x4e81, 0xe885b8},
-  {0x4e82, 0xe885b9},
-  {0x4e83, 0xe885ba},
-  {0x4e84, 0xe885bb},
-  {0x4e85, 0xe885bc},
-  {0x4e86, 0xec878b},
-  {0x4e87, 0xe885bd},
-  {0x4e88, 0xed8fa8},
-  {0x4e89, 0xed97b9},
-  {0x4e8a, 0xe885be},
-  {0x4e8b, 0xecab82},
-  {0x4e8c, 0xeb9bbe},
-  {0x4e8d, 0xeda2a1},
-  {0x4e8e, 0xed8f9a},
-  {0x4e8f, 0xebbfb7},
-  {0x4e90, 0xe88680},
-  {0x4e91, 0xed9386},
-  {0x4e92, 0xebaea5},
-  {0x4e93, 0xeda381},
-  {0x4e94, 0xecbba5},
-  {0x4e95, 0xebbaae},
-  {0x4e96, 0xe88681},
-  {0x4e97, 0xe88682},
-  {0x4e98, 0xeda2a8},
-  {0x4e99, 0xe88683},
-  {0x4e9a, 0xed8787},
-  {0x4e9b, 0xed82a9},
-  {0x4e9c, 0xe88684},
-  {0x4e9d, 0xe88685},
-  {0x4e9e, 0xe88686},
-  {0x4e9f, 0xeda2bd},
-  {0x4ea0, 0xeda7af},
-  {0x4ea1, 0xecb7b6},
-  {0x4ea2, 0xebbeba},
-  {0x4ea3, 0xe88687},
-  {0x4ea4, 0xebb6bb},
-  {0x4ea5, 0xebaaa5},
-  {0x4ea6, 0xed8ba0},
-  {0x4ea7, 0xeb8bba},
-  {0x4ea8, 0xebaba0},
-  {0x4ea9, 0xec92b6},
-  {0x4eaa, 0xe88688},
-  {0x4eab, 0xecbfad},
-  {0x4eac, 0xebbaa9},
-  {0x4ead, 0xecb6a4},
-  {0x4eae, 0xec8781},
-  {0x4eaf, 0xe88689},
-  {0x4eb0, 0xe8868a},
-  {0x4eb1, 0xe8868b},
-  {0x4eb2, 0xec9f97},
-  {0x4eb3, 0xeda7b1},
-  {0x4eb4, 0xe8868c},
-  {0x4eb5, 0xeda7b4},
-  {0x4eb6, 0xe8868d},
-  {0x4eb7, 0xe8868e},
-  {0x4eb8, 0xe8868f},
-  {0x4eb9, 0xe88690},
-  {0x4eba, 0xeca38b},
-  {0x4ebb, 0xeda3a9},
-  {0x4ebc, 0xe88691},
-  {0x4ebd, 0xe88692},
-  {0x4ebe, 0xe88693},
-  {0x4ebf, 0xed8b9a},
-  {0x4ec0, 0xecaab2},
-  {0x4ec1, 0xeca38a},
-  {0x4ec2, 0xeda3ac},
-  {0x4ec3, 0xeda3aa},
-  {0x4ec4, 0xeda386},
-  {0x4ec5, 0xebb7b6},
-  {0x4ec6, 0xec9b8d},
-  {0x4ec7, 0xeb8fb0},
-  {0x4ec8, 0xe88694},
-  {0x4ec9, 0xeda3ab},
-  {0x4eca, 0xebb7b1},
-  {0x4ecb, 0xebb7a9},
-  {0x4ecc, 0xe88695},
-  {0x4ecd, 0xeca394},
-  {0x4ece, 0xeb9393},
-  {0x4ecf, 0xe88696},
-  {0x4ed0, 0xe88697},
-  {0x4ed1, 0xec8b98},
-  {0x4ed2, 0xe88698},
-  {0x4ed3, 0xeb8b96},
-  {0x4ed4, 0xed9f90},
-  {0x4ed5, 0xecab8b},
-  {0x4ed6, 0xecafbb},
-  {0x4ed7, 0xed978c},
-  {0x4ed8, 0xeba2b6},
-  {0x4ed9, 0xecbf89},
-  {0x4eda, 0xe88699},
-  {0x4edb, 0xe8869a},
-  {0x4edc, 0xe8869b},
-  {0x4edd, 0xeda79a},
-  {0x4ede, 0xeda3b0},
-  {0x4edf, 0xec9eaa},
-  {0x4ee0, 0xe8869c},
-  {0x4ee1, 0xeda3ae},
-  {0x4ee2, 0xe8869d},
-  {0x4ee3, 0xeb93ba},
-  {0x4ee4, 0xec87ae},
-  {0x4ee5, 0xed8b94},
-  {0x4ee6, 0xe8869e},
-  {0x4ee7, 0xe8869f},
-  {0x4ee8, 0xeda3ad},
-  {0x4ee9, 0xe886a0},
-  {0x4eea, 0xed8b87},
-  {0x4eeb, 0xeda3af},
-  {0x4eec, 0xec8f87},
-  {0x4eed, 0xe886a1},
-  {0x4eee, 0xe886a2},
-  {0x4eef, 0xe886a3},
-  {0x4ef0, 0xed87b6},
-  {0x4ef1, 0xe886a4},
-  {0x4ef2, 0xed9b99},
-  {0x4ef3, 0xeda3b2},
-  {0x4ef4, 0xe886a5},
-  {0x4ef5, 0xeda3b5},
-  {0x4ef6, 0xebb3be},
-  {0x4ef7, 0xebb39b},
-  {0x4ef8, 0xe886a6},
-  {0x4ef9, 0xe886a7},
-  {0x4efa, 0xe886a8},
-  {0x4efb, 0xeca38e},
-  {0x4efc, 0xe886a9},
-  {0x4efd, 0xeb9f9d},
-  {0x4efe, 0xe886aa},
-  {0x4eff, 0xeb9f82},
-  {0x4f00, 0xe886ab},
-  {0x4f01, 0xec9bb3},
-  {0x4f02, 0xe886ac},
-  {0x4f03, 0xe886ad},
-  {0x4f04, 0xe886ae},
-  {0x4f05, 0xe886af},
-  {0x4f06, 0xe886b0},
-  {0x4f07, 0xe886b1},
-  {0x4f08, 0xe886b2},
-  {0x4f09, 0xeda3b8},
-  {0x4f0a, 0xed8b81},
-  {0x4f0b, 0xe886b3},
-  {0x4f0c, 0xe886b4},
-  {0x4f0d, 0xecbba9},
-  {0x4f0e, 0xebb2bf},
-  {0x4f0f, 0xeb9fbc},
-  {0x4f10, 0xeb9ea5},
-  {0x4f11, 0xed839d},
-  {0x4f12, 0xe886b5},
-  {0x4f13, 0xe886b6},
-  {0x4f14, 0xe886b7},
-  {0x4f15, 0xe886b8},
-  {0x4f16, 0xe886b9},
-  {0x4f17, 0xed9b9a},
-  {0x4f18, 0xed8f85},
-  {0x4f19, 0xebafaf},
-  {0x4f1a, 0xebafa1},
-  {0x4f1b, 0xeda3b1},
-  {0x4f1c, 0xe886ba},
-  {0x4f1d, 0xe886bb},
-  {0x4f1e, 0xeca6a1},
-  {0x4f1f, 0xecbab0},
-  {0x4f20, 0xeb92ab},
-  {0x4f21, 0xe886bc},
-  {0x4f22, 0xeda3b3},
-  {0x4f23, 0xe886bd},
-  {0x4f24, 0xeca78b},
-  {0x4f25, 0xeda3b6},
-  {0x4f26, 0xec8b97},
-  {0x4f27, 0xeda3b7},
-  {0x4f28, 0xe886be},
-  {0x4f29, 0xe886bf},
-  {0x4f2a, 0xecbab1},
-  {0x4f2b, 0xeda3b9},
-  {0x4f2c, 0xe88780},
-  {0x4f2d, 0xe88781},
-  {0x4f2e, 0xe88782},
-  {0x4f2f, 0xeb8aae},
-  {0x4f30, 0xeba780},
-  {0x4f31, 0xe88783},
-  {0x4f32, 0xeda6a3},
-  {0x4f33, 0xe88784},
-  {0x4f34, 0xeb83a9},
-  {0x4f35, 0xe88785},
-  {0x4f36, 0xec87a6},
-  {0x4f37, 0xe88786},
-  {0x4f38, 0xeca7ac},
-  {0x4f39, 0xe88787},
-  {0x4f3a, 0xecaf85},
-  {0x4f3b, 0xe88788},
-  {0x4f3c, 0xecaf86},
-  {0x4f3d, 0xeda6a4},
-  {0x4f3e, 0xe88789},
-  {0x4f3f, 0xe8878a},
-  {0x4f40, 0xe8878b},
-  {0x4f41, 0xe8878c},
-  {0x4f42, 0xe8878d},
-  {0x4f43, 0xeb97a8},
-  {0x4f44, 0xe8878e},
-  {0x4f45, 0xe8878f},
-  {0x4f46, 0xeb96ab},
-  {0x4f47, 0xe88790},
-  {0x4f48, 0xe88791},
-  {0x4f49, 0xe88792},
-  {0x4f4a, 0xe88793},
-  {0x4f4b, 0xe88794},
-  {0x4f4c, 0xe88795},
-  {0x4f4d, 0xecbabb},
-  {0x4f4e, 0xeb978d},
-  {0x4f4f, 0xed9ea1},
-  {0x4f50, 0xed9fb4},
-  {0x4f51, 0xed8f93},
-  {0x4f52, 0xe88796},
-  {0x4f53, 0xecb3a5},
-  {0x4f54, 0xe88797},
-  {0x4f55, 0xebab8e},
-  {0x4f56, 0xe88798},
-  {0x4f57, 0xeda6a2},
-  {0x4f58, 0xeda79c},
-  {0x4f59, 0xed8fa0},
-  {0x4f5a, 0xeda3bd},
-  {0x4f5b, 0xeb9fb0},
-  {0x4f5c, 0xed9fb7},
-  {0x4f5d, 0xeda3be},
-  {0x4f5e, 0xeda3ba},
-  {0x4f5f, 0xeda6a1},
-  {0x4f60, 0xec93a3},
-  {0x4f61, 0xe88799},
-  {0x4f62, 0xe8879a},
-  {0x4f63, 0xed8eb6},
-  {0x4f64, 0xeda3b4},
-  {0x4f65, 0xeda79d},
-  {0x4f66, 0xe8879b},
-  {0x4f67, 0xeda3bb},
-  {0x4f68, 0xe8879c},
-  {0x4f69, 0xec97a5},
-  {0x4f6a, 0xe8879d},
-  {0x4f6b, 0xe8879e},
-  {0x4f6c, 0xec8390},
-  {0x4f6d, 0xe8879f},
-  {0x4f6e, 0xe887a0},
-  {0x4f6f, 0xed87b0},
-  {0x4f70, 0xeb839b},
-  {0x4f71, 0xe887a1},
-  {0x4f72, 0xe887a2},
-  {0x4f73, 0xebb391},
-  {0x4f74, 0xeda6a6},
-  {0x4f75, 0xe887a3},
-  {0x4f76, 0xeda6a5},
-  {0x4f77, 0xe887a4},
-  {0x4f78, 0xe887a5},
-  {0x4f79, 0xe887a6},
-  {0x4f7a, 0xe887a7},
-  {0x4f7b, 0xeda6ac},
-  {0x4f7c, 0xeda6ae},
-  {0x4f7d, 0xe887a8},
-  {0x4f7e, 0xeda6ab},
-  {0x4f7f, 0xecaab9},
-  {0x4f80, 0xe887a9},
-  {0x4f81, 0xe887aa},
-  {0x4f82, 0xe887ab},
-  {0x4f83, 0xeda6a9},
-  {0x4f84, 0xed9ab6},
-  {0x4f85, 0xe887ac},
-  {0x4f86, 0xe887ad},
-  {0x4f87, 0xe887ae},
-  {0x4f88, 0xeb8f9e},
-  {0x4f89, 0xeda6a8},
-  {0x4f8a, 0xe887af},
-  {0x4f8b, 0xec83bd},
-  {0x4f8c, 0xe887b0},
-  {0x4f8d, 0xecab8c},
-  {0x4f8e, 0xe887b1},
-  {0x4f8f, 0xeda6aa},
-  {0x4f90, 0xe887b2},
-  {0x4f91, 0xeda6a7},
-  {0x4f92, 0xe887b3},
-  {0x4f93, 0xe887b4},
-  {0x4f94, 0xeda6b0},
-  {0x4f95, 0xe887b5},
-  {0x4f96, 0xe887b6},
-  {0x4f97, 0xeb9ab1},
-  {0x4f98, 0xe887b7},
-  {0x4f99, 0xe887b8},
-  {0x4f9a, 0xe887b9},
-  {0x4f9b, 0xeba6a9},
-  {0x4f9c, 0xe887ba},
-  {0x4f9d, 0xed8b80},
-  {0x4f9e, 0xe887bb},
-  {0x4f9f, 0xe887bc},
-  {0x4fa0, 0xecbf80},
-  {0x4fa1, 0xe887bd},
-  {0x4fa2, 0xe887be},
-  {0x4fa3, 0xec8b82},
-  {0x4fa4, 0xe88980},
-  {0x4fa5, 0xebb784},
-  {0x4fa6, 0xed97ac},
-  {0x4fa7, 0xeb8ba0},
-  {0x4fa8, 0xec9f88},
-  {0x4fa9, 0xebbfab},
-  {0x4faa, 0xeda6ad},
-  {0x4fab, 0xe88981},
-  {0x4fac, 0xeda6af},
-  {0x4fad, 0xe88982},
-  {0x4fae, 0xecbbaa},
-  {0x4faf, 0xebabae},
-  {0x4fb0, 0xe88983},
-  {0x4fb1, 0xe88984},
-  {0x4fb2, 0xe88985},
-  {0x4fb3, 0xe88986},
-  {0x4fb4, 0xe88987},
-  {0x4fb5, 0xec9f96},
-  {0x4fb6, 0xe88988},
-  {0x4fb7, 0xe88989},
-  {0x4fb8, 0xe8898a},
-  {0x4fb9, 0xe8898b},
-  {0x4fba, 0xe8898c},
-  {0x4fbb, 0xe8898d},
-  {0x4fbc, 0xe8898e},
-  {0x4fbd, 0xe8898f},
-  {0x4fbe, 0xe88990},
-  {0x4fbf, 0xeb87a3},
-  {0x4fc0, 0xe88991},
-  {0x4fc1, 0xe88992},
-  {0x4fc2, 0xe88993},
-  {0x4fc3, 0xeb9399},
-  {0x4fc4, 0xeb9bad},
-  {0x4fc5, 0xeda6b4},
-  {0x4fc6, 0xe88994},
-  {0x4fc7, 0xe88995},
-  {0x4fc8, 0xe88996},
-  {0x4fc9, 0xe88997},
-  {0x4fca, 0xebbea1},
-  {0x4fcb, 0xe88998},
-  {0x4fcc, 0xe88999},
-  {0x4fcd, 0xe8899a},
-  {0x4fce, 0xeda79e},
-  {0x4fcf, 0xec9f8e},
-  {0x4fd0, 0xec83be},
-  {0x4fd1, 0xeda6b8},
-  {0x4fd2, 0xe8899b},
-  {0x4fd3, 0xe8899c},
-  {0x4fd4, 0xe8899d},
-  {0x4fd5, 0xe8899e},
-  {0x4fd6, 0xe8899f},
-  {0x4fd7, 0xecaf97},
-  {0x4fd8, 0xeb9fbd},
-  {0x4fd9, 0xe889a0},
-  {0x4fda, 0xeda6b5},
-  {0x4fdb, 0xe889a1},
-  {0x4fdc, 0xeda6b7},
-  {0x4fdd, 0xeb86a3},
-  {0x4fde, 0xed8fa1},
-  {0x4fdf, 0xeda6b9},
-  {0x4fe0, 0xe889a2},
-  {0x4fe1, 0xed8385},
-  {0x4fe2, 0xe889a3},
-  {0x4fe3, 0xeda6b6},
-  {0x4fe4, 0xe889a4},
-  {0x4fe5, 0xe889a5},
-  {0x4fe6, 0xeda6b1},
-  {0x4fe7, 0xe889a6},
-  {0x4fe8, 0xeda6b2},
-  {0x4fe9, 0xec86a9},
-  {0x4fea, 0xeda6b3},
-  {0x4feb, 0xe889a7},
-  {0x4fec, 0xe889a8},
-  {0x4fed, 0xebb3b3},
-  {0x4fee, 0xed839e},
-  {0x4fef, 0xeba2a9},
-  {0x4ff0, 0xe889a9},
-  {0x4ff1, 0xebbba3},
-  {0x4ff2, 0xe889aa},
-  {0x4ff3, 0xeda6bd},
-  {0x4ff4, 0xe889ab},
-  {0x4ff5, 0xe889ac},
-  {0x4ff6, 0xe889ad},
-  {0x4ff7, 0xe889ae},
-  {0x4ff8, 0xeda6ba},
-  {0x4ff9, 0xe889af},
-  {0x4ffa, 0xeb82b3},
-  {0x4ffb, 0xe889b0},
-  {0x4ffc, 0xe889b1},
-  {0x4ffd, 0xe889b2},
-  {0x4ffe, 0xeda782},
-  {0x4fff, 0xe889b3},
-  {0x5000, 0xe889b4},
-  {0x5001, 0xe889b5},
-  {0x5002, 0xe889b6},
-  {0x5003, 0xe889b7},
-  {0x5004, 0xe889b8},
-  {0x5005, 0xe889b9},
-  {0x5006, 0xe889ba},
-  {0x5007, 0xe889bb},
-  {0x5008, 0xe889bc},
-  {0x5009, 0xe889bd},
-  {0x500a, 0xe889be},
-  {0x500b, 0xe88a80},
-  {0x500c, 0xeda784},
-  {0x500d, 0xeb86b6},
-  {0x500e, 0xe88a81},
-  {0x500f, 0xeda6bf},
-  {0x5010, 0xe88a82},
-  {0x5011, 0xe88a83},
-  {0x5012, 0xeb96b9},
-  {0x5013, 0xe88a84},
-  {0x5014, 0xebbbb3},
-  {0x5015, 0xe88a85},
-  {0x5016, 0xe88a86},
-  {0x5017, 0xe88a87},
-  {0x5018, 0xecb388},
-  {0x5019, 0xebabb2},
-  {0x501a, 0xed8b90},
-  {0x501b, 0xe88a88},
-  {0x501c, 0xeda783},
-  {0x501d, 0xe88a89},
-  {0x501e, 0xe88a8a},
-  {0x501f, 0xebb7a8},
-  {0x5020, 0xe88a8b},
-  {0x5021, 0xeb8eab},
-  {0x5022, 0xe88a8c},
-  {0x5023, 0xe88a8d},
-  {0x5024, 0xe88a8e},
-  {0x5025, 0xeda785},
-  {0x5026, 0xebbbab},
-  {0x5027, 0xe88a8f},
-  {0x5028, 0xeda786},
-  {0x5029, 0xeda6bb},
-  {0x502a, 0xec939f},
-  {0x502b, 0xe88a90},
-  {0x502c, 0xeda6be},
-  {0x502d, 0xeda781},
-  {0x502e, 0xeda780},
-  {0x502f, 0xe88a91},
-  {0x5030, 0xe88a92},
-  {0x5031, 0xe88a93},
-  {0x5032, 0xe88a94},
-  {0x5033, 0xe88a95},
-  {0x5034, 0xe88a96},
-  {0x5035, 0xe88a97},
-  {0x5036, 0xe88a98},
-  {0x5037, 0xe88a99},
-  {0x5038, 0xe88a9a},
-  {0x5039, 0xe88a9b},
-  {0x503a, 0xed96ae},
-  {0x503b, 0xe88a9c},
-  {0x503c, 0xed9ab5},
-  {0x503d, 0xe88a9d},
-  {0x503e, 0xec9fa3},
-  {0x503f, 0xe88a9e},
-  {0x5040, 0xe88a9f},
-  {0x5041, 0xe88aa0},
-  {0x5042, 0xe88aa1},
-  {0x5043, 0xeda788},
-  {0x5044, 0xe88aa2},
-  {0x5045, 0xe88aa3},
-  {0x5046, 0xe88aa4},
-  {0x5047, 0xebb399},
-  {0x5048, 0xeda78a},
-  {0x5049, 0xe88aa5},
-  {0x504a, 0xe88aa6},
-  {0x504b, 0xe88aa7},
-  {0x504c, 0xeda6bc},
-  {0x504d, 0xe88aa8},
-  {0x504e, 0xeda78b},
-  {0x504f, 0xec9aab},
-  {0x5050, 0xe88aa9},
-  {0x5051, 0xe88aaa},
-  {0x5052, 0xe88aab},
-  {0x5053, 0xe88aac},
-  {0x5054, 0xe88aad},
-  {0x5055, 0xeda789},
-  {0x5056, 0xe88aae},
-  {0x5057, 0xe88aaf},
-  {0x5058, 0xe88ab0},
-  {0x5059, 0xe88ab1},
-  {0x505a, 0xed9fb6},
-  {0x505b, 0xe88ab2},
-  {0x505c, 0xecb6a3},
-  {0x505d, 0xe88ab3},
-  {0x505e, 0xe88ab4},
-  {0x505f, 0xe88ab5},
-  {0x5060, 0xe88ab6},
-  {0x5061, 0xe88ab7},
-  {0x5062, 0xe88ab8},
-  {0x5063, 0xe88ab9},
-  {0x5064, 0xe88aba},
-  {0x5065, 0xebb6a1},
-  {0x5066, 0xe88abb},
-  {0x5067, 0xe88abc},
-  {0x5068, 0xe88abd},
-  {0x5069, 0xe88abe},
-  {0x506a, 0xe88abf},
-  {0x506b, 0xe88b80},
-  {0x506c, 0xeda78c},
-  {0x506d, 0xe88b81},
-  {0x506e, 0xe88b82},
-  {0x506f, 0xe88b83},
-  {0x5070, 0xe88b84},
-  {0x5071, 0xe88b85},
-  {0x5072, 0xe88b86},
-  {0x5073, 0xe88b87},
-  {0x5074, 0xe88b88},
-  {0x5075, 0xe88b89},
-  {0x5076, 0xec96bc},
-  {0x5077, 0xecb6b5},
-  {0x5078, 0xe88b8a},
-  {0x5079, 0xe88b8b},
-  {0x507a, 0xe88b8c},
-  {0x507b, 0xeda78d},
-  {0x507c, 0xe88b8d},
-  {0x507d, 0xe88b8e},
-  {0x507e, 0xeda787},
-  {0x507f, 0xeb8ea5},
-  {0x5080, 0xebbfbe},
-  {0x5081, 0xe88b8f},
-  {0x5082, 0xe88b90},
-  {0x5083, 0xe88b91},
-  {0x5084, 0xe88b92},
-  {0x5085, 0xeba2b5},
-  {0x5086, 0xe88b93},
-  {0x5087, 0xe88b94},
-  {0x5088, 0xec83bc},
-  {0x5089, 0xe88b95},
-  {0x508a, 0xe88b96},
-  {0x508b, 0xe88b97},
-  {0x508c, 0xe88b98},
-  {0x508d, 0xeb83b8},
-  {0x508e, 0xe88b99},
-  {0x508f, 0xe88b9a},
-  {0x5090, 0xe88b9b},
-  {0x5091, 0xe88b9c},
-  {0x5092, 0xe88b9d},
-  {0x5093, 0xe88b9e},
-  {0x5094, 0xe88b9f},
-  {0x5095, 0xe88ba0},
-  {0x5096, 0xe88ba1},
-  {0x5097, 0xe88ba2},
-  {0x5098, 0xe88ba3},
-  {0x5099, 0xe88ba4},
-  {0x509a, 0xe88ba5},
-  {0x509b, 0xe88ba6},
-  {0x509c, 0xe88ba7},
-  {0x509d, 0xe88ba8},
-  {0x509e, 0xe88ba9},
-  {0x509f, 0xe88baa},
-  {0x50a0, 0xe88bab},
-  {0x50a1, 0xe88bac},
-  {0x50a2, 0xe88bad},
-  {0x50a3, 0xeb93b6},
-  {0x50a4, 0xe88bae},
-  {0x50a5, 0xeda78e},
-  {0x50a6, 0xe88baf},
-  {0x50a7, 0xeda78f},
-  {0x50a8, 0xeb92a2},
-  {0x50a9, 0xeda790},
-  {0x50aa, 0xe88bb0},
-  {0x50ab, 0xe88bb1},
-  {0x50ac, 0xeb939f},
-  {0x50ad, 0xe88bb2},
-  {0x50ae, 0xe88bb3},
-  {0x50af, 0xe88bb4},
-  {0x50b0, 0xe88bb5},
-  {0x50b1, 0xe88bb6},
-  {0x50b2, 0xeb8381},
-  {0x50b3, 0xe88bb7},
-  {0x50b4, 0xe88bb8},
-  {0x50b5, 0xe88bb9},
-  {0x50b6, 0xe88bba},
-  {0x50b7, 0xe88bbb},
-  {0x50b8, 0xe88bbc},
-  {0x50b9, 0xe88bbd},
-  {0x50ba, 0xeda791},
-  {0x50bb, 0xeca6b5},
-  {0x50bc, 0xe88bbe},
-  {0x50bd, 0xe88d80},
-  {0x50be, 0xe88d81},
-  {0x50bf, 0xe88d82},
-  {0x50c0, 0xe88d83},
-  {0x50c1, 0xe88d84},
-  {0x50c2, 0xe88d85},
-  {0x50c3, 0xe88d86},
-  {0x50c4, 0xe88d87},
-  {0x50c5, 0xe88d88},
-  {0x50c6, 0xe88d89},
-  {0x50c7, 0xe88d8a},
-  {0x50c8, 0xe88d8b},
-  {0x50c9, 0xe88d8c},
-  {0x50ca, 0xe88d8d},
-  {0x50cb, 0xe88d8e},
-  {0x50cc, 0xe88d8f},
-  {0x50cd, 0xe88d90},
-  {0x50ce, 0xe88d91},
-  {0x50cf, 0xecbfb1},
-  {0x50d0, 0xe88d92},
-  {0x50d1, 0xe88d93},
-  {0x50d2, 0xe88d94},
-  {0x50d3, 0xe88d95},
-  {0x50d4, 0xe88d96},
-  {0x50d5, 0xe88d97},
-  {0x50d6, 0xeda792},
-  {0x50d7, 0xe88d98},
-  {0x50d8, 0xe88d99},
-  {0x50d9, 0xe88d9a},
-  {0x50da, 0xec8785},
-  {0x50db, 0xe88d9b},
-  {0x50dc, 0xe88d9c},
-  {0x50dd, 0xe88d9d},
-  {0x50de, 0xe88d9e},
-  {0x50df, 0xe88d9f},
-  {0x50e0, 0xe88da0},
-  {0x50e1, 0xe88da1},
-  {0x50e2, 0xe88da2},
-  {0x50e3, 0xe88da3},
-  {0x50e4, 0xe88da4},
-  {0x50e5, 0xe88da5},
-  {0x50e6, 0xeda796},
-  {0x50e7, 0xeca6ae},
-  {0x50e8, 0xe88da6},
-  {0x50e9, 0xe88da7},
-  {0x50ea, 0xe88da8},
-  {0x50eb, 0xe88da9},
-  {0x50ec, 0xeda795},
-  {0x50ed, 0xeda794},
-  {0x50ee, 0xeda797},
-  {0x50ef, 0xe88daa},
-  {0x50f0, 0xe88dab},
-  {0x50f1, 0xe88dac},
-  {0x50f2, 0xe88dad},
-  {0x50f3, 0xecaf9b},
-  {0x50f4, 0xe88dae},
-  {0x50f5, 0xebb6a9},
-  {0x50f6, 0xe88daf},
-  {0x50f7, 0xe88db0},
-  {0x50f8, 0xe88db1},
-  {0x50f9, 0xe88db2},
-  {0x50fa, 0xe88db3},
-  {0x50fb, 0xec9aa7},
-  {0x50fc, 0xe88db4},
-  {0x50fd, 0xe88db5},
-  {0x50fe, 0xe88db6},
-  {0x50ff, 0xe88db7},
-  {0x5100, 0xe88db8},
-  {0x5101, 0xe88db9},
-  {0x5102, 0xe88dba},
-  {0x5103, 0xe88dbb},
-  {0x5104, 0xe88dbc},
-  {0x5105, 0xe88dbd},
-  {0x5106, 0xeda793},
-  {0x5107, 0xeda798},
-  {0x5108, 0xe88dbe},
-  {0x5109, 0xe88e80},
-  {0x510a, 0xe88e81},
-  {0x510b, 0xeda799},
-  {0x510c, 0xe88e82},
-  {0x510d, 0xe88e83},
-  {0x510e, 0xe88e84},
-  {0x510f, 0xe88e85},
-  {0x5110, 0xe88e86},
-  {0x5111, 0xe88e87},
-  {0x5112, 0xeca3a5},
-  {0x5113, 0xe88e88},
-  {0x5114, 0xe88e89},
-  {0x5115, 0xe88e8a},
-  {0x5116, 0xe88e8b},
-  {0x5117, 0xe88e8c},
-  {0x5118, 0xe88e8d},
-  {0x5119, 0xe88e8e},
-  {0x511a, 0xe88e8f},
-  {0x511b, 0xe88e90},
-  {0x511c, 0xe88e91},
-  {0x511d, 0xe88e92},
-  {0x511e, 0xe88e93},
-  {0x511f, 0xe88e94},
-  {0x5120, 0xe88e95},
-  {0x5121, 0xec839c},
-  {0x5122, 0xe88e96},
-  {0x5123, 0xe88e97},
-  {0x5124, 0xe88e98},
-  {0x5125, 0xe88e99},
-  {0x5126, 0xe88e9a},
-  {0x5127, 0xe88e9b},
-  {0x5128, 0xe88e9c},
-  {0x5129, 0xe88e9d},
-  {0x512a, 0xe88e9e},
-  {0x512b, 0xe88e9f},
-  {0x512c, 0xe88ea0},
-  {0x512d, 0xe88ea1},
-  {0x512e, 0xe88ea2},
-  {0x512f, 0xe88ea3},
-  {0x5130, 0xe88ea4},
-  {0x5131, 0xe88ea5},
-  {0x5132, 0xe88ea6},
-  {0x5133, 0xe88ea7},
-  {0x5134, 0xe88ea8},
-  {0x5135, 0xe88ea9},
-  {0x5136, 0xe88eaa},
-  {0x5137, 0xe88eab},
-  {0x5138, 0xe88eac},
-  {0x5139, 0xe88ead},
-  {0x513a, 0xe88eae},
-  {0x513b, 0xe88eaf},
-  {0x513c, 0xe88eb0},
-  {0x513d, 0xe88eb1},
-  {0x513e, 0xe88eb2},
-  {0x513f, 0xeb9bb9},
-  {0x5140, 0xeda2a3},
-  {0x5141, 0xed938a},
-  {0x5142, 0xe88eb3},
-  {0x5143, 0xed92aa},
-  {0x5144, 0xed8396},
-  {0x5145, 0xeb8fa4},
-  {0x5146, 0xed9797},
-  {0x5147, 0xe88eb4},
-  {0x5148, 0xecbf88},
-  {0x5149, 0xeba7a2},
-  {0x514a, 0xe88eb5},
-  {0x514b, 0xebbf8b},
-  {0x514c, 0xe88eb6},
-  {0x514d, 0xec8fa2},
-  {0x514e, 0xe88eb7},
-  {0x514f, 0xe88eb8},
-  {0x5150, 0xe88eb9},
-  {0x5151, 0xeb9b92},
-  {0x5152, 0xe88eba},
-  {0x5153, 0xe88ebb},
-  {0x5154, 0xecb783},
-  {0x5155, 0xeda7ae},
-  {0x5156, 0xeda7b0},
-  {0x5157, 0xe88ebc},
-  {0x5158, 0xe88ebd},
-  {0x5159, 0xe88ebe},
-  {0x515a, 0xeb96b3},
-  {0x515b, 0xe88ebf},
-  {0x515c, 0xeb9ab5},
-  {0x515d, 0xe88f80},
-  {0x515e, 0xe88f81},
-  {0x515f, 0xe88f82},
-  {0x5160, 0xe88f83},
-  {0x5161, 0xe88f84},
-  {0x5162, 0xebbaa4},
-  {0x5163, 0xe88f85},
-  {0x5164, 0xe88f86},
-  {0x5165, 0xeca3ab},
-  {0x5166, 0xe88f87},
-  {0x5167, 0xe88f88},
-  {0x5168, 0xeca2ab},
-  {0x5169, 0xe88f89},
-  {0x516a, 0xe88f8a},
-  {0x516b, 0xeb838b},
-  {0x516c, 0xeba6ab},
-  {0x516d, 0xec87b9},
-  {0x516e, 0xeda7a2},
-  {0x516f, 0xe88f8b},
-  {0x5170, 0xec82bc},
-  {0x5171, 0xeba6b2},
-  {0x5172, 0xe88f8c},
-  {0x5173, 0xeba798},
-  {0x5174, 0xed838b},
-  {0x5175, 0xeb87b8},
-  {0x5176, 0xec9ba4},
-  {0x5177, 0xebbb9f},
-  {0x5178, 0xeb97a4},
-  {0x5179, 0xed9f88},
-  {0x517a, 0xe88f8d},
-  {0x517b, 0xed87b8},
-  {0x517c, 0xebb3a6},
-  {0x517d, 0xecab9e},
-  {0x517e, 0xe88f8e},
-  {0x517f, 0xe88f8f},
-  {0x5180, 0xebb2bd},
-  {0x5181, 0xeda7a6},
-  {0x5182, 0xeda3a7},
-  {0x5183, 0xe88f90},
-  {0x5184, 0xe88f91},
-  {0x5185, 0xec939a},
-  {0x5186, 0xe88f92},
-  {0x5187, 0xe88f93},
-  {0x5188, 0xeba394},
-  {0x5189, 0xeca2bd},
-  {0x518a, 0xe88f94},
-  {0x518b, 0xe88f95},
-  {0x518c, 0xeb8ba1},
-  {0x518d, 0xed9399},
-  {0x518e, 0xe88f96},
-  {0x518f, 0xe88f97},
-  {0x5190, 0xe88f98},
-  {0x5191, 0xe88f99},
-  {0x5192, 0xec8eb0},
-  {0x5193, 0xe88f9a},
-  {0x5194, 0xe88f9b},
-  {0x5195, 0xec8fa1},
-  {0x5196, 0xedaaa2},
-  {0x5197, 0xeca39f},
-  {0x5198, 0xe88f9c},
-  {0x5199, 0xed82b4},
-  {0x519a, 0xe88f9d},
-  {0x519b, 0xebbbbc},
-  {0x519c, 0xec96a9},
-  {0x519d, 0xe88f9e},
-  {0x519e, 0xe88f9f},
-  {0x519f, 0xe88fa0},
-  {0x51a0, 0xeba79a},
-  {0x51a1, 0xe88fa1},
-  {0x51a2, 0xedaaa3},
-  {0x51a3, 0xe88fa2},
-  {0x51a4, 0xed92a9},
-  {0x51a5, 0xedaaa4},
-  {0x51a6, 0xe88fa3},
-  {0x51a7, 0xe88fa4},
-  {0x51a8, 0xe88fa5},
-  {0x51a9, 0xe88fa6},
-  {0x51aa, 0xe88fa7},
-  {0x51ab, 0xeda7bb},
-  {0x51ac, 0xeb9aac},
-  {0x51ad, 0xe88fa8},
-  {0x51ae, 0xe88fa9},
-  {0x51af, 0xeb9fab},
-  {0x51b0, 0xeb87b9},
-  {0x51b1, 0xeda7bc},
-  {0x51b2, 0xeb8fa5},
-  {0x51b3, 0xebbbb6},
-  {0x51b4, 0xe88faa},
-  {0x51b5, 0xebbfb6},
-  {0x51b6, 0xed8ab1},
-  {0x51b7, 0xec83a4},
-  {0x51b8, 0xe88fab},
-  {0x51b9, 0xe88fac},
-  {0x51ba, 0xe88fad},
-  {0x51bb, 0xeb9ab3},
-  {0x51bc, 0xeda7be},
-  {0x51bd, 0xeda7bd},
-  {0x51be, 0xe88fae},
-  {0x51bf, 0xe88faf},
-  {0x51c0, 0xebbabb},
-  {0x51c1, 0xe88fb0},
-  {0x51c2, 0xe88fb1},
-  {0x51c3, 0xe88fb2},
-  {0x51c4, 0xec9ba0},
-  {0x51c5, 0xe88fb3},
-  {0x51c6, 0xed9ebc},
-  {0x51c7, 0xedaaa1},
-  {0x51c8, 0xe88fb4},
-  {0x51c9, 0xec86b9},
-  {0x51ca, 0xe88fb5},
-  {0x51cb, 0xeb97b2},
-  {0x51cc, 0xec87a8},
-  {0x51cd, 0xe88fb6},
-  {0x51ce, 0xe88fb7},
-  {0x51cf, 0xebb3b5},
-  {0x51d0, 0xe88fb8},
-  {0x51d1, 0xeb9395},
-  {0x51d2, 0xe88fb9},
-  {0x51d3, 0xe88fba},
-  {0x51d4, 0xe88fbb},
-  {0x51d5, 0xe88fbc},
-  {0x51d6, 0xe88fbd},
-  {0x51d7, 0xe88fbe},
-  {0x51d8, 0xe89180},
-  {0x51d9, 0xe89181},
-  {0x51da, 0xe89182},
-  {0x51db, 0xec879d},
-  {0x51dc, 0xe89183},
-  {0x51dd, 0xec93bd},
-  {0x51de, 0xe89184},
-  {0x51df, 0xe89185},
-  {0x51e0, 0xebb2b8},
-  {0x51e1, 0xeb9eb2},
-  {0x51e2, 0xe89186},
-  {0x51e3, 0xe89187},
-  {0x51e4, 0xeb9faf},
-  {0x51e5, 0xe89188},
-  {0x51e6, 0xe89189},
-  {0x51e7, 0xe8918a},
-  {0x51e8, 0xe8918b},
-  {0x51e9, 0xe8918c},
-  {0x51ea, 0xe8918d},
-  {0x51eb, 0xeda7ac},
-  {0x51ec, 0xe8918e},
-  {0x51ed, 0xec9abe},
-  {0x51ee, 0xe8918f},
-  {0x51ef, 0xebbead},
-  {0x51f0, 0xebaf8b},
-  {0x51f1, 0xe89190},
-  {0x51f2, 0xe89191},
-  {0x51f3, 0xeb978a},
-  {0x51f4, 0xe89192},
-  {0x51f5, 0xedaf89},
-  {0x51f6, 0xed8397},
-  {0x51f7, 0xe89193},
-  {0x51f8, 0xecb6b9},
-  {0x51f9, 0xeb82bc},
-  {0x51fa, 0xeb8fb6},
-  {0x51fb, 0xebafb7},
-  {0x51fc, 0xedaf8a},
-  {0x51fd, 0xebaaaf},
-  {0x51fe, 0xe89194},
-  {0x51ff, 0xed93a4},
-  {0x5200, 0xeb96b6},
-  {0x5201, 0xeb97b3},
-  {0x5202, 0xeda396},
-  {0x5203, 0xeca390},
-  {0x5204, 0xe89195},
-  {0x5205, 0xe89196},
-  {0x5206, 0xeb9f96},
-  {0x5207, 0xec9f90},
-  {0x5208, 0xeda397},
-  {0x5209, 0xe89197},
-  {0x520a, 0xebbeaf},
-  {0x520b, 0xe89198},
-  {0x520c, 0xe89199},
-  {0x520d, 0xedaebb},
-  {0x520e, 0xeda398},
-  {0x520f, 0xe8919a},
-  {0x5210, 0xe8919b},
-  {0x5211, 0xed838c},
-  {0x5212, 0xebaeae},
-  {0x5213, 0xe8919c},
-  {0x5214, 0xe8919d},
-  {0x5215, 0xe8919e},
-  {0x5216, 0xeeaebe},
-  {0x5217, 0xec8790},
-  {0x5218, 0xec87b5},
-  {0x5219, 0xed93b2},
-  {0x521a, 0xeba395},
-  {0x521b, 0xeb92b4},
-  {0x521c, 0xe8919f},
-  {0x521d, 0xeb8fb5},
-  {0x521e, 0xe891a0},
-  {0x521f, 0xe891a1},
-  {0x5220, 0xeca6be},
-  {0x5221, 0xe891a2},
-  {0x5222, 0xe891a3},
-  {0x5223, 0xe891a4},
-  {0x5224, 0xec9790},
-  {0x5225, 0xe891a5},
-  {0x5226, 0xe891a6},
-  {0x5227, 0xe891a7},
-  {0x5228, 0xec9799},
-  {0x5229, 0xec83bb},
-  {0x522a, 0xe891a8},
-  {0x522b, 0xeb87b0},
-  {0x522c, 0xe891a9},
-  {0x522d, 0xeda399},
-  {0x522e, 0xeba78e},
-  {0x522f, 0xe891aa},
-  {0x5230, 0xeb96bd},
-  {0x5231, 0xe891ab},
-  {0x5232, 0xe891ac},
-  {0x5233, 0xeda39a},
-  {0x5234, 0xe891ad},
-  {0x5235, 0xe891ae},
-  {0x5236, 0xed9b86},
-  {0x5237, 0xecaea2},
-  {0x5238, 0xeca2af},
-  {0x5239, 0xeca6b2},
-  {0x523a, 0xeb938c},
-  {0x523b, 0xebbf8c},
-  {0x523c, 0xe891af},
-  {0x523d, 0xeba7b4},
-  {0x523e, 0xe891b0},
-  {0x523f, 0xeda39b},
-  {0x5240, 0xeda39c},
-  {0x5241, 0xeb9ba7},
-  {0x5242, 0xebb381},
-  {0x5243, 0xecb3aa},
-  {0x5244, 0xe891b1},
-  {0x5245, 0xe891b2},
-  {0x5246, 0xe891b3},
-  {0x5247, 0xe891b4},
-  {0x5248, 0xe891b5},
-  {0x5249, 0xe891b6},
-  {0x524a, 0xecbfb7},
-  {0x524b, 0xe891b7},
-  {0x524c, 0xeda39d},
-  {0x524d, 0xec9eb0},
-  {0x524e, 0xe891b8},
-  {0x524f, 0xe891b9},
-  {0x5250, 0xeba790},
-  {0x5251, 0xebb6a3},
-  {0x5252, 0xe891ba},
-  {0x5253, 0xe891bb},
-  {0x5254, 0xecb39e},
-  {0x5255, 0xe891bc},
-  {0x5256, 0xec9b8a},
-  {0x5257, 0xe891bd},
-  {0x5258, 0xe891be},
-  {0x5259, 0xe89280},
-  {0x525a, 0xe89281},
-  {0x525b, 0xe89282},
-  {0x525c, 0xeda3a0},
-  {0x525d, 0xe89283},
-  {0x525e, 0xeda39e},
-  {0x525f, 0xe89284},
-  {0x5260, 0xe89285},
-  {0x5261, 0xeda39f},
-  {0x5262, 0xe89286},
-  {0x5263, 0xe89287},
-  {0x5264, 0xe89288},
-  {0x5265, 0xeb83be},
-  {0x5266, 0xe89289},
-  {0x5267, 0xebbba7},
-  {0x5268, 0xe8928a},
-  {0x5269, 0xecaaa3},
-  {0x526a, 0xebb3b4},
-  {0x526b, 0xe8928b},
-  {0x526c, 0xe8928c},
-  {0x526d, 0xe8928d},
-  {0x526e, 0xe8928e},
-  {0x526f, 0xeba2b1},
-  {0x5270, 0xe8928f},
-  {0x5271, 0xe89290},
-  {0x5272, 0xeba3ae},
-  {0x5273, 0xe89291},
-  {0x5274, 0xe89292},
-  {0x5275, 0xe89293},
-  {0x5276, 0xe89294},
-  {0x5277, 0xe89295},
-  {0x5278, 0xe89296},
-  {0x5279, 0xe89297},
-  {0x527a, 0xe89298},
-  {0x527b, 0xe89299},
-  {0x527c, 0xe8929a},
-  {0x527d, 0xeda3a2},
-  {0x527e, 0xe8929b},
-  {0x527f, 0xebb78b},
-  {0x5280, 0xe8929c},
-  {0x5281, 0xeda3a4},
-  {0x5282, 0xeda3a3},
-  {0x5283, 0xe8929d},
-  {0x5284, 0xe8929e},
-  {0x5285, 0xe8929f},
-  {0x5286, 0xe892a0},
-  {0x5287, 0xe892a1},
-  {0x5288, 0xec97bc},
-  {0x5289, 0xe892a2},
-  {0x528a, 0xe892a3},
-  {0x528b, 0xe892a4},
-  {0x528c, 0xe892a5},
-  {0x528d, 0xe892a6},
-  {0x528e, 0xe892a7},
-  {0x528f, 0xe892a8},
-  {0x5290, 0xeda3a5},
-  {0x5291, 0xe892a9},
-  {0x5292, 0xe892aa},
-  {0x5293, 0xeda3a6},
-  {0x5294, 0xe892ab},
-  {0x5295, 0xe892ac},
-  {0x5296, 0xe892ad},
-  {0x5297, 0xe892ae},
-  {0x5298, 0xe892af},
-  {0x5299, 0xe892b0},
-  {0x529a, 0xe892b1},
-  {0x529b, 0xec86a6},
-  {0x529c, 0xe892b2},
-  {0x529d, 0xeca2b0},
-  {0x529e, 0xeb83ac},
-  {0x529f, 0xeba6a6},
-  {0x52a0, 0xebb393},
-  {0x52a1, 0xecbbb1},
-  {0x52a2, 0xedaebd},
-  {0x52a3, 0xec8793},
-  {0x52a4, 0xe892b3},
-  {0x52a5, 0xe892b4},
-  {0x52a6, 0xe892b5},
-  {0x52a7, 0xe892b6},
-  {0x52a8, 0xeb9aaf},
-  {0x52a9, 0xed9bba},
-  {0x52aa, 0xec96ac},
-  {0x52ab, 0xebb799},
-  {0x52ac, 0xedaebe},
-  {0x52ad, 0xedaebf},
-  {0x52ae, 0xe892b7},
-  {0x52af, 0xe892b8},
-  {0x52b0, 0xe892b9},
-  {0x52b1, 0xec83b8},
-  {0x52b2, 0xebbaa2},
-  {0x52b3, 0xec838d},
-  {0x52b4, 0xe892ba},
-  {0x52b5, 0xe892bb},
-  {0x52b6, 0xe892bc},
-  {0x52b7, 0xe892bd},
-  {0x52b8, 0xe892be},
-  {0x52b9, 0xe892bf},
-  {0x52ba, 0xe89380},
-  {0x52bb, 0xe89381},
-  {0x52bc, 0xe89382},
-  {0x52bd, 0xe89383},
-  {0x52be, 0xedaf80},
-  {0x52bf, 0xecab86},
-  {0x52c0, 0xe89384},
-  {0x52c1, 0xe89385},
-  {0x52c2, 0xe89386},
-  {0x52c3, 0xeb8aaa},
-  {0x52c4, 0xe89387},
-  {0x52c5, 0xe89388},
-  {0x52c6, 0xe89389},
-  {0x52c7, 0xed8f82},
-  {0x52c8, 0xe8938a},
-  {0x52c9, 0xec8fa3},
-  {0x52ca, 0xe8938b},
-  {0x52cb, 0xed86ab},
-  {0x52cc, 0xe8938c},
-  {0x52cd, 0xe8938d},
-  {0x52ce, 0xe8938e},
-  {0x52cf, 0xe8938f},
-  {0x52d0, 0xedaf82},
-  {0x52d1, 0xe89390},
-  {0x52d2, 0xec8395},
-  {0x52d3, 0xe89391},
-  {0x52d4, 0xe89392},
-  {0x52d5, 0xe89393},
-  {0x52d6, 0xedaf83},
-  {0x52d7, 0xe89394},
-  {0x52d8, 0xebbeb1},
-  {0x52d9, 0xe89395},
-  {0x52da, 0xe89396},
-  {0x52db, 0xe89397},
-  {0x52dc, 0xe89398},
-  {0x52dd, 0xe89399},
-  {0x52de, 0xe8939a},
-  {0x52df, 0xec92bc},
-  {0x52e0, 0xe8939b},
-  {0x52e1, 0xe8939c},
-  {0x52e2, 0xe8939d},
-  {0x52e3, 0xe8939e},
-  {0x52e4, 0xec9f9a},
-  {0x52e5, 0xe8939f},
-  {0x52e6, 0xe893a0},
-  {0x52e7, 0xe893a1},
-  {0x52e8, 0xe893a2},
-  {0x52e9, 0xe893a3},
-  {0x52ea, 0xe893a4},
-  {0x52eb, 0xe893a5},
-  {0x52ec, 0xe893a6},
-  {0x52ed, 0xe893a7},
-  {0x52ee, 0xe893a8},
-  {0x52ef, 0xe893a9},
-  {0x52f0, 0xedaf84},
-  {0x52f1, 0xe893aa},
-  {0x52f2, 0xe893ab},
-  {0x52f3, 0xe893ac},
-  {0x52f4, 0xe893ad},
-  {0x52f5, 0xe893ae},
-  {0x52f6, 0xe893af},
-  {0x52f7, 0xe893b0},
-  {0x52f8, 0xe893b1},
-  {0x52f9, 0xeda7a8},
-  {0x52fa, 0xeca797},
-  {0x52fb, 0xe893b2},
-  {0x52fc, 0xe893b3},
-  {0x52fd, 0xe893b4},
-  {0x52fe, 0xeba6b4},
-  {0x52ff, 0xecbbb0},
-  {0x5300, 0xed9388},
-  {0x5301, 0xe893b5},
-  {0x5302, 0xe893b6},
-  {0x5303, 0xe893b7},
-  {0x5304, 0xe893b8},
-  {0x5305, 0xeb83bc},
-  {0x5306, 0xeb9392},
-  {0x5307, 0xe893b9},
-  {0x5308, 0xed8399},
-  {0x5309, 0xe893ba},
-  {0x530a, 0xe893bb},
-  {0x530b, 0xe893bc},
-  {0x530c, 0xe893bd},
-  {0x530d, 0xeda7a9},
-  {0x530e, 0xe893be},
-  {0x530f, 0xedbb8b},
-  {0x5310, 0xeda7ab},
-  {0x5311, 0xe89580},
-  {0x5312, 0xe89581},
-  {0x5313, 0xe89582},
-  {0x5314, 0xe89583},
-  {0x5315, 0xeda2b0},
-  {0x5316, 0xebaeaf},
-  {0x5317, 0xeb86b1},
-  {0x5318, 0xe89584},
-  {0x5319, 0xeb8f97},
-  {0x531a, 0xeda38e},
-  {0x531b, 0xe89585},
-  {0x531c, 0xe89586},
-  {0x531d, 0xed9391},
-  {0x531e, 0xe89587},
-  {0x531f, 0xe89588},
-  {0x5320, 0xebb6b3},
-  {0x5321, 0xebbfaf},
-  {0x5322, 0xe89589},
-  {0x5323, 0xecbebb},
-  {0x5324, 0xe8958a},
-  {0x5325, 0xe8958b},
-  {0x5326, 0xeda390},
-  {0x5327, 0xe8958c},
-  {0x5328, 0xe8958d},
-  {0x5329, 0xe8958e},
-  {0x532a, 0xeb9f8b},
-  {0x532b, 0xe8958f},
-  {0x532c, 0xe89590},
-  {0x532d, 0xe89591},
-  {0x532e, 0xeda391},
-  {0x532f, 0xe89592},
-  {0x5330, 0xe89593},
-  {0x5331, 0xe89594},
-  {0x5332, 0xe89595},
-  {0x5333, 0xe89596},
-  {0x5334, 0xe89597},
-  {0x5335, 0xe89598},
-  {0x5336, 0xe89599},
-  {0x5337, 0xe8959a},
-  {0x5338, 0xe8959b},
-  {0x5339, 0xec9aa5},
-  {0x533a, 0xec9fb8},
-  {0x533b, 0xed8abd},
-  {0x533c, 0xe8959c},
-  {0x533d, 0xe8959d},
-  {0x533e, 0xeda392},
-  {0x533f, 0xec93a4},
-  {0x5340, 0xe8959e},
-  {0x5341, 0xecaaae},
-  {0x5342, 0xe8959f},
-  {0x5343, 0xec9ea7},
-  {0x5344, 0xe895a0},
-  {0x5345, 0xeda2a6},
-  {0x5346, 0xe895a1},
-  {0x5347, 0xeca7bd},
-  {0x5348, 0xecbba7},
-  {0x5349, 0xebaf9c},
-  {0x534a, 0xeb83ab},
-  {0x534b, 0xe895a2},
-  {0x534c, 0xe895a3},
-  {0x534d, 0xe895a4},
-  {0x534e, 0xebaeaa},
-  {0x534f, 0xed82ad},
-  {0x5350, 0xe895a5},
-  {0x5351, 0xeb86b0},
-  {0x5352, 0xed9fa4},
-  {0x5353, 0xed9ebf},
-  {0x5354, 0xe895a6},
-  {0x5355, 0xeb96a5},
-  {0x5356, 0xec8bb4},
-  {0x5357, 0xec938f},
-  {0x5358, 0xe895a7},
-  {0x5359, 0xe895a8},
-  {0x535a, 0xeb8aa9},
-  {0x535b, 0xe895a9},
-  {0x535c, 0xeb8ab7},
-  {0x535d, 0xe895aa},
-  {0x535e, 0xeb87a5},
-  {0x535f, 0xedbeb2},
-  {0x5360, 0xed96bc},
-  {0x5361, 0xebbea8},
-  {0x5362, 0xec8aac},
-  {0x5363, 0xeda395},
-  {0x5364, 0xec8ab1},
-  {0x5365, 0xe895ab},
-  {0x5366, 0xeda394},
-  {0x5367, 0xecbb94},
-  {0x5368, 0xe895ac},
-  {0x5369, 0xedaba0},
-  {0x536a, 0xe895ad},
-  {0x536b, 0xecbb80},
-  {0x536c, 0xe895ae},
-  {0x536d, 0xe895af},
-  {0x536e, 0xeda2b4},
-  {0x536f, 0xec8eae},
-  {0x5370, 0xed8ea1},
-  {0x5371, 0xecbaa3},
-  {0x5372, 0xe895b0},
-  {0x5373, 0xebb2b4},
-  {0x5374, 0xeca2b4},
-  {0x5375, 0xec8b91},
-  {0x5376, 0xe895b1},
-  {0x5377, 0xebbbad},
-  {0x5378, 0xed82b6},
-  {0x5379, 0xe895b2},
-  {0x537a, 0xedaba1},
-  {0x537b, 0xe895b3},
-  {0x537c, 0xe895b4},
-  {0x537d, 0xe895b5},
-  {0x537e, 0xe895b6},
-  {0x537f, 0xec9fa4},
-  {0x5380, 0xe895b7},
-  {0x5381, 0xe895b8},
-  {0x5382, 0xeb8ea7},
-  {0x5383, 0xe895b9},
-  {0x5384, 0xeb9bb2},
-  {0x5385, 0xecb3bc},
-  {0x5386, 0xec83ba},
-  {0x5387, 0xe895ba},
-  {0x5388, 0xe895bb},
-  {0x5389, 0xec83b7},
-  {0x538a, 0xe895bc},
-  {0x538b, 0xed86b9},
-  {0x538c, 0xed87a1},
-  {0x538d, 0xeda387},
-  {0x538e, 0xe895bd},
-  {0x538f, 0xe895be},
-  {0x5390, 0xe89680},
-  {0x5391, 0xe89681},
-  {0x5392, 0xe89682},
-  {0x5393, 0xe89683},
-  {0x5394, 0xe89684},
-  {0x5395, 0xeb8b9e},
-  {0x5396, 0xe89685},
-  {0x5397, 0xe89686},
-  {0x5398, 0xec83a5},
-  {0x5399, 0xe89687},
-  {0x539a, 0xebabb1},
-  {0x539b, 0xe89688},
-  {0x539c, 0xe89689},
-  {0x539d, 0xeda388},
-  {0x539e, 0xe8968a},
-  {0x539f, 0xed92ad},
-  {0x53a0, 0xe8968b},
-  {0x53a1, 0xe8968c},
-  {0x53a2, 0xecbfa1},
-  {0x53a3, 0xeda389},
-  {0x53a4, 0xe8968d},
-  {0x53a5, 0xeda38a},
-  {0x53a6, 0xecbf83},
-  {0x53a7, 0xe8968e},
-  {0x53a8, 0xeb8fb8},
-  {0x53a9, 0xebbb87},
-  {0x53aa, 0xe8968f},
-  {0x53ab, 0xe89690},
-  {0x53ac, 0xe89691},
-  {0x53ad, 0xe89692},
-  {0x53ae, 0xeda38b},
-  {0x53af, 0xe89693},
-  {0x53b0, 0xe89694},
-  {0x53b1, 0xe89695},
-  {0x53b2, 0xe89696},
-  {0x53b3, 0xe89697},
-  {0x53b4, 0xe89698},
-  {0x53b5, 0xe89699},
-  {0x53b6, 0xedaf8c},
-  {0x53b7, 0xe8969a},
-  {0x53b8, 0xe8969b},
-  {0x53b9, 0xe8969c},
-  {0x53ba, 0xe8969d},
-  {0x53bb, 0xeca2a5},
-  {0x53bc, 0xe8969e},
-  {0x53bd, 0xe8969f},
-  {0x53be, 0xe896a0},
-  {0x53bf, 0xecbf98},
-  {0x53c0, 0xe896a1},
-  {0x53c1, 0xeca3be},
-  {0x53c2, 0xeb8b8e},
-  {0x53c3, 0xe896a2},
-  {0x53c4, 0xe896a3},
-  {0x53c5, 0xe896a4},
-  {0x53c6, 0xe896a5},
-  {0x53c7, 0xe896a6},
-  {0x53c8, 0xed8f96},
-  {0x53c9, 0xeb8ba6},
-  {0x53ca, 0xebb2b0},
-  {0x53cb, 0xed8f91},
-  {0x53cc, 0xecaeab},
-  {0x53cd, 0xeb9eb4},
-  {0x53ce, 0xe896a7},
-  {0x53cf, 0xe896a8},
-  {0x53d0, 0xe896a9},
-  {0x53d1, 0xeb9ea2},
-  {0x53d2, 0xe896aa},
-  {0x53d3, 0xe896ab},
-  {0x53d4, 0xecaba5},
-  {0x53d5, 0xe896ac},
-  {0x53d6, 0xeca2a1},
-  {0x53d7, 0xecab9c},
-  {0x53d8, 0xeb87a4},
-  {0x53d9, 0xed83b0},
-  {0x53da, 0xe896ad},
-  {0x53db, 0xec9791},
-  {0x53dc, 0xe896ae},
-  {0x53dd, 0xe896af},
-  {0x53de, 0xe896b0},
-  {0x53df, 0xedaf85},
-  {0x53e0, 0xeb97be},
-  {0x53e1, 0xe896b1},
-  {0x53e2, 0xe896b2},
-  {0x53e3, 0xebbf9a},
-  {0x53e4, 0xeba785},
-  {0x53e5, 0xebbba4},
-  {0x53e6, 0xec87ad},
-  {0x53e7, 0xe896b3},
-  {0x53e8, 0xedbeb6},
-  {0x53e9, 0xedbeb5},
-  {0x53ea, 0xed9abb},
-  {0x53eb, 0xebb790},
-  {0x53ec, 0xed9799},
-  {0x53ed, 0xeb8388},
-  {0x53ee, 0xeb9aa3},
-  {0x53ef, 0xebbf89},
-  {0x53f0, 0xecb2a8},
-  {0x53f1, 0xedbeb3},
-  {0x53f2, 0xecaab7},
-  {0x53f3, 0xed8f92},
-  {0x53f4, 0xe896b4},
-  {0x53f5, 0xeda38f},
-  {0x53f6, 0xed8ab6},
-  {0x53f7, 0xebab85},
-  {0x53f8, 0xecaebe},
-  {0x53f9, 0xecb2be},
-  {0x53fa, 0xe896b5},
-  {0x53fb, 0xedbeb7},
-  {0x53fc, 0xeb97b0},
-  {0x53fd, 0xedbeb4},
-  {0x53fe, 0xe896b6},
-  {0x53ff, 0xe896b7},
-  {0x5400, 0xe896b8},
-  {0x5401, 0xed8fb5},
-  {0x5402, 0xe896b9},
-  {0x5403, 0xeb8f94},
-  {0x5404, 0xeba3b7},
-  {0x5405, 0xe896ba},
-  {0x5406, 0xedbeba},
-  {0x5407, 0xe896bb},
-  {0x5408, 0xebab8f},
-  {0x5409, 0xebb2aa},
-  {0x540a, 0xeb97b5},
-  {0x540b, 0xe896bc},
-  {0x540c, 0xecb6ac},
-  {0x540d, 0xec8fbb},
-  {0x540e, 0xebabb3},
-  {0x540f, 0xec83b4},
-  {0x5410, 0xecb782},
-  {0x5411, 0xecbfb2},
-  {0x5412, 0xedbeb8},
-  {0x5413, 0xecbf85},
-  {0x5414, 0xe896bd},
-  {0x5415, 0xec8b80},
-  {0x5416, 0xedbeb9},
-  {0x5417, 0xec8bb0},
-  {0x5418, 0xe896be},
-  {0x5419, 0xe896bf},
-  {0x541a, 0xe89780},
-  {0x541b, 0xebbbbd},
-  {0x541c, 0xe89781},
-  {0x541d, 0xec879f},
-  {0x541e, 0xecb78c},
-  {0x541f, 0xed8bb7},
-  {0x5420, 0xeb9f8d},
-  {0x5421, 0xedbf81},
-  {0x5422, 0xe89782},
-  {0x5423, 0xedbf84},
-  {0x5424, 0xe89783},
-  {0x5425, 0xe89784},
-  {0x5426, 0xeb9fb1},
-  {0x5427, 0xeb8389},
-  {0x5428, 0xeb9b96},
-  {0x5429, 0xeb9f94},
-  {0x542a, 0xe89785},
-  {0x542b, 0xebaaac},
-  {0x542c, 0xecb3bd},
-  {0x542d, 0xebbf94},
-  {0x542e, 0xecaeb1},
-  {0x542f, 0xec9bb4},
-  {0x5430, 0xe89786},
-  {0x5431, 0xed9aa8},
-  {0x5432, 0xedbf85},
-  {0x5433, 0xe89787},
-  {0x5434, 0xecbba2},
-  {0x5435, 0xeb8eb3},
-  {0x5436, 0xe89788},
-  {0x5437, 0xe89789},
-  {0x5438, 0xecbbbc},
-  {0x5439, 0xeb92b5},
-  {0x543a, 0xe8978a},
-  {0x543b, 0xecbb87},
-  {0x543c, 0xebabb0},
-  {0x543d, 0xe8978b},
-  {0x543e, 0xecbba1},
-  {0x543f, 0xe8978c},
-  {0x5440, 0xed86bd},
-  {0x5441, 0xe8978d},
-  {0x5442, 0xe8978e},
-  {0x5443, 0xedbf80},
-  {0x5444, 0xe8978f},
-  {0x5445, 0xe89790},
-  {0x5446, 0xeb93b4},
-  {0x5447, 0xe89791},
-  {0x5448, 0xeb8f8a},
-  {0x5449, 0xe89792},
-  {0x544a, 0xeba3a6},
-  {0x544b, 0xedbebb},
-  {0x544c, 0xe89793},
-  {0x544d, 0xe89794},
-  {0x544e, 0xe89795},
-  {0x544f, 0xe89796},
-  {0x5450, 0xec9385},
-  {0x5451, 0xe89797},
-  {0x5452, 0xedbebc},
-  {0x5453, 0xedbebd},
-  {0x5454, 0xedbebe},
-  {0x5455, 0xec96bb},
-  {0x5456, 0xedbebf},
-  {0x5457, 0xedbf82},
-  {0x5458, 0xed92b1},
-  {0x5459, 0xedbf83},
-  {0x545a, 0xe89798},
-  {0x545b, 0xec9eba},
-  {0x545c, 0xecbb98},
-  {0x545d, 0xe89799},
-  {0x545e, 0xe8979a},
-  {0x545f, 0xe8979b},
-  {0x5460, 0xe8979c},
-  {0x5461, 0xe8979d},
-  {0x5462, 0xec9398},
-  {0x5463, 0xe8979e},
-  {0x5464, 0xedbf8a},
-  {0x5465, 0xe8979f},
-  {0x5466, 0xedbf8f},
-  {0x5467, 0xe897a0},
-  {0x5468, 0xed9b9c},
-  {0x5469, 0xe897a1},
-  {0x546a, 0xe897a2},
-  {0x546b, 0xe897a3},
-  {0x546c, 0xe897a4},
-  {0x546d, 0xe897a5},
-  {0x546e, 0xe897a6},
-  {0x546f, 0xe897a7},
-  {0x5470, 0xe897a8},
-  {0x5471, 0xedbf89},
-  {0x5472, 0xedbf9a},
-  {0x5473, 0xecbab6},
-  {0x5474, 0xe897a9},
-  {0x5475, 0xebab87},
-  {0x5476, 0xedbf8e},
-  {0x5477, 0xedbf88},
-  {0x5478, 0xec979e},
-  {0x5479, 0xe897aa},
-  {0x547a, 0xe897ab},
-  {0x547b, 0xeca7ab},
-  {0x547c, 0xebabb4},
-  {0x547d, 0xec8fbc},
-  {0x547e, 0xe897ac},
-  {0x547f, 0xe897ad},
-  {0x5480, 0xebbb97},
-  {0x5481, 0xe897ae},
-  {0x5482, 0xedbf86},
-  {0x5483, 0xe897af},
-  {0x5484, 0xedbf8d},
-  {0x5485, 0xe897b0},
-  {0x5486, 0xec9798},
-  {0x5487, 0xe897b1},
-  {0x5488, 0xe897b2},
-  {0x5489, 0xe897b3},
-  {0x548a, 0xe897b4},
-  {0x548b, 0xed96a6},
-  {0x548c, 0xebab8d},
-  {0x548d, 0xe897b5},
-  {0x548e, 0xebbb8c},
-  {0x548f, 0xed8ebd},
-  {0x5490, 0xeba380},
-  {0x5491, 0xe897b6},
-  {0x5492, 0xed9ba4},
-  {0x5493, 0xe897b7},
-  {0x5494, 0xedbf87},
-  {0x5495, 0xeba6be},
-  {0x5496, 0xebbea7},
-  {0x5497, 0xe897b8},
-  {0x5498, 0xe897b9},
-  {0x5499, 0xec87bc},
-  {0x549a, 0xedbf8b},
-  {0x549b, 0xedbf8c},
-  {0x549c, 0xe897ba},
-  {0x549d, 0xedbf90},
-  {0x549e, 0xe897bb},
-  {0x549f, 0xe897bc},
-  {0x54a0, 0xe897bd},
-  {0x54a1, 0xe897be},
-  {0x54a2, 0xe89980},
-  {0x54a3, 0xedbf9b},
-  {0x54a4, 0xedbfa5},
-  {0x54a5, 0xe89981},
-  {0x54a6, 0xedbf97},
-  {0x54a7, 0xedbf96},
-  {0x54a8, 0xed9f89},
-  {0x54a9, 0xedbfa3},
-  {0x54aa, 0xedbfa4},
-  {0x54ab, 0xee97ab},
-  {0x54ac, 0xed8aa7},
-  {0x54ad, 0xedbf92},
-  {0x54ae, 0xe89982},
-  {0x54af, 0xebbea9},
-  {0x54b0, 0xe89983},
-  {0x54b1, 0xed939b},
-  {0x54b2, 0xe89984},
-  {0x54b3, 0xebbf88},
-  {0x54b4, 0xedbf94},
-  {0x54b5, 0xe89985},
-  {0x54b6, 0xe89986},
-  {0x54b7, 0xe89987},
-  {0x54b8, 0xecbf8c},
-  {0x54b9, 0xe89988},
-  {0x54ba, 0xe89989},
-  {0x54bb, 0xedbf9d},
-  {0x54bc, 0xe8998a},
-  {0x54bd, 0xed878a},
-  {0x54be, 0xe8998b},
-  {0x54bf, 0xedbf9e},
-  {0x54c0, 0xeb82a7},
-  {0x54c1, 0xec9ab7},
-  {0x54c2, 0xedbf93},
-  {0x54c3, 0xe8998c},
-  {0x54c4, 0xebaba5},
-  {0x54c5, 0xe8998d},
-  {0x54c6, 0xeb9b9f},
-  {0x54c7, 0xecb79b},
-  {0x54c8, 0xeba7be},
-  {0x54c9, 0xed9395},
-  {0x54ca, 0xe8998e},
-  {0x54cb, 0xe8998f},
-  {0x54cc, 0xedbf9f},
-  {0x54cd, 0xecbfac},
-  {0x54ce, 0xeb82a5},
-  {0x54cf, 0xedbfa7},
-  {0x54d0, 0xedbf91},
-  {0x54d1, 0xed8786},
-  {0x54d2, 0xedbf95},
-  {0x54d3, 0xedbf98},
-  {0x54d4, 0xedbf99},
-  {0x54d5, 0xedbf9c},
-  {0x54d6, 0xe89990},
-  {0x54d7, 0xebaea9},
-  {0x54d8, 0xe89991},
-  {0x54d9, 0xedbfa0},
-  {0x54da, 0xedbfa1},
-  {0x54db, 0xe89992},
-  {0x54dc, 0xedbfa2},
-  {0x54dd, 0xedbfa6},
-  {0x54de, 0xedbfa8},
-  {0x54df, 0xed8eb4},
-  {0x54e0, 0xe89993},
-  {0x54e1, 0xe89994},
-  {0x54e2, 0xe89995},
-  {0x54e3, 0xe89996},
-  {0x54e4, 0xe89997},
-  {0x54e5, 0xeba3a7},
-  {0x54e6, 0xec96b6},
-  {0x54e7, 0xedbfaa},
-  {0x54e8, 0xeca79a},
-  {0x54e9, 0xec86a8},
-  {0x54ea, 0xec9384},
-  {0x54eb, 0xe89998},
-  {0x54ec, 0xe89999},
-  {0x54ed, 0xebbf9e},
-  {0x54ee, 0xecbfb8},
-  {0x54ef, 0xe8999a},
-  {0x54f0, 0xe8999b},
-  {0x54f1, 0xe8999c},
-  {0x54f2, 0xed979c},
-  {0x54f3, 0xedbfae},
-  {0x54f4, 0xe8999d},
-  {0x54f5, 0xe8999e},
-  {0x54f6, 0xe8999f},
-  {0x54f7, 0xe899a0},
-  {0x54f8, 0xe899a1},
-  {0x54f9, 0xe899a2},
-  {0x54fa, 0xeb8ab8},
-  {0x54fb, 0xe899a3},
-  {0x54fc, 0xebab9f},
-  {0x54fd, 0xedbfac},
-  {0x54fe, 0xe899a4},
-  {0x54ff, 0xedaf81},
-  {0x5500, 0xe899a5},
-  {0x5501, 0xed87a4},
-  {0x5502, 0xe899a6},
-  {0x5503, 0xe899a7},
-  {0x5504, 0xe899a8},
-  {0x5505, 0xe899a9},
-  {0x5506, 0xecafb4},
-  {0x5507, 0xeb92bd},
-  {0x5508, 0xe899aa},
-  {0x5509, 0xeb82a6},
-  {0x550a, 0xe899ab},
-  {0x550b, 0xe899ac},
-  {0x550c, 0xe899ad},
-  {0x550d, 0xe899ae},
-  {0x550e, 0xe899af},
-  {0x550f, 0xedbfb1},
-  {0x5510, 0xecb386},
-  {0x5511, 0xedbfb2},
-  {0x5512, 0xe899b0},
-  {0x5513, 0xe899b1},
-  {0x5514, 0xedbfad},
-  {0x5515, 0xe899b2},
-  {0x5516, 0xe899b3},
-  {0x5517, 0xe899b4},
-  {0x5518, 0xe899b5},
-  {0x5519, 0xe899b6},
-  {0x551a, 0xe899b7},
-  {0x551b, 0xedbfa9},
-  {0x551c, 0xe899b8},
-  {0x551d, 0xe899b9},
-  {0x551e, 0xe899ba},
-  {0x551f, 0xe899bb},
-  {0x5520, 0xedbfab},
-  {0x5521, 0xe899bc},
-  {0x5522, 0xedbfaf},
-  {0x5523, 0xedbfb0},
-  {0x5524, 0xebaebd},
-  {0x5525, 0xe899bd},
-  {0x5526, 0xe899be},
-  {0x5527, 0xedbfb3},
-  {0x5528, 0xe89a80},
-  {0x5529, 0xe89a81},
-  {0x552a, 0xedbfb4},
-  {0x552b, 0xe89a82},
-  {0x552c, 0xebaea3},
-  {0x552d, 0xe89a83},
-  {0x552e, 0xecab9b},
-  {0x552f, 0xecbaa8},
-  {0x5530, 0xee82a7},
-  {0x5531, 0xeb8eaa},
-  {0x5532, 0xe89a84},
-  {0x5533, 0xee82a6},
-  {0x5534, 0xe89a85},
-  {0x5535, 0xe89a86},
-  {0x5536, 0xe89a87},
-  {0x5537, 0xee82a1},
-  {0x5538, 0xe89a88},
-  {0x5539, 0xe89a89},
-  {0x553a, 0xe89a8a},
-  {0x553b, 0xe89a8b},
-  {0x553c, 0xedbfbe},
-  {0x553d, 0xe89a8c},
-  {0x553e, 0xecb799},
-  {0x553f, 0xedbfbc},
-  {0x5540, 0xe89a8d},
-  {0x5541, 0xedbfba},
-  {0x5542, 0xe89a8e},
-  {0x5543, 0xebbf90},
-  {0x5544, 0xed9f84},
-  {0x5545, 0xe89a8f},
-  {0x5546, 0xeca78c},
-  {0x5547, 0xe89a90},
-  {0x5548, 0xe89a91},
-  {0x5549, 0xedbfb8},
-  {0x554a, 0xeb82a1},
-  {0x554b, 0xe89a92},
-  {0x554c, 0xe89a93},
-  {0x554d, 0xe89a94},
-  {0x554e, 0xe89a95},
-  {0x554f, 0xe89a96},
-  {0x5550, 0xedbfbd},
-  {0x5551, 0xe89a97},
-  {0x5552, 0xe89a98},
-  {0x5553, 0xe89a99},
-  {0x5554, 0xe89a9a},
-  {0x5555, 0xedbfbb},
-  {0x5556, 0xee82a2},
-  {0x5557, 0xe89a9b},
-  {0x5558, 0xe89a9c},
-  {0x5559, 0xe89a9d},
-  {0x555a, 0xe89a9e},
-  {0x555b, 0xe89a9f},
-  {0x555c, 0xee82a8},
-  {0x555d, 0xe89aa0},
-  {0x555e, 0xe89aa1},
-  {0x555f, 0xe89aa2},
-  {0x5560, 0xe89aa3},
-  {0x5561, 0xeb9f88},
-  {0x5562, 0xe89aa4},
-  {0x5563, 0xe89aa5},
-  {0x5564, 0xec9aa1},
-  {0x5565, 0xeca6b6},
-  {0x5566, 0xec82b2},
-  {0x5567, 0xedbfb5},
-  {0x5568, 0xe89aa6},
-  {0x5569, 0xe89aa7},
-  {0x556a, 0xec96be},
-  {0x556b, 0xe89aa8},
-  {0x556c, 0xeda384},
-  {0x556d, 0xedbfb9},
-  {0x556e, 0xec93b6},
-  {0x556f, 0xe89aa9},
-  {0x5570, 0xe89aaa},
-  {0x5571, 0xe89aab},
-  {0x5572, 0xe89aac},
-  {0x5573, 0xe89aad},
-  {0x5574, 0xe89aae},
-  {0x5575, 0xee82a3},
-  {0x5576, 0xee82a4},
-  {0x5577, 0xee82a5},
-  {0x5578, 0xed82a5},
-  {0x5579, 0xe89aaf},
-  {0x557a, 0xe89ab0},
-  {0x557b, 0xee82b4},
-  {0x557c, 0xecb3a4},
-  {0x557d, 0xe89ab1},
-  {0x557e, 0xee82b1},
-  {0x557f, 0xe89ab2},
-  {0x5580, 0xebbea6},
-  {0x5581, 0xee82af},
-  {0x5582, 0xecbab9},
-  {0x5583, 0xee82ab},
-  {0x5584, 0xeca786},
-  {0x5585, 0xe89ab3},
-  {0x5586, 0xe89ab4},
-  {0x5587, 0xec82ae},
-  {0x5588, 0xee82ae},
-  {0x5589, 0xebabad},
-  {0x558a, 0xebaab0},
-  {0x558b, 0xee82a9},
-  {0x558c, 0xe89ab5},
-  {0x558d, 0xe89ab6},
-  {0x558e, 0xe89ab7},
-  {0x558f, 0xedbfb6},
-  {0x5590, 0xe89ab8},
-  {0x5591, 0xee82b3},
-  {0x5592, 0xe89ab9},
-  {0x5593, 0xe89aba},
-  {0x5594, 0xee82b8},
-  {0x5595, 0xe89abb},
-  {0x5596, 0xe89abc},
-  {0x5597, 0xe89abd},
-  {0x5598, 0xeb92ad},
-  {0x5599, 0xee82b9},
-  {0x559a, 0xe89abe},
-  {0x559b, 0xe89abf},
-  {0x559c, 0xecbeb2},
-  {0x559d, 0xebab88},
-  {0x559e, 0xe89b80},
-  {0x559f, 0xee82b0},
-  {0x55a0, 0xe89b81},
-  {0x55a1, 0xe89b82},
-  {0x55a2, 0xe89b83},
-  {0x55a3, 0xe89b84},
-  {0x55a4, 0xe89b85},
-  {0x55a5, 0xe89b86},
-  {0x55a6, 0xe89b87},
-  {0x55a7, 0xed83ba},
-  {0x55a8, 0xe89b88},
-  {0x55a9, 0xe89b89},
-  {0x55aa, 0xe89b8a},
-  {0x55ab, 0xe89b8b},
-  {0x55ac, 0xe89b8c},
-  {0x55ad, 0xe89b8d},
-  {0x55ae, 0xe89b8e},
-  {0x55af, 0xe89b8f},
-  {0x55b0, 0xe89b90},
-  {0x55b1, 0xee82ac},
-  {0x55b2, 0xe89b91},
-  {0x55b3, 0xed93bb},
-  {0x55b4, 0xe89b92},
-  {0x55b5, 0xedbfb7},
-  {0x55b6, 0xe89b93},
-  {0x55b7, 0xec97a7},
-  {0x55b8, 0xe89b94},
-  {0x55b9, 0xee82ad},
-  {0x55ba, 0xe89b95},
-  {0x55bb, 0xed8fb7},
-  {0x55bc, 0xe89b96},
-  {0x55bd, 0xee82b6},
-  {0x55be, 0xee82b7},
-  {0x55bf, 0xe89b97},
-  {0x55c0, 0xe89b98},
-  {0x55c1, 0xe89b99},
-  {0x55c2, 0xe89b9a},
-  {0x55c3, 0xe89b9b},
-  {0x55c4, 0xee8384},
-  {0x55c5, 0xed83a1},
-  {0x55c6, 0xe89b9c},
-  {0x55c7, 0xe89b9d},
-  {0x55c8, 0xe89b9e},
-  {0x55c9, 0xee82bc},
-  {0x55ca, 0xe89b9f},
-  {0x55cb, 0xe89ba0},
-  {0x55cc, 0xee8389},
-  {0x55cd, 0xee838a},
-  {0x55ce, 0xe89ba1},
-  {0x55cf, 0xe89ba2},
-  {0x55d0, 0xe89ba3},
-  {0x55d1, 0xee82be},
-  {0x55d2, 0xee82aa},
-  {0x55d3, 0xeca6a4},
-  {0x55d4, 0xee8381},
-  {0x55d5, 0xe89ba4},
-  {0x55d6, 0xee82b2},
-  {0x55d7, 0xe89ba5},
-  {0x55d8, 0xe89ba6},
-  {0x55d9, 0xe89ba7},
-  {0x55da, 0xe89ba8},
-  {0x55db, 0xe89ba9},
-  {0x55dc, 0xecab88},
-  {0x55dd, 0xee8383},
-  {0x55de, 0xe89baa},
-  {0x55df, 0xee82b5},
-  {0x55e0, 0xe89bab},
-  {0x55e1, 0xecbb8b},
-  {0x55e2, 0xe89bac},
-  {0x55e3, 0xecaf83},
-  {0x55e4, 0xee838d},
-  {0x55e5, 0xee8386},
-  {0x55e6, 0xee8382},
-  {0x55e7, 0xe89bad},
-  {0x55e8, 0xee838b},
-  {0x55e9, 0xe89bae},
-  {0x55ea, 0xee82ba},
-  {0x55eb, 0xee82bf},
-  {0x55ec, 0xee8380},
-  {0x55ed, 0xe89baf},
-  {0x55ee, 0xe89bb0},
-  {0x55ef, 0xee8385},
-  {0x55f0, 0xe89bb1},
-  {0x55f1, 0xe89bb2},
-  {0x55f2, 0xee8387},
-  {0x55f3, 0xee8388},
-  {0x55f4, 0xe89bb3},
-  {0x55f5, 0xee838c},
-  {0x55f6, 0xe89bb4},
-  {0x55f7, 0xee82bb},
-  {0x55f8, 0xe89bb5},
-  {0x55f9, 0xe89bb6},
-  {0x55fa, 0xe89bb7},
-  {0x55fb, 0xe89bb8},
-  {0x55fc, 0xe89bb9},
-  {0x55fd, 0xecaf94},
-  {0x55fe, 0xee8395},
-  {0x55ff, 0xe89bba},
-  {0x5600, 0xee8396},
-  {0x5601, 0xee8392},
-  {0x5602, 0xe89bbb},
-  {0x5603, 0xe89bbc},
-  {0x5604, 0xe89bbd},
-  {0x5605, 0xe89bbe},
-  {0x5606, 0xe89d80},
-  {0x5607, 0xe89d81},
-  {0x5608, 0xee8390},
-  {0x5609, 0xebb38e},
-  {0x560a, 0xe89d82},
-  {0x560b, 0xe89d83},
-  {0x560c, 0xee8391},
-  {0x560d, 0xe89d84},
-  {0x560e, 0xeba382},
-  {0x560f, 0xeda385},
-  {0x5610, 0xe89d85},
-  {0x5611, 0xe89d86},
-  {0x5612, 0xe89d87},
-  {0x5613, 0xe89d88},
-  {0x5614, 0xe89d89},
-  {0x5615, 0xe89d8a},
-  {0x5616, 0xe89d8b},
-  {0x5617, 0xe89d8c},
-  {0x5618, 0xed83aa},
-  {0x5619, 0xe89d8d},
-  {0x561a, 0xe89d8e},
-  {0x561b, 0xec8baf},
-  {0x561c, 0xe89d8f},
-  {0x561d, 0xe89d90},
-  {0x561e, 0xee838f},
-  {0x561f, 0xee82bd},
-  {0x5620, 0xe89d91},
-  {0x5621, 0xe89d92},
-  {0x5622, 0xe89d93},
-  {0x5623, 0xee8394},
-  {0x5624, 0xee8393},
-  {0x5625, 0xe89d94},
-  {0x5626, 0xe89d95},
-  {0x5627, 0xee8397},
-  {0x5628, 0xe89d96},
-  {0x5629, 0xe89d97},
-  {0x562a, 0xe89d98},
-  {0x562b, 0xe89d99},
-  {0x562c, 0xee839c},
-  {0x562d, 0xee8398},
-  {0x562e, 0xe89d9a},
-  {0x562f, 0xe89d9b},
-  {0x5630, 0xe89d9c},
-  {0x5631, 0xed9bb6},
-  {0x5632, 0xeb8eb0},
-  {0x5633, 0xe89d9d},
-  {0x5634, 0xed9fac},
-  {0x5635, 0xe89d9e},
-  {0x5636, 0xecaebb},
-  {0x5637, 0xe89d9f},
-  {0x5638, 0xe89da0},
-  {0x5639, 0xee839a},
-  {0x563a, 0xe89da1},
-  {0x563b, 0xecbbbb},
-  {0x563c, 0xe89da2},
-  {0x563d, 0xe89da3},
-  {0x563e, 0xe89da4},
-  {0x563f, 0xebab99},
-  {0x5640, 0xe89da5},
-  {0x5641, 0xe89da6},
-  {0x5642, 0xe89da7},
-  {0x5643, 0xe89da8},
-  {0x5644, 0xe89da9},
-  {0x5645, 0xe89daa},
-  {0x5646, 0xe89dab},
-  {0x5647, 0xe89dac},
-  {0x5648, 0xe89dad},
-  {0x5649, 0xe89dae},
-  {0x564a, 0xe89daf},
-  {0x564b, 0xe89db0},
-  {0x564c, 0xee83a1},
-  {0x564d, 0xee839d},
-  {0x564e, 0xed8aad},
-  {0x564f, 0xe89db1},
-  {0x5650, 0xe89db2},
-  {0x5651, 0xe89db3},
-  {0x5652, 0xe89db4},
-  {0x5653, 0xe89db5},
-  {0x5654, 0xee83a2},
-  {0x5655, 0xe89db6},
-  {0x5656, 0xe89db7},
-  {0x5657, 0xee839b},
-  {0x5658, 0xee8399},
-  {0x5659, 0xee839f},
-  {0x565a, 0xe89db8},
-  {0x565b, 0xe89db9},
-  {0x565c, 0xee83a0},
-  {0x565d, 0xe89dba},
-  {0x565e, 0xe89dbb},
-  {0x565f, 0xe89dbc},
-  {0x5660, 0xe89dbd},
-  {0x5661, 0xe89dbe},
-  {0x5662, 0xee839e},
-  {0x5663, 0xe89e80},
-  {0x5664, 0xee83a4},
-  {0x5665, 0xe89e81},
-  {0x5666, 0xe89e82},
-  {0x5667, 0xe89e83},
-  {0x5668, 0xec9bb7},
-  {0x5669, 0xeda2ac},
-  {0x566a, 0xed93ab},
-  {0x566b, 0xee83a6},
-  {0x566c, 0xecab89},
-  {0x566d, 0xe89e84},
-  {0x566e, 0xe89e85},
-  {0x566f, 0xe89e86},
-  {0x5670, 0xe89e87},
-  {0x5671, 0xee83a5},
-  {0x5672, 0xe89e88},
-  {0x5673, 0xe89e89},
-  {0x5674, 0xe89e8a},
-  {0x5675, 0xe89e8b},
-  {0x5676, 0xeba381},
-  {0x5677, 0xe89e8c},
-  {0x5678, 0xe89e8d},
-  {0x5679, 0xe89e8e},
-  {0x567a, 0xe89e8f},
-  {0x567b, 0xee83a7},
-  {0x567c, 0xee83a8},
-  {0x567d, 0xe89e90},
-  {0x567e, 0xe89e91},
-  {0x567f, 0xe89e92},
-  {0x5680, 0xe89e93},
-  {0x5681, 0xe89e94},
-  {0x5682, 0xe89e95},
-  {0x5683, 0xe89e96},
-  {0x5684, 0xe89e97},
-  {0x5685, 0xee83a9},
-  {0x5686, 0xee83a3},
-  {0x5687, 0xe89e98},
-  {0x5688, 0xe89e99},
-  {0x5689, 0xe89e9a},
-  {0x568a, 0xe89e9b},
-  {0x568b, 0xe89e9c},
-  {0x568c, 0xe89e9d},
-  {0x568d, 0xe89e9e},
-  {0x568e, 0xebaabf},
-  {0x568f, 0xecb3a7},
-  {0x5690, 0xe89e9f},
-  {0x5691, 0xe89ea0},
-  {0x5692, 0xe89ea1},
-  {0x5693, 0xee83aa},
-  {0x5694, 0xe89ea2},
-  {0x5695, 0xe89ea3},
-  {0x5696, 0xe89ea4},
-  {0x5697, 0xe89ea5},
-  {0x5698, 0xe89ea6},
-  {0x5699, 0xe89ea7},
-  {0x569a, 0xe89ea8},
-  {0x569b, 0xe89ea9},
-  {0x569c, 0xe89eaa},
-  {0x569d, 0xe89eab},
-  {0x569e, 0xe89eac},
-  {0x569f, 0xe89ead},
-  {0x56a0, 0xe89eae},
-  {0x56a1, 0xe89eaf},
-  {0x56a2, 0xe89eb0},
-  {0x56a3, 0xecbfb9},
-  {0x56a4, 0xe89eb1},
-  {0x56a5, 0xe89eb2},
-  {0x56a6, 0xe89eb3},
-  {0x56a7, 0xe89eb4},
-  {0x56a8, 0xe89eb5},
-  {0x56a9, 0xe89eb6},
-  {0x56aa, 0xe89eb7},
-  {0x56ab, 0xe89eb8},
-  {0x56ac, 0xe89eb9},
-  {0x56ad, 0xe89eba},
-  {0x56ae, 0xe89ebb},
-  {0x56af, 0xee83ab},
-  {0x56b0, 0xe89ebc},
-  {0x56b1, 0xe89ebd},
-  {0x56b2, 0xe89ebe},
-  {0x56b3, 0xe89ebf},
-  {0x56b4, 0xe89f80},
-  {0x56b5, 0xe89f81},
-  {0x56b6, 0xe89f82},
-  {0x56b7, 0xeca382},
-  {0x56b8, 0xe89f83},
-  {0x56b9, 0xe89f84},
-  {0x56ba, 0xe89f85},
-  {0x56bb, 0xe89f86},
-  {0x56bc, 0xebb780},
-  {0x56bd, 0xe89f87},
-  {0x56be, 0xe89f88},
-  {0x56bf, 0xe89f89},
-  {0x56c0, 0xe89f8a},
-  {0x56c1, 0xe89f8b},
-  {0x56c2, 0xe89f8c},
-  {0x56c3, 0xe89f8d},
-  {0x56c4, 0xe89f8e},
-  {0x56c5, 0xe89f8f},
-  {0x56c6, 0xe89f90},
-  {0x56c7, 0xe89f91},
-  {0x56c8, 0xe89f92},
-  {0x56c9, 0xe89f93},
-  {0x56ca, 0xec9392},
-  {0x56cb, 0xe89f94},
-  {0x56cc, 0xe89f95},
-  {0x56cd, 0xe89f96},
-  {0x56ce, 0xe89f97},
-  {0x56cf, 0xe89f98},
-  {0x56d0, 0xe89f99},
-  {0x56d1, 0xe89f9a},
-  {0x56d2, 0xe89f9b},
-  {0x56d3, 0xe89f9c},
-  {0x56d4, 0xee83ac},
-  {0x56d5, 0xe89f9d},
-  {0x56d6, 0xe89f9e},
-  {0x56d7, 0xee83ad},
-  {0x56d8, 0xe89f9f},
-  {0x56d9, 0xe89fa0},
-  {0x56da, 0xec9fb4},
-  {0x56db, 0xecaf84},
-  {0x56dc, 0xe89fa1},
-  {0x56dd, 0xee83ae},
-  {0x56de, 0xebaf98},
-  {0x56df, 0xeda2b6},
-  {0x56e0, 0xed8bb2},
-  {0x56e1, 0xee83af},
-  {0x56e2, 0xecb785},
-  {0x56e3, 0xe89fa2},
-  {0x56e4, 0xeb9b9a},
-  {0x56e5, 0xe89fa3},
-  {0x56e6, 0xe89fa4},
-  {0x56e7, 0xe89fa5},
-  {0x56e8, 0xe89fa6},
-  {0x56e9, 0xe89fa7},
-  {0x56ea, 0xe89fa8},
-  {0x56eb, 0xee83b1},
-  {0x56ec, 0xe89fa9},
-  {0x56ed, 0xed92b0},
-  {0x56ee, 0xe89faa},
-  {0x56ef, 0xe89fab},
-  {0x56f0, 0xec82a7},
-  {0x56f1, 0xeb9391},
-  {0x56f2, 0xe89fac},
-  {0x56f3, 0xe89fad},
-  {0x56f4, 0xecbaa7},
-  {0x56f5, 0xee83b0},
-  {0x56f6, 0xe89fae},
-  {0x56f7, 0xe89faf},
-  {0x56f8, 0xe89fb0},
-  {0x56f9, 0xee83b2},
-  {0x56fa, 0xeba78c},
-  {0x56fb, 0xe89fb1},
-  {0x56fc, 0xe89fb2},
-  {0x56fd, 0xeba7ba},
-  {0x56fe, 0xecb6bc},
-  {0x56ff, 0xee83b3},
-  {0x5700, 0xe89fb3},
-  {0x5701, 0xe89fb4},
-  {0x5702, 0xe89fb5},
-  {0x5703, 0xec9b94},
-  {0x5704, 0xee83b4},
-  {0x5705, 0xe89fb6},
-  {0x5706, 0xed92b2},
-  {0x5707, 0xe89fb7},
-  {0x5708, 0xeca2a6},
-  {0x5709, 0xee83b6},
-  {0x570a, 0xee83b5},
-  {0x570b, 0xe89fb8},
-  {0x570c, 0xe89fb9},
-  {0x570d, 0xe89fba},
-  {0x570e, 0xe89fbb},
-  {0x570f, 0xe89fbc},
-  {0x5710, 0xe89fbd},
-  {0x5711, 0xe89fbe},
-  {0x5712, 0xe8a180},
-  {0x5713, 0xe8a181},
-  {0x5714, 0xe8a182},
-  {0x5715, 0xe8a183},
-  {0x5716, 0xe8a184},
-  {0x5717, 0xe8a185},
-  {0x5718, 0xe8a186},
-  {0x5719, 0xe8a187},
-  {0x571a, 0xe8a188},
-  {0x571b, 0xe8a189},
-  {0x571c, 0xee83b7},
-  {0x571d, 0xe8a18a},
-  {0x571e, 0xe8a18b},
-  {0x571f, 0xecb781},
-  {0x5720, 0xe8a18c},
-  {0x5721, 0xe8a18d},
-  {0x5722, 0xe8a18e},
-  {0x5723, 0xecaaa5},
-  {0x5724, 0xe8a18f},
-  {0x5725, 0xe8a190},
-  {0x5726, 0xe8a191},
-  {0x5727, 0xe8a192},
-  {0x5728, 0xed939a},
-  {0x5729, 0xedaf97},
-  {0x572a, 0xedaf99},
-  {0x572b, 0xe8a193},
-  {0x572c, 0xedaf98},
-  {0x572d, 0xeba7a7},
-  {0x572e, 0xedaf9c},
-  {0x572f, 0xedaf9d},
-  {0x5730, 0xeb9798},
-  {0x5731, 0xe8a194},
-  {0x5732, 0xe8a195},
-  {0x5733, 0xedaf9a},
-  {0x5734, 0xe8a196},
-  {0x5735, 0xe8a197},
-  {0x5736, 0xe8a198},
-  {0x5737, 0xe8a199},
-  {0x5738, 0xe8a19a},
-  {0x5739, 0xedaf9b},
-  {0x573a, 0xeb8ea1},
-  {0x573b, 0xedaf9f},
-  {0x573c, 0xe8a19b},
-  {0x573d, 0xe8a19c},
-  {0x573e, 0xebafb8},
-  {0x573f, 0xe8a19d},
-  {0x5740, 0xed9ab7},
-  {0x5741, 0xe8a19e},
-  {0x5742, 0xedafa0},
-  {0x5743, 0xe8a19f},
-  {0x5744, 0xe8a1a0},
-  {0x5745, 0xe8a1a1},
-  {0x5746, 0xe8a1a2},
-  {0x5747, 0xebbbb9},
-  {0x5748, 0xe8a1a3},
-  {0x5749, 0xe8a1a4},
-  {0x574a, 0xeb9ebb},
-  {0x574b, 0xe8a1a5},
-  {0x574c, 0xedaf90},
-  {0x574d, 0xecb2ae},
-  {0x574e, 0xebbeb2},
-  {0x574f, 0xebaeb5},
-  {0x5750, 0xed9fb8},
-  {0x5751, 0xebbf93},
-  {0x5752, 0xe8a1a6},
-  {0x5753, 0xe8a1a7},
-  {0x5754, 0xe8a1a8},
-  {0x5755, 0xe8a1a9},
-  {0x5756, 0xe8a1aa},
-  {0x5757, 0xebbfa9},
-  {0x5758, 0xe8a1ab},
-  {0x5759, 0xe8a1ac},
-  {0x575a, 0xebb3a1},
-  {0x575b, 0xecb2b3},
-  {0x575c, 0xedaf9e},
-  {0x575d, 0xeb8393},
-  {0x575e, 0xecbbab},
-  {0x575f, 0xeb9f98},
-  {0x5760, 0xed9eb9},
-  {0x5761, 0xec9b82},
-  {0x5762, 0xe8a1ad},
-  {0x5763, 0xe8a1ae},
-  {0x5764, 0xec82a4},
-  {0x5765, 0xe8a1af},
-  {0x5766, 0xecb2b9},
-  {0x5767, 0xe8a1b0},
-  {0x5768, 0xedafa7},
-  {0x5769, 0xedafa1},
-  {0x576a, 0xec9aba},
-  {0x576b, 0xedafa3},
-  {0x576c, 0xe8a1b1},
-  {0x576d, 0xedafa8},
-  {0x576e, 0xe8a1b2},
-  {0x576f, 0xec97b7},
-  {0x5770, 0xe8a1b3},
-  {0x5771, 0xe8a1b4},
-  {0x5772, 0xe8a1b5},
-  {0x5773, 0xedafaa},
-  {0x5774, 0xe8a1b6},
-  {0x5775, 0xe8a1b7},
-  {0x5776, 0xedafa9},
-  {0x5777, 0xebbf80},
-  {0x5778, 0xe8a1b8},
-  {0x5779, 0xe8a1b9},
-  {0x577a, 0xe8a1ba},
-  {0x577b, 0xedafa6},
-  {0x577c, 0xedafa5},
-  {0x577d, 0xe8a1bb},
-  {0x577e, 0xe8a1bc},
-  {0x577f, 0xe8a1bd},
-  {0x5780, 0xe8a1be},
-  {0x5781, 0xe8a280},
-  {0x5782, 0xeb92b9},
-  {0x5783, 0xec82ac},
-  {0x5784, 0xec8aa2},
-  {0x5785, 0xedafa2},
-  {0x5786, 0xedafa4},
-  {0x5787, 0xe8a281},
-  {0x5788, 0xe8a282},
-  {0x5789, 0xe8a283},
-  {0x578a, 0xe8a284},
-  {0x578b, 0xed838d},
-  {0x578c, 0xedafad},
-  {0x578d, 0xe8a285},
-  {0x578e, 0xe8a286},
-  {0x578f, 0xe8a287},
-  {0x5790, 0xe8a288},
-  {0x5791, 0xe8a289},
-  {0x5792, 0xec839d},
-  {0x5793, 0xedafb2},
-  {0x5794, 0xe8a28a},
-  {0x5795, 0xe8a28b},
-  {0x5796, 0xe8a28c},
-  {0x5797, 0xe8a28d},
-  {0x5798, 0xe8a28e},
-  {0x5799, 0xe8a28f},
-  {0x579a, 0xe8a290},
-  {0x579b, 0xeb9ba2},
-  {0x579c, 0xe8a291},
-  {0x579d, 0xe8a292},
-  {0x579e, 0xe8a293},
-  {0x579f, 0xe8a294},
-  {0x57a0, 0xedafb3},
-  {0x57a1, 0xedaf92},
-  {0x57a2, 0xeba6b8},
-  {0x57a3, 0xed92ab},
-  {0x57a4, 0xedafac},
-  {0x57a5, 0xe8a295},
-  {0x57a6, 0xebbf91},
-  {0x57a7, 0xedafb0},
-  {0x57a8, 0xe8a296},
-  {0x57a9, 0xedaf91},
-  {0x57aa, 0xe8a297},
-  {0x57ab, 0xeb97a6},
-  {0x57ac, 0xe8a298},
-  {0x57ad, 0xedafab},
-  {0x57ae, 0xebbfa5},
-  {0x57af, 0xe8a299},
-  {0x57b0, 0xe8a29a},
-  {0x57b1, 0xe8a29b},
-  {0x57b2, 0xedafae},
-  {0x57b3, 0xe8a29c},
-  {0x57b4, 0xedafb1},
-  {0x57b5, 0xe8a29d},
-  {0x57b6, 0xe8a29e},
-  {0x57b7, 0xe8a29f},
-  {0x57b8, 0xedafb9},
-  {0x57b9, 0xe8a2a0},
-  {0x57ba, 0xe8a2a1},
-  {0x57bb, 0xe8a2a2},
-  {0x57bc, 0xe8a2a3},
-  {0x57bd, 0xe8a2a4},
-  {0x57be, 0xe8a2a5},
-  {0x57bf, 0xe8a2a6},
-  {0x57c0, 0xe8a2a7},
-  {0x57c1, 0xe8a2a8},
-  {0x57c2, 0xeba6a1},
-  {0x57c3, 0xeb82a3},
-  {0x57c4, 0xe8a2a9},
-  {0x57c5, 0xe8a2aa},
-  {0x57c6, 0xe8a2ab},
-  {0x57c7, 0xe8a2ac},
-  {0x57c8, 0xe8a2ad},
-  {0x57c9, 0xe8a2ae},
-  {0x57ca, 0xe8a2af},
-  {0x57cb, 0xec8bb1},
-  {0x57cc, 0xe8a2b0},
-  {0x57cd, 0xe8a2b1},
-  {0x57ce, 0xeb8f87},
-  {0x57cf, 0xedafaf},
-  {0x57d0, 0xe8a2b2},
-  {0x57d1, 0xe8a2b3},
-  {0x57d2, 0xedafb8},
-  {0x57d3, 0xe8a2b4},
-  {0x57d4, 0xec9b92},
-  {0x57d5, 0xedafb4},
-  {0x57d6, 0xe8a2b5},
-  {0x57d7, 0xe8a2b6},
-  {0x57d8, 0xedafb5},
-  {0x57d9, 0xedafb7},
-  {0x57da, 0xedafb6},
-  {0x57db, 0xe8a2b7},
-  {0x57dc, 0xe8a2b8},
-  {0x57dd, 0xedafbe},
-  {0x57de, 0xe8a2b9},
-  {0x57df, 0xed8fb2},
-  {0x57e0, 0xeb8aba},
-  {0x57e1, 0xe8a2ba},
-  {0x57e2, 0xe8a2bb},
-  {0x57e3, 0xe8a2bc},
-  {0x57e4, 0xedafbd},
-  {0x57e5, 0xe8a2bd},
-  {0x57e6, 0xe8a2be},
-  {0x57e7, 0xe8a2bf},
-  {0x57e8, 0xe8a380},
-  {0x57e9, 0xe8a381},
-  {0x57ea, 0xe8a382},
-  {0x57eb, 0xe8a383},
-  {0x57ec, 0xe8a384},
-  {0x57ed, 0xedb2a4},
-  {0x57ee, 0xe8a385},
-  {0x57ef, 0xedafbb},
-  {0x57f0, 0xe8a386},
-  {0x57f1, 0xe8a387},
-  {0x57f2, 0xe8a388},
-  {0x57f3, 0xe8a389},
-  {0x57f4, 0xedafba},
-  {0x57f5, 0xe8a38a},
-  {0x57f6, 0xe8a38b},
-  {0x57f7, 0xe8a38c},
-  {0x57f8, 0xedafbc},
-  {0x57f9, 0xec97a0},
-  {0x57fa, 0xebafb9},
-  {0x57fb, 0xe8a38d},
-  {0x57fc, 0xe8a38e},
-  {0x57fd, 0xedb2a3},
-  {0x57fe, 0xe8a38f},
-  {0x57ff, 0xe8a390},
-  {0x5800, 0xedb2a5},
-  {0x5801, 0xe8a391},
-  {0x5802, 0xecb383},
-  {0x5803, 0xe8a392},
-  {0x5804, 0xe8a393},
-  {0x5805, 0xe8a394},
-  {0x5806, 0xeb9b91},
-  {0x5807, 0xedb780},
-  {0x5808, 0xe8a395},
-  {0x5809, 0xe8a396},
-  {0x580a, 0xe8a397},
-  {0x580b, 0xedb2a1},
-  {0x580c, 0xe8a398},
-  {0x580d, 0xedb2a2},
-  {0x580e, 0xe8a399},
-  {0x580f, 0xe8a39a},
-  {0x5810, 0xe8a39b},
-  {0x5811, 0xec9eb5},
-  {0x5812, 0xe8a39c},
-  {0x5813, 0xe8a39d},
-  {0x5814, 0xe8a39e},
-  {0x5815, 0xeb9ba9},
-  {0x5816, 0xe8a39f},
-  {0x5817, 0xe8a3a0},
-  {0x5818, 0xe8a3a1},
-  {0x5819, 0xedb2a7},
-  {0x581a, 0xe8a3a2},
-  {0x581b, 0xe8a3a3},
-  {0x581c, 0xe8a3a4},
-  {0x581d, 0xe8a3a5},
-  {0x581e, 0xedb2a6},
-  {0x581f, 0xe8a3a6},
-  {0x5820, 0xedb2a9},
-  {0x5821, 0xeb86a4},
-  {0x5822, 0xe8a3a7},
-  {0x5823, 0xe8a3a8},
-  {0x5824, 0xeb978c},
-  {0x5825, 0xe8a3a9},
-  {0x5826, 0xe8a3aa},
-  {0x5827, 0xe8a3ab},
-  {0x5828, 0xe8a3ac},
-  {0x5829, 0xe8a3ad},
-  {0x582a, 0xebbeb0},
-  {0x582b, 0xe8a3ae},
-  {0x582c, 0xe8a3af},
-  {0x582d, 0xe8a3b0},
-  {0x582e, 0xe8a3b1},
-  {0x582f, 0xe8a3b2},
-  {0x5830, 0xed879f},
-  {0x5831, 0xe8a3b3},
-  {0x5832, 0xe8a3b4},
-  {0x5833, 0xe8a3b5},
-  {0x5834, 0xe8a3b6},
-  {0x5835, 0xeb9b82},
-  {0x5836, 0xe8a3b7},
-  {0x5837, 0xe8a3b8},
-  {0x5838, 0xe8a3b9},
-  {0x5839, 0xe8a3ba},
-  {0x583a, 0xe8a3bb},
-  {0x583b, 0xe8a3bc},
-  {0x583c, 0xe8a3bd},
-  {0x583d, 0xe8a3be},
-  {0x583e, 0xe8a580},
-  {0x583f, 0xe8a581},
-  {0x5840, 0xe8a582},
-  {0x5841, 0xe8a583},
-  {0x5842, 0xe8a584},
-  {0x5843, 0xe8a585},
-  {0x5844, 0xedb2a8},
-  {0x5845, 0xe8a586},
-  {0x5846, 0xe8a587},
-  {0x5847, 0xe8a588},
-  {0x5848, 0xe8a589},
-  {0x5849, 0xe8a58a},
-  {0x584a, 0xe8a58b},
-  {0x584b, 0xe8a58c},
-  {0x584c, 0xecafba},
-  {0x584d, 0xeeafb3},
-  {0x584e, 0xe8a58d},
-  {0x584f, 0xe8a58e},
-  {0x5850, 0xe8a58f},
-  {0x5851, 0xecaf9c},
-  {0x5852, 0xe8a590},
-  {0x5853, 0xe8a591},
-  {0x5854, 0xecafbe},
-  {0x5855, 0xe8a592},
-  {0x5856, 0xe8a593},
-  {0x5857, 0xe8a594},
-  {0x5858, 0xecb381},
-  {0x5859, 0xe8a595},
-  {0x585a, 0xe8a596},
-  {0x585b, 0xe8a597},
-  {0x585c, 0xe8a598},
-  {0x585d, 0xe8a599},
-  {0x585e, 0xeca3bb},
-  {0x585f, 0xe8a59a},
-  {0x5860, 0xe8a59b},
-  {0x5861, 0xe8a59c},
-  {0x5862, 0xe8a59d},
-  {0x5863, 0xe8a59e},
-  {0x5864, 0xe8a59f},
-  {0x5865, 0xedb2aa},
-  {0x5866, 0xe8a5a0},
-  {0x5867, 0xe8a5a1},
-  {0x5868, 0xe8a5a2},
-  {0x5869, 0xe8a5a3},
-  {0x586a, 0xe8a5a4},
-  {0x586b, 0xecb3ae},
-  {0x586c, 0xedb2ab},
-  {0x586d, 0xe8a5a5},
-  {0x586e, 0xe8a5a6},
-  {0x586f, 0xe8a5a7},
-  {0x5870, 0xe8a5a8},
-  {0x5871, 0xe8a5a9},
-  {0x5872, 0xe8a5aa},
-  {0x5873, 0xe8a5ab},
-  {0x5874, 0xe8a5ac},
-  {0x5875, 0xe8a5ad},
-  {0x5876, 0xe8a5ae},
-  {0x5877, 0xe8a5af},
-  {0x5878, 0xe8a5b0},
-  {0x5879, 0xe8a5b1},
-  {0x587a, 0xe8a5b2},
-  {0x587b, 0xe8a5b3},
-  {0x587c, 0xe8a5b4},
-  {0x587d, 0xe8a5b5},
-  {0x587e, 0xedaf93},
-  {0x587f, 0xe8a5b6},
-  {0x5880, 0xedb2af},
-  {0x5881, 0xedb2ac},
-  {0x5882, 0xe8a5b7},
-  {0x5883, 0xebbab3},
-  {0x5884, 0xe8a5b8},
-  {0x5885, 0xecabbb},
-  {0x5886, 0xe8a5b9},
-  {0x5887, 0xe8a5ba},
-  {0x5888, 0xe8a5bb},
-  {0x5889, 0xedb2ad},
-  {0x588a, 0xe8a5bc},
-  {0x588b, 0xe8a5bd},
-  {0x588c, 0xe8a5be},
-  {0x588d, 0xe8a680},
-  {0x588e, 0xe8a681},
-  {0x588f, 0xe8a682},
-  {0x5890, 0xe8a683},
-  {0x5891, 0xe8a684},
-  {0x5892, 0xeca78a},
-  {0x5893, 0xec92b9},
-  {0x5894, 0xe8a685},
-  {0x5895, 0xe8a686},
-  {0x5896, 0xe8a687},
-  {0x5897, 0xe8a688},
-  {0x5898, 0xe8a689},
-  {0x5899, 0xec9ebd},
-  {0x589a, 0xedb2ae},
-  {0x589b, 0xe8a68a},
-  {0x589c, 0xe8a68b},
-  {0x589d, 0xe8a68c},
-  {0x589e, 0xed93b6},
-  {0x589f, 0xed83a6},
-  {0x58a0, 0xe8a68d},
-  {0x58a1, 0xe8a68e},
-  {0x58a2, 0xe8a68f},
-  {0x58a3, 0xe8a690},
-  {0x58a4, 0xe8a691},
-  {0x58a5, 0xe8a692},
-  {0x58a6, 0xe8a693},
-  {0x58a7, 0xe8a694},
-  {0x58a8, 0xec92ab},
-  {0x58a9, 0xeb9b95},
-  {0x58aa, 0xe8a695},
-  {0x58ab, 0xe8a696},
-  {0x58ac, 0xe8a697},
-  {0x58ad, 0xe8a698},
-  {0x58ae, 0xe8a699},
-  {0x58af, 0xe8a69a},
-  {0x58b0, 0xe8a69b},
-  {0x58b1, 0xe8a69c},
-  {0x58b2, 0xe8a69d},
-  {0x58b3, 0xe8a69e},
-  {0x58b4, 0xe8a69f},
-  {0x58b5, 0xe8a6a0},
-  {0x58b6, 0xe8a6a1},
-  {0x58b7, 0xe8a6a2},
-  {0x58b8, 0xe8a6a3},
-  {0x58b9, 0xe8a6a4},
-  {0x58ba, 0xe8a6a5},
-  {0x58bb, 0xe8a6a6},
-  {0x58bc, 0xedaf94},
-  {0x58bd, 0xe8a6a7},
-  {0x58be, 0xe8a6a8},
-  {0x58bf, 0xe8a6a9},
-  {0x58c0, 0xe8a6aa},
-  {0x58c1, 0xeb879a},
-  {0x58c2, 0xe8a6ab},
-  {0x58c3, 0xe8a6ac},
-  {0x58c4, 0xe8a6ad},
-  {0x58c5, 0xedaf95},
-  {0x58c6, 0xe8a6ae},
-  {0x58c7, 0xe8a6af},
-  {0x58c8, 0xe8a6b0},
-  {0x58c9, 0xe8a6b1},
-  {0x58ca, 0xe8a6b2},
-  {0x58cb, 0xe8a6b3},
-  {0x58cc, 0xe8a6b4},
-  {0x58cd, 0xe8a6b5},
-  {0x58ce, 0xe8a6b6},
-  {0x58cf, 0xe8a6b7},
-  {0x58d0, 0xe8a6b8},
-  {0x58d1, 0xedaf96},
-  {0x58d2, 0xe8a6b9},
-  {0x58d3, 0xe8a6ba},
-  {0x58d4, 0xe8a6bb},
-  {0x58d5, 0xebaabe},
-  {0x58d6, 0xe8a6bc},
-  {0x58d7, 0xe8a6bd},
-  {0x58d8, 0xe8a6be},
-  {0x58d9, 0xe8a6bf},
-  {0x58da, 0xe8a780},
-  {0x58db, 0xe8a781},
-  {0x58dc, 0xe8a782},
-  {0x58dd, 0xe8a783},
-  {0x58de, 0xe8a784},
-  {0x58df, 0xe8a785},
-  {0x58e0, 0xe8a786},
-  {0x58e1, 0xe8a787},
-  {0x58e2, 0xe8a788},
-  {0x58e3, 0xe8a789},
-  {0x58e4, 0xeca380},
-  {0x58e5, 0xe8a78a},
-  {0x58e6, 0xe8a78b},
-  {0x58e7, 0xe8a78c},
-  {0x58e8, 0xe8a78d},
-  {0x58e9, 0xe8a78e},
-  {0x58ea, 0xe8a78f},
-  {0x58eb, 0xecaabf},
-  {0x58ec, 0xeca389},
-  {0x58ed, 0xe8a790},
-  {0x58ee, 0xed9eb3},
-  {0x58ef, 0xe8a791},
-  {0x58f0, 0xeca7b9},
-  {0x58f1, 0xe8a792},
-  {0x58f2, 0xe8a793},
-  {0x58f3, 0xebbf87},
-  {0x58f4, 0xe8a794},
-  {0x58f5, 0xe8a795},
-  {0x58f6, 0xebabb8},
-  {0x58f7, 0xe8a796},
-  {0x58f8, 0xe8a797},
-  {0x58f9, 0xed8abc},
-  {0x58fa, 0xe8a798},
-  {0x58fb, 0xe8a799},
-  {0x58fc, 0xe8a79a},
-  {0x58fd, 0xe8a79b},
-  {0x58fe, 0xe8a79c},
-  {0x58ff, 0xe8a79d},
-  {0x5900, 0xe8a79e},
-  {0x5901, 0xe8a79f},
-  {0x5902, 0xee8aba},
-  {0x5903, 0xe8a7a0},
-  {0x5904, 0xeb92a6},
-  {0x5905, 0xe8a7a1},
-  {0x5906, 0xe8a7a2},
-  {0x5907, 0xeb86b8},
-  {0x5908, 0xe8a7a3},
-  {0x5909, 0xe8a7a4},
-  {0x590a, 0xe8a7a5},
-  {0x590b, 0xe8a7a6},
-  {0x590c, 0xe8a7a7},
-  {0x590d, 0xeba2b4},
-  {0x590e, 0xe8a7a8},
-  {0x590f, 0xecbf84},
-  {0x5910, 0xe8a7a9},
-  {0x5911, 0xe8a7aa},
-  {0x5912, 0xe8a7ab},
-  {0x5913, 0xe8a7ac},
-  {0x5914, 0xeda7a7},
-  {0x5915, 0xecbea6},
-  {0x5916, 0xecb7a2},
-  {0x5917, 0xe8a7ad},
-  {0x5918, 0xe8a7ae},
-  {0x5919, 0xeda7ad},
-  {0x591a, 0xeb9ba0},
-  {0x591b, 0xe8a7af},
-  {0x591c, 0xed8ab9},
-  {0x591d, 0xe8a7b0},
-  {0x591e, 0xe8a7b1},
-  {0x591f, 0xeba6bb},
-  {0x5920, 0xe8a7b2},
-  {0x5921, 0xe8a7b3},
-  {0x5922, 0xe8a7b4},
-  {0x5923, 0xe8a7b5},
-  {0x5924, 0xee8ab9},
-  {0x5925, 0xee8ab7},
-  {0x5926, 0xe8a7b6},
-  {0x5927, 0xeb93b3},
-  {0x5928, 0xe8a7b7},
-  {0x5929, 0xecb3ac},
-  {0x592a, 0xecb2ab},
-  {0x592b, 0xeb9fb2},
-  {0x592c, 0xe8a7b8},
-  {0x592d, 0xeda2b2},
-  {0x592e, 0xed87ab},
-  {0x592f, 0xebaabb},
-  {0x5930, 0xe8a7b9},
-  {0x5931, 0xecaaa7},
-  {0x5932, 0xe8a7ba},
-  {0x5933, 0xe8a7bb},
-  {0x5934, 0xecb6b7},
-  {0x5935, 0xe8a7bc},
-  {0x5936, 0xe8a7bd},
-  {0x5937, 0xed8b84},
-  {0x5938, 0xebbfa4},
-  {0x5939, 0xebb390},
-  {0x593a, 0xeb9ba1},
-  {0x593b, 0xe8a7be},
-  {0x593c, 0xedbb85},
-  {0x593d, 0xe8a980},
-  {0x593e, 0xe8a981},
-  {0x593f, 0xe8a982},
-  {0x5940, 0xe8a983},
-  {0x5941, 0xedbb86},
-  {0x5942, 0xedaebc},
-  {0x5943, 0xe8a984},
-  {0x5944, 0xed8799},
-  {0x5945, 0xe8a985},
-  {0x5946, 0xe8a986},
-  {0x5947, 0xec9ba6},
-  {0x5948, 0xec938e},
-  {0x5949, 0xeb9fae},
-  {0x594a, 0xe8a987},
-  {0x594b, 0xeb9f9c},
-  {0x594c, 0xe8a988},
-  {0x594d, 0xe8a989},
-  {0x594e, 0xebbfbc},
-  {0x594f, 0xed9fa0},
-  {0x5950, 0xe8a98a},
-  {0x5951, 0xec9bb5},
-  {0x5952, 0xe8a98b},
-  {0x5953, 0xe8a98c},
-  {0x5954, 0xeb86bc},
-  {0x5955, 0xedbb88},
-  {0x5956, 0xebb6b1},
-  {0x5957, 0xecb397},
-  {0x5958, 0xedbb8a},
-  {0x5959, 0xe8a98d},
-  {0x595a, 0xedbb89},
-  {0x595b, 0xe8a98e},
-  {0x595c, 0xe8a98f},
-  {0x595d, 0xe8a990},
-  {0x595e, 0xe8a991},
-  {0x595f, 0xe8a992},
-  {0x5960, 0xeb97ac},
-  {0x5961, 0xe8a993},
-  {0x5962, 0xeca79d},
-  {0x5963, 0xe8a994},
-  {0x5964, 0xe8a995},
-  {0x5965, 0xeb8382},
-  {0x5966, 0xe8a996},
-  {0x5967, 0xe8a997},
-  {0x5968, 0xe8a998},
-  {0x5969, 0xe8a999},
-  {0x596a, 0xe8a99a},
-  {0x596b, 0xe8a99b},
-  {0x596c, 0xe8a99c},
-  {0x596d, 0xe8a99d},
-  {0x596e, 0xe8a99e},
-  {0x596f, 0xe8a99f},
-  {0x5970, 0xe8a9a0},
-  {0x5971, 0xe8a9a1},
-  {0x5972, 0xe8a9a2},
-  {0x5973, 0xec96ae},
-  {0x5974, 0xec96ab},
-  {0x5975, 0xe8a9a3},
-  {0x5976, 0xec938c},
-  {0x5977, 0xe8a9a4},
-  {0x5978, 0xebb3a9},
-  {0x5979, 0xecafbd},
-  {0x597a, 0xe8a9a5},
-  {0x597b, 0xe8a9a6},
-  {0x597c, 0xe8a9a7},
-  {0x597d, 0xebab83},
-  {0x597e, 0xe8a9a8},
-  {0x597f, 0xe8a9a9},
-  {0x5980, 0xe8a9aa},
-  {0x5981, 0xee97b9},
-  {0x5982, 0xeca3a7},
-  {0x5983, 0xee97ba},
-  {0x5984, 0xecb7bd},
-  {0x5985, 0xe8a9ab},
-  {0x5986, 0xed9eb1},
-  {0x5987, 0xeba2be},
-  {0x5988, 0xec8ba8},
-  {0x5989, 0xe8a9ac},
-  {0x598a, 0xeca391},
-  {0x598b, 0xe8a9ad},
-  {0x598c, 0xe8a9ae},
-  {0x598d, 0xee97bb},
-  {0x598e, 0xe8a9af},
-  {0x598f, 0xe8a9b0},
-  {0x5990, 0xe8a9b1},
-  {0x5991, 0xe8a9b2},
-  {0x5992, 0xeb9b8a},
-  {0x5993, 0xebb38b},
-  {0x5994, 0xe8a9b3},
-  {0x5995, 0xe8a9b4},
-  {0x5996, 0xed87bd},
-  {0x5997, 0xee9aa1},
-  {0x5998, 0xe8a9b5},
-  {0x5999, 0xec8fae},
-  {0x599a, 0xe8a9b6},
-  {0x599b, 0xe8a9b7},
-  {0x599c, 0xe8a9b8},
-  {0x599d, 0xe8a9b9},
-  {0x599e, 0xee9aa4},
-  {0x599f, 0xe8a9ba},
-  {0x59a0, 0xe8a9bb},
-  {0x59a1, 0xe8a9bc},
-  {0x59a2, 0xe8a9bd},
-  {0x59a3, 0xee97be},
-  {0x59a4, 0xee9aa5},
-  {0x59a5, 0xecb797},
-  {0x59a6, 0xe8a9be},
-  {0x59a7, 0xe8aa80},
-  {0x59a8, 0xeb9f81},
-  {0x59a9, 0xee97bc},
-  {0x59aa, 0xee97bd},
-  {0x59ab, 0xee9aa3},
-  {0x59ac, 0xe8aa81},
-  {0x59ad, 0xe8aa82},
-  {0x59ae, 0xec939d},
-  {0x59af, 0xee9aa8},
-  {0x59b0, 0xe8aa83},
-  {0x59b1, 0xe8aa84},
-  {0x59b2, 0xee9aa7},
-  {0x59b3, 0xe8aa85},
-  {0x59b4, 0xe8aa86},
-  {0x59b5, 0xe8aa87},
-  {0x59b6, 0xe8aa88},
-  {0x59b7, 0xe8aa89},
-  {0x59b8, 0xe8aa8a},
-  {0x59b9, 0xec8f83},
-  {0x59ba, 0xe8aa8b},
-  {0x59bb, 0xec9b9e},
-  {0x59bc, 0xe8aa8c},
-  {0x59bd, 0xe8aa8d},
-  {0x59be, 0xee9aaa},
-  {0x59bf, 0xe8aa8e},
-  {0x59c0, 0xe8aa8f},
-  {0x59c1, 0xe8aa90},
-  {0x59c2, 0xe8aa91},
-  {0x59c3, 0xe8aa92},
-  {0x59c4, 0xe8aa93},
-  {0x59c5, 0xe8aa94},
-  {0x59c6, 0xec92b7},
-  {0x59c7, 0xe8aa95},
-  {0x59c8, 0xe8aa96},
-  {0x59c9, 0xe8aa97},
-  {0x59ca, 0xee9aa2},
-  {0x59cb, 0xecaabc},
-  {0x59cc, 0xe8aa98},
-  {0x59cd, 0xe8aa99},
-  {0x59ce, 0xe8aa9a},
-  {0x59cf, 0xe8aa9b},
-  {0x59d0, 0xebb7a3},
-  {0x59d1, 0xeba783},
-  {0x59d2, 0xee9aa6},
-  {0x59d3, 0xed8395},
-  {0x59d4, 0xecbaaf},
-  {0x59d5, 0xe8aa9c},
-  {0x59d6, 0xe8aa9d},
-  {0x59d7, 0xee9aa9},
-  {0x59d8, 0xee9ab0},
-  {0x59d9, 0xe8aa9e},
-  {0x59da, 0xed8aa6},
-  {0x59db, 0xe8aa9f},
-  {0x59dc, 0xebb6aa},
-  {0x59dd, 0xee9aad},
-  {0x59de, 0xe8aaa0},
-  {0x59df, 0xe8aaa1},
-  {0x59e0, 0xe8aaa2},
-  {0x59e1, 0xe8aaa3},
-  {0x59e2, 0xe8aaa4},
-  {0x59e3, 0xee9aaf},
-  {0x59e4, 0xe8aaa5},
-  {0x59e5, 0xec8391},
-  {0x59e6, 0xe8aaa6},
-  {0x59e7, 0xe8aaa7},
-  {0x59e8, 0xed8b8c},
-  {0x59e9, 0xe8aaa8},
-  {0x59ea, 0xe8aaa9},
-  {0x59eb, 0xe8aaaa},
-  {0x59ec, 0xebb2a7},
-  {0x59ed, 0xe8aaab},
-  {0x59ee, 0xe8aaac},
-  {0x59ef, 0xe8aaad},
-  {0x59f0, 0xe8aaae},
-  {0x59f1, 0xe8aaaf},
-  {0x59f2, 0xe8aab0},
-  {0x59f3, 0xe8aab1},
-  {0x59f4, 0xe8aab2},
-  {0x59f5, 0xe8aab3},
-  {0x59f6, 0xe8aab4},
-  {0x59f7, 0xe8aab5},
-  {0x59f8, 0xe8aab6},
-  {0x59f9, 0xee9ab1},
-  {0x59fa, 0xe8aab7},
-  {0x59fb, 0xed8bb6},
-  {0x59fc, 0xe8aab8},
-  {0x59fd, 0xe8aab9},
-  {0x59fe, 0xe8aaba},
-  {0x59ff, 0xed9f8b},
-  {0x5a00, 0xe8aabb},
-  {0x5a01, 0xecb7be},
-  {0x5a02, 0xe8aabc},
-  {0x5a03, 0xecb79e},
-  {0x5a04, 0xec8aa6},
-  {0x5a05, 0xee9aab},
-  {0x5a06, 0xee9aac},
-  {0x5a07, 0xebb6bf},
-  {0x5a08, 0xee9aae},
-  {0x5a09, 0xee9ab3},
-  {0x5a0a, 0xe8aabd},
-  {0x5a0b, 0xe8aabe},
-  {0x5a0c, 0xee9ab2},
-  {0x5a0d, 0xe8aabf},
-  {0x5a0e, 0xe8ab80},
-  {0x5a0f, 0xe8ab81},
-  {0x5a10, 0xe8ab82},
-  {0x5a11, 0xee9ab6},
-  {0x5a12, 0xe8ab83},
-  {0x5a13, 0xee9ab8},
-  {0x5a14, 0xe8ab84},
-  {0x5a15, 0xe8ab85},
-  {0x5a16, 0xe8ab86},
-  {0x5a17, 0xe8ab87},
-  {0x5a18, 0xec93af},
-  {0x5a19, 0xe8ab88},
-  {0x5a1a, 0xe8ab89},
-  {0x5a1b, 0xe8ab8a},
-  {0x5a1c, 0xec9388},
-  {0x5a1d, 0xe8ab8b},
-  {0x5a1e, 0xe8ab8c},
-  {0x5a1f, 0xebbbaa},
-  {0x5a20, 0xeca7af},
-  {0x5a21, 0xe8ab8d},
-  {0x5a22, 0xe8ab8e},
-  {0x5a23, 0xee9ab7},
-  {0x5a24, 0xe8ab8f},
-  {0x5a25, 0xeb9bb0},
-  {0x5a26, 0xe8ab90},
-  {0x5a27, 0xe8ab91},
-  {0x5a28, 0xe8ab92},
-  {0x5a29, 0xec8fa4},
-  {0x5a2a, 0xe8ab93},
-  {0x5a2b, 0xe8ab94},
-  {0x5a2c, 0xe8ab95},
-  {0x5a2d, 0xe8ab96},
-  {0x5a2e, 0xe8ab97},
-  {0x5a2f, 0xe8ab98},
-  {0x5a30, 0xe8ab99},
-  {0x5a31, 0xed8fa9},
-  {0x5a32, 0xee9ab4},
-  {0x5a33, 0xe8ab9a},
-  {0x5a34, 0xee9ab5},
-  {0x5a35, 0xe8ab9b},
-  {0x5a36, 0xeca2a2},
-  {0x5a37, 0xe8ab9c},
-  {0x5a38, 0xe8ab9d},
-  {0x5a39, 0xe8ab9e},
-  {0x5a3a, 0xe8ab9f},
-  {0x5a3b, 0xe8aba0},
-  {0x5a3c, 0xee9abd},
-  {0x5a3d, 0xe8aba1},
-  {0x5a3e, 0xe8aba2},
-  {0x5a3f, 0xe8aba3},
-  {0x5a40, 0xee9ab9},
-  {0x5a41, 0xe8aba4},
-  {0x5a42, 0xe8aba5},
-  {0x5a43, 0xe8aba6},
-  {0x5a44, 0xe8aba7},
-  {0x5a45, 0xe8aba8},
-  {0x5a46, 0xec9b85},
-  {0x5a47, 0xe8aba9},
-  {0x5a48, 0xe8abaa},
-  {0x5a49, 0xecb7b1},
-  {0x5a4a, 0xee9abb},
-  {0x5a4b, 0xe8abab},
-  {0x5a4c, 0xe8abac},
-  {0x5a4d, 0xe8abad},
-  {0x5a4e, 0xe8abae},
-  {0x5a4f, 0xe8abaf},
-  {0x5a50, 0xe8abb0},
-  {0x5a51, 0xe8abb1},
-  {0x5a52, 0xe8abb2},
-  {0x5a53, 0xe8abb3},
-  {0x5a54, 0xe8abb4},
-  {0x5a55, 0xee9abc},
-  {0x5a56, 0xe8abb5},
-  {0x5a57, 0xe8abb6},
-  {0x5a58, 0xe8abb7},
-  {0x5a59, 0xe8abb8},
-  {0x5a5a, 0xebafa9},
-  {0x5a5b, 0xe8abb9},
-  {0x5a5c, 0xe8abba},
-  {0x5a5d, 0xe8abbb},
-  {0x5a5e, 0xe8abbc},
-  {0x5a5f, 0xe8abbd},
-  {0x5a60, 0xe8abbe},
-  {0x5a61, 0xe8ad80},
-  {0x5a62, 0xee9abe},
-  {0x5a63, 0xe8ad81},
-  {0x5a64, 0xe8ad82},
-  {0x5a65, 0xe8ad83},
-  {0x5a66, 0xe8ad84},
-  {0x5a67, 0xee9aba},
-  {0x5a68, 0xe8ad85},
-  {0x5a69, 0xe8ad86},
-  {0x5a6a, 0xec82b7},
-  {0x5a6b, 0xe8ad87},
-  {0x5a6c, 0xe8ad88},
-  {0x5a6d, 0xe8ad89},
-  {0x5a6e, 0xe8ad8a},
-  {0x5a6f, 0xe8ad8b},
-  {0x5a70, 0xe8ad8c},
-  {0x5a71, 0xe8ad8d},
-  {0x5a72, 0xe8ad8e},
-  {0x5a73, 0xe8ad8f},
-  {0x5a74, 0xed8ea4},
-  {0x5a75, 0xee9abf},
-  {0x5a76, 0xeca7b4},
-  {0x5a77, 0xee9b83},
-  {0x5a78, 0xe8ad90},
-  {0x5a79, 0xe8ad91},
-  {0x5a7a, 0xee9b84},
-  {0x5a7b, 0xe8ad92},
-  {0x5a7c, 0xe8ad93},
-  {0x5a7d, 0xe8ad94},
-  {0x5a7e, 0xe8ad95},
-  {0x5a7f, 0xed83b6},
-  {0x5a80, 0xe8ad96},
-  {0x5a81, 0xe8ad97},
-  {0x5a82, 0xe8ad98},
-  {0x5a83, 0xe8ad99},
-  {0x5a84, 0xe8ad9a},
-  {0x5a85, 0xe8ad9b},
-  {0x5a86, 0xe8ad9c},
-  {0x5a87, 0xe8ad9d},
-  {0x5a88, 0xe8ad9e},
-  {0x5a89, 0xe8ad9f},
-  {0x5a8a, 0xe8ada0},
-  {0x5a8b, 0xe8ada1},
-  {0x5a8c, 0xe8ada2},
-  {0x5a8d, 0xe8ada3},
-  {0x5a8e, 0xe8ada4},
-  {0x5a8f, 0xe8ada5},
-  {0x5a90, 0xe8ada6},
-  {0x5a91, 0xe8ada7},
-  {0x5a92, 0xec8ebd},
-  {0x5a93, 0xe8ada8},
-  {0x5a94, 0xe8ada9},
-  {0x5a95, 0xe8adaa},
-  {0x5a96, 0xe8adab},
-  {0x5a97, 0xe8adac},
-  {0x5a98, 0xe8adad},
-  {0x5a99, 0xe8adae},
-  {0x5a9a, 0xec8f84},
-  {0x5a9b, 0xee9b82},
-  {0x5a9c, 0xe8adaf},
-  {0x5a9d, 0xe8adb0},
-  {0x5a9e, 0xe8adb1},
-  {0x5a9f, 0xe8adb2},
-  {0x5aa0, 0xe8adb3},
-  {0x5aa1, 0xe8adb4},
-  {0x5aa2, 0xe8adb5},
-  {0x5aa3, 0xe8adb6},
-  {0x5aa4, 0xe8adb7},
-  {0x5aa5, 0xe8adb8},
-  {0x5aa6, 0xe8adb9},
-  {0x5aa7, 0xe8adba},
-  {0x5aa8, 0xe8adbb},
-  {0x5aa9, 0xe8adbc},
-  {0x5aaa, 0xee9b81},
-  {0x5aab, 0xe8adbd},
-  {0x5aac, 0xe8adbe},
-  {0x5aad, 0xe8ae80},
-  {0x5aae, 0xe8ae81},
-  {0x5aaf, 0xe8ae82},
-  {0x5ab0, 0xe8ae83},
-  {0x5ab1, 0xe8ae84},
-  {0x5ab2, 0xee9b87},
-  {0x5ab3, 0xecbeb1},
-  {0x5ab4, 0xe8ae85},
-  {0x5ab5, 0xeeafb4},
-  {0x5ab6, 0xe8ae86},
-  {0x5ab7, 0xe8ae87},
-  {0x5ab8, 0xee9b8a},
-  {0x5ab9, 0xe8ae88},
-  {0x5aba, 0xe8ae89},
-  {0x5abb, 0xe8ae8a},
-  {0x5abc, 0xe8ae8b},
-  {0x5abd, 0xe8ae8c},
-  {0x5abe, 0xee9b85},
-  {0x5abf, 0xe8ae8d},
-  {0x5ac0, 0xe8ae8e},
-  {0x5ac1, 0xebb39e},
-  {0x5ac2, 0xeca6a9},
-  {0x5ac3, 0xe8ae8f},
-  {0x5ac4, 0xe8ae90},
-  {0x5ac5, 0xe8ae91},
-  {0x5ac6, 0xe8ae92},
-  {0x5ac7, 0xe8ae93},
-  {0x5ac8, 0xe8ae94},
-  {0x5ac9, 0xebb2b5},
-  {0x5aca, 0xe8ae95},
-  {0x5acb, 0xe8ae96},
-  {0x5acc, 0xecbf93},
-  {0x5acd, 0xe8ae97},
-  {0x5ace, 0xe8ae98},
-  {0x5acf, 0xe8ae99},
-  {0x5ad0, 0xe8ae9a},
-  {0x5ad1, 0xe8ae9b},
-  {0x5ad2, 0xee9b88},
-  {0x5ad3, 0xe8ae9c},
-  {0x5ad4, 0xee9b89},
-  {0x5ad5, 0xe8ae9d},
-  {0x5ad6, 0xee9b8e},
-  {0x5ad7, 0xe8ae9e},
-  {0x5ad8, 0xee9b90},
-  {0x5ad9, 0xe8ae9f},
-  {0x5ada, 0xe8aea0},
-  {0x5adb, 0xe8aea1},
-  {0x5adc, 0xee9b91},
-  {0x5add, 0xe8aea2},
-  {0x5ade, 0xe8aea3},
-  {0x5adf, 0xe8aea4},
-  {0x5ae0, 0xee9b8b},
-  {0x5ae1, 0xeb9795},
-  {0x5ae2, 0xe8aea5},
-  {0x5ae3, 0xee9b8c},
-  {0x5ae4, 0xe8aea6},
-  {0x5ae5, 0xe8aea7},
-  {0x5ae6, 0xee9b8f},
-  {0x5ae7, 0xe8aea8},
-  {0x5ae8, 0xe8aea9},
-  {0x5ae9, 0xec939b},
-  {0x5aea, 0xe8aeaa},
-  {0x5aeb, 0xee9b86},
-  {0x5aec, 0xe8aeab},
-  {0x5aed, 0xe8aeac},
-  {0x5aee, 0xe8aead},
-  {0x5aef, 0xe8aeae},
-  {0x5af0, 0xe8aeaf},
-  {0x5af1, 0xee9b8d},
-  {0x5af2, 0xe8aeb0},
-  {0x5af3, 0xe8aeb1},
-  {0x5af4, 0xe8aeb2},
-  {0x5af5, 0xe8aeb3},
-  {0x5af6, 0xe8aeb4},
-  {0x5af7, 0xe8aeb5},
-  {0x5af8, 0xe8aeb6},
-  {0x5af9, 0xe8aeb7},
-  {0x5afa, 0xe8aeb8},
-  {0x5afb, 0xe8aeb9},
-  {0x5afc, 0xe8aeba},
-  {0x5afd, 0xe8aebb},
-  {0x5afe, 0xe8aebc},
-  {0x5aff, 0xe8aebd},
-  {0x5b00, 0xe8aebe},
-  {0x5b01, 0xe8aebf},
-  {0x5b02, 0xe8af80},
-  {0x5b03, 0xe8af81},
-  {0x5b04, 0xe8af82},
-  {0x5b05, 0xe8af83},
-  {0x5b06, 0xe8af84},
-  {0x5b07, 0xe8af85},
-  {0x5b08, 0xe8af86},
-  {0x5b09, 0xee9b92},
-  {0x5b0a, 0xe8af87},
-  {0x5b0b, 0xe8af88},
-  {0x5b0c, 0xe8af89},
-  {0x5b0d, 0xe8af8a},
-  {0x5b0e, 0xe8af8b},
-  {0x5b0f, 0xe8af8c},
-  {0x5b10, 0xe8af8d},
-  {0x5b11, 0xe8af8e},
-  {0x5b12, 0xe8af8f},
-  {0x5b13, 0xe8af90},
-  {0x5b14, 0xe8af91},
-  {0x5b15, 0xe8af92},
-  {0x5b16, 0xee9b94},
-  {0x5b17, 0xee9b93},
-  {0x5b18, 0xe8af93},
-  {0x5b19, 0xe8af94},
-  {0x5b1a, 0xe8af95},
-  {0x5b1b, 0xe8af96},
-  {0x5b1c, 0xe8af97},
-  {0x5b1d, 0xe8af98},
-  {0x5b1e, 0xe8af99},
-  {0x5b1f, 0xe8af9a},
-  {0x5b20, 0xe8af9b},
-  {0x5b21, 0xe8af9c},
-  {0x5b22, 0xe8af9d},
-  {0x5b23, 0xe8af9e},
-  {0x5b24, 0xe8af9f},
-  {0x5b25, 0xe8afa0},
-  {0x5b26, 0xe8afa1},
-  {0x5b27, 0xe8afa2},
-  {0x5b28, 0xe8afa3},
-  {0x5b29, 0xe8afa4},
-  {0x5b2a, 0xe8afa5},
-  {0x5b2b, 0xe8afa6},
-  {0x5b2c, 0xe8afa7},
-  {0x5b2d, 0xe8afa8},
-  {0x5b2e, 0xe8afa9},
-  {0x5b2f, 0xe8afaa},
-  {0x5b30, 0xe8afab},
-  {0x5b31, 0xe8afac},
-  {0x5b32, 0xee9b95},
-  {0x5b33, 0xe8afad},
-  {0x5b34, 0xeda7b8},
-  {0x5b35, 0xe8afae},
-  {0x5b36, 0xe8afaf},
-  {0x5b37, 0xee9b96},
-  {0x5b38, 0xe8afb0},
-  {0x5b39, 0xe8afb1},
-  {0x5b3a, 0xe8afb2},
-  {0x5b3b, 0xe8afb3},
-  {0x5b3c, 0xe8afb4},
-  {0x5b3d, 0xe8afb5},
-  {0x5b3e, 0xe8afb6},
-  {0x5b3f, 0xe8afb7},
-  {0x5b40, 0xee9b97},
-  {0x5b41, 0xe8afb8},
-  {0x5b42, 0xe8afb9},
-  {0x5b43, 0xe8afba},
-  {0x5b44, 0xe8afbb},
-  {0x5b45, 0xe8afbc},
-  {0x5b46, 0xe8afbd},
-  {0x5b47, 0xe8afbe},
-  {0x5b48, 0xe8b180},
-  {0x5b49, 0xe8b181},
-  {0x5b4a, 0xe8b182},
-  {0x5b4b, 0xe8b183},
-  {0x5b4c, 0xe8b184},
-  {0x5b4d, 0xe8b185},
-  {0x5b4e, 0xe8b186},
-  {0x5b4f, 0xe8b187},
-  {0x5b50, 0xed9f93},
-  {0x5b51, 0xee9b9d},
-  {0x5b52, 0xe8b188},
-  {0x5b53, 0xee9b9e},
-  {0x5b54, 0xebbf97},
-  {0x5b55, 0xed9390},
-  {0x5b56, 0xe8b189},
-  {0x5b57, 0xed9f96},
-  {0x5b58, 0xeb93a6},
-  {0x5b59, 0xecafaf},
-  {0x5b5a, 0xee9b9a},
-  {0x5b5b, 0xeda383},
-  {0x5b5c, 0xed9f8e},
-  {0x5b5d, 0xed82a2},
-  {0x5b5e, 0xe8b18a},
-  {0x5b5f, 0xec8f8f},
-  {0x5b60, 0xe8b18b},
-  {0x5b61, 0xe8b18c},
-  {0x5b62, 0xee9b9f},
-  {0x5b63, 0xebb2be},
-  {0x5b64, 0xeba782},
-  {0x5b65, 0xee9b9b},
-  {0x5b66, 0xed86a7},
-  {0x5b67, 0xe8b18d},
-  {0x5b68, 0xe8b18e},
-  {0x5b69, 0xebaaa2},
-  {0x5b6a, 0xec8b8f},
-  {0x5b6b, 0xe8b18f},
-  {0x5b6c, 0xeda2ab},
-  {0x5b6d, 0xe8b190},
-  {0x5b6e, 0xe8b191},
-  {0x5b6f, 0xe8b192},
-  {0x5b70, 0xecabab},
-  {0x5b71, 0xee97ae},
-  {0x5b72, 0xe8b193},
-  {0x5b73, 0xee9b9c},
-  {0x5b74, 0xe8b194},
-  {0x5b75, 0xeb9fb5},
-  {0x5b76, 0xe8b195},
-  {0x5b77, 0xe8b196},
-  {0x5b78, 0xe8b197},
-  {0x5b79, 0xe8b198},
-  {0x5b7a, 0xeca3a6},
-  {0x5b7b, 0xe8b199},
-  {0x5b7c, 0xe8b19a},
-  {0x5b7d, 0xec93b5},
-  {0x5b7e, 0xe8b19b},
-  {0x5b7f, 0xe8b19c},
-  {0x5b80, 0xee96b2},
-  {0x5b81, 0xec93be},
-  {0x5b82, 0xe8b19d},
-  {0x5b83, 0xecafbc},
-  {0x5b84, 0xee96b3},
-  {0x5b85, 0xed96ac},
-  {0x5b86, 0xe8b19e},
-  {0x5b87, 0xed8fae},
-  {0x5b88, 0xecab98},
-  {0x5b89, 0xeb82b2},
-  {0x5b8a, 0xe8b19f},
-  {0x5b8b, 0xecaf8e},
-  {0x5b8c, 0xecb7aa},
-  {0x5b8d, 0xe8b1a0},
-  {0x5b8e, 0xe8b1a1},
-  {0x5b8f, 0xebabaa},
-  {0x5b90, 0xe8b1a2},
-  {0x5b91, 0xe8b1a3},
-  {0x5b92, 0xe8b1a4},
-  {0x5b93, 0xee96b5},
-  {0x5b94, 0xe8b1a5},
-  {0x5b95, 0xee96b4},
-  {0x5b96, 0xe8b1a6},
-  {0x5b97, 0xed9f9a},
-  {0x5b98, 0xeba799},
-  {0x5b99, 0xed9ba6},
-  {0x5b9a, 0xeb9aa8},
-  {0x5b9b, 0xecb7b0},
-  {0x5b9c, 0xed8b8b},
-  {0x5b9d, 0xeb86a6},
-  {0x5b9e, 0xecaab5},
-  {0x5b9f, 0xe8b1a7},
-  {0x5ba0, 0xeb8fa8},
-  {0x5ba1, 0xeca7b3},
-  {0x5ba2, 0xebbf8d},
-  {0x5ba3, 0xed83bb},
-  {0x5ba4, 0xecab92},
-  {0x5ba5, 0xee96b6},
-  {0x5ba6, 0xebaf82},
-  {0x5ba7, 0xe8b1a8},
-  {0x5ba8, 0xe8b1a9},
-  {0x5ba9, 0xe8b1aa},
-  {0x5baa, 0xecbf9c},
-  {0x5bab, 0xeba6ac},
-  {0x5bac, 0xe8b1ab},
-  {0x5bad, 0xe8b1ac},
-  {0x5bae, 0xe8b1ad},
-  {0x5baf, 0xe8b1ae},
-  {0x5bb0, 0xed9397},
-  {0x5bb1, 0xe8b1af},
-  {0x5bb2, 0xe8b1b0},
-  {0x5bb3, 0xebaaa6},
-  {0x5bb4, 0xed87a7},
-  {0x5bb5, 0xecbfbc},
-  {0x5bb6, 0xebb392},
-  {0x5bb7, 0xe8b1b1},
-  {0x5bb8, 0xee96b7},
-  {0x5bb9, 0xeca39d},
-  {0x5bba, 0xe8b1b2},
-  {0x5bbb, 0xe8b1b3},
-  {0x5bbc, 0xe8b1b4},
-  {0x5bbd, 0xebbfad},
-  {0x5bbe, 0xeb87b6},
-  {0x5bbf, 0xecaf9e},
-  {0x5bc0, 0xe8b1b5},
-  {0x5bc1, 0xe8b1b6},
-  {0x5bc2, 0xebb385},
-  {0x5bc3, 0xe8b1b7},
-  {0x5bc4, 0xebb384},
-  {0x5bc5, 0xed8bba},
-  {0x5bc6, 0xec8f9c},
-  {0x5bc7, 0xebbf9c},
-  {0x5bc8, 0xe8b1b8},
-  {0x5bc9, 0xe8b1b9},
-  {0x5bca, 0xe8b1ba},
-  {0x5bcb, 0xe8b1bb},
-  {0x5bcc, 0xeba2bb},
-  {0x5bcd, 0xe8b1bc},
-  {0x5bce, 0xe8b1bd},
-  {0x5bcf, 0xe8b1be},
-  {0x5bd0, 0xec8f82},
-  {0x5bd1, 0xe8b280},
-  {0x5bd2, 0xebaaae},
-  {0x5bd3, 0xed92a2},
-  {0x5bd4, 0xe8b281},
-  {0x5bd5, 0xe8b282},
-  {0x5bd6, 0xe8b283},
-  {0x5bd7, 0xe8b284},
-  {0x5bd8, 0xe8b285},
-  {0x5bd9, 0xe8b286},
-  {0x5bda, 0xe8b287},
-  {0x5bdb, 0xe8b288},
-  {0x5bdc, 0xe8b289},
-  {0x5bdd, 0xec9f9e},
-  {0x5bde, 0xec92af},
-  {0x5bdf, 0xeb8bac},
-  {0x5be0, 0xe8b28a},
-  {0x5be1, 0xeba791},
-  {0x5be2, 0xe8b28b},
-  {0x5be3, 0xe8b28c},
-  {0x5be4, 0xee96bb},
-  {0x5be5, 0xec8788},
-  {0x5be6, 0xe8b28d},
-  {0x5be7, 0xe8b28e},
-  {0x5be8, 0xed96af},
-  {0x5be9, 0xe8b28f},
-  {0x5bea, 0xe8b290},
-  {0x5beb, 0xe8b291},
-  {0x5bec, 0xe8b292},
-  {0x5bed, 0xe8b293},
-  {0x5bee, 0xee96bc},
-  {0x5bef, 0xe8b294},
-  {0x5bf0, 0xee96be},
-  {0x5bf1, 0xe8b295},
-  {0x5bf2, 0xe8b296},
-  {0x5bf3, 0xe8b297},
-  {0x5bf4, 0xe8b298},
-  {0x5bf5, 0xe8b299},
-  {0x5bf6, 0xe8b29a},
-  {0x5bf7, 0xe8b29b},
-  {0x5bf8, 0xeb93a7},
-  {0x5bf9, 0xeb9b94},
-  {0x5bfa, 0xecaf82},
-  {0x5bfb, 0xed86b0},
-  {0x5bfc, 0xeb96bc},
-  {0x5bfd, 0xe8b29c},
-  {0x5bfe, 0xe8b29d},
-  {0x5bff, 0xecab99},
-  {0x5c00, 0xe8b29e},
-  {0x5c01, 0xeb9fa2},
-  {0x5c02, 0xe8b29f},
-  {0x5c03, 0xe8b2a0},
-  {0x5c04, 0xeca7a4},
-  {0x5c05, 0xe8b2a1},
-  {0x5c06, 0xebb6ab},
-  {0x5c07, 0xe8b2a2},
-  {0x5c08, 0xe8b2a3},
-  {0x5c09, 0xecbabe},
-  {0x5c0a, 0xed9fb0},
-  {0x5c0b, 0xe8b2a4},
-  {0x5c0c, 0xe8b2a5},
-  {0x5c0d, 0xe8b2a6},
-  {0x5c0e, 0xe8b2a7},
-  {0x5c0f, 0xed82a1},
-  {0x5c10, 0xe8b2a8},
-  {0x5c11, 0xeca799},
-  {0x5c12, 0xe8b2a9},
-  {0x5c13, 0xe8b2aa},
-  {0x5c14, 0xeb9bbb},
-  {0x5c15, 0xee9b98},
-  {0x5c16, 0xebb3a2},
-  {0x5c17, 0xe8b2ab},
-  {0x5c18, 0xeb8ebe},
-  {0x5c19, 0xe8b2ac},
-  {0x5c1a, 0xeca790},
-  {0x5c1b, 0xe8b2ad},
-  {0x5c1c, 0xee9b99},
-  {0x5c1d, 0xeb8ea2},
-  {0x5c1e, 0xe8b2ae},
-  {0x5c1f, 0xe8b2af},
-  {0x5c20, 0xe8b2b0},
-  {0x5c21, 0xe8b2b1},
-  {0x5c22, 0xedbb8c},
-  {0x5c23, 0xe8b2b2},
-  {0x5c24, 0xed8f88},
-  {0x5c25, 0xedbb8d},
-  {0x5c26, 0xe8b2b3},
-  {0x5c27, 0xed8aa2},
-  {0x5c28, 0xe8b2b4},
-  {0x5c29, 0xe8b2b5},
-  {0x5c2a, 0xe8b2b6},
-  {0x5c2b, 0xe8b2b7},
-  {0x5c2c, 0xedbb8e},
-  {0x5c2d, 0xe8b2b8},
-  {0x5c2e, 0xe8b2b9},
-  {0x5c2f, 0xe8b2ba},
-  {0x5c30, 0xe8b2bb},
-  {0x5c31, 0xebbb8d},
-  {0x5c32, 0xe8b2bc},
-  {0x5c33, 0xe8b2bd},
-  {0x5c34, 0xedbb8f},
-  {0x5c35, 0xe8b2be},
-  {0x5c36, 0xe8b2bf},
-  {0x5c37, 0xe8b380},
-  {0x5c38, 0xecaaac},
-  {0x5c39, 0xed8bbc},
-  {0x5c3a, 0xeb8f9f},
-  {0x5c3b, 0xee97aa},
-  {0x5c3c, 0xec93a1},
-  {0x5c3d, 0xebbaa1},
-  {0x5c3e, 0xecbab2},
-  {0x5c3f, 0xec93b2},
-  {0x5c40, 0xebbb96},
-  {0x5c41, 0xec9aa8},
-  {0x5c42, 0xeb8ba3},
-  {0x5c43, 0xe8b381},
-  {0x5c44, 0xe8b382},
-  {0x5c45, 0xebbb93},
-  {0x5c46, 0xe8b383},
-  {0x5c47, 0xe8b384},
-  {0x5c48, 0xec9fbc},
-  {0x5c49, 0xecb3ab},
-  {0x5c4a, 0xebb7ac},
-  {0x5c4b, 0xecbb9d},
-  {0x5c4c, 0xe8b385},
-  {0x5c4d, 0xe8b386},
-  {0x5c4e, 0xecaaba},
-  {0x5c4f, 0xec9b81},
-  {0x5c50, 0xee97ac},
-  {0x5c51, 0xed82bc},
-  {0x5c52, 0xe8b387},
-  {0x5c53, 0xe8b388},
-  {0x5c54, 0xe8b389},
-  {0x5c55, 0xed96b9},
-  {0x5c56, 0xe8b38a},
-  {0x5c57, 0xe8b38b},
-  {0x5c58, 0xe8b38c},
-  {0x5c59, 0xee97ad},
-  {0x5c5a, 0xe8b38d},
-  {0x5c5b, 0xe8b38e},
-  {0x5c5c, 0xe8b38f},
-  {0x5c5d, 0xe8b390},
-  {0x5c5e, 0xecabb4},
-  {0x5c5f, 0xe8b391},
-  {0x5c60, 0xecb780},
-  {0x5c61, 0xec8b85},
-  {0x5c62, 0xe8b392},
-  {0x5c63, 0xee97af},
-  {0x5c64, 0xe8b393},
-  {0x5c65, 0xec8b84},
-  {0x5c66, 0xee97b0},
-  {0x5c67, 0xe8b394},
-  {0x5c68, 0xe8b395},
-  {0x5c69, 0xe8b396},
-  {0x5c6a, 0xe8b397},
-  {0x5c6b, 0xe8b398},
-  {0x5c6c, 0xe8b399},
-  {0x5c6d, 0xe8b39a},
-  {0x5c6e, 0xee97b8},
-  {0x5c6f, 0xecb78d},
-  {0x5c70, 0xe8b39b},
-  {0x5c71, 0xeca6bd},
-  {0x5c72, 0xe8b39c},
-  {0x5c73, 0xe8b39d},
-  {0x5c74, 0xe8b39e},
-  {0x5c75, 0xe8b39f},
-  {0x5c76, 0xe8b3a0},
-  {0x5c77, 0xe8b3a1},
-  {0x5c78, 0xe8b3a2},
-  {0x5c79, 0xed8b99},
-  {0x5c7a, 0xee86a8},
-  {0x5c7b, 0xe8b3a3},
-  {0x5c7c, 0xe8b3a4},
-  {0x5c7d, 0xe8b3a5},
-  {0x5c7e, 0xe8b3a6},
-  {0x5c7f, 0xed8fac},
-  {0x5c80, 0xe8b3a7},
-  {0x5c81, 0xecafaa},
-  {0x5c82, 0xec9bb1},
-  {0x5c83, 0xe8b3a8},
-  {0x5c84, 0xe8b3a9},
-  {0x5c85, 0xe8b3aa},
-  {0x5c86, 0xe8b3ab},
-  {0x5c87, 0xe8b3ac},
-  {0x5c88, 0xee86ac},
-  {0x5c89, 0xe8b3ad},
-  {0x5c8a, 0xe8b3ae},
-  {0x5c8b, 0xe8b3af},
-  {0x5c8c, 0xee86a7},
-  {0x5c8d, 0xee86a9},
-  {0x5c8e, 0xe8b3b0},
-  {0x5c8f, 0xe8b3b1},
-  {0x5c90, 0xee86aa},
-  {0x5c91, 0xee86af},
-  {0x5c92, 0xe8b3b2},
-  {0x5c93, 0xe8b3b3},
-  {0x5c94, 0xeb8bad},
-  {0x5c95, 0xe8b3b4},
-  {0x5c96, 0xee86ab},
-  {0x5c97, 0xeba39a},
-  {0x5c98, 0xee86ad},
-  {0x5c99, 0xee86ae},
-  {0x5c9a, 0xee86b0},
-  {0x5c9b, 0xeb96ba},
-  {0x5c9c, 0xee86b1},
-  {0x5c9d, 0xe8b3b5},
-  {0x5c9e, 0xe8b3b6},
-  {0x5c9f, 0xe8b3b7},
-  {0x5ca0, 0xe8b3b8},
-  {0x5ca1, 0xe8b3b9},
-  {0x5ca2, 0xee86b3},
-  {0x5ca3, 0xee86b8},
-  {0x5ca4, 0xe8b3ba},
-  {0x5ca5, 0xe8b3bb},
-  {0x5ca6, 0xe8b3bc},
-  {0x5ca7, 0xe8b3bd},
-  {0x5ca8, 0xe8b3be},
-  {0x5ca9, 0xed8792},
-  {0x5caa, 0xe8b580},
-  {0x5cab, 0xee86b6},
-  {0x5cac, 0xee86b5},
-  {0x5cad, 0xec87ab},
-  {0x5cae, 0xe8b581},
-  {0x5caf, 0xe8b582},
-  {0x5cb0, 0xe8b583},
-  {0x5cb1, 0xee86b7},
-  {0x5cb2, 0xe8b584},
-  {0x5cb3, 0xed9380},
-  {0x5cb4, 0xe8b585},
-  {0x5cb5, 0xee86b2},
-  {0x5cb6, 0xe8b586},
-  {0x5cb7, 0xee86ba},
-  {0x5cb8, 0xeb82b6},
-  {0x5cb9, 0xe8b587},
-  {0x5cba, 0xe8b588},
-  {0x5cbb, 0xe8b589},
-  {0x5cbc, 0xe8b58a},
-  {0x5cbd, 0xee86b4},
-  {0x5cbe, 0xe8b58b},
-  {0x5cbf, 0xebbfb9},
-  {0x5cc0, 0xe8b58c},
-  {0x5cc1, 0xee86b9},
-  {0x5cc2, 0xe8b58d},
-  {0x5cc3, 0xe8b58e},
-  {0x5cc4, 0xee86bb},
-  {0x5cc5, 0xe8b58f},
-  {0x5cc6, 0xe8b590},
-  {0x5cc7, 0xe8b591},
-  {0x5cc8, 0xe8b592},
-  {0x5cc9, 0xe8b593},
-  {0x5cca, 0xe8b594},
-  {0x5ccb, 0xee86be},
-  {0x5ccc, 0xe8b595},
-  {0x5ccd, 0xe8b596},
-  {0x5cce, 0xe8b597},
-  {0x5ccf, 0xe8b598},
-  {0x5cd0, 0xe8b599},
-  {0x5cd1, 0xe8b59a},
-  {0x5cd2, 0xee86bc},
-  {0x5cd3, 0xe8b59b},
-  {0x5cd4, 0xe8b59c},
-  {0x5cd5, 0xe8b59d},
-  {0x5cd6, 0xe8b59e},
-  {0x5cd7, 0xe8b59f},
-  {0x5cd8, 0xe8b5a0},
-  {0x5cd9, 0xed9b85},
-  {0x5cda, 0xe8b5a1},
-  {0x5cdb, 0xe8b5a2},
-  {0x5cdc, 0xe8b5a3},
-  {0x5cdd, 0xe8b5a4},
-  {0x5cde, 0xe8b5a5},
-  {0x5cdf, 0xe8b5a6},
-  {0x5ce0, 0xe8b5a7},
-  {0x5ce1, 0xecbebf},
-  {0x5ce2, 0xe8b5a8},
-  {0x5ce3, 0xe8b5a9},
-  {0x5ce4, 0xee86bd},
-  {0x5ce5, 0xee86bf},
-  {0x5ce6, 0xec8b8d},
-  {0x5ce7, 0xe8b5aa},
-  {0x5ce8, 0xeb9bab},
-  {0x5ce9, 0xe8b5ab},
-  {0x5cea, 0xed8fb8},
-  {0x5ceb, 0xe8b5ac},
-  {0x5cec, 0xe8b5ad},
-  {0x5ced, 0xec9f8d},
-  {0x5cee, 0xe8b5ae},
-  {0x5cef, 0xe8b5af},
-  {0x5cf0, 0xeb9fa5},
-  {0x5cf1, 0xe8b5b0},
-  {0x5cf2, 0xe8b5b1},
-  {0x5cf3, 0xe8b5b2},
-  {0x5cf4, 0xe8b5b3},
-  {0x5cf5, 0xe8b5b4},
-  {0x5cf6, 0xe8b5b5},
-  {0x5cf7, 0xe8b5b6},
-  {0x5cf8, 0xe8b5b7},
-  {0x5cf9, 0xe8b5b8},
-  {0x5cfa, 0xe8b5b9},
-  {0x5cfb, 0xebbbbe},
-  {0x5cfc, 0xe8b5ba},
-  {0x5cfd, 0xe8b5bb},
-  {0x5cfe, 0xe8b5bc},
-  {0x5cff, 0xe8b5bd},
-  {0x5d00, 0xe8b5be},
-  {0x5d01, 0xe8b680},
-  {0x5d02, 0xee8780},
-  {0x5d03, 0xee8781},
-  {0x5d04, 0xe8b681},
-  {0x5d05, 0xe8b682},
-  {0x5d06, 0xee8787},
-  {0x5d07, 0xeb8fa7},
-  {0x5d08, 0xe8b683},
-  {0x5d09, 0xe8b684},
-  {0x5d0a, 0xe8b685},
-  {0x5d0b, 0xe8b686},
-  {0x5d0c, 0xe8b687},
-  {0x5d0d, 0xe8b688},
-  {0x5d0e, 0xec9ba9},
-  {0x5d0f, 0xe8b689},
-  {0x5d10, 0xe8b68a},
-  {0x5d11, 0xe8b68b},
-  {0x5d12, 0xe8b68c},
-  {0x5d13, 0xe8b68d},
-  {0x5d14, 0xeb939e},
-  {0x5d15, 0xe8b68e},
-  {0x5d16, 0xed8782},
-  {0x5d17, 0xe8b68f},
-  {0x5d18, 0xe8b690},
-  {0x5d19, 0xe8b691},
-  {0x5d1a, 0xe8b692},
-  {0x5d1b, 0xee8788},
-  {0x5d1c, 0xe8b693},
-  {0x5d1d, 0xe8b694},
-  {0x5d1e, 0xee8786},
-  {0x5d1f, 0xe8b695},
-  {0x5d20, 0xe8b696},
-  {0x5d21, 0xe8b697},
-  {0x5d22, 0xe8b698},
-  {0x5d23, 0xe8b699},
-  {0x5d24, 0xee8785},
-  {0x5d25, 0xe8b69a},
-  {0x5d26, 0xee8783},
-  {0x5d27, 0xee8782},
-  {0x5d28, 0xe8b69b},
-  {0x5d29, 0xeb8780},
-  {0x5d2a, 0xe8b69c},
-  {0x5d2b, 0xe8b69d},
-  {0x5d2c, 0xe8b69e},
-  {0x5d2d, 0xed96b8},
-  {0x5d2e, 0xee8784},
-  {0x5d2f, 0xe8b69f},
-  {0x5d30, 0xe8b6a0},
-  {0x5d31, 0xe8b6a1},
-  {0x5d32, 0xe8b6a2},
-  {0x5d33, 0xe8b6a3},
-  {0x5d34, 0xee878b},
-  {0x5d35, 0xe8b6a4},
-  {0x5d36, 0xe8b6a5},
-  {0x5d37, 0xe8b6a6},
-  {0x5d38, 0xe8b6a7},
-  {0x5d39, 0xe8b6a8},
-  {0x5d3a, 0xe8b6a9},
-  {0x5d3b, 0xe8b6aa},
-  {0x5d3c, 0xe8b6ab},
-  {0x5d3d, 0xee878c},
-  {0x5d3e, 0xee878a},
-  {0x5d3f, 0xe8b6ac},
-  {0x5d40, 0xe8b6ad},
-  {0x5d41, 0xe8b6ae},
-  {0x5d42, 0xe8b6af},
-  {0x5d43, 0xe8b6b0},
-  {0x5d44, 0xe8b6b1},
-  {0x5d45, 0xe8b6b2},
-  {0x5d46, 0xe8b6b3},
-  {0x5d47, 0xeebfba},
-  {0x5d48, 0xe8b6b4},
-  {0x5d49, 0xe8b6b5},
-  {0x5d4a, 0xee8793},
-  {0x5d4b, 0xee8792},
-  {0x5d4c, 0xec9eb6},
-  {0x5d4d, 0xe8b6b6},
-  {0x5d4e, 0xe8b6b7},
-  {0x5d4f, 0xe8b6b8},
-  {0x5d50, 0xe8b6b9},
-  {0x5d51, 0xe8b6ba},
-  {0x5d52, 0xe8b6bb},
-  {0x5d53, 0xe8b6bc},
-  {0x5d54, 0xe8b6bd},
-  {0x5d55, 0xe8b6be},
-  {0x5d56, 0xe8b6bf},
-  {0x5d57, 0xe8b780},
-  {0x5d58, 0xee8789},
-  {0x5d59, 0xe8b781},
-  {0x5d5a, 0xe8b782},
-  {0x5d5b, 0xee878e},
-  {0x5d5c, 0xe8b783},
-  {0x5d5d, 0xee8790},
-  {0x5d5e, 0xe8b784},
-  {0x5d5f, 0xe8b785},
-  {0x5d60, 0xe8b786},
-  {0x5d61, 0xe8b787},
-  {0x5d62, 0xe8b788},
-  {0x5d63, 0xe8b789},
-  {0x5d64, 0xe8b78a},
-  {0x5d65, 0xe8b78b},
-  {0x5d66, 0xe8b78c},
-  {0x5d67, 0xe8b78d},
-  {0x5d68, 0xe8b78e},
-  {0x5d69, 0xee8794},
-  {0x5d6a, 0xe8b78f},
-  {0x5d6b, 0xee8791},
-  {0x5d6c, 0xee878d},
-  {0x5d6d, 0xe8b790},
-  {0x5d6e, 0xe8b791},
-  {0x5d6f, 0xee878f},
-  {0x5d70, 0xe8b792},
-  {0x5d71, 0xe8b793},
-  {0x5d72, 0xe8b794},
-  {0x5d73, 0xe8b795},
-  {0x5d74, 0xee8795},
-  {0x5d75, 0xe8b796},
-  {0x5d76, 0xe8b797},
-  {0x5d77, 0xe8b798},
-  {0x5d78, 0xe8b799},
-  {0x5d79, 0xe8b79a},
-  {0x5d7a, 0xe8b79b},
-  {0x5d7b, 0xe8b79c},
-  {0x5d7c, 0xe8b79d},
-  {0x5d7d, 0xe8b79e},
-  {0x5d7e, 0xe8b79f},
-  {0x5d7f, 0xe8b7a0},
-  {0x5d80, 0xe8b7a1},
-  {0x5d81, 0xe8b7a2},
-  {0x5d82, 0xee8796},
-  {0x5d83, 0xe8b7a3},
-  {0x5d84, 0xe8b7a4},
-  {0x5d85, 0xe8b7a5},
-  {0x5d86, 0xe8b7a6},
-  {0x5d87, 0xe8b7a7},
-  {0x5d88, 0xe8b7a8},
-  {0x5d89, 0xe8b7a9},
-  {0x5d8a, 0xe8b7aa},
-  {0x5d8b, 0xe8b7ab},
-  {0x5d8c, 0xe8b7ac},
-  {0x5d8d, 0xe8b7ad},
-  {0x5d8e, 0xe8b7ae},
-  {0x5d8f, 0xe8b7af},
-  {0x5d90, 0xe8b7b0},
-  {0x5d91, 0xe8b7b1},
-  {0x5d92, 0xe8b7b2},
-  {0x5d93, 0xe8b7b3},
-  {0x5d94, 0xe8b7b4},
-  {0x5d95, 0xe8b7b5},
-  {0x5d96, 0xe8b7b6},
-  {0x5d97, 0xe8b7b7},
-  {0x5d98, 0xe8b7b8},
-  {0x5d99, 0xee8797},
-  {0x5d9a, 0xe8b7b9},
-  {0x5d9b, 0xe8b7ba},
-  {0x5d9c, 0xe8b7bb},
-  {0x5d9d, 0xee8798},
-  {0x5d9e, 0xe8b7bc},
-  {0x5d9f, 0xe8b7bd},
-  {0x5da0, 0xe8b7be},
-  {0x5da1, 0xe8b980},
-  {0x5da2, 0xe8b981},
-  {0x5da3, 0xe8b982},
-  {0x5da4, 0xe8b983},
-  {0x5da5, 0xe8b984},
-  {0x5da6, 0xe8b985},
-  {0x5da7, 0xe8b986},
-  {0x5da8, 0xe8b987},
-  {0x5da9, 0xe8b988},
-  {0x5daa, 0xe8b989},
-  {0x5dab, 0xe8b98a},
-  {0x5dac, 0xe8b98b},
-  {0x5dad, 0xe8b98c},
-  {0x5dae, 0xe8b98d},
-  {0x5daf, 0xe8b98e},
-  {0x5db0, 0xe8b98f},
-  {0x5db1, 0xe8b990},
-  {0x5db2, 0xe8b991},
-  {0x5db3, 0xe8b992},
-  {0x5db4, 0xe8b993},
-  {0x5db5, 0xe8b994},
-  {0x5db6, 0xe8b995},
-  {0x5db7, 0xee879a},
-  {0x5db8, 0xe8b996},
-  {0x5db9, 0xe8b997},
-  {0x5dba, 0xe8b998},
-  {0x5dbb, 0xe8b999},
-  {0x5dbc, 0xe8b99a},
-  {0x5dbd, 0xe8b99b},
-  {0x5dbe, 0xe8b99c},
-  {0x5dbf, 0xe8b99d},
-  {0x5dc0, 0xe8b99e},
-  {0x5dc1, 0xe8b99f},
-  {0x5dc2, 0xe8b9a0},
-  {0x5dc3, 0xe8b9a1},
-  {0x5dc4, 0xe8b9a2},
-  {0x5dc5, 0xee879b},
-  {0x5dc6, 0xe8b9a3},
-  {0x5dc7, 0xe8b9a4},
-  {0x5dc8, 0xe8b9a5},
-  {0x5dc9, 0xe8b9a6},
-  {0x5dca, 0xe8b9a7},
-  {0x5dcb, 0xe8b9a8},
-  {0x5dcc, 0xe8b9a9},
-  {0x5dcd, 0xecbaa1},
-  {0x5dce, 0xe8b9aa},
-  {0x5dcf, 0xe8b9ab},
-  {0x5dd0, 0xe8b9ac},
-  {0x5dd1, 0xe8b9ad},
-  {0x5dd2, 0xe8b9ae},
-  {0x5dd3, 0xe8b9af},
-  {0x5dd4, 0xe8b9b0},
-  {0x5dd5, 0xe8b9b1},
-  {0x5dd6, 0xe8b9b2},
-  {0x5dd7, 0xe8b9b3},
-  {0x5dd8, 0xe8b9b4},
-  {0x5dd9, 0xe8b9b5},
-  {0x5dda, 0xe8b9b6},
-  {0x5ddb, 0xee9f9d},
-  {0x5ddc, 0xe8b9b7},
-  {0x5ddd, 0xeb92a8},
-  {0x5dde, 0xed9b9d},
-  {0x5ddf, 0xe8b9b8},
-  {0x5de0, 0xe8b9b9},
-  {0x5de1, 0xed86b2},
-  {0x5de2, 0xeb8eb2},
-  {0x5de3, 0xe8b9ba},
-  {0x5de4, 0xe8b9bb},
-  {0x5de5, 0xeba6a4},
-  {0x5de6, 0xed9fb3},
-  {0x5de7, 0xec9f89},
-  {0x5de8, 0xebbb9e},
-  {0x5de9, 0xeba6ae},
-  {0x5dea, 0xe8b9bc},
-  {0x5deb, 0xecbb97},
-  {0x5dec, 0xe8b9bd},
-  {0x5ded, 0xe8b9be},
-  {0x5dee, 0xeb8bae},
-  {0x5def, 0xedaf8f},
-  {0x5df0, 0xe8ba80},
-  {0x5df1, 0xebb2ba},
-  {0x5df2, 0xed8b91},
-  {0x5df3, 0xecaf88},
-  {0x5df4, 0xeb838d},
-  {0x5df5, 0xe8ba81},
-  {0x5df6, 0xe8ba82},
-  {0x5df7, 0xecbfaf},
-  {0x5df8, 0xe8ba83},
-  {0x5df9, 0xe8ba84},
-  {0x5dfa, 0xe8ba85},
-  {0x5dfb, 0xe8ba86},
-  {0x5dfc, 0xe8ba87},
-  {0x5dfd, 0xeda7a3},
-  {0x5dfe, 0xebb7ad},
-  {0x5dff, 0xe8ba88},
-  {0x5e00, 0xe8ba89},
-  {0x5e01, 0xeb8792},
-  {0x5e02, 0xecab90},
-  {0x5e03, 0xeb8abc},
-  {0x5e04, 0xe8ba8a},
-  {0x5e05, 0xecaea7},
-  {0x5e06, 0xeb9eab},
-  {0x5e07, 0xe8ba8b},
-  {0x5e08, 0xecaaa6},
-  {0x5e09, 0xe8ba8c},
-  {0x5e0a, 0xe8ba8d},
-  {0x5e0b, 0xe8ba8e},
-  {0x5e0c, 0xecbea3},
-  {0x5e0d, 0xe8ba8f},
-  {0x5e0e, 0xe8ba90},
-  {0x5e0f, 0xee83b8},
-  {0x5e10, 0xed978a},
-  {0x5e11, 0xee83bb},
-  {0x5e12, 0xe8ba91},
-  {0x5e13, 0xe8ba92},
-  {0x5e14, 0xee83ba},
-  {0x5e15, 0xec9781},
-  {0x5e16, 0xecb3bb},
-  {0x5e17, 0xe8ba93},
-  {0x5e18, 0xec86b1},
-  {0x5e19, 0xee83b9},
-  {0x5e1a, 0xed9ba3},
-  {0x5e1b, 0xeb8aaf},
-  {0x5e1c, 0xed9b84},
-  {0x5e1d, 0xeb979b},
-  {0x5e1e, 0xe8ba94},
-  {0x5e1f, 0xe8ba95},
-  {0x5e20, 0xe8ba96},
-  {0x5e21, 0xe8ba97},
-  {0x5e22, 0xe8ba98},
-  {0x5e23, 0xe8ba99},
-  {0x5e24, 0xe8ba9a},
-  {0x5e25, 0xe8ba9b},
-  {0x5e26, 0xeb93b8},
-  {0x5e27, 0xed9aa1},
-  {0x5e28, 0xe8ba9c},
-  {0x5e29, 0xe8ba9d},
-  {0x5e2a, 0xe8ba9e},
-  {0x5e2b, 0xe8ba9f},
-  {0x5e2c, 0xe8baa0},
-  {0x5e2d, 0xecbeaf},
-  {0x5e2e, 0xeb83af},
-  {0x5e2f, 0xe8baa1},
-  {0x5e30, 0xe8baa2},
-  {0x5e31, 0xee83bc},
-  {0x5e32, 0xe8baa3},
-  {0x5e33, 0xe8baa4},
-  {0x5e34, 0xe8baa5},
-  {0x5e35, 0xe8baa6},
-  {0x5e36, 0xe8baa7},
-  {0x5e37, 0xee86a1},
-  {0x5e38, 0xeb8ea3},
-  {0x5e39, 0xe8baa8},
-  {0x5e3a, 0xe8baa9},
-  {0x5e3b, 0xee83bd},
-  {0x5e3c, 0xee83be},
-  {0x5e3d, 0xec8eb1},
-  {0x5e3e, 0xe8baaa},
-  {0x5e3f, 0xe8baab},
-  {0x5e40, 0xe8baac},
-  {0x5e41, 0xe8baad},
-  {0x5e42, 0xec8f9d},
-  {0x5e43, 0xe8baae},
-  {0x5e44, 0xee86a2},
-  {0x5e45, 0xeb9fb9},
-  {0x5e46, 0xe8baaf},
-  {0x5e47, 0xe8bab0},
-  {0x5e48, 0xe8bab1},
-  {0x5e49, 0xe8bab2},
-  {0x5e4a, 0xe8bab3},
-  {0x5e4b, 0xe8bab4},
-  {0x5e4c, 0xebaf8f},
-  {0x5e4d, 0xe8bab5},
-  {0x5e4e, 0xe8bab6},
-  {0x5e4f, 0xe8bab7},
-  {0x5e50, 0xe8bab8},
-  {0x5e51, 0xe8bab9},
-  {0x5e52, 0xe8baba},
-  {0x5e53, 0xe8babb},
-  {0x5e54, 0xee86a3},
-  {0x5e55, 0xec92bb},
-  {0x5e56, 0xe8babc},
-  {0x5e57, 0xe8babd},
-  {0x5e58, 0xe8babe},
-  {0x5e59, 0xe8babf},
-  {0x5e5a, 0xe8bb80},
-  {0x5e5b, 0xee86a4},
-  {0x5e5c, 0xe8bb81},
-  {0x5e5d, 0xe8bb82},
-  {0x5e5e, 0xee86a5},
-  {0x5e5f, 0xe8bb83},
-  {0x5e60, 0xe8bb84},
-  {0x5e61, 0xee86a6},
-  {0x5e62, 0xeb92b1},
-  {0x5e63, 0xe8bb85},
-  {0x5e64, 0xe8bb86},
-  {0x5e65, 0xe8bb87},
-  {0x5e66, 0xe8bb88},
-  {0x5e67, 0xe8bb89},
-  {0x5e68, 0xe8bb8a},
-  {0x5e69, 0xe8bb8b},
-  {0x5e6a, 0xe8bb8c},
-  {0x5e6b, 0xe8bb8d},
-  {0x5e6c, 0xe8bb8e},
-  {0x5e6d, 0xe8bb8f},
-  {0x5e6e, 0xe8bb90},
-  {0x5e6f, 0xe8bb91},
-  {0x5e70, 0xe8bb92},
-  {0x5e71, 0xe8bb93},
-  {0x5e72, 0xeba389},
-  {0x5e73, 0xec9abd},
-  {0x5e74, 0xec93aa},
-  {0x5e75, 0xe8bb94},
-  {0x5e76, 0xeb8aa2},
-  {0x5e77, 0xe8bb95},
-  {0x5e78, 0xed8392},
-  {0x5e79, 0xe8bb96},
-  {0x5e7a, 0xee9f9b},
-  {0x5e7b, 0xebaf83},
-  {0x5e7c, 0xed8f97},
-  {0x5e7d, 0xed8f84},
-  {0x5e7e, 0xe8bb97},
-  {0x5e7f, 0xeba7a3},
-  {0x5e80, 0xee8b8f},
-  {0x5e81, 0xe8bb98},
-  {0x5e82, 0xe8bb99},
-  {0x5e83, 0xe8bb9a},
-  {0x5e84, 0xed9eaf},
-  {0x5e85, 0xe8bb9b},
-  {0x5e86, 0xec9fac},
-  {0x5e87, 0xeb8793},
-  {0x5e88, 0xe8bb9c},
-  {0x5e89, 0xe8bb9d},
-  {0x5e8a, 0xeb92b2},
-  {0x5e8b, 0xee8b91},
-  {0x5e8c, 0xe8bb9e},
-  {0x5e8d, 0xe8bb9f},
-  {0x5e8e, 0xe8bba0},
-  {0x5e8f, 0xed83b2},
-  {0x5e90, 0xec8aae},
-  {0x5e91, 0xee8b90},
-  {0x5e92, 0xe8bba1},
-  {0x5e93, 0xebbfa2},
-  {0x5e94, 0xed8ea6},
-  {0x5e95, 0xeb9797},
-  {0x5e96, 0xee8b92},
-  {0x5e97, 0xeb97aa},
-  {0x5e98, 0xe8bba2},
-  {0x5e99, 0xec8fad},
-  {0x5e9a, 0xeba3bd},
-  {0x5e9b, 0xe8bba3},
-  {0x5e9c, 0xeba2ae},
-  {0x5e9d, 0xe8bba4},
-  {0x5e9e, 0xec9793},
-  {0x5e9f, 0xeb9f8f},
-  {0x5ea0, 0xee8b94},
-  {0x5ea1, 0xe8bba5},
-  {0x5ea2, 0xe8bba6},
-  {0x5ea3, 0xe8bba7},
-  {0x5ea4, 0xe8bba8},
-  {0x5ea5, 0xee8b93},
-  {0x5ea6, 0xeb9b88},
-  {0x5ea7, 0xed9fb9},
-  {0x5ea8, 0xe8bba9},
-  {0x5ea9, 0xe8bbaa},
-  {0x5eaa, 0xe8bbab},
-  {0x5eab, 0xe8bbac},
-  {0x5eac, 0xe8bbad},
-  {0x5ead, 0xecb6a5},
-  {0x5eae, 0xe8bbae},
-  {0x5eaf, 0xe8bbaf},
-  {0x5eb0, 0xe8bbb0},
-  {0x5eb1, 0xe8bbb1},
-  {0x5eb2, 0xe8bbb2},
-  {0x5eb3, 0xee8b98},
-  {0x5eb4, 0xe8bbb3},
-  {0x5eb5, 0xee8b96},
-  {0x5eb6, 0xecabbc},
-  {0x5eb7, 0xebbeb5},
-  {0x5eb8, 0xed8eb9},
-  {0x5eb9, 0xee8b95},
-  {0x5eba, 0xe8bbb4},
-  {0x5ebb, 0xe8bbb5},
-  {0x5ebc, 0xe8bbb6},
-  {0x5ebd, 0xe8bbb7},
-  {0x5ebe, 0xee8b97},
-  {0x5ebf, 0xe8bbb8},
-  {0x5ec0, 0xe8bbb9},
-  {0x5ec1, 0xe8bbba},
-  {0x5ec2, 0xe8bbbb},
-  {0x5ec3, 0xe8bbbc},
-  {0x5ec4, 0xe8bbbd},
-  {0x5ec5, 0xe8bbbe},
-  {0x5ec6, 0xe8bd80},
-  {0x5ec7, 0xe8bd81},
-  {0x5ec8, 0xe8bd82},
-  {0x5ec9, 0xec86ae},
-  {0x5eca, 0xec8388},
-  {0x5ecb, 0xe8bd83},
-  {0x5ecc, 0xe8bd84},
-  {0x5ecd, 0xe8bd85},
-  {0x5ece, 0xe8bd86},
-  {0x5ecf, 0xe8bd87},
-  {0x5ed0, 0xe8bd88},
-  {0x5ed1, 0xee8b9b},
-  {0x5ed2, 0xee8b9a},
-  {0x5ed3, 0xec82aa},
-  {0x5ed4, 0xe8bd89},
-  {0x5ed5, 0xe8bd8a},
-  {0x5ed6, 0xec878e},
-  {0x5ed7, 0xe8bd8b},
-  {0x5ed8, 0xe8bd8c},
-  {0x5ed9, 0xe8bd8d},
-  {0x5eda, 0xe8bd8e},
-  {0x5edb, 0xee8b9c},
-  {0x5edc, 0xe8bd8f},
-  {0x5edd, 0xe8bd90},
-  {0x5ede, 0xe8bd91},
-  {0x5edf, 0xe8bd92},
-  {0x5ee0, 0xe8bd93},
-  {0x5ee1, 0xe8bd94},
-  {0x5ee2, 0xe8bd95},
-  {0x5ee3, 0xe8bd96},
-  {0x5ee4, 0xe8bd97},
-  {0x5ee5, 0xe8bd98},
-  {0x5ee6, 0xe8bd99},
-  {0x5ee7, 0xe8bd9a},
-  {0x5ee8, 0xee8b9d},
-  {0x5ee9, 0xe8bd9b},
-  {0x5eea, 0xee8b9e},
-  {0x5eeb, 0xe8bd9c},
-  {0x5eec, 0xe8bd9d},
-  {0x5eed, 0xe8bd9e},
-  {0x5eee, 0xe8bd9f},
-  {0x5eef, 0xe8bda0},
-  {0x5ef0, 0xe8bda1},
-  {0x5ef1, 0xe8bda2},
-  {0x5ef2, 0xe8bda3},
-  {0x5ef3, 0xe8bda4},
-  {0x5ef4, 0xedaf88},
-  {0x5ef5, 0xe8bda5},
-  {0x5ef6, 0xed8793},
-  {0x5ef7, 0xecb6a2},
-  {0x5ef8, 0xe8bda6},
-  {0x5ef9, 0xe8bda7},
-  {0x5efa, 0xebb6a8},
-  {0x5efb, 0xe8bda8},
-  {0x5efc, 0xe8bda9},
-  {0x5efd, 0xe8bdaa},
-  {0x5efe, 0xedbb83},
-  {0x5eff, 0xeda2a5},
-  {0x5f00, 0xebbeaa},
-  {0x5f01, 0xedaf8d},
-  {0x5f02, 0xed8bac},
-  {0x5f03, 0xec9bba},
-  {0x5f04, 0xec96aa},
-  {0x5f05, 0xe8bdab},
-  {0x5f06, 0xe8bdac},
-  {0x5f07, 0xe8bdad},
-  {0x5f08, 0xedbb84},
-  {0x5f09, 0xe8bdae},
-  {0x5f0a, 0xeb8797},
-  {0x5f0b, 0xedbeae},
-  {0x5f0c, 0xe8bdaf},
-  {0x5f0d, 0xe8bdb0},
-  {0x5f0e, 0xe8bdb1},
-  {0x5f0f, 0xecaabd},
-  {0x5f10, 0xe8bdb2},
-  {0x5f11, 0xedbeb1},
-  {0x5f12, 0xe8bdb3},
-  {0x5f13, 0xeba6ad},
-  {0x5f14, 0xe8bdb4},
-  {0x5f15, 0xed8bbd},
-  {0x5f16, 0xe8bdb5},
-  {0x5f17, 0xeba2a5},
-  {0x5f18, 0xebabab},
-  {0x5f19, 0xe8bdb6},
-  {0x5f1a, 0xe8bdb7},
-  {0x5f1b, 0xeb8f9a},
-  {0x5f1c, 0xe8bdb8},
-  {0x5f1d, 0xe8bdb9},
-  {0x5f1e, 0xe8bdba},
-  {0x5f1f, 0xeb979c},
-  {0x5f20, 0xed9785},
-  {0x5f21, 0xe8bdbb},
-  {0x5f22, 0xe8bdbc},
-  {0x5f23, 0xe8bdbd},
-  {0x5f24, 0xe8bdbe},
-  {0x5f25, 0xec8f96},
-  {0x5f26, 0xecbf92},
-  {0x5f27, 0xebaea1},
-  {0x5f28, 0xe8be80},
-  {0x5f29, 0xee97b3},
-  {0x5f2a, 0xee97b2},
-  {0x5f2b, 0xe8be81},
-  {0x5f2c, 0xe8be82},
-  {0x5f2d, 0xee97b4},
-  {0x5f2e, 0xe8be83},
-  {0x5f2f, 0xecb7a4},
-  {0x5f30, 0xe8be84},
-  {0x5f31, 0xeca3b5},
-  {0x5f32, 0xe8be85},
-  {0x5f33, 0xe8be86},
-  {0x5f34, 0xe8be87},
-  {0x5f35, 0xe8be88},
-  {0x5f36, 0xe8be89},
-  {0x5f37, 0xe8be8a},
-  {0x5f38, 0xe8be8b},
-  {0x5f39, 0xeb96af},
-  {0x5f3a, 0xec9ebf},
-  {0x5f3b, 0xe8be8c},
-  {0x5f3c, 0xee97b6},
-  {0x5f3d, 0xe8be8d},
-  {0x5f3e, 0xe8be8e},
-  {0x5f3f, 0xe8be8f},
-  {0x5f40, 0xeeb2b0},
-  {0x5f41, 0xe8be90},
-  {0x5f42, 0xe8be91},
-  {0x5f43, 0xe8be92},
-  {0x5f44, 0xe8be93},
-  {0x5f45, 0xe8be94},
-  {0x5f46, 0xe8be95},
-  {0x5f47, 0xe8be96},
-  {0x5f48, 0xe8be97},
-  {0x5f49, 0xe8be98},
-  {0x5f4a, 0xe8be99},
-  {0x5f4b, 0xe8be9a},
-  {0x5f4c, 0xe8be9b},
-  {0x5f4d, 0xe8be9c},
-  {0x5f4e, 0xe8be9d},
-  {0x5f4f, 0xe8be9e},
-  {0x5f50, 0xee97a6},
-  {0x5f51, 0xe8be9f},
-  {0x5f52, 0xeba7a9},
-  {0x5f53, 0xeb96b1},
-  {0x5f54, 0xe8bea0},
-  {0x5f55, 0xec8abc},
-  {0x5f56, 0xee97a8},
-  {0x5f57, 0xee97a7},
-  {0x5f58, 0xee97a9},
-  {0x5f59, 0xe8bea1},
-  {0x5f5a, 0xe8bea2},
-  {0x5f5b, 0xe8bea3},
-  {0x5f5c, 0xe8bea4},
-  {0x5f5d, 0xed8b8d},
-  {0x5f5e, 0xe8bea5},
-  {0x5f5f, 0xe8bea6},
-  {0x5f60, 0xe8bea7},
-  {0x5f61, 0xee87aa},
-  {0x5f62, 0xed838e},
-  {0x5f63, 0xe8bea8},
-  {0x5f64, 0xecb6ae},
-  {0x5f65, 0xe8bea9},
-  {0x5f66, 0xed87a5},
-  {0x5f67, 0xe8beaa},
-  {0x5f68, 0xe8beab},
-  {0x5f69, 0xeb8b8a},
-  {0x5f6a, 0xeb87ab},
-  {0x5f6b, 0xe8beac},
-  {0x5f6c, 0xeb87b2},
-  {0x5f6d, 0xec97ad},
-  {0x5f6e, 0xe8bead},
-  {0x5f6f, 0xe8beae},
-  {0x5f70, 0xed9783},
-  {0x5f71, 0xed8eb0},
-  {0x5f72, 0xe8beaf},
-  {0x5f73, 0xee879c},
-  {0x5f74, 0xe8beb0},
-  {0x5f75, 0xe8beb1},
-  {0x5f76, 0xe8beb2},
-  {0x5f77, 0xee879d},
-  {0x5f78, 0xe8beb3},
-  {0x5f79, 0xed8b9b},
-  {0x5f7a, 0xe8beb4},
-  {0x5f7b, 0xeb8eb9},
-  {0x5f7c, 0xeb878b},
-  {0x5f7d, 0xe8beb5},
-  {0x5f7e, 0xe8beb6},
-  {0x5f7f, 0xe8beb7},
-  {0x5f80, 0xecb7b9},
-  {0x5f81, 0xed97b7},
-  {0x5f82, 0xee879e},
-  {0x5f83, 0xe8beb8},
-  {0x5f84, 0xebbab6},
-  {0x5f85, 0xeb93bd},
-  {0x5f86, 0xe8beb9},
-  {0x5f87, 0xee879f},
-  {0x5f88, 0xebab9c},
-  {0x5f89, 0xee87a0},
-  {0x5f8a, 0xebaeb2},
-  {0x5f8b, 0xec8b89},
-  {0x5f8c, 0xee87a1},
-  {0x5f8d, 0xe8beba},
-  {0x5f8e, 0xe8bebb},
-  {0x5f8f, 0xe8bebc},
-  {0x5f90, 0xed83ac},
-  {0x5f91, 0xe8bebd},
-  {0x5f92, 0xecb6bd},
-  {0x5f93, 0xe8bebe},
-  {0x5f94, 0xe8bebf},
-  {0x5f95, 0xee87a2},
-  {0x5f96, 0xe8bf80},
-  {0x5f97, 0xeb9783},
-  {0x5f98, 0xec9787},
-  {0x5f99, 0xee87a3},
-  {0x5f9a, 0xe8bf81},
-  {0x5f9b, 0xe8bf82},
-  {0x5f9c, 0xee87a4},
-  {0x5f9d, 0xe8bf83},
-  {0x5f9e, 0xe8bf84},
-  {0x5f9f, 0xe8bf85},
-  {0x5fa0, 0xe8bf86},
-  {0x5fa1, 0xed8fb9},
-  {0x5fa2, 0xe8bf87},
-  {0x5fa3, 0xe8bf88},
-  {0x5fa4, 0xe8bf89},
-  {0x5fa5, 0xe8bf8a},
-  {0x5fa6, 0xe8bf8b},
-  {0x5fa7, 0xe8bf8c},
-  {0x5fa8, 0xee87a5},
-  {0x5fa9, 0xe8bf8d},
-  {0x5faa, 0xed86ad},
-  {0x5fab, 0xe8bf8e},
-  {0x5fac, 0xe8bf8f},
-  {0x5fad, 0xee87a6},
-  {0x5fae, 0xecbaa2},
-  {0x5faf, 0xe8bf90},
-  {0x5fb0, 0xe8bf91},
-  {0x5fb1, 0xe8bf92},
-  {0x5fb2, 0xe8bf93},
-  {0x5fb3, 0xe8bf94},
-  {0x5fb4, 0xe8bf95},
-  {0x5fb5, 0xee87a7},
-  {0x5fb6, 0xe8bf96},
-  {0x5fb7, 0xeb9782},
-  {0x5fb8, 0xe8bf97},
-  {0x5fb9, 0xe8bf98},
-  {0x5fba, 0xe8bf99},
-  {0x5fbb, 0xe8bf9a},
-  {0x5fbc, 0xee87a8},
-  {0x5fbd, 0xebaf95},
-  {0x5fbe, 0xe8bf9b},
-  {0x5fbf, 0xe8bf9c},
-  {0x5fc0, 0xe8bf9d},
-  {0x5fc1, 0xe8bf9e},
-  {0x5fc2, 0xe8bf9f},
-  {0x5fc3, 0xed8384},
-  {0x5fc4, 0xee8ba0},
-  {0x5fc5, 0xeb8798},
-  {0x5fc6, 0xed8ba4},
-  {0x5fc7, 0xe8bfa0},
-  {0x5fc8, 0xe8bfa1},
-  {0x5fc9, 0xee8ba1},
-  {0x5fca, 0xe8bfa2},
-  {0x5fcb, 0xe8bfa3},
-  {0x5fcc, 0xebb389},
-  {0x5fcd, 0xeca38c},
-  {0x5fce, 0xe8bfa4},
-  {0x5fcf, 0xee8ba3},
-  {0x5fd0, 0xeeb3be},
-  {0x5fd1, 0xeeb3bd},
-  {0x5fd2, 0xedbeaf},
-  {0x5fd3, 0xe8bfa5},
-  {0x5fd4, 0xe8bfa6},
-  {0x5fd5, 0xe8bfa7},
-  {0x5fd6, 0xee8ba2},
-  {0x5fd7, 0xed9abe},
-  {0x5fd8, 0xecb7bc},
-  {0x5fd9, 0xec8ea6},
-  {0x5fda, 0xe8bfa8},
-  {0x5fdb, 0xe8bfa9},
-  {0x5fdc, 0xe8bfaa},
-  {0x5fdd, 0xee8f83},
-  {0x5fde, 0xe8bfab},
-  {0x5fdf, 0xe8bfac},
-  {0x5fe0, 0xed9b92},
-  {0x5fe1, 0xee8ba7},
-  {0x5fe2, 0xe8bfad},
-  {0x5fe3, 0xe8bfae},
-  {0x5fe4, 0xee8ba8},
-  {0x5fe5, 0xe8bfaf},
-  {0x5fe6, 0xe8bfb0},
-  {0x5fe7, 0xed8f87},
-  {0x5fe8, 0xe8bfb1},
-  {0x5fe9, 0xe8bfb2},
-  {0x5fea, 0xee8bac},
-  {0x5feb, 0xebbfac},
-  {0x5fec, 0xe8bfb3},
-  {0x5fed, 0xee8bad},
-  {0x5fee, 0xee8ba5},
-  {0x5fef, 0xe8bfb4},
-  {0x5ff0, 0xe8bfb5},
-  {0x5ff1, 0xeb8f80},
-  {0x5ff2, 0xe8bfb6},
-  {0x5ff3, 0xe8bfb7},
-  {0x5ff4, 0xe8bfb8},
-  {0x5ff5, 0xec93ae},
-  {0x5ff6, 0xe8bfb9},
-  {0x5ff7, 0xe8bfba},
-  {0x5ff8, 0xee8bae},
-  {0x5ff9, 0xe8bfbb},
-  {0x5ffa, 0xe8bfbc},
-  {0x5ffb, 0xed8383},
-  {0x5ffc, 0xe8bfbd},
-  {0x5ffd, 0xebabb6},
-  {0x5ffe, 0xee8ba9},
-  {0x5fff, 0xeb9f9e},
-  {0x6000, 0xebaeb3},
-  {0x6001, 0xecb2ac},
-  {0x6002, 0xecaf8b},
-  {0x6003, 0xee8ba4},
-  {0x6004, 0xee8ba6},
-  {0x6005, 0xee8baa},
-  {0x6006, 0xee8bab},
-  {0x6007, 0xe8bfbe},
-  {0x6008, 0xe98180},
-  {0x6009, 0xe98181},
-  {0x600a, 0xee8bb7},
-  {0x600b, 0xe98182},
-  {0x600c, 0xe98183},
-  {0x600d, 0xee8bb4},
-  {0x600e, 0xed93b5},
-  {0x600f, 0xee8bb3},
-  {0x6010, 0xe98184},
-  {0x6011, 0xe98185},
-  {0x6012, 0xec96ad},
-  {0x6013, 0xe98186},
-  {0x6014, 0xed97ba},
-  {0x6015, 0xec9782},
-  {0x6016, 0xeb8b80},
-  {0x6017, 0xe98187},
-  {0x6018, 0xe98188},
-  {0x6019, 0xee8baf},
-  {0x601a, 0xe98189},
-  {0x601b, 0xee8bb2},
-  {0x601c, 0xec86af},
-  {0x601d, 0xecaebc},
-  {0x601e, 0xe9818a},
-  {0x601f, 0xe9818b},
-  {0x6020, 0xeb96a1},
-  {0x6021, 0xee8bb9},
-  {0x6022, 0xe9818c},
-  {0x6023, 0xe9818d},
-  {0x6024, 0xe9818e},
-  {0x6025, 0xebb2b1},
-  {0x6026, 0xee8bb1},
-  {0x6027, 0xed8394},
-  {0x6028, 0xed92b9},
-  {0x6029, 0xee8bb5},
-  {0x602a, 0xeba796},
-  {0x602b, 0xee8bb6},
-  {0x602c, 0xe9818f},
-  {0x602d, 0xe98190},
-  {0x602e, 0xe98191},
-  {0x602f, 0xec9f93},
-  {0x6030, 0xe98192},
-  {0x6031, 0xe98193},
-  {0x6032, 0xe98194},
-  {0x6033, 0xe98195},
-  {0x6034, 0xe98196},
-  {0x6035, 0xee8bb0},
-  {0x6036, 0xe98197},
-  {0x6037, 0xe98198},
-  {0x6038, 0xe98199},
-  {0x6039, 0xe9819a},
-  {0x603a, 0xe9819b},
-  {0x603b, 0xed9f9c},
-  {0x603c, 0xeeb6a1},
-  {0x603d, 0xe9819c},
-  {0x603e, 0xe9819d},
-  {0x603f, 0xee8bb8},
-  {0x6040, 0xe9819e},
-  {0x6041, 0xeeb6a5},
-  {0x6042, 0xee8bbe},
-  {0x6043, 0xecab91},
-  {0x6044, 0xe9819f},
-  {0x6045, 0xe981a0},
-  {0x6046, 0xe981a1},
-  {0x6047, 0xe981a2},
-  {0x6048, 0xe981a3},
-  {0x6049, 0xe981a4},
-  {0x604a, 0xe981a5},
-  {0x604b, 0xec86b5},
-  {0x604c, 0xe981a6},
-  {0x604d, 0xebaf90},
-  {0x604e, 0xe981a7},
-  {0x604f, 0xe981a8},
-  {0x6050, 0xebbf96},
-  {0x6051, 0xe981a9},
-  {0x6052, 0xebaba3},
-  {0x6053, 0xe981aa},
-  {0x6054, 0xe981ab},
-  {0x6055, 0xecaea1},
-  {0x6056, 0xe981ac},
-  {0x6057, 0xe981ad},
-  {0x6058, 0xe981ae},
-  {0x6059, 0xeeb6a6},
-  {0x605a, 0xeeb6a3},
-  {0x605b, 0xe981af},
-  {0x605c, 0xe981b0},
-  {0x605d, 0xeeb6a2},
-  {0x605e, 0xe981b1},
-  {0x605f, 0xe981b2},
-  {0x6060, 0xe981b3},
-  {0x6061, 0xe981b4},
-  {0x6062, 0xebaf96},
-  {0x6063, 0xeeb6a7},
-  {0x6064, 0xed83b4},
-  {0x6065, 0xe981b5},
-  {0x6066, 0xe981b6},
-  {0x6067, 0xeeb6a4},
-  {0x6068, 0xebab9e},
-  {0x6069, 0xeb9bb7},
-  {0x606a, 0xee8ea1},
-  {0x606b, 0xeb9ab2},
-  {0x606c, 0xecb3b1},
-  {0x606d, 0xeba6a7},
-  {0x606e, 0xe981b7},
-  {0x606f, 0xecbea2},
-  {0x6070, 0xec9ea1},
-  {0x6071, 0xe981b8},
-  {0x6072, 0xe981b9},
-  {0x6073, 0xebbf92},
-  {0x6074, 0xe981ba},
-  {0x6075, 0xe981bb},
-  {0x6076, 0xeb9bb1},
-  {0x6077, 0xe981bc},
-  {0x6078, 0xee8bba},
-  {0x6079, 0xee8bbb},
-  {0x607a, 0xee8bbd},
-  {0x607b, 0xee8bbc},
-  {0x607c, 0xec9395},
-  {0x607d, 0xee8ea2},
-  {0x607e, 0xe981bd},
-  {0x607f, 0xed8f81},
-  {0x6080, 0xe981be},
-  {0x6081, 0xe98280},
-  {0x6082, 0xe98281},
-  {0x6083, 0xee8ea7},
-  {0x6084, 0xec9f84},
-  {0x6085, 0xe98282},
-  {0x6086, 0xe98283},
-  {0x6087, 0xe98284},
-  {0x6088, 0xe98285},
-  {0x6089, 0xecbea4},
-  {0x608a, 0xe98286},
-  {0x608b, 0xe98287},
-  {0x608c, 0xee8ea9},
-  {0x608d, 0xebaab7},
-  {0x608e, 0xe98288},
-  {0x608f, 0xe98289},
-  {0x6090, 0xe9828a},
-  {0x6091, 0xe9828b},
-  {0x6092, 0xee8ea8},
-  {0x6093, 0xe9828c},
-  {0x6094, 0xebaf9a},
-  {0x6095, 0xe9828d},
-  {0x6096, 0xee8ea3},
-  {0x6097, 0xe9828e},
-  {0x6098, 0xe9828f},
-  {0x6099, 0xe98290},
-  {0x609a, 0xee8ea4},
-  {0x609b, 0xee8eaa},
-  {0x609c, 0xe98291},
-  {0x609d, 0xee8ea6},
-  {0x609e, 0xe98292},
-  {0x609f, 0xecbbb2},
-  {0x60a0, 0xed8f86},
-  {0x60a1, 0xe98293},
-  {0x60a2, 0xe98294},
-  {0x60a3, 0xebaebc},
-  {0x60a4, 0xe98295},
-  {0x60a5, 0xe98296},
-  {0x60a6, 0xed9383},
-  {0x60a7, 0xe98297},
-  {0x60a8, 0xec93ba},
-  {0x60a9, 0xe98298},
-  {0x60aa, 0xe98299},
-  {0x60ab, 0xeeb6a8},
-  {0x60ac, 0xed83bc},
-  {0x60ad, 0xee8ea5},
-  {0x60ae, 0xe9829a},
-  {0x60af, 0xec8fb5},
-  {0x60b0, 0xe9829b},
-  {0x60b1, 0xee8ead},
-  {0x60b2, 0xeb86af},
-  {0x60b3, 0xe9829c},
-  {0x60b4, 0xee8eb2},
-  {0x60b5, 0xe9829d},
-  {0x60b6, 0xe9829e},
-  {0x60b7, 0xe9829f},
-  {0x60b8, 0xebb382},
-  {0x60b9, 0xe982a0},
-  {0x60ba, 0xe982a1},
-  {0x60bb, 0xee8eac},
-  {0x60bc, 0xeb96bf},
-  {0x60bd, 0xe982a2},
-  {0x60be, 0xe982a3},
-  {0x60bf, 0xe982a4},
-  {0x60c0, 0xe982a5},
-  {0x60c1, 0xe982a6},
-  {0x60c2, 0xe982a7},
-  {0x60c3, 0xe982a8},
-  {0x60c4, 0xe982a9},
-  {0x60c5, 0xec9fa9},
-  {0x60c6, 0xee8eb0},
-  {0x60c7, 0xe982aa},
-  {0x60c8, 0xe982ab},
-  {0x60c9, 0xe982ac},
-  {0x60ca, 0xebbaaa},
-  {0x60cb, 0xecb7af},
-  {0x60cc, 0xe982ad},
-  {0x60cd, 0xe982ae},
-  {0x60ce, 0xe982af},
-  {0x60cf, 0xe982b0},
-  {0x60d0, 0xe982b1},
-  {0x60d1, 0xebafb3},
-  {0x60d2, 0xe982b2},
-  {0x60d3, 0xe982b3},
-  {0x60d4, 0xe982b4},
-  {0x60d5, 0xecb3a8},
-  {0x60d6, 0xe982b5},
-  {0x60d7, 0xe982b6},
-  {0x60d8, 0xee8eaf},
-  {0x60d9, 0xe982b7},
-  {0x60da, 0xee8eb1},
-  {0x60db, 0xe982b8},
-  {0x60dc, 0xecbea7},
-  {0x60dd, 0xee8eae},
-  {0x60de, 0xe982b9},
-  {0x60df, 0xecbaa9},
-  {0x60e0, 0xebaf9d},
-  {0x60e1, 0xe982ba},
-  {0x60e2, 0xe982bb},
-  {0x60e3, 0xe982bc},
-  {0x60e4, 0xe982bd},
-  {0x60e5, 0xe982be},
-  {0x60e6, 0xeb97ab},
-  {0x60e7, 0xebbba5},
-  {0x60e8, 0xeb8b92},
-  {0x60e9, 0xeb8f8d},
-  {0x60ea, 0xe982bf},
-  {0x60eb, 0xeb86b9},
-  {0x60ec, 0xee8eab},
-  {0x60ed, 0xeb8b91},
-  {0x60ee, 0xeb96ac},
-  {0x60ef, 0xeba79f},
-  {0x60f0, 0xeb9ba8},
-  {0x60f1, 0xe98380},
-  {0x60f2, 0xe98381},
-  {0x60f3, 0xecbfab},
-  {0x60f4, 0xee8eb7},
-  {0x60f5, 0xe98382},
-  {0x60f6, 0xebaf8c},
-  {0x60f7, 0xe98383},
-  {0x60f8, 0xe98384},
-  {0x60f9, 0xeca387},
-  {0x60fa, 0xed838a},
-  {0x60fb, 0xe98385},
-  {0x60fc, 0xe98386},
-  {0x60fd, 0xe98387},
-  {0x60fe, 0xe98388},
-  {0x60ff, 0xe98389},
-  {0x6100, 0xee8eb8},
-  {0x6101, 0xeb8fae},
-  {0x6102, 0xe9838a},
-  {0x6103, 0xe9838b},
-  {0x6104, 0xe9838c},
-  {0x6105, 0xe9838d},
-  {0x6106, 0xeeb6a9},
-  {0x6107, 0xe9838e},
-  {0x6108, 0xed8fba},
-  {0x6109, 0xed8fa4},
-  {0x610a, 0xe9838f},
-  {0x610b, 0xe98390},
-  {0x610c, 0xe98391},
-  {0x610d, 0xeeb6aa},
-  {0x610e, 0xee8eb9},
-  {0x610f, 0xed8ba2},
-  {0x6110, 0xe98392},
-  {0x6111, 0xe98393},
-  {0x6112, 0xe98394},
-  {0x6113, 0xe98395},
-  {0x6114, 0xe98396},
-  {0x6115, 0xee8eb5},
-  {0x6116, 0xe98397},
-  {0x6117, 0xe98398},
-  {0x6118, 0xe98399},
-  {0x6119, 0xe9839a},
-  {0x611a, 0xed8f9e},
-  {0x611b, 0xe9839b},
-  {0x611c, 0xe9839c},
-  {0x611d, 0xe9839d},
-  {0x611e, 0xe9839e},
-  {0x611f, 0xeba390},
-  {0x6120, 0xee8eb3},
-  {0x6121, 0xe9839f},
-  {0x6122, 0xe983a0},
-  {0x6123, 0xee8eb6},
-  {0x6124, 0xeb9f9f},
-  {0x6125, 0xe983a1},
-  {0x6126, 0xee8eb4},
-  {0x6127, 0xec82a2},
-  {0x6128, 0xe983a2},
-  {0x6129, 0xe983a3},
-  {0x612a, 0xe983a4},
-  {0x612b, 0xee8eba},
-  {0x612c, 0xe983a5},
-  {0x612d, 0xe983a6},
-  {0x612e, 0xe983a7},
-  {0x612f, 0xe983a8},
-  {0x6130, 0xe983a9},
-  {0x6131, 0xe983aa},
-  {0x6132, 0xe983ab},
-  {0x6133, 0xe983ac},
-  {0x6134, 0xe983ad},
-  {0x6135, 0xe983ae},
-  {0x6136, 0xe983af},
-  {0x6137, 0xe983b0},
-  {0x6138, 0xe983b1},
-  {0x6139, 0xe983b2},
-  {0x613a, 0xe983b3},
-  {0x613b, 0xe983b4},
-  {0x613c, 0xe983b5},
-  {0x613d, 0xe983b6},
-  {0x613e, 0xe983b7},
-  {0x613f, 0xed92b8},
-  {0x6140, 0xe983b8},
-  {0x6141, 0xe983b9},
-  {0x6142, 0xe983ba},
-  {0x6143, 0xe983bb},
-  {0x6144, 0xe983bc},
-  {0x6145, 0xe983bd},
-  {0x6146, 0xe983be},
-  {0x6147, 0xe98580},
-  {0x6148, 0xeb9388},
-  {0x6149, 0xe98581},
-  {0x614a, 0xee8ebb},
-  {0x614b, 0xe98582},
-  {0x614c, 0xebaf85},
-  {0x614d, 0xe98583},
-  {0x614e, 0xeca7b7},
-  {0x614f, 0xe98584},
-  {0x6150, 0xe98585},
-  {0x6151, 0xeca7a5},
-  {0x6152, 0xe98586},
-  {0x6153, 0xe98587},
-  {0x6154, 0xe98588},
-  {0x6155, 0xec92bd},
-  {0x6156, 0xe98589},
-  {0x6157, 0xe9858a},
-  {0x6158, 0xe9858b},
-  {0x6159, 0xe9858c},
-  {0x615a, 0xe9858d},
-  {0x615b, 0xe9858e},
-  {0x615c, 0xe9858f},
-  {0x615d, 0xeeb6ab},
-  {0x615e, 0xe98590},
-  {0x615f, 0xe98591},
-  {0x6160, 0xe98592},
-  {0x6161, 0xe98593},
-  {0x6162, 0xec8bbd},
-  {0x6163, 0xe98594},
-  {0x6164, 0xe98595},
-  {0x6165, 0xe98596},
-  {0x6166, 0xe98597},
-  {0x6167, 0xebaf9b},
-  {0x6168, 0xebbeae},
-  {0x6169, 0xe98598},
-  {0x616a, 0xe98599},
-  {0x616b, 0xe9859a},
-  {0x616c, 0xe9859b},
-  {0x616d, 0xe9859c},
-  {0x616e, 0xe9859d},
-  {0x616f, 0xe9859e},
-  {0x6170, 0xecbabf},
-  {0x6171, 0xe9859f},
-  {0x6172, 0xe985a0},
-  {0x6173, 0xe985a1},
-  {0x6174, 0xe985a2},
-  {0x6175, 0xee8ebc},
-  {0x6176, 0xe985a3},
-  {0x6177, 0xebbeb6},
-  {0x6178, 0xe985a4},
-  {0x6179, 0xe985a5},
-  {0x617a, 0xe985a6},
-  {0x617b, 0xe985a7},
-  {0x617c, 0xe985a8},
-  {0x617d, 0xe985a9},
-  {0x617e, 0xe985aa},
-  {0x617f, 0xe985ab},
-  {0x6180, 0xe985ac},
-  {0x6181, 0xe985ad},
-  {0x6182, 0xe985ae},
-  {0x6183, 0xe985af},
-  {0x6184, 0xe985b0},
-  {0x6185, 0xe985b1},
-  {0x6186, 0xe985b2},
-  {0x6187, 0xe985b3},
-  {0x6188, 0xe985b4},
-  {0x6189, 0xe985b5},
-  {0x618a, 0xe985b6},
-  {0x618b, 0xeb87af},
-  {0x618c, 0xe985b7},
-  {0x618d, 0xe985b8},
-  {0x618e, 0xed93b7},
-  {0x618f, 0xe985b9},
-  {0x6190, 0xe985ba},
-  {0x6191, 0xe985bb},
-  {0x6192, 0xe985bc},
-  {0x6193, 0xe985bd},
-  {0x6194, 0xee8ebe},
-  {0x6195, 0xe985be},
-  {0x6196, 0xe98680},
-  {0x6197, 0xe98681},
-  {0x6198, 0xe98682},
-  {0x6199, 0xe98683},
-  {0x619a, 0xe98684},
-  {0x619b, 0xe98685},
-  {0x619c, 0xe98686},
-  {0x619d, 0xeeb6ad},
-  {0x619e, 0xe98687},
-  {0x619f, 0xe98688},
-  {0x61a0, 0xe98689},
-  {0x61a1, 0xe9868a},
-  {0x61a2, 0xe9868b},
-  {0x61a3, 0xe9868c},
-  {0x61a4, 0xe9868d},
-  {0x61a5, 0xe9868e},
-  {0x61a6, 0xe9868f},
-  {0x61a7, 0xee8ebf},
-  {0x61a8, 0xebaaa9},
-  {0x61a9, 0xeeb6ac},
-  {0x61aa, 0xe98690},
-  {0x61ab, 0xe98691},
-  {0x61ac, 0xee8ebd},
-  {0x61ad, 0xe98692},
-  {0x61ae, 0xe98693},
-  {0x61af, 0xe98694},
-  {0x61b0, 0xe98695},
-  {0x61b1, 0xe98696},
-  {0x61b2, 0xe98697},
-  {0x61b3, 0xe98698},
-  {0x61b4, 0xe98699},
-  {0x61b5, 0xe9869a},
-  {0x61b6, 0xe9869b},
-  {0x61b7, 0xee8f80},
-  {0x61b8, 0xe9869c},
-  {0x61b9, 0xe9869d},
-  {0x61ba, 0xe9869e},
-  {0x61bb, 0xe9869f},
-  {0x61bc, 0xe986a0},
-  {0x61bd, 0xe986a1},
-  {0x61be, 0xebaab6},
-  {0x61bf, 0xe986a2},
-  {0x61c0, 0xe986a3},
-  {0x61c1, 0xe986a4},
-  {0x61c2, 0xeb9aae},
-  {0x61c3, 0xe986a5},
-  {0x61c4, 0xe986a6},
-  {0x61c5, 0xe986a7},
-  {0x61c6, 0xe986a8},
-  {0x61c7, 0xe986a9},
-  {0x61c8, 0xed82b8},
-  {0x61c9, 0xe986aa},
-  {0x61ca, 0xeb8383},
-  {0x61cb, 0xeeb6ae},
-  {0x61cc, 0xe986ab},
-  {0x61cd, 0xe986ac},
-  {0x61ce, 0xe986ad},
-  {0x61cf, 0xe986ae},
-  {0x61d0, 0xe986af},
-  {0x61d1, 0xeeb6af},
-  {0x61d2, 0xec8381},
-  {0x61d3, 0xe986b0},
-  {0x61d4, 0xee8f81},
-  {0x61d5, 0xe986b1},
-  {0x61d6, 0xe986b2},
-  {0x61d7, 0xe986b3},
-  {0x61d8, 0xe986b4},
-  {0x61d9, 0xe986b5},
-  {0x61da, 0xe986b6},
-  {0x61db, 0xe986b7},
-  {0x61dc, 0xe986b8},
-  {0x61dd, 0xe986b9},
-  {0x61de, 0xe986ba},
-  {0x61df, 0xe986bb},
-  {0x61e0, 0xe986bc},
-  {0x61e1, 0xe986bd},
-  {0x61e2, 0xe986be},
-  {0x61e3, 0xe986bf},
-  {0x61e4, 0xe98780},
-  {0x61e5, 0xe98781},
-  {0x61e6, 0xec96b3},
-  {0x61e7, 0xe98782},
-  {0x61e8, 0xe98783},
-  {0x61e9, 0xe98784},
-  {0x61ea, 0xe98785},
-  {0x61eb, 0xe98786},
-  {0x61ec, 0xe98787},
-  {0x61ed, 0xe98788},
-  {0x61ee, 0xe98789},
-  {0x61ef, 0xe9878a},
-  {0x61f0, 0xe9878b},
-  {0x61f1, 0xe9878c},
-  {0x61f2, 0xe9878d},
-  {0x61f3, 0xe9878e},
-  {0x61f4, 0xe9878f},
-  {0x61f5, 0xee8f82},
-  {0x61f6, 0xe98790},
-  {0x61f7, 0xe98791},
-  {0x61f8, 0xe98792},
-  {0x61f9, 0xe98793},
-  {0x61fa, 0xe98794},
-  {0x61fb, 0xe98795},
-  {0x61fc, 0xe98796},
-  {0x61fd, 0xe98797},
-  {0x61fe, 0xe98798},
-  {0x61ff, 0xedb2b2},
-  {0x6200, 0xe98799},
-  {0x6201, 0xe9879a},
-  {0x6202, 0xe9879b},
-  {0x6203, 0xe9879c},
-  {0x6204, 0xe9879d},
-  {0x6205, 0xe9879e},
-  {0x6206, 0xeeb6b0},
-  {0x6207, 0xe9879f},
-  {0x6208, 0xeba3aa},
-  {0x6209, 0xe987a0},
-  {0x620a, 0xecbbac},
-  {0x620b, 0xeeaaa7},
-  {0x620c, 0xed83a7},
-  {0x620d, 0xecabb9},
-  {0x620e, 0xeca396},
-  {0x620f, 0xecbeb7},
-  {0x6210, 0xeb8f89},
-  {0x6211, 0xecbb92},
-  {0x6212, 0xebb7a4},
-  {0x6213, 0xe987a1},
-  {0x6214, 0xe987a2},
-  {0x6215, 0xee8f9e},
-  {0x6216, 0xebafb2},
-  {0x6217, 0xeeaaa8},
-  {0x6218, 0xed96bd},
-  {0x6219, 0xe987a3},
-  {0x621a, 0xec9b9d},
-  {0x621b, 0xeeaaa9},
-  {0x621c, 0xe987a4},
-  {0x621d, 0xe987a5},
-  {0x621e, 0xe987a6},
-  {0x621f, 0xeeaaaa},
-  {0x6220, 0xe987a7},
-  {0x6221, 0xeeaaac},
-  {0x6222, 0xeeaaab},
-  {0x6223, 0xe987a8},
-  {0x6224, 0xeeaaae},
-  {0x6225, 0xeeaaad},
-  {0x6226, 0xe987a9},
-  {0x6227, 0xe987aa},
-  {0x6228, 0xe987ab},
-  {0x6229, 0xe987ac},
-  {0x622a, 0xebb798},
-  {0x622b, 0xe987ad},
-  {0x622c, 0xeeaaaf},
-  {0x622d, 0xe987ae},
-  {0x622e, 0xec8abe},
-  {0x622f, 0xe987af},
-  {0x6230, 0xe987b0},
-  {0x6231, 0xe987b1},
-  {0x6232, 0xe987b2},
-  {0x6233, 0xeb9381},
-  {0x6234, 0xeb93b7},
-  {0x6235, 0xe987b3},
-  {0x6236, 0xe987b4},
-  {0x6237, 0xebaea7},
-  {0x6238, 0xe987b5},
-  {0x6239, 0xe987b6},
-  {0x623a, 0xe987b7},
-  {0x623b, 0xe987b8},
-  {0x623c, 0xe987b9},
-  {0x623d, 0xeeb3a6},
-  {0x623e, 0xeeb3a5},
-  {0x623f, 0xeb9ebf},
-  {0x6240, 0xecafb9},
-  {0x6241, 0xeb87a2},
-  {0x6242, 0xe987ba},
-  {0x6243, 0xeeb3a7},
-  {0x6244, 0xe987bb},
-  {0x6245, 0xe987bc},
-  {0x6246, 0xe987bd},
-  {0x6247, 0xeca788},
-  {0x6248, 0xeeb3a8},
-  {0x6249, 0xeeb3a9},
-  {0x624a, 0xe987be},
-  {0x624b, 0xecab96},
-  {0x624c, 0xedbb90},
-  {0x624d, 0xeb8b85},
-  {0x624e, 0xed93ba},
-  {0x624f, 0xe98980},
-  {0x6250, 0xe98981},
-  {0x6251, 0xec9b8b},
-  {0x6252, 0xeb8387},
-  {0x6253, 0xeb93b2},
-  {0x6254, 0xeca393},
-  {0x6255, 0xe98982},
-  {0x6256, 0xe98983},
-  {0x6257, 0xe98984},
-  {0x6258, 0xecb790},
-  {0x6259, 0xe98985},
-  {0x625a, 0xe98986},
-  {0x625b, 0xebbeb8},
-  {0x625c, 0xe98987},
-  {0x625d, 0xe98988},
-  {0x625e, 0xe98989},
-  {0x625f, 0xe9898a},
-  {0x6260, 0xe9898b},
-  {0x6261, 0xe9898c},
-  {0x6262, 0xe9898d},
-  {0x6263, 0xebbf9b},
-  {0x6264, 0xe9898e},
-  {0x6265, 0xe9898f},
-  {0x6266, 0xec9ea4},
-  {0x6267, 0xed9ab4},
-  {0x6268, 0xe98990},
-  {0x6269, 0xec82a9},
-  {0x626a, 0xedbb91},
-  {0x626b, 0xeca6a8},
-  {0x626c, 0xed87af},
-  {0x626d, 0xec96a4},
-  {0x626e, 0xeb83a7},
-  {0x626f, 0xeb8eb6},
-  {0x6270, 0xeca385},
-  {0x6271, 0xe98991},
-  {0x6272, 0xe98992},
-  {0x6273, 0xeb83a2},
-  {0x6274, 0xe98993},
-  {0x6275, 0xe98994},
-  {0x6276, 0xeb9fb6},
-  {0x6277, 0xe98995},
-  {0x6278, 0xe98996},
-  {0x6279, 0xec97ba},
-  {0x627a, 0xe98997},
-  {0x627b, 0xe98998},
-  {0x627c, 0xeb9bb3},
-  {0x627d, 0xe98999},
-  {0x627e, 0xed9792},
-  {0x627f, 0xeb8f90},
-  {0x6280, 0xebb2bc},
-  {0x6281, 0xe9899a},
-  {0x6282, 0xe9899b},
-  {0x6283, 0xe9899c},
-  {0x6284, 0xeb8ead},
-  {0x6285, 0xe9899d},
-  {0x6286, 0xe9899e},
-  {0x6287, 0xe9899f},
-  {0x6288, 0xe989a0},
-  {0x6289, 0xebbbb1},
-  {0x628a, 0xeb8391},
-  {0x628b, 0xe989a1},
-  {0x628c, 0xe989a2},
-  {0x628d, 0xe989a3},
-  {0x628e, 0xe989a4},
-  {0x628f, 0xe989a5},
-  {0x6290, 0xe989a6},
-  {0x6291, 0xed8b96},
-  {0x6292, 0xecaba3},
-  {0x6293, 0xed9ea5},
-  {0x6294, 0xe989a7},
-  {0x6295, 0xecb6b6},
-  {0x6296, 0xeb9ab6},
-  {0x6297, 0xebbeb9},
-  {0x6298, 0xed979b},
-  {0x6299, 0xe989a8},
-  {0x629a, 0xeba2a7},
-  {0x629b, 0xec9797},
-  {0x629c, 0xe989a9},
-  {0x629d, 0xe989aa},
-  {0x629e, 0xe989ab},
-  {0x629f, 0xedbb92},
-  {0x62a0, 0xebbf99},
-  {0x62a1, 0xec8b95},
-  {0x62a2, 0xec9f80},
-  {0x62a3, 0xe989ac},
-  {0x62a4, 0xebaea4},
-  {0x62a5, 0xeb86a8},
-  {0x62a6, 0xe989ad},
-  {0x62a7, 0xe989ae},
-  {0x62a8, 0xec97aa},
-  {0x62a9, 0xe989af},
-  {0x62aa, 0xe989b0},
-  {0x62ab, 0xec97bb},
-  {0x62ac, 0xecb2a7},
-  {0x62ad, 0xe989b1},
-  {0x62ae, 0xe989b2},
-  {0x62af, 0xe989b3},
-  {0x62b0, 0xe989b4},
-  {0x62b1, 0xeb86a7},
-  {0x62b2, 0xe989b5},
-  {0x62b3, 0xe989b6},
-  {0x62b4, 0xe989b7},
-  {0x62b5, 0xeb9796},
-  {0x62b6, 0xe989b8},
-  {0x62b7, 0xe989b9},
-  {0x62b8, 0xe989ba},
-  {0x62b9, 0xec92a8},
-  {0x62ba, 0xe989bb},
-  {0x62bb, 0xedbb93},
-  {0x62bc, 0xed86ba},
-  {0x62bd, 0xeb8fa9},
-  {0x62be, 0xe989bc},
-  {0x62bf, 0xec8fb2},
-  {0x62c0, 0xe989bd},
-  {0x62c1, 0xe989be},
-  {0x62c2, 0xeb9fb7},
-  {0x62c3, 0xe98a80},
-  {0x62c4, 0xed9bb4},
-  {0x62c5, 0xeb96a3},
-  {0x62c6, 0xeb8bb0},
-  {0x62c7, 0xec92b4},
-  {0x62c8, 0xec93a9},
-  {0x62c9, 0xec82ad},
-  {0x62ca, 0xedbb94},
-  {0x62cb, 0xe98a81},
-  {0x62cc, 0xeb83a8},
-  {0x62cd, 0xec9784},
-  {0x62ce, 0xec87a0},
-  {0x62cf, 0xe98a82},
-  {0x62d0, 0xeba795},
-  {0x62d1, 0xe98a83},
-  {0x62d2, 0xebbb9c},
-  {0x62d3, 0xecb798},
-  {0x62d4, 0xeb838e},
-  {0x62d5, 0xe98a84},
-  {0x62d6, 0xecb78f},
-  {0x62d7, 0xedbb96},
-  {0x62d8, 0xebbb90},
-  {0x62d9, 0xed9ebe},
-  {0x62da, 0xedbb95},
-  {0x62db, 0xed9790},
-  {0x62dc, 0xeb839d},
-  {0x62dd, 0xe98a85},
-  {0x62de, 0xe98a86},
-  {0x62df, 0xec93a2},
-  {0x62e0, 0xe98a87},
-  {0x62e1, 0xe98a88},
-  {0x62e2, 0xec8aa3},
-  {0x62e3, 0xebb3b0},
-  {0x62e4, 0xe98a89},
-  {0x62e5, 0xed8eb5},
-  {0x62e6, 0xec82b9},
-  {0x62e7, 0xec96a1},
-  {0x62e8, 0xeb8aa6},
-  {0x62e9, 0xed93b1},
-  {0x62ea, 0xe98a8a},
-  {0x62eb, 0xe98a8b},
-  {0x62ec, 0xec82a8},
-  {0x62ed, 0xecab83},
-  {0x62ee, 0xedbb97},
-  {0x62ef, 0xed97bc},
-  {0x62f0, 0xe98a8c},
-  {0x62f1, 0xeba6b0},
-  {0x62f2, 0xe98a8d},
-  {0x62f3, 0xeca2ad},
-  {0x62f4, 0xecaea9},
-  {0x62f5, 0xe98a8e},
-  {0x62f6, 0xedbb99},
-  {0x62f7, 0xebbebd},
-  {0x62f8, 0xe98a8f},
-  {0x62f9, 0xe98a90},
-  {0x62fa, 0xe98a91},
-  {0x62fb, 0xe98a92},
-  {0x62fc, 0xec9ab4},
-  {0x62fd, 0xed9ea7},
-  {0x62fe, 0xecaab0},
-  {0x62ff, 0xec9383},
-  {0x6300, 0xe98a93},
-  {0x6301, 0xeb8f96},
-  {0x6302, 0xeba792},
-  {0x6303, 0xe98a94},
-  {0x6304, 0xe98a95},
-  {0x6305, 0xe98a96},
-  {0x6306, 0xe98a97},
-  {0x6307, 0xed9ab8},
-  {0x6308, 0xeeabbc},
-  {0x6309, 0xeb82b4},
-  {0x630a, 0xe98a98},
-  {0x630b, 0xe98a99},
-  {0x630c, 0xe98a9a},
-  {0x630d, 0xe98a9b},
-  {0x630e, 0xebbfa6},
-  {0x630f, 0xe98a9c},
-  {0x6310, 0xe98a9d},
-  {0x6311, 0xecb3b4},
-  {0x6312, 0xe98a9e},
-  {0x6313, 0xe98a9f},
-  {0x6314, 0xe98aa0},
-  {0x6315, 0xe98aa1},
-  {0x6316, 0xecb79a},
-  {0x6317, 0xe98aa2},
-  {0x6318, 0xe98aa3},
-  {0x6319, 0xe98aa4},
-  {0x631a, 0xed9abf},
-  {0x631b, 0xec8b8e},
-  {0x631c, 0xe98aa5},
-  {0x631d, 0xecbb8e},
-  {0x631e, 0xecb2a2},
-  {0x631f, 0xed82ae},
-  {0x6320, 0xec9393},
-  {0x6321, 0xeb96b2},
-  {0x6322, 0xedbb98},
-  {0x6323, 0xed97b5},
-  {0x6324, 0xebb2b7},
-  {0x6325, 0xebaf93},
-  {0x6326, 0xe98aa6},
-  {0x6327, 0xe98aa7},
-  {0x6328, 0xeb82a4},
-  {0x6329, 0xe98aa8},
-  {0x632a, 0xec96b2},
-  {0x632b, 0xeb93ac},
-  {0x632c, 0xe98aa9},
-  {0x632d, 0xe98aaa},
-  {0x632e, 0xe98aab},
-  {0x632f, 0xed97b1},
-  {0x6330, 0xe98aac},
-  {0x6331, 0xe98aad},
-  {0x6332, 0xeeabbd},
-  {0x6333, 0xe98aae},
-  {0x6334, 0xe98aaf},
-  {0x6335, 0xe98ab0},
-  {0x6336, 0xe98ab1},
-  {0x6337, 0xe98ab2},
-  {0x6338, 0xe98ab3},
-  {0x6339, 0xedbb9a},
-  {0x633a, 0xecb6a6},
-  {0x633b, 0xe98ab4},
-  {0x633c, 0xe98ab5},
-  {0x633d, 0xecb7ac},
-  {0x633e, 0xe98ab6},
-  {0x633f, 0xe98ab7},
-  {0x6340, 0xe98ab8},
-  {0x6341, 0xe98ab9},
-  {0x6342, 0xecbba6},
-  {0x6343, 0xedbb9c},
-  {0x6344, 0xe98aba},
-  {0x6345, 0xecb6b1},
-  {0x6346, 0xec82a6},
-  {0x6347, 0xe98abb},
-  {0x6348, 0xe98abc},
-  {0x6349, 0xed9ebd},
-  {0x634a, 0xe98abd},
-  {0x634b, 0xedbb9b},
-  {0x634c, 0xeb8386},
-  {0x634d, 0xebaab4},
-  {0x634e, 0xeca793},
-  {0x634f, 0xec93b3},
-  {0x6350, 0xebbba8},
-  {0x6351, 0xe98abe},
-  {0x6352, 0xe98abf},
-  {0x6353, 0xe98b80},
-  {0x6354, 0xe98b81},
-  {0x6355, 0xeb8ab6},
-  {0x6356, 0xe98b82},
-  {0x6357, 0xe98b83},
-  {0x6358, 0xe98b84},
-  {0x6359, 0xe98b85},
-  {0x635a, 0xe98b86},
-  {0x635b, 0xe98b87},
-  {0x635c, 0xe98b88},
-  {0x635d, 0xe98b89},
-  {0x635e, 0xec838c},
-  {0x635f, 0xecafb0},
-  {0x6360, 0xe98b8a},
-  {0x6361, 0xebb3b1},
-  {0x6362, 0xebaebb},
-  {0x6363, 0xeb96b7},
-  {0x6364, 0xe98b8b},
-  {0x6365, 0xe98b8c},
-  {0x6366, 0xe98b8d},
-  {0x6367, 0xec97b5},
-  {0x6368, 0xe98b8e},
-  {0x6369, 0xedbba6},
-  {0x636a, 0xe98b8f},
-  {0x636b, 0xe98b90},
-  {0x636c, 0xe98b91},
-  {0x636d, 0xedbba3},
-  {0x636e, 0xebbb9d},
-  {0x636f, 0xe98b92},
-  {0x6370, 0xe98b93},
-  {0x6371, 0xedbb9f},
-  {0x6372, 0xe98b94},
-  {0x6373, 0xe98b95},
-  {0x6374, 0xe98b96},
-  {0x6375, 0xe98b97},
-  {0x6376, 0xeb92b7},
-  {0x6377, 0xebb79d},
-  {0x6378, 0xe98b98},
-  {0x6379, 0xe98b99},
-  {0x637a, 0xedbba0},
-  {0x637b, 0xec93ad},
-  {0x637c, 0xe98b9a},
-  {0x637d, 0xe98b9b},
-  {0x637e, 0xe98b9c},
-  {0x637f, 0xe98b9d},
-  {0x6380, 0xecbf86},
-  {0x6381, 0xe98b9e},
-  {0x6382, 0xeb97a0},
-  {0x6383, 0xe98b9f},
-  {0x6384, 0xe98ba0},
-  {0x6385, 0xe98ba1},
-  {0x6386, 0xe98ba2},
-  {0x6387, 0xeb9b9e},
-  {0x6388, 0xecab9a},
-  {0x6389, 0xeb97b4},
-  {0x638a, 0xedbba5},
-  {0x638b, 0xe98ba3},
-  {0x638c, 0xed9786},
-  {0x638d, 0xe98ba4},
-  {0x638e, 0xedbba1},
-  {0x638f, 0xecb38d},
-  {0x6390, 0xec9bbe},
-  {0x6391, 0xe98ba5},
-  {0x6392, 0xec9785},
-  {0x6393, 0xe98ba6},
-  {0x6394, 0xe98ba7},
-  {0x6395, 0xe98ba8},
-  {0x6396, 0xed8ab4},
-  {0x6397, 0xe98ba9},
-  {0x6398, 0xebbbb2},
-  {0x6399, 0xe98baa},
-  {0x639a, 0xe98bab},
-  {0x639b, 0xe98bac},
-  {0x639c, 0xe98bad},
-  {0x639d, 0xe98bae},
-  {0x639e, 0xe98baf},
-  {0x639f, 0xe98bb0},
-  {0x63a0, 0xec8b93},
-  {0x63a1, 0xe98bb1},
-  {0x63a2, 0xecb2bd},
-  {0x63a3, 0xeb8eb8},
-  {0x63a4, 0xe98bb2},
-  {0x63a5, 0xebb793},
-  {0x63a6, 0xe98bb3},
-  {0x63a7, 0xebbf98},
-  {0x63a8, 0xecb786},
-  {0x63a9, 0xed879a},
-  {0x63aa, 0xeb93ab},
-  {0x63ab, 0xe98bb4},
-  {0x63ac, 0xedbba4},
-  {0x63ad, 0xedbb9d},
-  {0x63ae, 0xedbba7},
-  {0x63af, 0xe98bb5},
-  {0x63b0, 0xeeabbe},
-  {0x63b1, 0xe98bb6},
-  {0x63b2, 0xe98bb7},
-  {0x63b3, 0xec8ab0},
-  {0x63b4, 0xedbba2},
-  {0x63b5, 0xe98bb8},
-  {0x63b6, 0xe98bb9},
-  {0x63b7, 0xed9b80},
-  {0x63b8, 0xeb96a7},
-  {0x63b9, 0xe98bba},
-  {0x63ba, 0xeb8bb4},
-  {0x63bb, 0xe98bbb},
-  {0x63bc, 0xedbba8},
-  {0x63bd, 0xe98bbc},
-  {0x63be, 0xedbbb2},
-  {0x63bf, 0xe98bbd},
-  {0x63c0, 0xe98bbe},
-  {0x63c1, 0xe98d80},
-  {0x63c2, 0xe98d81},
-  {0x63c3, 0xe98d82},
-  {0x63c4, 0xedbbad},
-  {0x63c5, 0xe98d83},
-  {0x63c6, 0xedbbb1},
-  {0x63c7, 0xe98d84},
-  {0x63c8, 0xe98d85},
-  {0x63c9, 0xeca3a0},
-  {0x63ca, 0xe98d86},
-  {0x63cb, 0xe98d87},
-  {0x63cc, 0xe98d88},
-  {0x63cd, 0xed9fa1},
-  {0x63ce, 0xedbbaf},
-  {0x63cf, 0xec8fa8},
-  {0x63d0, 0xecb3a1},
-  {0x63d1, 0xe98d89},
-  {0x63d2, 0xeb8ba5},
-  {0x63d3, 0xe98d8a},
-  {0x63d4, 0xe98d8b},
-  {0x63d5, 0xe98d8c},
-  {0x63d6, 0xed8abe},
-  {0x63d7, 0xe98d8d},
-  {0x63d8, 0xe98d8e},
-  {0x63d9, 0xe98d8f},
-  {0x63da, 0xe98d90},
-  {0x63db, 0xe98d91},
-  {0x63dc, 0xe98d92},
-  {0x63dd, 0xe98d93},
-  {0x63de, 0xedbbae},
-  {0x63df, 0xe98d94},
-  {0x63e0, 0xedbbab},
-  {0x63e1, 0xecbb95},
-  {0x63e2, 0xe98d95},
-  {0x63e3, 0xeb92a7},
-  {0x63e4, 0xe98d96},
-  {0x63e5, 0xe98d97},
-  {0x63e6, 0xe98d98},
-  {0x63e7, 0xe98d99},
-  {0x63e8, 0xe98d9a},
-  {0x63e9, 0xebbeab},
-  {0x63ea, 0xebbabe},
-  {0x63eb, 0xe98d9b},
-  {0x63ec, 0xe98d9c},
-  {0x63ed, 0xebb792},
-  {0x63ee, 0xe98d9d},
-  {0x63ef, 0xe98d9e},
-  {0x63f0, 0xe98d9f},
-  {0x63f1, 0xe98da0},
-  {0x63f2, 0xedbba9},
-  {0x63f3, 0xe98da1},
-  {0x63f4, 0xed92ae},
-  {0x63f5, 0xe98da2},
-  {0x63f6, 0xedbb9e},
-  {0x63f7, 0xe98da3},
-  {0x63f8, 0xedbbaa},
-  {0x63f9, 0xe98da4},
-  {0x63fa, 0xe98da5},
-  {0x63fb, 0xe98da6},
-  {0x63fc, 0xe98da7},
-  {0x63fd, 0xec82bf},
-  {0x63fe, 0xe98da8},
-  {0x63ff, 0xedbbac},
-  {0x6400, 0xeb8bb3},
-  {0x6401, 0xeba3a9},
-  {0x6402, 0xec8aa7},
-  {0x6403, 0xe98da9},
-  {0x6404, 0xe98daa},
-  {0x6405, 0xebb781},
-  {0x6406, 0xe98dab},
-  {0x6407, 0xe98dac},
-  {0x6408, 0xe98dad},
-  {0x6409, 0xe98dae},
-  {0x640a, 0xe98daf},
-  {0x640b, 0xedbbb5},
-  {0x640c, 0xedbbb8},
-  {0x640d, 0xe98db0},
-  {0x640e, 0xe98db1},
-  {0x640f, 0xeb8aab},
-  {0x6410, 0xeb92a4},
-  {0x6411, 0xe98db2},
-  {0x6412, 0xe98db3},
-  {0x6413, 0xeb93aa},
-  {0x6414, 0xeca6a6},
-  {0x6415, 0xe98db4},
-  {0x6416, 0xe98db5},
-  {0x6417, 0xe98db6},
-  {0x6418, 0xe98db7},
-  {0x6419, 0xe98db8},
-  {0x641a, 0xe98db9},
-  {0x641b, 0xedbbb6},
-  {0x641c, 0xecaf91},
-  {0x641d, 0xe98dba},
-  {0x641e, 0xeba3a3},
-  {0x641f, 0xe98dbb},
-  {0x6420, 0xedbbb7},
-  {0x6421, 0xedbbba},
-  {0x6422, 0xe98dbc},
-  {0x6423, 0xe98dbd},
-  {0x6424, 0xe98dbe},
-  {0x6425, 0xe98e80},
-  {0x6426, 0xedbbb9},
-  {0x6427, 0xe98e81},
-  {0x6428, 0xe98e82},
-  {0x6429, 0xe98e83},
-  {0x642a, 0xecb382},
-  {0x642b, 0xe98e84},
-  {0x642c, 0xeb83a1},
-  {0x642d, 0xeb93ae},
-  {0x642e, 0xe98e85},
-  {0x642f, 0xe98e86},
-  {0x6430, 0xe98e87},
-  {0x6431, 0xe98e88},
-  {0x6432, 0xe98e89},
-  {0x6433, 0xe98e8a},
-  {0x6434, 0xee96ba},
-  {0x6435, 0xe98e8b},
-  {0x6436, 0xe98e8c},
-  {0x6437, 0xe98e8d},
-  {0x6438, 0xe98e8e},
-  {0x6439, 0xe98e8f},
-  {0x643a, 0xed82af},
-  {0x643b, 0xe98e90},
-  {0x643c, 0xe98e91},
-  {0x643d, 0xeb8bab},
-  {0x643e, 0xe98e92},
-  {0x643f, 0xeeaea1},
-  {0x6440, 0xe98e93},
-  {0x6441, 0xedbbb4},
-  {0x6442, 0xe98e94},
-  {0x6443, 0xe98e95},
-  {0x6444, 0xeca7a3},
-  {0x6445, 0xedbbb3},
-  {0x6446, 0xeb839a},
-  {0x6447, 0xed8aa1},
-  {0x6448, 0xeb87b7},
-  {0x6449, 0xe98e96},
-  {0x644a, 0xecb2af},
-  {0x644b, 0xe98e97},
-  {0x644c, 0xe98e98},
-  {0x644d, 0xe98e99},
-  {0x644e, 0xe98e9a},
-  {0x644f, 0xe98e9b},
-  {0x6450, 0xe98e9c},
-  {0x6451, 0xe98e9d},
-  {0x6452, 0xedbbb0},
-  {0x6453, 0xe98e9e},
-  {0x6454, 0xecaea4},
-  {0x6455, 0xe98e9f},
-  {0x6456, 0xe98ea0},
-  {0x6457, 0xe98ea1},
-  {0x6458, 0xed96aa},
-  {0x6459, 0xe98ea2},
-  {0x645a, 0xe98ea3},
-  {0x645b, 0xe98ea4},
-  {0x645c, 0xe98ea5},
-  {0x645d, 0xe98ea6},
-  {0x645e, 0xedbbbb},
-  {0x645f, 0xe98ea7},
-  {0x6460, 0xe98ea8},
-  {0x6461, 0xe98ea9},
-  {0x6462, 0xe98eaa},
-  {0x6463, 0xe98eab},
-  {0x6464, 0xe98eac},
-  {0x6465, 0xe98ead},
-  {0x6466, 0xe98eae},
-  {0x6467, 0xeb939d},
-  {0x6468, 0xe98eaf},
-  {0x6469, 0xec92a6},
-  {0x646a, 0xe98eb0},
-  {0x646b, 0xe98eb1},
-  {0x646c, 0xe98eb2},
-  {0x646d, 0xedbbbd},
-  {0x646e, 0xe98eb3},
-  {0x646f, 0xe98eb4},
-  {0x6470, 0xe98eb5},
-  {0x6471, 0xe98eb6},
-  {0x6472, 0xe98eb7},
-  {0x6473, 0xe98eb8},
-  {0x6474, 0xe98eb9},
-  {0x6475, 0xe98eba},
-  {0x6476, 0xe98ebb},
-  {0x6477, 0xe98ebc},
-  {0x6478, 0xec8fbe},
-  {0x6479, 0xec92a1},
-  {0x647a, 0xedbea1},
-  {0x647b, 0xe98ebd},
-  {0x647c, 0xe98ebe},
-  {0x647d, 0xe98ebf},
-  {0x647e, 0xe98f80},
-  {0x647f, 0xe98f81},
-  {0x6480, 0xe98f82},
-  {0x6481, 0xe98f83},
-  {0x6482, 0xec878c},
-  {0x6483, 0xe98f84},
-  {0x6484, 0xedbbbc},
-  {0x6485, 0xebbbaf},
-  {0x6486, 0xe98f85},
-  {0x6487, 0xec9ab2},
-  {0x6488, 0xe98f86},
-  {0x6489, 0xe98f87},
-  {0x648a, 0xe98f88},
-  {0x648b, 0xe98f89},
-  {0x648c, 0xe98f8a},
-  {0x648d, 0xe98f8b},
-  {0x648e, 0xe98f8c},
-  {0x648f, 0xe98f8d},
-  {0x6490, 0xe98f8e},
-  {0x6491, 0xeb8f85},
-  {0x6492, 0xeca3b6},
-  {0x6493, 0xe98f8f},
-  {0x6494, 0xe98f90},
-  {0x6495, 0xecaeba},
-  {0x6496, 0xedbbbe},
-  {0x6497, 0xe98f91},
-  {0x6498, 0xe98f92},
-  {0x6499, 0xedbea4},
-  {0x649a, 0xe98f93},
-  {0x649b, 0xe98f94},
-  {0x649c, 0xe98f95},
-  {0x649d, 0xe98f96},
-  {0x649e, 0xed9eb2},
-  {0x649f, 0xe98f97},
-  {0x64a0, 0xe98f98},
-  {0x64a1, 0xe98f99},
-  {0x64a2, 0xe98f9a},
-  {0x64a3, 0xe98f9b},
-  {0x64a4, 0xeb8eb7},
-  {0x64a5, 0xe98f9c},
-  {0x64a6, 0xe98f9d},
-  {0x64a7, 0xe98f9e},
-  {0x64a8, 0xe98f9f},
-  {0x64a9, 0xec8783},
-  {0x64aa, 0xe98fa0},
-  {0x64ab, 0xe98fa1},
-  {0x64ac, 0xec9f8b},
-  {0x64ad, 0xeb8aa5},
-  {0x64ae, 0xeb93a9},
-  {0x64af, 0xe98fa2},
-  {0x64b0, 0xed9eab},
-  {0x64b1, 0xe98fa3},
-  {0x64b2, 0xe98fa4},
-  {0x64b3, 0xe98fa5},
-  {0x64b4, 0xe98fa6},
-  {0x64b5, 0xec93ac},
-  {0x64b6, 0xe98fa7},
-  {0x64b7, 0xedbea2},
-  {0x64b8, 0xedbea3},
-  {0x64b9, 0xe98fa8},
-  {0x64ba, 0xedbea5},
-  {0x64bb, 0xe98fa9},
-  {0x64bc, 0xebaab3},
-  {0x64bd, 0xe98faa},
-  {0x64be, 0xe98fab},
-  {0x64bf, 0xe98fac},
-  {0x64c0, 0xedbea6},
-  {0x64c1, 0xe98fad},
-  {0x64c2, 0xec839e},
-  {0x64c3, 0xe98fae},
-  {0x64c4, 0xe98faf},
-  {0x64c5, 0xeca783},
-  {0x64c6, 0xe98fb0},
-  {0x64c7, 0xe98fb1},
-  {0x64c8, 0xe98fb2},
-  {0x64c9, 0xe98fb3},
-  {0x64ca, 0xe98fb4},
-  {0x64cb, 0xe98fb5},
-  {0x64cc, 0xe98fb6},
-  {0x64cd, 0xeb8b99},
-  {0x64ce, 0xec9fa6},
-  {0x64cf, 0xe98fb7},
-  {0x64d0, 0xedbea7},
-  {0x64d1, 0xe98fb8},
-  {0x64d2, 0xec9f9c},
-  {0x64d3, 0xe98fb9},
-  {0x64d4, 0xe98fba},
-  {0x64d5, 0xe98fbb},
-  {0x64d6, 0xe98fbc},
-  {0x64d7, 0xedbea8},
-  {0x64d8, 0xeeaea2},
-  {0x64d9, 0xe98fbd},
-  {0x64da, 0xe98fbe},
-  {0x64db, 0xe99180},
-  {0x64dc, 0xe99181},
-  {0x64dd, 0xe99182},
-  {0x64de, 0xecaf93},
-  {0x64df, 0xe99183},
-  {0x64e0, 0xe99184},
-  {0x64e1, 0xe99185},
-  {0x64e2, 0xedbeaa},
-  {0x64e3, 0xe99186},
-  {0x64e4, 0xedbea9},
-  {0x64e5, 0xe99187},
-  {0x64e6, 0xeb8b81},
-  {0x64e7, 0xe99188},
-  {0x64e8, 0xe99189},
-  {0x64e9, 0xe9918a},
-  {0x64ea, 0xe9918b},
-  {0x64eb, 0xe9918c},
-  {0x64ec, 0xe9918d},
-  {0x64ed, 0xe9918e},
-  {0x64ee, 0xe9918f},
-  {0x64ef, 0xe99190},
-  {0x64f0, 0xe99191},
-  {0x64f1, 0xe99192},
-  {0x64f2, 0xe99193},
-  {0x64f3, 0xe99194},
-  {0x64f4, 0xe99195},
-  {0x64f5, 0xe99196},
-  {0x64f6, 0xe99197},
-  {0x64f7, 0xe99198},
-  {0x64f8, 0xe99199},
-  {0x64f9, 0xe9919a},
-  {0x64fa, 0xe9919b},
-  {0x64fb, 0xe9919c},
-  {0x64fc, 0xe9919d},
-  {0x64fd, 0xe9919e},
-  {0x64fe, 0xe9919f},
-  {0x64ff, 0xe991a0},
-  {0x6500, 0xec978a},
-  {0x6501, 0xe991a1},
-  {0x6502, 0xe991a2},
-  {0x6503, 0xe991a3},
-  {0x6504, 0xe991a4},
-  {0x6505, 0xe991a5},
-  {0x6506, 0xe991a6},
-  {0x6507, 0xe991a7},
-  {0x6508, 0xe991a8},
-  {0x6509, 0xedbeab},
-  {0x650a, 0xe991a9},
-  {0x650b, 0xe991aa},
-  {0x650c, 0xe991ab},
-  {0x650d, 0xe991ac},
-  {0x650e, 0xe991ad},
-  {0x650f, 0xe991ae},
-  {0x6510, 0xe991af},
-  {0x6511, 0xe991b0},
-  {0x6512, 0xed939c},
-  {0x6513, 0xe991b1},
-  {0x6514, 0xe991b2},
-  {0x6515, 0xe991b3},
-  {0x6516, 0xe991b4},
-  {0x6517, 0xe991b5},
-  {0x6518, 0xeca381},
-  {0x6519, 0xe991b6},
-  {0x651a, 0xe991b7},
-  {0x651b, 0xe991b8},
-  {0x651c, 0xe991b9},
-  {0x651d, 0xe991ba},
-  {0x651e, 0xe991bb},
-  {0x651f, 0xe991bc},
-  {0x6520, 0xe991bd},
-  {0x6521, 0xe991be},
-  {0x6522, 0xe99280},
-  {0x6523, 0xe99281},
-  {0x6524, 0xe99282},
-  {0x6525, 0xedbeac},
-  {0x6526, 0xe99283},
-  {0x6527, 0xe99284},
-  {0x6528, 0xe99285},
-  {0x6529, 0xe99286},
-  {0x652a, 0xe99287},
-  {0x652b, 0xebbbb0},
-  {0x652c, 0xe99288},
-  {0x652d, 0xe99289},
-  {0x652e, 0xedbead},
-  {0x652f, 0xed9aa7},
-  {0x6530, 0xe9928a},
-  {0x6531, 0xe9928b},
-  {0x6532, 0xe9928c},
-  {0x6533, 0xe9928d},
-  {0x6534, 0xeeaab7},
-  {0x6535, 0xeeaeb6},
-  {0x6536, 0xecab95},
-  {0x6537, 0xe9928e},
-  {0x6538, 0xeda3bc},
-  {0x6539, 0xeba384},
-  {0x653a, 0xe9928f},
-  {0x653b, 0xeba6a5},
-  {0x653c, 0xe99290},
-  {0x653d, 0xe99291},
-  {0x653e, 0xeb9f85},
-  {0x653f, 0xed97be},
-  {0x6540, 0xe99292},
-  {0x6541, 0xe99293},
-  {0x6542, 0xe99294},
-  {0x6543, 0xe99295},
-  {0x6544, 0xe99296},
-  {0x6545, 0xeba78a},
-  {0x6546, 0xe99297},
-  {0x6547, 0xe99298},
-  {0x6548, 0xed82a7},
-  {0x6549, 0xef938d},
-  {0x654a, 0xe99299},
-  {0x654b, 0xe9929a},
-  {0x654c, 0xeb9790},
-  {0x654d, 0xe9929b},
-  {0x654e, 0xe9929c},
-  {0x654f, 0xec8fb4},
-  {0x6550, 0xe9929d},
-  {0x6551, 0xebbb88},
-  {0x6552, 0xe9929e},
-  {0x6553, 0xe9929f},
-  {0x6554, 0xe992a0},
-  {0x6555, 0xeeaeb7},
-  {0x6556, 0xeb82bd},
-  {0x6557, 0xe992a1},
-  {0x6558, 0xe992a2},
-  {0x6559, 0xebb78c},
-  {0x655a, 0xe992a3},
-  {0x655b, 0xec86b2},
-  {0x655c, 0xe992a4},
-  {0x655d, 0xeb8796},
-  {0x655e, 0xeb8ea8},
-  {0x655f, 0xe992a5},
-  {0x6560, 0xe992a6},
-  {0x6561, 0xe992a7},
-  {0x6562, 0xeba392},
-  {0x6563, 0xeca6a2},
-  {0x6564, 0xe992a8},
-  {0x6565, 0xe992a9},
-  {0x6566, 0xeb9b98},
-  {0x6567, 0xe992aa},
-  {0x6568, 0xe992ab},
-  {0x6569, 0xe992ac},
-  {0x656a, 0xe992ad},
-  {0x656b, 0xeeaeb8},
-  {0x656c, 0xebbab4},
-  {0x656d, 0xe992ae},
-  {0x656e, 0xe992af},
-  {0x656f, 0xe992b0},
-  {0x6570, 0xecabbd},
-  {0x6571, 0xe992b1},
-  {0x6572, 0xec9f83},
-  {0x6573, 0xe992b2},
-  {0x6574, 0xed97bb},
-  {0x6575, 0xe992b3},
-  {0x6576, 0xe992b4},
-  {0x6577, 0xeb9fb3},
-  {0x6578, 0xe992b5},
-  {0x6579, 0xe992b6},
-  {0x657a, 0xe992b7},
-  {0x657b, 0xe992b8},
-  {0x657c, 0xe992b9},
-  {0x657d, 0xe992ba},
-  {0x657e, 0xe992bb},
-  {0x657f, 0xe992bc},
-  {0x6580, 0xe992bd},
-  {0x6581, 0xe992be},
-  {0x6582, 0xe992bf},
-  {0x6583, 0xe99380},
-  {0x6584, 0xe99381},
-  {0x6585, 0xe99382},
-  {0x6586, 0xe99383},
-  {0x6587, 0xecbb84},
-  {0x6588, 0xe99384},
-  {0x6589, 0xe99385},
-  {0x658a, 0xe99386},
-  {0x658b, 0xed96ab},
-  {0x658c, 0xeb87b3},
-  {0x658d, 0xe99387},
-  {0x658e, 0xe99388},
-  {0x658f, 0xe99389},
-  {0x6590, 0xeeb2b3},
-  {0x6591, 0xeb839f},
-  {0x6592, 0xe9938a},
-  {0x6593, 0xeeb2b5},
-  {0x6594, 0xe9938b},
-  {0x6595, 0xe9938c},
-  {0x6596, 0xe9938d},
-  {0x6597, 0xeb9ab7},
-  {0x6598, 0xe9938e},
-  {0x6599, 0xec878f},
-  {0x659a, 0xe9938f},
-  {0x659b, 0xef97ba},
-  {0x659c, 0xed82b1},
-  {0x659d, 0xe99390},
-  {0x659e, 0xe99391},
-  {0x659f, 0xed97a5},
-  {0x65a0, 0xe99392},
-  {0x65a1, 0xecbb93},
-  {0x65a2, 0xe99393},
-  {0x65a3, 0xe99394},
-  {0x65a4, 0xebb7af},
-  {0x65a5, 0xeb8fa2},
-  {0x65a6, 0xe99395},
-  {0x65a7, 0xeba2ab},
-  {0x65a8, 0xe99396},
-  {0x65a9, 0xed96b6},
-  {0x65aa, 0xe99397},
-  {0x65ab, 0xeeb6bd},
-  {0x65ac, 0xe99398},
-  {0x65ad, 0xeb9b8f},
-  {0x65ae, 0xe99399},
-  {0x65af, 0xecaeb9},
-  {0x65b0, 0xed8382},
-  {0x65b1, 0xe9939a},
-  {0x65b2, 0xe9939b},
-  {0x65b3, 0xe9939c},
-  {0x65b4, 0xe9939d},
-  {0x65b5, 0xe9939e},
-  {0x65b6, 0xe9939f},
-  {0x65b7, 0xe993a0},
-  {0x65b8, 0xe993a1},
-  {0x65b9, 0xeb9ebd},
-  {0x65ba, 0xe993a2},
-  {0x65bb, 0xe993a3},
-  {0x65bc, 0xeeb2b6},
-  {0x65bd, 0xecaaa9},
-  {0x65be, 0xe993a4},
-  {0x65bf, 0xe993a5},
-  {0x65c0, 0xe993a6},
-  {0x65c1, 0xec9794},
-  {0x65c2, 0xe993a7},
-  {0x65c3, 0xeeb2b9},
-  {0x65c4, 0xeeb2b8},
-  {0x65c5, 0xec8b83},
-  {0x65c6, 0xeeb2b7},
-  {0x65c7, 0xe993a8},
-  {0x65c8, 0xe993a9},
-  {0x65c9, 0xe993aa},
-  {0x65ca, 0xe993ab},
-  {0x65cb, 0xed83bd},
-  {0x65cc, 0xeeb2ba},
-  {0x65cd, 0xe993ac},
-  {0x65ce, 0xeeb2bb},
-  {0x65cf, 0xed9fa5},
-  {0x65d0, 0xe993ad},
-  {0x65d1, 0xe993ae},
-  {0x65d2, 0xeeb2bc},
-  {0x65d3, 0xe993af},
-  {0x65d4, 0xe993b0},
-  {0x65d5, 0xe993b1},
-  {0x65d6, 0xeeb2bd},
-  {0x65d7, 0xec9bac},
-  {0x65d8, 0xe993b2},
-  {0x65d9, 0xe993b3},
-  {0x65da, 0xe993b4},
-  {0x65db, 0xe993b5},
-  {0x65dc, 0xe993b6},
-  {0x65dd, 0xe993b7},
-  {0x65de, 0xe993b8},
-  {0x65df, 0xe993b9},
-  {0x65e0, 0xecbb9e},
-  {0x65e1, 0xe993ba},
-  {0x65e2, 0xebb388},
-  {0x65e3, 0xe993bb},
-  {0x65e4, 0xe993bc},
-  {0x65e5, 0xeca395},
-  {0x65e6, 0xeb96a9},
-  {0x65e7, 0xebbb89},
-  {0x65e8, 0xed9abc},
-  {0x65e9, 0xed93a7},
-  {0x65ea, 0xe993bd},
-  {0x65eb, 0xe993be},
-  {0x65ec, 0xed86ae},
-  {0x65ed, 0xed83b1},
-  {0x65ee, 0xeeaab8},
-  {0x65ef, 0xeeaab9},
-  {0x65f0, 0xeeaaba},
-  {0x65f1, 0xebaab5},
-  {0x65f2, 0xe99580},
-  {0x65f3, 0xe99581},
-  {0x65f4, 0xe99582},
-  {0x65f5, 0xe99583},
-  {0x65f6, 0xecaab1},
-  {0x65f7, 0xebbfb5},
-  {0x65f8, 0xe99584},
-  {0x65f9, 0xe99585},
-  {0x65fa, 0xecb7ba},
-  {0x65fb, 0xe99586},
-  {0x65fc, 0xe99587},
-  {0x65fd, 0xe99588},
-  {0x65fe, 0xe99589},
-  {0x65ff, 0xe9958a},
-  {0x6600, 0xeeab80},
-  {0x6601, 0xe9958b},
-  {0x6602, 0xeb82ba},
-  {0x6603, 0xeeaabe},
-  {0x6604, 0xe9958c},
-  {0x6605, 0xe9958d},
-  {0x6606, 0xec82a5},
-  {0x6607, 0xe9958e},
-  {0x6608, 0xe9958f},
-  {0x6609, 0xe99590},
-  {0x660a, 0xeeaabb},
-  {0x660b, 0xe99591},
-  {0x660c, 0xeb8bbd},
-  {0x660d, 0xe99592},
-  {0x660e, 0xec8fb7},
-  {0x660f, 0xebafa8},
-  {0x6610, 0xe99593},
-  {0x6611, 0xe99594},
-  {0x6612, 0xe99595},
-  {0x6613, 0xed8b97},
-  {0x6614, 0xecbbb4},
-  {0x6615, 0xeeaabf},
-  {0x6616, 0xe99596},
-  {0x6617, 0xe99597},
-  {0x6618, 0xe99598},
-  {0x6619, 0xeeaabc},
-  {0x661a, 0xe99599},
-  {0x661b, 0xe9959a},
-  {0x661c, 0xe9959b},
-  {0x661d, 0xeeab83},
-  {0x661e, 0xe9959c},
-  {0x661f, 0xed8387},
-  {0x6620, 0xed8eb3},
-  {0x6621, 0xe9959d},
-  {0x6622, 0xe9959e},
-  {0x6623, 0xe9959f},
-  {0x6624, 0xe995a0},
-  {0x6625, 0xeb92ba},
-  {0x6626, 0xe995a1},
-  {0x6627, 0xec8f81},
-  {0x6628, 0xed9fb2},
-  {0x6629, 0xe995a2},
-  {0x662a, 0xe995a3},
-  {0x662b, 0xe995a4},
-  {0x662c, 0xe995a5},
-  {0x662d, 0xed9791},
-  {0x662e, 0xe995a6},
-  {0x662f, 0xecab87},
-  {0x6630, 0xe995a7},
-  {0x6631, 0xeeab85},
-  {0x6632, 0xe995a8},
-  {0x6633, 0xe995a9},
-  {0x6634, 0xeeab84},
-  {0x6635, 0xeeab87},
-  {0x6636, 0xeeab86},
-  {0x6637, 0xe995aa},
-  {0x6638, 0xe995ab},
-  {0x6639, 0xe995ac},
-  {0x663a, 0xe995ad},
-  {0x663b, 0xe995ae},
-  {0x663c, 0xed9ba7},
-  {0x663d, 0xe995af},
-  {0x663e, 0xecbf94},
-  {0x663f, 0xe995b0},
-  {0x6640, 0xe995b1},
-  {0x6641, 0xeeab8b},
-  {0x6642, 0xe995b2},
-  {0x6643, 0xebaf8e},
-  {0x6644, 0xe995b3},
-  {0x6645, 0xe995b4},
-  {0x6646, 0xe995b5},
-  {0x6647, 0xe995b6},
-  {0x6648, 0xe995b7},
-  {0x6649, 0xe995b8},
-  {0x664a, 0xe995b9},
-  {0x664b, 0xebb7ba},
-  {0x664c, 0xeca78e},
-  {0x664d, 0xe995ba},
-  {0x664e, 0xe995bb},
-  {0x664f, 0xeeab8c},
-  {0x6650, 0xe995bc},
-  {0x6651, 0xe995bd},
-  {0x6652, 0xeca6b9},
-  {0x6653, 0xecbfbe},
-  {0x6654, 0xeeab8a},
-  {0x6655, 0xed938e},
-  {0x6656, 0xeeab8d},
-  {0x6657, 0xeeab8f},
-  {0x6658, 0xe995be},
-  {0x6659, 0xe99680},
-  {0x665a, 0xecb7ad},
-  {0x665b, 0xe99681},
-  {0x665c, 0xe99682},
-  {0x665d, 0xe99683},
-  {0x665e, 0xe99684},
-  {0x665f, 0xeeab89},
-  {0x6660, 0xe99685},
-  {0x6661, 0xeeab8e},
-  {0x6662, 0xe99686},
-  {0x6663, 0xe99687},
-  {0x6664, 0xecbbae},
-  {0x6665, 0xe99688},
-  {0x6666, 0xebaf9e},
-  {0x6667, 0xe99689},
-  {0x6668, 0xeb8ebf},
-  {0x6669, 0xe9968a},
-  {0x666a, 0xe9968b},
-  {0x666b, 0xe9968c},
-  {0x666c, 0xe9968d},
-  {0x666d, 0xe9968e},
-  {0x666e, 0xec9b95},
-  {0x666f, 0xebbab0},
-  {0x6670, 0xecbbba},
-  {0x6671, 0xe9968f},
-  {0x6672, 0xe99690},
-  {0x6673, 0xe99691},
-  {0x6674, 0xec9fa7},
-  {0x6675, 0xe99692},
-  {0x6676, 0xebbaa7},
-  {0x6677, 0xeeab90},
-  {0x6678, 0xe99693},
-  {0x6679, 0xe99694},
-  {0x667a, 0xed9b87},
-  {0x667b, 0xe99695},
-  {0x667c, 0xe99696},
-  {0x667d, 0xe99697},
-  {0x667e, 0xec8780},
-  {0x667f, 0xe99698},
-  {0x6680, 0xe99699},
-  {0x6681, 0xe9969a},
-  {0x6682, 0xed939d},
-  {0x6683, 0xe9969b},
-  {0x6684, 0xeeab91},
-  {0x6685, 0xe9969c},
-  {0x6686, 0xe9969d},
-  {0x6687, 0xecbebe},
-  {0x6688, 0xe9969e},
-  {0x6689, 0xe9969f},
-  {0x668a, 0xe996a0},
-  {0x668b, 0xe996a1},
-  {0x668c, 0xeeab92},
-  {0x668d, 0xe996a2},
-  {0x668e, 0xe996a3},
-  {0x668f, 0xe996a4},
-  {0x6690, 0xe996a5},
-  {0x6691, 0xecabae},
-  {0x6692, 0xe996a6},
-  {0x6693, 0xe996a7},
-  {0x6694, 0xe996a8},
-  {0x6695, 0xe996a9},
-  {0x6696, 0xec96af},
-  {0x6697, 0xeb82b5},
-  {0x6698, 0xe996aa},
-  {0x6699, 0xe996ab},
-  {0x669a, 0xe996ac},
-  {0x669b, 0xe996ad},
-  {0x669c, 0xe996ae},
-  {0x669d, 0xeeab94},
-  {0x669e, 0xe996af},
-  {0x669f, 0xe996b0},
-  {0x66a0, 0xe996b1},
-  {0x66a1, 0xe996b2},
-  {0x66a2, 0xe996b3},
-  {0x66a3, 0xe996b4},
-  {0x66a4, 0xe996b5},
-  {0x66a5, 0xe996b6},
-  {0x66a6, 0xe996b7},
-  {0x66a7, 0xeeab93},
-  {0x66a8, 0xef939f},
-  {0x66a9, 0xe996b8},
-  {0x66aa, 0xe996b9},
-  {0x66ab, 0xe996ba},
-  {0x66ac, 0xe996bb},
-  {0x66ad, 0xe996bc},
-  {0x66ae, 0xec92ba},
-  {0x66af, 0xe996bd},
-  {0x66b0, 0xe996be},
-  {0x66b1, 0xe996bf},
-  {0x66b2, 0xe99780},
-  {0x66b3, 0xe99781},
-  {0x66b4, 0xeb86a9},
-  {0x66b5, 0xe99782},
-  {0x66b6, 0xe99783},
-  {0x66b7, 0xe99784},
-  {0x66b8, 0xe99785},
-  {0x66b9, 0xee979f},
-  {0x66ba, 0xe99786},
-  {0x66bb, 0xe99787},
-  {0x66bc, 0xe99788},
-  {0x66bd, 0xe99789},
-  {0x66be, 0xeeab95},
-  {0x66bf, 0xe9978a},
-  {0x66c0, 0xe9978b},
-  {0x66c1, 0xe9978c},
-  {0x66c2, 0xe9978d},
-  {0x66c3, 0xe9978e},
-  {0x66c4, 0xe9978f},
-  {0x66c5, 0xe99790},
-  {0x66c6, 0xe99791},
-  {0x66c7, 0xe99792},
-  {0x66c8, 0xe99793},
-  {0x66c9, 0xe99794},
-  {0x66ca, 0xe99795},
-  {0x66cb, 0xe99796},
-  {0x66cc, 0xe99797},
-  {0x66cd, 0xe99798},
-  {0x66ce, 0xe99799},
-  {0x66cf, 0xe9979a},
-  {0x66d0, 0xe9979b},
-  {0x66d1, 0xe9979c},
-  {0x66d2, 0xe9979d},
-  {0x66d3, 0xe9979e},
-  {0x66d4, 0xe9979f},
-  {0x66d5, 0xe997a0},
-  {0x66d6, 0xe997a1},
-  {0x66d7, 0xe997a2},
-  {0x66d8, 0xe997a3},
-  {0x66d9, 0xecabaf},
-  {0x66da, 0xe997a4},
-  {0x66db, 0xeeab96},
-  {0x66dc, 0xeeab97},
-  {0x66dd, 0xec9b98},
-  {0x66de, 0xe997a5},
-  {0x66df, 0xe997a6},
-  {0x66e0, 0xe997a7},
-  {0x66e1, 0xe997a8},
-  {0x66e2, 0xe997a9},
-  {0x66e3, 0xe997aa},
-  {0x66e4, 0xe997ab},
-  {0x66e5, 0xe997ac},
-  {0x66e6, 0xeeab98},
-  {0x66e7, 0xe997ad},
-  {0x66e8, 0xe997ae},
-  {0x66e9, 0xeeab99},
-  {0x66ea, 0xe997af},
-  {0x66eb, 0xe997b0},
-  {0x66ec, 0xe997b1},
-  {0x66ed, 0xe997b2},
-  {0x66ee, 0xe997b3},
-  {0x66ef, 0xe997b4},
-  {0x66f0, 0xed92bb},
-  {0x66f1, 0xe997b5},
-  {0x66f2, 0xec9fba},
-  {0x66f3, 0xed8ab7},
-  {0x66f4, 0xeba3bc},
-  {0x66f5, 0xe997b6},
-  {0x66f6, 0xe997b7},
-  {0x66f7, 0xeeab82},
-  {0x66f8, 0xe997b8},
-  {0x66f9, 0xeb8b9c},
-  {0x66fa, 0xe997b9},
-  {0x66fb, 0xe997ba},
-  {0x66fc, 0xec8bbc},
-  {0x66fd, 0xe997bb},
-  {0x66fe, 0xed93b8},
-  {0x66ff, 0xecb3a6},
-  {0x6700, 0xed9fae},
-  {0x6701, 0xe997bc},
-  {0x6702, 0xe997bd},
-  {0x6703, 0xe997be},
-  {0x6704, 0xe99980},
-  {0x6705, 0xe99981},
-  {0x6706, 0xe99982},
-  {0x6707, 0xe99983},
-  {0x6708, 0xed9382},
-  {0x6709, 0xed8f90},
-  {0x670a, 0xeeaf83},
-  {0x670b, 0xec97b3},
-  {0x670c, 0xe99984},
-  {0x670d, 0xeb9fbe},
-  {0x670e, 0xe99985},
-  {0x670f, 0xe99986},
-  {0x6710, 0xeeaf94},
-  {0x6711, 0xe99987},
-  {0x6712, 0xe99988},
-  {0x6713, 0xe99989},
-  {0x6714, 0xecaeb7},
-  {0x6715, 0xeeaf9e},
-  {0x6716, 0xe9998a},
-  {0x6717, 0xec838a},
-  {0x6718, 0xe9998b},
-  {0x6719, 0xe9998c},
-  {0x671a, 0xe9998d},
-  {0x671b, 0xecb7bb},
-  {0x671c, 0xe9998e},
-  {0x671d, 0xeb8eaf},
-  {0x671e, 0xe9998f},
-  {0x671f, 0xec9b9a},
-  {0x6720, 0xe99990},
-  {0x6721, 0xe99991},
-  {0x6722, 0xe99992},
-  {0x6723, 0xe99993},
-  {0x6724, 0xe99994},
-  {0x6725, 0xe99995},
-  {0x6726, 0xeeafbc},
-  {0x6727, 0xe99996},
-  {0x6728, 0xec92be},
-  {0x6729, 0xe99997},
-  {0x672a, 0xecbab4},
-  {0x672b, 0xec92a9},
-  {0x672c, 0xeb86be},
-  {0x672d, 0xed93bd},
-  {0x672e, 0xe99998},
-  {0x672f, 0xecabb5},
-  {0x6730, 0xe99999},
-  {0x6731, 0xed9bac},
-  {0x6732, 0xe9999a},
-  {0x6733, 0xe9999b},
-  {0x6734, 0xec9b93},
-  {0x6735, 0xeb9ba4},
-  {0x6736, 0xe9999c},
-  {0x6737, 0xe9999d},
-  {0x6738, 0xe9999e},
-  {0x6739, 0xe9999f},
-  {0x673a, 0xebafba},
-  {0x673b, 0xe999a0},
-  {0x673c, 0xe999a1},
-  {0x673d, 0xed83a0},
-  {0x673e, 0xe999a2},
-  {0x673f, 0xe999a3},
-  {0x6740, 0xeca6b1},
-  {0x6741, 0xe999a4},
-  {0x6742, 0xed9393},
-  {0x6743, 0xeca2a8},
-  {0x6744, 0xe999a5},
-  {0x6745, 0xe999a6},
-  {0x6746, 0xeba38b},
-  {0x6747, 0xe999a7},
-  {0x6748, 0xeea2be},
-  {0x6749, 0xeca6bc},
-  {0x674a, 0xe999a8},
-  {0x674b, 0xe999a9},
-  {0x674c, 0xeea2bb},
-  {0x674d, 0xe999aa},
-  {0x674e, 0xec83ae},
-  {0x674f, 0xed8393},
-  {0x6750, 0xeb8b84},
-  {0x6751, 0xeb93a5},
-  {0x6752, 0xe999ab},
-  {0x6753, 0xeea2bc},
-  {0x6754, 0xe999ac},
-  {0x6755, 0xe999ad},
-  {0x6756, 0xed9788},
-  {0x6757, 0xe999ae},
-  {0x6758, 0xe999af},
-  {0x6759, 0xe999b0},
-  {0x675a, 0xe999b1},
-  {0x675b, 0xe999b2},
-  {0x675c, 0xeb9b85},
-  {0x675d, 0xe999b3},
-  {0x675e, 0xeea2bd},
-  {0x675f, 0xecabb8},
-  {0x6760, 0xeba39c},
-  {0x6761, 0xecb3b5},
-  {0x6762, 0xe999b4},
-  {0x6763, 0xe999b5},
-  {0x6764, 0xe999b6},
-  {0x6765, 0xec82b4},
-  {0x6766, 0xe999b7},
-  {0x6767, 0xe999b8},
-  {0x6768, 0xed87ae},
-  {0x6769, 0xeea2bf},
-  {0x676a, 0xeea382},
-  {0x676b, 0xe999b9},
-  {0x676c, 0xe999ba},
-  {0x676d, 0xebaabc},
-  {0x676e, 0xe999bb},
-  {0x676f, 0xeb86ad},
-  {0x6770, 0xebb79c},
-  {0x6771, 0xe999bc},
-  {0x6772, 0xeeaabd},
-  {0x6773, 0xeea383},
-  {0x6774, 0xe999bd},
-  {0x6775, 0xeea386},
-  {0x6776, 0xe999be},
-  {0x6777, 0xeea38b},
-  {0x6778, 0xe99a80},
-  {0x6779, 0xe99a81},
-  {0x677a, 0xe99a82},
-  {0x677b, 0xe99a83},
-  {0x677c, 0xeea38c},
-  {0x677d, 0xe99a84},
-  {0x677e, 0xecaf89},
-  {0x677f, 0xeb83a5},
-  {0x6780, 0xe99a85},
-  {0x6781, 0xebb2ab},
-  {0x6782, 0xe99a86},
-  {0x6783, 0xe99a87},
-  {0x6784, 0xeba6b9},
-  {0x6785, 0xe99a88},
-  {0x6786, 0xe99a89},
-  {0x6787, 0xeea381},
-  {0x6788, 0xe99a8a},
-  {0x6789, 0xecb7b7},
-  {0x678a, 0xe99a8b},
-  {0x678b, 0xeea38a},
-  {0x678c, 0xe99a8c},
-  {0x678d, 0xe99a8d},
-  {0x678e, 0xe99a8e},
-  {0x678f, 0xe99a8f},
-  {0x6790, 0xecbbb6},
-  {0x6791, 0xe99a90},
-  {0x6792, 0xe99a91},
-  {0x6793, 0xe99a92},
-  {0x6794, 0xe99a93},
-  {0x6795, 0xed97ad},
-  {0x6796, 0xe99a94},
-  {0x6797, 0xec8796},
-  {0x6798, 0xeea384},
-  {0x6799, 0xe99a95},
-  {0x679a, 0xec8eb6},
-  {0x679b, 0xe99a96},
-  {0x679c, 0xeba7bb},
-  {0x679d, 0xed9aa6},
-  {0x679e, 0xeea388},
-  {0x679f, 0xe99a97},
-  {0x67a0, 0xe99a98},
-  {0x67a1, 0xe99a99},
-  {0x67a2, 0xecaba0},
-  {0x67a3, 0xed93a6},
-  {0x67a4, 0xe99a9a},
-  {0x67a5, 0xeea380},
-  {0x67a6, 0xe99a9b},
-  {0x67a7, 0xeea385},
-  {0x67a8, 0xeea387},
-  {0x67a9, 0xe99a9c},
-  {0x67aa, 0xec9eb9},
-  {0x67ab, 0xeb9fa3},
-  {0x67ac, 0xe99a9d},
-  {0x67ad, 0xeea389},
-  {0x67ae, 0xe99a9e},
-  {0x67af, 0xebbf9d},
-  {0x67b0, 0xeea392},
-  {0x67b1, 0xe99a9f},
-  {0x67b2, 0xe99aa0},
-  {0x67b3, 0xeea397},
-  {0x67b4, 0xe99aa1},
-  {0x67b5, 0xeea395},
-  {0x67b6, 0xebb39c},
-  {0x67b7, 0xebb38f},
-  {0x67b8, 0xeea39b},
-  {0x67b9, 0xe99aa2},
-  {0x67ba, 0xe99aa3},
-  {0x67bb, 0xe99aa4},
-  {0x67bc, 0xe99aa5},
-  {0x67bd, 0xe99aa6},
-  {0x67be, 0xe99aa7},
-  {0x67bf, 0xe99aa8},
-  {0x67c0, 0xe99aa9},
-  {0x67c1, 0xeea39e},
-  {0x67c2, 0xe99aaa},
-  {0x67c3, 0xeea39a},
-  {0x67c4, 0xeb87ba},
-  {0x67c5, 0xe99aab},
-  {0x67c6, 0xe99aac},
-  {0x67c7, 0xe99aad},
-  {0x67c8, 0xe99aae},
-  {0x67c9, 0xe99aaf},
-  {0x67ca, 0xe99ab0},
-  {0x67cb, 0xe99ab1},
-  {0x67cc, 0xe99ab2},
-  {0x67cd, 0xe99ab3},
-  {0x67ce, 0xe99ab4},
-  {0x67cf, 0xeb8398},
-  {0x67d0, 0xec92b3},
-  {0x67d1, 0xeba38c},
-  {0x67d2, 0xec9ba2},
-  {0x67d3, 0xeca2be},
-  {0x67d4, 0xeca3a1},
-  {0x67d5, 0xe99ab5},
-  {0x67d6, 0xe99ab6},
-  {0x67d7, 0xe99ab7},
-  {0x67d8, 0xeea38f},
-  {0x67d9, 0xeea394},
-  {0x67da, 0xeea396},
-  {0x67db, 0xe99ab8},
-  {0x67dc, 0xeba7b1},
-  {0x67dd, 0xeea398},
-  {0x67de, 0xed9fb5},
-  {0x67df, 0xe99ab9},
-  {0x67e0, 0xec93bb},
-  {0x67e1, 0xe99aba},
-  {0x67e2, 0xeea39c},
-  {0x67e3, 0xe99abb},
-  {0x67e4, 0xe99abc},
-  {0x67e5, 0xeb8ba9},
-  {0x67e6, 0xe99abd},
-  {0x67e7, 0xe99abe},
-  {0x67e8, 0xe99abf},
-  {0x67e9, 0xeea391},
-  {0x67ea, 0xe99b80},
-  {0x67eb, 0xe99b81},
-  {0x67ec, 0xebb3ad},
-  {0x67ed, 0xe99b82},
-  {0x67ee, 0xe99b83},
-  {0x67ef, 0xebbf82},
-  {0x67f0, 0xeea38d},
-  {0x67f1, 0xed9bb9},
-  {0x67f2, 0xe99b84},
-  {0x67f3, 0xec87b8},
-  {0x67f4, 0xeb8bb1},
-  {0x67f5, 0xe99b85},
-  {0x67f6, 0xe99b86},
-  {0x67f7, 0xe99b87},
-  {0x67f8, 0xe99b88},
-  {0x67f9, 0xe99b89},
-  {0x67fa, 0xe99b8a},
-  {0x67fb, 0xe99b8b},
-  {0x67fc, 0xe99b8c},
-  {0x67fd, 0xeea39f},
-  {0x67fe, 0xe99b8d},
-  {0x67ff, 0xecab81},
-  {0x6800, 0xeea399},
-  {0x6801, 0xe99b8e},
-  {0x6802, 0xe99b8f},
-  {0x6803, 0xe99b90},
-  {0x6804, 0xe99b91},
-  {0x6805, 0xed96a4},
-  {0x6806, 0xe99b92},
-  {0x6807, 0xeb87aa},
-  {0x6808, 0xed96bb},
-  {0x6809, 0xeea38e},
-  {0x680a, 0xeea390},
-  {0x680b, 0xeb9ab0},
-  {0x680c, 0xeea393},
-  {0x680d, 0xe99b93},
-  {0x680e, 0xeea39d},
-  {0x680f, 0xec82b8},
-  {0x6810, 0xe99b94},
-  {0x6811, 0xecabb7},
-  {0x6812, 0xe99b95},
-  {0x6813, 0xecaea8},
-  {0x6814, 0xe99b96},
-  {0x6815, 0xe99b97},
-  {0x6816, 0xec9b9c},
-  {0x6817, 0xec83b5},
-  {0x6818, 0xe99b98},
-  {0x6819, 0xe99b99},
-  {0x681a, 0xe99b9a},
-  {0x681b, 0xe99b9b},
-  {0x681c, 0xe99b9c},
-  {0x681d, 0xeea3a9},
-  {0x681e, 0xe99b9d},
-  {0x681f, 0xe99b9e},
-  {0x6820, 0xe99b9f},
-  {0x6821, 0xed82a3},
-  {0x6822, 0xe99ba0},
-  {0x6823, 0xe99ba1},
-  {0x6824, 0xe99ba2},
-  {0x6825, 0xe99ba3},
-  {0x6826, 0xe99ba4},
-  {0x6827, 0xe99ba5},
-  {0x6828, 0xe99ba6},
-  {0x6829, 0xeea3b2},
-  {0x682a, 0xed9baa},
-  {0x682b, 0xe99ba7},
-  {0x682c, 0xe99ba8},
-  {0x682d, 0xe99ba9},
-  {0x682e, 0xe99baa},
-  {0x682f, 0xe99bab},
-  {0x6830, 0xe99bac},
-  {0x6831, 0xe99bad},
-  {0x6832, 0xeea3a0},
-  {0x6833, 0xeea3a1},
-  {0x6834, 0xe99bae},
-  {0x6835, 0xe99baf},
-  {0x6836, 0xe99bb0},
-  {0x6837, 0xed87b9},
-  {0x6838, 0xebab8b},
-  {0x6839, 0xeba3b9},
-  {0x683a, 0xe99bb1},
-  {0x683b, 0xe99bb2},
-  {0x683c, 0xeba3b1},
-  {0x683d, 0xed9394},
-  {0x683e, 0xeea3af},
-  {0x683f, 0xe99bb3},
-  {0x6840, 0xeea3ae},
-  {0x6841, 0xeea3ac},
-  {0x6842, 0xeba7b0},
-  {0x6843, 0xecb392},
-  {0x6844, 0xeea3a6},
-  {0x6845, 0xecbaa6},
-  {0x6846, 0xebbfb2},
-  {0x6847, 0xe99bb4},
-  {0x6848, 0xeb82b8},
-  {0x6849, 0xeea3b1},
-  {0x684a, 0xeea3b0},
-  {0x684b, 0xe99bb5},
-  {0x684c, 0xed9f80},
-  {0x684d, 0xe99bb6},
-  {0x684e, 0xeea3a4},
-  {0x684f, 0xe99bb7},
-  {0x6850, 0xecb6a9},
-  {0x6851, 0xeca6a3},
-  {0x6852, 0xe99bb8},
-  {0x6853, 0xebaeb8},
-  {0x6854, 0xebb79b},
-  {0x6855, 0xeea3aa},
-  {0x6856, 0xe99bb9},
-  {0x6857, 0xe99bba},
-  {0x6858, 0xe99bbb},
-  {0x6859, 0xe99bbc},
-  {0x685a, 0xe99bbd},
-  {0x685b, 0xe99bbe},
-  {0x685c, 0xe99d80},
-  {0x685d, 0xe99d81},
-  {0x685e, 0xe99d82},
-  {0x685f, 0xe99d83},
-  {0x6860, 0xeea3a2},
-  {0x6861, 0xeea3a3},
-  {0x6862, 0xeea3a5},
-  {0x6863, 0xeb96b5},
-  {0x6864, 0xeea3a7},
-  {0x6865, 0xec9f85},
-  {0x6866, 0xeea3ab},
-  {0x6867, 0xeea3ad},
-  {0x6868, 0xebb6b0},
-  {0x6869, 0xed9eae},
-  {0x686a, 0xe99d84},
-  {0x686b, 0xeea3b8},
-  {0x686c, 0xe99d85},
-  {0x686d, 0xe99d86},
-  {0x686e, 0xe99d87},
-  {0x686f, 0xe99d88},
-  {0x6870, 0xe99d89},
-  {0x6871, 0xe99d8a},
-  {0x6872, 0xe99d8b},
-  {0x6873, 0xe99d8c},
-  {0x6874, 0xeea3b5},
-  {0x6875, 0xe99d8d},
-  {0x6876, 0xecb6b0},
-  {0x6877, 0xeea3b6},
-  {0x6878, 0xe99d8e},
-  {0x6879, 0xe99d8f},
-  {0x687a, 0xe99d90},
-  {0x687b, 0xe99d91},
-  {0x687c, 0xe99d92},
-  {0x687d, 0xe99d93},
-  {0x687e, 0xe99d94},
-  {0x687f, 0xe99d95},
-  {0x6880, 0xe99d96},
-  {0x6881, 0xec86ba},
-  {0x6882, 0xe99d97},
-  {0x6883, 0xeea3a8},
-  {0x6884, 0xe99d98},
-  {0x6885, 0xec8eb7},
-  {0x6886, 0xeb83b0},
-  {0x6887, 0xe99d99},
-  {0x6888, 0xe99d9a},
-  {0x6889, 0xe99d9b},
-  {0x688a, 0xe99d9c},
-  {0x688b, 0xe99d9d},
-  {0x688c, 0xe99d9e},
-  {0x688d, 0xe99d9f},
-  {0x688e, 0xe99da0},
-  {0x688f, 0xeea3b4},
-  {0x6890, 0xe99da1},
-  {0x6891, 0xe99da2},
-  {0x6892, 0xe99da3},
-  {0x6893, 0xeea3b7},
-  {0x6894, 0xe99da4},
-  {0x6895, 0xe99da5},
-  {0x6896, 0xe99da6},
-  {0x6897, 0xeba6a3},
-  {0x6898, 0xe99da7},
-  {0x6899, 0xe99da8},
-  {0x689a, 0xe99da9},
-  {0x689b, 0xe99daa},
-  {0x689c, 0xe99dab},
-  {0x689d, 0xe99dac},
-  {0x689e, 0xe99dad},
-  {0x689f, 0xe99dae},
-  {0x68a0, 0xe99daf},
-  {0x68a1, 0xe99db0},
-  {0x68a2, 0xeca792},
-  {0x68a3, 0xe99db1},
-  {0x68a4, 0xe99db2},
-  {0x68a5, 0xe99db3},
-  {0x68a6, 0xec8f8e},
-  {0x68a7, 0xecbba0},
-  {0x68a8, 0xec83a6},
-  {0x68a9, 0xe99db4},
-  {0x68aa, 0xe99db5},
-  {0x68ab, 0xe99db6},
-  {0x68ac, 0xe99db7},
-  {0x68ad, 0xecafb3},
-  {0x68ae, 0xe99db8},
-  {0x68af, 0xecb39d},
-  {0x68b0, 0xed82b5},
-  {0x68b1, 0xe99db9},
-  {0x68b2, 0xe99dba},
-  {0x68b3, 0xecaba1},
-  {0x68b4, 0xe99dbb},
-  {0x68b5, 0xeea3b3},
-  {0x68b6, 0xe99dbc},
-  {0x68b7, 0xe99dbd},
-  {0x68b8, 0xe99dbe},
-  {0x68b9, 0xe99e80},
-  {0x68ba, 0xe99e81},
-  {0x68bb, 0xe99e82},
-  {0x68bc, 0xe99e83},
-  {0x68bd, 0xe99e84},
-  {0x68be, 0xe99e85},
-  {0x68bf, 0xe99e86},
-  {0x68c0, 0xebb3ac},
-  {0x68c1, 0xe99e87},
-  {0x68c2, 0xeea3b9},
-  {0x68c3, 0xe99e88},
-  {0x68c4, 0xe99e89},
-  {0x68c5, 0xe99e8a},
-  {0x68c6, 0xe99e8b},
-  {0x68c7, 0xe99e8c},
-  {0x68c8, 0xe99e8d},
-  {0x68c9, 0xec8f9e},
-  {0x68ca, 0xe99e8e},
-  {0x68cb, 0xec9ba5},
-  {0x68cc, 0xe99e8f},
-  {0x68cd, 0xeba7b7},
-  {0x68ce, 0xe99e90},
-  {0x68cf, 0xe99e91},
-  {0x68d0, 0xe99e92},
-  {0x68d1, 0xe99e93},
-  {0x68d2, 0xeb83b4},
-  {0x68d3, 0xe99e94},
-  {0x68d4, 0xe99e95},
-  {0x68d5, 0xed9f98},
-  {0x68d6, 0xe99e96},
-  {0x68d7, 0xe99e97},
-  {0x68d8, 0xebb2ac},
-  {0x68d9, 0xe99e98},
-  {0x68da, 0xec97af},
-  {0x68db, 0xe99e99},
-  {0x68dc, 0xe99e9a},
-  {0x68dd, 0xe99e9b},
-  {0x68de, 0xe99e9c},
-  {0x68df, 0xe99e9d},
-  {0x68e0, 0xecb384},
-  {0x68e1, 0xe99e9e},
-  {0x68e2, 0xe99e9f},
-  {0x68e3, 0xeea6a6},
-  {0x68e4, 0xe99ea0},
-  {0x68e5, 0xe99ea1},
-  {0x68e6, 0xe99ea2},
-  {0x68e7, 0xe99ea3},
-  {0x68e8, 0xe99ea4},
-  {0x68e9, 0xe99ea5},
-  {0x68ea, 0xe99ea6},
-  {0x68eb, 0xe99ea7},
-  {0x68ec, 0xe99ea8},
-  {0x68ed, 0xe99ea9},
-  {0x68ee, 0xeca6ad},
-  {0x68ef, 0xe99eaa},
-  {0x68f0, 0xeea6a2},
-  {0x68f1, 0xec83a2},
-  {0x68f2, 0xe99eab},
-  {0x68f3, 0xe99eac},
-  {0x68f4, 0xe99ead},
-  {0x68f5, 0xebbf83},
-  {0x68f6, 0xe99eae},
-  {0x68f7, 0xe99eaf},
-  {0x68f8, 0xe99eb0},
-  {0x68f9, 0xeea3be},
-  {0x68fa, 0xeba797},
-  {0x68fb, 0xe99eb1},
-  {0x68fc, 0xeea3bb},
-  {0x68fd, 0xe99eb2},
-  {0x68fe, 0xe99eb3},
-  {0x68ff, 0xe99eb4},
-  {0x6900, 0xe99eb5},
-  {0x6901, 0xeea6a4},
-  {0x6902, 0xe99eb6},
-  {0x6903, 0xe99eb7},
-  {0x6904, 0xe99eb8},
-  {0x6905, 0xed8b8e},
-  {0x6906, 0xe99eb9},
-  {0x6907, 0xe99eba},
-  {0x6908, 0xe99ebb},
-  {0x6909, 0xe99ebc},
-  {0x690a, 0xe99ebd},
-  {0x690b, 0xeea6a3},
-  {0x690c, 0xe99ebe},
-  {0x690d, 0xed9ab2},
-  {0x690e, 0xed9eb5},
-  {0x690f, 0xe99ebf},
-  {0x6910, 0xeea6a7},
-  {0x6911, 0xe99f80},
-  {0x6912, 0xebb6b7},
-  {0x6913, 0xe99f81},
-  {0x6914, 0xe99f82},
-  {0x6915, 0xe99f83},
-  {0x6916, 0xe99f84},
-  {0x6917, 0xe99f85},
-  {0x6918, 0xe99f86},
-  {0x6919, 0xe99f87},
-  {0x691a, 0xe99f88},
-  {0x691b, 0xe99f89},
-  {0x691c, 0xe99f8a},
-  {0x691d, 0xe99f8b},
-  {0x691e, 0xe99f8c},
-  {0x691f, 0xeea3bc},
-  {0x6920, 0xeea3bd},
-  {0x6921, 0xe99f8d},
-  {0x6922, 0xe99f8e},
-  {0x6923, 0xe99f8f},
-  {0x6924, 0xeea6a1},
-  {0x6925, 0xe99f90},
-  {0x6926, 0xe99f91},
-  {0x6927, 0xe99f92},
-  {0x6928, 0xe99f93},
-  {0x6929, 0xe99f94},
-  {0x692a, 0xe99f95},
-  {0x692b, 0xe99f96},
-  {0x692c, 0xe99f97},
-  {0x692d, 0xecb796},
-  {0x692e, 0xe99f98},
-  {0x692f, 0xe99f99},
-  {0x6930, 0xed8aac},
-  {0x6931, 0xe99f9a},
-  {0x6932, 0xe99f9b},
-  {0x6933, 0xe99f9c},
-  {0x6934, 0xeea6b2},
-  {0x6935, 0xe99f9d},
-  {0x6936, 0xe99f9e},
-  {0x6937, 0xe99f9f},
-  {0x6938, 0xe99fa0},
-  {0x6939, 0xeea6a9},
-  {0x693a, 0xe99fa1},
-  {0x693b, 0xe99fa2},
-  {0x693c, 0xe99fa3},
-  {0x693d, 0xeb92aa},
-  {0x693e, 0xe99fa4},
-  {0x693f, 0xeb92bb},
-  {0x6940, 0xe99fa5},
-  {0x6941, 0xe99fa6},
-  {0x6942, 0xeea6ab},
-  {0x6943, 0xe99fa7},
-  {0x6944, 0xe99fa8},
-  {0x6945, 0xe99fa9},
-  {0x6946, 0xe99faa},
-  {0x6947, 0xe99fab},
-  {0x6948, 0xe99fac},
-  {0x6949, 0xe99fad},
-  {0x694a, 0xe99fae},
-  {0x694b, 0xe99faf},
-  {0x694c, 0xe99fb0},
-  {0x694d, 0xe99fb1},
-  {0x694e, 0xe99fb2},
-  {0x694f, 0xe99fb3},
-  {0x6950, 0xe99fb4},
-  {0x6951, 0xe99fb5},
-  {0x6952, 0xe99fb6},
-  {0x6953, 0xe99fb7},
-  {0x6954, 0xed82a8},
-  {0x6955, 0xe99fb8},
-  {0x6956, 0xe99fb9},
-  {0x6957, 0xeea6a5},
-  {0x6958, 0xe99fba},
-  {0x6959, 0xe99fbb},
-  {0x695a, 0xeb8fbe},
-  {0x695b, 0xe99fbc},
-  {0x695c, 0xe99fbd},
-  {0x695d, 0xeea6ac},
-  {0x695e, 0xec83a3},
-  {0x695f, 0xe99fbe},
-  {0x6960, 0xeea6aa},
-  {0x6961, 0xe9a180},
-  {0x6962, 0xe9a181},
-  {0x6963, 0xeea6b9},
-  {0x6964, 0xe9a182},
-  {0x6965, 0xe9a183},
-  {0x6966, 0xeea6b8},
-  {0x6967, 0xe9a184},
-  {0x6968, 0xe9a185},
-  {0x6969, 0xe9a186},
-  {0x696a, 0xe9a187},
-  {0x696b, 0xeea6ae},
-  {0x696c, 0xe9a188},
-  {0x696d, 0xe9a189},
-  {0x696e, 0xeea3ba},
-  {0x696f, 0xe9a18a},
-  {0x6970, 0xe9a18b},
-  {0x6971, 0xeea6a8},
-  {0x6972, 0xe9a18c},
-  {0x6973, 0xe9a18d},
-  {0x6974, 0xe9a18e},
-  {0x6975, 0xe9a18f},
-  {0x6976, 0xe9a190},
-  {0x6977, 0xebbeac},
-  {0x6978, 0xeea6b1},
-  {0x6979, 0xeea6ba},
-  {0x697a, 0xe9a191},
-  {0x697b, 0xe9a192},
-  {0x697c, 0xec8aa5},
-  {0x697d, 0xe9a193},
-  {0x697e, 0xe9a194},
-  {0x697f, 0xe9a195},
-  {0x6980, 0xeea6af},
-  {0x6981, 0xe9a196},
-  {0x6982, 0xeba385},
-  {0x6983, 0xe9a197},
-  {0x6984, 0xeea6ad},
-  {0x6985, 0xe9a198},
-  {0x6986, 0xed8f9c},
-  {0x6987, 0xeea6b4},
-  {0x6988, 0xeea6b5},
-  {0x6989, 0xeea6b7},
-  {0x698a, 0xe9a199},
-  {0x698b, 0xe9a19a},
-  {0x698c, 0xe9a19b},
-  {0x698d, 0xeea787},
-  {0x698e, 0xe9a19c},
-  {0x698f, 0xe9a19d},
-  {0x6990, 0xe9a19e},
-  {0x6991, 0xe9a19f},
-  {0x6992, 0xe9a1a0},
-  {0x6993, 0xe9a1a1},
-  {0x6994, 0xec8386},
-  {0x6995, 0xeea785},
-  {0x6996, 0xe9a1a2},
-  {0x6997, 0xe9a1a3},
-  {0x6998, 0xeea6b0},
-  {0x6999, 0xe9a1a4},
-  {0x699a, 0xe9a1a5},
-  {0x699b, 0xeea6bb},
-  {0x699c, 0xeb83b1},
-  {0x699d, 0xe9a1a6},
-  {0x699e, 0xe9a1a7},
-  {0x699f, 0xe9a1a8},
-  {0x69a0, 0xe9a1a9},
-  {0x69a1, 0xe9a1aa},
-  {0x69a2, 0xe9a1ab},
-  {0x69a3, 0xe9a1ac},
-  {0x69a4, 0xe9a1ad},
-  {0x69a5, 0xe9a1ae},
-  {0x69a6, 0xe9a1af},
-  {0x69a7, 0xeea6bc},
-  {0x69a8, 0xed96a5},
-  {0x69a9, 0xe9a1b0},
-  {0x69aa, 0xe9a1b1},
-  {0x69ab, 0xeea6be},
-  {0x69ac, 0xe9a1b2},
-  {0x69ad, 0xeea6bf},
-  {0x69ae, 0xe9a1b3},
-  {0x69af, 0xe9a1b4},
-  {0x69b0, 0xe9a1b5},
-  {0x69b1, 0xeea781},
-  {0x69b2, 0xe9a1b6},
-  {0x69b3, 0xe9a1b7},
-  {0x69b4, 0xec87b1},
-  {0x69b5, 0xe9a1b8},
-  {0x69b6, 0xe9a1b9},
-  {0x69b7, 0xeca2b6},
-  {0x69b8, 0xe9a1ba},
-  {0x69b9, 0xe9a1bb},
-  {0x69ba, 0xe9a1bc},
-  {0x69bb, 0xeea6bd},
-  {0x69bc, 0xe9a1bd},
-  {0x69bd, 0xe9a1be},
-  {0x69be, 0xe9a280},
-  {0x69bf, 0xe9a281},
-  {0x69c0, 0xe9a282},
-  {0x69c1, 0xeea782},
-  {0x69c2, 0xe9a283},
-  {0x69c3, 0xe9a284},
-  {0x69c4, 0xe9a285},
-  {0x69c5, 0xe9a286},
-  {0x69c6, 0xe9a287},
-  {0x69c7, 0xe9a288},
-  {0x69c8, 0xe9a289},
-  {0x69c9, 0xe9a28a},
-  {0x69ca, 0xeea783},
-  {0x69cb, 0xe9a28b},
-  {0x69cc, 0xeea6b3},
-  {0x69cd, 0xe9a28c},
-  {0x69ce, 0xeea6b6},
-  {0x69cf, 0xe9a28d},
-  {0x69d0, 0xebaeb1},
-  {0x69d1, 0xe9a28e},
-  {0x69d2, 0xe9a28f},
-  {0x69d3, 0xe9a290},
-  {0x69d4, 0xeea780},
-  {0x69d5, 0xe9a291},
-  {0x69d6, 0xe9a292},
-  {0x69d7, 0xe9a293},
-  {0x69d8, 0xe9a294},
-  {0x69d9, 0xe9a295},
-  {0x69da, 0xe9a296},
-  {0x69db, 0xebb3b7},
-  {0x69dc, 0xe9a297},
-  {0x69dd, 0xe9a298},
-  {0x69de, 0xe9a299},
-  {0x69df, 0xeea784},
-  {0x69e0, 0xeea786},
-  {0x69e1, 0xe9a29a},
-  {0x69e2, 0xe9a29b},
-  {0x69e3, 0xe9a29c},
-  {0x69e4, 0xe9a29d},
-  {0x69e5, 0xe9a29e},
-  {0x69e6, 0xe9a29f},
-  {0x69e7, 0xe9a2a0},
-  {0x69e8, 0xe9a2a1},
-  {0x69e9, 0xe9a2a2},
-  {0x69ea, 0xe9a2a3},
-  {0x69eb, 0xe9a2a4},
-  {0x69ec, 0xe9a2a5},
-  {0x69ed, 0xeea78a},
-  {0x69ee, 0xe9a2a6},
-  {0x69ef, 0xe9a2a7},
-  {0x69f0, 0xe9a2a8},
-  {0x69f1, 0xe9a2a9},
-  {0x69f2, 0xeea78e},
-  {0x69f3, 0xe9a2aa},
-  {0x69f4, 0xe9a2ab},
-  {0x69f5, 0xe9a2ac},
-  {0x69f6, 0xe9a2ad},
-  {0x69f7, 0xe9a2ae},
-  {0x69f8, 0xe9a2af},
-  {0x69f9, 0xe9a2b0},
-  {0x69fa, 0xe9a2b1},
-  {0x69fb, 0xe9a2b2},
-  {0x69fc, 0xe9a2b3},
-  {0x69fd, 0xeb8b9b},
-  {0x69fe, 0xe9a2b4},
-  {0x69ff, 0xeea788},
-  {0x6a00, 0xe9a2b5},
-  {0x6a01, 0xe9a2b6},
-  {0x6a02, 0xe9a2b7},
-  {0x6a03, 0xe9a2b8},
-  {0x6a04, 0xe9a2b9},
-  {0x6a05, 0xe9a2ba},
-  {0x6a06, 0xe9a2bb},
-  {0x6a07, 0xe9a2bc},
-  {0x6a08, 0xe9a2bd},
-  {0x6a09, 0xe9a2be},
-  {0x6a0a, 0xeb9eae},
-  {0x6a0b, 0xe9a2bf},
-  {0x6a0c, 0xe9a380},
-  {0x6a0d, 0xe9a381},
-  {0x6a0e, 0xe9a382},
-  {0x6a0f, 0xe9a383},
-  {0x6a10, 0xe9a384},
-  {0x6a11, 0xe9a385},
-  {0x6a12, 0xe9a386},
-  {0x6a13, 0xe9a387},
-  {0x6a14, 0xe9a388},
-  {0x6a15, 0xe9a389},
-  {0x6a16, 0xe9a38a},
-  {0x6a17, 0xeea78b},
-  {0x6a18, 0xeea78c},
-  {0x6a19, 0xe9a38b},
-  {0x6a1a, 0xe9a38c},
-  {0x6a1b, 0xe9a38d},
-  {0x6a1c, 0xe9a38e},
-  {0x6a1d, 0xe9a38f},
-  {0x6a1e, 0xe9a390},
-  {0x6a1f, 0xed9781},
-  {0x6a20, 0xe9a391},
-  {0x6a21, 0xec92a3},
-  {0x6a22, 0xe9a392},
-  {0x6a23, 0xe9a393},
-  {0x6a24, 0xe9a394},
-  {0x6a25, 0xe9a395},
-  {0x6a26, 0xe9a396},
-  {0x6a27, 0xe9a397},
-  {0x6a28, 0xeea798},
-  {0x6a29, 0xe9a398},
-  {0x6a2a, 0xebaba1},
-  {0x6a2b, 0xe9a399},
-  {0x6a2c, 0xe9a39a},
-  {0x6a2d, 0xe9a39b},
-  {0x6a2e, 0xe9a39c},
-  {0x6a2f, 0xeea789},
-  {0x6a30, 0xe9a39d},
-  {0x6a31, 0xed8ea3},
-  {0x6a32, 0xe9a39e},
-  {0x6a33, 0xe9a39f},
-  {0x6a34, 0xe9a3a0},
-  {0x6a35, 0xeea794},
-  {0x6a36, 0xe9a3a1},
-  {0x6a37, 0xe9a3a2},
-  {0x6a38, 0xe9a3a3},
-  {0x6a39, 0xe9a3a4},
-  {0x6a3a, 0xe9a3a5},
-  {0x6a3b, 0xe9a3a6},
-  {0x6a3c, 0xe9a3a7},
-  {0x6a3d, 0xeea797},
-  {0x6a3e, 0xeea790},
-  {0x6a3f, 0xe9a3a8},
-  {0x6a40, 0xe9a3a9},
-  {0x6a41, 0xe9a3aa},
-  {0x6a42, 0xe9a3ab},
-  {0x6a43, 0xe9a3ac},
-  {0x6a44, 0xeea78f},
-  {0x6a45, 0xe9a3ad},
-  {0x6a46, 0xe9a3ae},
-  {0x6a47, 0xec9f81},
-  {0x6a48, 0xe9a3af},
-  {0x6a49, 0xe9a3b0},
-  {0x6a4a, 0xe9a3b1},
-  {0x6a4b, 0xe9a3b2},
-  {0x6a4c, 0xe9a3b3},
-  {0x6a4d, 0xe9a3b4},
-  {0x6a4e, 0xe9a3b5},
-  {0x6a4f, 0xe9a3b6},
-  {0x6a50, 0xeea792},
-  {0x6a51, 0xe9a3b7},
-  {0x6a52, 0xe9a3b8},
-  {0x6a53, 0xe9a3b9},
-  {0x6a54, 0xe9a3ba},
-  {0x6a55, 0xe9a3bb},
-  {0x6a56, 0xe9a3bc},
-  {0x6a57, 0xe9a3bd},
-  {0x6a58, 0xeea799},
-  {0x6a59, 0xeb8f88},
-  {0x6a5a, 0xe9a3be},
-  {0x6a5b, 0xeea793},
-  {0x6a5c, 0xe9a580},
-  {0x6a5d, 0xe9a581},
-  {0x6a5e, 0xe9a582},
-  {0x6a5f, 0xe9a583},
-  {0x6a60, 0xe9a584},
-  {0x6a61, 0xecbfb0},
-  {0x6a62, 0xe9a585},
-  {0x6a63, 0xe9a586},
-  {0x6a64, 0xe9a587},
-  {0x6a65, 0xeea78d},
-  {0x6a66, 0xe9a588},
-  {0x6a67, 0xe9a589},
-  {0x6a68, 0xe9a58a},
-  {0x6a69, 0xe9a58b},
-  {0x6a6a, 0xe9a58c},
-  {0x6a6b, 0xe9a58d},
-  {0x6a6c, 0xe9a58e},
-  {0x6a6d, 0xe9a58f},
-  {0x6a6e, 0xe9a590},
-  {0x6a6f, 0xe9a591},
-  {0x6a70, 0xe9a592},
-  {0x6a71, 0xeb8fb7},
-  {0x6a72, 0xe9a593},
-  {0x6a73, 0xe9a594},
-  {0x6a74, 0xe9a595},
-  {0x6a75, 0xe9a596},
-  {0x6a76, 0xe9a597},
-  {0x6a77, 0xe9a598},
-  {0x6a78, 0xe9a599},
-  {0x6a79, 0xeea796},
-  {0x6a7a, 0xe9a59a},
-  {0x6a7b, 0xe9a59b},
-  {0x6a7c, 0xeea79a},
-  {0x6a7d, 0xe9a59c},
-  {0x6a7e, 0xe9a59d},
-  {0x6a7f, 0xe9a59e},
-  {0x6a80, 0xecb2b4},
-  {0x6a81, 0xe9a59f},
-  {0x6a82, 0xe9a5a0},
-  {0x6a83, 0xe9a5a1},
-  {0x6a84, 0xecbead},
-  {0x6a85, 0xe9a5a2},
-  {0x6a86, 0xe9a5a3},
-  {0x6a87, 0xe9a5a4},
-  {0x6a88, 0xe9a5a5},
-  {0x6a89, 0xe9a5a6},
-  {0x6a8a, 0xe9a5a7},
-  {0x6a8b, 0xe9a5a8},
-  {0x6a8c, 0xe9a5a9},
-  {0x6a8d, 0xe9a5aa},
-  {0x6a8e, 0xeea795},
-  {0x6a8f, 0xe9a5ab},
-  {0x6a90, 0xeea79c},
-  {0x6a91, 0xeea79b},
-  {0x6a92, 0xe9a5ac},
-  {0x6a93, 0xe9a5ad},
-  {0x6a94, 0xe9a5ae},
-  {0x6a95, 0xe9a5af},
-  {0x6a96, 0xe9a5b0},
-  {0x6a97, 0xeea79e},
-  {0x6a98, 0xe9a5b1},
-  {0x6a99, 0xe9a5b2},
-  {0x6a9a, 0xe9a5b3},
-  {0x6a9b, 0xe9a5b4},
-  {0x6a9c, 0xe9a5b5},
-  {0x6a9d, 0xe9a5b6},
-  {0x6a9e, 0xe9a5b7},
-  {0x6a9f, 0xe9a5b8},
-  {0x6aa0, 0xeea791},
-  {0x6aa1, 0xe9a5b9},
-  {0x6aa2, 0xe9a5ba},
-  {0x6aa3, 0xe9a5bb},
-  {0x6aa4, 0xe9a5bc},
-  {0x6aa5, 0xe9a5bd},
-  {0x6aa6, 0xe9a5be},
-  {0x6aa7, 0xe9a680},
-  {0x6aa8, 0xe9a681},
-  {0x6aa9, 0xeea79d},
-  {0x6aaa, 0xe9a682},
-  {0x6aab, 0xeea79f},
-  {0x6aac, 0xec8f8a},
-  {0x6aad, 0xe9a683},
-  {0x6aae, 0xe9a684},
-  {0x6aaf, 0xe9a685},
-  {0x6ab0, 0xe9a686},
-  {0x6ab1, 0xe9a687},
-  {0x6ab2, 0xe9a688},
-  {0x6ab3, 0xe9a689},
-  {0x6ab4, 0xe9a68a},
-  {0x6ab5, 0xe9a68b},
-  {0x6ab6, 0xe9a68c},
-  {0x6ab7, 0xe9a68d},
-  {0x6ab8, 0xe9a68e},
-  {0x6ab9, 0xe9a68f},
-  {0x6aba, 0xe9a690},
-  {0x6abb, 0xe9a691},
-  {0x6abc, 0xe9a692},
-  {0x6abd, 0xe9a693},
-  {0x6abe, 0xe9a694},
-  {0x6abf, 0xe9a695},
-  {0x6ac0, 0xe9a696},
-  {0x6ac1, 0xe9a697},
-  {0x6ac2, 0xe9a698},
-  {0x6ac3, 0xe9a699},
-  {0x6ac4, 0xe9a69a},
-  {0x6ac5, 0xe9a69b},
-  {0x6ac6, 0xe9a69c},
-  {0x6ac7, 0xe9a69d},
-  {0x6ac8, 0xe9a69e},
-  {0x6ac9, 0xe9a69f},
-  {0x6aca, 0xe9a6a0},
-  {0x6acb, 0xe9a6a1},
-  {0x6acc, 0xe9a6a2},
-  {0x6acd, 0xe9a6a3},
-  {0x6ace, 0xe9a6a4},
-  {0x6acf, 0xe9a6a5},
-  {0x6ad0, 0xe9a6a6},
-  {0x6ad1, 0xe9a6a7},
-  {0x6ad2, 0xe9a6a8},
-  {0x6ad3, 0xe9a6a9},
-  {0x6ad4, 0xe9a6aa},
-  {0x6ad5, 0xe9a6ab},
-  {0x6ad6, 0xe9a6ac},
-  {0x6ad7, 0xe9a6ad},
-  {0x6ad8, 0xe9a6ae},
-  {0x6ad9, 0xe9a6af},
-  {0x6ada, 0xe9a6b0},
-  {0x6adb, 0xe9a6b1},
-  {0x6adc, 0xe9a6b2},
-  {0x6add, 0xe9a6b3},
-  {0x6ade, 0xe9a6b4},
-  {0x6adf, 0xe9a6b5},
-  {0x6ae0, 0xe9a6b6},
-  {0x6ae1, 0xe9a6b7},
-  {0x6ae2, 0xe9a6b8},
-  {0x6ae3, 0xe9a6b9},
-  {0x6ae4, 0xe9a6ba},
-  {0x6ae5, 0xe9a6bb},
-  {0x6ae6, 0xe9a6bc},
-  {0x6ae7, 0xe9a6bd},
-  {0x6ae8, 0xe9a6be},
-  {0x6ae9, 0xe9a6bf},
-  {0x6aea, 0xe9a780},
-  {0x6aeb, 0xe9a781},
-  {0x6aec, 0xe9a782},
-  {0x6aed, 0xe9a783},
-  {0x6aee, 0xe9a784},
-  {0x6aef, 0xe9a785},
-  {0x6af0, 0xe9a786},
-  {0x6af1, 0xe9a787},
-  {0x6af2, 0xe9a788},
-  {0x6af3, 0xe9a789},
-  {0x6af4, 0xe9a78a},
-  {0x6af5, 0xe9a78b},
-  {0x6af6, 0xe9a78c},
-  {0x6af7, 0xe9a78d},
-  {0x6af8, 0xe9a78e},
-  {0x6af9, 0xe9a78f},
-  {0x6afa, 0xe9a790},
-  {0x6afb, 0xe9a791},
-  {0x6afc, 0xe9a792},
-  {0x6afd, 0xe9a793},
-  {0x6afe, 0xe9a794},
-  {0x6aff, 0xe9a795},
-  {0x6b00, 0xe9a796},
-  {0x6b01, 0xe9a797},
-  {0x6b02, 0xe9a798},
-  {0x6b03, 0xe9a799},
-  {0x6b04, 0xe9a79a},
-  {0x6b05, 0xe9a79b},
-  {0x6b06, 0xe9a79c},
-  {0x6b07, 0xe9a79d},
-  {0x6b08, 0xe9a79e},
-  {0x6b09, 0xe9a79f},
-  {0x6b0a, 0xe9a7a0},
-  {0x6b0b, 0xe9a7a1},
-  {0x6b0c, 0xe9a7a2},
-  {0x6b0d, 0xe9a7a3},
-  {0x6b0e, 0xe9a7a4},
-  {0x6b0f, 0xe9a7a5},
-  {0x6b10, 0xe9a7a6},
-  {0x6b11, 0xe9a7a7},
-  {0x6b12, 0xe9a7a8},
-  {0x6b13, 0xe9a7a9},
-  {0x6b14, 0xe9a7aa},
-  {0x6b15, 0xe9a7ab},
-  {0x6b16, 0xe9a7ac},
-  {0x6b17, 0xe9a7ad},
-  {0x6b18, 0xe9a7ae},
-  {0x6b19, 0xe9a7af},
-  {0x6b1a, 0xe9a7b0},
-  {0x6b1b, 0xe9a7b1},
-  {0x6b1c, 0xe9a7b2},
-  {0x6b1d, 0xe9a7b3},
-  {0x6b1e, 0xe9a7b4},
-  {0x6b1f, 0xe9a7b5},
-  {0x6b20, 0xec9eb7},
-  {0x6b21, 0xeb938e},
-  {0x6b22, 0xebaeb6},
-  {0x6b23, 0xed8380},
-  {0x6b24, 0xeeb2a3},
-  {0x6b25, 0xe9a7b6},
-  {0x6b26, 0xe9a7b7},
-  {0x6b27, 0xec96b7},
-  {0x6b28, 0xe9a7b8},
-  {0x6b29, 0xe9a7b9},
-  {0x6b2a, 0xe9a7ba},
-  {0x6b2b, 0xe9a7bb},
-  {0x6b2c, 0xe9a7bc},
-  {0x6b2d, 0xe9a7bd},
-  {0x6b2e, 0xe9a7be},
-  {0x6b2f, 0xe9a980},
-  {0x6b30, 0xe9a981},
-  {0x6b31, 0xe9a982},
-  {0x6b32, 0xed8fbb},
-  {0x6b33, 0xe9a983},
-  {0x6b34, 0xe9a984},
-  {0x6b35, 0xe9a985},
-  {0x6b36, 0xe9a986},
-  {0x6b37, 0xeeb2a4},
-  {0x6b38, 0xe9a987},
-  {0x6b39, 0xeeb2a5},
-  {0x6b3a, 0xec9b9b},
-  {0x6b3b, 0xe9a988},
-  {0x6b3c, 0xe9a989},
-  {0x6b3d, 0xe9a98a},
-  {0x6b3e, 0xebbfae},
-  {0x6b3f, 0xe9a98b},
-  {0x6b40, 0xe9a98c},
-  {0x6b41, 0xe9a98d},
-  {0x6b42, 0xe9a98e},
-  {0x6b43, 0xeeb2a6},
-  {0x6b44, 0xe9a98f},
-  {0x6b45, 0xe9a990},
-  {0x6b46, 0xeeb2a7},
-  {0x6b47, 0xed82aa},
-  {0x6b48, 0xe9a991},
-  {0x6b49, 0xec9eb8},
-  {0x6b4a, 0xe9a992},
-  {0x6b4b, 0xe9a993},
-  {0x6b4c, 0xeba3a8},
-  {0x6b4d, 0xe9a994},
-  {0x6b4e, 0xe9a995},
-  {0x6b4f, 0xe9a996},
-  {0x6b50, 0xe9a997},
-  {0x6b51, 0xe9a998},
-  {0x6b52, 0xe9a999},
-  {0x6b53, 0xe9a99a},
-  {0x6b54, 0xe9a99b},
-  {0x6b55, 0xe9a99c},
-  {0x6b56, 0xe9a99d},
-  {0x6b57, 0xe9a99e},
-  {0x6b58, 0xe9a99f},
-  {0x6b59, 0xeeb2a8},
-  {0x6b5a, 0xe9a9a0},
-  {0x6b5b, 0xe9a9a1},
-  {0x6b5c, 0xe9a9a2},
-  {0x6b5d, 0xe9a9a3},
-  {0x6b5e, 0xe9a9a4},
-  {0x6b5f, 0xe9a9a5},
-  {0x6b60, 0xe9a9a6},
-  {0x6b61, 0xe9a9a7},
-  {0x6b62, 0xed9ab9},
-  {0x6b63, 0xed97bd},
-  {0x6b64, 0xeb938b},
-  {0x6b65, 0xeb8abd},
-  {0x6b66, 0xecbba4},
-  {0x6b67, 0xec9ba7},
-  {0x6b68, 0xe9a9a8},
-  {0x6b69, 0xe9a9a9},
-  {0x6b6a, 0xecb7a1},
-  {0x6b6b, 0xe9a9aa},
-  {0x6b6c, 0xe9a9ab},
-  {0x6b6d, 0xe9a9ac},
-  {0x6b6e, 0xe9a9ad},
-  {0x6b6f, 0xe9a9ae},
-  {0x6b70, 0xe9a9af},
-  {0x6b71, 0xe9a9b0},
-  {0x6b72, 0xe9a9b1},
-  {0x6b73, 0xe9a9b2},
-  {0x6b74, 0xe9a9b3},
-  {0x6b75, 0xe9a9b4},
-  {0x6b76, 0xe9a9b5},
-  {0x6b77, 0xe9a9b6},
-  {0x6b78, 0xe9a9b7},
-  {0x6b79, 0xeb93b5},
-  {0x6b7a, 0xe9a9b8},
-  {0x6b7b, 0xecaf80},
-  {0x6b7c, 0xebb39f},
-  {0x6b7d, 0xe9a9b9},
-  {0x6b7e, 0xe9a9ba},
-  {0x6b7f, 0xe9a9bb},
-  {0x6b80, 0xe9a9bc},
-  {0x6b81, 0xeea7a2},
-  {0x6b82, 0xeea7a3},
-  {0x6b83, 0xed87aa},
-  {0x6b84, 0xeea7a5},
-  {0x6b85, 0xe9a9bd},
-  {0x6b86, 0xeb93b9},
-  {0x6b87, 0xeea7a4},
-  {0x6b88, 0xe9a9be},
-  {0x6b89, 0xed86b3},
-  {0x6b8a, 0xecaba2},
-  {0x6b8b, 0xeb8b90},
-  {0x6b8c, 0xe9aa80},
-  {0x6b8d, 0xeea7a8},
-  {0x6b8e, 0xe9aa81},
-  {0x6b8f, 0xe9aa82},
-  {0x6b90, 0xe9aa83},
-  {0x6b91, 0xe9aa84},
-  {0x6b92, 0xeea7a6},
-  {0x6b93, 0xeea7a7},
-  {0x6b94, 0xe9aa85},
-  {0x6b95, 0xe9aa86},
-  {0x6b96, 0xed9ab3},
-  {0x6b97, 0xe9aa87},
-  {0x6b98, 0xe9aa88},
-  {0x6b99, 0xe9aa89},
-  {0x6b9a, 0xeea7a9},
-  {0x6b9b, 0xeea7aa},
-  {0x6b9c, 0xe9aa8a},
-  {0x6b9d, 0xe9aa8b},
-  {0x6b9e, 0xe9aa8c},
-  {0x6b9f, 0xe9aa8d},
-  {0x6ba0, 0xe9aa8e},
-  {0x6ba1, 0xeea7ab},
-  {0x6ba2, 0xe9aa8f},
-  {0x6ba3, 0xe9aa90},
-  {0x6ba4, 0xe9aa91},
-  {0x6ba5, 0xe9aa92},
-  {0x6ba6, 0xe9aa93},
-  {0x6ba7, 0xe9aa94},
-  {0x6ba8, 0xe9aa95},
-  {0x6ba9, 0xe9aa96},
-  {0x6baa, 0xeea7ac},
-  {0x6bab, 0xe9aa97},
-  {0x6bac, 0xe9aa98},
-  {0x6bad, 0xe9aa99},
-  {0x6bae, 0xe9aa9a},
-  {0x6baf, 0xe9aa9b},
-  {0x6bb0, 0xe9aa9c},
-  {0x6bb1, 0xe9aa9d},
-  {0x6bb2, 0xe9aa9e},
-  {0x6bb3, 0xeeb2af},
-  {0x6bb4, 0xec96b9},
-  {0x6bb5, 0xeb9b8e},
-  {0x6bb6, 0xe9aa9f},
-  {0x6bb7, 0xed8bb3},
-  {0x6bb8, 0xe9aaa0},
-  {0x6bb9, 0xe9aaa1},
-  {0x6bba, 0xe9aaa2},
-  {0x6bbb, 0xe9aaa3},
-  {0x6bbc, 0xe9aaa4},
-  {0x6bbd, 0xe9aaa5},
-  {0x6bbe, 0xe9aaa6},
-  {0x6bbf, 0xeb97ae},
-  {0x6bc0, 0xe9aaa7},
-  {0x6bc1, 0xebaf99},
-  {0x6bc2, 0xeeb2b1},
-  {0x6bc3, 0xe9aaa8},
-  {0x6bc4, 0xe9aaa9},
-  {0x6bc5, 0xed8ba3},
-  {0x6bc6, 0xe9aaaa},
-  {0x6bc7, 0xe9aaab},
-  {0x6bc8, 0xe9aaac},
-  {0x6bc9, 0xe9aaad},
-  {0x6bca, 0xe9aaae},
-  {0x6bcb, 0xecbba3},
-  {0x6bcc, 0xe9aaaf},
-  {0x6bcd, 0xec92b8},
-  {0x6bce, 0xe9aab0},
-  {0x6bcf, 0xec8ebf},
-  {0x6bd0, 0xe9aab1},
-  {0x6bd1, 0xe9aab2},
-  {0x6bd2, 0xeb9abe},
-  {0x6bd3, 0xeda2b9},
-  {0x6bd4, 0xeb8788},
-  {0x6bd5, 0xeb878f},
-  {0x6bd6, 0xeb8791},
-  {0x6bd7, 0xec97be},
-  {0x6bd8, 0xe9aab3},
-  {0x6bd9, 0xeb8790},
-  {0x6bda, 0xe9aab4},
-  {0x6bdb, 0xec8eab},
-  {0x6bdc, 0xe9aab5},
-  {0x6bdd, 0xe9aab6},
-  {0x6bde, 0xe9aab7},
-  {0x6bdf, 0xe9aab8},
-  {0x6be0, 0xe9aab9},
-  {0x6be1, 0xed96b1},
-  {0x6be2, 0xe9aaba},
-  {0x6be3, 0xe9aabb},
-  {0x6be4, 0xe9aabc},
-  {0x6be5, 0xe9aabd},
-  {0x6be6, 0xe9aabe},
-  {0x6be7, 0xe9aabf},
-  {0x6be8, 0xe9ab80},
-  {0x6be9, 0xe9ab81},
-  {0x6bea, 0xeeaea4},
-  {0x6beb, 0xebab81},
-  {0x6bec, 0xe9ab82},
-  {0x6bed, 0xe9ab83},
-  {0x6bee, 0xe9ab84},
-  {0x6bef, 0xecb2ba},
-  {0x6bf0, 0xe9ab85},
-  {0x6bf1, 0xe9ab86},
-  {0x6bf2, 0xe9ab87},
-  {0x6bf3, 0xeeaea5},
-  {0x6bf4, 0xe9ab88},
-  {0x6bf5, 0xeeaea7},
-  {0x6bf6, 0xe9ab89},
-  {0x6bf7, 0xe9ab8a},
-  {0x6bf8, 0xe9ab8b},
-  {0x6bf9, 0xeeaea8},
-  {0x6bfa, 0xe9ab8c},
-  {0x6bfb, 0xe9ab8d},
-  {0x6bfc, 0xe9ab8e},
-  {0x6bfd, 0xeeaea6},
-  {0x6bfe, 0xe9ab8f},
-  {0x6bff, 0xe9ab90},
-  {0x6c00, 0xe9ab91},
-  {0x6c01, 0xe9ab92},
-  {0x6c02, 0xe9ab93},
-  {0x6c03, 0xe9ab94},
-  {0x6c04, 0xe9ab95},
-  {0x6c05, 0xeeaea9},
-  {0x6c06, 0xeeaeab},
-  {0x6c07, 0xeeaeaa},
-  {0x6c08, 0xe9ab96},
-  {0x6c09, 0xe9ab97},
-  {0x6c0a, 0xe9ab98},
-  {0x6c0b, 0xe9ab99},
-  {0x6c0c, 0xe9ab9a},
-  {0x6c0d, 0xeeaeac},
-  {0x6c0e, 0xe9ab9b},
-  {0x6c0f, 0xecab8f},
-  {0x6c10, 0xeda2b5},
-  {0x6c11, 0xec8fb1},
-  {0x6c12, 0xe9ab9c},
-  {0x6c13, 0xec8ea5},
-  {0x6c14, 0xec9bb8},
-  {0x6c15, 0xeeaead},
-  {0x6c16, 0xec938a},
-  {0x6c17, 0xe9ab9d},
-  {0x6c18, 0xeeaeae},
-  {0x6c19, 0xeeaeaf},
-  {0x6c1a, 0xeeaeb0},
-  {0x6c1b, 0xeb9f95},
-  {0x6c1c, 0xe9ab9e},
-  {0x6c1d, 0xe9ab9f},
-  {0x6c1e, 0xe9aba0},
-  {0x6c1f, 0xeb9fba},
-  {0x6c20, 0xe9aba1},
-  {0x6c21, 0xeeaeb1},
-  {0x6c22, 0xec9fa2},
-  {0x6c23, 0xe9aba2},
-  {0x6c24, 0xeeaeb3},
-  {0x6c25, 0xe9aba3},
-  {0x6c26, 0xebaaa4},
-  {0x6c27, 0xed87b5},
-  {0x6c28, 0xeb82b1},
-  {0x6c29, 0xeeaeb2},
-  {0x6c2a, 0xeeaeb4},
-  {0x6c2b, 0xe9aba4},
-  {0x6c2c, 0xe9aba5},
-  {0x6c2d, 0xe9aba6},
-  {0x6c2e, 0xeb96aa},
-  {0x6c2f, 0xec8b88},
-  {0x6c30, 0xec9fa8},
-  {0x6c31, 0xe9aba7},
-  {0x6c32, 0xeeaeb5},
-  {0x6c33, 0xe9aba8},
-  {0x6c34, 0xecaeae},
-  {0x6c35, 0xee8f9f},
-  {0x6c36, 0xe9aba9},
-  {0x6c37, 0xe9abaa},
-  {0x6c38, 0xed8f80},
-  {0x6c39, 0xe9abab},
-  {0x6c3a, 0xe9abac},
-  {0x6c3b, 0xe9abad},
-  {0x6c3c, 0xe9abae},
-  {0x6c3d, 0xeda79b},
-  {0x6c3e, 0xe9abaf},
-  {0x6c3f, 0xe9abb0},
-  {0x6c40, 0xecb6a1},
-  {0x6c41, 0xed9aad},
-  {0x6c42, 0xec9fb3},
-  {0x6c43, 0xe9abb1},
-  {0x6c44, 0xe9abb2},
-  {0x6c45, 0xe9abb3},
-  {0x6c46, 0xeda7a0},
-  {0x6c47, 0xebafa3},
-  {0x6c48, 0xe9abb4},
-  {0x6c49, 0xebaaba},
-  {0x6c4a, 0xee8fa2},
-  {0x6c4b, 0xe9abb5},
-  {0x6c4c, 0xe9abb6},
-  {0x6c4d, 0xe9abb7},
-  {0x6c4e, 0xe9abb8},
-  {0x6c4f, 0xe9abb9},
-  {0x6c50, 0xecbeab},
-  {0x6c51, 0xe9abba},
-  {0x6c52, 0xe9abbb},
-  {0x6c53, 0xe9abbc},
-  {0x6c54, 0xee8fa0},
-  {0x6c55, 0xeca787},
-  {0x6c56, 0xe9abbd},
-  {0x6c57, 0xebaab9},
-  {0x6c58, 0xe9abbe},
-  {0x6c59, 0xe9ad80},
-  {0x6c5a, 0xe9ad81},
-  {0x6c5b, 0xed86b4},
-  {0x6c5c, 0xee8fa1},
-  {0x6c5d, 0xeca3aa},
-  {0x6c5e, 0xeba6af},
-  {0x6c5f, 0xebb6ad},
-  {0x6c60, 0xeb8f98},
-  {0x6c61, 0xecbb9b},
-  {0x6c62, 0xe9ad82},
-  {0x6c63, 0xe9ad83},
-  {0x6c64, 0xecb380},
-  {0x6c65, 0xe9ad84},
-  {0x6c66, 0xe9ad85},
-  {0x6c67, 0xe9ad86},
-  {0x6c68, 0xee8fa8},
-  {0x6c69, 0xee8fa9},
-  {0x6c6a, 0xecb7b4},
-  {0x6c6b, 0xe9ad87},
-  {0x6c6c, 0xe9ad88},
-  {0x6c6d, 0xe9ad89},
-  {0x6c6e, 0xe9ad8a},
-  {0x6c6f, 0xe9ad8b},
-  {0x6c70, 0xecb2ad},
-  {0x6c71, 0xe9ad8c},
-  {0x6c72, 0xebb2b3},
-  {0x6c73, 0xe9ad8d},
-  {0x6c74, 0xee8faa},
-  {0x6c75, 0xe9ad8e},
-  {0x6c76, 0xee8fab},
-  {0x6c77, 0xe9ad8f},
-  {0x6c78, 0xe9ad90},
-  {0x6c79, 0xed839a},
-  {0x6c7a, 0xe9ad91},
-  {0x6c7b, 0xe9ad92},
-  {0x6c7c, 0xe9ad93},
-  {0x6c7d, 0xec9bbb},
-  {0x6c7e, 0xeb9f9a},
-  {0x6c7f, 0xe9ad94},
-  {0x6c80, 0xe9ad95},
-  {0x6c81, 0xec9f9f},
-  {0x6c82, 0xed8b8a},
-  {0x6c83, 0xecbb96},
-  {0x6c84, 0xe9ad96},
-  {0x6c85, 0xee8fa4},
-  {0x6c86, 0xee8fac},
-  {0x6c87, 0xe9ad97},
-  {0x6c88, 0xeca7b2},
-  {0x6c89, 0xeb8f81},
-  {0x6c8a, 0xe9ad98},
-  {0x6c8b, 0xe9ad99},
-  {0x6c8c, 0xee8fa7},
-  {0x6c8d, 0xe9ad9a},
-  {0x6c8e, 0xe9ad9b},
-  {0x6c8f, 0xec9ba3},
-  {0x6c90, 0xee8fa5},
-  {0x6c91, 0xe9ad9c},
-  {0x6c92, 0xe9ad9d},
-  {0x6c93, 0xeeb6b3},
-  {0x6c94, 0xee8fa6},
-  {0x6c95, 0xe9ad9e},
-  {0x6c96, 0xe9ad9f},
-  {0x6c97, 0xe9ada0},
-  {0x6c98, 0xe9ada1},
-  {0x6c99, 0xeca6b3},
-  {0x6c9a, 0xe9ada2},
-  {0x6c9b, 0xec97a6},
-  {0x6c9c, 0xe9ada3},
-  {0x6c9d, 0xe9ada4},
-  {0x6c9e, 0xe9ada5},
-  {0x6c9f, 0xeba6b5},
-  {0x6ca0, 0xe9ada6},
-  {0x6ca1, 0xec8ebb},
-  {0x6ca2, 0xe9ada7},
-  {0x6ca3, 0xee8fa3},
-  {0x6ca4, 0xec96bd},
-  {0x6ca5, 0xec86a4},
-  {0x6ca6, 0xec8b99},
-  {0x6ca7, 0xeb8b97},
-  {0x6ca8, 0xe9ada8},
-  {0x6ca9, 0xee8fad},
-  {0x6caa, 0xebaea6},
-  {0x6cab, 0xec92ad},
-  {0x6cac, 0xe9ada9},
-  {0x6cad, 0xee8fb0},
-  {0x6cae, 0xebbb9a},
-  {0x6caf, 0xe9adaa},
-  {0x6cb0, 0xe9adab},
-  {0x6cb1, 0xee8fbb},
-  {0x6cb2, 0xee8fb5},
-  {0x6cb3, 0xebab93},
-  {0x6cb4, 0xe9adac},
-  {0x6cb5, 0xe9adad},
-  {0x6cb6, 0xe9adae},
-  {0x6cb7, 0xe9adaf},
-  {0x6cb8, 0xeb9f90},
-  {0x6cb9, 0xed8f8d},
-  {0x6cba, 0xe9adb0},
-  {0x6cbb, 0xed9b8e},
-  {0x6cbc, 0xed9793},
-  {0x6cbd, 0xeba781},
-  {0x6cbe, 0xed96b4},
-  {0x6cbf, 0xed8798},
-  {0x6cc0, 0xe9adb1},
-  {0x6cc1, 0xe9adb2},
-  {0x6cc2, 0xe9adb3},
-  {0x6cc3, 0xe9adb4},
-  {0x6cc4, 0xed82b9},
-  {0x6cc5, 0xec9fb6},
-  {0x6cc6, 0xe9adb5},
-  {0x6cc7, 0xe9adb6},
-  {0x6cc8, 0xe9adb7},
-  {0x6cc9, 0xeca2aa},
-  {0x6cca, 0xeb8ab4},
-  {0x6ccb, 0xe9adb8},
-  {0x6ccc, 0xec8f9a},
-  {0x6ccd, 0xe9adb9},
-  {0x6cce, 0xe9adba},
-  {0x6ccf, 0xe9adbb},
-  {0x6cd0, 0xee8fae},
-  {0x6cd1, 0xe9adbc},
-  {0x6cd2, 0xe9adbd},
-  {0x6cd3, 0xee8fbc},
-  {0x6cd4, 0xee8faf},
-  {0x6cd5, 0xeb9ea8},
-  {0x6cd6, 0xee8fb7},
-  {0x6cd7, 0xee8fb4},
-  {0x6cd8, 0xe9adbe},
-  {0x6cd9, 0xe9ae80},
-  {0x6cda, 0xe9ae81},
-  {0x6cdb, 0xeb9eba},
-  {0x6cdc, 0xe9ae82},
-  {0x6cdd, 0xe9ae83},
-  {0x6cde, 0xec96a2},
-  {0x6cdf, 0xe9ae84},
-  {0x6ce0, 0xee8fb6},
-  {0x6ce1, 0xec979d},
-  {0x6ce2, 0xeb8aa8},
-  {0x6ce3, 0xec9bbc},
-  {0x6ce4, 0xe9ae85},
-  {0x6ce5, 0xec93a0},
-  {0x6ce6, 0xe9ae86},
-  {0x6ce7, 0xe9ae87},
-  {0x6ce8, 0xed9ea2},
-  {0x6ce9, 0xe9ae88},
-  {0x6cea, 0xec83a1},
-  {0x6ceb, 0xee8fb9},
-  {0x6cec, 0xe9ae89},
-  {0x6ced, 0xe9ae8a},
-  {0x6cee, 0xee8fba},
-  {0x6cef, 0xee8fbd},
-  {0x6cf0, 0xecb2a9},
-  {0x6cf1, 0xee8fb3},
-  {0x6cf2, 0xe9ae8b},
-  {0x6cf3, 0xed8ebe},
-  {0x6cf4, 0xe9ae8c},
-  {0x6cf5, 0xeb8783},
-  {0x6cf6, 0xeeb6b4},
-  {0x6cf7, 0xee8fb1},
-  {0x6cf8, 0xee8fb2},
-  {0x6cf9, 0xe9ae8d},
-  {0x6cfa, 0xee8fb8},
-  {0x6cfb, 0xed82ba},
-  {0x6cfc, 0xec9b83},
-  {0x6cfd, 0xed93b3},
-  {0x6cfe, 0xee8fbe},
-  {0x6cff, 0xe9ae8e},
-  {0x6d00, 0xe9ae8f},
-  {0x6d01, 0xebb7a0},
-  {0x6d02, 0xe9ae90},
-  {0x6d03, 0xe9ae91},
-  {0x6d04, 0xee92a7},
-  {0x6d05, 0xe9ae92},
-  {0x6d06, 0xe9ae93},
-  {0x6d07, 0xee92a6},
-  {0x6d08, 0xe9ae94},
-  {0x6d09, 0xe9ae95},
-  {0x6d0a, 0xe9ae96},
-  {0x6d0b, 0xed87b3},
-  {0x6d0c, 0xee92a3},
-  {0x6d0d, 0xe9ae97},
-  {0x6d0e, 0xee92a9},
-  {0x6d0f, 0xe9ae98},
-  {0x6d10, 0xe9ae99},
-  {0x6d11, 0xe9ae9a},
-  {0x6d12, 0xeca3b7},
-  {0x6d13, 0xe9ae9b},
-  {0x6d14, 0xe9ae9c},
-  {0x6d15, 0xe9ae9d},
-  {0x6d16, 0xe9ae9e},
-  {0x6d17, 0xecbeb4},
-  {0x6d18, 0xe9ae9f},
-  {0x6d19, 0xee92a8},
-  {0x6d1a, 0xee92ae},
-  {0x6d1b, 0xec8ba5},
-  {0x6d1c, 0xe9aea0},
-  {0x6d1d, 0xe9aea1},
-  {0x6d1e, 0xeb9ab4},
-  {0x6d1f, 0xe9aea2},
-  {0x6d20, 0xe9aea3},
-  {0x6d21, 0xe9aea4},
-  {0x6d22, 0xe9aea5},
-  {0x6d23, 0xe9aea6},
-  {0x6d24, 0xe9aea7},
-  {0x6d25, 0xebb7b2},
-  {0x6d26, 0xe9aea8},
-  {0x6d27, 0xee92a2},
-  {0x6d28, 0xe9aea9},
-  {0x6d29, 0xe9aeaa},
-  {0x6d2a, 0xebaba9},
-  {0x6d2b, 0xee92aa},
-  {0x6d2c, 0xe9aeab},
-  {0x6d2d, 0xe9aeac},
-  {0x6d2e, 0xee92ac},
-  {0x6d2f, 0xe9aead},
-  {0x6d30, 0xe9aeae},
-  {0x6d31, 0xeb9bbd},
-  {0x6d32, 0xed9b9e},
-  {0x6d33, 0xee92b2},
-  {0x6d34, 0xe9aeaf},
-  {0x6d35, 0xee92ad},
-  {0x6d36, 0xe9aeb0},
-  {0x6d37, 0xe9aeb1},
-  {0x6d38, 0xe9aeb2},
-  {0x6d39, 0xee92a1},
-  {0x6d3a, 0xe9aeb3},
-  {0x6d3b, 0xebafae},
-  {0x6d3c, 0xecb79d},
-  {0x6d3d, 0xec9ea2},
-  {0x6d3e, 0xec9789},
-  {0x6d3f, 0xe9aeb4},
-  {0x6d40, 0xe9aeb5},
-  {0x6d41, 0xec87b7},
-  {0x6d42, 0xe9aeb6},
-  {0x6d43, 0xee92a4},
-  {0x6d44, 0xe9aeb7},
-  {0x6d45, 0xec9eb3},
-  {0x6d46, 0xebb6ac},
-  {0x6d47, 0xebb6bd},
-  {0x6d48, 0xee92a5},
-  {0x6d49, 0xe9aeb8},
-  {0x6d4a, 0xed9f87},
-  {0x6d4b, 0xeb8ba2},
-  {0x6d4c, 0xe9aeb9},
-  {0x6d4d, 0xee92ab},
-  {0x6d4e, 0xebb383},
-  {0x6d4f, 0xee92af},
-  {0x6d50, 0xe9aeba},
-  {0x6d51, 0xebafab},
-  {0x6d52, 0xee92b0},
-  {0x6d53, 0xec96a8},
-  {0x6d54, 0xee92b1},
-  {0x6d55, 0xe9aebb},
-  {0x6d56, 0xe9aebc},
-  {0x6d57, 0xe9aebd},
-  {0x6d58, 0xe9aebe},
-  {0x6d59, 0xed97a3},
-  {0x6d5a, 0xebbea3},
-  {0x6d5b, 0xe9aebf},
-  {0x6d5c, 0xee92ba},
-  {0x6d5d, 0xe9af80},
-  {0x6d5e, 0xee92b7},
-  {0x6d5f, 0xe9af81},
-  {0x6d60, 0xee92bb},
-  {0x6d61, 0xe9af82},
-  {0x6d62, 0xe9af83},
-  {0x6d63, 0xee92bd},
-  {0x6d64, 0xe9af84},
-  {0x6d65, 0xe9af85},
-  {0x6d66, 0xec9b96},
-  {0x6d67, 0xe9af86},
-  {0x6d68, 0xe9af87},
-  {0x6d69, 0xebab86},
-  {0x6d6a, 0xec838b},
-  {0x6d6b, 0xe9af88},
-  {0x6d6c, 0xe9af89},
-  {0x6d6d, 0xe9af8a},
-  {0x6d6e, 0xeba2a1},
-  {0x6d6f, 0xee92b4},
-  {0x6d70, 0xe9af8b},
-  {0x6d71, 0xe9af8c},
-  {0x6d72, 0xe9af8d},
-  {0x6d73, 0xe9af8e},
-  {0x6d74, 0xed92a1},
-  {0x6d75, 0xe9af8f},
-  {0x6d76, 0xe9af90},
-  {0x6d77, 0xebaaa3},
-  {0x6d78, 0xebb7be},
-  {0x6d79, 0xe9af91},
-  {0x6d7a, 0xe9af92},
-  {0x6d7b, 0xe9af93},
-  {0x6d7c, 0xee92bc},
-  {0x6d7d, 0xe9af94},
-  {0x6d7e, 0xe9af95},
-  {0x6d7f, 0xe9af96},
-  {0x6d80, 0xe9af97},
-  {0x6d81, 0xe9af98},
-  {0x6d82, 0xecb6bf},
-  {0x6d83, 0xe9af99},
-  {0x6d84, 0xe9af9a},
-  {0x6d85, 0xec93b9},
-  {0x6d86, 0xe9af9b},
-  {0x6d87, 0xe9af9c},
-  {0x6d88, 0xecbfbb},
-  {0x6d89, 0xeca7a6},
-  {0x6d8a, 0xe9af9d},
-  {0x6d8b, 0xe9af9e},
-  {0x6d8c, 0xed8ebf},
-  {0x6d8d, 0xe9af9f},
-  {0x6d8e, 0xecbf91},
-  {0x6d8f, 0xe9afa0},
-  {0x6d90, 0xe9afa1},
-  {0x6d91, 0xee92b3},
-  {0x6d92, 0xe9afa2},
-  {0x6d93, 0xee92b8},
-  {0x6d94, 0xee92b9},
-  {0x6d95, 0xecb3a9},
-  {0x6d96, 0xe9afa3},
-  {0x6d97, 0xe9afa4},
-  {0x6d98, 0xe9afa5},
-  {0x6d99, 0xe9afa6},
-  {0x6d9a, 0xe9afa7},
-  {0x6d9b, 0xecb38e},
-  {0x6d9c, 0xe9afa8},
-  {0x6d9d, 0xec8394},
-  {0x6d9e, 0xee92b5},
-  {0x6d9f, 0xec86b0},
-  {0x6da0, 0xee92b6},
-  {0x6da1, 0xecbb90},
-  {0x6da2, 0xe9afa9},
-  {0x6da3, 0xebaf81},
-  {0x6da4, 0xeb9793},
-  {0x6da5, 0xe9afaa},
-  {0x6da6, 0xeca3b3},
-  {0x6da7, 0xebb6a7},
-  {0x6da8, 0xed9787},
-  {0x6da9, 0xeca6ac},
-  {0x6daa, 0xeba2a2},
-  {0x6dab, 0xee938a},
-  {0x6dac, 0xe9afab},
-  {0x6dad, 0xe9afac},
-  {0x6dae, 0xee938c},
-  {0x6daf, 0xed8784},
-  {0x6db0, 0xe9afad},
-  {0x6db1, 0xe9afae},
-  {0x6db2, 0xed8aba},
-  {0x6db3, 0xe9afaf},
-  {0x6db4, 0xe9afb0},
-  {0x6db5, 0xebaaad},
-  {0x6db6, 0xe9afb1},
-  {0x6db7, 0xe9afb2},
-  {0x6db8, 0xebab94},
-  {0x6db9, 0xe9afb3},
-  {0x6dba, 0xe9afb4},
-  {0x6dbb, 0xe9afb5},
-  {0x6dbc, 0xe9afb6},
-  {0x6dbd, 0xe9afb7},
-  {0x6dbe, 0xe9afb8},
-  {0x6dbf, 0xee9383},
-  {0x6dc0, 0xeb97ad},
-  {0x6dc1, 0xe9afb9},
-  {0x6dc2, 0xe9afba},
-  {0x6dc3, 0xe9afbb},
-  {0x6dc4, 0xed9f8d},
-  {0x6dc5, 0xee9380},
-  {0x6dc6, 0xecbfbd},
-  {0x6dc7, 0xee92bf},
-  {0x6dc8, 0xe9afbc},
-  {0x6dc9, 0xe9afbd},
-  {0x6dca, 0xe9afbe},
-  {0x6dcb, 0xec879c},
-  {0x6dcc, 0xecb38a},
-  {0x6dcd, 0xe9b180},
-  {0x6dce, 0xe9b181},
-  {0x6dcf, 0xe9b182},
-  {0x6dd0, 0xe9b183},
-  {0x6dd1, 0xecaba7},
-  {0x6dd2, 0xe9b184},
-  {0x6dd3, 0xe9b185},
-  {0x6dd4, 0xe9b186},
-  {0x6dd5, 0xe9b187},
-  {0x6dd6, 0xec9397},
-  {0x6dd7, 0xe9b188},
-  {0x6dd8, 0xecb394},
-  {0x6dd9, 0xee9388},
-  {0x6dda, 0xe9b189},
-  {0x6ddb, 0xe9b18a},
-  {0x6ddc, 0xe9b18b},
-  {0x6ddd, 0xee9387},
-  {0x6dde, 0xee9381},
-  {0x6ddf, 0xe9b18c},
-  {0x6de0, 0xee9384},
-  {0x6de1, 0xeb96ad},
-  {0x6de2, 0xe9b18d},
-  {0x6de3, 0xe9b18e},
-  {0x6de4, 0xed8f99},
-  {0x6de5, 0xe9b18f},
-  {0x6de6, 0xee9386},
-  {0x6de7, 0xe9b190},
-  {0x6de8, 0xe9b191},
-  {0x6de9, 0xe9b192},
-  {0x6dea, 0xe9b193},
-  {0x6deb, 0xed8bb9},
-  {0x6dec, 0xeb93a3},
-  {0x6ded, 0xe9b194},
-  {0x6dee, 0xebaeb4},
-  {0x6def, 0xe9b195},
-  {0x6df0, 0xe9b196},
-  {0x6df1, 0xeca7ae},
-  {0x6df2, 0xe9b197},
-  {0x6df3, 0xeb92be},
-  {0x6df4, 0xe9b198},
-  {0x6df5, 0xe9b199},
-  {0x6df6, 0xe9b19a},
-  {0x6df7, 0xebafac},
-  {0x6df8, 0xe9b19b},
-  {0x6df9, 0xed878d},
-  {0x6dfa, 0xe9b19c},
-  {0x6dfb, 0xecb3ad},
-  {0x6dfc, 0xeeb6b5},
-  {0x6dfd, 0xe9b19d},
-  {0x6dfe, 0xe9b19e},
-  {0x6dff, 0xe9b19f},
-  {0x6e00, 0xe9b1a0},
-  {0x6e01, 0xe9b1a1},
-  {0x6e02, 0xe9b1a2},
-  {0x6e03, 0xe9b1a3},
-  {0x6e04, 0xe9b1a4},
-  {0x6e05, 0xec9fa5},
-  {0x6e06, 0xe9b1a5},
-  {0x6e07, 0xe9b1a6},
-  {0x6e08, 0xe9b1a7},
-  {0x6e09, 0xe9b1a8},
-  {0x6e0a, 0xed92a8},
-  {0x6e0b, 0xe9b1a9},
-  {0x6e0c, 0xee938b},
-  {0x6e0d, 0xed9f95},
-  {0x6e0e, 0xee9382},
-  {0x6e0f, 0xe9b1aa},
-  {0x6e10, 0xebb6a5},
-  {0x6e11, 0xee9385},
-  {0x6e12, 0xe9b1ab},
-  {0x6e13, 0xe9b1ac},
-  {0x6e14, 0xed8fa6},
-  {0x6e15, 0xe9b1ad},
-  {0x6e16, 0xee9389},
-  {0x6e17, 0xeca7b8},
-  {0x6e18, 0xe9b1ae},
-  {0x6e19, 0xe9b1af},
-  {0x6e1a, 0xee92be},
-  {0x6e1b, 0xe9b1b0},
-  {0x6e1c, 0xe9b1b1},
-  {0x6e1d, 0xed8fa5},
-  {0x6e1e, 0xe9b1b2},
-  {0x6e1f, 0xe9b1b3},
-  {0x6e20, 0xec9fbe},
-  {0x6e21, 0xeb9b89},
-  {0x6e22, 0xe9b1b4},
-  {0x6e23, 0xed93bc},
-  {0x6e24, 0xeb8ab3},
-  {0x6e25, 0xee9397},
-  {0x6e26, 0xe9b1b5},
-  {0x6e27, 0xe9b1b6},
-  {0x6e28, 0xe9b1b7},
-  {0x6e29, 0xecbb82},
-  {0x6e2a, 0xe9b1b8},
-  {0x6e2b, 0xee938d},
-  {0x6e2c, 0xe9b1b9},
-  {0x6e2d, 0xecbabc},
-  {0x6e2e, 0xe9b1ba},
-  {0x6e2f, 0xeba39b},
-  {0x6e30, 0xe9b1bb},
-  {0x6e31, 0xe9b1bc},
-  {0x6e32, 0xee9396},
-  {0x6e33, 0xe9b1bd},
-  {0x6e34, 0xebbf8a},
-  {0x6e35, 0xe9b1be},
-  {0x6e36, 0xe9b280},
-  {0x6e37, 0xe9b281},
-  {0x6e38, 0xed8f8e},
-  {0x6e39, 0xe9b282},
-  {0x6e3a, 0xec8fac},
-  {0x6e3b, 0xe9b283},
-  {0x6e3c, 0xe9b284},
-  {0x6e3d, 0xe9b285},
-  {0x6e3e, 0xe9b286},
-  {0x6e3f, 0xe9b287},
-  {0x6e40, 0xe9b288},
-  {0x6e41, 0xe9b289},
-  {0x6e42, 0xe9b28a},
-  {0x6e43, 0xec9788},
-  {0x6e44, 0xee9398},
-  {0x6e45, 0xe9b28b},
-  {0x6e46, 0xe9b28c},
-  {0x6e47, 0xe9b28d},
-  {0x6e48, 0xe9b28e},
-  {0x6e49, 0xe9b28f},
-  {0x6e4a, 0xe9b290},
-  {0x6e4b, 0xe9b291},
-  {0x6e4c, 0xe9b292},
-  {0x6e4d, 0xecb784},
-  {0x6e4e, 0xee938f},
-  {0x6e4f, 0xe9b293},
-  {0x6e50, 0xe9b294},
-  {0x6e51, 0xe9b295},
-  {0x6e52, 0xe9b296},
-  {0x6e53, 0xee9394},
-  {0x6e54, 0xee9395},
-  {0x6e55, 0xe9b297},
-  {0x6e56, 0xebabbe},
-  {0x6e57, 0xe9b298},
-  {0x6e58, 0xecbfa6},
-  {0x6e59, 0xe9b299},
-  {0x6e5a, 0xe9b29a},
-  {0x6e5b, 0xed96bf},
-  {0x6e5c, 0xe9b29b},
-  {0x6e5d, 0xe9b29c},
-  {0x6e5e, 0xe9b29d},
-  {0x6e5f, 0xee9392},
-  {0x6e60, 0xe9b29e},
-  {0x6e61, 0xe9b29f},
-  {0x6e62, 0xe9b2a0},
-  {0x6e63, 0xe9b2a1},
-  {0x6e64, 0xe9b2a2},
-  {0x6e65, 0xe9b2a3},
-  {0x6e66, 0xe9b2a4},
-  {0x6e67, 0xe9b2a5},
-  {0x6e68, 0xe9b2a6},
-  {0x6e69, 0xe9b2a7},
-  {0x6e6a, 0xe9b2a8},
-  {0x6e6b, 0xee9390},
-  {0x6e6c, 0xe9b2a9},
-  {0x6e6d, 0xe9b2aa},
-  {0x6e6e, 0xee938e},
-  {0x6e6f, 0xe9b2ab},
-  {0x6e70, 0xe9b2ac},
-  {0x6e71, 0xe9b2ad},
-  {0x6e72, 0xe9b2ae},
-  {0x6e73, 0xe9b2af},
-  {0x6e74, 0xe9b2b0},
-  {0x6e75, 0xe9b2b1},
-  {0x6e76, 0xe9b2b2},
-  {0x6e77, 0xe9b2b3},
-  {0x6e78, 0xe9b2b4},
-  {0x6e79, 0xe9b2b5},
-  {0x6e7a, 0xe9b2b6},
-  {0x6e7b, 0xe9b2b7},
-  {0x6e7c, 0xe9b2b8},
-  {0x6e7d, 0xe9b2b9},
-  {0x6e7e, 0xecb7a5},
-  {0x6e7f, 0xecaaaa},
-  {0x6e80, 0xe9b2ba},
-  {0x6e81, 0xe9b2bb},
-  {0x6e82, 0xe9b2bc},
-  {0x6e83, 0xec82a3},
-  {0x6e84, 0xe9b2bd},
-  {0x6e85, 0xebb6a6},
-  {0x6e86, 0xee9393},
-  {0x6e87, 0xe9b2be},
-  {0x6e88, 0xe9b2bf},
-  {0x6e89, 0xeba388},
-  {0x6e8a, 0xe9b380},
-  {0x6e8b, 0xe9b381},
-  {0x6e8c, 0xe9b382},
-  {0x6e8d, 0xe9b383},
-  {0x6e8e, 0xe9b384},
-  {0x6e8f, 0xee93a7},
-  {0x6e90, 0xed92b4},
-  {0x6e91, 0xe9b385},
-  {0x6e92, 0xe9b386},
-  {0x6e93, 0xe9b387},
-  {0x6e94, 0xe9b388},
-  {0x6e95, 0xe9b389},
-  {0x6e96, 0xe9b38a},
-  {0x6e97, 0xe9b38b},
-  {0x6e98, 0xee939b},
-  {0x6e99, 0xe9b38c},
-  {0x6e9a, 0xe9b38d},
-  {0x6e9b, 0xe9b38e},
-  {0x6e9c, 0xec87af},
-  {0x6e9d, 0xe9b38f},
-  {0x6e9e, 0xe9b390},
-  {0x6e9f, 0xee93a9},
-  {0x6ea0, 0xe9b391},
-  {0x6ea1, 0xe9b392},
-  {0x6ea2, 0xed8ba7},
-  {0x6ea3, 0xe9b393},
-  {0x6ea4, 0xe9b394},
-  {0x6ea5, 0xee939f},
-  {0x6ea6, 0xe9b395},
-  {0x6ea7, 0xee93a0},
-  {0x6ea8, 0xe9b396},
-  {0x6ea9, 0xe9b397},
-  {0x6eaa, 0xecbeaa},
-  {0x6eab, 0xe9b398},
-  {0x6eac, 0xe9b399},
-  {0x6ead, 0xe9b39a},
-  {0x6eae, 0xe9b39b},
-  {0x6eaf, 0xecaf9d},
-  {0x6eb0, 0xe9b39c},
-  {0x6eb1, 0xee939a},
-  {0x6eb2, 0xee9391},
-  {0x6eb3, 0xe9b39d},
-  {0x6eb4, 0xee93a5},
-  {0x6eb5, 0xe9b39e},
-  {0x6eb6, 0xeca39c},
-  {0x6eb7, 0xee93a3},
-  {0x6eb8, 0xe9b39f},
-  {0x6eb9, 0xe9b3a0},
-  {0x6eba, 0xec93a7},
-  {0x6ebb, 0xee93a2},
-  {0x6ebc, 0xe9b3a1},
-  {0x6ebd, 0xee93a1},
-  {0x6ebe, 0xe9b3a2},
-  {0x6ebf, 0xe9b3a3},
-  {0x6ec0, 0xe9b3a4},
-  {0x6ec1, 0xeb8fbc},
-  {0x6ec2, 0xee93a8},
-  {0x6ec3, 0xe9b3a5},
-  {0x6ec4, 0xe9b3a6},
-  {0x6ec5, 0xe9b3a7},
-  {0x6ec6, 0xe9b3a8},
-  {0x6ec7, 0xeb97a1},
-  {0x6ec8, 0xe9b3a9},
-  {0x6ec9, 0xe9b3aa},
-  {0x6eca, 0xe9b3ab},
-  {0x6ecb, 0xed9f8c},
-  {0x6ecc, 0xe9b3ac},
-  {0x6ecd, 0xe9b3ad},
-  {0x6ece, 0xe9b3ae},
-  {0x6ecf, 0xee93a6},
-  {0x6ed0, 0xe9b3af},
-  {0x6ed1, 0xebaeac},
-  {0x6ed2, 0xe9b3b0},
-  {0x6ed3, 0xed9f92},
-  {0x6ed4, 0xecb38f},
-  {0x6ed5, 0xeeafb8},
-  {0x6ed6, 0xe9b3b1},
-  {0x6ed7, 0xee93a4},
-  {0x6ed8, 0xe9b3b2},
-  {0x6ed9, 0xe9b3b3},
-  {0x6eda, 0xeba7b6},
-  {0x6edb, 0xe9b3b4},
-  {0x6edc, 0xe9b3b5},
-  {0x6edd, 0xe9b3b6},
-  {0x6ede, 0xed9b8d},
-  {0x6edf, 0xee9399},
-  {0x6ee0, 0xee939c},
-  {0x6ee1, 0xec8bba},
-  {0x6ee2, 0xee939e},
-  {0x6ee3, 0xe9b3b7},
-  {0x6ee4, 0xec8b8b},
-  {0x6ee5, 0xec8384},
-  {0x6ee6, 0xec8b90},
-  {0x6ee7, 0xe9b3b8},
-  {0x6ee8, 0xeb87b5},
-  {0x6ee9, 0xecb2b2},
-  {0x6eea, 0xe9b3b9},
-  {0x6eeb, 0xe9b3ba},
-  {0x6eec, 0xe9b3bb},
-  {0x6eed, 0xe9b3bc},
-  {0x6eee, 0xe9b3bd},
-  {0x6eef, 0xe9b3be},
-  {0x6ef0, 0xe9b580},
-  {0x6ef1, 0xe9b581},
-  {0x6ef2, 0xe9b582},
-  {0x6ef3, 0xe9b583},
-  {0x6ef4, 0xeb978e},
-  {0x6ef5, 0xe9b584},
-  {0x6ef6, 0xe9b585},
-  {0x6ef7, 0xe9b586},
-  {0x6ef8, 0xe9b587},
-  {0x6ef9, 0xee93af},
-  {0x6efa, 0xe9b588},
-  {0x6efb, 0xe9b589},
-  {0x6efc, 0xe9b58a},
-  {0x6efd, 0xe9b58b},
-  {0x6efe, 0xe9b58c},
-  {0x6eff, 0xe9b58d},
-  {0x6f00, 0xe9b58e},
-  {0x6f01, 0xe9b58f},
-  {0x6f02, 0xec9aaf},
-  {0x6f03, 0xe9b590},
-  {0x6f04, 0xe9b591},
-  {0x6f05, 0xe9b592},
-  {0x6f06, 0xec9ba1},
-  {0x6f07, 0xe9b593},
-  {0x6f08, 0xe9b594},
-  {0x6f09, 0xee93b5},
-  {0x6f0a, 0xe9b595},
-  {0x6f0b, 0xe9b596},
-  {0x6f0c, 0xe9b597},
-  {0x6f0d, 0xe9b598},
-  {0x6f0e, 0xe9b599},
-  {0x6f0f, 0xec8aa9},
-  {0x6f10, 0xe9b59a},
-  {0x6f11, 0xe9b59b},
-  {0x6f12, 0xe9b59c},
-  {0x6f13, 0xec83ac},
-  {0x6f14, 0xed879d},
-  {0x6f15, 0xee93ae},
-  {0x6f16, 0xe9b59d},
-  {0x6f17, 0xe9b59e},
-  {0x6f18, 0xe9b59f},
-  {0x6f19, 0xe9b5a0},
-  {0x6f1a, 0xe9b5a1},
-  {0x6f1b, 0xe9b5a2},
-  {0x6f1c, 0xe9b5a3},
-  {0x6f1d, 0xe9b5a4},
-  {0x6f1e, 0xe9b5a5},
-  {0x6f1f, 0xe9b5a6},
-  {0x6f20, 0xec92ae},
-  {0x6f21, 0xe9b5a7},
-  {0x6f22, 0xe9b5a8},
-  {0x6f23, 0xe9b5a9},
-  {0x6f24, 0xee93ad},
-  {0x6f25, 0xe9b5aa},
-  {0x6f26, 0xe9b5ab},
-  {0x6f27, 0xe9b5ac},
-  {0x6f28, 0xe9b5ad},
-  {0x6f29, 0xee93b6},
-  {0x6f2a, 0xee93b4},
-  {0x6f2b, 0xec8bbe},
-  {0x6f2c, 0xe9b5ae},
-  {0x6f2d, 0xee939d},
-  {0x6f2e, 0xe9b5af},
-  {0x6f2f, 0xee93b0},
-  {0x6f30, 0xe9b5b0},
-  {0x6f31, 0xecabbe},
-  {0x6f32, 0xe9b5b1},
-  {0x6f33, 0xed9784},
-  {0x6f34, 0xe9b5b2},
-  {0x6f35, 0xe9b5b3},
-  {0x6f36, 0xee93b1},
-  {0x6f37, 0xe9b5b4},
-  {0x6f38, 0xe9b5b5},
-  {0x6f39, 0xe9b5b6},
-  {0x6f3a, 0xe9b5b7},
-  {0x6f3b, 0xe9b5b8},
-  {0x6f3c, 0xe9b5b9},
-  {0x6f3d, 0xe9b5ba},
-  {0x6f3e, 0xed87ba},
-  {0x6f3f, 0xe9b5bb},
-  {0x6f40, 0xe9b5bc},
-  {0x6f41, 0xe9b5bd},
-  {0x6f42, 0xe9b5be},
-  {0x6f43, 0xe9b680},
-  {0x6f44, 0xe9b681},
-  {0x6f45, 0xe9b682},
-  {0x6f46, 0xee93ab},
-  {0x6f47, 0xee93ac},
-  {0x6f48, 0xe9b683},
-  {0x6f49, 0xe9b684},
-  {0x6f4a, 0xe9b685},
-  {0x6f4b, 0xee93b2},
-  {0x6f4c, 0xe9b686},
-  {0x6f4d, 0xecbaab},
-  {0x6f4e, 0xe9b687},
-  {0x6f4f, 0xe9b688},
-  {0x6f50, 0xe9b689},
-  {0x6f51, 0xe9b68a},
-  {0x6f52, 0xe9b68b},
-  {0x6f53, 0xe9b68c},
-  {0x6f54, 0xe9b68d},
-  {0x6f55, 0xe9b68e},
-  {0x6f56, 0xe9b68f},
-  {0x6f57, 0xe9b690},
-  {0x6f58, 0xec978b},
-  {0x6f59, 0xe9b691},
-  {0x6f5a, 0xe9b692},
-  {0x6f5b, 0xe9b693},
-  {0x6f5c, 0xec9eb1},
-  {0x6f5d, 0xe9b694},
-  {0x6f5e, 0xec8aba},
-  {0x6f5f, 0xe9b695},
-  {0x6f60, 0xe9b696},
-  {0x6f61, 0xe9b697},
-  {0x6f62, 0xee93aa},
-  {0x6f63, 0xe9b698},
-  {0x6f64, 0xe9b699},
-  {0x6f65, 0xe9b69a},
-  {0x6f66, 0xec878a},
-  {0x6f67, 0xe9b69b},
-  {0x6f68, 0xe9b69c},
-  {0x6f69, 0xe9b69d},
-  {0x6f6a, 0xe9b69e},
-  {0x6f6b, 0xe9b69f},
-  {0x6f6c, 0xe9b6a0},
-  {0x6f6d, 0xecb2b6},
-  {0x6f6e, 0xeb8eb1},
-  {0x6f6f, 0xe9b6a1},
-  {0x6f70, 0xe9b6a2},
-  {0x6f71, 0xe9b6a3},
-  {0x6f72, 0xee93bb},
-  {0x6f73, 0xe9b6a4},
-  {0x6f74, 0xee93b3},
-  {0x6f75, 0xe9b6a5},
-  {0x6f76, 0xe9b6a6},
-  {0x6f77, 0xe9b6a7},
-  {0x6f78, 0xee93ba},
-  {0x6f79, 0xe9b6a8},
-  {0x6f7a, 0xee93bd},
-  {0x6f7b, 0xe9b6a9},
-  {0x6f7c, 0xee93bc},
-  {0x6f7d, 0xe9b6aa},
-  {0x6f7e, 0xe9b6ab},
-  {0x6f7f, 0xe9b6ac},
-  {0x6f80, 0xe9b6ad},
-  {0x6f81, 0xe9b6ae},
-  {0x6f82, 0xe9b6af},
-  {0x6f83, 0xe9b6b0},
-  {0x6f84, 0xeb8f8e},
-  {0x6f85, 0xe9b6b1},
-  {0x6f86, 0xe9b6b2},
-  {0x6f87, 0xe9b6b3},
-  {0x6f88, 0xeb8eba},
-  {0x6f89, 0xee93b7},
-  {0x6f8a, 0xe9b6b4},
-  {0x6f8b, 0xe9b6b5},
-  {0x6f8c, 0xee93b9},
-  {0x6f8d, 0xee93b8},
-  {0x6f8e, 0xec97ac},
-  {0x6f8f, 0xe9b6b6},
-  {0x6f90, 0xe9b6b7},
-  {0x6f91, 0xe9b6b8},
-  {0x6f92, 0xe9b6b9},
-  {0x6f93, 0xe9b6ba},
-  {0x6f94, 0xe9b6bb},
-  {0x6f95, 0xe9b6bc},
-  {0x6f96, 0xe9b6bd},
-  {0x6f97, 0xe9b6be},
-  {0x6f98, 0xe9b6bf},
-  {0x6f99, 0xe9b780},
-  {0x6f9a, 0xe9b781},
-  {0x6f9b, 0xe9b782},
-  {0x6f9c, 0xec82bd},
-  {0x6f9d, 0xe9b783},
-  {0x6f9e, 0xe9b784},
-  {0x6f9f, 0xe9b785},
-  {0x6fa0, 0xe9b786},
-  {0x6fa1, 0xed93a8},
-  {0x6fa2, 0xe9b787},
-  {0x6fa3, 0xe9b788},
-  {0x6fa4, 0xe9b789},
-  {0x6fa5, 0xe9b78a},
-  {0x6fa6, 0xe9b78b},
-  {0x6fa7, 0xee96a2},
-  {0x6fa8, 0xe9b78c},
-  {0x6fa9, 0xe9b78d},
-  {0x6faa, 0xe9b78e},
-  {0x6fab, 0xe9b78f},
-  {0x6fac, 0xe9b790},
-  {0x6fad, 0xe9b791},
-  {0x6fae, 0xe9b792},
-  {0x6faf, 0xe9b793},
-  {0x6fb0, 0xe9b794},
-  {0x6fb1, 0xe9b795},
-  {0x6fb2, 0xe9b796},
-  {0x6fb3, 0xeb8384},
-  {0x6fb4, 0xe9b797},
-  {0x6fb5, 0xe9b798},
-  {0x6fb6, 0xee96a4},
-  {0x6fb7, 0xe9b799},
-  {0x6fb8, 0xe9b79a},
-  {0x6fb9, 0xee96a3},
-  {0x6fba, 0xe9b79b},
-  {0x6fbb, 0xe9b79c},
-  {0x6fbc, 0xe9b79d},
-  {0x6fbd, 0xe9b79e},
-  {0x6fbe, 0xe9b79f},
-  {0x6fbf, 0xe9b7a0},
-  {0x6fc0, 0xebb2a4},
-  {0x6fc1, 0xe9b7a1},
-  {0x6fc2, 0xee96a5},
-  {0x6fc3, 0xe9b7a2},
-  {0x6fc4, 0xe9b7a3},
-  {0x6fc5, 0xe9b7a4},
-  {0x6fc6, 0xe9b7a5},
-  {0x6fc7, 0xe9b7a6},
-  {0x6fc8, 0xe9b7a7},
-  {0x6fc9, 0xee96a1},
-  {0x6fca, 0xe9b7a8},
-  {0x6fcb, 0xe9b7a9},
-  {0x6fcc, 0xe9b7aa},
-  {0x6fcd, 0xe9b7ab},
-  {0x6fce, 0xe9b7ac},
-  {0x6fcf, 0xe9b7ad},
-  {0x6fd0, 0xe9b7ae},
-  {0x6fd1, 0xee93be},
-  {0x6fd2, 0xeb87b4},
-  {0x6fd3, 0xe9b7af},
-  {0x6fd4, 0xe9b7b0},
-  {0x6fd5, 0xe9b7b1},
-  {0x6fd6, 0xe9b7b2},
-  {0x6fd7, 0xe9b7b3},
-  {0x6fd8, 0xe9b7b4},
-  {0x6fd9, 0xe9b7b5},
-  {0x6fda, 0xe9b7b6},
-  {0x6fdb, 0xe9b7b7},
-  {0x6fdc, 0xe9b7b8},
-  {0x6fdd, 0xe9b7b9},
-  {0x6fde, 0xee96a8},
-  {0x6fdf, 0xe9b7ba},
-  {0x6fe0, 0xee96a9},
-  {0x6fe1, 0xee96a6},
-  {0x6fe2, 0xe9b7bb},
-  {0x6fe3, 0xe9b7bc},
-  {0x6fe4, 0xe9b7bd},
-  {0x6fe5, 0xe9b7be},
-  {0x6fe6, 0xe9b980},
-  {0x6fe7, 0xe9b981},
-  {0x6fe8, 0xe9b982},
-  {0x6fe9, 0xe9b983},
-  {0x6fea, 0xe9b984},
-  {0x6feb, 0xe9b985},
-  {0x6fec, 0xe9b986},
-  {0x6fed, 0xe9b987},
-  {0x6fee, 0xee96a7},
-  {0x6fef, 0xee96aa},
-  {0x6ff0, 0xe9b988},
-  {0x6ff1, 0xe9b989},
-  {0x6ff2, 0xe9b98a},
-  {0x6ff3, 0xe9b98b},
-  {0x6ff4, 0xe9b98c},
-  {0x6ff5, 0xe9b98d},
-  {0x6ff6, 0xe9b98e},
-  {0x6ff7, 0xe9b98f},
-  {0x6ff8, 0xe9b990},
-  {0x6ff9, 0xe9b991},
-  {0x6ffa, 0xe9b992},
-  {0x6ffb, 0xe9b993},
-  {0x6ffc, 0xe9b994},
-  {0x6ffd, 0xe9b995},
-  {0x6ffe, 0xe9b996},
-  {0x6fff, 0xe9b997},
-  {0x7000, 0xe9b998},
-  {0x7001, 0xe9b999},
-  {0x7002, 0xe9b99a},
-  {0x7003, 0xe9b99b},
-  {0x7004, 0xe9b99c},
-  {0x7005, 0xe9b99d},
-  {0x7006, 0xe9b99e},
-  {0x7007, 0xe9b99f},
-  {0x7008, 0xe9b9a0},
-  {0x7009, 0xe9b9a1},
-  {0x700a, 0xe9b9a2},
-  {0x700b, 0xe9b9a3},
-  {0x700c, 0xe9b9a4},
-  {0x700d, 0xe9b9a5},
-  {0x700e, 0xe9b9a6},
-  {0x700f, 0xe9b9a7},
-  {0x7010, 0xe9b9a8},
-  {0x7011, 0xec9b99},
-  {0x7012, 0xe9b9a9},
-  {0x7013, 0xe9b9aa},
-  {0x7014, 0xe9b9ab},
-  {0x7015, 0xe9b9ac},
-  {0x7016, 0xe9b9ad},
-  {0x7017, 0xe9b9ae},
-  {0x7018, 0xe9b9af},
-  {0x7019, 0xe9b9b0},
-  {0x701a, 0xee96ab},
-  {0x701b, 0xee96ad},
-  {0x701c, 0xe9b9b1},
-  {0x701d, 0xe9b9b2},
-  {0x701e, 0xe9b9b3},
-  {0x701f, 0xe9b9b4},
-  {0x7020, 0xe9b9b5},
-  {0x7021, 0xe9b9b6},
-  {0x7022, 0xe9b9b7},
-  {0x7023, 0xee96ac},
-  {0x7024, 0xe9b9b8},
-  {0x7025, 0xe9b9b9},
-  {0x7026, 0xe9b9ba},
-  {0x7027, 0xe9b9bb},
-  {0x7028, 0xe9b9bc},
-  {0x7029, 0xe9b9bd},
-  {0x702a, 0xe9b9be},
-  {0x702b, 0xe9ba80},
-  {0x702c, 0xe9ba81},
-  {0x702d, 0xe9ba82},
-  {0x702e, 0xe9ba83},
-  {0x702f, 0xe9ba84},
-  {0x7030, 0xe9ba85},
-  {0x7031, 0xe9ba86},
-  {0x7032, 0xe9ba87},
-  {0x7033, 0xe9ba88},
-  {0x7034, 0xe9ba89},
-  {0x7035, 0xee96af},
-  {0x7036, 0xe9ba8a},
-  {0x7037, 0xe9ba8b},
-  {0x7038, 0xe9ba8c},
-  {0x7039, 0xee96ae},
-  {0x703a, 0xe9ba8d},
-  {0x703b, 0xe9ba8e},
-  {0x703c, 0xe9ba8f},
-  {0x703d, 0xe9ba90},
-  {0x703e, 0xe9ba91},
-  {0x703f, 0xe9ba92},
-  {0x7040, 0xe9ba93},
-  {0x7041, 0xe9ba94},
-  {0x7042, 0xe9ba95},
-  {0x7043, 0xe9ba96},
-  {0x7044, 0xe9ba97},
-  {0x7045, 0xe9ba98},
-  {0x7046, 0xe9ba99},
-  {0x7047, 0xe9ba9a},
-  {0x7048, 0xe9ba9b},
-  {0x7049, 0xe9ba9c},
-  {0x704a, 0xe9ba9d},
-  {0x704b, 0xe9ba9e},
-  {0x704c, 0xeba7a0},
-  {0x704d, 0xe9ba9f},
-  {0x704e, 0xe9baa0},
-  {0x704f, 0xee96b0},
-  {0x7050, 0xe9baa1},
-  {0x7051, 0xe9baa2},
-  {0x7052, 0xe9baa3},
-  {0x7053, 0xe9baa4},
-  {0x7054, 0xe9baa5},
-  {0x7055, 0xe9baa6},
-  {0x7056, 0xe9baa7},
-  {0x7057, 0xe9baa8},
-  {0x7058, 0xe9baa9},
-  {0x7059, 0xe9baaa},
-  {0x705a, 0xe9baab},
-  {0x705b, 0xe9baac},
-  {0x705c, 0xe9baad},
-  {0x705d, 0xe9baae},
-  {0x705e, 0xee96b1},
-  {0x705f, 0xe9baaf},
-  {0x7060, 0xe9bab0},
-  {0x7061, 0xe9bab1},
-  {0x7062, 0xe9bab2},
-  {0x7063, 0xe9bab3},
-  {0x7064, 0xe9bab4},
-  {0x7065, 0xe9bab5},
-  {0x7066, 0xe9bab6},
-  {0x7067, 0xe9bab7},
-  {0x7068, 0xe9bab8},
-  {0x7069, 0xe9bab9},
-  {0x706a, 0xe9baba},
-  {0x706b, 0xebafb0},
-  {0x706c, 0xeeb3a1},
-  {0x706d, 0xec8fb0},
-  {0x706e, 0xe9babb},
-  {0x706f, 0xeb9786},
-  {0x7070, 0xebaf92},
-  {0x7071, 0xe9babc},
-  {0x7072, 0xe9babd},
-  {0x7073, 0xe9babe},
-  {0x7074, 0xe9babf},
-  {0x7075, 0xec87a9},
-  {0x7076, 0xed93ae},
-  {0x7077, 0xe9bb80},
-  {0x7078, 0xebbb84},
-  {0x7079, 0xe9bb81},
-  {0x707a, 0xe9bb82},
-  {0x707b, 0xe9bb83},
-  {0x707c, 0xed9f86},
-  {0x707d, 0xe9bb84},
-  {0x707e, 0xed9396},
-  {0x707f, 0xeb8b93},
-  {0x7080, 0xeeb2be},
-  {0x7081, 0xe9bb85},
-  {0x7082, 0xe9bb86},
-  {0x7083, 0xe9bb87},
-  {0x7084, 0xe9bb88},
-  {0x7085, 0xeeab81},
-  {0x7086, 0xe9bb89},
-  {0x7087, 0xe9bb8a},
-  {0x7088, 0xe9bb8b},
-  {0x7089, 0xec8aaf},
-  {0x708a, 0xeb92b6},
-  {0x708b, 0xe9bb8c},
-  {0x708c, 0xe9bb8d},
-  {0x708d, 0xe9bb8e},
-  {0x708e, 0xed8797},
-  {0x708f, 0xe9bb8f},
-  {0x7090, 0xe9bb90},
-  {0x7091, 0xe9bb91},
-  {0x7092, 0xeb8eb4},
-  {0x7093, 0xe9bb92},
-  {0x7094, 0xeca2b2},
-  {0x7095, 0xebbebb},
-  {0x7096, 0xeeb380},
-  {0x7097, 0xe9bb93},
-  {0x7098, 0xe9bb94},
-  {0x7099, 0xed9b8b},
-  {0x709a, 0xe9bb95},
-  {0x709b, 0xe9bb96},
-  {0x709c, 0xeeb2bf},
-  {0x709d, 0xeeb381},
-  {0x709e, 0xe9bb97},
-  {0x709f, 0xe9bb98},
-  {0x70a0, 0xe9bb99},
-  {0x70a1, 0xe9bb9a},
-  {0x70a2, 0xe9bb9b},
-  {0x70a3, 0xe9bb9c},
-  {0x70a4, 0xe9bb9d},
-  {0x70a5, 0xe9bb9e},
-  {0x70a6, 0xe9bb9f},
-  {0x70a7, 0xe9bba0},
-  {0x70a8, 0xe9bba1},
-  {0x70a9, 0xe9bba2},
-  {0x70aa, 0xe9bba3},
-  {0x70ab, 0xeeb385},
-  {0x70ac, 0xebbba6},
-  {0x70ad, 0xecb2bf},
-  {0x70ae, 0xec979a},
-  {0x70af, 0xebbabc},
-  {0x70b0, 0xe9bba4},
-  {0x70b1, 0xeeb386},
-  {0x70b2, 0xe9bba5},
-  {0x70b3, 0xeb87be},
-  {0x70b4, 0xe9bba6},
-  {0x70b5, 0xe9bba7},
-  {0x70b6, 0xe9bba8},
-  {0x70b7, 0xeeb384},
-  {0x70b8, 0xed96a8},
-  {0x70b9, 0xeb97a3},
-  {0x70ba, 0xe9bba9},
-  {0x70bb, 0xeeb382},
-  {0x70bc, 0xec86b6},
-  {0x70bd, 0xeb8fa3},
-  {0x70be, 0xe9bbaa},
-  {0x70bf, 0xe9bbab},
-  {0x70c0, 0xeeb383},
-  {0x70c1, 0xecaeb8},
-  {0x70c2, 0xec8383},
-  {0x70c3, 0xecb3be},
-  {0x70c4, 0xe9bbac},
-  {0x70c5, 0xe9bbad},
-  {0x70c6, 0xe9bbae},
-  {0x70c7, 0xe9bbaf},
-  {0x70c8, 0xec8792},
-  {0x70c9, 0xe9bbb0},
-  {0x70ca, 0xeeb388},
-  {0x70cb, 0xe9bbb1},
-  {0x70cc, 0xe9bbb2},
-  {0x70cd, 0xe9bbb3},
-  {0x70ce, 0xe9bbb4},
-  {0x70cf, 0xe9bbb5},
-  {0x70d0, 0xe9bbb6},
-  {0x70d1, 0xe9bbb7},
-  {0x70d2, 0xe9bbb8},
-  {0x70d3, 0xe9bbb9},
-  {0x70d4, 0xe9bbba},
-  {0x70d5, 0xe9bbbb},
-  {0x70d6, 0xe9bbbc},
-  {0x70d7, 0xe9bbbd},
-  {0x70d8, 0xebaba6},
-  {0x70d9, 0xec8393},
-  {0x70da, 0xe9bbbe},
-  {0x70db, 0xed9bb2},
-  {0x70dc, 0xe9bd80},
-  {0x70dd, 0xe9bd81},
-  {0x70de, 0xe9bd82},
-  {0x70df, 0xed878c},
-  {0x70e0, 0xe9bd83},
-  {0x70e1, 0xe9bd84},
-  {0x70e2, 0xe9bd85},
-  {0x70e3, 0xe9bd86},
-  {0x70e4, 0xebbebe},
-  {0x70e5, 0xe9bd87},
-  {0x70e6, 0xeb9eb3},
-  {0x70e7, 0xeca795},
-  {0x70e8, 0xeeb387},
-  {0x70e9, 0xebafa2},
-  {0x70ea, 0xe9bd88},
-  {0x70eb, 0xecb38c},
-  {0x70ec, 0xebb7bd},
-  {0x70ed, 0xeca388},
-  {0x70ee, 0xe9bd89},
-  {0x70ef, 0xecbea9},
-  {0x70f0, 0xe9bd8a},
-  {0x70f1, 0xe9bd8b},
-  {0x70f2, 0xe9bd8c},
-  {0x70f3, 0xe9bd8d},
-  {0x70f4, 0xe9bd8e},
-  {0x70f5, 0xe9bd8f},
-  {0x70f6, 0xe9bd90},
-  {0x70f7, 0xecb7a9},
-  {0x70f8, 0xe9bd91},
-  {0x70f9, 0xec97ab},
-  {0x70fa, 0xe9bd92},
-  {0x70fb, 0xe9bd93},
-  {0x70fc, 0xe9bd94},
-  {0x70fd, 0xeb9fa9},
-  {0x70fe, 0xe9bd95},
-  {0x70ff, 0xe9bd96},
-  {0x7100, 0xe9bd97},
-  {0x7101, 0xe9bd98},
-  {0x7102, 0xe9bd99},
-  {0x7103, 0xe9bd9a},
-  {0x7104, 0xe9bd9b},
-  {0x7105, 0xe9bd9c},
-  {0x7106, 0xe9bd9d},
-  {0x7107, 0xe9bd9e},
-  {0x7108, 0xe9bd9f},
-  {0x7109, 0xed8789},
-  {0x710a, 0xebaab8},
-  {0x710b, 0xe9bda0},
-  {0x710c, 0xe9bda1},
-  {0x710d, 0xe9bda2},
-  {0x710e, 0xe9bda3},
-  {0x710f, 0xe9bda4},
-  {0x7110, 0xeeb389},
-  {0x7111, 0xe9bda5},
-  {0x7112, 0xe9bda6},
-  {0x7113, 0xeeb38a},
-  {0x7114, 0xe9bda7},
-  {0x7115, 0xebaf80},
-  {0x7116, 0xeeb38b},
-  {0x7117, 0xe9bda8},
-  {0x7118, 0xeeb3a2},
-  {0x7119, 0xeb86ba},
-  {0x711a, 0xeb9f99},
-  {0x711b, 0xe9bda9},
-  {0x711c, 0xe9bdaa},
-  {0x711d, 0xe9bdab},
-  {0x711e, 0xe9bdac},
-  {0x711f, 0xe9bdad},
-  {0x7120, 0xe9bdae},
-  {0x7121, 0xe9bdaf},
-  {0x7122, 0xe9bdb0},
-  {0x7123, 0xe9bdb1},
-  {0x7124, 0xe9bdb2},
-  {0x7125, 0xe9bdb3},
-  {0x7126, 0xebb6b9},
-  {0x7127, 0xe9bdb4},
-  {0x7128, 0xe9bdb5},
-  {0x7129, 0xe9bdb6},
-  {0x712a, 0xe9bdb7},
-  {0x712b, 0xe9bdb8},
-  {0x712c, 0xe9bdb9},
-  {0x712d, 0xe9bdba},
-  {0x712e, 0xe9bdbb},
-  {0x712f, 0xeeb38c},
-  {0x7130, 0xed87a6},
-  {0x7131, 0xeeb38d},
-  {0x7132, 0xe9bdbc},
-  {0x7133, 0xe9bdbd},
-  {0x7134, 0xe9bdbe},
-  {0x7135, 0xe9be80},
-  {0x7136, 0xeca2bb},
-  {0x7137, 0xe9be81},
-  {0x7138, 0xe9be82},
-  {0x7139, 0xe9be83},
-  {0x713a, 0xe9be84},
-  {0x713b, 0xe9be85},
-  {0x713c, 0xe9be86},
-  {0x713d, 0xe9be87},
-  {0x713e, 0xe9be88},
-  {0x713f, 0xe9be89},
-  {0x7140, 0xe9be8a},
-  {0x7141, 0xe9be8b},
-  {0x7142, 0xe9be8c},
-  {0x7143, 0xe9be8d},
-  {0x7144, 0xe9be8e},
-  {0x7145, 0xeeb391},
-  {0x7146, 0xe9be8f},
-  {0x7147, 0xe9be90},
-  {0x7148, 0xe9be91},
-  {0x7149, 0xe9be92},
-  {0x714a, 0xeeb393},
-  {0x714b, 0xe9be93},
-  {0x714c, 0xebaf8d},
-  {0x714d, 0xe9be94},
-  {0x714e, 0xebb3a5},
-  {0x714f, 0xe9be95},
-  {0x7150, 0xe9be96},
-  {0x7151, 0xe9be97},
-  {0x7152, 0xe9be98},
-  {0x7153, 0xe9be99},
-  {0x7154, 0xe9be9a},
-  {0x7155, 0xe9be9b},
-  {0x7156, 0xe9be9c},
-  {0x7157, 0xe9be9d},
-  {0x7158, 0xe9be9e},
-  {0x7159, 0xe9be9f},
-  {0x715a, 0xe9bea0},
-  {0x715b, 0xe9bea1},
-  {0x715c, 0xeeb38f},
-  {0x715d, 0xe9bea2},
-  {0x715e, 0xeca6b7},
-  {0x715f, 0xe9bea3},
-  {0x7160, 0xe9bea4},
-  {0x7161, 0xe9bea5},
-  {0x7162, 0xe9bea6},
-  {0x7163, 0xe9bea7},
-  {0x7164, 0xec8eba},
-  {0x7165, 0xe9bea8},
-  {0x7166, 0xeeb3a3},
-  {0x7167, 0xed9795},
-  {0x7168, 0xeeb390},
-  {0x7169, 0xe9bea9},
-  {0x716a, 0xe9beaa},
-  {0x716b, 0xe9beab},
-  {0x716c, 0xe9beac},
-  {0x716d, 0xe9bead},
-  {0x716e, 0xed9bb3},
-  {0x716f, 0xe9beae},
-  {0x7170, 0xe9beaf},
-  {0x7171, 0xe9beb0},
-  {0x7172, 0xeeb392},
-  {0x7173, 0xeeb38e},
-  {0x7174, 0xe9beb1},
-  {0x7175, 0xe9beb2},
-  {0x7176, 0xe9beb3},
-  {0x7177, 0xe9beb4},
-  {0x7178, 0xeeb394},
-  {0x7179, 0xe9beb5},
-  {0x717a, 0xeeb395},
-  {0x717b, 0xe9beb6},
-  {0x717c, 0xe9beb7},
-  {0x717d, 0xeca6bf},
-  {0x717e, 0xe9beb8},
-  {0x717f, 0xe9beb9},
-  {0x7180, 0xe9beba},
-  {0x7181, 0xe9bebb},
-  {0x7182, 0xe9bebc},
-  {0x7183, 0xe9bebd},
-  {0x7184, 0xecbea8},
-  {0x7185, 0xe9bebe},
-  {0x7186, 0xe9bebf},
-  {0x7187, 0xe9bf80},
-  {0x7188, 0xe9bf81},
-  {0x7189, 0xe9bf82},
-  {0x718a, 0xed839c},
-  {0x718b, 0xe9bf83},
-  {0x718c, 0xe9bf84},
-  {0x718d, 0xe9bf85},
-  {0x718e, 0xe9bf86},
-  {0x718f, 0xed86ac},
-  {0x7190, 0xe9bf87},
-  {0x7191, 0xe9bf88},
-  {0x7192, 0xe9bf89},
-  {0x7193, 0xe9bf8a},
-  {0x7194, 0xeca39b},
-  {0x7195, 0xe9bf8b},
-  {0x7196, 0xe9bf8c},
-  {0x7197, 0xe9bf8d},
-  {0x7198, 0xeeb396},
-  {0x7199, 0xecbbb5},
-  {0x719a, 0xe9bf8e},
-  {0x719b, 0xe9bf8f},
-  {0x719c, 0xe9bf90},
-  {0x719d, 0xe9bf91},
-  {0x719e, 0xe9bf92},
-  {0x719f, 0xecabac},
-  {0x71a0, 0xeeb39a},
-  {0x71a1, 0xe9bf93},
-  {0x71a2, 0xe9bf94},
-  {0x71a3, 0xe9bf95},
-  {0x71a4, 0xe9bf96},
-  {0x71a5, 0xe9bf97},
-  {0x71a6, 0xe9bf98},
-  {0x71a7, 0xe9bf99},
-  {0x71a8, 0xeeb399},
-  {0x71a9, 0xe9bf9a},
-  {0x71aa, 0xe9bf9b},
-  {0x71ab, 0xe9bf9c},
-  {0x71ac, 0xeb82be},
-  {0x71ad, 0xe9bf9d},
-  {0x71ae, 0xe9bf9e},
-  {0x71af, 0xe9bf9f},
-  {0x71b0, 0xe9bfa0},
-  {0x71b1, 0xe9bfa1},
-  {0x71b2, 0xe9bfa2},
-  {0x71b3, 0xeeb397},
-  {0x71b4, 0xe9bfa3},
-  {0x71b5, 0xeeb398},
-  {0x71b6, 0xe9bfa4},
-  {0x71b7, 0xe9bfa5},
-  {0x71b8, 0xe9bfa6},
-  {0x71b9, 0xeeb3a4},
-  {0x71ba, 0xe9bfa7},
-  {0x71bb, 0xe9bfa8},
-  {0x71bc, 0xe9bfa9},
-  {0x71bd, 0xe9bfaa},
-  {0x71be, 0xe9bfab},
-  {0x71bf, 0xe9bfac},
-  {0x71c0, 0xe9bfad},
-  {0x71c1, 0xe9bfae},
-  {0x71c2, 0xe9bfaf},
-  {0x71c3, 0xeca2bc},
-  {0x71c4, 0xe9bfb0},
-  {0x71c5, 0xe9bfb1},
-  {0x71c6, 0xe9bfb2},
-  {0x71c7, 0xe9bfb3},
-  {0x71c8, 0xe9bfb4},
-  {0x71c9, 0xe9bfb5},
-  {0x71ca, 0xe9bfb6},
-  {0x71cb, 0xe9bfb7},
-  {0x71cc, 0xe9bfb8},
-  {0x71cd, 0xe9bfb9},
-  {0x71ce, 0xec8787},
-  {0x71cf, 0xe9bfba},
-  {0x71d0, 0xe9bfbb},
-  {0x71d1, 0xe9bfbc},
-  {0x71d2, 0xe9bfbd},
-  {0x71d3, 0xe9bfbe},
-  {0x71d4, 0xeeb39c},
-  {0x71d5, 0xed87a0},
-  {0x71d6, 0xea8180},
-  {0x71d7, 0xea8181},
-  {0x71d8, 0xea8182},
-  {0x71d9, 0xea8183},
-  {0x71da, 0xea8184},
-  {0x71db, 0xea8185},
-  {0x71dc, 0xea8186},
-  {0x71dd, 0xea8187},
-  {0x71de, 0xea8188},
-  {0x71df, 0xea8189},
-  {0x71e0, 0xeeb39b},
-  {0x71e1, 0xea818a},
-  {0x71e2, 0xea818b},
-  {0x71e3, 0xea818c},
-  {0x71e4, 0xea818d},
-  {0x71e5, 0xed93af},
-  {0x71e6, 0xea818e},
-  {0x71e7, 0xeeb39d},
-  {0x71e8, 0xea818f},
-  {0x71e9, 0xea8190},
-  {0x71ea, 0xea8191},
-  {0x71eb, 0xea8192},
-  {0x71ec, 0xea8193},
-  {0x71ed, 0xea8194},
-  {0x71ee, 0xedaf86},
-  {0x71ef, 0xea8195},
-  {0x71f0, 0xea8196},
-  {0x71f1, 0xea8197},
-  {0x71f2, 0xea8198},
-  {0x71f3, 0xea8199},
-  {0x71f4, 0xea819a},
-  {0x71f5, 0xea819b},
-  {0x71f6, 0xea819c},
-  {0x71f7, 0xea819d},
-  {0x71f8, 0xea819e},
-  {0x71f9, 0xeeb39e},
-  {0x71fa, 0xea819f},
-  {0x71fb, 0xea81a0},
-  {0x71fc, 0xea81a1},
-  {0x71fd, 0xea81a2},
-  {0x71fe, 0xea81a3},
-  {0x71ff, 0xea81a4},
-  {0x7200, 0xea81a5},
-  {0x7201, 0xea81a6},
-  {0x7202, 0xea81a7},
-  {0x7203, 0xea81a8},
-  {0x7204, 0xea81a9},
-  {0x7205, 0xea81aa},
-  {0x7206, 0xeb86ac},
-  {0x7207, 0xea81ab},
-  {0x7208, 0xea81ac},
-  {0x7209, 0xea81ad},
-  {0x720a, 0xea81ae},
-  {0x720b, 0xea81af},
-  {0x720c, 0xea81b0},
-  {0x720d, 0xea81b1},
-  {0x720e, 0xea81b2},
-  {0x720f, 0xea81b3},
-  {0x7210, 0xea81b4},
-  {0x7211, 0xea81b5},
-  {0x7212, 0xea81b6},
-  {0x7213, 0xea81b7},
-  {0x7214, 0xea81b8},
-  {0x7215, 0xea81b9},
-  {0x7216, 0xea81ba},
-  {0x7217, 0xea81bb},
-  {0x7218, 0xea81bc},
-  {0x7219, 0xea81bd},
-  {0x721a, 0xea81be},
-  {0x721b, 0xea8280},
-  {0x721c, 0xea8281},
-  {0x721d, 0xeeb39f},
-  {0x721e, 0xea8282},
-  {0x721f, 0xea8283},
-  {0x7220, 0xea8284},
-  {0x7221, 0xea8285},
-  {0x7222, 0xea8286},
-  {0x7223, 0xea8287},
-  {0x7224, 0xea8288},
-  {0x7225, 0xea8289},
-  {0x7226, 0xea828a},
-  {0x7227, 0xea828b},
-  {0x7228, 0xeeb3a0},
-  {0x7229, 0xea828c},
-  {0x722a, 0xed9ea6},
-  {0x722b, 0xea828d},
-  {0x722c, 0xec9780},
-  {0x722d, 0xea828e},
-  {0x722e, 0xea828f},
-  {0x722f, 0xea8290},
-  {0x7230, 0xeeaebc},
-  {0x7231, 0xeb82ae},
-  {0x7232, 0xea8291},
-  {0x7233, 0xea8292},
-  {0x7234, 0xea8293},
-  {0x7235, 0xebbbb4},
-  {0x7236, 0xeba2b8},
-  {0x7237, 0xed8aaf},
-  {0x7238, 0xeb8396},
-  {0x7239, 0xeb97b9},
-  {0x723a, 0xea8294},
-  {0x723b, 0xeda2b3},
-  {0x723c, 0xea8295},
-  {0x723d, 0xecaeac},
-  {0x723e, 0xea8296},
-  {0x723f, 0xee8f9d},
-  {0x7240, 0xea8297},
-  {0x7241, 0xea8298},
-  {0x7242, 0xea8299},
-  {0x7243, 0xea829a},
-  {0x7244, 0xea829b},
-  {0x7245, 0xea829c},
-  {0x7246, 0xea829d},
-  {0x7247, 0xec9aac},
-  {0x7248, 0xeb83a6},
-  {0x7249, 0xea829e},
-  {0x724a, 0xea829f},
-  {0x724b, 0xea82a0},
-  {0x724c, 0xec9786},
-  {0x724d, 0xeeaeb9},
-  {0x724e, 0xea82a1},
-  {0x724f, 0xea82a2},
-  {0x7250, 0xea82a3},
-  {0x7251, 0xea82a4},
-  {0x7252, 0xeeaeba},
-  {0x7253, 0xea82a5},
-  {0x7254, 0xea82a6},
-  {0x7255, 0xea82a7},
-  {0x7256, 0xeeaebb},
-  {0x7257, 0xea82a8},
-  {0x7258, 0xea82a9},
-  {0x7259, 0xed8780},
-  {0x725a, 0xea82aa},
-  {0x725b, 0xec96a3},
-  {0x725c, 0xea82ab},
-  {0x725d, 0xeeabb2},
-  {0x725e, 0xea82ac},
-  {0x725f, 0xec92b2},
-  {0x7260, 0xea82ad},
-  {0x7261, 0xec92b5},
-  {0x7262, 0xec838e},
-  {0x7263, 0xea82ae},
-  {0x7264, 0xea82af},
-  {0x7265, 0xea82b0},
-  {0x7266, 0xeeabb3},
-  {0x7267, 0xec9381},
-  {0x7268, 0xea82b1},
-  {0x7269, 0xecbbaf},
-  {0x726a, 0xea82b2},
-  {0x726b, 0xea82b3},
-  {0x726c, 0xea82b4},
-  {0x726d, 0xea82b5},
-  {0x726e, 0xeeabb0},
-  {0x726f, 0xeeabb4},
-  {0x7270, 0xea82b6},
-  {0x7271, 0xea82b7},
-  {0x7272, 0xeca7bc},
-  {0x7273, 0xea82b8},
-  {0x7274, 0xea82b9},
-  {0x7275, 0xec9ea3},
-  {0x7276, 0xea82ba},
-  {0x7277, 0xea82bb},
-  {0x7278, 0xea82bc},
-  {0x7279, 0xecb398},
-  {0x727a, 0xecbbbe},
-  {0x727b, 0xea82bd},
-  {0x727c, 0xea82be},
-  {0x727d, 0xea82bf},
-  {0x727e, 0xeeabb5},
-  {0x727f, 0xeeabb6},
-  {0x7280, 0xecbeac},
-  {0x7281, 0xec83a7},
-  {0x7282, 0xea8380},
-  {0x7283, 0xea8381},
-  {0x7284, 0xeeabb7},
-  {0x7285, 0xea8382},
-  {0x7286, 0xea8383},
-  {0x7287, 0xea8384},
-  {0x7288, 0xea8385},
-  {0x7289, 0xea8386},
-  {0x728a, 0xeb9abf},
-  {0x728b, 0xeeabb8},
-  {0x728c, 0xea8387},
-  {0x728d, 0xeeabb9},
-  {0x728e, 0xea8388},
-  {0x728f, 0xeeabba},
-  {0x7290, 0xea8389},
-  {0x7291, 0xea838a},
-  {0x7292, 0xeeabbb},
-  {0x7293, 0xea838b},
-  {0x7294, 0xea838c},
-  {0x7295, 0xea838d},
-  {0x7296, 0xea838e},
-  {0x7297, 0xea838f},
-  {0x7298, 0xea8390},
-  {0x7299, 0xea8391},
-  {0x729a, 0xea8392},
-  {0x729b, 0xea8393},
-  {0x729c, 0xea8394},
-  {0x729d, 0xea8395},
-  {0x729e, 0xea8396},
-  {0x729f, 0xeeabb1},
-  {0x72a0, 0xea8397},
-  {0x72a1, 0xea8398},
-  {0x72a2, 0xea8399},
-  {0x72a3, 0xea839a},
-  {0x72a4, 0xea839b},
-  {0x72a5, 0xea839c},
-  {0x72a6, 0xea839d},
-  {0x72a7, 0xea839e},
-  {0x72a8, 0xea839f},
-  {0x72a9, 0xea83a0},
-  {0x72aa, 0xea83a1},
-  {0x72ab, 0xea83a2},
-  {0x72ac, 0xeca2ae},
-  {0x72ad, 0xee87ab},
-  {0x72ae, 0xea83a3},
-  {0x72af, 0xeb9eb8},
-  {0x72b0, 0xee87ac},
-  {0x72b1, 0xea83a4},
-  {0x72b2, 0xea83a5},
-  {0x72b3, 0xea83a6},
-  {0x72b4, 0xee87ad},
-  {0x72b5, 0xea83a7},
-  {0x72b6, 0xed9eb4},
-  {0x72b7, 0xee87ae},
-  {0x72b8, 0xee87af},
-  {0x72b9, 0xed8f8c},
-  {0x72ba, 0xea83a8},
-  {0x72bb, 0xea83a9},
-  {0x72bc, 0xea83aa},
-  {0x72bd, 0xea83ab},
-  {0x72be, 0xea83ac},
-  {0x72bf, 0xea83ad},
-  {0x72c0, 0xea83ae},
-  {0x72c1, 0xee87b1},
-  {0x72c2, 0xebbfb1},
-  {0x72c3, 0xee87b0},
-  {0x72c4, 0xeb9792},
-  {0x72c5, 0xea83af},
-  {0x72c6, 0xea83b0},
-  {0x72c7, 0xea83b1},
-  {0x72c8, 0xeb86b7},
-  {0x72c9, 0xea83b2},
-  {0x72ca, 0xea83b3},
-  {0x72cb, 0xea83b4},
-  {0x72cc, 0xea83b5},
-  {0x72cd, 0xee87b3},
-  {0x72ce, 0xee87b2},
-  {0x72cf, 0xea83b6},
-  {0x72d0, 0xebabbc},
-  {0x72d1, 0xea83b7},
-  {0x72d2, 0xee87b4},
-  {0x72d3, 0xea83b8},
-  {0x72d4, 0xea83b9},
-  {0x72d5, 0xea83ba},
-  {0x72d6, 0xea83bb},
-  {0x72d7, 0xeba6b7},
-  {0x72d8, 0xea83bc},
-  {0x72d9, 0xebbb91},
-  {0x72da, 0xea83bd},
-  {0x72db, 0xea83be},
-  {0x72dc, 0xeaa980},
-  {0x72dd, 0xeaa981},
-  {0x72de, 0xec93bc},
-  {0x72df, 0xeaa982},
-  {0x72e0, 0xebab9d},
-  {0x72e1, 0xebb786},
-  {0x72e2, 0xeaa983},
-  {0x72e3, 0xeaa984},
-  {0x72e4, 0xeaa985},
-  {0x72e5, 0xeaa986},
-  {0x72e6, 0xeaa987},
-  {0x72e7, 0xeaa988},
-  {0x72e8, 0xee87b5},
-  {0x72e9, 0xee87b7},
-  {0x72ea, 0xeaa989},
-  {0x72eb, 0xeaa98a},
-  {0x72ec, 0xeb9b80},
-  {0x72ed, 0xecbf81},
-  {0x72ee, 0xecaaa8},
-  {0x72ef, 0xee87b6},
-  {0x72f0, 0xed97b8},
-  {0x72f1, 0xed8fbc},
-  {0x72f2, 0xee87b8},
-  {0x72f3, 0xee87bc},
-  {0x72f4, 0xee87b9},
-  {0x72f5, 0xeaa98b},
-  {0x72f6, 0xeaa98c},
-  {0x72f7, 0xee87ba},
-  {0x72f8, 0xec83aa},
-  {0x72f9, 0xeaa98d},
-  {0x72fa, 0xee87be},
-  {0x72fb, 0xee8aa1},
-  {0x72fc, 0xec8387},
-  {0x72fd, 0xeaa98e},
-  {0x72fe, 0xeaa98f},
-  {0x72ff, 0xeaa990},
-  {0x7300, 0xeaa991},
-  {0x7301, 0xee87bb},
-  {0x7302, 0xeaa992},
-  {0x7303, 0xee87bd},
-  {0x7304, 0xeaa993},
-  {0x7305, 0xeaa994},
-  {0x7306, 0xeaa995},
-  {0x7307, 0xeaa996},
-  {0x7308, 0xeaa997},
-  {0x7309, 0xeaa998},
-  {0x730a, 0xee8aa5},
-  {0x730b, 0xeaa999},
-  {0x730c, 0xeaa99a},
-  {0x730d, 0xeaa99b},
-  {0x730e, 0xec8794},
-  {0x730f, 0xeaa99c},
-  {0x7310, 0xeaa99d},
-  {0x7311, 0xeaa99e},
-  {0x7312, 0xeaa99f},
-  {0x7313, 0xee8aa3},
-  {0x7314, 0xeaa9a0},
-  {0x7315, 0xee8aa8},
-  {0x7316, 0xeb8bbe},
-  {0x7317, 0xee8aa2},
-  {0x7318, 0xeaa9a1},
-  {0x7319, 0xeaa9a2},
-  {0x731a, 0xeaa9a3},
-  {0x731b, 0xec8f8d},
-  {0x731c, 0xeb8b82},
-  {0x731d, 0xee8aa7},
-  {0x731e, 0xee8aa6},
-  {0x731f, 0xeaa9a4},
-  {0x7320, 0xeaa9a5},
-  {0x7321, 0xee8aa4},
-  {0x7322, 0xee8aa9},
-  {0x7323, 0xeaa9a6},
-  {0x7324, 0xeaa9a7},
-  {0x7325, 0xee8aab},
-  {0x7326, 0xeaa9a8},
-  {0x7327, 0xeaa9a9},
-  {0x7328, 0xeaa9aa},
-  {0x7329, 0xed8389},
-  {0x732a, 0xed9bad},
-  {0x732b, 0xec8ea8},
-  {0x732c, 0xee8aac},
-  {0x732d, 0xeaa9ab},
-  {0x732e, 0xecbf97},
-  {0x732f, 0xeaa9ac},
-  {0x7330, 0xeaa9ad},
-  {0x7331, 0xee8aae},
-  {0x7332, 0xeaa9ae},
-  {0x7333, 0xeaa9af},
-  {0x7334, 0xebabaf},
-  {0x7335, 0xeaa9b0},
-  {0x7336, 0xeaa9b1},
-  {0x7337, 0xeea7a0},
-  {0x7338, 0xee8aad},
-  {0x7339, 0xee8aaa},
-  {0x733a, 0xeaa9b2},
-  {0x733b, 0xeaa9b3},
-  {0x733c, 0xeaa9b4},
-  {0x733d, 0xeaa9b5},
-  {0x733e, 0xebaeab},
-  {0x733f, 0xed92b3},
-  {0x7340, 0xeaa9b6},
-  {0x7341, 0xeaa9b7},
-  {0x7342, 0xeaa9b8},
-  {0x7343, 0xeaa9b9},
-  {0x7344, 0xeaa9ba},
-  {0x7345, 0xeaa9bb},
-  {0x7346, 0xeaa9bc},
-  {0x7347, 0xeaa9bd},
-  {0x7348, 0xeaa9be},
-  {0x7349, 0xeaaa80},
-  {0x734a, 0xeaaa81},
-  {0x734b, 0xeaaa82},
-  {0x734c, 0xeaaa83},
-  {0x734d, 0xee8ab0},
-  {0x734e, 0xeaaa84},
-  {0x734f, 0xeaaa85},
-  {0x7350, 0xee8aaf},
-  {0x7351, 0xeaaa86},
-  {0x7352, 0xeea7a1},
-  {0x7353, 0xeaaa87},
-  {0x7354, 0xeaaa88},
-  {0x7355, 0xeaaa89},
-  {0x7356, 0xeaaa8a},
-  {0x7357, 0xee8ab1},
-  {0x7358, 0xeaaa8b},
-  {0x7359, 0xeaaa8c},
-  {0x735a, 0xeaaa8d},
-  {0x735b, 0xeaaa8e},
-  {0x735c, 0xeaaa8f},
-  {0x735d, 0xeaaa90},
-  {0x735e, 0xeaaa91},
-  {0x735f, 0xeaaa92},
-  {0x7360, 0xee8ab2},
-  {0x7361, 0xeaaa93},
-  {0x7362, 0xeaaa94},
-  {0x7363, 0xeaaa95},
-  {0x7364, 0xeaaa96},
-  {0x7365, 0xeaaa97},
-  {0x7366, 0xeaaa98},
-  {0x7367, 0xeaaa99},
-  {0x7368, 0xeaaa9a},
-  {0x7369, 0xeaaa9b},
-  {0x736a, 0xeaaa9c},
-  {0x736b, 0xeaaa9d},
-  {0x736c, 0xee8ab3},
-  {0x736d, 0xecb2a1},
-  {0x736e, 0xeaaa9e},
-  {0x736f, 0xee8ab4},
-  {0x7370, 0xeaaa9f},
-  {0x7371, 0xeaaaa0},
-  {0x7372, 0xeaad80},
-  {0x7373, 0xeaad81},
-  {0x7374, 0xeaad82},
-  {0x7375, 0xeaad83},
-  {0x7376, 0xeaad84},
-  {0x7377, 0xeaad85},
-  {0x7378, 0xeaad86},
-  {0x7379, 0xeaad87},
-  {0x737a, 0xeaad88},
-  {0x737b, 0xeaad89},
-  {0x737c, 0xeaad8a},
-  {0x737d, 0xeaad8b},
-  {0x737e, 0xee8ab5},
-  {0x737f, 0xeaad8c},
-  {0x7380, 0xeaad8d},
-  {0x7381, 0xeaad8e},
-  {0x7382, 0xeaad8f},
-  {0x7383, 0xeaad90},
-  {0x7384, 0xed83be},
-  {0x7385, 0xeaad91},
-  {0x7386, 0xeaad92},
-  {0x7387, 0xec8b8a},
-  {0x7388, 0xeaad93},
-  {0x7389, 0xed8fb1},
-  {0x738a, 0xeaad94},
-  {0x738b, 0xecb7b5},
-  {0x738c, 0xeaad95},
-  {0x738d, 0xeaad96},
-  {0x738e, 0xee9fa0},
-  {0x738f, 0xeaad97},
-  {0x7390, 0xeaad98},
-  {0x7391, 0xee9fa1},
-  {0x7392, 0xeaad99},
-  {0x7393, 0xeaad9a},
-  {0x7394, 0xeaad9b},
-  {0x7395, 0xeaad9c},
-  {0x7396, 0xebbb81},
-  {0x7397, 0xeaad9d},
-  {0x7398, 0xeaad9e},
-  {0x7399, 0xeaad9f},
-  {0x739a, 0xeaada0},
-  {0x739b, 0xec8baa},
-  {0x739c, 0xeaada1},
-  {0x739d, 0xeaada2},
-  {0x739e, 0xeaada3},
-  {0x739f, 0xee9fa4},
-  {0x73a0, 0xeaada4},
-  {0x73a1, 0xeaada5},
-  {0x73a2, 0xee9fa3},
-  {0x73a3, 0xeaada6},
-  {0x73a4, 0xeaada7},
-  {0x73a5, 0xeaada8},
-  {0x73a6, 0xeaada9},
-  {0x73a7, 0xeaadaa},
-  {0x73a8, 0xeaadab},
-  {0x73a9, 0xecb7a6},
-  {0x73aa, 0xeaadac},
-  {0x73ab, 0xec8eb5},
-  {0x73ac, 0xeaadad},
-  {0x73ad, 0xeaadae},
-  {0x73ae, 0xee9fa2},
-  {0x73af, 0xebaeb7},
-  {0x73b0, 0xecbf96},
-  {0x73b1, 0xeaadaf},
-  {0x73b2, 0xec87a1},
-  {0x73b3, 0xee9fa9},
-  {0x73b4, 0xeaadb0},
-  {0x73b5, 0xeaadb1},
-  {0x73b6, 0xeaadb2},
-  {0x73b7, 0xee9fa8},
-  {0x73b8, 0xeaadb3},
-  {0x73b9, 0xeaadb4},
-  {0x73ba, 0xee9fb4},
-  {0x73bb, 0xeb8aa3},
-  {0x73bc, 0xeaadb5},
-  {0x73bd, 0xeaadb6},
-  {0x73be, 0xeaadb7},
-  {0x73bf, 0xeaadb8},
-  {0x73c0, 0xee9faa},
-  {0x73c1, 0xeaadb9},
-  {0x73c2, 0xee9fa6},
-  {0x73c3, 0xeaadba},
-  {0x73c4, 0xeaadbb},
-  {0x73c5, 0xeaadbc},
-  {0x73c6, 0xeaadbd},
-  {0x73c7, 0xeaadbe},
-  {0x73c8, 0xee9fac},
-  {0x73c9, 0xee9fab},
-  {0x73ca, 0xeca6ba},
-  {0x73cb, 0xeaae80},
-  {0x73cc, 0xeaae81},
-  {0x73cd, 0xed97a4},
-  {0x73ce, 0xeaae82},
-  {0x73cf, 0xee9fa5},
-  {0x73d0, 0xeb9ea9},
-  {0x73d1, 0xee9fa7},
-  {0x73d2, 0xeaae83},
-  {0x73d3, 0xeaae84},
-  {0x73d4, 0xeaae85},
-  {0x73d5, 0xeaae86},
-  {0x73d6, 0xeaae87},
-  {0x73d7, 0xeaae88},
-  {0x73d8, 0xeaae89},
-  {0x73d9, 0xee9fae},
-  {0x73da, 0xeaae8a},
-  {0x73db, 0xeaae8b},
-  {0x73dc, 0xeaae8c},
-  {0x73dd, 0xeaae8d},
-  {0x73de, 0xee9fb3},
-  {0x73df, 0xeaae8e},
-  {0x73e0, 0xed9ba9},
-  {0x73e1, 0xeaae8f},
-  {0x73e2, 0xeaae90},
-  {0x73e3, 0xeaae91},
-  {0x73e4, 0xeaae92},
-  {0x73e5, 0xee9fad},
-  {0x73e6, 0xeaae93},
-  {0x73e7, 0xee9fb2},
-  {0x73e8, 0xeaae94},
-  {0x73e9, 0xee9fb1},
-  {0x73ea, 0xeaae95},
-  {0x73eb, 0xeaae96},
-  {0x73ec, 0xeaae97},
-  {0x73ed, 0xeb83a0},
-  {0x73ee, 0xeaae98},
-  {0x73ef, 0xeaae99},
-  {0x73f0, 0xeaae9a},
-  {0x73f1, 0xeaae9b},
-  {0x73f2, 0xee9fb5},
-  {0x73f3, 0xeaae9c},
-  {0x73f4, 0xeaae9d},
-  {0x73f5, 0xeaae9e},
-  {0x73f6, 0xeaae9f},
-  {0x73f7, 0xeaaea0},
-  {0x73f8, 0xeab180},
-  {0x73f9, 0xeab181},
-  {0x73fa, 0xeab182},
-  {0x73fb, 0xeab183},
-  {0x73fc, 0xeab184},
-  {0x73fd, 0xeab185},
-  {0x73fe, 0xeab186},
-  {0x73ff, 0xeab187},
-  {0x7400, 0xeab188},
-  {0x7401, 0xeab189},
-  {0x7402, 0xeab18a},
-  {0x7403, 0xec9fb2},
-  {0x7404, 0xeab18b},
-  {0x7405, 0xec8385},
-  {0x7406, 0xec83ad},
-  {0x7407, 0xeab18c},
-  {0x7408, 0xeab18d},
-  {0x7409, 0xec87b0},
-  {0x740a, 0xee9fb0},
-  {0x740b, 0xeab18e},
-  {0x740c, 0xeab18f},
-  {0x740d, 0xeab190},
-  {0x740e, 0xeab191},
-  {0x740f, 0xee9fb6},
-  {0x7410, 0xecafb6},
-  {0x7411, 0xeab192},
-  {0x7412, 0xeab193},
-  {0x7413, 0xeab194},
-  {0x7414, 0xeab195},
-  {0x7415, 0xeab196},
-  {0x7416, 0xeab197},
-  {0x7417, 0xeab198},
-  {0x7418, 0xeab199},
-  {0x7419, 0xeab19a},
-  {0x741a, 0xeea2a2},
-  {0x741b, 0xeea2a1},
-  {0x741c, 0xeab19b},
-  {0x741d, 0xeab19c},
-  {0x741e, 0xeab19d},
-  {0x741f, 0xeab19e},
-  {0x7420, 0xeab19f},
-  {0x7421, 0xeab1a0},
-  {0x7422, 0xed9f81},
-  {0x7423, 0xeab1a1},
-  {0x7424, 0xeab1a2},
-  {0x7425, 0xee9fba},
-  {0x7426, 0xee9fb9},
-  {0x7427, 0xeab1a3},
-  {0x7428, 0xee9fbb},
-  {0x7429, 0xeab1a4},
-  {0x742a, 0xee9fb7},
-  {0x742b, 0xeab1a5},
-  {0x742c, 0xee9fbe},
-  {0x742d, 0xeab1a6},
-  {0x742e, 0xee9fbd},
-  {0x742f, 0xeab1a7},
-  {0x7430, 0xee9fbc},
-  {0x7431, 0xeab1a8},
-  {0x7432, 0xeab1a9},
-  {0x7433, 0xec8795},
-  {0x7434, 0xec9f99},
-  {0x7435, 0xec97bd},
-  {0x7436, 0xec9783},
-  {0x7437, 0xeab1aa},
-  {0x7438, 0xeab1ab},
-  {0x7439, 0xeab1ac},
-  {0x743a, 0xeab1ad},
-  {0x743b, 0xeab1ae},
-  {0x743c, 0xec9fad},
-  {0x743d, 0xeab1af},
-  {0x743e, 0xeab1b0},
-  {0x743f, 0xeab1b1},
-  {0x7440, 0xeab1b2},
-  {0x7441, 0xeea2a3},
-  {0x7442, 0xeab1b3},
-  {0x7443, 0xeab1b4},
-  {0x7444, 0xeab1b5},
-  {0x7445, 0xeab1b6},
-  {0x7446, 0xeab1b7},
-  {0x7447, 0xeab1b8},
-  {0x7448, 0xeab1b9},
-  {0x7449, 0xeab1ba},
-  {0x744a, 0xeab1bb},
-  {0x744b, 0xeab1bc},
-  {0x744c, 0xeab1bd},
-  {0x744d, 0xeab1be},
-  {0x744e, 0xeab280},
-  {0x744f, 0xeab281},
-  {0x7450, 0xeab282},
-  {0x7451, 0xeab283},
-  {0x7452, 0xeab284},
-  {0x7453, 0xeab285},
-  {0x7454, 0xeab286},
-  {0x7455, 0xeea2a6},
-  {0x7456, 0xeab287},
-  {0x7457, 0xeea2a5},
-  {0x7458, 0xeab288},
-  {0x7459, 0xeea2a7},
-  {0x745a, 0xebabb7},
-  {0x745b, 0xee9fb8},
-  {0x745c, 0xeea2a4},
-  {0x745d, 0xeab289},
-  {0x745e, 0xeca3b0},
-  {0x745f, 0xeca6aa},
-  {0x7460, 0xeab28a},
-  {0x7461, 0xeab28b},
-  {0x7462, 0xeab28c},
-  {0x7463, 0xeab28d},
-  {0x7464, 0xeab28e},
-  {0x7465, 0xeab28f},
-  {0x7466, 0xeab290},
-  {0x7467, 0xeab291},
-  {0x7468, 0xeab292},
-  {0x7469, 0xeab293},
-  {0x746a, 0xeab294},
-  {0x746b, 0xeab295},
-  {0x746c, 0xeab296},
-  {0x746d, 0xeea2a9},
-  {0x746e, 0xeab297},
-  {0x746f, 0xeab298},
-  {0x7470, 0xeba7a5},
-  {0x7471, 0xeab299},
-  {0x7472, 0xeab29a},
-  {0x7473, 0xeab29b},
-  {0x7474, 0xeab29c},
-  {0x7475, 0xeab29d},
-  {0x7476, 0xed87be},
-  {0x7477, 0xeea2a8},
-  {0x7478, 0xeab29e},
-  {0x7479, 0xeab29f},
-  {0x747a, 0xeab2a0},
-  {0x747b, 0xeab580},
-  {0x747c, 0xeab581},
-  {0x747d, 0xeab582},
-  {0x747e, 0xeea2aa},
-  {0x747f, 0xeab583},
-  {0x7480, 0xeea2ad},
-  {0x7481, 0xeea2ae},
-  {0x7482, 0xeab584},
-  {0x7483, 0xec86a7},
-  {0x7484, 0xeab585},
-  {0x7485, 0xeab586},
-  {0x7486, 0xeab587},
-  {0x7487, 0xeea2af},
-  {0x7488, 0xeab588},
-  {0x7489, 0xeab589},
-  {0x748a, 0xeab58a},
-  {0x748b, 0xeea2b0},
-  {0x748c, 0xeab58b},
-  {0x748d, 0xeab58c},
-  {0x748e, 0xeea2ac},
-  {0x748f, 0xeab58d},
-  {0x7490, 0xeea2b4},
-  {0x7491, 0xeab58e},
-  {0x7492, 0xeab58f},
-  {0x7493, 0xeab590},
-  {0x7494, 0xeab591},
-  {0x7495, 0xeab592},
-  {0x7496, 0xeab593},
-  {0x7497, 0xeab594},
-  {0x7498, 0xeab595},
-  {0x7499, 0xeab596},
-  {0x749a, 0xeab597},
-  {0x749b, 0xeab598},
-  {0x749c, 0xeea2ab},
-  {0x749d, 0xeab599},
-  {0x749e, 0xeea2b1},
-  {0x749f, 0xeab59a},
-  {0x74a0, 0xeab59b},
-  {0x74a1, 0xeab59c},
-  {0x74a2, 0xeab59d},
-  {0x74a3, 0xeab59e},
-  {0x74a4, 0xeab59f},
-  {0x74a5, 0xeab5a0},
-  {0x74a6, 0xeab5a1},
-  {0x74a7, 0xeea2b5},
-  {0x74a8, 0xeea2b2},
-  {0x74a9, 0xeea2b3},
-  {0x74aa, 0xeab5a2},
-  {0x74ab, 0xeab5a3},
-  {0x74ac, 0xeab5a4},
-  {0x74ad, 0xeab5a5},
-  {0x74ae, 0xeab5a6},
-  {0x74af, 0xeab5a7},
-  {0x74b0, 0xeab5a8},
-  {0x74b1, 0xeab5a9},
-  {0x74b2, 0xeab5aa},
-  {0x74b3, 0xeab5ab},
-  {0x74b4, 0xeab5ac},
-  {0x74b5, 0xeab5ad},
-  {0x74b6, 0xeab5ae},
-  {0x74b7, 0xeab5af},
-  {0x74b8, 0xeab5b0},
-  {0x74b9, 0xeab5b1},
-  {0x74ba, 0xeea2b7},
-  {0x74bb, 0xeab5b2},
-  {0x74bc, 0xeab5b3},
-  {0x74bd, 0xeab5b4},
-  {0x74be, 0xeab5b5},
-  {0x74bf, 0xeab5b6},
-  {0x74c0, 0xeab5b7},
-  {0x74c1, 0xeab5b8},
-  {0x74c2, 0xeab5b9},
-  {0x74c3, 0xeab5ba},
-  {0x74c4, 0xeab5bb},
-  {0x74c5, 0xeab5bc},
-  {0x74c6, 0xeab5bd},
-  {0x74c7, 0xeab5be},
-  {0x74c8, 0xeab680},
-  {0x74c9, 0xeab681},
-  {0x74ca, 0xeab682},
-  {0x74cb, 0xeab683},
-  {0x74cc, 0xeab684},
-  {0x74cd, 0xeab685},
-  {0x74ce, 0xeab686},
-  {0x74cf, 0xeab687},
-  {0x74d0, 0xeab688},
-  {0x74d1, 0xeab689},
-  {0x74d2, 0xeea2b6},
-  {0x74d3, 0xeab68a},
-  {0x74d4, 0xeab68b},
-  {0x74d5, 0xeab68c},
-  {0x74d6, 0xeab68d},
-  {0x74d7, 0xeab68e},
-  {0x74d8, 0xeab68f},
-  {0x74d9, 0xeab690},
-  {0x74da, 0xeab691},
-  {0x74db, 0xeab692},
-  {0x74dc, 0xeba78f},
-  {0x74dd, 0xeab693},
-  {0x74de, 0xef82ac},
-  {0x74df, 0xeab694},
-  {0x74e0, 0xef82ad},
-  {0x74e1, 0xeab695},
-  {0x74e2, 0xec9ab0},
-  {0x74e3, 0xeb83aa},
-  {0x74e4, 0xeca2bf},
-  {0x74e5, 0xeab696},
-  {0x74e6, 0xecb79f},
-  {0x74e7, 0xeab697},
-  {0x74e8, 0xeab698},
-  {0x74e9, 0xeab699},
-  {0x74ea, 0xeab69a},
-  {0x74eb, 0xeab69b},
-  {0x74ec, 0xeab69c},
-  {0x74ed, 0xeab69d},
-  {0x74ee, 0xecbb8d},
-  {0x74ef, 0xeeaab1},
-  {0x74f0, 0xeab69e},
-  {0x74f1, 0xeab69f},
-  {0x74f2, 0xeab6a0},
-  {0x74f3, 0xeab980},
-  {0x74f4, 0xeeaab2},
-  {0x74f5, 0xeab981},
-  {0x74f6, 0xec9abf},
-  {0x74f7, 0xeb9389},
-  {0x74f8, 0xeab982},
-  {0x74f9, 0xeab983},
-  {0x74fa, 0xeab984},
-  {0x74fb, 0xeab985},
-  {0x74fc, 0xeab986},
-  {0x74fd, 0xeab987},
-  {0x74fe, 0xeab988},
-  {0x74ff, 0xeeaab3},
-  {0x7500, 0xeab989},
-  {0x7501, 0xeab98a},
-  {0x7502, 0xeab98b},
-  {0x7503, 0xeab98c},
-  {0x7504, 0xed97a7},
-  {0x7505, 0xeab98d},
-  {0x7506, 0xeab98e},
-  {0x7507, 0xeab98f},
-  {0x7508, 0xeab990},
-  {0x7509, 0xeab991},
-  {0x750a, 0xeab992},
-  {0x750b, 0xeab993},
-  {0x750c, 0xeab994},
-  {0x750d, 0xedb7b9},
-  {0x750e, 0xeab995},
-  {0x750f, 0xeeaab4},
-  {0x7510, 0xeab996},
-  {0x7511, 0xeeaab5},
-  {0x7512, 0xeab997},
-  {0x7513, 0xeeaab6},
-  {0x7514, 0xeab998},
-  {0x7515, 0xeab999},
-  {0x7516, 0xeab99a},
-  {0x7517, 0xeab99b},
-  {0x7518, 0xeba38a},
-  {0x7519, 0xedbeb0},
-  {0x751a, 0xeca7b5},
-  {0x751b, 0xeab99c},
-  {0x751c, 0xecb3b0},
-  {0x751d, 0xeab99d},
-  {0x751e, 0xeab99e},
-  {0x751f, 0xeca7ba},
-  {0x7520, 0xeab99f},
-  {0x7521, 0xeab9a0},
-  {0x7522, 0xeab9a1},
-  {0x7523, 0xeab9a2},
-  {0x7524, 0xeab9a3},
-  {0x7525, 0xeca7bb},
-  {0x7526, 0xeab9a4},
-  {0x7527, 0xeab9a5},
-  {0x7528, 0xed8f83},
-  {0x7529, 0xecaea6},
-  {0x752a, 0xeab9a6},
-  {0x752b, 0xeba2a6},
-  {0x752c, 0xef82ae},
-  {0x752d, 0xeb8782},
-  {0x752e, 0xeab9a7},
-  {0x752f, 0xee96b8},
-  {0x7530, 0xecb3af},
-  {0x7531, 0xed8f89},
-  {0x7532, 0xebb397},
-  {0x7533, 0xeca7aa},
-  {0x7534, 0xeab9a8},
-  {0x7535, 0xeb97a7},
-  {0x7536, 0xeab9a9},
-  {0x7537, 0xec9390},
-  {0x7538, 0xeb97a9},
-  {0x7539, 0xeab9aa},
-  {0x753a, 0xeebaae},
-  {0x753b, 0xebaead},
-  {0x753c, 0xeab9ab},
-  {0x753d, 0xeab9ac},
-  {0x753e, 0xee9f9e},
-  {0x753f, 0xeab9ad},
-  {0x7540, 0xeebaaf},
-  {0x7541, 0xeab9ae},
-  {0x7542, 0xeab9af},
-  {0x7543, 0xeab9b0},
-  {0x7544, 0xeab9b1},
-  {0x7545, 0xeb8ea9},
-  {0x7546, 0xeab9b2},
-  {0x7547, 0xeab9b3},
-  {0x7548, 0xeebab2},
-  {0x7549, 0xeab9b4},
-  {0x754a, 0xeab9b5},
-  {0x754b, 0xeebab1},
-  {0x754c, 0xebb7a7},
-  {0x754d, 0xeab9b6},
-  {0x754e, 0xeebab0},
-  {0x754f, 0xecbab7},
-  {0x7550, 0xeab9b7},
-  {0x7551, 0xeab9b8},
-  {0x7552, 0xeab9b9},
-  {0x7553, 0xeab9ba},
-  {0x7554, 0xec978f},
-  {0x7555, 0xeab9bb},
-  {0x7556, 0xeab9bc},
-  {0x7557, 0xeab9bd},
-  {0x7558, 0xeab9be},
-  {0x7559, 0xec87b4},
-  {0x755a, 0xedaf8e},
-  {0x755b, 0xeebab3},
-  {0x755c, 0xed83b3},
-  {0x755d, 0xeaba80},
-  {0x755e, 0xeaba81},
-  {0x755f, 0xeaba82},
-  {0x7560, 0xeaba83},
-  {0x7561, 0xeaba84},
-  {0x7562, 0xeaba85},
-  {0x7563, 0xeaba86},
-  {0x7564, 0xeaba87},
-  {0x7565, 0xec8b94},
-  {0x7566, 0xec9ba8},
-  {0x7567, 0xeaba88},
-  {0x7568, 0xeaba89},
-  {0x7569, 0xeaba8a},
-  {0x756a, 0xeb9eac},
-  {0x756b, 0xeaba8b},
-  {0x756c, 0xeaba8c},
-  {0x756d, 0xeaba8d},
-  {0x756e, 0xeaba8e},
-  {0x756f, 0xeaba8f},
-  {0x7570, 0xeaba90},
-  {0x7571, 0xeaba91},
-  {0x7572, 0xeebab4},
-  {0x7573, 0xeaba92},
-  {0x7574, 0xeb8fab},
-  {0x7575, 0xeaba93},
-  {0x7576, 0xeaba94},
-  {0x7577, 0xeaba95},
-  {0x7578, 0xebafbb},
-  {0x7579, 0xeebab5},
-  {0x757a, 0xeaba96},
-  {0x757b, 0xeaba97},
-  {0x757c, 0xeaba98},
-  {0x757d, 0xeaba99},
-  {0x757e, 0xeaba9a},
-  {0x757f, 0xee9f9c},
-  {0x7580, 0xeaba9b},
-  {0x7581, 0xeaba9c},
-  {0x7582, 0xeaba9d},
-  {0x7583, 0xeebab6},
-  {0x7584, 0xeaba9e},
-  {0x7585, 0xeaba9f},
-  {0x7586, 0xebb6ae},
-  {0x7587, 0xeabaa0},
-  {0x7588, 0xeabd80},
-  {0x7589, 0xeabd81},
-  {0x758a, 0xeabd82},
-  {0x758b, 0xef87a2},
-  {0x758c, 0xeabd83},
-  {0x758d, 0xeabd84},
-  {0x758e, 0xeabd85},
-  {0x758f, 0xecaba8},
-  {0x7590, 0xeabd86},
-  {0x7591, 0xed8b89},
-  {0x7592, 0xef839a},
-  {0x7593, 0xeabd87},
-  {0x7594, 0xef839b},
-  {0x7595, 0xeabd88},
-  {0x7596, 0xef839c},
-  {0x7597, 0xec8786},
-  {0x7598, 0xeabd89},
-  {0x7599, 0xeba3ad},
-  {0x759a, 0xebbb8e},
-  {0x759b, 0xeabd8a},
-  {0x759c, 0xeabd8b},
-  {0x759d, 0xef839e},
-  {0x759e, 0xeabd8c},
-  {0x759f, 0xec96b1},
-  {0x75a0, 0xef839d},
-  {0x75a1, 0xed87b1},
-  {0x75a2, 0xeabd8d},
-  {0x75a3, 0xef83a0},
-  {0x75a4, 0xeb838c},
-  {0x75a5, 0xebb7aa},
-  {0x75a6, 0xeabd8e},
-  {0x75a7, 0xeabd8f},
-  {0x75a8, 0xeabd90},
-  {0x75a9, 0xeabd91},
-  {0x75aa, 0xeabd92},
-  {0x75ab, 0xed8b9f},
-  {0x75ac, 0xef839f},
-  {0x75ad, 0xeabd93},
-  {0x75ae, 0xeb92af},
-  {0x75af, 0xeb9fa8},
-  {0x75b0, 0xef83a6},
-  {0x75b1, 0xef83a5},
-  {0x75b2, 0xec9aa3},
-  {0x75b3, 0xef83a1},
-  {0x75b4, 0xef83a2},
-  {0x75b5, 0xeb9383},
-  {0x75b6, 0xeabd94},
-  {0x75b7, 0xeabd95},
-  {0x75b8, 0xef83a3},
-  {0x75b9, 0xed97ae},
-  {0x75ba, 0xeabd96},
-  {0x75bb, 0xeabd97},
-  {0x75bc, 0xecb39b},
-  {0x75bd, 0xebbb92},
-  {0x75be, 0xebb2b2},
-  {0x75bf, 0xeabd98},
-  {0x75c0, 0xeabd99},
-  {0x75c1, 0xeabd9a},
-  {0x75c2, 0xef83a8},
-  {0x75c3, 0xef83a7},
-  {0x75c4, 0xef83a4},
-  {0x75c5, 0xeb8aa1},
-  {0x75c6, 0xeabd9b},
-  {0x75c7, 0xed9aa2},
-  {0x75c8, 0xed8eb8},
-  {0x75c9, 0xebbab7},
-  {0x75ca, 0xeca2ac},
-  {0x75cb, 0xeabd9c},
-  {0x75cc, 0xeabd9d},
-  {0x75cd, 0xef83aa},
-  {0x75ce, 0xeabd9e},
-  {0x75cf, 0xeabd9f},
-  {0x75d0, 0xeabda0},
-  {0x75d1, 0xeabda1},
-  {0x75d2, 0xed87b7},
-  {0x75d3, 0xeabda2},
-  {0x75d4, 0xed9b8c},
-  {0x75d5, 0xebab9b},
-  {0x75d6, 0xef83a9},
-  {0x75d7, 0xeabda3},
-  {0x75d8, 0xeb9abb},
-  {0x75d9, 0xeabda4},
-  {0x75da, 0xeabda5},
-  {0x75db, 0xecb6b4},
-  {0x75dc, 0xeabda6},
-  {0x75dd, 0xeabda7},
-  {0x75de, 0xec9aa6},
-  {0x75df, 0xeabda8},
-  {0x75e0, 0xeabda9},
-  {0x75e1, 0xeabdaa},
-  {0x75e2, 0xec86a1},
-  {0x75e3, 0xef83ab},
-  {0x75e4, 0xef83ae},
-  {0x75e5, 0xeabdab},
-  {0x75e6, 0xef83ad},
-  {0x75e7, 0xef83b0},
-  {0x75e8, 0xef83ac},
-  {0x75e9, 0xeabdac},
-  {0x75ea, 0xebaebe},
-  {0x75eb, 0xef83af},
-  {0x75ec, 0xeabdad},
-  {0x75ed, 0xeabdae},
-  {0x75ee, 0xeabdaf},
-  {0x75ef, 0xeabdb0},
-  {0x75f0, 0xecb2b5},
-  {0x75f1, 0xef83b2},
-  {0x75f2, 0xeabdb1},
-  {0x75f3, 0xeabdb2},
-  {0x75f4, 0xeb8f95},
-  {0x75f5, 0xeabdb3},
-  {0x75f6, 0xeabdb4},
-  {0x75f7, 0xeabdb5},
-  {0x75f8, 0xeabdb6},
-  {0x75f9, 0xeb8794},
-  {0x75fa, 0xeabdb7},
-  {0x75fb, 0xeabdb8},
-  {0x75fc, 0xef83b3},
-  {0x75fd, 0xeabdb9},
-  {0x75fe, 0xeabdba},
-  {0x75ff, 0xef83b4},
-  {0x7600, 0xef83b6},
-  {0x7601, 0xeb93a1},
-  {0x7602, 0xeabdbb},
-  {0x7603, 0xef83b1},
-  {0x7604, 0xeabdbc},
-  {0x7605, 0xef83b7},
-  {0x7606, 0xeabdbd},
-  {0x7607, 0xeabdbe},
-  {0x7608, 0xeabe80},
-  {0x7609, 0xeabe81},
-  {0x760a, 0xef83ba},
-  {0x760b, 0xeabe82},
-  {0x760c, 0xef83b8},
-  {0x760d, 0xeabe83},
-  {0x760e, 0xeabe84},
-  {0x760f, 0xeabe85},
-  {0x7610, 0xef83b5},
-  {0x7611, 0xeabe86},
-  {0x7612, 0xeabe87},
-  {0x7613, 0xeabe88},
-  {0x7614, 0xeabe89},
-  {0x7615, 0xef83bd},
-  {0x7616, 0xeabe8a},
-  {0x7617, 0xef83b9},
-  {0x7618, 0xef83bc},
-  {0x7619, 0xef83be},
-  {0x761a, 0xeabe8b},
-  {0x761b, 0xef86a1},
-  {0x761c, 0xeabe8c},
-  {0x761d, 0xeabe8d},
-  {0x761e, 0xeabe8e},
-  {0x761f, 0xecbb81},
-  {0x7620, 0xef86a4},
-  {0x7621, 0xeabe8f},
-  {0x7622, 0xef86a3},
-  {0x7623, 0xeabe90},
-  {0x7624, 0xec87b6},
-  {0x7625, 0xef83bb},
-  {0x7626, 0xecab9d},
-  {0x7627, 0xeabe91},
-  {0x7628, 0xeabe92},
-  {0x7629, 0xeb93b1},
-  {0x762a, 0xeb87b1},
-  {0x762b, 0xecb2b1},
-  {0x762c, 0xeabe93},
-  {0x762d, 0xef86a6},
-  {0x762e, 0xeabe94},
-  {0x762f, 0xeabe95},
-  {0x7630, 0xef86a7},
-  {0x7631, 0xeabe96},
-  {0x7632, 0xeabe97},
-  {0x7633, 0xef86ac},
-  {0x7634, 0xed978e},
-  {0x7635, 0xef86a9},
-  {0x7636, 0xeabe98},
-  {0x7637, 0xeabe99},
-  {0x7638, 0xeca2b3},
-  {0x7639, 0xeabe9a},
-  {0x763a, 0xeabe9b},
-  {0x763b, 0xeabe9c},
-  {0x763c, 0xef86a2},
-  {0x763d, 0xeabe9d},
-  {0x763e, 0xef86ab},
-  {0x763f, 0xef86a8},
-  {0x7640, 0xef86a5},
-  {0x7641, 0xeabe9e},
-  {0x7642, 0xeabe9f},
-  {0x7643, 0xef86aa},
-  {0x7644, 0xeabea0},
-  {0x7645, 0xeb8180},
-  {0x7646, 0xeb8181},
-  {0x7647, 0xeb8182},
-  {0x7648, 0xeb8183},
-  {0x7649, 0xeb8184},
-  {0x764a, 0xeb8185},
-  {0x764b, 0xeb8186},
-  {0x764c, 0xeb82a9},
-  {0x764d, 0xef86ad},
-  {0x764e, 0xeb8187},
-  {0x764f, 0xeb8188},
-  {0x7650, 0xeb8189},
-  {0x7651, 0xeb818a},
-  {0x7652, 0xeb818b},
-  {0x7653, 0xeb818c},
-  {0x7654, 0xef86af},
-  {0x7655, 0xeb818d},
-  {0x7656, 0xef86b1},
-  {0x7657, 0xeb818e},
-  {0x7658, 0xeb818f},
-  {0x7659, 0xeb8190},
-  {0x765a, 0xeb8191},
-  {0x765b, 0xeb8192},
-  {0x765c, 0xef86b0},
-  {0x765d, 0xeb8193},
-  {0x765e, 0xef86ae},
-  {0x765f, 0xeb8194},
-  {0x7660, 0xeb8195},
-  {0x7661, 0xeb8196},
-  {0x7662, 0xeb8197},
-  {0x7663, 0xed86a2},
-  {0x7664, 0xeb8198},
-  {0x7665, 0xeb8199},
-  {0x7666, 0xeb819a},
-  {0x7667, 0xeb819b},
-  {0x7668, 0xeb819c},
-  {0x7669, 0xeb819d},
-  {0x766a, 0xeb819e},
-  {0x766b, 0xef86b2},
-  {0x766c, 0xeb819f},
-  {0x766d, 0xeb81a0},
-  {0x766e, 0xeb81a1},
-  {0x766f, 0xef86b3},
-  {0x7670, 0xeb81a2},
-  {0x7671, 0xeb81a3},
-  {0x7672, 0xeb81a4},
-  {0x7673, 0xeb81a5},
-  {0x7674, 0xeb81a6},
-  {0x7675, 0xeb81a7},
-  {0x7676, 0xeb81a8},
-  {0x7677, 0xeb81a9},
-  {0x7678, 0xeba7af},
-  {0x7679, 0xeb81aa},
-  {0x767a, 0xeb81ab},
-  {0x767b, 0xeb9787},
-  {0x767c, 0xeb81ac},
-  {0x767d, 0xeb8397},
-  {0x767e, 0xeb8399},
-  {0x767f, 0xeb81ad},
-  {0x7680, 0xeb81ae},
-  {0x7681, 0xeb81af},
-  {0x7682, 0xed93ad},
-  {0x7683, 0xeb81b0},
-  {0x7684, 0xeb9784},
-  {0x7685, 0xeb81b1},
-  {0x7686, 0xebb794},
-  {0x7687, 0xebaf8a},
-  {0x7688, 0xef82a7},
-  {0x7689, 0xeb81b2},
-  {0x768a, 0xeb81b3},
-  {0x768b, 0xeba39e},
-  {0x768c, 0xeb81b4},
-  {0x768d, 0xeb81b5},
-  {0x768e, 0xef82a8},
-  {0x768f, 0xeb81b6},
-  {0x7690, 0xeb81b7},
-  {0x7691, 0xeb82a8},
-  {0x7692, 0xeb81b8},
-  {0x7693, 0xef82a9},
-  {0x7694, 0xeb81b9},
-  {0x7695, 0xeb81ba},
-  {0x7696, 0xecb7ae},
-  {0x7697, 0xeb81bb},
-  {0x7698, 0xeb81bc},
-  {0x7699, 0xef82aa},
-  {0x769a, 0xeb81bd},
-  {0x769b, 0xeb81be},
-  {0x769c, 0xeb8280},
-  {0x769d, 0xeb8281},
-  {0x769e, 0xeb8282},
-  {0x769f, 0xeb8283},
-  {0x76a0, 0xeb8284},
-  {0x76a1, 0xeb8285},
-  {0x76a2, 0xeb8286},
-  {0x76a3, 0xeb8287},
-  {0x76a4, 0xef82ab},
-  {0x76a5, 0xeb8288},
-  {0x76a6, 0xeb8289},
-  {0x76a7, 0xeb828a},
-  {0x76a8, 0xeb828b},
-  {0x76a9, 0xeb828c},
-  {0x76aa, 0xeb828d},
-  {0x76ab, 0xeb828e},
-  {0x76ac, 0xeb828f},
-  {0x76ad, 0xeb8290},
-  {0x76ae, 0xec9aa4},
-  {0x76af, 0xeb8291},
-  {0x76b0, 0xeb8292},
-  {0x76b1, 0xed9ba5},
-  {0x76b2, 0xef87a4},
-  {0x76b3, 0xeb8293},
-  {0x76b4, 0xef87a5},
-  {0x76b5, 0xeb8294},
-  {0x76b6, 0xeb8295},
-  {0x76b7, 0xeb8296},
-  {0x76b8, 0xeb8297},
-  {0x76b9, 0xeb8298},
-  {0x76ba, 0xeb8299},
-  {0x76bb, 0xeb829a},
-  {0x76bc, 0xeb829b},
-  {0x76bd, 0xeb829c},
-  {0x76be, 0xeb829d},
-  {0x76bf, 0xec8fb3},
-  {0x76c0, 0xeb829e},
-  {0x76c1, 0xeb829f},
-  {0x76c2, 0xed8f9b},
-  {0x76c3, 0xeb82a0},
-  {0x76c4, 0xeb8580},
-  {0x76c5, 0xed9b91},
-  {0x76c6, 0xec97a8},
-  {0x76c7, 0xeb8581},
-  {0x76c8, 0xed8eaf},
-  {0x76c9, 0xeb8582},
-  {0x76ca, 0xed8ba6},
-  {0x76cb, 0xeb8583},
-  {0x76cc, 0xeb8584},
-  {0x76cd, 0xeebb81},
-  {0x76ce, 0xeb82bb},
-  {0x76cf, 0xed96b5},
-  {0x76d0, 0xed878e},
-  {0x76d1, 0xebb3a0},
-  {0x76d2, 0xebab90},
-  {0x76d3, 0xeb8585},
-  {0x76d4, 0xebbfb8},
-  {0x76d5, 0xeb8586},
-  {0x76d6, 0xeba387},
-  {0x76d7, 0xeb9781},
-  {0x76d8, 0xec978c},
-  {0x76d9, 0xeb8587},
-  {0x76da, 0xeb8588},
-  {0x76db, 0xecaaa2},
-  {0x76dc, 0xeb8589},
-  {0x76dd, 0xeb858a},
-  {0x76de, 0xeb858b},
-  {0x76df, 0xec8f8b},
-  {0x76e0, 0xeb858c},
-  {0x76e1, 0xeb858d},
-  {0x76e2, 0xeb858e},
-  {0x76e3, 0xeb858f},
-  {0x76e4, 0xeb8590},
-  {0x76e5, 0xeebb82},
-  {0x76e6, 0xeb8591},
-  {0x76e7, 0xeb8592},
-  {0x76e8, 0xeb8593},
-  {0x76e9, 0xeb8594},
-  {0x76ea, 0xeb8595},
-  {0x76eb, 0xeb8596},
-  {0x76ec, 0xeb8597},
-  {0x76ed, 0xeb8598},
-  {0x76ee, 0xec92bf},
-  {0x76ef, 0xeb9aa2},
-  {0x76f0, 0xeb8599},
-  {0x76f1, 0xeeb7ac},
-  {0x76f2, 0xec8ea4},
-  {0x76f3, 0xeb859a},
-  {0x76f4, 0xed9ab1},
-  {0x76f5, 0xeb859b},
-  {0x76f6, 0xeb859c},
-  {0x76f7, 0xeb859d},
-  {0x76f8, 0xecbfa0},
-  {0x76f9, 0xeeb7af},
-  {0x76fa, 0xeb859e},
-  {0x76fb, 0xeb859f},
-  {0x76fc, 0xec978e},
-  {0x76fd, 0xeb85a0},
-  {0x76fe, 0xeb9b9c},
-  {0x76ff, 0xeb85a1},
-  {0x7700, 0xeb85a2},
-  {0x7701, 0xecaaa1},
-  {0x7702, 0xeb85a3},
-  {0x7703, 0xeb85a4},
-  {0x7704, 0xeeb7ad},
-  {0x7705, 0xeb85a5},
-  {0x7706, 0xeb85a6},
-  {0x7707, 0xeeb7b0},
-  {0x7708, 0xeeb7b1},
-  {0x7709, 0xec8ebc},
-  {0x770a, 0xeb85a7},
-  {0x770b, 0xebbeb4},
-  {0x770c, 0xeb85a8},
-  {0x770d, 0xeeb7ae},
-  {0x770e, 0xeb85a9},
-  {0x770f, 0xeb85aa},
-  {0x7710, 0xeb85ab},
-  {0x7711, 0xeb85ac},
-  {0x7712, 0xeb85ad},
-  {0x7713, 0xeb85ae},
-  {0x7714, 0xeb85af},
-  {0x7715, 0xeb85b0},
-  {0x7716, 0xeb85b1},
-  {0x7717, 0xeb85b2},
-  {0x7718, 0xeb85b3},
-  {0x7719, 0xeeb7b4},
-  {0x771a, 0xeeb7b2},
-  {0x771b, 0xeb85b4},
-  {0x771c, 0xeb85b5},
-  {0x771d, 0xeb85b6},
-  {0x771e, 0xeb85b7},
-  {0x771f, 0xed97a6},
-  {0x7720, 0xec8f9f},
-  {0x7721, 0xeb85b8},
-  {0x7722, 0xeeb7b3},
-  {0x7723, 0xeb85b9},
-  {0x7724, 0xeb85ba},
-  {0x7725, 0xeb85bb},
-  {0x7726, 0xeeb7b6},
-  {0x7727, 0xeb85bc},
-  {0x7728, 0xed96a3},
-  {0x7729, 0xed86a3},
-  {0x772a, 0xeb85bd},
-  {0x772b, 0xeb85be},
-  {0x772c, 0xeb8680},
-  {0x772d, 0xeeb7b5},
-  {0x772e, 0xeb8681},
-  {0x772f, 0xec8f90},
-  {0x7730, 0xeb8682},
-  {0x7731, 0xeb8683},
-  {0x7732, 0xeb8684},
-  {0x7733, 0xeb8685},
-  {0x7734, 0xeb8686},
-  {0x7735, 0xeeb7b7},
-  {0x7736, 0xebbfb4},
-  {0x7737, 0xebbbac},
-  {0x7738, 0xeeb7b8},
-  {0x7739, 0xeb8687},
-  {0x773a, 0xecb3b7},
-  {0x773b, 0xeb8688},
-  {0x773c, 0xed879b},
-  {0x773d, 0xeb8689},
-  {0x773e, 0xeb868a},
-  {0x773f, 0xeb868b},
-  {0x7740, 0xed9f85},
-  {0x7741, 0xed97b6},
-  {0x7742, 0xeb868c},
-  {0x7743, 0xeeb7bc},
-  {0x7744, 0xeb868d},
-  {0x7745, 0xeb868e},
-  {0x7746, 0xeb868f},
-  {0x7747, 0xeeb7bb},
-  {0x7748, 0xeb8690},
-  {0x7749, 0xeb8691},
-  {0x774a, 0xeb8692},
-  {0x774b, 0xeb8693},
-  {0x774c, 0xeb8694},
-  {0x774d, 0xeb8695},
-  {0x774e, 0xeb8696},
-  {0x774f, 0xeb8697},
-  {0x7750, 0xeeb7b9},
-  {0x7751, 0xeeb7ba},
-  {0x7752, 0xeb8698},
-  {0x7753, 0xeb8699},
-  {0x7754, 0xeb869a},
-  {0x7755, 0xeb869b},
-  {0x7756, 0xeb869c},
-  {0x7757, 0xeb869d},
-  {0x7758, 0xeb869e},
-  {0x7759, 0xeb869f},
-  {0x775a, 0xeeb7bd},
-  {0x775b, 0xebbaa6},
-  {0x775c, 0xeb86a0},
-  {0x775d, 0xeb8980},
-  {0x775e, 0xeb8981},
-  {0x775f, 0xeb8982},
-  {0x7760, 0xeb8983},
-  {0x7761, 0xecaeaf},
-  {0x7762, 0xeebaa1},
-  {0x7763, 0xeb9abd},
-  {0x7764, 0xeb8984},
-  {0x7765, 0xeebaa2},
-  {0x7766, 0xec9380},
-  {0x7767, 0xeb8985},
-  {0x7768, 0xeeb7be},
-  {0x7769, 0xeb8986},
-  {0x776a, 0xeb8987},
-  {0x776b, 0xebb79e},
-  {0x776c, 0xeb8b87},
-  {0x776d, 0xeb8988},
-  {0x776e, 0xeb8989},
-  {0x776f, 0xeb898a},
-  {0x7770, 0xeb898b},
-  {0x7771, 0xeb898c},
-  {0x7772, 0xeb898d},
-  {0x7773, 0xeb898e},
-  {0x7774, 0xeb898f},
-  {0x7775, 0xeb8990},
-  {0x7776, 0xeb8991},
-  {0x7777, 0xeb8992},
-  {0x7778, 0xeb8993},
-  {0x7779, 0xeb9b83},
-  {0x777a, 0xeb8994},
-  {0x777b, 0xeb8995},
-  {0x777c, 0xeb8996},
-  {0x777d, 0xeebaa5},
-  {0x777e, 0xeda2ba},
-  {0x777f, 0xeebaa3},
-  {0x7780, 0xeebaa6},
-  {0x7781, 0xeb8997},
-  {0x7782, 0xeb8998},
-  {0x7783, 0xeb8999},
-  {0x7784, 0xec8fa9},
-  {0x7785, 0xeb8fb2},
-  {0x7786, 0xeb899a},
-  {0x7787, 0xeb899b},
-  {0x7788, 0xeb899c},
-  {0x7789, 0xeb899d},
-  {0x778a, 0xeb899e},
-  {0x778b, 0xeb899f},
-  {0x778c, 0xeebaa7},
-  {0x778d, 0xeebaa4},
-  {0x778e, 0xecbeb9},
-  {0x778f, 0xeb89a0},
-  {0x7790, 0xeb89a1},
-  {0x7791, 0xeebaa8},
-  {0x7792, 0xec8bb7},
-  {0x7793, 0xeb89a2},
-  {0x7794, 0xeb89a3},
-  {0x7795, 0xeb89a4},
-  {0x7796, 0xeb89a5},
-  {0x7797, 0xeb89a6},
-  {0x7798, 0xeb89a7},
-  {0x7799, 0xeb89a8},
-  {0x779a, 0xeb89a9},
-  {0x779b, 0xeb89aa},
-  {0x779c, 0xeb89ab},
-  {0x779d, 0xeb89ac},
-  {0x779e, 0xeb89ad},
-  {0x779f, 0xeebaa9},
-  {0x77a0, 0xeebaaa},
-  {0x77a1, 0xeb89ae},
-  {0x77a2, 0xedbaab},
-  {0x77a3, 0xeb89af},
-  {0x77a4, 0xeb89b0},
-  {0x77a5, 0xec9ab3},
-  {0x77a6, 0xeb89b1},
-  {0x77a7, 0xec9f86},
-  {0x77a8, 0xeb89b2},
-  {0x77a9, 0xed9bb5},
-  {0x77aa, 0xeb9789},
-  {0x77ab, 0xeb89b3},
-  {0x77ac, 0xecaeb2},
-  {0x77ad, 0xeb89b4},
-  {0x77ae, 0xeb89b5},
-  {0x77af, 0xeb89b6},
-  {0x77b0, 0xeebaab},
-  {0x77b1, 0xeb89b7},
-  {0x77b2, 0xeb89b8},
-  {0x77b3, 0xecb6ab},
-  {0x77b4, 0xeb89b9},
-  {0x77b5, 0xeebaac},
-  {0x77b6, 0xeb89ba},
-  {0x77b7, 0xeb89bb},
-  {0x77b8, 0xeb89bc},
-  {0x77b9, 0xeb89bd},
-  {0x77ba, 0xeb89be},
-  {0x77bb, 0xed96b0},
-  {0x77bc, 0xeb8a80},
-  {0x77bd, 0xeebaad},
-  {0x77be, 0xeb8a81},
-  {0x77bf, 0xef9b84},
-  {0x77c0, 0xeb8a82},
-  {0x77c1, 0xeb8a83},
-  {0x77c2, 0xeb8a84},
-  {0x77c3, 0xeb8a85},
-  {0x77c4, 0xeb8a86},
-  {0x77c5, 0xeb8a87},
-  {0x77c6, 0xeb8a88},
-  {0x77c7, 0xeb8a89},
-  {0x77c8, 0xeb8a8a},
-  {0x77c9, 0xeb8a8b},
-  {0x77ca, 0xeb8a8c},
-  {0x77cb, 0xeb8a8d},
-  {0x77cc, 0xeb8a8e},
-  {0x77cd, 0xedaf87},
-  {0x77ce, 0xeb8a8f},
-  {0x77cf, 0xeb8a90},
-  {0x77d0, 0xeb8a91},
-  {0x77d1, 0xeb8a92},
-  {0x77d2, 0xeb8a93},
-  {0x77d3, 0xeb8a94},
-  {0x77d4, 0xeb8a95},
-  {0x77d5, 0xeb8a96},
-  {0x77d6, 0xeb8a97},
-  {0x77d7, 0xeb92a3},
-  {0x77d8, 0xeb8a98},
-  {0x77d9, 0xeb8a99},
-  {0x77da, 0xeb8a9a},
-  {0x77db, 0xec8eac},
-  {0x77dc, 0xef87a6},
-  {0x77dd, 0xeb8a9b},
-  {0x77de, 0xeb8a9c},
-  {0x77df, 0xeb8a9d},
-  {0x77e0, 0xeb8a9e},
-  {0x77e1, 0xeb8a9f},
-  {0x77e2, 0xecaab8},
-  {0x77e3, 0xed8b93},
-  {0x77e4, 0xeb8aa0},
-  {0x77e5, 0xed9aaa},
-  {0x77e6, 0xeb8d80},
-  {0x77e7, 0xeebfb2},
-  {0x77e8, 0xeb8d81},
-  {0x77e9, 0xebbb98},
-  {0x77ea, 0xeb8d82},
-  {0x77eb, 0xebb783},
-  {0x77ec, 0xeebfb3},
-  {0x77ed, 0xeb9b8c},
-  {0x77ee, 0xeb82ab},
-  {0x77ef, 0xeb8d83},
-  {0x77f0, 0xeb8d84},
-  {0x77f1, 0xeb8d85},
-  {0x77f2, 0xeb8d86},
-  {0x77f3, 0xecaaaf},
-  {0x77f4, 0xeb8d87},
-  {0x77f5, 0xeb8d88},
-  {0x77f6, 0xeeb6b6},
-  {0x77f7, 0xeb8d89},
-  {0x77f8, 0xeeb6b7},
-  {0x77f9, 0xeb8d8a},
-  {0x77fa, 0xeb8d8b},
-  {0x77fb, 0xeb8d8c},
-  {0x77fc, 0xeb8d8d},
-  {0x77fd, 0xecbbb9},
-  {0x77fe, 0xeb9eaf},
-  {0x77ff, 0xebbfb3},
-  {0x7800, 0xeeb6b8},
-  {0x7801, 0xec8bab},
-  {0x7802, 0xeca6b0},
-  {0x7803, 0xeb8d8e},
-  {0x7804, 0xeb8d8f},
-  {0x7805, 0xeb8d90},
-  {0x7806, 0xeb8d91},
-  {0x7807, 0xeb8d92},
-  {0x7808, 0xeb8d93},
-  {0x7809, 0xeeb6b9},
-  {0x780a, 0xeb8d94},
-  {0x780b, 0xeb8d95},
-  {0x780c, 0xec9bb6},
-  {0x780d, 0xebbeb3},
-  {0x780e, 0xeb8d96},
-  {0x780f, 0xeb8d97},
-  {0x7810, 0xeb8d98},
-  {0x7811, 0xeeb6bc},
-  {0x7812, 0xec97b8},
-  {0x7813, 0xeb8d99},
-  {0x7814, 0xed8790},
-  {0x7815, 0xeb8d9a},
-  {0x7816, 0xed9ea9},
-  {0x7817, 0xeeb6ba},
-  {0x7818, 0xeeb6bb},
-  {0x7819, 0xeb8d9b},
-  {0x781a, 0xed87a2},
-  {0x781b, 0xeb8d9c},
-  {0x781c, 0xeeb6bf},
-  {0x781d, 0xeeb780},
-  {0x781e, 0xeb8d9d},
-  {0x781f, 0xeeb784},
-  {0x7820, 0xeb8d9e},
-  {0x7821, 0xeb8d9f},
-  {0x7822, 0xeb8da0},
-  {0x7823, 0xeeb788},
-  {0x7824, 0xeb8da1},
-  {0x7825, 0xeeb786},
-  {0x7826, 0xeeb78e},
-  {0x7827, 0xed97a8},
-  {0x7828, 0xeb8da2},
-  {0x7829, 0xeeb789},
-  {0x782a, 0xeb8da3},
-  {0x782b, 0xeb8da4},
-  {0x782c, 0xeeb787},
-  {0x782d, 0xeeb6be},
-  {0x782e, 0xeb8da5},
-  {0x782f, 0xeb8da6},
-  {0x7830, 0xec97a9},
-  {0x7831, 0xeb8da7},
-  {0x7832, 0xeb8da8},
-  {0x7833, 0xeb8da9},
-  {0x7834, 0xec9b86},
-  {0x7835, 0xeb8daa},
-  {0x7836, 0xeb8dab},
-  {0x7837, 0xeca7a9},
-  {0x7838, 0xed9392},
-  {0x7839, 0xeeb781},
-  {0x783a, 0xeeb782},
-  {0x783b, 0xeeb783},
-  {0x783c, 0xeeb785},
-  {0x783d, 0xeb8dac},
-  {0x783e, 0xec83b9},
-  {0x783f, 0xeb8dad},
-  {0x7840, 0xeb92a1},
-  {0x7841, 0xeb8dae},
-  {0x7842, 0xeb8daf},
-  {0x7843, 0xeb8db0},
-  {0x7844, 0xeb8db1},
-  {0x7845, 0xeba7a8},
-  {0x7846, 0xeb8db2},
-  {0x7847, 0xeeb790},
-  {0x7848, 0xeb8db3},
-  {0x7849, 0xeb8db4},
-  {0x784a, 0xeb8db5},
-  {0x784b, 0xeb8db6},
-  {0x784c, 0xeeb791},
-  {0x784d, 0xeb8db7},
-  {0x784e, 0xeeb78a},
-  {0x784f, 0xeb8db8},
-  {0x7850, 0xeeb78f},
-  {0x7851, 0xeb8db9},
-  {0x7852, 0xecbbb8},
-  {0x7853, 0xeb8dba},
-  {0x7854, 0xeb8dbb},
-  {0x7855, 0xecaeb6},
-  {0x7856, 0xeeb78c},
-  {0x7857, 0xeeb78d},
-  {0x7858, 0xeb8dbc},
-  {0x7859, 0xeb8dbd},
-  {0x785a, 0xeb8dbe},
-  {0x785b, 0xeb8e80},
-  {0x785c, 0xeb8e81},
-  {0x785d, 0xecbfb5},
-  {0x785e, 0xeb8e82},
-  {0x785f, 0xeb8e83},
-  {0x7860, 0xeb8e84},
-  {0x7861, 0xeb8e85},
-  {0x7862, 0xeb8e86},
-  {0x7863, 0xeb8e87},
-  {0x7864, 0xeb8e88},
-  {0x7865, 0xeb8e89},
-  {0x7866, 0xeb8e8a},
-  {0x7867, 0xeb8e8b},
-  {0x7868, 0xeb8e8c},
-  {0x7869, 0xeb8e8d},
-  {0x786a, 0xeeb792},
-  {0x786b, 0xec87b2},
-  {0x786c, 0xed8eb2},
-  {0x786d, 0xeeb78b},
-  {0x786e, 0xeca2b7},
-  {0x786f, 0xeb8e8e},
-  {0x7870, 0xeb8e8f},
-  {0x7871, 0xeb8e90},
-  {0x7872, 0xeb8e91},
-  {0x7873, 0xeb8e92},
-  {0x7874, 0xeb8e93},
-  {0x7875, 0xeb8e94},
-  {0x7876, 0xeb8e95},
-  {0x7877, 0xebb3af},
-  {0x7878, 0xeb8e96},
-  {0x7879, 0xeb8e97},
-  {0x787a, 0xeb8e98},
-  {0x787b, 0xeb8e99},
-  {0x787c, 0xec97b0},
-  {0x787d, 0xeb8e9a},
-  {0x787e, 0xeb8e9b},
-  {0x787f, 0xeb8e9c},
-  {0x7880, 0xeb8e9d},
-  {0x7881, 0xeb8e9e},
-  {0x7882, 0xeb8e9f},
-  {0x7883, 0xeb8ea0},
-  {0x7884, 0xeb9180},
-  {0x7885, 0xeb9181},
-  {0x7886, 0xeb9182},
-  {0x7887, 0xeeb796},
-  {0x7888, 0xeb9183},
-  {0x7889, 0xeb97af},
-  {0x788a, 0xeb9184},
-  {0x788b, 0xeb9185},
-  {0x788c, 0xec8ab5},
-  {0x788d, 0xeb82ad},
-  {0x788e, 0xecafa9},
-  {0x788f, 0xeb9186},
-  {0x7890, 0xeb9187},
-  {0x7891, 0xeb86ae},
-  {0x7892, 0xeb9188},
-  {0x7893, 0xeeb794},
-  {0x7894, 0xeb9189},
-  {0x7895, 0xeb918a},
-  {0x7896, 0xeb918b},
-  {0x7897, 0xecb7ab},
-  {0x7898, 0xeb97a2},
-  {0x7899, 0xeb918c},
-  {0x789a, 0xeeb795},
-  {0x789b, 0xeeb793},
-  {0x789c, 0xeeb797},
-  {0x789d, 0xeb918d},
-  {0x789e, 0xeb918e},
-  {0x789f, 0xeb97ba},
-  {0x78a0, 0xeb918f},
-  {0x78a1, 0xeeb798},
-  {0x78a2, 0xeb9190},
-  {0x78a3, 0xeeb799},
-  {0x78a4, 0xeb9191},
-  {0x78a5, 0xeeb79c},
-  {0x78a6, 0xeb9192},
-  {0x78a7, 0xeb878c},
-  {0x78a8, 0xeb9193},
-  {0x78a9, 0xeb9194},
-  {0x78aa, 0xeb9195},
-  {0x78ab, 0xeb9196},
-  {0x78ac, 0xeb9197},
-  {0x78ad, 0xeb9198},
-  {0x78ae, 0xeb9199},
-  {0x78af, 0xeb919a},
-  {0x78b0, 0xec97b6},
-  {0x78b1, 0xebb3ae},
-  {0x78b2, 0xeeb79a},
-  {0x78b3, 0xecb2bc},
-  {0x78b4, 0xeb8baa},
-  {0x78b5, 0xeb919b},
-  {0x78b6, 0xeb919c},
-  {0x78b7, 0xeb919d},
-  {0x78b8, 0xeb919e},
-  {0x78b9, 0xeeb79b},
-  {0x78ba, 0xeb919f},
-  {0x78bb, 0xeb91a0},
-  {0x78bc, 0xeb91a1},
-  {0x78bd, 0xeb91a2},
-  {0x78be, 0xec93ab},
-  {0x78bf, 0xeb91a3},
-  {0x78c0, 0xeb91a4},
-  {0x78c1, 0xeb9385},
-  {0x78c2, 0xeb91a5},
-  {0x78c3, 0xeb91a6},
-  {0x78c4, 0xeb91a7},
-  {0x78c5, 0xeb83b5},
-  {0x78c6, 0xeb91a8},
-  {0x78c7, 0xeb91a9},
-  {0x78c8, 0xeb91aa},
-  {0x78c9, 0xeeb79f},
-  {0x78ca, 0xec839a},
-  {0x78cb, 0xeb93a8},
-  {0x78cc, 0xeb91ab},
-  {0x78cd, 0xeb91ac},
-  {0x78ce, 0xeb91ad},
-  {0x78cf, 0xeb91ae},
-  {0x78d0, 0xec978d},
-  {0x78d1, 0xeb91af},
-  {0x78d2, 0xeb91b0},
-  {0x78d3, 0xeb91b1},
-  {0x78d4, 0xeeb79d},
-  {0x78d5, 0xebbf84},
-  {0x78d6, 0xeb91b2},
-  {0x78d7, 0xeb91b3},
-  {0x78d8, 0xeb91b4},
-  {0x78d9, 0xeeb79e},
-  {0x78da, 0xeb91b5},
-  {0x78db, 0xeb91b6},
-  {0x78dc, 0xeb91b7},
-  {0x78dd, 0xeb91b8},
-  {0x78de, 0xeb91b9},
-  {0x78df, 0xeb91ba},
-  {0x78e0, 0xeb91bb},
-  {0x78e1, 0xeb91bc},
-  {0x78e2, 0xeb91bd},
-  {0x78e3, 0xeb91be},
-  {0x78e4, 0xeb9280},
-  {0x78e5, 0xeb9281},
-  {0x78e6, 0xeb9282},
-  {0x78e7, 0xeb9283},
-  {0x78e8, 0xec92a5},
-  {0x78e9, 0xeb9284},
-  {0x78ea, 0xeb9285},
-  {0x78eb, 0xeb9286},
-  {0x78ec, 0xeeb7a0},
-  {0x78ed, 0xeb9287},
-  {0x78ee, 0xeb9288},
-  {0x78ef, 0xeb9289},
-  {0x78f0, 0xeb928a},
-  {0x78f1, 0xeb928b},
-  {0x78f2, 0xeeb7a1},
-  {0x78f3, 0xeb928c},
-  {0x78f4, 0xeeb7a3},
-  {0x78f5, 0xeb928d},
-  {0x78f6, 0xeb928e},
-  {0x78f7, 0xec8797},
-  {0x78f8, 0xeb928f},
-  {0x78f9, 0xeb9290},
-  {0x78fa, 0xebaf87},
-  {0x78fb, 0xeb9291},
-  {0x78fc, 0xeb9292},
-  {0x78fd, 0xeb9293},
-  {0x78fe, 0xeb9294},
-  {0x78ff, 0xeb9295},
-  {0x7900, 0xeb9296},
-  {0x7901, 0xebb6b8},
-  {0x7902, 0xeb9297},
-  {0x7903, 0xeb9298},
-  {0x7904, 0xeb9299},
-  {0x7905, 0xeeb7a2},
-  {0x7906, 0xeb929a},
-  {0x7907, 0xeb929b},
-  {0x7908, 0xeb929c},
-  {0x7909, 0xeb929d},
-  {0x790a, 0xeb929e},
-  {0x790b, 0xeb929f},
-  {0x790c, 0xeb92a0},
-  {0x790d, 0xeb9580},
-  {0x790e, 0xeb9581},
-  {0x790f, 0xeb9582},
-  {0x7910, 0xeb9583},
-  {0x7911, 0xeb9584},
-  {0x7912, 0xeb9585},
-  {0x7913, 0xeeb7a4},
-  {0x7914, 0xeb9586},
-  {0x7915, 0xeb9587},
-  {0x7916, 0xeb9588},
-  {0x7917, 0xeb9589},
-  {0x7918, 0xeb958a},
-  {0x7919, 0xeb958b},
-  {0x791a, 0xeb958c},
-  {0x791b, 0xeb958d},
-  {0x791c, 0xeb958e},
-  {0x791d, 0xeb958f},
-  {0x791e, 0xeeb7a6},
-  {0x791f, 0xeb9590},
-  {0x7920, 0xeb9591},
-  {0x7921, 0xeb9592},
-  {0x7922, 0xeb9593},
-  {0x7923, 0xeb9594},
-  {0x7924, 0xeeb7a5},
-  {0x7925, 0xeb9595},
-  {0x7926, 0xeb9596},
-  {0x7927, 0xeb9597},
-  {0x7928, 0xeb9598},
-  {0x7929, 0xeb9599},
-  {0x792a, 0xeb959a},
-  {0x792b, 0xeb959b},
-  {0x792c, 0xeb959c},
-  {0x792d, 0xeb959d},
-  {0x792e, 0xeb959e},
-  {0x792f, 0xeb959f},
-  {0x7930, 0xeb95a0},
-  {0x7931, 0xeb95a1},
-  {0x7932, 0xeb95a2},
-  {0x7933, 0xeb95a3},
-  {0x7934, 0xeeb7a7},
-  {0x7935, 0xeb95a4},
-  {0x7936, 0xeb95a5},
-  {0x7937, 0xeb95a6},
-  {0x7938, 0xeb95a7},
-  {0x7939, 0xeb95a8},
-  {0x793a, 0xecaabe},
-  {0x793b, 0xeeb3aa},
-  {0x793c, 0xec83b1},
-  {0x793d, 0xeb95a9},
-  {0x793e, 0xeca7a7},
-  {0x793f, 0xeb95aa},
-  {0x7940, 0xeeb3ab},
-  {0x7941, 0xec9bae},
-  {0x7942, 0xeb95ab},
-  {0x7943, 0xeb95ac},
-  {0x7944, 0xeb95ad},
-  {0x7945, 0xeb95ae},
-  {0x7946, 0xeeb3ac},
-  {0x7947, 0xeb95af},
-  {0x7948, 0xec9bad},
-  {0x7949, 0xeeb3ad},
-  {0x794a, 0xeb95b0},
-  {0x794b, 0xeb95b1},
-  {0x794c, 0xeb95b2},
-  {0x794d, 0xeb95b3},
-  {0x794e, 0xeb95b4},
-  {0x794f, 0xeb95b5},
-  {0x7950, 0xeb95b6},
-  {0x7951, 0xeb95b7},
-  {0x7952, 0xeb95b8},
-  {0x7953, 0xeeb3b0},
-  {0x7954, 0xeb95b9},
-  {0x7955, 0xeb95ba},
-  {0x7956, 0xed9fa6},
-  {0x7957, 0xeeb3b3},
-  {0x7958, 0xeb95bb},
-  {0x7959, 0xeb95bc},
-  {0x795a, 0xeeb3b1},
-  {0x795b, 0xeeb3ae},
-  {0x795c, 0xeeb3af},
-  {0x795d, 0xed9ea3},
-  {0x795e, 0xeca7b1},
-  {0x795f, 0xecafae},
-  {0x7960, 0xeeb3b4},
-  {0x7961, 0xeb95bd},
-  {0x7962, 0xeeb3b2},
-  {0x7963, 0xeb95be},
-  {0x7964, 0xeb9680},
-  {0x7965, 0xecbfa9},
-  {0x7966, 0xeb9681},
-  {0x7967, 0xeeb3b6},
-  {0x7968, 0xec9ab1},
-  {0x7969, 0xeb9682},
-  {0x796a, 0xeb9683},
-  {0x796b, 0xeb9684},
-  {0x796c, 0xeb9685},
-  {0x796d, 0xebb380},
-  {0x796e, 0xeb9686},
-  {0x796f, 0xeeb3b5},
-  {0x7970, 0xeb9687},
-  {0x7971, 0xeb9688},
-  {0x7972, 0xeb9689},
-  {0x7973, 0xeb968a},
-  {0x7974, 0xeb968b},
-  {0x7975, 0xeb968c},
-  {0x7976, 0xeb968d},
-  {0x7977, 0xeb96bb},
-  {0x7978, 0xebafb6},
-  {0x7979, 0xeb968e},
-  {0x797a, 0xeeb3b7},
-  {0x797b, 0xeb968f},
-  {0x797c, 0xeb9690},
-  {0x797d, 0xeb9691},
-  {0x797e, 0xeb9692},
-  {0x797f, 0xeb9693},
-  {0x7980, 0xeda7b7},
-  {0x7981, 0xebb7bb},
-  {0x7982, 0xeb9694},
-  {0x7983, 0xeb9695},
-  {0x7984, 0xec8abb},
-  {0x7985, 0xeeb3b8},
-  {0x7986, 0xeb9696},
-  {0x7987, 0xeb9697},
-  {0x7988, 0xeb9698},
-  {0x7989, 0xeb9699},
-  {0x798a, 0xeeb3b9},
-  {0x798b, 0xeb969a},
-  {0x798c, 0xeb969b},
-  {0x798d, 0xeb969c},
-  {0x798e, 0xeb969d},
-  {0x798f, 0xeba2a3},
-  {0x7990, 0xeb969e},
-  {0x7991, 0xeb969f},
-  {0x7992, 0xeb96a0},
-  {0x7993, 0xeb9980},
-  {0x7994, 0xeb9981},
-  {0x7995, 0xeb9982},
-  {0x7996, 0xeb9983},
-  {0x7997, 0xeb9984},
-  {0x7998, 0xeb9985},
-  {0x7999, 0xeb9986},
-  {0x799a, 0xeeb3ba},
-  {0x799b, 0xeb9987},
-  {0x799c, 0xeb9988},
-  {0x799d, 0xeb9989},
-  {0x799e, 0xeb998a},
-  {0x799f, 0xeb998b},
-  {0x79a0, 0xeb998c},
-  {0x79a1, 0xeb998d},
-  {0x79a2, 0xeb998e},
-  {0x79a3, 0xeb998f},
-  {0x79a4, 0xeb9990},
-  {0x79a5, 0xeb9991},
-  {0x79a6, 0xeb9992},
-  {0x79a7, 0xeeb3bb},
-  {0x79a8, 0xeb9993},
-  {0x79a9, 0xeb9994},
-  {0x79aa, 0xeb9995},
-  {0x79ab, 0xeb9996},
-  {0x79ac, 0xeb9997},
-  {0x79ad, 0xeb9998},
-  {0x79ae, 0xeb9999},
-  {0x79af, 0xeb999a},
-  {0x79b0, 0xeb999b},
-  {0x79b1, 0xeb999c},
-  {0x79b2, 0xeb999d},
-  {0x79b3, 0xeeb3bc},
-  {0x79b4, 0xeb999e},
-  {0x79b5, 0xeb999f},
-  {0x79b6, 0xeb99a0},
-  {0x79b7, 0xeb99a1},
-  {0x79b8, 0xeb99a2},
-  {0x79b9, 0xed8fad},
-  {0x79ba, 0xeda2ae},
-  {0x79bb, 0xec83ab},
-  {0x79bc, 0xeb99a3},
-  {0x79bd, 0xec9f9d},
-  {0x79be, 0xebab8c},
-  {0x79bf, 0xeb99a4},
-  {0x79c0, 0xed83a3},
-  {0x79c1, 0xecaebd},
-  {0x79c2, 0xeb99a5},
-  {0x79c3, 0xecb6ba},
-  {0x79c4, 0xeb99a6},
-  {0x79c5, 0xeb99a7},
-  {0x79c6, 0xeba391},
-  {0x79c7, 0xeb99a8},
-  {0x79c8, 0xeb99a9},
-  {0x79c9, 0xeb87bc},
-  {0x79ca, 0xeb99aa},
-  {0x79cb, 0xec9faf},
-  {0x79cc, 0xeb99ab},
-  {0x79cd, 0xed9b96},
-  {0x79ce, 0xeb99ac},
-  {0x79cf, 0xeb99ad},
-  {0x79d0, 0xeb99ae},
-  {0x79d1, 0xebbf86},
-  {0x79d2, 0xec8fab},
-  {0x79d3, 0xeb99af},
-  {0x79d4, 0xeb99b0},
-  {0x79d5, 0xeebfb5},
-  {0x79d6, 0xeb99b1},
-  {0x79d7, 0xeb99b2},
-  {0x79d8, 0xec8f98},
-  {0x79d9, 0xeb99b3},
-  {0x79da, 0xeb99b4},
-  {0x79db, 0xeb99b5},
-  {0x79dc, 0xeb99b6},
-  {0x79dd, 0xeb99b7},
-  {0x79de, 0xeb99b8},
-  {0x79df, 0xed9fa2},
-  {0x79e0, 0xeb99b9},
-  {0x79e1, 0xeb99ba},
-  {0x79e2, 0xeb99bb},
-  {0x79e3, 0xeebfb7},
-  {0x79e4, 0xeb8f93},
-  {0x79e5, 0xeb99bc},
-  {0x79e6, 0xec9f98},
-  {0x79e7, 0xed87ad},
-  {0x79e8, 0xeb99bd},
-  {0x79e9, 0xed9b88},
-  {0x79ea, 0xeb99be},
-  {0x79eb, 0xeebfb8},
-  {0x79ec, 0xeb9a80},
-  {0x79ed, 0xeebfb6},
-  {0x79ee, 0xeb9a81},
-  {0x79ef, 0xebafbd},
-  {0x79f0, 0xeb8f86},
-  {0x79f1, 0xeb9a82},
-  {0x79f2, 0xeb9a83},
-  {0x79f3, 0xeb9a84},
-  {0x79f4, 0xeb9a85},
-  {0x79f5, 0xeb9a86},
-  {0x79f6, 0xeb9a87},
-  {0x79f7, 0xeb9a88},
-  {0x79f8, 0xebb795},
-  {0x79f9, 0xeb9a89},
-  {0x79fa, 0xeb9a8a},
-  {0x79fb, 0xed8b86},
-  {0x79fc, 0xeb9a8b},
-  {0x79fd, 0xebafa0},
-  {0x79fe, 0xeb9a8c},
-  {0x79ff, 0xeb9a8d},
-  {0x7a00, 0xecbea1},
-  {0x7a01, 0xeb9a8e},
-  {0x7a02, 0xeebfbc},
-  {0x7a03, 0xeebfbb},
-  {0x7a04, 0xeb9a8f},
-  {0x7a05, 0xeb9a90},
-  {0x7a06, 0xeebfb9},
-  {0x7a07, 0xeb9a91},
-  {0x7a08, 0xeb9a92},
-  {0x7a09, 0xeb9a93},
-  {0x7a0a, 0xeb9a94},
-  {0x7a0b, 0xeb8f8c},
-  {0x7a0c, 0xeb9a95},
-  {0x7a0d, 0xeca794},
-  {0x7a0e, 0xecaeb0},
-  {0x7a0f, 0xeb9a96},
-  {0x7a10, 0xeb9a97},
-  {0x7a11, 0xeb9a98},
-  {0x7a12, 0xeb9a99},
-  {0x7a13, 0xeb9a9a},
-  {0x7a14, 0xeebfbe},
-  {0x7a15, 0xeb9a9b},
-  {0x7a16, 0xeb9a9c},
-  {0x7a17, 0xeb839e},
-  {0x7a18, 0xeb9a9d},
-  {0x7a19, 0xeb9a9e},
-  {0x7a1a, 0xed9b89},
-  {0x7a1b, 0xeb9a9f},
-  {0x7a1c, 0xeb9aa0},
-  {0x7a1d, 0xeb9d80},
-  {0x7a1e, 0xeebfbd},
-  {0x7a1f, 0xeb9d81},
-  {0x7a20, 0xeb8fad},
-  {0x7a21, 0xeb9d82},
-  {0x7a22, 0xeb9d83},
-  {0x7a23, 0xef9b95},
-  {0x7a24, 0xeb9d84},
-  {0x7a25, 0xeb9d85},
-  {0x7a26, 0xeb9d86},
-  {0x7a27, 0xeb9d87},
-  {0x7a28, 0xeb9d88},
-  {0x7a29, 0xeb9d89},
-  {0x7a2a, 0xeb9d8a},
-  {0x7a2b, 0xeb9d8b},
-  {0x7a2c, 0xeb9d8c},
-  {0x7a2d, 0xeb9d8d},
-  {0x7a2e, 0xeb9d8e},
-  {0x7a2f, 0xeb9d8f},
-  {0x7a30, 0xeb9d90},
-  {0x7a31, 0xeb9d91},
-  {0x7a32, 0xeb9d92},
-  {0x7a33, 0xecbb88},
-  {0x7a34, 0xeb9d93},
-  {0x7a35, 0xeb9d94},
-  {0x7a36, 0xeb9d95},
-  {0x7a37, 0xef82a2},
-  {0x7a38, 0xeb9d96},
-  {0x7a39, 0xef82a1},
-  {0x7a3a, 0xeb9d97},
-  {0x7a3b, 0xeb96be},
-  {0x7a3c, 0xebb39a},
-  {0x7a3d, 0xebafbc},
-  {0x7a3e, 0xeb9d98},
-  {0x7a3f, 0xeba3a5},
-  {0x7a40, 0xeb9d99},
-  {0x7a41, 0xeb9d9a},
-  {0x7a42, 0xeb9d9b},
-  {0x7a43, 0xeb9d9c},
-  {0x7a44, 0xeb9d9d},
-  {0x7a45, 0xeb9d9e},
-  {0x7a46, 0xec9382},
-  {0x7a47, 0xeb9d9f},
-  {0x7a48, 0xeb9da0},
-  {0x7a49, 0xeb9da1},
-  {0x7a4a, 0xeb9da2},
-  {0x7a4b, 0xeb9da3},
-  {0x7a4c, 0xeb9da4},
-  {0x7a4d, 0xeb9da5},
-  {0x7a4e, 0xeb9da6},
-  {0x7a4f, 0xeb9da7},
-  {0x7a50, 0xeb9da8},
-  {0x7a51, 0xef82a3},
-  {0x7a52, 0xeb9da9},
-  {0x7a53, 0xeb9daa},
-  {0x7a54, 0xeb9dab},
-  {0x7a55, 0xeb9dac},
-  {0x7a56, 0xeb9dad},
-  {0x7a57, 0xecafab},
-  {0x7a58, 0xeb9dae},
-  {0x7a59, 0xeb9daf},
-  {0x7a5a, 0xeb9db0},
-  {0x7a5b, 0xeb9db1},
-  {0x7a5c, 0xeb9db2},
-  {0x7a5d, 0xeb9db3},
-  {0x7a5e, 0xeb9db4},
-  {0x7a5f, 0xeb9db5},
-  {0x7a60, 0xeb9db6},
-  {0x7a61, 0xeb9db7},
-  {0x7a62, 0xeb9db8},
-  {0x7a63, 0xeb9db9},
-  {0x7a64, 0xeb9dba},
-  {0x7a65, 0xeb9dbb},
-  {0x7a66, 0xeb9dbc},
-  {0x7a67, 0xeb9dbd},
-  {0x7a68, 0xeb9dbe},
-  {0x7a69, 0xeb9e80},
-  {0x7a6a, 0xeb9e81},
-  {0x7a6b, 0xeb9e82},
-  {0x7a6c, 0xeb9e83},
-  {0x7a6d, 0xeb9e84},
-  {0x7a6e, 0xeb9e85},
-  {0x7a6f, 0xeb9e86},
-  {0x7a70, 0xef82a6},
-  {0x7a71, 0xeb9e87},
-  {0x7a72, 0xeb9e88},
-  {0x7a73, 0xeb9e89},
-  {0x7a74, 0xed86a8},
-  {0x7a75, 0xeb9e8a},
-  {0x7a76, 0xebbabf},
-  {0x7a77, 0xec9fae},
-  {0x7a78, 0xef86b6},
-  {0x7a79, 0xef86b7},
-  {0x7a7a, 0xebbf95},
-  {0x7a7b, 0xeb9e8b},
-  {0x7a7c, 0xeb9e8c},
-  {0x7a7d, 0xeb9e8d},
-  {0x7a7e, 0xeb9e8e},
-  {0x7a7f, 0xeb92a9},
-  {0x7a80, 0xef86b8},
-  {0x7a81, 0xecb6bb},
-  {0x7a82, 0xeb9e8f},
-  {0x7a83, 0xec9f94},
-  {0x7a84, 0xed96ad},
-  {0x7a85, 0xeb9e90},
-  {0x7a86, 0xef86b9},
-  {0x7a87, 0xeb9e91},
-  {0x7a88, 0xef86ba},
-  {0x7a89, 0xeb9e92},
-  {0x7a8a, 0xeb9e93},
-  {0x7a8b, 0xeb9e94},
-  {0x7a8c, 0xeb9e95},
-  {0x7a8d, 0xec9f8f},
-  {0x7a8e, 0xeb9e96},
-  {0x7a8f, 0xeb9e97},
-  {0x7a90, 0xeb9e98},
-  {0x7a91, 0xed8aa4},
-  {0x7a92, 0xed9b8f},
-  {0x7a93, 0xeb9e99},
-  {0x7a94, 0xeb9e9a},
-  {0x7a95, 0xef86bb},
-  {0x7a96, 0xebb791},
-  {0x7a97, 0xeb92b0},
-  {0x7a98, 0xebbabd},
-  {0x7a99, 0xeb9e9b},
-  {0x7a9a, 0xeb9e9c},
-  {0x7a9b, 0xeb9e9d},
-  {0x7a9c, 0xeb939c},
-  {0x7a9d, 0xecbb91},
-  {0x7a9e, 0xeb9e9e},
-  {0x7a9f, 0xebbf9f},
-  {0x7aa0, 0xef86bd},
-  {0x7aa1, 0xeb9e9f},
-  {0x7aa2, 0xeb9ea0},
-  {0x7aa3, 0xeba180},
-  {0x7aa4, 0xeba181},
-  {0x7aa5, 0xebbfba},
-  {0x7aa6, 0xef86bc},
-  {0x7aa7, 0xeba182},
-  {0x7aa8, 0xef86bf},
-  {0x7aa9, 0xeba183},
-  {0x7aaa, 0xeba184},
-  {0x7aab, 0xeba185},
-  {0x7aac, 0xef86be},
-  {0x7aad, 0xef8780},
-  {0x7aae, 0xeba186},
-  {0x7aaf, 0xeba187},
-  {0x7ab0, 0xeba188},
-  {0x7ab1, 0xeba189},
-  {0x7ab2, 0xeba18a},
-  {0x7ab3, 0xef8781},
-  {0x7ab4, 0xeba18b},
-  {0x7ab5, 0xeba18c},
-  {0x7ab6, 0xeba18d},
-  {0x7ab7, 0xeba18e},
-  {0x7ab8, 0xeba18f},
-  {0x7ab9, 0xeba190},
-  {0x7aba, 0xeba191},
-  {0x7abb, 0xeba192},
-  {0x7abc, 0xeba193},
-  {0x7abd, 0xeba194},
-  {0x7abe, 0xeba195},
-  {0x7abf, 0xec87be},
-  {0x7ac0, 0xeba196},
-  {0x7ac1, 0xeba197},
-  {0x7ac2, 0xeba198},
-  {0x7ac3, 0xeba199},
-  {0x7ac4, 0xeba19a},
-  {0x7ac5, 0xeba19b},
-  {0x7ac6, 0xeba19c},
-  {0x7ac7, 0xeba19d},
-  {0x7ac8, 0xeba19e},
-  {0x7ac9, 0xeba19f},
-  {0x7aca, 0xeba1a0},
-  {0x7acb, 0xec86a2},
-  {0x7acc, 0xeba1a1},
-  {0x7acd, 0xeba1a2},
-  {0x7ace, 0xeba1a3},
-  {0x7acf, 0xeba1a4},
-  {0x7ad0, 0xeba1a5},
-  {0x7ad1, 0xeba1a6},
-  {0x7ad2, 0xeba1a7},
-  {0x7ad3, 0xeba1a8},
-  {0x7ad4, 0xeba1a9},
-  {0x7ad5, 0xeba1aa},
-  {0x7ad6, 0xecabba},
-  {0x7ad7, 0xeba1ab},
-  {0x7ad8, 0xeba1ac},
-  {0x7ad9, 0xed96be},
-  {0x7ada, 0xeba1ad},
-  {0x7adb, 0xeba1ae},
-  {0x7adc, 0xeba1af},
-  {0x7add, 0xeba1b0},
-  {0x7ade, 0xebbaba},
-  {0x7adf, 0xebbab9},
-  {0x7ae0, 0xed9782},
-  {0x7ae1, 0xeba1b1},
-  {0x7ae2, 0xeba1b2},
-  {0x7ae3, 0xebbea2},
-  {0x7ae4, 0xeba1b3},
-  {0x7ae5, 0xecb6af},
-  {0x7ae6, 0xef86b5},
-  {0x7ae7, 0xeba1b4},
-  {0x7ae8, 0xeba1b5},
-  {0x7ae9, 0xeba1b6},
-  {0x7aea, 0xeba1b7},
-  {0x7aeb, 0xeba1b8},
-  {0x7aec, 0xeba1b9},
-  {0x7aed, 0xebb79f},
-  {0x7aee, 0xeba1ba},
-  {0x7aef, 0xeb9b8b},
-  {0x7af0, 0xeba1bb},
-  {0x7af1, 0xeba1bc},
-  {0x7af2, 0xeba1bd},
-  {0x7af3, 0xeba1be},
-  {0x7af4, 0xeba280},
-  {0x7af5, 0xeba281},
-  {0x7af6, 0xeba282},
-  {0x7af7, 0xeba283},
-  {0x7af8, 0xeba284},
-  {0x7af9, 0xed9bb1},
-  {0x7afa, 0xef8f83},
-  {0x7afb, 0xeba285},
-  {0x7afc, 0xeba286},
-  {0x7afd, 0xef8f84},
-  {0x7afe, 0xeba287},
-  {0x7aff, 0xeba38d},
-  {0x7b00, 0xeba288},
-  {0x7b01, 0xeba289},
-  {0x7b02, 0xeba28a},
-  {0x7b03, 0xef8f86},
-  {0x7b04, 0xef8f87},
-  {0x7b05, 0xeba28b},
-  {0x7b06, 0xeb838a},
-  {0x7b07, 0xeba28c},
-  {0x7b08, 0xef8f85},
-  {0x7b09, 0xeba28d},
-  {0x7b0a, 0xef8f89},
-  {0x7b0b, 0xecafb1},
-  {0x7b0c, 0xeba28e},
-  {0x7b0d, 0xeba28f},
-  {0x7b0e, 0xeba290},
-  {0x7b0f, 0xef8f8b},
-  {0x7b10, 0xeba291},
-  {0x7b11, 0xed82a6},
-  {0x7b12, 0xeba292},
-  {0x7b13, 0xeba293},
-  {0x7b14, 0xeb878a},
-  {0x7b15, 0xef8f88},
-  {0x7b16, 0xeba294},
-  {0x7b17, 0xeba295},
-  {0x7b18, 0xeba296},
-  {0x7b19, 0xef8f8f},
-  {0x7b1a, 0xeba297},
-  {0x7b1b, 0xeb9791},
-  {0x7b1c, 0xeba298},
-  {0x7b1d, 0xeba299},
-  {0x7b1e, 0xef8f97},
-  {0x7b1f, 0xeba29a},
-  {0x7b20, 0xef8f92},
-  {0x7b21, 0xeba29b},
-  {0x7b22, 0xeba29c},
-  {0x7b23, 0xeba29d},
-  {0x7b24, 0xef8f94},
-  {0x7b25, 0xef8f93},
-  {0x7b26, 0xeb9fbb},
-  {0x7b27, 0xeba29e},
-  {0x7b28, 0xeb86bf},
-  {0x7b29, 0xeba29f},
-  {0x7b2a, 0xef8f8e},
-  {0x7b2b, 0xef8f8a},
-  {0x7b2c, 0xeb979a},
-  {0x7b2d, 0xeba2a0},
-  {0x7b2e, 0xef8f90},
-  {0x7b2f, 0xeba580},
-  {0x7b30, 0xeba581},
-  {0x7b31, 0xef8f91},
-  {0x7b32, 0xeba582},
-  {0x7b33, 0xef8f95},
-  {0x7b34, 0xeba583},
-  {0x7b35, 0xeba584},
-  {0x7b36, 0xeba585},
-  {0x7b37, 0xeba586},
-  {0x7b38, 0xef8f8d},
-  {0x7b39, 0xeba587},
-  {0x7b3a, 0xebb3a3},
-  {0x7b3b, 0xeba588},
-  {0x7b3c, 0xec87bd},
-  {0x7b3d, 0xeba589},
-  {0x7b3e, 0xef8f96},
-  {0x7b3f, 0xeba58a},
-  {0x7b40, 0xeba58b},
-  {0x7b41, 0xeba58c},
-  {0x7b42, 0xeba58d},
-  {0x7b43, 0xeba58e},
-  {0x7b44, 0xeba58f},
-  {0x7b45, 0xef8f9a},
-  {0x7b46, 0xeba590},
-  {0x7b47, 0xef8f8c},
-  {0x7b48, 0xeba591},
-  {0x7b49, 0xeb9788},
-  {0x7b4a, 0xeba592},
-  {0x7b4b, 0xebb7ae},
-  {0x7b4c, 0xef8f9c},
-  {0x7b4d, 0xeba593},
-  {0x7b4e, 0xeba594},
-  {0x7b4f, 0xeb9ea4},
-  {0x7b50, 0xebbfb0},
-  {0x7b51, 0xed9bbe},
-  {0x7b52, 0xecb6b2},
-  {0x7b53, 0xeba595},
-  {0x7b54, 0xeb93b0},
-  {0x7b55, 0xeba596},
-  {0x7b56, 0xeb8b9f},
-  {0x7b57, 0xeba597},
-  {0x7b58, 0xef8f98},
-  {0x7b59, 0xeba598},
-  {0x7b5a, 0xef8f99},
-  {0x7b5b, 0xeca6b8},
-  {0x7b5c, 0xeba599},
-  {0x7b5d, 0xef8f9d},
-  {0x7b5e, 0xeba59a},
-  {0x7b5f, 0xeba59b},
-  {0x7b60, 0xef8f9e},
-  {0x7b61, 0xeba59c},
-  {0x7b62, 0xef8fa1},
-  {0x7b63, 0xeba59d},
-  {0x7b64, 0xeba59e},
-  {0x7b65, 0xeba59f},
-  {0x7b66, 0xeba5a0},
-  {0x7b67, 0xeba5a1},
-  {0x7b68, 0xeba5a2},
-  {0x7b69, 0xeba5a3},
-  {0x7b6a, 0xeba5a4},
-  {0x7b6b, 0xeba5a5},
-  {0x7b6c, 0xeba5a6},
-  {0x7b6d, 0xeba5a7},
-  {0x7b6e, 0xef8f9f},
-  {0x7b6f, 0xeba5a8},
-  {0x7b70, 0xeba5a9},
-  {0x7b71, 0xef8fa3},
-  {0x7b72, 0xef8fa2},
-  {0x7b73, 0xeba5aa},
-  {0x7b74, 0xeba5ab},
-  {0x7b75, 0xef8f9b},
-  {0x7b76, 0xeba5ac},
-  {0x7b77, 0xebbfaa},
-  {0x7b78, 0xeba5ad},
-  {0x7b79, 0xeb8faf},
-  {0x7b7a, 0xeba5ae},
-  {0x7b7b, 0xef8fa0},
-  {0x7b7c, 0xeba5af},
-  {0x7b7d, 0xeba5b0},
-  {0x7b7e, 0xec9ea9},
-  {0x7b7f, 0xeba5b1},
-  {0x7b80, 0xebb3b2},
-  {0x7b81, 0xeba5b2},
-  {0x7b82, 0xeba5b3},
-  {0x7b83, 0xeba5b4},
-  {0x7b84, 0xeba5b5},
-  {0x7b85, 0xef8fab},
-  {0x7b86, 0xeba5b6},
-  {0x7b87, 0xeba5b7},
-  {0x7b88, 0xeba5b8},
-  {0x7b89, 0xeba5b9},
-  {0x7b8a, 0xeba5ba},
-  {0x7b8b, 0xeba5bb},
-  {0x7b8c, 0xeba5bc},
-  {0x7b8d, 0xeba6bf},
-  {0x7b8e, 0xeba5bd},
-  {0x7b8f, 0xeba5be},
-  {0x7b90, 0xef8fa4},
-  {0x7b91, 0xeba680},
-  {0x7b92, 0xeba681},
-  {0x7b93, 0xeba682},
-  {0x7b94, 0xeb8aad},
-  {0x7b95, 0xebafbe},
-  {0x7b96, 0xeba683},
-  {0x7b97, 0xecafa3},
-  {0x7b98, 0xeba684},
-  {0x7b99, 0xeba685},
-  {0x7b9a, 0xeba686},
-  {0x7b9b, 0xeba687},
-  {0x7b9c, 0xef8fad},
-  {0x7b9d, 0xef8fa9},
-  {0x7b9e, 0xeba688},
-  {0x7b9f, 0xeba689},
-  {0x7ba0, 0xeba68a},
-  {0x7ba1, 0xeba79c},
-  {0x7ba2, 0xef8fae},
-  {0x7ba3, 0xeba68b},
-  {0x7ba4, 0xeba68c},
-  {0x7ba5, 0xeba68d},
-  {0x7ba6, 0xef8fa5},
-  {0x7ba7, 0xef8fa6},
-  {0x7ba8, 0xef8faa},
-  {0x7ba9, 0xec8ba1},
-  {0x7baa, 0xef8fac},
-  {0x7bab, 0xef8faf},
-  {0x7bac, 0xef8fa8},
-  {0x7bad, 0xebb3bd},
-  {0x7bae, 0xeba68e},
-  {0x7baf, 0xeba68f},
-  {0x7bb0, 0xeba690},
-  {0x7bb1, 0xecbfa4},
-  {0x7bb2, 0xeba691},
-  {0x7bb3, 0xeba692},
-  {0x7bb4, 0xef8fb0},
-  {0x7bb5, 0xeba693},
-  {0x7bb6, 0xeba694},
-  {0x7bb7, 0xeba695},
-  {0x7bb8, 0xef8fa7},
-  {0x7bb9, 0xeba696},
-  {0x7bba, 0xeba697},
-  {0x7bbb, 0xeba698},
-  {0x7bbc, 0xeba699},
-  {0x7bbd, 0xeba69a},
-  {0x7bbe, 0xeba69b},
-  {0x7bbf, 0xeba69c},
-  {0x7bc0, 0xeba69d},
-  {0x7bc1, 0xef8fb2},
-  {0x7bc2, 0xeba69e},
-  {0x7bc3, 0xeba69f},
-  {0x7bc4, 0xeba6a0},
-  {0x7bc5, 0xeba980},
-  {0x7bc6, 0xed9ead},
-  {0x7bc7, 0xec9aaa},
-  {0x7bc8, 0xeba981},
-  {0x7bc9, 0xeba982},
-  {0x7bca, 0xeba983},
-  {0x7bcb, 0xeba984},
-  {0x7bcc, 0xef8fb3},
-  {0x7bcd, 0xeba985},
-  {0x7bce, 0xeba986},
-  {0x7bcf, 0xeba987},
-  {0x7bd0, 0xeba988},
-  {0x7bd1, 0xef8fb1},
-  {0x7bd2, 0xeba989},
-  {0x7bd3, 0xec8aa8},
-  {0x7bd4, 0xeba98a},
-  {0x7bd5, 0xeba98b},
-  {0x7bd6, 0xeba98c},
-  {0x7bd7, 0xeba98d},
-  {0x7bd8, 0xeba98e},
-  {0x7bd9, 0xeba39d},
-  {0x7bda, 0xef8fb5},
-  {0x7bdb, 0xeba98f},
-  {0x7bdc, 0xeba990},
-  {0x7bdd, 0xef8fb4},
-  {0x7bde, 0xeba991},
-  {0x7bdf, 0xeba992},
-  {0x7be0, 0xeba993},
-  {0x7be1, 0xeb939b},
-  {0x7be2, 0xeba994},
-  {0x7be3, 0xeba995},
-  {0x7be4, 0xeba996},
-  {0x7be5, 0xef8fb6},
-  {0x7be6, 0xef8fb7},
-  {0x7be7, 0xeba997},
-  {0x7be8, 0xeba998},
-  {0x7be9, 0xeba999},
-  {0x7bea, 0xef8fb8},
-  {0x7beb, 0xeba99a},
-  {0x7bec, 0xeba99b},
-  {0x7bed, 0xeba99c},
-  {0x7bee, 0xec82ba},
-  {0x7bef, 0xeba99d},
-  {0x7bf0, 0xeba99e},
-  {0x7bf1, 0xec83a9},
-  {0x7bf2, 0xeba99f},
-  {0x7bf3, 0xeba9a0},
-  {0x7bf4, 0xeba9a1},
-  {0x7bf5, 0xeba9a2},
-  {0x7bf6, 0xeba9a3},
-  {0x7bf7, 0xec97b1},
-  {0x7bf8, 0xeba9a4},
-  {0x7bf9, 0xeba9a5},
-  {0x7bfa, 0xeba9a6},
-  {0x7bfb, 0xeba9a7},
-  {0x7bfc, 0xef8fbb},
-  {0x7bfd, 0xeba9a8},
-  {0x7bfe, 0xef8fba},
-  {0x7bff, 0xeba9a9},
-  {0x7c00, 0xeba9aa},
-  {0x7c01, 0xeba9ab},
-  {0x7c02, 0xeba9ac},
-  {0x7c03, 0xeba9ad},
-  {0x7c04, 0xeba9ae},
-  {0x7c05, 0xeba9af},
-  {0x7c06, 0xeba9b0},
-  {0x7c07, 0xeb9398},
-  {0x7c08, 0xeba9b1},
-  {0x7c09, 0xeba9b2},
-  {0x7c0a, 0xeba9b3},
-  {0x7c0b, 0xef8fbe},
-  {0x7c0c, 0xef8fb9},
-  {0x7c0d, 0xeba9b4},
-  {0x7c0e, 0xeba9b5},
-  {0x7c0f, 0xef8fbc},
-  {0x7c10, 0xeba9b6},
-  {0x7c11, 0xeba9b7},
-  {0x7c12, 0xeba9b8},
-  {0x7c13, 0xeba9b9},
-  {0x7c14, 0xeba9ba},
-  {0x7c15, 0xeba9bb},
-  {0x7c16, 0xef8fbd},
-  {0x7c17, 0xeba9bc},
-  {0x7c18, 0xeba9bd},
-  {0x7c19, 0xeba9be},
-  {0x7c1a, 0xebaa80},
-  {0x7c1b, 0xebaa81},
-  {0x7c1c, 0xebaa82},
-  {0x7c1d, 0xebaa83},
-  {0x7c1e, 0xebaa84},
-  {0x7c1f, 0xef92a1},
-  {0x7c20, 0xebaa85},
-  {0x7c21, 0xebaa86},
-  {0x7c22, 0xebaa87},
-  {0x7c23, 0xebaa88},
-  {0x7c24, 0xebaa89},
-  {0x7c25, 0xebaa8a},
-  {0x7c26, 0xef92a3},
-  {0x7c27, 0xebaf89},
-  {0x7c28, 0xebaa8b},
-  {0x7c29, 0xebaa8c},
-  {0x7c2a, 0xef92a2},
-  {0x7c2b, 0xebaa8d},
-  {0x7c2c, 0xebaa8e},
-  {0x7c2d, 0xebaa8f},
-  {0x7c2e, 0xebaa90},
-  {0x7c2f, 0xebaa91},
-  {0x7c30, 0xebaa92},
-  {0x7c31, 0xebaa93},
-  {0x7c32, 0xebaa94},
-  {0x7c33, 0xebaa95},
-  {0x7c34, 0xebaa96},
-  {0x7c35, 0xebaa97},
-  {0x7c36, 0xebaa98},
-  {0x7c37, 0xebaa99},
-  {0x7c38, 0xef92a4},
-  {0x7c39, 0xebaa9a},
-  {0x7c3a, 0xebaa9b},
-  {0x7c3b, 0xebaa9c},
-  {0x7c3c, 0xebaa9d},
-  {0x7c3d, 0xebaa9e},
-  {0x7c3e, 0xebaa9f},
-  {0x7c3f, 0xeb8abe},
-  {0x7c40, 0xef92a6},
-  {0x7c41, 0xef92a5},
-  {0x7c42, 0xebaaa0},
-  {0x7c43, 0xebad80},
-  {0x7c44, 0xebad81},
-  {0x7c45, 0xebad82},
-  {0x7c46, 0xebad83},
-  {0x7c47, 0xebad84},
-  {0x7c48, 0xebad85},
-  {0x7c49, 0xebad86},
-  {0x7c4a, 0xebad87},
-  {0x7c4b, 0xebad88},
-  {0x7c4c, 0xebad89},
-  {0x7c4d, 0xebb2ae},
-  {0x7c4e, 0xebad8a},
-  {0x7c4f, 0xebad8b},
-  {0x7c50, 0xebad8c},
-  {0x7c51, 0xebad8d},
-  {0x7c52, 0xebad8e},
-  {0x7c53, 0xebad8f},
-  {0x7c54, 0xebad90},
-  {0x7c55, 0xebad91},
-  {0x7c56, 0xebad92},
-  {0x7c57, 0xebad93},
-  {0x7c58, 0xebad94},
-  {0x7c59, 0xebad95},
-  {0x7c5a, 0xebad96},
-  {0x7c5b, 0xebad97},
-  {0x7c5c, 0xebad98},
-  {0x7c5d, 0xebad99},
-  {0x7c5e, 0xebad9a},
-  {0x7c5f, 0xebad9b},
-  {0x7c60, 0xebad9c},
-  {0x7c61, 0xebad9d},
-  {0x7c62, 0xebad9e},
-  {0x7c63, 0xebad9f},
-  {0x7c64, 0xebada0},
-  {0x7c65, 0xebada1},
-  {0x7c66, 0xebada2},
-  {0x7c67, 0xebada3},
-  {0x7c68, 0xebada4},
-  {0x7c69, 0xebada5},
-  {0x7c6a, 0xebada6},
-  {0x7c6b, 0xebada7},
-  {0x7c6c, 0xebada8},
-  {0x7c6d, 0xebada9},
-  {0x7c6e, 0xebadaa},
-  {0x7c6f, 0xebadab},
-  {0x7c70, 0xebadac},
-  {0x7c71, 0xebadad},
-  {0x7c72, 0xebadae},
-  {0x7c73, 0xec8f97},
-  {0x7c74, 0xeda7a1},
-  {0x7c75, 0xebadaf},
-  {0x7c76, 0xebadb0},
-  {0x7c77, 0xebadb1},
-  {0x7c78, 0xebadb2},
-  {0x7c79, 0xebadb3},
-  {0x7c7a, 0xebadb4},
-  {0x7c7b, 0xec83a0},
-  {0x7c7c, 0xef938c},
-  {0x7c7d, 0xed9f91},
-  {0x7c7e, 0xebadb5},
-  {0x7c7f, 0xebadb6},
-  {0x7c80, 0xebadb7},
-  {0x7c81, 0xebadb8},
-  {0x7c82, 0xebadb9},
-  {0x7c83, 0xebadba},
-  {0x7c84, 0xebadbb},
-  {0x7c85, 0xebadbc},
-  {0x7c86, 0xebadbd},
-  {0x7c87, 0xebadbe},
-  {0x7c88, 0xebae80},
-  {0x7c89, 0xeb9f9b},
-  {0x7c8a, 0xebae81},
-  {0x7c8b, 0xebae82},
-  {0x7c8c, 0xebae83},
-  {0x7c8d, 0xebae84},
-  {0x7c8e, 0xebae85},
-  {0x7c8f, 0xebae86},
-  {0x7c90, 0xebae87},
-  {0x7c91, 0xef938e},
-  {0x7c92, 0xec86a3},
-  {0x7c93, 0xebae88},
-  {0x7c94, 0xebae89},
-  {0x7c95, 0xec9b89},
-  {0x7c96, 0xebae8a},
-  {0x7c97, 0xeb9396},
-  {0x7c98, 0xed96b3},
-  {0x7c99, 0xebae8b},
-  {0x7c9a, 0xebae8c},
-  {0x7c9b, 0xebae8d},
-  {0x7c9c, 0xef9390},
-  {0x7c9d, 0xef938f},
-  {0x7c9e, 0xef9391},
-  {0x7c9f, 0xecaf9a},
-  {0x7ca0, 0xebae8e},
-  {0x7ca1, 0xebae8f},
-  {0x7ca2, 0xef9392},
-  {0x7ca3, 0xebae90},
-  {0x7ca4, 0xed9381},
-  {0x7ca5, 0xed9ba0},
-  {0x7ca6, 0xebae91},
-  {0x7ca7, 0xebae92},
-  {0x7ca8, 0xebae93},
-  {0x7ca9, 0xebae94},
-  {0x7caa, 0xeb9fa0},
-  {0x7cab, 0xebae95},
-  {0x7cac, 0xebae96},
-  {0x7cad, 0xebae97},
-  {0x7cae, 0xec86b8},
-  {0x7caf, 0xebae98},
-  {0x7cb0, 0xebae99},
-  {0x7cb1, 0xec86bb},
-  {0x7cb2, 0xef9393},
-  {0x7cb3, 0xebbaac},
-  {0x7cb4, 0xebae9a},
-  {0x7cb5, 0xebae9b},
-  {0x7cb6, 0xebae9c},
-  {0x7cb7, 0xebae9d},
-  {0x7cb8, 0xebae9e},
-  {0x7cb9, 0xeb93a2},
-  {0x7cba, 0xebae9f},
-  {0x7cbb, 0xebaea0},
-  {0x7cbc, 0xef9394},
-  {0x7cbd, 0xef9395},
-  {0x7cbe, 0xebbaab},
-  {0x7cbf, 0xebb180},
-  {0x7cc0, 0xebb181},
-  {0x7cc1, 0xef9396},
-  {0x7cc2, 0xebb182},
-  {0x7cc3, 0xebb183},
-  {0x7cc4, 0xebb184},
-  {0x7cc5, 0xef939b},
-  {0x7cc6, 0xebb185},
-  {0x7cc7, 0xef9397},
-  {0x7cc8, 0xef939a},
-  {0x7cc9, 0xebb186},
-  {0x7cca, 0xebabbd},
-  {0x7ccb, 0xebb187},
-  {0x7ccc, 0xef9398},
-  {0x7ccd, 0xef9399},
-  {0x7cce, 0xebb188},
-  {0x7ccf, 0xebb189},
-  {0x7cd0, 0xebb18a},
-  {0x7cd1, 0xebb18b},
-  {0x7cd2, 0xebb18c},
-  {0x7cd3, 0xebb18d},
-  {0x7cd4, 0xebb18e},
-  {0x7cd5, 0xeba3a2},
-  {0x7cd6, 0xecb387},
-  {0x7cd7, 0xef939c},
-  {0x7cd8, 0xebb18f},
-  {0x7cd9, 0xeb8b9a},
-  {0x7cda, 0xebb190},
-  {0x7cdb, 0xebb191},
-  {0x7cdc, 0xec8f93},
-  {0x7cdd, 0xebb192},
-  {0x7cde, 0xebb193},
-  {0x7cdf, 0xed93a3},
-  {0x7ce0, 0xebbeb7},
-  {0x7ce1, 0xebb194},
-  {0x7ce2, 0xebb195},
-  {0x7ce3, 0xebb196},
-  {0x7ce4, 0xebb197},
-  {0x7ce5, 0xebb198},
-  {0x7ce6, 0xebb199},
-  {0x7ce7, 0xebb19a},
-  {0x7ce8, 0xef939d},
-  {0x7ce9, 0xebb19b},
-  {0x7cea, 0xebb19c},
-  {0x7ceb, 0xebb19d},
-  {0x7cec, 0xebb19e},
-  {0x7ced, 0xebb19f},
-  {0x7cee, 0xebb1a0},
-  {0x7cef, 0xec96b4},
-  {0x7cf0, 0xebb1a1},
-  {0x7cf1, 0xebb1a2},
-  {0x7cf2, 0xebb1a3},
-  {0x7cf3, 0xebb1a4},
-  {0x7cf4, 0xebb1a5},
-  {0x7cf5, 0xebb1a6},
-  {0x7cf6, 0xebb1a7},
-  {0x7cf7, 0xebb1a8},
-  {0x7cf8, 0xef93a9},
-  {0x7cf9, 0xebb1a9},
-  {0x7cfa, 0xebb1aa},
-  {0x7cfb, 0xecbeb5},
-  {0x7cfc, 0xebb1ab},
-  {0x7cfd, 0xebb1ac},
-  {0x7cfe, 0xebb1ad},
-  {0x7cff, 0xebb1ae},
-  {0x7d00, 0xebb1af},
-  {0x7d01, 0xebb1b0},
-  {0x7d02, 0xebb1b1},
-  {0x7d03, 0xebb1b2},
-  {0x7d04, 0xebb1b3},
-  {0x7d05, 0xebb1b4},
-  {0x7d06, 0xebb1b5},
-  {0x7d07, 0xebb1b6},
-  {0x7d08, 0xebb1b7},
-  {0x7d09, 0xebb1b8},
-  {0x7d0a, 0xecbb89},
-  {0x7d0b, 0xebb1b9},
-  {0x7d0c, 0xebb1ba},
-  {0x7d0d, 0xebb1bb},
-  {0x7d0e, 0xebb1bc},
-  {0x7d0f, 0xebb1bd},
-  {0x7d10, 0xebb1be},
-  {0x7d11, 0xebb280},
-  {0x7d12, 0xebb281},
-  {0x7d13, 0xebb282},
-  {0x7d14, 0xebb283},
-  {0x7d15, 0xebb284},
-  {0x7d16, 0xebb285},
-  {0x7d17, 0xebb286},
-  {0x7d18, 0xebb287},
-  {0x7d19, 0xebb288},
-  {0x7d1a, 0xebb289},
-  {0x7d1b, 0xebb28a},
-  {0x7d1c, 0xebb28b},
-  {0x7d1d, 0xebb28c},
-  {0x7d1e, 0xebb28d},
-  {0x7d1f, 0xebb28e},
-  {0x7d20, 0xecaf98},
-  {0x7d21, 0xebb28f},
-  {0x7d22, 0xecafb7},
-  {0x7d23, 0xebb290},
-  {0x7d24, 0xebb291},
-  {0x7d25, 0xebb292},
-  {0x7d26, 0xebb293},
-  {0x7d27, 0xebb7b4},
-  {0x7d28, 0xebb294},
-  {0x7d29, 0xebb295},
-  {0x7d2a, 0xebb296},
-  {0x7d2b, 0xed9f8f},
-  {0x7d2c, 0xebb297},
-  {0x7d2d, 0xebb298},
-  {0x7d2e, 0xebb299},
-  {0x7d2f, 0xec839b},
-  {0x7d30, 0xebb29a},
-  {0x7d31, 0xebb29b},
-  {0x7d32, 0xebb29c},
-  {0x7d33, 0xebb29d},
-  {0x7d34, 0xebb29e},
-  {0x7d35, 0xebb29f},
-  {0x7d36, 0xebb2a0},
-  {0x7d37, 0xebb580},
-  {0x7d38, 0xebb581},
-  {0x7d39, 0xebb582},
-  {0x7d3a, 0xebb583},
-  {0x7d3b, 0xebb584},
-  {0x7d3c, 0xebb585},
-  {0x7d3d, 0xebb586},
-  {0x7d3e, 0xebb587},
-  {0x7d3f, 0xebb588},
-  {0x7d40, 0xebb589},
-  {0x7d41, 0xebb58a},
-  {0x7d42, 0xebb58b},
-  {0x7d43, 0xebb58c},
-  {0x7d44, 0xebb58d},
-  {0x7d45, 0xebb58e},
-  {0x7d46, 0xebb58f},
-  {0x7d47, 0xebb590},
-  {0x7d48, 0xebb591},
-  {0x7d49, 0xebb592},
-  {0x7d4a, 0xebb593},
-  {0x7d4b, 0xebb594},
-  {0x7d4c, 0xebb595},
-  {0x7d4d, 0xebb596},
-  {0x7d4e, 0xebb597},
-  {0x7d4f, 0xebb598},
-  {0x7d50, 0xebb599},
-  {0x7d51, 0xebb59a},
-  {0x7d52, 0xebb59b},
-  {0x7d53, 0xebb59c},
-  {0x7d54, 0xebb59d},
-  {0x7d55, 0xebb59e},
-  {0x7d56, 0xebb59f},
-  {0x7d57, 0xebb5a0},
-  {0x7d58, 0xebb5a1},
-  {0x7d59, 0xebb5a2},
-  {0x7d5a, 0xebb5a3},
-  {0x7d5b, 0xebb5a4},
-  {0x7d5c, 0xebb5a5},
-  {0x7d5d, 0xebb5a6},
-  {0x7d5e, 0xebb5a7},
-  {0x7d5f, 0xebb5a8},
-  {0x7d60, 0xebb5a9},
-  {0x7d61, 0xebb5aa},
-  {0x7d62, 0xebb5ab},
-  {0x7d63, 0xebb5ac},
-  {0x7d64, 0xebb5ad},
-  {0x7d65, 0xebb5ae},
-  {0x7d66, 0xebb5af},
-  {0x7d67, 0xebb5b0},
-  {0x7d68, 0xebb5b1},
-  {0x7d69, 0xebb5b2},
-  {0x7d6a, 0xebb5b3},
-  {0x7d6b, 0xebb5b4},
-  {0x7d6c, 0xebb5b5},
-  {0x7d6d, 0xebb5b6},
-  {0x7d6e, 0xed83b5},
-  {0x7d6f, 0xebb5b7},
-  {0x7d70, 0xebb5b8},
-  {0x7d71, 0xebb5b9},
-  {0x7d72, 0xebb5ba},
-  {0x7d73, 0xebb5bb},
-  {0x7d74, 0xebb5bc},
-  {0x7d75, 0xebb5bd},
-  {0x7d76, 0xebb5be},
-  {0x7d77, 0xef93aa},
-  {0x7d78, 0xebb680},
-  {0x7d79, 0xebb681},
-  {0x7d7a, 0xebb682},
-  {0x7d7b, 0xebb683},
-  {0x7d7c, 0xebb684},
-  {0x7d7d, 0xebb685},
-  {0x7d7e, 0xebb686},
-  {0x7d7f, 0xebb687},
-  {0x7d80, 0xebb688},
-  {0x7d81, 0xebb689},
-  {0x7d82, 0xebb68a},
-  {0x7d83, 0xebb68b},
-  {0x7d84, 0xebb68c},
-  {0x7d85, 0xebb68d},
-  {0x7d86, 0xebb68e},
-  {0x7d87, 0xebb68f},
-  {0x7d88, 0xebb690},
-  {0x7d89, 0xebb691},
-  {0x7d8a, 0xebb692},
-  {0x7d8b, 0xebb693},
-  {0x7d8c, 0xebb694},
-  {0x7d8d, 0xebb695},
-  {0x7d8e, 0xebb696},
-  {0x7d8f, 0xebb697},
-  {0x7d90, 0xebb698},
-  {0x7d91, 0xebb699},
-  {0x7d92, 0xebb69a},
-  {0x7d93, 0xebb69b},
-  {0x7d94, 0xebb69c},
-  {0x7d95, 0xebb69d},
-  {0x7d96, 0xebb69e},
-  {0x7d97, 0xebb69f},
-  {0x7d98, 0xebb6a0},
-  {0x7d99, 0xebb980},
-  {0x7d9a, 0xebb981},
-  {0x7d9b, 0xebb982},
-  {0x7d9c, 0xebb983},
-  {0x7d9d, 0xebb984},
-  {0x7d9e, 0xebb985},
-  {0x7d9f, 0xebb986},
-  {0x7da0, 0xebb987},
-  {0x7da1, 0xebb988},
-  {0x7da2, 0xebb989},
-  {0x7da3, 0xebb98a},
-  {0x7da4, 0xebb98b},
-  {0x7da5, 0xebb98c},
-  {0x7da6, 0xef93ab},
-  {0x7da7, 0xebb98d},
-  {0x7da8, 0xebb98e},
-  {0x7da9, 0xebb98f},
-  {0x7daa, 0xebb990},
-  {0x7dab, 0xebb991},
-  {0x7dac, 0xebb992},
-  {0x7dad, 0xebb993},
-  {0x7dae, 0xef93ac},
-  {0x7daf, 0xebb994},
-  {0x7db0, 0xebb995},
-  {0x7db1, 0xebb996},
-  {0x7db2, 0xebb997},
-  {0x7db3, 0xebb998},
-  {0x7db4, 0xebb999},
-  {0x7db5, 0xebb99a},
-  {0x7db6, 0xebb99b},
-  {0x7db7, 0xebb99c},
-  {0x7db8, 0xebb99d},
-  {0x7db9, 0xebb99e},
-  {0x7dba, 0xebb99f},
-  {0x7dbb, 0xebb9a0},
-  {0x7dbc, 0xebb9a1},
-  {0x7dbd, 0xebb9a2},
-  {0x7dbe, 0xebb9a3},
-  {0x7dbf, 0xebb9a4},
-  {0x7dc0, 0xebb9a5},
-  {0x7dc1, 0xebb9a6},
-  {0x7dc2, 0xebb9a7},
-  {0x7dc3, 0xebb9a8},
-  {0x7dc4, 0xebb9a9},
-  {0x7dc5, 0xebb9aa},
-  {0x7dc6, 0xebb9ab},
-  {0x7dc7, 0xebb9ac},
-  {0x7dc8, 0xebb9ad},
-  {0x7dc9, 0xebb9ae},
-  {0x7dca, 0xebb9af},
-  {0x7dcb, 0xebb9b0},
-  {0x7dcc, 0xebb9b1},
-  {0x7dcd, 0xebb9b2},
-  {0x7dce, 0xebb9b3},
-  {0x7dcf, 0xebb9b4},
-  {0x7dd0, 0xebb9b5},
-  {0x7dd1, 0xebb9b6},
-  {0x7dd2, 0xebb9b7},
-  {0x7dd3, 0xebb9b8},
-  {0x7dd4, 0xebb9b9},
-  {0x7dd5, 0xebb9ba},
-  {0x7dd6, 0xebb9bb},
-  {0x7dd7, 0xebb9bc},
-  {0x7dd8, 0xebb9bd},
-  {0x7dd9, 0xebb9be},
-  {0x7dda, 0xebba80},
-  {0x7ddb, 0xebba81},
-  {0x7ddc, 0xebba82},
-  {0x7ddd, 0xebba83},
-  {0x7dde, 0xebba84},
-  {0x7ddf, 0xebba85},
-  {0x7de0, 0xebba86},
-  {0x7de1, 0xebba87},
-  {0x7de2, 0xebba88},
-  {0x7de3, 0xebba89},
-  {0x7de4, 0xebba8a},
-  {0x7de5, 0xebba8b},
-  {0x7de6, 0xebba8c},
-  {0x7de7, 0xebba8d},
-  {0x7de8, 0xebba8e},
-  {0x7de9, 0xebba8f},
-  {0x7dea, 0xebba90},
-  {0x7deb, 0xebba91},
-  {0x7dec, 0xebba92},
-  {0x7ded, 0xebba93},
-  {0x7dee, 0xebba94},
-  {0x7def, 0xebba95},
-  {0x7df0, 0xebba96},
-  {0x7df1, 0xebba97},
-  {0x7df2, 0xebba98},
-  {0x7df3, 0xebba99},
-  {0x7df4, 0xebba9a},
-  {0x7df5, 0xebba9b},
-  {0x7df6, 0xebba9c},
-  {0x7df7, 0xebba9d},
-  {0x7df8, 0xebba9e},
-  {0x7df9, 0xebba9f},
-  {0x7dfa, 0xebbaa0},
-  {0x7dfb, 0xebbd80},
-  {0x7dfc, 0xebbd81},
-  {0x7dfd, 0xebbd82},
-  {0x7dfe, 0xebbd83},
-  {0x7dff, 0xebbd84},
-  {0x7e00, 0xebbd85},
-  {0x7e01, 0xebbd86},
-  {0x7e02, 0xebbd87},
-  {0x7e03, 0xebbd88},
-  {0x7e04, 0xebbd89},
-  {0x7e05, 0xebbd8a},
-  {0x7e06, 0xebbd8b},
-  {0x7e07, 0xebbd8c},
-  {0x7e08, 0xebbd8d},
-  {0x7e09, 0xebbd8e},
-  {0x7e0a, 0xebbd8f},
-  {0x7e0b, 0xebbd90},
-  {0x7e0c, 0xebbd91},
-  {0x7e0d, 0xebbd92},
-  {0x7e0e, 0xebbd93},
-  {0x7e0f, 0xebbd94},
-  {0x7e10, 0xebbd95},
-  {0x7e11, 0xebbd96},
-  {0x7e12, 0xebbd97},
-  {0x7e13, 0xebbd98},
-  {0x7e14, 0xebbd99},
-  {0x7e15, 0xebbd9a},
-  {0x7e16, 0xebbd9b},
-  {0x7e17, 0xebbd9c},
-  {0x7e18, 0xebbd9d},
-  {0x7e19, 0xebbd9e},
-  {0x7e1a, 0xebbd9f},
-  {0x7e1b, 0xebbda0},
-  {0x7e1c, 0xebbda1},
-  {0x7e1d, 0xebbda2},
-  {0x7e1e, 0xebbda3},
-  {0x7e1f, 0xebbda4},
-  {0x7e20, 0xebbda5},
-  {0x7e21, 0xebbda6},
-  {0x7e22, 0xebbda7},
-  {0x7e23, 0xebbda8},
-  {0x7e24, 0xebbda9},
-  {0x7e25, 0xebbdaa},
-  {0x7e26, 0xebbdab},
-  {0x7e27, 0xebbdac},
-  {0x7e28, 0xebbdad},
-  {0x7e29, 0xebbdae},
-  {0x7e2a, 0xebbdaf},
-  {0x7e2b, 0xebbdb0},
-  {0x7e2c, 0xebbdb1},
-  {0x7e2d, 0xebbdb2},
-  {0x7e2e, 0xebbdb3},
-  {0x7e2f, 0xebbdb4},
-  {0x7e30, 0xebbdb5},
-  {0x7e31, 0xebbdb6},
-  {0x7e32, 0xebbdb7},
-  {0x7e33, 0xebbdb8},
-  {0x7e34, 0xebbdb9},
-  {0x7e35, 0xebbdba},
-  {0x7e36, 0xebbdbb},
-  {0x7e37, 0xebbdbc},
-  {0x7e38, 0xebbdbd},
-  {0x7e39, 0xebbdbe},
-  {0x7e3a, 0xebbe80},
-  {0x7e3b, 0xef9fa3},
-  {0x7e3c, 0xebbe81},
-  {0x7e3d, 0xebbe82},
-  {0x7e3e, 0xebbe83},
-  {0x7e3f, 0xebbe84},
-  {0x7e40, 0xebbe85},
-  {0x7e41, 0xeb9eb1},
-  {0x7e42, 0xebbe86},
-  {0x7e43, 0xebbe87},
-  {0x7e44, 0xebbe88},
-  {0x7e45, 0xebbe89},
-  {0x7e46, 0xebbe8a},
-  {0x7e47, 0xef93ad},
-  {0x7e48, 0xebbe8b},
-  {0x7e49, 0xebbe8c},
-  {0x7e4a, 0xebbe8d},
-  {0x7e4b, 0xebbe8e},
-  {0x7e4c, 0xebbe8f},
-  {0x7e4d, 0xebbe90},
-  {0x7e4e, 0xebbe91},
-  {0x7e4f, 0xebbe92},
-  {0x7e50, 0xebbe93},
-  {0x7e51, 0xebbe94},
-  {0x7e52, 0xebbe95},
-  {0x7e53, 0xebbe96},
-  {0x7e54, 0xebbe97},
-  {0x7e55, 0xebbe98},
-  {0x7e56, 0xebbe99},
-  {0x7e57, 0xebbe9a},
-  {0x7e58, 0xebbe9b},
-  {0x7e59, 0xebbe9c},
-  {0x7e5a, 0xebbe9d},
-  {0x7e5b, 0xebbe9e},
-  {0x7e5c, 0xebbe9f},
-  {0x7e5d, 0xebbea0},
-  {0x7e5e, 0xec8180},
-  {0x7e5f, 0xec8181},
-  {0x7e60, 0xec8182},
-  {0x7e61, 0xec8183},
-  {0x7e62, 0xec8184},
-  {0x7e63, 0xec8185},
-  {0x7e64, 0xec8186},
-  {0x7e65, 0xec8187},
-  {0x7e66, 0xec8188},
-  {0x7e67, 0xec8189},
-  {0x7e68, 0xec818a},
-  {0x7e69, 0xec818b},
-  {0x7e6a, 0xec818c},
-  {0x7e6b, 0xec818d},
-  {0x7e6c, 0xec818e},
-  {0x7e6d, 0xec818f},
-  {0x7e6e, 0xec8190},
-  {0x7e6f, 0xec8191},
-  {0x7e70, 0xec8192},
-  {0x7e71, 0xec8193},
-  {0x7e72, 0xec8194},
-  {0x7e73, 0xec8195},
-  {0x7e74, 0xec8196},
-  {0x7e75, 0xec8197},
-  {0x7e76, 0xec8198},
-  {0x7e77, 0xec8199},
-  {0x7e78, 0xec819a},
-  {0x7e79, 0xec819b},
-  {0x7e7a, 0xec819c},
-  {0x7e7b, 0xec819d},
-  {0x7e7c, 0xec819e},
-  {0x7e7d, 0xec819f},
-  {0x7e7e, 0xec81a0},
-  {0x7e7f, 0xec81a1},
-  {0x7e80, 0xec81a2},
-  {0x7e81, 0xec81a3},
-  {0x7e82, 0xed9fab},
-  {0x7e83, 0xec81a4},
-  {0x7e84, 0xec81a5},
-  {0x7e85, 0xec81a6},
-  {0x7e86, 0xec81a7},
-  {0x7e87, 0xec81a8},
-  {0x7e88, 0xec81a9},
-  {0x7e89, 0xec81aa},
-  {0x7e8a, 0xec81ab},
-  {0x7e8b, 0xec81ac},
-  {0x7e8c, 0xec81ad},
-  {0x7e8d, 0xec81ae},
-  {0x7e8e, 0xec81af},
-  {0x7e8f, 0xec81b0},
-  {0x7e90, 0xec81b1},
-  {0x7e91, 0xec81b2},
-  {0x7e92, 0xec81b3},
-  {0x7e93, 0xec81b4},
-  {0x7e94, 0xec81b5},
-  {0x7e95, 0xec81b6},
-  {0x7e96, 0xec81b7},
-  {0x7e97, 0xec81b8},
-  {0x7e98, 0xec81b9},
-  {0x7e99, 0xec81ba},
-  {0x7e9a, 0xec81bb},
-  {0x7e9b, 0xef93ae},
-  {0x7e9c, 0xec81bc},
-  {0x7e9d, 0xec81bd},
-  {0x7e9e, 0xec81be},
-  {0x7e9f, 0xee9bb9},
-  {0x7ea0, 0xebbb80},
-  {0x7ea1, 0xee9bba},
-  {0x7ea2, 0xebabac},
-  {0x7ea3, 0xee9bbb},
-  {0x7ea4, 0xecbf8b},
-  {0x7ea5, 0xee9bbc},
-  {0x7ea6, 0xed92bc},
-  {0x7ea7, 0xebb2b6},
-  {0x7ea8, 0xee9bbd},
-  {0x7ea9, 0xee9bbe},
-  {0x7eaa, 0xebb38d},
-  {0x7eab, 0xeca392},
-  {0x7eac, 0xecbab3},
-  {0x7ead, 0xee9ea1},
-  {0x7eae, 0xec8280},
-  {0x7eaf, 0xeb92bf},
-  {0x7eb0, 0xee9ea2},
-  {0x7eb1, 0xeca6b4},
-  {0x7eb2, 0xeba399},
-  {0x7eb3, 0xec9389},
-  {0x7eb4, 0xec8281},
-  {0x7eb5, 0xed9f9d},
-  {0x7eb6, 0xec8b9a},
-  {0x7eb7, 0xeb9f97},
-  {0x7eb8, 0xed9abd},
-  {0x7eb9, 0xecbb86},
-  {0x7eba, 0xeb9f84},
-  {0x7ebb, 0xec8282},
-  {0x7ebc, 0xec8283},
-  {0x7ebd, 0xec96a6},
-  {0x7ebe, 0xee9ea3},
-  {0x7ebf, 0xecbf9f},
-  {0x7ec0, 0xee9ea4},
-  {0x7ec1, 0xee9ea5},
-  {0x7ec2, 0xee9ea6},
-  {0x7ec3, 0xec86b7},
-  {0x7ec4, 0xed9fa9},
-  {0x7ec5, 0xeca7b0},
-  {0x7ec6, 0xecbeb8},
-  {0x7ec7, 0xed9aaf},
-  {0x7ec8, 0xed9b95},
-  {0x7ec9, 0xee9ea7},
-  {0x7eca, 0xeb83ad},
-  {0x7ecb, 0xee9ea8},
-  {0x7ecc, 0xee9ea9},
-  {0x7ecd, 0xeca79c},
-  {0x7ece, 0xed8baf},
-  {0x7ecf, 0xebbaad},
-  {0x7ed0, 0xee9eaa},
-  {0x7ed1, 0xeb83b3},
-  {0x7ed2, 0xeca39e},
-  {0x7ed3, 0xebb7a1},
-  {0x7ed4, 0xee9eab},
-  {0x7ed5, 0xeca386},
-  {0x7ed6, 0xec8284},
-  {0x7ed7, 0xee9eac},
-  {0x7ed8, 0xebafa6},
-  {0x7ed9, 0xeba3b8},
-  {0x7eda, 0xed86a4},
-  {0x7edb, 0xee9ead},
-  {0x7edc, 0xec8ba7},
-  {0x7edd, 0xebbbb8},
-  {0x7ede, 0xebb78a},
-  {0x7edf, 0xecb6b3},
-  {0x7ee0, 0xee9eae},
-  {0x7ee1, 0xee9eaf},
-  {0x7ee2, 0xebbbae},
-  {0x7ee3, 0xed83a5},
-  {0x7ee4, 0xec8285},
-  {0x7ee5, 0xecafa7},
-  {0x7ee6, 0xecb390},
-  {0x7ee7, 0xebb38c},
-  {0x7ee8, 0xee9eb0},
-  {0x7ee9, 0xebb2a8},
-  {0x7eea, 0xed83b7},
-  {0x7eeb, 0xee9eb1},
-  {0x7eec, 0xec8286},
-  {0x7eed, 0xed83b8},
-  {0x7eee, 0xee9eb2},
-  {0x7eef, 0xee9eb3},
-  {0x7ef0, 0xeb9382},
-  {0x7ef1, 0xee9eb4},
-  {0x7ef2, 0xee9eb5},
-  {0x7ef3, 0xeca7be},
-  {0x7ef4, 0xecbaac},
-  {0x7ef5, 0xec8fa0},
-  {0x7ef6, 0xee9eb7},
-  {0x7ef7, 0xeb8781},
-  {0x7ef8, 0xeb8fb1},
-  {0x7ef9, 0xec8287},
-  {0x7efa, 0xee9eb8},
-  {0x7efb, 0xee9eb9},
-  {0x7efc, 0xed9f9b},
-  {0x7efd, 0xed9780},
-  {0x7efe, 0xee9eba},
-  {0x7eff, 0xec8b8c},
-  {0x7f00, 0xed9eba},
-  {0x7f01, 0xee9ebb},
-  {0x7f02, 0xee9ebc},
-  {0x7f03, 0xee9ebd},
-  {0x7f04, 0xebb3aa},
-  {0x7f05, 0xec8fa5},
-  {0x7f06, 0xec8382},
-  {0x7f07, 0xee9ebe},
-  {0x7f08, 0xee9ebf},
-  {0x7f09, 0xebb2a9},
-  {0x7f0a, 0xec8288},
-  {0x7f0b, 0xee9f80},
-  {0x7f0c, 0xee9f81},
-  {0x7f0d, 0xee9eb6},
-  {0x7f0e, 0xeb9b90},
-  {0x7f0f, 0xee9f82},
-  {0x7f10, 0xec8289},
-  {0x7f11, 0xee9f83},
-  {0x7f12, 0xee9f84},
-  {0x7f13, 0xebaeba},
-  {0x7f14, 0xeb979e},
-  {0x7f15, 0xec8b86},
-  {0x7f16, 0xeb87a0},
-  {0x7f17, 0xee9f85},
-  {0x7f18, 0xed92b5},
-  {0x7f19, 0xee9f86},
-  {0x7f1a, 0xeba2bf},
-  {0x7f1b, 0xee9f88},
-  {0x7f1c, 0xee9f87},
-  {0x7f1d, 0xeb9fac},
-  {0x7f1e, 0xec828a},
-  {0x7f1f, 0xee9f89},
-  {0x7f20, 0xeb8bb8},
-  {0x7f21, 0xee9f8a},
-  {0x7f22, 0xee9f8b},
-  {0x7f23, 0xee9f8c},
-  {0x7f24, 0xee9f8d},
-  {0x7f25, 0xee9f8e},
-  {0x7f26, 0xee9f8f},
-  {0x7f27, 0xee9f90},
-  {0x7f28, 0xed8ea7},
-  {0x7f29, 0xecafb5},
-  {0x7f2a, 0xee9f91},
-  {0x7f2b, 0xee9f92},
-  {0x7f2c, 0xee9f93},
-  {0x7f2d, 0xee9f94},
-  {0x7f2e, 0xeca789},
-  {0x7f2f, 0xee9f95},
-  {0x7f30, 0xee9f96},
-  {0x7f31, 0xee9f97},
-  {0x7f32, 0xee9f98},
-  {0x7f33, 0xee9f99},
-  {0x7f34, 0xebb789},
-  {0x7f35, 0xee9f9a},
-  {0x7f36, 0xef8ebe},
-  {0x7f37, 0xec828b},
-  {0x7f38, 0xeba397},
-  {0x7f39, 0xec828c},
-  {0x7f3a, 0xeca2b1},
-  {0x7f3b, 0xec828d},
-  {0x7f3c, 0xec828e},
-  {0x7f3d, 0xec828f},
-  {0x7f3e, 0xec8290},
-  {0x7f3f, 0xec8291},
-  {0x7f40, 0xec8292},
-  {0x7f41, 0xec8293},
-  {0x7f42, 0xef8ebf},
-  {0x7f43, 0xec8294},
-  {0x7f44, 0xef8f80},
-  {0x7f45, 0xef8f81},
-  {0x7f46, 0xec8295},
-  {0x7f47, 0xec8296},
-  {0x7f48, 0xec8297},
-  {0x7f49, 0xec8298},
-  {0x7f4a, 0xec8299},
-  {0x7f4b, 0xec829a},
-  {0x7f4c, 0xec829b},
-  {0x7f4d, 0xec829c},
-  {0x7f4e, 0xec829d},
-  {0x7f4f, 0xec829e},
-  {0x7f50, 0xeba79e},
-  {0x7f51, 0xecb7b8},
-  {0x7f52, 0xec829f},
-  {0x7f53, 0xec82a0},
-  {0x7f54, 0xeda3a8},
-  {0x7f55, 0xebaab1},
-  {0x7f56, 0xec8580},
-  {0x7f57, 0xec8b9e},
-  {0x7f58, 0xeebab7},
-  {0x7f59, 0xec8581},
-  {0x7f5a, 0xeb9ea3},
-  {0x7f5b, 0xec8582},
-  {0x7f5c, 0xec8583},
-  {0x7f5d, 0xec8584},
-  {0x7f5e, 0xec8585},
-  {0x7f5f, 0xeebab9},
-  {0x7f60, 0xec8586},
-  {0x7f61, 0xeebab8},
-  {0x7f62, 0xeb8395},
-  {0x7f63, 0xec8587},
-  {0x7f64, 0xec8588},
-  {0x7f65, 0xec8589},
-  {0x7f66, 0xec858a},
-  {0x7f67, 0xec858b},
-  {0x7f68, 0xeebabb},
-  {0x7f69, 0xed9796},
-  {0x7f6a, 0xed9faf},
-  {0x7f6b, 0xec858c},
-  {0x7f6c, 0xec858d},
-  {0x7f6d, 0xec858e},
-  {0x7f6e, 0xed9b83},
-  {0x7f6f, 0xec858f},
-  {0x7f70, 0xec8590},
-  {0x7f71, 0xeebabd},
-  {0x7f72, 0xecabb0},
-  {0x7f73, 0xec8591},
-  {0x7f74, 0xeebabc},
-  {0x7f75, 0xec8592},
-  {0x7f76, 0xec8593},
-  {0x7f77, 0xec8594},
-  {0x7f78, 0xec8595},
-  {0x7f79, 0xeebabe},
-  {0x7f7a, 0xec8596},
-  {0x7f7b, 0xec8597},
-  {0x7f7c, 0xec8598},
-  {0x7f7d, 0xec8599},
-  {0x7f7e, 0xeebb80},
-  {0x7f7f, 0xec859a},
-  {0x7f80, 0xec859b},
-  {0x7f81, 0xeebabf},
-  {0x7f82, 0xec859c},
-  {0x7f83, 0xec859d},
-  {0x7f84, 0xec859e},
-  {0x7f85, 0xec859f},
-  {0x7f86, 0xec85a0},
-  {0x7f87, 0xec85a1},
-  {0x7f88, 0xec85a2},
-  {0x7f89, 0xec85a3},
-  {0x7f8a, 0xed87b2},
-  {0x7f8b, 0xec85a4},
-  {0x7f8c, 0xec9ebc},
-  {0x7f8d, 0xec85a5},
-  {0x7f8e, 0xec8f80},
-  {0x7f8f, 0xec85a6},
-  {0x7f90, 0xec85a7},
-  {0x7f91, 0xec85a8},
-  {0x7f92, 0xec85a9},
-  {0x7f93, 0xec85aa},
-  {0x7f94, 0xeba3a1},
-  {0x7f95, 0xec85ab},
-  {0x7f96, 0xec85ac},
-  {0x7f97, 0xec85ad},
-  {0x7f98, 0xec85ae},
-  {0x7f99, 0xec85af},
-  {0x7f9a, 0xec87a7},
-  {0x7f9b, 0xec85b0},
-  {0x7f9c, 0xec85b1},
-  {0x7f9d, 0xef9386},
-  {0x7f9e, 0xed839f},
-  {0x7f9f, 0xef9387},
-  {0x7fa0, 0xec85b2},
-  {0x7fa1, 0xecbf9b},
-  {0x7fa2, 0xec85b3},
-  {0x7fa3, 0xec85b4},
-  {0x7fa4, 0xeca2ba},
-  {0x7fa5, 0xec85b5},
-  {0x7fa6, 0xec85b6},
-  {0x7fa7, 0xef9388},
-  {0x7fa8, 0xec85b7},
-  {0x7fa9, 0xec85b8},
-  {0x7faa, 0xec85b9},
-  {0x7fab, 0xec85ba},
-  {0x7fac, 0xec85bb},
-  {0x7fad, 0xec85bc},
-  {0x7fae, 0xec85bd},
-  {0x7faf, 0xef9389},
-  {0x7fb0, 0xef938a},
-  {0x7fb1, 0xec85be},
-  {0x7fb2, 0xef938b},
-  {0x7fb3, 0xec8680},
-  {0x7fb4, 0xec8681},
-  {0x7fb5, 0xec8682},
-  {0x7fb6, 0xec8683},
-  {0x7fb7, 0xec8684},
-  {0x7fb8, 0xeda7ba},
-  {0x7fb9, 0xeba3be},
-  {0x7fba, 0xec8685},
-  {0x7fbb, 0xec8686},
-  {0x7fbc, 0xee97b1},
-  {0x7fbd, 0xed8fb0},
-  {0x7fbe, 0xec8687},
-  {0x7fbf, 0xef93a0},
-  {0x7fc0, 0xec8688},
-  {0x7fc1, 0xecbb8c},
-  {0x7fc2, 0xec8689},
-  {0x7fc3, 0xec868a},
-  {0x7fc4, 0xec868b},
-  {0x7fc5, 0xeb8fa1},
-  {0x7fc6, 0xec868c},
-  {0x7fc7, 0xec868d},
-  {0x7fc8, 0xec868e},
-  {0x7fc9, 0xec868f},
-  {0x7fca, 0xef86b4},
-  {0x7fcb, 0xec8690},
-  {0x7fcc, 0xed8bae},
-  {0x7fcd, 0xec8691},
-  {0x7fce, 0xef93a1},
-  {0x7fcf, 0xec8692},
-  {0x7fd0, 0xec8693},
-  {0x7fd1, 0xec8694},
-  {0x7fd2, 0xec8695},
-  {0x7fd3, 0xec8696},
-  {0x7fd4, 0xecbfa8},
-  {0x7fd5, 0xef93a2},
-  {0x7fd6, 0xec8697},
-  {0x7fd7, 0xec8698},
-  {0x7fd8, 0xec9f8c},
-  {0x7fd9, 0xec8699},
-  {0x7fda, 0xec869a},
-  {0x7fdb, 0xec869b},
-  {0x7fdc, 0xec869c},
-  {0x7fdd, 0xec869d},
-  {0x7fde, 0xec869e},
-  {0x7fdf, 0xeb9794},
-  {0x7fe0, 0xeb93a4},
-  {0x7fe1, 0xef93a4},
-  {0x7fe2, 0xec869f},
-  {0x7fe3, 0xec86a0},
-  {0x7fe4, 0xec8980},
-  {0x7fe5, 0xef93a3},
-  {0x7fe6, 0xef93a5},
-  {0x7fe7, 0xec8981},
-  {0x7fe8, 0xec8982},
-  {0x7fe9, 0xef93a6},
-  {0x7fea, 0xec8983},
-  {0x7feb, 0xec8984},
-  {0x7fec, 0xec8985},
-  {0x7fed, 0xec8986},
-  {0x7fee, 0xef93a7},
-  {0x7fef, 0xec8987},
-  {0x7ff0, 0xebaab2},
-  {0x7ff1, 0xeb82bf},
-  {0x7ff2, 0xec8988},
-  {0x7ff3, 0xef93a8},
-  {0x7ff4, 0xec8989},
-  {0x7ff5, 0xec898a},
-  {0x7ff6, 0xec898b},
-  {0x7ff7, 0xec898c},
-  {0x7ff8, 0xec898d},
-  {0x7ff9, 0xec898e},
-  {0x7ffa, 0xec898f},
-  {0x7ffb, 0xeb9ead},
-  {0x7ffc, 0xed8bad},
-  {0x7ffd, 0xec8990},
-  {0x7ffe, 0xec8991},
-  {0x7fff, 0xec8992},
-  {0x8000, 0xed8aab},
-  {0x8001, 0xec838f},
-  {0x8002, 0xec8993},
-  {0x8003, 0xebbebc},
-  {0x8004, 0xeeaea3},
-  {0x8005, 0xed979f},
-  {0x8006, 0xeeab88},
-  {0x8007, 0xec8994},
-  {0x8008, 0xec8995},
-  {0x8009, 0xec8996},
-  {0x800a, 0xec8997},
-  {0x800b, 0xef87b3},
-  {0x800c, 0xeb9bb8},
-  {0x800d, 0xecaea3},
-  {0x800e, 0xec8998},
-  {0x800f, 0xec8999},
-  {0x8010, 0xec938d},
-  {0x8011, 0xec899a},
-  {0x8012, 0xef87a7},
-  {0x8013, 0xec899b},
-  {0x8014, 0xef87a8},
-  {0x8015, 0xeba3bb},
-  {0x8016, 0xef87a9},
-  {0x8017, 0xebab84},
-  {0x8018, 0xed9385},
-  {0x8019, 0xeb8392},
-  {0x801a, 0xec899c},
-  {0x801b, 0xec899d},
-  {0x801c, 0xef87aa},
-  {0x801d, 0xec899e},
-  {0x801e, 0xec899f},
-  {0x801f, 0xec89a0},
-  {0x8020, 0xef87ab},
-  {0x8021, 0xec89a1},
-  {0x8022, 0xef87ac},
-  {0x8023, 0xec89a2},
-  {0x8024, 0xec89a3},
-  {0x8025, 0xef87ad},
-  {0x8026, 0xef87ae},
-  {0x8027, 0xef87af},
-  {0x8028, 0xef87b1},
-  {0x8029, 0xef87b0},
-  {0x802a, 0xec9795},
-  {0x802b, 0xec89a4},
-  {0x802c, 0xec89a5},
-  {0x802d, 0xec89a6},
-  {0x802e, 0xec89a7},
-  {0x802f, 0xec89a8},
-  {0x8030, 0xec89a9},
-  {0x8031, 0xef87b2},
-  {0x8032, 0xec89aa},
-  {0x8033, 0xeb9bba},
-  {0x8034, 0xec89ab},
-  {0x8035, 0xef87b4},
-  {0x8036, 0xed8aae},
-  {0x8037, 0xedbb87},
-  {0x8038, 0xecaf8a},
-  {0x8039, 0xec89ac},
-  {0x803a, 0xec89ad},
-  {0x803b, 0xeb8f9c},
-  {0x803c, 0xec89ae},
-  {0x803d, 0xeb96a2},
-  {0x803e, 0xec89af},
-  {0x803f, 0xeba6a2},
-  {0x8040, 0xec89b0},
-  {0x8041, 0xec89b1},
-  {0x8042, 0xec93b4},
-  {0x8043, 0xef87b5},
-  {0x8044, 0xec89b2},
-  {0x8045, 0xec89b3},
-  {0x8046, 0xef87b6},
-  {0x8047, 0xec89b4},
-  {0x8048, 0xec89b5},
-  {0x8049, 0xec89b6},
-  {0x804a, 0xec8784},
-  {0x804b, 0xec87bb},
-  {0x804c, 0xed9ab0},
-  {0x804d, 0xef87b7},
-  {0x804e, 0xec89b7},
-  {0x804f, 0xec89b8},
-  {0x8050, 0xec89b9},
-  {0x8051, 0xec89ba},
-  {0x8052, 0xef87b8},
-  {0x8053, 0xec89bb},
-  {0x8054, 0xec86aa},
-  {0x8055, 0xec89bc},
-  {0x8056, 0xec89bd},
-  {0x8057, 0xec89be},
-  {0x8058, 0xec9ab8},
-  {0x8059, 0xec8a80},
-  {0x805a, 0xebbb9b},
-  {0x805b, 0xec8a81},
-  {0x805c, 0xec8a82},
-  {0x805d, 0xec8a83},
-  {0x805e, 0xec8a84},
-  {0x805f, 0xec8a85},
-  {0x8060, 0xec8a86},
-  {0x8061, 0xec8a87},
-  {0x8062, 0xec8a88},
-  {0x8063, 0xec8a89},
-  {0x8064, 0xec8a8a},
-  {0x8065, 0xec8a8b},
-  {0x8066, 0xec8a8c},
-  {0x8067, 0xec8a8d},
-  {0x8068, 0xec8a8e},
-  {0x8069, 0xef87b9},
-  {0x806a, 0xeb938f},
-  {0x806b, 0xec8a8f},
-  {0x806c, 0xec8a90},
-  {0x806d, 0xec8a91},
-  {0x806e, 0xec8a92},
-  {0x806f, 0xec8a93},
-  {0x8070, 0xec8a94},
-  {0x8071, 0xef87ba},
-  {0x8072, 0xec8a95},
-  {0x8073, 0xec8a96},
-  {0x8074, 0xec8a97},
-  {0x8075, 0xec8a98},
-  {0x8076, 0xec8a99},
-  {0x8077, 0xec8a9a},
-  {0x8078, 0xec8a9b},
-  {0x8079, 0xec8a9c},
-  {0x807a, 0xec8a9d},
-  {0x807b, 0xec8a9e},
-  {0x807c, 0xec8a9f},
-  {0x807d, 0xec8aa0},
-  {0x807e, 0xec8d80},
-  {0x807f, 0xeeb6b2},
-  {0x8080, 0xeeb6b1},
-  {0x8081, 0xec8d81},
-  {0x8082, 0xec8d82},
-  {0x8083, 0xecafa0},
-  {0x8084, 0xed8b9e},
-  {0x8085, 0xec8d83},
-  {0x8086, 0xecaf81},
-  {0x8087, 0xed9798},
-  {0x8088, 0xec8d84},
-  {0x8089, 0xeca3a2},
-  {0x808a, 0xec8d85},
-  {0x808b, 0xec839f},
-  {0x808c, 0xebb2a1},
-  {0x808d, 0xec8d86},
-  {0x808e, 0xec8d87},
-  {0x808f, 0xec8d88},
-  {0x8090, 0xec8d89},
-  {0x8091, 0xec8d8a},
-  {0x8092, 0xec8d8b},
-  {0x8093, 0xeeaf81},
-  {0x8094, 0xec8d8c},
-  {0x8095, 0xec8d8d},
-  {0x8096, 0xed82a4},
-  {0x8097, 0xec8d8e},
-  {0x8098, 0xed9ba2},
-  {0x8099, 0xec8d8f},
-  {0x809a, 0xeb9b87},
-  {0x809b, 0xeba398},
-  {0x809c, 0xeeaf80},
-  {0x809d, 0xeba38e},
-  {0x809e, 0xec8d90},
-  {0x809f, 0xeeaebf},
-  {0x80a0, 0xeb8ea6},
-  {0x80a1, 0xeba789},
-  {0x80a2, 0xed9aab},
-  {0x80a3, 0xec8d91},
-  {0x80a4, 0xeb9fb4},
-  {0x80a5, 0xeb9f8a},
-  {0x80a6, 0xec8d92},
-  {0x80a7, 0xec8d93},
-  {0x80a8, 0xec8d94},
-  {0x80a9, 0xebb3a7},
-  {0x80aa, 0xeb9ebe},
-  {0x80ab, 0xeeaf86},
-  {0x80ac, 0xec8d95},
-  {0x80ad, 0xeeaf87},
-  {0x80ae, 0xeb82b9},
-  {0x80af, 0xebbf8f},
-  {0x80b0, 0xec8d96},
-  {0x80b1, 0xeeaf85},
-  {0x80b2, 0xed8fbd},
-  {0x80b3, 0xec8d97},
-  {0x80b4, 0xeeaf88},
-  {0x80b5, 0xec8d98},
-  {0x80b6, 0xec8d99},
-  {0x80b7, 0xeeaf89},
-  {0x80b8, 0xec8d9a},
-  {0x80b9, 0xec8d9b},
-  {0x80ba, 0xeb9f8e},
-  {0x80bb, 0xec8d9c},
-  {0x80bc, 0xeeaf82},
-  {0x80bd, 0xeeaf84},
-  {0x80be, 0xeca7b6},
-  {0x80bf, 0xed9b97},
-  {0x80c0, 0xed978d},
-  {0x80c1, 0xed82b2},
-  {0x80c2, 0xeeaf8f},
-  {0x80c3, 0xecbab8},
-  {0x80c4, 0xeeaf90},
-  {0x80c5, 0xec8d9d},
-  {0x80c6, 0xeb96a8},
-  {0x80c7, 0xec8d9e},
-  {0x80c8, 0xec8d9f},
-  {0x80c9, 0xec8da0},
-  {0x80ca, 0xec8da1},
-  {0x80cb, 0xec8da2},
-  {0x80cc, 0xeb86b3},
-  {0x80cd, 0xeeaf92},
-  {0x80ce, 0xecb2a5},
-  {0x80cf, 0xec8da3},
-  {0x80d0, 0xec8da4},
-  {0x80d1, 0xec8da5},
-  {0x80d2, 0xec8da6},
-  {0x80d3, 0xec8da7},
-  {0x80d4, 0xec8da8},
-  {0x80d5, 0xec8da9},
-  {0x80d6, 0xec9796},
-  {0x80d7, 0xeeaf93},
-  {0x80d8, 0xec8daa},
-  {0x80d9, 0xeeaf91},
-  {0x80da, 0xec979f},
-  {0x80db, 0xeeaf8e},
-  {0x80dc, 0xecaaa4},
-  {0x80dd, 0xeeaf95},
-  {0x80de, 0xeb83bb},
-  {0x80df, 0xec8dab},
-  {0x80e0, 0xec8dac},
-  {0x80e1, 0xebabba},
-  {0x80e2, 0xec8dad},
-  {0x80e3, 0xec8dae},
-  {0x80e4, 0xeda2b7},
-  {0x80e5, 0xef87a3},
-  {0x80e6, 0xec8daf},
-  {0x80e7, 0xeeaf8a},
-  {0x80e8, 0xeeaf8b},
-  {0x80e9, 0xeeaf8c},
-  {0x80ea, 0xeeaf8d},
-  {0x80eb, 0xeeaf96},
-  {0x80ec, 0xee9b80},
-  {0x80ed, 0xeeaf99},
-  {0x80ee, 0xec8db0},
-  {0x80ef, 0xebbfa8},
-  {0x80f0, 0xed8b88},
-  {0x80f1, 0xeeaf97},
-  {0x80f2, 0xeeaf9c},
-  {0x80f3, 0xeba3ac},
-  {0x80f4, 0xeeaf98},
-  {0x80f5, 0xec8db1},
-  {0x80f6, 0xebb6ba},
-  {0x80f7, 0xec8db2},
-  {0x80f8, 0xed8398},
-  {0x80f9, 0xec8db3},
-  {0x80fa, 0xeb82b7},
-  {0x80fb, 0xec8db4},
-  {0x80fc, 0xeeaf9d},
-  {0x80fd, 0xec939c},
-  {0x80fe, 0xec8db5},
-  {0x80ff, 0xec8db6},
-  {0x8100, 0xec8db7},
-  {0x8101, 0xec8db8},
-  {0x8102, 0xed9aac},
-  {0x8103, 0xec8db9},
-  {0x8104, 0xec8dba},
-  {0x8105, 0xec8dbb},
-  {0x8106, 0xeb93a0},
-  {0x8107, 0xec8dbc},
-  {0x8108, 0xec8dbd},
-  {0x8109, 0xec8bb6},
-  {0x810a, 0xebb2b9},
-  {0x810b, 0xec8dbe},
-  {0x810c, 0xec8e80},
-  {0x810d, 0xeeaf9a},
-  {0x810e, 0xeeaf9b},
-  {0x810f, 0xed93a0},
-  {0x8110, 0xec9baa},
-  {0x8111, 0xec9394},
-  {0x8112, 0xeeaf9f},
-  {0x8113, 0xec96a7},
-  {0x8114, 0xeda7b5},
-  {0x8115, 0xec8e81},
-  {0x8116, 0xeb8ab1},
-  {0x8117, 0xec8e82},
-  {0x8118, 0xeeafa4},
-  {0x8119, 0xec8e83},
-  {0x811a, 0xebb785},
-  {0x811b, 0xec8e84},
-  {0x811c, 0xec8e85},
-  {0x811d, 0xec8e86},
-  {0x811e, 0xeeafa2},
-  {0x811f, 0xec8e87},
-  {0x8120, 0xec8e88},
-  {0x8121, 0xec8e89},
-  {0x8122, 0xec8e8a},
-  {0x8123, 0xec8e8b},
-  {0x8124, 0xec8e8c},
-  {0x8125, 0xec8e8d},
-  {0x8126, 0xec8e8e},
-  {0x8127, 0xec8e8f},
-  {0x8128, 0xec8e90},
-  {0x8129, 0xec8e91},
-  {0x812a, 0xec8e92},
-  {0x812b, 0xec8e93},
-  {0x812c, 0xeeafa3},
-  {0x812d, 0xec8e94},
-  {0x812e, 0xec8e95},
-  {0x812f, 0xeba2ac},
-  {0x8130, 0xec8e96},
-  {0x8131, 0xecb791},
-  {0x8132, 0xeeafa5},
-  {0x8133, 0xec8e97},
-  {0x8134, 0xec8e98},
-  {0x8135, 0xec8e99},
-  {0x8136, 0xeeafa1},
-  {0x8137, 0xec8e9a},
-  {0x8138, 0xec86b3},
-  {0x8139, 0xec8e9b},
-  {0x813a, 0xec8e9c},
-  {0x813b, 0xec8e9d},
-  {0x813c, 0xec8e9e},
-  {0x813d, 0xec8e9f},
-  {0x813e, 0xec9aa2},
-  {0x813f, 0xec8ea0},
-  {0x8140, 0xec9180},
-  {0x8141, 0xec9181},
-  {0x8142, 0xec9182},
-  {0x8143, 0xec9183},
-  {0x8144, 0xec9184},
-  {0x8145, 0xec9185},
-  {0x8146, 0xecb3b3},
-  {0x8147, 0xec9186},
-  {0x8148, 0xeeafa6},
-  {0x8149, 0xec9187},
-  {0x814a, 0xec82b0},
-  {0x814b, 0xed8ab8},
-  {0x814c, 0xeeafa7},
-  {0x814d, 0xec9188},
-  {0x814e, 0xec9189},
-  {0x814f, 0xec918a},
-  {0x8150, 0xeba2af},
-  {0x8151, 0xeba2ad},
-  {0x8152, 0xec918b},
-  {0x8153, 0xeeafa8},
-  {0x8154, 0xec9ebb},
-  {0x8155, 0xecb7b3},
-  {0x8156, 0xec918c},
-  {0x8157, 0xec918d},
-  {0x8158, 0xec918e},
-  {0x8159, 0xeeafaa},
-  {0x815a, 0xeeafab},
-  {0x815b, 0xec918f},
-  {0x815c, 0xec9190},
-  {0x815d, 0xec9191},
-  {0x815e, 0xec9192},
-  {0x815f, 0xec9193},
-  {0x8160, 0xeeafad},
-  {0x8161, 0xec9194},
-  {0x8162, 0xec9195},
-  {0x8163, 0xec9196},
-  {0x8164, 0xec9197},
-  {0x8165, 0xed8388},
-  {0x8166, 0xec9198},
-  {0x8167, 0xeeafb2},
-  {0x8168, 0xec9199},
-  {0x8169, 0xeeafae},
-  {0x816a, 0xec919a},
-  {0x816b, 0xec919b},
-  {0x816c, 0xec919c},
-  {0x816d, 0xeeafb1},
-  {0x816e, 0xeca3b9},
-  {0x816f, 0xec919d},
-  {0x8170, 0xed87bc},
-  {0x8171, 0xeeafac},
-  {0x8172, 0xec919e},
-  {0x8173, 0xec919f},
-  {0x8174, 0xeeafa9},
-  {0x8175, 0xec91a0},
-  {0x8176, 0xec91a1},
-  {0x8177, 0xec91a2},
-  {0x8178, 0xec91a3},
-  {0x8179, 0xeba2b9},
-  {0x817a, 0xecbf99},
-  {0x817b, 0xec93a5},
-  {0x817c, 0xeeafaf},
-  {0x817d, 0xeeafb0},
-  {0x817e, 0xecb39a},
-  {0x817f, 0xecb788},
-  {0x8180, 0xeb83b2},
-  {0x8181, 0xec91a4},
-  {0x8182, 0xeeafb6},
-  {0x8183, 0xec91a5},
-  {0x8184, 0xec91a6},
-  {0x8185, 0xec91a7},
-  {0x8186, 0xec91a8},
-  {0x8187, 0xec91a9},
-  {0x8188, 0xeeafb5},
-  {0x8189, 0xec91aa},
-  {0x818a, 0xeb8ab2},
-  {0x818b, 0xec91ab},
-  {0x818c, 0xec91ac},
-  {0x818d, 0xec91ad},
-  {0x818e, 0xec91ae},
-  {0x818f, 0xeba3a0},
-  {0x8190, 0xec91af},
-  {0x8191, 0xeeafb7},
-  {0x8192, 0xec91b0},
-  {0x8193, 0xec91b1},
-  {0x8194, 0xec91b2},
-  {0x8195, 0xec91b3},
-  {0x8196, 0xec91b4},
-  {0x8197, 0xec91b5},
-  {0x8198, 0xeb87ac},
-  {0x8199, 0xec91b6},
-  {0x819a, 0xec91b7},
-  {0x819b, 0xecb385},
-  {0x819c, 0xec92a4},
-  {0x819d, 0xecbea5},
-  {0x819e, 0xec91b8},
-  {0x819f, 0xec91b9},
-  {0x81a0, 0xec91ba},
-  {0x81a1, 0xec91bb},
-  {0x81a2, 0xec91bc},
-  {0x81a3, 0xeeafb9},
-  {0x81a4, 0xec91bd},
-  {0x81a5, 0xec91be},
-  {0x81a6, 0xeeb2a2},
-  {0x81a7, 0xec9280},
-  {0x81a8, 0xec97b2},
-  {0x81a9, 0xec9281},
-  {0x81aa, 0xeeafba},
-  {0x81ab, 0xec9282},
-  {0x81ac, 0xec9283},
-  {0x81ad, 0xec9284},
-  {0x81ae, 0xec9285},
-  {0x81af, 0xec9286},
-  {0x81b0, 0xec9287},
-  {0x81b1, 0xec9288},
-  {0x81b2, 0xec9289},
-  {0x81b3, 0xeca785},
-  {0x81b4, 0xec928a},
-  {0x81b5, 0xec928b},
-  {0x81b6, 0xec928c},
-  {0x81b7, 0xec928d},
-  {0x81b8, 0xec928e},
-  {0x81b9, 0xec928f},
-  {0x81ba, 0xee8b9f},
-  {0x81bb, 0xeeafbe},
-  {0x81bc, 0xec9290},
-  {0x81bd, 0xec9291},
-  {0x81be, 0xec9292},
-  {0x81bf, 0xec9293},
-  {0x81c0, 0xecb78e},
-  {0x81c1, 0xeeb2a1},
-  {0x81c2, 0xeb879b},
-  {0x81c3, 0xed8eb7},
-  {0x81c4, 0xec9294},
-  {0x81c5, 0xec9295},
-  {0x81c6, 0xed8b9c},
-  {0x81c7, 0xec9296},
-  {0x81c8, 0xec9297},
-  {0x81c9, 0xec9298},
-  {0x81ca, 0xeeafbd},
-  {0x81cb, 0xec9299},
-  {0x81cc, 0xeeafbb},
-  {0x81cd, 0xec929a},
-  {0x81ce, 0xec929b},
-  {0x81cf, 0xec929c},
-  {0x81d0, 0xec929d},
-  {0x81d1, 0xec929e},
-  {0x81d2, 0xec929f},
-  {0x81d3, 0xec92a0},
-  {0x81d4, 0xec9580},
-  {0x81d5, 0xec9581},
-  {0x81d6, 0xec9582},
-  {0x81d7, 0xec9583},
-  {0x81d8, 0xec9584},
-  {0x81d9, 0xec9585},
-  {0x81da, 0xec9586},
-  {0x81db, 0xec9587},
-  {0x81dc, 0xec9588},
-  {0x81dd, 0xec9589},
-  {0x81de, 0xec958a},
-  {0x81df, 0xec958b},
-  {0x81e0, 0xec958c},
-  {0x81e1, 0xec958d},
-  {0x81e2, 0xec958e},
-  {0x81e3, 0xeb8ebc},
-  {0x81e4, 0xec958f},
-  {0x81e5, 0xec9590},
-  {0x81e6, 0xec9591},
-  {0x81e7, 0xeeaab0},
-  {0x81e8, 0xec9592},
-  {0x81e9, 0xec9593},
-  {0x81ea, 0xed9f94},
-  {0x81eb, 0xec9594},
-  {0x81ec, 0xef92ab},
-  {0x81ed, 0xeb8fb4},
-  {0x81ee, 0xec9595},
-  {0x81ef, 0xec9596},
-  {0x81f0, 0xec9597},
-  {0x81f1, 0xec9598},
-  {0x81f2, 0xec9599},
-  {0x81f3, 0xed9b81},
-  {0x81f4, 0xed9b82},
-  {0x81f5, 0xec959a},
-  {0x81f6, 0xec959b},
-  {0x81f7, 0xec959c},
-  {0x81f8, 0xec959d},
-  {0x81f9, 0xec959e},
-  {0x81fa, 0xec959f},
-  {0x81fb, 0xed97a9},
-  {0x81fc, 0xebbb8a},
-  {0x81fd, 0xec95a0},
-  {0x81fe, 0xef92a7},
-  {0x81ff, 0xec95a1},
-  {0x8200, 0xed8aa8},
-  {0x8201, 0xef92a8},
-  {0x8202, 0xef92a9},
-  {0x8203, 0xec95a2},
-  {0x8204, 0xef92aa},
-  {0x8205, 0xebbb8b},
-  {0x8206, 0xed8f9f},
-  {0x8207, 0xec95a3},
-  {0x8208, 0xec95a4},
-  {0x8209, 0xec95a5},
-  {0x820a, 0xec95a6},
-  {0x820b, 0xec95a7},
-  {0x820c, 0xeca7a0},
-  {0x820d, 0xeca7a1},
-  {0x820e, 0xec95a8},
-  {0x820f, 0xec95a9},
-  {0x8210, 0xef8f82},
-  {0x8211, 0xec95aa},
-  {0x8212, 0xecaba6},
-  {0x8213, 0xec95ab},
-  {0x8214, 0xecb3b2},
-  {0x8215, 0xec95ac},
-  {0x8216, 0xec95ad},
-  {0x8217, 0xec95ae},
-  {0x8218, 0xec95af},
-  {0x8219, 0xec95b0},
-  {0x821a, 0xec95b1},
-  {0x821b, 0xee8ab6},
-  {0x821c, 0xecaeb4},
-  {0x821d, 0xec95b2},
-  {0x821e, 0xecbba8},
-  {0x821f, 0xed9b9b},
-  {0x8220, 0xec95b3},
-  {0x8221, 0xef92ad},
-  {0x8222, 0xef92ae},
-  {0x8223, 0xef92af},
-  {0x8224, 0xec95b4},
-  {0x8225, 0xec95b5},
-  {0x8226, 0xec95b6},
-  {0x8227, 0xec95b7},
-  {0x8228, 0xef92b2},
-  {0x8229, 0xec95b8},
-  {0x822a, 0xebaabd},
-  {0x822b, 0xef92b3},
-  {0x822c, 0xeb83a3},
-  {0x822d, 0xef92b0},
-  {0x822e, 0xec95b9},
-  {0x822f, 0xef92b1},
-  {0x8230, 0xebb6a2},
-  {0x8231, 0xeb8b95},
-  {0x8232, 0xec95ba},
-  {0x8233, 0xef92b6},
-  {0x8234, 0xef92b7},
-  {0x8235, 0xeb9ba6},
-  {0x8236, 0xeb8ab0},
-  {0x8237, 0xecbf8f},
-  {0x8238, 0xef92b4},
-  {0x8239, 0xeb92ac},
-  {0x823a, 0xec95bb},
-  {0x823b, 0xef92b5},
-  {0x823c, 0xec95bc},
-  {0x823d, 0xec95bd},
-  {0x823e, 0xef92b8},
-  {0x823f, 0xec95be},
-  {0x8240, 0xec9680},
-  {0x8241, 0xec9681},
-  {0x8242, 0xec9682},
-  {0x8243, 0xec9683},
-  {0x8244, 0xef92b9},
-  {0x8245, 0xec9684},
-  {0x8246, 0xec9685},
-  {0x8247, 0xecb6a7},
-  {0x8248, 0xec9686},
-  {0x8249, 0xef92ba},
-  {0x824a, 0xec9687},
-  {0x824b, 0xef92bb},
-  {0x824c, 0xec9688},
-  {0x824d, 0xec9689},
-  {0x824e, 0xec968a},
-  {0x824f, 0xef92bc},
-  {0x8250, 0xec968b},
-  {0x8251, 0xec968c},
-  {0x8252, 0xec968d},
-  {0x8253, 0xec968e},
-  {0x8254, 0xec968f},
-  {0x8255, 0xec9690},
-  {0x8256, 0xec9691},
-  {0x8257, 0xec9692},
-  {0x8258, 0xecaf92},
-  {0x8259, 0xec9693},
-  {0x825a, 0xef92bd},
-  {0x825b, 0xec9694},
-  {0x825c, 0xec9695},
-  {0x825d, 0xec9696},
-  {0x825e, 0xec9697},
-  {0x825f, 0xef92be},
-  {0x8260, 0xec9698},
-  {0x8261, 0xec9699},
-  {0x8262, 0xec969a},
-  {0x8263, 0xec969b},
-  {0x8264, 0xec969c},
-  {0x8265, 0xec969d},
-  {0x8266, 0xec969e},
-  {0x8267, 0xec969f},
-  {0x8268, 0xef92bf},
-  {0x8269, 0xec96a0},
-  {0x826a, 0xec9980},
-  {0x826b, 0xec9981},
-  {0x826c, 0xec9982},
-  {0x826d, 0xec9983},
-  {0x826e, 0xef939e},
-  {0x826f, 0xec86bc},
-  {0x8270, 0xebb3a8},
-  {0x8271, 0xec9984},
-  {0x8272, 0xeca6ab},
-  {0x8273, 0xed879e},
-  {0x8274, 0xee97b5},
-  {0x8275, 0xec9985},
-  {0x8276, 0xec9986},
-  {0x8277, 0xec9987},
-  {0x8278, 0xec9988},
-  {0x8279, 0xedb2b3},
-  {0x827a, 0xed8b95},
-  {0x827b, 0xec9989},
-  {0x827c, 0xec998a},
-  {0x827d, 0xedb2b4},
-  {0x827e, 0xeb82ac},
-  {0x827f, 0xedb2b5},
-  {0x8280, 0xec998b},
-  {0x8281, 0xec998c},
-  {0x8282, 0xebb79a},
-  {0x8283, 0xec998d},
-  {0x8284, 0xedb2b9},
-  {0x8285, 0xec998e},
-  {0x8286, 0xec998f},
-  {0x8287, 0xec9990},
-  {0x8288, 0xeda382},
-  {0x8289, 0xec9991},
-  {0x828a, 0xedb2b7},
-  {0x828b, 0xed8fb3},
-  {0x828c, 0xec9992},
-  {0x828d, 0xeca796},
-  {0x828e, 0xedb2ba},
-  {0x828f, 0xedb2b6},
-  {0x8290, 0xec9993},
-  {0x8291, 0xedb2bb},
-  {0x8292, 0xec8ea2},
-  {0x8293, 0xec9994},
-  {0x8294, 0xec9995},
-  {0x8295, 0xec9996},
-  {0x8296, 0xec9997},
-  {0x8297, 0xedb2bc},
-  {0x8298, 0xedb385},
-  {0x8299, 0xedb2bd},
-  {0x829a, 0xec9998},
-  {0x829b, 0xec9999},
-  {0x829c, 0xecbb9f},
-  {0x829d, 0xed9aa5},
-  {0x829e, 0xec999a},
-  {0x829f, 0xedb38f},
-  {0x82a0, 0xec999b},
-  {0x82a1, 0xedb38d},
-  {0x82a2, 0xec999c},
-  {0x82a3, 0xec999d},
-  {0x82a4, 0xedb392},
-  {0x82a5, 0xebb7a6},
-  {0x82a6, 0xec8aab},
-  {0x82a7, 0xec999e},
-  {0x82a8, 0xedb2b8},
-  {0x82a9, 0xedb38b},
-  {0x82aa, 0xedb38e},
-  {0x82ab, 0xedb2be},
-  {0x82ac, 0xeb9f92},
-  {0x82ad, 0xeb8385},
-  {0x82ae, 0xedb387},
-  {0x82af, 0xed82be},
-  {0x82b0, 0xedb381},
-  {0x82b1, 0xebaea8},
-  {0x82b2, 0xec999f},
-  {0x82b3, 0xeb9ebc},
-  {0x82b4, 0xedb38c},
-  {0x82b5, 0xec99a0},
-  {0x82b6, 0xec99a1},
-  {0x82b7, 0xedb386},
-  {0x82b8, 0xedb2bf},
-  {0x82b9, 0xec9f9b},
-  {0x82ba, 0xec99a2},
-  {0x82bb, 0xec99a3},
-  {0x82bc, 0xec99a4},
-  {0x82bd, 0xed86bf},
-  {0x82be, 0xedb380},
-  {0x82bf, 0xec99a5},
-  {0x82c0, 0xec99a6},
-  {0x82c1, 0xedb38a},
-  {0x82c2, 0xec99a7},
-  {0x82c3, 0xec99a8},
-  {0x82c4, 0xedb390},
-  {0x82c5, 0xec99a9},
-  {0x82c6, 0xec99aa},
-  {0x82c7, 0xecbaad},
-  {0x82c8, 0xedb382},
-  {0x82c9, 0xec99ab},
-  {0x82ca, 0xedb383},
-  {0x82cb, 0xedb388},
-  {0x82cc, 0xedb389},
-  {0x82cd, 0xeb8b94},
-  {0x82ce, 0xedb391},
-  {0x82cf, 0xecaf95},
-  {0x82d0, 0xec99ac},
-  {0x82d1, 0xed92b7},
-  {0x82d2, 0xedb39b},
-  {0x82d3, 0xedb39f},
-  {0x82d4, 0xecb2a6},
-  {0x82d5, 0xedb3a6},
-  {0x82d6, 0xec99ad},
-  {0x82d7, 0xec8fa7},
-  {0x82d8, 0xedb39c},
-  {0x82d9, 0xec99ae},
-  {0x82da, 0xec99af},
-  {0x82db, 0xebbf81},
-  {0x82dc, 0xedb399},
-  {0x82dd, 0xec99b0},
-  {0x82de, 0xeb83ba},
-  {0x82df, 0xeba6b6},
-  {0x82e0, 0xedb3a5},
-  {0x82e1, 0xedb393},
-  {0x82e2, 0xec99b1},
-  {0x82e3, 0xedb384},
-  {0x82e4, 0xedb396},
-  {0x82e5, 0xeca3b4},
-  {0x82e6, 0xebbfa0},
-  {0x82e7, 0xec99b2},
-  {0x82e8, 0xec99b3},
-  {0x82e9, 0xec99b4},
-  {0x82ea, 0xec99b5},
-  {0x82eb, 0xeca6bb},
-  {0x82ec, 0xec99b6},
-  {0x82ed, 0xec99b7},
-  {0x82ee, 0xec99b8},
-  {0x82ef, 0xeb86bd},
-  {0x82f0, 0xec99b9},
-  {0x82f1, 0xed8ea2},
-  {0x82f2, 0xec99ba},
-  {0x82f3, 0xec99bb},
-  {0x82f4, 0xedb39a},
-  {0x82f5, 0xec99bc},
-  {0x82f6, 0xec99bd},
-  {0x82f7, 0xedb395},
-  {0x82f8, 0xec99be},
-  {0x82f9, 0xec9abb},
-  {0x82fa, 0xec9a80},
-  {0x82fb, 0xedb39e},
-  {0x82fc, 0xec9a81},
-  {0x82fd, 0xec9a82},
-  {0x82fe, 0xec9a83},
-  {0x82ff, 0xec9a84},
-  {0x8300, 0xec9a85},
-  {0x8301, 0xed9f82},
-  {0x8302, 0xec8eaf},
-  {0x8303, 0xeb9eb6},
-  {0x8304, 0xec9f91},
-  {0x8305, 0xec8ea9},
-  {0x8306, 0xedb3a2},
-  {0x8307, 0xedb398},
-  {0x8308, 0xedb3ab},
-  {0x8309, 0xedb394},
-  {0x830a, 0xec9a86},
-  {0x830b, 0xec9a87},
-  {0x830c, 0xedb39d},
-  {0x830d, 0xec9a88},
-  {0x830e, 0xebbaa5},
-  {0x830f, 0xedb397},
-  {0x8310, 0xec9a89},
-  {0x8311, 0xedb3a0},
-  {0x8312, 0xec9a8a},
-  {0x8313, 0xec9a8b},
-  {0x8314, 0xedb3a3},
-  {0x8315, 0xedb3a4},
-  {0x8316, 0xec9a8c},
-  {0x8317, 0xedb3b8},
-  {0x8318, 0xec9a8d},
-  {0x8319, 0xec9a8e},
-  {0x831a, 0xedb3a1},
-  {0x831b, 0xedb6a2},
-  {0x831c, 0xedb3a7},
-  {0x831d, 0xec9a8f},
-  {0x831e, 0xec9a90},
-  {0x831f, 0xec9a91},
-  {0x8320, 0xec9a92},
-  {0x8321, 0xec9a93},
-  {0x8322, 0xec9a94},
-  {0x8323, 0xec9a95},
-  {0x8324, 0xec9a96},
-  {0x8325, 0xec9a97},
-  {0x8326, 0xec9a98},
-  {0x8327, 0xebb3ab},
-  {0x8328, 0xeb9384},
-  {0x8329, 0xec9a99},
-  {0x832a, 0xec9a9a},
-  {0x832b, 0xec8ea3},
-  {0x832c, 0xeb8ba7},
-  {0x832d, 0xedb3ba},
-  {0x832e, 0xec9a9b},
-  {0x832f, 0xedb3b2},
-  {0x8330, 0xec9a9c},
-  {0x8331, 0xedb3af},
-  {0x8332, 0xec9a9d},
-  {0x8333, 0xedb3bc},
-  {0x8334, 0xedb3ae},
-  {0x8335, 0xed8bb0},
-  {0x8336, 0xeb8ba8},
-  {0x8337, 0xec9a9e},
-  {0x8338, 0xeca397},
-  {0x8339, 0xeca3a3},
-  {0x833a, 0xedb3bb},
-  {0x833b, 0xec9a9f},
-  {0x833c, 0xedb3ad},
-  {0x833d, 0xec9aa0},
-  {0x833e, 0xec9d80},
-  {0x833f, 0xec9d81},
-  {0x8340, 0xedb3b7},
-  {0x8341, 0xec9d82},
-  {0x8342, 0xec9d83},
-  {0x8343, 0xedb3b5},
-  {0x8344, 0xec9d84},
-  {0x8345, 0xec9d85},
-  {0x8346, 0xebbaa3},
-  {0x8347, 0xedb3b4},
-  {0x8348, 0xec9d86},
-  {0x8349, 0xeb8b9d},
-  {0x834a, 0xec9d87},
-  {0x834b, 0xec9d88},
-  {0x834c, 0xec9d89},
-  {0x834d, 0xec9d8a},
-  {0x834e, 0xec9d8b},
-  {0x834f, 0xedb3b3},
-  {0x8350, 0xebb3b6},
-  {0x8351, 0xedb3a8},
-  {0x8352, 0xebaf84},
-  {0x8353, 0xec9d8c},
-  {0x8354, 0xec83b3},
-  {0x8355, 0xec9d8d},
-  {0x8356, 0xec9d8e},
-  {0x8357, 0xec9d8f},
-  {0x8358, 0xec9d90},
-  {0x8359, 0xec9d91},
-  {0x835a, 0xebb394},
-  {0x835b, 0xedb3a9},
-  {0x835c, 0xedb3aa},
-  {0x835d, 0xec9d92},
-  {0x835e, 0xedb3b1},
-  {0x835f, 0xedb3b6},
-  {0x8360, 0xedb3b9},
-  {0x8361, 0xeb96b4},
-  {0x8362, 0xec9d93},
-  {0x8363, 0xeca399},
-  {0x8364, 0xebafa7},
-  {0x8365, 0xedb3be},
-  {0x8366, 0xedb3bd},
-  {0x8367, 0xed8eab},
-  {0x8368, 0xedb6a1},
-  {0x8369, 0xedb6a3},
-  {0x836a, 0xedb6a5},
-  {0x836b, 0xed8bb1},
-  {0x836c, 0xedb6a4},
-  {0x836d, 0xedb6a6},
-  {0x836e, 0xedb6a7},
-  {0x836f, 0xed8aa9},
-  {0x8370, 0xec9d94},
-  {0x8371, 0xec9d95},
-  {0x8372, 0xec9d96},
-  {0x8373, 0xec9d97},
-  {0x8374, 0xec9d98},
-  {0x8375, 0xec9d99},
-  {0x8376, 0xec9d9a},
-  {0x8377, 0xebab89},
-  {0x8378, 0xedb6a9},
-  {0x8379, 0xec9d9b},
-  {0x837a, 0xec9d9c},
-  {0x837b, 0xedb6b6},
-  {0x837c, 0xedb6b1},
-  {0x837d, 0xedb6b4},
-  {0x837e, 0xec9d9d},
-  {0x837f, 0xec9d9e},
-  {0x8380, 0xec9d9f},
-  {0x8381, 0xec9da0},
-  {0x8382, 0xec9da1},
-  {0x8383, 0xec9da2},
-  {0x8384, 0xec9da3},
-  {0x8385, 0xedb6b0},
-  {0x8386, 0xec9b8e},
-  {0x8387, 0xec9da4},
-  {0x8388, 0xec9da5},
-  {0x8389, 0xec83b2},
-  {0x838a, 0xec9da6},
-  {0x838b, 0xec9da7},
-  {0x838c, 0xec9da8},
-  {0x838d, 0xec9da9},
-  {0x838e, 0xeca6af},
-  {0x838f, 0xec9daa},
-  {0x8390, 0xec9dab},
-  {0x8391, 0xec9dac},
-  {0x8392, 0xedb3ac},
-  {0x8393, 0xedb6ae},
-  {0x8394, 0xec9dad},
-  {0x8395, 0xec9dae},
-  {0x8396, 0xec9daf},
-  {0x8397, 0xec9db0},
-  {0x8398, 0xedb6b7},
-  {0x8399, 0xec9db1},
-  {0x839a, 0xec9db2},
-  {0x839b, 0xedb3b0},
-  {0x839c, 0xedb6af},
-  {0x839d, 0xec9db3},
-  {0x839e, 0xedb6b8},
-  {0x839f, 0xec9db4},
-  {0x83a0, 0xedb6ac},
-  {0x83a1, 0xec9db5},
-  {0x83a2, 0xec9db6},
-  {0x83a3, 0xec9db7},
-  {0x83a4, 0xec9db8},
-  {0x83a5, 0xec9db9},
-  {0x83a6, 0xec9dba},
-  {0x83a7, 0xec9dbb},
-  {0x83a8, 0xedb6b9},
-  {0x83a9, 0xedb6b3},
-  {0x83aa, 0xedb6ad},
-  {0x83ab, 0xec92aa},
-  {0x83ac, 0xec9dbc},
-  {0x83ad, 0xec9dbd},
-  {0x83ae, 0xec9dbe},
-  {0x83af, 0xec9e80},
-  {0x83b0, 0xedb6a8},
-  {0x83b1, 0xec82b3},
-  {0x83b2, 0xec86ab},
-  {0x83b3, 0xedb6aa},
-  {0x83b4, 0xedb6ab},
-  {0x83b5, 0xec9e81},
-  {0x83b6, 0xedb6b2},
-  {0x83b7, 0xebafb1},
-  {0x83b8, 0xedb6b5},
-  {0x83b9, 0xed8ea8},
-  {0x83ba, 0xedb6ba},
-  {0x83bb, 0xec9e82},
-  {0x83bc, 0xedb6bb},
-  {0x83bd, 0xec8ea7},
-  {0x83be, 0xec9e83},
-  {0x83bf, 0xec9e84},
-  {0x83c0, 0xedb792},
-  {0x83c1, 0xedb6bc},
-  {0x83c2, 0xec9e85},
-  {0x83c3, 0xec9e86},
-  {0x83c4, 0xec9e87},
-  {0x83c5, 0xedb791},
-  {0x83c6, 0xec9e88},
-  {0x83c7, 0xeba6bd},
-  {0x83c8, 0xec9e89},
-  {0x83c9, 0xec9e8a},
-  {0x83ca, 0xebbb95},
-  {0x83cb, 0xec9e8b},
-  {0x83cc, 0xebbbba},
-  {0x83cd, 0xec9e8c},
-  {0x83ce, 0xec9e8d},
-  {0x83cf, 0xebab8a},
-  {0x83d0, 0xec9e8e},
-  {0x83d1, 0xec9e8f},
-  {0x83d2, 0xec9e90},
-  {0x83d3, 0xec9e91},
-  {0x83d4, 0xedb78a},
-  {0x83d5, 0xec9e92},
-  {0x83d6, 0xedb785},
-  {0x83d7, 0xec9e93},
-  {0x83d8, 0xedb6bf},
-  {0x83d9, 0xec9e94},
-  {0x83da, 0xec9e95},
-  {0x83db, 0xec9e96},
-  {0x83dc, 0xeb8b8b},
-  {0x83dd, 0xedb783},
-  {0x83de, 0xec9e97},
-  {0x83df, 0xedb78b},
-  {0x83e0, 0xeb8aa4},
-  {0x83e1, 0xedb795},
-  {0x83e2, 0xec9e98},
-  {0x83e3, 0xec9e99},
-  {0x83e4, 0xec9e9a},
-  {0x83e5, 0xedb6be},
-  {0x83e6, 0xec9e9b},
-  {0x83e7, 0xec9e9c},
-  {0x83e8, 0xec9e9d},
-  {0x83e9, 0xec9b90},
-  {0x83ea, 0xedb790},
-  {0x83eb, 0xec9e9e},
-  {0x83ec, 0xec9e9f},
-  {0x83ed, 0xec9ea0},
-  {0x83ee, 0xeca180},
-  {0x83ef, 0xeca181},
-  {0x83f0, 0xedb794},
-  {0x83f1, 0xec87a2},
-  {0x83f2, 0xeb9f86},
-  {0x83f3, 0xeca182},
-  {0x83f4, 0xeca183},
-  {0x83f5, 0xeca184},
-  {0x83f6, 0xeca185},
-  {0x83f7, 0xeca186},
-  {0x83f8, 0xedb78e},
-  {0x83f9, 0xedb78f},
-  {0x83fa, 0xeca187},
-  {0x83fb, 0xeca188},
-  {0x83fc, 0xeca189},
-  {0x83fd, 0xedb784},
-  {0x83fe, 0xeca18a},
-  {0x83ff, 0xeca18b},
-  {0x8400, 0xeca18c},
-  {0x8401, 0xedb6bd},
-  {0x8402, 0xeca18d},
-  {0x8403, 0xedb78d},
-  {0x8404, 0xecb391},
-  {0x8405, 0xeca18e},
-  {0x8406, 0xedb789},
-  {0x8407, 0xeca18f},
-  {0x8408, 0xeca190},
-  {0x8409, 0xeca191},
-  {0x840a, 0xeca192},
-  {0x840b, 0xedb782},
-  {0x840c, 0xec8f88},
-  {0x840d, 0xec9abc},
-  {0x840e, 0xecbaae},
-  {0x840f, 0xedb78c},
-  {0x8410, 0xeca193},
-  {0x8411, 0xedb788},
-  {0x8412, 0xeca194},
-  {0x8413, 0xeca195},
-  {0x8414, 0xeca196},
-  {0x8415, 0xeca197},
-  {0x8416, 0xeca198},
-  {0x8417, 0xeca199},
-  {0x8418, 0xedb781},
-  {0x8419, 0xeca19a},
-  {0x841a, 0xeca19b},
-  {0x841b, 0xeca19c},
-  {0x841c, 0xedb786},
-  {0x841d, 0xec8b9c},
-  {0x841e, 0xeca19d},
-  {0x841f, 0xeca19e},
-  {0x8420, 0xeca19f},
-  {0x8421, 0xeca1a0},
-  {0x8422, 0xeca1a1},
-  {0x8423, 0xeca1a2},
-  {0x8424, 0xed8ea9},
-  {0x8425, 0xed8eaa},
-  {0x8426, 0xedb793},
-  {0x8427, 0xecbfb4},
-  {0x8428, 0xeca3b8},
-  {0x8429, 0xeca1a3},
-  {0x842a, 0xeca1a4},
-  {0x842b, 0xeca1a5},
-  {0x842c, 0xeca1a6},
-  {0x842d, 0xeca1a7},
-  {0x842e, 0xeca1a8},
-  {0x842f, 0xeca1a9},
-  {0x8430, 0xeca1aa},
-  {0x8431, 0xedb7a6},
-  {0x8432, 0xeca1ab},
-  {0x8433, 0xeca1ac},
-  {0x8434, 0xeca1ad},
-  {0x8435, 0xeca1ae},
-  {0x8436, 0xeca1af},
-  {0x8437, 0xeca1b0},
-  {0x8438, 0xedb787},
-  {0x8439, 0xeca1b1},
-  {0x843a, 0xeca1b2},
-  {0x843b, 0xeca1b3},
-  {0x843c, 0xedb7a0},
-  {0x843d, 0xec8ba4},
-  {0x843e, 0xeca1b4},
-  {0x843f, 0xeca1b5},
-  {0x8440, 0xeca1b6},
-  {0x8441, 0xeca1b7},
-  {0x8442, 0xeca1b8},
-  {0x8443, 0xeca1b9},
-  {0x8444, 0xeca1ba},
-  {0x8445, 0xeca1bb},
-  {0x8446, 0xedb7a1},
-  {0x8447, 0xeca1bc},
-  {0x8448, 0xeca1bd},
-  {0x8449, 0xeca1be},
-  {0x844a, 0xeca280},
-  {0x844b, 0xeca281},
-  {0x844c, 0xeca282},
-  {0x844d, 0xeca283},
-  {0x844e, 0xeca284},
-  {0x844f, 0xeca285},
-  {0x8450, 0xeca286},
-  {0x8451, 0xedb797},
-  {0x8452, 0xeca287},
-  {0x8453, 0xeca288},
-  {0x8454, 0xeca289},
-  {0x8455, 0xeca28a},
-  {0x8456, 0xeca28b},
-  {0x8457, 0xed9bb8},
-  {0x8458, 0xeca28c},
-  {0x8459, 0xedb799},
-  {0x845a, 0xedb798},
-  {0x845b, 0xeba3b0},
-  {0x845c, 0xedb796},
-  {0x845d, 0xeca28d},
-  {0x845e, 0xeca28e},
-  {0x845f, 0xeca28f},
-  {0x8460, 0xeca290},
-  {0x8461, 0xec9b8f},
-  {0x8462, 0xeca291},
-  {0x8463, 0xeb9aad},
-  {0x8464, 0xeca292},
-  {0x8465, 0xeca293},
-  {0x8466, 0xeca294},
-  {0x8467, 0xeca295},
-  {0x8468, 0xeca296},
-  {0x8469, 0xedb7a2},
-  {0x846a, 0xeca297},
-  {0x846b, 0xebabb9},
-  {0x846c, 0xed93a1},
-  {0x846d, 0xedb7a7},
-  {0x846e, 0xeca298},
-  {0x846f, 0xeca299},
-  {0x8470, 0xeca29a},
-  {0x8471, 0xeb9390},
-  {0x8472, 0xeca29b},
-  {0x8473, 0xedb79a},
-  {0x8474, 0xeca29c},
-  {0x8475, 0xebbfbb},
-  {0x8476, 0xedb7a3},
-  {0x8477, 0xeca29d},
-  {0x8478, 0xedb79f},
-  {0x8479, 0xeca29e},
-  {0x847a, 0xedb79d},
-  {0x847b, 0xeca29f},
-  {0x847c, 0xeca2a0},
-  {0x847d, 0xeca580},
-  {0x847e, 0xeca581},
-  {0x847f, 0xeca582},
-  {0x8480, 0xeca583},
-  {0x8481, 0xeca584},
-  {0x8482, 0xeb9799},
-  {0x8483, 0xeca585},
-  {0x8484, 0xeca586},
-  {0x8485, 0xeca587},
-  {0x8486, 0xeca588},
-  {0x8487, 0xedb79b},
-  {0x8488, 0xedb79c},
-  {0x8489, 0xedb79e},
-  {0x848a, 0xeca589},
-  {0x848b, 0xebb6af},
-  {0x848c, 0xedb7a4},
-  {0x848d, 0xeca58a},
-  {0x848e, 0xedb7a5},
-  {0x848f, 0xeca58b},
-  {0x8490, 0xeca58c},
-  {0x8491, 0xeca58d},
-  {0x8492, 0xeca58e},
-  {0x8493, 0xeca58f},
-  {0x8494, 0xeca590},
-  {0x8495, 0xeca591},
-  {0x8496, 0xeca592},
-  {0x8497, 0xedb7b5},
-  {0x8498, 0xeca593},
-  {0x8499, 0xec8f89},
-  {0x849a, 0xeca594},
-  {0x849b, 0xeca595},
-  {0x849c, 0xecafa2},
-  {0x849d, 0xeca596},
-  {0x849e, 0xeca597},
-  {0x849f, 0xeca598},
-  {0x84a0, 0xeca599},
-  {0x84a1, 0xedb7b2},
-  {0x84a2, 0xeca59a},
-  {0x84a3, 0xeca59b},
-  {0x84a4, 0xeca59c},
-  {0x84a5, 0xeca59d},
-  {0x84a6, 0xeca59e},
-  {0x84a7, 0xeca59f},
-  {0x84a8, 0xeca5a0},
-  {0x84a9, 0xeca5a1},
-  {0x84aa, 0xeca5a2},
-  {0x84ab, 0xeca5a3},
-  {0x84ac, 0xeca5a4},
-  {0x84ad, 0xeca5a5},
-  {0x84ae, 0xeca5a6},
-  {0x84af, 0xeda3a1},
-  {0x84b0, 0xeca5a7},
-  {0x84b1, 0xeca5a8},
-  {0x84b2, 0xec9b91},
-  {0x84b3, 0xeca5a9},
-  {0x84b4, 0xedb7b4},
-  {0x84b5, 0xeca5aa},
-  {0x84b6, 0xeca5ab},
-  {0x84b7, 0xeca5ac},
-  {0x84b8, 0xed97b4},
-  {0x84b9, 0xedb7b3},
-  {0x84ba, 0xedb7b0},
-  {0x84bb, 0xeca5ad},
-  {0x84bc, 0xeca5ae},
-  {0x84bd, 0xedb7ac},
-  {0x84be, 0xeca5af},
-  {0x84bf, 0xedb7af},
-  {0x84c0, 0xeca5b0},
-  {0x84c1, 0xedb7a8},
-  {0x84c2, 0xeca5b1},
-  {0x84c3, 0xeca5b2},
-  {0x84c4, 0xed83ae},
-  {0x84c5, 0xeca5b3},
-  {0x84c6, 0xeca5b4},
-  {0x84c7, 0xeca5b5},
-  {0x84c8, 0xeca5b6},
-  {0x84c9, 0xeca398},
-  {0x84ca, 0xedb7ae},
-  {0x84cb, 0xeca5b7},
-  {0x84cc, 0xeca5b8},
-  {0x84cd, 0xedb7a9},
-  {0x84ce, 0xeca5b9},
-  {0x84cf, 0xeca5ba},
-  {0x84d0, 0xedb7aa},
-  {0x84d1, 0xecafb2},
-  {0x84d2, 0xeca5bb},
-  {0x84d3, 0xedb7ad},
-  {0x84d4, 0xeca5bc},
-  {0x84d5, 0xeca5bd},
-  {0x84d6, 0xeb878d},
-  {0x84d7, 0xeca5be},
-  {0x84d8, 0xeca680},
-  {0x84d9, 0xeca681},
-  {0x84da, 0xeca682},
-  {0x84db, 0xeca683},
-  {0x84dc, 0xeca684},
-  {0x84dd, 0xec82b6},
-  {0x84de, 0xeca685},
-  {0x84df, 0xebb2bb},
-  {0x84e0, 0xedb7b1},
-  {0x84e1, 0xeca686},
-  {0x84e2, 0xeca687},
-  {0x84e3, 0xedb7b7},
-  {0x84e4, 0xeca688},
-  {0x84e5, 0xedb7b6},
-  {0x84e6, 0xedb7ab},
-  {0x84e7, 0xeca689},
-  {0x84e8, 0xeca68a},
-  {0x84e9, 0xeca68b},
-  {0x84ea, 0xeca68c},
-  {0x84eb, 0xeca68d},
-  {0x84ec, 0xec97ae},
-  {0x84ed, 0xeca68e},
-  {0x84ee, 0xeca68f},
-  {0x84ef, 0xeca690},
-  {0x84f0, 0xedb7bb},
-  {0x84f1, 0xeca691},
-  {0x84f2, 0xeca692},
-  {0x84f3, 0xeca693},
-  {0x84f4, 0xeca694},
-  {0x84f5, 0xeca695},
-  {0x84f6, 0xeca696},
-  {0x84f7, 0xeca697},
-  {0x84f8, 0xeca698},
-  {0x84f9, 0xeca699},
-  {0x84fa, 0xeca69a},
-  {0x84fb, 0xeca69b},
-  {0x84fc, 0xedbaa4},
-  {0x84fd, 0xeca69c},
-  {0x84fe, 0xeca69d},
-  {0x84ff, 0xedbaa3},
-  {0x8500, 0xeca69e},
-  {0x8501, 0xeca69f},
-  {0x8502, 0xeca6a0},
-  {0x8503, 0xeca980},
-  {0x8504, 0xeca981},
-  {0x8505, 0xeca982},
-  {0x8506, 0xeca983},
-  {0x8507, 0xeca984},
-  {0x8508, 0xeca985},
-  {0x8509, 0xeca986},
-  {0x850a, 0xeca987},
-  {0x850b, 0xeca988},
-  {0x850c, 0xedb7b8},
-  {0x850d, 0xeca989},
-  {0x850e, 0xeca98a},
-  {0x850f, 0xeca98b},
-  {0x8510, 0xeca98c},
-  {0x8511, 0xec8faf},
-  {0x8512, 0xeca98d},
-  {0x8513, 0xec8bbb},
-  {0x8514, 0xeca98e},
-  {0x8515, 0xeca98f},
-  {0x8516, 0xeca990},
-  {0x8517, 0xed97a1},
-  {0x8518, 0xeca991},
-  {0x8519, 0xeca992},
-  {0x851a, 0xecbab5},
-  {0x851b, 0xeca993},
-  {0x851c, 0xeca994},
-  {0x851d, 0xeca995},
-  {0x851e, 0xeca996},
-  {0x851f, 0xedb7bd},
-  {0x8520, 0xeca997},
-  {0x8521, 0xeb8b8c},
-  {0x8522, 0xeca998},
-  {0x8523, 0xeca999},
-  {0x8524, 0xeca99a},
-  {0x8525, 0xeca99b},
-  {0x8526, 0xeca99c},
-  {0x8527, 0xeca99d},
-  {0x8528, 0xeca99e},
-  {0x8529, 0xeca99f},
-  {0x852a, 0xeca9a0},
-  {0x852b, 0xec93a8},
-  {0x852c, 0xecab9f},
-  {0x852d, 0xeca9a1},
-  {0x852e, 0xeca9a2},
-  {0x852f, 0xeca9a3},
-  {0x8530, 0xeca9a4},
-  {0x8531, 0xeca9a5},
-  {0x8532, 0xeca9a6},
-  {0x8533, 0xeca9a7},
-  {0x8534, 0xeca9a8},
-  {0x8535, 0xeca9a9},
-  {0x8536, 0xeca9aa},
-  {0x8537, 0xec9ebe},
-  {0x8538, 0xedb7ba},
-  {0x8539, 0xedb7bc},
-  {0x853a, 0xedb7be},
-  {0x853b, 0xedbaa2},
-  {0x853c, 0xeb82aa},
-  {0x853d, 0xeb878e},
-  {0x853e, 0xeca9ab},
-  {0x853f, 0xeca9ac},
-  {0x8540, 0xeca9ad},
-  {0x8541, 0xeca9ae},
-  {0x8542, 0xeca9af},
-  {0x8543, 0xedbaac},
-  {0x8544, 0xeca9b0},
-  {0x8545, 0xeca9b1},
-  {0x8546, 0xeca9b2},
-  {0x8547, 0xeca9b3},
-  {0x8548, 0xedbaa6},
-  {0x8549, 0xebb6b6},
-  {0x854a, 0xeca3af},
-  {0x854b, 0xeca9b4},
-  {0x854c, 0xeca9b5},
-  {0x854d, 0xeca9b6},
-  {0x854e, 0xeca9b7},
-  {0x854f, 0xeca9b8},
-  {0x8550, 0xeca9b9},
-  {0x8551, 0xeca9ba},
-  {0x8552, 0xeca9bb},
-  {0x8553, 0xeca9bc},
-  {0x8554, 0xeca9bd},
-  {0x8555, 0xeca9be},
-  {0x8556, 0xedbaa1},
-  {0x8557, 0xecaa80},
-  {0x8558, 0xecaa81},
-  {0x8559, 0xedbaa5},
-  {0x855a, 0xecaa82},
-  {0x855b, 0xecaa83},
-  {0x855c, 0xecaa84},
-  {0x855d, 0xecaa85},
-  {0x855e, 0xedbaa9},
-  {0x855f, 0xecaa86},
-  {0x8560, 0xecaa87},
-  {0x8561, 0xecaa88},
-  {0x8562, 0xecaa89},
-  {0x8563, 0xecaa8a},
-  {0x8564, 0xedbaa8},
-  {0x8565, 0xecaa8b},
-  {0x8566, 0xecaa8c},
-  {0x8567, 0xecaa8d},
-  {0x8568, 0xedbaa7},
-  {0x8569, 0xecaa8e},
-  {0x856a, 0xecaa8f},
-  {0x856b, 0xecaa90},
-  {0x856c, 0xecaa91},
-  {0x856d, 0xecaa92},
-  {0x856e, 0xecaa93},
-  {0x856f, 0xecaa94},
-  {0x8570, 0xecaa95},
-  {0x8571, 0xecaa96},
-  {0x8572, 0xedbaad},
-  {0x8573, 0xecaa97},
-  {0x8574, 0xed938c},
-  {0x8575, 0xecaa98},
-  {0x8576, 0xecaa99},
-  {0x8577, 0xecaa9a},
-  {0x8578, 0xecaa9b},
-  {0x8579, 0xedbab3},
-  {0x857a, 0xedbaaa},
-  {0x857b, 0xedbaae},
-  {0x857c, 0xecaa9c},
-  {0x857d, 0xecaa9d},
-  {0x857e, 0xec8399},
-  {0x857f, 0xecaa9e},
-  {0x8580, 0xecaa9f},
-  {0x8581, 0xecaaa0},
-  {0x8582, 0xecad80},
-  {0x8583, 0xecad81},
-  {0x8584, 0xeb86a1},
-  {0x8585, 0xedbab6},
-  {0x8586, 0xecad82},
-  {0x8587, 0xedbab1},
-  {0x8588, 0xecad83},
-  {0x8589, 0xecad84},
-  {0x858a, 0xecad85},
-  {0x858b, 0xecad86},
-  {0x858c, 0xecad87},
-  {0x858d, 0xecad88},
-  {0x858e, 0xecad89},
-  {0x858f, 0xedbab2},
-  {0x8590, 0xecad8a},
-  {0x8591, 0xecad8b},
-  {0x8592, 0xecad8c},
-  {0x8593, 0xecad8d},
-  {0x8594, 0xecad8e},
-  {0x8595, 0xecad8f},
-  {0x8596, 0xecad90},
-  {0x8597, 0xecad91},
-  {0x8598, 0xecad92},
-  {0x8599, 0xecad93},
-  {0x859a, 0xecad94},
-  {0x859b, 0xed86a6},
-  {0x859c, 0xedbab5},
-  {0x859d, 0xecad95},
-  {0x859e, 0xecad96},
-  {0x859f, 0xecad97},
-  {0x85a0, 0xecad98},
-  {0x85a1, 0xecad99},
-  {0x85a2, 0xecad9a},
-  {0x85a3, 0xecad9b},
-  {0x85a4, 0xedbaaf},
-  {0x85a5, 0xecad9c},
-  {0x85a6, 0xecad9d},
-  {0x85a7, 0xecad9e},
-  {0x85a8, 0xedbab0},
-  {0x85a9, 0xecad9f},
-  {0x85aa, 0xed82bd},
-  {0x85ab, 0xecada0},
-  {0x85ac, 0xecada1},
-  {0x85ad, 0xecada2},
-  {0x85ae, 0xedbab4},
-  {0x85af, 0xecabad},
-  {0x85b0, 0xedbab9},
-  {0x85b1, 0xecada3},
-  {0x85b2, 0xecada4},
-  {0x85b3, 0xecada5},
-  {0x85b4, 0xecada6},
-  {0x85b5, 0xecada7},
-  {0x85b6, 0xecada8},
-  {0x85b7, 0xedbab8},
-  {0x85b8, 0xecada9},
-  {0x85b9, 0xedbab7},
-  {0x85ba, 0xecadaa},
-  {0x85bb, 0xecadab},
-  {0x85bc, 0xecadac},
-  {0x85bd, 0xecadad},
-  {0x85be, 0xecadae},
-  {0x85bf, 0xecadaf},
-  {0x85c0, 0xecadb0},
-  {0x85c1, 0xedbabb},
-  {0x85c2, 0xecadb1},
-  {0x85c3, 0xecadb2},
-  {0x85c4, 0xecadb3},
-  {0x85c5, 0xecadb4},
-  {0x85c6, 0xecadb5},
-  {0x85c7, 0xecadb6},
-  {0x85c8, 0xecadb7},
-  {0x85c9, 0xebb7a5},
-  {0x85ca, 0xecadb8},
-  {0x85cb, 0xecadb9},
-  {0x85cc, 0xecadba},
-  {0x85cd, 0xecadbb},
-  {0x85ce, 0xecadbc},
-  {0x85cf, 0xeb8b98},
-  {0x85d0, 0xec8faa},
-  {0x85d1, 0xecadbd},
-  {0x85d2, 0xecadbe},
-  {0x85d3, 0xedbaba},
-  {0x85d4, 0xecae80},
-  {0x85d5, 0xec96ba},
-  {0x85d6, 0xecae81},
-  {0x85d7, 0xecae82},
-  {0x85d8, 0xecae83},
-  {0x85d9, 0xecae84},
-  {0x85da, 0xecae85},
-  {0x85db, 0xecae86},
-  {0x85dc, 0xedbabc},
-  {0x85dd, 0xecae87},
-  {0x85de, 0xecae88},
-  {0x85df, 0xecae89},
-  {0x85e0, 0xecae8a},
-  {0x85e1, 0xecae8b},
-  {0x85e2, 0xecae8c},
-  {0x85e3, 0xecae8d},
-  {0x85e4, 0xecb399},
-  {0x85e5, 0xecae8e},
-  {0x85e6, 0xecae8f},
-  {0x85e7, 0xecae90},
-  {0x85e8, 0xecae91},
-  {0x85e9, 0xeb9eaa},
-  {0x85ea, 0xecae92},
-  {0x85eb, 0xecae93},
-  {0x85ec, 0xecae94},
-  {0x85ed, 0xecae95},
-  {0x85ee, 0xecae96},
-  {0x85ef, 0xecae97},
-  {0x85f0, 0xecae98},
-  {0x85f1, 0xecae99},
-  {0x85f2, 0xecae9a},
-  {0x85f3, 0xecae9b},
-  {0x85f4, 0xecae9c},
-  {0x85f5, 0xecae9d},
-  {0x85f6, 0xecae9e},
-  {0x85f7, 0xecae9f},
-  {0x85f8, 0xecaea0},
-  {0x85f9, 0xecb180},
-  {0x85fa, 0xecb181},
-  {0x85fb, 0xed93a5},
-  {0x85fc, 0xecb182},
-  {0x85fd, 0xecb183},
-  {0x85fe, 0xecb184},
-  {0x85ff, 0xedbabd},
-  {0x8600, 0xecb185},
-  {0x8601, 0xecb186},
-  {0x8602, 0xecb187},
-  {0x8603, 0xecb188},
-  {0x8604, 0xecb189},
-  {0x8605, 0xedbabf},
-  {0x8606, 0xecb18a},
-  {0x8607, 0xecb18b},
-  {0x8608, 0xecb18c},
-  {0x8609, 0xecb18d},
-  {0x860a, 0xecb18e},
-  {0x860b, 0xecb18f},
-  {0x860c, 0xecb190},
-  {0x860d, 0xecb191},
-  {0x860e, 0xecb192},
-  {0x860f, 0xecb193},
-  {0x8610, 0xecb194},
-  {0x8611, 0xec92a2},
-  {0x8612, 0xecb195},
-  {0x8613, 0xecb196},
-  {0x8614, 0xecb197},
-  {0x8615, 0xecb198},
-  {0x8616, 0xedbb81},
-  {0x8617, 0xecb199},
-  {0x8618, 0xecb19a},
-  {0x8619, 0xecb19b},
-  {0x861a, 0xecb19c},
-  {0x861b, 0xecb19d},
-  {0x861c, 0xecb19e},
-  {0x861d, 0xecb19f},
-  {0x861e, 0xecb1a0},
-  {0x861f, 0xecb1a1},
-  {0x8620, 0xecb1a2},
-  {0x8621, 0xecb1a3},
-  {0x8622, 0xecb1a4},
-  {0x8623, 0xecb1a5},
-  {0x8624, 0xecb1a6},
-  {0x8625, 0xecb1a7},
-  {0x8626, 0xecb1a8},
-  {0x8627, 0xedbabe},
-  {0x8628, 0xecb1a9},
-  {0x8629, 0xedbb80},
-  {0x862a, 0xecb1aa},
-  {0x862b, 0xecb1ab},
-  {0x862c, 0xecb1ac},
-  {0x862d, 0xecb1ad},
-  {0x862e, 0xecb1ae},
-  {0x862f, 0xecb1af},
-  {0x8630, 0xecb1b0},
-  {0x8631, 0xecb1b1},
-  {0x8632, 0xecb1b2},
-  {0x8633, 0xecb1b3},
-  {0x8634, 0xecb1b4},
-  {0x8635, 0xecb1b5},
-  {0x8636, 0xecb1b6},
-  {0x8637, 0xecb1b7},
-  {0x8638, 0xed96ba},
-  {0x8639, 0xecb1b8},
-  {0x863a, 0xecb1b9},
-  {0x863b, 0xecb1ba},
-  {0x863c, 0xedbb82},
-  {0x863d, 0xecb1bb},
-  {0x863e, 0xecb1bc},
-  {0x863f, 0xecb1bd},
-  {0x8640, 0xecb1be},
-  {0x8641, 0xecb280},
-  {0x8642, 0xecb281},
-  {0x8643, 0xecb282},
-  {0x8644, 0xecb283},
-  {0x8645, 0xecb284},
-  {0x8646, 0xecb285},
-  {0x8647, 0xecb286},
-  {0x8648, 0xecb287},
-  {0x8649, 0xecb288},
-  {0x864a, 0xecb289},
-  {0x864b, 0xecb28a},
-  {0x864c, 0xecb28b},
-  {0x864d, 0xef8aae},
-  {0x864e, 0xebaea2},
-  {0x864f, 0xec8ab2},
-  {0x8650, 0xec96b0},
-  {0x8651, 0xec8b87},
-  {0x8652, 0xecb28c},
-  {0x8653, 0xecb28d},
-  {0x8654, 0xef8aaf},
-  {0x8655, 0xecb28e},
-  {0x8656, 0xecb28f},
-  {0x8657, 0xecb290},
-  {0x8658, 0xecb291},
-  {0x8659, 0xecb292},
-  {0x865a, 0xed83a9},
-  {0x865b, 0xecb293},
-  {0x865c, 0xecb294},
-  {0x865d, 0xecb295},
-  {0x865e, 0xed8f9d},
-  {0x865f, 0xecb296},
-  {0x8660, 0xecb297},
-  {0x8661, 0xecb298},
-  {0x8662, 0xeeaebd},
-  {0x8663, 0xecb299},
-  {0x8664, 0xecb29a},
-  {0x8665, 0xecb29b},
-  {0x8666, 0xecb29c},
-  {0x8667, 0xecb29d},
-  {0x8668, 0xecb29e},
-  {0x8669, 0xecb29f},
-  {0x866a, 0xecb2a0},
-  {0x866b, 0xeb8fa6},
-  {0x866c, 0xef8ab0},
-  {0x866d, 0xecb580},
-  {0x866e, 0xef8ab1},
-  {0x866f, 0xecb581},
-  {0x8670, 0xecb582},
-  {0x8671, 0xecaaad},
-  {0x8672, 0xecb583},
-  {0x8673, 0xecb584},
-  {0x8674, 0xecb585},
-  {0x8675, 0xecb586},
-  {0x8676, 0xecb587},
-  {0x8677, 0xecb588},
-  {0x8678, 0xecb589},
-  {0x8679, 0xebaba7},
-  {0x867a, 0xef8ab3},
-  {0x867b, 0xef8ab5},
-  {0x867c, 0xef8ab4},
-  {0x867d, 0xecafa4},
-  {0x867e, 0xecbeba},
-  {0x867f, 0xef8ab2},
-  {0x8680, 0xecaab4},
-  {0x8681, 0xed8b8f},
-  {0x8682, 0xec8bac},
-  {0x8683, 0xecb58a},
-  {0x8684, 0xecb58b},
-  {0x8685, 0xecb58c},
-  {0x8686, 0xecb58d},
-  {0x8687, 0xecb58e},
-  {0x8688, 0xecb58f},
-  {0x8689, 0xecb590},
-  {0x868a, 0xecbb83},
-  {0x868b, 0xef8ab8},
-  {0x868c, 0xeb83b6},
-  {0x868d, 0xef8ab7},
-  {0x868e, 0xecb591},
-  {0x868f, 0xecb592},
-  {0x8690, 0xecb593},
-  {0x8691, 0xecb594},
-  {0x8692, 0xecb595},
-  {0x8693, 0xef8abe},
-  {0x8694, 0xecb596},
-  {0x8695, 0xeb8b8f},
-  {0x8696, 0xecb597},
-  {0x8697, 0xecb598},
-  {0x8698, 0xecb599},
-  {0x8699, 0xecb59a},
-  {0x869a, 0xecb59b},
-  {0x869b, 0xecb59c},
-  {0x869c, 0xed8781},
-  {0x869d, 0xef8aba},
-  {0x869e, 0xecb59d},
-  {0x869f, 0xecb59e},
-  {0x86a0, 0xecb59f},
-  {0x86a1, 0xecb5a0},
-  {0x86a2, 0xecb5a1},
-  {0x86a3, 0xef8abc},
-  {0x86a4, 0xed93a9},
-  {0x86a5, 0xecb5a2},
-  {0x86a6, 0xecb5a3},
-  {0x86a7, 0xef8abb},
-  {0x86a8, 0xef8ab6},
-  {0x86a9, 0xef8abf},
-  {0x86aa, 0xef8abd},
-  {0x86ab, 0xecb5a4},
-  {0x86ac, 0xef8ab9},
-  {0x86ad, 0xecb5a5},
-  {0x86ae, 0xecb5a6},
-  {0x86af, 0xef8b87},
-  {0x86b0, 0xef8b84},
-  {0x86b1, 0xef8b86},
-  {0x86b2, 0xecb5a7},
-  {0x86b3, 0xecb5a8},
-  {0x86b4, 0xef8b8a},
-  {0x86b5, 0xef8b82},
-  {0x86b6, 0xef8b80},
-  {0x86b7, 0xecb5a9},
-  {0x86b8, 0xecb5aa},
-  {0x86b9, 0xecb5ab},
-  {0x86ba, 0xef8b85},
-  {0x86bb, 0xecb5ac},
-  {0x86bc, 0xecb5ad},
-  {0x86bd, 0xecb5ae},
-  {0x86be, 0xecb5af},
-  {0x86bf, 0xecb5b0},
-  {0x86c0, 0xed9bbb},
-  {0x86c1, 0xecb5b1},
-  {0x86c2, 0xecb5b2},
-  {0x86c3, 0xecb5b3},
-  {0x86c4, 0xef8b81},
-  {0x86c5, 0xecb5b4},
-  {0x86c6, 0xec9fb9},
-  {0x86c7, 0xeca79f},
-  {0x86c8, 0xecb5b5},
-  {0x86c9, 0xef8b88},
-  {0x86ca, 0xeba786},
-  {0x86cb, 0xeb96b0},
-  {0x86cc, 0xecb5b6},
-  {0x86cd, 0xecb5b7},
-  {0x86ce, 0xef8b83},
-  {0x86cf, 0xef8b89},
-  {0x86d0, 0xef8b90},
-  {0x86d1, 0xef8b96},
-  {0x86d2, 0xecb5b8},
-  {0x86d3, 0xecb5b9},
-  {0x86d4, 0xebaf97},
-  {0x86d5, 0xecb5ba},
-  {0x86d6, 0xecb5bb},
-  {0x86d7, 0xecb5bc},
-  {0x86d8, 0xef8b95},
-  {0x86d9, 0xecb79c},
-  {0x86da, 0xecb5bd},
-  {0x86db, 0xed9bab},
-  {0x86dc, 0xecb5be},
-  {0x86dd, 0xecb680},
-  {0x86de, 0xef8b92},
-  {0x86df, 0xef8b94},
-  {0x86e0, 0xecb681},
-  {0x86e1, 0xecb682},
-  {0x86e2, 0xecb683},
-  {0x86e3, 0xecb684},
-  {0x86e4, 0xeba3b2},
-  {0x86e5, 0xecb685},
-  {0x86e6, 0xecb686},
-  {0x86e7, 0xecb687},
-  {0x86e8, 0xecb688},
-  {0x86e9, 0xef8b8b},
-  {0x86ea, 0xecb689},
-  {0x86eb, 0xecb68a},
-  {0x86ec, 0xecb68b},
-  {0x86ed, 0xef8b8e},
-  {0x86ee, 0xec8bb9},
-  {0x86ef, 0xecb68c},
-  {0x86f0, 0xed979d},
-  {0x86f1, 0xef8b8c},
-  {0x86f2, 0xef8b8d},
-  {0x86f3, 0xef8b8f},
-  {0x86f4, 0xef8b93},
-  {0x86f5, 0xecb68d},
-  {0x86f6, 0xecb68e},
-  {0x86f7, 0xecb68f},
-  {0x86f8, 0xef8b99},
-  {0x86f9, 0xed8ebc},
-  {0x86fa, 0xecb690},
-  {0x86fb, 0xecb691},
-  {0x86fc, 0xecb692},
-  {0x86fd, 0xecb693},
-  {0x86fe, 0xeb9baa},
-  {0x86ff, 0xecb694},
-  {0x8700, 0xecabb1},
-  {0x8701, 0xecb695},
-  {0x8702, 0xeb9fa4},
-  {0x8703, 0xef8b97},
-  {0x8704, 0xecb696},
-  {0x8705, 0xecb697},
-  {0x8706, 0xecb698},
-  {0x8707, 0xef8b98},
-  {0x8708, 0xef8b9a},
-  {0x8709, 0xef8b9d},
-  {0x870a, 0xef8b9b},
-  {0x870b, 0xecb699},
-  {0x870c, 0xecb69a},
-  {0x870d, 0xef8b9c},
-  {0x870e, 0xecb69b},
-  {0x870f, 0xecb69c},
-  {0x8710, 0xecb69d},
-  {0x8711, 0xecb69e},
-  {0x8712, 0xed8791},
-  {0x8713, 0xef8b91},
-  {0x8714, 0xecb69f},
-  {0x8715, 0xecb789},
-  {0x8716, 0xecb6a0},
-  {0x8717, 0xecbb8f},
-  {0x8718, 0xed9aa9},
-  {0x8719, 0xecb980},
-  {0x871a, 0xef8ba3},
-  {0x871b, 0xecb981},
-  {0x871c, 0xec8f9b},
-  {0x871d, 0xecb982},
-  {0x871e, 0xef8ba0},
-  {0x871f, 0xecb983},
-  {0x8720, 0xecb984},
-  {0x8721, 0xec82af},
-  {0x8722, 0xef8bac},
-  {0x8723, 0xef8b9e},
-  {0x8724, 0xecb985},
-  {0x8725, 0xef8ba1},
-  {0x8726, 0xecb986},
-  {0x8727, 0xecb987},
-  {0x8728, 0xecb988},
-  {0x8729, 0xef8ba8},
-  {0x872a, 0xecb989},
-  {0x872b, 0xecb98a},
-  {0x872c, 0xecb98b},
-  {0x872d, 0xecb98c},
-  {0x872e, 0xef8ba2},
-  {0x872f, 0xecb98d},
-  {0x8730, 0xecb98e},
-  {0x8731, 0xef8ba7},
-  {0x8732, 0xecb98f},
-  {0x8733, 0xecb990},
-  {0x8734, 0xef8ba6},
-  {0x8735, 0xecb991},
-  {0x8736, 0xecb992},
-  {0x8737, 0xef8ba9},
-  {0x8738, 0xecb993},
-  {0x8739, 0xecb994},
-  {0x873a, 0xecb995},
-  {0x873b, 0xef8b9f},
-  {0x873c, 0xecb996},
-  {0x873d, 0xecb997},
-  {0x873e, 0xef8ba4},
-  {0x873f, 0xef8baa},
-  {0x8740, 0xecb998},
-  {0x8741, 0xecb999},
-  {0x8742, 0xecb99a},
-  {0x8743, 0xecb99b},
-  {0x8744, 0xecb99c},
-  {0x8745, 0xecb99d},
-  {0x8746, 0xecb99e},
-  {0x8747, 0xed8eac},
-  {0x8748, 0xef8ba5},
-  {0x8749, 0xeb8bb5},
-  {0x874a, 0xecb99f},
-  {0x874b, 0xecb9a0},
-  {0x874c, 0xef8bb2},
-  {0x874d, 0xecb9a1},
-  {0x874e, 0xed82ab},
-  {0x874f, 0xecb9a2},
-  {0x8750, 0xecb9a3},
-  {0x8751, 0xecb9a4},
-  {0x8752, 0xecb9a5},
-  {0x8753, 0xef8bb5},
-  {0x8754, 0xecb9a6},
-  {0x8755, 0xecb9a7},
-  {0x8756, 0xecb9a8},
-  {0x8757, 0xebaf88},
-  {0x8758, 0xecb9a9},
-  {0x8759, 0xef8bb9},
-  {0x875a, 0xecb9aa},
-  {0x875b, 0xecb9ab},
-  {0x875c, 0xecb9ac},
-  {0x875d, 0xecb9ad},
-  {0x875e, 0xecb9ae},
-  {0x875f, 0xecb9af},
-  {0x8760, 0xef8bb0},
-  {0x8761, 0xecb9b0},
-  {0x8762, 0xecb9b1},
-  {0x8763, 0xef8bb6},
-  {0x8764, 0xef8bb8},
-  {0x8765, 0xef8bba},
-  {0x8766, 0xecb9b2},
-  {0x8767, 0xecb9b3},
-  {0x8768, 0xecb9b4},
-  {0x8769, 0xecb9b5},
-  {0x876a, 0xecb9b6},
-  {0x876b, 0xecb9b7},
-  {0x876c, 0xecb9b8},
-  {0x876d, 0xecb9b9},
-  {0x876e, 0xef8bb3},
-  {0x876f, 0xecb9ba},
-  {0x8770, 0xef8bb1},
-  {0x8771, 0xecb9bb},
-  {0x8772, 0xecb9bc},
-  {0x8773, 0xecb9bd},
-  {0x8774, 0xebabbb},
-  {0x8775, 0xecb9be},
-  {0x8776, 0xeb97bb},
-  {0x8777, 0xecba80},
-  {0x8778, 0xecba81},
-  {0x8779, 0xecba82},
-  {0x877a, 0xecba83},
-  {0x877b, 0xef8baf},
-  {0x877c, 0xef8bb7},
-  {0x877d, 0xef8bad},
-  {0x877e, 0xef8bae},
-  {0x877f, 0xecba84},
-  {0x8780, 0xecba85},
-  {0x8781, 0xecba86},
-  {0x8782, 0xef8bab},
-  {0x8783, 0xef8ea6},
-  {0x8784, 0xecba87},
-  {0x8785, 0xef8ea3},
-  {0x8786, 0xecba88},
-  {0x8787, 0xecba89},
-  {0x8788, 0xef8ea2},
-  {0x8789, 0xecba8a},
-  {0x878a, 0xecba8b},
-  {0x878b, 0xef8bb4},
-  {0x878c, 0xecba8c},
-  {0x878d, 0xeca39a},
-  {0x878e, 0xecba8d},
-  {0x878f, 0xecba8e},
-  {0x8790, 0xecba8f},
-  {0x8791, 0xecba90},
-  {0x8792, 0xecba91},
-  {0x8793, 0xef8bbb},
-  {0x8794, 0xecba92},
-  {0x8795, 0xecba93},
-  {0x8796, 0xecba94},
-  {0x8797, 0xef8ea5},
-  {0x8798, 0xecba95},
-  {0x8799, 0xecba96},
-  {0x879a, 0xecba97},
-  {0x879b, 0xecba98},
-  {0x879c, 0xecba99},
-  {0x879d, 0xecba9a},
-  {0x879e, 0xecba9b},
-  {0x879f, 0xec8fb8},
-  {0x87a0, 0xecba9c},
-  {0x87a1, 0xecba9d},
-  {0x87a2, 0xecba9e},
-  {0x87a3, 0xecba9f},
-  {0x87a4, 0xecbaa0},
-  {0x87a5, 0xecbd80},
-  {0x87a6, 0xecbd81},
-  {0x87a7, 0xecbd82},
-  {0x87a8, 0xef8bbd},
-  {0x87a9, 0xecbd83},
-  {0x87aa, 0xecbd84},
-  {0x87ab, 0xef8ea7},
-  {0x87ac, 0xef8ea9},
-  {0x87ad, 0xef8ea4},
-  {0x87ae, 0xecbd85},
-  {0x87af, 0xef8bbc},
-  {0x87b0, 0xecbd86},
-  {0x87b1, 0xecbd87},
-  {0x87b2, 0xecbd88},
-  {0x87b3, 0xef8eab},
-  {0x87b4, 0xecbd89},
-  {0x87b5, 0xef8eaa},
-  {0x87b6, 0xecbd8a},
-  {0x87b7, 0xecbd8b},
-  {0x87b8, 0xecbd8c},
-  {0x87b9, 0xecbd8d},
-  {0x87ba, 0xec8b9d},
-  {0x87bb, 0xecbd8e},
-  {0x87bc, 0xecbd8f},
-  {0x87bd, 0xef8eae},
-  {0x87be, 0xecbd90},
-  {0x87bf, 0xecbd91},
-  {0x87c0, 0xef8eb0},
-  {0x87c1, 0xecbd92},
-  {0x87c2, 0xecbd93},
-  {0x87c3, 0xecbd94},
-  {0x87c4, 0xecbd95},
-  {0x87c5, 0xecbd96},
-  {0x87c6, 0xef8ea1},
-  {0x87c7, 0xecbd97},
-  {0x87c8, 0xecbd98},
-  {0x87c9, 0xecbd99},
-  {0x87ca, 0xef8eb1},
-  {0x87cb, 0xef8eac},
-  {0x87cc, 0xecbd9a},
-  {0x87cd, 0xecbd9b},
-  {0x87ce, 0xecbd9c},
-  {0x87cf, 0xecbd9d},
-  {0x87d0, 0xecbd9e},
-  {0x87d1, 0xef8eaf},
-  {0x87d2, 0xef8bbe},
-  {0x87d3, 0xef8ead},
-  {0x87d4, 0xecbd9f},
-  {0x87d5, 0xecbda0},
-  {0x87d6, 0xecbda1},
-  {0x87d7, 0xecbda2},
-  {0x87d8, 0xecbda3},
-  {0x87d9, 0xecbda4},
-  {0x87da, 0xecbda5},
-  {0x87db, 0xef8eb2},
-  {0x87dc, 0xecbda6},
-  {0x87dd, 0xecbda7},
-  {0x87de, 0xecbda8},
-  {0x87df, 0xecbda9},
-  {0x87e0, 0xef8eb4},
-  {0x87e1, 0xecbdaa},
-  {0x87e2, 0xecbdab},
-  {0x87e3, 0xecbdac},
-  {0x87e4, 0xecbdad},
-  {0x87e5, 0xef8ea8},
-  {0x87e6, 0xecbdae},
-  {0x87e7, 0xecbdaf},
-  {0x87e8, 0xecbdb0},
-  {0x87e9, 0xecbdb1},
-  {0x87ea, 0xef8eb3},
-  {0x87eb, 0xecbdb2},
-  {0x87ec, 0xecbdb3},
-  {0x87ed, 0xecbdb4},
-  {0x87ee, 0xef8eb5},
-  {0x87ef, 0xecbdb5},
-  {0x87f0, 0xecbdb6},
-  {0x87f1, 0xecbdb7},
-  {0x87f2, 0xecbdb8},
-  {0x87f3, 0xecbdb9},
-  {0x87f4, 0xecbdba},
-  {0x87f5, 0xecbdbb},
-  {0x87f6, 0xecbdbc},
-  {0x87f7, 0xecbdbd},
-  {0x87f8, 0xecbdbe},
-  {0x87f9, 0xed82b7},
-  {0x87fa, 0xecbe80},
-  {0x87fb, 0xecbe81},
-  {0x87fc, 0xecbe82},
-  {0x87fd, 0xecbe83},
-  {0x87fe, 0xef8eb8},
-  {0x87ff, 0xecbe84},
-  {0x8800, 0xecbe85},
-  {0x8801, 0xecbe86},
-  {0x8802, 0xecbe87},
-  {0x8803, 0xeda7b9},
-  {0x8804, 0xecbe88},
-  {0x8805, 0xecbe89},
-  {0x8806, 0xecbe8a},
-  {0x8807, 0xecbe8b},
-  {0x8808, 0xecbe8c},
-  {0x8809, 0xecbe8d},
-  {0x880a, 0xef8eb9},
-  {0x880b, 0xecbe8e},
-  {0x880c, 0xecbe8f},
-  {0x880d, 0xecbe90},
-  {0x880e, 0xecbe91},
-  {0x880f, 0xecbe92},
-  {0x8810, 0xecbe93},
-  {0x8811, 0xecbe94},
-  {0x8812, 0xecbe95},
-  {0x8813, 0xef8eb7},
-  {0x8814, 0xecbe96},
-  {0x8815, 0xeca3a4},
-  {0x8816, 0xef8eb6},
-  {0x8817, 0xecbe97},
-  {0x8818, 0xecbe98},
-  {0x8819, 0xecbe99},
-  {0x881a, 0xecbe9a},
-  {0x881b, 0xef8eba},
-  {0x881c, 0xecbe9b},
-  {0x881d, 0xecbe9c},
-  {0x881e, 0xecbe9d},
-  {0x881f, 0xecbe9e},
-  {0x8820, 0xecbe9f},
-  {0x8821, 0xef8ebb},
-  {0x8822, 0xeb9380},
-  {0x8823, 0xecbea0},
-  {0x8824, 0xed8180},
-  {0x8825, 0xed8181},
-  {0x8826, 0xed8182},
-  {0x8827, 0xed8183},
-  {0x8828, 0xed8184},
-  {0x8829, 0xed8185},
-  {0x882a, 0xed8186},
-  {0x882b, 0xed8187},
-  {0x882c, 0xed8188},
-  {0x882d, 0xed8189},
-  {0x882e, 0xed818a},
-  {0x882f, 0xed818b},
-  {0x8830, 0xed818c},
-  {0x8831, 0xed818d},
-  {0x8832, 0xeebb83},
-  {0x8833, 0xed818e},
-  {0x8834, 0xed818f},
-  {0x8835, 0xed8190},
-  {0x8836, 0xed8191},
-  {0x8837, 0xed8192},
-  {0x8838, 0xed8193},
-  {0x8839, 0xef8ebc},
-  {0x883a, 0xed8194},
-  {0x883b, 0xed8195},
-  {0x883c, 0xef8ebd},
-  {0x883d, 0xed8196},
-  {0x883e, 0xed8197},
-  {0x883f, 0xed8198},
-  {0x8840, 0xed86aa},
-  {0x8841, 0xed8199},
-  {0x8842, 0xed819a},
-  {0x8843, 0xed819b},
-  {0x8844, 0xef92ac},
-  {0x8845, 0xed8386},
-  {0x8846, 0xed819c},
-  {0x8847, 0xed819d},
-  {0x8848, 0xed819e},
-  {0x8849, 0xed819f},
-  {0x884a, 0xed81a0},
-  {0x884b, 0xed81a1},
-  {0x884c, 0xed8390},
-  {0x884d, 0xed879c},
-  {0x884e, 0xed81a2},
-  {0x884f, 0xed81a3},
-  {0x8850, 0xed81a4},
-  {0x8851, 0xed81a5},
-  {0x8852, 0xed81a6},
-  {0x8853, 0xed81a7},
-  {0x8854, 0xecbf8e},
-  {0x8855, 0xed81a8},
-  {0x8856, 0xed81a9},
-  {0x8857, 0xebb796},
-  {0x8858, 0xed81aa},
-  {0x8859, 0xed8783},
-  {0x885a, 0xed81ab},
-  {0x885b, 0xed81ac},
-  {0x885c, 0xed81ad},
-  {0x885d, 0xed81ae},
-  {0x885e, 0xed81af},
-  {0x885f, 0xed81b0},
-  {0x8860, 0xed81b1},
-  {0x8861, 0xebaba2},
-  {0x8862, 0xee87a9},
-  {0x8863, 0xed8b82},
-  {0x8864, 0xef8782},
-  {0x8865, 0xeb8ab9},
-  {0x8866, 0xed81b2},
-  {0x8867, 0xed81b3},
-  {0x8868, 0xeb87ad},
-  {0x8869, 0xef8783},
-  {0x886a, 0xed81b4},
-  {0x886b, 0xeca780},
-  {0x886c, 0xeb8f84},
-  {0x886d, 0xed81b5},
-  {0x886e, 0xeda7b2},
-  {0x886f, 0xed81b6},
-  {0x8870, 0xecaea5},
-  {0x8871, 0xed81b7},
-  {0x8872, 0xef8784},
-  {0x8873, 0xed81b8},
-  {0x8874, 0xed81b9},
-  {0x8875, 0xed81ba},
-  {0x8876, 0xed81bb},
-  {0x8877, 0xed9b94},
-  {0x8878, 0xed81bc},
-  {0x8879, 0xed81bd},
-  {0x887a, 0xed81be},
-  {0x887b, 0xed8280},
-  {0x887c, 0xed8281},
-  {0x887d, 0xef8785},
-  {0x887e, 0xef9380},
-  {0x887f, 0xef8786},
-  {0x8880, 0xed8282},
-  {0x8881, 0xed92ac},
-  {0x8882, 0xef8787},
-  {0x8883, 0xed8283},
-  {0x8884, 0xeb8380},
-  {0x8885, 0xef9381},
-  {0x8886, 0xed8284},
-  {0x8887, 0xed8285},
-  {0x8888, 0xef9382},
-  {0x8889, 0xed8286},
-  {0x888a, 0xed8287},
-  {0x888b, 0xeb93bc},
-  {0x888c, 0xed8288},
-  {0x888d, 0xec979b},
-  {0x888e, 0xed8289},
-  {0x888f, 0xed828a},
-  {0x8890, 0xed828b},
-  {0x8891, 0xed828c},
-  {0x8892, 0xecb2bb},
-  {0x8893, 0xed828d},
-  {0x8894, 0xed828e},
-  {0x8895, 0xed828f},
-  {0x8896, 0xed83a4},
-  {0x8897, 0xed8290},
-  {0x8898, 0xed8291},
-  {0x8899, 0xed8292},
-  {0x889a, 0xed8293},
-  {0x889b, 0xed8294},
-  {0x889c, 0xecb7a0},
-  {0x889d, 0xed8295},
-  {0x889e, 0xed8296},
-  {0x889f, 0xed8297},
-  {0x88a0, 0xed8298},
-  {0x88a1, 0xed8299},
-  {0x88a2, 0xef8788},
-  {0x88a3, 0xed829a},
-  {0x88a4, 0xeda7b3},
-  {0x88a5, 0xed829b},
-  {0x88a6, 0xed829c},
-  {0x88a7, 0xed829d},
-  {0x88a8, 0xed829e},
-  {0x88a9, 0xed829f},
-  {0x88aa, 0xed82a0},
-  {0x88ab, 0xeb86bb},
-  {0x88ac, 0xed8580},
-  {0x88ad, 0xecbeae},
-  {0x88ae, 0xed8581},
-  {0x88af, 0xed8582},
-  {0x88b0, 0xed8583},
-  {0x88b1, 0xeba2a4},
-  {0x88b2, 0xed8584},
-  {0x88b3, 0xed8585},
-  {0x88b4, 0xed8586},
-  {0x88b5, 0xed8587},
-  {0x88b6, 0xed8588},
-  {0x88b7, 0xef878a},
-  {0x88b8, 0xed8589},
-  {0x88b9, 0xed858a},
-  {0x88ba, 0xed858b},
-  {0x88bb, 0xed858c},
-  {0x88bc, 0xef878b},
-  {0x88bd, 0xed858d},
-  {0x88be, 0xed858e},
-  {0x88bf, 0xed858f},
-  {0x88c0, 0xed8590},
-  {0x88c1, 0xeb8b83},
-  {0x88c2, 0xec8791},
-  {0x88c3, 0xed8591},
-  {0x88c4, 0xed8592},
-  {0x88c5, 0xed9eb0},
-  {0x88c6, 0xef8789},
-  {0x88c7, 0xed8593},
-  {0x88c8, 0xed8594},
-  {0x88c9, 0xef878c},
-  {0x88ca, 0xed8595},
-  {0x88cb, 0xed8596},
-  {0x88cc, 0xed8597},
-  {0x88cd, 0xed8598},
-  {0x88ce, 0xef878e},
-  {0x88cf, 0xed8599},
-  {0x88d0, 0xed859a},
-  {0x88d1, 0xed859b},
-  {0x88d2, 0xeda7b6},
-  {0x88d3, 0xed859c},
-  {0x88d4, 0xed8ba1},
-  {0x88d5, 0xed92a3},
-  {0x88d6, 0xed859d},
-  {0x88d7, 0xed859e},
-  {0x88d8, 0xef9383},
-  {0x88d9, 0xeca2b9},
-  {0x88da, 0xed859f},
-  {0x88db, 0xed85a0},
-  {0x88dc, 0xed85a1},
-  {0x88dd, 0xed85a2},
-  {0x88de, 0xed85a3},
-  {0x88df, 0xef9384},
-  {0x88e0, 0xed85a4},
-  {0x88e1, 0xed85a5},
-  {0x88e2, 0xef878d},
-  {0x88e3, 0xef878f},
-  {0x88e4, 0xebbfa3},
-  {0x88e5, 0xef8790},
-  {0x88e6, 0xed85a6},
-  {0x88e7, 0xed85a7},
-  {0x88e8, 0xef8794},
-  {0x88e9, 0xed85a8},
-  {0x88ea, 0xed85a9},
-  {0x88eb, 0xed85aa},
-  {0x88ec, 0xed85ab},
-  {0x88ed, 0xed85ac},
-  {0x88ee, 0xed85ad},
-  {0x88ef, 0xed85ae},
-  {0x88f0, 0xef8796},
-  {0x88f1, 0xef8791},
-  {0x88f2, 0xed85af},
-  {0x88f3, 0xeca791},
-  {0x88f4, 0xec97a1},
-  {0x88f5, 0xed85b0},
-  {0x88f6, 0xed85b1},
-  {0x88f7, 0xed85b2},
-  {0x88f8, 0xec8ba3},
-  {0x88f9, 0xeba7bc},
-  {0x88fa, 0xed85b3},
-  {0x88fb, 0xed85b4},
-  {0x88fc, 0xef8793},
-  {0x88fd, 0xed85b5},
-  {0x88fe, 0xef8795},
-  {0x88ff, 0xed85b6},
-  {0x8900, 0xed85b7},
-  {0x8901, 0xed85b8},
-  {0x8902, 0xeba793},
-  {0x8903, 0xed85b9},
-  {0x8904, 0xed85ba},
-  {0x8905, 0xed85bb},
-  {0x8906, 0xed85bc},
-  {0x8907, 0xed85bd},
-  {0x8908, 0xed85be},
-  {0x8909, 0xed8680},
-  {0x890a, 0xef879b},
-  {0x890b, 0xed8681},
-  {0x890c, 0xed8682},
-  {0x890d, 0xed8683},
-  {0x890e, 0xed8684},
-  {0x890f, 0xed8685},
-  {0x8910, 0xebab96},
-  {0x8911, 0xed8686},
-  {0x8912, 0xeb83bd},
-  {0x8913, 0xef8799},
-  {0x8914, 0xed8687},
-  {0x8915, 0xed8688},
-  {0x8916, 0xed8689},
-  {0x8917, 0xed868a},
-  {0x8918, 0xed868b},
-  {0x8919, 0xef8798},
-  {0x891a, 0xef8792},
-  {0x891b, 0xef879a},
-  {0x891c, 0xed868c},
-  {0x891d, 0xed868d},
-  {0x891e, 0xed868e},
-  {0x891f, 0xed868f},
-  {0x8920, 0xed8690},
-  {0x8921, 0xef8797},
-  {0x8922, 0xed8691},
-  {0x8923, 0xed8692},
-  {0x8924, 0xed8693},
-  {0x8925, 0xeca3ac},
-  {0x8926, 0xed8694},
-  {0x8927, 0xed8695},
-  {0x8928, 0xed8696},
-  {0x8929, 0xed8697},
-  {0x892a, 0xecb78a},
-  {0x892b, 0xef879d},
-  {0x892c, 0xed8698},
-  {0x892d, 0xed8699},
-  {0x892e, 0xed869a},
-  {0x892f, 0xed869b},
-  {0x8930, 0xee96bd},
-  {0x8931, 0xed869c},
-  {0x8932, 0xed869d},
-  {0x8933, 0xed869e},
-  {0x8934, 0xef879c},
-  {0x8935, 0xed869f},
-  {0x8936, 0xef879e},
-  {0x8937, 0xed86a0},
-  {0x8938, 0xed8980},
-  {0x8939, 0xed8981},
-  {0x893a, 0xed8982},
-  {0x893b, 0xed8983},
-  {0x893c, 0xed8984},
-  {0x893d, 0xed8985},
-  {0x893e, 0xed8986},
-  {0x893f, 0xed8987},
-  {0x8940, 0xed8988},
-  {0x8941, 0xef879f},
-  {0x8942, 0xed8989},
-  {0x8943, 0xed898a},
-  {0x8944, 0xecbfa5},
-  {0x8945, 0xed898b},
-  {0x8946, 0xed898c},
-  {0x8947, 0xed898d},
-  {0x8948, 0xed898e},
-  {0x8949, 0xed898f},
-  {0x894a, 0xed8990},
-  {0x894b, 0xed8991},
-  {0x894c, 0xed8992},
-  {0x894d, 0xed8993},
-  {0x894e, 0xed8994},
-  {0x894f, 0xed8995},
-  {0x8950, 0xed8996},
-  {0x8951, 0xed8997},
-  {0x8952, 0xed8998},
-  {0x8953, 0xed8999},
-  {0x8954, 0xed899a},
-  {0x8955, 0xed899b},
-  {0x8956, 0xed899c},
-  {0x8957, 0xed899d},
-  {0x8958, 0xed899e},
-  {0x8959, 0xed899f},
-  {0x895a, 0xed89a0},
-  {0x895b, 0xed89a1},
-  {0x895c, 0xed89a2},
-  {0x895d, 0xed89a3},
-  {0x895e, 0xef9385},
-  {0x895f, 0xebb7b3},
-  {0x8960, 0xed89a4},
-  {0x8961, 0xed89a5},
-  {0x8962, 0xed89a6},
-  {0x8963, 0xed89a7},
-  {0x8964, 0xed89a8},
-  {0x8965, 0xed89a9},
-  {0x8966, 0xef87a0},
-  {0x8967, 0xed89aa},
-  {0x8968, 0xed89ab},
-  {0x8969, 0xed89ac},
-  {0x896a, 0xed89ad},
-  {0x896b, 0xed89ae},
-  {0x896c, 0xed89af},
-  {0x896d, 0xed89b0},
-  {0x896e, 0xed89b1},
-  {0x896f, 0xed89b2},
-  {0x8970, 0xed89b3},
-  {0x8971, 0xed89b4},
-  {0x8972, 0xed89b5},
-  {0x8973, 0xed89b6},
-  {0x8974, 0xed89b7},
-  {0x8975, 0xed89b8},
-  {0x8976, 0xed89b9},
-  {0x8977, 0xed89ba},
-  {0x8978, 0xed89bb},
-  {0x8979, 0xed89bc},
-  {0x897a, 0xed89bd},
-  {0x897b, 0xef87a1},
-  {0x897c, 0xed89be},
-  {0x897d, 0xed8a80},
-  {0x897e, 0xed8a81},
-  {0x897f, 0xecbbb7},
-  {0x8980, 0xed8a82},
-  {0x8981, 0xed8aaa},
-  {0x8982, 0xed8a83},
-  {0x8983, 0xef87bb},
-  {0x8984, 0xed8a84},
-  {0x8985, 0xed8a85},
-  {0x8986, 0xeba2b2},
-  {0x8987, 0xed8a86},
-  {0x8988, 0xed8a87},
-  {0x8989, 0xed8a88},
-  {0x898a, 0xed8a89},
-  {0x898b, 0xed8a8a},
-  {0x898c, 0xed8a8b},
-  {0x898d, 0xed8a8c},
-  {0x898e, 0xed8a8d},
-  {0x898f, 0xed8a8e},
-  {0x8990, 0xed8a8f},
-  {0x8991, 0xed8a90},
-  {0x8992, 0xed8a91},
-  {0x8993, 0xed8a92},
-  {0x8994, 0xed8a93},
-  {0x8995, 0xed8a94},
-  {0x8996, 0xed8a95},
-  {0x8997, 0xed8a96},
-  {0x8998, 0xed8a97},
-  {0x8999, 0xed8a98},
-  {0x899a, 0xed8a99},
-  {0x899b, 0xed8a9a},
-  {0x899c, 0xed8a9b},
-  {0x899d, 0xed8a9c},
-  {0x899e, 0xed8a9d},
-  {0x899f, 0xed8a9e},
-  {0x89a0, 0xed8a9f},
-  {0x89a1, 0xed8aa0},
-  {0x89a2, 0xed8d80},
-  {0x89a3, 0xed8d81},
-  {0x89a4, 0xed8d82},
-  {0x89a5, 0xed8d83},
-  {0x89a6, 0xed8d84},
-  {0x89a7, 0xed8d85},
-  {0x89a8, 0xed8d86},
-  {0x89a9, 0xed8d87},
-  {0x89aa, 0xed8d88},
-  {0x89ab, 0xed8d89},
-  {0x89ac, 0xed8d8a},
-  {0x89ad, 0xed8d8b},
-  {0x89ae, 0xed8d8c},
-  {0x89af, 0xed8d8d},
-  {0x89b0, 0xed8d8e},
-  {0x89b1, 0xed8d8f},
-  {0x89b2, 0xed8d90},
-  {0x89b3, 0xed8d91},
-  {0x89b4, 0xed8d92},
-  {0x89b5, 0xed8d93},
-  {0x89b6, 0xed8d94},
-  {0x89b7, 0xed8d95},
-  {0x89b8, 0xed8d96},
-  {0x89b9, 0xed8d97},
-  {0x89ba, 0xed8d98},
-  {0x89bb, 0xed8d99},
-  {0x89bc, 0xed8d9a},
-  {0x89bd, 0xed8d9b},
-  {0x89be, 0xed8d9c},
-  {0x89bf, 0xed8d9d},
-  {0x89c0, 0xed8d9e},
-  {0x89c1, 0xebb3bb},
-  {0x89c2, 0xeba79b},
-  {0x89c3, 0xed8d9f},
-  {0x89c4, 0xeba7a6},
-  {0x89c5, 0xec8f99},
-  {0x89c6, 0xecab93},
-  {0x89c7, 0xeeaba8},
-  {0x89c8, 0xec8380},
-  {0x89c9, 0xebbbb5},
-  {0x89ca, 0xeeaba9},
-  {0x89cb, 0xeeabaa},
-  {0x89cc, 0xeeabab},
-  {0x89cd, 0xed8da0},
-  {0x89ce, 0xeeabac},
-  {0x89cf, 0xeeabad},
-  {0x89d0, 0xeeabae},
-  {0x89d1, 0xeeabaf},
-  {0x89d2, 0xebb787},
-  {0x89d3, 0xed8da1},
-  {0x89d4, 0xed8da2},
-  {0x89d5, 0xed8da3},
-  {0x89d6, 0xef97bb},
-  {0x89d7, 0xed8da4},
-  {0x89d8, 0xed8da5},
-  {0x89d9, 0xed8da6},
-  {0x89da, 0xef97bd},
-  {0x89db, 0xed8da7},
-  {0x89dc, 0xef97be},
-  {0x89dd, 0xed8da8},
-  {0x89de, 0xef97bc},
-  {0x89df, 0xed8da9},
-  {0x89e0, 0xed8daa},
-  {0x89e1, 0xed8dab},
-  {0x89e2, 0xed8dac},
-  {0x89e3, 0xebb7a2},
-  {0x89e4, 0xed8dad},
-  {0x89e5, 0xef9aa1},
-  {0x89e6, 0xeb92a5},
-  {0x89e7, 0xed8dae},
-  {0x89e8, 0xed8daf},
-  {0x89e9, 0xed8db0},
-  {0x89ea, 0xed8db1},
-  {0x89eb, 0xef9aa2},
-  {0x89ec, 0xed8db2},
-  {0x89ed, 0xed8db3},
-  {0x89ee, 0xed8db4},
-  {0x89ef, 0xef9aa3},
-  {0x89f0, 0xed8db5},
-  {0x89f1, 0xed8db6},
-  {0x89f2, 0xed8db7},
-  {0x89f3, 0xeeb2b2},
-  {0x89f4, 0xed8db8},
-  {0x89f5, 0xed8db9},
-  {0x89f6, 0xed8dba},
-  {0x89f7, 0xed8dbb},
-  {0x89f8, 0xed8dbc},
-  {0x89f9, 0xed8dbd},
-  {0x89fa, 0xed8dbe},
-  {0x89fb, 0xed8e80},
-  {0x89fc, 0xed8e81},
-  {0x89fd, 0xed8e82},
-  {0x89fe, 0xed8e83},
-  {0x89ff, 0xed8e84},
-  {0x8a00, 0xed8794},
-  {0x8a01, 0xed8e85},
-  {0x8a02, 0xed8e86},
-  {0x8a03, 0xed8e87},
-  {0x8a04, 0xed8e88},
-  {0x8a05, 0xed8e89},
-  {0x8a06, 0xed8e8a},
-  {0x8a07, 0xeda7aa},
-  {0x8a08, 0xed8e8b},
-  {0x8a09, 0xed8e8c},
-  {0x8a0a, 0xed8e8d},
-  {0x8a0b, 0xed8e8e},
-  {0x8a0c, 0xed8e8f},
-  {0x8a0d, 0xed8e90},
-  {0x8a0e, 0xed8e91},
-  {0x8a0f, 0xed8e92},
-  {0x8a10, 0xed8e93},
-  {0x8a11, 0xed8e94},
-  {0x8a12, 0xed8e95},
-  {0x8a13, 0xed8e96},
-  {0x8a14, 0xed8e97},
-  {0x8a15, 0xed8e98},
-  {0x8a16, 0xed8e99},
-  {0x8a17, 0xed8e9a},
-  {0x8a18, 0xed8e9b},
-  {0x8a19, 0xed8e9c},
-  {0x8a1a, 0xed8e9d},
-  {0x8a1b, 0xed8e9e},
-  {0x8a1c, 0xed8e9f},
-  {0x8a1d, 0xed8ea0},
-  {0x8a1e, 0xed9180},
-  {0x8a1f, 0xed9181},
-  {0x8a20, 0xed9182},
-  {0x8a21, 0xed9183},
-  {0x8a22, 0xed9184},
-  {0x8a23, 0xed9185},
-  {0x8a24, 0xed9186},
-  {0x8a25, 0xed9187},
-  {0x8a26, 0xed9188},
-  {0x8a27, 0xed9189},
-  {0x8a28, 0xed918a},
-  {0x8a29, 0xed918b},
-  {0x8a2a, 0xed918c},
-  {0x8a2b, 0xed918d},
-  {0x8a2c, 0xed918e},
-  {0x8a2d, 0xed918f},
-  {0x8a2e, 0xed9190},
-  {0x8a2f, 0xed9191},
-  {0x8a30, 0xed9192},
-  {0x8a31, 0xed9193},
-  {0x8a32, 0xed9194},
-  {0x8a33, 0xed9195},
-  {0x8a34, 0xed9196},
-  {0x8a35, 0xed9197},
-  {0x8a36, 0xed9198},
-  {0x8a37, 0xed9199},
-  {0x8a38, 0xed919a},
-  {0x8a39, 0xed919b},
-  {0x8a3a, 0xed919c},
-  {0x8a3b, 0xed919d},
-  {0x8a3c, 0xed919e},
-  {0x8a3d, 0xed919f},
-  {0x8a3e, 0xef9aa4},
-  {0x8a3f, 0xed91a0},
-  {0x8a40, 0xed91a1},
-  {0x8a41, 0xed91a2},
-  {0x8a42, 0xed91a3},
-  {0x8a43, 0xed91a4},
-  {0x8a44, 0xed91a5},
-  {0x8a45, 0xed91a6},
-  {0x8a46, 0xed91a7},
-  {0x8a47, 0xed91a8},
-  {0x8a48, 0xeebaba},
-  {0x8a49, 0xed91a9},
-  {0x8a4a, 0xed91aa},
-  {0x8a4b, 0xed91ab},
-  {0x8a4c, 0xed91ac},
-  {0x8a4d, 0xed91ad},
-  {0x8a4e, 0xed91ae},
-  {0x8a4f, 0xed91af},
-  {0x8a50, 0xed91b0},
-  {0x8a51, 0xed91b1},
-  {0x8a52, 0xed91b2},
-  {0x8a53, 0xed91b3},
-  {0x8a54, 0xed91b4},
-  {0x8a55, 0xed91b5},
-  {0x8a56, 0xed91b6},
-  {0x8a57, 0xed91b7},
-  {0x8a58, 0xed91b8},
-  {0x8a59, 0xed91b9},
-  {0x8a5a, 0xed91ba},
-  {0x8a5b, 0xed91bb},
-  {0x8a5c, 0xed91bc},
-  {0x8a5d, 0xed91bd},
-  {0x8a5e, 0xed91be},
-  {0x8a5f, 0xed9280},
-  {0x8a60, 0xed9281},
-  {0x8a61, 0xed9282},
-  {0x8a62, 0xed9283},
-  {0x8a63, 0xed9284},
-  {0x8a64, 0xed9285},
-  {0x8a65, 0xed9286},
-  {0x8a66, 0xed9287},
-  {0x8a67, 0xed9288},
-  {0x8a68, 0xed9289},
-  {0x8a69, 0xed928a},
-  {0x8a6a, 0xed928b},
-  {0x8a6b, 0xed928c},
-  {0x8a6c, 0xed928d},
-  {0x8a6d, 0xed928e},
-  {0x8a6e, 0xed928f},
-  {0x8a6f, 0xed9290},
-  {0x8a70, 0xed9291},
-  {0x8a71, 0xed9292},
-  {0x8a72, 0xed9293},
-  {0x8a73, 0xed9294},
-  {0x8a74, 0xed9295},
-  {0x8a75, 0xed9296},
-  {0x8a76, 0xed9297},
-  {0x8a77, 0xed9298},
-  {0x8a78, 0xed9299},
-  {0x8a79, 0xed96b2},
-  {0x8a7a, 0xed929a},
-  {0x8a7b, 0xed929b},
-  {0x8a7c, 0xed929c},
-  {0x8a7d, 0xed929d},
-  {0x8a7e, 0xed929e},
-  {0x8a7f, 0xed929f},
-  {0x8a80, 0xed92a0},
-  {0x8a81, 0xed9580},
-  {0x8a82, 0xed9581},
-  {0x8a83, 0xed9582},
-  {0x8a84, 0xed9583},
-  {0x8a85, 0xed9584},
-  {0x8a86, 0xed9585},
-  {0x8a87, 0xed9586},
-  {0x8a88, 0xed9587},
-  {0x8a89, 0xed8fbe},
-  {0x8a8a, 0xecb39c},
-  {0x8a8b, 0xed9588},
-  {0x8a8c, 0xed9589},
-  {0x8a8d, 0xed958a},
-  {0x8a8e, 0xed958b},
-  {0x8a8f, 0xed958c},
-  {0x8a90, 0xed958d},
-  {0x8a91, 0xed958e},
-  {0x8a92, 0xed958f},
-  {0x8a93, 0xecab84},
-  {0x8a94, 0xed9590},
-  {0x8a95, 0xed9591},
-  {0x8a96, 0xed9592},
-  {0x8a97, 0xed9593},
-  {0x8a98, 0xed9594},
-  {0x8a99, 0xed9595},
-  {0x8a9a, 0xed9596},
-  {0x8a9b, 0xed9597},
-  {0x8a9c, 0xed9598},
-  {0x8a9d, 0xed9599},
-  {0x8a9e, 0xed959a},
-  {0x8a9f, 0xed959b},
-  {0x8aa0, 0xed959c},
-  {0x8aa1, 0xed959d},
-  {0x8aa2, 0xed959e},
-  {0x8aa3, 0xed959f},
-  {0x8aa4, 0xed95a0},
-  {0x8aa5, 0xed95a1},
-  {0x8aa6, 0xed95a2},
-  {0x8aa7, 0xed95a3},
-  {0x8aa8, 0xed95a4},
-  {0x8aa9, 0xed95a5},
-  {0x8aaa, 0xed95a6},
-  {0x8aab, 0xed95a7},
-  {0x8aac, 0xed95a8},
-  {0x8aad, 0xed95a9},
-  {0x8aae, 0xed95aa},
-  {0x8aaf, 0xed95ab},
-  {0x8ab0, 0xed95ac},
-  {0x8ab1, 0xed95ad},
-  {0x8ab2, 0xed95ae},
-  {0x8ab3, 0xed95af},
-  {0x8ab4, 0xed95b0},
-  {0x8ab5, 0xed95b1},
-  {0x8ab6, 0xed95b2},
-  {0x8ab7, 0xed95b3},
-  {0x8ab8, 0xed95b4},
-  {0x8ab9, 0xed95b5},
-  {0x8aba, 0xed95b6},
-  {0x8abb, 0xed95b7},
-  {0x8abc, 0xed95b8},
-  {0x8abd, 0xed95b9},
-  {0x8abe, 0xed95ba},
-  {0x8abf, 0xed95bb},
-  {0x8ac0, 0xed95bc},
-  {0x8ac1, 0xed95bd},
-  {0x8ac2, 0xed95be},
-  {0x8ac3, 0xed9680},
-  {0x8ac4, 0xed9681},
-  {0x8ac5, 0xed9682},
-  {0x8ac6, 0xed9683},
-  {0x8ac7, 0xed9684},
-  {0x8ac8, 0xed9685},
-  {0x8ac9, 0xed9686},
-  {0x8aca, 0xed9687},
-  {0x8acb, 0xed9688},
-  {0x8acc, 0xed9689},
-  {0x8acd, 0xed968a},
-  {0x8ace, 0xed968b},
-  {0x8acf, 0xed968c},
-  {0x8ad0, 0xed968d},
-  {0x8ad1, 0xed968e},
-  {0x8ad2, 0xed968f},
-  {0x8ad3, 0xed9690},
-  {0x8ad4, 0xed9691},
-  {0x8ad5, 0xed9692},
-  {0x8ad6, 0xed9693},
-  {0x8ad7, 0xed9694},
-  {0x8ad8, 0xed9695},
-  {0x8ad9, 0xed9696},
-  {0x8ada, 0xed9697},
-  {0x8adb, 0xed9698},
-  {0x8adc, 0xed9699},
-  {0x8add, 0xed969a},
-  {0x8ade, 0xed969b},
-  {0x8adf, 0xed969c},
-  {0x8ae0, 0xed969d},
-  {0x8ae1, 0xed969e},
-  {0x8ae2, 0xed969f},
-  {0x8ae3, 0xed96a0},
-  {0x8ae4, 0xed9980},
-  {0x8ae5, 0xed9981},
-  {0x8ae6, 0xed9982},
-  {0x8ae7, 0xed9983},
-  {0x8ae8, 0xed9984},
-  {0x8ae9, 0xed9985},
-  {0x8aea, 0xed9986},
-  {0x8aeb, 0xed9987},
-  {0x8aec, 0xed9988},
-  {0x8aed, 0xed9989},
-  {0x8aee, 0xed998a},
-  {0x8aef, 0xed998b},
-  {0x8af0, 0xed998c},
-  {0x8af1, 0xed998d},
-  {0x8af2, 0xed998e},
-  {0x8af3, 0xed998f},
-  {0x8af4, 0xed9990},
-  {0x8af5, 0xed9991},
-  {0x8af6, 0xed9992},
-  {0x8af7, 0xed9993},
-  {0x8af8, 0xed9994},
-  {0x8af9, 0xed9995},
-  {0x8afa, 0xed9996},
-  {0x8afb, 0xed9997},
-  {0x8afc, 0xed9998},
-  {0x8afd, 0xed9999},
-  {0x8afe, 0xed999a},
-  {0x8aff, 0xed999b},
-  {0x8b00, 0xed999c},
-  {0x8b01, 0xed999d},
-  {0x8b02, 0xed999e},
-  {0x8b03, 0xed999f},
-  {0x8b04, 0xed99a0},
-  {0x8b05, 0xed99a1},
-  {0x8b06, 0xed99a2},
-  {0x8b07, 0xee9780},
-  {0x8b08, 0xed99a3},
-  {0x8b09, 0xed99a4},
-  {0x8b0a, 0xed99a5},
-  {0x8b0b, 0xed99a6},
-  {0x8b0c, 0xed99a7},
-  {0x8b0d, 0xed99a8},
-  {0x8b0e, 0xed99a9},
-  {0x8b0f, 0xed99aa},
-  {0x8b10, 0xed99ab},
-  {0x8b11, 0xed99ac},
-  {0x8b12, 0xed99ad},
-  {0x8b13, 0xed99ae},
-  {0x8b14, 0xed99af},
-  {0x8b15, 0xed99b0},
-  {0x8b16, 0xed99b1},
-  {0x8b17, 0xed99b2},
-  {0x8b18, 0xed99b3},
-  {0x8b19, 0xed99b4},
-  {0x8b1a, 0xed99b5},
-  {0x8b1b, 0xed99b6},
-  {0x8b1c, 0xed99b7},
-  {0x8b1d, 0xed99b8},
-  {0x8b1e, 0xed99b9},
-  {0x8b1f, 0xed99ba},
-  {0x8b20, 0xed99bb},
-  {0x8b21, 0xed99bc},
-  {0x8b22, 0xed99bd},
-  {0x8b23, 0xed99be},
-  {0x8b24, 0xed9a80},
-  {0x8b25, 0xed9a81},
-  {0x8b26, 0xef9aa5},
-  {0x8b27, 0xed9a82},
-  {0x8b28, 0xed9a83},
-  {0x8b29, 0xed9a84},
-  {0x8b2a, 0xed9a85},
-  {0x8b2b, 0xed9a86},
-  {0x8b2c, 0xed9a87},
-  {0x8b2d, 0xed9a88},
-  {0x8b2e, 0xed9a89},
-  {0x8b2f, 0xed9a8a},
-  {0x8b30, 0xed9a8b},
-  {0x8b31, 0xed9a8c},
-  {0x8b32, 0xed9a8d},
-  {0x8b33, 0xed9a8e},
-  {0x8b34, 0xed9a8f},
-  {0x8b35, 0xed9a90},
-  {0x8b36, 0xed9a91},
-  {0x8b37, 0xed9a92},
-  {0x8b38, 0xed9a93},
-  {0x8b39, 0xed9a94},
-  {0x8b3a, 0xed9a95},
-  {0x8b3b, 0xed9a96},
-  {0x8b3c, 0xed9a97},
-  {0x8b3d, 0xed9a98},
-  {0x8b3e, 0xed9a99},
-  {0x8b3f, 0xed9a9a},
-  {0x8b40, 0xed9a9b},
-  {0x8b41, 0xed9a9c},
-  {0x8b42, 0xed9a9d},
-  {0x8b43, 0xed9a9e},
-  {0x8b44, 0xed9a9f},
-  {0x8b45, 0xed9aa0},
-  {0x8b46, 0xed9d80},
-  {0x8b47, 0xed9d81},
-  {0x8b48, 0xed9d82},
-  {0x8b49, 0xed9d83},
-  {0x8b4a, 0xed9d84},
-  {0x8b4b, 0xed9d85},
-  {0x8b4c, 0xed9d86},
-  {0x8b4d, 0xed9d87},
-  {0x8b4e, 0xed9d88},
-  {0x8b4f, 0xed9d89},
-  {0x8b50, 0xed9d8a},
-  {0x8b51, 0xed9d8b},
-  {0x8b52, 0xed9d8c},
-  {0x8b53, 0xed9d8d},
-  {0x8b54, 0xed9d8e},
-  {0x8b55, 0xed9d8f},
-  {0x8b56, 0xed9d90},
-  {0x8b57, 0xed9d91},
-  {0x8b58, 0xed9d92},
-  {0x8b59, 0xed9d93},
-  {0x8b5a, 0xed9d94},
-  {0x8b5b, 0xed9d95},
-  {0x8b5c, 0xed9d96},
-  {0x8b5d, 0xed9d97},
-  {0x8b5e, 0xed9d98},
-  {0x8b5f, 0xed9d99},
-  {0x8b60, 0xed9d9a},
-  {0x8b61, 0xed9d9b},
-  {0x8b62, 0xed9d9c},
-  {0x8b63, 0xed9d9d},
-  {0x8b64, 0xed9d9e},
-  {0x8b65, 0xed9d9f},
-  {0x8b66, 0xebbaaf},
-  {0x8b67, 0xed9da0},
-  {0x8b68, 0xed9da1},
-  {0x8b69, 0xed9da2},
-  {0x8b6a, 0xed9da3},
-  {0x8b6b, 0xed9da4},
-  {0x8b6c, 0xec9aa9},
-  {0x8b6d, 0xed9da5},
-  {0x8b6e, 0xed9da6},
-  {0x8b6f, 0xed9da7},
-  {0x8b70, 0xed9da8},
-  {0x8b71, 0xed9da9},
-  {0x8b72, 0xed9daa},
-  {0x8b73, 0xed9dab},
-  {0x8b74, 0xed9dac},
-  {0x8b75, 0xed9dad},
-  {0x8b76, 0xed9dae},
-  {0x8b77, 0xed9daf},
-  {0x8b78, 0xed9db0},
-  {0x8b79, 0xed9db1},
-  {0x8b7a, 0xed9db2},
-  {0x8b7b, 0xed9db3},
-  {0x8b7c, 0xed9db4},
-  {0x8b7d, 0xed9db5},
-  {0x8b7e, 0xed9db6},
-  {0x8b7f, 0xed9db7},
-  {0x8b80, 0xed9db8},
-  {0x8b81, 0xed9db9},
-  {0x8b82, 0xed9dba},
-  {0x8b83, 0xed9dbb},
-  {0x8b84, 0xed9dbc},
-  {0x8b85, 0xed9dbd},
-  {0x8b86, 0xed9dbe},
-  {0x8b87, 0xed9e80},
-  {0x8b88, 0xed9e81},
-  {0x8b89, 0xed9e82},
-  {0x8b8a, 0xed9e83},
-  {0x8b8b, 0xed9e84},
-  {0x8b8c, 0xed9e85},
-  {0x8b8d, 0xed9e86},
-  {0x8b8e, 0xed9e87},
-  {0x8b8f, 0xed9e88},
-  {0x8b90, 0xed9e89},
-  {0x8b91, 0xed9e8a},
-  {0x8b92, 0xed9e8b},
-  {0x8b93, 0xed9e8c},
-  {0x8b94, 0xed9e8d},
-  {0x8b95, 0xed9e8e},
-  {0x8b96, 0xed9e8f},
-  {0x8b97, 0xed9e90},
-  {0x8b98, 0xed9e91},
-  {0x8b99, 0xed9e92},
-  {0x8b9a, 0xed9e93},
-  {0x8b9b, 0xed9e94},
-  {0x8b9c, 0xed9e95},
-  {0x8b9d, 0xed9e96},
-  {0x8b9e, 0xed9e97},
-  {0x8b9f, 0xed9e98},
-  {0x8ba0, 0xedaaa5},
-  {0x8ba1, 0xebb386},
-  {0x8ba2, 0xeb9aa9},
-  {0x8ba3, 0xeba2bc},
-  {0x8ba4, 0xeca38f},
-  {0x8ba5, 0xebb2a5},
-  {0x8ba6, 0xedaaa6},
-  {0x8ba7, 0xedaaa7},
-  {0x8ba8, 0xecb396},
-  {0x8ba9, 0xeca383},
-  {0x8baa, 0xedaaa8},
-  {0x8bab, 0xec9bbd},
-  {0x8bac, 0xed9e99},
-  {0x8bad, 0xed86b5},
-  {0x8bae, 0xed8ba9},
-  {0x8baf, 0xed86b6},
-  {0x8bb0, 0xebb387},
-  {0x8bb1, 0xed9e9a},
-  {0x8bb2, 0xebb6b2},
-  {0x8bb3, 0xebafa4},
-  {0x8bb4, 0xedaaa9},
-  {0x8bb5, 0xedaaaa},
-  {0x8bb6, 0xed8788},
-  {0x8bb7, 0xedaaab},
-  {0x8bb8, 0xed83ad},
-  {0x8bb9, 0xeb9baf},
-  {0x8bba, 0xec8b9b},
-  {0x8bbb, 0xed9e9b},
-  {0x8bbc, 0xecaf8f},
-  {0x8bbd, 0xeb9fad},
-  {0x8bbe, 0xeca7a8},
-  {0x8bbf, 0xeb9f83},
-  {0x8bc0, 0xebbbb7},
-  {0x8bc1, 0xed9aa4},
-  {0x8bc2, 0xedaaac},
-  {0x8bc3, 0xedaaad},
-  {0x8bc4, 0xec9b80},
-  {0x8bc5, 0xed9fa7},
-  {0x8bc6, 0xecaab6},
-  {0x8bc7, 0xed9e9c},
-  {0x8bc8, 0xed96a9},
-  {0x8bc9, 0xecaf9f},
-  {0x8bca, 0xed97af},
-  {0x8bcb, 0xedaaae},
-  {0x8bcc, 0xed9b9f},
-  {0x8bcd, 0xeb938a},
-  {0x8bce, 0xedaab0},
-  {0x8bcf, 0xedaaaf},
-  {0x8bd0, 0xed9e9d},
-  {0x8bd1, 0xed8bab},
-  {0x8bd2, 0xedaab1},
-  {0x8bd3, 0xedaab2},
-  {0x8bd4, 0xedaab3},
-  {0x8bd5, 0xecab94},
-  {0x8bd6, 0xedaab4},
-  {0x8bd7, 0xecaaab},
-  {0x8bd8, 0xedaab5},
-  {0x8bd9, 0xedaab6},
-  {0x8bda, 0xeb8f8f},
-  {0x8bdb, 0xed9baf},
-  {0x8bdc, 0xedaab7},
-  {0x8bdd, 0xebaeb0},
-  {0x8bde, 0xeb96ae},
-  {0x8bdf, 0xedaab8},
-  {0x8be0, 0xedaab9},
-  {0x8be1, 0xeba7ae},
-  {0x8be2, 0xed86af},
-  {0x8be3, 0xed8ba8},
-  {0x8be4, 0xedaaba},
-  {0x8be5, 0xeba383},
-  {0x8be6, 0xecbfaa},
-  {0x8be7, 0xeb8baf},
-  {0x8be8, 0xedaabb},
-  {0x8be9, 0xedaabc},
-  {0x8bea, 0xed9e9e},
-  {0x8beb, 0xebb7ab},
-  {0x8bec, 0xecbb9c},
-  {0x8bed, 0xed8faf},
-  {0x8bee, 0xedaabd},
-  {0x8bef, 0xecbbb3},
-  {0x8bf0, 0xedaabe},
-  {0x8bf1, 0xed8f95},
-  {0x8bf2, 0xebafa5},
-  {0x8bf3, 0xedaabf},
-  {0x8bf4, 0xecaeb5},
-  {0x8bf5, 0xecaf90},
-  {0x8bf6, 0xedab80},
-  {0x8bf7, 0xec9fab},
-  {0x8bf8, 0xed9bae},
-  {0x8bf9, 0xedab81},
-  {0x8bfa, 0xec96b5},
-  {0x8bfb, 0xeb9b81},
-  {0x8bfc, 0xedab82},
-  {0x8bfd, 0xeb9f8c},
-  {0x8bfe, 0xebbf8e},
-  {0x8bff, 0xedab83},
-  {0x8c00, 0xedab84},
-  {0x8c01, 0xecaead},
-  {0x8c02, 0xedab85},
-  {0x8c03, 0xeb97b7},
-  {0x8c04, 0xedab86},
-  {0x8c05, 0xec8782},
-  {0x8c06, 0xed9ebb},
-  {0x8c07, 0xedab87},
-  {0x8c08, 0xecb2b8},
-  {0x8c09, 0xed9e9f},
-  {0x8c0a, 0xed8baa},
-  {0x8c0b, 0xec92b1},
-  {0x8c0c, 0xedab88},
-  {0x8c0d, 0xeb97bd},
-  {0x8c0e, 0xebaf91},
-  {0x8c0f, 0xedab89},
-  {0x8c10, 0xed82b3},
-  {0x8c11, 0xedab8a},
-  {0x8c12, 0xedab8b},
-  {0x8c13, 0xecbabd},
-  {0x8c14, 0xedab8c},
-  {0x8c15, 0xedab8d},
-  {0x8c16, 0xedab8e},
-  {0x8c17, 0xeb8bb7},
-  {0x8c18, 0xedab91},
-  {0x8c19, 0xedab8f},
-  {0x8c1a, 0xed87a8},
-  {0x8c1b, 0xedab90},
-  {0x8c1c, 0xec8f95},
-  {0x8c1d, 0xedab92},
-  {0x8c1e, 0xed9ea0},
-  {0x8c1f, 0xedab93},
-  {0x8c20, 0xedab94},
-  {0x8c21, 0xedab95},
-  {0x8c22, 0xed82bb},
-  {0x8c23, 0xed8aa5},
-  {0x8c24, 0xeb83b9},
-  {0x8c25, 0xedab96},
-  {0x8c26, 0xec9eab},
-  {0x8c27, 0xedab97},
-  {0x8c28, 0xebb7b7},
-  {0x8c29, 0xec8ea1},
-  {0x8c2a, 0xedab98},
-  {0x8c2b, 0xedab99},
-  {0x8c2c, 0xec8fbd},
-  {0x8c2d, 0xecb2b7},
-  {0x8c2e, 0xedab9a},
-  {0x8c2f, 0xedab9b},
-  {0x8c30, 0xec82be},
-  {0x8c31, 0xec9b97},
-  {0x8c32, 0xedab9c},
-  {0x8c33, 0xedab9d},
-  {0x8c34, 0xec9eb4},
-  {0x8c35, 0xedab9e},
-  {0x8c36, 0xedab9f},
-  {0x8c37, 0xeba788},
-  {0x8c38, 0xeda180},
-  {0x8c39, 0xeda181},
-  {0x8c3a, 0xeda182},
-  {0x8c3b, 0xeda183},
-  {0x8c3c, 0xeda184},
-  {0x8c3d, 0xeda185},
-  {0x8c3e, 0xeda186},
-  {0x8c3f, 0xeda187},
-  {0x8c40, 0xeda188},
-  {0x8c41, 0xebafad},
-  {0x8c42, 0xeda189},
-  {0x8c43, 0xeda18a},
-  {0x8c44, 0xeda18b},
-  {0x8c45, 0xeda18c},
-  {0x8c46, 0xeb9ab9},
-  {0x8c47, 0xef93b8},
-  {0x8c48, 0xeda18d},
-  {0x8c49, 0xef93b9},
-  {0x8c4a, 0xeda18e},
-  {0x8c4b, 0xeda18f},
-  {0x8c4c, 0xecb7a3},
-  {0x8c4d, 0xeda190},
-  {0x8c4e, 0xeda191},
-  {0x8c4f, 0xeda192},
-  {0x8c50, 0xeda193},
-  {0x8c51, 0xeda194},
-  {0x8c52, 0xeda195},
-  {0x8c53, 0xeda196},
-  {0x8c54, 0xeda197},
-  {0x8c55, 0xef96b9},
-  {0x8c56, 0xeda198},
-  {0x8c57, 0xeda199},
-  {0x8c58, 0xeda19a},
-  {0x8c59, 0xeda19b},
-  {0x8c5a, 0xeeafa0},
-  {0x8c5b, 0xeda19c},
-  {0x8c5c, 0xeda19d},
-  {0x8c5d, 0xeda19e},
-  {0x8c5e, 0xeda19f},
-  {0x8c5f, 0xeda1a0},
-  {0x8c60, 0xeda1a1},
-  {0x8c61, 0xecbfb3},
-  {0x8c62, 0xebaebf},
-  {0x8c63, 0xeda1a2},
-  {0x8c64, 0xeda1a3},
-  {0x8c65, 0xeda1a4},
-  {0x8c66, 0xeda1a5},
-  {0x8c67, 0xeda1a6},
-  {0x8c68, 0xeda1a7},
-  {0x8c69, 0xeda1a8},
-  {0x8c6a, 0xebab80},
-  {0x8c6b, 0xed92a5},
-  {0x8c6c, 0xeda1a9},
-  {0x8c6d, 0xeda1aa},
-  {0x8c6e, 0xeda1ab},
-  {0x8c6f, 0xeda1ac},
-  {0x8c70, 0xeda1ad},
-  {0x8c71, 0xeda1ae},
-  {0x8c72, 0xeda1af},
-  {0x8c73, 0xee8799},
-  {0x8c74, 0xeda1b0},
-  {0x8c75, 0xeda1b1},
-  {0x8c76, 0xeda1b2},
-  {0x8c77, 0xeda1b3},
-  {0x8c78, 0xef97b4},
-  {0x8c79, 0xeb86aa},
-  {0x8c7a, 0xeb8bb2},
-  {0x8c7b, 0xeda1b4},
-  {0x8c7c, 0xeda1b5},
-  {0x8c7d, 0xeda1b6},
-  {0x8c7e, 0xeda1b7},
-  {0x8c7f, 0xeda1b8},
-  {0x8c80, 0xeda1b9},
-  {0x8c81, 0xeda1ba},
-  {0x8c82, 0xef97b5},
-  {0x8c83, 0xeda1bb},
-  {0x8c84, 0xeda1bc},
-  {0x8c85, 0xef97b7},
-  {0x8c86, 0xeda1bd},
-  {0x8c87, 0xeda1be},
-  {0x8c88, 0xeda280},
-  {0x8c89, 0xebab91},
-  {0x8c8a, 0xef97b6},
-  {0x8c8b, 0xeda281},
-  {0x8c8c, 0xec8eb2},
-  {0x8c8d, 0xeda282},
-  {0x8c8e, 0xeda283},
-  {0x8c8f, 0xeda284},
-  {0x8c90, 0xeda285},
-  {0x8c91, 0xeda286},
-  {0x8c92, 0xeda287},
-  {0x8c93, 0xeda288},
-  {0x8c94, 0xef97b9},
-  {0x8c95, 0xeda289},
-  {0x8c96, 0xeda28a},
-  {0x8c97, 0xeda28b},
-  {0x8c98, 0xef97b8},
-  {0x8c99, 0xeda28c},
-  {0x8c9a, 0xeda28d},
-  {0x8c9b, 0xeda28e},
-  {0x8c9c, 0xeda28f},
-  {0x8c9d, 0xeda290},
-  {0x8c9e, 0xeda291},
-  {0x8c9f, 0xeda292},
-  {0x8ca0, 0xeda293},
-  {0x8ca1, 0xeda294},
-  {0x8ca2, 0xeda295},
-  {0x8ca3, 0xeda296},
-  {0x8ca4, 0xeda297},
-  {0x8ca5, 0xeda298},
-  {0x8ca6, 0xeda299},
-  {0x8ca7, 0xeda29a},
-  {0x8ca8, 0xeda29b},
-  {0x8ca9, 0xeda29c},
-  {0x8caa, 0xeda29d},
-  {0x8cab, 0xeda29e},
-  {0x8cac, 0xeda29f},
-  {0x8cad, 0xeda2a0},
-  {0x8cae, 0xeda580},
-  {0x8caf, 0xeda581},
-  {0x8cb0, 0xeda582},
-  {0x8cb1, 0xeda583},
-  {0x8cb2, 0xeda584},
-  {0x8cb3, 0xeda585},
-  {0x8cb4, 0xeda586},
-  {0x8cb5, 0xeda587},
-  {0x8cb6, 0xeda588},
-  {0x8cb7, 0xeda589},
-  {0x8cb8, 0xeda58a},
-  {0x8cb9, 0xeda58b},
-  {0x8cba, 0xeda58c},
-  {0x8cbb, 0xeda58d},
-  {0x8cbc, 0xeda58e},
-  {0x8cbd, 0xeda58f},
-  {0x8cbe, 0xeda590},
-  {0x8cbf, 0xeda591},
-  {0x8cc0, 0xeda592},
-  {0x8cc1, 0xeda593},
-  {0x8cc2, 0xeda594},
-  {0x8cc3, 0xeda595},
-  {0x8cc4, 0xeda596},
-  {0x8cc5, 0xeda597},
-  {0x8cc6, 0xeda598},
-  {0x8cc7, 0xeda599},
-  {0x8cc8, 0xeda59a},
-  {0x8cc9, 0xeda59b},
-  {0x8cca, 0xeda59c},
-  {0x8ccb, 0xeda59d},
-  {0x8ccc, 0xeda59e},
-  {0x8ccd, 0xeda59f},
-  {0x8cce, 0xeda5a0},
-  {0x8ccf, 0xeda5a1},
-  {0x8cd0, 0xeda5a2},
-  {0x8cd1, 0xeda5a3},
-  {0x8cd2, 0xeda5a4},
-  {0x8cd3, 0xeda5a5},
-  {0x8cd4, 0xeda5a6},
-  {0x8cd5, 0xeda5a7},
-  {0x8cd6, 0xeda5a8},
-  {0x8cd7, 0xeda5a9},
-  {0x8cd8, 0xeda5aa},
-  {0x8cd9, 0xeda5ab},
-  {0x8cda, 0xeda5ac},
-  {0x8cdb, 0xeda5ad},
-  {0x8cdc, 0xeda5ae},
-  {0x8cdd, 0xeda5af},
-  {0x8cde, 0xeda5b0},
-  {0x8cdf, 0xeda5b1},
-  {0x8ce0, 0xeda5b2},
-  {0x8ce1, 0xeda5b3},
-  {0x8ce2, 0xeda5b4},
-  {0x8ce3, 0xeda5b5},
-  {0x8ce4, 0xeda5b6},
-  {0x8ce5, 0xeda5b7},
-  {0x8ce6, 0xeda5b8},
-  {0x8ce7, 0xeda5b9},
-  {0x8ce8, 0xeda5ba},
-  {0x8ce9, 0xeda5bb},
-  {0x8cea, 0xeda5bc},
-  {0x8ceb, 0xeda5bd},
-  {0x8cec, 0xeda5be},
-  {0x8ced, 0xeda680},
-  {0x8cee, 0xeda681},
-  {0x8cef, 0xeda682},
-  {0x8cf0, 0xeda683},
-  {0x8cf1, 0xeda684},
-  {0x8cf2, 0xeda685},
-  {0x8cf3, 0xeda686},
-  {0x8cf4, 0xeda687},
-  {0x8cf5, 0xeda688},
-  {0x8cf6, 0xeda689},
-  {0x8cf7, 0xeda68a},
-  {0x8cf8, 0xeda68b},
-  {0x8cf9, 0xeda68c},
-  {0x8cfa, 0xeda68d},
-  {0x8cfb, 0xeda68e},
-  {0x8cfc, 0xeda68f},
-  {0x8cfd, 0xeda690},
-  {0x8cfe, 0xeda691},
-  {0x8cff, 0xeda692},
-  {0x8d00, 0xeda693},
-  {0x8d01, 0xeda694},
-  {0x8d02, 0xeda695},
-  {0x8d03, 0xeda696},
-  {0x8d04, 0xeda697},
-  {0x8d05, 0xeda698},
-  {0x8d06, 0xeda699},
-  {0x8d07, 0xeda69a},
-  {0x8d08, 0xeda69b},
-  {0x8d09, 0xeda69c},
-  {0x8d0a, 0xeda69d},
-  {0x8d0b, 0xeda69e},
-  {0x8d0c, 0xeda69f},
-  {0x8d0d, 0xeda6a0},
-  {0x8d0e, 0xeda980},
-  {0x8d0f, 0xeda981},
-  {0x8d10, 0xeda982},
-  {0x8d11, 0xeda983},
-  {0x8d12, 0xeda984},
-  {0x8d13, 0xeda985},
-  {0x8d14, 0xeda986},
-  {0x8d15, 0xeda987},
-  {0x8d16, 0xeda988},
-  {0x8d17, 0xeda989},
-  {0x8d18, 0xeda98a},
-  {0x8d19, 0xeda98b},
-  {0x8d1a, 0xeda98c},
-  {0x8d1b, 0xeda98d},
-  {0x8d1c, 0xeda98e},
-  {0x8d1d, 0xeb86b4},
-  {0x8d1e, 0xed97aa},
-  {0x8d1f, 0xeba2ba},
-  {0x8d20, 0xeda98f},
-  {0x8d21, 0xeba6b1},
-  {0x8d22, 0xeb8b86},
-  {0x8d23, 0xed93b0},
-  {0x8d24, 0xecbf8d},
-  {0x8d25, 0xeb839c},
-  {0x8d26, 0xed978b},
-  {0x8d27, 0xebafb5},
-  {0x8d28, 0xed9b8a},
-  {0x8d29, 0xeb9eb7},
-  {0x8d2a, 0xecb2b0},
-  {0x8d2b, 0xec9ab6},
-  {0x8d2c, 0xeb87a1},
-  {0x8d2d, 0xeba6ba},
-  {0x8d2e, 0xed9bbc},
-  {0x8d2f, 0xeba7a1},
-  {0x8d30, 0xeb9ea1},
-  {0x8d31, 0xebb3ba},
-  {0x8d32, 0xeeab9a},
-  {0x8d33, 0xeeab9b},
-  {0x8d34, 0xecb3b9},
-  {0x8d35, 0xeba7b3},
-  {0x8d36, 0xeeab9c},
-  {0x8d37, 0xeb93bb},
-  {0x8d38, 0xec8eb3},
-  {0x8d39, 0xeb9f91},
-  {0x8d3a, 0xebab98},
-  {0x8d3b, 0xeeab9d},
-  {0x8d3c, 0xed93b4},
-  {0x8d3d, 0xeeab9e},
-  {0x8d3e, 0xebb396},
-  {0x8d3f, 0xebaf9f},
-  {0x8d40, 0xeeab9f},
-  {0x8d41, 0xec879e},
-  {0x8d42, 0xec8ab8},
-  {0x8d43, 0xed939f},
-  {0x8d44, 0xed9f8a},
-  {0x8d45, 0xeeaba0},
-  {0x8d46, 0xeeaba1},
-  {0x8d47, 0xeeaba4},
-  {0x8d48, 0xeeaba2},
-  {0x8d49, 0xeeaba3},
-  {0x8d4a, 0xeca79e},
-  {0x8d4b, 0xeba2b3},
-  {0x8d4c, 0xeb9b84},
-  {0x8d4d, 0xeeaba5},
-  {0x8d4e, 0xecabaa},
-  {0x8d4f, 0xeca78d},
-  {0x8d50, 0xeb938d},
-  {0x8d51, 0xeda990},
-  {0x8d52, 0xeda991},
-  {0x8d53, 0xee8b99},
-  {0x8d54, 0xec97a2},
-  {0x8d55, 0xeeaba6},
-  {0x8d56, 0xec82b5},
-  {0x8d57, 0xeda992},
-  {0x8d58, 0xed9eb8},
-  {0x8d59, 0xeeaba7},
-  {0x8d5a, 0xed9eac},
-  {0x8d5b, 0xeca3bc},
-  {0x8d5c, 0xeda393},
-  {0x8d5d, 0xeda38d},
-  {0x8d5e, 0xed939e},
-  {0x8d5f, 0xeda993},
-  {0x8d60, 0xed93b9},
-  {0x8d61, 0xeca784},
-  {0x8d62, 0xed8eae},
-  {0x8d63, 0xeba393},
-  {0x8d64, 0xeb8fa0},
-  {0x8d65, 0xeda994},
-  {0x8d66, 0xeca7a2},
-  {0x8d67, 0xef93b6},
-  {0x8d68, 0xeda995},
-  {0x8d69, 0xeda996},
-  {0x8d6a, 0xeda997},
-  {0x8d6b, 0xebab95},
-  {0x8d6c, 0xeda998},
-  {0x8d6d, 0xef93b7},
-  {0x8d6e, 0xeda999},
-  {0x8d6f, 0xeda99a},
-  {0x8d70, 0xed9f9f},
-  {0x8d71, 0xeda99b},
-  {0x8d72, 0xeda99c},
-  {0x8d73, 0xef93b1},
-  {0x8d74, 0xeba2b0},
-  {0x8d75, 0xed9794},
-  {0x8d76, 0xeba38f},
-  {0x8d77, 0xec9bb0},
-  {0x8d78, 0xeda99d},
-  {0x8d79, 0xeda99e},
-  {0x8d7a, 0xeda99f},
-  {0x8d7b, 0xeda9a0},
-  {0x8d7c, 0xeda9a1},
-  {0x8d7d, 0xeda9a2},
-  {0x8d7e, 0xeda9a3},
-  {0x8d7f, 0xeda9a4},
-  {0x8d80, 0xeda9a5},
-  {0x8d81, 0xeb8f83},
-  {0x8d82, 0xeda9a6},
-  {0x8d83, 0xeda9a7},
-  {0x8d84, 0xef93b2},
-  {0x8d85, 0xeb8eac},
-  {0x8d86, 0xeda9a8},
-  {0x8d87, 0xeda9a9},
-  {0x8d88, 0xeda9aa},
-  {0x8d89, 0xeda9ab},
-  {0x8d8a, 0xed92bd},
-  {0x8d8b, 0xec9fb7},
-  {0x8d8c, 0xeda9ac},
-  {0x8d8d, 0xeda9ad},
-  {0x8d8e, 0xeda9ae},
-  {0x8d8f, 0xeda9af},
-  {0x8d90, 0xeda9b0},
-  {0x8d91, 0xef93b4},
-  {0x8d92, 0xeda9b1},
-  {0x8d93, 0xeda9b2},
-  {0x8d94, 0xef93b3},
-  {0x8d95, 0xeda9b3},
-  {0x8d96, 0xeda9b4},
-  {0x8d97, 0xeda9b5},
-  {0x8d98, 0xeda9b6},
-  {0x8d99, 0xeda9b7},
-  {0x8d9a, 0xeda9b8},
-  {0x8d9b, 0xeda9b9},
-  {0x8d9c, 0xeda9ba},
-  {0x8d9d, 0xeda9bb},
-  {0x8d9e, 0xeda9bc},
-  {0x8d9f, 0xecb38b},
-  {0x8da0, 0xeda9bd},
-  {0x8da1, 0xeda9be},
-  {0x8da2, 0xedaa80},
-  {0x8da3, 0xeca2a4},
-  {0x8da4, 0xedaa81},
-  {0x8da5, 0xedaa82},
-  {0x8da6, 0xedaa83},
-  {0x8da7, 0xedaa84},
-  {0x8da8, 0xedaa85},
-  {0x8da9, 0xedaa86},
-  {0x8daa, 0xedaa87},
-  {0x8dab, 0xedaa88},
-  {0x8dac, 0xedaa89},
-  {0x8dad, 0xedaa8a},
-  {0x8dae, 0xedaa8b},
-  {0x8daf, 0xedaa8c},
-  {0x8db0, 0xedaa8d},
-  {0x8db1, 0xef93b5},
-  {0x8db2, 0xedaa8e},
-  {0x8db3, 0xed9fa3},
-  {0x8db4, 0xec96bf},
-  {0x8db5, 0xef9780},
-  {0x8db6, 0xedaa8f},
-  {0x8db7, 0xedaa90},
-  {0x8db8, 0xef96bb},
-  {0x8db9, 0xedaa91},
-  {0x8dba, 0xef9783},
-  {0x8dbb, 0xedaa92},
-  {0x8dbc, 0xef9782},
-  {0x8dbd, 0xedaa93},
-  {0x8dbe, 0xed9aba},
-  {0x8dbf, 0xef9781},
-  {0x8dc0, 0xedaa94},
-  {0x8dc1, 0xedaa95},
-  {0x8dc2, 0xedaa96},
-  {0x8dc3, 0xed92be},
-  {0x8dc4, 0xef9784},
-  {0x8dc5, 0xedaa97},
-  {0x8dc6, 0xef978c},
-  {0x8dc7, 0xedaa98},
-  {0x8dc8, 0xedaa99},
-  {0x8dc9, 0xedaa9a},
-  {0x8dca, 0xedaa9b},
-  {0x8dcb, 0xeb838f},
-  {0x8dcc, 0xeb97b8},
-  {0x8dcd, 0xedaa9c},
-  {0x8dce, 0xef9789},
-  {0x8dcf, 0xef978a},
-  {0x8dd0, 0xedaa9d},
-  {0x8dd1, 0xec979c},
-  {0x8dd2, 0xedaa9e},
-  {0x8dd3, 0xedaa9f},
-  {0x8dd4, 0xedaaa0},
-  {0x8dd5, 0xedad80},
-  {0x8dd6, 0xef9785},
-  {0x8dd7, 0xef9786},
-  {0x8dd8, 0xedad81},
-  {0x8dd9, 0xedad82},
-  {0x8dda, 0xef9787},
-  {0x8ddb, 0xef978b},
-  {0x8ddc, 0xedad83},
-  {0x8ddd, 0xebbba0},
-  {0x8dde, 0xef9788},
-  {0x8ddf, 0xeba3ba},
-  {0x8de0, 0xedad84},
-  {0x8de1, 0xedad85},
-  {0x8de2, 0xedad86},
-  {0x8de3, 0xef9790},
-  {0x8de4, 0xef9793},
-  {0x8de5, 0xedad87},
-  {0x8de6, 0xedad88},
-  {0x8de7, 0xedad89},
-  {0x8de8, 0xebbfa7},
-  {0x8de9, 0xedad8a},
-  {0x8dea, 0xeba7b2},
-  {0x8deb, 0xef96bc},
-  {0x8dec, 0xef978d},
-  {0x8ded, 0xedad8b},
-  {0x8dee, 0xedad8c},
-  {0x8def, 0xec8ab7},
-  {0x8df0, 0xedad8d},
-  {0x8df1, 0xedad8e},
-  {0x8df2, 0xedad8f},
-  {0x8df3, 0xecb3b8},
-  {0x8df4, 0xedad90},
-  {0x8df5, 0xebb3b9},
-  {0x8df6, 0xedad91},
-  {0x8df7, 0xef978e},
-  {0x8df8, 0xef978f},
-  {0x8df9, 0xef9791},
-  {0x8dfa, 0xeb9ba5},
-  {0x8dfb, 0xef9792},
-  {0x8dfc, 0xedad92},
-  {0x8dfd, 0xef9795},
-  {0x8dfe, 0xedad93},
-  {0x8dff, 0xedad94},
-  {0x8e00, 0xedad95},
-  {0x8e01, 0xedad96},
-  {0x8e02, 0xedad97},
-  {0x8e03, 0xedad98},
-  {0x8e04, 0xedad99},
-  {0x8e05, 0xef96bd},
-  {0x8e06, 0xedad9a},
-  {0x8e07, 0xedad9b},
-  {0x8e08, 0xedad9c},
-  {0x8e09, 0xef9794},
-  {0x8e0a, 0xed8ebb},
-  {0x8e0b, 0xedad9d},
-  {0x8e0c, 0xeb8fac},
-  {0x8e0d, 0xedad9e},
-  {0x8e0e, 0xedad9f},
-  {0x8e0f, 0xecb2a4},
-  {0x8e10, 0xedada0},
-  {0x8e11, 0xedada1},
-  {0x8e12, 0xedada2},
-  {0x8e13, 0xedada3},
-  {0x8e14, 0xef9796},
-  {0x8e15, 0xedada4},
-  {0x8e16, 0xedada5},
-  {0x8e17, 0xedada6},
-  {0x8e18, 0xedada7},
-  {0x8e19, 0xedada8},
-  {0x8e1a, 0xedada9},
-  {0x8e1b, 0xedadaa},
-  {0x8e1c, 0xedadab},
-  {0x8e1d, 0xef9797},
-  {0x8e1e, 0xebbba1},
-  {0x8e1f, 0xef9798},
-  {0x8e20, 0xedadac},
-  {0x8e21, 0xedadad},
-  {0x8e22, 0xecb39f},
-  {0x8e23, 0xef979b},
-  {0x8e24, 0xedadae},
-  {0x8e25, 0xedadaf},
-  {0x8e26, 0xedadb0},
-  {0x8e27, 0xedadb1},
-  {0x8e28, 0xedadb2},
-  {0x8e29, 0xeb8b88},
-  {0x8e2a, 0xed9f99},
-  {0x8e2b, 0xedadb3},
-  {0x8e2c, 0xef9799},
-  {0x8e2d, 0xedadb4},
-  {0x8e2e, 0xef979a},
-  {0x8e2f, 0xef979c},
-  {0x8e30, 0xedadb5},
-  {0x8e31, 0xef97a2},
-  {0x8e32, 0xedadb6},
-  {0x8e33, 0xedadb7},
-  {0x8e34, 0xedadb8},
-  {0x8e35, 0xef97a0},
-  {0x8e36, 0xedadb9},
-  {0x8e37, 0xedadba},
-  {0x8e38, 0xedadbb},
-  {0x8e39, 0xef979f},
-  {0x8e3a, 0xef979d},
-  {0x8e3b, 0xedadbc},
-  {0x8e3c, 0xedadbd},
-  {0x8e3d, 0xef97a1},
-  {0x8e3e, 0xedadbe},
-  {0x8e3f, 0xedae80},
-  {0x8e40, 0xef979e},
-  {0x8e41, 0xef97a4},
-  {0x8e42, 0xef97a5},
-  {0x8e43, 0xedae81},
-  {0x8e44, 0xecb3a3},
-  {0x8e45, 0xedae82},
-  {0x8e46, 0xedae83},
-  {0x8e47, 0xee96bf},
-  {0x8e48, 0xeb96b8},
-  {0x8e49, 0xef97a3},
-  {0x8e4a, 0xef97a8},
-  {0x8e4b, 0xecb2a3},
-  {0x8e4c, 0xedae84},
-  {0x8e4d, 0xedae85},
-  {0x8e4e, 0xedae86},
-  {0x8e4f, 0xedae87},
-  {0x8e50, 0xedae88},
-  {0x8e51, 0xef97a6},
-  {0x8e52, 0xef97a7},
-  {0x8e53, 0xedae89},
-  {0x8e54, 0xedae8a},
-  {0x8e55, 0xedae8b},
-  {0x8e56, 0xedae8c},
-  {0x8e57, 0xedae8d},
-  {0x8e58, 0xedae8e},
-  {0x8e59, 0xef96be},
-  {0x8e5a, 0xedae8f},
-  {0x8e5b, 0xedae90},
-  {0x8e5c, 0xedae91},
-  {0x8e5d, 0xedae92},
-  {0x8e5e, 0xedae93},
-  {0x8e5f, 0xedae94},
-  {0x8e60, 0xedae95},
-  {0x8e61, 0xedae96},
-  {0x8e62, 0xedae97},
-  {0x8e63, 0xedae98},
-  {0x8e64, 0xedae99},
-  {0x8e65, 0xedae9a},
-  {0x8e66, 0xeb8784},
-  {0x8e67, 0xedae9b},
-  {0x8e68, 0xedae9c},
-  {0x8e69, 0xef96bf},
-  {0x8e6a, 0xedae9d},
-  {0x8e6b, 0xedae9e},
-  {0x8e6c, 0xeb9785},
-  {0x8e6d, 0xeb8ba4},
-  {0x8e6e, 0xedae9f},
-  {0x8e6f, 0xef97ac},
-  {0x8e70, 0xef97a9},
-  {0x8e71, 0xedaea0},
-  {0x8e72, 0xeb9b97},
-  {0x8e73, 0xedb180},
-  {0x8e74, 0xef97ad},
-  {0x8e75, 0xedb181},
-  {0x8e76, 0xef97aa},
-  {0x8e77, 0xedb182},
-  {0x8e78, 0xedb183},
-  {0x8e79, 0xedb184},
-  {0x8e7a, 0xedb185},
-  {0x8e7b, 0xedb186},
-  {0x8e7c, 0xef97ab},
-  {0x8e7d, 0xedb187},
-  {0x8e7e, 0xedb188},
-  {0x8e7f, 0xeb939a},
-  {0x8e80, 0xedb189},
-  {0x8e81, 0xed93aa},
-  {0x8e82, 0xedb18a},
-  {0x8e83, 0xedb18b},
-  {0x8e84, 0xedb18c},
-  {0x8e85, 0xef97ae},
-  {0x8e86, 0xedb18d},
-  {0x8e87, 0xeb8fb9},
-  {0x8e88, 0xedb18e},
-  {0x8e89, 0xedb18f},
-  {0x8e8a, 0xedb190},
-  {0x8e8b, 0xedb191},
-  {0x8e8c, 0xedb192},
-  {0x8e8d, 0xedb193},
-  {0x8e8e, 0xedb194},
-  {0x8e8f, 0xef97af},
-  {0x8e90, 0xef97b1},
-  {0x8e91, 0xedb195},
-  {0x8e92, 0xedb196},
-  {0x8e93, 0xedb197},
-  {0x8e94, 0xef97b0},
-  {0x8e95, 0xedb198},
-  {0x8e96, 0xedb199},
-  {0x8e97, 0xedb19a},
-  {0x8e98, 0xedb19b},
-  {0x8e99, 0xedb19c},
-  {0x8e9a, 0xedb19d},
-  {0x8e9b, 0xedb19e},
-  {0x8e9c, 0xef97b2},
-  {0x8e9d, 0xedb19f},
-  {0x8e9e, 0xef97b3},
-  {0x8e9f, 0xedb1a0},
-  {0x8ea0, 0xedb1a1},
-  {0x8ea1, 0xedb1a2},
-  {0x8ea2, 0xedb1a3},
-  {0x8ea3, 0xedb1a4},
-  {0x8ea4, 0xedb1a5},
-  {0x8ea5, 0xedb1a6},
-  {0x8ea6, 0xedb1a7},
-  {0x8ea7, 0xedb1a8},
-  {0x8ea8, 0xedb1a9},
-  {0x8ea9, 0xedb1aa},
-  {0x8eaa, 0xedb1ab},
-  {0x8eab, 0xeca7ad},
-  {0x8eac, 0xeba6aa},
-  {0x8ead, 0xedb1ac},
-  {0x8eae, 0xedb1ad},
-  {0x8eaf, 0xec9fbb},
-  {0x8eb0, 0xedb1ae},
-  {0x8eb1, 0xedb1af},
-  {0x8eb2, 0xeb9ba3},
-  {0x8eb3, 0xedb1b0},
-  {0x8eb4, 0xedb1b1},
-  {0x8eb5, 0xedb1b2},
-  {0x8eb6, 0xedb1b3},
-  {0x8eb7, 0xedb1b4},
-  {0x8eb8, 0xedb1b5},
-  {0x8eb9, 0xedb1b6},
-  {0x8eba, 0xecb389},
-  {0x8ebb, 0xedb1b7},
-  {0x8ebc, 0xedb1b8},
-  {0x8ebd, 0xedb1b9},
-  {0x8ebe, 0xedb1ba},
-  {0x8ebf, 0xedb1bb},
-  {0x8ec0, 0xedb1bc},
-  {0x8ec1, 0xedb1bd},
-  {0x8ec2, 0xedb1be},
-  {0x8ec3, 0xedb280},
-  {0x8ec4, 0xedb281},
-  {0x8ec5, 0xedb282},
-  {0x8ec6, 0xedb283},
-  {0x8ec7, 0xedb284},
-  {0x8ec8, 0xedb285},
-  {0x8ec9, 0xedb286},
-  {0x8eca, 0xedb287},
-  {0x8ecb, 0xedb288},
-  {0x8ecc, 0xedb289},
-  {0x8ecd, 0xedb28a},
-  {0x8ece, 0xeeaaa6},
-  {0x8ecf, 0xedb28b},
-  {0x8ed0, 0xedb28c},
-  {0x8ed1, 0xedb28d},
-  {0x8ed2, 0xedb28e},
-  {0x8ed3, 0xedb28f},
-  {0x8ed4, 0xedb290},
-  {0x8ed5, 0xedb291},
-  {0x8ed6, 0xedb292},
-  {0x8ed7, 0xedb293},
-  {0x8ed8, 0xedb294},
-  {0x8ed9, 0xedb295},
-  {0x8eda, 0xedb296},
-  {0x8edb, 0xedb297},
-  {0x8edc, 0xedb298},
-  {0x8edd, 0xedb299},
-  {0x8ede, 0xedb29a},
-  {0x8edf, 0xedb29b},
-  {0x8ee0, 0xedb29c},
-  {0x8ee1, 0xedb29d},
-  {0x8ee2, 0xedb29e},
-  {0x8ee3, 0xedb29f},
-  {0x8ee4, 0xedb2a0},
-  {0x8ee5, 0xedb580},
-  {0x8ee6, 0xedb581},
-  {0x8ee7, 0xedb582},
-  {0x8ee8, 0xedb583},
-  {0x8ee9, 0xedb584},
-  {0x8eea, 0xedb585},
-  {0x8eeb, 0xedb586},
-  {0x8eec, 0xedb587},
-  {0x8eed, 0xedb588},
-  {0x8eee, 0xedb589},
-  {0x8eef, 0xedb58a},
-  {0x8ef0, 0xedb58b},
-  {0x8ef1, 0xedb58c},
-  {0x8ef2, 0xedb58d},
-  {0x8ef3, 0xedb58e},
-  {0x8ef4, 0xedb58f},
-  {0x8ef5, 0xedb590},
-  {0x8ef6, 0xedb591},
-  {0x8ef7, 0xedb592},
-  {0x8ef8, 0xedb593},
-  {0x8ef9, 0xedb594},
-  {0x8efa, 0xedb595},
-  {0x8efb, 0xedb596},
-  {0x8efc, 0xedb597},
-  {0x8efd, 0xedb598},
-  {0x8efe, 0xedb599},
-  {0x8eff, 0xedb59a},
-  {0x8f00, 0xedb59b},
-  {0x8f01, 0xedb59c},
-  {0x8f02, 0xedb59d},
-  {0x8f03, 0xedb59e},
-  {0x8f04, 0xedb59f},
-  {0x8f05, 0xedb5a0},
-  {0x8f06, 0xedb5a1},
-  {0x8f07, 0xedb5a2},
-  {0x8f08, 0xedb5a3},
-  {0x8f09, 0xedb5a4},
-  {0x8f0a, 0xedb5a5},
-  {0x8f0b, 0xedb5a6},
-  {0x8f0c, 0xedb5a7},
-  {0x8f0d, 0xedb5a8},
-  {0x8f0e, 0xedb5a9},
-  {0x8f0f, 0xedb5aa},
-  {0x8f10, 0xedb5ab},
-  {0x8f11, 0xedb5ac},
-  {0x8f12, 0xedb5ad},
-  {0x8f13, 0xedb5ae},
-  {0x8f14, 0xedb5af},
-  {0x8f15, 0xedb5b0},
-  {0x8f16, 0xedb5b1},
-  {0x8f17, 0xedb5b2},
-  {0x8f18, 0xedb5b3},
-  {0x8f19, 0xedb5b4},
-  {0x8f1a, 0xedb5b5},
-  {0x8f1b, 0xedb5b6},
-  {0x8f1c, 0xedb5b7},
-  {0x8f1d, 0xedb5b8},
-  {0x8f1e, 0xedb5b9},
-  {0x8f1f, 0xedb5ba},
-  {0x8f20, 0xedb5bb},
-  {0x8f21, 0xedb5bc},
-  {0x8f22, 0xedb5bd},
-  {0x8f23, 0xedb5be},
-  {0x8f24, 0xedb680},
-  {0x8f25, 0xedb681},
-  {0x8f26, 0xedb682},
-  {0x8f27, 0xedb683},
-  {0x8f28, 0xedb684},
-  {0x8f29, 0xedb685},
-  {0x8f2a, 0xedb686},
-  {0x8f2b, 0xedb687},
-  {0x8f2c, 0xedb688},
-  {0x8f2d, 0xedb689},
-  {0x8f2e, 0xedb68a},
-  {0x8f2f, 0xedb68b},
-  {0x8f30, 0xedb68c},
-  {0x8f31, 0xedb68d},
-  {0x8f32, 0xedb68e},
-  {0x8f33, 0xedb68f},
-  {0x8f34, 0xedb690},
-  {0x8f35, 0xedb691},
-  {0x8f36, 0xedb692},
-  {0x8f37, 0xedb693},
-  {0x8f38, 0xedb694},
-  {0x8f39, 0xedb695},
-  {0x8f3a, 0xedb696},
-  {0x8f3b, 0xedb697},
-  {0x8f3c, 0xedb698},
-  {0x8f3d, 0xedb699},
-  {0x8f3e, 0xedb69a},
-  {0x8f3f, 0xedb69b},
-  {0x8f40, 0xedb69c},
-  {0x8f41, 0xedb69d},
-  {0x8f42, 0xedb69e},
-  {0x8f43, 0xedb69f},
-  {0x8f44, 0xedb6a0},
-  {0x8f45, 0xedb980},
-  {0x8f46, 0xedb981},
-  {0x8f47, 0xedb982},
-  {0x8f48, 0xedb983},
-  {0x8f49, 0xedb984},
-  {0x8f4a, 0xedb985},
-  {0x8f4b, 0xedb986},
-  {0x8f4c, 0xedb987},
-  {0x8f4d, 0xedb988},
-  {0x8f4e, 0xedb989},
-  {0x8f4f, 0xedb98a},
-  {0x8f50, 0xedb98b},
-  {0x8f51, 0xedb98c},
-  {0x8f52, 0xedb98d},
-  {0x8f53, 0xedb98e},
-  {0x8f54, 0xedb98f},
-  {0x8f55, 0xedb990},
-  {0x8f56, 0xedb991},
-  {0x8f57, 0xedb992},
-  {0x8f58, 0xedb993},
-  {0x8f59, 0xedb994},
-  {0x8f5a, 0xedb995},
-  {0x8f5b, 0xedb996},
-  {0x8f5c, 0xedb997},
-  {0x8f5d, 0xedb998},
-  {0x8f5e, 0xedb999},
-  {0x8f5f, 0xedb99a},
-  {0x8f60, 0xedb99b},
-  {0x8f61, 0xedb99c},
-  {0x8f62, 0xedb99d},
-  {0x8f63, 0xedb99e},
-  {0x8f64, 0xedb99f},
-  {0x8f65, 0xedb9a0},
-  {0x8f66, 0xeb8eb5},
-  {0x8f67, 0xed93be},
-  {0x8f68, 0xeba7ac},
-  {0x8f69, 0xed83b9},
-  {0x8f6a, 0xedb9a1},
-  {0x8f6b, 0xeea7ad},
-  {0x8f6c, 0xed9eaa},
-  {0x8f6d, 0xeea7ae},
-  {0x8f6e, 0xec8b96},
-  {0x8f6f, 0xeca3ad},
-  {0x8f70, 0xebaba4},
-  {0x8f71, 0xeea7af},
-  {0x8f72, 0xeea7b0},
-  {0x8f73, 0xeea7b1},
-  {0x8f74, 0xed9ba1},
-  {0x8f75, 0xeea7b2},
-  {0x8f76, 0xeea7b3},
-  {0x8f77, 0xeea7b5},
-  {0x8f78, 0xeea7b4},
-  {0x8f79, 0xeea7b6},
-  {0x8f7a, 0xeea7b7},
-  {0x8f7b, 0xec9fa1},
-  {0x8f7c, 0xeea7b8},
-  {0x8f7d, 0xed9398},
-  {0x8f7e, 0xeea7b9},
-  {0x8f7f, 0xebb78e},
-  {0x8f80, 0xedb9a2},
-  {0x8f81, 0xeea7ba},
-  {0x8f82, 0xeea7bb},
-  {0x8f83, 0xebb78f},
-  {0x8f84, 0xeea7bc},
-  {0x8f85, 0xeba2a8},
-  {0x8f86, 0xec86be},
-  {0x8f87, 0xeea7bd},
-  {0x8f88, 0xeb86b2},
-  {0x8f89, 0xebaf94},
-  {0x8f8a, 0xeba7b5},
-  {0x8f8b, 0xeea7be},
-  {0x8f8c, 0xedb9a3},
-  {0x8f8d, 0xeeaaa1},
-  {0x8f8e, 0xeeaaa2},
-  {0x8f8f, 0xeeaaa3},
-  {0x8f90, 0xeb9fb8},
-  {0x8f91, 0xebb2ad},
-  {0x8f92, 0xedb9a4},
-  {0x8f93, 0xecaba4},
-  {0x8f94, 0xee838e},
-  {0x8f95, 0xed92af},
-  {0x8f96, 0xecbebd},
-  {0x8f97, 0xed96b7},
-  {0x8f98, 0xeeaaa4},
-  {0x8f99, 0xed979e},
-  {0x8f9a, 0xeeaaa5},
-  {0x8f9b, 0xed8381},
-  {0x8f9c, 0xeba6bc},
-  {0x8f9d, 0xedb9a5},
-  {0x8f9e, 0xeb9387},
-  {0x8f9f, 0xeb8799},
-  {0x8fa0, 0xedb9a6},
-  {0x8fa1, 0xedb9a7},
-  {0x8fa2, 0xedb9a8},
-  {0x8fa3, 0xec82b1},
-  {0x8fa4, 0xedb9a9},
-  {0x8fa5, 0xedb9aa},
-  {0x8fa6, 0xedb9ab},
-  {0x8fa7, 0xedb9ac},
-  {0x8fa8, 0xeb87a6},
-  {0x8fa9, 0xeb87a7},
-  {0x8faa, 0xedb9ad},
-  {0x8fab, 0xeb87a8},
-  {0x8fac, 0xedb9ae},
-  {0x8fad, 0xedb9af},
-  {0x8fae, 0xedb9b0},
-  {0x8faf, 0xedb9b1},
-  {0x8fb0, 0xeb8ebd},
-  {0x8fb1, 0xeca3a8},
-  {0x8fb2, 0xedb9b2},
-  {0x8fb3, 0xedb9b3},
-  {0x8fb4, 0xedb9b4},
-  {0x8fb5, 0xedb9b5},
-  {0x8fb6, 0xee9781},
-  {0x8fb7, 0xedb9b6},
-  {0x8fb8, 0xedb9b7},
-  {0x8fb9, 0xeb879f},
-  {0x8fba, 0xedb9b8},
-  {0x8fbb, 0xedb9b9},
-  {0x8fbc, 0xedb9ba},
-  {0x8fbd, 0xec8789},
-  {0x8fbe, 0xeb93af},
-  {0x8fbf, 0xedb9bb},
-  {0x8fc0, 0xedb9bc},
-  {0x8fc1, 0xec9ea8},
-  {0x8fc2, 0xed8f98},
-  {0x8fc3, 0xedb9bd},
-  {0x8fc4, 0xec9bb9},
-  {0x8fc5, 0xed86b8},
-  {0x8fc6, 0xedb9be},
-  {0x8fc7, 0xeba7bd},
-  {0x8fc8, 0xec8bb5},
-  {0x8fc9, 0xedba80},
-  {0x8fca, 0xedba81},
-  {0x8fcb, 0xedba82},
-  {0x8fcc, 0xedba83},
-  {0x8fcd, 0xedba84},
-  {0x8fce, 0xed8ead},
-  {0x8fcf, 0xedba85},
-  {0x8fd0, 0xed938b},
-  {0x8fd1, 0xebb7bc},
-  {0x8fd2, 0xedba86},
-  {0x8fd3, 0xee9782},
-  {0x8fd4, 0xeb9eb5},
-  {0x8fd5, 0xee9783},
-  {0x8fd6, 0xedba87},
-  {0x8fd7, 0xedba88},
-  {0x8fd8, 0xebaeb9},
-  {0x8fd9, 0xed97a2},
-  {0x8fda, 0xedba89},
-  {0x8fdb, 0xebb7b8},
-  {0x8fdc, 0xed92b6},
-  {0x8fdd, 0xecbaa5},
-  {0x8fde, 0xec86ac},
-  {0x8fdf, 0xeb8f99},
-  {0x8fe0, 0xedba8a},
-  {0x8fe1, 0xedba8b},
-  {0x8fe2, 0xecb3b6},
-  {0x8fe3, 0xedba8c},
-  {0x8fe4, 0xee9786},
-  {0x8fe5, 0xee9784},
-  {0x8fe6, 0xee9788},
-  {0x8fe7, 0xedba8d},
-  {0x8fe8, 0xee978a},
-  {0x8fe9, 0xee9787},
-  {0x8fea, 0xeb978f},
-  {0x8feb, 0xec9b88},
-  {0x8fec, 0xedba8e},
-  {0x8fed, 0xeb97bc},
-  {0x8fee, 0xee9785},
-  {0x8fef, 0xedba8f},
-  {0x8ff0, 0xecabb6},
-  {0x8ff1, 0xedba90},
-  {0x8ff2, 0xedba91},
-  {0x8ff3, 0xee9789},
-  {0x8ff4, 0xedba92},
-  {0x8ff5, 0xedba93},
-  {0x8ff6, 0xedba94},
-  {0x8ff7, 0xec8f94},
-  {0x8ff8, 0xeb8785},
-  {0x8ff9, 0xebb2a3},
-  {0x8ffa, 0xedba95},
-  {0x8ffb, 0xedba96},
-  {0x8ffc, 0xedba97},
-  {0x8ffd, 0xed9eb7},
-  {0x8ffe, 0xedba98},
-  {0x8fff, 0xedba99},
-  {0x9000, 0xecb78b},
-  {0x9001, 0xecaf8d},
-  {0x9002, 0xecab8a},
-  {0x9003, 0xecb393},
-  {0x9004, 0xee978c},
-  {0x9005, 0xee978b},
-  {0x9006, 0xec93a6},
-  {0x9007, 0xedba9a},
-  {0x9008, 0xedba9b},
-  {0x9009, 0xed86a1},
-  {0x900a, 0xed86b7},
-  {0x900b, 0xee978d},
-  {0x900c, 0xedba9c},
-  {0x900d, 0xee9790},
-  {0x900e, 0xedba9d},
-  {0x900f, 0xecb6b8},
-  {0x9010, 0xed9bb0},
-  {0x9011, 0xee978f},
-  {0x9012, 0xeb979d},
-  {0x9013, 0xedba9e},
-  {0x9014, 0xecb6be},
-  {0x9015, 0xedba9f},
-  {0x9016, 0xee9791},
-  {0x9017, 0xeb9aba},
-  {0x9018, 0xedbaa0},
-  {0x9019, 0xedbd80},
-  {0x901a, 0xecb6a8},
-  {0x901b, 0xeba7a4},
-  {0x901c, 0xedbd81},
-  {0x901d, 0xecab85},
-  {0x901e, 0xeb8f91},
-  {0x901f, 0xecaf99},
-  {0x9020, 0xed93ac},
-  {0x9021, 0xee9792},
-  {0x9022, 0xeb9faa},
-  {0x9023, 0xedbd82},
-  {0x9024, 0xedbd83},
-  {0x9025, 0xedbd84},
-  {0x9026, 0xee978e},
-  {0x9027, 0xedbd85},
-  {0x9028, 0xedbd86},
-  {0x9029, 0xedbd87},
-  {0x902a, 0xedbd88},
-  {0x902b, 0xedbd89},
-  {0x902c, 0xedbd8a},
-  {0x902d, 0xee9795},
-  {0x902e, 0xeb93be},
-  {0x902f, 0xee9796},
-  {0x9030, 0xedbd8b},
-  {0x9031, 0xedbd8c},
-  {0x9032, 0xedbd8d},
-  {0x9033, 0xedbd8e},
-  {0x9034, 0xedbd8f},
-  {0x9035, 0xee9793},
-  {0x9036, 0xee9794},
-  {0x9037, 0xedbd90},
-  {0x9038, 0xed8b9d},
-  {0x9039, 0xedbd91},
-  {0x903a, 0xedbd92},
-  {0x903b, 0xec8b9f},
-  {0x903c, 0xeb8786},
-  {0x903d, 0xedbd93},
-  {0x903e, 0xed8fa2},
-  {0x903f, 0xedbd94},
-  {0x9040, 0xedbd95},
-  {0x9041, 0xeb9b9d},
-  {0x9042, 0xecafac},
-  {0x9043, 0xedbd96},
-  {0x9044, 0xee9797},
-  {0x9045, 0xedbd97},
-  {0x9046, 0xedbd98},
-  {0x9047, 0xed8fb6},
-  {0x9048, 0xedbd99},
-  {0x9049, 0xedbd9a},
-  {0x904a, 0xedbd9b},
-  {0x904b, 0xedbd9c},
-  {0x904c, 0xedbd9d},
-  {0x904d, 0xeb87a9},
-  {0x904e, 0xedbd9e},
-  {0x904f, 0xeb9bb4},
-  {0x9050, 0xee979a},
-  {0x9051, 0xee9798},
-  {0x9052, 0xee9799},
-  {0x9053, 0xeb9780},
-  {0x9054, 0xedbd9f},
-  {0x9055, 0xedbda0},
-  {0x9056, 0xedbda1},
-  {0x9057, 0xed8b85},
-  {0x9058, 0xee979c},
-  {0x9059, 0xedbda2},
-  {0x905a, 0xedbda3},
-  {0x905b, 0xee979e},
-  {0x905c, 0xedbda4},
-  {0x905d, 0xedbda5},
-  {0x905e, 0xedbda6},
-  {0x905f, 0xedbda7},
-  {0x9060, 0xedbda8},
-  {0x9061, 0xedbda9},
-  {0x9062, 0xee979d},
-  {0x9063, 0xec9eb2},
-  {0x9064, 0xedbdaa},
-  {0x9065, 0xed8aa3},
-  {0x9066, 0xedbdab},
-  {0x9067, 0xedbdac},
-  {0x9068, 0xee979b},
-  {0x9069, 0xedbdad},
-  {0x906a, 0xedbdae},
-  {0x906b, 0xedbdaf},
-  {0x906c, 0xedbdb0},
-  {0x906d, 0xed93a2},
-  {0x906e, 0xed979a},
-  {0x906f, 0xedbdb1},
-  {0x9070, 0xedbdb2},
-  {0x9071, 0xedbdb3},
-  {0x9072, 0xedbdb4},
-  {0x9073, 0xedbdb5},
-  {0x9074, 0xee97a0},
-  {0x9075, 0xed9fb1},
-  {0x9076, 0xedbdb6},
-  {0x9077, 0xedbdb7},
-  {0x9078, 0xedbdb8},
-  {0x9079, 0xedbdb9},
-  {0x907a, 0xedbdba},
-  {0x907b, 0xedbdbb},
-  {0x907c, 0xedbdbc},
-  {0x907d, 0xee97a1},
-  {0x907e, 0xedbdbd},
-  {0x907f, 0xeb879c},
-  {0x9080, 0xed87bb},
-  {0x9081, 0xedbdbe},
-  {0x9082, 0xee97a2},
-  {0x9083, 0xee97a4},
-  {0x9084, 0xedbe80},
-  {0x9085, 0xedbe81},
-  {0x9086, 0xedbe82},
-  {0x9087, 0xedbe83},
-  {0x9088, 0xee97a3},
-  {0x9089, 0xedbe84},
-  {0x908a, 0xedbe85},
-  {0x908b, 0xee97a5},
-  {0x908c, 0xedbe86},
-  {0x908d, 0xedbe87},
-  {0x908e, 0xedbe88},
-  {0x908f, 0xedbe89},
-  {0x9090, 0xedbe8a},
-  {0x9091, 0xed8b98},
-  {0x9092, 0xedbe8b},
-  {0x9093, 0xeb978b},
-  {0x9094, 0xedbe8c},
-  {0x9095, 0xee9f9f},
-  {0x9096, 0xedbe8d},
-  {0x9097, 0xedabb5},
-  {0x9098, 0xedbe8e},
-  {0x9099, 0xedabb8},
-  {0x909a, 0xedbe8f},
-  {0x909b, 0xedabb6},
-  {0x909c, 0xedbe90},
-  {0x909d, 0xedabb7},
-  {0x909e, 0xedbe91},
-  {0x909f, 0xedbe92},
-  {0x90a0, 0xedbe93},
-  {0x90a1, 0xedabba},
-  {0x90a2, 0xed838f},
-  {0x90a3, 0xec9387},
-  {0x90a4, 0xedbe94},
-  {0x90a5, 0xedbe95},
-  {0x90a6, 0xeb83ae},
-  {0x90a7, 0xedbe96},
-  {0x90a8, 0xedbe97},
-  {0x90a9, 0xedbe98},
-  {0x90aa, 0xed82b0},
-  {0x90ab, 0xedbe99},
-  {0x90ac, 0xedabb9},
-  {0x90ad, 0xedbe9a},
-  {0x90ae, 0xed8f8a},
-  {0x90af, 0xebaaaa},
-  {0x90b0, 0xedaea2},
-  {0x90b1, 0xec9fb1},
-  {0x90b2, 0xedbe9b},
-  {0x90b3, 0xedabbc},
-  {0x90b4, 0xedabbb},
-  {0x90b5, 0xeca79b},
-  {0x90b6, 0xedabbd},
-  {0x90b7, 0xedbe9c},
-  {0x90b8, 0xedaea1},
-  {0x90b9, 0xed9f9e},
-  {0x90ba, 0xedabbe},
-  {0x90bb, 0xec879a},
-  {0x90bc, 0xedbe9d},
-  {0x90bd, 0xedbe9e},
-  {0x90be, 0xedaea5},
-  {0x90bf, 0xedbe9f},
-  {0x90c0, 0xedbea0},
-  {0x90c1, 0xed8fb4},
-  {0x90c2, 0xee8180},
-  {0x90c3, 0xee8181},
-  {0x90c4, 0xedaea7},
-  {0x90c5, 0xedaea4},
-  {0x90c6, 0xee8182},
-  {0x90c7, 0xedaea8},
-  {0x90c8, 0xee8183},
-  {0x90c9, 0xee8184},
-  {0x90ca, 0xebb6bc},
-  {0x90cb, 0xee8185},
-  {0x90cc, 0xee8186},
-  {0x90cd, 0xee8187},
-  {0x90ce, 0xec8389},
-  {0x90cf, 0xedaea3},
-  {0x90d0, 0xedaea6},
-  {0x90d1, 0xed9aa3},
-  {0x90d2, 0xee8188},
-  {0x90d3, 0xedaea9},
-  {0x90d4, 0xee8189},
-  {0x90d5, 0xee818a},
-  {0x90d6, 0xee818b},
-  {0x90d7, 0xedaead},
-  {0x90d8, 0xee818c},
-  {0x90d9, 0xee818d},
-  {0x90da, 0xee818e},
-  {0x90db, 0xedaeae},
-  {0x90dc, 0xedaeac},
-  {0x90dd, 0xebab82},
-  {0x90de, 0xee818f},
-  {0x90df, 0xee8190},
-  {0x90e0, 0xee8191},
-  {0x90e1, 0xebbea4},
-  {0x90e2, 0xedaeab},
-  {0x90e3, 0xee8192},
-  {0x90e4, 0xee8193},
-  {0x90e5, 0xee8194},
-  {0x90e6, 0xedaeaa},
-  {0x90e7, 0xed9387},
-  {0x90e8, 0xeb8abf},
-  {0x90e9, 0xee8195},
-  {0x90ea, 0xee8196},
-  {0x90eb, 0xedaeaf},
-  {0x90ec, 0xee8197},
-  {0x90ed, 0xeba7b9},
-  {0x90ee, 0xee8198},
-  {0x90ef, 0xedaeb0},
-  {0x90f0, 0xee8199},
-  {0x90f1, 0xee819a},
-  {0x90f2, 0xee819b},
-  {0x90f3, 0xee819c},
-  {0x90f4, 0xeb8ebb},
-  {0x90f5, 0xee819d},
-  {0x90f6, 0xee819e},
-  {0x90f7, 0xee819f},
-  {0x90f8, 0xeb96a6},
-  {0x90f9, 0xee81a0},
-  {0x90fa, 0xee81a1},
-  {0x90fb, 0xee81a2},
-  {0x90fc, 0xee81a3},
-  {0x90fd, 0xeb9abc},
-  {0x90fe, 0xedaeb1},
-  {0x90ff, 0xee81a4},
-  {0x9100, 0xee81a5},
-  {0x9101, 0xee81a6},
-  {0x9102, 0xeb9bb5},
-  {0x9103, 0xee81a7},
-  {0x9104, 0xedaeb2},
-  {0x9105, 0xee81a8},
-  {0x9106, 0xee81a9},
-  {0x9107, 0xee81aa},
-  {0x9108, 0xee81ab},
-  {0x9109, 0xee81ac},
-  {0x910a, 0xee81ad},
-  {0x910b, 0xee81ae},
-  {0x910c, 0xee81af},
-  {0x910d, 0xee81b0},
-  {0x910e, 0xee81b1},
-  {0x910f, 0xee81b2},
-  {0x9110, 0xee81b3},
-  {0x9111, 0xee81b4},
-  {0x9112, 0xee81b5},
-  {0x9113, 0xee81b6},
-  {0x9114, 0xee81b7},
-  {0x9115, 0xee81b8},
-  {0x9116, 0xee81b9},
-  {0x9117, 0xee81ba},
-  {0x9118, 0xee81bb},
-  {0x9119, 0xeb8789},
-  {0x911a, 0xee81bc},
-  {0x911b, 0xee81bd},
-  {0x911c, 0xee81be},
-  {0x911d, 0xee8280},
-  {0x911e, 0xedaeb4},
-  {0x911f, 0xee8281},
-  {0x9120, 0xee8282},
-  {0x9121, 0xee8283},
-  {0x9122, 0xedaeb3},
-  {0x9123, 0xedaeb5},
-  {0x9124, 0xee8284},
-  {0x9125, 0xee8285},
-  {0x9126, 0xee8286},
-  {0x9127, 0xee8287},
-  {0x9128, 0xee8288},
-  {0x9129, 0xee8289},
-  {0x912a, 0xee828a},
-  {0x912b, 0xee828b},
-  {0x912c, 0xee828c},
-  {0x912d, 0xee828d},
-  {0x912e, 0xee828e},
-  {0x912f, 0xedaeb7},
-  {0x9130, 0xee828f},
-  {0x9131, 0xedaeb6},
-  {0x9132, 0xee8290},
-  {0x9133, 0xee8291},
-  {0x9134, 0xee8292},
-  {0x9135, 0xee8293},
-  {0x9136, 0xee8294},
-  {0x9137, 0xee8295},
-  {0x9138, 0xee8296},
-  {0x9139, 0xedaeb8},
-  {0x913a, 0xee8297},
-  {0x913b, 0xee8298},
-  {0x913c, 0xee8299},
-  {0x913d, 0xee829a},
-  {0x913e, 0xee829b},
-  {0x913f, 0xee829c},
-  {0x9140, 0xee829d},
-  {0x9141, 0xee829e},
-  {0x9142, 0xee829f},
-  {0x9143, 0xedaeb9},
-  {0x9144, 0xee82a0},
-  {0x9145, 0xee8580},
-  {0x9146, 0xedaeba},
-  {0x9147, 0xee8581},
-  {0x9148, 0xee8582},
-  {0x9149, 0xed8f8f},
-  {0x914a, 0xef93ba},
-  {0x914b, 0xec9fb5},
-  {0x914c, 0xed9f83},
-  {0x914d, 0xec97a4},
-  {0x914e, 0xef93bc},
-  {0x914f, 0xef93bd},
-  {0x9150, 0xef93bb},
-  {0x9151, 0xee8583},
-  {0x9152, 0xebbb86},
-  {0x9153, 0xee8584},
-  {0x9154, 0xee8585},
-  {0x9155, 0xee8586},
-  {0x9156, 0xee8587},
-  {0x9157, 0xed83af},
-  {0x9158, 0xee8588},
-  {0x9159, 0xee8589},
-  {0x915a, 0xeb9f93},
-  {0x915b, 0xee858a},
-  {0x915c, 0xee858b},
-  {0x915d, 0xed938d},
-  {0x915e, 0xecb2aa},
-  {0x915f, 0xee858c},
-  {0x9160, 0xee858d},
-  {0x9161, 0xef96a2},
-  {0x9162, 0xef96a1},
-  {0x9163, 0xebaaa8},
-  {0x9164, 0xef93be},
-  {0x9165, 0xecaf96},
-  {0x9166, 0xee858e},
-  {0x9167, 0xee858f},
-  {0x9168, 0xee8590},
-  {0x9169, 0xef96a4},
-  {0x916a, 0xec8392},
-  {0x916b, 0xee8591},
-  {0x916c, 0xeb8faa},
-  {0x916d, 0xee8592},
-  {0x916e, 0xecb6aa},
-  {0x916f, 0xef96a5},
-  {0x9170, 0xef96a3},
-  {0x9171, 0xebb6b4},
-  {0x9172, 0xef96a8},
-  {0x9173, 0xee8593},
-  {0x9174, 0xef96a9},
-  {0x9175, 0xebb78d},
-  {0x9176, 0xec8eb8},
-  {0x9177, 0xebbfa1},
-  {0x9178, 0xecafa1},
-  {0x9179, 0xef96aa},
-  {0x917a, 0xee8594},
-  {0x917b, 0xee8595},
-  {0x917c, 0xee8596},
-  {0x917d, 0xef96a6},
-  {0x917e, 0xef96a7},
-  {0x917f, 0xec93b0},
-  {0x9180, 0xee8597},
-  {0x9181, 0xee8598},
-  {0x9182, 0xee8599},
-  {0x9183, 0xee859a},
-  {0x9184, 0xee859b},
-  {0x9185, 0xef96ac},
-  {0x9186, 0xee859c},
-  {0x9187, 0xeb92bc},
-  {0x9188, 0xee859d},
-  {0x9189, 0xed9fad},
-  {0x918a, 0xee859e},
-  {0x918b, 0xeb9397},
-  {0x918c, 0xef96ab},
-  {0x918d, 0xef96ae},
-  {0x918e, 0xee859f},
-  {0x918f, 0xee85a0},
-  {0x9190, 0xef96ad},
-  {0x9191, 0xef96af},
-  {0x9192, 0xed8391},
-  {0x9193, 0xee85a1},
-  {0x9194, 0xee85a2},
-  {0x9195, 0xee85a3},
-  {0x9196, 0xee85a4},
-  {0x9197, 0xee85a5},
-  {0x9198, 0xee85a6},
-  {0x9199, 0xee85a7},
-  {0x919a, 0xec8f91},
-  {0x919b, 0xeca2a9},
-  {0x919c, 0xee85a8},
-  {0x919d, 0xee85a9},
-  {0x919e, 0xee85aa},
-  {0x919f, 0xee85ab},
-  {0x91a0, 0xee85ac},
-  {0x91a1, 0xee85ad},
-  {0x91a2, 0xef96b0},
-  {0x91a3, 0xef96b1},
-  {0x91a4, 0xee85ae},
-  {0x91a5, 0xee85af},
-  {0x91a6, 0xee85b0},
-  {0x91a7, 0xee85b1},
-  {0x91a8, 0xee85b2},
-  {0x91a9, 0xee85b3},
-  {0x91aa, 0xef96b2},
-  {0x91ab, 0xee85b4},
-  {0x91ac, 0xee85b5},
-  {0x91ad, 0xef96b3},
-  {0x91ae, 0xef96b4},
-  {0x91af, 0xef96b5},
-  {0x91b0, 0xee85b6},
-  {0x91b1, 0xee85b7},
-  {0x91b2, 0xee85b8},
-  {0x91b3, 0xee85b9},
-  {0x91b4, 0xef96b7},
-  {0x91b5, 0xef96b6},
-  {0x91b6, 0xee85ba},
-  {0x91b7, 0xee85bb},
-  {0x91b8, 0xee85bc},
-  {0x91b9, 0xee85bd},
-  {0x91ba, 0xef96b8},
-  {0x91bb, 0xee85be},
-  {0x91bc, 0xee8680},
-  {0x91bd, 0xee8681},
-  {0x91be, 0xee8682},
-  {0x91bf, 0xee8683},
-  {0x91c0, 0xee8684},
-  {0x91c1, 0xee8685},
-  {0x91c2, 0xee8686},
-  {0x91c3, 0xee8687},
-  {0x91c4, 0xee8688},
-  {0x91c5, 0xee8689},
-  {0x91c6, 0xee868a},
-  {0x91c7, 0xeb8b89},
-  {0x91c8, 0xee868b},
-  {0x91c9, 0xed8f94},
-  {0x91ca, 0xecab8d},
-  {0x91cb, 0xee868c},
-  {0x91cc, 0xec83af},
-  {0x91cd, 0xed9b98},
-  {0x91ce, 0xed8ab0},
-  {0x91cf, 0xec86bf},
-  {0x91d0, 0xee868d},
-  {0x91d1, 0xebb7b0},
-  {0x91d2, 0xee868e},
-  {0x91d3, 0xee868f},
-  {0x91d4, 0xee8690},
-  {0x91d5, 0xee8691},
-  {0x91d6, 0xee8692},
-  {0x91d7, 0xee8693},
-  {0x91d8, 0xee8694},
-  {0x91d9, 0xee8695},
-  {0x91da, 0xee8696},
-  {0x91db, 0xee8697},
-  {0x91dc, 0xeba2aa},
-  {0x91dd, 0xee8698},
-  {0x91de, 0xee8699},
-  {0x91df, 0xee869a},
-  {0x91e0, 0xee869b},
-  {0x91e1, 0xee869c},
-  {0x91e2, 0xee869d},
-  {0x91e3, 0xee869e},
-  {0x91e4, 0xee869f},
-  {0x91e5, 0xee86a0},
-  {0x91e6, 0xee8980},
-  {0x91e7, 0xee8981},
-  {0x91e8, 0xee8982},
-  {0x91e9, 0xee8983},
-  {0x91ea, 0xee8984},
-  {0x91eb, 0xee8985},
-  {0x91ec, 0xee8986},
-  {0x91ed, 0xee8987},
-  {0x91ee, 0xee8988},
-  {0x91ef, 0xee8989},
-  {0x91f0, 0xee898a},
-  {0x91f1, 0xee898b},
-  {0x91f2, 0xee898c},
-  {0x91f3, 0xee898d},
-  {0x91f4, 0xee898e},
-  {0x91f5, 0xee898f},
-  {0x91f6, 0xee8990},
-  {0x91f7, 0xee8991},
-  {0x91f8, 0xee8992},
-  {0x91f9, 0xee8993},
-  {0x91fa, 0xee8994},
-  {0x91fb, 0xee8995},
-  {0x91fc, 0xee8996},
-  {0x91fd, 0xee8997},
-  {0x91fe, 0xee8998},
-  {0x91ff, 0xee8999},
-  {0x9200, 0xee899a},
-  {0x9201, 0xee899b},
-  {0x9202, 0xee899c},
-  {0x9203, 0xee899d},
-  {0x9204, 0xee899e},
-  {0x9205, 0xee899f},
-  {0x9206, 0xee89a0},
-  {0x9207, 0xee89a1},
-  {0x9208, 0xee89a2},
-  {0x9209, 0xee89a3},
-  {0x920a, 0xee89a4},
-  {0x920b, 0xee89a5},
-  {0x920c, 0xee89a6},
-  {0x920d, 0xee89a7},
-  {0x920e, 0xee89a8},
-  {0x920f, 0xee89a9},
-  {0x9210, 0xee89aa},
-  {0x9211, 0xee89ab},
-  {0x9212, 0xee89ac},
-  {0x9213, 0xee89ad},
-  {0x9214, 0xee89ae},
-  {0x9215, 0xee89af},
-  {0x9216, 0xee89b0},
-  {0x9217, 0xee89b1},
-  {0x9218, 0xee89b2},
-  {0x9219, 0xee89b3},
-  {0x921a, 0xee89b4},
-  {0x921b, 0xee89b5},
-  {0x921c, 0xee89b6},
-  {0x921d, 0xee89b7},
-  {0x921e, 0xee89b8},
-  {0x921f, 0xee89b9},
-  {0x9220, 0xee89ba},
-  {0x9221, 0xee89bb},
-  {0x9222, 0xee89bc},
-  {0x9223, 0xee89bd},
-  {0x9224, 0xee89be},
-  {0x9225, 0xee8a80},
-  {0x9226, 0xee8a81},
-  {0x9227, 0xee8a82},
-  {0x9228, 0xee8a83},
-  {0x9229, 0xee8a84},
-  {0x922a, 0xee8a85},
-  {0x922b, 0xee8a86},
-  {0x922c, 0xee8a87},
-  {0x922d, 0xee8a88},
-  {0x922e, 0xee8a89},
-  {0x922f, 0xee8a8a},
-  {0x9230, 0xee8a8b},
-  {0x9231, 0xee8a8c},
-  {0x9232, 0xee8a8d},
-  {0x9233, 0xee8a8e},
-  {0x9234, 0xee8a8f},
-  {0x9235, 0xee8a90},
-  {0x9236, 0xee8a91},
-  {0x9237, 0xee8a92},
-  {0x9238, 0xee8a93},
-  {0x9239, 0xee8a94},
-  {0x923a, 0xee8a95},
-  {0x923b, 0xee8a96},
-  {0x923c, 0xee8a97},
-  {0x923d, 0xee8a98},
-  {0x923e, 0xee8a99},
-  {0x923f, 0xee8a9a},
-  {0x9240, 0xee8a9b},
-  {0x9241, 0xee8a9c},
-  {0x9242, 0xee8a9d},
-  {0x9243, 0xee8a9e},
-  {0x9244, 0xee8a9f},
-  {0x9245, 0xee8aa0},
-  {0x9246, 0xee8d80},
-  {0x9247, 0xee8d81},
-  {0x9248, 0xee8d82},
-  {0x9249, 0xee8d83},
-  {0x924a, 0xee8d84},
-  {0x924b, 0xee8d85},
-  {0x924c, 0xee8d86},
-  {0x924d, 0xee8d87},
-  {0x924e, 0xee8d88},
-  {0x924f, 0xee8d89},
-  {0x9250, 0xee8d8a},
-  {0x9251, 0xee8d8b},
-  {0x9252, 0xee8d8c},
-  {0x9253, 0xee8d8d},
-  {0x9254, 0xee8d8e},
-  {0x9255, 0xee8d8f},
-  {0x9256, 0xee8d90},
-  {0x9257, 0xee8d91},
-  {0x9258, 0xee8d92},
-  {0x9259, 0xee8d93},
-  {0x925a, 0xee8d94},
-  {0x925b, 0xee8d95},
-  {0x925c, 0xee8d96},
-  {0x925d, 0xee8d97},
-  {0x925e, 0xee8d98},
-  {0x925f, 0xee8d99},
-  {0x9260, 0xee8d9a},
-  {0x9261, 0xee8d9b},
-  {0x9262, 0xee8d9c},
-  {0x9263, 0xee8d9d},
-  {0x9264, 0xee8d9e},
-  {0x9265, 0xee8d9f},
-  {0x9266, 0xee8da0},
-  {0x9267, 0xee8da1},
-  {0x9268, 0xee8da2},
-  {0x9269, 0xee8da3},
-  {0x926a, 0xee8da4},
-  {0x926b, 0xee8da5},
-  {0x926c, 0xee8da6},
-  {0x926d, 0xee8da7},
-  {0x926e, 0xee8da8},
-  {0x926f, 0xee8da9},
-  {0x9270, 0xee8daa},
-  {0x9271, 0xee8dab},
-  {0x9272, 0xee8dac},
-  {0x9273, 0xee8dad},
-  {0x9274, 0xebb3b8},
-  {0x9275, 0xee8dae},
-  {0x9276, 0xee8daf},
-  {0x9277, 0xee8db0},
-  {0x9278, 0xee8db1},
-  {0x9279, 0xee8db2},
-  {0x927a, 0xee8db3},
-  {0x927b, 0xee8db4},
-  {0x927c, 0xee8db5},
-  {0x927d, 0xee8db6},
-  {0x927e, 0xee8db7},
-  {0x927f, 0xee8db8},
-  {0x9280, 0xee8db9},
-  {0x9281, 0xee8dba},
-  {0x9282, 0xee8dbb},
-  {0x9283, 0xee8dbc},
-  {0x9284, 0xee8dbd},
-  {0x9285, 0xee8dbe},
-  {0x9286, 0xee8e80},
-  {0x9287, 0xee8e81},
-  {0x9288, 0xee8e82},
-  {0x9289, 0xee8e83},
-  {0x928a, 0xee8e84},
-  {0x928b, 0xee8e85},
-  {0x928c, 0xee8e86},
-  {0x928d, 0xee8e87},
-  {0x928e, 0xef9b86},
-  {0x928f, 0xee8e88},
-  {0x9290, 0xee8e89},
-  {0x9291, 0xee8e8a},
-  {0x9292, 0xee8e8b},
-  {0x9293, 0xee8e8c},
-  {0x9294, 0xee8e8d},
-  {0x9295, 0xee8e8e},
-  {0x9296, 0xee8e8f},
-  {0x9297, 0xee8e90},
-  {0x9298, 0xee8e91},
-  {0x9299, 0xee8e92},
-  {0x929a, 0xee8e93},
-  {0x929b, 0xee8e94},
-  {0x929c, 0xee8e95},
-  {0x929d, 0xee8e96},
-  {0x929e, 0xee8e97},
-  {0x929f, 0xee8e98},
-  {0x92a0, 0xee8e99},
-  {0x92a1, 0xee8e9a},
-  {0x92a2, 0xee8e9b},
-  {0x92a3, 0xee8e9c},
-  {0x92a4, 0xee8e9d},
-  {0x92a5, 0xee8e9e},
-  {0x92a6, 0xee8e9f},
-  {0x92a7, 0xee8ea0},
-  {0x92a8, 0xee9180},
-  {0x92a9, 0xee9181},
-  {0x92aa, 0xee9182},
-  {0x92ab, 0xee9183},
-  {0x92ac, 0xee9184},
-  {0x92ad, 0xee9185},
-  {0x92ae, 0xef9b87},
-  {0x92af, 0xee9186},
-  {0x92b0, 0xee9187},
-  {0x92b1, 0xee9188},
-  {0x92b2, 0xee9189},
-  {0x92b3, 0xee918a},
-  {0x92b4, 0xee918b},
-  {0x92b5, 0xee918c},
-  {0x92b6, 0xee918d},
-  {0x92b7, 0xee918e},
-  {0x92b8, 0xee918f},
-  {0x92b9, 0xee9190},
-  {0x92ba, 0xee9191},
-  {0x92bb, 0xee9192},
-  {0x92bc, 0xee9193},
-  {0x92bd, 0xee9194},
-  {0x92be, 0xee9195},
-  {0x92bf, 0xee9196},
-  {0x92c0, 0xee9197},
-  {0x92c1, 0xee9198},
-  {0x92c2, 0xee9199},
-  {0x92c3, 0xee919a},
-  {0x92c4, 0xee919b},
-  {0x92c5, 0xee919c},
-  {0x92c6, 0xee919d},
-  {0x92c7, 0xee919e},
-  {0x92c8, 0xef9b88},
-  {0x92c9, 0xee919f},
-  {0x92ca, 0xee91a0},
-  {0x92cb, 0xee91a1},
-  {0x92cc, 0xee91a2},
-  {0x92cd, 0xee91a3},
-  {0x92ce, 0xee91a4},
-  {0x92cf, 0xee91a5},
-  {0x92d0, 0xee91a6},
-  {0x92d1, 0xee91a7},
-  {0x92d2, 0xee91a8},
-  {0x92d3, 0xee91a9},
-  {0x92d4, 0xee91aa},
-  {0x92d5, 0xee91ab},
-  {0x92d6, 0xee91ac},
-  {0x92d7, 0xee91ad},
-  {0x92d8, 0xee91ae},
-  {0x92d9, 0xee91af},
-  {0x92da, 0xee91b0},
-  {0x92db, 0xee91b1},
-  {0x92dc, 0xee91b2},
-  {0x92dd, 0xee91b3},
-  {0x92de, 0xee91b4},
-  {0x92df, 0xee91b5},
-  {0x92e0, 0xee91b6},
-  {0x92e1, 0xee91b7},
-  {0x92e2, 0xee91b8},
-  {0x92e3, 0xee91b9},
-  {0x92e4, 0xee91ba},
-  {0x92e5, 0xee91bb},
-  {0x92e6, 0xee91bc},
-  {0x92e7, 0xee91bd},
-  {0x92e8, 0xee91be},
-  {0x92e9, 0xee9280},
-  {0x92ea, 0xee9281},
-  {0x92eb, 0xee9282},
-  {0x92ec, 0xee9283},
-  {0x92ed, 0xee9284},
-  {0x92ee, 0xee9285},
-  {0x92ef, 0xee9286},
-  {0x92f0, 0xee9287},
-  {0x92f1, 0xee9288},
-  {0x92f2, 0xee9289},
-  {0x92f3, 0xee928a},
-  {0x92f4, 0xee928b},
-  {0x92f5, 0xee928c},
-  {0x92f6, 0xee928d},
-  {0x92f7, 0xee928e},
-  {0x92f8, 0xee928f},
-  {0x92f9, 0xee9290},
-  {0x92fa, 0xee9291},
-  {0x92fb, 0xee9292},
-  {0x92fc, 0xee9293},
-  {0x92fd, 0xee9294},
-  {0x92fe, 0xee9295},
-  {0x92ff, 0xee9296},
-  {0x9300, 0xee9297},
-  {0x9301, 0xee9298},
-  {0x9302, 0xee9299},
-  {0x9303, 0xee929a},
-  {0x9304, 0xee929b},
-  {0x9305, 0xee929c},
-  {0x9306, 0xee929d},
-  {0x9307, 0xee929e},
-  {0x9308, 0xee929f},
-  {0x9309, 0xee92a0},
-  {0x930a, 0xee9580},
-  {0x930b, 0xee9581},
-  {0x930c, 0xee9582},
-  {0x930d, 0xee9583},
-  {0x930e, 0xee9584},
-  {0x930f, 0xee9585},
-  {0x9310, 0xee9586},
-  {0x9311, 0xee9587},
-  {0x9312, 0xee9588},
-  {0x9313, 0xee9589},
-  {0x9314, 0xee958a},
-  {0x9315, 0xee958b},
-  {0x9316, 0xee958c},
-  {0x9317, 0xee958d},
-  {0x9318, 0xee958e},
-  {0x9319, 0xee958f},
-  {0x931a, 0xee9590},
-  {0x931b, 0xee9591},
-  {0x931c, 0xee9592},
-  {0x931d, 0xee9593},
-  {0x931e, 0xee9594},
-  {0x931f, 0xee9595},
-  {0x9320, 0xee9596},
-  {0x9321, 0xee9597},
-  {0x9322, 0xee9598},
-  {0x9323, 0xee9599},
-  {0x9324, 0xee959a},
-  {0x9325, 0xee959b},
-  {0x9326, 0xee959c},
-  {0x9327, 0xee959d},
-  {0x9328, 0xee959e},
-  {0x9329, 0xee959f},
-  {0x932a, 0xee95a0},
-  {0x932b, 0xee95a1},
-  {0x932c, 0xee95a2},
-  {0x932d, 0xee95a3},
-  {0x932e, 0xee95a4},
-  {0x932f, 0xee95a5},
-  {0x9330, 0xee95a6},
-  {0x9331, 0xee95a7},
-  {0x9332, 0xee95a8},
-  {0x9333, 0xee95a9},
-  {0x9334, 0xee95aa},
-  {0x9335, 0xee95ab},
-  {0x9336, 0xee95ac},
-  {0x9337, 0xee95ad},
-  {0x9338, 0xee95ae},
-  {0x9339, 0xee95af},
-  {0x933a, 0xee95b0},
-  {0x933b, 0xee95b1},
-  {0x933c, 0xee95b2},
-  {0x933d, 0xee95b3},
-  {0x933e, 0xef9b89},
-  {0x933f, 0xee95b4},
-  {0x9340, 0xee95b5},
-  {0x9341, 0xee95b6},
-  {0x9342, 0xee95b7},
-  {0x9343, 0xee95b8},
-  {0x9344, 0xee95b9},
-  {0x9345, 0xee95ba},
-  {0x9346, 0xee95bb},
-  {0x9347, 0xee95bc},
-  {0x9348, 0xee95bd},
-  {0x9349, 0xee95be},
-  {0x934a, 0xee9680},
-  {0x934b, 0xee9681},
-  {0x934c, 0xee9682},
-  {0x934d, 0xee9683},
-  {0x934e, 0xee9684},
-  {0x934f, 0xee9685},
-  {0x9350, 0xee9686},
-  {0x9351, 0xee9687},
-  {0x9352, 0xee9688},
-  {0x9353, 0xee9689},
-  {0x9354, 0xee968a},
-  {0x9355, 0xee968b},
-  {0x9356, 0xee968c},
-  {0x9357, 0xee968d},
-  {0x9358, 0xee968e},
-  {0x9359, 0xee968f},
-  {0x935a, 0xee9690},
-  {0x935b, 0xee9691},
-  {0x935c, 0xee9692},
-  {0x935d, 0xee9693},
-  {0x935e, 0xee9694},
-  {0x935f, 0xee9695},
-  {0x9360, 0xee9696},
-  {0x9361, 0xee9697},
-  {0x9362, 0xee9698},
-  {0x9363, 0xee9699},
-  {0x9364, 0xee969a},
-  {0x9365, 0xee969b},
-  {0x9366, 0xee969c},
-  {0x9367, 0xee969d},
-  {0x9368, 0xee969e},
-  {0x9369, 0xee969f},
-  {0x936a, 0xef9b8a},
-  {0x936b, 0xee96a0},
-  {0x936c, 0xee9980},
-  {0x936d, 0xee9981},
-  {0x936e, 0xee9982},
-  {0x936f, 0xee9983},
-  {0x9370, 0xee9984},
-  {0x9371, 0xee9985},
-  {0x9372, 0xee9986},
-  {0x9373, 0xee9987},
-  {0x9374, 0xee9988},
-  {0x9375, 0xee9989},
-  {0x9376, 0xee998a},
-  {0x9377, 0xee998b},
-  {0x9378, 0xee998c},
-  {0x9379, 0xee998d},
-  {0x937a, 0xee998e},
-  {0x937b, 0xee998f},
-  {0x937c, 0xee9990},
-  {0x937d, 0xee9991},
-  {0x937e, 0xee9992},
-  {0x937f, 0xee9993},
-  {0x9380, 0xee9994},
-  {0x9381, 0xee9995},
-  {0x9382, 0xee9996},
-  {0x9383, 0xee9997},
-  {0x9384, 0xee9998},
-  {0x9385, 0xee9999},
-  {0x9386, 0xee999a},
-  {0x9387, 0xee999b},
-  {0x9388, 0xee999c},
-  {0x9389, 0xee999d},
-  {0x938a, 0xee999e},
-  {0x938b, 0xee999f},
-  {0x938c, 0xee99a0},
-  {0x938d, 0xee99a1},
-  {0x938e, 0xee99a2},
-  {0x938f, 0xef9b8c},
-  {0x9390, 0xee99a3},
-  {0x9391, 0xee99a4},
-  {0x9392, 0xee99a5},
-  {0x9393, 0xee99a6},
-  {0x9394, 0xee99a7},
-  {0x9395, 0xee99a8},
-  {0x9396, 0xee99a9},
-  {0x9397, 0xee99aa},
-  {0x9398, 0xee99ab},
-  {0x9399, 0xee99ac},
-  {0x939a, 0xee99ad},
-  {0x939b, 0xee99ae},
-  {0x939c, 0xee99af},
-  {0x939d, 0xee99b0},
-  {0x939e, 0xee99b1},
-  {0x939f, 0xee99b2},
-  {0x93a0, 0xee99b3},
-  {0x93a1, 0xee99b4},
-  {0x93a2, 0xee99b5},
-  {0x93a3, 0xee99b6},
-  {0x93a4, 0xee99b7},
-  {0x93a5, 0xee99b8},
-  {0x93a6, 0xee99b9},
-  {0x93a7, 0xee99ba},
-  {0x93a8, 0xee99bb},
-  {0x93a9, 0xee99bc},
-  {0x93aa, 0xee99bd},
-  {0x93ab, 0xee99be},
-  {0x93ac, 0xee9a80},
-  {0x93ad, 0xee9a81},
-  {0x93ae, 0xee9a82},
-  {0x93af, 0xee9a83},
-  {0x93b0, 0xee9a84},
-  {0x93b1, 0xee9a85},
-  {0x93b2, 0xee9a86},
-  {0x93b3, 0xee9a87},
-  {0x93b4, 0xee9a88},
-  {0x93b5, 0xee9a89},
-  {0x93b6, 0xee9a8a},
-  {0x93b7, 0xee9a8b},
-  {0x93b8, 0xee9a8c},
-  {0x93b9, 0xee9a8d},
-  {0x93ba, 0xee9a8e},
-  {0x93bb, 0xee9a8f},
-  {0x93bc, 0xee9a90},
-  {0x93bd, 0xee9a91},
-  {0x93be, 0xee9a92},
-  {0x93bf, 0xee9a93},
-  {0x93c0, 0xee9a94},
-  {0x93c1, 0xee9a95},
-  {0x93c2, 0xee9a96},
-  {0x93c3, 0xee9a97},
-  {0x93c4, 0xee9a98},
-  {0x93c5, 0xee9a99},
-  {0x93c6, 0xee9a9a},
-  {0x93c7, 0xee9a9b},
-  {0x93c8, 0xee9a9c},
-  {0x93c9, 0xee9a9d},
-  {0x93ca, 0xef9b8b},
-  {0x93cb, 0xee9a9e},
-  {0x93cc, 0xee9a9f},
-  {0x93cd, 0xee9aa0},
-  {0x93ce, 0xee9d80},
-  {0x93cf, 0xee9d81},
-  {0x93d0, 0xee9d82},
-  {0x93d1, 0xee9d83},
-  {0x93d2, 0xee9d84},
-  {0x93d3, 0xee9d85},
-  {0x93d4, 0xee9d86},
-  {0x93d5, 0xee9d87},
-  {0x93d6, 0xef9fa9},
-  {0x93d7, 0xee9d88},
-  {0x93d8, 0xee9d89},
-  {0x93d9, 0xee9d8a},
-  {0x93da, 0xee9d8b},
-  {0x93db, 0xee9d8c},
-  {0x93dc, 0xee9d8d},
-  {0x93dd, 0xee9d8e},
-  {0x93de, 0xee9d8f},
-  {0x93df, 0xee9d90},
-  {0x93e0, 0xee9d91},
-  {0x93e1, 0xee9d92},
-  {0x93e2, 0xee9d93},
-  {0x93e3, 0xee9d94},
-  {0x93e4, 0xee9d95},
-  {0x93e5, 0xee9d96},
-  {0x93e6, 0xee9d97},
-  {0x93e7, 0xee9d98},
-  {0x93e8, 0xee9d99},
-  {0x93e9, 0xee9d9a},
-  {0x93ea, 0xee9d9b},
-  {0x93eb, 0xee9d9c},
-  {0x93ec, 0xee9d9d},
-  {0x93ed, 0xee9d9e},
-  {0x93ee, 0xee9d9f},
-  {0x93ef, 0xee9da0},
-  {0x93f0, 0xee9da1},
-  {0x93f1, 0xee9da2},
-  {0x93f2, 0xee9da3},
-  {0x93f3, 0xee9da4},
-  {0x93f4, 0xee9da5},
-  {0x93f5, 0xee9da6},
-  {0x93f6, 0xee9da7},
-  {0x93f7, 0xee9da8},
-  {0x93f8, 0xee9da9},
-  {0x93f9, 0xee9daa},
-  {0x93fa, 0xee9dab},
-  {0x93fb, 0xee9dac},
-  {0x93fc, 0xee9dad},
-  {0x93fd, 0xee9dae},
-  {0x93fe, 0xee9daf},
-  {0x93ff, 0xee9db0},
-  {0x9400, 0xee9db1},
-  {0x9401, 0xee9db2},
-  {0x9402, 0xee9db3},
-  {0x9403, 0xee9db4},
-  {0x9404, 0xee9db5},
-  {0x9405, 0xee9db6},
-  {0x9406, 0xee9db7},
-  {0x9407, 0xee9db8},
-  {0x9408, 0xee9db9},
-  {0x9409, 0xee9dba},
-  {0x940a, 0xee9dbb},
-  {0x940b, 0xee9dbc},
-  {0x940c, 0xee9dbd},
-  {0x940d, 0xee9dbe},
-  {0x940e, 0xee9e80},
-  {0x940f, 0xee9e81},
-  {0x9410, 0xee9e82},
-  {0x9411, 0xee9e83},
-  {0x9412, 0xee9e84},
-  {0x9413, 0xee9e85},
-  {0x9414, 0xee9e86},
-  {0x9415, 0xee9e87},
-  {0x9416, 0xee9e88},
-  {0x9417, 0xee9e89},
-  {0x9418, 0xee9e8a},
-  {0x9419, 0xee9e8b},
-  {0x941a, 0xee9e8c},
-  {0x941b, 0xee9e8d},
-  {0x941c, 0xee9e8e},
-  {0x941d, 0xee9e8f},
-  {0x941e, 0xee9e90},
-  {0x941f, 0xee9e91},
-  {0x9420, 0xee9e92},
-  {0x9421, 0xee9e93},
-  {0x9422, 0xee9e94},
-  {0x9423, 0xee9e95},
-  {0x9424, 0xee9e96},
-  {0x9425, 0xee9e97},
-  {0x9426, 0xee9e98},
-  {0x9427, 0xee9e99},
-  {0x9428, 0xee9e9a},
-  {0x9429, 0xee9e9b},
-  {0x942a, 0xee9e9c},
-  {0x942b, 0xee9e9d},
-  {0x942c, 0xee9e9e},
-  {0x942d, 0xee9e9f},
-  {0x942e, 0xee9ea0},
-  {0x942f, 0xeea180},
-  {0x9430, 0xeea181},
-  {0x9431, 0xeea182},
-  {0x9432, 0xeea183},
-  {0x9433, 0xeea184},
-  {0x9434, 0xeea185},
-  {0x9435, 0xeea186},
-  {0x9436, 0xeea187},
-  {0x9437, 0xeea188},
-  {0x9438, 0xeea189},
-  {0x9439, 0xeea18a},
-  {0x943a, 0xeea18b},
-  {0x943b, 0xeea18c},
-  {0x943c, 0xeea18d},
-  {0x943d, 0xeea18e},
-  {0x943e, 0xef9b8d},
-  {0x943f, 0xeea18f},
-  {0x9440, 0xeea190},
-  {0x9441, 0xeea191},
-  {0x9442, 0xeea192},
-  {0x9443, 0xeea193},
-  {0x9444, 0xeea194},
-  {0x9445, 0xeea195},
-  {0x9446, 0xeea196},
-  {0x9447, 0xeea197},
-  {0x9448, 0xeea198},
-  {0x9449, 0xeea199},
-  {0x944a, 0xeea19a},
-  {0x944b, 0xeea19b},
-  {0x944c, 0xeea19c},
-  {0x944d, 0xeea19d},
-  {0x944e, 0xeea19e},
-  {0x944f, 0xeea19f},
-  {0x9450, 0xeea1a0},
-  {0x9451, 0xeea1a1},
-  {0x9452, 0xeea1a2},
-  {0x9453, 0xeea1a3},
-  {0x9454, 0xeea1a4},
-  {0x9455, 0xeea1a5},
-  {0x9456, 0xeea1a6},
-  {0x9457, 0xeea1a7},
-  {0x9458, 0xeea1a8},
-  {0x9459, 0xeea1a9},
-  {0x945a, 0xeea1aa},
-  {0x945b, 0xeea1ab},
-  {0x945c, 0xeea1ac},
-  {0x945d, 0xeea1ad},
-  {0x945e, 0xeea1ae},
-  {0x945f, 0xeea1af},
-  {0x9460, 0xeea1b0},
-  {0x9461, 0xeea1b1},
-  {0x9462, 0xeea1b2},
-  {0x9463, 0xeea1b3},
-  {0x9464, 0xeea1b4},
-  {0x9465, 0xeea1b5},
-  {0x9466, 0xeea1b6},
-  {0x9467, 0xeea1b7},
-  {0x9468, 0xeea1b8},
-  {0x9469, 0xeea1b9},
-  {0x946a, 0xeea1ba},
-  {0x946b, 0xef9b8e},
-  {0x946c, 0xeea1bb},
-  {0x946d, 0xeea1bc},
-  {0x946e, 0xeea1bd},
-  {0x946f, 0xeea1be},
-  {0x9470, 0xeea280},
-  {0x9471, 0xeea281},
-  {0x9472, 0xeea282},
-  {0x9473, 0xeea283},
-  {0x9474, 0xeea284},
-  {0x9475, 0xeea285},
-  {0x9476, 0xeea286},
-  {0x9477, 0xeea287},
-  {0x9478, 0xeea288},
-  {0x9479, 0xeea289},
-  {0x947a, 0xeea28a},
-  {0x947b, 0xeea28b},
-  {0x947c, 0xeea28c},
-  {0x947d, 0xeea28d},
-  {0x947e, 0xeea28e},
-  {0x947f, 0xeea28f},
-  {0x9480, 0xeea290},
-  {0x9481, 0xeea291},
-  {0x9482, 0xeea292},
-  {0x9483, 0xeea293},
-  {0x9484, 0xeea294},
-  {0x9485, 0xeebb84},
-  {0x9486, 0xeebb85},
-  {0x9487, 0xeebb86},
-  {0x9488, 0xed97ab},
-  {0x9489, 0xeb9aa4},
-  {0x948a, 0xeebb88},
-  {0x948b, 0xeebb87},
-  {0x948c, 0xeebb89},
-  {0x948d, 0xeebb8a},
-  {0x948e, 0xec9ea5},
-  {0x948f, 0xeebb8b},
-  {0x9490, 0xeebb8c},
-  {0x9491, 0xeea295},
-  {0x9492, 0xeb9eb0},
-  {0x9493, 0xeb97b6},
-  {0x9494, 0xeebb8d},
-  {0x9495, 0xeebb8f},
-  {0x9496, 0xeea296},
-  {0x9497, 0xeebb8e},
-  {0x9498, 0xeea297},
-  {0x9499, 0xeba386},
-  {0x949a, 0xeebb90},
-  {0x949b, 0xeebb91},
-  {0x949c, 0xeebb92},
-  {0x949d, 0xeb9b9b},
-  {0x949e, 0xeb8eae},
-  {0x949f, 0xed9b93},
-  {0x94a0, 0xec9386},
-  {0x94a1, 0xeb86b5},
-  {0x94a2, 0xeba396},
-  {0x94a3, 0xeebb93},
-  {0x94a4, 0xeebb94},
-  {0x94a5, 0xed92bf},
-  {0x94a6, 0xec9f95},
-  {0x94a7, 0xebbbbb},
-  {0x94a8, 0xecbb99},
-  {0x94a9, 0xeba6b3},
-  {0x94aa, 0xeebb96},
-  {0x94ab, 0xeebb95},
-  {0x94ac, 0xeebb98},
-  {0x94ad, 0xeebb97},
-  {0x94ae, 0xec96a5},
-  {0x94af, 0xeebb99},
-  {0x94b0, 0xeebb9a},
-  {0x94b1, 0xec9eae},
-  {0x94b2, 0xeebb9b},
-  {0x94b3, 0xec9eaf},
-  {0x94b4, 0xeebb9c},
-  {0x94b5, 0xeb8aa7},
-  {0x94b6, 0xeebb9d},
-  {0x94b7, 0xeebb9e},
-  {0x94b8, 0xeebb9f},
-  {0x94b9, 0xeebba0},
-  {0x94ba, 0xeebba1},
-  {0x94bb, 0xed9faa},
-  {0x94bc, 0xeebba2},
-  {0x94bd, 0xeebba3},
-  {0x94be, 0xebb398},
-  {0x94bf, 0xeebba4},
-  {0x94c0, 0xed8f8b},
-  {0x94c1, 0xecb3ba},
-  {0x94c2, 0xeb8aac},
-  {0x94c3, 0xec87a5},
-  {0x94c4, 0xeebba5},
-  {0x94c5, 0xec9ea6},
-  {0x94c6, 0xec8ead},
-  {0x94c7, 0xeea298},
-  {0x94c8, 0xeebba6},
-  {0x94c9, 0xeebba7},
-  {0x94ca, 0xeebba8},
-  {0x94cb, 0xeebba9},
-  {0x94cc, 0xeebbaa},
-  {0x94cd, 0xeebbab},
-  {0x94ce, 0xeebbac},
-  {0x94cf, 0xeea299},
-  {0x94d0, 0xeebbad},
-  {0x94d1, 0xeebbae},
-  {0x94d2, 0xeebbaf},
-  {0x94d3, 0xeea29a},
-  {0x94d4, 0xeea29b},
-  {0x94d5, 0xeebbb0},
-  {0x94d6, 0xeebbb1},
-  {0x94d7, 0xeebbb2},
-  {0x94d8, 0xeebbb4},
-  {0x94d9, 0xeebbb3},
-  {0x94da, 0xeea29c},
-  {0x94db, 0xeebbb5},
-  {0x94dc, 0xecb6ad},
-  {0x94dd, 0xec8b81},
-  {0x94de, 0xeebbb6},
-  {0x94df, 0xeebbb7},
-  {0x94e0, 0xeebbb8},
-  {0x94e1, 0xed96a1},
-  {0x94e2, 0xeebbb9},
-  {0x94e3, 0xecbeb3},
-  {0x94e4, 0xeebbba},
-  {0x94e5, 0xeebbbb},
-  {0x94e6, 0xeea29d},
-  {0x94e7, 0xeebbbc},
-  {0x94e8, 0xeebbbd},
-  {0x94e9, 0xeebea1},
-  {0x94ea, 0xeebbbe},
-  {0x94eb, 0xeebea2},
-  {0x94ec, 0xeba3b5},
-  {0x94ed, 0xec8fba},
-  {0x94ee, 0xeebea3},
-  {0x94ef, 0xeebea4},
-  {0x94f0, 0xebb782},
-  {0x94f1, 0xed8abf},
-  {0x94f2, 0xeb8bb9},
-  {0x94f3, 0xeebea5},
-  {0x94f4, 0xeebea6},
-  {0x94f5, 0xeebea7},
-  {0x94f6, 0xed8bb8},
-  {0x94f7, 0xeebea8},
-  {0x94f8, 0xed9bbd},
-  {0x94f9, 0xeebea9},
-  {0x94fa, 0xec9b8c},
-  {0x94fb, 0xeea29e},
-  {0x94fc, 0xeebeaa},
-  {0x94fd, 0xeebeab},
-  {0x94fe, 0xec86b4},
-  {0x94ff, 0xeebeac},
-  {0x9500, 0xecbfba},
-  {0x9501, 0xecafb8},
-  {0x9502, 0xeebeae},
-  {0x9503, 0xeebead},
-  {0x9504, 0xeb8fba},
-  {0x9505, 0xeba7b8},
-  {0x9506, 0xeebeaf},
-  {0x9507, 0xeebeb0},
-  {0x9508, 0xed83a2},
-  {0x9509, 0xeebeb1},
-  {0x950a, 0xeebeb2},
-  {0x950b, 0xeb9fa6},
-  {0x950c, 0xed82bf},
-  {0x950d, 0xeebeb3},
-  {0x950e, 0xeebeb4},
-  {0x950f, 0xeebeb5},
-  {0x9510, 0xeca3b1},
-  {0x9511, 0xecb3a0},
-  {0x9512, 0xeebeb6},
-  {0x9513, 0xeebeb7},
-  {0x9514, 0xeebeb8},
-  {0x9515, 0xeebeb9},
-  {0x9516, 0xeebeba},
-  {0x9517, 0xed97a0},
-  {0x9518, 0xeebebb},
-  {0x9519, 0xeb93ad},
-  {0x951a, 0xec8eaa},
-  {0x951b, 0xeebebc},
-  {0x951c, 0xeea29f},
-  {0x951d, 0xeebebd},
-  {0x951e, 0xeebebe},
-  {0x951f, 0xeebebf},
-  {0x9520, 0xeea2a0},
-  {0x9521, 0xecbbbd},
-  {0x9522, 0xeebf80},
-  {0x9523, 0xec8ba0},
-  {0x9524, 0xeb92b8},
-  {0x9525, 0xed9eb6},
-  {0x9526, 0xebb7b5},
-  {0x9527, 0xeea580},
-  {0x9528, 0xecbf87},
-  {0x9529, 0xeebf83},
-  {0x952a, 0xeebf81},
-  {0x952b, 0xeebf82},
-  {0x952c, 0xeebf84},
-  {0x952d, 0xeb9aa7},
-  {0x952e, 0xebb3bc},
-  {0x952f, 0xebbba2},
-  {0x9530, 0xec8f8c},
-  {0x9531, 0xeebf85},
-  {0x9532, 0xeebf86},
-  {0x9533, 0xeea581},
-  {0x9534, 0xeebf87},
-  {0x9535, 0xeebf8f},
-  {0x9536, 0xeebf88},
-  {0x9537, 0xeebf89},
-  {0x9538, 0xeebf8a},
-  {0x9539, 0xec9f82},
-  {0x953a, 0xeebfb1},
-  {0x953b, 0xeb9b8d},
-  {0x953c, 0xeebf8b},
-  {0x953d, 0xeea582},
-  {0x953e, 0xeebf8c},
-  {0x953f, 0xeebf8d},
-  {0x9540, 0xeb9b86},
-  {0x9541, 0xec8ebe},
-  {0x9542, 0xeebf8e},
-  {0x9543, 0xeea583},
-  {0x9544, 0xeebf90},
-  {0x9545, 0xeebf91},
-  {0x9546, 0xeebf92},
-  {0x9547, 0xed97b2},
-  {0x9548, 0xeea584},
-  {0x9549, 0xeebf93},
-  {0x954a, 0xec93b7},
-  {0x954b, 0xeea585},
-  {0x954c, 0xeebf94},
-  {0x954d, 0xec93b8},
-  {0x954e, 0xeebf95},
-  {0x954f, 0xeebf96},
-  {0x9550, 0xeba3a4},
-  {0x9551, 0xeb83b7},
-  {0x9552, 0xeebf97},
-  {0x9553, 0xeebf98},
-  {0x9554, 0xeebf99},
-  {0x9555, 0xeea586},
-  {0x9556, 0xeebf9a},
-  {0x9557, 0xeebf9b},
-  {0x9558, 0xeebf9c},
-  {0x9559, 0xeebf9d},
-  {0x955a, 0xeea587},
-  {0x955b, 0xeebf9e},
-  {0x955c, 0xebbab5},
-  {0x955d, 0xeebfa1},
-  {0x955e, 0xeebf9f},
-  {0x955f, 0xeebfa0},
-  {0x9560, 0xeea588},
-  {0x9561, 0xeebfa2},
-  {0x9562, 0xeebfa3},
-  {0x9563, 0xec878d},
-  {0x9564, 0xeebfa4},
-  {0x9565, 0xeebfa5},
-  {0x9566, 0xeebfa6},
-  {0x9567, 0xeebfa7},
-  {0x9568, 0xeebfa8},
-  {0x9569, 0xeebfa9},
-  {0x956a, 0xeebfaa},
-  {0x956b, 0xeebfab},
-  {0x956c, 0xeebfac},
-  {0x956d, 0xec8398},
-  {0x956e, 0xeea589},
-  {0x956f, 0xeebfad},
-  {0x9570, 0xec86ad},
-  {0x9571, 0xeebfae},
-  {0x9572, 0xeebfaf},
-  {0x9573, 0xeebfb0},
-  {0x9574, 0xeea58a},
-  {0x9575, 0xeea58b},
-  {0x9576, 0xecbfa2},
-  {0x9577, 0xeea58c},
-  {0x9578, 0xeea58d},
-  {0x9579, 0xeea58e},
-  {0x957a, 0xeea58f},
-  {0x957b, 0xeea590},
-  {0x957c, 0xeea591},
-  {0x957d, 0xeea592},
-  {0x957e, 0xeea593},
-  {0x957f, 0xeb8ea4},
-  {0x9580, 0xeea594},
-  {0x9581, 0xeea595},
-  {0x9582, 0xeea596},
-  {0x9583, 0xeea597},
-  {0x9584, 0xeea598},
-  {0x9585, 0xeea599},
-  {0x9586, 0xeea59a},
-  {0x9587, 0xeea59b},
-  {0x9588, 0xeea59c},
-  {0x9589, 0xeea59d},
-  {0x958a, 0xeea59e},
-  {0x958b, 0xeea59f},
-  {0x958c, 0xeea5a0},
-  {0x958d, 0xeea5a1},
-  {0x958e, 0xeea5a2},
-  {0x958f, 0xeea5a3},
-  {0x9590, 0xeea5a4},
-  {0x9591, 0xeea5a5},
-  {0x9592, 0xeea5a6},
-  {0x9593, 0xeea5a7},
-  {0x9594, 0xeea5a8},
-  {0x9595, 0xeea5a9},
-  {0x9596, 0xeea5aa},
-  {0x9597, 0xeea5ab},
-  {0x9598, 0xeea5ac},
-  {0x9599, 0xeea5ad},
-  {0x959a, 0xeea5ae},
-  {0x959b, 0xeea5af},
-  {0x959c, 0xeea5b0},
-  {0x959d, 0xeea5b1},
-  {0x959e, 0xeea5b2},
-  {0x959f, 0xeea5b3},
-  {0x95a0, 0xeea5b4},
-  {0x95a1, 0xeea5b5},
-  {0x95a2, 0xeea5b6},
-  {0x95a3, 0xeea5b7},
-  {0x95a4, 0xeea5b8},
-  {0x95a5, 0xeea5b9},
-  {0x95a6, 0xeea5ba},
-  {0x95a7, 0xeea5bb},
-  {0x95a8, 0xeea5bc},
-  {0x95a9, 0xeea5bd},
-  {0x95aa, 0xeea5be},
-  {0x95ab, 0xeea680},
-  {0x95ac, 0xeea681},
-  {0x95ad, 0xeea682},
-  {0x95ae, 0xeea683},
-  {0x95af, 0xeea684},
-  {0x95b0, 0xeea685},
-  {0x95b1, 0xeea686},
-  {0x95b2, 0xeea687},
-  {0x95b3, 0xeea688},
-  {0x95b4, 0xeea689},
-  {0x95b5, 0xeea68a},
-  {0x95b6, 0xeea68b},
-  {0x95b7, 0xeea68c},
-  {0x95b8, 0xeea68d},
-  {0x95b9, 0xeea68e},
-  {0x95ba, 0xeea68f},
-  {0x95bb, 0xeea690},
-  {0x95bc, 0xeea691},
-  {0x95bd, 0xeea692},
-  {0x95be, 0xeea693},
-  {0x95bf, 0xeea694},
-  {0x95c0, 0xeea695},
-  {0x95c1, 0xeea696},
-  {0x95c2, 0xeea697},
-  {0x95c3, 0xeea698},
-  {0x95c4, 0xeea699},
-  {0x95c5, 0xeea69a},
-  {0x95c6, 0xeea69b},
-  {0x95c7, 0xeea69c},
-  {0x95c8, 0xeea69d},
-  {0x95c9, 0xeea69e},
-  {0x95ca, 0xeea69f},
-  {0x95cb, 0xeea6a0},
-  {0x95cc, 0xeea980},
-  {0x95cd, 0xeea981},
-  {0x95ce, 0xeea982},
-  {0x95cf, 0xeea983},
-  {0x95d0, 0xeea984},
-  {0x95d1, 0xeea985},
-  {0x95d2, 0xeea986},
-  {0x95d3, 0xeea987},
-  {0x95d4, 0xeea988},
-  {0x95d5, 0xeea989},
-  {0x95d6, 0xeea98a},
-  {0x95d7, 0xeea98b},
-  {0x95d8, 0xeea98c},
-  {0x95d9, 0xeea98d},
-  {0x95da, 0xeea98e},
-  {0x95db, 0xeea98f},
-  {0x95dc, 0xeea990},
-  {0x95dd, 0xeea991},
-  {0x95de, 0xeea992},
-  {0x95df, 0xeea993},
-  {0x95e0, 0xeea994},
-  {0x95e1, 0xeea995},
-  {0x95e2, 0xeea996},
-  {0x95e3, 0xeea997},
-  {0x95e4, 0xeea998},
-  {0x95e5, 0xeea999},
-  {0x95e6, 0xeea99a},
-  {0x95e7, 0xeea99b},
-  {0x95e8, 0xec8f85},
-  {0x95e9, 0xee8f85},
-  {0x95ea, 0xeca781},
-  {0x95eb, 0xee8f86},
-  {0x95ec, 0xeea99c},
-  {0x95ed, 0xeb8795},
-  {0x95ee, 0xecbb8a},
-  {0x95ef, 0xeb92b3},
-  {0x95f0, 0xeca3b2},
-  {0x95f1, 0xee8f87},
-  {0x95f2, 0xecbf90},
-  {0x95f3, 0xee8f88},
-  {0x95f4, 0xebb3a4},
-  {0x95f5, 0xee8f89},
-  {0x95f6, 0xee8f8a},
-  {0x95f7, 0xec8f86},
-  {0x95f8, 0xed96a2},
-  {0x95f9, 0xec9396},
-  {0x95fa, 0xeba7ab},
-  {0x95fb, 0xecbb85},
-  {0x95fc, 0xee8f8b},
-  {0x95fd, 0xec8fb6},
-  {0x95fe, 0xee8f8c},
-  {0x95ff, 0xeea99d},
-  {0x9600, 0xeb9ea7},
-  {0x9601, 0xeba3b3},
-  {0x9602, 0xebab92},
-  {0x9603, 0xee8f8d},
-  {0x9604, 0xee8f8e},
-  {0x9605, 0xed9384},
-  {0x9606, 0xee8f8f},
-  {0x9607, 0xeea99e},
-  {0x9608, 0xee8f90},
-  {0x9609, 0xed878b},
-  {0x960a, 0xee8f91},
-  {0x960b, 0xee8f92},
-  {0x960c, 0xee8f93},
-  {0x960d, 0xee8f94},
-  {0x960e, 0xed8796},
-  {0x960f, 0xee8f95},
-  {0x9610, 0xeb8bbb},
-  {0x9611, 0xec82bb},
-  {0x9612, 0xee8f96},
-  {0x9613, 0xeea99f},
-  {0x9614, 0xec82ab},
-  {0x9615, 0xee8f97},
-  {0x9616, 0xee8f98},
-  {0x9617, 0xee8f99},
-  {0x9618, 0xeea9a0},
-  {0x9619, 0xee8f9a},
-  {0x961a, 0xee8f9b},
-  {0x961b, 0xeea9a1},
-  {0x961c, 0xeba2b7},
-  {0x961d, 0xedaba2},
-  {0x961e, 0xeea9a2},
-  {0x961f, 0xeb9b93},
-  {0x9620, 0xeea9a3},
-  {0x9621, 0xedaba4},
-  {0x9622, 0xedaba3},
-  {0x9623, 0xeea9a4},
-  {0x9624, 0xeea9a5},
-  {0x9625, 0xeea9a6},
-  {0x9626, 0xeea9a7},
-  {0x9627, 0xeea9a8},
-  {0x9628, 0xeea9a9},
-  {0x9629, 0xeea9aa},
-  {0x962a, 0xedaba6},
-  {0x962b, 0xeea9ab},
-  {0x962c, 0xeea9ac},
-  {0x962d, 0xeea9ad},
-  {0x962e, 0xeca3ae},
-  {0x962f, 0xeea9ae},
-  {0x9630, 0xeea9af},
-  {0x9631, 0xedaba5},
-  {0x9632, 0xeb9f80},
-  {0x9633, 0xed87b4},
-  {0x9634, 0xed8bb5},
-  {0x9635, 0xed97b3},
-  {0x9636, 0xebb797},
-  {0x9637, 0xeea9b0},
-  {0x9638, 0xeea9b1},
-  {0x9639, 0xeea9b2},
-  {0x963a, 0xeea9b3},
-  {0x963b, 0xed9fa8},
-  {0x963c, 0xedaba8},
-  {0x963d, 0xedaba7},
-  {0x963e, 0xeea9b4},
-  {0x963f, 0xeb82a2},
-  {0x9640, 0xecb793},
-  {0x9641, 0xeea9b5},
-  {0x9642, 0xedaba9},
-  {0x9643, 0xeea9b6},
-  {0x9644, 0xeba2bd},
-  {0x9645, 0xebb38a},
-  {0x9646, 0xec8abd},
-  {0x9647, 0xec8aa4},
-  {0x9648, 0xeb8f82},
-  {0x9649, 0xedabaa},
-  {0x964a, 0xeea9b7},
-  {0x964b, 0xec8aaa},
-  {0x964c, 0xec92b0},
-  {0x964d, 0xebb6b5},
-  {0x964e, 0xeea9b8},
-  {0x964f, 0xeea9b9},
-  {0x9650, 0xecbf9e},
-  {0x9651, 0xeea9ba},
-  {0x9652, 0xeea9bb},
-  {0x9653, 0xeea9bc},
-  {0x9654, 0xedabab},
-  {0x9655, 0xeca782},
-  {0x9656, 0xeea9bd},
-  {0x9657, 0xeea9be},
-  {0x9658, 0xeeaa80},
-  {0x9659, 0xeeaa81},
-  {0x965a, 0xeeaa82},
-  {0x965b, 0xeb879d},
-  {0x965c, 0xeeaa83},
-  {0x965d, 0xeeaa84},
-  {0x965e, 0xeeaa85},
-  {0x965f, 0xedabac},
-  {0x9660, 0xeeaa86},
-  {0x9661, 0xeb9ab8},
-  {0x9662, 0xed92ba},
-  {0x9663, 0xeeaa87},
-  {0x9664, 0xeb8fbd},
-  {0x9665, 0xeeaa88},
-  {0x9666, 0xeeaa89},
-  {0x9667, 0xedabad},
-  {0x9668, 0xed9389},
-  {0x9669, 0xecbf95},
-  {0x966a, 0xec97a3},
-  {0x966b, 0xeeaa8a},
-  {0x966c, 0xedabae},
-  {0x966d, 0xeeaa8b},
-  {0x966e, 0xeeaa8c},
-  {0x966f, 0xeeaa8d},
-  {0x9670, 0xeeaa8e},
-  {0x9671, 0xeeaa8f},
-  {0x9672, 0xedabaf},
-  {0x9673, 0xeeaa90},
-  {0x9674, 0xedabb0},
-  {0x9675, 0xec87aa},
-  {0x9676, 0xecb395},
-  {0x9677, 0xecbf9d},
-  {0x9678, 0xeeaa91},
-  {0x9679, 0xeeaa92},
-  {0x967a, 0xeeaa93},
-  {0x967b, 0xeeaa94},
-  {0x967c, 0xeeaa95},
-  {0x967d, 0xeeaa96},
-  {0x967e, 0xeeaa97},
-  {0x967f, 0xeeaa98},
-  {0x9680, 0xeeaa99},
-  {0x9681, 0xeeaa9a},
-  {0x9682, 0xeeaa9b},
-  {0x9683, 0xeeaa9c},
-  {0x9684, 0xeeaa9d},
-  {0x9685, 0xed8fa7},
-  {0x9686, 0xec8aa1},
-  {0x9687, 0xeeaa9e},
-  {0x9688, 0xedabb1},
-  {0x9689, 0xeeaa9f},
-  {0x968a, 0xeeaaa0},
-  {0x968b, 0xecafa5},
-  {0x968c, 0xeead80},
-  {0x968d, 0xedabb2},
-  {0x968e, 0xeead81},
-  {0x968f, 0xecafa6},
-  {0x9690, 0xed8bbe},
-  {0x9691, 0xeead82},
-  {0x9692, 0xeead83},
-  {0x9693, 0xeead84},
-  {0x9694, 0xeba3b4},
-  {0x9695, 0xeead85},
-  {0x9696, 0xeead86},
-  {0x9697, 0xedabb3},
-  {0x9698, 0xeb82af},
-  {0x9699, 0xecbeb6},
-  {0x969a, 0xeead87},
-  {0x969b, 0xeead88},
-  {0x969c, 0xed978f},
-  {0x969d, 0xeead89},
-  {0x969e, 0xeead8a},
-  {0x969f, 0xeead8b},
-  {0x96a0, 0xeead8c},
-  {0x96a1, 0xeead8d},
-  {0x96a2, 0xeead8e},
-  {0x96a3, 0xeead8f},
-  {0x96a4, 0xeead90},
-  {0x96a5, 0xeead91},
-  {0x96a6, 0xeead92},
-  {0x96a7, 0xecafad},
-  {0x96a8, 0xeead93},
-  {0x96a9, 0xeead94},
-  {0x96aa, 0xeead95},
-  {0x96ab, 0xeead96},
-  {0x96ac, 0xeead97},
-  {0x96ad, 0xeead98},
-  {0x96ae, 0xeead99},
-  {0x96af, 0xeead9a},
-  {0x96b0, 0xedabb4},
-  {0x96b1, 0xeead9b},
-  {0x96b2, 0xeead9c},
-  {0x96b3, 0xee8f84},
-  {0x96b4, 0xeead9d},
-  {0x96b5, 0xeead9e},
-  {0x96b6, 0xec86a5},
-  {0x96b7, 0xeead9f},
-  {0x96b8, 0xeeada0},
-  {0x96b9, 0xef9abf},
-  {0x96ba, 0xeeada1},
-  {0x96bb, 0xeeada2},
-  {0x96bc, 0xef9b80},
-  {0x96bd, 0xef9b81},
-  {0x96be, 0xec9391},
-  {0x96bf, 0xeeada3},
-  {0x96c0, 0xeca2b8},
-  {0x96c1, 0xed87a3},
-  {0x96c2, 0xeeada4},
-  {0x96c3, 0xeeada5},
-  {0x96c4, 0xed839b},
-  {0x96c5, 0xed8785},
-  {0x96c6, 0xebb2af},
-  {0x96c7, 0xeba78d},
-  {0x96c8, 0xeeada6},
-  {0x96c9, 0xeebfb4},
-  {0x96ca, 0xeeada7},
-  {0x96cb, 0xeeada8},
-  {0x96cc, 0xeb9386},
-  {0x96cd, 0xed8eba},
-  {0x96ce, 0xef9b82},
-  {0x96cf, 0xeb8fbb},
-  {0x96d0, 0xeeada9},
-  {0x96d1, 0xeeadaa},
-  {0x96d2, 0xef9b83},
-  {0x96d3, 0xeeadab},
-  {0x96d4, 0xeeadac},
-  {0x96d5, 0xeb97b1},
-  {0x96d6, 0xeeadad},
-  {0x96d7, 0xeeadae},
-  {0x96d8, 0xeeadaf},
-  {0x96d9, 0xeeadb0},
-  {0x96da, 0xeeadb1},
-  {0x96db, 0xeeadb2},
-  {0x96dc, 0xeeadb3},
-  {0x96dd, 0xeeadb4},
-  {0x96de, 0xeeadb5},
-  {0x96df, 0xeeadb6},
-  {0x96e0, 0xef9b85},
-  {0x96e1, 0xeeadb7},
-  {0x96e2, 0xeeadb8},
-  {0x96e3, 0xeeadb9},
-  {0x96e4, 0xeeadba},
-  {0x96e5, 0xeeadbb},
-  {0x96e6, 0xeeadbc},
-  {0x96e7, 0xeeadbd},
-  {0x96e8, 0xed8faa},
-  {0x96e9, 0xef9aa7},
-  {0x96ea, 0xed86a9},
-  {0x96eb, 0xeeadbe},
-  {0x96ec, 0xeeae80},
-  {0x96ed, 0xeeae81},
-  {0x96ee, 0xeeae82},
-  {0x96ef, 0xef9aa9},
-  {0x96f0, 0xeeae83},
-  {0x96f1, 0xeeae84},
-  {0x96f2, 0xeeae85},
-  {0x96f3, 0xef9aa8},
-  {0x96f4, 0xeeae86},
-  {0x96f5, 0xeeae87},
-  {0x96f6, 0xec87a3},
-  {0x96f7, 0xec8397},
-  {0x96f8, 0xeeae88},
-  {0x96f9, 0xeb86a2},
-  {0x96fa, 0xeeae89},
-  {0x96fb, 0xeeae8a},
-  {0x96fc, 0xeeae8b},
-  {0x96fd, 0xeeae8c},
-  {0x96fe, 0xecbbad},
-  {0x96ff, 0xeeae8d},
-  {0x9700, 0xed83a8},
-  {0x9701, 0xef9aab},
-  {0x9702, 0xeeae8e},
-  {0x9703, 0xeeae8f},
-  {0x9704, 0xecbfb6},
-  {0x9705, 0xeeae90},
-  {0x9706, 0xef9aaa},
-  {0x9707, 0xed97b0},
-  {0x9708, 0xef9aac},
-  {0x9709, 0xec8eb9},
-  {0x970a, 0xeeae91},
-  {0x970b, 0xeeae92},
-  {0x970c, 0xeeae93},
-  {0x970d, 0xebafb4},
-  {0x970e, 0xef9aae},
-  {0x970f, 0xef9aad},
-  {0x9710, 0xeeae94},
-  {0x9711, 0xeeae95},
-  {0x9712, 0xeeae96},
-  {0x9713, 0xec939e},
-  {0x9714, 0xeeae97},
-  {0x9715, 0xeeae98},
-  {0x9716, 0xec8798},
-  {0x9717, 0xeeae99},
-  {0x9718, 0xeeae9a},
-  {0x9719, 0xeeae9b},
-  {0x971a, 0xeeae9c},
-  {0x971b, 0xeeae9d},
-  {0x971c, 0xecaeaa},
-  {0x971d, 0xeeae9e},
-  {0x971e, 0xecbebc},
-  {0x971f, 0xeeae9f},
-  {0x9720, 0xeeaea0},
-  {0x9721, 0xeeb180},
-  {0x9722, 0xeeb181},
-  {0x9723, 0xeeb182},
-  {0x9724, 0xeeb183},
-  {0x9725, 0xeeb184},
-  {0x9726, 0xeeb185},
-  {0x9727, 0xeeb186},
-  {0x9728, 0xeeb187},
-  {0x9729, 0xeeb188},
-  {0x972a, 0xef9aaf},
-  {0x972b, 0xeeb189},
-  {0x972c, 0xeeb18a},
-  {0x972d, 0xef9ab0},
-  {0x972e, 0xeeb18b},
-  {0x972f, 0xeeb18c},
-  {0x9730, 0xef9ab1},
-  {0x9731, 0xeeb18d},
-  {0x9732, 0xec8ab6},
-  {0x9733, 0xeeb18e},
-  {0x9734, 0xeeb18f},
-  {0x9735, 0xeeb190},
-  {0x9736, 0xeeb191},
-  {0x9737, 0xeeb192},
-  {0x9738, 0xeb8394},
-  {0x9739, 0xec97b9},
-  {0x973a, 0xeeb193},
-  {0x973b, 0xeeb194},
-  {0x973c, 0xeeb195},
-  {0x973d, 0xeeb196},
-  {0x973e, 0xef9ab2},
-  {0x973f, 0xeeb197},
-  {0x9740, 0xeeb198},
-  {0x9741, 0xeeb199},
-  {0x9742, 0xeeb19a},
-  {0x9743, 0xeeb19b},
-  {0x9744, 0xeeb19c},
-  {0x9745, 0xeeb19d},
-  {0x9746, 0xeeb19e},
-  {0x9747, 0xeeb19f},
-  {0x9748, 0xeeb1a0},
-  {0x9749, 0xeeb1a1},
-  {0x974a, 0xeeb1a2},
-  {0x974b, 0xeeb1a3},
-  {0x974c, 0xeeb1a4},
-  {0x974d, 0xeeb1a5},
-  {0x974e, 0xeeb1a6},
-  {0x974f, 0xeeb1a7},
-  {0x9750, 0xeeb1a8},
-  {0x9751, 0xeeb1a9},
-  {0x9752, 0xec9fa0},
-  {0x9753, 0xef9aa6},
-  {0x9754, 0xeeb1aa},
-  {0x9755, 0xeeb1ab},
-  {0x9756, 0xebbab8},
-  {0x9757, 0xeeb1ac},
-  {0x9758, 0xeeb1ad},
-  {0x9759, 0xebbab2},
-  {0x975a, 0xeeb1ae},
-  {0x975b, 0xeb97a5},
-  {0x975c, 0xeeb1af},
-  {0x975d, 0xeeb1b0},
-  {0x975e, 0xeb9f87},
-  {0x975f, 0xeeb1b1},
-  {0x9760, 0xebbebf},
-  {0x9761, 0xec8f92},
-  {0x9762, 0xec8fa6},
-  {0x9763, 0xeeb1b2},
-  {0x9764, 0xeeb1b3},
-  {0x9765, 0xeda38c},
-  {0x9766, 0xeeb1b4},
-  {0x9767, 0xeeb1b5},
-  {0x9768, 0xeeb1b6},
-  {0x9769, 0xeba3af},
-  {0x976a, 0xeeb1b7},
-  {0x976b, 0xeeb1b8},
-  {0x976c, 0xeeb1b9},
-  {0x976d, 0xeeb1ba},
-  {0x976e, 0xeeb1bb},
-  {0x976f, 0xeeb1bc},
-  {0x9770, 0xeeb1bd},
-  {0x9771, 0xeeb1be},
-  {0x9772, 0xeeb280},
-  {0x9773, 0xebb7b9},
-  {0x9774, 0xed86a5},
-  {0x9775, 0xeeb281},
-  {0x9776, 0xeb8390},
-  {0x9777, 0xeeb282},
-  {0x9778, 0xeeb283},
-  {0x9779, 0xeeb284},
-  {0x977a, 0xeeb285},
-  {0x977b, 0xeeb286},
-  {0x977c, 0xef9eb0},
-  {0x977d, 0xeeb287},
-  {0x977e, 0xeeb288},
-  {0x977f, 0xeeb289},
-  {0x9780, 0xeeb28a},
-  {0x9781, 0xeeb28b},
-  {0x9782, 0xeeb28c},
-  {0x9783, 0xeeb28d},
-  {0x9784, 0xeeb28e},
-  {0x9785, 0xef9eb1},
-  {0x9786, 0xeeb28f},
-  {0x9787, 0xeeb290},
-  {0x9788, 0xeeb291},
-  {0x9789, 0xeeb292},
-  {0x978a, 0xeeb293},
-  {0x978b, 0xed82ac},
-  {0x978c, 0xeeb294},
-  {0x978d, 0xeb82b0},
-  {0x978e, 0xeeb295},
-  {0x978f, 0xeeb296},
-  {0x9790, 0xeeb297},
-  {0x9791, 0xef9eb2},
-  {0x9792, 0xef9eb3},
-  {0x9793, 0xeeb298},
-  {0x9794, 0xef9eb4},
-  {0x9795, 0xeeb299},
-  {0x9796, 0xeeb29a},
-  {0x9797, 0xeeb29b},
-  {0x9798, 0xec9f8a},
-  {0x9799, 0xeeb29c},
-  {0x979a, 0xeeb29d},
-  {0x979b, 0xeeb29e},
-  {0x979c, 0xeeb29f},
-  {0x979d, 0xeeb2a0},
-  {0x979e, 0xeeb580},
-  {0x979f, 0xeeb581},
-  {0x97a0, 0xebbb8f},
-  {0x97a1, 0xeeb582},
-  {0x97a2, 0xeeb583},
-  {0x97a3, 0xef9eb7},
-  {0x97a4, 0xeeb584},
-  {0x97a5, 0xeeb585},
-  {0x97a6, 0xeeb586},
-  {0x97a7, 0xeeb587},
-  {0x97a8, 0xeeb588},
-  {0x97a9, 0xeeb589},
-  {0x97aa, 0xeeb58a},
-  {0x97ab, 0xef9eb6},
-  {0x97ac, 0xeeb58b},
-  {0x97ad, 0xeb879e},
-  {0x97ae, 0xeeb58c},
-  {0x97af, 0xef9eb5},
-  {0x97b0, 0xeeb58d},
-  {0x97b1, 0xeeb58e},
-  {0x97b2, 0xef9eb8},
-  {0x97b3, 0xeeb58f},
-  {0x97b4, 0xef9eb9},
-  {0x97b5, 0xeeb590},
-  {0x97b6, 0xeeb591},
-  {0x97b7, 0xeeb592},
-  {0x97b8, 0xeeb593},
-  {0x97b9, 0xeeb594},
-  {0x97ba, 0xeeb595},
-  {0x97bb, 0xeeb596},
-  {0x97bc, 0xeeb597},
-  {0x97bd, 0xeeb598},
-  {0x97be, 0xeeb599},
-  {0x97bf, 0xeeb59a},
-  {0x97c0, 0xeeb59b},
-  {0x97c1, 0xeeb59c},
-  {0x97c2, 0xeeb59d},
-  {0x97c3, 0xeeb59e},
-  {0x97c4, 0xeeb59f},
-  {0x97c5, 0xeeb5a0},
-  {0x97c6, 0xeeb5a1},
-  {0x97c7, 0xeeb5a2},
-  {0x97c8, 0xeeb5a3},
-  {0x97c9, 0xeeb5a4},
-  {0x97ca, 0xeeb5a5},
-  {0x97cb, 0xeeb5a6},
-  {0x97cc, 0xeeb5a7},
-  {0x97cd, 0xeeb5a8},
-  {0x97ce, 0xeeb5a9},
-  {0x97cf, 0xeeb5aa},
-  {0x97d0, 0xeeb5ab},
-  {0x97d1, 0xeeb5ac},
-  {0x97d2, 0xeeb5ad},
-  {0x97d3, 0xeeb5ae},
-  {0x97d4, 0xeeb5af},
-  {0x97d5, 0xeeb5b0},
-  {0x97d6, 0xeeb5b1},
-  {0x97d7, 0xeeb5b2},
-  {0x97d8, 0xeeb5b3},
-  {0x97d9, 0xeeb5b4},
-  {0x97da, 0xeeb5b5},
-  {0x97db, 0xeeb5b6},
-  {0x97dc, 0xeeb5b7},
-  {0x97dd, 0xeeb5b8},
-  {0x97de, 0xeeb5b9},
-  {0x97df, 0xeeb5ba},
-  {0x97e0, 0xeeb5bb},
-  {0x97e1, 0xeeb5bc},
-  {0x97e2, 0xeeb5bd},
-  {0x97e3, 0xeeb5be},
-  {0x97e4, 0xeeb680},
-  {0x97e5, 0xeeb681},
-  {0x97e6, 0xecbaa4},
-  {0x97e7, 0xeca38d},
-  {0x97e8, 0xeeb682},
-  {0x97e9, 0xebaaab},
-  {0x97ea, 0xeea2b8},
-  {0x97eb, 0xeea2b9},
-  {0x97ec, 0xeea2ba},
-  {0x97ed, 0xebbb82},
-  {0x97ee, 0xeeb683},
-  {0x97ef, 0xeeb684},
-  {0x97f0, 0xeeb685},
-  {0x97f1, 0xeeb686},
-  {0x97f2, 0xeeb687},
-  {0x97f3, 0xed8bb4},
-  {0x97f4, 0xeeb688},
-  {0x97f5, 0xed938f},
-  {0x97f6, 0xeca798},
-  {0x97f7, 0xeeb689},
-  {0x97f8, 0xeeb68a},
-  {0x97f9, 0xeeb68b},
-  {0x97fa, 0xeeb68c},
-  {0x97fb, 0xeeb68d},
-  {0x97fc, 0xeeb68e},
-  {0x97fd, 0xeeb68f},
-  {0x97fe, 0xeeb690},
-  {0x97ff, 0xeeb691},
-  {0x9800, 0xeeb692},
-  {0x9801, 0xeeb693},
-  {0x9802, 0xeeb694},
-  {0x9803, 0xeeb695},
-  {0x9804, 0xeeb696},
-  {0x9805, 0xeeb697},
-  {0x9806, 0xeeb698},
-  {0x9807, 0xeeb699},
-  {0x9808, 0xeeb69a},
-  {0x9809, 0xeeb69b},
-  {0x980a, 0xeeb69c},
-  {0x980b, 0xeeb69d},
-  {0x980c, 0xeeb69e},
-  {0x980d, 0xeeb69f},
-  {0x980e, 0xeeb6a0},
-  {0x980f, 0xeeb980},
-  {0x9810, 0xeeb981},
-  {0x9811, 0xeeb982},
-  {0x9812, 0xeeb983},
-  {0x9813, 0xeeb984},
-  {0x9814, 0xeeb985},
-  {0x9815, 0xeeb986},
-  {0x9816, 0xeeb987},
-  {0x9817, 0xeeb988},
-  {0x9818, 0xeeb989},
-  {0x9819, 0xeeb98a},
-  {0x981a, 0xeeb98b},
-  {0x981b, 0xeeb98c},
-  {0x981c, 0xeeb98d},
-  {0x981d, 0xeeb98e},
-  {0x981e, 0xeeb98f},
-  {0x981f, 0xeeb990},
-  {0x9820, 0xeeb991},
-  {0x9821, 0xeeb992},
-  {0x9822, 0xeeb993},
-  {0x9823, 0xeeb994},
-  {0x9824, 0xeeb995},
-  {0x9825, 0xeeb996},
-  {0x9826, 0xeeb997},
-  {0x9827, 0xeeb998},
-  {0x9828, 0xeeb999},
-  {0x9829, 0xeeb99a},
-  {0x982a, 0xeeb99b},
-  {0x982b, 0xeeb99c},
-  {0x982c, 0xeeb99d},
-  {0x982d, 0xeeb99e},
-  {0x982e, 0xeeb99f},
-  {0x982f, 0xeeb9a0},
-  {0x9830, 0xeeb9a1},
-  {0x9831, 0xeeb9a2},
-  {0x9832, 0xeeb9a3},
-  {0x9833, 0xeeb9a4},
-  {0x9834, 0xeeb9a5},
-  {0x9835, 0xeeb9a6},
-  {0x9836, 0xeeb9a7},
-  {0x9837, 0xeeb9a8},
-  {0x9838, 0xeeb9a9},
-  {0x9839, 0xeeb9aa},
-  {0x983a, 0xeeb9ab},
-  {0x983b, 0xeeb9ac},
-  {0x983c, 0xeeb9ad},
-  {0x983d, 0xeeb9ae},
-  {0x983e, 0xeeb9af},
-  {0x983f, 0xeeb9b0},
-  {0x9840, 0xeeb9b1},
-  {0x9841, 0xeeb9b2},
-  {0x9842, 0xeeb9b3},
-  {0x9843, 0xeeb9b4},
-  {0x9844, 0xeeb9b5},
-  {0x9845, 0xeeb9b6},
-  {0x9846, 0xeeb9b7},
-  {0x9847, 0xeeb9b8},
-  {0x9848, 0xeeb9b9},
-  {0x9849, 0xeeb9ba},
-  {0x984a, 0xeeb9bb},
-  {0x984b, 0xeeb9bc},
-  {0x984c, 0xeeb9bd},
-  {0x984d, 0xeeb9be},
-  {0x984e, 0xeeba80},
-  {0x984f, 0xeeba81},
-  {0x9850, 0xeeba82},
-  {0x9851, 0xeeba83},
-  {0x9852, 0xeeba84},
-  {0x9853, 0xeeba85},
-  {0x9854, 0xeeba86},
-  {0x9855, 0xeeba87},
-  {0x9856, 0xeeba88},
-  {0x9857, 0xeeba89},
-  {0x9858, 0xeeba8a},
-  {0x9859, 0xeeba8b},
-  {0x985a, 0xeeba8c},
-  {0x985b, 0xeeba8d},
-  {0x985c, 0xeeba8e},
-  {0x985d, 0xeeba8f},
-  {0x985e, 0xeeba90},
-  {0x985f, 0xeeba91},
-  {0x9860, 0xeeba92},
-  {0x9861, 0xeeba93},
-  {0x9862, 0xeeba94},
-  {0x9863, 0xeeba95},
-  {0x9864, 0xeeba96},
-  {0x9865, 0xeeba97},
-  {0x9866, 0xeeba98},
-  {0x9867, 0xeeba99},
-  {0x9868, 0xeeba9a},
-  {0x9869, 0xeeba9b},
-  {0x986a, 0xeeba9c},
-  {0x986b, 0xeeba9d},
-  {0x986c, 0xeeba9e},
-  {0x986d, 0xeeba9f},
-  {0x986e, 0xeebaa0},
-  {0x986f, 0xeebd80},
-  {0x9870, 0xeebd81},
-  {0x9871, 0xeebd82},
-  {0x9872, 0xeebd83},
-  {0x9873, 0xeebd84},
-  {0x9874, 0xeebd85},
-  {0x9875, 0xed8ab3},
-  {0x9876, 0xeb9aa5},
-  {0x9877, 0xec9faa},
-  {0x9878, 0xef87bc},
-  {0x9879, 0xecbfae},
-  {0x987a, 0xecaeb3},
-  {0x987b, 0xed83ab},
-  {0x987c, 0xee9faf},
-  {0x987d, 0xecb7a7},
-  {0x987e, 0xeba78b},
-  {0x987f, 0xeb9b99},
-  {0x9880, 0xef87bd},
-  {0x9881, 0xeb83a4},
-  {0x9882, 0xecaf8c},
-  {0x9883, 0xef87be},
-  {0x9884, 0xed92a4},
-  {0x9885, 0xec8aad},
-  {0x9886, 0xec87ac},
-  {0x9887, 0xec9b84},
-  {0x9888, 0xebbab1},
-  {0x9889, 0xef8aa1},
-  {0x988a, 0xebb395},
-  {0x988b, 0xeebd86},
-  {0x988c, 0xef8aa2},
-  {0x988d, 0xef8aa3},
-  {0x988e, 0xeebd87},
-  {0x988f, 0xef8aa4},
-  {0x9890, 0xed8b83},
-  {0x9891, 0xec9ab5},
-  {0x9892, 0xeebd88},
-  {0x9893, 0xecb787},
-  {0x9894, 0xef8aa5},
-  {0x9895, 0xeebd89},
-  {0x9896, 0xed8eb1},
-  {0x9897, 0xebbf85},
-  {0x9898, 0xecb3a2},
-  {0x9899, 0xeebd8a},
-  {0x989a, 0xef8aa6},
-  {0x989b, 0xef8aa7},
-  {0x989c, 0xed8795},
-  {0x989d, 0xeb9bae},
-  {0x989e, 0xef8aa8},
-  {0x989f, 0xef8aa9},
-  {0x98a0, 0xeb979f},
-  {0x98a1, 0xef8aaa},
-  {0x98a2, 0xef8aab},
-  {0x98a3, 0xeebd8b},
-  {0x98a4, 0xeb8bbc},
-  {0x98a5, 0xef8aac},
-  {0x98a6, 0xef8aad},
-  {0x98a7, 0xeca2a7},
-  {0x98a8, 0xeebd8c},
-  {0x98a9, 0xeebd8d},
-  {0x98aa, 0xeebd8e},
-  {0x98ab, 0xeebd8f},
-  {0x98ac, 0xeebd90},
-  {0x98ad, 0xeebd91},
-  {0x98ae, 0xeebd92},
-  {0x98af, 0xeebd93},
-  {0x98b0, 0xeebd94},
-  {0x98b1, 0xeebd95},
-  {0x98b2, 0xeebd96},
-  {0x98b3, 0xeebd97},
-  {0x98b4, 0xeebd98},
-  {0x98b5, 0xeebd99},
-  {0x98b6, 0xeebd9a},
-  {0x98b7, 0xeebd9b},
-  {0x98b8, 0xeebd9c},
-  {0x98b9, 0xeebd9d},
-  {0x98ba, 0xeebd9e},
-  {0x98bb, 0xeebd9f},
-  {0x98bc, 0xeebda0},
-  {0x98bd, 0xeebda1},
-  {0x98be, 0xeebda2},
-  {0x98bf, 0xeebda3},
-  {0x98c0, 0xeebda4},
-  {0x98c1, 0xeebda5},
-  {0x98c2, 0xeebda6},
-  {0x98c3, 0xeebda7},
-  {0x98c4, 0xeebda8},
-  {0x98c5, 0xeebda9},
-  {0x98c6, 0xeebdaa},
-  {0x98c7, 0xeebdab},
-  {0x98c8, 0xeebdac},
-  {0x98c9, 0xeebdad},
-  {0x98ca, 0xeebdae},
-  {0x98cb, 0xeebdaf},
-  {0x98cc, 0xeebdb0},
-  {0x98cd, 0xeebdb1},
-  {0x98ce, 0xeb9fa7},
-  {0x98cf, 0xeebdb2},
-  {0x98d0, 0xeebdb3},
-  {0x98d1, 0xeeb2a9},
-  {0x98d2, 0xeeb2aa},
-  {0x98d3, 0xeeb2ab},
-  {0x98d4, 0xeebdb4},
-  {0x98d5, 0xeeb2ac},
-  {0x98d6, 0xeebdb5},
-  {0x98d7, 0xeebdb6},
-  {0x98d8, 0xec9aae},
-  {0x98d9, 0xeeb2ad},
-  {0x98da, 0xeeb2ae},
-  {0x98db, 0xeebdb7},
-  {0x98dc, 0xeebdb8},
-  {0x98dd, 0xeebdb9},
-  {0x98de, 0xeb9f89},
-  {0x98df, 0xecaab3},
-  {0x98e0, 0xeebdba},
-  {0x98e1, 0xeebdbb},
-  {0x98e2, 0xeebdbc},
-  {0x98e3, 0xeebdbd},
-  {0x98e4, 0xeebdbe},
-  {0x98e5, 0xeebe80},
-  {0x98e6, 0xeebe81},
-  {0x98e7, 0xee8ab8},
-  {0x98e8, 0xef9f8f},
-  {0x98e9, 0xeebe82},
-  {0x98ea, 0xeebe83},
-  {0x98eb, 0xeebe84},
-  {0x98ec, 0xeebe85},
-  {0x98ed, 0xeebe86},
-  {0x98ee, 0xeebe87},
-  {0x98ef, 0xeebe88},
-  {0x98f0, 0xeebe89},
-  {0x98f1, 0xeebe8a},
-  {0x98f2, 0xeebe8b},
-  {0x98f3, 0xeebe8c},
-  {0x98f4, 0xeebe8d},
-  {0x98f5, 0xeebe8e},
-  {0x98f6, 0xeebe8f},
-  {0x98f7, 0xeebe90},
-  {0x98f8, 0xeebe91},
-  {0x98f9, 0xeebe92},
-  {0x98fa, 0xeebe93},
-  {0x98fb, 0xeebe94},
-  {0x98fc, 0xeebe95},
-  {0x98fd, 0xeebe96},
-  {0x98fe, 0xeebe97},
-  {0x98ff, 0xeebe98},
-  {0x9900, 0xeebe99},
-  {0x9901, 0xeebe9a},
-  {0x9902, 0xeebe9b},
-  {0x9903, 0xeebe9c},
-  {0x9904, 0xeebe9d},
-  {0x9905, 0xeebe9e},
-  {0x9906, 0xeebe9f},
-  {0x9907, 0xeebea0},
-  {0x9908, 0xef8180},
-  {0x9909, 0xef8181},
-  {0x990a, 0xef8182},
-  {0x990b, 0xef8183},
-  {0x990c, 0xef8184},
-  {0x990d, 0xef9f90},
-  {0x990e, 0xef8185},
-  {0x990f, 0xef8186},
-  {0x9910, 0xeb8b8d},
-  {0x9911, 0xef8187},
-  {0x9912, 0xef8188},
-  {0x9913, 0xef8189},
-  {0x9914, 0xef818a},
-  {0x9915, 0xef818b},
-  {0x9916, 0xef818c},
-  {0x9917, 0xef818d},
-  {0x9918, 0xef818e},
-  {0x9919, 0xef818f},
-  {0x991a, 0xef8190},
-  {0x991b, 0xef8191},
-  {0x991c, 0xef8192},
-  {0x991d, 0xef8193},
-  {0x991e, 0xef8194},
-  {0x991f, 0xef8195},
-  {0x9920, 0xef8196},
-  {0x9921, 0xef8197},
-  {0x9922, 0xef8198},
-  {0x9923, 0xef8199},
-  {0x9924, 0xef819a},
-  {0x9925, 0xef819b},
-  {0x9926, 0xef819c},
-  {0x9927, 0xef819d},
-  {0x9928, 0xef819e},
-  {0x9929, 0xef819f},
-  {0x992a, 0xef81a0},
-  {0x992b, 0xef81a1},
-  {0x992c, 0xef81a2},
-  {0x992d, 0xef81a3},
-  {0x992e, 0xef9f91},
-  {0x992f, 0xef81a4},
-  {0x9930, 0xef81a5},
-  {0x9931, 0xef81a6},
-  {0x9932, 0xef81a7},
-  {0x9933, 0xef81a8},
-  {0x9934, 0xef81a9},
-  {0x9935, 0xef81aa},
-  {0x9936, 0xef81ab},
-  {0x9937, 0xef81ac},
-  {0x9938, 0xef81ad},
-  {0x9939, 0xef81ae},
-  {0x993a, 0xef81af},
-  {0x993b, 0xef81b0},
-  {0x993c, 0xef81b1},
-  {0x993d, 0xef81b2},
-  {0x993e, 0xef81b3},
-  {0x993f, 0xef81b4},
-  {0x9940, 0xef81b5},
-  {0x9941, 0xef81b6},
-  {0x9942, 0xef81b7},
-  {0x9943, 0xef81b8},
-  {0x9944, 0xef81b9},
-  {0x9945, 0xef81ba},
-  {0x9946, 0xef81bb},
-  {0x9947, 0xef81bc},
-  {0x9948, 0xef81bd},
-  {0x9949, 0xef81be},
-  {0x994a, 0xef8280},
-  {0x994b, 0xef8281},
-  {0x994c, 0xef8282},
-  {0x994d, 0xef8283},
-  {0x994e, 0xef8284},
-  {0x994f, 0xef8285},
-  {0x9950, 0xef8286},
-  {0x9951, 0xef8287},
-  {0x9952, 0xef8288},
-  {0x9953, 0xef8289},
-  {0x9954, 0xef9f93},
-  {0x9955, 0xef9f92},
-  {0x9956, 0xef828a},
-  {0x9957, 0xef828b},
-  {0x9958, 0xef828c},
-  {0x9959, 0xef828d},
-  {0x995a, 0xef828e},
-  {0x995b, 0xef828f},
-  {0x995c, 0xef8290},
-  {0x995d, 0xef8291},
-  {0x995e, 0xef8292},
-  {0x995f, 0xef8293},
-  {0x9960, 0xef8294},
-  {0x9961, 0xef8295},
-  {0x9962, 0xef8296},
-  {0x9963, 0xee8abb},
-  {0x9964, 0xef8297},
-  {0x9965, 0xebb2a2},
-  {0x9966, 0xef8298},
-  {0x9967, 0xee8abc},
-  {0x9968, 0xee8abd},
-  {0x9969, 0xee8abe},
-  {0x996a, 0xee8abf},
-  {0x996b, 0xee8b80},
-  {0x996c, 0xee8b81},
-  {0x996d, 0xeb9eb9},
-  {0x996e, 0xed8bbb},
-  {0x996f, 0xebb6a4},
-  {0x9970, 0xecab8e},
-  {0x9971, 0xeb86a5},
-  {0x9972, 0xecaf87},
-  {0x9973, 0xef8299},
-  {0x9974, 0xee8b82},
-  {0x9975, 0xeb9bbc},
-  {0x9976, 0xeca384},
-  {0x9977, 0xee8b83},
-  {0x9978, 0xef829a},
-  {0x9979, 0xef829b},
-  {0x997a, 0xebb788},
-  {0x997b, 0xef829c},
-  {0x997c, 0xeb87bd},
-  {0x997d, 0xee8b84},
-  {0x997e, 0xef829d},
-  {0x997f, 0xeb9bb6},
-  {0x9980, 0xee8b85},
-  {0x9981, 0xec9399},
-  {0x9982, 0xef829e},
-  {0x9983, 0xef829f},
-  {0x9984, 0xee8b86},
-  {0x9985, 0xecbf9a},
-  {0x9986, 0xeba79d},
-  {0x9987, 0xee8b87},
-  {0x9988, 0xec82a1},
-  {0x9989, 0xef82a0},
-  {0x998a, 0xee8b88},
-  {0x998b, 0xeb8bb6},
-  {0x998c, 0xef8580},
-  {0x998d, 0xee8b89},
-  {0x998e, 0xef8581},
-  {0x998f, 0xec87b3},
-  {0x9990, 0xee8b8a},
-  {0x9991, 0xee8b8b},
-  {0x9992, 0xec8bb8},
-  {0x9993, 0xee8b8c},
-  {0x9994, 0xee8b8d},
-  {0x9995, 0xee8b8e},
-  {0x9996, 0xecab97},
-  {0x9997, 0xeda2b8},
-  {0x9998, 0xeda7a5},
-  {0x9999, 0xecbfa3},
-  {0x999a, 0xef8582},
-  {0x999b, 0xef8583},
-  {0x999c, 0xef8584},
-  {0x999d, 0xef8585},
-  {0x999e, 0xef8586},
-  {0x999f, 0xef8587},
-  {0x99a0, 0xef8588},
-  {0x99a1, 0xef8589},
-  {0x99a2, 0xef858a},
-  {0x99a3, 0xef858b},
-  {0x99a4, 0xef858c},
-  {0x99a5, 0xef82a5},
-  {0x99a6, 0xef858d},
-  {0x99a7, 0xef858e},
-  {0x99a8, 0xedb2b0},
-  {0x99a9, 0xef858f},
-  {0x99aa, 0xef8590},
-  {0x99ab, 0xef8591},
-  {0x99ac, 0xef8592},
-  {0x99ad, 0xef8593},
-  {0x99ae, 0xef8594},
-  {0x99af, 0xef8595},
-  {0x99b0, 0xef8596},
-  {0x99b1, 0xef8597},
-  {0x99b2, 0xef8598},
-  {0x99b3, 0xef8599},
-  {0x99b4, 0xef859a},
-  {0x99b5, 0xef859b},
-  {0x99b6, 0xef859c},
-  {0x99b7, 0xef859d},
-  {0x99b8, 0xef859e},
-  {0x99b9, 0xef859f},
-  {0x99ba, 0xef85a0},
-  {0x99bb, 0xef85a1},
-  {0x99bc, 0xef85a2},
-  {0x99bd, 0xef85a3},
-  {0x99be, 0xef85a4},
-  {0x99bf, 0xef85a5},
-  {0x99c0, 0xef85a6},
-  {0x99c1, 0xef85a7},
-  {0x99c2, 0xef85a8},
-  {0x99c3, 0xef85a9},
-  {0x99c4, 0xef85aa},
-  {0x99c5, 0xef85ab},
-  {0x99c6, 0xef85ac},
-  {0x99c7, 0xef85ad},
-  {0x99c8, 0xef85ae},
-  {0x99c9, 0xef85af},
-  {0x99ca, 0xef85b0},
-  {0x99cb, 0xef85b1},
-  {0x99cc, 0xef85b2},
-  {0x99cd, 0xef85b3},
-  {0x99ce, 0xef85b4},
-  {0x99cf, 0xef85b5},
-  {0x99d0, 0xef85b6},
-  {0x99d1, 0xef85b7},
-  {0x99d2, 0xef85b8},
-  {0x99d3, 0xef85b9},
-  {0x99d4, 0xef85ba},
-  {0x99d5, 0xef85bb},
-  {0x99d6, 0xef85bc},
-  {0x99d7, 0xef85bd},
-  {0x99d8, 0xef85be},
-  {0x99d9, 0xef8680},
-  {0x99da, 0xef8681},
-  {0x99db, 0xef8682},
-  {0x99dc, 0xef8683},
-  {0x99dd, 0xef8684},
-  {0x99de, 0xef8685},
-  {0x99df, 0xef8686},
-  {0x99e0, 0xef8687},
-  {0x99e1, 0xef8688},
-  {0x99e2, 0xef8689},
-  {0x99e3, 0xef868a},
-  {0x99e4, 0xef868b},
-  {0x99e5, 0xef868c},
-  {0x99e6, 0xef868d},
-  {0x99e7, 0xef868e},
-  {0x99e8, 0xef868f},
-  {0x99e9, 0xef8690},
-  {0x99ea, 0xef8691},
-  {0x99eb, 0xef8692},
-  {0x99ec, 0xef8693},
-  {0x99ed, 0xef8694},
-  {0x99ee, 0xef8695},
-  {0x99ef, 0xef8696},
-  {0x99f0, 0xef8697},
-  {0x99f1, 0xef8698},
-  {0x99f2, 0xef8699},
-  {0x99f3, 0xef869a},
-  {0x99f4, 0xef869b},
-  {0x99f5, 0xef869c},
-  {0x99f6, 0xef869d},
-  {0x99f7, 0xef869e},
-  {0x99f8, 0xef869f},
-  {0x99f9, 0xef86a0},
-  {0x99fa, 0xef8980},
-  {0x99fb, 0xef8981},
-  {0x99fc, 0xef8982},
-  {0x99fd, 0xef8983},
-  {0x99fe, 0xef8984},
-  {0x99ff, 0xef8985},
-  {0x9a00, 0xef8986},
-  {0x9a01, 0xef8987},
-  {0x9a02, 0xef8988},
-  {0x9a03, 0xef8989},
-  {0x9a04, 0xef898a},
-  {0x9a05, 0xef898b},
-  {0x9a06, 0xef898c},
-  {0x9a07, 0xef898d},
-  {0x9a08, 0xef898e},
-  {0x9a09, 0xef898f},
-  {0x9a0a, 0xef8990},
-  {0x9a0b, 0xef8991},
-  {0x9a0c, 0xef8992},
-  {0x9a0d, 0xef8993},
-  {0x9a0e, 0xef8994},
-  {0x9a0f, 0xef8995},
-  {0x9a10, 0xef8996},
-  {0x9a11, 0xef8997},
-  {0x9a12, 0xef8998},
-  {0x9a13, 0xef8999},
-  {0x9a14, 0xef899a},
-  {0x9a15, 0xef899b},
-  {0x9a16, 0xef899c},
-  {0x9a17, 0xef899d},
-  {0x9a18, 0xef899e},
-  {0x9a19, 0xef899f},
-  {0x9a1a, 0xef89a0},
-  {0x9a1b, 0xef89a1},
-  {0x9a1c, 0xef89a2},
-  {0x9a1d, 0xef89a3},
-  {0x9a1e, 0xef89a4},
-  {0x9a1f, 0xef89a5},
-  {0x9a20, 0xef89a6},
-  {0x9a21, 0xef89a7},
-  {0x9a22, 0xef89a8},
-  {0x9a23, 0xef89a9},
-  {0x9a24, 0xef89aa},
-  {0x9a25, 0xef89ab},
-  {0x9a26, 0xef89ac},
-  {0x9a27, 0xef89ad},
-  {0x9a28, 0xef89ae},
-  {0x9a29, 0xef89af},
-  {0x9a2a, 0xef89b0},
-  {0x9a2b, 0xef89b1},
-  {0x9a2c, 0xef89b2},
-  {0x9a2d, 0xef89b3},
-  {0x9a2e, 0xef89b4},
-  {0x9a2f, 0xef89b5},
-  {0x9a30, 0xef89b6},
-  {0x9a31, 0xef89b7},
-  {0x9a32, 0xef89b8},
-  {0x9a33, 0xef89b9},
-  {0x9a34, 0xef89ba},
-  {0x9a35, 0xef89bb},
-  {0x9a36, 0xef89bc},
-  {0x9a37, 0xef89bd},
-  {0x9a38, 0xef89be},
-  {0x9a39, 0xef8a80},
-  {0x9a3a, 0xef8a81},
-  {0x9a3b, 0xef8a82},
-  {0x9a3c, 0xef8a83},
-  {0x9a3d, 0xef8a84},
-  {0x9a3e, 0xef8a85},
-  {0x9a3f, 0xef8a86},
-  {0x9a40, 0xef8a87},
-  {0x9a41, 0xef8a88},
-  {0x9a42, 0xef8a89},
-  {0x9a43, 0xef8a8a},
-  {0x9a44, 0xef8a8b},
-  {0x9a45, 0xef8a8c},
-  {0x9a46, 0xef8a8d},
-  {0x9a47, 0xef8a8e},
-  {0x9a48, 0xef8a8f},
-  {0x9a49, 0xef8a90},
-  {0x9a4a, 0xef8a91},
-  {0x9a4b, 0xef8a92},
-  {0x9a4c, 0xef8a93},
-  {0x9a4d, 0xef8a94},
-  {0x9a4e, 0xef8a95},
-  {0x9a4f, 0xef8a96},
-  {0x9a50, 0xef8a97},
-  {0x9a51, 0xef8a98},
-  {0x9a52, 0xef8a99},
-  {0x9a53, 0xef8a9a},
-  {0x9a54, 0xef8a9b},
-  {0x9a55, 0xef8a9c},
-  {0x9a56, 0xef8a9d},
-  {0x9a57, 0xef8a9e},
-  {0x9a58, 0xef8a9f},
-  {0x9a59, 0xef8aa0},
-  {0x9a5a, 0xef8d80},
-  {0x9a5b, 0xef8d81},
-  {0x9a5c, 0xef8d82},
-  {0x9a5d, 0xef8d83},
-  {0x9a5e, 0xef8d84},
-  {0x9a5f, 0xef8d85},
-  {0x9a60, 0xef8d86},
-  {0x9a61, 0xef8d87},
-  {0x9a62, 0xef8d88},
-  {0x9a63, 0xef8d89},
-  {0x9a64, 0xef8d8a},
-  {0x9a65, 0xef8d8b},
-  {0x9a66, 0xef8d8c},
-  {0x9a67, 0xef8d8d},
-  {0x9a68, 0xef8d8e},
-  {0x9a69, 0xef8d8f},
-  {0x9a6a, 0xef8d90},
-  {0x9a6b, 0xef8d91},
-  {0x9a6c, 0xec8bad},
-  {0x9a6d, 0xed92a6},
-  {0x9a6e, 0xecb794},
-  {0x9a6f, 0xed86b1},
-  {0x9a70, 0xeb8f9b},
-  {0x9a71, 0xec9fbd},
-  {0x9a72, 0xef8d92},
-  {0x9a73, 0xeb8ab5},
-  {0x9a74, 0xec8abf},
-  {0x9a75, 0xee9ba0},
-  {0x9a76, 0xecaabb},
-  {0x9a77, 0xee9ba1},
-  {0x9a78, 0xee9ba2},
-  {0x9a79, 0xebbb94},
-  {0x9a7a, 0xee9ba3},
-  {0x9a7b, 0xed9ea4},
-  {0x9a7c, 0xecb795},
-  {0x9a7d, 0xee9ba5},
-  {0x9a7e, 0xebb39d},
-  {0x9a7f, 0xee9ba4},
-  {0x9a80, 0xee9ba6},
-  {0x9a81, 0xee9ba7},
-  {0x9a82, 0xec8bae},
-  {0x9a83, 0xef8d93},
-  {0x9a84, 0xebb6be},
-  {0x9a85, 0xee9ba8},
-  {0x9a86, 0xec8ba6},
-  {0x9a87, 0xebaaa7},
-  {0x9a88, 0xee9ba9},
-  {0x9a89, 0xef8d94},
-  {0x9a8a, 0xee9baa},
-  {0x9a8b, 0xeb8f92},
-  {0x9a8c, 0xed87a9},
-  {0x9a8d, 0xef8d95},
-  {0x9a8e, 0xef8d96},
-  {0x9a8f, 0xebbea5},
-  {0x9a90, 0xee9bab},
-  {0x9a91, 0xec9baf},
-  {0x9a92, 0xee9bac},
-  {0x9a93, 0xee9bad},
-  {0x9a94, 0xef8d97},
-  {0x9a95, 0xef8d98},
-  {0x9a96, 0xee9bae},
-  {0x9a97, 0xec9aad},
-  {0x9a98, 0xee9baf},
-  {0x9a99, 0xef8d99},
-  {0x9a9a, 0xeca6a7},
-  {0x9a9b, 0xee9bb0},
-  {0x9a9c, 0xee9bb1},
-  {0x9a9d, 0xee9bb2},
-  {0x9a9e, 0xee96b9},
-  {0x9a9f, 0xee9bb3},
-  {0x9aa0, 0xee9bb4},
-  {0x9aa1, 0xec8ba2},
-  {0x9aa2, 0xee9bb5},
-  {0x9aa3, 0xee9bb6},
-  {0x9aa4, 0xed9ba8},
-  {0x9aa5, 0xee9bb7},
-  {0x9aa6, 0xef8d9a},
-  {0x9aa7, 0xee9bb8},
-  {0x9aa8, 0xeba787},
-  {0x9aa9, 0xef8d9b},
-  {0x9aaa, 0xef8d9c},
-  {0x9aab, 0xef8d9d},
-  {0x9aac, 0xef8d9e},
-  {0x9aad, 0xef8d9f},
-  {0x9aae, 0xef8da0},
-  {0x9aaf, 0xef8da1},
-  {0x9ab0, 0xef9ebb},
-  {0x9ab1, 0xef9eba},
-  {0x9ab2, 0xef8da2},
-  {0x9ab3, 0xef8da3},
-  {0x9ab4, 0xef8da4},
-  {0x9ab5, 0xef8da5},
-  {0x9ab6, 0xef9ebe},
-  {0x9ab7, 0xef9ebc},
-  {0x9ab8, 0xebaaa1},
-  {0x9ab9, 0xef8da6},
-  {0x9aba, 0xef9ebf},
-  {0x9abb, 0xef8da7},
-  {0x9abc, 0xef9f80},
-  {0x9abd, 0xef8da8},
-  {0x9abe, 0xef8da9},
-  {0x9abf, 0xef8daa},
-  {0x9ac0, 0xef9f82},
-  {0x9ac1, 0xef9f81},
-  {0x9ac2, 0xef9f84},
-  {0x9ac3, 0xef8dab},
-  {0x9ac4, 0xef8dac},
-  {0x9ac5, 0xef9f83},
-  {0x9ac6, 0xef8dad},
-  {0x9ac7, 0xef8dae},
-  {0x9ac8, 0xef8daf},
-  {0x9ac9, 0xef8db0},
-  {0x9aca, 0xef8db1},
-  {0x9acb, 0xef9f85},
-  {0x9acc, 0xef9f86},
-  {0x9acd, 0xef8db2},
-  {0x9ace, 0xef8db3},
-  {0x9acf, 0xef8db4},
-  {0x9ad0, 0xef8db5},
-  {0x9ad1, 0xef9f87},
-  {0x9ad2, 0xef8db6},
-  {0x9ad3, 0xecafa8},
-  {0x9ad4, 0xef8db7},
-  {0x9ad5, 0xef8db8},
-  {0x9ad6, 0xef8db9},
-  {0x9ad7, 0xef8dba},
-  {0x9ad8, 0xeba39f},
-  {0x9ad9, 0xef8dbb},
-  {0x9ada, 0xef8dbc},
-  {0x9adb, 0xef8dbd},
-  {0x9adc, 0xef8dbe},
-  {0x9add, 0xef8e80},
-  {0x9ade, 0xef8e81},
-  {0x9adf, 0xef9f94},
-  {0x9ae0, 0xef8e82},
-  {0x9ae1, 0xef9f95},
-  {0x9ae2, 0xef8e83},
-  {0x9ae3, 0xef8e84},
-  {0x9ae4, 0xef8e85},
-  {0x9ae5, 0xef8e86},
-  {0x9ae6, 0xef9f96},
-  {0x9ae7, 0xef8e87},
-  {0x9ae8, 0xef8e88},
-  {0x9ae9, 0xef8e89},
-  {0x9aea, 0xef8e8a},
-  {0x9aeb, 0xef9f98},
-  {0x9aec, 0xef8e8b},
-  {0x9aed, 0xef9f9a},
-  {0x9aee, 0xef8e8c},
-  {0x9aef, 0xef9f97},
-  {0x9af0, 0xef8e8d},
-  {0x9af1, 0xef8e8e},
-  {0x9af2, 0xef8e8f},
-  {0x9af3, 0xef8e90},
-  {0x9af4, 0xef8e91},
-  {0x9af5, 0xef8e92},
-  {0x9af6, 0xef8e93},
-  {0x9af7, 0xef8e94},
-  {0x9af8, 0xef8e95},
-  {0x9af9, 0xef9f9b},
-  {0x9afa, 0xef8e96},
-  {0x9afb, 0xef9f99},
-  {0x9afc, 0xef8e97},
-  {0x9afd, 0xef8e98},
-  {0x9afe, 0xef8e99},
-  {0x9aff, 0xef8e9a},
-  {0x9b00, 0xef8e9b},
-  {0x9b01, 0xef8e9c},
-  {0x9b02, 0xef8e9d},
-  {0x9b03, 0xed9f97},
-  {0x9b04, 0xef8e9e},
-  {0x9b05, 0xef8e9f},
-  {0x9b06, 0xef8ea0},
-  {0x9b07, 0xef9180},
-  {0x9b08, 0xef9f9c},
-  {0x9b09, 0xef9181},
-  {0x9b0a, 0xef9182},
-  {0x9b0b, 0xef9183},
-  {0x9b0c, 0xef9184},
-  {0x9b0d, 0xef9185},
-  {0x9b0e, 0xef9186},
-  {0x9b0f, 0xef9f9d},
-  {0x9b10, 0xef9187},
-  {0x9b11, 0xef9188},
-  {0x9b12, 0xef9189},
-  {0x9b13, 0xef9f9e},
-  {0x9b14, 0xef918a},
-  {0x9b15, 0xef918b},
-  {0x9b16, 0xef918c},
-  {0x9b17, 0xef918d},
-  {0x9b18, 0xef918e},
-  {0x9b19, 0xef918f},
-  {0x9b1a, 0xef9190},
-  {0x9b1b, 0xef9191},
-  {0x9b1c, 0xef9192},
-  {0x9b1d, 0xef9193},
-  {0x9b1e, 0xef9194},
-  {0x9b1f, 0xef9f9f},
-  {0x9b20, 0xef9195},
-  {0x9b21, 0xef9196},
-  {0x9b22, 0xef9197},
-  {0x9b23, 0xef9fa0},
-  {0x9b24, 0xef9198},
-  {0x9b25, 0xef9199},
-  {0x9b26, 0xef919a},
-  {0x9b27, 0xef919b},
-  {0x9b28, 0xef919c},
-  {0x9b29, 0xef919d},
-  {0x9b2a, 0xef919e},
-  {0x9b2b, 0xef919f},
-  {0x9b2c, 0xef91a0},
-  {0x9b2d, 0xef91a1},
-  {0x9b2e, 0xef91a2},
-  {0x9b2f, 0xedaf8b},
-  {0x9b30, 0xef91a3},
-  {0x9b31, 0xef91a4},
-  {0x9b32, 0xeda2aa},
-  {0x9b33, 0xef91a5},
-  {0x9b34, 0xef91a6},
-  {0x9b35, 0xef91a7},
-  {0x9b36, 0xef91a8},
-  {0x9b37, 0xef91a9},
-  {0x9b38, 0xef91aa},
-  {0x9b39, 0xef91ab},
-  {0x9b3a, 0xef91ac},
-  {0x9b3b, 0xee97b7},
-  {0x9b3c, 0xeba7ad},
-  {0x9b3d, 0xef91ad},
-  {0x9b3e, 0xef91ae},
-  {0x9b3f, 0xef91af},
-  {0x9b40, 0xef91b0},
-  {0x9b41, 0xebbfbd},
-  {0x9b42, 0xebafaa},
-  {0x9b43, 0xef9f89},
-  {0x9b44, 0xec9b87},
-  {0x9b45, 0xef9f88},
-  {0x9b46, 0xef91b1},
-  {0x9b47, 0xef9f8a},
-  {0x9b48, 0xef9f8c},
-  {0x9b49, 0xef9f8b},
-  {0x9b4a, 0xef91b2},
-  {0x9b4b, 0xef91b3},
-  {0x9b4c, 0xef91b4},
-  {0x9b4d, 0xef9f8d},
-  {0x9b4e, 0xef91b5},
-  {0x9b4f, 0xecbaba},
-  {0x9b50, 0xef91b6},
-  {0x9b51, 0xef9f8e},
-  {0x9b52, 0xef91b7},
-  {0x9b53, 0xef91b8},
-  {0x9b54, 0xec92a7},
-  {0x9b55, 0xef91b9},
-  {0x9b56, 0xef91ba},
-  {0x9b57, 0xef91bb},
-  {0x9b58, 0xef91bc},
-  {0x9b59, 0xef91bd},
-  {0x9b5a, 0xef91be},
-  {0x9b5b, 0xef9280},
-  {0x9b5c, 0xef9281},
-  {0x9b5d, 0xef9282},
-  {0x9b5e, 0xef9283},
-  {0x9b5f, 0xef9284},
-  {0x9b60, 0xef9285},
-  {0x9b61, 0xef9286},
-  {0x9b62, 0xef9287},
-  {0x9b63, 0xef9288},
-  {0x9b64, 0xef9289},
-  {0x9b65, 0xef928a},
-  {0x9b66, 0xef928b},
-  {0x9b67, 0xef928c},
-  {0x9b68, 0xef928d},
-  {0x9b69, 0xef928e},
-  {0x9b6a, 0xef928f},
-  {0x9b6b, 0xef9290},
-  {0x9b6c, 0xef9291},
-  {0x9b6d, 0xef9292},
-  {0x9b6e, 0xef9293},
-  {0x9b6f, 0xef9294},
-  {0x9b70, 0xef9295},
-  {0x9b71, 0xef9296},
-  {0x9b72, 0xef9297},
-  {0x9b73, 0xef9298},
-  {0x9b74, 0xef9299},
-  {0x9b75, 0xef929a},
-  {0x9b76, 0xef929b},
-  {0x9b77, 0xef929c},
-  {0x9b78, 0xef929d},
-  {0x9b79, 0xef929e},
-  {0x9b7a, 0xef929f},
-  {0x9b7b, 0xef92a0},
-  {0x9b7c, 0xef9580},
-  {0x9b7d, 0xef9581},
-  {0x9b7e, 0xef9582},
-  {0x9b7f, 0xef9583},
-  {0x9b80, 0xef9584},
-  {0x9b81, 0xef9585},
-  {0x9b82, 0xef9586},
-  {0x9b83, 0xef9587},
-  {0x9b84, 0xef9588},
-  {0x9b85, 0xef9589},
-  {0x9b86, 0xef958a},
-  {0x9b87, 0xef958b},
-  {0x9b88, 0xef958c},
-  {0x9b89, 0xef958d},
-  {0x9b8a, 0xef958e},
-  {0x9b8b, 0xef958f},
-  {0x9b8c, 0xef9590},
-  {0x9b8d, 0xef9591},
-  {0x9b8e, 0xef9592},
-  {0x9b8f, 0xef9593},
-  {0x9b90, 0xef9594},
-  {0x9b91, 0xef9595},
-  {0x9b92, 0xef9596},
-  {0x9b93, 0xef9597},
-  {0x9b94, 0xef9598},
-  {0x9b95, 0xef9599},
-  {0x9b96, 0xef959a},
-  {0x9b97, 0xef959b},
-  {0x9b98, 0xef959c},
-  {0x9b99, 0xef959d},
-  {0x9b9a, 0xef959e},
-  {0x9b9b, 0xef959f},
-  {0x9b9c, 0xef95a0},
-  {0x9b9d, 0xef95a1},
-  {0x9b9e, 0xef95a2},
-  {0x9b9f, 0xef95a3},
-  {0x9ba0, 0xef95a4},
-  {0x9ba1, 0xef95a5},
-  {0x9ba2, 0xef95a6},
-  {0x9ba3, 0xef95a7},
-  {0x9ba4, 0xef95a8},
-  {0x9ba5, 0xef95a9},
-  {0x9ba6, 0xef95aa},
-  {0x9ba7, 0xef95ab},
-  {0x9ba8, 0xef95ac},
-  {0x9ba9, 0xef95ad},
-  {0x9baa, 0xef95ae},
-  {0x9bab, 0xef95af},
-  {0x9bac, 0xef95b0},
-  {0x9bad, 0xef95b1},
-  {0x9bae, 0xef95b2},
-  {0x9baf, 0xef95b3},
-  {0x9bb0, 0xef95b4},
-  {0x9bb1, 0xef95b5},
-  {0x9bb2, 0xef95b6},
-  {0x9bb3, 0xef95b7},
-  {0x9bb4, 0xef95b8},
-  {0x9bb5, 0xef95b9},
-  {0x9bb6, 0xef95ba},
-  {0x9bb7, 0xef95bb},
-  {0x9bb8, 0xef95bc},
-  {0x9bb9, 0xef95bd},
-  {0x9bba, 0xef95be},
-  {0x9bbb, 0xef9680},
-  {0x9bbc, 0xef9681},
-  {0x9bbd, 0xef9682},
-  {0x9bbe, 0xef9683},
-  {0x9bbf, 0xef9684},
-  {0x9bc0, 0xef9685},
-  {0x9bc1, 0xef9686},
-  {0x9bc2, 0xef9687},
-  {0x9bc3, 0xef9688},
-  {0x9bc4, 0xef9689},
-  {0x9bc5, 0xef968a},
-  {0x9bc6, 0xef968b},
-  {0x9bc7, 0xef968c},
-  {0x9bc8, 0xef968d},
-  {0x9bc9, 0xef968e},
-  {0x9bca, 0xef968f},
-  {0x9bcb, 0xef9690},
-  {0x9bcc, 0xef9691},
-  {0x9bcd, 0xef9692},
-  {0x9bce, 0xef9693},
-  {0x9bcf, 0xef9694},
-  {0x9bd0, 0xef9695},
-  {0x9bd1, 0xef9696},
-  {0x9bd2, 0xef9697},
-  {0x9bd3, 0xef9698},
-  {0x9bd4, 0xef9699},
-  {0x9bd5, 0xef969a},
-  {0x9bd6, 0xef969b},
-  {0x9bd7, 0xef969c},
-  {0x9bd8, 0xef969d},
-  {0x9bd9, 0xef969e},
-  {0x9bda, 0xef969f},
-  {0x9bdb, 0xef96a0},
-  {0x9bdc, 0xef9980},
-  {0x9bdd, 0xef9981},
-  {0x9bde, 0xef9982},
-  {0x9bdf, 0xef9983},
-  {0x9be0, 0xef9984},
-  {0x9be1, 0xef9985},
-  {0x9be2, 0xef9986},
-  {0x9be3, 0xef9987},
-  {0x9be4, 0xef9988},
-  {0x9be5, 0xef9989},
-  {0x9be6, 0xef998a},
-  {0x9be7, 0xef998b},
-  {0x9be8, 0xef998c},
-  {0x9be9, 0xef998d},
-  {0x9bea, 0xef998e},
-  {0x9beb, 0xef998f},
-  {0x9bec, 0xef9990},
-  {0x9bed, 0xef9991},
-  {0x9bee, 0xef9992},
-  {0x9bef, 0xef9993},
-  {0x9bf0, 0xef9994},
-  {0x9bf1, 0xef9995},
-  {0x9bf2, 0xef9996},
-  {0x9bf3, 0xef9997},
-  {0x9bf4, 0xef9998},
-  {0x9bf5, 0xef9999},
-  {0x9bf6, 0xef999a},
-  {0x9bf7, 0xef999b},
-  {0x9bf8, 0xef999c},
-  {0x9bf9, 0xef999d},
-  {0x9bfa, 0xef999e},
-  {0x9bfb, 0xef999f},
-  {0x9bfc, 0xef99a0},
-  {0x9bfd, 0xef99a1},
-  {0x9bfe, 0xef99a2},
-  {0x9bff, 0xef99a3},
-  {0x9c00, 0xef99a4},
-  {0x9c01, 0xef99a5},
-  {0x9c02, 0xef99a6},
-  {0x9c03, 0xef99a7},
-  {0x9c04, 0xef99a8},
-  {0x9c05, 0xef99a9},
-  {0x9c06, 0xef99aa},
-  {0x9c07, 0xef99ab},
-  {0x9c08, 0xef99ac},
-  {0x9c09, 0xef99ad},
-  {0x9c0a, 0xef99ae},
-  {0x9c0b, 0xef99af},
-  {0x9c0c, 0xef99b0},
-  {0x9c0d, 0xef99b1},
-  {0x9c0e, 0xef99b2},
-  {0x9c0f, 0xef99b3},
-  {0x9c10, 0xef99b4},
-  {0x9c11, 0xef99b5},
-  {0x9c12, 0xef99b6},
-  {0x9c13, 0xef99b7},
-  {0x9c14, 0xef99b8},
-  {0x9c15, 0xef99b9},
-  {0x9c16, 0xef99ba},
-  {0x9c17, 0xef99bb},
-  {0x9c18, 0xef99bc},
-  {0x9c19, 0xef99bd},
-  {0x9c1a, 0xef99be},
-  {0x9c1b, 0xef9a80},
-  {0x9c1c, 0xef9a81},
-  {0x9c1d, 0xef9a82},
-  {0x9c1e, 0xef9a83},
-  {0x9c1f, 0xef9a84},
-  {0x9c20, 0xef9a85},
-  {0x9c21, 0xef9a86},
-  {0x9c22, 0xef9a87},
-  {0x9c23, 0xef9a88},
-  {0x9c24, 0xef9a89},
-  {0x9c25, 0xef9a8a},
-  {0x9c26, 0xef9a8b},
-  {0x9c27, 0xef9a8c},
-  {0x9c28, 0xef9a8d},
-  {0x9c29, 0xef9a8e},
-  {0x9c2a, 0xef9a8f},
-  {0x9c2b, 0xef9a90},
-  {0x9c2c, 0xef9a91},
-  {0x9c2d, 0xef9a92},
-  {0x9c2e, 0xef9a93},
-  {0x9c2f, 0xef9a94},
-  {0x9c30, 0xef9a95},
-  {0x9c31, 0xef9a96},
-  {0x9c32, 0xef9a97},
-  {0x9c33, 0xef9a98},
-  {0x9c34, 0xef9a99},
-  {0x9c35, 0xef9a9a},
-  {0x9c36, 0xef9a9b},
-  {0x9c37, 0xef9a9c},
-  {0x9c38, 0xef9a9d},
-  {0x9c39, 0xef9a9e},
-  {0x9c3a, 0xef9a9f},
-  {0x9c3b, 0xef9aa0},
-  {0x9c3c, 0xef9d80},
-  {0x9c3d, 0xef9d81},
-  {0x9c3e, 0xef9d82},
-  {0x9c3f, 0xef9d83},
-  {0x9c40, 0xef9d84},
-  {0x9c41, 0xef9d85},
-  {0x9c42, 0xef9d86},
-  {0x9c43, 0xef9d87},
-  {0x9c44, 0xef9d88},
-  {0x9c45, 0xef9d89},
-  {0x9c46, 0xef9d8a},
-  {0x9c47, 0xef9d8b},
-  {0x9c48, 0xef9d8c},
-  {0x9c49, 0xef9d8d},
-  {0x9c4a, 0xef9d8e},
-  {0x9c4b, 0xef9d8f},
-  {0x9c4c, 0xef9d90},
-  {0x9c4d, 0xef9d91},
-  {0x9c4e, 0xef9d92},
-  {0x9c4f, 0xef9d93},
-  {0x9c50, 0xef9d94},
-  {0x9c51, 0xef9d95},
-  {0x9c52, 0xef9d96},
-  {0x9c53, 0xef9d97},
-  {0x9c54, 0xef9d98},
-  {0x9c55, 0xef9d99},
-  {0x9c56, 0xef9d9a},
-  {0x9c57, 0xef9d9b},
-  {0x9c58, 0xef9d9c},
-  {0x9c59, 0xef9d9d},
-  {0x9c5a, 0xef9d9e},
-  {0x9c5b, 0xef9d9f},
-  {0x9c5c, 0xef9da0},
-  {0x9c5d, 0xef9da1},
-  {0x9c5e, 0xef9da2},
-  {0x9c5f, 0xef9da3},
-  {0x9c60, 0xef9da4},
-  {0x9c61, 0xef9da5},
-  {0x9c62, 0xef9da6},
-  {0x9c63, 0xef9da7},
-  {0x9c64, 0xef9da8},
-  {0x9c65, 0xef9da9},
-  {0x9c66, 0xef9daa},
-  {0x9c67, 0xef9dab},
-  {0x9c68, 0xef9dac},
-  {0x9c69, 0xef9dad},
-  {0x9c6a, 0xef9dae},
-  {0x9c6b, 0xef9daf},
-  {0x9c6c, 0xef9db0},
-  {0x9c6d, 0xef9db1},
-  {0x9c6e, 0xef9db2},
-  {0x9c6f, 0xef9db3},
-  {0x9c70, 0xef9db4},
-  {0x9c71, 0xef9db5},
-  {0x9c72, 0xef9db6},
-  {0x9c73, 0xef9db7},
-  {0x9c74, 0xef9db8},
-  {0x9c75, 0xef9db9},
-  {0x9c76, 0xef9dba},
-  {0x9c77, 0xef9dbb},
-  {0x9c78, 0xef9dbc},
-  {0x9c79, 0xef9dbd},
-  {0x9c7a, 0xef9dbe},
-  {0x9c7b, 0xef9e80},
-  {0x9c7c, 0xed8fa3},
-  {0x9c7d, 0xef9e81},
-  {0x9c7e, 0xef9e82},
-  {0x9c7f, 0xef9b8f},
-  {0x9c80, 0xef9e83},
-  {0x9c81, 0xec8ab3},
-  {0x9c82, 0xef9b90},
-  {0x9c83, 0xef9e84},
-  {0x9c84, 0xef9e85},
-  {0x9c85, 0xef9b91},
-  {0x9c86, 0xef9b92},
-  {0x9c87, 0xef9b93},
-  {0x9c88, 0xef9b94},
-  {0x9c89, 0xef9e86},
-  {0x9c8a, 0xef9e87},
-  {0x9c8b, 0xef9b96},
-  {0x9c8c, 0xef9e88},
-  {0x9c8d, 0xeb86ab},
-  {0x9c8e, 0xef9b97},
-  {0x9c8f, 0xef9e89},
-  {0x9c90, 0xef9b98},
-  {0x9c91, 0xef9b99},
-  {0x9c92, 0xef9b9a},
-  {0x9c93, 0xef9e8a},
-  {0x9c94, 0xef9b9b},
-  {0x9c95, 0xef9b9c},
-  {0x9c96, 0xef9e8b},
-  {0x9c97, 0xef9e8c},
-  {0x9c98, 0xef9e8d},
-  {0x9c99, 0xef9e8e},
-  {0x9c9a, 0xef9b9d},
-  {0x9c9b, 0xef9b9e},
-  {0x9c9c, 0xecbf8a},
-  {0x9c9d, 0xef9e8f},
-  {0x9c9e, 0xef9b9f},
-  {0x9c9f, 0xef9ba0},
-  {0x9ca0, 0xef9ba1},
-  {0x9ca1, 0xef9ba2},
-  {0x9ca2, 0xef9ba3},
-  {0x9ca3, 0xef9ba4},
-  {0x9ca4, 0xec83b0},
-  {0x9ca5, 0xef9ba5},
-  {0x9ca6, 0xef9ba6},
-  {0x9ca7, 0xef9ba7},
-  {0x9ca8, 0xef9ba8},
-  {0x9ca9, 0xef9ba9},
-  {0x9caa, 0xef9e90},
-  {0x9cab, 0xef9baa},
-  {0x9cac, 0xef9e91},
-  {0x9cad, 0xef9bab},
-  {0x9cae, 0xef9bac},
-  {0x9caf, 0xef9e92},
-  {0x9cb0, 0xef9bad},
-  {0x9cb1, 0xef9bae},
-  {0x9cb2, 0xef9baf},
-  {0x9cb3, 0xef9bb0},
-  {0x9cb4, 0xef9bb1},
-  {0x9cb5, 0xef9bb2},
-  {0x9cb6, 0xef9bb3},
-  {0x9cb7, 0xef9bb4},
-  {0x9cb8, 0xebbaa8},
-  {0x9cb9, 0xef9e93},
-  {0x9cba, 0xef9bb5},
-  {0x9cbb, 0xef9bb6},
-  {0x9cbc, 0xef9bb7},
-  {0x9cbd, 0xef9bb8},
-  {0x9cbe, 0xef9e94},
-  {0x9cbf, 0xef9e95},
-  {0x9cc0, 0xef9e96},
-  {0x9cc1, 0xef9e97},
-  {0x9cc2, 0xef9e98},
-  {0x9cc3, 0xeca3ba},
-  {0x9cc4, 0xef9bb9},
-  {0x9cc5, 0xef9bba},
-  {0x9cc6, 0xef9bbb},
-  {0x9cc7, 0xef9bbc},
-  {0x9cc8, 0xef9e99},
-  {0x9cc9, 0xef9e9a},
-  {0x9cca, 0xef9bbd},
-  {0x9ccb, 0xef9bbe},
-  {0x9ccc, 0xef9ea1},
-  {0x9ccd, 0xef9ea2},
-  {0x9cce, 0xef9ea3},
-  {0x9ccf, 0xef9ea4},
-  {0x9cd0, 0xef9ea5},
-  {0x9cd1, 0xef9e9b},
-  {0x9cd2, 0xef9e9c},
-  {0x9cd3, 0xef9ea6},
-  {0x9cd4, 0xef9ea7},
-  {0x9cd5, 0xef9ea8},
-  {0x9cd6, 0xeb87ae},
-  {0x9cd7, 0xef9ea9},
-  {0x9cd8, 0xef9eaa},
-  {0x9cd9, 0xef9eab},
-  {0x9cda, 0xef9e9d},
-  {0x9cdb, 0xef9e9e},
-  {0x9cdc, 0xef9eac},
-  {0x9cdd, 0xef9ead},
-  {0x9cde, 0xec879b},
-  {0x9cdf, 0xef9eae},
-  {0x9ce0, 0xef9e9f},
-  {0x9ce1, 0xef9ea0},
-  {0x9ce2, 0xef9eaf},
-  {0x9ce3, 0xefa180},
-  {0x9ce4, 0xefa181},
-  {0x9ce5, 0xefa182},
-  {0x9ce6, 0xefa183},
-  {0x9ce7, 0xefa184},
-  {0x9ce8, 0xefa185},
-  {0x9ce9, 0xefa186},
-  {0x9cea, 0xefa187},
-  {0x9ceb, 0xefa188},
-  {0x9cec, 0xefa189},
-  {0x9ced, 0xefa18a},
-  {0x9cee, 0xefa18b},
-  {0x9cef, 0xefa18c},
-  {0x9cf0, 0xefa18d},
-  {0x9cf1, 0xefa18e},
-  {0x9cf2, 0xefa18f},
-  {0x9cf3, 0xefa190},
-  {0x9cf4, 0xefa191},
-  {0x9cf5, 0xefa192},
-  {0x9cf6, 0xefa193},
-  {0x9cf7, 0xefa194},
-  {0x9cf8, 0xefa195},
-  {0x9cf9, 0xefa196},
-  {0x9cfa, 0xefa197},
-  {0x9cfb, 0xefa198},
-  {0x9cfc, 0xefa199},
-  {0x9cfd, 0xefa19a},
-  {0x9cfe, 0xefa19b},
-  {0x9cff, 0xefa19c},
-  {0x9d00, 0xefa19d},
-  {0x9d01, 0xefa19e},
-  {0x9d02, 0xefa19f},
-  {0x9d03, 0xefa1a0},
-  {0x9d04, 0xefa1a1},
-  {0x9d05, 0xefa1a2},
-  {0x9d06, 0xefa1a3},
-  {0x9d07, 0xefa1a4},
-  {0x9d08, 0xefa1a5},
-  {0x9d09, 0xefa1a6},
-  {0x9d0a, 0xefa1a7},
-  {0x9d0b, 0xefa1a8},
-  {0x9d0c, 0xefa1a9},
-  {0x9d0d, 0xefa1aa},
-  {0x9d0e, 0xefa1ab},
-  {0x9d0f, 0xefa1ac},
-  {0x9d10, 0xefa1ad},
-  {0x9d11, 0xefa1ae},
-  {0x9d12, 0xefa1af},
-  {0x9d13, 0xefa1b0},
-  {0x9d14, 0xefa1b1},
-  {0x9d15, 0xefa1b2},
-  {0x9d16, 0xefa1b3},
-  {0x9d17, 0xefa1b4},
-  {0x9d18, 0xefa1b5},
-  {0x9d19, 0xefa1b6},
-  {0x9d1a, 0xefa1b7},
-  {0x9d1b, 0xefa1b8},
-  {0x9d1c, 0xefa1b9},
-  {0x9d1d, 0xefa1ba},
-  {0x9d1e, 0xefa1bb},
-  {0x9d1f, 0xefa1bc},
-  {0x9d20, 0xefa1bd},
-  {0x9d21, 0xefa1be},
-  {0x9d22, 0xefa280},
-  {0x9d23, 0xefa281},
-  {0x9d24, 0xefa282},
-  {0x9d25, 0xefa283},
-  {0x9d26, 0xefa284},
-  {0x9d27, 0xefa285},
-  {0x9d28, 0xefa286},
-  {0x9d29, 0xefa287},
-  {0x9d2a, 0xefa288},
-  {0x9d2b, 0xefa289},
-  {0x9d2c, 0xefa28a},
-  {0x9d2d, 0xefa28b},
-  {0x9d2e, 0xefa28c},
-  {0x9d2f, 0xefa28d},
-  {0x9d30, 0xefa28e},
-  {0x9d31, 0xefa28f},
-  {0x9d32, 0xefa290},
-  {0x9d33, 0xefa291},
-  {0x9d34, 0xefa292},
-  {0x9d35, 0xefa293},
-  {0x9d36, 0xefa294},
-  {0x9d37, 0xefa295},
-  {0x9d38, 0xefa296},
-  {0x9d39, 0xefa297},
-  {0x9d3a, 0xefa298},
-  {0x9d3b, 0xefa299},
-  {0x9d3c, 0xefa29a},
-  {0x9d3d, 0xefa29b},
-  {0x9d3e, 0xefa29c},
-  {0x9d3f, 0xefa29d},
-  {0x9d40, 0xefa29e},
-  {0x9d41, 0xefa29f},
-  {0x9d42, 0xefa2a0},
-  {0x9d43, 0xefa580},
-  {0x9d44, 0xefa581},
-  {0x9d45, 0xefa582},
-  {0x9d46, 0xefa583},
-  {0x9d47, 0xefa584},
-  {0x9d48, 0xefa585},
-  {0x9d49, 0xefa586},
-  {0x9d4a, 0xefa587},
-  {0x9d4b, 0xefa588},
-  {0x9d4c, 0xefa589},
-  {0x9d4d, 0xefa58a},
-  {0x9d4e, 0xefa58b},
-  {0x9d4f, 0xefa58c},
-  {0x9d50, 0xefa58d},
-  {0x9d51, 0xefa58e},
-  {0x9d52, 0xefa58f},
-  {0x9d53, 0xefa590},
-  {0x9d54, 0xefa591},
-  {0x9d55, 0xefa592},
-  {0x9d56, 0xefa593},
-  {0x9d57, 0xefa594},
-  {0x9d58, 0xefa595},
-  {0x9d59, 0xefa596},
-  {0x9d5a, 0xefa597},
-  {0x9d5b, 0xefa598},
-  {0x9d5c, 0xefa599},
-  {0x9d5d, 0xefa59a},
-  {0x9d5e, 0xefa59b},
-  {0x9d5f, 0xefa59c},
-  {0x9d60, 0xefa59d},
-  {0x9d61, 0xefa59e},
-  {0x9d62, 0xefa59f},
-  {0x9d63, 0xefa5a0},
-  {0x9d64, 0xefa5a1},
-  {0x9d65, 0xefa5a2},
-  {0x9d66, 0xefa5a3},
-  {0x9d67, 0xefa5a4},
-  {0x9d68, 0xefa5a5},
-  {0x9d69, 0xefa5a6},
-  {0x9d6a, 0xefa5a7},
-  {0x9d6b, 0xefa5a8},
-  {0x9d6c, 0xefa5a9},
-  {0x9d6d, 0xefa5aa},
-  {0x9d6e, 0xefa5ab},
-  {0x9d6f, 0xefa5ac},
-  {0x9d70, 0xefa5ad},
-  {0x9d71, 0xefa5ae},
-  {0x9d72, 0xefa5af},
-  {0x9d73, 0xefa5b0},
-  {0x9d74, 0xefa5b1},
-  {0x9d75, 0xefa5b2},
-  {0x9d76, 0xefa5b3},
-  {0x9d77, 0xefa5b4},
-  {0x9d78, 0xefa5b5},
-  {0x9d79, 0xefa5b6},
-  {0x9d7a, 0xefa5b7},
-  {0x9d7b, 0xefa5b8},
-  {0x9d7c, 0xefa5b9},
-  {0x9d7d, 0xefa5ba},
-  {0x9d7e, 0xefa5bb},
-  {0x9d7f, 0xefa5bc},
-  {0x9d80, 0xefa5bd},
-  {0x9d81, 0xefa5be},
-  {0x9d82, 0xefa680},
-  {0x9d83, 0xefa681},
-  {0x9d84, 0xefa682},
-  {0x9d85, 0xefa683},
-  {0x9d86, 0xefa684},
-  {0x9d87, 0xefa685},
-  {0x9d88, 0xefa686},
-  {0x9d89, 0xefa687},
-  {0x9d8a, 0xefa688},
-  {0x9d8b, 0xefa689},
-  {0x9d8c, 0xefa68a},
-  {0x9d8d, 0xefa68b},
-  {0x9d8e, 0xefa68c},
-  {0x9d8f, 0xefa68d},
-  {0x9d90, 0xefa68e},
-  {0x9d91, 0xefa68f},
-  {0x9d92, 0xefa690},
-  {0x9d93, 0xefa691},
-  {0x9d94, 0xefa692},
-  {0x9d95, 0xefa693},
-  {0x9d96, 0xefa694},
-  {0x9d97, 0xefa695},
-  {0x9d98, 0xefa696},
-  {0x9d99, 0xefa697},
-  {0x9d9a, 0xefa698},
-  {0x9d9b, 0xefa699},
-  {0x9d9c, 0xefa69a},
-  {0x9d9d, 0xefa69b},
-  {0x9d9e, 0xefa69c},
-  {0x9d9f, 0xefa69d},
-  {0x9da0, 0xefa69e},
-  {0x9da1, 0xefa69f},
-  {0x9da2, 0xefa6a0},
-  {0x9da3, 0xefa980},
-  {0x9da4, 0xefa981},
-  {0x9da5, 0xefa982},
-  {0x9da6, 0xefa983},
-  {0x9da7, 0xefa984},
-  {0x9da8, 0xefa985},
-  {0x9da9, 0xefa986},
-  {0x9daa, 0xefa987},
-  {0x9dab, 0xefa988},
-  {0x9dac, 0xefa989},
-  {0x9dad, 0xefa98a},
-  {0x9dae, 0xefa98b},
-  {0x9daf, 0xefa98c},
-  {0x9db0, 0xefa98d},
-  {0x9db1, 0xefa98e},
-  {0x9db2, 0xefa98f},
-  {0x9db3, 0xefa990},
-  {0x9db4, 0xefa991},
-  {0x9db5, 0xefa992},
-  {0x9db6, 0xefa993},
-  {0x9db7, 0xefa994},
-  {0x9db8, 0xefa995},
-  {0x9db9, 0xefa996},
-  {0x9dba, 0xefa997},
-  {0x9dbb, 0xefa998},
-  {0x9dbc, 0xefa999},
-  {0x9dbd, 0xefa99a},
-  {0x9dbe, 0xefa99b},
-  {0x9dbf, 0xefa99c},
-  {0x9dc0, 0xefa99d},
-  {0x9dc1, 0xefa99e},
-  {0x9dc2, 0xefa99f},
-  {0x9dc3, 0xefa9a0},
-  {0x9dc4, 0xefa9a1},
-  {0x9dc5, 0xefa9a2},
-  {0x9dc6, 0xefa9a3},
-  {0x9dc7, 0xefa9a4},
-  {0x9dc8, 0xefa9a5},
-  {0x9dc9, 0xefa9a6},
-  {0x9dca, 0xefa9a7},
-  {0x9dcb, 0xefa9a8},
-  {0x9dcc, 0xefa9a9},
-  {0x9dcd, 0xefa9aa},
-  {0x9dce, 0xefa9ab},
-  {0x9dcf, 0xefa9ac},
-  {0x9dd0, 0xefa9ad},
-  {0x9dd1, 0xefa9ae},
-  {0x9dd2, 0xefa9af},
-  {0x9dd3, 0xefa9b0},
-  {0x9dd4, 0xefa9b1},
-  {0x9dd5, 0xefa9b2},
-  {0x9dd6, 0xefa9b3},
-  {0x9dd7, 0xefa9b4},
-  {0x9dd8, 0xefa9b5},
-  {0x9dd9, 0xefa9b6},
-  {0x9dda, 0xefa9b7},
-  {0x9ddb, 0xefa9b8},
-  {0x9ddc, 0xefa9b9},
-  {0x9ddd, 0xefa9ba},
-  {0x9dde, 0xefa9bb},
-  {0x9ddf, 0xefa9bc},
-  {0x9de0, 0xefa9bd},
-  {0x9de1, 0xefa9be},
-  {0x9de2, 0xefaa80},
-  {0x9de3, 0xefaa81},
-  {0x9de4, 0xefaa82},
-  {0x9de5, 0xefaa83},
-  {0x9de6, 0xefaa84},
-  {0x9de7, 0xefaa85},
-  {0x9de8, 0xefaa86},
-  {0x9de9, 0xefaa87},
-  {0x9dea, 0xefaa88},
-  {0x9deb, 0xefaa89},
-  {0x9dec, 0xefaa8a},
-  {0x9ded, 0xefaa8b},
-  {0x9dee, 0xefaa8c},
-  {0x9def, 0xefaa8d},
-  {0x9df0, 0xefaa8e},
-  {0x9df1, 0xefaa8f},
-  {0x9df2, 0xefaa90},
-  {0x9df3, 0xefaa91},
-  {0x9df4, 0xefaa92},
-  {0x9df5, 0xefaa93},
-  {0x9df6, 0xefaa94},
-  {0x9df7, 0xefaa95},
-  {0x9df8, 0xefaa96},
-  {0x9df9, 0xefaa97},
-  {0x9dfa, 0xefaa98},
-  {0x9dfb, 0xefaa99},
-  {0x9dfc, 0xefaa9a},
-  {0x9dfd, 0xefaa9b},
-  {0x9dfe, 0xefaa9c},
-  {0x9dff, 0xefaa9d},
-  {0x9e00, 0xefaa9e},
-  {0x9e01, 0xefaa9f},
-  {0x9e02, 0xefaaa0},
-  {0x9e03, 0xefad80},
-  {0x9e04, 0xefad81},
-  {0x9e05, 0xefad82},
-  {0x9e06, 0xefad83},
-  {0x9e07, 0xefad84},
-  {0x9e08, 0xefad85},
-  {0x9e09, 0xefad86},
-  {0x9e0a, 0xefad87},
-  {0x9e0b, 0xefad88},
-  {0x9e0c, 0xefad89},
-  {0x9e0d, 0xefad8a},
-  {0x9e0e, 0xefad8b},
-  {0x9e0f, 0xefad8c},
-  {0x9e10, 0xefad8d},
-  {0x9e11, 0xefad8e},
-  {0x9e12, 0xefad8f},
-  {0x9e13, 0xefad90},
-  {0x9e14, 0xefad91},
-  {0x9e15, 0xefad92},
-  {0x9e16, 0xefad93},
-  {0x9e17, 0xefad94},
-  {0x9e18, 0xefad95},
-  {0x9e19, 0xefad96},
-  {0x9e1a, 0xefad97},
-  {0x9e1b, 0xefad98},
-  {0x9e1c, 0xefad99},
-  {0x9e1d, 0xefad9a},
-  {0x9e1e, 0xefad9b},
-  {0x9e1f, 0xec93b1},
-  {0x9e20, 0xef82af},
-  {0x9e21, 0xebb2a6},
-  {0x9e22, 0xef82b0},
-  {0x9e23, 0xec8fb9},
-  {0x9e24, 0xefad9c},
-  {0x9e25, 0xec96b8},
-  {0x9e26, 0xed86bb},
-  {0x9e27, 0xefad9d},
-  {0x9e28, 0xef82b1},
-  {0x9e29, 0xef82b2},
-  {0x9e2a, 0xef82b3},
-  {0x9e2b, 0xef82b4},
-  {0x9e2c, 0xef82b5},
-  {0x9e2d, 0xed86bc},
-  {0x9e2e, 0xefad9e},
-  {0x9e2f, 0xed87ac},
-  {0x9e30, 0xefad9f},
-  {0x9e31, 0xef82b7},
-  {0x9e32, 0xef82b6},
-  {0x9e33, 0xed92a7},
-  {0x9e34, 0xefada0},
-  {0x9e35, 0xecb792},
-  {0x9e36, 0xef82b8},
-  {0x9e37, 0xef82ba},
-  {0x9e38, 0xef82b9},
-  {0x9e39, 0xef82bb},
-  {0x9e3a, 0xef82bc},
-  {0x9e3b, 0xefada1},
-  {0x9e3c, 0xefada2},
-  {0x9e3d, 0xeba3ab},
-  {0x9e3e, 0xef82bd},
-  {0x9e3f, 0xebaba8},
-  {0x9e40, 0xefada3},
-  {0x9e41, 0xef82be},
-  {0x9e42, 0xef82bf},
-  {0x9e43, 0xebbba9},
-  {0x9e44, 0xef8380},
-  {0x9e45, 0xeb9bac},
-  {0x9e46, 0xef8381},
-  {0x9e47, 0xef8382},
-  {0x9e48, 0xef8383},
-  {0x9e49, 0xef8384},
-  {0x9e4a, 0xeca2b5},
-  {0x9e4b, 0xef8385},
-  {0x9e4c, 0xef8386},
-  {0x9e4d, 0xefada4},
-  {0x9e4e, 0xef8387},
-  {0x9e4f, 0xec97b4},
-  {0x9e50, 0xefada5},
-  {0x9e51, 0xef8388},
-  {0x9e52, 0xefada6},
-  {0x9e53, 0xefada7},
-  {0x9e54, 0xefada8},
-  {0x9e55, 0xef8389},
-  {0x9e56, 0xefada9},
-  {0x9e57, 0xef838a},
-  {0x9e58, 0xef9ebd},
-  {0x9e59, 0xefadaa},
-  {0x9e5a, 0xef838b},
-  {0x9e5b, 0xef838c},
-  {0x9e5c, 0xef838d},
-  {0x9e5d, 0xefadab},
-  {0x9e5e, 0xef838e},
-  {0x9e5f, 0xefadac},
-  {0x9e60, 0xefadad},
-  {0x9e61, 0xefadae},
-  {0x9e62, 0xefadaf},
-  {0x9e63, 0xef838f},
-  {0x9e64, 0xebab97},
-  {0x9e65, 0xefadb0},
-  {0x9e66, 0xef8390},
-  {0x9e67, 0xef8391},
-  {0x9e68, 0xef8392},
-  {0x9e69, 0xef8393},
-  {0x9e6a, 0xef8394},
-  {0x9e6b, 0xef8395},
-  {0x9e6c, 0xef8396},
-  {0x9e6d, 0xef8398},
-  {0x9e6e, 0xefadb1},
-  {0x9e6f, 0xefadb2},
-  {0x9e70, 0xed8ea5},
-  {0x9e71, 0xef8397},
-  {0x9e72, 0xefadb3},
-  {0x9e73, 0xef8399},
-  {0x9e74, 0xefadb4},
-  {0x9e75, 0xefadb5},
-  {0x9e76, 0xefadb6},
-  {0x9e77, 0xefadb7},
-  {0x9e78, 0xefadb8},
-  {0x9e79, 0xefadb9},
-  {0x9e7a, 0xefadba},
-  {0x9e7b, 0xefadbb},
-  {0x9e7c, 0xefadbc},
-  {0x9e7d, 0xefadbd},
-  {0x9e7e, 0xef96ba},
-  {0x9e7f, 0xec8ab9},
-  {0x9e80, 0xefadbe},
-  {0x9e81, 0xefae80},
-  {0x9e82, 0xef9fa4},
-  {0x9e83, 0xefae81},
-  {0x9e84, 0xefae82},
-  {0x9e85, 0xefae83},
-  {0x9e86, 0xefae84},
-  {0x9e87, 0xef9fa5},
-  {0x9e88, 0xef9fa6},
-  {0x9e89, 0xefae85},
-  {0x9e8a, 0xefae86},
-  {0x9e8b, 0xef9fa7},
-  {0x9e8c, 0xefae87},
-  {0x9e8d, 0xefae88},
-  {0x9e8e, 0xefae89},
-  {0x9e8f, 0xefae8a},
-  {0x9e90, 0xefae8b},
-  {0x9e91, 0xefae8c},
-  {0x9e92, 0xef9fa8},
-  {0x9e93, 0xec8ab4},
-  {0x9e94, 0xefae8d},
-  {0x9e95, 0xefae8e},
-  {0x9e96, 0xefae8f},
-  {0x9e97, 0xefae90},
-  {0x9e98, 0xefae91},
-  {0x9e99, 0xefae92},
-  {0x9e9a, 0xefae93},
-  {0x9e9b, 0xefae94},
-  {0x9e9c, 0xefae95},
-  {0x9e9d, 0xef9faa},
-  {0x9e9e, 0xefae96},
-  {0x9e9f, 0xef9fab},
-  {0x9ea0, 0xefae97},
-  {0x9ea1, 0xefae98},
-  {0x9ea2, 0xefae99},
-  {0x9ea3, 0xefae9a},
-  {0x9ea4, 0xefae9b},
-  {0x9ea5, 0xefae9c},
-  {0x9ea6, 0xec8bb3},
-  {0x9ea7, 0xefae9d},
-  {0x9ea8, 0xefae9e},
-  {0x9ea9, 0xefae9f},
-  {0x9eaa, 0xefaea0},
-  {0x9eab, 0xefb180},
-  {0x9eac, 0xefb181},
-  {0x9ead, 0xefb182},
-  {0x9eae, 0xefb183},
-  {0x9eaf, 0xefb184},
-  {0x9eb0, 0xefb185},
-  {0x9eb1, 0xefb186},
-  {0x9eb2, 0xefb187},
-  {0x9eb3, 0xefb188},
-  {0x9eb4, 0xef93b0},
-  {0x9eb5, 0xefb189},
-  {0x9eb6, 0xefb18a},
-  {0x9eb7, 0xefb18b},
-  {0x9eb8, 0xef93af},
-  {0x9eb9, 0xefb18c},
-  {0x9eba, 0xefb18d},
-  {0x9ebb, 0xec8ba9},
-  {0x9ebc, 0xefb18e},
-  {0x9ebd, 0xef9fa1},
-  {0x9ebe, 0xef9fa2},
-  {0x9ebf, 0xefb18f},
-  {0x9ec0, 0xefb190},
-  {0x9ec1, 0xefb191},
-  {0x9ec2, 0xefb192},
-  {0x9ec3, 0xefb193},
-  {0x9ec4, 0xebaf86},
-  {0x9ec5, 0xefb194},
-  {0x9ec6, 0xefb195},
-  {0x9ec7, 0xefb196},
-  {0x9ec8, 0xefb197},
-  {0x9ec9, 0xeda7a4},
-  {0x9eca, 0xefb198},
-  {0x9ecb, 0xefb199},
-  {0x9ecc, 0xefb19a},
-  {0x9ecd, 0xecabb2},
-  {0x9ece, 0xec83a8},
-  {0x9ecf, 0xef82a4},
-  {0x9ed0, 0xefb19b},
-  {0x9ed1, 0xebab9a},
-  {0x9ed2, 0xefb19c},
-  {0x9ed3, 0xefb19d},
-  {0x9ed4, 0xec9ead},
-  {0x9ed5, 0xefb19e},
-  {0x9ed6, 0xefb19f},
-  {0x9ed7, 0xefb1a0},
-  {0x9ed8, 0xec92ac},
-  {0x9ed9, 0xefb1a1},
-  {0x9eda, 0xefb1a2},
-  {0x9edb, 0xef9fac},
-  {0x9edc, 0xef9fad},
-  {0x9edd, 0xef9fae},
-  {0x9ede, 0xefb1a3},
-  {0x9edf, 0xef9fb0},
-  {0x9ee0, 0xef9faf},
-  {0x9ee1, 0xefb1a4},
-  {0x9ee2, 0xef9fb1},
-  {0x9ee3, 0xefb1a5},
-  {0x9ee4, 0xefb1a6},
-  {0x9ee5, 0xef9fb4},
-  {0x9ee6, 0xefb1a7},
-  {0x9ee7, 0xef9fb3},
-  {0x9ee8, 0xefb1a8},
-  {0x9ee9, 0xef9fb2},
-  {0x9eea, 0xef9fb5},
-  {0x9eeb, 0xefb1a9},
-  {0x9eec, 0xefb1aa},
-  {0x9eed, 0xefb1ab},
-  {0x9eee, 0xefb1ac},
-  {0x9eef, 0xef9fb6},
-  {0x9ef0, 0xefb1ad},
-  {0x9ef1, 0xefb1ae},
-  {0x9ef2, 0xefb1af},
-  {0x9ef3, 0xefb1b0},
-  {0x9ef4, 0xefb1b1},
-  {0x9ef5, 0xefb1b2},
-  {0x9ef6, 0xefb1b3},
-  {0x9ef7, 0xefb1b4},
-  {0x9ef8, 0xefb1b5},
-  {0x9ef9, 0xeeb7a9},
-  {0x9efa, 0xefb1b6},
-  {0x9efb, 0xeeb7aa},
-  {0x9efc, 0xeeb7ab},
-  {0x9efd, 0xefb1b7},
-  {0x9efe, 0xef9abc},
-  {0x9eff, 0xefb1b8},
-  {0x9f00, 0xefb1b9},
-  {0x9f01, 0xefb1ba},
-  {0x9f02, 0xefb1bb},
-  {0x9f03, 0xefb1bc},
-  {0x9f04, 0xefb1bd},
-  {0x9f05, 0xefb1be},
-  {0x9f06, 0xefb280},
-  {0x9f07, 0xefb281},
-  {0x9f08, 0xefb282},
-  {0x9f09, 0xefb283},
-  {0x9f0a, 0xefb284},
-  {0x9f0b, 0xef9abd},
-  {0x9f0c, 0xefb285},
-  {0x9f0d, 0xef9abe},
-  {0x9f0e, 0xeb9aa6},
-  {0x9f0f, 0xefb286},
-  {0x9f10, 0xeda2be},
-  {0x9f11, 0xefb287},
-  {0x9f12, 0xefb288},
-  {0x9f13, 0xeba784},
-  {0x9f14, 0xefb289},
-  {0x9f15, 0xefb28a},
-  {0x9f16, 0xefb28b},
-  {0x9f17, 0xeda2bb},
-  {0x9f18, 0xefb28c},
-  {0x9f19, 0xedb2b1},
-  {0x9f1a, 0xefb28d},
-  {0x9f1b, 0xefb28e},
-  {0x9f1c, 0xefb28f},
-  {0x9f1d, 0xefb290},
-  {0x9f1e, 0xefb291},
-  {0x9f1f, 0xefb292},
-  {0x9f20, 0xecabb3},
-  {0x9f21, 0xefb293},
-  {0x9f22, 0xef9fb7},
-  {0x9f23, 0xefb294},
-  {0x9f24, 0xefb295},
-  {0x9f25, 0xefb296},
-  {0x9f26, 0xefb297},
-  {0x9f27, 0xefb298},
-  {0x9f28, 0xefb299},
-  {0x9f29, 0xefb29a},
-  {0x9f2a, 0xefb29b},
-  {0x9f2b, 0xefb29c},
-  {0x9f2c, 0xef9fb8},
-  {0x9f2d, 0xefb29d},
-  {0x9f2e, 0xefb29e},
-  {0x9f2f, 0xef9fb9},
-  {0x9f30, 0xefb29f},
-  {0x9f31, 0xefb2a0},
-  {0x9f32, 0xefb580},
-  {0x9f33, 0xefb581},
-  {0x9f34, 0xefb582},
-  {0x9f35, 0xefb583},
-  {0x9f36, 0xefb584},
-  {0x9f37, 0xef9fbb},
-  {0x9f38, 0xefb585},
-  {0x9f39, 0xef9fba},
-  {0x9f3a, 0xefb586},
-  {0x9f3b, 0xeb8787},
-  {0x9f3c, 0xefb587},
-  {0x9f3d, 0xef9fbc},
-  {0x9f3e, 0xef9fbd},
-  {0x9f3f, 0xefb588},
-  {0x9f40, 0xefb589},
-  {0x9f41, 0xefb58a},
-  {0x9f42, 0xefb58b},
-  {0x9f43, 0xefb58c},
-  {0x9f44, 0xef9fbe},
-  {0x9f45, 0xefb58d},
-  {0x9f46, 0xefb58e},
-  {0x9f47, 0xefb58f},
-  {0x9f48, 0xefb590},
-  {0x9f49, 0xefb591},
-  {0x9f4a, 0xefb592},
-  {0x9f4b, 0xefb593},
-  {0x9f4c, 0xefb594},
-  {0x9f4d, 0xefb595},
-  {0x9f4e, 0xefb596},
-  {0x9f4f, 0xefb597},
-  {0x9f50, 0xec9bab},
-  {0x9f51, 0xeeb2b4},
-  {0x9f52, 0xefb598},
-  {0x9f53, 0xefb599},
-  {0x9f54, 0xefb59a},
-  {0x9f55, 0xefb59b},
-  {0x9f56, 0xefb59c},
-  {0x9f57, 0xefb59d},
-  {0x9f58, 0xefb59e},
-  {0x9f59, 0xefb59f},
-  {0x9f5a, 0xefb5a0},
-  {0x9f5b, 0xefb5a1},
-  {0x9f5c, 0xefb5a2},
-  {0x9f5d, 0xefb5a3},
-  {0x9f5e, 0xefb5a4},
-  {0x9f5f, 0xefb5a5},
-  {0x9f60, 0xefb5a6},
-  {0x9f61, 0xefb5a7},
-  {0x9f62, 0xefb5a8},
-  {0x9f63, 0xefb5a9},
-  {0x9f64, 0xefb5aa},
-  {0x9f65, 0xefb5ab},
-  {0x9f66, 0xefb5ac},
-  {0x9f67, 0xefb5ad},
-  {0x9f68, 0xefb5ae},
-  {0x9f69, 0xefb5af},
-  {0x9f6a, 0xefb5b0},
-  {0x9f6b, 0xefb5b1},
-  {0x9f6c, 0xefb5b2},
-  {0x9f6d, 0xefb5b3},
-  {0x9f6e, 0xefb5b4},
-  {0x9f6f, 0xefb5b5},
-  {0x9f70, 0xefb5b6},
-  {0x9f71, 0xefb5b7},
-  {0x9f72, 0xefb5b8},
-  {0x9f73, 0xefb5b9},
-  {0x9f74, 0xefb5ba},
-  {0x9f75, 0xefb5bb},
-  {0x9f76, 0xefb5bc},
-  {0x9f77, 0xefb5bd},
-  {0x9f78, 0xefb5be},
-  {0x9f79, 0xefb680},
-  {0x9f7a, 0xefb681},
-  {0x9f7b, 0xefb682},
-  {0x9f7c, 0xefb683},
-  {0x9f7d, 0xefb684},
-  {0x9f7e, 0xefb685},
-  {0x9f7f, 0xeb8f9d},
-  {0x9f80, 0xef9ab3},
-  {0x9f81, 0xefb686},
-  {0x9f82, 0xefb687},
-  {0x9f83, 0xef9ab4},
-  {0x9f84, 0xec87a4},
-  {0x9f85, 0xef9ab5},
-  {0x9f86, 0xef9ab6},
-  {0x9f87, 0xef9ab7},
-  {0x9f88, 0xef9ab8},
-  {0x9f89, 0xef9ab9},
-  {0x9f8a, 0xef9aba},
-  {0x9f8b, 0xeca2a3},
-  {0x9f8c, 0xef9abb},
-  {0x9f8d, 0xefb688},
-  {0x9f8e, 0xefb689},
-  {0x9f8f, 0xefb68a},
-  {0x9f90, 0xefb68b},
-  {0x9f91, 0xefb68c},
-  {0x9f92, 0xefb68d},
-  {0x9f93, 0xefb68e},
-  {0x9f94, 0xefb68f},
-  {0x9f95, 0xefb690},
-  {0x9f96, 0xefb691},
-  {0x9f97, 0xefb692},
-  {0x9f98, 0xefb693},
-  {0x9f99, 0xec87ba},
-  {0x9f9a, 0xeba6a8},
-  {0x9f9b, 0xeeb7a8},
-  {0x9f9c, 0xefb694},
-  {0x9f9d, 0xefb695},
-  {0x9f9e, 0xefb696},
-  {0x9f9f, 0xeba7aa},
-  {0x9fa0, 0xeda79f},
-  {0x9fa1, 0xefb697},
-  {0x9fa2, 0xefb698},
-  {0x9fa3, 0xefb699},
-  {0x9fa4, 0xefb69a},
-  {0x9fa5, 0xefb69b},
-  {0x9fa6, 0x23f8bcb3},
-  {0x9fa7, 0x23f8bcb4},
-  {0x9fa8, 0x23f8bcb5},
-  {0x9fa9, 0x23f8bcb6},
-  {0x9faa, 0x23f8bcb7},
-  {0x9fab, 0x23f8bcb8},
-  {0x9fac, 0x23f8bcb9},
-  {0x9fad, 0x23f980b0},
-  {0x9fae, 0x23f980b1},
-  {0x9faf, 0x23f980b2},
-  {0x9fb0, 0x23f980b3},
-  {0x9fb1, 0x23f980b4},
-  {0x9fb2, 0x23f980b5},
-  {0x9fb3, 0x23f980b6},
-  {0x9fb4, 0x23f980b7},
-  {0x9fb5, 0x23f980b8},
-  {0x9fb6, 0x23f980b9},
-  {0x9fb7, 0x23f984b0},
-  {0x9fb8, 0x23f984b1},
-  {0x9fb9, 0x23f984b2},
-  {0x9fba, 0x23f984b3},
-  {0x9fbb, 0x23f984b4},
-  {0x9fbc, 0x23f984b5},
-  {0x9fbd, 0x23f984b6},
-  {0x9fbe, 0x23f984b7},
-  {0x9fbf, 0x23f984b8},
-  {0x9fc0, 0x23f984b9},
-  {0x9fc1, 0x23f988b0},
-  {0x9fc2, 0x23f988b1},
-  {0x9fc3, 0x23f988b2},
-  {0x9fc4, 0x23f988b3},
-  {0x9fc5, 0x23f988b4},
-  {0x9fc6, 0x23f988b5},
-  {0x9fc7, 0x23f988b6},
-  {0x9fc8, 0x23f988b7},
-  {0x9fc9, 0x23f988b8},
-  {0x9fca, 0x23f988b9},
-  {0x9fcb, 0x23f98cb0},
-  {0x9fcc, 0x23f98cb1},
-  {0x9fcd, 0x23f98cb2},
-  {0x9fce, 0x23f98cb3},
-  {0x9fcf, 0x23f98cb4},
-  {0x9fd0, 0x23f98cb5},
-  {0x9fd1, 0x23f98cb6},
-  {0x9fd2, 0x23f98cb7},
-  {0x9fd3, 0x23f98cb8},
-  {0x9fd4, 0x23f98cb9},
-  {0x9fd5, 0x23f990b0},
-  {0x9fd6, 0x23f990b1},
-  {0x9fd7, 0x23f990b2},
-  {0x9fd8, 0x23f990b3},
-  {0x9fd9, 0x23f990b4},
-  {0x9fda, 0x23f990b5},
-  {0x9fdb, 0x23f990b6},
-  {0x9fdc, 0x23f990b7},
-  {0x9fdd, 0x23f990b8},
-  {0x9fde, 0x23f990b9},
-  {0x9fdf, 0x23f994b0},
-  {0x9fe0, 0x23f994b1},
-  {0x9fe1, 0x23f994b2},
-  {0x9fe2, 0x23f994b3},
-  {0x9fe3, 0x23f994b4},
-  {0x9fe4, 0x23f994b5},
-  {0x9fe5, 0x23f994b6},
-  {0x9fe6, 0x23f994b7},
-  {0x9fe7, 0x23f994b8},
-  {0x9fe8, 0x23f994b9},
-  {0x9fe9, 0x23f998b0},
-  {0x9fea, 0x23f998b1},
-  {0x9feb, 0x23f998b2},
-  {0x9fec, 0x23f998b3},
-  {0x9fed, 0x23f998b4},
-  {0x9fee, 0x23f998b5},
-  {0x9fef, 0x23f998b6},
-  {0x9ff0, 0x23f998b7},
-  {0x9ff1, 0x23f998b8},
-  {0x9ff2, 0x23f998b9},
-  {0x9ff3, 0x23f99cb0},
-  {0x9ff4, 0x23f99cb1},
-  {0x9ff5, 0x23f99cb2},
-  {0x9ff6, 0x23f99cb3},
-  {0x9ff7, 0x23f99cb4},
-  {0x9ff8, 0x23f99cb5},
-  {0x9ff9, 0x23f99cb6},
-  {0x9ffa, 0x23f99cb7},
-  {0x9ffb, 0x23f99cb8},
-  {0x9ffc, 0x23f99cb9},
-  {0x9ffd, 0x23f9a0b0},
-  {0x9ffe, 0x23f9a0b1},
-  {0x9fff, 0x23f9a0b2},
-  {0xa000, 0x23f9a0b3},
-  {0xa001, 0x23f9a0b4},
-  {0xa002, 0x23f9a0b5},
-  {0xa003, 0x23f9a0b6},
-  {0xa004, 0x23f9a0b7},
-  {0xa005, 0x23f9a0b8},
-  {0xa006, 0x23f9a0b9},
-  {0xa007, 0x23f9a4b0},
-  {0xa008, 0x23f9a4b1},
-  {0xa009, 0x23f9a4b2},
-  {0xa00a, 0x23f9a4b3},
-  {0xa00b, 0x23f9a4b4},
-  {0xa00c, 0x23f9a4b5},
-  {0xa00d, 0x23f9a4b6},
-  {0xa00e, 0x23f9a4b7},
-  {0xa00f, 0x23f9a4b8},
-  {0xa010, 0x23f9a4b9},
-  {0xa011, 0x23f9a8b0},
-  {0xa012, 0x23f9a8b1},
-  {0xa013, 0x23f9a8b2},
-  {0xa014, 0x23f9a8b3},
-  {0xa015, 0x23f9a8b4},
-  {0xa016, 0x23f9a8b5},
-  {0xa017, 0x23f9a8b6},
-  {0xa018, 0x23f9a8b7},
-  {0xa019, 0x23f9a8b8},
-  {0xa01a, 0x23f9a8b9},
-  {0xa01b, 0x23f9acb0},
-  {0xa01c, 0x23f9acb1},
-  {0xa01d, 0x23f9acb2},
-  {0xa01e, 0x23f9acb3},
-  {0xa01f, 0x23f9acb4},
-  {0xa020, 0x23f9acb5},
-  {0xa021, 0x23f9acb6},
-  {0xa022, 0x23f9acb7},
-  {0xa023, 0x23f9acb8},
-  {0xa024, 0x23f9acb9},
-  {0xa025, 0x23f9b0b0},
-  {0xa026, 0x23f9b0b1},
-  {0xa027, 0x23f9b0b2},
-  {0xa028, 0x23f9b0b3},
-  {0xa029, 0x23f9b0b4},
-  {0xa02a, 0x23f9b0b5},
-  {0xa02b, 0x23f9b0b6},
-  {0xa02c, 0x23f9b0b7},
-  {0xa02d, 0x23f9b0b8},
-  {0xa02e, 0x23f9b0b9},
-  {0xa02f, 0x23f9b4b0},
-  {0xa030, 0x23f9b4b1},
-  {0xa031, 0x23f9b4b2},
-  {0xa032, 0x23f9b4b3},
-  {0xa033, 0x23f9b4b4},
-  {0xa034, 0x23f9b4b5},
-  {0xa035, 0x23f9b4b6},
-  {0xa036, 0x23f9b4b7},
-  {0xa037, 0x23f9b4b8},
-  {0xa038, 0x23f9b4b9},
-  {0xa039, 0x23f9b8b0},
-  {0xa03a, 0x23f9b8b1},
-  {0xa03b, 0x23f9b8b2},
-  {0xa03c, 0x23f9b8b3},
-  {0xa03d, 0x23f9b8b4},
-  {0xa03e, 0x23f9b8b5},
-  {0xa03f, 0x23f9b8b6},
-  {0xa040, 0x23f9b8b7},
-  {0xa041, 0x23f9b8b8},
-  {0xa042, 0x23f9b8b9},
-  {0xa043, 0x23f9bcb0},
-  {0xa044, 0x23f9bcb1},
-  {0xa045, 0x23f9bcb2},
-  {0xa046, 0x23f9bcb3},
-  {0xa047, 0x23f9bcb4},
-  {0xa048, 0x23f9bcb5},
-  {0xa049, 0x23f9bcb6},
-  {0xa04a, 0x23f9bcb7},
-  {0xa04b, 0x23f9bcb8},
-  {0xa04c, 0x23f9bcb9},
-  {0xa04d, 0x23fa80b0},
-  {0xa04e, 0x23fa80b1},
-  {0xa04f, 0x23fa80b2},
-  {0xa050, 0x23fa80b3},
-  {0xa051, 0x23fa80b4},
-  {0xa052, 0x23fa80b5},
-  {0xa053, 0x23fa80b6},
-  {0xa054, 0x23fa80b7},
-  {0xa055, 0x23fa80b8},
-  {0xa056, 0x23fa80b9},
-  {0xa057, 0x23fa84b0},
-  {0xa058, 0x23fa84b1},
-  {0xa059, 0x23fa84b2},
-  {0xa05a, 0x23fa84b3},
-  {0xa05b, 0x23fa84b4},
-  {0xa05c, 0x23fa84b5},
-  {0xa05d, 0x23fa84b6},
-  {0xa05e, 0x23fa84b7},
-  {0xa05f, 0x23fa84b8},
-  {0xa060, 0x23fa84b9},
-  {0xa061, 0x23fa88b0},
-  {0xa062, 0x23fa88b1},
-  {0xa063, 0x23fa88b2},
-  {0xa064, 0x23fa88b3},
-  {0xa065, 0x23fa88b4},
-  {0xa066, 0x23fa88b5},
-  {0xa067, 0x23fa88b6},
-  {0xa068, 0x23fa88b7},
-  {0xa069, 0x23fa88b8},
-  {0xa06a, 0x23fa88b9},
-  {0xa06b, 0x23fa8cb0},
-  {0xa06c, 0x23fa8cb1},
-  {0xa06d, 0x23fa8cb2},
-  {0xa06e, 0x23fa8cb3},
-  {0xa06f, 0x23fa8cb4},
-  {0xa070, 0x23fa8cb5},
-  {0xa071, 0x23fa8cb6},
-  {0xa072, 0x23fa8cb7},
-  {0xa073, 0x23fa8cb8},
-  {0xa074, 0x23fa8cb9},
-  {0xa075, 0x23fa90b0},
-  {0xa076, 0x23fa90b1},
-  {0xa077, 0x23fa90b2},
-  {0xa078, 0x23fa90b3},
-  {0xa079, 0x23fa90b4},
-  {0xa07a, 0x23fa90b5},
-  {0xa07b, 0x23fa90b6},
-  {0xa07c, 0x23fa90b7},
-  {0xa07d, 0x23fa90b8},
-  {0xa07e, 0x23fa90b9},
-  {0xa07f, 0x23fa94b0},
-  {0xa080, 0x23fa94b1},
-  {0xa081, 0x23fa94b2},
-  {0xa082, 0x23fa94b3},
-  {0xa083, 0x23fa94b4},
-  {0xa084, 0x23fa94b5},
-  {0xa085, 0x23fa94b6},
-  {0xa086, 0x23fa94b7},
-  {0xa087, 0x23fa94b8},
-  {0xa088, 0x23fa94b9},
-  {0xa089, 0x23fa98b0},
-  {0xa08a, 0x23fa98b1},
-  {0xa08b, 0x23fa98b2},
-  {0xa08c, 0x23fa98b3},
-  {0xa08d, 0x23fa98b4},
-  {0xa08e, 0x23fa98b5},
-  {0xa08f, 0x23fa98b6},
-  {0xa090, 0x23fa98b7},
-  {0xa091, 0x23fa98b8},
-  {0xa092, 0x23fa98b9},
-  {0xa093, 0x23fa9cb0},
-  {0xa094, 0x23fa9cb1},
-  {0xa095, 0x23fa9cb2},
-  {0xa096, 0x23fa9cb3},
-  {0xa097, 0x23fa9cb4},
-  {0xa098, 0x23fa9cb5},
-  {0xa099, 0x23fa9cb6},
-  {0xa09a, 0x23fa9cb7},
-  {0xa09b, 0x23fa9cb8},
-  {0xa09c, 0x23fa9cb9},
-  {0xa09d, 0x23faa0b0},
-  {0xa09e, 0x23faa0b1},
-  {0xa09f, 0x23faa0b2},
-  {0xa0a0, 0x23faa0b3},
-  {0xa0a1, 0x23faa0b4},
-  {0xa0a2, 0x23faa0b5},
-  {0xa0a3, 0x23faa0b6},
-  {0xa0a4, 0x23faa0b7},
-  {0xa0a5, 0x23faa0b8},
-  {0xa0a6, 0x23faa0b9},
-  {0xa0a7, 0x23faa4b0},
-  {0xa0a8, 0x23faa4b1},
-  {0xa0a9, 0x23faa4b2},
-  {0xa0aa, 0x23faa4b3},
-  {0xa0ab, 0x23faa4b4},
-  {0xa0ac, 0x23faa4b5},
-  {0xa0ad, 0x23faa4b6},
-  {0xa0ae, 0x23faa4b7},
-  {0xa0af, 0x23faa4b8},
-  {0xa0b0, 0x23faa4b9},
-  {0xa0b1, 0x23faa8b0},
-  {0xa0b2, 0x23faa8b1},
-  {0xa0b3, 0x23faa8b2},
-  {0xa0b4, 0x23faa8b3},
-  {0xa0b5, 0x23faa8b4},
-  {0xa0b6, 0x23faa8b5},
-  {0xa0b7, 0x23faa8b6},
-  {0xa0b8, 0x23faa8b7},
-  {0xa0b9, 0x23faa8b8},
-  {0xa0ba, 0x23faa8b9},
-  {0xa0bb, 0x23faacb0},
-  {0xa0bc, 0x23faacb1},
-  {0xa0bd, 0x23faacb2},
-  {0xa0be, 0x23faacb3},
-  {0xa0bf, 0x23faacb4},
-  {0xa0c0, 0x23faacb5},
-  {0xa0c1, 0x23faacb6},
-  {0xa0c2, 0x23faacb7},
-  {0xa0c3, 0x23faacb8},
-  {0xa0c4, 0x23faacb9},
-  {0xa0c5, 0x23fab0b0},
-  {0xa0c6, 0x23fab0b1},
-  {0xa0c7, 0x23fab0b2},
-  {0xa0c8, 0x23fab0b3},
-  {0xa0c9, 0x23fab0b4},
-  {0xa0ca, 0x23fab0b5},
-  {0xa0cb, 0x23fab0b6},
-  {0xa0cc, 0x23fab0b7},
-  {0xa0cd, 0x23fab0b8},
-  {0xa0ce, 0x23fab0b9},
-  {0xa0cf, 0x23fab4b0},
-  {0xa0d0, 0x23fab4b1},
-  {0xa0d1, 0x23fab4b2},
-  {0xa0d2, 0x23fab4b3},
-  {0xa0d3, 0x23fab4b4},
-  {0xa0d4, 0x23fab4b5},
-  {0xa0d5, 0x23fab4b6},
-  {0xa0d6, 0x23fab4b7},
-  {0xa0d7, 0x23fab4b8},
-  {0xa0d8, 0x23fab4b9},
-  {0xa0d9, 0x23fab8b0},
-  {0xa0da, 0x23fab8b1},
-  {0xa0db, 0x23fab8b2},
-  {0xa0dc, 0x23fab8b3},
-  {0xa0dd, 0x23fab8b4},
-  {0xa0de, 0x23fab8b5},
-  {0xa0df, 0x23fab8b6},
-  {0xa0e0, 0x23fab8b7},
-  {0xa0e1, 0x23fab8b8},
-  {0xa0e2, 0x23fab8b9},
-  {0xa0e3, 0x23fabcb0},
-  {0xa0e4, 0x23fabcb1},
-  {0xa0e5, 0x23fabcb2},
-  {0xa0e6, 0x23fabcb3},
-  {0xa0e7, 0x23fabcb4},
-  {0xa0e8, 0x23fabcb5},
-  {0xa0e9, 0x23fabcb6},
-  {0xa0ea, 0x23fabcb7},
-  {0xa0eb, 0x23fabcb8},
-  {0xa0ec, 0x23fabcb9},
-  {0xa0ed, 0x23fb80b0},
-  {0xa0ee, 0x23fb80b1},
-  {0xa0ef, 0x23fb80b2},
-  {0xa0f0, 0x23fb80b3},
-  {0xa0f1, 0x23fb80b4},
-  {0xa0f2, 0x23fb80b5},
-  {0xa0f3, 0x23fb80b6},
-  {0xa0f4, 0x23fb80b7},
-  {0xa0f5, 0x23fb80b8},
-  {0xa0f6, 0x23fb80b9},
-  {0xa0f7, 0x23fb84b0},
-  {0xa0f8, 0x23fb84b1},
-  {0xa0f9, 0x23fb84b2},
-  {0xa0fa, 0x23fb84b3},
-  {0xa0fb, 0x23fb84b4},
-  {0xa0fc, 0x23fb84b5},
-  {0xa0fd, 0x23fb84b6},
-  {0xa0fe, 0x23fb84b7},
-  {0xa0ff, 0x23fb84b8},
-  {0xa100, 0x23fb84b9},
-  {0xa101, 0x23fb88b0},
-  {0xa102, 0x23fb88b1},
-  {0xa103, 0x23fb88b2},
-  {0xa104, 0x23fb88b3},
-  {0xa105, 0x23fb88b4},
-  {0xa106, 0x23fb88b5},
-  {0xa107, 0x23fb88b6},
-  {0xa108, 0x23fb88b7},
-  {0xa109, 0x23fb88b8},
-  {0xa10a, 0x23fb88b9},
-  {0xa10b, 0x23fb8cb0},
-  {0xa10c, 0x23fb8cb1},
-  {0xa10d, 0x23fb8cb2},
-  {0xa10e, 0x23fb8cb3},
-  {0xa10f, 0x23fb8cb4},
-  {0xa110, 0x23fb8cb5},
-  {0xa111, 0x23fb8cb6},
-  {0xa112, 0x23fb8cb7},
-  {0xa113, 0x23fb8cb8},
-  {0xa114, 0x23fb8cb9},
-  {0xa115, 0x23fb90b0},
-  {0xa116, 0x23fb90b1},
-  {0xa117, 0x23fb90b2},
-  {0xa118, 0x23fb90b3},
-  {0xa119, 0x23fb90b4},
-  {0xa11a, 0x23fb90b5},
-  {0xa11b, 0x23fb90b6},
-  {0xa11c, 0x23fb90b7},
-  {0xa11d, 0x23fb90b8},
-  {0xa11e, 0x23fb90b9},
-  {0xa11f, 0x23fb94b0},
-  {0xa120, 0x23fb94b1},
-  {0xa121, 0x23fb94b2},
-  {0xa122, 0x23fb94b3},
-  {0xa123, 0x23fb94b4},
-  {0xa124, 0x23fb94b5},
-  {0xa125, 0x23fb94b6},
-  {0xa126, 0x23fb94b7},
-  {0xa127, 0x23fb94b8},
-  {0xa128, 0x23fb94b9},
-  {0xa129, 0x23fb98b0},
-  {0xa12a, 0x23fb98b1},
-  {0xa12b, 0x23fb98b2},
-  {0xa12c, 0x23fb98b3},
-  {0xa12d, 0x23fb98b4},
-  {0xa12e, 0x23fb98b5},
-  {0xa12f, 0x23fb98b6},
-  {0xa130, 0x23fb98b7},
-  {0xa131, 0x23fb98b8},
-  {0xa132, 0x23fb98b9},
-  {0xa133, 0x23fb9cb0},
-  {0xa134, 0x23fb9cb1},
-  {0xa135, 0x23fb9cb2},
-  {0xa136, 0x23fb9cb3},
-  {0xa137, 0x23fb9cb4},
-  {0xa138, 0x23fb9cb5},
-  {0xa139, 0x23fb9cb6},
-  {0xa13a, 0x23fb9cb7},
-  {0xa13b, 0x23fb9cb8},
-  {0xa13c, 0x23fb9cb9},
-  {0xa13d, 0x23fba0b0},
-  {0xa13e, 0x23fba0b1},
-  {0xa13f, 0x23fba0b2},
-  {0xa140, 0x23fba0b3},
-  {0xa141, 0x23fba0b4},
-  {0xa142, 0x23fba0b5},
-  {0xa143, 0x23fba0b6},
-  {0xa144, 0x23fba0b7},
-  {0xa145, 0x23fba0b8},
-  {0xa146, 0x23fba0b9},
-  {0xa147, 0x23fba4b0},
-  {0xa148, 0x23fba4b1},
-  {0xa149, 0x23fba4b2},
-  {0xa14a, 0x23fba4b3},
-  {0xa14b, 0x23fba4b4},
-  {0xa14c, 0x23fba4b5},
-  {0xa14d, 0x23fba4b6},
-  {0xa14e, 0x23fba4b7},
-  {0xa14f, 0x23fba4b8},
-  {0xa150, 0x23fba4b9},
-  {0xa151, 0x23fba8b0},
-  {0xa152, 0x23fba8b1},
-  {0xa153, 0x23fba8b2},
-  {0xa154, 0x23fba8b3},
-  {0xa155, 0x23fba8b4},
-  {0xa156, 0x23fba8b5},
-  {0xa157, 0x23fba8b6},
-  {0xa158, 0x23fba8b7},
-  {0xa159, 0x23fba8b8},
-  {0xa15a, 0x23fba8b9},
-  {0xa15b, 0x23fbacb0},
-  {0xa15c, 0x23fbacb1},
-  {0xa15d, 0x23fbacb2},
-  {0xa15e, 0x23fbacb3},
-  {0xa15f, 0x23fbacb4},
-  {0xa160, 0x23fbacb5},
-  {0xa161, 0x23fbacb6},
-  {0xa162, 0x23fbacb7},
-  {0xa163, 0x23fbacb8},
-  {0xa164, 0x23fbacb9},
-  {0xa165, 0x23fbb0b0},
-  {0xa166, 0x23fbb0b1},
-  {0xa167, 0x23fbb0b2},
-  {0xa168, 0x23fbb0b3},
-  {0xa169, 0x23fbb0b4},
-  {0xa16a, 0x23fbb0b5},
-  {0xa16b, 0x23fbb0b6},
-  {0xa16c, 0x23fbb0b7},
-  {0xa16d, 0x23fbb0b8},
-  {0xa16e, 0x23fbb0b9},
-  {0xa16f, 0x23fbb4b0},
-  {0xa170, 0x23fbb4b1},
-  {0xa171, 0x23fbb4b2},
-  {0xa172, 0x23fbb4b3},
-  {0xa173, 0x23fbb4b4},
-  {0xa174, 0x23fbb4b5},
-  {0xa175, 0x23fbb4b6},
-  {0xa176, 0x23fbb4b7},
-  {0xa177, 0x23fbb4b8},
-  {0xa178, 0x23fbb4b9},
-  {0xa179, 0x23fbb8b0},
-  {0xa17a, 0x23fbb8b1},
-  {0xa17b, 0x23fbb8b2},
-  {0xa17c, 0x23fbb8b3},
-  {0xa17d, 0x23fbb8b4},
-  {0xa17e, 0x23fbb8b5},
-  {0xa17f, 0x23fbb8b6},
-  {0xa180, 0x23fbb8b7},
-  {0xa181, 0x23fbb8b8},
-  {0xa182, 0x23fbb8b9},
-  {0xa183, 0x23fbbcb0},
-  {0xa184, 0x23fbbcb1},
-  {0xa185, 0x23fbbcb2},
-  {0xa186, 0x23fbbcb3},
-  {0xa187, 0x23fbbcb4},
-  {0xa188, 0x23fbbcb5},
-  {0xa189, 0x23fbbcb6},
-  {0xa18a, 0x23fbbcb7},
-  {0xa18b, 0x23fbbcb8},
-  {0xa18c, 0x23fbbcb9},
-  {0xa18d, 0x23fc80b0},
-  {0xa18e, 0x23fc80b1},
-  {0xa18f, 0x23fc80b2},
-  {0xa190, 0x23fc80b3},
-  {0xa191, 0x23fc80b4},
-  {0xa192, 0x23fc80b5},
-  {0xa193, 0x23fc80b6},
-  {0xa194, 0x23fc80b7},
-  {0xa195, 0x23fc80b8},
-  {0xa196, 0x23fc80b9},
-  {0xa197, 0x23fc84b0},
-  {0xa198, 0x23fc84b1},
-  {0xa199, 0x23fc84b2},
-  {0xa19a, 0x23fc84b3},
-  {0xa19b, 0x23fc84b4},
-  {0xa19c, 0x23fc84b5},
-  {0xa19d, 0x23fc84b6},
-  {0xa19e, 0x23fc84b7},
-  {0xa19f, 0x23fc84b8},
-  {0xa1a0, 0x23fc84b9},
-  {0xa1a1, 0x23fc88b0},
-  {0xa1a2, 0x23fc88b1},
-  {0xa1a3, 0x23fc88b2},
-  {0xa1a4, 0x23fc88b3},
-  {0xa1a5, 0x23fc88b4},
-  {0xa1a6, 0x23fc88b5},
-  {0xa1a7, 0x23fc88b6},
-  {0xa1a8, 0x23fc88b7},
-  {0xa1a9, 0x23fc88b8},
-  {0xa1aa, 0x23fc88b9},
-  {0xa1ab, 0x23fc8cb0},
-  {0xa1ac, 0x23fc8cb1},
-  {0xa1ad, 0x23fc8cb2},
-  {0xa1ae, 0x23fc8cb3},
-  {0xa1af, 0x23fc8cb4},
-  {0xa1b0, 0x23fc8cb5},
-  {0xa1b1, 0x23fc8cb6},
-  {0xa1b2, 0x23fc8cb7},
-  {0xa1b3, 0x23fc8cb8},
-  {0xa1b4, 0x23fc8cb9},
-  {0xa1b5, 0x23fc90b0},
-  {0xa1b6, 0x23fc90b1},
-  {0xa1b7, 0x23fc90b2},
-  {0xa1b8, 0x23fc90b3},
-  {0xa1b9, 0x23fc90b4},
-  {0xa1ba, 0x23fc90b5},
-  {0xa1bb, 0x23fc90b6},
-  {0xa1bc, 0x23fc90b7},
-  {0xa1bd, 0x23fc90b8},
-  {0xa1be, 0x23fc90b9},
-  {0xa1bf, 0x23fc94b0},
-  {0xa1c0, 0x23fc94b1},
-  {0xa1c1, 0x23fc94b2},
-  {0xa1c2, 0x23fc94b3},
-  {0xa1c3, 0x23fc94b4},
-  {0xa1c4, 0x23fc94b5},
-  {0xa1c5, 0x23fc94b6},
-  {0xa1c6, 0x23fc94b7},
-  {0xa1c7, 0x23fc94b8},
-  {0xa1c8, 0x23fc94b9},
-  {0xa1c9, 0x23fc98b0},
-  {0xa1ca, 0x23fc98b1},
-  {0xa1cb, 0x23fc98b2},
-  {0xa1cc, 0x23fc98b3},
-  {0xa1cd, 0x23fc98b4},
-  {0xa1ce, 0x23fc98b5},
-  {0xa1cf, 0x23fc98b6},
-  {0xa1d0, 0x23fc98b7},
-  {0xa1d1, 0x23fc98b8},
-  {0xa1d2, 0x23fc98b9},
-  {0xa1d3, 0x23fc9cb0},
-  {0xa1d4, 0x23fc9cb1},
-  {0xa1d5, 0x23fc9cb2},
-  {0xa1d6, 0x23fc9cb3},
-  {0xa1d7, 0x23fc9cb4},
-  {0xa1d8, 0x23fc9cb5},
-  {0xa1d9, 0x23fc9cb6},
-  {0xa1da, 0x23fc9cb7},
-  {0xa1db, 0x23fc9cb8},
-  {0xa1dc, 0x23fc9cb9},
-  {0xa1dd, 0x23fca0b0},
-  {0xa1de, 0x23fca0b1},
-  {0xa1df, 0x23fca0b2},
-  {0xa1e0, 0x23fca0b3},
-  {0xa1e1, 0x23fca0b4},
-  {0xa1e2, 0x23fca0b5},
-  {0xa1e3, 0x23fca0b6},
-  {0xa1e4, 0x23fca0b7},
-  {0xa1e5, 0x23fca0b8},
-  {0xa1e6, 0x23fca0b9},
-  {0xa1e7, 0x23fca4b0},
-  {0xa1e8, 0x23fca4b1},
-  {0xa1e9, 0x23fca4b2},
-  {0xa1ea, 0x23fca4b3},
-  {0xa1eb, 0x23fca4b4},
-  {0xa1ec, 0x23fca4b5},
-  {0xa1ed, 0x23fca4b6},
-  {0xa1ee, 0x23fca4b7},
-  {0xa1ef, 0x23fca4b8},
-  {0xa1f0, 0x23fca4b9},
-  {0xa1f1, 0x23fca8b0},
-  {0xa1f2, 0x23fca8b1},
-  {0xa1f3, 0x23fca8b2},
-  {0xa1f4, 0x23fca8b3},
-  {0xa1f5, 0x23fca8b4},
-  {0xa1f6, 0x23fca8b5},
-  {0xa1f7, 0x23fca8b6},
-  {0xa1f8, 0x23fca8b7},
-  {0xa1f9, 0x23fca8b8},
-  {0xa1fa, 0x23fca8b9},
-  {0xa1fb, 0x23fcacb0},
-  {0xa1fc, 0x23fcacb1},
-  {0xa1fd, 0x23fcacb2},
-  {0xa1fe, 0x23fcacb3},
-  {0xa1ff, 0x23fcacb4},
-  {0xa200, 0x23fcacb5},
-  {0xa201, 0x23fcacb6},
-  {0xa202, 0x23fcacb7},
-  {0xa203, 0x23fcacb8},
-  {0xa204, 0x23fcacb9},
-  {0xa205, 0x23fcb0b0},
-  {0xa206, 0x23fcb0b1},
-  {0xa207, 0x23fcb0b2},
-  {0xa208, 0x23fcb0b3},
-  {0xa209, 0x23fcb0b4},
-  {0xa20a, 0x23fcb0b5},
-  {0xa20b, 0x23fcb0b6},
-  {0xa20c, 0x23fcb0b7},
-  {0xa20d, 0x23fcb0b8},
-  {0xa20e, 0x23fcb0b9},
-  {0xa20f, 0x23fcb4b0},
-  {0xa210, 0x23fcb4b1},
-  {0xa211, 0x23fcb4b2},
-  {0xa212, 0x23fcb4b3},
-  {0xa213, 0x23fcb4b4},
-  {0xa214, 0x23fcb4b5},
-  {0xa215, 0x23fcb4b6},
-  {0xa216, 0x23fcb4b7},
-  {0xa217, 0x23fcb4b8},
-  {0xa218, 0x23fcb4b9},
-  {0xa219, 0x23fcb8b0},
-  {0xa21a, 0x23fcb8b1},
-  {0xa21b, 0x23fcb8b2},
-  {0xa21c, 0x23fcb8b3},
-  {0xa21d, 0x23fcb8b4},
-  {0xa21e, 0x23fcb8b5},
-  {0xa21f, 0x23fcb8b6},
-  {0xa220, 0x23fcb8b7},
-  {0xa221, 0x23fcb8b8},
-  {0xa222, 0x23fcb8b9},
-  {0xa223, 0x23fcbcb0},
-  {0xa224, 0x23fcbcb1},
-  {0xa225, 0x23fcbcb2},
-  {0xa226, 0x23fcbcb3},
-  {0xa227, 0x23fcbcb4},
-  {0xa228, 0x23fcbcb5},
-  {0xa229, 0x23fcbcb6},
-  {0xa22a, 0x23fcbcb7},
-  {0xa22b, 0x23fcbcb8},
-  {0xa22c, 0x23fcbcb9},
-  {0xa22d, 0x23fd80b0},
-  {0xa22e, 0x23fd80b1},
-  {0xa22f, 0x23fd80b2},
-  {0xa230, 0x23fd80b3},
-  {0xa231, 0x23fd80b4},
-  {0xa232, 0x23fd80b5},
-  {0xa233, 0x23fd80b6},
-  {0xa234, 0x23fd80b7},
-  {0xa235, 0x23fd80b8},
-  {0xa236, 0x23fd80b9},
-  {0xa237, 0x23fd84b0},
-  {0xa238, 0x23fd84b1},
-  {0xa239, 0x23fd84b2},
-  {0xa23a, 0x23fd84b3},
-  {0xa23b, 0x23fd84b4},
-  {0xa23c, 0x23fd84b5},
-  {0xa23d, 0x23fd84b6},
-  {0xa23e, 0x23fd84b7},
-  {0xa23f, 0x23fd84b8},
-  {0xa240, 0x23fd84b9},
-  {0xa241, 0x23fd88b0},
-  {0xa242, 0x23fd88b1},
-  {0xa243, 0x23fd88b2},
-  {0xa244, 0x23fd88b3},
-  {0xa245, 0x23fd88b4},
-  {0xa246, 0x23fd88b5},
-  {0xa247, 0x23fd88b6},
-  {0xa248, 0x23fd88b7},
-  {0xa249, 0x23fd88b8},
-  {0xa24a, 0x23fd88b9},
-  {0xa24b, 0x23fd8cb0},
-  {0xa24c, 0x23fd8cb1},
-  {0xa24d, 0x23fd8cb2},
-  {0xa24e, 0x23fd8cb3},
-  {0xa24f, 0x23fd8cb4},
-  {0xa250, 0x23fd8cb5},
-  {0xa251, 0x23fd8cb6},
-  {0xa252, 0x23fd8cb7},
-  {0xa253, 0x23fd8cb8},
-  {0xa254, 0x23fd8cb9},
-  {0xa255, 0x23fd90b0},
-  {0xa256, 0x23fd90b1},
-  {0xa257, 0x23fd90b2},
-  {0xa258, 0x23fd90b3},
-  {0xa259, 0x23fd90b4},
-  {0xa25a, 0x23fd90b5},
-  {0xa25b, 0x23fd90b6},
-  {0xa25c, 0x23fd90b7},
-  {0xa25d, 0x23fd90b8},
-  {0xa25e, 0x23fd90b9},
-  {0xa25f, 0x23fd94b0},
-  {0xa260, 0x23fd94b1},
-  {0xa261, 0x23fd94b2},
-  {0xa262, 0x23fd94b3},
-  {0xa263, 0x23fd94b4},
-  {0xa264, 0x23fd94b5},
-  {0xa265, 0x23fd94b6},
-  {0xa266, 0x23fd94b7},
-  {0xa267, 0x23fd94b8},
-  {0xa268, 0x23fd94b9},
-  {0xa269, 0x23fd98b0},
-  {0xa26a, 0x23fd98b1},
-  {0xa26b, 0x23fd98b2},
-  {0xa26c, 0x23fd98b3},
-  {0xa26d, 0x23fd98b4},
-  {0xa26e, 0x23fd98b5},
-  {0xa26f, 0x23fd98b6},
-  {0xa270, 0x23fd98b7},
-  {0xa271, 0x23fd98b8},
-  {0xa272, 0x23fd98b9},
-  {0xa273, 0x23fd9cb0},
-  {0xa274, 0x23fd9cb1},
-  {0xa275, 0x23fd9cb2},
-  {0xa276, 0x23fd9cb3},
-  {0xa277, 0x23fd9cb4},
-  {0xa278, 0x23fd9cb5},
-  {0xa279, 0x23fd9cb6},
-  {0xa27a, 0x23fd9cb7},
-  {0xa27b, 0x23fd9cb8},
-  {0xa27c, 0x23fd9cb9},
-  {0xa27d, 0x23fda0b0},
-  {0xa27e, 0x23fda0b1},
-  {0xa27f, 0x23fda0b2},
-  {0xa280, 0x23fda0b3},
-  {0xa281, 0x23fda0b4},
-  {0xa282, 0x23fda0b5},
-  {0xa283, 0x23fda0b6},
-  {0xa284, 0x23fda0b7},
-  {0xa285, 0x23fda0b8},
-  {0xa286, 0x23fda0b9},
-  {0xa287, 0x23fda4b0},
-  {0xa288, 0x23fda4b1},
-  {0xa289, 0x23fda4b2},
-  {0xa28a, 0x23fda4b3},
-  {0xa28b, 0x23fda4b4},
-  {0xa28c, 0x23fda4b5},
-  {0xa28d, 0x23fda4b6},
-  {0xa28e, 0x23fda4b7},
-  {0xa28f, 0x23fda4b8},
-  {0xa290, 0x23fda4b9},
-  {0xa291, 0x23fda8b0},
-  {0xa292, 0x23fda8b1},
-  {0xa293, 0x23fda8b2},
-  {0xa294, 0x23fda8b3},
-  {0xa295, 0x23fda8b4},
-  {0xa296, 0x23fda8b5},
-  {0xa297, 0x23fda8b6},
-  {0xa298, 0x23fda8b7},
-  {0xa299, 0x23fda8b8},
-  {0xa29a, 0x23fda8b9},
-  {0xa29b, 0x23fdacb0},
-  {0xa29c, 0x23fdacb1},
-  {0xa29d, 0x23fdacb2},
-  {0xa29e, 0x23fdacb3},
-  {0xa29f, 0x23fdacb4},
-  {0xa2a0, 0x23fdacb5},
-  {0xa2a1, 0x23fdacb6},
-  {0xa2a2, 0x23fdacb7},
-  {0xa2a3, 0x23fdacb8},
-  {0xa2a4, 0x23fdacb9},
-  {0xa2a5, 0x23fdb0b0},
-  {0xa2a6, 0x23fdb0b1},
-  {0xa2a7, 0x23fdb0b2},
-  {0xa2a8, 0x23fdb0b3},
-  {0xa2a9, 0x23fdb0b4},
-  {0xa2aa, 0x23fdb0b5},
-  {0xa2ab, 0x23fdb0b6},
-  {0xa2ac, 0x23fdb0b7},
-  {0xa2ad, 0x23fdb0b8},
-  {0xa2ae, 0x23fdb0b9},
-  {0xa2af, 0x23fdb4b0},
-  {0xa2b0, 0x23fdb4b1},
-  {0xa2b1, 0x23fdb4b2},
-  {0xa2b2, 0x23fdb4b3},
-  {0xa2b3, 0x23fdb4b4},
-  {0xa2b4, 0x23fdb4b5},
-  {0xa2b5, 0x23fdb4b6},
-  {0xa2b6, 0x23fdb4b7},
-  {0xa2b7, 0x23fdb4b8},
-  {0xa2b8, 0x23fdb4b9},
-  {0xa2b9, 0x23fdb8b0},
-  {0xa2ba, 0x23fdb8b1},
-  {0xa2bb, 0x23fdb8b2},
-  {0xa2bc, 0x23fdb8b3},
-  {0xa2bd, 0x23fdb8b4},
-  {0xa2be, 0x23fdb8b5},
-  {0xa2bf, 0x23fdb8b6},
-  {0xa2c0, 0x23fdb8b7},
-  {0xa2c1, 0x23fdb8b8},
-  {0xa2c2, 0x23fdb8b9},
-  {0xa2c3, 0x23fdbcb0},
-  {0xa2c4, 0x23fdbcb1},
-  {0xa2c5, 0x23fdbcb2},
-  {0xa2c6, 0x23fdbcb3},
-  {0xa2c7, 0x23fdbcb4},
-  {0xa2c8, 0x23fdbcb5},
-  {0xa2c9, 0x23fdbcb6},
-  {0xa2ca, 0x23fdbcb7},
-  {0xa2cb, 0x23fdbcb8},
-  {0xa2cc, 0x23fdbcb9},
-  {0xa2cd, 0x23fe80b0},
-  {0xa2ce, 0x23fe80b1},
-  {0xa2cf, 0x23fe80b2},
-  {0xa2d0, 0x23fe80b3},
-  {0xa2d1, 0x23fe80b4},
-  {0xa2d2, 0x23fe80b5},
-  {0xa2d3, 0x23fe80b6},
-  {0xa2d4, 0x23fe80b7},
-  {0xa2d5, 0x23fe80b8},
-  {0xa2d6, 0x23fe80b9},
-  {0xa2d7, 0x23fe84b0},
-  {0xa2d8, 0x23fe84b1},
-  {0xa2d9, 0x23fe84b2},
-  {0xa2da, 0x23fe84b3},
-  {0xa2db, 0x23fe84b4},
-  {0xa2dc, 0x23fe84b5},
-  {0xa2dd, 0x23fe84b6},
-  {0xa2de, 0x23fe84b7},
-  {0xa2df, 0x23fe84b8},
-  {0xa2e0, 0x23fe84b9},
-  {0xa2e1, 0x23fe88b0},
-  {0xa2e2, 0x23fe88b1},
-  {0xa2e3, 0x23fe88b2},
-  {0xa2e4, 0x23fe88b3},
-  {0xa2e5, 0x23fe88b4},
-  {0xa2e6, 0x23fe88b5},
-  {0xa2e7, 0x23fe88b6},
-  {0xa2e8, 0x23fe88b7},
-  {0xa2e9, 0x23fe88b8},
-  {0xa2ea, 0x23fe88b9},
-  {0xa2eb, 0x23fe8cb0},
-  {0xa2ec, 0x23fe8cb1},
-  {0xa2ed, 0x23fe8cb2},
-  {0xa2ee, 0x23fe8cb3},
-  {0xa2ef, 0x23fe8cb4},
-  {0xa2f0, 0x23fe8cb5},
-  {0xa2f1, 0x23fe8cb6},
-  {0xa2f2, 0x23fe8cb7},
-  {0xa2f3, 0x23fe8cb8},
-  {0xa2f4, 0x23fe8cb9},
-  {0xa2f5, 0x23fe90b0},
-  {0xa2f6, 0x23fe90b1},
-  {0xa2f7, 0x23fe90b2},
-  {0xa2f8, 0x23fe90b3},
-  {0xa2f9, 0x23fe90b4},
-  {0xa2fa, 0x23fe90b5},
-  {0xa2fb, 0x23fe90b6},
-  {0xa2fc, 0x23fe90b7},
-  {0xa2fd, 0x23fe90b8},
-  {0xa2fe, 0x23fe90b9},
-  {0xa2ff, 0x23fe94b0},
-  {0xa300, 0x23fe94b1},
-  {0xa301, 0x23fe94b2},
-  {0xa302, 0x23fe94b3},
-  {0xa303, 0x23fe94b4},
-  {0xa304, 0x23fe94b5},
-  {0xa305, 0x23fe94b6},
-  {0xa306, 0x23fe94b7},
-  {0xa307, 0x23fe94b8},
-  {0xa308, 0x23fe94b9},
-  {0xa309, 0x23fe98b0},
-  {0xa30a, 0x23fe98b1},
-  {0xa30b, 0x23fe98b2},
-  {0xa30c, 0x23fe98b3},
-  {0xa30d, 0x23fe98b4},
-  {0xa30e, 0x23fe98b5},
-  {0xa30f, 0x23fe98b6},
-  {0xa310, 0x23fe98b7},
-  {0xa311, 0x23fe98b8},
-  {0xa312, 0x23fe98b9},
-  {0xa313, 0x23fe9cb0},
-  {0xa314, 0x23fe9cb1},
-  {0xa315, 0x23fe9cb2},
-  {0xa316, 0x23fe9cb3},
-  {0xa317, 0x23fe9cb4},
-  {0xa318, 0x23fe9cb5},
-  {0xa319, 0x23fe9cb6},
-  {0xa31a, 0x23fe9cb7},
-  {0xa31b, 0x23fe9cb8},
-  {0xa31c, 0x23fe9cb9},
-  {0xa31d, 0x23fea0b0},
-  {0xa31e, 0x23fea0b1},
-  {0xa31f, 0x23fea0b2},
-  {0xa320, 0x23fea0b3},
-  {0xa321, 0x23fea0b4},
-  {0xa322, 0x23fea0b5},
-  {0xa323, 0x23fea0b6},
-  {0xa324, 0x23fea0b7},
-  {0xa325, 0x23fea0b8},
-  {0xa326, 0x23fea0b9},
-  {0xa327, 0x23fea4b0},
-  {0xa328, 0x23fea4b1},
-  {0xa329, 0x23fea4b2},
-  {0xa32a, 0x23fea4b3},
-  {0xa32b, 0x23fea4b4},
-  {0xa32c, 0x23fea4b5},
-  {0xa32d, 0x23fea4b6},
-  {0xa32e, 0x23fea4b7},
-  {0xa32f, 0x23fea4b8},
-  {0xa330, 0x23fea4b9},
-  {0xa331, 0x23fea8b0},
-  {0xa332, 0x23fea8b1},
-  {0xa333, 0x23fea8b2},
-  {0xa334, 0x23fea8b3},
-  {0xa335, 0x23fea8b4},
-  {0xa336, 0x23fea8b5},
-  {0xa337, 0x23fea8b6},
-  {0xa338, 0x23fea8b7},
-  {0xa339, 0x23fea8b8},
-  {0xa33a, 0x23fea8b9},
-  {0xa33b, 0x23feacb0},
-  {0xa33c, 0x23feacb1},
-  {0xa33d, 0x23feacb2},
-  {0xa33e, 0x23feacb3},
-  {0xa33f, 0x23feacb4},
-  {0xa340, 0x23feacb5},
-  {0xa341, 0x23feacb6},
-  {0xa342, 0x23feacb7},
-  {0xa343, 0x23feacb8},
-  {0xa344, 0x23feacb9},
-  {0xa345, 0x23feb0b0},
-  {0xa346, 0x23feb0b1},
-  {0xa347, 0x23feb0b2},
-  {0xa348, 0x23feb0b3},
-  {0xa349, 0x23feb0b4},
-  {0xa34a, 0x23feb0b5},
-  {0xa34b, 0x23feb0b6},
-  {0xa34c, 0x23feb0b7},
-  {0xa34d, 0x23feb0b8},
-  {0xa34e, 0x23feb0b9},
-  {0xa34f, 0x23feb4b0},
-  {0xa350, 0x23feb4b1},
-  {0xa351, 0x23feb4b2},
-  {0xa352, 0x23feb4b3},
-  {0xa353, 0x23feb4b4},
-  {0xa354, 0x23feb4b5},
-  {0xa355, 0x23feb4b6},
-  {0xa356, 0x23feb4b7},
-  {0xa357, 0x23feb4b8},
-  {0xa358, 0x23feb4b9},
-  {0xa359, 0x23feb8b0},
-  {0xa35a, 0x23feb8b1},
-  {0xa35b, 0x23feb8b2},
-  {0xa35c, 0x23feb8b3},
-  {0xa35d, 0x23feb8b4},
-  {0xa35e, 0x23feb8b5},
-  {0xa35f, 0x23feb8b6},
-  {0xa360, 0x23feb8b7},
-  {0xa361, 0x23feb8b8},
-  {0xa362, 0x23feb8b9},
-  {0xa363, 0x23febcb0},
-  {0xa364, 0x23febcb1},
-  {0xa365, 0x23febcb2},
-  {0xa366, 0x23febcb3},
-  {0xa367, 0x23febcb4},
-  {0xa368, 0x23febcb5},
-  {0xa369, 0x23febcb6},
-  {0xa36a, 0x23febcb7},
-  {0xa36b, 0x23febcb8},
-  {0xa36c, 0x23febcb9},
-  {0xa36d, 0x23ff80b0},
-  {0xa36e, 0x23ff80b1},
-  {0xa36f, 0x23ff80b2},
-  {0xa370, 0x23ff80b3},
-  {0xa371, 0x23ff80b4},
-  {0xa372, 0x23ff80b5},
-  {0xa373, 0x23ff80b6},
-  {0xa374, 0x23ff80b7},
-  {0xa375, 0x23ff80b8},
-  {0xa376, 0x23ff80b9},
-  {0xa377, 0x23ff84b0},
-  {0xa378, 0x23ff84b1},
-  {0xa379, 0x23ff84b2},
-  {0xa37a, 0x23ff84b3},
-  {0xa37b, 0x23ff84b4},
-  {0xa37c, 0x23ff84b5},
-  {0xa37d, 0x23ff84b6},
-  {0xa37e, 0x23ff84b7},
-  {0xa37f, 0x23ff84b8},
-  {0xa380, 0x23ff84b9},
-  {0xa381, 0x23ff88b0},
-  {0xa382, 0x23ff88b1},
-  {0xa383, 0x23ff88b2},
-  {0xa384, 0x23ff88b3},
-  {0xa385, 0x23ff88b4},
-  {0xa386, 0x23ff88b5},
-  {0xa387, 0x23ff88b6},
-  {0xa388, 0x23ff88b7},
-  {0xa389, 0x23ff88b8},
-  {0xa38a, 0x23ff88b9},
-  {0xa38b, 0x23ff8cb0},
-  {0xa38c, 0x23ff8cb1},
-  {0xa38d, 0x23ff8cb2},
-  {0xa38e, 0x23ff8cb3},
-  {0xa38f, 0x23ff8cb4},
-  {0xa390, 0x23ff8cb5},
-  {0xa391, 0x23ff8cb6},
-  {0xa392, 0x23ff8cb7},
-  {0xa393, 0x23ff8cb8},
-  {0xa394, 0x23ff8cb9},
-  {0xa395, 0x23ff90b0},
-  {0xa396, 0x23ff90b1},
-  {0xa397, 0x23ff90b2},
-  {0xa398, 0x23ff90b3},
-  {0xa399, 0x23ff90b4},
-  {0xa39a, 0x23ff90b5},
-  {0xa39b, 0x23ff90b6},
-  {0xa39c, 0x23ff90b7},
-  {0xa39d, 0x23ff90b8},
-  {0xa39e, 0x23ff90b9},
-  {0xa39f, 0x23ff94b0},
-  {0xa3a0, 0x23ff94b1},
-  {0xa3a1, 0x23ff94b2},
-  {0xa3a2, 0x23ff94b3},
-  {0xa3a3, 0x23ff94b4},
-  {0xa3a4, 0x23ff94b5},
-  {0xa3a5, 0x23ff94b6},
-  {0xa3a6, 0x23ff94b7},
-  {0xa3a7, 0x23ff94b8},
-  {0xa3a8, 0x23ff94b9},
-  {0xa3a9, 0x23ff98b0},
-  {0xa3aa, 0x23ff98b1},
-  {0xa3ab, 0x23ff98b2},
-  {0xa3ac, 0x23ff98b3},
-  {0xa3ad, 0x23ff98b4},
-  {0xa3ae, 0x23ff98b5},
-  {0xa3af, 0x23ff98b6},
-  {0xa3b0, 0x23ff98b7},
-  {0xa3b1, 0x23ff98b8},
-  {0xa3b2, 0x23ff98b9},
-  {0xa3b3, 0x23ff9cb0},
-  {0xa3b4, 0x23ff9cb1},
-  {0xa3b5, 0x23ff9cb2},
-  {0xa3b6, 0x23ff9cb3},
-  {0xa3b7, 0x23ff9cb4},
-  {0xa3b8, 0x23ff9cb5},
-  {0xa3b9, 0x23ff9cb6},
-  {0xa3ba, 0x23ff9cb7},
-  {0xa3bb, 0x23ff9cb8},
-  {0xa3bc, 0x23ff9cb9},
-  {0xa3bd, 0x23ffa0b0},
-  {0xa3be, 0x23ffa0b1},
-  {0xa3bf, 0x23ffa0b2},
-  {0xa3c0, 0x23ffa0b3},
-  {0xa3c1, 0x23ffa0b4},
-  {0xa3c2, 0x23ffa0b5},
-  {0xa3c3, 0x23ffa0b6},
-  {0xa3c4, 0x23ffa0b7},
-  {0xa3c5, 0x23ffa0b8},
-  {0xa3c6, 0x23ffa0b9},
-  {0xa3c7, 0x23ffa4b0},
-  {0xa3c8, 0x23ffa4b1},
-  {0xa3c9, 0x23ffa4b2},
-  {0xa3ca, 0x23ffa4b3},
-  {0xa3cb, 0x23ffa4b4},
-  {0xa3cc, 0x23ffa4b5},
-  {0xa3cd, 0x23ffa4b6},
-  {0xa3ce, 0x23ffa4b7},
-  {0xa3cf, 0x23ffa4b8},
-  {0xa3d0, 0x23ffa4b9},
-  {0xa3d1, 0x23ffa8b0},
-  {0xa3d2, 0x23ffa8b1},
-  {0xa3d3, 0x23ffa8b2},
-  {0xa3d4, 0x23ffa8b3},
-  {0xa3d5, 0x23ffa8b4},
-  {0xa3d6, 0x23ffa8b5},
-  {0xa3d7, 0x23ffa8b6},
-  {0xa3d8, 0x23ffa8b7},
-  {0xa3d9, 0x23ffa8b8},
-  {0xa3da, 0x23ffa8b9},
-  {0xa3db, 0x23ffacb0},
-  {0xa3dc, 0x23ffacb1},
-  {0xa3dd, 0x23ffacb2},
-  {0xa3de, 0x23ffacb3},
-  {0xa3df, 0x23ffacb4},
-  {0xa3e0, 0x23ffacb5},
-  {0xa3e1, 0x23ffacb6},
-  {0xa3e2, 0x23ffacb7},
-  {0xa3e3, 0x23ffacb8},
-  {0xa3e4, 0x23ffacb9},
-  {0xa3e5, 0x23ffb0b0},
-  {0xa3e6, 0x23ffb0b1},
-  {0xa3e7, 0x23ffb0b2},
-  {0xa3e8, 0x23ffb0b3},
-  {0xa3e9, 0x23ffb0b4},
-  {0xa3ea, 0x23ffb0b5},
-  {0xa3eb, 0x23ffb0b6},
-  {0xa3ec, 0x23ffb0b7},
-  {0xa3ed, 0x23ffb0b8},
-  {0xa3ee, 0x23ffb0b9},
-  {0xa3ef, 0x23ffb4b0},
-  {0xa3f0, 0x23ffb4b1},
-  {0xa3f1, 0x23ffb4b2},
-  {0xa3f2, 0x23ffb4b3},
-  {0xa3f3, 0x23ffb4b4},
-  {0xa3f4, 0x23ffb4b5},
-  {0xa3f5, 0x23ffb4b6},
-  {0xa3f6, 0x23ffb4b7},
-  {0xa3f7, 0x23ffb4b8},
-  {0xa3f8, 0x23ffb4b9},
-  {0xa3f9, 0x23ffb8b0},
-  {0xa3fa, 0x23ffb8b1},
-  {0xa3fb, 0x23ffb8b2},
-  {0xa3fc, 0x23ffb8b3},
-  {0xa3fd, 0x23ffb8b4},
-  {0xa3fe, 0x23ffb8b5},
-  {0xa3ff, 0x23ffb8b6},
-  {0xa400, 0x23ffb8b7},
-  {0xa401, 0x23ffb8b8},
-  {0xa402, 0x23ffb8b9},
-  {0xa403, 0x23e884b0},
-  {0xa404, 0x23e884b1},
-  {0xa405, 0x23e884b2},
-  {0xa406, 0x23e884b3},
-  {0xa407, 0x23e884b4},
-  {0xa408, 0x23e884b5},
-  {0xa409, 0x23e884b6},
-  {0xa40a, 0x23e884b7},
-  {0xa40b, 0x23e884b8},
-  {0xa40c, 0x23e884b9},
-  {0xa40d, 0x23e888b0},
-  {0xa40e, 0x23e888b1},
-  {0xa40f, 0x23e888b2},
-  {0xa410, 0x23e888b3},
-  {0xa411, 0x23e888b4},
-  {0xa412, 0x23e888b5},
-  {0xa413, 0x23e888b6},
-  {0xa414, 0x23e888b7},
-  {0xa415, 0x23e888b8},
-  {0xa416, 0x23e888b9},
-  {0xa417, 0x23e88cb0},
-  {0xa418, 0x23e88cb1},
-  {0xa419, 0x23e88cb2},
-  {0xa41a, 0x23e88cb3},
-  {0xa41b, 0x23e88cb4},
-  {0xa41c, 0x23e88cb5},
-  {0xa41d, 0x23e88cb6},
-  {0xa41e, 0x23e88cb7},
-  {0xa41f, 0x23e88cb8},
-  {0xa420, 0x23e88cb9},
-  {0xa421, 0x23e890b0},
-  {0xa422, 0x23e890b1},
-  {0xa423, 0x23e890b2},
-  {0xa424, 0x23e890b3},
-  {0xa425, 0x23e890b4},
-  {0xa426, 0x23e890b5},
-  {0xa427, 0x23e890b6},
-  {0xa428, 0x23e890b7},
-  {0xa429, 0x23e890b8},
-  {0xa42a, 0x23e890b9},
-  {0xa42b, 0x23e894b0},
-  {0xa42c, 0x23e894b1},
-  {0xa42d, 0x23e894b2},
-  {0xa42e, 0x23e894b3},
-  {0xa42f, 0x23e894b4},
-  {0xa430, 0x23e894b5},
-  {0xa431, 0x23e894b6},
-  {0xa432, 0x23e894b7},
-  {0xa433, 0x23e894b8},
-  {0xa434, 0x23e894b9},
-  {0xa435, 0x23e898b0},
-  {0xa436, 0x23e898b1},
-  {0xa437, 0x23e898b2},
-  {0xa438, 0x23e898b3},
-  {0xa439, 0x23e898b4},
-  {0xa43a, 0x23e898b5},
-  {0xa43b, 0x23e898b6},
-  {0xa43c, 0x23e898b7},
-  {0xa43d, 0x23e898b8},
-  {0xa43e, 0x23e898b9},
-  {0xa43f, 0x23e89cb0},
-  {0xa440, 0x23e89cb1},
-  {0xa441, 0x23e89cb2},
-  {0xa442, 0x23e89cb3},
-  {0xa443, 0x23e89cb4},
-  {0xa444, 0x23e89cb5},
-  {0xa445, 0x23e89cb6},
-  {0xa446, 0x23e89cb7},
-  {0xa447, 0x23e89cb8},
-  {0xa448, 0x23e89cb9},
-  {0xa449, 0x23e8a0b0},
-  {0xa44a, 0x23e8a0b1},
-  {0xa44b, 0x23e8a0b2},
-  {0xa44c, 0x23e8a0b3},
-  {0xa44d, 0x23e8a0b4},
-  {0xa44e, 0x23e8a0b5},
-  {0xa44f, 0x23e8a0b6},
-  {0xa450, 0x23e8a0b7},
-  {0xa451, 0x23e8a0b8},
-  {0xa452, 0x23e8a0b9},
-  {0xa453, 0x23e8a4b0},
-  {0xa454, 0x23e8a4b1},
-  {0xa455, 0x23e8a4b2},
-  {0xa456, 0x23e8a4b3},
-  {0xa457, 0x23e8a4b4},
-  {0xa458, 0x23e8a4b5},
-  {0xa459, 0x23e8a4b6},
-  {0xa45a, 0x23e8a4b7},
-  {0xa45b, 0x23e8a4b8},
-  {0xa45c, 0x23e8a4b9},
-  {0xa45d, 0x23e8a8b0},
-  {0xa45e, 0x23e8a8b1},
-  {0xa45f, 0x23e8a8b2},
-  {0xa460, 0x23e8a8b3},
-  {0xa461, 0x23e8a8b4},
-  {0xa462, 0x23e8a8b5},
-  {0xa463, 0x23e8a8b6},
-  {0xa464, 0x23e8a8b7},
-  {0xa465, 0x23e8a8b8},
-  {0xa466, 0x23e8a8b9},
-  {0xa467, 0x23e8acb0},
-  {0xa468, 0x23e8acb1},
-  {0xa469, 0x23e8acb2},
-  {0xa46a, 0x23e8acb3},
-  {0xa46b, 0x23e8acb4},
-  {0xa46c, 0x23e8acb5},
-  {0xa46d, 0x23e8acb6},
-  {0xa46e, 0x23e8acb7},
-  {0xa46f, 0x23e8acb8},
-  {0xa470, 0x23e8acb9},
-  {0xa471, 0x23e8b0b0},
-  {0xa472, 0x23e8b0b1},
-  {0xa473, 0x23e8b0b2},
-  {0xa474, 0x23e8b0b3},
-  {0xa475, 0x23e8b0b4},
-  {0xa476, 0x23e8b0b5},
-  {0xa477, 0x23e8b0b6},
-  {0xa478, 0x23e8b0b7},
-  {0xa479, 0x23e8b0b8},
-  {0xa47a, 0x23e8b0b9},
-  {0xa47b, 0x23e8b4b0},
-  {0xa47c, 0x23e8b4b1},
-  {0xa47d, 0x23e8b4b2},
-  {0xa47e, 0x23e8b4b3},
-  {0xa47f, 0x23e8b4b4},
-  {0xa480, 0x23e8b4b5},
-  {0xa481, 0x23e8b4b6},
-  {0xa482, 0x23e8b4b7},
-  {0xa483, 0x23e8b4b8},
-  {0xa484, 0x23e8b4b9},
-  {0xa485, 0x23e8b8b0},
-  {0xa486, 0x23e8b8b1},
-  {0xa487, 0x23e8b8b2},
-  {0xa488, 0x23e8b8b3},
-  {0xa489, 0x23e8b8b4},
-  {0xa48a, 0x23e8b8b5},
-  {0xa48b, 0x23e8b8b6},
-  {0xa48c, 0x23e8b8b7},
-  {0xa48d, 0x23e8b8b8},
-  {0xa48e, 0x23e8b8b9},
-  {0xa48f, 0x23e8bcb0},
-  {0xa490, 0x23e8bcb1},
-  {0xa491, 0x23e8bcb2},
-  {0xa492, 0x23e8bcb3},
-  {0xa493, 0x23e8bcb4},
-  {0xa494, 0x23e8bcb5},
-  {0xa495, 0x23e8bcb6},
-  {0xa496, 0x23e8bcb7},
-  {0xa497, 0x23e8bcb8},
-  {0xa498, 0x23e8bcb9},
-  {0xa499, 0x23e980b0},
-  {0xa49a, 0x23e980b1},
-  {0xa49b, 0x23e980b2},
-  {0xa49c, 0x23e980b3},
-  {0xa49d, 0x23e980b4},
-  {0xa49e, 0x23e980b5},
-  {0xa49f, 0x23e980b6},
-  {0xa4a0, 0x23e980b7},
-  {0xa4a1, 0x23e980b8},
-  {0xa4a2, 0x23e980b9},
-  {0xa4a3, 0x23e984b0},
-  {0xa4a4, 0x23e984b1},
-  {0xa4a5, 0x23e984b2},
-  {0xa4a6, 0x23e984b3},
-  {0xa4a7, 0x23e984b4},
-  {0xa4a8, 0x23e984b5},
-  {0xa4a9, 0x23e984b6},
-  {0xa4aa, 0x23e984b7},
-  {0xa4ab, 0x23e984b8},
-  {0xa4ac, 0x23e984b9},
-  {0xa4ad, 0x23e988b0},
-  {0xa4ae, 0x23e988b1},
-  {0xa4af, 0x23e988b2},
-  {0xa4b0, 0x23e988b3},
-  {0xa4b1, 0x23e988b4},
-  {0xa4b2, 0x23e988b5},
-  {0xa4b3, 0x23e988b6},
-  {0xa4b4, 0x23e988b7},
-  {0xa4b5, 0x23e988b8},
-  {0xa4b6, 0x23e988b9},
-  {0xa4b7, 0x23e98cb0},
-  {0xa4b8, 0x23e98cb1},
-  {0xa4b9, 0x23e98cb2},
-  {0xa4ba, 0x23e98cb3},
-  {0xa4bb, 0x23e98cb4},
-  {0xa4bc, 0x23e98cb5},
-  {0xa4bd, 0x23e98cb6},
-  {0xa4be, 0x23e98cb7},
-  {0xa4bf, 0x23e98cb8},
-  {0xa4c0, 0x23e98cb9},
-  {0xa4c1, 0x23e990b0},
-  {0xa4c2, 0x23e990b1},
-  {0xa4c3, 0x23e990b2},
-  {0xa4c4, 0x23e990b3},
-  {0xa4c5, 0x23e990b4},
-  {0xa4c6, 0x23e990b5},
-  {0xa4c7, 0x23e990b6},
-  {0xa4c8, 0x23e990b7},
-  {0xa4c9, 0x23e990b8},
-  {0xa4ca, 0x23e990b9},
-  {0xa4cb, 0x23e994b0},
-  {0xa4cc, 0x23e994b1},
-  {0xa4cd, 0x23e994b2},
-  {0xa4ce, 0x23e994b3},
-  {0xa4cf, 0x23e994b4},
-  {0xa4d0, 0x23e994b5},
-  {0xa4d1, 0x23e994b6},
-  {0xa4d2, 0x23e994b7},
-  {0xa4d3, 0x23e994b8},
-  {0xa4d4, 0x23e994b9},
-  {0xa4d5, 0x23e998b0},
-  {0xa4d6, 0x23e998b1},
-  {0xa4d7, 0x23e998b2},
-  {0xa4d8, 0x23e998b3},
-  {0xa4d9, 0x23e998b4},
-  {0xa4da, 0x23e998b5},
-  {0xa4db, 0x23e998b6},
-  {0xa4dc, 0x23e998b7},
-  {0xa4dd, 0x23e998b8},
-  {0xa4de, 0x23e998b9},
-  {0xa4df, 0x23e99cb0},
-  {0xa4e0, 0x23e99cb1},
-  {0xa4e1, 0x23e99cb2},
-  {0xa4e2, 0x23e99cb3},
-  {0xa4e3, 0x23e99cb4},
-  {0xa4e4, 0x23e99cb5},
-  {0xa4e5, 0x23e99cb6},
-  {0xa4e6, 0x23e99cb7},
-  {0xa4e7, 0x23e99cb8},
-  {0xa4e8, 0x23e99cb9},
-  {0xa4e9, 0x23e9a0b0},
-  {0xa4ea, 0x23e9a0b1},
-  {0xa4eb, 0x23e9a0b2},
-  {0xa4ec, 0x23e9a0b3},
-  {0xa4ed, 0x23e9a0b4},
-  {0xa4ee, 0x23e9a0b5},
-  {0xa4ef, 0x23e9a0b6},
-  {0xa4f0, 0x23e9a0b7},
-  {0xa4f1, 0x23e9a0b8},
-  {0xa4f2, 0x23e9a0b9},
-  {0xa4f3, 0x23e9a4b0},
-  {0xa4f4, 0x23e9a4b1},
-  {0xa4f5, 0x23e9a4b2},
-  {0xa4f6, 0x23e9a4b3},
-  {0xa4f7, 0x23e9a4b4},
-  {0xa4f8, 0x23e9a4b5},
-  {0xa4f9, 0x23e9a4b6},
-  {0xa4fa, 0x23e9a4b7},
-  {0xa4fb, 0x23e9a4b8},
-  {0xa4fc, 0x23e9a4b9},
-  {0xa4fd, 0x23e9a8b0},
-  {0xa4fe, 0x23e9a8b1},
-  {0xa4ff, 0x23e9a8b2},
-  {0xa500, 0x23e9a8b3},
-  {0xa501, 0x23e9a8b4},
-  {0xa502, 0x23e9a8b5},
-  {0xa503, 0x23e9a8b6},
-  {0xa504, 0x23e9a8b7},
-  {0xa505, 0x23e9a8b8},
-  {0xa506, 0x23e9a8b9},
-  {0xa507, 0x23e9acb0},
-  {0xa508, 0x23e9acb1},
-  {0xa509, 0x23e9acb2},
-  {0xa50a, 0x23e9acb3},
-  {0xa50b, 0x23e9acb4},
-  {0xa50c, 0x23e9acb5},
-  {0xa50d, 0x23e9acb6},
-  {0xa50e, 0x23e9acb7},
-  {0xa50f, 0x23e9acb8},
-  {0xa510, 0x23e9acb9},
-  {0xa511, 0x23e9b0b0},
-  {0xa512, 0x23e9b0b1},
-  {0xa513, 0x23e9b0b2},
-  {0xa514, 0x23e9b0b3},
-  {0xa515, 0x23e9b0b4},
-  {0xa516, 0x23e9b0b5},
-  {0xa517, 0x23e9b0b6},
-  {0xa518, 0x23e9b0b7},
-  {0xa519, 0x23e9b0b8},
-  {0xa51a, 0x23e9b0b9},
-  {0xa51b, 0x23e9b4b0},
-  {0xa51c, 0x23e9b4b1},
-  {0xa51d, 0x23e9b4b2},
-  {0xa51e, 0x23e9b4b3},
-  {0xa51f, 0x23e9b4b4},
-  {0xa520, 0x23e9b4b5},
-  {0xa521, 0x23e9b4b6},
-  {0xa522, 0x23e9b4b7},
-  {0xa523, 0x23e9b4b8},
-  {0xa524, 0x23e9b4b9},
-  {0xa525, 0x23e9b8b0},
-  {0xa526, 0x23e9b8b1},
-  {0xa527, 0x23e9b8b2},
-  {0xa528, 0x23e9b8b3},
-  {0xa529, 0x23e9b8b4},
-  {0xa52a, 0x23e9b8b5},
-  {0xa52b, 0x23e9b8b6},
-  {0xa52c, 0x23e9b8b7},
-  {0xa52d, 0x23e9b8b8},
-  {0xa52e, 0x23e9b8b9},
-  {0xa52f, 0x23e9bcb0},
-  {0xa530, 0x23e9bcb1},
-  {0xa531, 0x23e9bcb2},
-  {0xa532, 0x23e9bcb3},
-  {0xa533, 0x23e9bcb4},
-  {0xa534, 0x23e9bcb5},
-  {0xa535, 0x23e9bcb6},
-  {0xa536, 0x23e9bcb7},
-  {0xa537, 0x23e9bcb8},
-  {0xa538, 0x23e9bcb9},
-  {0xa539, 0x23ea80b0},
-  {0xa53a, 0x23ea80b1},
-  {0xa53b, 0x23ea80b2},
-  {0xa53c, 0x23ea80b3},
-  {0xa53d, 0x23ea80b4},
-  {0xa53e, 0x23ea80b5},
-  {0xa53f, 0x23ea80b6},
-  {0xa540, 0x23ea80b7},
-  {0xa541, 0x23ea80b8},
-  {0xa542, 0x23ea80b9},
-  {0xa543, 0x23ea84b0},
-  {0xa544, 0x23ea84b1},
-  {0xa545, 0x23ea84b2},
-  {0xa546, 0x23ea84b3},
-  {0xa547, 0x23ea84b4},
-  {0xa548, 0x23ea84b5},
-  {0xa549, 0x23ea84b6},
-  {0xa54a, 0x23ea84b7},
-  {0xa54b, 0x23ea84b8},
-  {0xa54c, 0x23ea84b9},
-  {0xa54d, 0x23ea88b0},
-  {0xa54e, 0x23ea88b1},
-  {0xa54f, 0x23ea88b2},
-  {0xa550, 0x23ea88b3},
-  {0xa551, 0x23ea88b4},
-  {0xa552, 0x23ea88b5},
-  {0xa553, 0x23ea88b6},
-  {0xa554, 0x23ea88b7},
-  {0xa555, 0x23ea88b8},
-  {0xa556, 0x23ea88b9},
-  {0xa557, 0x23ea8cb0},
-  {0xa558, 0x23ea8cb1},
-  {0xa559, 0x23ea8cb2},
-  {0xa55a, 0x23ea8cb3},
-  {0xa55b, 0x23ea8cb4},
-  {0xa55c, 0x23ea8cb5},
-  {0xa55d, 0x23ea8cb6},
-  {0xa55e, 0x23ea8cb7},
-  {0xa55f, 0x23ea8cb8},
-  {0xa560, 0x23ea8cb9},
-  {0xa561, 0x23ea90b0},
-  {0xa562, 0x23ea90b1},
-  {0xa563, 0x23ea90b2},
-  {0xa564, 0x23ea90b3},
-  {0xa565, 0x23ea90b4},
-  {0xa566, 0x23ea90b5},
-  {0xa567, 0x23ea90b6},
-  {0xa568, 0x23ea90b7},
-  {0xa569, 0x23ea90b8},
-  {0xa56a, 0x23ea90b9},
-  {0xa56b, 0x23ea94b0},
-  {0xa56c, 0x23ea94b1},
-  {0xa56d, 0x23ea94b2},
-  {0xa56e, 0x23ea94b3},
-  {0xa56f, 0x23ea94b4},
-  {0xa570, 0x23ea94b5},
-  {0xa571, 0x23ea94b6},
-  {0xa572, 0x23ea94b7},
-  {0xa573, 0x23ea94b8},
-  {0xa574, 0x23ea94b9},
-  {0xa575, 0x23ea98b0},
-  {0xa576, 0x23ea98b1},
-  {0xa577, 0x23ea98b2},
-  {0xa578, 0x23ea98b3},
-  {0xa579, 0x23ea98b4},
-  {0xa57a, 0x23ea98b5},
-  {0xa57b, 0x23ea98b6},
-  {0xa57c, 0x23ea98b7},
-  {0xa57d, 0x23ea98b8},
-  {0xa57e, 0x23ea98b9},
-  {0xa57f, 0x23ea9cb0},
-  {0xa580, 0x23ea9cb1},
-  {0xa581, 0x23ea9cb2},
-  {0xa582, 0x23ea9cb3},
-  {0xa583, 0x23ea9cb4},
-  {0xa584, 0x23ea9cb5},
-  {0xa585, 0x23ea9cb6},
-  {0xa586, 0x23ea9cb7},
-  {0xa587, 0x23ea9cb8},
-  {0xa588, 0x23ea9cb9},
-  {0xa589, 0x23eaa0b0},
-  {0xa58a, 0x23eaa0b1},
-  {0xa58b, 0x23eaa0b2},
-  {0xa58c, 0x23eaa0b3},
-  {0xa58d, 0x23eaa0b4},
-  {0xa58e, 0x23eaa0b5},
-  {0xa58f, 0x23eaa0b6},
-  {0xa590, 0x23eaa0b7},
-  {0xa591, 0x23eaa0b8},
-  {0xa592, 0x23eaa0b9},
-  {0xa593, 0x23eaa4b0},
-  {0xa594, 0x23eaa4b1},
-  {0xa595, 0x23eaa4b2},
-  {0xa596, 0x23eaa4b3},
-  {0xa597, 0x23eaa4b4},
-  {0xa598, 0x23eaa4b5},
-  {0xa599, 0x23eaa4b6},
-  {0xa59a, 0x23eaa4b7},
-  {0xa59b, 0x23eaa4b8},
-  {0xa59c, 0x23eaa4b9},
-  {0xa59d, 0x23eaa8b0},
-  {0xa59e, 0x23eaa8b1},
-  {0xa59f, 0x23eaa8b2},
-  {0xa5a0, 0x23eaa8b3},
-  {0xa5a1, 0x23eaa8b4},
-  {0xa5a2, 0x23eaa8b5},
-  {0xa5a3, 0x23eaa8b6},
-  {0xa5a4, 0x23eaa8b7},
-  {0xa5a5, 0x23eaa8b8},
-  {0xa5a6, 0x23eaa8b9},
-  {0xa5a7, 0x23eaacb0},
-  {0xa5a8, 0x23eaacb1},
-  {0xa5a9, 0x23eaacb2},
-  {0xa5aa, 0x23eaacb3},
-  {0xa5ab, 0x23eaacb4},
-  {0xa5ac, 0x23eaacb5},
-  {0xa5ad, 0x23eaacb6},
-  {0xa5ae, 0x23eaacb7},
-  {0xa5af, 0x23eaacb8},
-  {0xa5b0, 0x23eaacb9},
-  {0xa5b1, 0x23eab0b0},
-  {0xa5b2, 0x23eab0b1},
-  {0xa5b3, 0x23eab0b2},
-  {0xa5b4, 0x23eab0b3},
-  {0xa5b5, 0x23eab0b4},
-  {0xa5b6, 0x23eab0b5},
-  {0xa5b7, 0x23eab0b6},
-  {0xa5b8, 0x23eab0b7},
-  {0xa5b9, 0x23eab0b8},
-  {0xa5ba, 0x23eab0b9},
-  {0xa5bb, 0x23eab4b0},
-  {0xa5bc, 0x23eab4b1},
-  {0xa5bd, 0x23eab4b2},
-  {0xa5be, 0x23eab4b3},
-  {0xa5bf, 0x23eab4b4},
-  {0xa5c0, 0x23eab4b5},
-  {0xa5c1, 0x23eab4b6},
-  {0xa5c2, 0x23eab4b7},
-  {0xa5c3, 0x23eab4b8},
-  {0xa5c4, 0x23eab4b9},
-  {0xa5c5, 0x23eab8b0},
-  {0xa5c6, 0x23eab8b1},
-  {0xa5c7, 0x23eab8b2},
-  {0xa5c8, 0x23eab8b3},
-  {0xa5c9, 0x23eab8b4},
-  {0xa5ca, 0x23eab8b5},
-  {0xa5cb, 0x23eab8b6},
-  {0xa5cc, 0x23eab8b7},
-  {0xa5cd, 0x23eab8b8},
-  {0xa5ce, 0x23eab8b9},
-  {0xa5cf, 0x23eabcb0},
-  {0xa5d0, 0x23eabcb1},
-  {0xa5d1, 0x23eabcb2},
-  {0xa5d2, 0x23eabcb3},
-  {0xa5d3, 0x23eabcb4},
-  {0xa5d4, 0x23eabcb5},
-  {0xa5d5, 0x23eabcb6},
-  {0xa5d6, 0x23eabcb7},
-  {0xa5d7, 0x23eabcb8},
-  {0xa5d8, 0x23eabcb9},
-  {0xa5d9, 0x23eb80b0},
-  {0xa5da, 0x23eb80b1},
-  {0xa5db, 0x23eb80b2},
-  {0xa5dc, 0x23eb80b3},
-  {0xa5dd, 0x23eb80b4},
-  {0xa5de, 0x23eb80b5},
-  {0xa5df, 0x23eb80b6},
-  {0xa5e0, 0x23eb80b7},
-  {0xa5e1, 0x23eb80b8},
-  {0xa5e2, 0x23eb80b9},
-  {0xa5e3, 0x23eb84b0},
-  {0xa5e4, 0x23eb84b1},
-  {0xa5e5, 0x23eb84b2},
-  {0xa5e6, 0x23eb84b3},
-  {0xa5e7, 0x23eb84b4},
-  {0xa5e8, 0x23eb84b5},
-  {0xa5e9, 0x23eb84b6},
-  {0xa5ea, 0x23eb84b7},
-  {0xa5eb, 0x23eb84b8},
-  {0xa5ec, 0x23eb84b9},
-  {0xa5ed, 0x23eb88b0},
-  {0xa5ee, 0x23eb88b1},
-  {0xa5ef, 0x23eb88b2},
-  {0xa5f0, 0x23eb88b3},
-  {0xa5f1, 0x23eb88b4},
-  {0xa5f2, 0x23eb88b5},
-  {0xa5f3, 0x23eb88b6},
-  {0xa5f4, 0x23eb88b7},
-  {0xa5f5, 0x23eb88b8},
-  {0xa5f6, 0x23eb88b9},
-  {0xa5f7, 0x23eb8cb0},
-  {0xa5f8, 0x23eb8cb1},
-  {0xa5f9, 0x23eb8cb2},
-  {0xa5fa, 0x23eb8cb3},
-  {0xa5fb, 0x23eb8cb4},
-  {0xa5fc, 0x23eb8cb5},
-  {0xa5fd, 0x23eb8cb6},
-  {0xa5fe, 0x23eb8cb7},
-  {0xa5ff, 0x23eb8cb8},
-  {0xa600, 0x23eb8cb9},
-  {0xa601, 0x23eb90b0},
-  {0xa602, 0x23eb90b1},
-  {0xa603, 0x23eb90b2},
-  {0xa604, 0x23eb90b3},
-  {0xa605, 0x23eb90b4},
-  {0xa606, 0x23eb90b5},
-  {0xa607, 0x23eb90b6},
-  {0xa608, 0x23eb90b7},
-  {0xa609, 0x23eb90b8},
-  {0xa60a, 0x23eb90b9},
-  {0xa60b, 0x23eb94b0},
-  {0xa60c, 0x23eb94b1},
-  {0xa60d, 0x23eb94b2},
-  {0xa60e, 0x23eb94b3},
-  {0xa60f, 0x23eb94b4},
-  {0xa610, 0x23eb94b5},
-  {0xa611, 0x23eb94b6},
-  {0xa612, 0x23eb94b7},
-  {0xa613, 0x23eb94b8},
-  {0xa614, 0x23eb94b9},
-  {0xa615, 0x23eb98b0},
-  {0xa616, 0x23eb98b1},
-  {0xa617, 0x23eb98b2},
-  {0xa618, 0x23eb98b3},
-  {0xa619, 0x23eb98b4},
-  {0xa61a, 0x23eb98b5},
-  {0xa61b, 0x23eb98b6},
-  {0xa61c, 0x23eb98b7},
-  {0xa61d, 0x23eb98b8},
-  {0xa61e, 0x23eb98b9},
-  {0xa61f, 0x23eb9cb0},
-  {0xa620, 0x23eb9cb1},
-  {0xa621, 0x23eb9cb2},
-  {0xa622, 0x23eb9cb3},
-  {0xa623, 0x23eb9cb4},
-  {0xa624, 0x23eb9cb5},
-  {0xa625, 0x23eb9cb6},
-  {0xa626, 0x23eb9cb7},
-  {0xa627, 0x23eb9cb8},
-  {0xa628, 0x23eb9cb9},
-  {0xa629, 0x23eba0b0},
-  {0xa62a, 0x23eba0b1},
-  {0xa62b, 0x23eba0b2},
-  {0xa62c, 0x23eba0b3},
-  {0xa62d, 0x23eba0b4},
-  {0xa62e, 0x23eba0b5},
-  {0xa62f, 0x23eba0b6},
-  {0xa630, 0x23eba0b7},
-  {0xa631, 0x23eba0b8},
-  {0xa632, 0x23eba0b9},
-  {0xa633, 0x23eba4b0},
-  {0xa634, 0x23eba4b1},
-  {0xa635, 0x23eba4b2},
-  {0xa636, 0x23eba4b3},
-  {0xa637, 0x23eba4b4},
-  {0xa638, 0x23eba4b5},
-  {0xa639, 0x23eba4b6},
-  {0xa63a, 0x23eba4b7},
-  {0xa63b, 0x23eba4b8},
-  {0xa63c, 0x23eba4b9},
-  {0xa63d, 0x23eba8b0},
-  {0xa63e, 0x23eba8b1},
-  {0xa63f, 0x23eba8b2},
-  {0xa640, 0x23eba8b3},
-  {0xa641, 0x23eba8b4},
-  {0xa642, 0x23eba8b5},
-  {0xa643, 0x23eba8b6},
-  {0xa644, 0x23eba8b7},
-  {0xa645, 0x23eba8b8},
-  {0xa646, 0x23eba8b9},
-  {0xa647, 0x23ebacb0},
-  {0xa648, 0x23ebacb1},
-  {0xa649, 0x23ebacb2},
-  {0xa64a, 0x23ebacb3},
-  {0xa64b, 0x23ebacb4},
-  {0xa64c, 0x23ebacb5},
-  {0xa64d, 0x23ebacb6},
-  {0xa64e, 0x23ebacb7},
-  {0xa64f, 0x23ebacb8},
-  {0xa650, 0x23ebacb9},
-  {0xa651, 0x23ebb0b0},
-  {0xa652, 0x23ebb0b1},
-  {0xa653, 0x23ebb0b2},
-  {0xa654, 0x23ebb0b3},
-  {0xa655, 0x23ebb0b4},
-  {0xa656, 0x23ebb0b5},
-  {0xa657, 0x23ebb0b6},
-  {0xa658, 0x23ebb0b7},
-  {0xa659, 0x23ebb0b8},
-  {0xa65a, 0x23ebb0b9},
-  {0xa65b, 0x23ebb4b0},
-  {0xa65c, 0x23ebb4b1},
-  {0xa65d, 0x23ebb4b2},
-  {0xa65e, 0x23ebb4b3},
-  {0xa65f, 0x23ebb4b4},
-  {0xa660, 0x23ebb4b5},
-  {0xa661, 0x23ebb4b6},
-  {0xa662, 0x23ebb4b7},
-  {0xa663, 0x23ebb4b8},
-  {0xa664, 0x23ebb4b9},
-  {0xa665, 0x23ebb8b0},
-  {0xa666, 0x23ebb8b1},
-  {0xa667, 0x23ebb8b2},
-  {0xa668, 0x23ebb8b3},
-  {0xa669, 0x23ebb8b4},
-  {0xa66a, 0x23ebb8b5},
-  {0xa66b, 0x23ebb8b6},
-  {0xa66c, 0x23ebb8b7},
-  {0xa66d, 0x23ebb8b8},
-  {0xa66e, 0x23ebb8b9},
-  {0xa66f, 0x23ebbcb0},
-  {0xa670, 0x23ebbcb1},
-  {0xa671, 0x23ebbcb2},
-  {0xa672, 0x23ebbcb3},
-  {0xa673, 0x23ebbcb4},
-  {0xa674, 0x23ebbcb5},
-  {0xa675, 0x23ebbcb6},
-  {0xa676, 0x23ebbcb7},
-  {0xa677, 0x23ebbcb8},
-  {0xa678, 0x23ebbcb9},
-  {0xa679, 0x23ec80b0},
-  {0xa67a, 0x23ec80b1},
-  {0xa67b, 0x23ec80b2},
-  {0xa67c, 0x23ec80b3},
-  {0xa67d, 0x23ec80b4},
-  {0xa67e, 0x23ec80b5},
-  {0xa67f, 0x23ec80b6},
-  {0xa680, 0x23ec80b7},
-  {0xa681, 0x23ec80b8},
-  {0xa682, 0x23ec80b9},
-  {0xa683, 0x23ec84b0},
-  {0xa684, 0x23ec84b1},
-  {0xa685, 0x23ec84b2},
-  {0xa686, 0x23ec84b3},
-  {0xa687, 0x23ec84b4},
-  {0xa688, 0x23ec84b5},
-  {0xa689, 0x23ec84b6},
-  {0xa68a, 0x23ec84b7},
-  {0xa68b, 0x23ec84b8},
-  {0xa68c, 0x23ec84b9},
-  {0xa68d, 0x23ec88b0},
-  {0xa68e, 0x23ec88b1},
-  {0xa68f, 0x23ec88b2},
-  {0xa690, 0x23ec88b3},
-  {0xa691, 0x23ec88b4},
-  {0xa692, 0x23ec88b5},
-  {0xa693, 0x23ec88b6},
-  {0xa694, 0x23ec88b7},
-  {0xa695, 0x23ec88b8},
-  {0xa696, 0x23ec88b9},
-  {0xa697, 0x23ec8cb0},
-  {0xa698, 0x23ec8cb1},
-  {0xa699, 0x23ec8cb2},
-  {0xa69a, 0x23ec8cb3},
-  {0xa69b, 0x23ec8cb4},
-  {0xa69c, 0x23ec8cb5},
-  {0xa69d, 0x23ec8cb6},
-  {0xa69e, 0x23ec8cb7},
-  {0xa69f, 0x23ec8cb8},
-  {0xa6a0, 0x23ec8cb9},
-  {0xa6a1, 0x23ec90b0},
-  {0xa6a2, 0x23ec90b1},
-  {0xa6a3, 0x23ec90b2},
-  {0xa6a4, 0x23ec90b3},
-  {0xa6a5, 0x23ec90b4},
-  {0xa6a6, 0x23ec90b5},
-  {0xa6a7, 0x23ec90b6},
-  {0xa6a8, 0x23ec90b7},
-  {0xa6a9, 0x23ec90b8},
-  {0xa6aa, 0x23ec90b9},
-  {0xa6ab, 0x23ec94b0},
-  {0xa6ac, 0x23ec94b1},
-  {0xa6ad, 0x23ec94b2},
-  {0xa6ae, 0x23ec94b3},
-  {0xa6af, 0x23ec94b4},
-  {0xa6b0, 0x23ec94b5},
-  {0xa6b1, 0x23ec94b6},
-  {0xa6b2, 0x23ec94b7},
-  {0xa6b3, 0x23ec94b8},
-  {0xa6b4, 0x23ec94b9},
-  {0xa6b5, 0x23ec98b0},
-  {0xa6b6, 0x23ec98b1},
-  {0xa6b7, 0x23ec98b2},
-  {0xa6b8, 0x23ec98b3},
-  {0xa6b9, 0x23ec98b4},
-  {0xa6ba, 0x23ec98b5},
-  {0xa6bb, 0x23ec98b6},
-  {0xa6bc, 0x23ec98b7},
-  {0xa6bd, 0x23ec98b8},
-  {0xa6be, 0x23ec98b9},
-  {0xa6bf, 0x23ec9cb0},
-  {0xa6c0, 0x23ec9cb1},
-  {0xa6c1, 0x23ec9cb2},
-  {0xa6c2, 0x23ec9cb3},
-  {0xa6c3, 0x23ec9cb4},
-  {0xa6c4, 0x23ec9cb5},
-  {0xa6c5, 0x23ec9cb6},
-  {0xa6c6, 0x23ec9cb7},
-  {0xa6c7, 0x23ec9cb8},
-  {0xa6c8, 0x23ec9cb9},
-  {0xa6c9, 0x23eca0b0},
-  {0xa6ca, 0x23eca0b1},
-  {0xa6cb, 0x23eca0b2},
-  {0xa6cc, 0x23eca0b3},
-  {0xa6cd, 0x23eca0b4},
-  {0xa6ce, 0x23eca0b5},
-  {0xa6cf, 0x23eca0b6},
-  {0xa6d0, 0x23eca0b7},
-  {0xa6d1, 0x23eca0b8},
-  {0xa6d2, 0x23eca0b9},
-  {0xa6d3, 0x23eca4b0},
-  {0xa6d4, 0x23eca4b1},
-  {0xa6d5, 0x23eca4b2},
-  {0xa6d6, 0x23eca4b3},
-  {0xa6d7, 0x23eca4b4},
-  {0xa6d8, 0x23eca4b5},
-  {0xa6d9, 0x23eca4b6},
-  {0xa6da, 0x23eca4b7},
-  {0xa6db, 0x23eca4b8},
-  {0xa6dc, 0x23eca4b9},
-  {0xa6dd, 0x23eca8b0},
-  {0xa6de, 0x23eca8b1},
-  {0xa6df, 0x23eca8b2},
-  {0xa6e0, 0x23eca8b3},
-  {0xa6e1, 0x23eca8b4},
-  {0xa6e2, 0x23eca8b5},
-  {0xa6e3, 0x23eca8b6},
-  {0xa6e4, 0x23eca8b7},
-  {0xa6e5, 0x23eca8b8},
-  {0xa6e6, 0x23eca8b9},
-  {0xa6e7, 0x23ecacb0},
-  {0xa6e8, 0x23ecacb1},
-  {0xa6e9, 0x23ecacb2},
-  {0xa6ea, 0x23ecacb3},
-  {0xa6eb, 0x23ecacb4},
-  {0xa6ec, 0x23ecacb5},
-  {0xa6ed, 0x23ecacb6},
-  {0xa6ee, 0x23ecacb7},
-  {0xa6ef, 0x23ecacb8},
-  {0xa6f0, 0x23ecacb9},
-  {0xa6f1, 0x23ecb0b0},
-  {0xa6f2, 0x23ecb0b1},
-  {0xa6f3, 0x23ecb0b2},
-  {0xa6f4, 0x23ecb0b3},
-  {0xa6f5, 0x23ecb0b4},
-  {0xa6f6, 0x23ecb0b5},
-  {0xa6f7, 0x23ecb0b6},
-  {0xa6f8, 0x23ecb0b7},
-  {0xa6f9, 0x23ecb0b8},
-  {0xa6fa, 0x23ecb0b9},
-  {0xa6fb, 0x23ecb4b0},
-  {0xa6fc, 0x23ecb4b1},
-  {0xa6fd, 0x23ecb4b2},
-  {0xa6fe, 0x23ecb4b3},
-  {0xa6ff, 0x23ecb4b4},
-  {0xa700, 0x23ecb4b5},
-  {0xa701, 0x23ecb4b6},
-  {0xa702, 0x23ecb4b7},
-  {0xa703, 0x23ecb4b8},
-  {0xa704, 0x23ecb4b9},
-  {0xa705, 0x23ecb8b0},
-  {0xa706, 0x23ecb8b1},
-  {0xa707, 0x23ecb8b2},
-  {0xa708, 0x23ecb8b3},
-  {0xa709, 0x23ecb8b4},
-  {0xa70a, 0x23ecb8b5},
-  {0xa70b, 0x23ecb8b6},
-  {0xa70c, 0x23ecb8b7},
-  {0xa70d, 0x23ecb8b8},
-  {0xa70e, 0x23ecb8b9},
-  {0xa70f, 0x23ecbcb0},
-  {0xa710, 0x23ecbcb1},
-  {0xa711, 0x23ecbcb2},
-  {0xa712, 0x23ecbcb3},
-  {0xa713, 0x23ecbcb4},
-  {0xa714, 0x23ecbcb5},
-  {0xa715, 0x23ecbcb6},
-  {0xa716, 0x23ecbcb7},
-  {0xa717, 0x23ecbcb8},
-  {0xa718, 0x23ecbcb9},
-  {0xa719, 0x23ed80b0},
-  {0xa71a, 0x23ed80b1},
-  {0xa71b, 0x23ed80b2},
-  {0xa71c, 0x23ed80b3},
-  {0xa71d, 0x23ed80b4},
-  {0xa71e, 0x23ed80b5},
-  {0xa71f, 0x23ed80b6},
-  {0xa720, 0x23ed80b7},
-  {0xa721, 0x23ed80b8},
-  {0xa722, 0x23ed80b9},
-  {0xa723, 0x23ed84b0},
-  {0xa724, 0x23ed84b1},
-  {0xa725, 0x23ed84b2},
-  {0xa726, 0x23ed84b3},
-  {0xa727, 0x23ed84b4},
-  {0xa728, 0x23ed84b5},
-  {0xa729, 0x23ed84b6},
-  {0xa72a, 0x23ed84b7},
-  {0xa72b, 0x23ed84b8},
-  {0xa72c, 0x23ed84b9},
-  {0xa72d, 0x23ed88b0},
-  {0xa72e, 0x23ed88b1},
-  {0xa72f, 0x23ed88b2},
-  {0xa730, 0x23ed88b3},
-  {0xa731, 0x23ed88b4},
-  {0xa732, 0x23ed88b5},
-  {0xa733, 0x23ed88b6},
-  {0xa734, 0x23ed88b7},
-  {0xa735, 0x23ed88b8},
-  {0xa736, 0x23ed88b9},
-  {0xa737, 0x23ed8cb0},
-  {0xa738, 0x23ed8cb1},
-  {0xa739, 0x23ed8cb2},
-  {0xa73a, 0x23ed8cb3},
-  {0xa73b, 0x23ed8cb4},
-  {0xa73c, 0x23ed8cb5},
-  {0xa73d, 0x23ed8cb6},
-  {0xa73e, 0x23ed8cb7},
-  {0xa73f, 0x23ed8cb8},
-  {0xa740, 0x23ed8cb9},
-  {0xa741, 0x23ed90b0},
-  {0xa742, 0x23ed90b1},
-  {0xa743, 0x23ed90b2},
-  {0xa744, 0x23ed90b3},
-  {0xa745, 0x23ed90b4},
-  {0xa746, 0x23ed90b5},
-  {0xa747, 0x23ed90b6},
-  {0xa748, 0x23ed90b7},
-  {0xa749, 0x23ed90b8},
-  {0xa74a, 0x23ed90b9},
-  {0xa74b, 0x23ed94b0},
-  {0xa74c, 0x23ed94b1},
-  {0xa74d, 0x23ed94b2},
-  {0xa74e, 0x23ed94b3},
-  {0xa74f, 0x23ed94b4},
-  {0xa750, 0x23ed94b5},
-  {0xa751, 0x23ed94b6},
-  {0xa752, 0x23ed94b7},
-  {0xa753, 0x23ed94b8},
-  {0xa754, 0x23ed94b9},
-  {0xa755, 0x23ed98b0},
-  {0xa756, 0x23ed98b1},
-  {0xa757, 0x23ed98b2},
-  {0xa758, 0x23ed98b3},
-  {0xa759, 0x23ed98b4},
-  {0xa75a, 0x23ed98b5},
-  {0xa75b, 0x23ed98b6},
-  {0xa75c, 0x23ed98b7},
-  {0xa75d, 0x23ed98b8},
-  {0xa75e, 0x23ed98b9},
-  {0xa75f, 0x23ed9cb0},
-  {0xa760, 0x23ed9cb1},
-  {0xa761, 0x23ed9cb2},
-  {0xa762, 0x23ed9cb3},
-  {0xa763, 0x23ed9cb4},
-  {0xa764, 0x23ed9cb5},
-  {0xa765, 0x23ed9cb6},
-  {0xa766, 0x23ed9cb7},
-  {0xa767, 0x23ed9cb8},
-  {0xa768, 0x23ed9cb9},
-  {0xa769, 0x23eda0b0},
-  {0xa76a, 0x23eda0b1},
-  {0xa76b, 0x23eda0b2},
-  {0xa76c, 0x23eda0b3},
-  {0xa76d, 0x23eda0b4},
-  {0xa76e, 0x23eda0b5},
-  {0xa76f, 0x23eda0b6},
-  {0xa770, 0x23eda0b7},
-  {0xa771, 0x23eda0b8},
-  {0xa772, 0x23eda0b9},
-  {0xa773, 0x23eda4b0},
-  {0xa774, 0x23eda4b1},
-  {0xa775, 0x23eda4b2},
-  {0xa776, 0x23eda4b3},
-  {0xa777, 0x23eda4b4},
-  {0xa778, 0x23eda4b5},
-  {0xa779, 0x23eda4b6},
-  {0xa77a, 0x23eda4b7},
-  {0xa77b, 0x23eda4b8},
-  {0xa77c, 0x23eda4b9},
-  {0xa77d, 0x23eda8b0},
-  {0xa77e, 0x23eda8b1},
-  {0xa77f, 0x23eda8b2},
-  {0xa780, 0x23eda8b3},
-  {0xa781, 0x23eda8b4},
-  {0xa782, 0x23eda8b5},
-  {0xa783, 0x23eda8b6},
-  {0xa784, 0x23eda8b7},
-  {0xa785, 0x23eda8b8},
-  {0xa786, 0x23eda8b9},
-  {0xa787, 0x23edacb0},
-  {0xa788, 0x23edacb1},
-  {0xa789, 0x23edacb2},
-  {0xa78a, 0x23edacb3},
-  {0xa78b, 0x23edacb4},
-  {0xa78c, 0x23edacb5},
-  {0xa78d, 0x23edacb6},
-  {0xa78e, 0x23edacb7},
-  {0xa78f, 0x23edacb8},
-  {0xa790, 0x23edacb9},
-  {0xa791, 0x23edb0b0},
-  {0xa792, 0x23edb0b1},
-  {0xa793, 0x23edb0b2},
-  {0xa794, 0x23edb0b3},
-  {0xa795, 0x23edb0b4},
-  {0xa796, 0x23edb0b5},
-  {0xa797, 0x23edb0b6},
-  {0xa798, 0x23edb0b7},
-  {0xa799, 0x23edb0b8},
-  {0xa79a, 0x23edb0b9},
-  {0xa79b, 0x23edb4b0},
-  {0xa79c, 0x23edb4b1},
-  {0xa79d, 0x23edb4b2},
-  {0xa79e, 0x23edb4b3},
-  {0xa79f, 0x23edb4b4},
-  {0xa7a0, 0x23edb4b5},
-  {0xa7a1, 0x23edb4b6},
-  {0xa7a2, 0x23edb4b7},
-  {0xa7a3, 0x23edb4b8},
-  {0xa7a4, 0x23edb4b9},
-  {0xa7a5, 0x23edb8b0},
-  {0xa7a6, 0x23edb8b1},
-  {0xa7a7, 0x23edb8b2},
-  {0xa7a8, 0x23edb8b3},
-  {0xa7a9, 0x23edb8b4},
-  {0xa7aa, 0x23edb8b5},
-  {0xa7ab, 0x23edb8b6},
-  {0xa7ac, 0x23edb8b7},
-  {0xa7ad, 0x23edb8b8},
-  {0xa7ae, 0x23edb8b9},
-  {0xa7af, 0x23edbcb0},
-  {0xa7b0, 0x23edbcb1},
-  {0xa7b1, 0x23edbcb2},
-  {0xa7b2, 0x23edbcb3},
-  {0xa7b3, 0x23edbcb4},
-  {0xa7b4, 0x23edbcb5},
-  {0xa7b5, 0x23edbcb6},
-  {0xa7b6, 0x23edbcb7},
-  {0xa7b7, 0x23edbcb8},
-  {0xa7b8, 0x23edbcb9},
-  {0xa7b9, 0x23ee80b0},
-  {0xa7ba, 0x23ee80b1},
-  {0xa7bb, 0x23ee80b2},
-  {0xa7bc, 0x23ee80b3},
-  {0xa7bd, 0x23ee80b4},
-  {0xa7be, 0x23ee80b5},
-  {0xa7bf, 0x23ee80b6},
-  {0xa7c0, 0x23ee80b7},
-  {0xa7c1, 0x23ee80b8},
-  {0xa7c2, 0x23ee80b9},
-  {0xa7c3, 0x23ee84b0},
-  {0xa7c4, 0x23ee84b1},
-  {0xa7c5, 0x23ee84b2},
-  {0xa7c6, 0x23ee84b3},
-  {0xa7c7, 0x23ee84b4},
-  {0xa7c8, 0x23ee84b5},
-  {0xa7c9, 0x23ee84b6},
-  {0xa7ca, 0x23ee84b7},
-  {0xa7cb, 0x23ee84b8},
-  {0xa7cc, 0x23ee84b9},
-  {0xa7cd, 0x23ee88b0},
-  {0xa7ce, 0x23ee88b1},
-  {0xa7cf, 0x23ee88b2},
-  {0xa7d0, 0x23ee88b3},
-  {0xa7d1, 0x23ee88b4},
-  {0xa7d2, 0x23ee88b5},
-  {0xa7d3, 0x23ee88b6},
-  {0xa7d4, 0x23ee88b7},
-  {0xa7d5, 0x23ee88b8},
-  {0xa7d6, 0x23ee88b9},
-  {0xa7d7, 0x23ee8cb0},
-  {0xa7d8, 0x23ee8cb1},
-  {0xa7d9, 0x23ee8cb2},
-  {0xa7da, 0x23ee8cb3},
-  {0xa7db, 0x23ee8cb4},
-  {0xa7dc, 0x23ee8cb5},
-  {0xa7dd, 0x23ee8cb6},
-  {0xa7de, 0x23ee8cb7},
-  {0xa7df, 0x23ee8cb8},
-  {0xa7e0, 0x23ee8cb9},
-  {0xa7e1, 0x23ee90b0},
-  {0xa7e2, 0x23ee90b1},
-  {0xa7e3, 0x23ee90b2},
-  {0xa7e4, 0x23ee90b3},
-  {0xa7e5, 0x23ee90b4},
-  {0xa7e6, 0x23ee90b5},
-  {0xa7e7, 0x23ee90b6},
-  {0xa7e8, 0x23ee90b7},
-  {0xa7e9, 0x23ee90b8},
-  {0xa7ea, 0x23ee90b9},
-  {0xa7eb, 0x23ee94b0},
-  {0xa7ec, 0x23ee94b1},
-  {0xa7ed, 0x23ee94b2},
-  {0xa7ee, 0x23ee94b3},
-  {0xa7ef, 0x23ee94b4},
-  {0xa7f0, 0x23ee94b5},
-  {0xa7f1, 0x23ee94b6},
-  {0xa7f2, 0x23ee94b7},
-  {0xa7f3, 0x23ee94b8},
-  {0xa7f4, 0x23ee94b9},
-  {0xa7f5, 0x23ee98b0},
-  {0xa7f6, 0x23ee98b1},
-  {0xa7f7, 0x23ee98b2},
-  {0xa7f8, 0x23ee98b3},
-  {0xa7f9, 0x23ee98b4},
-  {0xa7fa, 0x23ee98b5},
-  {0xa7fb, 0x23ee98b6},
-  {0xa7fc, 0x23ee98b7},
-  {0xa7fd, 0x23ee98b8},
-  {0xa7fe, 0x23ee98b9},
-  {0xa7ff, 0x23ee9cb0},
-  {0xa800, 0x23ee9cb1},
-  {0xa801, 0x23ee9cb2},
-  {0xa802, 0x23ee9cb3},
-  {0xa803, 0x23ee9cb4},
-  {0xa804, 0x23ee9cb5},
-  {0xa805, 0x23ee9cb6},
-  {0xa806, 0x23ee9cb7},
-  {0xa807, 0x23ee9cb8},
-  {0xa808, 0x23ee9cb9},
-  {0xa809, 0x23eea0b0},
-  {0xa80a, 0x23eea0b1},
-  {0xa80b, 0x23eea0b2},
-  {0xa80c, 0x23eea0b3},
-  {0xa80d, 0x23eea0b4},
-  {0xa80e, 0x23eea0b5},
-  {0xa80f, 0x23eea0b6},
-  {0xa810, 0x23eea0b7},
-  {0xa811, 0x23eea0b8},
-  {0xa812, 0x23eea0b9},
-  {0xa813, 0x23eea4b0},
-  {0xa814, 0x23eea4b1},
-  {0xa815, 0x23eea4b2},
-  {0xa816, 0x23eea4b3},
-  {0xa817, 0x23eea4b4},
-  {0xa818, 0x23eea4b5},
-  {0xa819, 0x23eea4b6},
-  {0xa81a, 0x23eea4b7},
-  {0xa81b, 0x23eea4b8},
-  {0xa81c, 0x23eea4b9},
-  {0xa81d, 0x23eea8b0},
-  {0xa81e, 0x23eea8b1},
-  {0xa81f, 0x23eea8b2},
-  {0xa820, 0x23eea8b3},
-  {0xa821, 0x23eea8b4},
-  {0xa822, 0x23eea8b5},
-  {0xa823, 0x23eea8b6},
-  {0xa824, 0x23eea8b7},
-  {0xa825, 0x23eea8b8},
-  {0xa826, 0x23eea8b9},
-  {0xa827, 0x23eeacb0},
-  {0xa828, 0x23eeacb1},
-  {0xa829, 0x23eeacb2},
-  {0xa82a, 0x23eeacb3},
-  {0xa82b, 0x23eeacb4},
-  {0xa82c, 0x23eeacb5},
-  {0xa82d, 0x23eeacb6},
-  {0xa82e, 0x23eeacb7},
-  {0xa82f, 0x23eeacb8},
-  {0xa830, 0x23eeacb9},
-  {0xa831, 0x23eeb0b0},
-  {0xa832, 0x23eeb0b1},
-  {0xa833, 0x23eeb0b2},
-  {0xa834, 0x23eeb0b3},
-  {0xa835, 0x23eeb0b4},
-  {0xa836, 0x23eeb0b5},
-  {0xa837, 0x23eeb0b6},
-  {0xa838, 0x23eeb0b7},
-  {0xa839, 0x23eeb0b8},
-  {0xa83a, 0x23eeb0b9},
-  {0xa83b, 0x23eeb4b0},
-  {0xa83c, 0x23eeb4b1},
-  {0xa83d, 0x23eeb4b2},
-  {0xa83e, 0x23eeb4b3},
-  {0xa83f, 0x23eeb4b4},
-  {0xa840, 0x23eeb4b5},
-  {0xa841, 0x23eeb4b6},
-  {0xa842, 0x23eeb4b7},
-  {0xa843, 0x23eeb4b8},
-  {0xa844, 0x23eeb4b9},
-  {0xa845, 0x23eeb8b0},
-  {0xa846, 0x23eeb8b1},
-  {0xa847, 0x23eeb8b2},
-  {0xa848, 0x23eeb8b3},
-  {0xa849, 0x23eeb8b4},
-  {0xa84a, 0x23eeb8b5},
-  {0xa84b, 0x23eeb8b6},
-  {0xa84c, 0x23eeb8b7},
-  {0xa84d, 0x23eeb8b8},
-  {0xa84e, 0x23eeb8b9},
-  {0xa84f, 0x23eebcb0},
-  {0xa850, 0x23eebcb1},
-  {0xa851, 0x23eebcb2},
-  {0xa852, 0x23eebcb3},
-  {0xa853, 0x23eebcb4},
-  {0xa854, 0x23eebcb5},
-  {0xa855, 0x23eebcb6},
-  {0xa856, 0x23eebcb7},
-  {0xa857, 0x23eebcb8},
-  {0xa858, 0x23eebcb9},
-  {0xa859, 0x23ef80b0},
-  {0xa85a, 0x23ef80b1},
-  {0xa85b, 0x23ef80b2},
-  {0xa85c, 0x23ef80b3},
-  {0xa85d, 0x23ef80b4},
-  {0xa85e, 0x23ef80b5},
-  {0xa85f, 0x23ef80b6},
-  {0xa860, 0x23ef80b7},
-  {0xa861, 0x23ef80b8},
-  {0xa862, 0x23ef80b9},
-  {0xa863, 0x23ef84b0},
-  {0xa864, 0x23ef84b1},
-  {0xa865, 0x23ef84b2},
-  {0xa866, 0x23ef84b3},
-  {0xa867, 0x23ef84b4},
-  {0xa868, 0x23ef84b5},
-  {0xa869, 0x23ef84b6},
-  {0xa86a, 0x23ef84b7},
-  {0xa86b, 0x23ef84b8},
-  {0xa86c, 0x23ef84b9},
-  {0xa86d, 0x23ef88b0},
-  {0xa86e, 0x23ef88b1},
-  {0xa86f, 0x23ef88b2},
-  {0xa870, 0x23ef88b3},
-  {0xa871, 0x23ef88b4},
-  {0xa872, 0x23ef88b5},
-  {0xa873, 0x23ef88b6},
-  {0xa874, 0x23ef88b7},
-  {0xa875, 0x23ef88b8},
-  {0xa876, 0x23ef88b9},
-  {0xa877, 0x23ef8cb0},
-  {0xa878, 0x23ef8cb1},
-  {0xa879, 0x23ef8cb2},
-  {0xa87a, 0x23ef8cb3},
-  {0xa87b, 0x23ef8cb4},
-  {0xa87c, 0x23ef8cb5},
-  {0xa87d, 0x23ef8cb6},
-  {0xa87e, 0x23ef8cb7},
-  {0xa87f, 0x23ef8cb8},
-  {0xa880, 0x23ef8cb9},
-  {0xa881, 0x23ef90b0},
-  {0xa882, 0x23ef90b1},
-  {0xa883, 0x23ef90b2},
-  {0xa884, 0x23ef90b3},
-  {0xa885, 0x23ef90b4},
-  {0xa886, 0x23ef90b5},
-  {0xa887, 0x23ef90b6},
-  {0xa888, 0x23ef90b7},
-  {0xa889, 0x23ef90b8},
-  {0xa88a, 0x23ef90b9},
-  {0xa88b, 0x23ef94b0},
-  {0xa88c, 0x23ef94b1},
-  {0xa88d, 0x23ef94b2},
-  {0xa88e, 0x23ef94b3},
-  {0xa88f, 0x23ef94b4},
-  {0xa890, 0x23ef94b5},
-  {0xa891, 0x23ef94b6},
-  {0xa892, 0x23ef94b7},
-  {0xa893, 0x23ef94b8},
-  {0xa894, 0x23ef94b9},
-  {0xa895, 0x23ef98b0},
-  {0xa896, 0x23ef98b1},
-  {0xa897, 0x23ef98b2},
-  {0xa898, 0x23ef98b3},
-  {0xa899, 0x23ef98b4},
-  {0xa89a, 0x23ef98b5},
-  {0xa89b, 0x23ef98b6},
-  {0xa89c, 0x23ef98b7},
-  {0xa89d, 0x23ef98b8},
-  {0xa89e, 0x23ef98b9},
-  {0xa89f, 0x23ef9cb0},
-  {0xa8a0, 0x23ef9cb1},
-  {0xa8a1, 0x23ef9cb2},
-  {0xa8a2, 0x23ef9cb3},
-  {0xa8a3, 0x23ef9cb4},
-  {0xa8a4, 0x23ef9cb5},
-  {0xa8a5, 0x23ef9cb6},
-  {0xa8a6, 0x23ef9cb7},
-  {0xa8a7, 0x23ef9cb8},
-  {0xa8a8, 0x23ef9cb9},
-  {0xa8a9, 0x23efa0b0},
-  {0xa8aa, 0x23efa0b1},
-  {0xa8ab, 0x23efa0b2},
-  {0xa8ac, 0x23efa0b3},
-  {0xa8ad, 0x23efa0b4},
-  {0xa8ae, 0x23efa0b5},
-  {0xa8af, 0x23efa0b6},
-  {0xa8b0, 0x23efa0b7},
-  {0xa8b1, 0x23efa0b8},
-  {0xa8b2, 0x23efa0b9},
-  {0xa8b3, 0x23efa4b0},
-  {0xa8b4, 0x23efa4b1},
-  {0xa8b5, 0x23efa4b2},
-  {0xa8b6, 0x23efa4b3},
-  {0xa8b7, 0x23efa4b4},
-  {0xa8b8, 0x23efa4b5},
-  {0xa8b9, 0x23efa4b6},
-  {0xa8ba, 0x23efa4b7},
-  {0xa8bb, 0x23efa4b8},
-  {0xa8bc, 0x23efa4b9},
-  {0xa8bd, 0x23efa8b0},
-  {0xa8be, 0x23efa8b1},
-  {0xa8bf, 0x23efa8b2},
-  {0xa8c0, 0x23efa8b3},
-  {0xa8c1, 0x23efa8b4},
-  {0xa8c2, 0x23efa8b5},
-  {0xa8c3, 0x23efa8b6},
-  {0xa8c4, 0x23efa8b7},
-  {0xa8c5, 0x23efa8b8},
-  {0xa8c6, 0x23efa8b9},
-  {0xa8c7, 0x23efacb0},
-  {0xa8c8, 0x23efacb1},
-  {0xa8c9, 0x23efacb2},
-  {0xa8ca, 0x23efacb3},
-  {0xa8cb, 0x23efacb4},
-  {0xa8cc, 0x23efacb5},
-  {0xa8cd, 0x23efacb6},
-  {0xa8ce, 0x23efacb7},
-  {0xa8cf, 0x23efacb8},
-  {0xa8d0, 0x23efacb9},
-  {0xa8d1, 0x23efb0b0},
-  {0xa8d2, 0x23efb0b1},
-  {0xa8d3, 0x23efb0b2},
-  {0xa8d4, 0x23efb0b3},
-  {0xa8d5, 0x23efb0b4},
-  {0xa8d6, 0x23efb0b5},
-  {0xa8d7, 0x23efb0b6},
-  {0xa8d8, 0x23efb0b7},
-  {0xa8d9, 0x23efb0b8},
-  {0xa8da, 0x23efb0b9},
-  {0xa8db, 0x23efb4b0},
-  {0xa8dc, 0x23efb4b1},
-  {0xa8dd, 0x23efb4b2},
-  {0xa8de, 0x23efb4b3},
-  {0xa8df, 0x23efb4b4},
-  {0xa8e0, 0x23efb4b5},
-  {0xa8e1, 0x23efb4b6},
-  {0xa8e2, 0x23efb4b7},
-  {0xa8e3, 0x23efb4b8},
-  {0xa8e4, 0x23efb4b9},
-  {0xa8e5, 0x23efb8b0},
-  {0xa8e6, 0x23efb8b1},
-  {0xa8e7, 0x23efb8b2},
-  {0xa8e8, 0x23efb8b3},
-  {0xa8e9, 0x23efb8b4},
-  {0xa8ea, 0x23efb8b5},
-  {0xa8eb, 0x23efb8b6},
-  {0xa8ec, 0x23efb8b7},
-  {0xa8ed, 0x23efb8b8},
-  {0xa8ee, 0x23efb8b9},
-  {0xa8ef, 0x23f884b0},
-  {0xa8f0, 0x23f884b1},
-  {0xa8f1, 0x23f884b2},
-  {0xa8f2, 0x23f884b3},
-  {0xa8f3, 0x23f884b4},
-  {0xa8f4, 0x23f884b5},
-  {0xa8f5, 0x23f884b6},
-  {0xa8f6, 0x23f884b7},
-  {0xa8f7, 0x23f884b8},
-  {0xa8f8, 0x23f884b9},
-  {0xa8f9, 0x23f888b0},
-  {0xa8fa, 0x23f888b1},
-  {0xa8fb, 0x23f888b2},
-  {0xa8fc, 0x23f888b3},
-  {0xa8fd, 0x23f888b4},
-  {0xa8fe, 0x23f888b5},
-  {0xa8ff, 0x23f888b6},
-  {0xa900, 0x23f888b7},
-  {0xa901, 0x23f888b8},
-  {0xa902, 0x23f888b9},
-  {0xa903, 0x23f88cb0},
-  {0xa904, 0x23f88cb1},
-  {0xa905, 0x23f88cb2},
-  {0xa906, 0x23f88cb3},
-  {0xa907, 0x23f88cb4},
-  {0xa908, 0x23f88cb5},
-  {0xa909, 0x23f88cb6},
-  {0xa90a, 0x23f88cb7},
-  {0xa90b, 0x23f88cb8},
-  {0xa90c, 0x23f88cb9},
-  {0xa90d, 0x23f890b0},
-  {0xa90e, 0x23f890b1},
-  {0xa90f, 0x23f890b2},
-  {0xa910, 0x23f890b3},
-  {0xa911, 0x23f890b4},
-  {0xa912, 0x23f890b5},
-  {0xa913, 0x23f890b6},
-  {0xa914, 0x23f890b7},
-  {0xa915, 0x23f890b8},
-  {0xa916, 0x23f890b9},
-  {0xa917, 0x23f894b0},
-  {0xa918, 0x23f894b1},
-  {0xa919, 0x23f894b2},
-  {0xa91a, 0x23f894b3},
-  {0xa91b, 0x23f894b4},
-  {0xa91c, 0x23f894b5},
-  {0xa91d, 0x23f894b6},
-  {0xa91e, 0x23f894b7},
-  {0xa91f, 0x23f894b8},
-  {0xa920, 0x23f894b9},
-  {0xa921, 0x23f898b0},
-  {0xa922, 0x23f898b1},
-  {0xa923, 0x23f898b2},
-  {0xa924, 0x23f898b3},
-  {0xa925, 0x23f898b4},
-  {0xa926, 0x23f898b5},
-  {0xa927, 0x23f898b6},
-  {0xa928, 0x23f898b7},
-  {0xa929, 0x23f898b8},
-  {0xa92a, 0x23f898b9},
-  {0xa92b, 0x23f89cb0},
-  {0xa92c, 0x23f89cb1},
-  {0xa92d, 0x23f89cb2},
-  {0xa92e, 0x23f89cb3},
-  {0xa92f, 0x23f89cb4},
-  {0xa930, 0x23f89cb5},
-  {0xa931, 0x23f89cb6},
-  {0xa932, 0x23f89cb7},
-  {0xa933, 0x23f89cb8},
-  {0xa934, 0x23f89cb9},
-  {0xa935, 0x23f8a0b0},
-  {0xa936, 0x23f8a0b1},
-  {0xa937, 0x23f8a0b2},
-  {0xa938, 0x23f8a0b3},
-  {0xa939, 0x23f8a0b4},
-  {0xa93a, 0x23f8a0b5},
-  {0xa93b, 0x23f8a0b6},
-  {0xa93c, 0x23f8a0b7},
-  {0xa93d, 0x23f8a0b8},
-  {0xa93e, 0x23f8a0b9},
-  {0xa93f, 0x23f8a4b0},
-  {0xa940, 0x23f8a4b1},
-  {0xa941, 0x23f8a4b2},
-  {0xa942, 0x23f8a4b3},
-  {0xa943, 0x23f8a4b4},
-  {0xa944, 0x23f8a4b5},
-  {0xa945, 0x23f8a4b6},
-  {0xa946, 0x23f8a4b7},
-  {0xa947, 0x23f8a4b8},
-  {0xa948, 0x23f8a4b9},
-  {0xa949, 0x23f8a8b0},
-  {0xa94a, 0x23f8a8b1},
-  {0xa94b, 0x23f8a8b2},
-  {0xa94c, 0x23f8a8b3},
-  {0xa94d, 0x23f8a8b4},
-  {0xa94e, 0x23f8a8b5},
-  {0xa94f, 0x23f8a8b6},
-  {0xa950, 0x23f8a8b7},
-  {0xa951, 0x23f8a8b8},
-  {0xa952, 0x23f8a8b9},
-  {0xa953, 0x23f8acb0},
-  {0xa954, 0x23f8acb1},
-  {0xa955, 0x23f8acb2},
-  {0xa956, 0x23f8acb3},
-  {0xa957, 0x23f8acb4},
-  {0xa958, 0x23f8acb5},
-  {0xa959, 0x23f8acb6},
-  {0xa95a, 0x23f8acb7},
-  {0xa95b, 0x23f8acb8},
-  {0xa95c, 0x23f8acb9},
-  {0xa95d, 0x23f8b0b0},
-  {0xa95e, 0x23f8b0b1},
-  {0xa95f, 0x23f8b0b2},
-  {0xa960, 0x23f8b0b3},
-  {0xa961, 0x23f8b0b4},
-  {0xa962, 0x23f8b0b5},
-  {0xa963, 0x23f8b0b6},
-  {0xa964, 0x23f8b0b7},
-  {0xa965, 0x23f8b0b8},
-  {0xa966, 0x23f8b0b9},
-  {0xa967, 0x23f8b4b0},
-  {0xa968, 0x23f8b4b1},
-  {0xa969, 0x23f8b4b2},
-  {0xa96a, 0x23f8b4b3},
-  {0xa96b, 0x23f8b4b4},
-  {0xa96c, 0x23f8b4b5},
-  {0xa96d, 0x23f8b4b6},
-  {0xa96e, 0x23f8b4b7},
-  {0xa96f, 0x23f8b4b8},
-  {0xa970, 0x23f8b4b9},
-  {0xa971, 0x23f8b8b0},
-  {0xa972, 0x23f8b8b1},
-  {0xa973, 0x23f8b8b2},
-  {0xa974, 0x23f8b8b3},
-  {0xa975, 0x23f8b8b4},
-  {0xa976, 0x23f8b8b5},
-  {0xa977, 0x23f8b8b6},
-  {0xa978, 0x23f8b8b7},
-  {0xa979, 0x23f8b8b8},
-  {0xa97a, 0x23f8b8b9},
-  {0xa97b, 0x23f8bcb0},
-  {0xa97c, 0x23f8bcb1},
-  {0xa97d, 0x23f8bcb2},
-  {0xa97e, 0x23f8bcb3},
-  {0xa97f, 0x23f8bcb4},
-  {0xa980, 0x23f8bcb5},
-  {0xa981, 0x23f8bcb6},
-  {0xa982, 0x23f8bcb7},
-  {0xa983, 0x23f8bcb8},
-  {0xa984, 0x23f8bcb9},
-  {0xa985, 0x23f980b0},
-  {0xa986, 0x23f980b1},
-  {0xa987, 0x23f980b2},
-  {0xa988, 0x23f980b3},
-  {0xa989, 0x23f980b4},
-  {0xa98a, 0x23f980b5},
-  {0xa98b, 0x23f980b6},
-  {0xa98c, 0x23f980b7},
-  {0xa98d, 0x23f980b8},
-  {0xa98e, 0x23f980b9},
-  {0xa98f, 0x23f984b0},
-  {0xa990, 0x23f984b1},
-  {0xa991, 0x23f984b2},
-  {0xa992, 0x23f984b3},
-  {0xa993, 0x23f984b4},
-  {0xa994, 0x23f984b5},
-  {0xa995, 0x23f984b6},
-  {0xa996, 0x23f984b7},
-  {0xa997, 0x23f984b8},
-  {0xa998, 0x23f984b9},
-  {0xa999, 0x23f988b0},
-  {0xa99a, 0x23f988b1},
-  {0xa99b, 0x23f988b2},
-  {0xa99c, 0x23f988b3},
-  {0xa99d, 0x23f988b4},
-  {0xa99e, 0x23f988b5},
-  {0xa99f, 0x23f988b6},
-  {0xa9a0, 0x23f988b7},
-  {0xa9a1, 0x23f988b8},
-  {0xa9a2, 0x23f988b9},
-  {0xa9a3, 0x23f98cb0},
-  {0xa9a4, 0x23f98cb1},
-  {0xa9a5, 0x23f98cb2},
-  {0xa9a6, 0x23f98cb3},
-  {0xa9a7, 0x23f98cb4},
-  {0xa9a8, 0x23f98cb5},
-  {0xa9a9, 0x23f98cb6},
-  {0xa9aa, 0x23f98cb7},
-  {0xa9ab, 0x23f98cb8},
-  {0xa9ac, 0x23f98cb9},
-  {0xa9ad, 0x23f990b0},
-  {0xa9ae, 0x23f990b1},
-  {0xa9af, 0x23f990b2},
-  {0xa9b0, 0x23f990b3},
-  {0xa9b1, 0x23f990b4},
-  {0xa9b2, 0x23f990b5},
-  {0xa9b3, 0x23f990b6},
-  {0xa9b4, 0x23f990b7},
-  {0xa9b5, 0x23f990b8},
-  {0xa9b6, 0x23f990b9},
-  {0xa9b7, 0x23f994b0},
-  {0xa9b8, 0x23f994b1},
-  {0xa9b9, 0x23f994b2},
-  {0xa9ba, 0x23f994b3},
-  {0xa9bb, 0x23f994b4},
-  {0xa9bc, 0x23f994b5},
-  {0xa9bd, 0x23f994b6},
-  {0xa9be, 0x23f994b7},
-  {0xa9bf, 0x23f994b8},
-  {0xa9c0, 0x23f994b9},
-  {0xa9c1, 0x23f998b0},
-  {0xa9c2, 0x23f998b1},
-  {0xa9c3, 0x23f998b2},
-  {0xa9c4, 0x23f998b3},
-  {0xa9c5, 0x23f998b4},
-  {0xa9c6, 0x23f998b5},
-  {0xa9c7, 0x23f998b6},
-  {0xa9c8, 0x23f998b7},
-  {0xa9c9, 0x23f998b8},
-  {0xa9ca, 0x23f998b9},
-  {0xa9cb, 0x23f99cb0},
-  {0xa9cc, 0x23f99cb1},
-  {0xa9cd, 0x23f99cb2},
-  {0xa9ce, 0x23f99cb3},
-  {0xa9cf, 0x23f99cb4},
-  {0xa9d0, 0x23f99cb5},
-  {0xa9d1, 0x23f99cb6},
-  {0xa9d2, 0x23f99cb7},
-  {0xa9d3, 0x23f99cb8},
-  {0xa9d4, 0x23f99cb9},
-  {0xa9d5, 0x23f9a0b0},
-  {0xa9d6, 0x23f9a0b1},
-  {0xa9d7, 0x23f9a0b2},
-  {0xa9d8, 0x23f9a0b3},
-  {0xa9d9, 0x23f9a0b4},
-  {0xa9da, 0x23f9a0b5},
-  {0xa9db, 0x23f9a0b6},
-  {0xa9dc, 0x23f9a0b7},
-  {0xa9dd, 0x23f9a0b8},
-  {0xa9de, 0x23f9a0b9},
-  {0xa9df, 0x23f9a4b0},
-  {0xa9e0, 0x23f9a4b1},
-  {0xa9e1, 0x23f9a4b2},
-  {0xa9e2, 0x23f9a4b3},
-  {0xa9e3, 0x23f9a4b4},
-  {0xa9e4, 0x23f9a4b5},
-  {0xa9e5, 0x23f9a4b6},
-  {0xa9e6, 0x23f9a4b7},
-  {0xa9e7, 0x23f9a4b8},
-  {0xa9e8, 0x23f9a4b9},
-  {0xa9e9, 0x23f9a8b0},
-  {0xa9ea, 0x23f9a8b1},
-  {0xa9eb, 0x23f9a8b2},
-  {0xa9ec, 0x23f9a8b3},
-  {0xa9ed, 0x23f9a8b4},
-  {0xa9ee, 0x23f9a8b5},
-  {0xa9ef, 0x23f9a8b6},
-  {0xa9f0, 0x23f9a8b7},
-  {0xa9f1, 0x23f9a8b8},
-  {0xa9f2, 0x23f9a8b9},
-  {0xa9f3, 0x23f9acb0},
-  {0xa9f4, 0x23f9acb1},
-  {0xa9f5, 0x23f9acb2},
-  {0xa9f6, 0x23f9acb3},
-  {0xa9f7, 0x23f9acb4},
-  {0xa9f8, 0x23f9acb5},
-  {0xa9f9, 0x23f9acb6},
-  {0xa9fa, 0x23f9acb7},
-  {0xa9fb, 0x23f9acb8},
-  {0xa9fc, 0x23f9acb9},
-  {0xa9fd, 0x23f9b0b0},
-  {0xa9fe, 0x23f9b0b1},
-  {0xa9ff, 0x23f9b0b2},
-  {0xaa00, 0x23f9b0b3},
-  {0xaa01, 0x23f9b0b4},
-  {0xaa02, 0x23f9b0b5},
-  {0xaa03, 0x23f9b0b6},
-  {0xaa04, 0x23f9b0b7},
-  {0xaa05, 0x23f9b0b8},
-  {0xaa06, 0x23f9b0b9},
-  {0xaa07, 0x23f9b4b0},
-  {0xaa08, 0x23f9b4b1},
-  {0xaa09, 0x23f9b4b2},
-  {0xaa0a, 0x23f9b4b3},
-  {0xaa0b, 0x23f9b4b4},
-  {0xaa0c, 0x23f9b4b5},
-  {0xaa0d, 0x23f9b4b6},
-  {0xaa0e, 0x23f9b4b7},
-  {0xaa0f, 0x23f9b4b8},
-  {0xaa10, 0x23f9b4b9},
-  {0xaa11, 0x23f9b8b0},
-  {0xaa12, 0x23f9b8b1},
-  {0xaa13, 0x23f9b8b2},
-  {0xaa14, 0x23f9b8b3},
-  {0xaa15, 0x23f9b8b4},
-  {0xaa16, 0x23f9b8b5},
-  {0xaa17, 0x23f9b8b6},
-  {0xaa18, 0x23f9b8b7},
-  {0xaa19, 0x23f9b8b8},
-  {0xaa1a, 0x23f9b8b9},
-  {0xaa1b, 0x23f9bcb0},
-  {0xaa1c, 0x23f9bcb1},
-  {0xaa1d, 0x23f9bcb2},
-  {0xaa1e, 0x23f9bcb3},
-  {0xaa1f, 0x23f9bcb4},
-  {0xaa20, 0x23f9bcb5},
-  {0xaa21, 0x23f9bcb6},
-  {0xaa22, 0x23f9bcb7},
-  {0xaa23, 0x23f9bcb8},
-  {0xaa24, 0x23f9bcb9},
-  {0xaa25, 0x23fa80b0},
-  {0xaa26, 0x23fa80b1},
-  {0xaa27, 0x23fa80b2},
-  {0xaa28, 0x23fa80b3},
-  {0xaa29, 0x23fa80b4},
-  {0xaa2a, 0x23fa80b5},
-  {0xaa2b, 0x23fa80b6},
-  {0xaa2c, 0x23fa80b7},
-  {0xaa2d, 0x23fa80b8},
-  {0xaa2e, 0x23fa80b9},
-  {0xaa2f, 0x23fa84b0},
-  {0xaa30, 0x23fa84b1},
-  {0xaa31, 0x23fa84b2},
-  {0xaa32, 0x23fa84b3},
-  {0xaa33, 0x23fa84b4},
-  {0xaa34, 0x23fa84b5},
-  {0xaa35, 0x23fa84b6},
-  {0xaa36, 0x23fa84b7},
-  {0xaa37, 0x23fa84b8},
-  {0xaa38, 0x23fa84b9},
-  {0xaa39, 0x23fa88b0},
-  {0xaa3a, 0x23fa88b1},
-  {0xaa3b, 0x23fa88b2},
-  {0xaa3c, 0x23fa88b3},
-  {0xaa3d, 0x23fa88b4},
-  {0xaa3e, 0x23fa88b5},
-  {0xaa3f, 0x23fa88b6},
-  {0xaa40, 0x23fa88b7},
-  {0xaa41, 0x23fa88b8},
-  {0xaa42, 0x23fa88b9},
-  {0xaa43, 0x23fa8cb0},
-  {0xaa44, 0x23fa8cb1},
-  {0xaa45, 0x23fa8cb2},
-  {0xaa46, 0x23fa8cb3},
-  {0xaa47, 0x23fa8cb4},
-  {0xaa48, 0x23fa8cb5},
-  {0xaa49, 0x23fa8cb6},
-  {0xaa4a, 0x23fa8cb7},
-  {0xaa4b, 0x23fa8cb8},
-  {0xaa4c, 0x23fa8cb9},
-  {0xaa4d, 0x23fa90b0},
-  {0xaa4e, 0x23fa90b1},
-  {0xaa4f, 0x23fa90b2},
-  {0xaa50, 0x23fa90b3},
-  {0xaa51, 0x23fa90b4},
-  {0xaa52, 0x23fa90b5},
-  {0xaa53, 0x23fa90b6},
-  {0xaa54, 0x23fa90b7},
-  {0xaa55, 0x23fa90b8},
-  {0xaa56, 0x23fa90b9},
-  {0xaa57, 0x23fa94b0},
-  {0xaa58, 0x23fa94b1},
-  {0xaa59, 0x23fa94b2},
-  {0xaa5a, 0x23fa94b3},
-  {0xaa5b, 0x23fa94b4},
-  {0xaa5c, 0x23fa94b5},
-  {0xaa5d, 0x23fa94b6},
-  {0xaa5e, 0x23fa94b7},
-  {0xaa5f, 0x23fa94b8},
-  {0xaa60, 0x23fa94b9},
-  {0xaa61, 0x23fa98b0},
-  {0xaa62, 0x23fa98b1},
-  {0xaa63, 0x23fa98b2},
-  {0xaa64, 0x23fa98b3},
-  {0xaa65, 0x23fa98b4},
-  {0xaa66, 0x23fa98b5},
-  {0xaa67, 0x23fa98b6},
-  {0xaa68, 0x23fa98b7},
-  {0xaa69, 0x23fa98b8},
-  {0xaa6a, 0x23fa98b9},
-  {0xaa6b, 0x23fa9cb0},
-  {0xaa6c, 0x23fa9cb1},
-  {0xaa6d, 0x23fa9cb2},
-  {0xaa6e, 0x23fa9cb3},
-  {0xaa6f, 0x23fa9cb4},
-  {0xaa70, 0x23fa9cb5},
-  {0xaa71, 0x23fa9cb6},
-  {0xaa72, 0x23fa9cb7},
-  {0xaa73, 0x23fa9cb8},
-  {0xaa74, 0x23fa9cb9},
-  {0xaa75, 0x23faa0b0},
-  {0xaa76, 0x23faa0b1},
-  {0xaa77, 0x23faa0b2},
-  {0xaa78, 0x23faa0b3},
-  {0xaa79, 0x23faa0b4},
-  {0xaa7a, 0x23faa0b5},
-  {0xaa7b, 0x23faa0b6},
-  {0xaa7c, 0x23faa0b7},
-  {0xaa7d, 0x23faa0b8},
-  {0xaa7e, 0x23faa0b9},
-  {0xaa7f, 0x23faa4b0},
-  {0xaa80, 0x23faa4b1},
-  {0xaa81, 0x23faa4b2},
-  {0xaa82, 0x23faa4b3},
-  {0xaa83, 0x23faa4b4},
-  {0xaa84, 0x23faa4b5},
-  {0xaa85, 0x23faa4b6},
-  {0xaa86, 0x23faa4b7},
-  {0xaa87, 0x23faa4b8},
-  {0xaa88, 0x23faa4b9},
-  {0xaa89, 0x23faa8b0},
-  {0xaa8a, 0x23faa8b1},
-  {0xaa8b, 0x23faa8b2},
-  {0xaa8c, 0x23faa8b3},
-  {0xaa8d, 0x23faa8b4},
-  {0xaa8e, 0x23faa8b5},
-  {0xaa8f, 0x23faa8b6},
-  {0xaa90, 0x23faa8b7},
-  {0xaa91, 0x23faa8b8},
-  {0xaa92, 0x23faa8b9},
-  {0xaa93, 0x23faacb0},
-  {0xaa94, 0x23faacb1},
-  {0xaa95, 0x23faacb2},
-  {0xaa96, 0x23faacb3},
-  {0xaa97, 0x23faacb4},
-  {0xaa98, 0x23faacb5},
-  {0xaa99, 0x23faacb6},
-  {0xaa9a, 0x23faacb7},
-  {0xaa9b, 0x23faacb8},
-  {0xaa9c, 0x23faacb9},
-  {0xaa9d, 0x23fab0b0},
-  {0xaa9e, 0x23fab0b1},
-  {0xaa9f, 0x23fab0b2},
-  {0xaaa0, 0x23fab0b3},
-  {0xaaa1, 0x23fab0b4},
-  {0xaaa2, 0x23fab0b5},
-  {0xaaa3, 0x23fab0b6},
-  {0xaaa4, 0x23fab0b7},
-  {0xaaa5, 0x23fab0b8},
-  {0xaaa6, 0x23fab0b9},
-  {0xaaa7, 0x23fab4b0},
-  {0xaaa8, 0x23fab4b1},
-  {0xaaa9, 0x23fab4b2},
-  {0xaaaa, 0x23fab4b3},
-  {0xaaab, 0x23fab4b4},
-  {0xaaac, 0x23fab4b5},
-  {0xaaad, 0x23fab4b6},
-  {0xaaae, 0x23fab4b7},
-  {0xaaaf, 0x23fab4b8},
-  {0xaab0, 0x23fab4b9},
-  {0xaab1, 0x23fab8b0},
-  {0xaab2, 0x23fab8b1},
-  {0xaab3, 0x23fab8b2},
-  {0xaab4, 0x23fab8b3},
-  {0xaab5, 0x23fab8b4},
-  {0xaab6, 0x23fab8b5},
-  {0xaab7, 0x23fab8b6},
-  {0xaab8, 0x23fab8b7},
-  {0xaab9, 0x23fab8b8},
-  {0xaaba, 0x23fab8b9},
-  {0xaabb, 0x23fabcb0},
-  {0xaabc, 0x23fabcb1},
-  {0xaabd, 0x23fabcb2},
-  {0xaabe, 0x23fabcb3},
-  {0xaabf, 0x23fabcb4},
-  {0xaac0, 0x23fabcb5},
-  {0xaac1, 0x23fabcb6},
-  {0xaac2, 0x23fabcb7},
-  {0xaac3, 0x23fabcb8},
-  {0xaac4, 0x23fabcb9},
-  {0xaac5, 0x23fb80b0},
-  {0xaac6, 0x23fb80b1},
-  {0xaac7, 0x23fb80b2},
-  {0xaac8, 0x23fb80b3},
-  {0xaac9, 0x23fb80b4},
-  {0xaaca, 0x23fb80b5},
-  {0xaacb, 0x23fb80b6},
-  {0xaacc, 0x23fb80b7},
-  {0xaacd, 0x23fb80b8},
-  {0xaace, 0x23fb80b9},
-  {0xaacf, 0x23fb84b0},
-  {0xaad0, 0x23fb84b1},
-  {0xaad1, 0x23fb84b2},
-  {0xaad2, 0x23fb84b3},
-  {0xaad3, 0x23fb84b4},
-  {0xaad4, 0x23fb84b5},
-  {0xaad5, 0x23fb84b6},
-  {0xaad6, 0x23fb84b7},
-  {0xaad7, 0x23fb84b8},
-  {0xaad8, 0x23fb84b9},
-  {0xaad9, 0x23fb88b0},
-  {0xaada, 0x23fb88b1},
-  {0xaadb, 0x23fb88b2},
-  {0xaadc, 0x23fb88b3},
-  {0xaadd, 0x23fb88b4},
-  {0xaade, 0x23fb88b5},
-  {0xaadf, 0x23fb88b6},
-  {0xaae0, 0x23fb88b7},
-  {0xaae1, 0x23fb88b8},
-  {0xaae2, 0x23fb88b9},
-  {0xaae3, 0x23fb8cb0},
-  {0xaae4, 0x23fb8cb1},
-  {0xaae5, 0x23fb8cb2},
-  {0xaae6, 0x23fb8cb3},
-  {0xaae7, 0x23fb8cb4},
-  {0xaae8, 0x23fb8cb5},
-  {0xaae9, 0x23fb8cb6},
-  {0xaaea, 0x23fb8cb7},
-  {0xaaeb, 0x23fb8cb8},
-  {0xaaec, 0x23fb8cb9},
-  {0xaaed, 0x23fb90b0},
-  {0xaaee, 0x23fb90b1},
-  {0xaaef, 0x23fb90b2},
-  {0xaaf0, 0x23fb90b3},
-  {0xaaf1, 0x23fb90b4},
-  {0xaaf2, 0x23fb90b5},
-  {0xaaf3, 0x23fb90b6},
-  {0xaaf4, 0x23fb90b7},
-  {0xaaf5, 0x23fb90b8},
-  {0xaaf6, 0x23fb90b9},
-  {0xaaf7, 0x23fb94b0},
-  {0xaaf8, 0x23fb94b1},
-  {0xaaf9, 0x23fb94b2},
-  {0xaafa, 0x23fb94b3},
-  {0xaafb, 0x23fb94b4},
-  {0xaafc, 0x23fb94b5},
-  {0xaafd, 0x23fb94b6},
-  {0xaafe, 0x23fb94b7},
-  {0xaaff, 0x23fb94b8},
-  {0xab00, 0x23fb94b9},
-  {0xab01, 0x23fb98b0},
-  {0xab02, 0x23fb98b1},
-  {0xab03, 0x23fb98b2},
-  {0xab04, 0x23fb98b3},
-  {0xab05, 0x23fb98b4},
-  {0xab06, 0x23fb98b5},
-  {0xab07, 0x23fb98b6},
-  {0xab08, 0x23fb98b7},
-  {0xab09, 0x23fb98b8},
-  {0xab0a, 0x23fb98b9},
-  {0xab0b, 0x23fb9cb0},
-  {0xab0c, 0x23fb9cb1},
-  {0xab0d, 0x23fb9cb2},
-  {0xab0e, 0x23fb9cb3},
-  {0xab0f, 0x23fb9cb4},
-  {0xab10, 0x23fb9cb5},
-  {0xab11, 0x23fb9cb6},
-  {0xab12, 0x23fb9cb7},
-  {0xab13, 0x23fb9cb8},
-  {0xab14, 0x23fb9cb9},
-  {0xab15, 0x23fba0b0},
-  {0xab16, 0x23fba0b1},
-  {0xab17, 0x23fba0b2},
-  {0xab18, 0x23fba0b3},
-  {0xab19, 0x23fba0b4},
-  {0xab1a, 0x23fba0b5},
-  {0xab1b, 0x23fba0b6},
-  {0xab1c, 0x23fba0b7},
-  {0xab1d, 0x23fba0b8},
-  {0xab1e, 0x23fba0b9},
-  {0xab1f, 0x23fba4b0},
-  {0xab20, 0x23fba4b1},
-  {0xab21, 0x23fba4b2},
-  {0xab22, 0x23fba4b3},
-  {0xab23, 0x23fba4b4},
-  {0xab24, 0x23fba4b5},
-  {0xab25, 0x23fba4b6},
-  {0xab26, 0x23fba4b7},
-  {0xab27, 0x23fba4b8},
-  {0xab28, 0x23fba4b9},
-  {0xab29, 0x23fba8b0},
-  {0xab2a, 0x23fba8b1},
-  {0xab2b, 0x23fba8b2},
-  {0xab2c, 0x23fba8b3},
-  {0xab2d, 0x23fba8b4},
-  {0xab2e, 0x23fba8b5},
-  {0xab2f, 0x23fba8b6},
-  {0xab30, 0x23fba8b7},
-  {0xab31, 0x23fba8b8},
-  {0xab32, 0x23fba8b9},
-  {0xab33, 0x23fbacb0},
-  {0xab34, 0x23fbacb1},
-  {0xab35, 0x23fbacb2},
-  {0xab36, 0x23fbacb3},
-  {0xab37, 0x23fbacb4},
-  {0xab38, 0x23fbacb5},
-  {0xab39, 0x23fbacb6},
-  {0xab3a, 0x23fbacb7},
-  {0xab3b, 0x23fbacb8},
-  {0xab3c, 0x23fbacb9},
-  {0xab3d, 0x23fbb0b0},
-  {0xab3e, 0x23fbb0b1},
-  {0xab3f, 0x23fbb0b2},
-  {0xab40, 0x23fbb0b3},
-  {0xab41, 0x23fbb0b4},
-  {0xab42, 0x23fbb0b5},
-  {0xab43, 0x23fbb0b6},
-  {0xab44, 0x23fbb0b7},
-  {0xab45, 0x23fbb0b8},
-  {0xab46, 0x23fbb0b9},
-  {0xab47, 0x23fbb4b0},
-  {0xab48, 0x23fbb4b1},
-  {0xab49, 0x23fbb4b2},
-  {0xab4a, 0x23fbb4b3},
-  {0xab4b, 0x23fbb4b4},
-  {0xab4c, 0x23fbb4b5},
-  {0xab4d, 0x23fbb4b6},
-  {0xab4e, 0x23fbb4b7},
-  {0xab4f, 0x23fbb4b8},
-  {0xab50, 0x23fbb4b9},
-  {0xab51, 0x23fbb8b0},
-  {0xab52, 0x23fbb8b1},
-  {0xab53, 0x23fbb8b2},
-  {0xab54, 0x23fbb8b3},
-  {0xab55, 0x23fbb8b4},
-  {0xab56, 0x23fbb8b5},
-  {0xab57, 0x23fbb8b6},
-  {0xab58, 0x23fbb8b7},
-  {0xab59, 0x23fbb8b8},
-  {0xab5a, 0x23fbb8b9},
-  {0xab5b, 0x23fbbcb0},
-  {0xab5c, 0x23fbbcb1},
-  {0xab5d, 0x23fbbcb2},
-  {0xab5e, 0x23fbbcb3},
-  {0xab5f, 0x23fbbcb4},
-  {0xab60, 0x23fbbcb5},
-  {0xab61, 0x23fbbcb6},
-  {0xab62, 0x23fbbcb7},
-  {0xab63, 0x23fbbcb8},
-  {0xab64, 0x23fbbcb9},
-  {0xab65, 0x23fc80b0},
-  {0xab66, 0x23fc80b1},
-  {0xab67, 0x23fc80b2},
-  {0xab68, 0x23fc80b3},
-  {0xab69, 0x23fc80b4},
-  {0xab6a, 0x23fc80b5},
-  {0xab6b, 0x23fc80b6},
-  {0xab6c, 0x23fc80b7},
-  {0xab6d, 0x23fc80b8},
-  {0xab6e, 0x23fc80b9},
-  {0xab6f, 0x23fc84b0},
-  {0xab70, 0x23fc84b1},
-  {0xab71, 0x23fc84b2},
-  {0xab72, 0x23fc84b3},
-  {0xab73, 0x23fc84b4},
-  {0xab74, 0x23fc84b5},
-  {0xab75, 0x23fc84b6},
-  {0xab76, 0x23fc84b7},
-  {0xab77, 0x23fc84b8},
-  {0xab78, 0x23fc84b9},
-  {0xab79, 0x23fc88b0},
-  {0xab7a, 0x23fc88b1},
-  {0xab7b, 0x23fc88b2},
-  {0xab7c, 0x23fc88b3},
-  {0xab7d, 0x23fc88b4},
-  {0xab7e, 0x23fc88b5},
-  {0xab7f, 0x23fc88b6},
-  {0xab80, 0x23fc88b7},
-  {0xab81, 0x23fc88b8},
-  {0xab82, 0x23fc88b9},
-  {0xab83, 0x23fc8cb0},
-  {0xab84, 0x23fc8cb1},
-  {0xab85, 0x23fc8cb2},
-  {0xab86, 0x23fc8cb3},
-  {0xab87, 0x23fc8cb4},
-  {0xab88, 0x23fc8cb5},
-  {0xab89, 0x23fc8cb6},
-  {0xab8a, 0x23fc8cb7},
-  {0xab8b, 0x23fc8cb8},
-  {0xab8c, 0x23fc8cb9},
-  {0xab8d, 0x23fc90b0},
-  {0xab8e, 0x23fc90b1},
-  {0xab8f, 0x23fc90b2},
-  {0xab90, 0x23fc90b3},
-  {0xab91, 0x23fc90b4},
-  {0xab92, 0x23fc90b5},
-  {0xab93, 0x23fc90b6},
-  {0xab94, 0x23fc90b7},
-  {0xab95, 0x23fc90b8},
-  {0xab96, 0x23fc90b9},
-  {0xab97, 0x23fc94b0},
-  {0xab98, 0x23fc94b1},
-  {0xab99, 0x23fc94b2},
-  {0xab9a, 0x23fc94b3},
-  {0xab9b, 0x23fc94b4},
-  {0xab9c, 0x23fc94b5},
-  {0xab9d, 0x23fc94b6},
-  {0xab9e, 0x23fc94b7},
-  {0xab9f, 0x23fc94b8},
-  {0xaba0, 0x23fc94b9},
-  {0xaba1, 0x23fc98b0},
-  {0xaba2, 0x23fc98b1},
-  {0xaba3, 0x23fc98b2},
-  {0xaba4, 0x23fc98b3},
-  {0xaba5, 0x23fc98b4},
-  {0xaba6, 0x23fc98b5},
-  {0xaba7, 0x23fc98b6},
-  {0xaba8, 0x23fc98b7},
-  {0xaba9, 0x23fc98b8},
-  {0xabaa, 0x23fc98b9},
-  {0xabab, 0x23fc9cb0},
-  {0xabac, 0x23fc9cb1},
-  {0xabad, 0x23fc9cb2},
-  {0xabae, 0x23fc9cb3},
-  {0xabaf, 0x23fc9cb4},
-  {0xabb0, 0x23fc9cb5},
-  {0xabb1, 0x23fc9cb6},
-  {0xabb2, 0x23fc9cb7},
-  {0xabb3, 0x23fc9cb8},
-  {0xabb4, 0x23fc9cb9},
-  {0xabb5, 0x23fca0b0},
-  {0xabb6, 0x23fca0b1},
-  {0xabb7, 0x23fca0b2},
-  {0xabb8, 0x23fca0b3},
-  {0xabb9, 0x23fca0b4},
-  {0xabba, 0x23fca0b5},
-  {0xabbb, 0x23fca0b6},
-  {0xabbc, 0x23fca0b7},
-  {0xabbd, 0x23fca0b8},
-  {0xabbe, 0x23fca0b9},
-  {0xabbf, 0x23fca4b0},
-  {0xabc0, 0x23fca4b1},
-  {0xabc1, 0x23fca4b2},
-  {0xabc2, 0x23fca4b3},
-  {0xabc3, 0x23fca4b4},
-  {0xabc4, 0x23fca4b5},
-  {0xabc5, 0x23fca4b6},
-  {0xabc6, 0x23fca4b7},
-  {0xabc7, 0x23fca4b8},
-  {0xabc8, 0x23fca4b9},
-  {0xabc9, 0x23fca8b0},
-  {0xabca, 0x23fca8b1},
-  {0xabcb, 0x23fca8b2},
-  {0xabcc, 0x23fca8b3},
-  {0xabcd, 0x23fca8b4},
-  {0xabce, 0x23fca8b5},
-  {0xabcf, 0x23fca8b6},
-  {0xabd0, 0x23fca8b7},
-  {0xabd1, 0x23fca8b8},
-  {0xabd2, 0x23fca8b9},
-  {0xabd3, 0x23fcacb0},
-  {0xabd4, 0x23fcacb1},
-  {0xabd5, 0x23fcacb2},
-  {0xabd6, 0x23fcacb3},
-  {0xabd7, 0x23fcacb4},
-  {0xabd8, 0x23fcacb5},
-  {0xabd9, 0x23fcacb6},
-  {0xabda, 0x23fcacb7},
-  {0xabdb, 0x23fcacb8},
-  {0xabdc, 0x23fcacb9},
-  {0xabdd, 0x23fcb0b0},
-  {0xabde, 0x23fcb0b1},
-  {0xabdf, 0x23fcb0b2},
-  {0xabe0, 0x23fcb0b3},
-  {0xabe1, 0x23fcb0b4},
-  {0xabe2, 0x23fcb0b5},
-  {0xabe3, 0x23fcb0b6},
-  {0xabe4, 0x23fcb0b7},
-  {0xabe5, 0x23fcb0b8},
-  {0xabe6, 0x23fcb0b9},
-  {0xabe7, 0x23fcb4b0},
-  {0xabe8, 0x23fcb4b1},
-  {0xabe9, 0x23fcb4b2},
-  {0xabea, 0x23fcb4b3},
-  {0xabeb, 0x23fcb4b4},
-  {0xabec, 0x23fcb4b5},
-  {0xabed, 0x23fcb4b6},
-  {0xabee, 0x23fcb4b7},
-  {0xabef, 0x23fcb4b8},
-  {0xabf0, 0x23fcb4b9},
-  {0xabf1, 0x23fcb8b0},
-  {0xabf2, 0x23fcb8b1},
-  {0xabf3, 0x23fcb8b2},
-  {0xabf4, 0x23fcb8b3},
-  {0xabf5, 0x23fcb8b4},
-  {0xabf6, 0x23fcb8b5},
-  {0xabf7, 0x23fcb8b6},
-  {0xabf8, 0x23fcb8b7},
-  {0xabf9, 0x23fcb8b8},
-  {0xabfa, 0x23fcb8b9},
-  {0xabfb, 0x23fcbcb0},
-  {0xabfc, 0x23fcbcb1},
-  {0xabfd, 0x23fcbcb2},
-  {0xabfe, 0x23fcbcb3},
-  {0xabff, 0x23fcbcb4},
-  {0xac00, 0x23fcbcb5},
-  {0xac01, 0x23fcbcb6},
-  {0xac02, 0x23fcbcb7},
-  {0xac03, 0x23fcbcb8},
-  {0xac04, 0x23fcbcb9},
-  {0xac05, 0x23fd80b0},
-  {0xac06, 0x23fd80b1},
-  {0xac07, 0x23fd80b2},
-  {0xac08, 0x23fd80b3},
-  {0xac09, 0x23fd80b4},
-  {0xac0a, 0x23fd80b5},
-  {0xac0b, 0x23fd80b6},
-  {0xac0c, 0x23fd80b7},
-  {0xac0d, 0x23fd80b8},
-  {0xac0e, 0x23fd80b9},
-  {0xac0f, 0x23fd84b0},
-  {0xac10, 0x23fd84b1},
-  {0xac11, 0x23fd84b2},
-  {0xac12, 0x23fd84b3},
-  {0xac13, 0x23fd84b4},
-  {0xac14, 0x23fd84b5},
-  {0xac15, 0x23fd84b6},
-  {0xac16, 0x23fd84b7},
-  {0xac17, 0x23fd84b8},
-  {0xac18, 0x23fd84b9},
-  {0xac19, 0x23fd88b0},
-  {0xac1a, 0x23fd88b1},
-  {0xac1b, 0x23fd88b2},
-  {0xac1c, 0x23fd88b3},
-  {0xac1d, 0x23fd88b4},
-  {0xac1e, 0x23fd88b5},
-  {0xac1f, 0x23fd88b6},
-  {0xac20, 0x23fd88b7},
-  {0xac21, 0x23fd88b8},
-  {0xac22, 0x23fd88b9},
-  {0xac23, 0x23fd8cb0},
-  {0xac24, 0x23fd8cb1},
-  {0xac25, 0x23fd8cb2},
-  {0xac26, 0x23fd8cb3},
-  {0xac27, 0x23fd8cb4},
-  {0xac28, 0x23fd8cb5},
-  {0xac29, 0x23fd8cb6},
-  {0xac2a, 0x23fd8cb7},
-  {0xac2b, 0x23fd8cb8},
-  {0xac2c, 0x23fd8cb9},
-  {0xac2d, 0x23fd90b0},
-  {0xac2e, 0x23fd90b1},
-  {0xac2f, 0x23fd90b2},
-  {0xac30, 0x23fd90b3},
-  {0xac31, 0x23fd90b4},
-  {0xac32, 0x23fd90b5},
-  {0xac33, 0x23fd90b6},
-  {0xac34, 0x23fd90b7},
-  {0xac35, 0x23fd90b8},
-  {0xac36, 0x23fd90b9},
-  {0xac37, 0x23fd94b0},
-  {0xac38, 0x23fd94b1},
-  {0xac39, 0x23fd94b2},
-  {0xac3a, 0x23fd94b3},
-  {0xac3b, 0x23fd94b4},
-  {0xac3c, 0x23fd94b5},
-  {0xac3d, 0x23fd94b6},
-  {0xac3e, 0x23fd94b7},
-  {0xac3f, 0x23fd94b8},
-  {0xac40, 0x23fd94b9},
-  {0xac41, 0x23fd98b0},
-  {0xac42, 0x23fd98b1},
-  {0xac43, 0x23fd98b2},
-  {0xac44, 0x23fd98b3},
-  {0xac45, 0x23fd98b4},
-  {0xac46, 0x23fd98b5},
-  {0xac47, 0x23fd98b6},
-  {0xac48, 0x23fd98b7},
-  {0xac49, 0x23fd98b8},
-  {0xac4a, 0x23fd98b9},
-  {0xac4b, 0x23fd9cb0},
-  {0xac4c, 0x23fd9cb1},
-  {0xac4d, 0x23fd9cb2},
-  {0xac4e, 0x23fd9cb3},
-  {0xac4f, 0x23fd9cb4},
-  {0xac50, 0x23fd9cb5},
-  {0xac51, 0x23fd9cb6},
-  {0xac52, 0x23fd9cb7},
-  {0xac53, 0x23fd9cb8},
-  {0xac54, 0x23fd9cb9},
-  {0xac55, 0x23fda0b0},
-  {0xac56, 0x23fda0b1},
-  {0xac57, 0x23fda0b2},
-  {0xac58, 0x23fda0b3},
-  {0xac59, 0x23fda0b4},
-  {0xac5a, 0x23fda0b5},
-  {0xac5b, 0x23fda0b6},
-  {0xac5c, 0x23fda0b7},
-  {0xac5d, 0x23fda0b8},
-  {0xac5e, 0x23fda0b9},
-  {0xac5f, 0x23fda4b0},
-  {0xac60, 0x23fda4b1},
-  {0xac61, 0x23fda4b2},
-  {0xac62, 0x23fda4b3},
-  {0xac63, 0x23fda4b4},
-  {0xac64, 0x23fda4b5},
-  {0xac65, 0x23fda4b6},
-  {0xac66, 0x23fda4b7},
-  {0xac67, 0x23fda4b8},
-  {0xac68, 0x23fda4b9},
-  {0xac69, 0x23fda8b0},
-  {0xac6a, 0x23fda8b1},
-  {0xac6b, 0x23fda8b2},
-  {0xac6c, 0x23fda8b3},
-  {0xac6d, 0x23fda8b4},
-  {0xac6e, 0x23fda8b5},
-  {0xac6f, 0x23fda8b6},
-  {0xac70, 0x23fda8b7},
-  {0xac71, 0x23fda8b8},
-  {0xac72, 0x23fda8b9},
-  {0xac73, 0x23fdacb0},
-  {0xac74, 0x23fdacb1},
-  {0xac75, 0x23fdacb2},
-  {0xac76, 0x23fdacb3},
-  {0xac77, 0x23fdacb4},
-  {0xac78, 0x23fdacb5},
-  {0xac79, 0x23fdacb6},
-  {0xac7a, 0x23fdacb7},
-  {0xac7b, 0x23fdacb8},
-  {0xac7c, 0x23fdacb9},
-  {0xac7d, 0x23fdb0b0},
-  {0xac7e, 0x23fdb0b1},
-  {0xac7f, 0x23fdb0b2},
-  {0xac80, 0x23fdb0b3},
-  {0xac81, 0x23fdb0b4},
-  {0xac82, 0x23fdb0b5},
-  {0xac83, 0x23fdb0b6},
-  {0xac84, 0x23fdb0b7},
-  {0xac85, 0x23fdb0b8},
-  {0xac86, 0x23fdb0b9},
-  {0xac87, 0x23fdb4b0},
-  {0xac88, 0x23fdb4b1},
-  {0xac89, 0x23fdb4b2},
-  {0xac8a, 0x23fdb4b3},
-  {0xac8b, 0x23fdb4b4},
-  {0xac8c, 0x23fdb4b5},
-  {0xac8d, 0x23fdb4b6},
-  {0xac8e, 0x23fdb4b7},
-  {0xac8f, 0x23fdb4b8},
-  {0xac90, 0x23fdb4b9},
-  {0xac91, 0x23fdb8b0},
-  {0xac92, 0x23fdb8b1},
-  {0xac93, 0x23fdb8b2},
-  {0xac94, 0x23fdb8b3},
-  {0xac95, 0x23fdb8b4},
-  {0xac96, 0x23fdb8b5},
-  {0xac97, 0x23fdb8b6},
-  {0xac98, 0x23fdb8b7},
-  {0xac99, 0x23fdb8b8},
-  {0xac9a, 0x23fdb8b9},
-  {0xac9b, 0x23fdbcb0},
-  {0xac9c, 0x23fdbcb1},
-  {0xac9d, 0x23fdbcb2},
-  {0xac9e, 0x23fdbcb3},
-  {0xac9f, 0x23fdbcb4},
-  {0xaca0, 0x23fdbcb5},
-  {0xaca1, 0x23fdbcb6},
-  {0xaca2, 0x23fdbcb7},
-  {0xaca3, 0x23fdbcb8},
-  {0xaca4, 0x23fdbcb9},
-  {0xaca5, 0x23fe80b0},
-  {0xaca6, 0x23fe80b1},
-  {0xaca7, 0x23fe80b2},
-  {0xaca8, 0x23fe80b3},
-  {0xaca9, 0x23fe80b4},
-  {0xacaa, 0x23fe80b5},
-  {0xacab, 0x23fe80b6},
-  {0xacac, 0x23fe80b7},
-  {0xacad, 0x23fe80b8},
-  {0xacae, 0x23fe80b9},
-  {0xacaf, 0x23fe84b0},
-  {0xacb0, 0x23fe84b1},
-  {0xacb1, 0x23fe84b2},
-  {0xacb2, 0x23fe84b3},
-  {0xacb3, 0x23fe84b4},
-  {0xacb4, 0x23fe84b5},
-  {0xacb5, 0x23fe84b6},
-  {0xacb6, 0x23fe84b7},
-  {0xacb7, 0x23fe84b8},
-  {0xacb8, 0x23fe84b9},
-  {0xacb9, 0x23fe88b0},
-  {0xacba, 0x23fe88b1},
-  {0xacbb, 0x23fe88b2},
-  {0xacbc, 0x23fe88b3},
-  {0xacbd, 0x23fe88b4},
-  {0xacbe, 0x23fe88b5},
-  {0xacbf, 0x23fe88b6},
-  {0xacc0, 0x23fe88b7},
-  {0xacc1, 0x23fe88b8},
-  {0xacc2, 0x23fe88b9},
-  {0xacc3, 0x23fe8cb0},
-  {0xacc4, 0x23fe8cb1},
-  {0xacc5, 0x23fe8cb2},
-  {0xacc6, 0x23fe8cb3},
-  {0xacc7, 0x23fe8cb4},
-  {0xacc8, 0x23fe8cb5},
-  {0xacc9, 0x23fe8cb6},
-  {0xacca, 0x23fe8cb7},
-  {0xaccb, 0x23fe8cb8},
-  {0xaccc, 0x23fe8cb9},
-  {0xaccd, 0x23fe90b0},
-  {0xacce, 0x23fe90b1},
-  {0xaccf, 0x23fe90b2},
-  {0xacd0, 0x23fe90b3},
-  {0xacd1, 0x23fe90b4},
-  {0xacd2, 0x23fe90b5},
-  {0xacd3, 0x23fe90b6},
-  {0xacd4, 0x23fe90b7},
-  {0xacd5, 0x23fe90b8},
-  {0xacd6, 0x23fe90b9},
-  {0xacd7, 0x23fe94b0},
-  {0xacd8, 0x23fe94b1},
-  {0xacd9, 0x23fe94b2},
-  {0xacda, 0x23fe94b3},
-  {0xacdb, 0x23fe94b4},
-  {0xacdc, 0x23fe94b5},
-  {0xacdd, 0x23fe94b6},
-  {0xacde, 0x23fe94b7},
-  {0xacdf, 0x23fe94b8},
-  {0xace0, 0x23fe94b9},
-  {0xace1, 0x23fe98b0},
-  {0xace2, 0x23fe98b1},
-  {0xace3, 0x23fe98b2},
-  {0xace4, 0x23fe98b3},
-  {0xace5, 0x23fe98b4},
-  {0xace6, 0x23fe98b5},
-  {0xace7, 0x23fe98b6},
-  {0xace8, 0x23fe98b7},
-  {0xace9, 0x23fe98b8},
-  {0xacea, 0x23fe98b9},
-  {0xaceb, 0x23fe9cb0},
-  {0xacec, 0x23fe9cb1},
-  {0xaced, 0x23fe9cb2},
-  {0xacee, 0x23fe9cb3},
-  {0xacef, 0x23fe9cb4},
-  {0xacf0, 0x23fe9cb5},
-  {0xacf1, 0x23fe9cb6},
-  {0xacf2, 0x23fe9cb7},
-  {0xacf3, 0x23fe9cb8},
-  {0xacf4, 0x23fe9cb9},
-  {0xacf5, 0x23fea0b0},
-  {0xacf6, 0x23fea0b1},
-  {0xacf7, 0x23fea0b2},
-  {0xacf8, 0x23fea0b3},
-  {0xacf9, 0x23fea0b4},
-  {0xacfa, 0x23fea0b5},
-  {0xacfb, 0x23fea0b6},
-  {0xacfc, 0x23fea0b7},
-  {0xacfd, 0x23fea0b8},
-  {0xacfe, 0x23fea0b9},
-  {0xacff, 0x23fea4b0},
-  {0xad00, 0x23fea4b1},
-  {0xad01, 0x23fea4b2},
-  {0xad02, 0x23fea4b3},
-  {0xad03, 0x23fea4b4},
-  {0xad04, 0x23fea4b5},
-  {0xad05, 0x23fea4b6},
-  {0xad06, 0x23fea4b7},
-  {0xad07, 0x23fea4b8},
-  {0xad08, 0x23fea4b9},
-  {0xad09, 0x23fea8b0},
-  {0xad0a, 0x23fea8b1},
-  {0xad0b, 0x23fea8b2},
-  {0xad0c, 0x23fea8b3},
-  {0xad0d, 0x23fea8b4},
-  {0xad0e, 0x23fea8b5},
-  {0xad0f, 0x23fea8b6},
-  {0xad10, 0x23fea8b7},
-  {0xad11, 0x23fea8b8},
-  {0xad12, 0x23fea8b9},
-  {0xad13, 0x23feacb0},
-  {0xad14, 0x23feacb1},
-  {0xad15, 0x23feacb2},
-  {0xad16, 0x23feacb3},
-  {0xad17, 0x23feacb4},
-  {0xad18, 0x23feacb5},
-  {0xad19, 0x23feacb6},
-  {0xad1a, 0x23feacb7},
-  {0xad1b, 0x23feacb8},
-  {0xad1c, 0x23feacb9},
-  {0xad1d, 0x23feb0b0},
-  {0xad1e, 0x23feb0b1},
-  {0xad1f, 0x23feb0b2},
-  {0xad20, 0x23feb0b3},
-  {0xad21, 0x23feb0b4},
-  {0xad22, 0x23feb0b5},
-  {0xad23, 0x23feb0b6},
-  {0xad24, 0x23feb0b7},
-  {0xad25, 0x23feb0b8},
-  {0xad26, 0x23feb0b9},
-  {0xad27, 0x23feb4b0},
-  {0xad28, 0x23feb4b1},
-  {0xad29, 0x23feb4b2},
-  {0xad2a, 0x23feb4b3},
-  {0xad2b, 0x23feb4b4},
-  {0xad2c, 0x23feb4b5},
-  {0xad2d, 0x23feb4b6},
-  {0xad2e, 0x23feb4b7},
-  {0xad2f, 0x23feb4b8},
-  {0xad30, 0x23feb4b9},
-  {0xad31, 0x23feb8b0},
-  {0xad32, 0x23feb8b1},
-  {0xad33, 0x23feb8b2},
-  {0xad34, 0x23feb8b3},
-  {0xad35, 0x23feb8b4},
-  {0xad36, 0x23feb8b5},
-  {0xad37, 0x23feb8b6},
-  {0xad38, 0x23feb8b7},
-  {0xad39, 0x23feb8b8},
-  {0xad3a, 0x23feb8b9},
-  {0xad3b, 0x23febcb0},
-  {0xad3c, 0x23febcb1},
-  {0xad3d, 0x23febcb2},
-  {0xad3e, 0x23febcb3},
-  {0xad3f, 0x23febcb4},
-  {0xad40, 0x23febcb5},
-  {0xad41, 0x23febcb6},
-  {0xad42, 0x23febcb7},
-  {0xad43, 0x23febcb8},
-  {0xad44, 0x23febcb9},
-  {0xad45, 0x23ff80b0},
-  {0xad46, 0x23ff80b1},
-  {0xad47, 0x23ff80b2},
-  {0xad48, 0x23ff80b3},
-  {0xad49, 0x23ff80b4},
-  {0xad4a, 0x23ff80b5},
-  {0xad4b, 0x23ff80b6},
-  {0xad4c, 0x23ff80b7},
-  {0xad4d, 0x23ff80b8},
-  {0xad4e, 0x23ff80b9},
-  {0xad4f, 0x23ff84b0},
-  {0xad50, 0x23ff84b1},
-  {0xad51, 0x23ff84b2},
-  {0xad52, 0x23ff84b3},
-  {0xad53, 0x23ff84b4},
-  {0xad54, 0x23ff84b5},
-  {0xad55, 0x23ff84b6},
-  {0xad56, 0x23ff84b7},
-  {0xad57, 0x23ff84b8},
-  {0xad58, 0x23ff84b9},
-  {0xad59, 0x23ff88b0},
-  {0xad5a, 0x23ff88b1},
-  {0xad5b, 0x23ff88b2},
-  {0xad5c, 0x23ff88b3},
-  {0xad5d, 0x23ff88b4},
-  {0xad5e, 0x23ff88b5},
-  {0xad5f, 0x23ff88b6},
-  {0xad60, 0x23ff88b7},
-  {0xad61, 0x23ff88b8},
-  {0xad62, 0x23ff88b9},
-  {0xad63, 0x23ff8cb0},
-  {0xad64, 0x23ff8cb1},
-  {0xad65, 0x23ff8cb2},
-  {0xad66, 0x23ff8cb3},
-  {0xad67, 0x23ff8cb4},
-  {0xad68, 0x23ff8cb5},
-  {0xad69, 0x23ff8cb6},
-  {0xad6a, 0x23ff8cb7},
-  {0xad6b, 0x23ff8cb8},
-  {0xad6c, 0x23ff8cb9},
-  {0xad6d, 0x23ff90b0},
-  {0xad6e, 0x23ff90b1},
-  {0xad6f, 0x23ff90b2},
-  {0xad70, 0x23ff90b3},
-  {0xad71, 0x23ff90b4},
-  {0xad72, 0x23ff90b5},
-  {0xad73, 0x23ff90b6},
-  {0xad74, 0x23ff90b7},
-  {0xad75, 0x23ff90b8},
-  {0xad76, 0x23ff90b9},
-  {0xad77, 0x23ff94b0},
-  {0xad78, 0x23ff94b1},
-  {0xad79, 0x23ff94b2},
-  {0xad7a, 0x23ff94b3},
-  {0xad7b, 0x23ff94b4},
-  {0xad7c, 0x23ff94b5},
-  {0xad7d, 0x23ff94b6},
-  {0xad7e, 0x23ff94b7},
-  {0xad7f, 0x23ff94b8},
-  {0xad80, 0x23ff94b9},
-  {0xad81, 0x23ff98b0},
-  {0xad82, 0x23ff98b1},
-  {0xad83, 0x23ff98b2},
-  {0xad84, 0x23ff98b3},
-  {0xad85, 0x23ff98b4},
-  {0xad86, 0x23ff98b5},
-  {0xad87, 0x23ff98b6},
-  {0xad88, 0x23ff98b7},
-  {0xad89, 0x23ff98b8},
-  {0xad8a, 0x23ff98b9},
-  {0xad8b, 0x23ff9cb0},
-  {0xad8c, 0x23ff9cb1},
-  {0xad8d, 0x23ff9cb2},
-  {0xad8e, 0x23ff9cb3},
-  {0xad8f, 0x23ff9cb4},
-  {0xad90, 0x23ff9cb5},
-  {0xad91, 0x23ff9cb6},
-  {0xad92, 0x23ff9cb7},
-  {0xad93, 0x23ff9cb8},
-  {0xad94, 0x23ff9cb9},
-  {0xad95, 0x23ffa0b0},
-  {0xad96, 0x23ffa0b1},
-  {0xad97, 0x23ffa0b2},
-  {0xad98, 0x23ffa0b3},
-  {0xad99, 0x23ffa0b4},
-  {0xad9a, 0x23ffa0b5},
-  {0xad9b, 0x23ffa0b6},
-  {0xad9c, 0x23ffa0b7},
-  {0xad9d, 0x23ffa0b8},
-  {0xad9e, 0x23ffa0b9},
-  {0xad9f, 0x23ffa4b0},
-  {0xada0, 0x23ffa4b1},
-  {0xada1, 0x23ffa4b2},
-  {0xada2, 0x23ffa4b3},
-  {0xada3, 0x23ffa4b4},
-  {0xada4, 0x23ffa4b5},
-  {0xada5, 0x23ffa4b6},
-  {0xada6, 0x23ffa4b7},
-  {0xada7, 0x23ffa4b8},
-  {0xada8, 0x23ffa4b9},
-  {0xada9, 0x23ffa8b0},
-  {0xadaa, 0x23ffa8b1},
-  {0xadab, 0x23ffa8b2},
-  {0xadac, 0x23ffa8b3},
-  {0xadad, 0x23ffa8b4},
-  {0xadae, 0x23ffa8b5},
-  {0xadaf, 0x23ffa8b6},
-  {0xadb0, 0x23ffa8b7},
-  {0xadb1, 0x23ffa8b8},
-  {0xadb2, 0x23ffa8b9},
-  {0xadb3, 0x23ffacb0},
-  {0xadb4, 0x23ffacb1},
-  {0xadb5, 0x23ffacb2},
-  {0xadb6, 0x23ffacb3},
-  {0xadb7, 0x23ffacb4},
-  {0xadb8, 0x23ffacb5},
-  {0xadb9, 0x23ffacb6},
-  {0xadba, 0x23ffacb7},
-  {0xadbb, 0x23ffacb8},
-  {0xadbc, 0x23ffacb9},
-  {0xadbd, 0x23ffb0b0},
-  {0xadbe, 0x23ffb0b1},
-  {0xadbf, 0x23ffb0b2},
-  {0xadc0, 0x23ffb0b3},
-  {0xadc1, 0x23ffb0b4},
-  {0xadc2, 0x23ffb0b5},
-  {0xadc3, 0x23ffb0b6},
-  {0xadc4, 0x23ffb0b7},
-  {0xadc5, 0x23ffb0b8},
-  {0xadc6, 0x23ffb0b9},
-  {0xadc7, 0x23ffb4b0},
-  {0xadc8, 0x23ffb4b1},
-  {0xadc9, 0x23ffb4b2},
-  {0xadca, 0x23ffb4b3},
-  {0xadcb, 0x23ffb4b4},
-  {0xadcc, 0x23ffb4b5},
-  {0xadcd, 0x23ffb4b6},
-  {0xadce, 0x23ffb4b7},
-  {0xadcf, 0x23ffb4b8},
-  {0xadd0, 0x23ffb4b9},
-  {0xadd1, 0x23ffb8b0},
-  {0xadd2, 0x23ffb8b1},
-  {0xadd3, 0x23ffb8b2},
-  {0xadd4, 0x23ffb8b3},
-  {0xadd5, 0x23ffb8b4},
-  {0xadd6, 0x23ffb8b5},
-  {0xadd7, 0x23ffb8b6},
-  {0xadd8, 0x23ffb8b7},
-  {0xadd9, 0x23ffb8b8},
-  {0xadda, 0x23ffb8b9},
-  {0xaddb, 0x23e884b0},
-  {0xaddc, 0x23e884b1},
-  {0xaddd, 0x23e884b2},
-  {0xadde, 0x23e884b3},
-  {0xaddf, 0x23e884b4},
-  {0xade0, 0x23e884b5},
-  {0xade1, 0x23e884b6},
-  {0xade2, 0x23e884b7},
-  {0xade3, 0x23e884b8},
-  {0xade4, 0x23e884b9},
-  {0xade5, 0x23e888b0},
-  {0xade6, 0x23e888b1},
-  {0xade7, 0x23e888b2},
-  {0xade8, 0x23e888b3},
-  {0xade9, 0x23e888b4},
-  {0xadea, 0x23e888b5},
-  {0xadeb, 0x23e888b6},
-  {0xadec, 0x23e888b7},
-  {0xaded, 0x23e888b8},
-  {0xadee, 0x23e888b9},
-  {0xadef, 0x23e88cb0},
-  {0xadf0, 0x23e88cb1},
-  {0xadf1, 0x23e88cb2},
-  {0xadf2, 0x23e88cb3},
-  {0xadf3, 0x23e88cb4},
-  {0xadf4, 0x23e88cb5},
-  {0xadf5, 0x23e88cb6},
-  {0xadf6, 0x23e88cb7},
-  {0xadf7, 0x23e88cb8},
-  {0xadf8, 0x23e88cb9},
-  {0xadf9, 0x23e890b0},
-  {0xadfa, 0x23e890b1},
-  {0xadfb, 0x23e890b2},
-  {0xadfc, 0x23e890b3},
-  {0xadfd, 0x23e890b4},
-  {0xadfe, 0x23e890b5},
-  {0xadff, 0x23e890b6},
-  {0xae00, 0x23e890b7},
-  {0xae01, 0x23e890b8},
-  {0xae02, 0x23e890b9},
-  {0xae03, 0x23e894b0},
-  {0xae04, 0x23e894b1},
-  {0xae05, 0x23e894b2},
-  {0xae06, 0x23e894b3},
-  {0xae07, 0x23e894b4},
-  {0xae08, 0x23e894b5},
-  {0xae09, 0x23e894b6},
-  {0xae0a, 0x23e894b7},
-  {0xae0b, 0x23e894b8},
-  {0xae0c, 0x23e894b9},
-  {0xae0d, 0x23e898b0},
-  {0xae0e, 0x23e898b1},
-  {0xae0f, 0x23e898b2},
-  {0xae10, 0x23e898b3},
-  {0xae11, 0x23e898b4},
-  {0xae12, 0x23e898b5},
-  {0xae13, 0x23e898b6},
-  {0xae14, 0x23e898b7},
-  {0xae15, 0x23e898b8},
-  {0xae16, 0x23e898b9},
-  {0xae17, 0x23e89cb0},
-  {0xae18, 0x23e89cb1},
-  {0xae19, 0x23e89cb2},
-  {0xae1a, 0x23e89cb3},
-  {0xae1b, 0x23e89cb4},
-  {0xae1c, 0x23e89cb5},
-  {0xae1d, 0x23e89cb6},
-  {0xae1e, 0x23e89cb7},
-  {0xae1f, 0x23e89cb8},
-  {0xae20, 0x23e89cb9},
-  {0xae21, 0x23e8a0b0},
-  {0xae22, 0x23e8a0b1},
-  {0xae23, 0x23e8a0b2},
-  {0xae24, 0x23e8a0b3},
-  {0xae25, 0x23e8a0b4},
-  {0xae26, 0x23e8a0b5},
-  {0xae27, 0x23e8a0b6},
-  {0xae28, 0x23e8a0b7},
-  {0xae29, 0x23e8a0b8},
-  {0xae2a, 0x23e8a0b9},
-  {0xae2b, 0x23e8a4b0},
-  {0xae2c, 0x23e8a4b1},
-  {0xae2d, 0x23e8a4b2},
-  {0xae2e, 0x23e8a4b3},
-  {0xae2f, 0x23e8a4b4},
-  {0xae30, 0x23e8a4b5},
-  {0xae31, 0x23e8a4b6},
-  {0xae32, 0x23e8a4b7},
-  {0xae33, 0x23e8a4b8},
-  {0xae34, 0x23e8a4b9},
-  {0xae35, 0x23e8a8b0},
-  {0xae36, 0x23e8a8b1},
-  {0xae37, 0x23e8a8b2},
-  {0xae38, 0x23e8a8b3},
-  {0xae39, 0x23e8a8b4},
-  {0xae3a, 0x23e8a8b5},
-  {0xae3b, 0x23e8a8b6},
-  {0xae3c, 0x23e8a8b7},
-  {0xae3d, 0x23e8a8b8},
-  {0xae3e, 0x23e8a8b9},
-  {0xae3f, 0x23e8acb0},
-  {0xae40, 0x23e8acb1},
-  {0xae41, 0x23e8acb2},
-  {0xae42, 0x23e8acb3},
-  {0xae43, 0x23e8acb4},
-  {0xae44, 0x23e8acb5},
-  {0xae45, 0x23e8acb6},
-  {0xae46, 0x23e8acb7},
-  {0xae47, 0x23e8acb8},
-  {0xae48, 0x23e8acb9},
-  {0xae49, 0x23e8b0b0},
-  {0xae4a, 0x23e8b0b1},
-  {0xae4b, 0x23e8b0b2},
-  {0xae4c, 0x23e8b0b3},
-  {0xae4d, 0x23e8b0b4},
-  {0xae4e, 0x23e8b0b5},
-  {0xae4f, 0x23e8b0b6},
-  {0xae50, 0x23e8b0b7},
-  {0xae51, 0x23e8b0b8},
-  {0xae52, 0x23e8b0b9},
-  {0xae53, 0x23e8b4b0},
-  {0xae54, 0x23e8b4b1},
-  {0xae55, 0x23e8b4b2},
-  {0xae56, 0x23e8b4b3},
-  {0xae57, 0x23e8b4b4},
-  {0xae58, 0x23e8b4b5},
-  {0xae59, 0x23e8b4b6},
-  {0xae5a, 0x23e8b4b7},
-  {0xae5b, 0x23e8b4b8},
-  {0xae5c, 0x23e8b4b9},
-  {0xae5d, 0x23e8b8b0},
-  {0xae5e, 0x23e8b8b1},
-  {0xae5f, 0x23e8b8b2},
-  {0xae60, 0x23e8b8b3},
-  {0xae61, 0x23e8b8b4},
-  {0xae62, 0x23e8b8b5},
-  {0xae63, 0x23e8b8b6},
-  {0xae64, 0x23e8b8b7},
-  {0xae65, 0x23e8b8b8},
-  {0xae66, 0x23e8b8b9},
-  {0xae67, 0x23e8bcb0},
-  {0xae68, 0x23e8bcb1},
-  {0xae69, 0x23e8bcb2},
-  {0xae6a, 0x23e8bcb3},
-  {0xae6b, 0x23e8bcb4},
-  {0xae6c, 0x23e8bcb5},
-  {0xae6d, 0x23e8bcb6},
-  {0xae6e, 0x23e8bcb7},
-  {0xae6f, 0x23e8bcb8},
-  {0xae70, 0x23e8bcb9},
-  {0xae71, 0x23e980b0},
-  {0xae72, 0x23e980b1},
-  {0xae73, 0x23e980b2},
-  {0xae74, 0x23e980b3},
-  {0xae75, 0x23e980b4},
-  {0xae76, 0x23e980b5},
-  {0xae77, 0x23e980b6},
-  {0xae78, 0x23e980b7},
-  {0xae79, 0x23e980b8},
-  {0xae7a, 0x23e980b9},
-  {0xae7b, 0x23e984b0},
-  {0xae7c, 0x23e984b1},
-  {0xae7d, 0x23e984b2},
-  {0xae7e, 0x23e984b3},
-  {0xae7f, 0x23e984b4},
-  {0xae80, 0x23e984b5},
-  {0xae81, 0x23e984b6},
-  {0xae82, 0x23e984b7},
-  {0xae83, 0x23e984b8},
-  {0xae84, 0x23e984b9},
-  {0xae85, 0x23e988b0},
-  {0xae86, 0x23e988b1},
-  {0xae87, 0x23e988b2},
-  {0xae88, 0x23e988b3},
-  {0xae89, 0x23e988b4},
-  {0xae8a, 0x23e988b5},
-  {0xae8b, 0x23e988b6},
-  {0xae8c, 0x23e988b7},
-  {0xae8d, 0x23e988b8},
-  {0xae8e, 0x23e988b9},
-  {0xae8f, 0x23e98cb0},
-  {0xae90, 0x23e98cb1},
-  {0xae91, 0x23e98cb2},
-  {0xae92, 0x23e98cb3},
-  {0xae93, 0x23e98cb4},
-  {0xae94, 0x23e98cb5},
-  {0xae95, 0x23e98cb6},
-  {0xae96, 0x23e98cb7},
-  {0xae97, 0x23e98cb8},
-  {0xae98, 0x23e98cb9},
-  {0xae99, 0x23e990b0},
-  {0xae9a, 0x23e990b1},
-  {0xae9b, 0x23e990b2},
-  {0xae9c, 0x23e990b3},
-  {0xae9d, 0x23e990b4},
-  {0xae9e, 0x23e990b5},
-  {0xae9f, 0x23e990b6},
-  {0xaea0, 0x23e990b7},
-  {0xaea1, 0x23e990b8},
-  {0xaea2, 0x23e990b9},
-  {0xaea3, 0x23e994b0},
-  {0xaea4, 0x23e994b1},
-  {0xaea5, 0x23e994b2},
-  {0xaea6, 0x23e994b3},
-  {0xaea7, 0x23e994b4},
-  {0xaea8, 0x23e994b5},
-  {0xaea9, 0x23e994b6},
-  {0xaeaa, 0x23e994b7},
-  {0xaeab, 0x23e994b8},
-  {0xaeac, 0x23e994b9},
-  {0xaead, 0x23e998b0},
-  {0xaeae, 0x23e998b1},
-  {0xaeaf, 0x23e998b2},
-  {0xaeb0, 0x23e998b3},
-  {0xaeb1, 0x23e998b4},
-  {0xaeb2, 0x23e998b5},
-  {0xaeb3, 0x23e998b6},
-  {0xaeb4, 0x23e998b7},
-  {0xaeb5, 0x23e998b8},
-  {0xaeb6, 0x23e998b9},
-  {0xaeb7, 0x23e99cb0},
-  {0xaeb8, 0x23e99cb1},
-  {0xaeb9, 0x23e99cb2},
-  {0xaeba, 0x23e99cb3},
-  {0xaebb, 0x23e99cb4},
-  {0xaebc, 0x23e99cb5},
-  {0xaebd, 0x23e99cb6},
-  {0xaebe, 0x23e99cb7},
-  {0xaebf, 0x23e99cb8},
-  {0xaec0, 0x23e99cb9},
-  {0xaec1, 0x23e9a0b0},
-  {0xaec2, 0x23e9a0b1},
-  {0xaec3, 0x23e9a0b2},
-  {0xaec4, 0x23e9a0b3},
-  {0xaec5, 0x23e9a0b4},
-  {0xaec6, 0x23e9a0b5},
-  {0xaec7, 0x23e9a0b6},
-  {0xaec8, 0x23e9a0b7},
-  {0xaec9, 0x23e9a0b8},
-  {0xaeca, 0x23e9a0b9},
-  {0xaecb, 0x23e9a4b0},
-  {0xaecc, 0x23e9a4b1},
-  {0xaecd, 0x23e9a4b2},
-  {0xaece, 0x23e9a4b3},
-  {0xaecf, 0x23e9a4b4},
-  {0xaed0, 0x23e9a4b5},
-  {0xaed1, 0x23e9a4b6},
-  {0xaed2, 0x23e9a4b7},
-  {0xaed3, 0x23e9a4b8},
-  {0xaed4, 0x23e9a4b9},
-  {0xaed5, 0x23e9a8b0},
-  {0xaed6, 0x23e9a8b1},
-  {0xaed7, 0x23e9a8b2},
-  {0xaed8, 0x23e9a8b3},
-  {0xaed9, 0x23e9a8b4},
-  {0xaeda, 0x23e9a8b5},
-  {0xaedb, 0x23e9a8b6},
-  {0xaedc, 0x23e9a8b7},
-  {0xaedd, 0x23e9a8b8},
-  {0xaede, 0x23e9a8b9},
-  {0xaedf, 0x23e9acb0},
-  {0xaee0, 0x23e9acb1},
-  {0xaee1, 0x23e9acb2},
-  {0xaee2, 0x23e9acb3},
-  {0xaee3, 0x23e9acb4},
-  {0xaee4, 0x23e9acb5},
-  {0xaee5, 0x23e9acb6},
-  {0xaee6, 0x23e9acb7},
-  {0xaee7, 0x23e9acb8},
-  {0xaee8, 0x23e9acb9},
-  {0xaee9, 0x23e9b0b0},
-  {0xaeea, 0x23e9b0b1},
-  {0xaeeb, 0x23e9b0b2},
-  {0xaeec, 0x23e9b0b3},
-  {0xaeed, 0x23e9b0b4},
-  {0xaeee, 0x23e9b0b5},
-  {0xaeef, 0x23e9b0b6},
-  {0xaef0, 0x23e9b0b7},
-  {0xaef1, 0x23e9b0b8},
-  {0xaef2, 0x23e9b0b9},
-  {0xaef3, 0x23e9b4b0},
-  {0xaef4, 0x23e9b4b1},
-  {0xaef5, 0x23e9b4b2},
-  {0xaef6, 0x23e9b4b3},
-  {0xaef7, 0x23e9b4b4},
-  {0xaef8, 0x23e9b4b5},
-  {0xaef9, 0x23e9b4b6},
-  {0xaefa, 0x23e9b4b7},
-  {0xaefb, 0x23e9b4b8},
-  {0xaefc, 0x23e9b4b9},
-  {0xaefd, 0x23e9b8b0},
-  {0xaefe, 0x23e9b8b1},
-  {0xaeff, 0x23e9b8b2},
-  {0xaf00, 0x23e9b8b3},
-  {0xaf01, 0x23e9b8b4},
-  {0xaf02, 0x23e9b8b5},
-  {0xaf03, 0x23e9b8b6},
-  {0xaf04, 0x23e9b8b7},
-  {0xaf05, 0x23e9b8b8},
-  {0xaf06, 0x23e9b8b9},
-  {0xaf07, 0x23e9bcb0},
-  {0xaf08, 0x23e9bcb1},
-  {0xaf09, 0x23e9bcb2},
-  {0xaf0a, 0x23e9bcb3},
-  {0xaf0b, 0x23e9bcb4},
-  {0xaf0c, 0x23e9bcb5},
-  {0xaf0d, 0x23e9bcb6},
-  {0xaf0e, 0x23e9bcb7},
-  {0xaf0f, 0x23e9bcb8},
-  {0xaf10, 0x23e9bcb9},
-  {0xaf11, 0x23ea80b0},
-  {0xaf12, 0x23ea80b1},
-  {0xaf13, 0x23ea80b2},
-  {0xaf14, 0x23ea80b3},
-  {0xaf15, 0x23ea80b4},
-  {0xaf16, 0x23ea80b5},
-  {0xaf17, 0x23ea80b6},
-  {0xaf18, 0x23ea80b7},
-  {0xaf19, 0x23ea80b8},
-  {0xaf1a, 0x23ea80b9},
-  {0xaf1b, 0x23ea84b0},
-  {0xaf1c, 0x23ea84b1},
-  {0xaf1d, 0x23ea84b2},
-  {0xaf1e, 0x23ea84b3},
-  {0xaf1f, 0x23ea84b4},
-  {0xaf20, 0x23ea84b5},
-  {0xaf21, 0x23ea84b6},
-  {0xaf22, 0x23ea84b7},
-  {0xaf23, 0x23ea84b8},
-  {0xaf24, 0x23ea84b9},
-  {0xaf25, 0x23ea88b0},
-  {0xaf26, 0x23ea88b1},
-  {0xaf27, 0x23ea88b2},
-  {0xaf28, 0x23ea88b3},
-  {0xaf29, 0x23ea88b4},
-  {0xaf2a, 0x23ea88b5},
-  {0xaf2b, 0x23ea88b6},
-  {0xaf2c, 0x23ea88b7},
-  {0xaf2d, 0x23ea88b8},
-  {0xaf2e, 0x23ea88b9},
-  {0xaf2f, 0x23ea8cb0},
-  {0xaf30, 0x23ea8cb1},
-  {0xaf31, 0x23ea8cb2},
-  {0xaf32, 0x23ea8cb3},
-  {0xaf33, 0x23ea8cb4},
-  {0xaf34, 0x23ea8cb5},
-  {0xaf35, 0x23ea8cb6},
-  {0xaf36, 0x23ea8cb7},
-  {0xaf37, 0x23ea8cb8},
-  {0xaf38, 0x23ea8cb9},
-  {0xaf39, 0x23ea90b0},
-  {0xaf3a, 0x23ea90b1},
-  {0xaf3b, 0x23ea90b2},
-  {0xaf3c, 0x23ea90b3},
-  {0xaf3d, 0x23ea90b4},
-  {0xaf3e, 0x23ea90b5},
-  {0xaf3f, 0x23ea90b6},
-  {0xaf40, 0x23ea90b7},
-  {0xaf41, 0x23ea90b8},
-  {0xaf42, 0x23ea90b9},
-  {0xaf43, 0x23ea94b0},
-  {0xaf44, 0x23ea94b1},
-  {0xaf45, 0x23ea94b2},
-  {0xaf46, 0x23ea94b3},
-  {0xaf47, 0x23ea94b4},
-  {0xaf48, 0x23ea94b5},
-  {0xaf49, 0x23ea94b6},
-  {0xaf4a, 0x23ea94b7},
-  {0xaf4b, 0x23ea94b8},
-  {0xaf4c, 0x23ea94b9},
-  {0xaf4d, 0x23ea98b0},
-  {0xaf4e, 0x23ea98b1},
-  {0xaf4f, 0x23ea98b2},
-  {0xaf50, 0x23ea98b3},
-  {0xaf51, 0x23ea98b4},
-  {0xaf52, 0x23ea98b5},
-  {0xaf53, 0x23ea98b6},
-  {0xaf54, 0x23ea98b7},
-  {0xaf55, 0x23ea98b8},
-  {0xaf56, 0x23ea98b9},
-  {0xaf57, 0x23ea9cb0},
-  {0xaf58, 0x23ea9cb1},
-  {0xaf59, 0x23ea9cb2},
-  {0xaf5a, 0x23ea9cb3},
-  {0xaf5b, 0x23ea9cb4},
-  {0xaf5c, 0x23ea9cb5},
-  {0xaf5d, 0x23ea9cb6},
-  {0xaf5e, 0x23ea9cb7},
-  {0xaf5f, 0x23ea9cb8},
-  {0xaf60, 0x23ea9cb9},
-  {0xaf61, 0x23eaa0b0},
-  {0xaf62, 0x23eaa0b1},
-  {0xaf63, 0x23eaa0b2},
-  {0xaf64, 0x23eaa0b3},
-  {0xaf65, 0x23eaa0b4},
-  {0xaf66, 0x23eaa0b5},
-  {0xaf67, 0x23eaa0b6},
-  {0xaf68, 0x23eaa0b7},
-  {0xaf69, 0x23eaa0b8},
-  {0xaf6a, 0x23eaa0b9},
-  {0xaf6b, 0x23eaa4b0},
-  {0xaf6c, 0x23eaa4b1},
-  {0xaf6d, 0x23eaa4b2},
-  {0xaf6e, 0x23eaa4b3},
-  {0xaf6f, 0x23eaa4b4},
-  {0xaf70, 0x23eaa4b5},
-  {0xaf71, 0x23eaa4b6},
-  {0xaf72, 0x23eaa4b7},
-  {0xaf73, 0x23eaa4b8},
-  {0xaf74, 0x23eaa4b9},
-  {0xaf75, 0x23eaa8b0},
-  {0xaf76, 0x23eaa8b1},
-  {0xaf77, 0x23eaa8b2},
-  {0xaf78, 0x23eaa8b3},
-  {0xaf79, 0x23eaa8b4},
-  {0xaf7a, 0x23eaa8b5},
-  {0xaf7b, 0x23eaa8b6},
-  {0xaf7c, 0x23eaa8b7},
-  {0xaf7d, 0x23eaa8b8},
-  {0xaf7e, 0x23eaa8b9},
-  {0xaf7f, 0x23eaacb0},
-  {0xaf80, 0x23eaacb1},
-  {0xaf81, 0x23eaacb2},
-  {0xaf82, 0x23eaacb3},
-  {0xaf83, 0x23eaacb4},
-  {0xaf84, 0x23eaacb5},
-  {0xaf85, 0x23eaacb6},
-  {0xaf86, 0x23eaacb7},
-  {0xaf87, 0x23eaacb8},
-  {0xaf88, 0x23eaacb9},
-  {0xaf89, 0x23eab0b0},
-  {0xaf8a, 0x23eab0b1},
-  {0xaf8b, 0x23eab0b2},
-  {0xaf8c, 0x23eab0b3},
-  {0xaf8d, 0x23eab0b4},
-  {0xaf8e, 0x23eab0b5},
-  {0xaf8f, 0x23eab0b6},
-  {0xaf90, 0x23eab0b7},
-  {0xaf91, 0x23eab0b8},
-  {0xaf92, 0x23eab0b9},
-  {0xaf93, 0x23eab4b0},
-  {0xaf94, 0x23eab4b1},
-  {0xaf95, 0x23eab4b2},
-  {0xaf96, 0x23eab4b3},
-  {0xaf97, 0x23eab4b4},
-  {0xaf98, 0x23eab4b5},
-  {0xaf99, 0x23eab4b6},
-  {0xaf9a, 0x23eab4b7},
-  {0xaf9b, 0x23eab4b8},
-  {0xaf9c, 0x23eab4b9},
-  {0xaf9d, 0x23eab8b0},
-  {0xaf9e, 0x23eab8b1},
-  {0xaf9f, 0x23eab8b2},
-  {0xafa0, 0x23eab8b3},
-  {0xafa1, 0x23eab8b4},
-  {0xafa2, 0x23eab8b5},
-  {0xafa3, 0x23eab8b6},
-  {0xafa4, 0x23eab8b7},
-  {0xafa5, 0x23eab8b8},
-  {0xafa6, 0x23eab8b9},
-  {0xafa7, 0x23eabcb0},
-  {0xafa8, 0x23eabcb1},
-  {0xafa9, 0x23eabcb2},
-  {0xafaa, 0x23eabcb3},
-  {0xafab, 0x23eabcb4},
-  {0xafac, 0x23eabcb5},
-  {0xafad, 0x23eabcb6},
-  {0xafae, 0x23eabcb7},
-  {0xafaf, 0x23eabcb8},
-  {0xafb0, 0x23eabcb9},
-  {0xafb1, 0x23eb80b0},
-  {0xafb2, 0x23eb80b1},
-  {0xafb3, 0x23eb80b2},
-  {0xafb4, 0x23eb80b3},
-  {0xafb5, 0x23eb80b4},
-  {0xafb6, 0x23eb80b5},
-  {0xafb7, 0x23eb80b6},
-  {0xafb8, 0x23eb80b7},
-  {0xafb9, 0x23eb80b8},
-  {0xafba, 0x23eb80b9},
-  {0xafbb, 0x23eb84b0},
-  {0xafbc, 0x23eb84b1},
-  {0xafbd, 0x23eb84b2},
-  {0xafbe, 0x23eb84b3},
-  {0xafbf, 0x23eb84b4},
-  {0xafc0, 0x23eb84b5},
-  {0xafc1, 0x23eb84b6},
-  {0xafc2, 0x23eb84b7},
-  {0xafc3, 0x23eb84b8},
-  {0xafc4, 0x23eb84b9},
-  {0xafc5, 0x23eb88b0},
-  {0xafc6, 0x23eb88b1},
-  {0xafc7, 0x23eb88b2},
-  {0xafc8, 0x23eb88b3},
-  {0xafc9, 0x23eb88b4},
-  {0xafca, 0x23eb88b5},
-  {0xafcb, 0x23eb88b6},
-  {0xafcc, 0x23eb88b7},
-  {0xafcd, 0x23eb88b8},
-  {0xafce, 0x23eb88b9},
-  {0xafcf, 0x23eb8cb0},
-  {0xafd0, 0x23eb8cb1},
-  {0xafd1, 0x23eb8cb2},
-  {0xafd2, 0x23eb8cb3},
-  {0xafd3, 0x23eb8cb4},
-  {0xafd4, 0x23eb8cb5},
-  {0xafd5, 0x23eb8cb6},
-  {0xafd6, 0x23eb8cb7},
-  {0xafd7, 0x23eb8cb8},
-  {0xafd8, 0x23eb8cb9},
-  {0xafd9, 0x23eb90b0},
-  {0xafda, 0x23eb90b1},
-  {0xafdb, 0x23eb90b2},
-  {0xafdc, 0x23eb90b3},
-  {0xafdd, 0x23eb90b4},
-  {0xafde, 0x23eb90b5},
-  {0xafdf, 0x23eb90b6},
-  {0xafe0, 0x23eb90b7},
-  {0xafe1, 0x23eb90b8},
-  {0xafe2, 0x23eb90b9},
-  {0xafe3, 0x23eb94b0},
-  {0xafe4, 0x23eb94b1},
-  {0xafe5, 0x23eb94b2},
-  {0xafe6, 0x23eb94b3},
-  {0xafe7, 0x23eb94b4},
-  {0xafe8, 0x23eb94b5},
-  {0xafe9, 0x23eb94b6},
-  {0xafea, 0x23eb94b7},
-  {0xafeb, 0x23eb94b8},
-  {0xafec, 0x23eb94b9},
-  {0xafed, 0x23eb98b0},
-  {0xafee, 0x23eb98b1},
-  {0xafef, 0x23eb98b2},
-  {0xaff0, 0x23eb98b3},
-  {0xaff1, 0x23eb98b4},
-  {0xaff2, 0x23eb98b5},
-  {0xaff3, 0x23eb98b6},
-  {0xaff4, 0x23eb98b7},
-  {0xaff5, 0x23eb98b8},
-  {0xaff6, 0x23eb98b9},
-  {0xaff7, 0x23eb9cb0},
-  {0xaff8, 0x23eb9cb1},
-  {0xaff9, 0x23eb9cb2},
-  {0xaffa, 0x23eb9cb3},
-  {0xaffb, 0x23eb9cb4},
-  {0xaffc, 0x23eb9cb5},
-  {0xaffd, 0x23eb9cb6},
-  {0xaffe, 0x23eb9cb7},
-  {0xafff, 0x23eb9cb8},
-  {0xb000, 0x23eb9cb9},
-  {0xb001, 0x23eba0b0},
-  {0xb002, 0x23eba0b1},
-  {0xb003, 0x23eba0b2},
-  {0xb004, 0x23eba0b3},
-  {0xb005, 0x23eba0b4},
-  {0xb006, 0x23eba0b5},
-  {0xb007, 0x23eba0b6},
-  {0xb008, 0x23eba0b7},
-  {0xb009, 0x23eba0b8},
-  {0xb00a, 0x23eba0b9},
-  {0xb00b, 0x23eba4b0},
-  {0xb00c, 0x23eba4b1},
-  {0xb00d, 0x23eba4b2},
-  {0xb00e, 0x23eba4b3},
-  {0xb00f, 0x23eba4b4},
-  {0xb010, 0x23eba4b5},
-  {0xb011, 0x23eba4b6},
-  {0xb012, 0x23eba4b7},
-  {0xb013, 0x23eba4b8},
-  {0xb014, 0x23eba4b9},
-  {0xb015, 0x23eba8b0},
-  {0xb016, 0x23eba8b1},
-  {0xb017, 0x23eba8b2},
-  {0xb018, 0x23eba8b3},
-  {0xb019, 0x23eba8b4},
-  {0xb01a, 0x23eba8b5},
-  {0xb01b, 0x23eba8b6},
-  {0xb01c, 0x23eba8b7},
-  {0xb01d, 0x23eba8b8},
-  {0xb01e, 0x23eba8b9},
-  {0xb01f, 0x23ebacb0},
-  {0xb020, 0x23ebacb1},
-  {0xb021, 0x23ebacb2},
-  {0xb022, 0x23ebacb3},
-  {0xb023, 0x23ebacb4},
-  {0xb024, 0x23ebacb5},
-  {0xb025, 0x23ebacb6},
-  {0xb026, 0x23ebacb7},
-  {0xb027, 0x23ebacb8},
-  {0xb028, 0x23ebacb9},
-  {0xb029, 0x23ebb0b0},
-  {0xb02a, 0x23ebb0b1},
-  {0xb02b, 0x23ebb0b2},
-  {0xb02c, 0x23ebb0b3},
-  {0xb02d, 0x23ebb0b4},
-  {0xb02e, 0x23ebb0b5},
-  {0xb02f, 0x23ebb0b6},
-  {0xb030, 0x23ebb0b7},
-  {0xb031, 0x23ebb0b8},
-  {0xb032, 0x23ebb0b9},
-  {0xb033, 0x23ebb4b0},
-  {0xb034, 0x23ebb4b1},
-  {0xb035, 0x23ebb4b2},
-  {0xb036, 0x23ebb4b3},
-  {0xb037, 0x23ebb4b4},
-  {0xb038, 0x23ebb4b5},
-  {0xb039, 0x23ebb4b6},
-  {0xb03a, 0x23ebb4b7},
-  {0xb03b, 0x23ebb4b8},
-  {0xb03c, 0x23ebb4b9},
-  {0xb03d, 0x23ebb8b0},
-  {0xb03e, 0x23ebb8b1},
-  {0xb03f, 0x23ebb8b2},
-  {0xb040, 0x23ebb8b3},
-  {0xb041, 0x23ebb8b4},
-  {0xb042, 0x23ebb8b5},
-  {0xb043, 0x23ebb8b6},
-  {0xb044, 0x23ebb8b7},
-  {0xb045, 0x23ebb8b8},
-  {0xb046, 0x23ebb8b9},
-  {0xb047, 0x23ebbcb0},
-  {0xb048, 0x23ebbcb1},
-  {0xb049, 0x23ebbcb2},
-  {0xb04a, 0x23ebbcb3},
-  {0xb04b, 0x23ebbcb4},
-  {0xb04c, 0x23ebbcb5},
-  {0xb04d, 0x23ebbcb6},
-  {0xb04e, 0x23ebbcb7},
-  {0xb04f, 0x23ebbcb8},
-  {0xb050, 0x23ebbcb9},
-  {0xb051, 0x23ec80b0},
-  {0xb052, 0x23ec80b1},
-  {0xb053, 0x23ec80b2},
-  {0xb054, 0x23ec80b3},
-  {0xb055, 0x23ec80b4},
-  {0xb056, 0x23ec80b5},
-  {0xb057, 0x23ec80b6},
-  {0xb058, 0x23ec80b7},
-  {0xb059, 0x23ec80b8},
-  {0xb05a, 0x23ec80b9},
-  {0xb05b, 0x23ec84b0},
-  {0xb05c, 0x23ec84b1},
-  {0xb05d, 0x23ec84b2},
-  {0xb05e, 0x23ec84b3},
-  {0xb05f, 0x23ec84b4},
-  {0xb060, 0x23ec84b5},
-  {0xb061, 0x23ec84b6},
-  {0xb062, 0x23ec84b7},
-  {0xb063, 0x23ec84b8},
-  {0xb064, 0x23ec84b9},
-  {0xb065, 0x23ec88b0},
-  {0xb066, 0x23ec88b1},
-  {0xb067, 0x23ec88b2},
-  {0xb068, 0x23ec88b3},
-  {0xb069, 0x23ec88b4},
-  {0xb06a, 0x23ec88b5},
-  {0xb06b, 0x23ec88b6},
-  {0xb06c, 0x23ec88b7},
-  {0xb06d, 0x23ec88b8},
-  {0xb06e, 0x23ec88b9},
-  {0xb06f, 0x23ec8cb0},
-  {0xb070, 0x23ec8cb1},
-  {0xb071, 0x23ec8cb2},
-  {0xb072, 0x23ec8cb3},
-  {0xb073, 0x23ec8cb4},
-  {0xb074, 0x23ec8cb5},
-  {0xb075, 0x23ec8cb6},
-  {0xb076, 0x23ec8cb7},
-  {0xb077, 0x23ec8cb8},
-  {0xb078, 0x23ec8cb9},
-  {0xb079, 0x23ec90b0},
-  {0xb07a, 0x23ec90b1},
-  {0xb07b, 0x23ec90b2},
-  {0xb07c, 0x23ec90b3},
-  {0xb07d, 0x23ec90b4},
-  {0xb07e, 0x23ec90b5},
-  {0xb07f, 0x23ec90b6},
-  {0xb080, 0x23ec90b7},
-  {0xb081, 0x23ec90b8},
-  {0xb082, 0x23ec90b9},
-  {0xb083, 0x23ec94b0},
-  {0xb084, 0x23ec94b1},
-  {0xb085, 0x23ec94b2},
-  {0xb086, 0x23ec94b3},
-  {0xb087, 0x23ec94b4},
-  {0xb088, 0x23ec94b5},
-  {0xb089, 0x23ec94b6},
-  {0xb08a, 0x23ec94b7},
-  {0xb08b, 0x23ec94b8},
-  {0xb08c, 0x23ec94b9},
-  {0xb08d, 0x23ec98b0},
-  {0xb08e, 0x23ec98b1},
-  {0xb08f, 0x23ec98b2},
-  {0xb090, 0x23ec98b3},
-  {0xb091, 0x23ec98b4},
-  {0xb092, 0x23ec98b5},
-  {0xb093, 0x23ec98b6},
-  {0xb094, 0x23ec98b7},
-  {0xb095, 0x23ec98b8},
-  {0xb096, 0x23ec98b9},
-  {0xb097, 0x23ec9cb0},
-  {0xb098, 0x23ec9cb1},
-  {0xb099, 0x23ec9cb2},
-  {0xb09a, 0x23ec9cb3},
-  {0xb09b, 0x23ec9cb4},
-  {0xb09c, 0x23ec9cb5},
-  {0xb09d, 0x23ec9cb6},
-  {0xb09e, 0x23ec9cb7},
-  {0xb09f, 0x23ec9cb8},
-  {0xb0a0, 0x23ec9cb9},
-  {0xb0a1, 0x23eca0b0},
-  {0xb0a2, 0x23eca0b1},
-  {0xb0a3, 0x23eca0b2},
-  {0xb0a4, 0x23eca0b3},
-  {0xb0a5, 0x23eca0b4},
-  {0xb0a6, 0x23eca0b5},
-  {0xb0a7, 0x23eca0b6},
-  {0xb0a8, 0x23eca0b7},
-  {0xb0a9, 0x23eca0b8},
-  {0xb0aa, 0x23eca0b9},
-  {0xb0ab, 0x23eca4b0},
-  {0xb0ac, 0x23eca4b1},
-  {0xb0ad, 0x23eca4b2},
-  {0xb0ae, 0x23eca4b3},
-  {0xb0af, 0x23eca4b4},
-  {0xb0b0, 0x23eca4b5},
-  {0xb0b1, 0x23eca4b6},
-  {0xb0b2, 0x23eca4b7},
-  {0xb0b3, 0x23eca4b8},
-  {0xb0b4, 0x23eca4b9},
-  {0xb0b5, 0x23eca8b0},
-  {0xb0b6, 0x23eca8b1},
-  {0xb0b7, 0x23eca8b2},
-  {0xb0b8, 0x23eca8b3},
-  {0xb0b9, 0x23eca8b4},
-  {0xb0ba, 0x23eca8b5},
-  {0xb0bb, 0x23eca8b6},
-  {0xb0bc, 0x23eca8b7},
-  {0xb0bd, 0x23eca8b8},
-  {0xb0be, 0x23eca8b9},
-  {0xb0bf, 0x23ecacb0},
-  {0xb0c0, 0x23ecacb1},
-  {0xb0c1, 0x23ecacb2},
-  {0xb0c2, 0x23ecacb3},
-  {0xb0c3, 0x23ecacb4},
-  {0xb0c4, 0x23ecacb5},
-  {0xb0c5, 0x23ecacb6},
-  {0xb0c6, 0x23ecacb7},
-  {0xb0c7, 0x23ecacb8},
-  {0xb0c8, 0x23ecacb9},
-  {0xb0c9, 0x23ecb0b0},
-  {0xb0ca, 0x23ecb0b1},
-  {0xb0cb, 0x23ecb0b2},
-  {0xb0cc, 0x23ecb0b3},
-  {0xb0cd, 0x23ecb0b4},
-  {0xb0ce, 0x23ecb0b5},
-  {0xb0cf, 0x23ecb0b6},
-  {0xb0d0, 0x23ecb0b7},
-  {0xb0d1, 0x23ecb0b8},
-  {0xb0d2, 0x23ecb0b9},
-  {0xb0d3, 0x23ecb4b0},
-  {0xb0d4, 0x23ecb4b1},
-  {0xb0d5, 0x23ecb4b2},
-  {0xb0d6, 0x23ecb4b3},
-  {0xb0d7, 0x23ecb4b4},
-  {0xb0d8, 0x23ecb4b5},
-  {0xb0d9, 0x23ecb4b6},
-  {0xb0da, 0x23ecb4b7},
-  {0xb0db, 0x23ecb4b8},
-  {0xb0dc, 0x23ecb4b9},
-  {0xb0dd, 0x23ecb8b0},
-  {0xb0de, 0x23ecb8b1},
-  {0xb0df, 0x23ecb8b2},
-  {0xb0e0, 0x23ecb8b3},
-  {0xb0e1, 0x23ecb8b4},
-  {0xb0e2, 0x23ecb8b5},
-  {0xb0e3, 0x23ecb8b6},
-  {0xb0e4, 0x23ecb8b7},
-  {0xb0e5, 0x23ecb8b8},
-  {0xb0e6, 0x23ecb8b9},
-  {0xb0e7, 0x23ecbcb0},
-  {0xb0e8, 0x23ecbcb1},
-  {0xb0e9, 0x23ecbcb2},
-  {0xb0ea, 0x23ecbcb3},
-  {0xb0eb, 0x23ecbcb4},
-  {0xb0ec, 0x23ecbcb5},
-  {0xb0ed, 0x23ecbcb6},
-  {0xb0ee, 0x23ecbcb7},
-  {0xb0ef, 0x23ecbcb8},
-  {0xb0f0, 0x23ecbcb9},
-  {0xb0f1, 0x23ed80b0},
-  {0xb0f2, 0x23ed80b1},
-  {0xb0f3, 0x23ed80b2},
-  {0xb0f4, 0x23ed80b3},
-  {0xb0f5, 0x23ed80b4},
-  {0xb0f6, 0x23ed80b5},
-  {0xb0f7, 0x23ed80b6},
-  {0xb0f8, 0x23ed80b7},
-  {0xb0f9, 0x23ed80b8},
-  {0xb0fa, 0x23ed80b9},
-  {0xb0fb, 0x23ed84b0},
-  {0xb0fc, 0x23ed84b1},
-  {0xb0fd, 0x23ed84b2},
-  {0xb0fe, 0x23ed84b3},
-  {0xb0ff, 0x23ed84b4},
-  {0xb100, 0x23ed84b5},
-  {0xb101, 0x23ed84b6},
-  {0xb102, 0x23ed84b7},
-  {0xb103, 0x23ed84b8},
-  {0xb104, 0x23ed84b9},
-  {0xb105, 0x23ed88b0},
-  {0xb106, 0x23ed88b1},
-  {0xb107, 0x23ed88b2},
-  {0xb108, 0x23ed88b3},
-  {0xb109, 0x23ed88b4},
-  {0xb10a, 0x23ed88b5},
-  {0xb10b, 0x23ed88b6},
-  {0xb10c, 0x23ed88b7},
-  {0xb10d, 0x23ed88b8},
-  {0xb10e, 0x23ed88b9},
-  {0xb10f, 0x23ed8cb0},
-  {0xb110, 0x23ed8cb1},
-  {0xb111, 0x23ed8cb2},
-  {0xb112, 0x23ed8cb3},
-  {0xb113, 0x23ed8cb4},
-  {0xb114, 0x23ed8cb5},
-  {0xb115, 0x23ed8cb6},
-  {0xb116, 0x23ed8cb7},
-  {0xb117, 0x23ed8cb8},
-  {0xb118, 0x23ed8cb9},
-  {0xb119, 0x23ed90b0},
-  {0xb11a, 0x23ed90b1},
-  {0xb11b, 0x23ed90b2},
-  {0xb11c, 0x23ed90b3},
-  {0xb11d, 0x23ed90b4},
-  {0xb11e, 0x23ed90b5},
-  {0xb11f, 0x23ed90b6},
-  {0xb120, 0x23ed90b7},
-  {0xb121, 0x23ed90b8},
-  {0xb122, 0x23ed90b9},
-  {0xb123, 0x23ed94b0},
-  {0xb124, 0x23ed94b1},
-  {0xb125, 0x23ed94b2},
-  {0xb126, 0x23ed94b3},
-  {0xb127, 0x23ed94b4},
-  {0xb128, 0x23ed94b5},
-  {0xb129, 0x23ed94b6},
-  {0xb12a, 0x23ed94b7},
-  {0xb12b, 0x23ed94b8},
-  {0xb12c, 0x23ed94b9},
-  {0xb12d, 0x23ed98b0},
-  {0xb12e, 0x23ed98b1},
-  {0xb12f, 0x23ed98b2},
-  {0xb130, 0x23ed98b3},
-  {0xb131, 0x23ed98b4},
-  {0xb132, 0x23ed98b5},
-  {0xb133, 0x23ed98b6},
-  {0xb134, 0x23ed98b7},
-  {0xb135, 0x23ed98b8},
-  {0xb136, 0x23ed98b9},
-  {0xb137, 0x23ed9cb0},
-  {0xb138, 0x23ed9cb1},
-  {0xb139, 0x23ed9cb2},
-  {0xb13a, 0x23ed9cb3},
-  {0xb13b, 0x23ed9cb4},
-  {0xb13c, 0x23ed9cb5},
-  {0xb13d, 0x23ed9cb6},
-  {0xb13e, 0x23ed9cb7},
-  {0xb13f, 0x23ed9cb8},
-  {0xb140, 0x23ed9cb9},
-  {0xb141, 0x23eda0b0},
-  {0xb142, 0x23eda0b1},
-  {0xb143, 0x23eda0b2},
-  {0xb144, 0x23eda0b3},
-  {0xb145, 0x23eda0b4},
-  {0xb146, 0x23eda0b5},
-  {0xb147, 0x23eda0b6},
-  {0xb148, 0x23eda0b7},
-  {0xb149, 0x23eda0b8},
-  {0xb14a, 0x23eda0b9},
-  {0xb14b, 0x23eda4b0},
-  {0xb14c, 0x23eda4b1},
-  {0xb14d, 0x23eda4b2},
-  {0xb14e, 0x23eda4b3},
-  {0xb14f, 0x23eda4b4},
-  {0xb150, 0x23eda4b5},
-  {0xb151, 0x23eda4b6},
-  {0xb152, 0x23eda4b7},
-  {0xb153, 0x23eda4b8},
-  {0xb154, 0x23eda4b9},
-  {0xb155, 0x23eda8b0},
-  {0xb156, 0x23eda8b1},
-  {0xb157, 0x23eda8b2},
-  {0xb158, 0x23eda8b3},
-  {0xb159, 0x23eda8b4},
-  {0xb15a, 0x23eda8b5},
-  {0xb15b, 0x23eda8b6},
-  {0xb15c, 0x23eda8b7},
-  {0xb15d, 0x23eda8b8},
-  {0xb15e, 0x23eda8b9},
-  {0xb15f, 0x23edacb0},
-  {0xb160, 0x23edacb1},
-  {0xb161, 0x23edacb2},
-  {0xb162, 0x23edacb3},
-  {0xb163, 0x23edacb4},
-  {0xb164, 0x23edacb5},
-  {0xb165, 0x23edacb6},
-  {0xb166, 0x23edacb7},
-  {0xb167, 0x23edacb8},
-  {0xb168, 0x23edacb9},
-  {0xb169, 0x23edb0b0},
-  {0xb16a, 0x23edb0b1},
-  {0xb16b, 0x23edb0b2},
-  {0xb16c, 0x23edb0b3},
-  {0xb16d, 0x23edb0b4},
-  {0xb16e, 0x23edb0b5},
-  {0xb16f, 0x23edb0b6},
-  {0xb170, 0x23edb0b7},
-  {0xb171, 0x23edb0b8},
-  {0xb172, 0x23edb0b9},
-  {0xb173, 0x23edb4b0},
-  {0xb174, 0x23edb4b1},
-  {0xb175, 0x23edb4b2},
-  {0xb176, 0x23edb4b3},
-  {0xb177, 0x23edb4b4},
-  {0xb178, 0x23edb4b5},
-  {0xb179, 0x23edb4b6},
-  {0xb17a, 0x23edb4b7},
-  {0xb17b, 0x23edb4b8},
-  {0xb17c, 0x23edb4b9},
-  {0xb17d, 0x23edb8b0},
-  {0xb17e, 0x23edb8b1},
-  {0xb17f, 0x23edb8b2},
-  {0xb180, 0x23edb8b3},
-  {0xb181, 0x23edb8b4},
-  {0xb182, 0x23edb8b5},
-  {0xb183, 0x23edb8b6},
-  {0xb184, 0x23edb8b7},
-  {0xb185, 0x23edb8b8},
-  {0xb186, 0x23edb8b9},
-  {0xb187, 0x23edbcb0},
-  {0xb188, 0x23edbcb1},
-  {0xb189, 0x23edbcb2},
-  {0xb18a, 0x23edbcb3},
-  {0xb18b, 0x23edbcb4},
-  {0xb18c, 0x23edbcb5},
-  {0xb18d, 0x23edbcb6},
-  {0xb18e, 0x23edbcb7},
-  {0xb18f, 0x23edbcb8},
-  {0xb190, 0x23edbcb9},
-  {0xb191, 0x23ee80b0},
-  {0xb192, 0x23ee80b1},
-  {0xb193, 0x23ee80b2},
-  {0xb194, 0x23ee80b3},
-  {0xb195, 0x23ee80b4},
-  {0xb196, 0x23ee80b5},
-  {0xb197, 0x23ee80b6},
-  {0xb198, 0x23ee80b7},
-  {0xb199, 0x23ee80b8},
-  {0xb19a, 0x23ee80b9},
-  {0xb19b, 0x23ee84b0},
-  {0xb19c, 0x23ee84b1},
-  {0xb19d, 0x23ee84b2},
-  {0xb19e, 0x23ee84b3},
-  {0xb19f, 0x23ee84b4},
-  {0xb1a0, 0x23ee84b5},
-  {0xb1a1, 0x23ee84b6},
-  {0xb1a2, 0x23ee84b7},
-  {0xb1a3, 0x23ee84b8},
-  {0xb1a4, 0x23ee84b9},
-  {0xb1a5, 0x23ee88b0},
-  {0xb1a6, 0x23ee88b1},
-  {0xb1a7, 0x23ee88b2},
-  {0xb1a8, 0x23ee88b3},
-  {0xb1a9, 0x23ee88b4},
-  {0xb1aa, 0x23ee88b5},
-  {0xb1ab, 0x23ee88b6},
-  {0xb1ac, 0x23ee88b7},
-  {0xb1ad, 0x23ee88b8},
-  {0xb1ae, 0x23ee88b9},
-  {0xb1af, 0x23ee8cb0},
-  {0xb1b0, 0x23ee8cb1},
-  {0xb1b1, 0x23ee8cb2},
-  {0xb1b2, 0x23ee8cb3},
-  {0xb1b3, 0x23ee8cb4},
-  {0xb1b4, 0x23ee8cb5},
-  {0xb1b5, 0x23ee8cb6},
-  {0xb1b6, 0x23ee8cb7},
-  {0xb1b7, 0x23ee8cb8},
-  {0xb1b8, 0x23ee8cb9},
-  {0xb1b9, 0x23ee90b0},
-  {0xb1ba, 0x23ee90b1},
-  {0xb1bb, 0x23ee90b2},
-  {0xb1bc, 0x23ee90b3},
-  {0xb1bd, 0x23ee90b4},
-  {0xb1be, 0x23ee90b5},
-  {0xb1bf, 0x23ee90b6},
-  {0xb1c0, 0x23ee90b7},
-  {0xb1c1, 0x23ee90b8},
-  {0xb1c2, 0x23ee90b9},
-  {0xb1c3, 0x23ee94b0},
-  {0xb1c4, 0x23ee94b1},
-  {0xb1c5, 0x23ee94b2},
-  {0xb1c6, 0x23ee94b3},
-  {0xb1c7, 0x23ee94b4},
-  {0xb1c8, 0x23ee94b5},
-  {0xb1c9, 0x23ee94b6},
-  {0xb1ca, 0x23ee94b7},
-  {0xb1cb, 0x23ee94b8},
-  {0xb1cc, 0x23ee94b9},
-  {0xb1cd, 0x23ee98b0},
-  {0xb1ce, 0x23ee98b1},
-  {0xb1cf, 0x23ee98b2},
-  {0xb1d0, 0x23ee98b3},
-  {0xb1d1, 0x23ee98b4},
-  {0xb1d2, 0x23ee98b5},
-  {0xb1d3, 0x23ee98b6},
-  {0xb1d4, 0x23ee98b7},
-  {0xb1d5, 0x23ee98b8},
-  {0xb1d6, 0x23ee98b9},
-  {0xb1d7, 0x23ee9cb0},
-  {0xb1d8, 0x23ee9cb1},
-  {0xb1d9, 0x23ee9cb2},
-  {0xb1da, 0x23ee9cb3},
-  {0xb1db, 0x23ee9cb4},
-  {0xb1dc, 0x23ee9cb5},
-  {0xb1dd, 0x23ee9cb6},
-  {0xb1de, 0x23ee9cb7},
-  {0xb1df, 0x23ee9cb8},
-  {0xb1e0, 0x23ee9cb9},
-  {0xb1e1, 0x23eea0b0},
-  {0xb1e2, 0x23eea0b1},
-  {0xb1e3, 0x23eea0b2},
-  {0xb1e4, 0x23eea0b3},
-  {0xb1e5, 0x23eea0b4},
-  {0xb1e6, 0x23eea0b5},
-  {0xb1e7, 0x23eea0b6},
-  {0xb1e8, 0x23eea0b7},
-  {0xb1e9, 0x23eea0b8},
-  {0xb1ea, 0x23eea0b9},
-  {0xb1eb, 0x23eea4b0},
-  {0xb1ec, 0x23eea4b1},
-  {0xb1ed, 0x23eea4b2},
-  {0xb1ee, 0x23eea4b3},
-  {0xb1ef, 0x23eea4b4},
-  {0xb1f0, 0x23eea4b5},
-  {0xb1f1, 0x23eea4b6},
-  {0xb1f2, 0x23eea4b7},
-  {0xb1f3, 0x23eea4b8},
-  {0xb1f4, 0x23eea4b9},
-  {0xb1f5, 0x23eea8b0},
-  {0xb1f6, 0x23eea8b1},
-  {0xb1f7, 0x23eea8b2},
-  {0xb1f8, 0x23eea8b3},
-  {0xb1f9, 0x23eea8b4},
-  {0xb1fa, 0x23eea8b5},
-  {0xb1fb, 0x23eea8b6},
-  {0xb1fc, 0x23eea8b7},
-  {0xb1fd, 0x23eea8b8},
-  {0xb1fe, 0x23eea8b9},
-  {0xb1ff, 0x23eeacb0},
-  {0xb200, 0x23eeacb1},
-  {0xb201, 0x23eeacb2},
-  {0xb202, 0x23eeacb3},
-  {0xb203, 0x23eeacb4},
-  {0xb204, 0x23eeacb5},
-  {0xb205, 0x23eeacb6},
-  {0xb206, 0x23eeacb7},
-  {0xb207, 0x23eeacb8},
-  {0xb208, 0x23eeacb9},
-  {0xb209, 0x23eeb0b0},
-  {0xb20a, 0x23eeb0b1},
-  {0xb20b, 0x23eeb0b2},
-  {0xb20c, 0x23eeb0b3},
-  {0xb20d, 0x23eeb0b4},
-  {0xb20e, 0x23eeb0b5},
-  {0xb20f, 0x23eeb0b6},
-  {0xb210, 0x23eeb0b7},
-  {0xb211, 0x23eeb0b8},
-  {0xb212, 0x23eeb0b9},
-  {0xb213, 0x23eeb4b0},
-  {0xb214, 0x23eeb4b1},
-  {0xb215, 0x23eeb4b2},
-  {0xb216, 0x23eeb4b3},
-  {0xb217, 0x23eeb4b4},
-  {0xb218, 0x23eeb4b5},
-  {0xb219, 0x23eeb4b6},
-  {0xb21a, 0x23eeb4b7},
-  {0xb21b, 0x23eeb4b8},
-  {0xb21c, 0x23eeb4b9},
-  {0xb21d, 0x23eeb8b0},
-  {0xb21e, 0x23eeb8b1},
-  {0xb21f, 0x23eeb8b2},
-  {0xb220, 0x23eeb8b3},
-  {0xb221, 0x23eeb8b4},
-  {0xb222, 0x23eeb8b5},
-  {0xb223, 0x23eeb8b6},
-  {0xb224, 0x23eeb8b7},
-  {0xb225, 0x23eeb8b8},
-  {0xb226, 0x23eeb8b9},
-  {0xb227, 0x23eebcb0},
-  {0xb228, 0x23eebcb1},
-  {0xb229, 0x23eebcb2},
-  {0xb22a, 0x23eebcb3},
-  {0xb22b, 0x23eebcb4},
-  {0xb22c, 0x23eebcb5},
-  {0xb22d, 0x23eebcb6},
-  {0xb22e, 0x23eebcb7},
-  {0xb22f, 0x23eebcb8},
-  {0xb230, 0x23eebcb9},
-  {0xb231, 0x23ef80b0},
-  {0xb232, 0x23ef80b1},
-  {0xb233, 0x23ef80b2},
-  {0xb234, 0x23ef80b3},
-  {0xb235, 0x23ef80b4},
-  {0xb236, 0x23ef80b5},
-  {0xb237, 0x23ef80b6},
-  {0xb238, 0x23ef80b7},
-  {0xb239, 0x23ef80b8},
-  {0xb23a, 0x23ef80b9},
-  {0xb23b, 0x23ef84b0},
-  {0xb23c, 0x23ef84b1},
-  {0xb23d, 0x23ef84b2},
-  {0xb23e, 0x23ef84b3},
-  {0xb23f, 0x23ef84b4},
-  {0xb240, 0x23ef84b5},
-  {0xb241, 0x23ef84b6},
-  {0xb242, 0x23ef84b7},
-  {0xb243, 0x23ef84b8},
-  {0xb244, 0x23ef84b9},
-  {0xb245, 0x23ef88b0},
-  {0xb246, 0x23ef88b1},
-  {0xb247, 0x23ef88b2},
-  {0xb248, 0x23ef88b3},
-  {0xb249, 0x23ef88b4},
-  {0xb24a, 0x23ef88b5},
-  {0xb24b, 0x23ef88b6},
-  {0xb24c, 0x23ef88b7},
-  {0xb24d, 0x23ef88b8},
-  {0xb24e, 0x23ef88b9},
-  {0xb24f, 0x23ef8cb0},
-  {0xb250, 0x23ef8cb1},
-  {0xb251, 0x23ef8cb2},
-  {0xb252, 0x23ef8cb3},
-  {0xb253, 0x23ef8cb4},
-  {0xb254, 0x23ef8cb5},
-  {0xb255, 0x23ef8cb6},
-  {0xb256, 0x23ef8cb7},
-  {0xb257, 0x23ef8cb8},
-  {0xb258, 0x23ef8cb9},
-  {0xb259, 0x23ef90b0},
-  {0xb25a, 0x23ef90b1},
-  {0xb25b, 0x23ef90b2},
-  {0xb25c, 0x23ef90b3},
-  {0xb25d, 0x23ef90b4},
-  {0xb25e, 0x23ef90b5},
-  {0xb25f, 0x23ef90b6},
-  {0xb260, 0x23ef90b7},
-  {0xb261, 0x23ef90b8},
-  {0xb262, 0x23ef90b9},
-  {0xb263, 0x23ef94b0},
-  {0xb264, 0x23ef94b1},
-  {0xb265, 0x23ef94b2},
-  {0xb266, 0x23ef94b3},
-  {0xb267, 0x23ef94b4},
-  {0xb268, 0x23ef94b5},
-  {0xb269, 0x23ef94b6},
-  {0xb26a, 0x23ef94b7},
-  {0xb26b, 0x23ef94b8},
-  {0xb26c, 0x23ef94b9},
-  {0xb26d, 0x23ef98b0},
-  {0xb26e, 0x23ef98b1},
-  {0xb26f, 0x23ef98b2},
-  {0xb270, 0x23ef98b3},
-  {0xb271, 0x23ef98b4},
-  {0xb272, 0x23ef98b5},
-  {0xb273, 0x23ef98b6},
-  {0xb274, 0x23ef98b7},
-  {0xb275, 0x23ef98b8},
-  {0xb276, 0x23ef98b9},
-  {0xb277, 0x23ef9cb0},
-  {0xb278, 0x23ef9cb1},
-  {0xb279, 0x23ef9cb2},
-  {0xb27a, 0x23ef9cb3},
-  {0xb27b, 0x23ef9cb4},
-  {0xb27c, 0x23ef9cb5},
-  {0xb27d, 0x23ef9cb6},
-  {0xb27e, 0x23ef9cb7},
-  {0xb27f, 0x23ef9cb8},
-  {0xb280, 0x23ef9cb9},
-  {0xb281, 0x23efa0b0},
-  {0xb282, 0x23efa0b1},
-  {0xb283, 0x23efa0b2},
-  {0xb284, 0x23efa0b3},
-  {0xb285, 0x23efa0b4},
-  {0xb286, 0x23efa0b5},
-  {0xb287, 0x23efa0b6},
-  {0xb288, 0x23efa0b7},
-  {0xb289, 0x23efa0b8},
-  {0xb28a, 0x23efa0b9},
-  {0xb28b, 0x23efa4b0},
-  {0xb28c, 0x23efa4b1},
-  {0xb28d, 0x23efa4b2},
-  {0xb28e, 0x23efa4b3},
-  {0xb28f, 0x23efa4b4},
-  {0xb290, 0x23efa4b5},
-  {0xb291, 0x23efa4b6},
-  {0xb292, 0x23efa4b7},
-  {0xb293, 0x23efa4b8},
-  {0xb294, 0x23efa4b9},
-  {0xb295, 0x23efa8b0},
-  {0xb296, 0x23efa8b1},
-  {0xb297, 0x23efa8b2},
-  {0xb298, 0x23efa8b3},
-  {0xb299, 0x23efa8b4},
-  {0xb29a, 0x23efa8b5},
-  {0xb29b, 0x23efa8b6},
-  {0xb29c, 0x23efa8b7},
-  {0xb29d, 0x23efa8b8},
-  {0xb29e, 0x23efa8b9},
-  {0xb29f, 0x23efacb0},
-  {0xb2a0, 0x23efacb1},
-  {0xb2a1, 0x23efacb2},
-  {0xb2a2, 0x23efacb3},
-  {0xb2a3, 0x23efacb4},
-  {0xb2a4, 0x23efacb5},
-  {0xb2a5, 0x23efacb6},
-  {0xb2a6, 0x23efacb7},
-  {0xb2a7, 0x23efacb8},
-  {0xb2a8, 0x23efacb9},
-  {0xb2a9, 0x23efb0b0},
-  {0xb2aa, 0x23efb0b1},
-  {0xb2ab, 0x23efb0b2},
-  {0xb2ac, 0x23efb0b3},
-  {0xb2ad, 0x23efb0b4},
-  {0xb2ae, 0x23efb0b5},
-  {0xb2af, 0x23efb0b6},
-  {0xb2b0, 0x23efb0b7},
-  {0xb2b1, 0x23efb0b8},
-  {0xb2b2, 0x23efb0b9},
-  {0xb2b3, 0x23efb4b0},
-  {0xb2b4, 0x23efb4b1},
-  {0xb2b5, 0x23efb4b2},
-  {0xb2b6, 0x23efb4b3},
-  {0xb2b7, 0x23efb4b4},
-  {0xb2b8, 0x23efb4b5},
-  {0xb2b9, 0x23efb4b6},
-  {0xb2ba, 0x23efb4b7},
-  {0xb2bb, 0x23efb4b8},
-  {0xb2bc, 0x23efb4b9},
-  {0xb2bd, 0x23efb8b0},
-  {0xb2be, 0x23efb8b1},
-  {0xb2bf, 0x23efb8b2},
-  {0xb2c0, 0x23efb8b3},
-  {0xb2c1, 0x23efb8b4},
-  {0xb2c2, 0x23efb8b5},
-  {0xb2c3, 0x23efb8b6},
-  {0xb2c4, 0x23efb8b7},
-  {0xb2c5, 0x23efb8b8},
-  {0xb2c6, 0x23efb8b9},
-  {0xb2c7, 0x23f884b0},
-  {0xb2c8, 0x23f884b1},
-  {0xb2c9, 0x23f884b2},
-  {0xb2ca, 0x23f884b3},
-  {0xb2cb, 0x23f884b4},
-  {0xb2cc, 0x23f884b5},
-  {0xb2cd, 0x23f884b6},
-  {0xb2ce, 0x23f884b7},
-  {0xb2cf, 0x23f884b8},
-  {0xb2d0, 0x23f884b9},
-  {0xb2d1, 0x23f888b0},
-  {0xb2d2, 0x23f888b1},
-  {0xb2d3, 0x23f888b2},
-  {0xb2d4, 0x23f888b3},
-  {0xb2d5, 0x23f888b4},
-  {0xb2d6, 0x23f888b5},
-  {0xb2d7, 0x23f888b6},
-  {0xb2d8, 0x23f888b7},
-  {0xb2d9, 0x23f888b8},
-  {0xb2da, 0x23f888b9},
-  {0xb2db, 0x23f88cb0},
-  {0xb2dc, 0x23f88cb1},
-  {0xb2dd, 0x23f88cb2},
-  {0xb2de, 0x23f88cb3},
-  {0xb2df, 0x23f88cb4},
-  {0xb2e0, 0x23f88cb5},
-  {0xb2e1, 0x23f88cb6},
-  {0xb2e2, 0x23f88cb7},
-  {0xb2e3, 0x23f88cb8},
-  {0xb2e4, 0x23f88cb9},
-  {0xb2e5, 0x23f890b0},
-  {0xb2e6, 0x23f890b1},
-  {0xb2e7, 0x23f890b2},
-  {0xb2e8, 0x23f890b3},
-  {0xb2e9, 0x23f890b4},
-  {0xb2ea, 0x23f890b5},
-  {0xb2eb, 0x23f890b6},
-  {0xb2ec, 0x23f890b7},
-  {0xb2ed, 0x23f890b8},
-  {0xb2ee, 0x23f890b9},
-  {0xb2ef, 0x23f894b0},
-  {0xb2f0, 0x23f894b1},
-  {0xb2f1, 0x23f894b2},
-  {0xb2f2, 0x23f894b3},
-  {0xb2f3, 0x23f894b4},
-  {0xb2f4, 0x23f894b5},
-  {0xb2f5, 0x23f894b6},
-  {0xb2f6, 0x23f894b7},
-  {0xb2f7, 0x23f894b8},
-  {0xb2f8, 0x23f894b9},
-  {0xb2f9, 0x23f898b0},
-  {0xb2fa, 0x23f898b1},
-  {0xb2fb, 0x23f898b2},
-  {0xb2fc, 0x23f898b3},
-  {0xb2fd, 0x23f898b4},
-  {0xb2fe, 0x23f898b5},
-  {0xb2ff, 0x23f898b6},
-  {0xb300, 0x23f898b7},
-  {0xb301, 0x23f898b8},
-  {0xb302, 0x23f898b9},
-  {0xb303, 0x23f89cb0},
-  {0xb304, 0x23f89cb1},
-  {0xb305, 0x23f89cb2},
-  {0xb306, 0x23f89cb3},
-  {0xb307, 0x23f89cb4},
-  {0xb308, 0x23f89cb5},
-  {0xb309, 0x23f89cb6},
-  {0xb30a, 0x23f89cb7},
-  {0xb30b, 0x23f89cb8},
-  {0xb30c, 0x23f89cb9},
-  {0xb30d, 0x23f8a0b0},
-  {0xb30e, 0x23f8a0b1},
-  {0xb30f, 0x23f8a0b2},
-  {0xb310, 0x23f8a0b3},
-  {0xb311, 0x23f8a0b4},
-  {0xb312, 0x23f8a0b5},
-  {0xb313, 0x23f8a0b6},
-  {0xb314, 0x23f8a0b7},
-  {0xb315, 0x23f8a0b8},
-  {0xb316, 0x23f8a0b9},
-  {0xb317, 0x23f8a4b0},
-  {0xb318, 0x23f8a4b1},
-  {0xb319, 0x23f8a4b2},
-  {0xb31a, 0x23f8a4b3},
-  {0xb31b, 0x23f8a4b4},
-  {0xb31c, 0x23f8a4b5},
-  {0xb31d, 0x23f8a4b6},
-  {0xb31e, 0x23f8a4b7},
-  {0xb31f, 0x23f8a4b8},
-  {0xb320, 0x23f8a4b9},
-  {0xb321, 0x23f8a8b0},
-  {0xb322, 0x23f8a8b1},
-  {0xb323, 0x23f8a8b2},
-  {0xb324, 0x23f8a8b3},
-  {0xb325, 0x23f8a8b4},
-  {0xb326, 0x23f8a8b5},
-  {0xb327, 0x23f8a8b6},
-  {0xb328, 0x23f8a8b7},
-  {0xb329, 0x23f8a8b8},
-  {0xb32a, 0x23f8a8b9},
-  {0xb32b, 0x23f8acb0},
-  {0xb32c, 0x23f8acb1},
-  {0xb32d, 0x23f8acb2},
-  {0xb32e, 0x23f8acb3},
-  {0xb32f, 0x23f8acb4},
-  {0xb330, 0x23f8acb5},
-  {0xb331, 0x23f8acb6},
-  {0xb332, 0x23f8acb7},
-  {0xb333, 0x23f8acb8},
-  {0xb334, 0x23f8acb9},
-  {0xb335, 0x23f8b0b0},
-  {0xb336, 0x23f8b0b1},
-  {0xb337, 0x23f8b0b2},
-  {0xb338, 0x23f8b0b3},
-  {0xb339, 0x23f8b0b4},
-  {0xb33a, 0x23f8b0b5},
-  {0xb33b, 0x23f8b0b6},
-  {0xb33c, 0x23f8b0b7},
-  {0xb33d, 0x23f8b0b8},
-  {0xb33e, 0x23f8b0b9},
-  {0xb33f, 0x23f8b4b0},
-  {0xb340, 0x23f8b4b1},
-  {0xb341, 0x23f8b4b2},
-  {0xb342, 0x23f8b4b3},
-  {0xb343, 0x23f8b4b4},
-  {0xb344, 0x23f8b4b5},
-  {0xb345, 0x23f8b4b6},
-  {0xb346, 0x23f8b4b7},
-  {0xb347, 0x23f8b4b8},
-  {0xb348, 0x23f8b4b9},
-  {0xb349, 0x23f8b8b0},
-  {0xb34a, 0x23f8b8b1},
-  {0xb34b, 0x23f8b8b2},
-  {0xb34c, 0x23f8b8b3},
-  {0xb34d, 0x23f8b8b4},
-  {0xb34e, 0x23f8b8b5},
-  {0xb34f, 0x23f8b8b6},
-  {0xb350, 0x23f8b8b7},
-  {0xb351, 0x23f8b8b8},
-  {0xb352, 0x23f8b8b9},
-  {0xb353, 0x23f8bcb0},
-  {0xb354, 0x23f8bcb1},
-  {0xb355, 0x23f8bcb2},
-  {0xb356, 0x23f8bcb3},
-  {0xb357, 0x23f8bcb4},
-  {0xb358, 0x23f8bcb5},
-  {0xb359, 0x23f8bcb6},
-  {0xb35a, 0x23f8bcb7},
-  {0xb35b, 0x23f8bcb8},
-  {0xb35c, 0x23f8bcb9},
-  {0xb35d, 0x23f980b0},
-  {0xb35e, 0x23f980b1},
-  {0xb35f, 0x23f980b2},
-  {0xb360, 0x23f980b3},
-  {0xb361, 0x23f980b4},
-  {0xb362, 0x23f980b5},
-  {0xb363, 0x23f980b6},
-  {0xb364, 0x23f980b7},
-  {0xb365, 0x23f980b8},
-  {0xb366, 0x23f980b9},
-  {0xb367, 0x23f984b0},
-  {0xb368, 0x23f984b1},
-  {0xb369, 0x23f984b2},
-  {0xb36a, 0x23f984b3},
-  {0xb36b, 0x23f984b4},
-  {0xb36c, 0x23f984b5},
-  {0xb36d, 0x23f984b6},
-  {0xb36e, 0x23f984b7},
-  {0xb36f, 0x23f984b8},
-  {0xb370, 0x23f984b9},
-  {0xb371, 0x23f988b0},
-  {0xb372, 0x23f988b1},
-  {0xb373, 0x23f988b2},
-  {0xb374, 0x23f988b3},
-  {0xb375, 0x23f988b4},
-  {0xb376, 0x23f988b5},
-  {0xb377, 0x23f988b6},
-  {0xb378, 0x23f988b7},
-  {0xb379, 0x23f988b8},
-  {0xb37a, 0x23f988b9},
-  {0xb37b, 0x23f98cb0},
-  {0xb37c, 0x23f98cb1},
-  {0xb37d, 0x23f98cb2},
-  {0xb37e, 0x23f98cb3},
-  {0xb37f, 0x23f98cb4},
-  {0xb380, 0x23f98cb5},
-  {0xb381, 0x23f98cb6},
-  {0xb382, 0x23f98cb7},
-  {0xb383, 0x23f98cb8},
-  {0xb384, 0x23f98cb9},
-  {0xb385, 0x23f990b0},
-  {0xb386, 0x23f990b1},
-  {0xb387, 0x23f990b2},
-  {0xb388, 0x23f990b3},
-  {0xb389, 0x23f990b4},
-  {0xb38a, 0x23f990b5},
-  {0xb38b, 0x23f990b6},
-  {0xb38c, 0x23f990b7},
-  {0xb38d, 0x23f990b8},
-  {0xb38e, 0x23f990b9},
-  {0xb38f, 0x23f994b0},
-  {0xb390, 0x23f994b1},
-  {0xb391, 0x23f994b2},
-  {0xb392, 0x23f994b3},
-  {0xb393, 0x23f994b4},
-  {0xb394, 0x23f994b5},
-  {0xb395, 0x23f994b6},
-  {0xb396, 0x23f994b7},
-  {0xb397, 0x23f994b8},
-  {0xb398, 0x23f994b9},
-  {0xb399, 0x23f998b0},
-  {0xb39a, 0x23f998b1},
-  {0xb39b, 0x23f998b2},
-  {0xb39c, 0x23f998b3},
-  {0xb39d, 0x23f998b4},
-  {0xb39e, 0x23f998b5},
-  {0xb39f, 0x23f998b6},
-  {0xb3a0, 0x23f998b7},
-  {0xb3a1, 0x23f998b8},
-  {0xb3a2, 0x23f998b9},
-  {0xb3a3, 0x23f99cb0},
-  {0xb3a4, 0x23f99cb1},
-  {0xb3a5, 0x23f99cb2},
-  {0xb3a6, 0x23f99cb3},
-  {0xb3a7, 0x23f99cb4},
-  {0xb3a8, 0x23f99cb5},
-  {0xb3a9, 0x23f99cb6},
-  {0xb3aa, 0x23f99cb7},
-  {0xb3ab, 0x23f99cb8},
-  {0xb3ac, 0x23f99cb9},
-  {0xb3ad, 0x23f9a0b0},
-  {0xb3ae, 0x23f9a0b1},
-  {0xb3af, 0x23f9a0b2},
-  {0xb3b0, 0x23f9a0b3},
-  {0xb3b1, 0x23f9a0b4},
-  {0xb3b2, 0x23f9a0b5},
-  {0xb3b3, 0x23f9a0b6},
-  {0xb3b4, 0x23f9a0b7},
-  {0xb3b5, 0x23f9a0b8},
-  {0xb3b6, 0x23f9a0b9},
-  {0xb3b7, 0x23f9a4b0},
-  {0xb3b8, 0x23f9a4b1},
-  {0xb3b9, 0x23f9a4b2},
-  {0xb3ba, 0x23f9a4b3},
-  {0xb3bb, 0x23f9a4b4},
-  {0xb3bc, 0x23f9a4b5},
-  {0xb3bd, 0x23f9a4b6},
-  {0xb3be, 0x23f9a4b7},
-  {0xb3bf, 0x23f9a4b8},
-  {0xb3c0, 0x23f9a4b9},
-  {0xb3c1, 0x23f9a8b0},
-  {0xb3c2, 0x23f9a8b1},
-  {0xb3c3, 0x23f9a8b2},
-  {0xb3c4, 0x23f9a8b3},
-  {0xb3c5, 0x23f9a8b4},
-  {0xb3c6, 0x23f9a8b5},
-  {0xb3c7, 0x23f9a8b6},
-  {0xb3c8, 0x23f9a8b7},
-  {0xb3c9, 0x23f9a8b8},
-  {0xb3ca, 0x23f9a8b9},
-  {0xb3cb, 0x23f9acb0},
-  {0xb3cc, 0x23f9acb1},
-  {0xb3cd, 0x23f9acb2},
-  {0xb3ce, 0x23f9acb3},
-  {0xb3cf, 0x23f9acb4},
-  {0xb3d0, 0x23f9acb5},
-  {0xb3d1, 0x23f9acb6},
-  {0xb3d2, 0x23f9acb7},
-  {0xb3d3, 0x23f9acb8},
-  {0xb3d4, 0x23f9acb9},
-  {0xb3d5, 0x23f9b0b0},
-  {0xb3d6, 0x23f9b0b1},
-  {0xb3d7, 0x23f9b0b2},
-  {0xb3d8, 0x23f9b0b3},
-  {0xb3d9, 0x23f9b0b4},
-  {0xb3da, 0x23f9b0b5},
-  {0xb3db, 0x23f9b0b6},
-  {0xb3dc, 0x23f9b0b7},
-  {0xb3dd, 0x23f9b0b8},
-  {0xb3de, 0x23f9b0b9},
-  {0xb3df, 0x23f9b4b0},
-  {0xb3e0, 0x23f9b4b1},
-  {0xb3e1, 0x23f9b4b2},
-  {0xb3e2, 0x23f9b4b3},
-  {0xb3e3, 0x23f9b4b4},
-  {0xb3e4, 0x23f9b4b5},
-  {0xb3e5, 0x23f9b4b6},
-  {0xb3e6, 0x23f9b4b7},
-  {0xb3e7, 0x23f9b4b8},
-  {0xb3e8, 0x23f9b4b9},
-  {0xb3e9, 0x23f9b8b0},
-  {0xb3ea, 0x23f9b8b1},
-  {0xb3eb, 0x23f9b8b2},
-  {0xb3ec, 0x23f9b8b3},
-  {0xb3ed, 0x23f9b8b4},
-  {0xb3ee, 0x23f9b8b5},
-  {0xb3ef, 0x23f9b8b6},
-  {0xb3f0, 0x23f9b8b7},
-  {0xb3f1, 0x23f9b8b8},
-  {0xb3f2, 0x23f9b8b9},
-  {0xb3f3, 0x23f9bcb0},
-  {0xb3f4, 0x23f9bcb1},
-  {0xb3f5, 0x23f9bcb2},
-  {0xb3f6, 0x23f9bcb3},
-  {0xb3f7, 0x23f9bcb4},
-  {0xb3f8, 0x23f9bcb5},
-  {0xb3f9, 0x23f9bcb6},
-  {0xb3fa, 0x23f9bcb7},
-  {0xb3fb, 0x23f9bcb8},
-  {0xb3fc, 0x23f9bcb9},
-  {0xb3fd, 0x23fa80b0},
-  {0xb3fe, 0x23fa80b1},
-  {0xb3ff, 0x23fa80b2},
-  {0xb400, 0x23fa80b3},
-  {0xb401, 0x23fa80b4},
-  {0xb402, 0x23fa80b5},
-  {0xb403, 0x23fa80b6},
-  {0xb404, 0x23fa80b7},
-  {0xb405, 0x23fa80b8},
-  {0xb406, 0x23fa80b9},
-  {0xb407, 0x23fa84b0},
-  {0xb408, 0x23fa84b1},
-  {0xb409, 0x23fa84b2},
-  {0xb40a, 0x23fa84b3},
-  {0xb40b, 0x23fa84b4},
-  {0xb40c, 0x23fa84b5},
-  {0xb40d, 0x23fa84b6},
-  {0xb40e, 0x23fa84b7},
-  {0xb40f, 0x23fa84b8},
-  {0xb410, 0x23fa84b9},
-  {0xb411, 0x23fa88b0},
-  {0xb412, 0x23fa88b1},
-  {0xb413, 0x23fa88b2},
-  {0xb414, 0x23fa88b3},
-  {0xb415, 0x23fa88b4},
-  {0xb416, 0x23fa88b5},
-  {0xb417, 0x23fa88b6},
-  {0xb418, 0x23fa88b7},
-  {0xb419, 0x23fa88b8},
-  {0xb41a, 0x23fa88b9},
-  {0xb41b, 0x23fa8cb0},
-  {0xb41c, 0x23fa8cb1},
-  {0xb41d, 0x23fa8cb2},
-  {0xb41e, 0x23fa8cb3},
-  {0xb41f, 0x23fa8cb4},
-  {0xb420, 0x23fa8cb5},
-  {0xb421, 0x23fa8cb6},
-  {0xb422, 0x23fa8cb7},
-  {0xb423, 0x23fa8cb8},
-  {0xb424, 0x23fa8cb9},
-  {0xb425, 0x23fa90b0},
-  {0xb426, 0x23fa90b1},
-  {0xb427, 0x23fa90b2},
-  {0xb428, 0x23fa90b3},
-  {0xb429, 0x23fa90b4},
-  {0xb42a, 0x23fa90b5},
-  {0xb42b, 0x23fa90b6},
-  {0xb42c, 0x23fa90b7},
-  {0xb42d, 0x23fa90b8},
-  {0xb42e, 0x23fa90b9},
-  {0xb42f, 0x23fa94b0},
-  {0xb430, 0x23fa94b1},
-  {0xb431, 0x23fa94b2},
-  {0xb432, 0x23fa94b3},
-  {0xb433, 0x23fa94b4},
-  {0xb434, 0x23fa94b5},
-  {0xb435, 0x23fa94b6},
-  {0xb436, 0x23fa94b7},
-  {0xb437, 0x23fa94b8},
-  {0xb438, 0x23fa94b9},
-  {0xb439, 0x23fa98b0},
-  {0xb43a, 0x23fa98b1},
-  {0xb43b, 0x23fa98b2},
-  {0xb43c, 0x23fa98b3},
-  {0xb43d, 0x23fa98b4},
-  {0xb43e, 0x23fa98b5},
-  {0xb43f, 0x23fa98b6},
-  {0xb440, 0x23fa98b7},
-  {0xb441, 0x23fa98b8},
-  {0xb442, 0x23fa98b9},
-  {0xb443, 0x23fa9cb0},
-  {0xb444, 0x23fa9cb1},
-  {0xb445, 0x23fa9cb2},
-  {0xb446, 0x23fa9cb3},
-  {0xb447, 0x23fa9cb4},
-  {0xb448, 0x23fa9cb5},
-  {0xb449, 0x23fa9cb6},
-  {0xb44a, 0x23fa9cb7},
-  {0xb44b, 0x23fa9cb8},
-  {0xb44c, 0x23fa9cb9},
-  {0xb44d, 0x23faa0b0},
-  {0xb44e, 0x23faa0b1},
-  {0xb44f, 0x23faa0b2},
-  {0xb450, 0x23faa0b3},
-  {0xb451, 0x23faa0b4},
-  {0xb452, 0x23faa0b5},
-  {0xb453, 0x23faa0b6},
-  {0xb454, 0x23faa0b7},
-  {0xb455, 0x23faa0b8},
-  {0xb456, 0x23faa0b9},
-  {0xb457, 0x23faa4b0},
-  {0xb458, 0x23faa4b1},
-  {0xb459, 0x23faa4b2},
-  {0xb45a, 0x23faa4b3},
-  {0xb45b, 0x23faa4b4},
-  {0xb45c, 0x23faa4b5},
-  {0xb45d, 0x23faa4b6},
-  {0xb45e, 0x23faa4b7},
-  {0xb45f, 0x23faa4b8},
-  {0xb460, 0x23faa4b9},
-  {0xb461, 0x23faa8b0},
-  {0xb462, 0x23faa8b1},
-  {0xb463, 0x23faa8b2},
-  {0xb464, 0x23faa8b3},
-  {0xb465, 0x23faa8b4},
-  {0xb466, 0x23faa8b5},
-  {0xb467, 0x23faa8b6},
-  {0xb468, 0x23faa8b7},
-  {0xb469, 0x23faa8b8},
-  {0xb46a, 0x23faa8b9},
-  {0xb46b, 0x23faacb0},
-  {0xb46c, 0x23faacb1},
-  {0xb46d, 0x23faacb2},
-  {0xb46e, 0x23faacb3},
-  {0xb46f, 0x23faacb4},
-  {0xb470, 0x23faacb5},
-  {0xb471, 0x23faacb6},
-  {0xb472, 0x23faacb7},
-  {0xb473, 0x23faacb8},
-  {0xb474, 0x23faacb9},
-  {0xb475, 0x23fab0b0},
-  {0xb476, 0x23fab0b1},
-  {0xb477, 0x23fab0b2},
-  {0xb478, 0x23fab0b3},
-  {0xb479, 0x23fab0b4},
-  {0xb47a, 0x23fab0b5},
-  {0xb47b, 0x23fab0b6},
-  {0xb47c, 0x23fab0b7},
-  {0xb47d, 0x23fab0b8},
-  {0xb47e, 0x23fab0b9},
-  {0xb47f, 0x23fab4b0},
-  {0xb480, 0x23fab4b1},
-  {0xb481, 0x23fab4b2},
-  {0xb482, 0x23fab4b3},
-  {0xb483, 0x23fab4b4},
-  {0xb484, 0x23fab4b5},
-  {0xb485, 0x23fab4b6},
-  {0xb486, 0x23fab4b7},
-  {0xb487, 0x23fab4b8},
-  {0xb488, 0x23fab4b9},
-  {0xb489, 0x23fab8b0},
-  {0xb48a, 0x23fab8b1},
-  {0xb48b, 0x23fab8b2},
-  {0xb48c, 0x23fab8b3},
-  {0xb48d, 0x23fab8b4},
-  {0xb48e, 0x23fab8b5},
-  {0xb48f, 0x23fab8b6},
-  {0xb490, 0x23fab8b7},
-  {0xb491, 0x23fab8b8},
-  {0xb492, 0x23fab8b9},
-  {0xb493, 0x23fabcb0},
-  {0xb494, 0x23fabcb1},
-  {0xb495, 0x23fabcb2},
-  {0xb496, 0x23fabcb3},
-  {0xb497, 0x23fabcb4},
-  {0xb498, 0x23fabcb5},
-  {0xb499, 0x23fabcb6},
-  {0xb49a, 0x23fabcb7},
-  {0xb49b, 0x23fabcb8},
-  {0xb49c, 0x23fabcb9},
-  {0xb49d, 0x23fb80b0},
-  {0xb49e, 0x23fb80b1},
-  {0xb49f, 0x23fb80b2},
-  {0xb4a0, 0x23fb80b3},
-  {0xb4a1, 0x23fb80b4},
-  {0xb4a2, 0x23fb80b5},
-  {0xb4a3, 0x23fb80b6},
-  {0xb4a4, 0x23fb80b7},
-  {0xb4a5, 0x23fb80b8},
-  {0xb4a6, 0x23fb80b9},
-  {0xb4a7, 0x23fb84b0},
-  {0xb4a8, 0x23fb84b1},
-  {0xb4a9, 0x23fb84b2},
-  {0xb4aa, 0x23fb84b3},
-  {0xb4ab, 0x23fb84b4},
-  {0xb4ac, 0x23fb84b5},
-  {0xb4ad, 0x23fb84b6},
-  {0xb4ae, 0x23fb84b7},
-  {0xb4af, 0x23fb84b8},
-  {0xb4b0, 0x23fb84b9},
-  {0xb4b1, 0x23fb88b0},
-  {0xb4b2, 0x23fb88b1},
-  {0xb4b3, 0x23fb88b2},
-  {0xb4b4, 0x23fb88b3},
-  {0xb4b5, 0x23fb88b4},
-  {0xb4b6, 0x23fb88b5},
-  {0xb4b7, 0x23fb88b6},
-  {0xb4b8, 0x23fb88b7},
-  {0xb4b9, 0x23fb88b8},
-  {0xb4ba, 0x23fb88b9},
-  {0xb4bb, 0x23fb8cb0},
-  {0xb4bc, 0x23fb8cb1},
-  {0xb4bd, 0x23fb8cb2},
-  {0xb4be, 0x23fb8cb3},
-  {0xb4bf, 0x23fb8cb4},
-  {0xb4c0, 0x23fb8cb5},
-  {0xb4c1, 0x23fb8cb6},
-  {0xb4c2, 0x23fb8cb7},
-  {0xb4c3, 0x23fb8cb8},
-  {0xb4c4, 0x23fb8cb9},
-  {0xb4c5, 0x23fb90b0},
-  {0xb4c6, 0x23fb90b1},
-  {0xb4c7, 0x23fb90b2},
-  {0xb4c8, 0x23fb90b3},
-  {0xb4c9, 0x23fb90b4},
-  {0xb4ca, 0x23fb90b5},
-  {0xb4cb, 0x23fb90b6},
-  {0xb4cc, 0x23fb90b7},
-  {0xb4cd, 0x23fb90b8},
-  {0xb4ce, 0x23fb90b9},
-  {0xb4cf, 0x23fb94b0},
-  {0xb4d0, 0x23fb94b1},
-  {0xb4d1, 0x23fb94b2},
-  {0xb4d2, 0x23fb94b3},
-  {0xb4d3, 0x23fb94b4},
-  {0xb4d4, 0x23fb94b5},
-  {0xb4d5, 0x23fb94b6},
-  {0xb4d6, 0x23fb94b7},
-  {0xb4d7, 0x23fb94b8},
-  {0xb4d8, 0x23fb94b9},
-  {0xb4d9, 0x23fb98b0},
-  {0xb4da, 0x23fb98b1},
-  {0xb4db, 0x23fb98b2},
-  {0xb4dc, 0x23fb98b3},
-  {0xb4dd, 0x23fb98b4},
-  {0xb4de, 0x23fb98b5},
-  {0xb4df, 0x23fb98b6},
-  {0xb4e0, 0x23fb98b7},
-  {0xb4e1, 0x23fb98b8},
-  {0xb4e2, 0x23fb98b9},
-  {0xb4e3, 0x23fb9cb0},
-  {0xb4e4, 0x23fb9cb1},
-  {0xb4e5, 0x23fb9cb2},
-  {0xb4e6, 0x23fb9cb3},
-  {0xb4e7, 0x23fb9cb4},
-  {0xb4e8, 0x23fb9cb5},
-  {0xb4e9, 0x23fb9cb6},
-  {0xb4ea, 0x23fb9cb7},
-  {0xb4eb, 0x23fb9cb8},
-  {0xb4ec, 0x23fb9cb9},
-  {0xb4ed, 0x23fba0b0},
-  {0xb4ee, 0x23fba0b1},
-  {0xb4ef, 0x23fba0b2},
-  {0xb4f0, 0x23fba0b3},
-  {0xb4f1, 0x23fba0b4},
-  {0xb4f2, 0x23fba0b5},
-  {0xb4f3, 0x23fba0b6},
-  {0xb4f4, 0x23fba0b7},
-  {0xb4f5, 0x23fba0b8},
-  {0xb4f6, 0x23fba0b9},
-  {0xb4f7, 0x23fba4b0},
-  {0xb4f8, 0x23fba4b1},
-  {0xb4f9, 0x23fba4b2},
-  {0xb4fa, 0x23fba4b3},
-  {0xb4fb, 0x23fba4b4},
-  {0xb4fc, 0x23fba4b5},
-  {0xb4fd, 0x23fba4b6},
-  {0xb4fe, 0x23fba4b7},
-  {0xb4ff, 0x23fba4b8},
-  {0xb500, 0x23fba4b9},
-  {0xb501, 0x23fba8b0},
-  {0xb502, 0x23fba8b1},
-  {0xb503, 0x23fba8b2},
-  {0xb504, 0x23fba8b3},
-  {0xb505, 0x23fba8b4},
-  {0xb506, 0x23fba8b5},
-  {0xb507, 0x23fba8b6},
-  {0xb508, 0x23fba8b7},
-  {0xb509, 0x23fba8b8},
-  {0xb50a, 0x23fba8b9},
-  {0xb50b, 0x23fbacb0},
-  {0xb50c, 0x23fbacb1},
-  {0xb50d, 0x23fbacb2},
-  {0xb50e, 0x23fbacb3},
-  {0xb50f, 0x23fbacb4},
-  {0xb510, 0x23fbacb5},
-  {0xb511, 0x23fbacb6},
-  {0xb512, 0x23fbacb7},
-  {0xb513, 0x23fbacb8},
-  {0xb514, 0x23fbacb9},
-  {0xb515, 0x23fbb0b0},
-  {0xb516, 0x23fbb0b1},
-  {0xb517, 0x23fbb0b2},
-  {0xb518, 0x23fbb0b3},
-  {0xb519, 0x23fbb0b4},
-  {0xb51a, 0x23fbb0b5},
-  {0xb51b, 0x23fbb0b6},
-  {0xb51c, 0x23fbb0b7},
-  {0xb51d, 0x23fbb0b8},
-  {0xb51e, 0x23fbb0b9},
-  {0xb51f, 0x23fbb4b0},
-  {0xb520, 0x23fbb4b1},
-  {0xb521, 0x23fbb4b2},
-  {0xb522, 0x23fbb4b3},
-  {0xb523, 0x23fbb4b4},
-  {0xb524, 0x23fbb4b5},
-  {0xb525, 0x23fbb4b6},
-  {0xb526, 0x23fbb4b7},
-  {0xb527, 0x23fbb4b8},
-  {0xb528, 0x23fbb4b9},
-  {0xb529, 0x23fbb8b0},
-  {0xb52a, 0x23fbb8b1},
-  {0xb52b, 0x23fbb8b2},
-  {0xb52c, 0x23fbb8b3},
-  {0xb52d, 0x23fbb8b4},
-  {0xb52e, 0x23fbb8b5},
-  {0xb52f, 0x23fbb8b6},
-  {0xb530, 0x23fbb8b7},
-  {0xb531, 0x23fbb8b8},
-  {0xb532, 0x23fbb8b9},
-  {0xb533, 0x23fbbcb0},
-  {0xb534, 0x23fbbcb1},
-  {0xb535, 0x23fbbcb2},
-  {0xb536, 0x23fbbcb3},
-  {0xb537, 0x23fbbcb4},
-  {0xb538, 0x23fbbcb5},
-  {0xb539, 0x23fbbcb6},
-  {0xb53a, 0x23fbbcb7},
-  {0xb53b, 0x23fbbcb8},
-  {0xb53c, 0x23fbbcb9},
-  {0xb53d, 0x23fc80b0},
-  {0xb53e, 0x23fc80b1},
-  {0xb53f, 0x23fc80b2},
-  {0xb540, 0x23fc80b3},
-  {0xb541, 0x23fc80b4},
-  {0xb542, 0x23fc80b5},
-  {0xb543, 0x23fc80b6},
-  {0xb544, 0x23fc80b7},
-  {0xb545, 0x23fc80b8},
-  {0xb546, 0x23fc80b9},
-  {0xb547, 0x23fc84b0},
-  {0xb548, 0x23fc84b1},
-  {0xb549, 0x23fc84b2},
-  {0xb54a, 0x23fc84b3},
-  {0xb54b, 0x23fc84b4},
-  {0xb54c, 0x23fc84b5},
-  {0xb54d, 0x23fc84b6},
-  {0xb54e, 0x23fc84b7},
-  {0xb54f, 0x23fc84b8},
-  {0xb550, 0x23fc84b9},
-  {0xb551, 0x23fc88b0},
-  {0xb552, 0x23fc88b1},
-  {0xb553, 0x23fc88b2},
-  {0xb554, 0x23fc88b3},
-  {0xb555, 0x23fc88b4},
-  {0xb556, 0x23fc88b5},
-  {0xb557, 0x23fc88b6},
-  {0xb558, 0x23fc88b7},
-  {0xb559, 0x23fc88b8},
-  {0xb55a, 0x23fc88b9},
-  {0xb55b, 0x23fc8cb0},
-  {0xb55c, 0x23fc8cb1},
-  {0xb55d, 0x23fc8cb2},
-  {0xb55e, 0x23fc8cb3},
-  {0xb55f, 0x23fc8cb4},
-  {0xb560, 0x23fc8cb5},
-  {0xb561, 0x23fc8cb6},
-  {0xb562, 0x23fc8cb7},
-  {0xb563, 0x23fc8cb8},
-  {0xb564, 0x23fc8cb9},
-  {0xb565, 0x23fc90b0},
-  {0xb566, 0x23fc90b1},
-  {0xb567, 0x23fc90b2},
-  {0xb568, 0x23fc90b3},
-  {0xb569, 0x23fc90b4},
-  {0xb56a, 0x23fc90b5},
-  {0xb56b, 0x23fc90b6},
-  {0xb56c, 0x23fc90b7},
-  {0xb56d, 0x23fc90b8},
-  {0xb56e, 0x23fc90b9},
-  {0xb56f, 0x23fc94b0},
-  {0xb570, 0x23fc94b1},
-  {0xb571, 0x23fc94b2},
-  {0xb572, 0x23fc94b3},
-  {0xb573, 0x23fc94b4},
-  {0xb574, 0x23fc94b5},
-  {0xb575, 0x23fc94b6},
-  {0xb576, 0x23fc94b7},
-  {0xb577, 0x23fc94b8},
-  {0xb578, 0x23fc94b9},
-  {0xb579, 0x23fc98b0},
-  {0xb57a, 0x23fc98b1},
-  {0xb57b, 0x23fc98b2},
-  {0xb57c, 0x23fc98b3},
-  {0xb57d, 0x23fc98b4},
-  {0xb57e, 0x23fc98b5},
-  {0xb57f, 0x23fc98b6},
-  {0xb580, 0x23fc98b7},
-  {0xb581, 0x23fc98b8},
-  {0xb582, 0x23fc98b9},
-  {0xb583, 0x23fc9cb0},
-  {0xb584, 0x23fc9cb1},
-  {0xb585, 0x23fc9cb2},
-  {0xb586, 0x23fc9cb3},
-  {0xb587, 0x23fc9cb4},
-  {0xb588, 0x23fc9cb5},
-  {0xb589, 0x23fc9cb6},
-  {0xb58a, 0x23fc9cb7},
-  {0xb58b, 0x23fc9cb8},
-  {0xb58c, 0x23fc9cb9},
-  {0xb58d, 0x23fca0b0},
-  {0xb58e, 0x23fca0b1},
-  {0xb58f, 0x23fca0b2},
-  {0xb590, 0x23fca0b3},
-  {0xb591, 0x23fca0b4},
-  {0xb592, 0x23fca0b5},
-  {0xb593, 0x23fca0b6},
-  {0xb594, 0x23fca0b7},
-  {0xb595, 0x23fca0b8},
-  {0xb596, 0x23fca0b9},
-  {0xb597, 0x23fca4b0},
-  {0xb598, 0x23fca4b1},
-  {0xb599, 0x23fca4b2},
-  {0xb59a, 0x23fca4b3},
-  {0xb59b, 0x23fca4b4},
-  {0xb59c, 0x23fca4b5},
-  {0xb59d, 0x23fca4b6},
-  {0xb59e, 0x23fca4b7},
-  {0xb59f, 0x23fca4b8},
-  {0xb5a0, 0x23fca4b9},
-  {0xb5a1, 0x23fca8b0},
-  {0xb5a2, 0x23fca8b1},
-  {0xb5a3, 0x23fca8b2},
-  {0xb5a4, 0x23fca8b3},
-  {0xb5a5, 0x23fca8b4},
-  {0xb5a6, 0x23fca8b5},
-  {0xb5a7, 0x23fca8b6},
-  {0xb5a8, 0x23fca8b7},
-  {0xb5a9, 0x23fca8b8},
-  {0xb5aa, 0x23fca8b9},
-  {0xb5ab, 0x23fcacb0},
-  {0xb5ac, 0x23fcacb1},
-  {0xb5ad, 0x23fcacb2},
-  {0xb5ae, 0x23fcacb3},
-  {0xb5af, 0x23fcacb4},
-  {0xb5b0, 0x23fcacb5},
-  {0xb5b1, 0x23fcacb6},
-  {0xb5b2, 0x23fcacb7},
-  {0xb5b3, 0x23fcacb8},
-  {0xb5b4, 0x23fcacb9},
-  {0xb5b5, 0x23fcb0b0},
-  {0xb5b6, 0x23fcb0b1},
-  {0xb5b7, 0x23fcb0b2},
-  {0xb5b8, 0x23fcb0b3},
-  {0xb5b9, 0x23fcb0b4},
-  {0xb5ba, 0x23fcb0b5},
-  {0xb5bb, 0x23fcb0b6},
-  {0xb5bc, 0x23fcb0b7},
-  {0xb5bd, 0x23fcb0b8},
-  {0xb5be, 0x23fcb0b9},
-  {0xb5bf, 0x23fcb4b0},
-  {0xb5c0, 0x23fcb4b1},
-  {0xb5c1, 0x23fcb4b2},
-  {0xb5c2, 0x23fcb4b3},
-  {0xb5c3, 0x23fcb4b4},
-  {0xb5c4, 0x23fcb4b5},
-  {0xb5c5, 0x23fcb4b6},
-  {0xb5c6, 0x23fcb4b7},
-  {0xb5c7, 0x23fcb4b8},
-  {0xb5c8, 0x23fcb4b9},
-  {0xb5c9, 0x23fcb8b0},
-  {0xb5ca, 0x23fcb8b1},
-  {0xb5cb, 0x23fcb8b2},
-  {0xb5cc, 0x23fcb8b3},
-  {0xb5cd, 0x23fcb8b4},
-  {0xb5ce, 0x23fcb8b5},
-  {0xb5cf, 0x23fcb8b6},
-  {0xb5d0, 0x23fcb8b7},
-  {0xb5d1, 0x23fcb8b8},
-  {0xb5d2, 0x23fcb8b9},
-  {0xb5d3, 0x23fcbcb0},
-  {0xb5d4, 0x23fcbcb1},
-  {0xb5d5, 0x23fcbcb2},
-  {0xb5d6, 0x23fcbcb3},
-  {0xb5d7, 0x23fcbcb4},
-  {0xb5d8, 0x23fcbcb5},
-  {0xb5d9, 0x23fcbcb6},
-  {0xb5da, 0x23fcbcb7},
-  {0xb5db, 0x23fcbcb8},
-  {0xb5dc, 0x23fcbcb9},
-  {0xb5dd, 0x23fd80b0},
-  {0xb5de, 0x23fd80b1},
-  {0xb5df, 0x23fd80b2},
-  {0xb5e0, 0x23fd80b3},
-  {0xb5e1, 0x23fd80b4},
-  {0xb5e2, 0x23fd80b5},
-  {0xb5e3, 0x23fd80b6},
-  {0xb5e4, 0x23fd80b7},
-  {0xb5e5, 0x23fd80b8},
-  {0xb5e6, 0x23fd80b9},
-  {0xb5e7, 0x23fd84b0},
-  {0xb5e8, 0x23fd84b1},
-  {0xb5e9, 0x23fd84b2},
-  {0xb5ea, 0x23fd84b3},
-  {0xb5eb, 0x23fd84b4},
-  {0xb5ec, 0x23fd84b5},
-  {0xb5ed, 0x23fd84b6},
-  {0xb5ee, 0x23fd84b7},
-  {0xb5ef, 0x23fd84b8},
-  {0xb5f0, 0x23fd84b9},
-  {0xb5f1, 0x23fd88b0},
-  {0xb5f2, 0x23fd88b1},
-  {0xb5f3, 0x23fd88b2},
-  {0xb5f4, 0x23fd88b3},
-  {0xb5f5, 0x23fd88b4},
-  {0xb5f6, 0x23fd88b5},
-  {0xb5f7, 0x23fd88b6},
-  {0xb5f8, 0x23fd88b7},
-  {0xb5f9, 0x23fd88b8},
-  {0xb5fa, 0x23fd88b9},
-  {0xb5fb, 0x23fd8cb0},
-  {0xb5fc, 0x23fd8cb1},
-  {0xb5fd, 0x23fd8cb2},
-  {0xb5fe, 0x23fd8cb3},
-  {0xb5ff, 0x23fd8cb4},
-  {0xb600, 0x23fd8cb5},
-  {0xb601, 0x23fd8cb6},
-  {0xb602, 0x23fd8cb7},
-  {0xb603, 0x23fd8cb8},
-  {0xb604, 0x23fd8cb9},
-  {0xb605, 0x23fd90b0},
-  {0xb606, 0x23fd90b1},
-  {0xb607, 0x23fd90b2},
-  {0xb608, 0x23fd90b3},
-  {0xb609, 0x23fd90b4},
-  {0xb60a, 0x23fd90b5},
-  {0xb60b, 0x23fd90b6},
-  {0xb60c, 0x23fd90b7},
-  {0xb60d, 0x23fd90b8},
-  {0xb60e, 0x23fd90b9},
-  {0xb60f, 0x23fd94b0},
-  {0xb610, 0x23fd94b1},
-  {0xb611, 0x23fd94b2},
-  {0xb612, 0x23fd94b3},
-  {0xb613, 0x23fd94b4},
-  {0xb614, 0x23fd94b5},
-  {0xb615, 0x23fd94b6},
-  {0xb616, 0x23fd94b7},
-  {0xb617, 0x23fd94b8},
-  {0xb618, 0x23fd94b9},
-  {0xb619, 0x23fd98b0},
-  {0xb61a, 0x23fd98b1},
-  {0xb61b, 0x23fd98b2},
-  {0xb61c, 0x23fd98b3},
-  {0xb61d, 0x23fd98b4},
-  {0xb61e, 0x23fd98b5},
-  {0xb61f, 0x23fd98b6},
-  {0xb620, 0x23fd98b7},
-  {0xb621, 0x23fd98b8},
-  {0xb622, 0x23fd98b9},
-  {0xb623, 0x23fd9cb0},
-  {0xb624, 0x23fd9cb1},
-  {0xb625, 0x23fd9cb2},
-  {0xb626, 0x23fd9cb3},
-  {0xb627, 0x23fd9cb4},
-  {0xb628, 0x23fd9cb5},
-  {0xb629, 0x23fd9cb6},
-  {0xb62a, 0x23fd9cb7},
-  {0xb62b, 0x23fd9cb8},
-  {0xb62c, 0x23fd9cb9},
-  {0xb62d, 0x23fda0b0},
-  {0xb62e, 0x23fda0b1},
-  {0xb62f, 0x23fda0b2},
-  {0xb630, 0x23fda0b3},
-  {0xb631, 0x23fda0b4},
-  {0xb632, 0x23fda0b5},
-  {0xb633, 0x23fda0b6},
-  {0xb634, 0x23fda0b7},
-  {0xb635, 0x23fda0b8},
-  {0xb636, 0x23fda0b9},
-  {0xb637, 0x23fda4b0},
-  {0xb638, 0x23fda4b1},
-  {0xb639, 0x23fda4b2},
-  {0xb63a, 0x23fda4b3},
-  {0xb63b, 0x23fda4b4},
-  {0xb63c, 0x23fda4b5},
-  {0xb63d, 0x23fda4b6},
-  {0xb63e, 0x23fda4b7},
-  {0xb63f, 0x23fda4b8},
-  {0xb640, 0x23fda4b9},
-  {0xb641, 0x23fda8b0},
-  {0xb642, 0x23fda8b1},
-  {0xb643, 0x23fda8b2},
-  {0xb644, 0x23fda8b3},
-  {0xb645, 0x23fda8b4},
-  {0xb646, 0x23fda8b5},
-  {0xb647, 0x23fda8b6},
-  {0xb648, 0x23fda8b7},
-  {0xb649, 0x23fda8b8},
-  {0xb64a, 0x23fda8b9},
-  {0xb64b, 0x23fdacb0},
-  {0xb64c, 0x23fdacb1},
-  {0xb64d, 0x23fdacb2},
-  {0xb64e, 0x23fdacb3},
-  {0xb64f, 0x23fdacb4},
-  {0xb650, 0x23fdacb5},
-  {0xb651, 0x23fdacb6},
-  {0xb652, 0x23fdacb7},
-  {0xb653, 0x23fdacb8},
-  {0xb654, 0x23fdacb9},
-  {0xb655, 0x23fdb0b0},
-  {0xb656, 0x23fdb0b1},
-  {0xb657, 0x23fdb0b2},
-  {0xb658, 0x23fdb0b3},
-  {0xb659, 0x23fdb0b4},
-  {0xb65a, 0x23fdb0b5},
-  {0xb65b, 0x23fdb0b6},
-  {0xb65c, 0x23fdb0b7},
-  {0xb65d, 0x23fdb0b8},
-  {0xb65e, 0x23fdb0b9},
-  {0xb65f, 0x23fdb4b0},
-  {0xb660, 0x23fdb4b1},
-  {0xb661, 0x23fdb4b2},
-  {0xb662, 0x23fdb4b3},
-  {0xb663, 0x23fdb4b4},
-  {0xb664, 0x23fdb4b5},
-  {0xb665, 0x23fdb4b6},
-  {0xb666, 0x23fdb4b7},
-  {0xb667, 0x23fdb4b8},
-  {0xb668, 0x23fdb4b9},
-  {0xb669, 0x23fdb8b0},
-  {0xb66a, 0x23fdb8b1},
-  {0xb66b, 0x23fdb8b2},
-  {0xb66c, 0x23fdb8b3},
-  {0xb66d, 0x23fdb8b4},
-  {0xb66e, 0x23fdb8b5},
-  {0xb66f, 0x23fdb8b6},
-  {0xb670, 0x23fdb8b7},
-  {0xb671, 0x23fdb8b8},
-  {0xb672, 0x23fdb8b9},
-  {0xb673, 0x23fdbcb0},
-  {0xb674, 0x23fdbcb1},
-  {0xb675, 0x23fdbcb2},
-  {0xb676, 0x23fdbcb3},
-  {0xb677, 0x23fdbcb4},
-  {0xb678, 0x23fdbcb5},
-  {0xb679, 0x23fdbcb6},
-  {0xb67a, 0x23fdbcb7},
-  {0xb67b, 0x23fdbcb8},
-  {0xb67c, 0x23fdbcb9},
-  {0xb67d, 0x23fe80b0},
-  {0xb67e, 0x23fe80b1},
-  {0xb67f, 0x23fe80b2},
-  {0xb680, 0x23fe80b3},
-  {0xb681, 0x23fe80b4},
-  {0xb682, 0x23fe80b5},
-  {0xb683, 0x23fe80b6},
-  {0xb684, 0x23fe80b7},
-  {0xb685, 0x23fe80b8},
-  {0xb686, 0x23fe80b9},
-  {0xb687, 0x23fe84b0},
-  {0xb688, 0x23fe84b1},
-  {0xb689, 0x23fe84b2},
-  {0xb68a, 0x23fe84b3},
-  {0xb68b, 0x23fe84b4},
-  {0xb68c, 0x23fe84b5},
-  {0xb68d, 0x23fe84b6},
-  {0xb68e, 0x23fe84b7},
-  {0xb68f, 0x23fe84b8},
-  {0xb690, 0x23fe84b9},
-  {0xb691, 0x23fe88b0},
-  {0xb692, 0x23fe88b1},
-  {0xb693, 0x23fe88b2},
-  {0xb694, 0x23fe88b3},
-  {0xb695, 0x23fe88b4},
-  {0xb696, 0x23fe88b5},
-  {0xb697, 0x23fe88b6},
-  {0xb698, 0x23fe88b7},
-  {0xb699, 0x23fe88b8},
-  {0xb69a, 0x23fe88b9},
-  {0xb69b, 0x23fe8cb0},
-  {0xb69c, 0x23fe8cb1},
-  {0xb69d, 0x23fe8cb2},
-  {0xb69e, 0x23fe8cb3},
-  {0xb69f, 0x23fe8cb4},
-  {0xb6a0, 0x23fe8cb5},
-  {0xb6a1, 0x23fe8cb6},
-  {0xb6a2, 0x23fe8cb7},
-  {0xb6a3, 0x23fe8cb8},
-  {0xb6a4, 0x23fe8cb9},
-  {0xb6a5, 0x23fe90b0},
-  {0xb6a6, 0x23fe90b1},
-  {0xb6a7, 0x23fe90b2},
-  {0xb6a8, 0x23fe90b3},
-  {0xb6a9, 0x23fe90b4},
-  {0xb6aa, 0x23fe90b5},
-  {0xb6ab, 0x23fe90b6},
-  {0xb6ac, 0x23fe90b7},
-  {0xb6ad, 0x23fe90b8},
-  {0xb6ae, 0x23fe90b9},
-  {0xb6af, 0x23fe94b0},
-  {0xb6b0, 0x23fe94b1},
-  {0xb6b1, 0x23fe94b2},
-  {0xb6b2, 0x23fe94b3},
-  {0xb6b3, 0x23fe94b4},
-  {0xb6b4, 0x23fe94b5},
-  {0xb6b5, 0x23fe94b6},
-  {0xb6b6, 0x23fe94b7},
-  {0xb6b7, 0x23fe94b8},
-  {0xb6b8, 0x23fe94b9},
-  {0xb6b9, 0x23fe98b0},
-  {0xb6ba, 0x23fe98b1},
-  {0xb6bb, 0x23fe98b2},
-  {0xb6bc, 0x23fe98b3},
-  {0xb6bd, 0x23fe98b4},
-  {0xb6be, 0x23fe98b5},
-  {0xb6bf, 0x23fe98b6},
-  {0xb6c0, 0x23fe98b7},
-  {0xb6c1, 0x23fe98b8},
-  {0xb6c2, 0x23fe98b9},
-  {0xb6c3, 0x23fe9cb0},
-  {0xb6c4, 0x23fe9cb1},
-  {0xb6c5, 0x23fe9cb2},
-  {0xb6c6, 0x23fe9cb3},
-  {0xb6c7, 0x23fe9cb4},
-  {0xb6c8, 0x23fe9cb5},
-  {0xb6c9, 0x23fe9cb6},
-  {0xb6ca, 0x23fe9cb7},
-  {0xb6cb, 0x23fe9cb8},
-  {0xb6cc, 0x23fe9cb9},
-  {0xb6cd, 0x23fea0b0},
-  {0xb6ce, 0x23fea0b1},
-  {0xb6cf, 0x23fea0b2},
-  {0xb6d0, 0x23fea0b3},
-  {0xb6d1, 0x23fea0b4},
-  {0xb6d2, 0x23fea0b5},
-  {0xb6d3, 0x23fea0b6},
-  {0xb6d4, 0x23fea0b7},
-  {0xb6d5, 0x23fea0b8},
-  {0xb6d6, 0x23fea0b9},
-  {0xb6d7, 0x23fea4b0},
-  {0xb6d8, 0x23fea4b1},
-  {0xb6d9, 0x23fea4b2},
-  {0xb6da, 0x23fea4b3},
-  {0xb6db, 0x23fea4b4},
-  {0xb6dc, 0x23fea4b5},
-  {0xb6dd, 0x23fea4b6},
-  {0xb6de, 0x23fea4b7},
-  {0xb6df, 0x23fea4b8},
-  {0xb6e0, 0x23fea4b9},
-  {0xb6e1, 0x23fea8b0},
-  {0xb6e2, 0x23fea8b1},
-  {0xb6e3, 0x23fea8b2},
-  {0xb6e4, 0x23fea8b3},
-  {0xb6e5, 0x23fea8b4},
-  {0xb6e6, 0x23fea8b5},
-  {0xb6e7, 0x23fea8b6},
-  {0xb6e8, 0x23fea8b7},
-  {0xb6e9, 0x23fea8b8},
-  {0xb6ea, 0x23fea8b9},
-  {0xb6eb, 0x23feacb0},
-  {0xb6ec, 0x23feacb1},
-  {0xb6ed, 0x23feacb2},
-  {0xb6ee, 0x23feacb3},
-  {0xb6ef, 0x23feacb4},
-  {0xb6f0, 0x23feacb5},
-  {0xb6f1, 0x23feacb6},
-  {0xb6f2, 0x23feacb7},
-  {0xb6f3, 0x23feacb8},
-  {0xb6f4, 0x23feacb9},
-  {0xb6f5, 0x23feb0b0},
-  {0xb6f6, 0x23feb0b1},
-  {0xb6f7, 0x23feb0b2},
-  {0xb6f8, 0x23feb0b3},
-  {0xb6f9, 0x23feb0b4},
-  {0xb6fa, 0x23feb0b5},
-  {0xb6fb, 0x23feb0b6},
-  {0xb6fc, 0x23feb0b7},
-  {0xb6fd, 0x23feb0b8},
-  {0xb6fe, 0x23feb0b9},
-  {0xb6ff, 0x23feb4b0},
-  {0xb700, 0x23feb4b1},
-  {0xb701, 0x23feb4b2},
-  {0xb702, 0x23feb4b3},
-  {0xb703, 0x23feb4b4},
-  {0xb704, 0x23feb4b5},
-  {0xb705, 0x23feb4b6},
-  {0xb706, 0x23feb4b7},
-  {0xb707, 0x23feb4b8},
-  {0xb708, 0x23feb4b9},
-  {0xb709, 0x23feb8b0},
-  {0xb70a, 0x23feb8b1},
-  {0xb70b, 0x23feb8b2},
-  {0xb70c, 0x23feb8b3},
-  {0xb70d, 0x23feb8b4},
-  {0xb70e, 0x23feb8b5},
-  {0xb70f, 0x23feb8b6},
-  {0xb710, 0x23feb8b7},
-  {0xb711, 0x23feb8b8},
-  {0xb712, 0x23feb8b9},
-  {0xb713, 0x23febcb0},
-  {0xb714, 0x23febcb1},
-  {0xb715, 0x23febcb2},
-  {0xb716, 0x23febcb3},
-  {0xb717, 0x23febcb4},
-  {0xb718, 0x23febcb5},
-  {0xb719, 0x23febcb6},
-  {0xb71a, 0x23febcb7},
-  {0xb71b, 0x23febcb8},
-  {0xb71c, 0x23febcb9},
-  {0xb71d, 0x23ff80b0},
-  {0xb71e, 0x23ff80b1},
-  {0xb71f, 0x23ff80b2},
-  {0xb720, 0x23ff80b3},
-  {0xb721, 0x23ff80b4},
-  {0xb722, 0x23ff80b5},
-  {0xb723, 0x23ff80b6},
-  {0xb724, 0x23ff80b7},
-  {0xb725, 0x23ff80b8},
-  {0xb726, 0x23ff80b9},
-  {0xb727, 0x23ff84b0},
-  {0xb728, 0x23ff84b1},
-  {0xb729, 0x23ff84b2},
-  {0xb72a, 0x23ff84b3},
-  {0xb72b, 0x23ff84b4},
-  {0xb72c, 0x23ff84b5},
-  {0xb72d, 0x23ff84b6},
-  {0xb72e, 0x23ff84b7},
-  {0xb72f, 0x23ff84b8},
-  {0xb730, 0x23ff84b9},
-  {0xb731, 0x23ff88b0},
-  {0xb732, 0x23ff88b1},
-  {0xb733, 0x23ff88b2},
-  {0xb734, 0x23ff88b3},
-  {0xb735, 0x23ff88b4},
-  {0xb736, 0x23ff88b5},
-  {0xb737, 0x23ff88b6},
-  {0xb738, 0x23ff88b7},
-  {0xb739, 0x23ff88b8},
-  {0xb73a, 0x23ff88b9},
-  {0xb73b, 0x23ff8cb0},
-  {0xb73c, 0x23ff8cb1},
-  {0xb73d, 0x23ff8cb2},
-  {0xb73e, 0x23ff8cb3},
-  {0xb73f, 0x23ff8cb4},
-  {0xb740, 0x23ff8cb5},
-  {0xb741, 0x23ff8cb6},
-  {0xb742, 0x23ff8cb7},
-  {0xb743, 0x23ff8cb8},
-  {0xb744, 0x23ff8cb9},
-  {0xb745, 0x23ff90b0},
-  {0xb746, 0x23ff90b1},
-  {0xb747, 0x23ff90b2},
-  {0xb748, 0x23ff90b3},
-  {0xb749, 0x23ff90b4},
-  {0xb74a, 0x23ff90b5},
-  {0xb74b, 0x23ff90b6},
-  {0xb74c, 0x23ff90b7},
-  {0xb74d, 0x23ff90b8},
-  {0xb74e, 0x23ff90b9},
-  {0xb74f, 0x23ff94b0},
-  {0xb750, 0x23ff94b1},
-  {0xb751, 0x23ff94b2},
-  {0xb752, 0x23ff94b3},
-  {0xb753, 0x23ff94b4},
-  {0xb754, 0x23ff94b5},
-  {0xb755, 0x23ff94b6},
-  {0xb756, 0x23ff94b7},
-  {0xb757, 0x23ff94b8},
-  {0xb758, 0x23ff94b9},
-  {0xb759, 0x23ff98b0},
-  {0xb75a, 0x23ff98b1},
-  {0xb75b, 0x23ff98b2},
-  {0xb75c, 0x23ff98b3},
-  {0xb75d, 0x23ff98b4},
-  {0xb75e, 0x23ff98b5},
-  {0xb75f, 0x23ff98b6},
-  {0xb760, 0x23ff98b7},
-  {0xb761, 0x23ff98b8},
-  {0xb762, 0x23ff98b9},
-  {0xb763, 0x23ff9cb0},
-  {0xb764, 0x23ff9cb1},
-  {0xb765, 0x23ff9cb2},
-  {0xb766, 0x23ff9cb3},
-  {0xb767, 0x23ff9cb4},
-  {0xb768, 0x23ff9cb5},
-  {0xb769, 0x23ff9cb6},
-  {0xb76a, 0x23ff9cb7},
-  {0xb76b, 0x23ff9cb8},
-  {0xb76c, 0x23ff9cb9},
-  {0xb76d, 0x23ffa0b0},
-  {0xb76e, 0x23ffa0b1},
-  {0xb76f, 0x23ffa0b2},
-  {0xb770, 0x23ffa0b3},
-  {0xb771, 0x23ffa0b4},
-  {0xb772, 0x23ffa0b5},
-  {0xb773, 0x23ffa0b6},
-  {0xb774, 0x23ffa0b7},
-  {0xb775, 0x23ffa0b8},
-  {0xb776, 0x23ffa0b9},
-  {0xb777, 0x23ffa4b0},
-  {0xb778, 0x23ffa4b1},
-  {0xb779, 0x23ffa4b2},
-  {0xb77a, 0x23ffa4b3},
-  {0xb77b, 0x23ffa4b4},
-  {0xb77c, 0x23ffa4b5},
-  {0xb77d, 0x23ffa4b6},
-  {0xb77e, 0x23ffa4b7},
-  {0xb77f, 0x23ffa4b8},
-  {0xb780, 0x23ffa4b9},
-  {0xb781, 0x23ffa8b0},
-  {0xb782, 0x23ffa8b1},
-  {0xb783, 0x23ffa8b2},
-  {0xb784, 0x23ffa8b3},
-  {0xb785, 0x23ffa8b4},
-  {0xb786, 0x23ffa8b5},
-  {0xb787, 0x23ffa8b6},
-  {0xb788, 0x23ffa8b7},
-  {0xb789, 0x23ffa8b8},
-  {0xb78a, 0x23ffa8b9},
-  {0xb78b, 0x23ffacb0},
-  {0xb78c, 0x23ffacb1},
-  {0xb78d, 0x23ffacb2},
-  {0xb78e, 0x23ffacb3},
-  {0xb78f, 0x23ffacb4},
-  {0xb790, 0x23ffacb5},
-  {0xb791, 0x23ffacb6},
-  {0xb792, 0x23ffacb7},
-  {0xb793, 0x23ffacb8},
-  {0xb794, 0x23ffacb9},
-  {0xb795, 0x23ffb0b0},
-  {0xb796, 0x23ffb0b1},
-  {0xb797, 0x23ffb0b2},
-  {0xb798, 0x23ffb0b3},
-  {0xb799, 0x23ffb0b4},
-  {0xb79a, 0x23ffb0b5},
-  {0xb79b, 0x23ffb0b6},
-  {0xb79c, 0x23ffb0b7},
-  {0xb79d, 0x23ffb0b8},
-  {0xb79e, 0x23ffb0b9},
-  {0xb79f, 0x23ffb4b0},
-  {0xb7a0, 0x23ffb4b1},
-  {0xb7a1, 0x23ffb4b2},
-  {0xb7a2, 0x23ffb4b3},
-  {0xb7a3, 0x23ffb4b4},
-  {0xb7a4, 0x23ffb4b5},
-  {0xb7a5, 0x23ffb4b6},
-  {0xb7a6, 0x23ffb4b7},
-  {0xb7a7, 0x23ffb4b8},
-  {0xb7a8, 0x23ffb4b9},
-  {0xb7a9, 0x23ffb8b0},
-  {0xb7aa, 0x23ffb8b1},
-  {0xb7ab, 0x23ffb8b2},
-  {0xb7ac, 0x23ffb8b3},
-  {0xb7ad, 0x23ffb8b4},
-  {0xb7ae, 0x23ffb8b5},
-  {0xb7af, 0x23ffb8b6},
-  {0xb7b0, 0x23ffb8b7},
-  {0xb7b1, 0x23ffb8b8},
-  {0xb7b2, 0x23ffb8b9},
-  {0xb7b3, 0x33e884b0},
-  {0xb7b4, 0x33e884b1},
-  {0xb7b5, 0x33e884b2},
-  {0xb7b6, 0x33e884b3},
-  {0xb7b7, 0x33e884b4},
-  {0xb7b8, 0x33e884b5},
-  {0xb7b9, 0x33e884b6},
-  {0xb7ba, 0x33e884b7},
-  {0xb7bb, 0x33e884b8},
-  {0xb7bc, 0x33e884b9},
-  {0xb7bd, 0x33e888b0},
-  {0xb7be, 0x33e888b1},
-  {0xb7bf, 0x33e888b2},
-  {0xb7c0, 0x33e888b3},
-  {0xb7c1, 0x33e888b4},
-  {0xb7c2, 0x33e888b5},
-  {0xb7c3, 0x33e888b6},
-  {0xb7c4, 0x33e888b7},
-  {0xb7c5, 0x33e888b8},
-  {0xb7c6, 0x33e888b9},
-  {0xb7c7, 0x33e88cb0},
-  {0xb7c8, 0x33e88cb1},
-  {0xb7c9, 0x33e88cb2},
-  {0xb7ca, 0x33e88cb3},
-  {0xb7cb, 0x33e88cb4},
-  {0xb7cc, 0x33e88cb5},
-  {0xb7cd, 0x33e88cb6},
-  {0xb7ce, 0x33e88cb7},
-  {0xb7cf, 0x33e88cb8},
-  {0xb7d0, 0x33e88cb9},
-  {0xb7d1, 0x33e890b0},
-  {0xb7d2, 0x33e890b1},
-  {0xb7d3, 0x33e890b2},
-  {0xb7d4, 0x33e890b3},
-  {0xb7d5, 0x33e890b4},
-  {0xb7d6, 0x33e890b5},
-  {0xb7d7, 0x33e890b6},
-  {0xb7d8, 0x33e890b7},
-  {0xb7d9, 0x33e890b8},
-  {0xb7da, 0x33e890b9},
-  {0xb7db, 0x33e894b0},
-  {0xb7dc, 0x33e894b1},
-  {0xb7dd, 0x33e894b2},
-  {0xb7de, 0x33e894b3},
-  {0xb7df, 0x33e894b4},
-  {0xb7e0, 0x33e894b5},
-  {0xb7e1, 0x33e894b6},
-  {0xb7e2, 0x33e894b7},
-  {0xb7e3, 0x33e894b8},
-  {0xb7e4, 0x33e894b9},
-  {0xb7e5, 0x33e898b0},
-  {0xb7e6, 0x33e898b1},
-  {0xb7e7, 0x33e898b2},
-  {0xb7e8, 0x33e898b3},
-  {0xb7e9, 0x33e898b4},
-  {0xb7ea, 0x33e898b5},
-  {0xb7eb, 0x33e898b6},
-  {0xb7ec, 0x33e898b7},
-  {0xb7ed, 0x33e898b8},
-  {0xb7ee, 0x33e898b9},
-  {0xb7ef, 0x33e89cb0},
-  {0xb7f0, 0x33e89cb1},
-  {0xb7f1, 0x33e89cb2},
-  {0xb7f2, 0x33e89cb3},
-  {0xb7f3, 0x33e89cb4},
-  {0xb7f4, 0x33e89cb5},
-  {0xb7f5, 0x33e89cb6},
-  {0xb7f6, 0x33e89cb7},
-  {0xb7f7, 0x33e89cb8},
-  {0xb7f8, 0x33e89cb9},
-  {0xb7f9, 0x33e8a0b0},
-  {0xb7fa, 0x33e8a0b1},
-  {0xb7fb, 0x33e8a0b2},
-  {0xb7fc, 0x33e8a0b3},
-  {0xb7fd, 0x33e8a0b4},
-  {0xb7fe, 0x33e8a0b5},
-  {0xb7ff, 0x33e8a0b6},
-  {0xb800, 0x33e8a0b7},
-  {0xb801, 0x33e8a0b8},
-  {0xb802, 0x33e8a0b9},
-  {0xb803, 0x33e8a4b0},
-  {0xb804, 0x33e8a4b1},
-  {0xb805, 0x33e8a4b2},
-  {0xb806, 0x33e8a4b3},
-  {0xb807, 0x33e8a4b4},
-  {0xb808, 0x33e8a4b5},
-  {0xb809, 0x33e8a4b6},
-  {0xb80a, 0x33e8a4b7},
-  {0xb80b, 0x33e8a4b8},
-  {0xb80c, 0x33e8a4b9},
-  {0xb80d, 0x33e8a8b0},
-  {0xb80e, 0x33e8a8b1},
-  {0xb80f, 0x33e8a8b2},
-  {0xb810, 0x33e8a8b3},
-  {0xb811, 0x33e8a8b4},
-  {0xb812, 0x33e8a8b5},
-  {0xb813, 0x33e8a8b6},
-  {0xb814, 0x33e8a8b7},
-  {0xb815, 0x33e8a8b8},
-  {0xb816, 0x33e8a8b9},
-  {0xb817, 0x33e8acb0},
-  {0xb818, 0x33e8acb1},
-  {0xb819, 0x33e8acb2},
-  {0xb81a, 0x33e8acb3},
-  {0xb81b, 0x33e8acb4},
-  {0xb81c, 0x33e8acb5},
-  {0xb81d, 0x33e8acb6},
-  {0xb81e, 0x33e8acb7},
-  {0xb81f, 0x33e8acb8},
-  {0xb820, 0x33e8acb9},
-  {0xb821, 0x33e8b0b0},
-  {0xb822, 0x33e8b0b1},
-  {0xb823, 0x33e8b0b2},
-  {0xb824, 0x33e8b0b3},
-  {0xb825, 0x33e8b0b4},
-  {0xb826, 0x33e8b0b5},
-  {0xb827, 0x33e8b0b6},
-  {0xb828, 0x33e8b0b7},
-  {0xb829, 0x33e8b0b8},
-  {0xb82a, 0x33e8b0b9},
-  {0xb82b, 0x33e8b4b0},
-  {0xb82c, 0x33e8b4b1},
-  {0xb82d, 0x33e8b4b2},
-  {0xb82e, 0x33e8b4b3},
-  {0xb82f, 0x33e8b4b4},
-  {0xb830, 0x33e8b4b5},
-  {0xb831, 0x33e8b4b6},
-  {0xb832, 0x33e8b4b7},
-  {0xb833, 0x33e8b4b8},
-  {0xb834, 0x33e8b4b9},
-  {0xb835, 0x33e8b8b0},
-  {0xb836, 0x33e8b8b1},
-  {0xb837, 0x33e8b8b2},
-  {0xb838, 0x33e8b8b3},
-  {0xb839, 0x33e8b8b4},
-  {0xb83a, 0x33e8b8b5},
-  {0xb83b, 0x33e8b8b6},
-  {0xb83c, 0x33e8b8b7},
-  {0xb83d, 0x33e8b8b8},
-  {0xb83e, 0x33e8b8b9},
-  {0xb83f, 0x33e8bcb0},
-  {0xb840, 0x33e8bcb1},
-  {0xb841, 0x33e8bcb2},
-  {0xb842, 0x33e8bcb3},
-  {0xb843, 0x33e8bcb4},
-  {0xb844, 0x33e8bcb5},
-  {0xb845, 0x33e8bcb6},
-  {0xb846, 0x33e8bcb7},
-  {0xb847, 0x33e8bcb8},
-  {0xb848, 0x33e8bcb9},
-  {0xb849, 0x33e980b0},
-  {0xb84a, 0x33e980b1},
-  {0xb84b, 0x33e980b2},
-  {0xb84c, 0x33e980b3},
-  {0xb84d, 0x33e980b4},
-  {0xb84e, 0x33e980b5},
-  {0xb84f, 0x33e980b6},
-  {0xb850, 0x33e980b7},
-  {0xb851, 0x33e980b8},
-  {0xb852, 0x33e980b9},
-  {0xb853, 0x33e984b0},
-  {0xb854, 0x33e984b1},
-  {0xb855, 0x33e984b2},
-  {0xb856, 0x33e984b3},
-  {0xb857, 0x33e984b4},
-  {0xb858, 0x33e984b5},
-  {0xb859, 0x33e984b6},
-  {0xb85a, 0x33e984b7},
-  {0xb85b, 0x33e984b8},
-  {0xb85c, 0x33e984b9},
-  {0xb85d, 0x33e988b0},
-  {0xb85e, 0x33e988b1},
-  {0xb85f, 0x33e988b2},
-  {0xb860, 0x33e988b3},
-  {0xb861, 0x33e988b4},
-  {0xb862, 0x33e988b5},
-  {0xb863, 0x33e988b6},
-  {0xb864, 0x33e988b7},
-  {0xb865, 0x33e988b8},
-  {0xb866, 0x33e988b9},
-  {0xb867, 0x33e98cb0},
-  {0xb868, 0x33e98cb1},
-  {0xb869, 0x33e98cb2},
-  {0xb86a, 0x33e98cb3},
-  {0xb86b, 0x33e98cb4},
-  {0xb86c, 0x33e98cb5},
-  {0xb86d, 0x33e98cb6},
-  {0xb86e, 0x33e98cb7},
-  {0xb86f, 0x33e98cb8},
-  {0xb870, 0x33e98cb9},
-  {0xb871, 0x33e990b0},
-  {0xb872, 0x33e990b1},
-  {0xb873, 0x33e990b2},
-  {0xb874, 0x33e990b3},
-  {0xb875, 0x33e990b4},
-  {0xb876, 0x33e990b5},
-  {0xb877, 0x33e990b6},
-  {0xb878, 0x33e990b7},
-  {0xb879, 0x33e990b8},
-  {0xb87a, 0x33e990b9},
-  {0xb87b, 0x33e994b0},
-  {0xb87c, 0x33e994b1},
-  {0xb87d, 0x33e994b2},
-  {0xb87e, 0x33e994b3},
-  {0xb87f, 0x33e994b4},
-  {0xb880, 0x33e994b5},
-  {0xb881, 0x33e994b6},
-  {0xb882, 0x33e994b7},
-  {0xb883, 0x33e994b8},
-  {0xb884, 0x33e994b9},
-  {0xb885, 0x33e998b0},
-  {0xb886, 0x33e998b1},
-  {0xb887, 0x33e998b2},
-  {0xb888, 0x33e998b3},
-  {0xb889, 0x33e998b4},
-  {0xb88a, 0x33e998b5},
-  {0xb88b, 0x33e998b6},
-  {0xb88c, 0x33e998b7},
-  {0xb88d, 0x33e998b8},
-  {0xb88e, 0x33e998b9},
-  {0xb88f, 0x33e99cb0},
-  {0xb890, 0x33e99cb1},
-  {0xb891, 0x33e99cb2},
-  {0xb892, 0x33e99cb3},
-  {0xb893, 0x33e99cb4},
-  {0xb894, 0x33e99cb5},
-  {0xb895, 0x33e99cb6},
-  {0xb896, 0x33e99cb7},
-  {0xb897, 0x33e99cb8},
-  {0xb898, 0x33e99cb9},
-  {0xb899, 0x33e9a0b0},
-  {0xb89a, 0x33e9a0b1},
-  {0xb89b, 0x33e9a0b2},
-  {0xb89c, 0x33e9a0b3},
-  {0xb89d, 0x33e9a0b4},
-  {0xb89e, 0x33e9a0b5},
-  {0xb89f, 0x33e9a0b6},
-  {0xb8a0, 0x33e9a0b7},
-  {0xb8a1, 0x33e9a0b8},
-  {0xb8a2, 0x33e9a0b9},
-  {0xb8a3, 0x33e9a4b0},
-  {0xb8a4, 0x33e9a4b1},
-  {0xb8a5, 0x33e9a4b2},
-  {0xb8a6, 0x33e9a4b3},
-  {0xb8a7, 0x33e9a4b4},
-  {0xb8a8, 0x33e9a4b5},
-  {0xb8a9, 0x33e9a4b6},
-  {0xb8aa, 0x33e9a4b7},
-  {0xb8ab, 0x33e9a4b8},
-  {0xb8ac, 0x33e9a4b9},
-  {0xb8ad, 0x33e9a8b0},
-  {0xb8ae, 0x33e9a8b1},
-  {0xb8af, 0x33e9a8b2},
-  {0xb8b0, 0x33e9a8b3},
-  {0xb8b1, 0x33e9a8b4},
-  {0xb8b2, 0x33e9a8b5},
-  {0xb8b3, 0x33e9a8b6},
-  {0xb8b4, 0x33e9a8b7},
-  {0xb8b5, 0x33e9a8b8},
-  {0xb8b6, 0x33e9a8b9},
-  {0xb8b7, 0x33e9acb0},
-  {0xb8b8, 0x33e9acb1},
-  {0xb8b9, 0x33e9acb2},
-  {0xb8ba, 0x33e9acb3},
-  {0xb8bb, 0x33e9acb4},
-  {0xb8bc, 0x33e9acb5},
-  {0xb8bd, 0x33e9acb6},
-  {0xb8be, 0x33e9acb7},
-  {0xb8bf, 0x33e9acb8},
-  {0xb8c0, 0x33e9acb9},
-  {0xb8c1, 0x33e9b0b0},
-  {0xb8c2, 0x33e9b0b1},
-  {0xb8c3, 0x33e9b0b2},
-  {0xb8c4, 0x33e9b0b3},
-  {0xb8c5, 0x33e9b0b4},
-  {0xb8c6, 0x33e9b0b5},
-  {0xb8c7, 0x33e9b0b6},
-  {0xb8c8, 0x33e9b0b7},
-  {0xb8c9, 0x33e9b0b8},
-  {0xb8ca, 0x33e9b0b9},
-  {0xb8cb, 0x33e9b4b0},
-  {0xb8cc, 0x33e9b4b1},
-  {0xb8cd, 0x33e9b4b2},
-  {0xb8ce, 0x33e9b4b3},
-  {0xb8cf, 0x33e9b4b4},
-  {0xb8d0, 0x33e9b4b5},
-  {0xb8d1, 0x33e9b4b6},
-  {0xb8d2, 0x33e9b4b7},
-  {0xb8d3, 0x33e9b4b8},
-  {0xb8d4, 0x33e9b4b9},
-  {0xb8d5, 0x33e9b8b0},
-  {0xb8d6, 0x33e9b8b1},
-  {0xb8d7, 0x33e9b8b2},
-  {0xb8d8, 0x33e9b8b3},
-  {0xb8d9, 0x33e9b8b4},
-  {0xb8da, 0x33e9b8b5},
-  {0xb8db, 0x33e9b8b6},
-  {0xb8dc, 0x33e9b8b7},
-  {0xb8dd, 0x33e9b8b8},
-  {0xb8de, 0x33e9b8b9},
-  {0xb8df, 0x33e9bcb0},
-  {0xb8e0, 0x33e9bcb1},
-  {0xb8e1, 0x33e9bcb2},
-  {0xb8e2, 0x33e9bcb3},
-  {0xb8e3, 0x33e9bcb4},
-  {0xb8e4, 0x33e9bcb5},
-  {0xb8e5, 0x33e9bcb6},
-  {0xb8e6, 0x33e9bcb7},
-  {0xb8e7, 0x33e9bcb8},
-  {0xb8e8, 0x33e9bcb9},
-  {0xb8e9, 0x33ea80b0},
-  {0xb8ea, 0x33ea80b1},
-  {0xb8eb, 0x33ea80b2},
-  {0xb8ec, 0x33ea80b3},
-  {0xb8ed, 0x33ea80b4},
-  {0xb8ee, 0x33ea80b5},
-  {0xb8ef, 0x33ea80b6},
-  {0xb8f0, 0x33ea80b7},
-  {0xb8f1, 0x33ea80b8},
-  {0xb8f2, 0x33ea80b9},
-  {0xb8f3, 0x33ea84b0},
-  {0xb8f4, 0x33ea84b1},
-  {0xb8f5, 0x33ea84b2},
-  {0xb8f6, 0x33ea84b3},
-  {0xb8f7, 0x33ea84b4},
-  {0xb8f8, 0x33ea84b5},
-  {0xb8f9, 0x33ea84b6},
-  {0xb8fa, 0x33ea84b7},
-  {0xb8fb, 0x33ea84b8},
-  {0xb8fc, 0x33ea84b9},
-  {0xb8fd, 0x33ea88b0},
-  {0xb8fe, 0x33ea88b1},
-  {0xb8ff, 0x33ea88b2},
-  {0xb900, 0x33ea88b3},
-  {0xb901, 0x33ea88b4},
-  {0xb902, 0x33ea88b5},
-  {0xb903, 0x33ea88b6},
-  {0xb904, 0x33ea88b7},
-  {0xb905, 0x33ea88b8},
-  {0xb906, 0x33ea88b9},
-  {0xb907, 0x33ea8cb0},
-  {0xb908, 0x33ea8cb1},
-  {0xb909, 0x33ea8cb2},
-  {0xb90a, 0x33ea8cb3},
-  {0xb90b, 0x33ea8cb4},
-  {0xb90c, 0x33ea8cb5},
-  {0xb90d, 0x33ea8cb6},
-  {0xb90e, 0x33ea8cb7},
-  {0xb90f, 0x33ea8cb8},
-  {0xb910, 0x33ea8cb9},
-  {0xb911, 0x33ea90b0},
-  {0xb912, 0x33ea90b1},
-  {0xb913, 0x33ea90b2},
-  {0xb914, 0x33ea90b3},
-  {0xb915, 0x33ea90b4},
-  {0xb916, 0x33ea90b5},
-  {0xb917, 0x33ea90b6},
-  {0xb918, 0x33ea90b7},
-  {0xb919, 0x33ea90b8},
-  {0xb91a, 0x33ea90b9},
-  {0xb91b, 0x33ea94b0},
-  {0xb91c, 0x33ea94b1},
-  {0xb91d, 0x33ea94b2},
-  {0xb91e, 0x33ea94b3},
-  {0xb91f, 0x33ea94b4},
-  {0xb920, 0x33ea94b5},
-  {0xb921, 0x33ea94b6},
-  {0xb922, 0x33ea94b7},
-  {0xb923, 0x33ea94b8},
-  {0xb924, 0x33ea94b9},
-  {0xb925, 0x33ea98b0},
-  {0xb926, 0x33ea98b1},
-  {0xb927, 0x33ea98b2},
-  {0xb928, 0x33ea98b3},
-  {0xb929, 0x33ea98b4},
-  {0xb92a, 0x33ea98b5},
-  {0xb92b, 0x33ea98b6},
-  {0xb92c, 0x33ea98b7},
-  {0xb92d, 0x33ea98b8},
-  {0xb92e, 0x33ea98b9},
-  {0xb92f, 0x33ea9cb0},
-  {0xb930, 0x33ea9cb1},
-  {0xb931, 0x33ea9cb2},
-  {0xb932, 0x33ea9cb3},
-  {0xb933, 0x33ea9cb4},
-  {0xb934, 0x33ea9cb5},
-  {0xb935, 0x33ea9cb6},
-  {0xb936, 0x33ea9cb7},
-  {0xb937, 0x33ea9cb8},
-  {0xb938, 0x33ea9cb9},
-  {0xb939, 0x33eaa0b0},
-  {0xb93a, 0x33eaa0b1},
-  {0xb93b, 0x33eaa0b2},
-  {0xb93c, 0x33eaa0b3},
-  {0xb93d, 0x33eaa0b4},
-  {0xb93e, 0x33eaa0b5},
-  {0xb93f, 0x33eaa0b6},
-  {0xb940, 0x33eaa0b7},
-  {0xb941, 0x33eaa0b8},
-  {0xb942, 0x33eaa0b9},
-  {0xb943, 0x33eaa4b0},
-  {0xb944, 0x33eaa4b1},
-  {0xb945, 0x33eaa4b2},
-  {0xb946, 0x33eaa4b3},
-  {0xb947, 0x33eaa4b4},
-  {0xb948, 0x33eaa4b5},
-  {0xb949, 0x33eaa4b6},
-  {0xb94a, 0x33eaa4b7},
-  {0xb94b, 0x33eaa4b8},
-  {0xb94c, 0x33eaa4b9},
-  {0xb94d, 0x33eaa8b0},
-  {0xb94e, 0x33eaa8b1},
-  {0xb94f, 0x33eaa8b2},
-  {0xb950, 0x33eaa8b3},
-  {0xb951, 0x33eaa8b4},
-  {0xb952, 0x33eaa8b5},
-  {0xb953, 0x33eaa8b6},
-  {0xb954, 0x33eaa8b7},
-  {0xb955, 0x33eaa8b8},
-  {0xb956, 0x33eaa8b9},
-  {0xb957, 0x33eaacb0},
-  {0xb958, 0x33eaacb1},
-  {0xb959, 0x33eaacb2},
-  {0xb95a, 0x33eaacb3},
-  {0xb95b, 0x33eaacb4},
-  {0xb95c, 0x33eaacb5},
-  {0xb95d, 0x33eaacb6},
-  {0xb95e, 0x33eaacb7},
-  {0xb95f, 0x33eaacb8},
-  {0xb960, 0x33eaacb9},
-  {0xb961, 0x33eab0b0},
-  {0xb962, 0x33eab0b1},
-  {0xb963, 0x33eab0b2},
-  {0xb964, 0x33eab0b3},
-  {0xb965, 0x33eab0b4},
-  {0xb966, 0x33eab0b5},
-  {0xb967, 0x33eab0b6},
-  {0xb968, 0x33eab0b7},
-  {0xb969, 0x33eab0b8},
-  {0xb96a, 0x33eab0b9},
-  {0xb96b, 0x33eab4b0},
-  {0xb96c, 0x33eab4b1},
-  {0xb96d, 0x33eab4b2},
-  {0xb96e, 0x33eab4b3},
-  {0xb96f, 0x33eab4b4},
-  {0xb970, 0x33eab4b5},
-  {0xb971, 0x33eab4b6},
-  {0xb972, 0x33eab4b7},
-  {0xb973, 0x33eab4b8},
-  {0xb974, 0x33eab4b9},
-  {0xb975, 0x33eab8b0},
-  {0xb976, 0x33eab8b1},
-  {0xb977, 0x33eab8b2},
-  {0xb978, 0x33eab8b3},
-  {0xb979, 0x33eab8b4},
-  {0xb97a, 0x33eab8b5},
-  {0xb97b, 0x33eab8b6},
-  {0xb97c, 0x33eab8b7},
-  {0xb97d, 0x33eab8b8},
-  {0xb97e, 0x33eab8b9},
-  {0xb97f, 0x33eabcb0},
-  {0xb980, 0x33eabcb1},
-  {0xb981, 0x33eabcb2},
-  {0xb982, 0x33eabcb3},
-  {0xb983, 0x33eabcb4},
-  {0xb984, 0x33eabcb5},
-  {0xb985, 0x33eabcb6},
-  {0xb986, 0x33eabcb7},
-  {0xb987, 0x33eabcb8},
-  {0xb988, 0x33eabcb9},
-  {0xb989, 0x33eb80b0},
-  {0xb98a, 0x33eb80b1},
-  {0xb98b, 0x33eb80b2},
-  {0xb98c, 0x33eb80b3},
-  {0xb98d, 0x33eb80b4},
-  {0xb98e, 0x33eb80b5},
-  {0xb98f, 0x33eb80b6},
-  {0xb990, 0x33eb80b7},
-  {0xb991, 0x33eb80b8},
-  {0xb992, 0x33eb80b9},
-  {0xb993, 0x33eb84b0},
-  {0xb994, 0x33eb84b1},
-  {0xb995, 0x33eb84b2},
-  {0xb996, 0x33eb84b3},
-  {0xb997, 0x33eb84b4},
-  {0xb998, 0x33eb84b5},
-  {0xb999, 0x33eb84b6},
-  {0xb99a, 0x33eb84b7},
-  {0xb99b, 0x33eb84b8},
-  {0xb99c, 0x33eb84b9},
-  {0xb99d, 0x33eb88b0},
-  {0xb99e, 0x33eb88b1},
-  {0xb99f, 0x33eb88b2},
-  {0xb9a0, 0x33eb88b3},
-  {0xb9a1, 0x33eb88b4},
-  {0xb9a2, 0x33eb88b5},
-  {0xb9a3, 0x33eb88b6},
-  {0xb9a4, 0x33eb88b7},
-  {0xb9a5, 0x33eb88b8},
-  {0xb9a6, 0x33eb88b9},
-  {0xb9a7, 0x33eb8cb0},
-  {0xb9a8, 0x33eb8cb1},
-  {0xb9a9, 0x33eb8cb2},
-  {0xb9aa, 0x33eb8cb3},
-  {0xb9ab, 0x33eb8cb4},
-  {0xb9ac, 0x33eb8cb5},
-  {0xb9ad, 0x33eb8cb6},
-  {0xb9ae, 0x33eb8cb7},
-  {0xb9af, 0x33eb8cb8},
-  {0xb9b0, 0x33eb8cb9},
-  {0xb9b1, 0x33eb90b0},
-  {0xb9b2, 0x33eb90b1},
-  {0xb9b3, 0x33eb90b2},
-  {0xb9b4, 0x33eb90b3},
-  {0xb9b5, 0x33eb90b4},
-  {0xb9b6, 0x33eb90b5},
-  {0xb9b7, 0x33eb90b6},
-  {0xb9b8, 0x33eb90b7},
-  {0xb9b9, 0x33eb90b8},
-  {0xb9ba, 0x33eb90b9},
-  {0xb9bb, 0x33eb94b0},
-  {0xb9bc, 0x33eb94b1},
-  {0xb9bd, 0x33eb94b2},
-  {0xb9be, 0x33eb94b3},
-  {0xb9bf, 0x33eb94b4},
-  {0xb9c0, 0x33eb94b5},
-  {0xb9c1, 0x33eb94b6},
-  {0xb9c2, 0x33eb94b7},
-  {0xb9c3, 0x33eb94b8},
-  {0xb9c4, 0x33eb94b9},
-  {0xb9c5, 0x33eb98b0},
-  {0xb9c6, 0x33eb98b1},
-  {0xb9c7, 0x33eb98b2},
-  {0xb9c8, 0x33eb98b3},
-  {0xb9c9, 0x33eb98b4},
-  {0xb9ca, 0x33eb98b5},
-  {0xb9cb, 0x33eb98b6},
-  {0xb9cc, 0x33eb98b7},
-  {0xb9cd, 0x33eb98b8},
-  {0xb9ce, 0x33eb98b9},
-  {0xb9cf, 0x33eb9cb0},
-  {0xb9d0, 0x33eb9cb1},
-  {0xb9d1, 0x33eb9cb2},
-  {0xb9d2, 0x33eb9cb3},
-  {0xb9d3, 0x33eb9cb4},
-  {0xb9d4, 0x33eb9cb5},
-  {0xb9d5, 0x33eb9cb6},
-  {0xb9d6, 0x33eb9cb7},
-  {0xb9d7, 0x33eb9cb8},
-  {0xb9d8, 0x33eb9cb9},
-  {0xb9d9, 0x33eba0b0},
-  {0xb9da, 0x33eba0b1},
-  {0xb9db, 0x33eba0b2},
-  {0xb9dc, 0x33eba0b3},
-  {0xb9dd, 0x33eba0b4},
-  {0xb9de, 0x33eba0b5},
-  {0xb9df, 0x33eba0b6},
-  {0xb9e0, 0x33eba0b7},
-  {0xb9e1, 0x33eba0b8},
-  {0xb9e2, 0x33eba0b9},
-  {0xb9e3, 0x33eba4b0},
-  {0xb9e4, 0x33eba4b1},
-  {0xb9e5, 0x33eba4b2},
-  {0xb9e6, 0x33eba4b3},
-  {0xb9e7, 0x33eba4b4},
-  {0xb9e8, 0x33eba4b5},
-  {0xb9e9, 0x33eba4b6},
-  {0xb9ea, 0x33eba4b7},
-  {0xb9eb, 0x33eba4b8},
-  {0xb9ec, 0x33eba4b9},
-  {0xb9ed, 0x33eba8b0},
-  {0xb9ee, 0x33eba8b1},
-  {0xb9ef, 0x33eba8b2},
-  {0xb9f0, 0x33eba8b3},
-  {0xb9f1, 0x33eba8b4},
-  {0xb9f2, 0x33eba8b5},
-  {0xb9f3, 0x33eba8b6},
-  {0xb9f4, 0x33eba8b7},
-  {0xb9f5, 0x33eba8b8},
-  {0xb9f6, 0x33eba8b9},
-  {0xb9f7, 0x33ebacb0},
-  {0xb9f8, 0x33ebacb1},
-  {0xb9f9, 0x33ebacb2},
-  {0xb9fa, 0x33ebacb3},
-  {0xb9fb, 0x33ebacb4},
-  {0xb9fc, 0x33ebacb5},
-  {0xb9fd, 0x33ebacb6},
-  {0xb9fe, 0x33ebacb7},
-  {0xb9ff, 0x33ebacb8},
-  {0xba00, 0x33ebacb9},
-  {0xba01, 0x33ebb0b0},
-  {0xba02, 0x33ebb0b1},
-  {0xba03, 0x33ebb0b2},
-  {0xba04, 0x33ebb0b3},
-  {0xba05, 0x33ebb0b4},
-  {0xba06, 0x33ebb0b5},
-  {0xba07, 0x33ebb0b6},
-  {0xba08, 0x33ebb0b7},
-  {0xba09, 0x33ebb0b8},
-  {0xba0a, 0x33ebb0b9},
-  {0xba0b, 0x33ebb4b0},
-  {0xba0c, 0x33ebb4b1},
-  {0xba0d, 0x33ebb4b2},
-  {0xba0e, 0x33ebb4b3},
-  {0xba0f, 0x33ebb4b4},
-  {0xba10, 0x33ebb4b5},
-  {0xba11, 0x33ebb4b6},
-  {0xba12, 0x33ebb4b7},
-  {0xba13, 0x33ebb4b8},
-  {0xba14, 0x33ebb4b9},
-  {0xba15, 0x33ebb8b0},
-  {0xba16, 0x33ebb8b1},
-  {0xba17, 0x33ebb8b2},
-  {0xba18, 0x33ebb8b3},
-  {0xba19, 0x33ebb8b4},
-  {0xba1a, 0x33ebb8b5},
-  {0xba1b, 0x33ebb8b6},
-  {0xba1c, 0x33ebb8b7},
-  {0xba1d, 0x33ebb8b8},
-  {0xba1e, 0x33ebb8b9},
-  {0xba1f, 0x33ebbcb0},
-  {0xba20, 0x33ebbcb1},
-  {0xba21, 0x33ebbcb2},
-  {0xba22, 0x33ebbcb3},
-  {0xba23, 0x33ebbcb4},
-  {0xba24, 0x33ebbcb5},
-  {0xba25, 0x33ebbcb6},
-  {0xba26, 0x33ebbcb7},
-  {0xba27, 0x33ebbcb8},
-  {0xba28, 0x33ebbcb9},
-  {0xba29, 0x33ec80b0},
-  {0xba2a, 0x33ec80b1},
-  {0xba2b, 0x33ec80b2},
-  {0xba2c, 0x33ec80b3},
-  {0xba2d, 0x33ec80b4},
-  {0xba2e, 0x33ec80b5},
-  {0xba2f, 0x33ec80b6},
-  {0xba30, 0x33ec80b7},
-  {0xba31, 0x33ec80b8},
-  {0xba32, 0x33ec80b9},
-  {0xba33, 0x33ec84b0},
-  {0xba34, 0x33ec84b1},
-  {0xba35, 0x33ec84b2},
-  {0xba36, 0x33ec84b3},
-  {0xba37, 0x33ec84b4},
-  {0xba38, 0x33ec84b5},
-  {0xba39, 0x33ec84b6},
-  {0xba3a, 0x33ec84b7},
-  {0xba3b, 0x33ec84b8},
-  {0xba3c, 0x33ec84b9},
-  {0xba3d, 0x33ec88b0},
-  {0xba3e, 0x33ec88b1},
-  {0xba3f, 0x33ec88b2},
-  {0xba40, 0x33ec88b3},
-  {0xba41, 0x33ec88b4},
-  {0xba42, 0x33ec88b5},
-  {0xba43, 0x33ec88b6},
-  {0xba44, 0x33ec88b7},
-  {0xba45, 0x33ec88b8},
-  {0xba46, 0x33ec88b9},
-  {0xba47, 0x33ec8cb0},
-  {0xba48, 0x33ec8cb1},
-  {0xba49, 0x33ec8cb2},
-  {0xba4a, 0x33ec8cb3},
-  {0xba4b, 0x33ec8cb4},
-  {0xba4c, 0x33ec8cb5},
-  {0xba4d, 0x33ec8cb6},
-  {0xba4e, 0x33ec8cb7},
-  {0xba4f, 0x33ec8cb8},
-  {0xba50, 0x33ec8cb9},
-  {0xba51, 0x33ec90b0},
-  {0xba52, 0x33ec90b1},
-  {0xba53, 0x33ec90b2},
-  {0xba54, 0x33ec90b3},
-  {0xba55, 0x33ec90b4},
-  {0xba56, 0x33ec90b5},
-  {0xba57, 0x33ec90b6},
-  {0xba58, 0x33ec90b7},
-  {0xba59, 0x33ec90b8},
-  {0xba5a, 0x33ec90b9},
-  {0xba5b, 0x33ec94b0},
-  {0xba5c, 0x33ec94b1},
-  {0xba5d, 0x33ec94b2},
-  {0xba5e, 0x33ec94b3},
-  {0xba5f, 0x33ec94b4},
-  {0xba60, 0x33ec94b5},
-  {0xba61, 0x33ec94b6},
-  {0xba62, 0x33ec94b7},
-  {0xba63, 0x33ec94b8},
-  {0xba64, 0x33ec94b9},
-  {0xba65, 0x33ec98b0},
-  {0xba66, 0x33ec98b1},
-  {0xba67, 0x33ec98b2},
-  {0xba68, 0x33ec98b3},
-  {0xba69, 0x33ec98b4},
-  {0xba6a, 0x33ec98b5},
-  {0xba6b, 0x33ec98b6},
-  {0xba6c, 0x33ec98b7},
-  {0xba6d, 0x33ec98b8},
-  {0xba6e, 0x33ec98b9},
-  {0xba6f, 0x33ec9cb0},
-  {0xba70, 0x33ec9cb1},
-  {0xba71, 0x33ec9cb2},
-  {0xba72, 0x33ec9cb3},
-  {0xba73, 0x33ec9cb4},
-  {0xba74, 0x33ec9cb5},
-  {0xba75, 0x33ec9cb6},
-  {0xba76, 0x33ec9cb7},
-  {0xba77, 0x33ec9cb8},
-  {0xba78, 0x33ec9cb9},
-  {0xba79, 0x33eca0b0},
-  {0xba7a, 0x33eca0b1},
-  {0xba7b, 0x33eca0b2},
-  {0xba7c, 0x33eca0b3},
-  {0xba7d, 0x33eca0b4},
-  {0xba7e, 0x33eca0b5},
-  {0xba7f, 0x33eca0b6},
-  {0xba80, 0x33eca0b7},
-  {0xba81, 0x33eca0b8},
-  {0xba82, 0x33eca0b9},
-  {0xba83, 0x33eca4b0},
-  {0xba84, 0x33eca4b1},
-  {0xba85, 0x33eca4b2},
-  {0xba86, 0x33eca4b3},
-  {0xba87, 0x33eca4b4},
-  {0xba88, 0x33eca4b5},
-  {0xba89, 0x33eca4b6},
-  {0xba8a, 0x33eca4b7},
-  {0xba8b, 0x33eca4b8},
-  {0xba8c, 0x33eca4b9},
-  {0xba8d, 0x33eca8b0},
-  {0xba8e, 0x33eca8b1},
-  {0xba8f, 0x33eca8b2},
-  {0xba90, 0x33eca8b3},
-  {0xba91, 0x33eca8b4},
-  {0xba92, 0x33eca8b5},
-  {0xba93, 0x33eca8b6},
-  {0xba94, 0x33eca8b7},
-  {0xba95, 0x33eca8b8},
-  {0xba96, 0x33eca8b9},
-  {0xba97, 0x33ecacb0},
-  {0xba98, 0x33ecacb1},
-  {0xba99, 0x33ecacb2},
-  {0xba9a, 0x33ecacb3},
-  {0xba9b, 0x33ecacb4},
-  {0xba9c, 0x33ecacb5},
-  {0xba9d, 0x33ecacb6},
-  {0xba9e, 0x33ecacb7},
-  {0xba9f, 0x33ecacb8},
-  {0xbaa0, 0x33ecacb9},
-  {0xbaa1, 0x33ecb0b0},
-  {0xbaa2, 0x33ecb0b1},
-  {0xbaa3, 0x33ecb0b2},
-  {0xbaa4, 0x33ecb0b3},
-  {0xbaa5, 0x33ecb0b4},
-  {0xbaa6, 0x33ecb0b5},
-  {0xbaa7, 0x33ecb0b6},
-  {0xbaa8, 0x33ecb0b7},
-  {0xbaa9, 0x33ecb0b8},
-  {0xbaaa, 0x33ecb0b9},
-  {0xbaab, 0x33ecb4b0},
-  {0xbaac, 0x33ecb4b1},
-  {0xbaad, 0x33ecb4b2},
-  {0xbaae, 0x33ecb4b3},
-  {0xbaaf, 0x33ecb4b4},
-  {0xbab0, 0x33ecb4b5},
-  {0xbab1, 0x33ecb4b6},
-  {0xbab2, 0x33ecb4b7},
-  {0xbab3, 0x33ecb4b8},
-  {0xbab4, 0x33ecb4b9},
-  {0xbab5, 0x33ecb8b0},
-  {0xbab6, 0x33ecb8b1},
-  {0xbab7, 0x33ecb8b2},
-  {0xbab8, 0x33ecb8b3},
-  {0xbab9, 0x33ecb8b4},
-  {0xbaba, 0x33ecb8b5},
-  {0xbabb, 0x33ecb8b6},
-  {0xbabc, 0x33ecb8b7},
-  {0xbabd, 0x33ecb8b8},
-  {0xbabe, 0x33ecb8b9},
-  {0xbabf, 0x33ecbcb0},
-  {0xbac0, 0x33ecbcb1},
-  {0xbac1, 0x33ecbcb2},
-  {0xbac2, 0x33ecbcb3},
-  {0xbac3, 0x33ecbcb4},
-  {0xbac4, 0x33ecbcb5},
-  {0xbac5, 0x33ecbcb6},
-  {0xbac6, 0x33ecbcb7},
-  {0xbac7, 0x33ecbcb8},
-  {0xbac8, 0x33ecbcb9},
-  {0xbac9, 0x33ed80b0},
-  {0xbaca, 0x33ed80b1},
-  {0xbacb, 0x33ed80b2},
-  {0xbacc, 0x33ed80b3},
-  {0xbacd, 0x33ed80b4},
-  {0xbace, 0x33ed80b5},
-  {0xbacf, 0x33ed80b6},
-  {0xbad0, 0x33ed80b7},
-  {0xbad1, 0x33ed80b8},
-  {0xbad2, 0x33ed80b9},
-  {0xbad3, 0x33ed84b0},
-  {0xbad4, 0x33ed84b1},
-  {0xbad5, 0x33ed84b2},
-  {0xbad6, 0x33ed84b3},
-  {0xbad7, 0x33ed84b4},
-  {0xbad8, 0x33ed84b5},
-  {0xbad9, 0x33ed84b6},
-  {0xbada, 0x33ed84b7},
-  {0xbadb, 0x33ed84b8},
-  {0xbadc, 0x33ed84b9},
-  {0xbadd, 0x33ed88b0},
-  {0xbade, 0x33ed88b1},
-  {0xbadf, 0x33ed88b2},
-  {0xbae0, 0x33ed88b3},
-  {0xbae1, 0x33ed88b4},
-  {0xbae2, 0x33ed88b5},
-  {0xbae3, 0x33ed88b6},
-  {0xbae4, 0x33ed88b7},
-  {0xbae5, 0x33ed88b8},
-  {0xbae6, 0x33ed88b9},
-  {0xbae7, 0x33ed8cb0},
-  {0xbae8, 0x33ed8cb1},
-  {0xbae9, 0x33ed8cb2},
-  {0xbaea, 0x33ed8cb3},
-  {0xbaeb, 0x33ed8cb4},
-  {0xbaec, 0x33ed8cb5},
-  {0xbaed, 0x33ed8cb6},
-  {0xbaee, 0x33ed8cb7},
-  {0xbaef, 0x33ed8cb8},
-  {0xbaf0, 0x33ed8cb9},
-  {0xbaf1, 0x33ed90b0},
-  {0xbaf2, 0x33ed90b1},
-  {0xbaf3, 0x33ed90b2},
-  {0xbaf4, 0x33ed90b3},
-  {0xbaf5, 0x33ed90b4},
-  {0xbaf6, 0x33ed90b5},
-  {0xbaf7, 0x33ed90b6},
-  {0xbaf8, 0x33ed90b7},
-  {0xbaf9, 0x33ed90b8},
-  {0xbafa, 0x33ed90b9},
-  {0xbafb, 0x33ed94b0},
-  {0xbafc, 0x33ed94b1},
-  {0xbafd, 0x33ed94b2},
-  {0xbafe, 0x33ed94b3},
-  {0xbaff, 0x33ed94b4},
-  {0xbb00, 0x33ed94b5},
-  {0xbb01, 0x33ed94b6},
-  {0xbb02, 0x33ed94b7},
-  {0xbb03, 0x33ed94b8},
-  {0xbb04, 0x33ed94b9},
-  {0xbb05, 0x33ed98b0},
-  {0xbb06, 0x33ed98b1},
-  {0xbb07, 0x33ed98b2},
-  {0xbb08, 0x33ed98b3},
-  {0xbb09, 0x33ed98b4},
-  {0xbb0a, 0x33ed98b5},
-  {0xbb0b, 0x33ed98b6},
-  {0xbb0c, 0x33ed98b7},
-  {0xbb0d, 0x33ed98b8},
-  {0xbb0e, 0x33ed98b9},
-  {0xbb0f, 0x33ed9cb0},
-  {0xbb10, 0x33ed9cb1},
-  {0xbb11, 0x33ed9cb2},
-  {0xbb12, 0x33ed9cb3},
-  {0xbb13, 0x33ed9cb4},
-  {0xbb14, 0x33ed9cb5},
-  {0xbb15, 0x33ed9cb6},
-  {0xbb16, 0x33ed9cb7},
-  {0xbb17, 0x33ed9cb8},
-  {0xbb18, 0x33ed9cb9},
-  {0xbb19, 0x33eda0b0},
-  {0xbb1a, 0x33eda0b1},
-  {0xbb1b, 0x33eda0b2},
-  {0xbb1c, 0x33eda0b3},
-  {0xbb1d, 0x33eda0b4},
-  {0xbb1e, 0x33eda0b5},
-  {0xbb1f, 0x33eda0b6},
-  {0xbb20, 0x33eda0b7},
-  {0xbb21, 0x33eda0b8},
-  {0xbb22, 0x33eda0b9},
-  {0xbb23, 0x33eda4b0},
-  {0xbb24, 0x33eda4b1},
-  {0xbb25, 0x33eda4b2},
-  {0xbb26, 0x33eda4b3},
-  {0xbb27, 0x33eda4b4},
-  {0xbb28, 0x33eda4b5},
-  {0xbb29, 0x33eda4b6},
-  {0xbb2a, 0x33eda4b7},
-  {0xbb2b, 0x33eda4b8},
-  {0xbb2c, 0x33eda4b9},
-  {0xbb2d, 0x33eda8b0},
-  {0xbb2e, 0x33eda8b1},
-  {0xbb2f, 0x33eda8b2},
-  {0xbb30, 0x33eda8b3},
-  {0xbb31, 0x33eda8b4},
-  {0xbb32, 0x33eda8b5},
-  {0xbb33, 0x33eda8b6},
-  {0xbb34, 0x33eda8b7},
-  {0xbb35, 0x33eda8b8},
-  {0xbb36, 0x33eda8b9},
-  {0xbb37, 0x33edacb0},
-  {0xbb38, 0x33edacb1},
-  {0xbb39, 0x33edacb2},
-  {0xbb3a, 0x33edacb3},
-  {0xbb3b, 0x33edacb4},
-  {0xbb3c, 0x33edacb5},
-  {0xbb3d, 0x33edacb6},
-  {0xbb3e, 0x33edacb7},
-  {0xbb3f, 0x33edacb8},
-  {0xbb40, 0x33edacb9},
-  {0xbb41, 0x33edb0b0},
-  {0xbb42, 0x33edb0b1},
-  {0xbb43, 0x33edb0b2},
-  {0xbb44, 0x33edb0b3},
-  {0xbb45, 0x33edb0b4},
-  {0xbb46, 0x33edb0b5},
-  {0xbb47, 0x33edb0b6},
-  {0xbb48, 0x33edb0b7},
-  {0xbb49, 0x33edb0b8},
-  {0xbb4a, 0x33edb0b9},
-  {0xbb4b, 0x33edb4b0},
-  {0xbb4c, 0x33edb4b1},
-  {0xbb4d, 0x33edb4b2},
-  {0xbb4e, 0x33edb4b3},
-  {0xbb4f, 0x33edb4b4},
-  {0xbb50, 0x33edb4b5},
-  {0xbb51, 0x33edb4b6},
-  {0xbb52, 0x33edb4b7},
-  {0xbb53, 0x33edb4b8},
-  {0xbb54, 0x33edb4b9},
-  {0xbb55, 0x33edb8b0},
-  {0xbb56, 0x33edb8b1},
-  {0xbb57, 0x33edb8b2},
-  {0xbb58, 0x33edb8b3},
-  {0xbb59, 0x33edb8b4},
-  {0xbb5a, 0x33edb8b5},
-  {0xbb5b, 0x33edb8b6},
-  {0xbb5c, 0x33edb8b7},
-  {0xbb5d, 0x33edb8b8},
-  {0xbb5e, 0x33edb8b9},
-  {0xbb5f, 0x33edbcb0},
-  {0xbb60, 0x33edbcb1},
-  {0xbb61, 0x33edbcb2},
-  {0xbb62, 0x33edbcb3},
-  {0xbb63, 0x33edbcb4},
-  {0xbb64, 0x33edbcb5},
-  {0xbb65, 0x33edbcb6},
-  {0xbb66, 0x33edbcb7},
-  {0xbb67, 0x33edbcb8},
-  {0xbb68, 0x33edbcb9},
-  {0xbb69, 0x33ee80b0},
-  {0xbb6a, 0x33ee80b1},
-  {0xbb6b, 0x33ee80b2},
-  {0xbb6c, 0x33ee80b3},
-  {0xbb6d, 0x33ee80b4},
-  {0xbb6e, 0x33ee80b5},
-  {0xbb6f, 0x33ee80b6},
-  {0xbb70, 0x33ee80b7},
-  {0xbb71, 0x33ee80b8},
-  {0xbb72, 0x33ee80b9},
-  {0xbb73, 0x33ee84b0},
-  {0xbb74, 0x33ee84b1},
-  {0xbb75, 0x33ee84b2},
-  {0xbb76, 0x33ee84b3},
-  {0xbb77, 0x33ee84b4},
-  {0xbb78, 0x33ee84b5},
-  {0xbb79, 0x33ee84b6},
-  {0xbb7a, 0x33ee84b7},
-  {0xbb7b, 0x33ee84b8},
-  {0xbb7c, 0x33ee84b9},
-  {0xbb7d, 0x33ee88b0},
-  {0xbb7e, 0x33ee88b1},
-  {0xbb7f, 0x33ee88b2},
-  {0xbb80, 0x33ee88b3},
-  {0xbb81, 0x33ee88b4},
-  {0xbb82, 0x33ee88b5},
-  {0xbb83, 0x33ee88b6},
-  {0xbb84, 0x33ee88b7},
-  {0xbb85, 0x33ee88b8},
-  {0xbb86, 0x33ee88b9},
-  {0xbb87, 0x33ee8cb0},
-  {0xbb88, 0x33ee8cb1},
-  {0xbb89, 0x33ee8cb2},
-  {0xbb8a, 0x33ee8cb3},
-  {0xbb8b, 0x33ee8cb4},
-  {0xbb8c, 0x33ee8cb5},
-  {0xbb8d, 0x33ee8cb6},
-  {0xbb8e, 0x33ee8cb7},
-  {0xbb8f, 0x33ee8cb8},
-  {0xbb90, 0x33ee8cb9},
-  {0xbb91, 0x33ee90b0},
-  {0xbb92, 0x33ee90b1},
-  {0xbb93, 0x33ee90b2},
-  {0xbb94, 0x33ee90b3},
-  {0xbb95, 0x33ee90b4},
-  {0xbb96, 0x33ee90b5},
-  {0xbb97, 0x33ee90b6},
-  {0xbb98, 0x33ee90b7},
-  {0xbb99, 0x33ee90b8},
-  {0xbb9a, 0x33ee90b9},
-  {0xbb9b, 0x33ee94b0},
-  {0xbb9c, 0x33ee94b1},
-  {0xbb9d, 0x33ee94b2},
-  {0xbb9e, 0x33ee94b3},
-  {0xbb9f, 0x33ee94b4},
-  {0xbba0, 0x33ee94b5},
-  {0xbba1, 0x33ee94b6},
-  {0xbba2, 0x33ee94b7},
-  {0xbba3, 0x33ee94b8},
-  {0xbba4, 0x33ee94b9},
-  {0xbba5, 0x33ee98b0},
-  {0xbba6, 0x33ee98b1},
-  {0xbba7, 0x33ee98b2},
-  {0xbba8, 0x33ee98b3},
-  {0xbba9, 0x33ee98b4},
-  {0xbbaa, 0x33ee98b5},
-  {0xbbab, 0x33ee98b6},
-  {0xbbac, 0x33ee98b7},
-  {0xbbad, 0x33ee98b8},
-  {0xbbae, 0x33ee98b9},
-  {0xbbaf, 0x33ee9cb0},
-  {0xbbb0, 0x33ee9cb1},
-  {0xbbb1, 0x33ee9cb2},
-  {0xbbb2, 0x33ee9cb3},
-  {0xbbb3, 0x33ee9cb4},
-  {0xbbb4, 0x33ee9cb5},
-  {0xbbb5, 0x33ee9cb6},
-  {0xbbb6, 0x33ee9cb7},
-  {0xbbb7, 0x33ee9cb8},
-  {0xbbb8, 0x33ee9cb9},
-  {0xbbb9, 0x33eea0b0},
-  {0xbbba, 0x33eea0b1},
-  {0xbbbb, 0x33eea0b2},
-  {0xbbbc, 0x33eea0b3},
-  {0xbbbd, 0x33eea0b4},
-  {0xbbbe, 0x33eea0b5},
-  {0xbbbf, 0x33eea0b6},
-  {0xbbc0, 0x33eea0b7},
-  {0xbbc1, 0x33eea0b8},
-  {0xbbc2, 0x33eea0b9},
-  {0xbbc3, 0x33eea4b0},
-  {0xbbc4, 0x33eea4b1},
-  {0xbbc5, 0x33eea4b2},
-  {0xbbc6, 0x33eea4b3},
-  {0xbbc7, 0x33eea4b4},
-  {0xbbc8, 0x33eea4b5},
-  {0xbbc9, 0x33eea4b6},
-  {0xbbca, 0x33eea4b7},
-  {0xbbcb, 0x33eea4b8},
-  {0xbbcc, 0x33eea4b9},
-  {0xbbcd, 0x33eea8b0},
-  {0xbbce, 0x33eea8b1},
-  {0xbbcf, 0x33eea8b2},
-  {0xbbd0, 0x33eea8b3},
-  {0xbbd1, 0x33eea8b4},
-  {0xbbd2, 0x33eea8b5},
-  {0xbbd3, 0x33eea8b6},
-  {0xbbd4, 0x33eea8b7},
-  {0xbbd5, 0x33eea8b8},
-  {0xbbd6, 0x33eea8b9},
-  {0xbbd7, 0x33eeacb0},
-  {0xbbd8, 0x33eeacb1},
-  {0xbbd9, 0x33eeacb2},
-  {0xbbda, 0x33eeacb3},
-  {0xbbdb, 0x33eeacb4},
-  {0xbbdc, 0x33eeacb5},
-  {0xbbdd, 0x33eeacb6},
-  {0xbbde, 0x33eeacb7},
-  {0xbbdf, 0x33eeacb8},
-  {0xbbe0, 0x33eeacb9},
-  {0xbbe1, 0x33eeb0b0},
-  {0xbbe2, 0x33eeb0b1},
-  {0xbbe3, 0x33eeb0b2},
-  {0xbbe4, 0x33eeb0b3},
-  {0xbbe5, 0x33eeb0b4},
-  {0xbbe6, 0x33eeb0b5},
-  {0xbbe7, 0x33eeb0b6},
-  {0xbbe8, 0x33eeb0b7},
-  {0xbbe9, 0x33eeb0b8},
-  {0xbbea, 0x33eeb0b9},
-  {0xbbeb, 0x33eeb4b0},
-  {0xbbec, 0x33eeb4b1},
-  {0xbbed, 0x33eeb4b2},
-  {0xbbee, 0x33eeb4b3},
-  {0xbbef, 0x33eeb4b4},
-  {0xbbf0, 0x33eeb4b5},
-  {0xbbf1, 0x33eeb4b6},
-  {0xbbf2, 0x33eeb4b7},
-  {0xbbf3, 0x33eeb4b8},
-  {0xbbf4, 0x33eeb4b9},
-  {0xbbf5, 0x33eeb8b0},
-  {0xbbf6, 0x33eeb8b1},
-  {0xbbf7, 0x33eeb8b2},
-  {0xbbf8, 0x33eeb8b3},
-  {0xbbf9, 0x33eeb8b4},
-  {0xbbfa, 0x33eeb8b5},
-  {0xbbfb, 0x33eeb8b6},
-  {0xbbfc, 0x33eeb8b7},
-  {0xbbfd, 0x33eeb8b8},
-  {0xbbfe, 0x33eeb8b9},
-  {0xbbff, 0x33eebcb0},
-  {0xbc00, 0x33eebcb1},
-  {0xbc01, 0x33eebcb2},
-  {0xbc02, 0x33eebcb3},
-  {0xbc03, 0x33eebcb4},
-  {0xbc04, 0x33eebcb5},
-  {0xbc05, 0x33eebcb6},
-  {0xbc06, 0x33eebcb7},
-  {0xbc07, 0x33eebcb8},
-  {0xbc08, 0x33eebcb9},
-  {0xbc09, 0x33ef80b0},
-  {0xbc0a, 0x33ef80b1},
-  {0xbc0b, 0x33ef80b2},
-  {0xbc0c, 0x33ef80b3},
-  {0xbc0d, 0x33ef80b4},
-  {0xbc0e, 0x33ef80b5},
-  {0xbc0f, 0x33ef80b6},
-  {0xbc10, 0x33ef80b7},
-  {0xbc11, 0x33ef80b8},
-  {0xbc12, 0x33ef80b9},
-  {0xbc13, 0x33ef84b0},
-  {0xbc14, 0x33ef84b1},
-  {0xbc15, 0x33ef84b2},
-  {0xbc16, 0x33ef84b3},
-  {0xbc17, 0x33ef84b4},
-  {0xbc18, 0x33ef84b5},
-  {0xbc19, 0x33ef84b6},
-  {0xbc1a, 0x33ef84b7},
-  {0xbc1b, 0x33ef84b8},
-  {0xbc1c, 0x33ef84b9},
-  {0xbc1d, 0x33ef88b0},
-  {0xbc1e, 0x33ef88b1},
-  {0xbc1f, 0x33ef88b2},
-  {0xbc20, 0x33ef88b3},
-  {0xbc21, 0x33ef88b4},
-  {0xbc22, 0x33ef88b5},
-  {0xbc23, 0x33ef88b6},
-  {0xbc24, 0x33ef88b7},
-  {0xbc25, 0x33ef88b8},
-  {0xbc26, 0x33ef88b9},
-  {0xbc27, 0x33ef8cb0},
-  {0xbc28, 0x33ef8cb1},
-  {0xbc29, 0x33ef8cb2},
-  {0xbc2a, 0x33ef8cb3},
-  {0xbc2b, 0x33ef8cb4},
-  {0xbc2c, 0x33ef8cb5},
-  {0xbc2d, 0x33ef8cb6},
-  {0xbc2e, 0x33ef8cb7},
-  {0xbc2f, 0x33ef8cb8},
-  {0xbc30, 0x33ef8cb9},
-  {0xbc31, 0x33ef90b0},
-  {0xbc32, 0x33ef90b1},
-  {0xbc33, 0x33ef90b2},
-  {0xbc34, 0x33ef90b3},
-  {0xbc35, 0x33ef90b4},
-  {0xbc36, 0x33ef90b5},
-  {0xbc37, 0x33ef90b6},
-  {0xbc38, 0x33ef90b7},
-  {0xbc39, 0x33ef90b8},
-  {0xbc3a, 0x33ef90b9},
-  {0xbc3b, 0x33ef94b0},
-  {0xbc3c, 0x33ef94b1},
-  {0xbc3d, 0x33ef94b2},
-  {0xbc3e, 0x33ef94b3},
-  {0xbc3f, 0x33ef94b4},
-  {0xbc40, 0x33ef94b5},
-  {0xbc41, 0x33ef94b6},
-  {0xbc42, 0x33ef94b7},
-  {0xbc43, 0x33ef94b8},
-  {0xbc44, 0x33ef94b9},
-  {0xbc45, 0x33ef98b0},
-  {0xbc46, 0x33ef98b1},
-  {0xbc47, 0x33ef98b2},
-  {0xbc48, 0x33ef98b3},
-  {0xbc49, 0x33ef98b4},
-  {0xbc4a, 0x33ef98b5},
-  {0xbc4b, 0x33ef98b6},
-  {0xbc4c, 0x33ef98b7},
-  {0xbc4d, 0x33ef98b8},
-  {0xbc4e, 0x33ef98b9},
-  {0xbc4f, 0x33ef9cb0},
-  {0xbc50, 0x33ef9cb1},
-  {0xbc51, 0x33ef9cb2},
-  {0xbc52, 0x33ef9cb3},
-  {0xbc53, 0x33ef9cb4},
-  {0xbc54, 0x33ef9cb5},
-  {0xbc55, 0x33ef9cb6},
-  {0xbc56, 0x33ef9cb7},
-  {0xbc57, 0x33ef9cb8},
-  {0xbc58, 0x33ef9cb9},
-  {0xbc59, 0x33efa0b0},
-  {0xbc5a, 0x33efa0b1},
-  {0xbc5b, 0x33efa0b2},
-  {0xbc5c, 0x33efa0b3},
-  {0xbc5d, 0x33efa0b4},
-  {0xbc5e, 0x33efa0b5},
-  {0xbc5f, 0x33efa0b6},
-  {0xbc60, 0x33efa0b7},
-  {0xbc61, 0x33efa0b8},
-  {0xbc62, 0x33efa0b9},
-  {0xbc63, 0x33efa4b0},
-  {0xbc64, 0x33efa4b1},
-  {0xbc65, 0x33efa4b2},
-  {0xbc66, 0x33efa4b3},
-  {0xbc67, 0x33efa4b4},
-  {0xbc68, 0x33efa4b5},
-  {0xbc69, 0x33efa4b6},
-  {0xbc6a, 0x33efa4b7},
-  {0xbc6b, 0x33efa4b8},
-  {0xbc6c, 0x33efa4b9},
-  {0xbc6d, 0x33efa8b0},
-  {0xbc6e, 0x33efa8b1},
-  {0xbc6f, 0x33efa8b2},
-  {0xbc70, 0x33efa8b3},
-  {0xbc71, 0x33efa8b4},
-  {0xbc72, 0x33efa8b5},
-  {0xbc73, 0x33efa8b6},
-  {0xbc74, 0x33efa8b7},
-  {0xbc75, 0x33efa8b8},
-  {0xbc76, 0x33efa8b9},
-  {0xbc77, 0x33efacb0},
-  {0xbc78, 0x33efacb1},
-  {0xbc79, 0x33efacb2},
-  {0xbc7a, 0x33efacb3},
-  {0xbc7b, 0x33efacb4},
-  {0xbc7c, 0x33efacb5},
-  {0xbc7d, 0x33efacb6},
-  {0xbc7e, 0x33efacb7},
-  {0xbc7f, 0x33efacb8},
-  {0xbc80, 0x33efacb9},
-  {0xbc81, 0x33efb0b0},
-  {0xbc82, 0x33efb0b1},
-  {0xbc83, 0x33efb0b2},
-  {0xbc84, 0x33efb0b3},
-  {0xbc85, 0x33efb0b4},
-  {0xbc86, 0x33efb0b5},
-  {0xbc87, 0x33efb0b6},
-  {0xbc88, 0x33efb0b7},
-  {0xbc89, 0x33efb0b8},
-  {0xbc8a, 0x33efb0b9},
-  {0xbc8b, 0x33efb4b0},
-  {0xbc8c, 0x33efb4b1},
-  {0xbc8d, 0x33efb4b2},
-  {0xbc8e, 0x33efb4b3},
-  {0xbc8f, 0x33efb4b4},
-  {0xbc90, 0x33efb4b5},
-  {0xbc91, 0x33efb4b6},
-  {0xbc92, 0x33efb4b7},
-  {0xbc93, 0x33efb4b8},
-  {0xbc94, 0x33efb4b9},
-  {0xbc95, 0x33efb8b0},
-  {0xbc96, 0x33efb8b1},
-  {0xbc97, 0x33efb8b2},
-  {0xbc98, 0x33efb8b3},
-  {0xbc99, 0x33efb8b4},
-  {0xbc9a, 0x33efb8b5},
-  {0xbc9b, 0x33efb8b6},
-  {0xbc9c, 0x33efb8b7},
-  {0xbc9d, 0x33efb8b8},
-  {0xbc9e, 0x33efb8b9},
-  {0xbc9f, 0x33f884b0},
-  {0xbca0, 0x33f884b1},
-  {0xbca1, 0x33f884b2},
-  {0xbca2, 0x33f884b3},
-  {0xbca3, 0x33f884b4},
-  {0xbca4, 0x33f884b5},
-  {0xbca5, 0x33f884b6},
-  {0xbca6, 0x33f884b7},
-  {0xbca7, 0x33f884b8},
-  {0xbca8, 0x33f884b9},
-  {0xbca9, 0x33f888b0},
-  {0xbcaa, 0x33f888b1},
-  {0xbcab, 0x33f888b2},
-  {0xbcac, 0x33f888b3},
-  {0xbcad, 0x33f888b4},
-  {0xbcae, 0x33f888b5},
-  {0xbcaf, 0x33f888b6},
-  {0xbcb0, 0x33f888b7},
-  {0xbcb1, 0x33f888b8},
-  {0xbcb2, 0x33f888b9},
-  {0xbcb3, 0x33f88cb0},
-  {0xbcb4, 0x33f88cb1},
-  {0xbcb5, 0x33f88cb2},
-  {0xbcb6, 0x33f88cb3},
-  {0xbcb7, 0x33f88cb4},
-  {0xbcb8, 0x33f88cb5},
-  {0xbcb9, 0x33f88cb6},
-  {0xbcba, 0x33f88cb7},
-  {0xbcbb, 0x33f88cb8},
-  {0xbcbc, 0x33f88cb9},
-  {0xbcbd, 0x33f890b0},
-  {0xbcbe, 0x33f890b1},
-  {0xbcbf, 0x33f890b2},
-  {0xbcc0, 0x33f890b3},
-  {0xbcc1, 0x33f890b4},
-  {0xbcc2, 0x33f890b5},
-  {0xbcc3, 0x33f890b6},
-  {0xbcc4, 0x33f890b7},
-  {0xbcc5, 0x33f890b8},
-  {0xbcc6, 0x33f890b9},
-  {0xbcc7, 0x33f894b0},
-  {0xbcc8, 0x33f894b1},
-  {0xbcc9, 0x33f894b2},
-  {0xbcca, 0x33f894b3},
-  {0xbccb, 0x33f894b4},
-  {0xbccc, 0x33f894b5},
-  {0xbccd, 0x33f894b6},
-  {0xbcce, 0x33f894b7},
-  {0xbccf, 0x33f894b8},
-  {0xbcd0, 0x33f894b9},
-  {0xbcd1, 0x33f898b0},
-  {0xbcd2, 0x33f898b1},
-  {0xbcd3, 0x33f898b2},
-  {0xbcd4, 0x33f898b3},
-  {0xbcd5, 0x33f898b4},
-  {0xbcd6, 0x33f898b5},
-  {0xbcd7, 0x33f898b6},
-  {0xbcd8, 0x33f898b7},
-  {0xbcd9, 0x33f898b8},
-  {0xbcda, 0x33f898b9},
-  {0xbcdb, 0x33f89cb0},
-  {0xbcdc, 0x33f89cb1},
-  {0xbcdd, 0x33f89cb2},
-  {0xbcde, 0x33f89cb3},
-  {0xbcdf, 0x33f89cb4},
-  {0xbce0, 0x33f89cb5},
-  {0xbce1, 0x33f89cb6},
-  {0xbce2, 0x33f89cb7},
-  {0xbce3, 0x33f89cb8},
-  {0xbce4, 0x33f89cb9},
-  {0xbce5, 0x33f8a0b0},
-  {0xbce6, 0x33f8a0b1},
-  {0xbce7, 0x33f8a0b2},
-  {0xbce8, 0x33f8a0b3},
-  {0xbce9, 0x33f8a0b4},
-  {0xbcea, 0x33f8a0b5},
-  {0xbceb, 0x33f8a0b6},
-  {0xbcec, 0x33f8a0b7},
-  {0xbced, 0x33f8a0b8},
-  {0xbcee, 0x33f8a0b9},
-  {0xbcef, 0x33f8a4b0},
-  {0xbcf0, 0x33f8a4b1},
-  {0xbcf1, 0x33f8a4b2},
-  {0xbcf2, 0x33f8a4b3},
-  {0xbcf3, 0x33f8a4b4},
-  {0xbcf4, 0x33f8a4b5},
-  {0xbcf5, 0x33f8a4b6},
-  {0xbcf6, 0x33f8a4b7},
-  {0xbcf7, 0x33f8a4b8},
-  {0xbcf8, 0x33f8a4b9},
-  {0xbcf9, 0x33f8a8b0},
-  {0xbcfa, 0x33f8a8b1},
-  {0xbcfb, 0x33f8a8b2},
-  {0xbcfc, 0x33f8a8b3},
-  {0xbcfd, 0x33f8a8b4},
-  {0xbcfe, 0x33f8a8b5},
-  {0xbcff, 0x33f8a8b6},
-  {0xbd00, 0x33f8a8b7},
-  {0xbd01, 0x33f8a8b8},
-  {0xbd02, 0x33f8a8b9},
-  {0xbd03, 0x33f8acb0},
-  {0xbd04, 0x33f8acb1},
-  {0xbd05, 0x33f8acb2},
-  {0xbd06, 0x33f8acb3},
-  {0xbd07, 0x33f8acb4},
-  {0xbd08, 0x33f8acb5},
-  {0xbd09, 0x33f8acb6},
-  {0xbd0a, 0x33f8acb7},
-  {0xbd0b, 0x33f8acb8},
-  {0xbd0c, 0x33f8acb9},
-  {0xbd0d, 0x33f8b0b0},
-  {0xbd0e, 0x33f8b0b1},
-  {0xbd0f, 0x33f8b0b2},
-  {0xbd10, 0x33f8b0b3},
-  {0xbd11, 0x33f8b0b4},
-  {0xbd12, 0x33f8b0b5},
-  {0xbd13, 0x33f8b0b6},
-  {0xbd14, 0x33f8b0b7},
-  {0xbd15, 0x33f8b0b8},
-  {0xbd16, 0x33f8b0b9},
-  {0xbd17, 0x33f8b4b0},
-  {0xbd18, 0x33f8b4b1},
-  {0xbd19, 0x33f8b4b2},
-  {0xbd1a, 0x33f8b4b3},
-  {0xbd1b, 0x33f8b4b4},
-  {0xbd1c, 0x33f8b4b5},
-  {0xbd1d, 0x33f8b4b6},
-  {0xbd1e, 0x33f8b4b7},
-  {0xbd1f, 0x33f8b4b8},
-  {0xbd20, 0x33f8b4b9},
-  {0xbd21, 0x33f8b8b0},
-  {0xbd22, 0x33f8b8b1},
-  {0xbd23, 0x33f8b8b2},
-  {0xbd24, 0x33f8b8b3},
-  {0xbd25, 0x33f8b8b4},
-  {0xbd26, 0x33f8b8b5},
-  {0xbd27, 0x33f8b8b6},
-  {0xbd28, 0x33f8b8b7},
-  {0xbd29, 0x33f8b8b8},
-  {0xbd2a, 0x33f8b8b9},
-  {0xbd2b, 0x33f8bcb0},
-  {0xbd2c, 0x33f8bcb1},
-  {0xbd2d, 0x33f8bcb2},
-  {0xbd2e, 0x33f8bcb3},
-  {0xbd2f, 0x33f8bcb4},
-  {0xbd30, 0x33f8bcb5},
-  {0xbd31, 0x33f8bcb6},
-  {0xbd32, 0x33f8bcb7},
-  {0xbd33, 0x33f8bcb8},
-  {0xbd34, 0x33f8bcb9},
-  {0xbd35, 0x33f980b0},
-  {0xbd36, 0x33f980b1},
-  {0xbd37, 0x33f980b2},
-  {0xbd38, 0x33f980b3},
-  {0xbd39, 0x33f980b4},
-  {0xbd3a, 0x33f980b5},
-  {0xbd3b, 0x33f980b6},
-  {0xbd3c, 0x33f980b7},
-  {0xbd3d, 0x33f980b8},
-  {0xbd3e, 0x33f980b9},
-  {0xbd3f, 0x33f984b0},
-  {0xbd40, 0x33f984b1},
-  {0xbd41, 0x33f984b2},
-  {0xbd42, 0x33f984b3},
-  {0xbd43, 0x33f984b4},
-  {0xbd44, 0x33f984b5},
-  {0xbd45, 0x33f984b6},
-  {0xbd46, 0x33f984b7},
-  {0xbd47, 0x33f984b8},
-  {0xbd48, 0x33f984b9},
-  {0xbd49, 0x33f988b0},
-  {0xbd4a, 0x33f988b1},
-  {0xbd4b, 0x33f988b2},
-  {0xbd4c, 0x33f988b3},
-  {0xbd4d, 0x33f988b4},
-  {0xbd4e, 0x33f988b5},
-  {0xbd4f, 0x33f988b6},
-  {0xbd50, 0x33f988b7},
-  {0xbd51, 0x33f988b8},
-  {0xbd52, 0x33f988b9},
-  {0xbd53, 0x33f98cb0},
-  {0xbd54, 0x33f98cb1},
-  {0xbd55, 0x33f98cb2},
-  {0xbd56, 0x33f98cb3},
-  {0xbd57, 0x33f98cb4},
-  {0xbd58, 0x33f98cb5},
-  {0xbd59, 0x33f98cb6},
-  {0xbd5a, 0x33f98cb7},
-  {0xbd5b, 0x33f98cb8},
-  {0xbd5c, 0x33f98cb9},
-  {0xbd5d, 0x33f990b0},
-  {0xbd5e, 0x33f990b1},
-  {0xbd5f, 0x33f990b2},
-  {0xbd60, 0x33f990b3},
-  {0xbd61, 0x33f990b4},
-  {0xbd62, 0x33f990b5},
-  {0xbd63, 0x33f990b6},
-  {0xbd64, 0x33f990b7},
-  {0xbd65, 0x33f990b8},
-  {0xbd66, 0x33f990b9},
-  {0xbd67, 0x33f994b0},
-  {0xbd68, 0x33f994b1},
-  {0xbd69, 0x33f994b2},
-  {0xbd6a, 0x33f994b3},
-  {0xbd6b, 0x33f994b4},
-  {0xbd6c, 0x33f994b5},
-  {0xbd6d, 0x33f994b6},
-  {0xbd6e, 0x33f994b7},
-  {0xbd6f, 0x33f994b8},
-  {0xbd70, 0x33f994b9},
-  {0xbd71, 0x33f998b0},
-  {0xbd72, 0x33f998b1},
-  {0xbd73, 0x33f998b2},
-  {0xbd74, 0x33f998b3},
-  {0xbd75, 0x33f998b4},
-  {0xbd76, 0x33f998b5},
-  {0xbd77, 0x33f998b6},
-  {0xbd78, 0x33f998b7},
-  {0xbd79, 0x33f998b8},
-  {0xbd7a, 0x33f998b9},
-  {0xbd7b, 0x33f99cb0},
-  {0xbd7c, 0x33f99cb1},
-  {0xbd7d, 0x33f99cb2},
-  {0xbd7e, 0x33f99cb3},
-  {0xbd7f, 0x33f99cb4},
-  {0xbd80, 0x33f99cb5},
-  {0xbd81, 0x33f99cb6},
-  {0xbd82, 0x33f99cb7},
-  {0xbd83, 0x33f99cb8},
-  {0xbd84, 0x33f99cb9},
-  {0xbd85, 0x33f9a0b0},
-  {0xbd86, 0x33f9a0b1},
-  {0xbd87, 0x33f9a0b2},
-  {0xbd88, 0x33f9a0b3},
-  {0xbd89, 0x33f9a0b4},
-  {0xbd8a, 0x33f9a0b5},
-  {0xbd8b, 0x33f9a0b6},
-  {0xbd8c, 0x33f9a0b7},
-  {0xbd8d, 0x33f9a0b8},
-  {0xbd8e, 0x33f9a0b9},
-  {0xbd8f, 0x33f9a4b0},
-  {0xbd90, 0x33f9a4b1},
-  {0xbd91, 0x33f9a4b2},
-  {0xbd92, 0x33f9a4b3},
-  {0xbd93, 0x33f9a4b4},
-  {0xbd94, 0x33f9a4b5},
-  {0xbd95, 0x33f9a4b6},
-  {0xbd96, 0x33f9a4b7},
-  {0xbd97, 0x33f9a4b8},
-  {0xbd98, 0x33f9a4b9},
-  {0xbd99, 0x33f9a8b0},
-  {0xbd9a, 0x33f9a8b1},
-  {0xbd9b, 0x33f9a8b2},
-  {0xbd9c, 0x33f9a8b3},
-  {0xbd9d, 0x33f9a8b4},
-  {0xbd9e, 0x33f9a8b5},
-  {0xbd9f, 0x33f9a8b6},
-  {0xbda0, 0x33f9a8b7},
-  {0xbda1, 0x33f9a8b8},
-  {0xbda2, 0x33f9a8b9},
-  {0xbda3, 0x33f9acb0},
-  {0xbda4, 0x33f9acb1},
-  {0xbda5, 0x33f9acb2},
-  {0xbda6, 0x33f9acb3},
-  {0xbda7, 0x33f9acb4},
-  {0xbda8, 0x33f9acb5},
-  {0xbda9, 0x33f9acb6},
-  {0xbdaa, 0x33f9acb7},
-  {0xbdab, 0x33f9acb8},
-  {0xbdac, 0x33f9acb9},
-  {0xbdad, 0x33f9b0b0},
-  {0xbdae, 0x33f9b0b1},
-  {0xbdaf, 0x33f9b0b2},
-  {0xbdb0, 0x33f9b0b3},
-  {0xbdb1, 0x33f9b0b4},
-  {0xbdb2, 0x33f9b0b5},
-  {0xbdb3, 0x33f9b0b6},
-  {0xbdb4, 0x33f9b0b7},
-  {0xbdb5, 0x33f9b0b8},
-  {0xbdb6, 0x33f9b0b9},
-  {0xbdb7, 0x33f9b4b0},
-  {0xbdb8, 0x33f9b4b1},
-  {0xbdb9, 0x33f9b4b2},
-  {0xbdba, 0x33f9b4b3},
-  {0xbdbb, 0x33f9b4b4},
-  {0xbdbc, 0x33f9b4b5},
-  {0xbdbd, 0x33f9b4b6},
-  {0xbdbe, 0x33f9b4b7},
-  {0xbdbf, 0x33f9b4b8},
-  {0xbdc0, 0x33f9b4b9},
-  {0xbdc1, 0x33f9b8b0},
-  {0xbdc2, 0x33f9b8b1},
-  {0xbdc3, 0x33f9b8b2},
-  {0xbdc4, 0x33f9b8b3},
-  {0xbdc5, 0x33f9b8b4},
-  {0xbdc6, 0x33f9b8b5},
-  {0xbdc7, 0x33f9b8b6},
-  {0xbdc8, 0x33f9b8b7},
-  {0xbdc9, 0x33f9b8b8},
-  {0xbdca, 0x33f9b8b9},
-  {0xbdcb, 0x33f9bcb0},
-  {0xbdcc, 0x33f9bcb1},
-  {0xbdcd, 0x33f9bcb2},
-  {0xbdce, 0x33f9bcb3},
-  {0xbdcf, 0x33f9bcb4},
-  {0xbdd0, 0x33f9bcb5},
-  {0xbdd1, 0x33f9bcb6},
-  {0xbdd2, 0x33f9bcb7},
-  {0xbdd3, 0x33f9bcb8},
-  {0xbdd4, 0x33f9bcb9},
-  {0xbdd5, 0x33fa80b0},
-  {0xbdd6, 0x33fa80b1},
-  {0xbdd7, 0x33fa80b2},
-  {0xbdd8, 0x33fa80b3},
-  {0xbdd9, 0x33fa80b4},
-  {0xbdda, 0x33fa80b5},
-  {0xbddb, 0x33fa80b6},
-  {0xbddc, 0x33fa80b7},
-  {0xbddd, 0x33fa80b8},
-  {0xbdde, 0x33fa80b9},
-  {0xbddf, 0x33fa84b0},
-  {0xbde0, 0x33fa84b1},
-  {0xbde1, 0x33fa84b2},
-  {0xbde2, 0x33fa84b3},
-  {0xbde3, 0x33fa84b4},
-  {0xbde4, 0x33fa84b5},
-  {0xbde5, 0x33fa84b6},
-  {0xbde6, 0x33fa84b7},
-  {0xbde7, 0x33fa84b8},
-  {0xbde8, 0x33fa84b9},
-  {0xbde9, 0x33fa88b0},
-  {0xbdea, 0x33fa88b1},
-  {0xbdeb, 0x33fa88b2},
-  {0xbdec, 0x33fa88b3},
-  {0xbded, 0x33fa88b4},
-  {0xbdee, 0x33fa88b5},
-  {0xbdef, 0x33fa88b6},
-  {0xbdf0, 0x33fa88b7},
-  {0xbdf1, 0x33fa88b8},
-  {0xbdf2, 0x33fa88b9},
-  {0xbdf3, 0x33fa8cb0},
-  {0xbdf4, 0x33fa8cb1},
-  {0xbdf5, 0x33fa8cb2},
-  {0xbdf6, 0x33fa8cb3},
-  {0xbdf7, 0x33fa8cb4},
-  {0xbdf8, 0x33fa8cb5},
-  {0xbdf9, 0x33fa8cb6},
-  {0xbdfa, 0x33fa8cb7},
-  {0xbdfb, 0x33fa8cb8},
-  {0xbdfc, 0x33fa8cb9},
-  {0xbdfd, 0x33fa90b0},
-  {0xbdfe, 0x33fa90b1},
-  {0xbdff, 0x33fa90b2},
-  {0xbe00, 0x33fa90b3},
-  {0xbe01, 0x33fa90b4},
-  {0xbe02, 0x33fa90b5},
-  {0xbe03, 0x33fa90b6},
-  {0xbe04, 0x33fa90b7},
-  {0xbe05, 0x33fa90b8},
-  {0xbe06, 0x33fa90b9},
-  {0xbe07, 0x33fa94b0},
-  {0xbe08, 0x33fa94b1},
-  {0xbe09, 0x33fa94b2},
-  {0xbe0a, 0x33fa94b3},
-  {0xbe0b, 0x33fa94b4},
-  {0xbe0c, 0x33fa94b5},
-  {0xbe0d, 0x33fa94b6},
-  {0xbe0e, 0x33fa94b7},
-  {0xbe0f, 0x33fa94b8},
-  {0xbe10, 0x33fa94b9},
-  {0xbe11, 0x33fa98b0},
-  {0xbe12, 0x33fa98b1},
-  {0xbe13, 0x33fa98b2},
-  {0xbe14, 0x33fa98b3},
-  {0xbe15, 0x33fa98b4},
-  {0xbe16, 0x33fa98b5},
-  {0xbe17, 0x33fa98b6},
-  {0xbe18, 0x33fa98b7},
-  {0xbe19, 0x33fa98b8},
-  {0xbe1a, 0x33fa98b9},
-  {0xbe1b, 0x33fa9cb0},
-  {0xbe1c, 0x33fa9cb1},
-  {0xbe1d, 0x33fa9cb2},
-  {0xbe1e, 0x33fa9cb3},
-  {0xbe1f, 0x33fa9cb4},
-  {0xbe20, 0x33fa9cb5},
-  {0xbe21, 0x33fa9cb6},
-  {0xbe22, 0x33fa9cb7},
-  {0xbe23, 0x33fa9cb8},
-  {0xbe24, 0x33fa9cb9},
-  {0xbe25, 0x33faa0b0},
-  {0xbe26, 0x33faa0b1},
-  {0xbe27, 0x33faa0b2},
-  {0xbe28, 0x33faa0b3},
-  {0xbe29, 0x33faa0b4},
-  {0xbe2a, 0x33faa0b5},
-  {0xbe2b, 0x33faa0b6},
-  {0xbe2c, 0x33faa0b7},
-  {0xbe2d, 0x33faa0b8},
-  {0xbe2e, 0x33faa0b9},
-  {0xbe2f, 0x33faa4b0},
-  {0xbe30, 0x33faa4b1},
-  {0xbe31, 0x33faa4b2},
-  {0xbe32, 0x33faa4b3},
-  {0xbe33, 0x33faa4b4},
-  {0xbe34, 0x33faa4b5},
-  {0xbe35, 0x33faa4b6},
-  {0xbe36, 0x33faa4b7},
-  {0xbe37, 0x33faa4b8},
-  {0xbe38, 0x33faa4b9},
-  {0xbe39, 0x33faa8b0},
-  {0xbe3a, 0x33faa8b1},
-  {0xbe3b, 0x33faa8b2},
-  {0xbe3c, 0x33faa8b3},
-  {0xbe3d, 0x33faa8b4},
-  {0xbe3e, 0x33faa8b5},
-  {0xbe3f, 0x33faa8b6},
-  {0xbe40, 0x33faa8b7},
-  {0xbe41, 0x33faa8b8},
-  {0xbe42, 0x33faa8b9},
-  {0xbe43, 0x33faacb0},
-  {0xbe44, 0x33faacb1},
-  {0xbe45, 0x33faacb2},
-  {0xbe46, 0x33faacb3},
-  {0xbe47, 0x33faacb4},
-  {0xbe48, 0x33faacb5},
-  {0xbe49, 0x33faacb6},
-  {0xbe4a, 0x33faacb7},
-  {0xbe4b, 0x33faacb8},
-  {0xbe4c, 0x33faacb9},
-  {0xbe4d, 0x33fab0b0},
-  {0xbe4e, 0x33fab0b1},
-  {0xbe4f, 0x33fab0b2},
-  {0xbe50, 0x33fab0b3},
-  {0xbe51, 0x33fab0b4},
-  {0xbe52, 0x33fab0b5},
-  {0xbe53, 0x33fab0b6},
-  {0xbe54, 0x33fab0b7},
-  {0xbe55, 0x33fab0b8},
-  {0xbe56, 0x33fab0b9},
-  {0xbe57, 0x33fab4b0},
-  {0xbe58, 0x33fab4b1},
-  {0xbe59, 0x33fab4b2},
-  {0xbe5a, 0x33fab4b3},
-  {0xbe5b, 0x33fab4b4},
-  {0xbe5c, 0x33fab4b5},
-  {0xbe5d, 0x33fab4b6},
-  {0xbe5e, 0x33fab4b7},
-  {0xbe5f, 0x33fab4b8},
-  {0xbe60, 0x33fab4b9},
-  {0xbe61, 0x33fab8b0},
-  {0xbe62, 0x33fab8b1},
-  {0xbe63, 0x33fab8b2},
-  {0xbe64, 0x33fab8b3},
-  {0xbe65, 0x33fab8b4},
-  {0xbe66, 0x33fab8b5},
-  {0xbe67, 0x33fab8b6},
-  {0xbe68, 0x33fab8b7},
-  {0xbe69, 0x33fab8b8},
-  {0xbe6a, 0x33fab8b9},
-  {0xbe6b, 0x33fabcb0},
-  {0xbe6c, 0x33fabcb1},
-  {0xbe6d, 0x33fabcb2},
-  {0xbe6e, 0x33fabcb3},
-  {0xbe6f, 0x33fabcb4},
-  {0xbe70, 0x33fabcb5},
-  {0xbe71, 0x33fabcb6},
-  {0xbe72, 0x33fabcb7},
-  {0xbe73, 0x33fabcb8},
-  {0xbe74, 0x33fabcb9},
-  {0xbe75, 0x33fb80b0},
-  {0xbe76, 0x33fb80b1},
-  {0xbe77, 0x33fb80b2},
-  {0xbe78, 0x33fb80b3},
-  {0xbe79, 0x33fb80b4},
-  {0xbe7a, 0x33fb80b5},
-  {0xbe7b, 0x33fb80b6},
-  {0xbe7c, 0x33fb80b7},
-  {0xbe7d, 0x33fb80b8},
-  {0xbe7e, 0x33fb80b9},
-  {0xbe7f, 0x33fb84b0},
-  {0xbe80, 0x33fb84b1},
-  {0xbe81, 0x33fb84b2},
-  {0xbe82, 0x33fb84b3},
-  {0xbe83, 0x33fb84b4},
-  {0xbe84, 0x33fb84b5},
-  {0xbe85, 0x33fb84b6},
-  {0xbe86, 0x33fb84b7},
-  {0xbe87, 0x33fb84b8},
-  {0xbe88, 0x33fb84b9},
-  {0xbe89, 0x33fb88b0},
-  {0xbe8a, 0x33fb88b1},
-  {0xbe8b, 0x33fb88b2},
-  {0xbe8c, 0x33fb88b3},
-  {0xbe8d, 0x33fb88b4},
-  {0xbe8e, 0x33fb88b5},
-  {0xbe8f, 0x33fb88b6},
-  {0xbe90, 0x33fb88b7},
-  {0xbe91, 0x33fb88b8},
-  {0xbe92, 0x33fb88b9},
-  {0xbe93, 0x33fb8cb0},
-  {0xbe94, 0x33fb8cb1},
-  {0xbe95, 0x33fb8cb2},
-  {0xbe96, 0x33fb8cb3},
-  {0xbe97, 0x33fb8cb4},
-  {0xbe98, 0x33fb8cb5},
-  {0xbe99, 0x33fb8cb6},
-  {0xbe9a, 0x33fb8cb7},
-  {0xbe9b, 0x33fb8cb8},
-  {0xbe9c, 0x33fb8cb9},
-  {0xbe9d, 0x33fb90b0},
-  {0xbe9e, 0x33fb90b1},
-  {0xbe9f, 0x33fb90b2},
-  {0xbea0, 0x33fb90b3},
-  {0xbea1, 0x33fb90b4},
-  {0xbea2, 0x33fb90b5},
-  {0xbea3, 0x33fb90b6},
-  {0xbea4, 0x33fb90b7},
-  {0xbea5, 0x33fb90b8},
-  {0xbea6, 0x33fb90b9},
-  {0xbea7, 0x33fb94b0},
-  {0xbea8, 0x33fb94b1},
-  {0xbea9, 0x33fb94b2},
-  {0xbeaa, 0x33fb94b3},
-  {0xbeab, 0x33fb94b4},
-  {0xbeac, 0x33fb94b5},
-  {0xbead, 0x33fb94b6},
-  {0xbeae, 0x33fb94b7},
-  {0xbeaf, 0x33fb94b8},
-  {0xbeb0, 0x33fb94b9},
-  {0xbeb1, 0x33fb98b0},
-  {0xbeb2, 0x33fb98b1},
-  {0xbeb3, 0x33fb98b2},
-  {0xbeb4, 0x33fb98b3},
-  {0xbeb5, 0x33fb98b4},
-  {0xbeb6, 0x33fb98b5},
-  {0xbeb7, 0x33fb98b6},
-  {0xbeb8, 0x33fb98b7},
-  {0xbeb9, 0x33fb98b8},
-  {0xbeba, 0x33fb98b9},
-  {0xbebb, 0x33fb9cb0},
-  {0xbebc, 0x33fb9cb1},
-  {0xbebd, 0x33fb9cb2},
-  {0xbebe, 0x33fb9cb3},
-  {0xbebf, 0x33fb9cb4},
-  {0xbec0, 0x33fb9cb5},
-  {0xbec1, 0x33fb9cb6},
-  {0xbec2, 0x33fb9cb7},
-  {0xbec3, 0x33fb9cb8},
-  {0xbec4, 0x33fb9cb9},
-  {0xbec5, 0x33fba0b0},
-  {0xbec6, 0x33fba0b1},
-  {0xbec7, 0x33fba0b2},
-  {0xbec8, 0x33fba0b3},
-  {0xbec9, 0x33fba0b4},
-  {0xbeca, 0x33fba0b5},
-  {0xbecb, 0x33fba0b6},
-  {0xbecc, 0x33fba0b7},
-  {0xbecd, 0x33fba0b8},
-  {0xbece, 0x33fba0b9},
-  {0xbecf, 0x33fba4b0},
-  {0xbed0, 0x33fba4b1},
-  {0xbed1, 0x33fba4b2},
-  {0xbed2, 0x33fba4b3},
-  {0xbed3, 0x33fba4b4},
-  {0xbed4, 0x33fba4b5},
-  {0xbed5, 0x33fba4b6},
-  {0xbed6, 0x33fba4b7},
-  {0xbed7, 0x33fba4b8},
-  {0xbed8, 0x33fba4b9},
-  {0xbed9, 0x33fba8b0},
-  {0xbeda, 0x33fba8b1},
-  {0xbedb, 0x33fba8b2},
-  {0xbedc, 0x33fba8b3},
-  {0xbedd, 0x33fba8b4},
-  {0xbede, 0x33fba8b5},
-  {0xbedf, 0x33fba8b6},
-  {0xbee0, 0x33fba8b7},
-  {0xbee1, 0x33fba8b8},
-  {0xbee2, 0x33fba8b9},
-  {0xbee3, 0x33fbacb0},
-  {0xbee4, 0x33fbacb1},
-  {0xbee5, 0x33fbacb2},
-  {0xbee6, 0x33fbacb3},
-  {0xbee7, 0x33fbacb4},
-  {0xbee8, 0x33fbacb5},
-  {0xbee9, 0x33fbacb6},
-  {0xbeea, 0x33fbacb7},
-  {0xbeeb, 0x33fbacb8},
-  {0xbeec, 0x33fbacb9},
-  {0xbeed, 0x33fbb0b0},
-  {0xbeee, 0x33fbb0b1},
-  {0xbeef, 0x33fbb0b2},
-  {0xbef0, 0x33fbb0b3},
-  {0xbef1, 0x33fbb0b4},
-  {0xbef2, 0x33fbb0b5},
-  {0xbef3, 0x33fbb0b6},
-  {0xbef4, 0x33fbb0b7},
-  {0xbef5, 0x33fbb0b8},
-  {0xbef6, 0x33fbb0b9},
-  {0xbef7, 0x33fbb4b0},
-  {0xbef8, 0x33fbb4b1},
-  {0xbef9, 0x33fbb4b2},
-  {0xbefa, 0x33fbb4b3},
-  {0xbefb, 0x33fbb4b4},
-  {0xbefc, 0x33fbb4b5},
-  {0xbefd, 0x33fbb4b6},
-  {0xbefe, 0x33fbb4b7},
-  {0xbeff, 0x33fbb4b8},
-  {0xbf00, 0x33fbb4b9},
-  {0xbf01, 0x33fbb8b0},
-  {0xbf02, 0x33fbb8b1},
-  {0xbf03, 0x33fbb8b2},
-  {0xbf04, 0x33fbb8b3},
-  {0xbf05, 0x33fbb8b4},
-  {0xbf06, 0x33fbb8b5},
-  {0xbf07, 0x33fbb8b6},
-  {0xbf08, 0x33fbb8b7},
-  {0xbf09, 0x33fbb8b8},
-  {0xbf0a, 0x33fbb8b9},
-  {0xbf0b, 0x33fbbcb0},
-  {0xbf0c, 0x33fbbcb1},
-  {0xbf0d, 0x33fbbcb2},
-  {0xbf0e, 0x33fbbcb3},
-  {0xbf0f, 0x33fbbcb4},
-  {0xbf10, 0x33fbbcb5},
-  {0xbf11, 0x33fbbcb6},
-  {0xbf12, 0x33fbbcb7},
-  {0xbf13, 0x33fbbcb8},
-  {0xbf14, 0x33fbbcb9},
-  {0xbf15, 0x33fc80b0},
-  {0xbf16, 0x33fc80b1},
-  {0xbf17, 0x33fc80b2},
-  {0xbf18, 0x33fc80b3},
-  {0xbf19, 0x33fc80b4},
-  {0xbf1a, 0x33fc80b5},
-  {0xbf1b, 0x33fc80b6},
-  {0xbf1c, 0x33fc80b7},
-  {0xbf1d, 0x33fc80b8},
-  {0xbf1e, 0x33fc80b9},
-  {0xbf1f, 0x33fc84b0},
-  {0xbf20, 0x33fc84b1},
-  {0xbf21, 0x33fc84b2},
-  {0xbf22, 0x33fc84b3},
-  {0xbf23, 0x33fc84b4},
-  {0xbf24, 0x33fc84b5},
-  {0xbf25, 0x33fc84b6},
-  {0xbf26, 0x33fc84b7},
-  {0xbf27, 0x33fc84b8},
-  {0xbf28, 0x33fc84b9},
-  {0xbf29, 0x33fc88b0},
-  {0xbf2a, 0x33fc88b1},
-  {0xbf2b, 0x33fc88b2},
-  {0xbf2c, 0x33fc88b3},
-  {0xbf2d, 0x33fc88b4},
-  {0xbf2e, 0x33fc88b5},
-  {0xbf2f, 0x33fc88b6},
-  {0xbf30, 0x33fc88b7},
-  {0xbf31, 0x33fc88b8},
-  {0xbf32, 0x33fc88b9},
-  {0xbf33, 0x33fc8cb0},
-  {0xbf34, 0x33fc8cb1},
-  {0xbf35, 0x33fc8cb2},
-  {0xbf36, 0x33fc8cb3},
-  {0xbf37, 0x33fc8cb4},
-  {0xbf38, 0x33fc8cb5},
-  {0xbf39, 0x33fc8cb6},
-  {0xbf3a, 0x33fc8cb7},
-  {0xbf3b, 0x33fc8cb8},
-  {0xbf3c, 0x33fc8cb9},
-  {0xbf3d, 0x33fc90b0},
-  {0xbf3e, 0x33fc90b1},
-  {0xbf3f, 0x33fc90b2},
-  {0xbf40, 0x33fc90b3},
-  {0xbf41, 0x33fc90b4},
-  {0xbf42, 0x33fc90b5},
-  {0xbf43, 0x33fc90b6},
-  {0xbf44, 0x33fc90b7},
-  {0xbf45, 0x33fc90b8},
-  {0xbf46, 0x33fc90b9},
-  {0xbf47, 0x33fc94b0},
-  {0xbf48, 0x33fc94b1},
-  {0xbf49, 0x33fc94b2},
-  {0xbf4a, 0x33fc94b3},
-  {0xbf4b, 0x33fc94b4},
-  {0xbf4c, 0x33fc94b5},
-  {0xbf4d, 0x33fc94b6},
-  {0xbf4e, 0x33fc94b7},
-  {0xbf4f, 0x33fc94b8},
-  {0xbf50, 0x33fc94b9},
-  {0xbf51, 0x33fc98b0},
-  {0xbf52, 0x33fc98b1},
-  {0xbf53, 0x33fc98b2},
-  {0xbf54, 0x33fc98b3},
-  {0xbf55, 0x33fc98b4},
-  {0xbf56, 0x33fc98b5},
-  {0xbf57, 0x33fc98b6},
-  {0xbf58, 0x33fc98b7},
-  {0xbf59, 0x33fc98b8},
-  {0xbf5a, 0x33fc98b9},
-  {0xbf5b, 0x33fc9cb0},
-  {0xbf5c, 0x33fc9cb1},
-  {0xbf5d, 0x33fc9cb2},
-  {0xbf5e, 0x33fc9cb3},
-  {0xbf5f, 0x33fc9cb4},
-  {0xbf60, 0x33fc9cb5},
-  {0xbf61, 0x33fc9cb6},
-  {0xbf62, 0x33fc9cb7},
-  {0xbf63, 0x33fc9cb8},
-  {0xbf64, 0x33fc9cb9},
-  {0xbf65, 0x33fca0b0},
-  {0xbf66, 0x33fca0b1},
-  {0xbf67, 0x33fca0b2},
-  {0xbf68, 0x33fca0b3},
-  {0xbf69, 0x33fca0b4},
-  {0xbf6a, 0x33fca0b5},
-  {0xbf6b, 0x33fca0b6},
-  {0xbf6c, 0x33fca0b7},
-  {0xbf6d, 0x33fca0b8},
-  {0xbf6e, 0x33fca0b9},
-  {0xbf6f, 0x33fca4b0},
-  {0xbf70, 0x33fca4b1},
-  {0xbf71, 0x33fca4b2},
-  {0xbf72, 0x33fca4b3},
-  {0xbf73, 0x33fca4b4},
-  {0xbf74, 0x33fca4b5},
-  {0xbf75, 0x33fca4b6},
-  {0xbf76, 0x33fca4b7},
-  {0xbf77, 0x33fca4b8},
-  {0xbf78, 0x33fca4b9},
-  {0xbf79, 0x33fca8b0},
-  {0xbf7a, 0x33fca8b1},
-  {0xbf7b, 0x33fca8b2},
-  {0xbf7c, 0x33fca8b3},
-  {0xbf7d, 0x33fca8b4},
-  {0xbf7e, 0x33fca8b5},
-  {0xbf7f, 0x33fca8b6},
-  {0xbf80, 0x33fca8b7},
-  {0xbf81, 0x33fca8b8},
-  {0xbf82, 0x33fca8b9},
-  {0xbf83, 0x33fcacb0},
-  {0xbf84, 0x33fcacb1},
-  {0xbf85, 0x33fcacb2},
-  {0xbf86, 0x33fcacb3},
-  {0xbf87, 0x33fcacb4},
-  {0xbf88, 0x33fcacb5},
-  {0xbf89, 0x33fcacb6},
-  {0xbf8a, 0x33fcacb7},
-  {0xbf8b, 0x33fcacb8},
-  {0xbf8c, 0x33fcacb9},
-  {0xbf8d, 0x33fcb0b0},
-  {0xbf8e, 0x33fcb0b1},
-  {0xbf8f, 0x33fcb0b2},
-  {0xbf90, 0x33fcb0b3},
-  {0xbf91, 0x33fcb0b4},
-  {0xbf92, 0x33fcb0b5},
-  {0xbf93, 0x33fcb0b6},
-  {0xbf94, 0x33fcb0b7},
-  {0xbf95, 0x33fcb0b8},
-  {0xbf96, 0x33fcb0b9},
-  {0xbf97, 0x33fcb4b0},
-  {0xbf98, 0x33fcb4b1},
-  {0xbf99, 0x33fcb4b2},
-  {0xbf9a, 0x33fcb4b3},
-  {0xbf9b, 0x33fcb4b4},
-  {0xbf9c, 0x33fcb4b5},
-  {0xbf9d, 0x33fcb4b6},
-  {0xbf9e, 0x33fcb4b7},
-  {0xbf9f, 0x33fcb4b8},
-  {0xbfa0, 0x33fcb4b9},
-  {0xbfa1, 0x33fcb8b0},
-  {0xbfa2, 0x33fcb8b1},
-  {0xbfa3, 0x33fcb8b2},
-  {0xbfa4, 0x33fcb8b3},
-  {0xbfa5, 0x33fcb8b4},
-  {0xbfa6, 0x33fcb8b5},
-  {0xbfa7, 0x33fcb8b6},
-  {0xbfa8, 0x33fcb8b7},
-  {0xbfa9, 0x33fcb8b8},
-  {0xbfaa, 0x33fcb8b9},
-  {0xbfab, 0x33fcbcb0},
-  {0xbfac, 0x33fcbcb1},
-  {0xbfad, 0x33fcbcb2},
-  {0xbfae, 0x33fcbcb3},
-  {0xbfaf, 0x33fcbcb4},
-  {0xbfb0, 0x33fcbcb5},
-  {0xbfb1, 0x33fcbcb6},
-  {0xbfb2, 0x33fcbcb7},
-  {0xbfb3, 0x33fcbcb8},
-  {0xbfb4, 0x33fcbcb9},
-  {0xbfb5, 0x33fd80b0},
-  {0xbfb6, 0x33fd80b1},
-  {0xbfb7, 0x33fd80b2},
-  {0xbfb8, 0x33fd80b3},
-  {0xbfb9, 0x33fd80b4},
-  {0xbfba, 0x33fd80b5},
-  {0xbfbb, 0x33fd80b6},
-  {0xbfbc, 0x33fd80b7},
-  {0xbfbd, 0x33fd80b8},
-  {0xbfbe, 0x33fd80b9},
-  {0xbfbf, 0x33fd84b0},
-  {0xbfc0, 0x33fd84b1},
-  {0xbfc1, 0x33fd84b2},
-  {0xbfc2, 0x33fd84b3},
-  {0xbfc3, 0x33fd84b4},
-  {0xbfc4, 0x33fd84b5},
-  {0xbfc5, 0x33fd84b6},
-  {0xbfc6, 0x33fd84b7},
-  {0xbfc7, 0x33fd84b8},
-  {0xbfc8, 0x33fd84b9},
-  {0xbfc9, 0x33fd88b0},
-  {0xbfca, 0x33fd88b1},
-  {0xbfcb, 0x33fd88b2},
-  {0xbfcc, 0x33fd88b3},
-  {0xbfcd, 0x33fd88b4},
-  {0xbfce, 0x33fd88b5},
-  {0xbfcf, 0x33fd88b6},
-  {0xbfd0, 0x33fd88b7},
-  {0xbfd1, 0x33fd88b8},
-  {0xbfd2, 0x33fd88b9},
-  {0xbfd3, 0x33fd8cb0},
-  {0xbfd4, 0x33fd8cb1},
-  {0xbfd5, 0x33fd8cb2},
-  {0xbfd6, 0x33fd8cb3},
-  {0xbfd7, 0x33fd8cb4},
-  {0xbfd8, 0x33fd8cb5},
-  {0xbfd9, 0x33fd8cb6},
-  {0xbfda, 0x33fd8cb7},
-  {0xbfdb, 0x33fd8cb8},
-  {0xbfdc, 0x33fd8cb9},
-  {0xbfdd, 0x33fd90b0},
-  {0xbfde, 0x33fd90b1},
-  {0xbfdf, 0x33fd90b2},
-  {0xbfe0, 0x33fd90b3},
-  {0xbfe1, 0x33fd90b4},
-  {0xbfe2, 0x33fd90b5},
-  {0xbfe3, 0x33fd90b6},
-  {0xbfe4, 0x33fd90b7},
-  {0xbfe5, 0x33fd90b8},
-  {0xbfe6, 0x33fd90b9},
-  {0xbfe7, 0x33fd94b0},
-  {0xbfe8, 0x33fd94b1},
-  {0xbfe9, 0x33fd94b2},
-  {0xbfea, 0x33fd94b3},
-  {0xbfeb, 0x33fd94b4},
-  {0xbfec, 0x33fd94b5},
-  {0xbfed, 0x33fd94b6},
-  {0xbfee, 0x33fd94b7},
-  {0xbfef, 0x33fd94b8},
-  {0xbff0, 0x33fd94b9},
-  {0xbff1, 0x33fd98b0},
-  {0xbff2, 0x33fd98b1},
-  {0xbff3, 0x33fd98b2},
-  {0xbff4, 0x33fd98b3},
-  {0xbff5, 0x33fd98b4},
-  {0xbff6, 0x33fd98b5},
-  {0xbff7, 0x33fd98b6},
-  {0xbff8, 0x33fd98b7},
-  {0xbff9, 0x33fd98b8},
-  {0xbffa, 0x33fd98b9},
-  {0xbffb, 0x33fd9cb0},
-  {0xbffc, 0x33fd9cb1},
-  {0xbffd, 0x33fd9cb2},
-  {0xbffe, 0x33fd9cb3},
-  {0xbfff, 0x33fd9cb4},
-  {0xc000, 0x33fd9cb5},
-  {0xc001, 0x33fd9cb6},
-  {0xc002, 0x33fd9cb7},
-  {0xc003, 0x33fd9cb8},
-  {0xc004, 0x33fd9cb9},
-  {0xc005, 0x33fda0b0},
-  {0xc006, 0x33fda0b1},
-  {0xc007, 0x33fda0b2},
-  {0xc008, 0x33fda0b3},
-  {0xc009, 0x33fda0b4},
-  {0xc00a, 0x33fda0b5},
-  {0xc00b, 0x33fda0b6},
-  {0xc00c, 0x33fda0b7},
-  {0xc00d, 0x33fda0b8},
-  {0xc00e, 0x33fda0b9},
-  {0xc00f, 0x33fda4b0},
-  {0xc010, 0x33fda4b1},
-  {0xc011, 0x33fda4b2},
-  {0xc012, 0x33fda4b3},
-  {0xc013, 0x33fda4b4},
-  {0xc014, 0x33fda4b5},
-  {0xc015, 0x33fda4b6},
-  {0xc016, 0x33fda4b7},
-  {0xc017, 0x33fda4b8},
-  {0xc018, 0x33fda4b9},
-  {0xc019, 0x33fda8b0},
-  {0xc01a, 0x33fda8b1},
-  {0xc01b, 0x33fda8b2},
-  {0xc01c, 0x33fda8b3},
-  {0xc01d, 0x33fda8b4},
-  {0xc01e, 0x33fda8b5},
-  {0xc01f, 0x33fda8b6},
-  {0xc020, 0x33fda8b7},
-  {0xc021, 0x33fda8b8},
-  {0xc022, 0x33fda8b9},
-  {0xc023, 0x33fdacb0},
-  {0xc024, 0x33fdacb1},
-  {0xc025, 0x33fdacb2},
-  {0xc026, 0x33fdacb3},
-  {0xc027, 0x33fdacb4},
-  {0xc028, 0x33fdacb5},
-  {0xc029, 0x33fdacb6},
-  {0xc02a, 0x33fdacb7},
-  {0xc02b, 0x33fdacb8},
-  {0xc02c, 0x33fdacb9},
-  {0xc02d, 0x33fdb0b0},
-  {0xc02e, 0x33fdb0b1},
-  {0xc02f, 0x33fdb0b2},
-  {0xc030, 0x33fdb0b3},
-  {0xc031, 0x33fdb0b4},
-  {0xc032, 0x33fdb0b5},
-  {0xc033, 0x33fdb0b6},
-  {0xc034, 0x33fdb0b7},
-  {0xc035, 0x33fdb0b8},
-  {0xc036, 0x33fdb0b9},
-  {0xc037, 0x33fdb4b0},
-  {0xc038, 0x33fdb4b1},
-  {0xc039, 0x33fdb4b2},
-  {0xc03a, 0x33fdb4b3},
-  {0xc03b, 0x33fdb4b4},
-  {0xc03c, 0x33fdb4b5},
-  {0xc03d, 0x33fdb4b6},
-  {0xc03e, 0x33fdb4b7},
-  {0xc03f, 0x33fdb4b8},
-  {0xc040, 0x33fdb4b9},
-  {0xc041, 0x33fdb8b0},
-  {0xc042, 0x33fdb8b1},
-  {0xc043, 0x33fdb8b2},
-  {0xc044, 0x33fdb8b3},
-  {0xc045, 0x33fdb8b4},
-  {0xc046, 0x33fdb8b5},
-  {0xc047, 0x33fdb8b6},
-  {0xc048, 0x33fdb8b7},
-  {0xc049, 0x33fdb8b8},
-  {0xc04a, 0x33fdb8b9},
-  {0xc04b, 0x33fdbcb0},
-  {0xc04c, 0x33fdbcb1},
-  {0xc04d, 0x33fdbcb2},
-  {0xc04e, 0x33fdbcb3},
-  {0xc04f, 0x33fdbcb4},
-  {0xc050, 0x33fdbcb5},
-  {0xc051, 0x33fdbcb6},
-  {0xc052, 0x33fdbcb7},
-  {0xc053, 0x33fdbcb8},
-  {0xc054, 0x33fdbcb9},
-  {0xc055, 0x33fe80b0},
-  {0xc056, 0x33fe80b1},
-  {0xc057, 0x33fe80b2},
-  {0xc058, 0x33fe80b3},
-  {0xc059, 0x33fe80b4},
-  {0xc05a, 0x33fe80b5},
-  {0xc05b, 0x33fe80b6},
-  {0xc05c, 0x33fe80b7},
-  {0xc05d, 0x33fe80b8},
-  {0xc05e, 0x33fe80b9},
-  {0xc05f, 0x33fe84b0},
-  {0xc060, 0x33fe84b1},
-  {0xc061, 0x33fe84b2},
-  {0xc062, 0x33fe84b3},
-  {0xc063, 0x33fe84b4},
-  {0xc064, 0x33fe84b5},
-  {0xc065, 0x33fe84b6},
-  {0xc066, 0x33fe84b7},
-  {0xc067, 0x33fe84b8},
-  {0xc068, 0x33fe84b9},
-  {0xc069, 0x33fe88b0},
-  {0xc06a, 0x33fe88b1},
-  {0xc06b, 0x33fe88b2},
-  {0xc06c, 0x33fe88b3},
-  {0xc06d, 0x33fe88b4},
-  {0xc06e, 0x33fe88b5},
-  {0xc06f, 0x33fe88b6},
-  {0xc070, 0x33fe88b7},
-  {0xc071, 0x33fe88b8},
-  {0xc072, 0x33fe88b9},
-  {0xc073, 0x33fe8cb0},
-  {0xc074, 0x33fe8cb1},
-  {0xc075, 0x33fe8cb2},
-  {0xc076, 0x33fe8cb3},
-  {0xc077, 0x33fe8cb4},
-  {0xc078, 0x33fe8cb5},
-  {0xc079, 0x33fe8cb6},
-  {0xc07a, 0x33fe8cb7},
-  {0xc07b, 0x33fe8cb8},
-  {0xc07c, 0x33fe8cb9},
-  {0xc07d, 0x33fe90b0},
-  {0xc07e, 0x33fe90b1},
-  {0xc07f, 0x33fe90b2},
-  {0xc080, 0x33fe90b3},
-  {0xc081, 0x33fe90b4},
-  {0xc082, 0x33fe90b5},
-  {0xc083, 0x33fe90b6},
-  {0xc084, 0x33fe90b7},
-  {0xc085, 0x33fe90b8},
-  {0xc086, 0x33fe90b9},
-  {0xc087, 0x33fe94b0},
-  {0xc088, 0x33fe94b1},
-  {0xc089, 0x33fe94b2},
-  {0xc08a, 0x33fe94b3},
-  {0xc08b, 0x33fe94b4},
-  {0xc08c, 0x33fe94b5},
-  {0xc08d, 0x33fe94b6},
-  {0xc08e, 0x33fe94b7},
-  {0xc08f, 0x33fe94b8},
-  {0xc090, 0x33fe94b9},
-  {0xc091, 0x33fe98b0},
-  {0xc092, 0x33fe98b1},
-  {0xc093, 0x33fe98b2},
-  {0xc094, 0x33fe98b3},
-  {0xc095, 0x33fe98b4},
-  {0xc096, 0x33fe98b5},
-  {0xc097, 0x33fe98b6},
-  {0xc098, 0x33fe98b7},
-  {0xc099, 0x33fe98b8},
-  {0xc09a, 0x33fe98b9},
-  {0xc09b, 0x33fe9cb0},
-  {0xc09c, 0x33fe9cb1},
-  {0xc09d, 0x33fe9cb2},
-  {0xc09e, 0x33fe9cb3},
-  {0xc09f, 0x33fe9cb4},
-  {0xc0a0, 0x33fe9cb5},
-  {0xc0a1, 0x33fe9cb6},
-  {0xc0a2, 0x33fe9cb7},
-  {0xc0a3, 0x33fe9cb8},
-  {0xc0a4, 0x33fe9cb9},
-  {0xc0a5, 0x33fea0b0},
-  {0xc0a6, 0x33fea0b1},
-  {0xc0a7, 0x33fea0b2},
-  {0xc0a8, 0x33fea0b3},
-  {0xc0a9, 0x33fea0b4},
-  {0xc0aa, 0x33fea0b5},
-  {0xc0ab, 0x33fea0b6},
-  {0xc0ac, 0x33fea0b7},
-  {0xc0ad, 0x33fea0b8},
-  {0xc0ae, 0x33fea0b9},
-  {0xc0af, 0x33fea4b0},
-  {0xc0b0, 0x33fea4b1},
-  {0xc0b1, 0x33fea4b2},
-  {0xc0b2, 0x33fea4b3},
-  {0xc0b3, 0x33fea4b4},
-  {0xc0b4, 0x33fea4b5},
-  {0xc0b5, 0x33fea4b6},
-  {0xc0b6, 0x33fea4b7},
-  {0xc0b7, 0x33fea4b8},
-  {0xc0b8, 0x33fea4b9},
-  {0xc0b9, 0x33fea8b0},
-  {0xc0ba, 0x33fea8b1},
-  {0xc0bb, 0x33fea8b2},
-  {0xc0bc, 0x33fea8b3},
-  {0xc0bd, 0x33fea8b4},
-  {0xc0be, 0x33fea8b5},
-  {0xc0bf, 0x33fea8b6},
-  {0xc0c0, 0x33fea8b7},
-  {0xc0c1, 0x33fea8b8},
-  {0xc0c2, 0x33fea8b9},
-  {0xc0c3, 0x33feacb0},
-  {0xc0c4, 0x33feacb1},
-  {0xc0c5, 0x33feacb2},
-  {0xc0c6, 0x33feacb3},
-  {0xc0c7, 0x33feacb4},
-  {0xc0c8, 0x33feacb5},
-  {0xc0c9, 0x33feacb6},
-  {0xc0ca, 0x33feacb7},
-  {0xc0cb, 0x33feacb8},
-  {0xc0cc, 0x33feacb9},
-  {0xc0cd, 0x33feb0b0},
-  {0xc0ce, 0x33feb0b1},
-  {0xc0cf, 0x33feb0b2},
-  {0xc0d0, 0x33feb0b3},
-  {0xc0d1, 0x33feb0b4},
-  {0xc0d2, 0x33feb0b5},
-  {0xc0d3, 0x33feb0b6},
-  {0xc0d4, 0x33feb0b7},
-  {0xc0d5, 0x33feb0b8},
-  {0xc0d6, 0x33feb0b9},
-  {0xc0d7, 0x33feb4b0},
-  {0xc0d8, 0x33feb4b1},
-  {0xc0d9, 0x33feb4b2},
-  {0xc0da, 0x33feb4b3},
-  {0xc0db, 0x33feb4b4},
-  {0xc0dc, 0x33feb4b5},
-  {0xc0dd, 0x33feb4b6},
-  {0xc0de, 0x33feb4b7},
-  {0xc0df, 0x33feb4b8},
-  {0xc0e0, 0x33feb4b9},
-  {0xc0e1, 0x33feb8b0},
-  {0xc0e2, 0x33feb8b1},
-  {0xc0e3, 0x33feb8b2},
-  {0xc0e4, 0x33feb8b3},
-  {0xc0e5, 0x33feb8b4},
-  {0xc0e6, 0x33feb8b5},
-  {0xc0e7, 0x33feb8b6},
-  {0xc0e8, 0x33feb8b7},
-  {0xc0e9, 0x33feb8b8},
-  {0xc0ea, 0x33feb8b9},
-  {0xc0eb, 0x33febcb0},
-  {0xc0ec, 0x33febcb1},
-  {0xc0ed, 0x33febcb2},
-  {0xc0ee, 0x33febcb3},
-  {0xc0ef, 0x33febcb4},
-  {0xc0f0, 0x33febcb5},
-  {0xc0f1, 0x33febcb6},
-  {0xc0f2, 0x33febcb7},
-  {0xc0f3, 0x33febcb8},
-  {0xc0f4, 0x33febcb9},
-  {0xc0f5, 0x33ff80b0},
-  {0xc0f6, 0x33ff80b1},
-  {0xc0f7, 0x33ff80b2},
-  {0xc0f8, 0x33ff80b3},
-  {0xc0f9, 0x33ff80b4},
-  {0xc0fa, 0x33ff80b5},
-  {0xc0fb, 0x33ff80b6},
-  {0xc0fc, 0x33ff80b7},
-  {0xc0fd, 0x33ff80b8},
-  {0xc0fe, 0x33ff80b9},
-  {0xc0ff, 0x33ff84b0},
-  {0xc100, 0x33ff84b1},
-  {0xc101, 0x33ff84b2},
-  {0xc102, 0x33ff84b3},
-  {0xc103, 0x33ff84b4},
-  {0xc104, 0x33ff84b5},
-  {0xc105, 0x33ff84b6},
-  {0xc106, 0x33ff84b7},
-  {0xc107, 0x33ff84b8},
-  {0xc108, 0x33ff84b9},
-  {0xc109, 0x33ff88b0},
-  {0xc10a, 0x33ff88b1},
-  {0xc10b, 0x33ff88b2},
-  {0xc10c, 0x33ff88b3},
-  {0xc10d, 0x33ff88b4},
-  {0xc10e, 0x33ff88b5},
-  {0xc10f, 0x33ff88b6},
-  {0xc110, 0x33ff88b7},
-  {0xc111, 0x33ff88b8},
-  {0xc112, 0x33ff88b9},
-  {0xc113, 0x33ff8cb0},
-  {0xc114, 0x33ff8cb1},
-  {0xc115, 0x33ff8cb2},
-  {0xc116, 0x33ff8cb3},
-  {0xc117, 0x33ff8cb4},
-  {0xc118, 0x33ff8cb5},
-  {0xc119, 0x33ff8cb6},
-  {0xc11a, 0x33ff8cb7},
-  {0xc11b, 0x33ff8cb8},
-  {0xc11c, 0x33ff8cb9},
-  {0xc11d, 0x33ff90b0},
-  {0xc11e, 0x33ff90b1},
-  {0xc11f, 0x33ff90b2},
-  {0xc120, 0x33ff90b3},
-  {0xc121, 0x33ff90b4},
-  {0xc122, 0x33ff90b5},
-  {0xc123, 0x33ff90b6},
-  {0xc124, 0x33ff90b7},
-  {0xc125, 0x33ff90b8},
-  {0xc126, 0x33ff90b9},
-  {0xc127, 0x33ff94b0},
-  {0xc128, 0x33ff94b1},
-  {0xc129, 0x33ff94b2},
-  {0xc12a, 0x33ff94b3},
-  {0xc12b, 0x33ff94b4},
-  {0xc12c, 0x33ff94b5},
-  {0xc12d, 0x33ff94b6},
-  {0xc12e, 0x33ff94b7},
-  {0xc12f, 0x33ff94b8},
-  {0xc130, 0x33ff94b9},
-  {0xc131, 0x33ff98b0},
-  {0xc132, 0x33ff98b1},
-  {0xc133, 0x33ff98b2},
-  {0xc134, 0x33ff98b3},
-  {0xc135, 0x33ff98b4},
-  {0xc136, 0x33ff98b5},
-  {0xc137, 0x33ff98b6},
-  {0xc138, 0x33ff98b7},
-  {0xc139, 0x33ff98b8},
-  {0xc13a, 0x33ff98b9},
-  {0xc13b, 0x33ff9cb0},
-  {0xc13c, 0x33ff9cb1},
-  {0xc13d, 0x33ff9cb2},
-  {0xc13e, 0x33ff9cb3},
-  {0xc13f, 0x33ff9cb4},
-  {0xc140, 0x33ff9cb5},
-  {0xc141, 0x33ff9cb6},
-  {0xc142, 0x33ff9cb7},
-  {0xc143, 0x33ff9cb8},
-  {0xc144, 0x33ff9cb9},
-  {0xc145, 0x33ffa0b0},
-  {0xc146, 0x33ffa0b1},
-  {0xc147, 0x33ffa0b2},
-  {0xc148, 0x33ffa0b3},
-  {0xc149, 0x33ffa0b4},
-  {0xc14a, 0x33ffa0b5},
-  {0xc14b, 0x33ffa0b6},
-  {0xc14c, 0x33ffa0b7},
-  {0xc14d, 0x33ffa0b8},
-  {0xc14e, 0x33ffa0b9},
-  {0xc14f, 0x33ffa4b0},
-  {0xc150, 0x33ffa4b1},
-  {0xc151, 0x33ffa4b2},
-  {0xc152, 0x33ffa4b3},
-  {0xc153, 0x33ffa4b4},
-  {0xc154, 0x33ffa4b5},
-  {0xc155, 0x33ffa4b6},
-  {0xc156, 0x33ffa4b7},
-  {0xc157, 0x33ffa4b8},
-  {0xc158, 0x33ffa4b9},
-  {0xc159, 0x33ffa8b0},
-  {0xc15a, 0x33ffa8b1},
-  {0xc15b, 0x33ffa8b2},
-  {0xc15c, 0x33ffa8b3},
-  {0xc15d, 0x33ffa8b4},
-  {0xc15e, 0x33ffa8b5},
-  {0xc15f, 0x33ffa8b6},
-  {0xc160, 0x33ffa8b7},
-  {0xc161, 0x33ffa8b8},
-  {0xc162, 0x33ffa8b9},
-  {0xc163, 0x33ffacb0},
-  {0xc164, 0x33ffacb1},
-  {0xc165, 0x33ffacb2},
-  {0xc166, 0x33ffacb3},
-  {0xc167, 0x33ffacb4},
-  {0xc168, 0x33ffacb5},
-  {0xc169, 0x33ffacb6},
-  {0xc16a, 0x33ffacb7},
-  {0xc16b, 0x33ffacb8},
-  {0xc16c, 0x33ffacb9},
-  {0xc16d, 0x33ffb0b0},
-  {0xc16e, 0x33ffb0b1},
-  {0xc16f, 0x33ffb0b2},
-  {0xc170, 0x33ffb0b3},
-  {0xc171, 0x33ffb0b4},
-  {0xc172, 0x33ffb0b5},
-  {0xc173, 0x33ffb0b6},
-  {0xc174, 0x33ffb0b7},
-  {0xc175, 0x33ffb0b8},
-  {0xc176, 0x33ffb0b9},
-  {0xc177, 0x33ffb4b0},
-  {0xc178, 0x33ffb4b1},
-  {0xc179, 0x33ffb4b2},
-  {0xc17a, 0x33ffb4b3},
-  {0xc17b, 0x33ffb4b4},
-  {0xc17c, 0x33ffb4b5},
-  {0xc17d, 0x33ffb4b6},
-  {0xc17e, 0x33ffb4b7},
-  {0xc17f, 0x33ffb4b8},
-  {0xc180, 0x33ffb4b9},
-  {0xc181, 0x33ffb8b0},
-  {0xc182, 0x33ffb8b1},
-  {0xc183, 0x33ffb8b2},
-  {0xc184, 0x33ffb8b3},
-  {0xc185, 0x33ffb8b4},
-  {0xc186, 0x33ffb8b5},
-  {0xc187, 0x33ffb8b6},
-  {0xc188, 0x33ffb8b7},
-  {0xc189, 0x33ffb8b8},
-  {0xc18a, 0x33ffb8b9},
-  {0xc18b, 0x33e884b0},
-  {0xc18c, 0x33e884b1},
-  {0xc18d, 0x33e884b2},
-  {0xc18e, 0x33e884b3},
-  {0xc18f, 0x33e884b4},
-  {0xc190, 0x33e884b5},
-  {0xc191, 0x33e884b6},
-  {0xc192, 0x33e884b7},
-  {0xc193, 0x33e884b8},
-  {0xc194, 0x33e884b9},
-  {0xc195, 0x33e888b0},
-  {0xc196, 0x33e888b1},
-  {0xc197, 0x33e888b2},
-  {0xc198, 0x33e888b3},
-  {0xc199, 0x33e888b4},
-  {0xc19a, 0x33e888b5},
-  {0xc19b, 0x33e888b6},
-  {0xc19c, 0x33e888b7},
-  {0xc19d, 0x33e888b8},
-  {0xc19e, 0x33e888b9},
-  {0xc19f, 0x33e88cb0},
-  {0xc1a0, 0x33e88cb1},
-  {0xc1a1, 0x33e88cb2},
-  {0xc1a2, 0x33e88cb3},
-  {0xc1a3, 0x33e88cb4},
-  {0xc1a4, 0x33e88cb5},
-  {0xc1a5, 0x33e88cb6},
-  {0xc1a6, 0x33e88cb7},
-  {0xc1a7, 0x33e88cb8},
-  {0xc1a8, 0x33e88cb9},
-  {0xc1a9, 0x33e890b0},
-  {0xc1aa, 0x33e890b1},
-  {0xc1ab, 0x33e890b2},
-  {0xc1ac, 0x33e890b3},
-  {0xc1ad, 0x33e890b4},
-  {0xc1ae, 0x33e890b5},
-  {0xc1af, 0x33e890b6},
-  {0xc1b0, 0x33e890b7},
-  {0xc1b1, 0x33e890b8},
-  {0xc1b2, 0x33e890b9},
-  {0xc1b3, 0x33e894b0},
-  {0xc1b4, 0x33e894b1},
-  {0xc1b5, 0x33e894b2},
-  {0xc1b6, 0x33e894b3},
-  {0xc1b7, 0x33e894b4},
-  {0xc1b8, 0x33e894b5},
-  {0xc1b9, 0x33e894b6},
-  {0xc1ba, 0x33e894b7},
-  {0xc1bb, 0x33e894b8},
-  {0xc1bc, 0x33e894b9},
-  {0xc1bd, 0x33e898b0},
-  {0xc1be, 0x33e898b1},
-  {0xc1bf, 0x33e898b2},
-  {0xc1c0, 0x33e898b3},
-  {0xc1c1, 0x33e898b4},
-  {0xc1c2, 0x33e898b5},
-  {0xc1c3, 0x33e898b6},
-  {0xc1c4, 0x33e898b7},
-  {0xc1c5, 0x33e898b8},
-  {0xc1c6, 0x33e898b9},
-  {0xc1c7, 0x33e89cb0},
-  {0xc1c8, 0x33e89cb1},
-  {0xc1c9, 0x33e89cb2},
-  {0xc1ca, 0x33e89cb3},
-  {0xc1cb, 0x33e89cb4},
-  {0xc1cc, 0x33e89cb5},
-  {0xc1cd, 0x33e89cb6},
-  {0xc1ce, 0x33e89cb7},
-  {0xc1cf, 0x33e89cb8},
-  {0xc1d0, 0x33e89cb9},
-  {0xc1d1, 0x33e8a0b0},
-  {0xc1d2, 0x33e8a0b1},
-  {0xc1d3, 0x33e8a0b2},
-  {0xc1d4, 0x33e8a0b3},
-  {0xc1d5, 0x33e8a0b4},
-  {0xc1d6, 0x33e8a0b5},
-  {0xc1d7, 0x33e8a0b6},
-  {0xc1d8, 0x33e8a0b7},
-  {0xc1d9, 0x33e8a0b8},
-  {0xc1da, 0x33e8a0b9},
-  {0xc1db, 0x33e8a4b0},
-  {0xc1dc, 0x33e8a4b1},
-  {0xc1dd, 0x33e8a4b2},
-  {0xc1de, 0x33e8a4b3},
-  {0xc1df, 0x33e8a4b4},
-  {0xc1e0, 0x33e8a4b5},
-  {0xc1e1, 0x33e8a4b6},
-  {0xc1e2, 0x33e8a4b7},
-  {0xc1e3, 0x33e8a4b8},
-  {0xc1e4, 0x33e8a4b9},
-  {0xc1e5, 0x33e8a8b0},
-  {0xc1e6, 0x33e8a8b1},
-  {0xc1e7, 0x33e8a8b2},
-  {0xc1e8, 0x33e8a8b3},
-  {0xc1e9, 0x33e8a8b4},
-  {0xc1ea, 0x33e8a8b5},
-  {0xc1eb, 0x33e8a8b6},
-  {0xc1ec, 0x33e8a8b7},
-  {0xc1ed, 0x33e8a8b8},
-  {0xc1ee, 0x33e8a8b9},
-  {0xc1ef, 0x33e8acb0},
-  {0xc1f0, 0x33e8acb1},
-  {0xc1f1, 0x33e8acb2},
-  {0xc1f2, 0x33e8acb3},
-  {0xc1f3, 0x33e8acb4},
-  {0xc1f4, 0x33e8acb5},
-  {0xc1f5, 0x33e8acb6},
-  {0xc1f6, 0x33e8acb7},
-  {0xc1f7, 0x33e8acb8},
-  {0xc1f8, 0x33e8acb9},
-  {0xc1f9, 0x33e8b0b0},
-  {0xc1fa, 0x33e8b0b1},
-  {0xc1fb, 0x33e8b0b2},
-  {0xc1fc, 0x33e8b0b3},
-  {0xc1fd, 0x33e8b0b4},
-  {0xc1fe, 0x33e8b0b5},
-  {0xc1ff, 0x33e8b0b6},
-  {0xc200, 0x33e8b0b7},
-  {0xc201, 0x33e8b0b8},
-  {0xc202, 0x33e8b0b9},
-  {0xc203, 0x33e8b4b0},
-  {0xc204, 0x33e8b4b1},
-  {0xc205, 0x33e8b4b2},
-  {0xc206, 0x33e8b4b3},
-  {0xc207, 0x33e8b4b4},
-  {0xc208, 0x33e8b4b5},
-  {0xc209, 0x33e8b4b6},
-  {0xc20a, 0x33e8b4b7},
-  {0xc20b, 0x33e8b4b8},
-  {0xc20c, 0x33e8b4b9},
-  {0xc20d, 0x33e8b8b0},
-  {0xc20e, 0x33e8b8b1},
-  {0xc20f, 0x33e8b8b2},
-  {0xc210, 0x33e8b8b3},
-  {0xc211, 0x33e8b8b4},
-  {0xc212, 0x33e8b8b5},
-  {0xc213, 0x33e8b8b6},
-  {0xc214, 0x33e8b8b7},
-  {0xc215, 0x33e8b8b8},
-  {0xc216, 0x33e8b8b9},
-  {0xc217, 0x33e8bcb0},
-  {0xc218, 0x33e8bcb1},
-  {0xc219, 0x33e8bcb2},
-  {0xc21a, 0x33e8bcb3},
-  {0xc21b, 0x33e8bcb4},
-  {0xc21c, 0x33e8bcb5},
-  {0xc21d, 0x33e8bcb6},
-  {0xc21e, 0x33e8bcb7},
-  {0xc21f, 0x33e8bcb8},
-  {0xc220, 0x33e8bcb9},
-  {0xc221, 0x33e980b0},
-  {0xc222, 0x33e980b1},
-  {0xc223, 0x33e980b2},
-  {0xc224, 0x33e980b3},
-  {0xc225, 0x33e980b4},
-  {0xc226, 0x33e980b5},
-  {0xc227, 0x33e980b6},
-  {0xc228, 0x33e980b7},
-  {0xc229, 0x33e980b8},
-  {0xc22a, 0x33e980b9},
-  {0xc22b, 0x33e984b0},
-  {0xc22c, 0x33e984b1},
-  {0xc22d, 0x33e984b2},
-  {0xc22e, 0x33e984b3},
-  {0xc22f, 0x33e984b4},
-  {0xc230, 0x33e984b5},
-  {0xc231, 0x33e984b6},
-  {0xc232, 0x33e984b7},
-  {0xc233, 0x33e984b8},
-  {0xc234, 0x33e984b9},
-  {0xc235, 0x33e988b0},
-  {0xc236, 0x33e988b1},
-  {0xc237, 0x33e988b2},
-  {0xc238, 0x33e988b3},
-  {0xc239, 0x33e988b4},
-  {0xc23a, 0x33e988b5},
-  {0xc23b, 0x33e988b6},
-  {0xc23c, 0x33e988b7},
-  {0xc23d, 0x33e988b8},
-  {0xc23e, 0x33e988b9},
-  {0xc23f, 0x33e98cb0},
-  {0xc240, 0x33e98cb1},
-  {0xc241, 0x33e98cb2},
-  {0xc242, 0x33e98cb3},
-  {0xc243, 0x33e98cb4},
-  {0xc244, 0x33e98cb5},
-  {0xc245, 0x33e98cb6},
-  {0xc246, 0x33e98cb7},
-  {0xc247, 0x33e98cb8},
-  {0xc248, 0x33e98cb9},
-  {0xc249, 0x33e990b0},
-  {0xc24a, 0x33e990b1},
-  {0xc24b, 0x33e990b2},
-  {0xc24c, 0x33e990b3},
-  {0xc24d, 0x33e990b4},
-  {0xc24e, 0x33e990b5},
-  {0xc24f, 0x33e990b6},
-  {0xc250, 0x33e990b7},
-  {0xc251, 0x33e990b8},
-  {0xc252, 0x33e990b9},
-  {0xc253, 0x33e994b0},
-  {0xc254, 0x33e994b1},
-  {0xc255, 0x33e994b2},
-  {0xc256, 0x33e994b3},
-  {0xc257, 0x33e994b4},
-  {0xc258, 0x33e994b5},
-  {0xc259, 0x33e994b6},
-  {0xc25a, 0x33e994b7},
-  {0xc25b, 0x33e994b8},
-  {0xc25c, 0x33e994b9},
-  {0xc25d, 0x33e998b0},
-  {0xc25e, 0x33e998b1},
-  {0xc25f, 0x33e998b2},
-  {0xc260, 0x33e998b3},
-  {0xc261, 0x33e998b4},
-  {0xc262, 0x33e998b5},
-  {0xc263, 0x33e998b6},
-  {0xc264, 0x33e998b7},
-  {0xc265, 0x33e998b8},
-  {0xc266, 0x33e998b9},
-  {0xc267, 0x33e99cb0},
-  {0xc268, 0x33e99cb1},
-  {0xc269, 0x33e99cb2},
-  {0xc26a, 0x33e99cb3},
-  {0xc26b, 0x33e99cb4},
-  {0xc26c, 0x33e99cb5},
-  {0xc26d, 0x33e99cb6},
-  {0xc26e, 0x33e99cb7},
-  {0xc26f, 0x33e99cb8},
-  {0xc270, 0x33e99cb9},
-  {0xc271, 0x33e9a0b0},
-  {0xc272, 0x33e9a0b1},
-  {0xc273, 0x33e9a0b2},
-  {0xc274, 0x33e9a0b3},
-  {0xc275, 0x33e9a0b4},
-  {0xc276, 0x33e9a0b5},
-  {0xc277, 0x33e9a0b6},
-  {0xc278, 0x33e9a0b7},
-  {0xc279, 0x33e9a0b8},
-  {0xc27a, 0x33e9a0b9},
-  {0xc27b, 0x33e9a4b0},
-  {0xc27c, 0x33e9a4b1},
-  {0xc27d, 0x33e9a4b2},
-  {0xc27e, 0x33e9a4b3},
-  {0xc27f, 0x33e9a4b4},
-  {0xc280, 0x33e9a4b5},
-  {0xc281, 0x33e9a4b6},
-  {0xc282, 0x33e9a4b7},
-  {0xc283, 0x33e9a4b8},
-  {0xc284, 0x33e9a4b9},
-  {0xc285, 0x33e9a8b0},
-  {0xc286, 0x33e9a8b1},
-  {0xc287, 0x33e9a8b2},
-  {0xc288, 0x33e9a8b3},
-  {0xc289, 0x33e9a8b4},
-  {0xc28a, 0x33e9a8b5},
-  {0xc28b, 0x33e9a8b6},
-  {0xc28c, 0x33e9a8b7},
-  {0xc28d, 0x33e9a8b8},
-  {0xc28e, 0x33e9a8b9},
-  {0xc28f, 0x33e9acb0},
-  {0xc290, 0x33e9acb1},
-  {0xc291, 0x33e9acb2},
-  {0xc292, 0x33e9acb3},
-  {0xc293, 0x33e9acb4},
-  {0xc294, 0x33e9acb5},
-  {0xc295, 0x33e9acb6},
-  {0xc296, 0x33e9acb7},
-  {0xc297, 0x33e9acb8},
-  {0xc298, 0x33e9acb9},
-  {0xc299, 0x33e9b0b0},
-  {0xc29a, 0x33e9b0b1},
-  {0xc29b, 0x33e9b0b2},
-  {0xc29c, 0x33e9b0b3},
-  {0xc29d, 0x33e9b0b4},
-  {0xc29e, 0x33e9b0b5},
-  {0xc29f, 0x33e9b0b6},
-  {0xc2a0, 0x33e9b0b7},
-  {0xc2a1, 0x33e9b0b8},
-  {0xc2a2, 0x33e9b0b9},
-  {0xc2a3, 0x33e9b4b0},
-  {0xc2a4, 0x33e9b4b1},
-  {0xc2a5, 0x33e9b4b2},
-  {0xc2a6, 0x33e9b4b3},
-  {0xc2a7, 0x33e9b4b4},
-  {0xc2a8, 0x33e9b4b5},
-  {0xc2a9, 0x33e9b4b6},
-  {0xc2aa, 0x33e9b4b7},
-  {0xc2ab, 0x33e9b4b8},
-  {0xc2ac, 0x33e9b4b9},
-  {0xc2ad, 0x33e9b8b0},
-  {0xc2ae, 0x33e9b8b1},
-  {0xc2af, 0x33e9b8b2},
-  {0xc2b0, 0x33e9b8b3},
-  {0xc2b1, 0x33e9b8b4},
-  {0xc2b2, 0x33e9b8b5},
-  {0xc2b3, 0x33e9b8b6},
-  {0xc2b4, 0x33e9b8b7},
-  {0xc2b5, 0x33e9b8b8},
-  {0xc2b6, 0x33e9b8b9},
-  {0xc2b7, 0x33e9bcb0},
-  {0xc2b8, 0x33e9bcb1},
-  {0xc2b9, 0x33e9bcb2},
-  {0xc2ba, 0x33e9bcb3},
-  {0xc2bb, 0x33e9bcb4},
-  {0xc2bc, 0x33e9bcb5},
-  {0xc2bd, 0x33e9bcb6},
-  {0xc2be, 0x33e9bcb7},
-  {0xc2bf, 0x33e9bcb8},
-  {0xc2c0, 0x33e9bcb9},
-  {0xc2c1, 0x33ea80b0},
-  {0xc2c2, 0x33ea80b1},
-  {0xc2c3, 0x33ea80b2},
-  {0xc2c4, 0x33ea80b3},
-  {0xc2c5, 0x33ea80b4},
-  {0xc2c6, 0x33ea80b5},
-  {0xc2c7, 0x33ea80b6},
-  {0xc2c8, 0x33ea80b7},
-  {0xc2c9, 0x33ea80b8},
-  {0xc2ca, 0x33ea80b9},
-  {0xc2cb, 0x33ea84b0},
-  {0xc2cc, 0x33ea84b1},
-  {0xc2cd, 0x33ea84b2},
-  {0xc2ce, 0x33ea84b3},
-  {0xc2cf, 0x33ea84b4},
-  {0xc2d0, 0x33ea84b5},
-  {0xc2d1, 0x33ea84b6},
-  {0xc2d2, 0x33ea84b7},
-  {0xc2d3, 0x33ea84b8},
-  {0xc2d4, 0x33ea84b9},
-  {0xc2d5, 0x33ea88b0},
-  {0xc2d6, 0x33ea88b1},
-  {0xc2d7, 0x33ea88b2},
-  {0xc2d8, 0x33ea88b3},
-  {0xc2d9, 0x33ea88b4},
-  {0xc2da, 0x33ea88b5},
-  {0xc2db, 0x33ea88b6},
-  {0xc2dc, 0x33ea88b7},
-  {0xc2dd, 0x33ea88b8},
-  {0xc2de, 0x33ea88b9},
-  {0xc2df, 0x33ea8cb0},
-  {0xc2e0, 0x33ea8cb1},
-  {0xc2e1, 0x33ea8cb2},
-  {0xc2e2, 0x33ea8cb3},
-  {0xc2e3, 0x33ea8cb4},
-  {0xc2e4, 0x33ea8cb5},
-  {0xc2e5, 0x33ea8cb6},
-  {0xc2e6, 0x33ea8cb7},
-  {0xc2e7, 0x33ea8cb8},
-  {0xc2e8, 0x33ea8cb9},
-  {0xc2e9, 0x33ea90b0},
-  {0xc2ea, 0x33ea90b1},
-  {0xc2eb, 0x33ea90b2},
-  {0xc2ec, 0x33ea90b3},
-  {0xc2ed, 0x33ea90b4},
-  {0xc2ee, 0x33ea90b5},
-  {0xc2ef, 0x33ea90b6},
-  {0xc2f0, 0x33ea90b7},
-  {0xc2f1, 0x33ea90b8},
-  {0xc2f2, 0x33ea90b9},
-  {0xc2f3, 0x33ea94b0},
-  {0xc2f4, 0x33ea94b1},
-  {0xc2f5, 0x33ea94b2},
-  {0xc2f6, 0x33ea94b3},
-  {0xc2f7, 0x33ea94b4},
-  {0xc2f8, 0x33ea94b5},
-  {0xc2f9, 0x33ea94b6},
-  {0xc2fa, 0x33ea94b7},
-  {0xc2fb, 0x33ea94b8},
-  {0xc2fc, 0x33ea94b9},
-  {0xc2fd, 0x33ea98b0},
-  {0xc2fe, 0x33ea98b1},
-  {0xc2ff, 0x33ea98b2},
-  {0xc300, 0x33ea98b3},
-  {0xc301, 0x33ea98b4},
-  {0xc302, 0x33ea98b5},
-  {0xc303, 0x33ea98b6},
-  {0xc304, 0x33ea98b7},
-  {0xc305, 0x33ea98b8},
-  {0xc306, 0x33ea98b9},
-  {0xc307, 0x33ea9cb0},
-  {0xc308, 0x33ea9cb1},
-  {0xc309, 0x33ea9cb2},
-  {0xc30a, 0x33ea9cb3},
-  {0xc30b, 0x33ea9cb4},
-  {0xc30c, 0x33ea9cb5},
-  {0xc30d, 0x33ea9cb6},
-  {0xc30e, 0x33ea9cb7},
-  {0xc30f, 0x33ea9cb8},
-  {0xc310, 0x33ea9cb9},
-  {0xc311, 0x33eaa0b0},
-  {0xc312, 0x33eaa0b1},
-  {0xc313, 0x33eaa0b2},
-  {0xc314, 0x33eaa0b3},
-  {0xc315, 0x33eaa0b4},
-  {0xc316, 0x33eaa0b5},
-  {0xc317, 0x33eaa0b6},
-  {0xc318, 0x33eaa0b7},
-  {0xc319, 0x33eaa0b8},
-  {0xc31a, 0x33eaa0b9},
-  {0xc31b, 0x33eaa4b0},
-  {0xc31c, 0x33eaa4b1},
-  {0xc31d, 0x33eaa4b2},
-  {0xc31e, 0x33eaa4b3},
-  {0xc31f, 0x33eaa4b4},
-  {0xc320, 0x33eaa4b5},
-  {0xc321, 0x33eaa4b6},
-  {0xc322, 0x33eaa4b7},
-  {0xc323, 0x33eaa4b8},
-  {0xc324, 0x33eaa4b9},
-  {0xc325, 0x33eaa8b0},
-  {0xc326, 0x33eaa8b1},
-  {0xc327, 0x33eaa8b2},
-  {0xc328, 0x33eaa8b3},
-  {0xc329, 0x33eaa8b4},
-  {0xc32a, 0x33eaa8b5},
-  {0xc32b, 0x33eaa8b6},
-  {0xc32c, 0x33eaa8b7},
-  {0xc32d, 0x33eaa8b8},
-  {0xc32e, 0x33eaa8b9},
-  {0xc32f, 0x33eaacb0},
-  {0xc330, 0x33eaacb1},
-  {0xc331, 0x33eaacb2},
-  {0xc332, 0x33eaacb3},
-  {0xc333, 0x33eaacb4},
-  {0xc334, 0x33eaacb5},
-  {0xc335, 0x33eaacb6},
-  {0xc336, 0x33eaacb7},
-  {0xc337, 0x33eaacb8},
-  {0xc338, 0x33eaacb9},
-  {0xc339, 0x33eab0b0},
-  {0xc33a, 0x33eab0b1},
-  {0xc33b, 0x33eab0b2},
-  {0xc33c, 0x33eab0b3},
-  {0xc33d, 0x33eab0b4},
-  {0xc33e, 0x33eab0b5},
-  {0xc33f, 0x33eab0b6},
-  {0xc340, 0x33eab0b7},
-  {0xc341, 0x33eab0b8},
-  {0xc342, 0x33eab0b9},
-  {0xc343, 0x33eab4b0},
-  {0xc344, 0x33eab4b1},
-  {0xc345, 0x33eab4b2},
-  {0xc346, 0x33eab4b3},
-  {0xc347, 0x33eab4b4},
-  {0xc348, 0x33eab4b5},
-  {0xc349, 0x33eab4b6},
-  {0xc34a, 0x33eab4b7},
-  {0xc34b, 0x33eab4b8},
-  {0xc34c, 0x33eab4b9},
-  {0xc34d, 0x33eab8b0},
-  {0xc34e, 0x33eab8b1},
-  {0xc34f, 0x33eab8b2},
-  {0xc350, 0x33eab8b3},
-  {0xc351, 0x33eab8b4},
-  {0xc352, 0x33eab8b5},
-  {0xc353, 0x33eab8b6},
-  {0xc354, 0x33eab8b7},
-  {0xc355, 0x33eab8b8},
-  {0xc356, 0x33eab8b9},
-  {0xc357, 0x33eabcb0},
-  {0xc358, 0x33eabcb1},
-  {0xc359, 0x33eabcb2},
-  {0xc35a, 0x33eabcb3},
-  {0xc35b, 0x33eabcb4},
-  {0xc35c, 0x33eabcb5},
-  {0xc35d, 0x33eabcb6},
-  {0xc35e, 0x33eabcb7},
-  {0xc35f, 0x33eabcb8},
-  {0xc360, 0x33eabcb9},
-  {0xc361, 0x33eb80b0},
-  {0xc362, 0x33eb80b1},
-  {0xc363, 0x33eb80b2},
-  {0xc364, 0x33eb80b3},
-  {0xc365, 0x33eb80b4},
-  {0xc366, 0x33eb80b5},
-  {0xc367, 0x33eb80b6},
-  {0xc368, 0x33eb80b7},
-  {0xc369, 0x33eb80b8},
-  {0xc36a, 0x33eb80b9},
-  {0xc36b, 0x33eb84b0},
-  {0xc36c, 0x33eb84b1},
-  {0xc36d, 0x33eb84b2},
-  {0xc36e, 0x33eb84b3},
-  {0xc36f, 0x33eb84b4},
-  {0xc370, 0x33eb84b5},
-  {0xc371, 0x33eb84b6},
-  {0xc372, 0x33eb84b7},
-  {0xc373, 0x33eb84b8},
-  {0xc374, 0x33eb84b9},
-  {0xc375, 0x33eb88b0},
-  {0xc376, 0x33eb88b1},
-  {0xc377, 0x33eb88b2},
-  {0xc378, 0x33eb88b3},
-  {0xc379, 0x33eb88b4},
-  {0xc37a, 0x33eb88b5},
-  {0xc37b, 0x33eb88b6},
-  {0xc37c, 0x33eb88b7},
-  {0xc37d, 0x33eb88b8},
-  {0xc37e, 0x33eb88b9},
-  {0xc37f, 0x33eb8cb0},
-  {0xc380, 0x33eb8cb1},
-  {0xc381, 0x33eb8cb2},
-  {0xc382, 0x33eb8cb3},
-  {0xc383, 0x33eb8cb4},
-  {0xc384, 0x33eb8cb5},
-  {0xc385, 0x33eb8cb6},
-  {0xc386, 0x33eb8cb7},
-  {0xc387, 0x33eb8cb8},
-  {0xc388, 0x33eb8cb9},
-  {0xc389, 0x33eb90b0},
-  {0xc38a, 0x33eb90b1},
-  {0xc38b, 0x33eb90b2},
-  {0xc38c, 0x33eb90b3},
-  {0xc38d, 0x33eb90b4},
-  {0xc38e, 0x33eb90b5},
-  {0xc38f, 0x33eb90b6},
-  {0xc390, 0x33eb90b7},
-  {0xc391, 0x33eb90b8},
-  {0xc392, 0x33eb90b9},
-  {0xc393, 0x33eb94b0},
-  {0xc394, 0x33eb94b1},
-  {0xc395, 0x33eb94b2},
-  {0xc396, 0x33eb94b3},
-  {0xc397, 0x33eb94b4},
-  {0xc398, 0x33eb94b5},
-  {0xc399, 0x33eb94b6},
-  {0xc39a, 0x33eb94b7},
-  {0xc39b, 0x33eb94b8},
-  {0xc39c, 0x33eb94b9},
-  {0xc39d, 0x33eb98b0},
-  {0xc39e, 0x33eb98b1},
-  {0xc39f, 0x33eb98b2},
-  {0xc3a0, 0x33eb98b3},
-  {0xc3a1, 0x33eb98b4},
-  {0xc3a2, 0x33eb98b5},
-  {0xc3a3, 0x33eb98b6},
-  {0xc3a4, 0x33eb98b7},
-  {0xc3a5, 0x33eb98b8},
-  {0xc3a6, 0x33eb98b9},
-  {0xc3a7, 0x33eb9cb0},
-  {0xc3a8, 0x33eb9cb1},
-  {0xc3a9, 0x33eb9cb2},
-  {0xc3aa, 0x33eb9cb3},
-  {0xc3ab, 0x33eb9cb4},
-  {0xc3ac, 0x33eb9cb5},
-  {0xc3ad, 0x33eb9cb6},
-  {0xc3ae, 0x33eb9cb7},
-  {0xc3af, 0x33eb9cb8},
-  {0xc3b0, 0x33eb9cb9},
-  {0xc3b1, 0x33eba0b0},
-  {0xc3b2, 0x33eba0b1},
-  {0xc3b3, 0x33eba0b2},
-  {0xc3b4, 0x33eba0b3},
-  {0xc3b5, 0x33eba0b4},
-  {0xc3b6, 0x33eba0b5},
-  {0xc3b7, 0x33eba0b6},
-  {0xc3b8, 0x33eba0b7},
-  {0xc3b9, 0x33eba0b8},
-  {0xc3ba, 0x33eba0b9},
-  {0xc3bb, 0x33eba4b0},
-  {0xc3bc, 0x33eba4b1},
-  {0xc3bd, 0x33eba4b2},
-  {0xc3be, 0x33eba4b3},
-  {0xc3bf, 0x33eba4b4},
-  {0xc3c0, 0x33eba4b5},
-  {0xc3c1, 0x33eba4b6},
-  {0xc3c2, 0x33eba4b7},
-  {0xc3c3, 0x33eba4b8},
-  {0xc3c4, 0x33eba4b9},
-  {0xc3c5, 0x33eba8b0},
-  {0xc3c6, 0x33eba8b1},
-  {0xc3c7, 0x33eba8b2},
-  {0xc3c8, 0x33eba8b3},
-  {0xc3c9, 0x33eba8b4},
-  {0xc3ca, 0x33eba8b5},
-  {0xc3cb, 0x33eba8b6},
-  {0xc3cc, 0x33eba8b7},
-  {0xc3cd, 0x33eba8b8},
-  {0xc3ce, 0x33eba8b9},
-  {0xc3cf, 0x33ebacb0},
-  {0xc3d0, 0x33ebacb1},
-  {0xc3d1, 0x33ebacb2},
-  {0xc3d2, 0x33ebacb3},
-  {0xc3d3, 0x33ebacb4},
-  {0xc3d4, 0x33ebacb5},
-  {0xc3d5, 0x33ebacb6},
-  {0xc3d6, 0x33ebacb7},
-  {0xc3d7, 0x33ebacb8},
-  {0xc3d8, 0x33ebacb9},
-  {0xc3d9, 0x33ebb0b0},
-  {0xc3da, 0x33ebb0b1},
-  {0xc3db, 0x33ebb0b2},
-  {0xc3dc, 0x33ebb0b3},
-  {0xc3dd, 0x33ebb0b4},
-  {0xc3de, 0x33ebb0b5},
-  {0xc3df, 0x33ebb0b6},
-  {0xc3e0, 0x33ebb0b7},
-  {0xc3e1, 0x33ebb0b8},
-  {0xc3e2, 0x33ebb0b9},
-  {0xc3e3, 0x33ebb4b0},
-  {0xc3e4, 0x33ebb4b1},
-  {0xc3e5, 0x33ebb4b2},
-  {0xc3e6, 0x33ebb4b3},
-  {0xc3e7, 0x33ebb4b4},
-  {0xc3e8, 0x33ebb4b5},
-  {0xc3e9, 0x33ebb4b6},
-  {0xc3ea, 0x33ebb4b7},
-  {0xc3eb, 0x33ebb4b8},
-  {0xc3ec, 0x33ebb4b9},
-  {0xc3ed, 0x33ebb8b0},
-  {0xc3ee, 0x33ebb8b1},
-  {0xc3ef, 0x33ebb8b2},
-  {0xc3f0, 0x33ebb8b3},
-  {0xc3f1, 0x33ebb8b4},
-  {0xc3f2, 0x33ebb8b5},
-  {0xc3f3, 0x33ebb8b6},
-  {0xc3f4, 0x33ebb8b7},
-  {0xc3f5, 0x33ebb8b8},
-  {0xc3f6, 0x33ebb8b9},
-  {0xc3f7, 0x33ebbcb0},
-  {0xc3f8, 0x33ebbcb1},
-  {0xc3f9, 0x33ebbcb2},
-  {0xc3fa, 0x33ebbcb3},
-  {0xc3fb, 0x33ebbcb4},
-  {0xc3fc, 0x33ebbcb5},
-  {0xc3fd, 0x33ebbcb6},
-  {0xc3fe, 0x33ebbcb7},
-  {0xc3ff, 0x33ebbcb8},
-  {0xc400, 0x33ebbcb9},
-  {0xc401, 0x33ec80b0},
-  {0xc402, 0x33ec80b1},
-  {0xc403, 0x33ec80b2},
-  {0xc404, 0x33ec80b3},
-  {0xc405, 0x33ec80b4},
-  {0xc406, 0x33ec80b5},
-  {0xc407, 0x33ec80b6},
-  {0xc408, 0x33ec80b7},
-  {0xc409, 0x33ec80b8},
-  {0xc40a, 0x33ec80b9},
-  {0xc40b, 0x33ec84b0},
-  {0xc40c, 0x33ec84b1},
-  {0xc40d, 0x33ec84b2},
-  {0xc40e, 0x33ec84b3},
-  {0xc40f, 0x33ec84b4},
-  {0xc410, 0x33ec84b5},
-  {0xc411, 0x33ec84b6},
-  {0xc412, 0x33ec84b7},
-  {0xc413, 0x33ec84b8},
-  {0xc414, 0x33ec84b9},
-  {0xc415, 0x33ec88b0},
-  {0xc416, 0x33ec88b1},
-  {0xc417, 0x33ec88b2},
-  {0xc418, 0x33ec88b3},
-  {0xc419, 0x33ec88b4},
-  {0xc41a, 0x33ec88b5},
-  {0xc41b, 0x33ec88b6},
-  {0xc41c, 0x33ec88b7},
-  {0xc41d, 0x33ec88b8},
-  {0xc41e, 0x33ec88b9},
-  {0xc41f, 0x33ec8cb0},
-  {0xc420, 0x33ec8cb1},
-  {0xc421, 0x33ec8cb2},
-  {0xc422, 0x33ec8cb3},
-  {0xc423, 0x33ec8cb4},
-  {0xc424, 0x33ec8cb5},
-  {0xc425, 0x33ec8cb6},
-  {0xc426, 0x33ec8cb7},
-  {0xc427, 0x33ec8cb8},
-  {0xc428, 0x33ec8cb9},
-  {0xc429, 0x33ec90b0},
-  {0xc42a, 0x33ec90b1},
-  {0xc42b, 0x33ec90b2},
-  {0xc42c, 0x33ec90b3},
-  {0xc42d, 0x33ec90b4},
-  {0xc42e, 0x33ec90b5},
-  {0xc42f, 0x33ec90b6},
-  {0xc430, 0x33ec90b7},
-  {0xc431, 0x33ec90b8},
-  {0xc432, 0x33ec90b9},
-  {0xc433, 0x33ec94b0},
-  {0xc434, 0x33ec94b1},
-  {0xc435, 0x33ec94b2},
-  {0xc436, 0x33ec94b3},
-  {0xc437, 0x33ec94b4},
-  {0xc438, 0x33ec94b5},
-  {0xc439, 0x33ec94b6},
-  {0xc43a, 0x33ec94b7},
-  {0xc43b, 0x33ec94b8},
-  {0xc43c, 0x33ec94b9},
-  {0xc43d, 0x33ec98b0},
-  {0xc43e, 0x33ec98b1},
-  {0xc43f, 0x33ec98b2},
-  {0xc440, 0x33ec98b3},
-  {0xc441, 0x33ec98b4},
-  {0xc442, 0x33ec98b5},
-  {0xc443, 0x33ec98b6},
-  {0xc444, 0x33ec98b7},
-  {0xc445, 0x33ec98b8},
-  {0xc446, 0x33ec98b9},
-  {0xc447, 0x33ec9cb0},
-  {0xc448, 0x33ec9cb1},
-  {0xc449, 0x33ec9cb2},
-  {0xc44a, 0x33ec9cb3},
-  {0xc44b, 0x33ec9cb4},
-  {0xc44c, 0x33ec9cb5},
-  {0xc44d, 0x33ec9cb6},
-  {0xc44e, 0x33ec9cb7},
-  {0xc44f, 0x33ec9cb8},
-  {0xc450, 0x33ec9cb9},
-  {0xc451, 0x33eca0b0},
-  {0xc452, 0x33eca0b1},
-  {0xc453, 0x33eca0b2},
-  {0xc454, 0x33eca0b3},
-  {0xc455, 0x33eca0b4},
-  {0xc456, 0x33eca0b5},
-  {0xc457, 0x33eca0b6},
-  {0xc458, 0x33eca0b7},
-  {0xc459, 0x33eca0b8},
-  {0xc45a, 0x33eca0b9},
-  {0xc45b, 0x33eca4b0},
-  {0xc45c, 0x33eca4b1},
-  {0xc45d, 0x33eca4b2},
-  {0xc45e, 0x33eca4b3},
-  {0xc45f, 0x33eca4b4},
-  {0xc460, 0x33eca4b5},
-  {0xc461, 0x33eca4b6},
-  {0xc462, 0x33eca4b7},
-  {0xc463, 0x33eca4b8},
-  {0xc464, 0x33eca4b9},
-  {0xc465, 0x33eca8b0},
-  {0xc466, 0x33eca8b1},
-  {0xc467, 0x33eca8b2},
-  {0xc468, 0x33eca8b3},
-  {0xc469, 0x33eca8b4},
-  {0xc46a, 0x33eca8b5},
-  {0xc46b, 0x33eca8b6},
-  {0xc46c, 0x33eca8b7},
-  {0xc46d, 0x33eca8b8},
-  {0xc46e, 0x33eca8b9},
-  {0xc46f, 0x33ecacb0},
-  {0xc470, 0x33ecacb1},
-  {0xc471, 0x33ecacb2},
-  {0xc472, 0x33ecacb3},
-  {0xc473, 0x33ecacb4},
-  {0xc474, 0x33ecacb5},
-  {0xc475, 0x33ecacb6},
-  {0xc476, 0x33ecacb7},
-  {0xc477, 0x33ecacb8},
-  {0xc478, 0x33ecacb9},
-  {0xc479, 0x33ecb0b0},
-  {0xc47a, 0x33ecb0b1},
-  {0xc47b, 0x33ecb0b2},
-  {0xc47c, 0x33ecb0b3},
-  {0xc47d, 0x33ecb0b4},
-  {0xc47e, 0x33ecb0b5},
-  {0xc47f, 0x33ecb0b6},
-  {0xc480, 0x33ecb0b7},
-  {0xc481, 0x33ecb0b8},
-  {0xc482, 0x33ecb0b9},
-  {0xc483, 0x33ecb4b0},
-  {0xc484, 0x33ecb4b1},
-  {0xc485, 0x33ecb4b2},
-  {0xc486, 0x33ecb4b3},
-  {0xc487, 0x33ecb4b4},
-  {0xc488, 0x33ecb4b5},
-  {0xc489, 0x33ecb4b6},
-  {0xc48a, 0x33ecb4b7},
-  {0xc48b, 0x33ecb4b8},
-  {0xc48c, 0x33ecb4b9},
-  {0xc48d, 0x33ecb8b0},
-  {0xc48e, 0x33ecb8b1},
-  {0xc48f, 0x33ecb8b2},
-  {0xc490, 0x33ecb8b3},
-  {0xc491, 0x33ecb8b4},
-  {0xc492, 0x33ecb8b5},
-  {0xc493, 0x33ecb8b6},
-  {0xc494, 0x33ecb8b7},
-  {0xc495, 0x33ecb8b8},
-  {0xc496, 0x33ecb8b9},
-  {0xc497, 0x33ecbcb0},
-  {0xc498, 0x33ecbcb1},
-  {0xc499, 0x33ecbcb2},
-  {0xc49a, 0x33ecbcb3},
-  {0xc49b, 0x33ecbcb4},
-  {0xc49c, 0x33ecbcb5},
-  {0xc49d, 0x33ecbcb6},
-  {0xc49e, 0x33ecbcb7},
-  {0xc49f, 0x33ecbcb8},
-  {0xc4a0, 0x33ecbcb9},
-  {0xc4a1, 0x33ed80b0},
-  {0xc4a2, 0x33ed80b1},
-  {0xc4a3, 0x33ed80b2},
-  {0xc4a4, 0x33ed80b3},
-  {0xc4a5, 0x33ed80b4},
-  {0xc4a6, 0x33ed80b5},
-  {0xc4a7, 0x33ed80b6},
-  {0xc4a8, 0x33ed80b7},
-  {0xc4a9, 0x33ed80b8},
-  {0xc4aa, 0x33ed80b9},
-  {0xc4ab, 0x33ed84b0},
-  {0xc4ac, 0x33ed84b1},
-  {0xc4ad, 0x33ed84b2},
-  {0xc4ae, 0x33ed84b3},
-  {0xc4af, 0x33ed84b4},
-  {0xc4b0, 0x33ed84b5},
-  {0xc4b1, 0x33ed84b6},
-  {0xc4b2, 0x33ed84b7},
-  {0xc4b3, 0x33ed84b8},
-  {0xc4b4, 0x33ed84b9},
-  {0xc4b5, 0x33ed88b0},
-  {0xc4b6, 0x33ed88b1},
-  {0xc4b7, 0x33ed88b2},
-  {0xc4b8, 0x33ed88b3},
-  {0xc4b9, 0x33ed88b4},
-  {0xc4ba, 0x33ed88b5},
-  {0xc4bb, 0x33ed88b6},
-  {0xc4bc, 0x33ed88b7},
-  {0xc4bd, 0x33ed88b8},
-  {0xc4be, 0x33ed88b9},
-  {0xc4bf, 0x33ed8cb0},
-  {0xc4c0, 0x33ed8cb1},
-  {0xc4c1, 0x33ed8cb2},
-  {0xc4c2, 0x33ed8cb3},
-  {0xc4c3, 0x33ed8cb4},
-  {0xc4c4, 0x33ed8cb5},
-  {0xc4c5, 0x33ed8cb6},
-  {0xc4c6, 0x33ed8cb7},
-  {0xc4c7, 0x33ed8cb8},
-  {0xc4c8, 0x33ed8cb9},
-  {0xc4c9, 0x33ed90b0},
-  {0xc4ca, 0x33ed90b1},
-  {0xc4cb, 0x33ed90b2},
-  {0xc4cc, 0x33ed90b3},
-  {0xc4cd, 0x33ed90b4},
-  {0xc4ce, 0x33ed90b5},
-  {0xc4cf, 0x33ed90b6},
-  {0xc4d0, 0x33ed90b7},
-  {0xc4d1, 0x33ed90b8},
-  {0xc4d2, 0x33ed90b9},
-  {0xc4d3, 0x33ed94b0},
-  {0xc4d4, 0x33ed94b1},
-  {0xc4d5, 0x33ed94b2},
-  {0xc4d6, 0x33ed94b3},
-  {0xc4d7, 0x33ed94b4},
-  {0xc4d8, 0x33ed94b5},
-  {0xc4d9, 0x33ed94b6},
-  {0xc4da, 0x33ed94b7},
-  {0xc4db, 0x33ed94b8},
-  {0xc4dc, 0x33ed94b9},
-  {0xc4dd, 0x33ed98b0},
-  {0xc4de, 0x33ed98b1},
-  {0xc4df, 0x33ed98b2},
-  {0xc4e0, 0x33ed98b3},
-  {0xc4e1, 0x33ed98b4},
-  {0xc4e2, 0x33ed98b5},
-  {0xc4e3, 0x33ed98b6},
-  {0xc4e4, 0x33ed98b7},
-  {0xc4e5, 0x33ed98b8},
-  {0xc4e6, 0x33ed98b9},
-  {0xc4e7, 0x33ed9cb0},
-  {0xc4e8, 0x33ed9cb1},
-  {0xc4e9, 0x33ed9cb2},
-  {0xc4ea, 0x33ed9cb3},
-  {0xc4eb, 0x33ed9cb4},
-  {0xc4ec, 0x33ed9cb5},
-  {0xc4ed, 0x33ed9cb6},
-  {0xc4ee, 0x33ed9cb7},
-  {0xc4ef, 0x33ed9cb8},
-  {0xc4f0, 0x33ed9cb9},
-  {0xc4f1, 0x33eda0b0},
-  {0xc4f2, 0x33eda0b1},
-  {0xc4f3, 0x33eda0b2},
-  {0xc4f4, 0x33eda0b3},
-  {0xc4f5, 0x33eda0b4},
-  {0xc4f6, 0x33eda0b5},
-  {0xc4f7, 0x33eda0b6},
-  {0xc4f8, 0x33eda0b7},
-  {0xc4f9, 0x33eda0b8},
-  {0xc4fa, 0x33eda0b9},
-  {0xc4fb, 0x33eda4b0},
-  {0xc4fc, 0x33eda4b1},
-  {0xc4fd, 0x33eda4b2},
-  {0xc4fe, 0x33eda4b3},
-  {0xc4ff, 0x33eda4b4},
-  {0xc500, 0x33eda4b5},
-  {0xc501, 0x33eda4b6},
-  {0xc502, 0x33eda4b7},
-  {0xc503, 0x33eda4b8},
-  {0xc504, 0x33eda4b9},
-  {0xc505, 0x33eda8b0},
-  {0xc506, 0x33eda8b1},
-  {0xc507, 0x33eda8b2},
-  {0xc508, 0x33eda8b3},
-  {0xc509, 0x33eda8b4},
-  {0xc50a, 0x33eda8b5},
-  {0xc50b, 0x33eda8b6},
-  {0xc50c, 0x33eda8b7},
-  {0xc50d, 0x33eda8b8},
-  {0xc50e, 0x33eda8b9},
-  {0xc50f, 0x33edacb0},
-  {0xc510, 0x33edacb1},
-  {0xc511, 0x33edacb2},
-  {0xc512, 0x33edacb3},
-  {0xc513, 0x33edacb4},
-  {0xc514, 0x33edacb5},
-  {0xc515, 0x33edacb6},
-  {0xc516, 0x33edacb7},
-  {0xc517, 0x33edacb8},
-  {0xc518, 0x33edacb9},
-  {0xc519, 0x33edb0b0},
-  {0xc51a, 0x33edb0b1},
-  {0xc51b, 0x33edb0b2},
-  {0xc51c, 0x33edb0b3},
-  {0xc51d, 0x33edb0b4},
-  {0xc51e, 0x33edb0b5},
-  {0xc51f, 0x33edb0b6},
-  {0xc520, 0x33edb0b7},
-  {0xc521, 0x33edb0b8},
-  {0xc522, 0x33edb0b9},
-  {0xc523, 0x33edb4b0},
-  {0xc524, 0x33edb4b1},
-  {0xc525, 0x33edb4b2},
-  {0xc526, 0x33edb4b3},
-  {0xc527, 0x33edb4b4},
-  {0xc528, 0x33edb4b5},
-  {0xc529, 0x33edb4b6},
-  {0xc52a, 0x33edb4b7},
-  {0xc52b, 0x33edb4b8},
-  {0xc52c, 0x33edb4b9},
-  {0xc52d, 0x33edb8b0},
-  {0xc52e, 0x33edb8b1},
-  {0xc52f, 0x33edb8b2},
-  {0xc530, 0x33edb8b3},
-  {0xc531, 0x33edb8b4},
-  {0xc532, 0x33edb8b5},
-  {0xc533, 0x33edb8b6},
-  {0xc534, 0x33edb8b7},
-  {0xc535, 0x33edb8b8},
-  {0xc536, 0x33edb8b9},
-  {0xc537, 0x33edbcb0},
-  {0xc538, 0x33edbcb1},
-  {0xc539, 0x33edbcb2},
-  {0xc53a, 0x33edbcb3},
-  {0xc53b, 0x33edbcb4},
-  {0xc53c, 0x33edbcb5},
-  {0xc53d, 0x33edbcb6},
-  {0xc53e, 0x33edbcb7},
-  {0xc53f, 0x33edbcb8},
-  {0xc540, 0x33edbcb9},
-  {0xc541, 0x33ee80b0},
-  {0xc542, 0x33ee80b1},
-  {0xc543, 0x33ee80b2},
-  {0xc544, 0x33ee80b3},
-  {0xc545, 0x33ee80b4},
-  {0xc546, 0x33ee80b5},
-  {0xc547, 0x33ee80b6},
-  {0xc548, 0x33ee80b7},
-  {0xc549, 0x33ee80b8},
-  {0xc54a, 0x33ee80b9},
-  {0xc54b, 0x33ee84b0},
-  {0xc54c, 0x33ee84b1},
-  {0xc54d, 0x33ee84b2},
-  {0xc54e, 0x33ee84b3},
-  {0xc54f, 0x33ee84b4},
-  {0xc550, 0x33ee84b5},
-  {0xc551, 0x33ee84b6},
-  {0xc552, 0x33ee84b7},
-  {0xc553, 0x33ee84b8},
-  {0xc554, 0x33ee84b9},
-  {0xc555, 0x33ee88b0},
-  {0xc556, 0x33ee88b1},
-  {0xc557, 0x33ee88b2},
-  {0xc558, 0x33ee88b3},
-  {0xc559, 0x33ee88b4},
-  {0xc55a, 0x33ee88b5},
-  {0xc55b, 0x33ee88b6},
-  {0xc55c, 0x33ee88b7},
-  {0xc55d, 0x33ee88b8},
-  {0xc55e, 0x33ee88b9},
-  {0xc55f, 0x33ee8cb0},
-  {0xc560, 0x33ee8cb1},
-  {0xc561, 0x33ee8cb2},
-  {0xc562, 0x33ee8cb3},
-  {0xc563, 0x33ee8cb4},
-  {0xc564, 0x33ee8cb5},
-  {0xc565, 0x33ee8cb6},
-  {0xc566, 0x33ee8cb7},
-  {0xc567, 0x33ee8cb8},
-  {0xc568, 0x33ee8cb9},
-  {0xc569, 0x33ee90b0},
-  {0xc56a, 0x33ee90b1},
-  {0xc56b, 0x33ee90b2},
-  {0xc56c, 0x33ee90b3},
-  {0xc56d, 0x33ee90b4},
-  {0xc56e, 0x33ee90b5},
-  {0xc56f, 0x33ee90b6},
-  {0xc570, 0x33ee90b7},
-  {0xc571, 0x33ee90b8},
-  {0xc572, 0x33ee90b9},
-  {0xc573, 0x33ee94b0},
-  {0xc574, 0x33ee94b1},
-  {0xc575, 0x33ee94b2},
-  {0xc576, 0x33ee94b3},
-  {0xc577, 0x33ee94b4},
-  {0xc578, 0x33ee94b5},
-  {0xc579, 0x33ee94b6},
-  {0xc57a, 0x33ee94b7},
-  {0xc57b, 0x33ee94b8},
-  {0xc57c, 0x33ee94b9},
-  {0xc57d, 0x33ee98b0},
-  {0xc57e, 0x33ee98b1},
-  {0xc57f, 0x33ee98b2},
-  {0xc580, 0x33ee98b3},
-  {0xc581, 0x33ee98b4},
-  {0xc582, 0x33ee98b5},
-  {0xc583, 0x33ee98b6},
-  {0xc584, 0x33ee98b7},
-  {0xc585, 0x33ee98b8},
-  {0xc586, 0x33ee98b9},
-  {0xc587, 0x33ee9cb0},
-  {0xc588, 0x33ee9cb1},
-  {0xc589, 0x33ee9cb2},
-  {0xc58a, 0x33ee9cb3},
-  {0xc58b, 0x33ee9cb4},
-  {0xc58c, 0x33ee9cb5},
-  {0xc58d, 0x33ee9cb6},
-  {0xc58e, 0x33ee9cb7},
-  {0xc58f, 0x33ee9cb8},
-  {0xc590, 0x33ee9cb9},
-  {0xc591, 0x33eea0b0},
-  {0xc592, 0x33eea0b1},
-  {0xc593, 0x33eea0b2},
-  {0xc594, 0x33eea0b3},
-  {0xc595, 0x33eea0b4},
-  {0xc596, 0x33eea0b5},
-  {0xc597, 0x33eea0b6},
-  {0xc598, 0x33eea0b7},
-  {0xc599, 0x33eea0b8},
-  {0xc59a, 0x33eea0b9},
-  {0xc59b, 0x33eea4b0},
-  {0xc59c, 0x33eea4b1},
-  {0xc59d, 0x33eea4b2},
-  {0xc59e, 0x33eea4b3},
-  {0xc59f, 0x33eea4b4},
-  {0xc5a0, 0x33eea4b5},
-  {0xc5a1, 0x33eea4b6},
-  {0xc5a2, 0x33eea4b7},
-  {0xc5a3, 0x33eea4b8},
-  {0xc5a4, 0x33eea4b9},
-  {0xc5a5, 0x33eea8b0},
-  {0xc5a6, 0x33eea8b1},
-  {0xc5a7, 0x33eea8b2},
-  {0xc5a8, 0x33eea8b3},
-  {0xc5a9, 0x33eea8b4},
-  {0xc5aa, 0x33eea8b5},
-  {0xc5ab, 0x33eea8b6},
-  {0xc5ac, 0x33eea8b7},
-  {0xc5ad, 0x33eea8b8},
-  {0xc5ae, 0x33eea8b9},
-  {0xc5af, 0x33eeacb0},
-  {0xc5b0, 0x33eeacb1},
-  {0xc5b1, 0x33eeacb2},
-  {0xc5b2, 0x33eeacb3},
-  {0xc5b3, 0x33eeacb4},
-  {0xc5b4, 0x33eeacb5},
-  {0xc5b5, 0x33eeacb6},
-  {0xc5b6, 0x33eeacb7},
-  {0xc5b7, 0x33eeacb8},
-  {0xc5b8, 0x33eeacb9},
-  {0xc5b9, 0x33eeb0b0},
-  {0xc5ba, 0x33eeb0b1},
-  {0xc5bb, 0x33eeb0b2},
-  {0xc5bc, 0x33eeb0b3},
-  {0xc5bd, 0x33eeb0b4},
-  {0xc5be, 0x33eeb0b5},
-  {0xc5bf, 0x33eeb0b6},
-  {0xc5c0, 0x33eeb0b7},
-  {0xc5c1, 0x33eeb0b8},
-  {0xc5c2, 0x33eeb0b9},
-  {0xc5c3, 0x33eeb4b0},
-  {0xc5c4, 0x33eeb4b1},
-  {0xc5c5, 0x33eeb4b2},
-  {0xc5c6, 0x33eeb4b3},
-  {0xc5c7, 0x33eeb4b4},
-  {0xc5c8, 0x33eeb4b5},
-  {0xc5c9, 0x33eeb4b6},
-  {0xc5ca, 0x33eeb4b7},
-  {0xc5cb, 0x33eeb4b8},
-  {0xc5cc, 0x33eeb4b9},
-  {0xc5cd, 0x33eeb8b0},
-  {0xc5ce, 0x33eeb8b1},
-  {0xc5cf, 0x33eeb8b2},
-  {0xc5d0, 0x33eeb8b3},
-  {0xc5d1, 0x33eeb8b4},
-  {0xc5d2, 0x33eeb8b5},
-  {0xc5d3, 0x33eeb8b6},
-  {0xc5d4, 0x33eeb8b7},
-  {0xc5d5, 0x33eeb8b8},
-  {0xc5d6, 0x33eeb8b9},
-  {0xc5d7, 0x33eebcb0},
-  {0xc5d8, 0x33eebcb1},
-  {0xc5d9, 0x33eebcb2},
-  {0xc5da, 0x33eebcb3},
-  {0xc5db, 0x33eebcb4},
-  {0xc5dc, 0x33eebcb5},
-  {0xc5dd, 0x33eebcb6},
-  {0xc5de, 0x33eebcb7},
-  {0xc5df, 0x33eebcb8},
-  {0xc5e0, 0x33eebcb9},
-  {0xc5e1, 0x33ef80b0},
-  {0xc5e2, 0x33ef80b1},
-  {0xc5e3, 0x33ef80b2},
-  {0xc5e4, 0x33ef80b3},
-  {0xc5e5, 0x33ef80b4},
-  {0xc5e6, 0x33ef80b5},
-  {0xc5e7, 0x33ef80b6},
-  {0xc5e8, 0x33ef80b7},
-  {0xc5e9, 0x33ef80b8},
-  {0xc5ea, 0x33ef80b9},
-  {0xc5eb, 0x33ef84b0},
-  {0xc5ec, 0x33ef84b1},
-  {0xc5ed, 0x33ef84b2},
-  {0xc5ee, 0x33ef84b3},
-  {0xc5ef, 0x33ef84b4},
-  {0xc5f0, 0x33ef84b5},
-  {0xc5f1, 0x33ef84b6},
-  {0xc5f2, 0x33ef84b7},
-  {0xc5f3, 0x33ef84b8},
-  {0xc5f4, 0x33ef84b9},
-  {0xc5f5, 0x33ef88b0},
-  {0xc5f6, 0x33ef88b1},
-  {0xc5f7, 0x33ef88b2},
-  {0xc5f8, 0x33ef88b3},
-  {0xc5f9, 0x33ef88b4},
-  {0xc5fa, 0x33ef88b5},
-  {0xc5fb, 0x33ef88b6},
-  {0xc5fc, 0x33ef88b7},
-  {0xc5fd, 0x33ef88b8},
-  {0xc5fe, 0x33ef88b9},
-  {0xc5ff, 0x33ef8cb0},
-  {0xc600, 0x33ef8cb1},
-  {0xc601, 0x33ef8cb2},
-  {0xc602, 0x33ef8cb3},
-  {0xc603, 0x33ef8cb4},
-  {0xc604, 0x33ef8cb5},
-  {0xc605, 0x33ef8cb6},
-  {0xc606, 0x33ef8cb7},
-  {0xc607, 0x33ef8cb8},
-  {0xc608, 0x33ef8cb9},
-  {0xc609, 0x33ef90b0},
-  {0xc60a, 0x33ef90b1},
-  {0xc60b, 0x33ef90b2},
-  {0xc60c, 0x33ef90b3},
-  {0xc60d, 0x33ef90b4},
-  {0xc60e, 0x33ef90b5},
-  {0xc60f, 0x33ef90b6},
-  {0xc610, 0x33ef90b7},
-  {0xc611, 0x33ef90b8},
-  {0xc612, 0x33ef90b9},
-  {0xc613, 0x33ef94b0},
-  {0xc614, 0x33ef94b1},
-  {0xc615, 0x33ef94b2},
-  {0xc616, 0x33ef94b3},
-  {0xc617, 0x33ef94b4},
-  {0xc618, 0x33ef94b5},
-  {0xc619, 0x33ef94b6},
-  {0xc61a, 0x33ef94b7},
-  {0xc61b, 0x33ef94b8},
-  {0xc61c, 0x33ef94b9},
-  {0xc61d, 0x33ef98b0},
-  {0xc61e, 0x33ef98b1},
-  {0xc61f, 0x33ef98b2},
-  {0xc620, 0x33ef98b3},
-  {0xc621, 0x33ef98b4},
-  {0xc622, 0x33ef98b5},
-  {0xc623, 0x33ef98b6},
-  {0xc624, 0x33ef98b7},
-  {0xc625, 0x33ef98b8},
-  {0xc626, 0x33ef98b9},
-  {0xc627, 0x33ef9cb0},
-  {0xc628, 0x33ef9cb1},
-  {0xc629, 0x33ef9cb2},
-  {0xc62a, 0x33ef9cb3},
-  {0xc62b, 0x33ef9cb4},
-  {0xc62c, 0x33ef9cb5},
-  {0xc62d, 0x33ef9cb6},
-  {0xc62e, 0x33ef9cb7},
-  {0xc62f, 0x33ef9cb8},
-  {0xc630, 0x33ef9cb9},
-  {0xc631, 0x33efa0b0},
-  {0xc632, 0x33efa0b1},
-  {0xc633, 0x33efa0b2},
-  {0xc634, 0x33efa0b3},
-  {0xc635, 0x33efa0b4},
-  {0xc636, 0x33efa0b5},
-  {0xc637, 0x33efa0b6},
-  {0xc638, 0x33efa0b7},
-  {0xc639, 0x33efa0b8},
-  {0xc63a, 0x33efa0b9},
-  {0xc63b, 0x33efa4b0},
-  {0xc63c, 0x33efa4b1},
-  {0xc63d, 0x33efa4b2},
-  {0xc63e, 0x33efa4b3},
-  {0xc63f, 0x33efa4b4},
-  {0xc640, 0x33efa4b5},
-  {0xc641, 0x33efa4b6},
-  {0xc642, 0x33efa4b7},
-  {0xc643, 0x33efa4b8},
-  {0xc644, 0x33efa4b9},
-  {0xc645, 0x33efa8b0},
-  {0xc646, 0x33efa8b1},
-  {0xc647, 0x33efa8b2},
-  {0xc648, 0x33efa8b3},
-  {0xc649, 0x33efa8b4},
-  {0xc64a, 0x33efa8b5},
-  {0xc64b, 0x33efa8b6},
-  {0xc64c, 0x33efa8b7},
-  {0xc64d, 0x33efa8b8},
-  {0xc64e, 0x33efa8b9},
-  {0xc64f, 0x33efacb0},
-  {0xc650, 0x33efacb1},
-  {0xc651, 0x33efacb2},
-  {0xc652, 0x33efacb3},
-  {0xc653, 0x33efacb4},
-  {0xc654, 0x33efacb5},
-  {0xc655, 0x33efacb6},
-  {0xc656, 0x33efacb7},
-  {0xc657, 0x33efacb8},
-  {0xc658, 0x33efacb9},
-  {0xc659, 0x33efb0b0},
-  {0xc65a, 0x33efb0b1},
-  {0xc65b, 0x33efb0b2},
-  {0xc65c, 0x33efb0b3},
-  {0xc65d, 0x33efb0b4},
-  {0xc65e, 0x33efb0b5},
-  {0xc65f, 0x33efb0b6},
-  {0xc660, 0x33efb0b7},
-  {0xc661, 0x33efb0b8},
-  {0xc662, 0x33efb0b9},
-  {0xc663, 0x33efb4b0},
-  {0xc664, 0x33efb4b1},
-  {0xc665, 0x33efb4b2},
-  {0xc666, 0x33efb4b3},
-  {0xc667, 0x33efb4b4},
-  {0xc668, 0x33efb4b5},
-  {0xc669, 0x33efb4b6},
-  {0xc66a, 0x33efb4b7},
-  {0xc66b, 0x33efb4b8},
-  {0xc66c, 0x33efb4b9},
-  {0xc66d, 0x33efb8b0},
-  {0xc66e, 0x33efb8b1},
-  {0xc66f, 0x33efb8b2},
-  {0xc670, 0x33efb8b3},
-  {0xc671, 0x33efb8b4},
-  {0xc672, 0x33efb8b5},
-  {0xc673, 0x33efb8b6},
-  {0xc674, 0x33efb8b7},
-  {0xc675, 0x33efb8b8},
-  {0xc676, 0x33efb8b9},
-  {0xc677, 0x33f884b0},
-  {0xc678, 0x33f884b1},
-  {0xc679, 0x33f884b2},
-  {0xc67a, 0x33f884b3},
-  {0xc67b, 0x33f884b4},
-  {0xc67c, 0x33f884b5},
-  {0xc67d, 0x33f884b6},
-  {0xc67e, 0x33f884b7},
-  {0xc67f, 0x33f884b8},
-  {0xc680, 0x33f884b9},
-  {0xc681, 0x33f888b0},
-  {0xc682, 0x33f888b1},
-  {0xc683, 0x33f888b2},
-  {0xc684, 0x33f888b3},
-  {0xc685, 0x33f888b4},
-  {0xc686, 0x33f888b5},
-  {0xc687, 0x33f888b6},
-  {0xc688, 0x33f888b7},
-  {0xc689, 0x33f888b8},
-  {0xc68a, 0x33f888b9},
-  {0xc68b, 0x33f88cb0},
-  {0xc68c, 0x33f88cb1},
-  {0xc68d, 0x33f88cb2},
-  {0xc68e, 0x33f88cb3},
-  {0xc68f, 0x33f88cb4},
-  {0xc690, 0x33f88cb5},
-  {0xc691, 0x33f88cb6},
-  {0xc692, 0x33f88cb7},
-  {0xc693, 0x33f88cb8},
-  {0xc694, 0x33f88cb9},
-  {0xc695, 0x33f890b0},
-  {0xc696, 0x33f890b1},
-  {0xc697, 0x33f890b2},
-  {0xc698, 0x33f890b3},
-  {0xc699, 0x33f890b4},
-  {0xc69a, 0x33f890b5},
-  {0xc69b, 0x33f890b6},
-  {0xc69c, 0x33f890b7},
-  {0xc69d, 0x33f890b8},
-  {0xc69e, 0x33f890b9},
-  {0xc69f, 0x33f894b0},
-  {0xc6a0, 0x33f894b1},
-  {0xc6a1, 0x33f894b2},
-  {0xc6a2, 0x33f894b3},
-  {0xc6a3, 0x33f894b4},
-  {0xc6a4, 0x33f894b5},
-  {0xc6a5, 0x33f894b6},
-  {0xc6a6, 0x33f894b7},
-  {0xc6a7, 0x33f894b8},
-  {0xc6a8, 0x33f894b9},
-  {0xc6a9, 0x33f898b0},
-  {0xc6aa, 0x33f898b1},
-  {0xc6ab, 0x33f898b2},
-  {0xc6ac, 0x33f898b3},
-  {0xc6ad, 0x33f898b4},
-  {0xc6ae, 0x33f898b5},
-  {0xc6af, 0x33f898b6},
-  {0xc6b0, 0x33f898b7},
-  {0xc6b1, 0x33f898b8},
-  {0xc6b2, 0x33f898b9},
-  {0xc6b3, 0x33f89cb0},
-  {0xc6b4, 0x33f89cb1},
-  {0xc6b5, 0x33f89cb2},
-  {0xc6b6, 0x33f89cb3},
-  {0xc6b7, 0x33f89cb4},
-  {0xc6b8, 0x33f89cb5},
-  {0xc6b9, 0x33f89cb6},
-  {0xc6ba, 0x33f89cb7},
-  {0xc6bb, 0x33f89cb8},
-  {0xc6bc, 0x33f89cb9},
-  {0xc6bd, 0x33f8a0b0},
-  {0xc6be, 0x33f8a0b1},
-  {0xc6bf, 0x33f8a0b2},
-  {0xc6c0, 0x33f8a0b3},
-  {0xc6c1, 0x33f8a0b4},
-  {0xc6c2, 0x33f8a0b5},
-  {0xc6c3, 0x33f8a0b6},
-  {0xc6c4, 0x33f8a0b7},
-  {0xc6c5, 0x33f8a0b8},
-  {0xc6c6, 0x33f8a0b9},
-  {0xc6c7, 0x33f8a4b0},
-  {0xc6c8, 0x33f8a4b1},
-  {0xc6c9, 0x33f8a4b2},
-  {0xc6ca, 0x33f8a4b3},
-  {0xc6cb, 0x33f8a4b4},
-  {0xc6cc, 0x33f8a4b5},
-  {0xc6cd, 0x33f8a4b6},
-  {0xc6ce, 0x33f8a4b7},
-  {0xc6cf, 0x33f8a4b8},
-  {0xc6d0, 0x33f8a4b9},
-  {0xc6d1, 0x33f8a8b0},
-  {0xc6d2, 0x33f8a8b1},
-  {0xc6d3, 0x33f8a8b2},
-  {0xc6d4, 0x33f8a8b3},
-  {0xc6d5, 0x33f8a8b4},
-  {0xc6d6, 0x33f8a8b5},
-  {0xc6d7, 0x33f8a8b6},
-  {0xc6d8, 0x33f8a8b7},
-  {0xc6d9, 0x33f8a8b8},
-  {0xc6da, 0x33f8a8b9},
-  {0xc6db, 0x33f8acb0},
-  {0xc6dc, 0x33f8acb1},
-  {0xc6dd, 0x33f8acb2},
-  {0xc6de, 0x33f8acb3},
-  {0xc6df, 0x33f8acb4},
-  {0xc6e0, 0x33f8acb5},
-  {0xc6e1, 0x33f8acb6},
-  {0xc6e2, 0x33f8acb7},
-  {0xc6e3, 0x33f8acb8},
-  {0xc6e4, 0x33f8acb9},
-  {0xc6e5, 0x33f8b0b0},
-  {0xc6e6, 0x33f8b0b1},
-  {0xc6e7, 0x33f8b0b2},
-  {0xc6e8, 0x33f8b0b3},
-  {0xc6e9, 0x33f8b0b4},
-  {0xc6ea, 0x33f8b0b5},
-  {0xc6eb, 0x33f8b0b6},
-  {0xc6ec, 0x33f8b0b7},
-  {0xc6ed, 0x33f8b0b8},
-  {0xc6ee, 0x33f8b0b9},
-  {0xc6ef, 0x33f8b4b0},
-  {0xc6f0, 0x33f8b4b1},
-  {0xc6f1, 0x33f8b4b2},
-  {0xc6f2, 0x33f8b4b3},
-  {0xc6f3, 0x33f8b4b4},
-  {0xc6f4, 0x33f8b4b5},
-  {0xc6f5, 0x33f8b4b6},
-  {0xc6f6, 0x33f8b4b7},
-  {0xc6f7, 0x33f8b4b8},
-  {0xc6f8, 0x33f8b4b9},
-  {0xc6f9, 0x33f8b8b0},
-  {0xc6fa, 0x33f8b8b1},
-  {0xc6fb, 0x33f8b8b2},
-  {0xc6fc, 0x33f8b8b3},
-  {0xc6fd, 0x33f8b8b4},
-  {0xc6fe, 0x33f8b8b5},
-  {0xc6ff, 0x33f8b8b6},
-  {0xc700, 0x33f8b8b7},
-  {0xc701, 0x33f8b8b8},
-  {0xc702, 0x33f8b8b9},
-  {0xc703, 0x33f8bcb0},
-  {0xc704, 0x33f8bcb1},
-  {0xc705, 0x33f8bcb2},
-  {0xc706, 0x33f8bcb3},
-  {0xc707, 0x33f8bcb4},
-  {0xc708, 0x33f8bcb5},
-  {0xc709, 0x33f8bcb6},
-  {0xc70a, 0x33f8bcb7},
-  {0xc70b, 0x33f8bcb8},
-  {0xc70c, 0x33f8bcb9},
-  {0xc70d, 0x33f980b0},
-  {0xc70e, 0x33f980b1},
-  {0xc70f, 0x33f980b2},
-  {0xc710, 0x33f980b3},
-  {0xc711, 0x33f980b4},
-  {0xc712, 0x33f980b5},
-  {0xc713, 0x33f980b6},
-  {0xc714, 0x33f980b7},
-  {0xc715, 0x33f980b8},
-  {0xc716, 0x33f980b9},
-  {0xc717, 0x33f984b0},
-  {0xc718, 0x33f984b1},
-  {0xc719, 0x33f984b2},
-  {0xc71a, 0x33f984b3},
-  {0xc71b, 0x33f984b4},
-  {0xc71c, 0x33f984b5},
-  {0xc71d, 0x33f984b6},
-  {0xc71e, 0x33f984b7},
-  {0xc71f, 0x33f984b8},
-  {0xc720, 0x33f984b9},
-  {0xc721, 0x33f988b0},
-  {0xc722, 0x33f988b1},
-  {0xc723, 0x33f988b2},
-  {0xc724, 0x33f988b3},
-  {0xc725, 0x33f988b4},
-  {0xc726, 0x33f988b5},
-  {0xc727, 0x33f988b6},
-  {0xc728, 0x33f988b7},
-  {0xc729, 0x33f988b8},
-  {0xc72a, 0x33f988b9},
-  {0xc72b, 0x33f98cb0},
-  {0xc72c, 0x33f98cb1},
-  {0xc72d, 0x33f98cb2},
-  {0xc72e, 0x33f98cb3},
-  {0xc72f, 0x33f98cb4},
-  {0xc730, 0x33f98cb5},
-  {0xc731, 0x33f98cb6},
-  {0xc732, 0x33f98cb7},
-  {0xc733, 0x33f98cb8},
-  {0xc734, 0x33f98cb9},
-  {0xc735, 0x33f990b0},
-  {0xc736, 0x33f990b1},
-  {0xc737, 0x33f990b2},
-  {0xc738, 0x33f990b3},
-  {0xc739, 0x33f990b4},
-  {0xc73a, 0x33f990b5},
-  {0xc73b, 0x33f990b6},
-  {0xc73c, 0x33f990b7},
-  {0xc73d, 0x33f990b8},
-  {0xc73e, 0x33f990b9},
-  {0xc73f, 0x33f994b0},
-  {0xc740, 0x33f994b1},
-  {0xc741, 0x33f994b2},
-  {0xc742, 0x33f994b3},
-  {0xc743, 0x33f994b4},
-  {0xc744, 0x33f994b5},
-  {0xc745, 0x33f994b6},
-  {0xc746, 0x33f994b7},
-  {0xc747, 0x33f994b8},
-  {0xc748, 0x33f994b9},
-  {0xc749, 0x33f998b0},
-  {0xc74a, 0x33f998b1},
-  {0xc74b, 0x33f998b2},
-  {0xc74c, 0x33f998b3},
-  {0xc74d, 0x33f998b4},
-  {0xc74e, 0x33f998b5},
-  {0xc74f, 0x33f998b6},
-  {0xc750, 0x33f998b7},
-  {0xc751, 0x33f998b8},
-  {0xc752, 0x33f998b9},
-  {0xc753, 0x33f99cb0},
-  {0xc754, 0x33f99cb1},
-  {0xc755, 0x33f99cb2},
-  {0xc756, 0x33f99cb3},
-  {0xc757, 0x33f99cb4},
-  {0xc758, 0x33f99cb5},
-  {0xc759, 0x33f99cb6},
-  {0xc75a, 0x33f99cb7},
-  {0xc75b, 0x33f99cb8},
-  {0xc75c, 0x33f99cb9},
-  {0xc75d, 0x33f9a0b0},
-  {0xc75e, 0x33f9a0b1},
-  {0xc75f, 0x33f9a0b2},
-  {0xc760, 0x33f9a0b3},
-  {0xc761, 0x33f9a0b4},
-  {0xc762, 0x33f9a0b5},
-  {0xc763, 0x33f9a0b6},
-  {0xc764, 0x33f9a0b7},
-  {0xc765, 0x33f9a0b8},
-  {0xc766, 0x33f9a0b9},
-  {0xc767, 0x33f9a4b0},
-  {0xc768, 0x33f9a4b1},
-  {0xc769, 0x33f9a4b2},
-  {0xc76a, 0x33f9a4b3},
-  {0xc76b, 0x33f9a4b4},
-  {0xc76c, 0x33f9a4b5},
-  {0xc76d, 0x33f9a4b6},
-  {0xc76e, 0x33f9a4b7},
-  {0xc76f, 0x33f9a4b8},
-  {0xc770, 0x33f9a4b9},
-  {0xc771, 0x33f9a8b0},
-  {0xc772, 0x33f9a8b1},
-  {0xc773, 0x33f9a8b2},
-  {0xc774, 0x33f9a8b3},
-  {0xc775, 0x33f9a8b4},
-  {0xc776, 0x33f9a8b5},
-  {0xc777, 0x33f9a8b6},
-  {0xc778, 0x33f9a8b7},
-  {0xc779, 0x33f9a8b8},
-  {0xc77a, 0x33f9a8b9},
-  {0xc77b, 0x33f9acb0},
-  {0xc77c, 0x33f9acb1},
-  {0xc77d, 0x33f9acb2},
-  {0xc77e, 0x33f9acb3},
-  {0xc77f, 0x33f9acb4},
-  {0xc780, 0x33f9acb5},
-  {0xc781, 0x33f9acb6},
-  {0xc782, 0x33f9acb7},
-  {0xc783, 0x33f9acb8},
-  {0xc784, 0x33f9acb9},
-  {0xc785, 0x33f9b0b0},
-  {0xc786, 0x33f9b0b1},
-  {0xc787, 0x33f9b0b2},
-  {0xc788, 0x33f9b0b3},
-  {0xc789, 0x33f9b0b4},
-  {0xc78a, 0x33f9b0b5},
-  {0xc78b, 0x33f9b0b6},
-  {0xc78c, 0x33f9b0b7},
-  {0xc78d, 0x33f9b0b8},
-  {0xc78e, 0x33f9b0b9},
-  {0xc78f, 0x33f9b4b0},
-  {0xc790, 0x33f9b4b1},
-  {0xc791, 0x33f9b4b2},
-  {0xc792, 0x33f9b4b3},
-  {0xc793, 0x33f9b4b4},
-  {0xc794, 0x33f9b4b5},
-  {0xc795, 0x33f9b4b6},
-  {0xc796, 0x33f9b4b7},
-  {0xc797, 0x33f9b4b8},
-  {0xc798, 0x33f9b4b9},
-  {0xc799, 0x33f9b8b0},
-  {0xc79a, 0x33f9b8b1},
-  {0xc79b, 0x33f9b8b2},
-  {0xc79c, 0x33f9b8b3},
-  {0xc79d, 0x33f9b8b4},
-  {0xc79e, 0x33f9b8b5},
-  {0xc79f, 0x33f9b8b6},
-  {0xc7a0, 0x33f9b8b7},
-  {0xc7a1, 0x33f9b8b8},
-  {0xc7a2, 0x33f9b8b9},
-  {0xc7a3, 0x33f9bcb0},
-  {0xc7a4, 0x33f9bcb1},
-  {0xc7a5, 0x33f9bcb2},
-  {0xc7a6, 0x33f9bcb3},
-  {0xc7a7, 0x33f9bcb4},
-  {0xc7a8, 0x33f9bcb5},
-  {0xc7a9, 0x33f9bcb6},
-  {0xc7aa, 0x33f9bcb7},
-  {0xc7ab, 0x33f9bcb8},
-  {0xc7ac, 0x33f9bcb9},
-  {0xc7ad, 0x33fa80b0},
-  {0xc7ae, 0x33fa80b1},
-  {0xc7af, 0x33fa80b2},
-  {0xc7b0, 0x33fa80b3},
-  {0xc7b1, 0x33fa80b4},
-  {0xc7b2, 0x33fa80b5},
-  {0xc7b3, 0x33fa80b6},
-  {0xc7b4, 0x33fa80b7},
-  {0xc7b5, 0x33fa80b8},
-  {0xc7b6, 0x33fa80b9},
-  {0xc7b7, 0x33fa84b0},
-  {0xc7b8, 0x33fa84b1},
-  {0xc7b9, 0x33fa84b2},
-  {0xc7ba, 0x33fa84b3},
-  {0xc7bb, 0x33fa84b4},
-  {0xc7bc, 0x33fa84b5},
-  {0xc7bd, 0x33fa84b6},
-  {0xc7be, 0x33fa84b7},
-  {0xc7bf, 0x33fa84b8},
-  {0xc7c0, 0x33fa84b9},
-  {0xc7c1, 0x33fa88b0},
-  {0xc7c2, 0x33fa88b1},
-  {0xc7c3, 0x33fa88b2},
-  {0xc7c4, 0x33fa88b3},
-  {0xc7c5, 0x33fa88b4},
-  {0xc7c6, 0x33fa88b5},
-  {0xc7c7, 0x33fa88b6},
-  {0xc7c8, 0x33fa88b7},
-  {0xc7c9, 0x33fa88b8},
-  {0xc7ca, 0x33fa88b9},
-  {0xc7cb, 0x33fa8cb0},
-  {0xc7cc, 0x33fa8cb1},
-  {0xc7cd, 0x33fa8cb2},
-  {0xc7ce, 0x33fa8cb3},
-  {0xc7cf, 0x33fa8cb4},
-  {0xc7d0, 0x33fa8cb5},
-  {0xc7d1, 0x33fa8cb6},
-  {0xc7d2, 0x33fa8cb7},
-  {0xc7d3, 0x33fa8cb8},
-  {0xc7d4, 0x33fa8cb9},
-  {0xc7d5, 0x33fa90b0},
-  {0xc7d6, 0x33fa90b1},
-  {0xc7d7, 0x33fa90b2},
-  {0xc7d8, 0x33fa90b3},
-  {0xc7d9, 0x33fa90b4},
-  {0xc7da, 0x33fa90b5},
-  {0xc7db, 0x33fa90b6},
-  {0xc7dc, 0x33fa90b7},
-  {0xc7dd, 0x33fa90b8},
-  {0xc7de, 0x33fa90b9},
-  {0xc7df, 0x33fa94b0},
-  {0xc7e0, 0x33fa94b1},
-  {0xc7e1, 0x33fa94b2},
-  {0xc7e2, 0x33fa94b3},
-  {0xc7e3, 0x33fa94b4},
-  {0xc7e4, 0x33fa94b5},
-  {0xc7e5, 0x33fa94b6},
-  {0xc7e6, 0x33fa94b7},
-  {0xc7e7, 0x33fa94b8},
-  {0xc7e8, 0x33fa94b9},
-  {0xc7e9, 0x33fa98b0},
-  {0xc7ea, 0x33fa98b1},
-  {0xc7eb, 0x33fa98b2},
-  {0xc7ec, 0x33fa98b3},
-  {0xc7ed, 0x33fa98b4},
-  {0xc7ee, 0x33fa98b5},
-  {0xc7ef, 0x33fa98b6},
-  {0xc7f0, 0x33fa98b7},
-  {0xc7f1, 0x33fa98b8},
-  {0xc7f2, 0x33fa98b9},
-  {0xc7f3, 0x33fa9cb0},
-  {0xc7f4, 0x33fa9cb1},
-  {0xc7f5, 0x33fa9cb2},
-  {0xc7f6, 0x33fa9cb3},
-  {0xc7f7, 0x33fa9cb4},
-  {0xc7f8, 0x33fa9cb5},
-  {0xc7f9, 0x33fa9cb6},
-  {0xc7fa, 0x33fa9cb7},
-  {0xc7fb, 0x33fa9cb8},
-  {0xc7fc, 0x33fa9cb9},
-  {0xc7fd, 0x33faa0b0},
-  {0xc7fe, 0x33faa0b1},
-  {0xc7ff, 0x33faa0b2},
-  {0xc800, 0x33faa0b3},
-  {0xc801, 0x33faa0b4},
-  {0xc802, 0x33faa0b5},
-  {0xc803, 0x33faa0b6},
-  {0xc804, 0x33faa0b7},
-  {0xc805, 0x33faa0b8},
-  {0xc806, 0x33faa0b9},
-  {0xc807, 0x33faa4b0},
-  {0xc808, 0x33faa4b1},
-  {0xc809, 0x33faa4b2},
-  {0xc80a, 0x33faa4b3},
-  {0xc80b, 0x33faa4b4},
-  {0xc80c, 0x33faa4b5},
-  {0xc80d, 0x33faa4b6},
-  {0xc80e, 0x33faa4b7},
-  {0xc80f, 0x33faa4b8},
-  {0xc810, 0x33faa4b9},
-  {0xc811, 0x33faa8b0},
-  {0xc812, 0x33faa8b1},
-  {0xc813, 0x33faa8b2},
-  {0xc814, 0x33faa8b3},
-  {0xc815, 0x33faa8b4},
-  {0xc816, 0x33faa8b5},
-  {0xc817, 0x33faa8b6},
-  {0xc818, 0x33faa8b7},
-  {0xc819, 0x33faa8b8},
-  {0xc81a, 0x33faa8b9},
-  {0xc81b, 0x33faacb0},
-  {0xc81c, 0x33faacb1},
-  {0xc81d, 0x33faacb2},
-  {0xc81e, 0x33faacb3},
-  {0xc81f, 0x33faacb4},
-  {0xc820, 0x33faacb5},
-  {0xc821, 0x33faacb6},
-  {0xc822, 0x33faacb7},
-  {0xc823, 0x33faacb8},
-  {0xc824, 0x33faacb9},
-  {0xc825, 0x33fab0b0},
-  {0xc826, 0x33fab0b1},
-  {0xc827, 0x33fab0b2},
-  {0xc828, 0x33fab0b3},
-  {0xc829, 0x33fab0b4},
-  {0xc82a, 0x33fab0b5},
-  {0xc82b, 0x33fab0b6},
-  {0xc82c, 0x33fab0b7},
-  {0xc82d, 0x33fab0b8},
-  {0xc82e, 0x33fab0b9},
-  {0xc82f, 0x33fab4b0},
-  {0xc830, 0x33fab4b1},
-  {0xc831, 0x33fab4b2},
-  {0xc832, 0x33fab4b3},
-  {0xc833, 0x33fab4b4},
-  {0xc834, 0x33fab4b5},
-  {0xc835, 0x33fab4b6},
-  {0xc836, 0x33fab4b7},
-  {0xc837, 0x33fab4b8},
-  {0xc838, 0x33fab4b9},
-  {0xc839, 0x33fab8b0},
-  {0xc83a, 0x33fab8b1},
-  {0xc83b, 0x33fab8b2},
-  {0xc83c, 0x33fab8b3},
-  {0xc83d, 0x33fab8b4},
-  {0xc83e, 0x33fab8b5},
-  {0xc83f, 0x33fab8b6},
-  {0xc840, 0x33fab8b7},
-  {0xc841, 0x33fab8b8},
-  {0xc842, 0x33fab8b9},
-  {0xc843, 0x33fabcb0},
-  {0xc844, 0x33fabcb1},
-  {0xc845, 0x33fabcb2},
-  {0xc846, 0x33fabcb3},
-  {0xc847, 0x33fabcb4},
-  {0xc848, 0x33fabcb5},
-  {0xc849, 0x33fabcb6},
-  {0xc84a, 0x33fabcb7},
-  {0xc84b, 0x33fabcb8},
-  {0xc84c, 0x33fabcb9},
-  {0xc84d, 0x33fb80b0},
-  {0xc84e, 0x33fb80b1},
-  {0xc84f, 0x33fb80b2},
-  {0xc850, 0x33fb80b3},
-  {0xc851, 0x33fb80b4},
-  {0xc852, 0x33fb80b5},
-  {0xc853, 0x33fb80b6},
-  {0xc854, 0x33fb80b7},
-  {0xc855, 0x33fb80b8},
-  {0xc856, 0x33fb80b9},
-  {0xc857, 0x33fb84b0},
-  {0xc858, 0x33fb84b1},
-  {0xc859, 0x33fb84b2},
-  {0xc85a, 0x33fb84b3},
-  {0xc85b, 0x33fb84b4},
-  {0xc85c, 0x33fb84b5},
-  {0xc85d, 0x33fb84b6},
-  {0xc85e, 0x33fb84b7},
-  {0xc85f, 0x33fb84b8},
-  {0xc860, 0x33fb84b9},
-  {0xc861, 0x33fb88b0},
-  {0xc862, 0x33fb88b1},
-  {0xc863, 0x33fb88b2},
-  {0xc864, 0x33fb88b3},
-  {0xc865, 0x33fb88b4},
-  {0xc866, 0x33fb88b5},
-  {0xc867, 0x33fb88b6},
-  {0xc868, 0x33fb88b7},
-  {0xc869, 0x33fb88b8},
-  {0xc86a, 0x33fb88b9},
-  {0xc86b, 0x33fb8cb0},
-  {0xc86c, 0x33fb8cb1},
-  {0xc86d, 0x33fb8cb2},
-  {0xc86e, 0x33fb8cb3},
-  {0xc86f, 0x33fb8cb4},
-  {0xc870, 0x33fb8cb5},
-  {0xc871, 0x33fb8cb6},
-  {0xc872, 0x33fb8cb7},
-  {0xc873, 0x33fb8cb8},
-  {0xc874, 0x33fb8cb9},
-  {0xc875, 0x33fb90b0},
-  {0xc876, 0x33fb90b1},
-  {0xc877, 0x33fb90b2},
-  {0xc878, 0x33fb90b3},
-  {0xc879, 0x33fb90b4},
-  {0xc87a, 0x33fb90b5},
-  {0xc87b, 0x33fb90b6},
-  {0xc87c, 0x33fb90b7},
-  {0xc87d, 0x33fb90b8},
-  {0xc87e, 0x33fb90b9},
-  {0xc87f, 0x33fb94b0},
-  {0xc880, 0x33fb94b1},
-  {0xc881, 0x33fb94b2},
-  {0xc882, 0x33fb94b3},
-  {0xc883, 0x33fb94b4},
-  {0xc884, 0x33fb94b5},
-  {0xc885, 0x33fb94b6},
-  {0xc886, 0x33fb94b7},
-  {0xc887, 0x33fb94b8},
-  {0xc888, 0x33fb94b9},
-  {0xc889, 0x33fb98b0},
-  {0xc88a, 0x33fb98b1},
-  {0xc88b, 0x33fb98b2},
-  {0xc88c, 0x33fb98b3},
-  {0xc88d, 0x33fb98b4},
-  {0xc88e, 0x33fb98b5},
-  {0xc88f, 0x33fb98b6},
-  {0xc890, 0x33fb98b7},
-  {0xc891, 0x33fb98b8},
-  {0xc892, 0x33fb98b9},
-  {0xc893, 0x33fb9cb0},
-  {0xc894, 0x33fb9cb1},
-  {0xc895, 0x33fb9cb2},
-  {0xc896, 0x33fb9cb3},
-  {0xc897, 0x33fb9cb4},
-  {0xc898, 0x33fb9cb5},
-  {0xc899, 0x33fb9cb6},
-  {0xc89a, 0x33fb9cb7},
-  {0xc89b, 0x33fb9cb8},
-  {0xc89c, 0x33fb9cb9},
-  {0xc89d, 0x33fba0b0},
-  {0xc89e, 0x33fba0b1},
-  {0xc89f, 0x33fba0b2},
-  {0xc8a0, 0x33fba0b3},
-  {0xc8a1, 0x33fba0b4},
-  {0xc8a2, 0x33fba0b5},
-  {0xc8a3, 0x33fba0b6},
-  {0xc8a4, 0x33fba0b7},
-  {0xc8a5, 0x33fba0b8},
-  {0xc8a6, 0x33fba0b9},
-  {0xc8a7, 0x33fba4b0},
-  {0xc8a8, 0x33fba4b1},
-  {0xc8a9, 0x33fba4b2},
-  {0xc8aa, 0x33fba4b3},
-  {0xc8ab, 0x33fba4b4},
-  {0xc8ac, 0x33fba4b5},
-  {0xc8ad, 0x33fba4b6},
-  {0xc8ae, 0x33fba4b7},
-  {0xc8af, 0x33fba4b8},
-  {0xc8b0, 0x33fba4b9},
-  {0xc8b1, 0x33fba8b0},
-  {0xc8b2, 0x33fba8b1},
-  {0xc8b3, 0x33fba8b2},
-  {0xc8b4, 0x33fba8b3},
-  {0xc8b5, 0x33fba8b4},
-  {0xc8b6, 0x33fba8b5},
-  {0xc8b7, 0x33fba8b6},
-  {0xc8b8, 0x33fba8b7},
-  {0xc8b9, 0x33fba8b8},
-  {0xc8ba, 0x33fba8b9},
-  {0xc8bb, 0x33fbacb0},
-  {0xc8bc, 0x33fbacb1},
-  {0xc8bd, 0x33fbacb2},
-  {0xc8be, 0x33fbacb3},
-  {0xc8bf, 0x33fbacb4},
-  {0xc8c0, 0x33fbacb5},
-  {0xc8c1, 0x33fbacb6},
-  {0xc8c2, 0x33fbacb7},
-  {0xc8c3, 0x33fbacb8},
-  {0xc8c4, 0x33fbacb9},
-  {0xc8c5, 0x33fbb0b0},
-  {0xc8c6, 0x33fbb0b1},
-  {0xc8c7, 0x33fbb0b2},
-  {0xc8c8, 0x33fbb0b3},
-  {0xc8c9, 0x33fbb0b4},
-  {0xc8ca, 0x33fbb0b5},
-  {0xc8cb, 0x33fbb0b6},
-  {0xc8cc, 0x33fbb0b7},
-  {0xc8cd, 0x33fbb0b8},
-  {0xc8ce, 0x33fbb0b9},
-  {0xc8cf, 0x33fbb4b0},
-  {0xc8d0, 0x33fbb4b1},
-  {0xc8d1, 0x33fbb4b2},
-  {0xc8d2, 0x33fbb4b3},
-  {0xc8d3, 0x33fbb4b4},
-  {0xc8d4, 0x33fbb4b5},
-  {0xc8d5, 0x33fbb4b6},
-  {0xc8d6, 0x33fbb4b7},
-  {0xc8d7, 0x33fbb4b8},
-  {0xc8d8, 0x33fbb4b9},
-  {0xc8d9, 0x33fbb8b0},
-  {0xc8da, 0x33fbb8b1},
-  {0xc8db, 0x33fbb8b2},
-  {0xc8dc, 0x33fbb8b3},
-  {0xc8dd, 0x33fbb8b4},
-  {0xc8de, 0x33fbb8b5},
-  {0xc8df, 0x33fbb8b6},
-  {0xc8e0, 0x33fbb8b7},
-  {0xc8e1, 0x33fbb8b8},
-  {0xc8e2, 0x33fbb8b9},
-  {0xc8e3, 0x33fbbcb0},
-  {0xc8e4, 0x33fbbcb1},
-  {0xc8e5, 0x33fbbcb2},
-  {0xc8e6, 0x33fbbcb3},
-  {0xc8e7, 0x33fbbcb4},
-  {0xc8e8, 0x33fbbcb5},
-  {0xc8e9, 0x33fbbcb6},
-  {0xc8ea, 0x33fbbcb7},
-  {0xc8eb, 0x33fbbcb8},
-  {0xc8ec, 0x33fbbcb9},
-  {0xc8ed, 0x33fc80b0},
-  {0xc8ee, 0x33fc80b1},
-  {0xc8ef, 0x33fc80b2},
-  {0xc8f0, 0x33fc80b3},
-  {0xc8f1, 0x33fc80b4},
-  {0xc8f2, 0x33fc80b5},
-  {0xc8f3, 0x33fc80b6},
-  {0xc8f4, 0x33fc80b7},
-  {0xc8f5, 0x33fc80b8},
-  {0xc8f6, 0x33fc80b9},
-  {0xc8f7, 0x33fc84b0},
-  {0xc8f8, 0x33fc84b1},
-  {0xc8f9, 0x33fc84b2},
-  {0xc8fa, 0x33fc84b3},
-  {0xc8fb, 0x33fc84b4},
-  {0xc8fc, 0x33fc84b5},
-  {0xc8fd, 0x33fc84b6},
-  {0xc8fe, 0x33fc84b7},
-  {0xc8ff, 0x33fc84b8},
-  {0xc900, 0x33fc84b9},
-  {0xc901, 0x33fc88b0},
-  {0xc902, 0x33fc88b1},
-  {0xc903, 0x33fc88b2},
-  {0xc904, 0x33fc88b3},
-  {0xc905, 0x33fc88b4},
-  {0xc906, 0x33fc88b5},
-  {0xc907, 0x33fc88b6},
-  {0xc908, 0x33fc88b7},
-  {0xc909, 0x33fc88b8},
-  {0xc90a, 0x33fc88b9},
-  {0xc90b, 0x33fc8cb0},
-  {0xc90c, 0x33fc8cb1},
-  {0xc90d, 0x33fc8cb2},
-  {0xc90e, 0x33fc8cb3},
-  {0xc90f, 0x33fc8cb4},
-  {0xc910, 0x33fc8cb5},
-  {0xc911, 0x33fc8cb6},
-  {0xc912, 0x33fc8cb7},
-  {0xc913, 0x33fc8cb8},
-  {0xc914, 0x33fc8cb9},
-  {0xc915, 0x33fc90b0},
-  {0xc916, 0x33fc90b1},
-  {0xc917, 0x33fc90b2},
-  {0xc918, 0x33fc90b3},
-  {0xc919, 0x33fc90b4},
-  {0xc91a, 0x33fc90b5},
-  {0xc91b, 0x33fc90b6},
-  {0xc91c, 0x33fc90b7},
-  {0xc91d, 0x33fc90b8},
-  {0xc91e, 0x33fc90b9},
-  {0xc91f, 0x33fc94b0},
-  {0xc920, 0x33fc94b1},
-  {0xc921, 0x33fc94b2},
-  {0xc922, 0x33fc94b3},
-  {0xc923, 0x33fc94b4},
-  {0xc924, 0x33fc94b5},
-  {0xc925, 0x33fc94b6},
-  {0xc926, 0x33fc94b7},
-  {0xc927, 0x33fc94b8},
-  {0xc928, 0x33fc94b9},
-  {0xc929, 0x33fc98b0},
-  {0xc92a, 0x33fc98b1},
-  {0xc92b, 0x33fc98b2},
-  {0xc92c, 0x33fc98b3},
-  {0xc92d, 0x33fc98b4},
-  {0xc92e, 0x33fc98b5},
-  {0xc92f, 0x33fc98b6},
-  {0xc930, 0x33fc98b7},
-  {0xc931, 0x33fc98b8},
-  {0xc932, 0x33fc98b9},
-  {0xc933, 0x33fc9cb0},
-  {0xc934, 0x33fc9cb1},
-  {0xc935, 0x33fc9cb2},
-  {0xc936, 0x33fc9cb3},
-  {0xc937, 0x33fc9cb4},
-  {0xc938, 0x33fc9cb5},
-  {0xc939, 0x33fc9cb6},
-  {0xc93a, 0x33fc9cb7},
-  {0xc93b, 0x33fc9cb8},
-  {0xc93c, 0x33fc9cb9},
-  {0xc93d, 0x33fca0b0},
-  {0xc93e, 0x33fca0b1},
-  {0xc93f, 0x33fca0b2},
-  {0xc940, 0x33fca0b3},
-  {0xc941, 0x33fca0b4},
-  {0xc942, 0x33fca0b5},
-  {0xc943, 0x33fca0b6},
-  {0xc944, 0x33fca0b7},
-  {0xc945, 0x33fca0b8},
-  {0xc946, 0x33fca0b9},
-  {0xc947, 0x33fca4b0},
-  {0xc948, 0x33fca4b1},
-  {0xc949, 0x33fca4b2},
-  {0xc94a, 0x33fca4b3},
-  {0xc94b, 0x33fca4b4},
-  {0xc94c, 0x33fca4b5},
-  {0xc94d, 0x33fca4b6},
-  {0xc94e, 0x33fca4b7},
-  {0xc94f, 0x33fca4b8},
-  {0xc950, 0x33fca4b9},
-  {0xc951, 0x33fca8b0},
-  {0xc952, 0x33fca8b1},
-  {0xc953, 0x33fca8b2},
-  {0xc954, 0x33fca8b3},
-  {0xc955, 0x33fca8b4},
-  {0xc956, 0x33fca8b5},
-  {0xc957, 0x33fca8b6},
-  {0xc958, 0x33fca8b7},
-  {0xc959, 0x33fca8b8},
-  {0xc95a, 0x33fca8b9},
-  {0xc95b, 0x33fcacb0},
-  {0xc95c, 0x33fcacb1},
-  {0xc95d, 0x33fcacb2},
-  {0xc95e, 0x33fcacb3},
-  {0xc95f, 0x33fcacb4},
-  {0xc960, 0x33fcacb5},
-  {0xc961, 0x33fcacb6},
-  {0xc962, 0x33fcacb7},
-  {0xc963, 0x33fcacb8},
-  {0xc964, 0x33fcacb9},
-  {0xc965, 0x33fcb0b0},
-  {0xc966, 0x33fcb0b1},
-  {0xc967, 0x33fcb0b2},
-  {0xc968, 0x33fcb0b3},
-  {0xc969, 0x33fcb0b4},
-  {0xc96a, 0x33fcb0b5},
-  {0xc96b, 0x33fcb0b6},
-  {0xc96c, 0x33fcb0b7},
-  {0xc96d, 0x33fcb0b8},
-  {0xc96e, 0x33fcb0b9},
-  {0xc96f, 0x33fcb4b0},
-  {0xc970, 0x33fcb4b1},
-  {0xc971, 0x33fcb4b2},
-  {0xc972, 0x33fcb4b3},
-  {0xc973, 0x33fcb4b4},
-  {0xc974, 0x33fcb4b5},
-  {0xc975, 0x33fcb4b6},
-  {0xc976, 0x33fcb4b7},
-  {0xc977, 0x33fcb4b8},
-  {0xc978, 0x33fcb4b9},
-  {0xc979, 0x33fcb8b0},
-  {0xc97a, 0x33fcb8b1},
-  {0xc97b, 0x33fcb8b2},
-  {0xc97c, 0x33fcb8b3},
-  {0xc97d, 0x33fcb8b4},
-  {0xc97e, 0x33fcb8b5},
-  {0xc97f, 0x33fcb8b6},
-  {0xc980, 0x33fcb8b7},
-  {0xc981, 0x33fcb8b8},
-  {0xc982, 0x33fcb8b9},
-  {0xc983, 0x33fcbcb0},
-  {0xc984, 0x33fcbcb1},
-  {0xc985, 0x33fcbcb2},
-  {0xc986, 0x33fcbcb3},
-  {0xc987, 0x33fcbcb4},
-  {0xc988, 0x33fcbcb5},
-  {0xc989, 0x33fcbcb6},
-  {0xc98a, 0x33fcbcb7},
-  {0xc98b, 0x33fcbcb8},
-  {0xc98c, 0x33fcbcb9},
-  {0xc98d, 0x33fd80b0},
-  {0xc98e, 0x33fd80b1},
-  {0xc98f, 0x33fd80b2},
-  {0xc990, 0x33fd80b3},
-  {0xc991, 0x33fd80b4},
-  {0xc992, 0x33fd80b5},
-  {0xc993, 0x33fd80b6},
-  {0xc994, 0x33fd80b7},
-  {0xc995, 0x33fd80b8},
-  {0xc996, 0x33fd80b9},
-  {0xc997, 0x33fd84b0},
-  {0xc998, 0x33fd84b1},
-  {0xc999, 0x33fd84b2},
-  {0xc99a, 0x33fd84b3},
-  {0xc99b, 0x33fd84b4},
-  {0xc99c, 0x33fd84b5},
-  {0xc99d, 0x33fd84b6},
-  {0xc99e, 0x33fd84b7},
-  {0xc99f, 0x33fd84b8},
-  {0xc9a0, 0x33fd84b9},
-  {0xc9a1, 0x33fd88b0},
-  {0xc9a2, 0x33fd88b1},
-  {0xc9a3, 0x33fd88b2},
-  {0xc9a4, 0x33fd88b3},
-  {0xc9a5, 0x33fd88b4},
-  {0xc9a6, 0x33fd88b5},
-  {0xc9a7, 0x33fd88b6},
-  {0xc9a8, 0x33fd88b7},
-  {0xc9a9, 0x33fd88b8},
-  {0xc9aa, 0x33fd88b9},
-  {0xc9ab, 0x33fd8cb0},
-  {0xc9ac, 0x33fd8cb1},
-  {0xc9ad, 0x33fd8cb2},
-  {0xc9ae, 0x33fd8cb3},
-  {0xc9af, 0x33fd8cb4},
-  {0xc9b0, 0x33fd8cb5},
-  {0xc9b1, 0x33fd8cb6},
-  {0xc9b2, 0x33fd8cb7},
-  {0xc9b3, 0x33fd8cb8},
-  {0xc9b4, 0x33fd8cb9},
-  {0xc9b5, 0x33fd90b0},
-  {0xc9b6, 0x33fd90b1},
-  {0xc9b7, 0x33fd90b2},
-  {0xc9b8, 0x33fd90b3},
-  {0xc9b9, 0x33fd90b4},
-  {0xc9ba, 0x33fd90b5},
-  {0xc9bb, 0x33fd90b6},
-  {0xc9bc, 0x33fd90b7},
-  {0xc9bd, 0x33fd90b8},
-  {0xc9be, 0x33fd90b9},
-  {0xc9bf, 0x33fd94b0},
-  {0xc9c0, 0x33fd94b1},
-  {0xc9c1, 0x33fd94b2},
-  {0xc9c2, 0x33fd94b3},
-  {0xc9c3, 0x33fd94b4},
-  {0xc9c4, 0x33fd94b5},
-  {0xc9c5, 0x33fd94b6},
-  {0xc9c6, 0x33fd94b7},
-  {0xc9c7, 0x33fd94b8},
-  {0xc9c8, 0x33fd94b9},
-  {0xc9c9, 0x33fd98b0},
-  {0xc9ca, 0x33fd98b1},
-  {0xc9cb, 0x33fd98b2},
-  {0xc9cc, 0x33fd98b3},
-  {0xc9cd, 0x33fd98b4},
-  {0xc9ce, 0x33fd98b5},
-  {0xc9cf, 0x33fd98b6},
-  {0xc9d0, 0x33fd98b7},
-  {0xc9d1, 0x33fd98b8},
-  {0xc9d2, 0x33fd98b9},
-  {0xc9d3, 0x33fd9cb0},
-  {0xc9d4, 0x33fd9cb1},
-  {0xc9d5, 0x33fd9cb2},
-  {0xc9d6, 0x33fd9cb3},
-  {0xc9d7, 0x33fd9cb4},
-  {0xc9d8, 0x33fd9cb5},
-  {0xc9d9, 0x33fd9cb6},
-  {0xc9da, 0x33fd9cb7},
-  {0xc9db, 0x33fd9cb8},
-  {0xc9dc, 0x33fd9cb9},
-  {0xc9dd, 0x33fda0b0},
-  {0xc9de, 0x33fda0b1},
-  {0xc9df, 0x33fda0b2},
-  {0xc9e0, 0x33fda0b3},
-  {0xc9e1, 0x33fda0b4},
-  {0xc9e2, 0x33fda0b5},
-  {0xc9e3, 0x33fda0b6},
-  {0xc9e4, 0x33fda0b7},
-  {0xc9e5, 0x33fda0b8},
-  {0xc9e6, 0x33fda0b9},
-  {0xc9e7, 0x33fda4b0},
-  {0xc9e8, 0x33fda4b1},
-  {0xc9e9, 0x33fda4b2},
-  {0xc9ea, 0x33fda4b3},
-  {0xc9eb, 0x33fda4b4},
-  {0xc9ec, 0x33fda4b5},
-  {0xc9ed, 0x33fda4b6},
-  {0xc9ee, 0x33fda4b7},
-  {0xc9ef, 0x33fda4b8},
-  {0xc9f0, 0x33fda4b9},
-  {0xc9f1, 0x33fda8b0},
-  {0xc9f2, 0x33fda8b1},
-  {0xc9f3, 0x33fda8b2},
-  {0xc9f4, 0x33fda8b3},
-  {0xc9f5, 0x33fda8b4},
-  {0xc9f6, 0x33fda8b5},
-  {0xc9f7, 0x33fda8b6},
-  {0xc9f8, 0x33fda8b7},
-  {0xc9f9, 0x33fda8b8},
-  {0xc9fa, 0x33fda8b9},
-  {0xc9fb, 0x33fdacb0},
-  {0xc9fc, 0x33fdacb1},
-  {0xc9fd, 0x33fdacb2},
-  {0xc9fe, 0x33fdacb3},
-  {0xc9ff, 0x33fdacb4},
-  {0xca00, 0x33fdacb5},
-  {0xca01, 0x33fdacb6},
-  {0xca02, 0x33fdacb7},
-  {0xca03, 0x33fdacb8},
-  {0xca04, 0x33fdacb9},
-  {0xca05, 0x33fdb0b0},
-  {0xca06, 0x33fdb0b1},
-  {0xca07, 0x33fdb0b2},
-  {0xca08, 0x33fdb0b3},
-  {0xca09, 0x33fdb0b4},
-  {0xca0a, 0x33fdb0b5},
-  {0xca0b, 0x33fdb0b6},
-  {0xca0c, 0x33fdb0b7},
-  {0xca0d, 0x33fdb0b8},
-  {0xca0e, 0x33fdb0b9},
-  {0xca0f, 0x33fdb4b0},
-  {0xca10, 0x33fdb4b1},
-  {0xca11, 0x33fdb4b2},
-  {0xca12, 0x33fdb4b3},
-  {0xca13, 0x33fdb4b4},
-  {0xca14, 0x33fdb4b5},
-  {0xca15, 0x33fdb4b6},
-  {0xca16, 0x33fdb4b7},
-  {0xca17, 0x33fdb4b8},
-  {0xca18, 0x33fdb4b9},
-  {0xca19, 0x33fdb8b0},
-  {0xca1a, 0x33fdb8b1},
-  {0xca1b, 0x33fdb8b2},
-  {0xca1c, 0x33fdb8b3},
-  {0xca1d, 0x33fdb8b4},
-  {0xca1e, 0x33fdb8b5},
-  {0xca1f, 0x33fdb8b6},
-  {0xca20, 0x33fdb8b7},
-  {0xca21, 0x33fdb8b8},
-  {0xca22, 0x33fdb8b9},
-  {0xca23, 0x33fdbcb0},
-  {0xca24, 0x33fdbcb1},
-  {0xca25, 0x33fdbcb2},
-  {0xca26, 0x33fdbcb3},
-  {0xca27, 0x33fdbcb4},
-  {0xca28, 0x33fdbcb5},
-  {0xca29, 0x33fdbcb6},
-  {0xca2a, 0x33fdbcb7},
-  {0xca2b, 0x33fdbcb8},
-  {0xca2c, 0x33fdbcb9},
-  {0xca2d, 0x33fe80b0},
-  {0xca2e, 0x33fe80b1},
-  {0xca2f, 0x33fe80b2},
-  {0xca30, 0x33fe80b3},
-  {0xca31, 0x33fe80b4},
-  {0xca32, 0x33fe80b5},
-  {0xca33, 0x33fe80b6},
-  {0xca34, 0x33fe80b7},
-  {0xca35, 0x33fe80b8},
-  {0xca36, 0x33fe80b9},
-  {0xca37, 0x33fe84b0},
-  {0xca38, 0x33fe84b1},
-  {0xca39, 0x33fe84b2},
-  {0xca3a, 0x33fe84b3},
-  {0xca3b, 0x33fe84b4},
-  {0xca3c, 0x33fe84b5},
-  {0xca3d, 0x33fe84b6},
-  {0xca3e, 0x33fe84b7},
-  {0xca3f, 0x33fe84b8},
-  {0xca40, 0x33fe84b9},
-  {0xca41, 0x33fe88b0},
-  {0xca42, 0x33fe88b1},
-  {0xca43, 0x33fe88b2},
-  {0xca44, 0x33fe88b3},
-  {0xca45, 0x33fe88b4},
-  {0xca46, 0x33fe88b5},
-  {0xca47, 0x33fe88b6},
-  {0xca48, 0x33fe88b7},
-  {0xca49, 0x33fe88b8},
-  {0xca4a, 0x33fe88b9},
-  {0xca4b, 0x33fe8cb0},
-  {0xca4c, 0x33fe8cb1},
-  {0xca4d, 0x33fe8cb2},
-  {0xca4e, 0x33fe8cb3},
-  {0xca4f, 0x33fe8cb4},
-  {0xca50, 0x33fe8cb5},
-  {0xca51, 0x33fe8cb6},
-  {0xca52, 0x33fe8cb7},
-  {0xca53, 0x33fe8cb8},
-  {0xca54, 0x33fe8cb9},
-  {0xca55, 0x33fe90b0},
-  {0xca56, 0x33fe90b1},
-  {0xca57, 0x33fe90b2},
-  {0xca58, 0x33fe90b3},
-  {0xca59, 0x33fe90b4},
-  {0xca5a, 0x33fe90b5},
-  {0xca5b, 0x33fe90b6},
-  {0xca5c, 0x33fe90b7},
-  {0xca5d, 0x33fe90b8},
-  {0xca5e, 0x33fe90b9},
-  {0xca5f, 0x33fe94b0},
-  {0xca60, 0x33fe94b1},
-  {0xca61, 0x33fe94b2},
-  {0xca62, 0x33fe94b3},
-  {0xca63, 0x33fe94b4},
-  {0xca64, 0x33fe94b5},
-  {0xca65, 0x33fe94b6},
-  {0xca66, 0x33fe94b7},
-  {0xca67, 0x33fe94b8},
-  {0xca68, 0x33fe94b9},
-  {0xca69, 0x33fe98b0},
-  {0xca6a, 0x33fe98b1},
-  {0xca6b, 0x33fe98b2},
-  {0xca6c, 0x33fe98b3},
-  {0xca6d, 0x33fe98b4},
-  {0xca6e, 0x33fe98b5},
-  {0xca6f, 0x33fe98b6},
-  {0xca70, 0x33fe98b7},
-  {0xca71, 0x33fe98b8},
-  {0xca72, 0x33fe98b9},
-  {0xca73, 0x33fe9cb0},
-  {0xca74, 0x33fe9cb1},
-  {0xca75, 0x33fe9cb2},
-  {0xca76, 0x33fe9cb3},
-  {0xca77, 0x33fe9cb4},
-  {0xca78, 0x33fe9cb5},
-  {0xca79, 0x33fe9cb6},
-  {0xca7a, 0x33fe9cb7},
-  {0xca7b, 0x33fe9cb8},
-  {0xca7c, 0x33fe9cb9},
-  {0xca7d, 0x33fea0b0},
-  {0xca7e, 0x33fea0b1},
-  {0xca7f, 0x33fea0b2},
-  {0xca80, 0x33fea0b3},
-  {0xca81, 0x33fea0b4},
-  {0xca82, 0x33fea0b5},
-  {0xca83, 0x33fea0b6},
-  {0xca84, 0x33fea0b7},
-  {0xca85, 0x33fea0b8},
-  {0xca86, 0x33fea0b9},
-  {0xca87, 0x33fea4b0},
-  {0xca88, 0x33fea4b1},
-  {0xca89, 0x33fea4b2},
-  {0xca8a, 0x33fea4b3},
-  {0xca8b, 0x33fea4b4},
-  {0xca8c, 0x33fea4b5},
-  {0xca8d, 0x33fea4b6},
-  {0xca8e, 0x33fea4b7},
-  {0xca8f, 0x33fea4b8},
-  {0xca90, 0x33fea4b9},
-  {0xca91, 0x33fea8b0},
-  {0xca92, 0x33fea8b1},
-  {0xca93, 0x33fea8b2},
-  {0xca94, 0x33fea8b3},
-  {0xca95, 0x33fea8b4},
-  {0xca96, 0x33fea8b5},
-  {0xca97, 0x33fea8b6},
-  {0xca98, 0x33fea8b7},
-  {0xca99, 0x33fea8b8},
-  {0xca9a, 0x33fea8b9},
-  {0xca9b, 0x33feacb0},
-  {0xca9c, 0x33feacb1},
-  {0xca9d, 0x33feacb2},
-  {0xca9e, 0x33feacb3},
-  {0xca9f, 0x33feacb4},
-  {0xcaa0, 0x33feacb5},
-  {0xcaa1, 0x33feacb6},
-  {0xcaa2, 0x33feacb7},
-  {0xcaa3, 0x33feacb8},
-  {0xcaa4, 0x33feacb9},
-  {0xcaa5, 0x33feb0b0},
-  {0xcaa6, 0x33feb0b1},
-  {0xcaa7, 0x33feb0b2},
-  {0xcaa8, 0x33feb0b3},
-  {0xcaa9, 0x33feb0b4},
-  {0xcaaa, 0x33feb0b5},
-  {0xcaab, 0x33feb0b6},
-  {0xcaac, 0x33feb0b7},
-  {0xcaad, 0x33feb0b8},
-  {0xcaae, 0x33feb0b9},
-  {0xcaaf, 0x33feb4b0},
-  {0xcab0, 0x33feb4b1},
-  {0xcab1, 0x33feb4b2},
-  {0xcab2, 0x33feb4b3},
-  {0xcab3, 0x33feb4b4},
-  {0xcab4, 0x33feb4b5},
-  {0xcab5, 0x33feb4b6},
-  {0xcab6, 0x33feb4b7},
-  {0xcab7, 0x33feb4b8},
-  {0xcab8, 0x33feb4b9},
-  {0xcab9, 0x33feb8b0},
-  {0xcaba, 0x33feb8b1},
-  {0xcabb, 0x33feb8b2},
-  {0xcabc, 0x33feb8b3},
-  {0xcabd, 0x33feb8b4},
-  {0xcabe, 0x33feb8b5},
-  {0xcabf, 0x33feb8b6},
-  {0xcac0, 0x33feb8b7},
-  {0xcac1, 0x33feb8b8},
-  {0xcac2, 0x33feb8b9},
-  {0xcac3, 0x33febcb0},
-  {0xcac4, 0x33febcb1},
-  {0xcac5, 0x33febcb2},
-  {0xcac6, 0x33febcb3},
-  {0xcac7, 0x33febcb4},
-  {0xcac8, 0x33febcb5},
-  {0xcac9, 0x33febcb6},
-  {0xcaca, 0x33febcb7},
-  {0xcacb, 0x33febcb8},
-  {0xcacc, 0x33febcb9},
-  {0xcacd, 0x33ff80b0},
-  {0xcace, 0x33ff80b1},
-  {0xcacf, 0x33ff80b2},
-  {0xcad0, 0x33ff80b3},
-  {0xcad1, 0x33ff80b4},
-  {0xcad2, 0x33ff80b5},
-  {0xcad3, 0x33ff80b6},
-  {0xcad4, 0x33ff80b7},
-  {0xcad5, 0x33ff80b8},
-  {0xcad6, 0x33ff80b9},
-  {0xcad7, 0x33ff84b0},
-  {0xcad8, 0x33ff84b1},
-  {0xcad9, 0x33ff84b2},
-  {0xcada, 0x33ff84b3},
-  {0xcadb, 0x33ff84b4},
-  {0xcadc, 0x33ff84b5},
-  {0xcadd, 0x33ff84b6},
-  {0xcade, 0x33ff84b7},
-  {0xcadf, 0x33ff84b8},
-  {0xcae0, 0x33ff84b9},
-  {0xcae1, 0x33ff88b0},
-  {0xcae2, 0x33ff88b1},
-  {0xcae3, 0x33ff88b2},
-  {0xcae4, 0x33ff88b3},
-  {0xcae5, 0x33ff88b4},
-  {0xcae6, 0x33ff88b5},
-  {0xcae7, 0x33ff88b6},
-  {0xcae8, 0x33ff88b7},
-  {0xcae9, 0x33ff88b8},
-  {0xcaea, 0x33ff88b9},
-  {0xcaeb, 0x33ff8cb0},
-  {0xcaec, 0x33ff8cb1},
-  {0xcaed, 0x33ff8cb2},
-  {0xcaee, 0x33ff8cb3},
-  {0xcaef, 0x33ff8cb4},
-  {0xcaf0, 0x33ff8cb5},
-  {0xcaf1, 0x33ff8cb6},
-  {0xcaf2, 0x33ff8cb7},
-  {0xcaf3, 0x33ff8cb8},
-  {0xcaf4, 0x33ff8cb9},
-  {0xcaf5, 0x33ff90b0},
-  {0xcaf6, 0x33ff90b1},
-  {0xcaf7, 0x33ff90b2},
-  {0xcaf8, 0x33ff90b3},
-  {0xcaf9, 0x33ff90b4},
-  {0xcafa, 0x33ff90b5},
-  {0xcafb, 0x33ff90b6},
-  {0xcafc, 0x33ff90b7},
-  {0xcafd, 0x33ff90b8},
-  {0xcafe, 0x33ff90b9},
-  {0xcaff, 0x33ff94b0},
-  {0xcb00, 0x33ff94b1},
-  {0xcb01, 0x33ff94b2},
-  {0xcb02, 0x33ff94b3},
-  {0xcb03, 0x33ff94b4},
-  {0xcb04, 0x33ff94b5},
-  {0xcb05, 0x33ff94b6},
-  {0xcb06, 0x33ff94b7},
-  {0xcb07, 0x33ff94b8},
-  {0xcb08, 0x33ff94b9},
-  {0xcb09, 0x33ff98b0},
-  {0xcb0a, 0x33ff98b1},
-  {0xcb0b, 0x33ff98b2},
-  {0xcb0c, 0x33ff98b3},
-  {0xcb0d, 0x33ff98b4},
-  {0xcb0e, 0x33ff98b5},
-  {0xcb0f, 0x33ff98b6},
-  {0xcb10, 0x33ff98b7},
-  {0xcb11, 0x33ff98b8},
-  {0xcb12, 0x33ff98b9},
-  {0xcb13, 0x33ff9cb0},
-  {0xcb14, 0x33ff9cb1},
-  {0xcb15, 0x33ff9cb2},
-  {0xcb16, 0x33ff9cb3},
-  {0xcb17, 0x33ff9cb4},
-  {0xcb18, 0x33ff9cb5},
-  {0xcb19, 0x33ff9cb6},
-  {0xcb1a, 0x33ff9cb7},
-  {0xcb1b, 0x33ff9cb8},
-  {0xcb1c, 0x33ff9cb9},
-  {0xcb1d, 0x33ffa0b0},
-  {0xcb1e, 0x33ffa0b1},
-  {0xcb1f, 0x33ffa0b2},
-  {0xcb20, 0x33ffa0b3},
-  {0xcb21, 0x33ffa0b4},
-  {0xcb22, 0x33ffa0b5},
-  {0xcb23, 0x33ffa0b6},
-  {0xcb24, 0x33ffa0b7},
-  {0xcb25, 0x33ffa0b8},
-  {0xcb26, 0x33ffa0b9},
-  {0xcb27, 0x33ffa4b0},
-  {0xcb28, 0x33ffa4b1},
-  {0xcb29, 0x33ffa4b2},
-  {0xcb2a, 0x33ffa4b3},
-  {0xcb2b, 0x33ffa4b4},
-  {0xcb2c, 0x33ffa4b5},
-  {0xcb2d, 0x33ffa4b6},
-  {0xcb2e, 0x33ffa4b7},
-  {0xcb2f, 0x33ffa4b8},
-  {0xcb30, 0x33ffa4b9},
-  {0xcb31, 0x33ffa8b0},
-  {0xcb32, 0x33ffa8b1},
-  {0xcb33, 0x33ffa8b2},
-  {0xcb34, 0x33ffa8b3},
-  {0xcb35, 0x33ffa8b4},
-  {0xcb36, 0x33ffa8b5},
-  {0xcb37, 0x33ffa8b6},
-  {0xcb38, 0x33ffa8b7},
-  {0xcb39, 0x33ffa8b8},
-  {0xcb3a, 0x33ffa8b9},
-  {0xcb3b, 0x33ffacb0},
-  {0xcb3c, 0x33ffacb1},
-  {0xcb3d, 0x33ffacb2},
-  {0xcb3e, 0x33ffacb3},
-  {0xcb3f, 0x33ffacb4},
-  {0xcb40, 0x33ffacb5},
-  {0xcb41, 0x33ffacb6},
-  {0xcb42, 0x33ffacb7},
-  {0xcb43, 0x33ffacb8},
-  {0xcb44, 0x33ffacb9},
-  {0xcb45, 0x33ffb0b0},
-  {0xcb46, 0x33ffb0b1},
-  {0xcb47, 0x33ffb0b2},
-  {0xcb48, 0x33ffb0b3},
-  {0xcb49, 0x33ffb0b4},
-  {0xcb4a, 0x33ffb0b5},
-  {0xcb4b, 0x33ffb0b6},
-  {0xcb4c, 0x33ffb0b7},
-  {0xcb4d, 0x33ffb0b8},
-  {0xcb4e, 0x33ffb0b9},
-  {0xcb4f, 0x33ffb4b0},
-  {0xcb50, 0x33ffb4b1},
-  {0xcb51, 0x33ffb4b2},
-  {0xcb52, 0x33ffb4b3},
-  {0xcb53, 0x33ffb4b4},
-  {0xcb54, 0x33ffb4b5},
-  {0xcb55, 0x33ffb4b6},
-  {0xcb56, 0x33ffb4b7},
-  {0xcb57, 0x33ffb4b8},
-  {0xcb58, 0x33ffb4b9},
-  {0xcb59, 0x33ffb8b0},
-  {0xcb5a, 0x33ffb8b1},
-  {0xcb5b, 0x33ffb8b2},
-  {0xcb5c, 0x33ffb8b3},
-  {0xcb5d, 0x33ffb8b4},
-  {0xcb5e, 0x33ffb8b5},
-  {0xcb5f, 0x33ffb8b6},
-  {0xcb60, 0x33ffb8b7},
-  {0xcb61, 0x33ffb8b8},
-  {0xcb62, 0x33ffb8b9},
-  {0xcb63, 0x33e884b0},
-  {0xcb64, 0x33e884b1},
-  {0xcb65, 0x33e884b2},
-  {0xcb66, 0x33e884b3},
-  {0xcb67, 0x33e884b4},
-  {0xcb68, 0x33e884b5},
-  {0xcb69, 0x33e884b6},
-  {0xcb6a, 0x33e884b7},
-  {0xcb6b, 0x33e884b8},
-  {0xcb6c, 0x33e884b9},
-  {0xcb6d, 0x33e888b0},
-  {0xcb6e, 0x33e888b1},
-  {0xcb6f, 0x33e888b2},
-  {0xcb70, 0x33e888b3},
-  {0xcb71, 0x33e888b4},
-  {0xcb72, 0x33e888b5},
-  {0xcb73, 0x33e888b6},
-  {0xcb74, 0x33e888b7},
-  {0xcb75, 0x33e888b8},
-  {0xcb76, 0x33e888b9},
-  {0xcb77, 0x33e88cb0},
-  {0xcb78, 0x33e88cb1},
-  {0xcb79, 0x33e88cb2},
-  {0xcb7a, 0x33e88cb3},
-  {0xcb7b, 0x33e88cb4},
-  {0xcb7c, 0x33e88cb5},
-  {0xcb7d, 0x33e88cb6},
-  {0xcb7e, 0x33e88cb7},
-  {0xcb7f, 0x33e88cb8},
-  {0xcb80, 0x33e88cb9},
-  {0xcb81, 0x33e890b0},
-  {0xcb82, 0x33e890b1},
-  {0xcb83, 0x33e890b2},
-  {0xcb84, 0x33e890b3},
-  {0xcb85, 0x33e890b4},
-  {0xcb86, 0x33e890b5},
-  {0xcb87, 0x33e890b6},
-  {0xcb88, 0x33e890b7},
-  {0xcb89, 0x33e890b8},
-  {0xcb8a, 0x33e890b9},
-  {0xcb8b, 0x33e894b0},
-  {0xcb8c, 0x33e894b1},
-  {0xcb8d, 0x33e894b2},
-  {0xcb8e, 0x33e894b3},
-  {0xcb8f, 0x33e894b4},
-  {0xcb90, 0x33e894b5},
-  {0xcb91, 0x33e894b6},
-  {0xcb92, 0x33e894b7},
-  {0xcb93, 0x33e894b8},
-  {0xcb94, 0x33e894b9},
-  {0xcb95, 0x33e898b0},
-  {0xcb96, 0x33e898b1},
-  {0xcb97, 0x33e898b2},
-  {0xcb98, 0x33e898b3},
-  {0xcb99, 0x33e898b4},
-  {0xcb9a, 0x33e898b5},
-  {0xcb9b, 0x33e898b6},
-  {0xcb9c, 0x33e898b7},
-  {0xcb9d, 0x33e898b8},
-  {0xcb9e, 0x33e898b9},
-  {0xcb9f, 0x33e89cb0},
-  {0xcba0, 0x33e89cb1},
-  {0xcba1, 0x33e89cb2},
-  {0xcba2, 0x33e89cb3},
-  {0xcba3, 0x33e89cb4},
-  {0xcba4, 0x33e89cb5},
-  {0xcba5, 0x33e89cb6},
-  {0xcba6, 0x33e89cb7},
-  {0xcba7, 0x33e89cb8},
-  {0xcba8, 0x33e89cb9},
-  {0xcba9, 0x33e8a0b0},
-  {0xcbaa, 0x33e8a0b1},
-  {0xcbab, 0x33e8a0b2},
-  {0xcbac, 0x33e8a0b3},
-  {0xcbad, 0x33e8a0b4},
-  {0xcbae, 0x33e8a0b5},
-  {0xcbaf, 0x33e8a0b6},
-  {0xcbb0, 0x33e8a0b7},
-  {0xcbb1, 0x33e8a0b8},
-  {0xcbb2, 0x33e8a0b9},
-  {0xcbb3, 0x33e8a4b0},
-  {0xcbb4, 0x33e8a4b1},
-  {0xcbb5, 0x33e8a4b2},
-  {0xcbb6, 0x33e8a4b3},
-  {0xcbb7, 0x33e8a4b4},
-  {0xcbb8, 0x33e8a4b5},
-  {0xcbb9, 0x33e8a4b6},
-  {0xcbba, 0x33e8a4b7},
-  {0xcbbb, 0x33e8a4b8},
-  {0xcbbc, 0x33e8a4b9},
-  {0xcbbd, 0x33e8a8b0},
-  {0xcbbe, 0x33e8a8b1},
-  {0xcbbf, 0x33e8a8b2},
-  {0xcbc0, 0x33e8a8b3},
-  {0xcbc1, 0x33e8a8b4},
-  {0xcbc2, 0x33e8a8b5},
-  {0xcbc3, 0x33e8a8b6},
-  {0xcbc4, 0x33e8a8b7},
-  {0xcbc5, 0x33e8a8b8},
-  {0xcbc6, 0x33e8a8b9},
-  {0xcbc7, 0x33e8acb0},
-  {0xcbc8, 0x33e8acb1},
-  {0xcbc9, 0x33e8acb2},
-  {0xcbca, 0x33e8acb3},
-  {0xcbcb, 0x33e8acb4},
-  {0xcbcc, 0x33e8acb5},
-  {0xcbcd, 0x33e8acb6},
-  {0xcbce, 0x33e8acb7},
-  {0xcbcf, 0x33e8acb8},
-  {0xcbd0, 0x33e8acb9},
-  {0xcbd1, 0x33e8b0b0},
-  {0xcbd2, 0x33e8b0b1},
-  {0xcbd3, 0x33e8b0b2},
-  {0xcbd4, 0x33e8b0b3},
-  {0xcbd5, 0x33e8b0b4},
-  {0xcbd6, 0x33e8b0b5},
-  {0xcbd7, 0x33e8b0b6},
-  {0xcbd8, 0x33e8b0b7},
-  {0xcbd9, 0x33e8b0b8},
-  {0xcbda, 0x33e8b0b9},
-  {0xcbdb, 0x33e8b4b0},
-  {0xcbdc, 0x33e8b4b1},
-  {0xcbdd, 0x33e8b4b2},
-  {0xcbde, 0x33e8b4b3},
-  {0xcbdf, 0x33e8b4b4},
-  {0xcbe0, 0x33e8b4b5},
-  {0xcbe1, 0x33e8b4b6},
-  {0xcbe2, 0x33e8b4b7},
-  {0xcbe3, 0x33e8b4b8},
-  {0xcbe4, 0x33e8b4b9},
-  {0xcbe5, 0x33e8b8b0},
-  {0xcbe6, 0x33e8b8b1},
-  {0xcbe7, 0x33e8b8b2},
-  {0xcbe8, 0x33e8b8b3},
-  {0xcbe9, 0x33e8b8b4},
-  {0xcbea, 0x33e8b8b5},
-  {0xcbeb, 0x33e8b8b6},
-  {0xcbec, 0x33e8b8b7},
-  {0xcbed, 0x33e8b8b8},
-  {0xcbee, 0x33e8b8b9},
-  {0xcbef, 0x33e8bcb0},
-  {0xcbf0, 0x33e8bcb1},
-  {0xcbf1, 0x33e8bcb2},
-  {0xcbf2, 0x33e8bcb3},
-  {0xcbf3, 0x33e8bcb4},
-  {0xcbf4, 0x33e8bcb5},
-  {0xcbf5, 0x33e8bcb6},
-  {0xcbf6, 0x33e8bcb7},
-  {0xcbf7, 0x33e8bcb8},
-  {0xcbf8, 0x33e8bcb9},
-  {0xcbf9, 0x33e980b0},
-  {0xcbfa, 0x33e980b1},
-  {0xcbfb, 0x33e980b2},
-  {0xcbfc, 0x33e980b3},
-  {0xcbfd, 0x33e980b4},
-  {0xcbfe, 0x33e980b5},
-  {0xcbff, 0x33e980b6},
-  {0xcc00, 0x33e980b7},
-  {0xcc01, 0x33e980b8},
-  {0xcc02, 0x33e980b9},
-  {0xcc03, 0x33e984b0},
-  {0xcc04, 0x33e984b1},
-  {0xcc05, 0x33e984b2},
-  {0xcc06, 0x33e984b3},
-  {0xcc07, 0x33e984b4},
-  {0xcc08, 0x33e984b5},
-  {0xcc09, 0x33e984b6},
-  {0xcc0a, 0x33e984b7},
-  {0xcc0b, 0x33e984b8},
-  {0xcc0c, 0x33e984b9},
-  {0xcc0d, 0x33e988b0},
-  {0xcc0e, 0x33e988b1},
-  {0xcc0f, 0x33e988b2},
-  {0xcc10, 0x33e988b3},
-  {0xcc11, 0x33e988b4},
-  {0xcc12, 0x33e988b5},
-  {0xcc13, 0x33e988b6},
-  {0xcc14, 0x33e988b7},
-  {0xcc15, 0x33e988b8},
-  {0xcc16, 0x33e988b9},
-  {0xcc17, 0x33e98cb0},
-  {0xcc18, 0x33e98cb1},
-  {0xcc19, 0x33e98cb2},
-  {0xcc1a, 0x33e98cb3},
-  {0xcc1b, 0x33e98cb4},
-  {0xcc1c, 0x33e98cb5},
-  {0xcc1d, 0x33e98cb6},
-  {0xcc1e, 0x33e98cb7},
-  {0xcc1f, 0x33e98cb8},
-  {0xcc20, 0x33e98cb9},
-  {0xcc21, 0x33e990b0},
-  {0xcc22, 0x33e990b1},
-  {0xcc23, 0x33e990b2},
-  {0xcc24, 0x33e990b3},
-  {0xcc25, 0x33e990b4},
-  {0xcc26, 0x33e990b5},
-  {0xcc27, 0x33e990b6},
-  {0xcc28, 0x33e990b7},
-  {0xcc29, 0x33e990b8},
-  {0xcc2a, 0x33e990b9},
-  {0xcc2b, 0x33e994b0},
-  {0xcc2c, 0x33e994b1},
-  {0xcc2d, 0x33e994b2},
-  {0xcc2e, 0x33e994b3},
-  {0xcc2f, 0x33e994b4},
-  {0xcc30, 0x33e994b5},
-  {0xcc31, 0x33e994b6},
-  {0xcc32, 0x33e994b7},
-  {0xcc33, 0x33e994b8},
-  {0xcc34, 0x33e994b9},
-  {0xcc35, 0x33e998b0},
-  {0xcc36, 0x33e998b1},
-  {0xcc37, 0x33e998b2},
-  {0xcc38, 0x33e998b3},
-  {0xcc39, 0x33e998b4},
-  {0xcc3a, 0x33e998b5},
-  {0xcc3b, 0x33e998b6},
-  {0xcc3c, 0x33e998b7},
-  {0xcc3d, 0x33e998b8},
-  {0xcc3e, 0x33e998b9},
-  {0xcc3f, 0x33e99cb0},
-  {0xcc40, 0x33e99cb1},
-  {0xcc41, 0x33e99cb2},
-  {0xcc42, 0x33e99cb3},
-  {0xcc43, 0x33e99cb4},
-  {0xcc44, 0x33e99cb5},
-  {0xcc45, 0x33e99cb6},
-  {0xcc46, 0x33e99cb7},
-  {0xcc47, 0x33e99cb8},
-  {0xcc48, 0x33e99cb9},
-  {0xcc49, 0x33e9a0b0},
-  {0xcc4a, 0x33e9a0b1},
-  {0xcc4b, 0x33e9a0b2},
-  {0xcc4c, 0x33e9a0b3},
-  {0xcc4d, 0x33e9a0b4},
-  {0xcc4e, 0x33e9a0b5},
-  {0xcc4f, 0x33e9a0b6},
-  {0xcc50, 0x33e9a0b7},
-  {0xcc51, 0x33e9a0b8},
-  {0xcc52, 0x33e9a0b9},
-  {0xcc53, 0x33e9a4b0},
-  {0xcc54, 0x33e9a4b1},
-  {0xcc55, 0x33e9a4b2},
-  {0xcc56, 0x33e9a4b3},
-  {0xcc57, 0x33e9a4b4},
-  {0xcc58, 0x33e9a4b5},
-  {0xcc59, 0x33e9a4b6},
-  {0xcc5a, 0x33e9a4b7},
-  {0xcc5b, 0x33e9a4b8},
-  {0xcc5c, 0x33e9a4b9},
-  {0xcc5d, 0x33e9a8b0},
-  {0xcc5e, 0x33e9a8b1},
-  {0xcc5f, 0x33e9a8b2},
-  {0xcc60, 0x33e9a8b3},
-  {0xcc61, 0x33e9a8b4},
-  {0xcc62, 0x33e9a8b5},
-  {0xcc63, 0x33e9a8b6},
-  {0xcc64, 0x33e9a8b7},
-  {0xcc65, 0x33e9a8b8},
-  {0xcc66, 0x33e9a8b9},
-  {0xcc67, 0x33e9acb0},
-  {0xcc68, 0x33e9acb1},
-  {0xcc69, 0x33e9acb2},
-  {0xcc6a, 0x33e9acb3},
-  {0xcc6b, 0x33e9acb4},
-  {0xcc6c, 0x33e9acb5},
-  {0xcc6d, 0x33e9acb6},
-  {0xcc6e, 0x33e9acb7},
-  {0xcc6f, 0x33e9acb8},
-  {0xcc70, 0x33e9acb9},
-  {0xcc71, 0x33e9b0b0},
-  {0xcc72, 0x33e9b0b1},
-  {0xcc73, 0x33e9b0b2},
-  {0xcc74, 0x33e9b0b3},
-  {0xcc75, 0x33e9b0b4},
-  {0xcc76, 0x33e9b0b5},
-  {0xcc77, 0x33e9b0b6},
-  {0xcc78, 0x33e9b0b7},
-  {0xcc79, 0x33e9b0b8},
-  {0xcc7a, 0x33e9b0b9},
-  {0xcc7b, 0x33e9b4b0},
-  {0xcc7c, 0x33e9b4b1},
-  {0xcc7d, 0x33e9b4b2},
-  {0xcc7e, 0x33e9b4b3},
-  {0xcc7f, 0x33e9b4b4},
-  {0xcc80, 0x33e9b4b5},
-  {0xcc81, 0x33e9b4b6},
-  {0xcc82, 0x33e9b4b7},
-  {0xcc83, 0x33e9b4b8},
-  {0xcc84, 0x33e9b4b9},
-  {0xcc85, 0x33e9b8b0},
-  {0xcc86, 0x33e9b8b1},
-  {0xcc87, 0x33e9b8b2},
-  {0xcc88, 0x33e9b8b3},
-  {0xcc89, 0x33e9b8b4},
-  {0xcc8a, 0x33e9b8b5},
-  {0xcc8b, 0x33e9b8b6},
-  {0xcc8c, 0x33e9b8b7},
-  {0xcc8d, 0x33e9b8b8},
-  {0xcc8e, 0x33e9b8b9},
-  {0xcc8f, 0x33e9bcb0},
-  {0xcc90, 0x33e9bcb1},
-  {0xcc91, 0x33e9bcb2},
-  {0xcc92, 0x33e9bcb3},
-  {0xcc93, 0x33e9bcb4},
-  {0xcc94, 0x33e9bcb5},
-  {0xcc95, 0x33e9bcb6},
-  {0xcc96, 0x33e9bcb7},
-  {0xcc97, 0x33e9bcb8},
-  {0xcc98, 0x33e9bcb9},
-  {0xcc99, 0x33ea80b0},
-  {0xcc9a, 0x33ea80b1},
-  {0xcc9b, 0x33ea80b2},
-  {0xcc9c, 0x33ea80b3},
-  {0xcc9d, 0x33ea80b4},
-  {0xcc9e, 0x33ea80b5},
-  {0xcc9f, 0x33ea80b6},
-  {0xcca0, 0x33ea80b7},
-  {0xcca1, 0x33ea80b8},
-  {0xcca2, 0x33ea80b9},
-  {0xcca3, 0x33ea84b0},
-  {0xcca4, 0x33ea84b1},
-  {0xcca5, 0x33ea84b2},
-  {0xcca6, 0x33ea84b3},
-  {0xcca7, 0x33ea84b4},
-  {0xcca8, 0x33ea84b5},
-  {0xcca9, 0x33ea84b6},
-  {0xccaa, 0x33ea84b7},
-  {0xccab, 0x33ea84b8},
-  {0xccac, 0x33ea84b9},
-  {0xccad, 0x33ea88b0},
-  {0xccae, 0x33ea88b1},
-  {0xccaf, 0x33ea88b2},
-  {0xccb0, 0x33ea88b3},
-  {0xccb1, 0x33ea88b4},
-  {0xccb2, 0x33ea88b5},
-  {0xccb3, 0x33ea88b6},
-  {0xccb4, 0x33ea88b7},
-  {0xccb5, 0x33ea88b8},
-  {0xccb6, 0x33ea88b9},
-  {0xccb7, 0x33ea8cb0},
-  {0xccb8, 0x33ea8cb1},
-  {0xccb9, 0x33ea8cb2},
-  {0xccba, 0x33ea8cb3},
-  {0xccbb, 0x33ea8cb4},
-  {0xccbc, 0x33ea8cb5},
-  {0xccbd, 0x33ea8cb6},
-  {0xccbe, 0x33ea8cb7},
-  {0xccbf, 0x33ea8cb8},
-  {0xccc0, 0x33ea8cb9},
-  {0xccc1, 0x33ea90b0},
-  {0xccc2, 0x33ea90b1},
-  {0xccc3, 0x33ea90b2},
-  {0xccc4, 0x33ea90b3},
-  {0xccc5, 0x33ea90b4},
-  {0xccc6, 0x33ea90b5},
-  {0xccc7, 0x33ea90b6},
-  {0xccc8, 0x33ea90b7},
-  {0xccc9, 0x33ea90b8},
-  {0xccca, 0x33ea90b9},
-  {0xcccb, 0x33ea94b0},
-  {0xcccc, 0x33ea94b1},
-  {0xcccd, 0x33ea94b2},
-  {0xccce, 0x33ea94b3},
-  {0xcccf, 0x33ea94b4},
-  {0xccd0, 0x33ea94b5},
-  {0xccd1, 0x33ea94b6},
-  {0xccd2, 0x33ea94b7},
-  {0xccd3, 0x33ea94b8},
-  {0xccd4, 0x33ea94b9},
-  {0xccd5, 0x33ea98b0},
-  {0xccd6, 0x33ea98b1},
-  {0xccd7, 0x33ea98b2},
-  {0xccd8, 0x33ea98b3},
-  {0xccd9, 0x33ea98b4},
-  {0xccda, 0x33ea98b5},
-  {0xccdb, 0x33ea98b6},
-  {0xccdc, 0x33ea98b7},
-  {0xccdd, 0x33ea98b8},
-  {0xccde, 0x33ea98b9},
-  {0xccdf, 0x33ea9cb0},
-  {0xcce0, 0x33ea9cb1},
-  {0xcce1, 0x33ea9cb2},
-  {0xcce2, 0x33ea9cb3},
-  {0xcce3, 0x33ea9cb4},
-  {0xcce4, 0x33ea9cb5},
-  {0xcce5, 0x33ea9cb6},
-  {0xcce6, 0x33ea9cb7},
-  {0xcce7, 0x33ea9cb8},
-  {0xcce8, 0x33ea9cb9},
-  {0xcce9, 0x33eaa0b0},
-  {0xccea, 0x33eaa0b1},
-  {0xcceb, 0x33eaa0b2},
-  {0xccec, 0x33eaa0b3},
-  {0xcced, 0x33eaa0b4},
-  {0xccee, 0x33eaa0b5},
-  {0xccef, 0x33eaa0b6},
-  {0xccf0, 0x33eaa0b7},
-  {0xccf1, 0x33eaa0b8},
-  {0xccf2, 0x33eaa0b9},
-  {0xccf3, 0x33eaa4b0},
-  {0xccf4, 0x33eaa4b1},
-  {0xccf5, 0x33eaa4b2},
-  {0xccf6, 0x33eaa4b3},
-  {0xccf7, 0x33eaa4b4},
-  {0xccf8, 0x33eaa4b5},
-  {0xccf9, 0x33eaa4b6},
-  {0xccfa, 0x33eaa4b7},
-  {0xccfb, 0x33eaa4b8},
-  {0xccfc, 0x33eaa4b9},
-  {0xccfd, 0x33eaa8b0},
-  {0xccfe, 0x33eaa8b1},
-  {0xccff, 0x33eaa8b2},
-  {0xcd00, 0x33eaa8b3},
-  {0xcd01, 0x33eaa8b4},
-  {0xcd02, 0x33eaa8b5},
-  {0xcd03, 0x33eaa8b6},
-  {0xcd04, 0x33eaa8b7},
-  {0xcd05, 0x33eaa8b8},
-  {0xcd06, 0x33eaa8b9},
-  {0xcd07, 0x33eaacb0},
-  {0xcd08, 0x33eaacb1},
-  {0xcd09, 0x33eaacb2},
-  {0xcd0a, 0x33eaacb3},
-  {0xcd0b, 0x33eaacb4},
-  {0xcd0c, 0x33eaacb5},
-  {0xcd0d, 0x33eaacb6},
-  {0xcd0e, 0x33eaacb7},
-  {0xcd0f, 0x33eaacb8},
-  {0xcd10, 0x33eaacb9},
-  {0xcd11, 0x33eab0b0},
-  {0xcd12, 0x33eab0b1},
-  {0xcd13, 0x33eab0b2},
-  {0xcd14, 0x33eab0b3},
-  {0xcd15, 0x33eab0b4},
-  {0xcd16, 0x33eab0b5},
-  {0xcd17, 0x33eab0b6},
-  {0xcd18, 0x33eab0b7},
-  {0xcd19, 0x33eab0b8},
-  {0xcd1a, 0x33eab0b9},
-  {0xcd1b, 0x33eab4b0},
-  {0xcd1c, 0x33eab4b1},
-  {0xcd1d, 0x33eab4b2},
-  {0xcd1e, 0x33eab4b3},
-  {0xcd1f, 0x33eab4b4},
-  {0xcd20, 0x33eab4b5},
-  {0xcd21, 0x33eab4b6},
-  {0xcd22, 0x33eab4b7},
-  {0xcd23, 0x33eab4b8},
-  {0xcd24, 0x33eab4b9},
-  {0xcd25, 0x33eab8b0},
-  {0xcd26, 0x33eab8b1},
-  {0xcd27, 0x33eab8b2},
-  {0xcd28, 0x33eab8b3},
-  {0xcd29, 0x33eab8b4},
-  {0xcd2a, 0x33eab8b5},
-  {0xcd2b, 0x33eab8b6},
-  {0xcd2c, 0x33eab8b7},
-  {0xcd2d, 0x33eab8b8},
-  {0xcd2e, 0x33eab8b9},
-  {0xcd2f, 0x33eabcb0},
-  {0xcd30, 0x33eabcb1},
-  {0xcd31, 0x33eabcb2},
-  {0xcd32, 0x33eabcb3},
-  {0xcd33, 0x33eabcb4},
-  {0xcd34, 0x33eabcb5},
-  {0xcd35, 0x33eabcb6},
-  {0xcd36, 0x33eabcb7},
-  {0xcd37, 0x33eabcb8},
-  {0xcd38, 0x33eabcb9},
-  {0xcd39, 0x33eb80b0},
-  {0xcd3a, 0x33eb80b1},
-  {0xcd3b, 0x33eb80b2},
-  {0xcd3c, 0x33eb80b3},
-  {0xcd3d, 0x33eb80b4},
-  {0xcd3e, 0x33eb80b5},
-  {0xcd3f, 0x33eb80b6},
-  {0xcd40, 0x33eb80b7},
-  {0xcd41, 0x33eb80b8},
-  {0xcd42, 0x33eb80b9},
-  {0xcd43, 0x33eb84b0},
-  {0xcd44, 0x33eb84b1},
-  {0xcd45, 0x33eb84b2},
-  {0xcd46, 0x33eb84b3},
-  {0xcd47, 0x33eb84b4},
-  {0xcd48, 0x33eb84b5},
-  {0xcd49, 0x33eb84b6},
-  {0xcd4a, 0x33eb84b7},
-  {0xcd4b, 0x33eb84b8},
-  {0xcd4c, 0x33eb84b9},
-  {0xcd4d, 0x33eb88b0},
-  {0xcd4e, 0x33eb88b1},
-  {0xcd4f, 0x33eb88b2},
-  {0xcd50, 0x33eb88b3},
-  {0xcd51, 0x33eb88b4},
-  {0xcd52, 0x33eb88b5},
-  {0xcd53, 0x33eb88b6},
-  {0xcd54, 0x33eb88b7},
-  {0xcd55, 0x33eb88b8},
-  {0xcd56, 0x33eb88b9},
-  {0xcd57, 0x33eb8cb0},
-  {0xcd58, 0x33eb8cb1},
-  {0xcd59, 0x33eb8cb2},
-  {0xcd5a, 0x33eb8cb3},
-  {0xcd5b, 0x33eb8cb4},
-  {0xcd5c, 0x33eb8cb5},
-  {0xcd5d, 0x33eb8cb6},
-  {0xcd5e, 0x33eb8cb7},
-  {0xcd5f, 0x33eb8cb8},
-  {0xcd60, 0x33eb8cb9},
-  {0xcd61, 0x33eb90b0},
-  {0xcd62, 0x33eb90b1},
-  {0xcd63, 0x33eb90b2},
-  {0xcd64, 0x33eb90b3},
-  {0xcd65, 0x33eb90b4},
-  {0xcd66, 0x33eb90b5},
-  {0xcd67, 0x33eb90b6},
-  {0xcd68, 0x33eb90b7},
-  {0xcd69, 0x33eb90b8},
-  {0xcd6a, 0x33eb90b9},
-  {0xcd6b, 0x33eb94b0},
-  {0xcd6c, 0x33eb94b1},
-  {0xcd6d, 0x33eb94b2},
-  {0xcd6e, 0x33eb94b3},
-  {0xcd6f, 0x33eb94b4},
-  {0xcd70, 0x33eb94b5},
-  {0xcd71, 0x33eb94b6},
-  {0xcd72, 0x33eb94b7},
-  {0xcd73, 0x33eb94b8},
-  {0xcd74, 0x33eb94b9},
-  {0xcd75, 0x33eb98b0},
-  {0xcd76, 0x33eb98b1},
-  {0xcd77, 0x33eb98b2},
-  {0xcd78, 0x33eb98b3},
-  {0xcd79, 0x33eb98b4},
-  {0xcd7a, 0x33eb98b5},
-  {0xcd7b, 0x33eb98b6},
-  {0xcd7c, 0x33eb98b7},
-  {0xcd7d, 0x33eb98b8},
-  {0xcd7e, 0x33eb98b9},
-  {0xcd7f, 0x33eb9cb0},
-  {0xcd80, 0x33eb9cb1},
-  {0xcd81, 0x33eb9cb2},
-  {0xcd82, 0x33eb9cb3},
-  {0xcd83, 0x33eb9cb4},
-  {0xcd84, 0x33eb9cb5},
-  {0xcd85, 0x33eb9cb6},
-  {0xcd86, 0x33eb9cb7},
-  {0xcd87, 0x33eb9cb8},
-  {0xcd88, 0x33eb9cb9},
-  {0xcd89, 0x33eba0b0},
-  {0xcd8a, 0x33eba0b1},
-  {0xcd8b, 0x33eba0b2},
-  {0xcd8c, 0x33eba0b3},
-  {0xcd8d, 0x33eba0b4},
-  {0xcd8e, 0x33eba0b5},
-  {0xcd8f, 0x33eba0b6},
-  {0xcd90, 0x33eba0b7},
-  {0xcd91, 0x33eba0b8},
-  {0xcd92, 0x33eba0b9},
-  {0xcd93, 0x33eba4b0},
-  {0xcd94, 0x33eba4b1},
-  {0xcd95, 0x33eba4b2},
-  {0xcd96, 0x33eba4b3},
-  {0xcd97, 0x33eba4b4},
-  {0xcd98, 0x33eba4b5},
-  {0xcd99, 0x33eba4b6},
-  {0xcd9a, 0x33eba4b7},
-  {0xcd9b, 0x33eba4b8},
-  {0xcd9c, 0x33eba4b9},
-  {0xcd9d, 0x33eba8b0},
-  {0xcd9e, 0x33eba8b1},
-  {0xcd9f, 0x33eba8b2},
-  {0xcda0, 0x33eba8b3},
-  {0xcda1, 0x33eba8b4},
-  {0xcda2, 0x33eba8b5},
-  {0xcda3, 0x33eba8b6},
-  {0xcda4, 0x33eba8b7},
-  {0xcda5, 0x33eba8b8},
-  {0xcda6, 0x33eba8b9},
-  {0xcda7, 0x33ebacb0},
-  {0xcda8, 0x33ebacb1},
-  {0xcda9, 0x33ebacb2},
-  {0xcdaa, 0x33ebacb3},
-  {0xcdab, 0x33ebacb4},
-  {0xcdac, 0x33ebacb5},
-  {0xcdad, 0x33ebacb6},
-  {0xcdae, 0x33ebacb7},
-  {0xcdaf, 0x33ebacb8},
-  {0xcdb0, 0x33ebacb9},
-  {0xcdb1, 0x33ebb0b0},
-  {0xcdb2, 0x33ebb0b1},
-  {0xcdb3, 0x33ebb0b2},
-  {0xcdb4, 0x33ebb0b3},
-  {0xcdb5, 0x33ebb0b4},
-  {0xcdb6, 0x33ebb0b5},
-  {0xcdb7, 0x33ebb0b6},
-  {0xcdb8, 0x33ebb0b7},
-  {0xcdb9, 0x33ebb0b8},
-  {0xcdba, 0x33ebb0b9},
-  {0xcdbb, 0x33ebb4b0},
-  {0xcdbc, 0x33ebb4b1},
-  {0xcdbd, 0x33ebb4b2},
-  {0xcdbe, 0x33ebb4b3},
-  {0xcdbf, 0x33ebb4b4},
-  {0xcdc0, 0x33ebb4b5},
-  {0xcdc1, 0x33ebb4b6},
-  {0xcdc2, 0x33ebb4b7},
-  {0xcdc3, 0x33ebb4b8},
-  {0xcdc4, 0x33ebb4b9},
-  {0xcdc5, 0x33ebb8b0},
-  {0xcdc6, 0x33ebb8b1},
-  {0xcdc7, 0x33ebb8b2},
-  {0xcdc8, 0x33ebb8b3},
-  {0xcdc9, 0x33ebb8b4},
-  {0xcdca, 0x33ebb8b5},
-  {0xcdcb, 0x33ebb8b6},
-  {0xcdcc, 0x33ebb8b7},
-  {0xcdcd, 0x33ebb8b8},
-  {0xcdce, 0x33ebb8b9},
-  {0xcdcf, 0x33ebbcb0},
-  {0xcdd0, 0x33ebbcb1},
-  {0xcdd1, 0x33ebbcb2},
-  {0xcdd2, 0x33ebbcb3},
-  {0xcdd3, 0x33ebbcb4},
-  {0xcdd4, 0x33ebbcb5},
-  {0xcdd5, 0x33ebbcb6},
-  {0xcdd6, 0x33ebbcb7},
-  {0xcdd7, 0x33ebbcb8},
-  {0xcdd8, 0x33ebbcb9},
-  {0xcdd9, 0x33ec80b0},
-  {0xcdda, 0x33ec80b1},
-  {0xcddb, 0x33ec80b2},
-  {0xcddc, 0x33ec80b3},
-  {0xcddd, 0x33ec80b4},
-  {0xcdde, 0x33ec80b5},
-  {0xcddf, 0x33ec80b6},
-  {0xcde0, 0x33ec80b7},
-  {0xcde1, 0x33ec80b8},
-  {0xcde2, 0x33ec80b9},
-  {0xcde3, 0x33ec84b0},
-  {0xcde4, 0x33ec84b1},
-  {0xcde5, 0x33ec84b2},
-  {0xcde6, 0x33ec84b3},
-  {0xcde7, 0x33ec84b4},
-  {0xcde8, 0x33ec84b5},
-  {0xcde9, 0x33ec84b6},
-  {0xcdea, 0x33ec84b7},
-  {0xcdeb, 0x33ec84b8},
-  {0xcdec, 0x33ec84b9},
-  {0xcded, 0x33ec88b0},
-  {0xcdee, 0x33ec88b1},
-  {0xcdef, 0x33ec88b2},
-  {0xcdf0, 0x33ec88b3},
-  {0xcdf1, 0x33ec88b4},
-  {0xcdf2, 0x33ec88b5},
-  {0xcdf3, 0x33ec88b6},
-  {0xcdf4, 0x33ec88b7},
-  {0xcdf5, 0x33ec88b8},
-  {0xcdf6, 0x33ec88b9},
-  {0xcdf7, 0x33ec8cb0},
-  {0xcdf8, 0x33ec8cb1},
-  {0xcdf9, 0x33ec8cb2},
-  {0xcdfa, 0x33ec8cb3},
-  {0xcdfb, 0x33ec8cb4},
-  {0xcdfc, 0x33ec8cb5},
-  {0xcdfd, 0x33ec8cb6},
-  {0xcdfe, 0x33ec8cb7},
-  {0xcdff, 0x33ec8cb8},
-  {0xce00, 0x33ec8cb9},
-  {0xce01, 0x33ec90b0},
-  {0xce02, 0x33ec90b1},
-  {0xce03, 0x33ec90b2},
-  {0xce04, 0x33ec90b3},
-  {0xce05, 0x33ec90b4},
-  {0xce06, 0x33ec90b5},
-  {0xce07, 0x33ec90b6},
-  {0xce08, 0x33ec90b7},
-  {0xce09, 0x33ec90b8},
-  {0xce0a, 0x33ec90b9},
-  {0xce0b, 0x33ec94b0},
-  {0xce0c, 0x33ec94b1},
-  {0xce0d, 0x33ec94b2},
-  {0xce0e, 0x33ec94b3},
-  {0xce0f, 0x33ec94b4},
-  {0xce10, 0x33ec94b5},
-  {0xce11, 0x33ec94b6},
-  {0xce12, 0x33ec94b7},
-  {0xce13, 0x33ec94b8},
-  {0xce14, 0x33ec94b9},
-  {0xce15, 0x33ec98b0},
-  {0xce16, 0x33ec98b1},
-  {0xce17, 0x33ec98b2},
-  {0xce18, 0x33ec98b3},
-  {0xce19, 0x33ec98b4},
-  {0xce1a, 0x33ec98b5},
-  {0xce1b, 0x33ec98b6},
-  {0xce1c, 0x33ec98b7},
-  {0xce1d, 0x33ec98b8},
-  {0xce1e, 0x33ec98b9},
-  {0xce1f, 0x33ec9cb0},
-  {0xce20, 0x33ec9cb1},
-  {0xce21, 0x33ec9cb2},
-  {0xce22, 0x33ec9cb3},
-  {0xce23, 0x33ec9cb4},
-  {0xce24, 0x33ec9cb5},
-  {0xce25, 0x33ec9cb6},
-  {0xce26, 0x33ec9cb7},
-  {0xce27, 0x33ec9cb8},
-  {0xce28, 0x33ec9cb9},
-  {0xce29, 0x33eca0b0},
-  {0xce2a, 0x33eca0b1},
-  {0xce2b, 0x33eca0b2},
-  {0xce2c, 0x33eca0b3},
-  {0xce2d, 0x33eca0b4},
-  {0xce2e, 0x33eca0b5},
-  {0xce2f, 0x33eca0b6},
-  {0xce30, 0x33eca0b7},
-  {0xce31, 0x33eca0b8},
-  {0xce32, 0x33eca0b9},
-  {0xce33, 0x33eca4b0},
-  {0xce34, 0x33eca4b1},
-  {0xce35, 0x33eca4b2},
-  {0xce36, 0x33eca4b3},
-  {0xce37, 0x33eca4b4},
-  {0xce38, 0x33eca4b5},
-  {0xce39, 0x33eca4b6},
-  {0xce3a, 0x33eca4b7},
-  {0xce3b, 0x33eca4b8},
-  {0xce3c, 0x33eca4b9},
-  {0xce3d, 0x33eca8b0},
-  {0xce3e, 0x33eca8b1},
-  {0xce3f, 0x33eca8b2},
-  {0xce40, 0x33eca8b3},
-  {0xce41, 0x33eca8b4},
-  {0xce42, 0x33eca8b5},
-  {0xce43, 0x33eca8b6},
-  {0xce44, 0x33eca8b7},
-  {0xce45, 0x33eca8b8},
-  {0xce46, 0x33eca8b9},
-  {0xce47, 0x33ecacb0},
-  {0xce48, 0x33ecacb1},
-  {0xce49, 0x33ecacb2},
-  {0xce4a, 0x33ecacb3},
-  {0xce4b, 0x33ecacb4},
-  {0xce4c, 0x33ecacb5},
-  {0xce4d, 0x33ecacb6},
-  {0xce4e, 0x33ecacb7},
-  {0xce4f, 0x33ecacb8},
-  {0xce50, 0x33ecacb9},
-  {0xce51, 0x33ecb0b0},
-  {0xce52, 0x33ecb0b1},
-  {0xce53, 0x33ecb0b2},
-  {0xce54, 0x33ecb0b3},
-  {0xce55, 0x33ecb0b4},
-  {0xce56, 0x33ecb0b5},
-  {0xce57, 0x33ecb0b6},
-  {0xce58, 0x33ecb0b7},
-  {0xce59, 0x33ecb0b8},
-  {0xce5a, 0x33ecb0b9},
-  {0xce5b, 0x33ecb4b0},
-  {0xce5c, 0x33ecb4b1},
-  {0xce5d, 0x33ecb4b2},
-  {0xce5e, 0x33ecb4b3},
-  {0xce5f, 0x33ecb4b4},
-  {0xce60, 0x33ecb4b5},
-  {0xce61, 0x33ecb4b6},
-  {0xce62, 0x33ecb4b7},
-  {0xce63, 0x33ecb4b8},
-  {0xce64, 0x33ecb4b9},
-  {0xce65, 0x33ecb8b0},
-  {0xce66, 0x33ecb8b1},
-  {0xce67, 0x33ecb8b2},
-  {0xce68, 0x33ecb8b3},
-  {0xce69, 0x33ecb8b4},
-  {0xce6a, 0x33ecb8b5},
-  {0xce6b, 0x33ecb8b6},
-  {0xce6c, 0x33ecb8b7},
-  {0xce6d, 0x33ecb8b8},
-  {0xce6e, 0x33ecb8b9},
-  {0xce6f, 0x33ecbcb0},
-  {0xce70, 0x33ecbcb1},
-  {0xce71, 0x33ecbcb2},
-  {0xce72, 0x33ecbcb3},
-  {0xce73, 0x33ecbcb4},
-  {0xce74, 0x33ecbcb5},
-  {0xce75, 0x33ecbcb6},
-  {0xce76, 0x33ecbcb7},
-  {0xce77, 0x33ecbcb8},
-  {0xce78, 0x33ecbcb9},
-  {0xce79, 0x33ed80b0},
-  {0xce7a, 0x33ed80b1},
-  {0xce7b, 0x33ed80b2},
-  {0xce7c, 0x33ed80b3},
-  {0xce7d, 0x33ed80b4},
-  {0xce7e, 0x33ed80b5},
-  {0xce7f, 0x33ed80b6},
-  {0xce80, 0x33ed80b7},
-  {0xce81, 0x33ed80b8},
-  {0xce82, 0x33ed80b9},
-  {0xce83, 0x33ed84b0},
-  {0xce84, 0x33ed84b1},
-  {0xce85, 0x33ed84b2},
-  {0xce86, 0x33ed84b3},
-  {0xce87, 0x33ed84b4},
-  {0xce88, 0x33ed84b5},
-  {0xce89, 0x33ed84b6},
-  {0xce8a, 0x33ed84b7},
-  {0xce8b, 0x33ed84b8},
-  {0xce8c, 0x33ed84b9},
-  {0xce8d, 0x33ed88b0},
-  {0xce8e, 0x33ed88b1},
-  {0xce8f, 0x33ed88b2},
-  {0xce90, 0x33ed88b3},
-  {0xce91, 0x33ed88b4},
-  {0xce92, 0x33ed88b5},
-  {0xce93, 0x33ed88b6},
-  {0xce94, 0x33ed88b7},
-  {0xce95, 0x33ed88b8},
-  {0xce96, 0x33ed88b9},
-  {0xce97, 0x33ed8cb0},
-  {0xce98, 0x33ed8cb1},
-  {0xce99, 0x33ed8cb2},
-  {0xce9a, 0x33ed8cb3},
-  {0xce9b, 0x33ed8cb4},
-  {0xce9c, 0x33ed8cb5},
-  {0xce9d, 0x33ed8cb6},
-  {0xce9e, 0x33ed8cb7},
-  {0xce9f, 0x33ed8cb8},
-  {0xcea0, 0x33ed8cb9},
-  {0xcea1, 0x33ed90b0},
-  {0xcea2, 0x33ed90b1},
-  {0xcea3, 0x33ed90b2},
-  {0xcea4, 0x33ed90b3},
-  {0xcea5, 0x33ed90b4},
-  {0xcea6, 0x33ed90b5},
-  {0xcea7, 0x33ed90b6},
-  {0xcea8, 0x33ed90b7},
-  {0xcea9, 0x33ed90b8},
-  {0xceaa, 0x33ed90b9},
-  {0xceab, 0x33ed94b0},
-  {0xceac, 0x33ed94b1},
-  {0xcead, 0x33ed94b2},
-  {0xceae, 0x33ed94b3},
-  {0xceaf, 0x33ed94b4},
-  {0xceb0, 0x33ed94b5},
-  {0xceb1, 0x33ed94b6},
-  {0xceb2, 0x33ed94b7},
-  {0xceb3, 0x33ed94b8},
-  {0xceb4, 0x33ed94b9},
-  {0xceb5, 0x33ed98b0},
-  {0xceb6, 0x33ed98b1},
-  {0xceb7, 0x33ed98b2},
-  {0xceb8, 0x33ed98b3},
-  {0xceb9, 0x33ed98b4},
-  {0xceba, 0x33ed98b5},
-  {0xcebb, 0x33ed98b6},
-  {0xcebc, 0x33ed98b7},
-  {0xcebd, 0x33ed98b8},
-  {0xcebe, 0x33ed98b9},
-  {0xcebf, 0x33ed9cb0},
-  {0xcec0, 0x33ed9cb1},
-  {0xcec1, 0x33ed9cb2},
-  {0xcec2, 0x33ed9cb3},
-  {0xcec3, 0x33ed9cb4},
-  {0xcec4, 0x33ed9cb5},
-  {0xcec5, 0x33ed9cb6},
-  {0xcec6, 0x33ed9cb7},
-  {0xcec7, 0x33ed9cb8},
-  {0xcec8, 0x33ed9cb9},
-  {0xcec9, 0x33eda0b0},
-  {0xceca, 0x33eda0b1},
-  {0xcecb, 0x33eda0b2},
-  {0xcecc, 0x33eda0b3},
-  {0xcecd, 0x33eda0b4},
-  {0xcece, 0x33eda0b5},
-  {0xcecf, 0x33eda0b6},
-  {0xced0, 0x33eda0b7},
-  {0xced1, 0x33eda0b8},
-  {0xced2, 0x33eda0b9},
-  {0xced3, 0x33eda4b0},
-  {0xced4, 0x33eda4b1},
-  {0xced5, 0x33eda4b2},
-  {0xced6, 0x33eda4b3},
-  {0xced7, 0x33eda4b4},
-  {0xced8, 0x33eda4b5},
-  {0xced9, 0x33eda4b6},
-  {0xceda, 0x33eda4b7},
-  {0xcedb, 0x33eda4b8},
-  {0xcedc, 0x33eda4b9},
-  {0xcedd, 0x33eda8b0},
-  {0xcede, 0x33eda8b1},
-  {0xcedf, 0x33eda8b2},
-  {0xcee0, 0x33eda8b3},
-  {0xcee1, 0x33eda8b4},
-  {0xcee2, 0x33eda8b5},
-  {0xcee3, 0x33eda8b6},
-  {0xcee4, 0x33eda8b7},
-  {0xcee5, 0x33eda8b8},
-  {0xcee6, 0x33eda8b9},
-  {0xcee7, 0x33edacb0},
-  {0xcee8, 0x33edacb1},
-  {0xcee9, 0x33edacb2},
-  {0xceea, 0x33edacb3},
-  {0xceeb, 0x33edacb4},
-  {0xceec, 0x33edacb5},
-  {0xceed, 0x33edacb6},
-  {0xceee, 0x33edacb7},
-  {0xceef, 0x33edacb8},
-  {0xcef0, 0x33edacb9},
-  {0xcef1, 0x33edb0b0},
-  {0xcef2, 0x33edb0b1},
-  {0xcef3, 0x33edb0b2},
-  {0xcef4, 0x33edb0b3},
-  {0xcef5, 0x33edb0b4},
-  {0xcef6, 0x33edb0b5},
-  {0xcef7, 0x33edb0b6},
-  {0xcef8, 0x33edb0b7},
-  {0xcef9, 0x33edb0b8},
-  {0xcefa, 0x33edb0b9},
-  {0xcefb, 0x33edb4b0},
-  {0xcefc, 0x33edb4b1},
-  {0xcefd, 0x33edb4b2},
-  {0xcefe, 0x33edb4b3},
-  {0xceff, 0x33edb4b4},
-  {0xcf00, 0x33edb4b5},
-  {0xcf01, 0x33edb4b6},
-  {0xcf02, 0x33edb4b7},
-  {0xcf03, 0x33edb4b8},
-  {0xcf04, 0x33edb4b9},
-  {0xcf05, 0x33edb8b0},
-  {0xcf06, 0x33edb8b1},
-  {0xcf07, 0x33edb8b2},
-  {0xcf08, 0x33edb8b3},
-  {0xcf09, 0x33edb8b4},
-  {0xcf0a, 0x33edb8b5},
-  {0xcf0b, 0x33edb8b6},
-  {0xcf0c, 0x33edb8b7},
-  {0xcf0d, 0x33edb8b8},
-  {0xcf0e, 0x33edb8b9},
-  {0xcf0f, 0x33edbcb0},
-  {0xcf10, 0x33edbcb1},
-  {0xcf11, 0x33edbcb2},
-  {0xcf12, 0x33edbcb3},
-  {0xcf13, 0x33edbcb4},
-  {0xcf14, 0x33edbcb5},
-  {0xcf15, 0x33edbcb6},
-  {0xcf16, 0x33edbcb7},
-  {0xcf17, 0x33edbcb8},
-  {0xcf18, 0x33edbcb9},
-  {0xcf19, 0x33ee80b0},
-  {0xcf1a, 0x33ee80b1},
-  {0xcf1b, 0x33ee80b2},
-  {0xcf1c, 0x33ee80b3},
-  {0xcf1d, 0x33ee80b4},
-  {0xcf1e, 0x33ee80b5},
-  {0xcf1f, 0x33ee80b6},
-  {0xcf20, 0x33ee80b7},
-  {0xcf21, 0x33ee80b8},
-  {0xcf22, 0x33ee80b9},
-  {0xcf23, 0x33ee84b0},
-  {0xcf24, 0x33ee84b1},
-  {0xcf25, 0x33ee84b2},
-  {0xcf26, 0x33ee84b3},
-  {0xcf27, 0x33ee84b4},
-  {0xcf28, 0x33ee84b5},
-  {0xcf29, 0x33ee84b6},
-  {0xcf2a, 0x33ee84b7},
-  {0xcf2b, 0x33ee84b8},
-  {0xcf2c, 0x33ee84b9},
-  {0xcf2d, 0x33ee88b0},
-  {0xcf2e, 0x33ee88b1},
-  {0xcf2f, 0x33ee88b2},
-  {0xcf30, 0x33ee88b3},
-  {0xcf31, 0x33ee88b4},
-  {0xcf32, 0x33ee88b5},
-  {0xcf33, 0x33ee88b6},
-  {0xcf34, 0x33ee88b7},
-  {0xcf35, 0x33ee88b8},
-  {0xcf36, 0x33ee88b9},
-  {0xcf37, 0x33ee8cb0},
-  {0xcf38, 0x33ee8cb1},
-  {0xcf39, 0x33ee8cb2},
-  {0xcf3a, 0x33ee8cb3},
-  {0xcf3b, 0x33ee8cb4},
-  {0xcf3c, 0x33ee8cb5},
-  {0xcf3d, 0x33ee8cb6},
-  {0xcf3e, 0x33ee8cb7},
-  {0xcf3f, 0x33ee8cb8},
-  {0xcf40, 0x33ee8cb9},
-  {0xcf41, 0x33ee90b0},
-  {0xcf42, 0x33ee90b1},
-  {0xcf43, 0x33ee90b2},
-  {0xcf44, 0x33ee90b3},
-  {0xcf45, 0x33ee90b4},
-  {0xcf46, 0x33ee90b5},
-  {0xcf47, 0x33ee90b6},
-  {0xcf48, 0x33ee90b7},
-  {0xcf49, 0x33ee90b8},
-  {0xcf4a, 0x33ee90b9},
-  {0xcf4b, 0x33ee94b0},
-  {0xcf4c, 0x33ee94b1},
-  {0xcf4d, 0x33ee94b2},
-  {0xcf4e, 0x33ee94b3},
-  {0xcf4f, 0x33ee94b4},
-  {0xcf50, 0x33ee94b5},
-  {0xcf51, 0x33ee94b6},
-  {0xcf52, 0x33ee94b7},
-  {0xcf53, 0x33ee94b8},
-  {0xcf54, 0x33ee94b9},
-  {0xcf55, 0x33ee98b0},
-  {0xcf56, 0x33ee98b1},
-  {0xcf57, 0x33ee98b2},
-  {0xcf58, 0x33ee98b3},
-  {0xcf59, 0x33ee98b4},
-  {0xcf5a, 0x33ee98b5},
-  {0xcf5b, 0x33ee98b6},
-  {0xcf5c, 0x33ee98b7},
-  {0xcf5d, 0x33ee98b8},
-  {0xcf5e, 0x33ee98b9},
-  {0xcf5f, 0x33ee9cb0},
-  {0xcf60, 0x33ee9cb1},
-  {0xcf61, 0x33ee9cb2},
-  {0xcf62, 0x33ee9cb3},
-  {0xcf63, 0x33ee9cb4},
-  {0xcf64, 0x33ee9cb5},
-  {0xcf65, 0x33ee9cb6},
-  {0xcf66, 0x33ee9cb7},
-  {0xcf67, 0x33ee9cb8},
-  {0xcf68, 0x33ee9cb9},
-  {0xcf69, 0x33eea0b0},
-  {0xcf6a, 0x33eea0b1},
-  {0xcf6b, 0x33eea0b2},
-  {0xcf6c, 0x33eea0b3},
-  {0xcf6d, 0x33eea0b4},
-  {0xcf6e, 0x33eea0b5},
-  {0xcf6f, 0x33eea0b6},
-  {0xcf70, 0x33eea0b7},
-  {0xcf71, 0x33eea0b8},
-  {0xcf72, 0x33eea0b9},
-  {0xcf73, 0x33eea4b0},
-  {0xcf74, 0x33eea4b1},
-  {0xcf75, 0x33eea4b2},
-  {0xcf76, 0x33eea4b3},
-  {0xcf77, 0x33eea4b4},
-  {0xcf78, 0x33eea4b5},
-  {0xcf79, 0x33eea4b6},
-  {0xcf7a, 0x33eea4b7},
-  {0xcf7b, 0x33eea4b8},
-  {0xcf7c, 0x33eea4b9},
-  {0xcf7d, 0x33eea8b0},
-  {0xcf7e, 0x33eea8b1},
-  {0xcf7f, 0x33eea8b2},
-  {0xcf80, 0x33eea8b3},
-  {0xcf81, 0x33eea8b4},
-  {0xcf82, 0x33eea8b5},
-  {0xcf83, 0x33eea8b6},
-  {0xcf84, 0x33eea8b7},
-  {0xcf85, 0x33eea8b8},
-  {0xcf86, 0x33eea8b9},
-  {0xcf87, 0x33eeacb0},
-  {0xcf88, 0x33eeacb1},
-  {0xcf89, 0x33eeacb2},
-  {0xcf8a, 0x33eeacb3},
-  {0xcf8b, 0x33eeacb4},
-  {0xcf8c, 0x33eeacb5},
-  {0xcf8d, 0x33eeacb6},
-  {0xcf8e, 0x33eeacb7},
-  {0xcf8f, 0x33eeacb8},
-  {0xcf90, 0x33eeacb9},
-  {0xcf91, 0x33eeb0b0},
-  {0xcf92, 0x33eeb0b1},
-  {0xcf93, 0x33eeb0b2},
-  {0xcf94, 0x33eeb0b3},
-  {0xcf95, 0x33eeb0b4},
-  {0xcf96, 0x33eeb0b5},
-  {0xcf97, 0x33eeb0b6},
-  {0xcf98, 0x33eeb0b7},
-  {0xcf99, 0x33eeb0b8},
-  {0xcf9a, 0x33eeb0b9},
-  {0xcf9b, 0x33eeb4b0},
-  {0xcf9c, 0x33eeb4b1},
-  {0xcf9d, 0x33eeb4b2},
-  {0xcf9e, 0x33eeb4b3},
-  {0xcf9f, 0x33eeb4b4},
-  {0xcfa0, 0x33eeb4b5},
-  {0xcfa1, 0x33eeb4b6},
-  {0xcfa2, 0x33eeb4b7},
-  {0xcfa3, 0x33eeb4b8},
-  {0xcfa4, 0x33eeb4b9},
-  {0xcfa5, 0x33eeb8b0},
-  {0xcfa6, 0x33eeb8b1},
-  {0xcfa7, 0x33eeb8b2},
-  {0xcfa8, 0x33eeb8b3},
-  {0xcfa9, 0x33eeb8b4},
-  {0xcfaa, 0x33eeb8b5},
-  {0xcfab, 0x33eeb8b6},
-  {0xcfac, 0x33eeb8b7},
-  {0xcfad, 0x33eeb8b8},
-  {0xcfae, 0x33eeb8b9},
-  {0xcfaf, 0x33eebcb0},
-  {0xcfb0, 0x33eebcb1},
-  {0xcfb1, 0x33eebcb2},
-  {0xcfb2, 0x33eebcb3},
-  {0xcfb3, 0x33eebcb4},
-  {0xcfb4, 0x33eebcb5},
-  {0xcfb5, 0x33eebcb6},
-  {0xcfb6, 0x33eebcb7},
-  {0xcfb7, 0x33eebcb8},
-  {0xcfb8, 0x33eebcb9},
-  {0xcfb9, 0x33ef80b0},
-  {0xcfba, 0x33ef80b1},
-  {0xcfbb, 0x33ef80b2},
-  {0xcfbc, 0x33ef80b3},
-  {0xcfbd, 0x33ef80b4},
-  {0xcfbe, 0x33ef80b5},
-  {0xcfbf, 0x33ef80b6},
-  {0xcfc0, 0x33ef80b7},
-  {0xcfc1, 0x33ef80b8},
-  {0xcfc2, 0x33ef80b9},
-  {0xcfc3, 0x33ef84b0},
-  {0xcfc4, 0x33ef84b1},
-  {0xcfc5, 0x33ef84b2},
-  {0xcfc6, 0x33ef84b3},
-  {0xcfc7, 0x33ef84b4},
-  {0xcfc8, 0x33ef84b5},
-  {0xcfc9, 0x33ef84b6},
-  {0xcfca, 0x33ef84b7},
-  {0xcfcb, 0x33ef84b8},
-  {0xcfcc, 0x33ef84b9},
-  {0xcfcd, 0x33ef88b0},
-  {0xcfce, 0x33ef88b1},
-  {0xcfcf, 0x33ef88b2},
-  {0xcfd0, 0x33ef88b3},
-  {0xcfd1, 0x33ef88b4},
-  {0xcfd2, 0x33ef88b5},
-  {0xcfd3, 0x33ef88b6},
-  {0xcfd4, 0x33ef88b7},
-  {0xcfd5, 0x33ef88b8},
-  {0xcfd6, 0x33ef88b9},
-  {0xcfd7, 0x33ef8cb0},
-  {0xcfd8, 0x33ef8cb1},
-  {0xcfd9, 0x33ef8cb2},
-  {0xcfda, 0x33ef8cb3},
-  {0xcfdb, 0x33ef8cb4},
-  {0xcfdc, 0x33ef8cb5},
-  {0xcfdd, 0x33ef8cb6},
-  {0xcfde, 0x33ef8cb7},
-  {0xcfdf, 0x33ef8cb8},
-  {0xcfe0, 0x33ef8cb9},
-  {0xcfe1, 0x33ef90b0},
-  {0xcfe2, 0x33ef90b1},
-  {0xcfe3, 0x33ef90b2},
-  {0xcfe4, 0x33ef90b3},
-  {0xcfe5, 0x33ef90b4},
-  {0xcfe6, 0x33ef90b5},
-  {0xcfe7, 0x33ef90b6},
-  {0xcfe8, 0x33ef90b7},
-  {0xcfe9, 0x33ef90b8},
-  {0xcfea, 0x33ef90b9},
-  {0xcfeb, 0x33ef94b0},
-  {0xcfec, 0x33ef94b1},
-  {0xcfed, 0x33ef94b2},
-  {0xcfee, 0x33ef94b3},
-  {0xcfef, 0x33ef94b4},
-  {0xcff0, 0x33ef94b5},
-  {0xcff1, 0x33ef94b6},
-  {0xcff2, 0x33ef94b7},
-  {0xcff3, 0x33ef94b8},
-  {0xcff4, 0x33ef94b9},
-  {0xcff5, 0x33ef98b0},
-  {0xcff6, 0x33ef98b1},
-  {0xcff7, 0x33ef98b2},
-  {0xcff8, 0x33ef98b3},
-  {0xcff9, 0x33ef98b4},
-  {0xcffa, 0x33ef98b5},
-  {0xcffb, 0x33ef98b6},
-  {0xcffc, 0x33ef98b7},
-  {0xcffd, 0x33ef98b8},
-  {0xcffe, 0x33ef98b9},
-  {0xcfff, 0x33ef9cb0},
-  {0xd000, 0x33ef9cb1},
-  {0xd001, 0x33ef9cb2},
-  {0xd002, 0x33ef9cb3},
-  {0xd003, 0x33ef9cb4},
-  {0xd004, 0x33ef9cb5},
-  {0xd005, 0x33ef9cb6},
-  {0xd006, 0x33ef9cb7},
-  {0xd007, 0x33ef9cb8},
-  {0xd008, 0x33ef9cb9},
-  {0xd009, 0x33efa0b0},
-  {0xd00a, 0x33efa0b1},
-  {0xd00b, 0x33efa0b2},
-  {0xd00c, 0x33efa0b3},
-  {0xd00d, 0x33efa0b4},
-  {0xd00e, 0x33efa0b5},
-  {0xd00f, 0x33efa0b6},
-  {0xd010, 0x33efa0b7},
-  {0xd011, 0x33efa0b8},
-  {0xd012, 0x33efa0b9},
-  {0xd013, 0x33efa4b0},
-  {0xd014, 0x33efa4b1},
-  {0xd015, 0x33efa4b2},
-  {0xd016, 0x33efa4b3},
-  {0xd017, 0x33efa4b4},
-  {0xd018, 0x33efa4b5},
-  {0xd019, 0x33efa4b6},
-  {0xd01a, 0x33efa4b7},
-  {0xd01b, 0x33efa4b8},
-  {0xd01c, 0x33efa4b9},
-  {0xd01d, 0x33efa8b0},
-  {0xd01e, 0x33efa8b1},
-  {0xd01f, 0x33efa8b2},
-  {0xd020, 0x33efa8b3},
-  {0xd021, 0x33efa8b4},
-  {0xd022, 0x33efa8b5},
-  {0xd023, 0x33efa8b6},
-  {0xd024, 0x33efa8b7},
-  {0xd025, 0x33efa8b8},
-  {0xd026, 0x33efa8b9},
-  {0xd027, 0x33efacb0},
-  {0xd028, 0x33efacb1},
-  {0xd029, 0x33efacb2},
-  {0xd02a, 0x33efacb3},
-  {0xd02b, 0x33efacb4},
-  {0xd02c, 0x33efacb5},
-  {0xd02d, 0x33efacb6},
-  {0xd02e, 0x33efacb7},
-  {0xd02f, 0x33efacb8},
-  {0xd030, 0x33efacb9},
-  {0xd031, 0x33efb0b0},
-  {0xd032, 0x33efb0b1},
-  {0xd033, 0x33efb0b2},
-  {0xd034, 0x33efb0b3},
-  {0xd035, 0x33efb0b4},
-  {0xd036, 0x33efb0b5},
-  {0xd037, 0x33efb0b6},
-  {0xd038, 0x33efb0b7},
-  {0xd039, 0x33efb0b8},
-  {0xd03a, 0x33efb0b9},
-  {0xd03b, 0x33efb4b0},
-  {0xd03c, 0x33efb4b1},
-  {0xd03d, 0x33efb4b2},
-  {0xd03e, 0x33efb4b3},
-  {0xd03f, 0x33efb4b4},
-  {0xd040, 0x33efb4b5},
-  {0xd041, 0x33efb4b6},
-  {0xd042, 0x33efb4b7},
-  {0xd043, 0x33efb4b8},
-  {0xd044, 0x33efb4b9},
-  {0xd045, 0x33efb8b0},
-  {0xd046, 0x33efb8b1},
-  {0xd047, 0x33efb8b2},
-  {0xd048, 0x33efb8b3},
-  {0xd049, 0x33efb8b4},
-  {0xd04a, 0x33efb8b5},
-  {0xd04b, 0x33efb8b6},
-  {0xd04c, 0x33efb8b7},
-  {0xd04d, 0x33efb8b8},
-  {0xd04e, 0x33efb8b9},
-  {0xd04f, 0x33f884b0},
-  {0xd050, 0x33f884b1},
-  {0xd051, 0x33f884b2},
-  {0xd052, 0x33f884b3},
-  {0xd053, 0x33f884b4},
-  {0xd054, 0x33f884b5},
-  {0xd055, 0x33f884b6},
-  {0xd056, 0x33f884b7},
-  {0xd057, 0x33f884b8},
-  {0xd058, 0x33f884b9},
-  {0xd059, 0x33f888b0},
-  {0xd05a, 0x33f888b1},
-  {0xd05b, 0x33f888b2},
-  {0xd05c, 0x33f888b3},
-  {0xd05d, 0x33f888b4},
-  {0xd05e, 0x33f888b5},
-  {0xd05f, 0x33f888b6},
-  {0xd060, 0x33f888b7},
-  {0xd061, 0x33f888b8},
-  {0xd062, 0x33f888b9},
-  {0xd063, 0x33f88cb0},
-  {0xd064, 0x33f88cb1},
-  {0xd065, 0x33f88cb2},
-  {0xd066, 0x33f88cb3},
-  {0xd067, 0x33f88cb4},
-  {0xd068, 0x33f88cb5},
-  {0xd069, 0x33f88cb6},
-  {0xd06a, 0x33f88cb7},
-  {0xd06b, 0x33f88cb8},
-  {0xd06c, 0x33f88cb9},
-  {0xd06d, 0x33f890b0},
-  {0xd06e, 0x33f890b1},
-  {0xd06f, 0x33f890b2},
-  {0xd070, 0x33f890b3},
-  {0xd071, 0x33f890b4},
-  {0xd072, 0x33f890b5},
-  {0xd073, 0x33f890b6},
-  {0xd074, 0x33f890b7},
-  {0xd075, 0x33f890b8},
-  {0xd076, 0x33f890b9},
-  {0xd077, 0x33f894b0},
-  {0xd078, 0x33f894b1},
-  {0xd079, 0x33f894b2},
-  {0xd07a, 0x33f894b3},
-  {0xd07b, 0x33f894b4},
-  {0xd07c, 0x33f894b5},
-  {0xd07d, 0x33f894b6},
-  {0xd07e, 0x33f894b7},
-  {0xd07f, 0x33f894b8},
-  {0xd080, 0x33f894b9},
-  {0xd081, 0x33f898b0},
-  {0xd082, 0x33f898b1},
-  {0xd083, 0x33f898b2},
-  {0xd084, 0x33f898b3},
-  {0xd085, 0x33f898b4},
-  {0xd086, 0x33f898b5},
-  {0xd087, 0x33f898b6},
-  {0xd088, 0x33f898b7},
-  {0xd089, 0x33f898b8},
-  {0xd08a, 0x33f898b9},
-  {0xd08b, 0x33f89cb0},
-  {0xd08c, 0x33f89cb1},
-  {0xd08d, 0x33f89cb2},
-  {0xd08e, 0x33f89cb3},
-  {0xd08f, 0x33f89cb4},
-  {0xd090, 0x33f89cb5},
-  {0xd091, 0x33f89cb6},
-  {0xd092, 0x33f89cb7},
-  {0xd093, 0x33f89cb8},
-  {0xd094, 0x33f89cb9},
-  {0xd095, 0x33f8a0b0},
-  {0xd096, 0x33f8a0b1},
-  {0xd097, 0x33f8a0b2},
-  {0xd098, 0x33f8a0b3},
-  {0xd099, 0x33f8a0b4},
-  {0xd09a, 0x33f8a0b5},
-  {0xd09b, 0x33f8a0b6},
-  {0xd09c, 0x33f8a0b7},
-  {0xd09d, 0x33f8a0b8},
-  {0xd09e, 0x33f8a0b9},
-  {0xd09f, 0x33f8a4b0},
-  {0xd0a0, 0x33f8a4b1},
-  {0xd0a1, 0x33f8a4b2},
-  {0xd0a2, 0x33f8a4b3},
-  {0xd0a3, 0x33f8a4b4},
-  {0xd0a4, 0x33f8a4b5},
-  {0xd0a5, 0x33f8a4b6},
-  {0xd0a6, 0x33f8a4b7},
-  {0xd0a7, 0x33f8a4b8},
-  {0xd0a8, 0x33f8a4b9},
-  {0xd0a9, 0x33f8a8b0},
-  {0xd0aa, 0x33f8a8b1},
-  {0xd0ab, 0x33f8a8b2},
-  {0xd0ac, 0x33f8a8b3},
-  {0xd0ad, 0x33f8a8b4},
-  {0xd0ae, 0x33f8a8b5},
-  {0xd0af, 0x33f8a8b6},
-  {0xd0b0, 0x33f8a8b7},
-  {0xd0b1, 0x33f8a8b8},
-  {0xd0b2, 0x33f8a8b9},
-  {0xd0b3, 0x33f8acb0},
-  {0xd0b4, 0x33f8acb1},
-  {0xd0b5, 0x33f8acb2},
-  {0xd0b6, 0x33f8acb3},
-  {0xd0b7, 0x33f8acb4},
-  {0xd0b8, 0x33f8acb5},
-  {0xd0b9, 0x33f8acb6},
-  {0xd0ba, 0x33f8acb7},
-  {0xd0bb, 0x33f8acb8},
-  {0xd0bc, 0x33f8acb9},
-  {0xd0bd, 0x33f8b0b0},
-  {0xd0be, 0x33f8b0b1},
-  {0xd0bf, 0x33f8b0b2},
-  {0xd0c0, 0x33f8b0b3},
-  {0xd0c1, 0x33f8b0b4},
-  {0xd0c2, 0x33f8b0b5},
-  {0xd0c3, 0x33f8b0b6},
-  {0xd0c4, 0x33f8b0b7},
-  {0xd0c5, 0x33f8b0b8},
-  {0xd0c6, 0x33f8b0b9},
-  {0xd0c7, 0x33f8b4b0},
-  {0xd0c8, 0x33f8b4b1},
-  {0xd0c9, 0x33f8b4b2},
-  {0xd0ca, 0x33f8b4b3},
-  {0xd0cb, 0x33f8b4b4},
-  {0xd0cc, 0x33f8b4b5},
-  {0xd0cd, 0x33f8b4b6},
-  {0xd0ce, 0x33f8b4b7},
-  {0xd0cf, 0x33f8b4b8},
-  {0xd0d0, 0x33f8b4b9},
-  {0xd0d1, 0x33f8b8b0},
-  {0xd0d2, 0x33f8b8b1},
-  {0xd0d3, 0x33f8b8b2},
-  {0xd0d4, 0x33f8b8b3},
-  {0xd0d5, 0x33f8b8b4},
-  {0xd0d6, 0x33f8b8b5},
-  {0xd0d7, 0x33f8b8b6},
-  {0xd0d8, 0x33f8b8b7},
-  {0xd0d9, 0x33f8b8b8},
-  {0xd0da, 0x33f8b8b9},
-  {0xd0db, 0x33f8bcb0},
-  {0xd0dc, 0x33f8bcb1},
-  {0xd0dd, 0x33f8bcb2},
-  {0xd0de, 0x33f8bcb3},
-  {0xd0df, 0x33f8bcb4},
-  {0xd0e0, 0x33f8bcb5},
-  {0xd0e1, 0x33f8bcb6},
-  {0xd0e2, 0x33f8bcb7},
-  {0xd0e3, 0x33f8bcb8},
-  {0xd0e4, 0x33f8bcb9},
-  {0xd0e5, 0x33f980b0},
-  {0xd0e6, 0x33f980b1},
-  {0xd0e7, 0x33f980b2},
-  {0xd0e8, 0x33f980b3},
-  {0xd0e9, 0x33f980b4},
-  {0xd0ea, 0x33f980b5},
-  {0xd0eb, 0x33f980b6},
-  {0xd0ec, 0x33f980b7},
-  {0xd0ed, 0x33f980b8},
-  {0xd0ee, 0x33f980b9},
-  {0xd0ef, 0x33f984b0},
-  {0xd0f0, 0x33f984b1},
-  {0xd0f1, 0x33f984b2},
-  {0xd0f2, 0x33f984b3},
-  {0xd0f3, 0x33f984b4},
-  {0xd0f4, 0x33f984b5},
-  {0xd0f5, 0x33f984b6},
-  {0xd0f6, 0x33f984b7},
-  {0xd0f7, 0x33f984b8},
-  {0xd0f8, 0x33f984b9},
-  {0xd0f9, 0x33f988b0},
-  {0xd0fa, 0x33f988b1},
-  {0xd0fb, 0x33f988b2},
-  {0xd0fc, 0x33f988b3},
-  {0xd0fd, 0x33f988b4},
-  {0xd0fe, 0x33f988b5},
-  {0xd0ff, 0x33f988b6},
-  {0xd100, 0x33f988b7},
-  {0xd101, 0x33f988b8},
-  {0xd102, 0x33f988b9},
-  {0xd103, 0x33f98cb0},
-  {0xd104, 0x33f98cb1},
-  {0xd105, 0x33f98cb2},
-  {0xd106, 0x33f98cb3},
-  {0xd107, 0x33f98cb4},
-  {0xd108, 0x33f98cb5},
-  {0xd109, 0x33f98cb6},
-  {0xd10a, 0x33f98cb7},
-  {0xd10b, 0x33f98cb8},
-  {0xd10c, 0x33f98cb9},
-  {0xd10d, 0x33f990b0},
-  {0xd10e, 0x33f990b1},
-  {0xd10f, 0x33f990b2},
-  {0xd110, 0x33f990b3},
-  {0xd111, 0x33f990b4},
-  {0xd112, 0x33f990b5},
-  {0xd113, 0x33f990b6},
-  {0xd114, 0x33f990b7},
-  {0xd115, 0x33f990b8},
-  {0xd116, 0x33f990b9},
-  {0xd117, 0x33f994b0},
-  {0xd118, 0x33f994b1},
-  {0xd119, 0x33f994b2},
-  {0xd11a, 0x33f994b3},
-  {0xd11b, 0x33f994b4},
-  {0xd11c, 0x33f994b5},
-  {0xd11d, 0x33f994b6},
-  {0xd11e, 0x33f994b7},
-  {0xd11f, 0x33f994b8},
-  {0xd120, 0x33f994b9},
-  {0xd121, 0x33f998b0},
-  {0xd122, 0x33f998b1},
-  {0xd123, 0x33f998b2},
-  {0xd124, 0x33f998b3},
-  {0xd125, 0x33f998b4},
-  {0xd126, 0x33f998b5},
-  {0xd127, 0x33f998b6},
-  {0xd128, 0x33f998b7},
-  {0xd129, 0x33f998b8},
-  {0xd12a, 0x33f998b9},
-  {0xd12b, 0x33f99cb0},
-  {0xd12c, 0x33f99cb1},
-  {0xd12d, 0x33f99cb2},
-  {0xd12e, 0x33f99cb3},
-  {0xd12f, 0x33f99cb4},
-  {0xd130, 0x33f99cb5},
-  {0xd131, 0x33f99cb6},
-  {0xd132, 0x33f99cb7},
-  {0xd133, 0x33f99cb8},
-  {0xd134, 0x33f99cb9},
-  {0xd135, 0x33f9a0b0},
-  {0xd136, 0x33f9a0b1},
-  {0xd137, 0x33f9a0b2},
-  {0xd138, 0x33f9a0b3},
-  {0xd139, 0x33f9a0b4},
-  {0xd13a, 0x33f9a0b5},
-  {0xd13b, 0x33f9a0b6},
-  {0xd13c, 0x33f9a0b7},
-  {0xd13d, 0x33f9a0b8},
-  {0xd13e, 0x33f9a0b9},
-  {0xd13f, 0x33f9a4b0},
-  {0xd140, 0x33f9a4b1},
-  {0xd141, 0x33f9a4b2},
-  {0xd142, 0x33f9a4b3},
-  {0xd143, 0x33f9a4b4},
-  {0xd144, 0x33f9a4b5},
-  {0xd145, 0x33f9a4b6},
-  {0xd146, 0x33f9a4b7},
-  {0xd147, 0x33f9a4b8},
-  {0xd148, 0x33f9a4b9},
-  {0xd149, 0x33f9a8b0},
-  {0xd14a, 0x33f9a8b1},
-  {0xd14b, 0x33f9a8b2},
-  {0xd14c, 0x33f9a8b3},
-  {0xd14d, 0x33f9a8b4},
-  {0xd14e, 0x33f9a8b5},
-  {0xd14f, 0x33f9a8b6},
-  {0xd150, 0x33f9a8b7},
-  {0xd151, 0x33f9a8b8},
-  {0xd152, 0x33f9a8b9},
-  {0xd153, 0x33f9acb0},
-  {0xd154, 0x33f9acb1},
-  {0xd155, 0x33f9acb2},
-  {0xd156, 0x33f9acb3},
-  {0xd157, 0x33f9acb4},
-  {0xd158, 0x33f9acb5},
-  {0xd159, 0x33f9acb6},
-  {0xd15a, 0x33f9acb7},
-  {0xd15b, 0x33f9acb8},
-  {0xd15c, 0x33f9acb9},
-  {0xd15d, 0x33f9b0b0},
-  {0xd15e, 0x33f9b0b1},
-  {0xd15f, 0x33f9b0b2},
-  {0xd160, 0x33f9b0b3},
-  {0xd161, 0x33f9b0b4},
-  {0xd162, 0x33f9b0b5},
-  {0xd163, 0x33f9b0b6},
-  {0xd164, 0x33f9b0b7},
-  {0xd165, 0x33f9b0b8},
-  {0xd166, 0x33f9b0b9},
-  {0xd167, 0x33f9b4b0},
-  {0xd168, 0x33f9b4b1},
-  {0xd169, 0x33f9b4b2},
-  {0xd16a, 0x33f9b4b3},
-  {0xd16b, 0x33f9b4b4},
-  {0xd16c, 0x33f9b4b5},
-  {0xd16d, 0x33f9b4b6},
-  {0xd16e, 0x33f9b4b7},
-  {0xd16f, 0x33f9b4b8},
-  {0xd170, 0x33f9b4b9},
-  {0xd171, 0x33f9b8b0},
-  {0xd172, 0x33f9b8b1},
-  {0xd173, 0x33f9b8b2},
-  {0xd174, 0x33f9b8b3},
-  {0xd175, 0x33f9b8b4},
-  {0xd176, 0x33f9b8b5},
-  {0xd177, 0x33f9b8b6},
-  {0xd178, 0x33f9b8b7},
-  {0xd179, 0x33f9b8b8},
-  {0xd17a, 0x33f9b8b9},
-  {0xd17b, 0x33f9bcb0},
-  {0xd17c, 0x33f9bcb1},
-  {0xd17d, 0x33f9bcb2},
-  {0xd17e, 0x33f9bcb3},
-  {0xd17f, 0x33f9bcb4},
-  {0xd180, 0x33f9bcb5},
-  {0xd181, 0x33f9bcb6},
-  {0xd182, 0x33f9bcb7},
-  {0xd183, 0x33f9bcb8},
-  {0xd184, 0x33f9bcb9},
-  {0xd185, 0x33fa80b0},
-  {0xd186, 0x33fa80b1},
-  {0xd187, 0x33fa80b2},
-  {0xd188, 0x33fa80b3},
-  {0xd189, 0x33fa80b4},
-  {0xd18a, 0x33fa80b5},
-  {0xd18b, 0x33fa80b6},
-  {0xd18c, 0x33fa80b7},
-  {0xd18d, 0x33fa80b8},
-  {0xd18e, 0x33fa80b9},
-  {0xd18f, 0x33fa84b0},
-  {0xd190, 0x33fa84b1},
-  {0xd191, 0x33fa84b2},
-  {0xd192, 0x33fa84b3},
-  {0xd193, 0x33fa84b4},
-  {0xd194, 0x33fa84b5},
-  {0xd195, 0x33fa84b6},
-  {0xd196, 0x33fa84b7},
-  {0xd197, 0x33fa84b8},
-  {0xd198, 0x33fa84b9},
-  {0xd199, 0x33fa88b0},
-  {0xd19a, 0x33fa88b1},
-  {0xd19b, 0x33fa88b2},
-  {0xd19c, 0x33fa88b3},
-  {0xd19d, 0x33fa88b4},
-  {0xd19e, 0x33fa88b5},
-  {0xd19f, 0x33fa88b6},
-  {0xd1a0, 0x33fa88b7},
-  {0xd1a1, 0x33fa88b8},
-  {0xd1a2, 0x33fa88b9},
-  {0xd1a3, 0x33fa8cb0},
-  {0xd1a4, 0x33fa8cb1},
-  {0xd1a5, 0x33fa8cb2},
-  {0xd1a6, 0x33fa8cb3},
-  {0xd1a7, 0x33fa8cb4},
-  {0xd1a8, 0x33fa8cb5},
-  {0xd1a9, 0x33fa8cb6},
-  {0xd1aa, 0x33fa8cb7},
-  {0xd1ab, 0x33fa8cb8},
-  {0xd1ac, 0x33fa8cb9},
-  {0xd1ad, 0x33fa90b0},
-  {0xd1ae, 0x33fa90b1},
-  {0xd1af, 0x33fa90b2},
-  {0xd1b0, 0x33fa90b3},
-  {0xd1b1, 0x33fa90b4},
-  {0xd1b2, 0x33fa90b5},
-  {0xd1b3, 0x33fa90b6},
-  {0xd1b4, 0x33fa90b7},
-  {0xd1b5, 0x33fa90b8},
-  {0xd1b6, 0x33fa90b9},
-  {0xd1b7, 0x33fa94b0},
-  {0xd1b8, 0x33fa94b1},
-  {0xd1b9, 0x33fa94b2},
-  {0xd1ba, 0x33fa94b3},
-  {0xd1bb, 0x33fa94b4},
-  {0xd1bc, 0x33fa94b5},
-  {0xd1bd, 0x33fa94b6},
-  {0xd1be, 0x33fa94b7},
-  {0xd1bf, 0x33fa94b8},
-  {0xd1c0, 0x33fa94b9},
-  {0xd1c1, 0x33fa98b0},
-  {0xd1c2, 0x33fa98b1},
-  {0xd1c3, 0x33fa98b2},
-  {0xd1c4, 0x33fa98b3},
-  {0xd1c5, 0x33fa98b4},
-  {0xd1c6, 0x33fa98b5},
-  {0xd1c7, 0x33fa98b6},
-  {0xd1c8, 0x33fa98b7},
-  {0xd1c9, 0x33fa98b8},
-  {0xd1ca, 0x33fa98b9},
-  {0xd1cb, 0x33fa9cb0},
-  {0xd1cc, 0x33fa9cb1},
-  {0xd1cd, 0x33fa9cb2},
-  {0xd1ce, 0x33fa9cb3},
-  {0xd1cf, 0x33fa9cb4},
-  {0xd1d0, 0x33fa9cb5},
-  {0xd1d1, 0x33fa9cb6},
-  {0xd1d2, 0x33fa9cb7},
-  {0xd1d3, 0x33fa9cb8},
-  {0xd1d4, 0x33fa9cb9},
-  {0xd1d5, 0x33faa0b0},
-  {0xd1d6, 0x33faa0b1},
-  {0xd1d7, 0x33faa0b2},
-  {0xd1d8, 0x33faa0b3},
-  {0xd1d9, 0x33faa0b4},
-  {0xd1da, 0x33faa0b5},
-  {0xd1db, 0x33faa0b6},
-  {0xd1dc, 0x33faa0b7},
-  {0xd1dd, 0x33faa0b8},
-  {0xd1de, 0x33faa0b9},
-  {0xd1df, 0x33faa4b0},
-  {0xd1e0, 0x33faa4b1},
-  {0xd1e1, 0x33faa4b2},
-  {0xd1e2, 0x33faa4b3},
-  {0xd1e3, 0x33faa4b4},
-  {0xd1e4, 0x33faa4b5},
-  {0xd1e5, 0x33faa4b6},
-  {0xd1e6, 0x33faa4b7},
-  {0xd1e7, 0x33faa4b8},
-  {0xd1e8, 0x33faa4b9},
-  {0xd1e9, 0x33faa8b0},
-  {0xd1ea, 0x33faa8b1},
-  {0xd1eb, 0x33faa8b2},
-  {0xd1ec, 0x33faa8b3},
-  {0xd1ed, 0x33faa8b4},
-  {0xd1ee, 0x33faa8b5},
-  {0xd1ef, 0x33faa8b6},
-  {0xd1f0, 0x33faa8b7},
-  {0xd1f1, 0x33faa8b8},
-  {0xd1f2, 0x33faa8b9},
-  {0xd1f3, 0x33faacb0},
-  {0xd1f4, 0x33faacb1},
-  {0xd1f5, 0x33faacb2},
-  {0xd1f6, 0x33faacb3},
-  {0xd1f7, 0x33faacb4},
-  {0xd1f8, 0x33faacb5},
-  {0xd1f9, 0x33faacb6},
-  {0xd1fa, 0x33faacb7},
-  {0xd1fb, 0x33faacb8},
-  {0xd1fc, 0x33faacb9},
-  {0xd1fd, 0x33fab0b0},
-  {0xd1fe, 0x33fab0b1},
-  {0xd1ff, 0x33fab0b2},
-  {0xd200, 0x33fab0b3},
-  {0xd201, 0x33fab0b4},
-  {0xd202, 0x33fab0b5},
-  {0xd203, 0x33fab0b6},
-  {0xd204, 0x33fab0b7},
-  {0xd205, 0x33fab0b8},
-  {0xd206, 0x33fab0b9},
-  {0xd207, 0x33fab4b0},
-  {0xd208, 0x33fab4b1},
-  {0xd209, 0x33fab4b2},
-  {0xd20a, 0x33fab4b3},
-  {0xd20b, 0x33fab4b4},
-  {0xd20c, 0x33fab4b5},
-  {0xd20d, 0x33fab4b6},
-  {0xd20e, 0x33fab4b7},
-  {0xd20f, 0x33fab4b8},
-  {0xd210, 0x33fab4b9},
-  {0xd211, 0x33fab8b0},
-  {0xd212, 0x33fab8b1},
-  {0xd213, 0x33fab8b2},
-  {0xd214, 0x33fab8b3},
-  {0xd215, 0x33fab8b4},
-  {0xd216, 0x33fab8b5},
-  {0xd217, 0x33fab8b6},
-  {0xd218, 0x33fab8b7},
-  {0xd219, 0x33fab8b8},
-  {0xd21a, 0x33fab8b9},
-  {0xd21b, 0x33fabcb0},
-  {0xd21c, 0x33fabcb1},
-  {0xd21d, 0x33fabcb2},
-  {0xd21e, 0x33fabcb3},
-  {0xd21f, 0x33fabcb4},
-  {0xd220, 0x33fabcb5},
-  {0xd221, 0x33fabcb6},
-  {0xd222, 0x33fabcb7},
-  {0xd223, 0x33fabcb8},
-  {0xd224, 0x33fabcb9},
-  {0xd225, 0x33fb80b0},
-  {0xd226, 0x33fb80b1},
-  {0xd227, 0x33fb80b2},
-  {0xd228, 0x33fb80b3},
-  {0xd229, 0x33fb80b4},
-  {0xd22a, 0x33fb80b5},
-  {0xd22b, 0x33fb80b6},
-  {0xd22c, 0x33fb80b7},
-  {0xd22d, 0x33fb80b8},
-  {0xd22e, 0x33fb80b9},
-  {0xd22f, 0x33fb84b0},
-  {0xd230, 0x33fb84b1},
-  {0xd231, 0x33fb84b2},
-  {0xd232, 0x33fb84b3},
-  {0xd233, 0x33fb84b4},
-  {0xd234, 0x33fb84b5},
-  {0xd235, 0x33fb84b6},
-  {0xd236, 0x33fb84b7},
-  {0xd237, 0x33fb84b8},
-  {0xd238, 0x33fb84b9},
-  {0xd239, 0x33fb88b0},
-  {0xd23a, 0x33fb88b1},
-  {0xd23b, 0x33fb88b2},
-  {0xd23c, 0x33fb88b3},
-  {0xd23d, 0x33fb88b4},
-  {0xd23e, 0x33fb88b5},
-  {0xd23f, 0x33fb88b6},
-  {0xd240, 0x33fb88b7},
-  {0xd241, 0x33fb88b8},
-  {0xd242, 0x33fb88b9},
-  {0xd243, 0x33fb8cb0},
-  {0xd244, 0x33fb8cb1},
-  {0xd245, 0x33fb8cb2},
-  {0xd246, 0x33fb8cb3},
-  {0xd247, 0x33fb8cb4},
-  {0xd248, 0x33fb8cb5},
-  {0xd249, 0x33fb8cb6},
-  {0xd24a, 0x33fb8cb7},
-  {0xd24b, 0x33fb8cb8},
-  {0xd24c, 0x33fb8cb9},
-  {0xd24d, 0x33fb90b0},
-  {0xd24e, 0x33fb90b1},
-  {0xd24f, 0x33fb90b2},
-  {0xd250, 0x33fb90b3},
-  {0xd251, 0x33fb90b4},
-  {0xd252, 0x33fb90b5},
-  {0xd253, 0x33fb90b6},
-  {0xd254, 0x33fb90b7},
-  {0xd255, 0x33fb90b8},
-  {0xd256, 0x33fb90b9},
-  {0xd257, 0x33fb94b0},
-  {0xd258, 0x33fb94b1},
-  {0xd259, 0x33fb94b2},
-  {0xd25a, 0x33fb94b3},
-  {0xd25b, 0x33fb94b4},
-  {0xd25c, 0x33fb94b5},
-  {0xd25d, 0x33fb94b6},
-  {0xd25e, 0x33fb94b7},
-  {0xd25f, 0x33fb94b8},
-  {0xd260, 0x33fb94b9},
-  {0xd261, 0x33fb98b0},
-  {0xd262, 0x33fb98b1},
-  {0xd263, 0x33fb98b2},
-  {0xd264, 0x33fb98b3},
-  {0xd265, 0x33fb98b4},
-  {0xd266, 0x33fb98b5},
-  {0xd267, 0x33fb98b6},
-  {0xd268, 0x33fb98b7},
-  {0xd269, 0x33fb98b8},
-  {0xd26a, 0x33fb98b9},
-  {0xd26b, 0x33fb9cb0},
-  {0xd26c, 0x33fb9cb1},
-  {0xd26d, 0x33fb9cb2},
-  {0xd26e, 0x33fb9cb3},
-  {0xd26f, 0x33fb9cb4},
-  {0xd270, 0x33fb9cb5},
-  {0xd271, 0x33fb9cb6},
-  {0xd272, 0x33fb9cb7},
-  {0xd273, 0x33fb9cb8},
-  {0xd274, 0x33fb9cb9},
-  {0xd275, 0x33fba0b0},
-  {0xd276, 0x33fba0b1},
-  {0xd277, 0x33fba0b2},
-  {0xd278, 0x33fba0b3},
-  {0xd279, 0x33fba0b4},
-  {0xd27a, 0x33fba0b5},
-  {0xd27b, 0x33fba0b6},
-  {0xd27c, 0x33fba0b7},
-  {0xd27d, 0x33fba0b8},
-  {0xd27e, 0x33fba0b9},
-  {0xd27f, 0x33fba4b0},
-  {0xd280, 0x33fba4b1},
-  {0xd281, 0x33fba4b2},
-  {0xd282, 0x33fba4b3},
-  {0xd283, 0x33fba4b4},
-  {0xd284, 0x33fba4b5},
-  {0xd285, 0x33fba4b6},
-  {0xd286, 0x33fba4b7},
-  {0xd287, 0x33fba4b8},
-  {0xd288, 0x33fba4b9},
-  {0xd289, 0x33fba8b0},
-  {0xd28a, 0x33fba8b1},
-  {0xd28b, 0x33fba8b2},
-  {0xd28c, 0x33fba8b3},
-  {0xd28d, 0x33fba8b4},
-  {0xd28e, 0x33fba8b5},
-  {0xd28f, 0x33fba8b6},
-  {0xd290, 0x33fba8b7},
-  {0xd291, 0x33fba8b8},
-  {0xd292, 0x33fba8b9},
-  {0xd293, 0x33fbacb0},
-  {0xd294, 0x33fbacb1},
-  {0xd295, 0x33fbacb2},
-  {0xd296, 0x33fbacb3},
-  {0xd297, 0x33fbacb4},
-  {0xd298, 0x33fbacb5},
-  {0xd299, 0x33fbacb6},
-  {0xd29a, 0x33fbacb7},
-  {0xd29b, 0x33fbacb8},
-  {0xd29c, 0x33fbacb9},
-  {0xd29d, 0x33fbb0b0},
-  {0xd29e, 0x33fbb0b1},
-  {0xd29f, 0x33fbb0b2},
-  {0xd2a0, 0x33fbb0b3},
-  {0xd2a1, 0x33fbb0b4},
-  {0xd2a2, 0x33fbb0b5},
-  {0xd2a3, 0x33fbb0b6},
-  {0xd2a4, 0x33fbb0b7},
-  {0xd2a5, 0x33fbb0b8},
-  {0xd2a6, 0x33fbb0b9},
-  {0xd2a7, 0x33fbb4b0},
-  {0xd2a8, 0x33fbb4b1},
-  {0xd2a9, 0x33fbb4b2},
-  {0xd2aa, 0x33fbb4b3},
-  {0xd2ab, 0x33fbb4b4},
-  {0xd2ac, 0x33fbb4b5},
-  {0xd2ad, 0x33fbb4b6},
-  {0xd2ae, 0x33fbb4b7},
-  {0xd2af, 0x33fbb4b8},
-  {0xd2b0, 0x33fbb4b9},
-  {0xd2b1, 0x33fbb8b0},
-  {0xd2b2, 0x33fbb8b1},
-  {0xd2b3, 0x33fbb8b2},
-  {0xd2b4, 0x33fbb8b3},
-  {0xd2b5, 0x33fbb8b4},
-  {0xd2b6, 0x33fbb8b5},
-  {0xd2b7, 0x33fbb8b6},
-  {0xd2b8, 0x33fbb8b7},
-  {0xd2b9, 0x33fbb8b8},
-  {0xd2ba, 0x33fbb8b9},
-  {0xd2bb, 0x33fbbcb0},
-  {0xd2bc, 0x33fbbcb1},
-  {0xd2bd, 0x33fbbcb2},
-  {0xd2be, 0x33fbbcb3},
-  {0xd2bf, 0x33fbbcb4},
-  {0xd2c0, 0x33fbbcb5},
-  {0xd2c1, 0x33fbbcb6},
-  {0xd2c2, 0x33fbbcb7},
-  {0xd2c3, 0x33fbbcb8},
-  {0xd2c4, 0x33fbbcb9},
-  {0xd2c5, 0x33fc80b0},
-  {0xd2c6, 0x33fc80b1},
-  {0xd2c7, 0x33fc80b2},
-  {0xd2c8, 0x33fc80b3},
-  {0xd2c9, 0x33fc80b4},
-  {0xd2ca, 0x33fc80b5},
-  {0xd2cb, 0x33fc80b6},
-  {0xd2cc, 0x33fc80b7},
-  {0xd2cd, 0x33fc80b8},
-  {0xd2ce, 0x33fc80b9},
-  {0xd2cf, 0x33fc84b0},
-  {0xd2d0, 0x33fc84b1},
-  {0xd2d1, 0x33fc84b2},
-  {0xd2d2, 0x33fc84b3},
-  {0xd2d3, 0x33fc84b4},
-  {0xd2d4, 0x33fc84b5},
-  {0xd2d5, 0x33fc84b6},
-  {0xd2d6, 0x33fc84b7},
-  {0xd2d7, 0x33fc84b8},
-  {0xd2d8, 0x33fc84b9},
-  {0xd2d9, 0x33fc88b0},
-  {0xd2da, 0x33fc88b1},
-  {0xd2db, 0x33fc88b2},
-  {0xd2dc, 0x33fc88b3},
-  {0xd2dd, 0x33fc88b4},
-  {0xd2de, 0x33fc88b5},
-  {0xd2df, 0x33fc88b6},
-  {0xd2e0, 0x33fc88b7},
-  {0xd2e1, 0x33fc88b8},
-  {0xd2e2, 0x33fc88b9},
-  {0xd2e3, 0x33fc8cb0},
-  {0xd2e4, 0x33fc8cb1},
-  {0xd2e5, 0x33fc8cb2},
-  {0xd2e6, 0x33fc8cb3},
-  {0xd2e7, 0x33fc8cb4},
-  {0xd2e8, 0x33fc8cb5},
-  {0xd2e9, 0x33fc8cb6},
-  {0xd2ea, 0x33fc8cb7},
-  {0xd2eb, 0x33fc8cb8},
-  {0xd2ec, 0x33fc8cb9},
-  {0xd2ed, 0x33fc90b0},
-  {0xd2ee, 0x33fc90b1},
-  {0xd2ef, 0x33fc90b2},
-  {0xd2f0, 0x33fc90b3},
-  {0xd2f1, 0x33fc90b4},
-  {0xd2f2, 0x33fc90b5},
-  {0xd2f3, 0x33fc90b6},
-  {0xd2f4, 0x33fc90b7},
-  {0xd2f5, 0x33fc90b8},
-  {0xd2f6, 0x33fc90b9},
-  {0xd2f7, 0x33fc94b0},
-  {0xd2f8, 0x33fc94b1},
-  {0xd2f9, 0x33fc94b2},
-  {0xd2fa, 0x33fc94b3},
-  {0xd2fb, 0x33fc94b4},
-  {0xd2fc, 0x33fc94b5},
-  {0xd2fd, 0x33fc94b6},
-  {0xd2fe, 0x33fc94b7},
-  {0xd2ff, 0x33fc94b8},
-  {0xd300, 0x33fc94b9},
-  {0xd301, 0x33fc98b0},
-  {0xd302, 0x33fc98b1},
-  {0xd303, 0x33fc98b2},
-  {0xd304, 0x33fc98b3},
-  {0xd305, 0x33fc98b4},
-  {0xd306, 0x33fc98b5},
-  {0xd307, 0x33fc98b6},
-  {0xd308, 0x33fc98b7},
-  {0xd309, 0x33fc98b8},
-  {0xd30a, 0x33fc98b9},
-  {0xd30b, 0x33fc9cb0},
-  {0xd30c, 0x33fc9cb1},
-  {0xd30d, 0x33fc9cb2},
-  {0xd30e, 0x33fc9cb3},
-  {0xd30f, 0x33fc9cb4},
-  {0xd310, 0x33fc9cb5},
-  {0xd311, 0x33fc9cb6},
-  {0xd312, 0x33fc9cb7},
-  {0xd313, 0x33fc9cb8},
-  {0xd314, 0x33fc9cb9},
-  {0xd315, 0x33fca0b0},
-  {0xd316, 0x33fca0b1},
-  {0xd317, 0x33fca0b2},
-  {0xd318, 0x33fca0b3},
-  {0xd319, 0x33fca0b4},
-  {0xd31a, 0x33fca0b5},
-  {0xd31b, 0x33fca0b6},
-  {0xd31c, 0x33fca0b7},
-  {0xd31d, 0x33fca0b8},
-  {0xd31e, 0x33fca0b9},
-  {0xd31f, 0x33fca4b0},
-  {0xd320, 0x33fca4b1},
-  {0xd321, 0x33fca4b2},
-  {0xd322, 0x33fca4b3},
-  {0xd323, 0x33fca4b4},
-  {0xd324, 0x33fca4b5},
-  {0xd325, 0x33fca4b6},
-  {0xd326, 0x33fca4b7},
-  {0xd327, 0x33fca4b8},
-  {0xd328, 0x33fca4b9},
-  {0xd329, 0x33fca8b0},
-  {0xd32a, 0x33fca8b1},
-  {0xd32b, 0x33fca8b2},
-  {0xd32c, 0x33fca8b3},
-  {0xd32d, 0x33fca8b4},
-  {0xd32e, 0x33fca8b5},
-  {0xd32f, 0x33fca8b6},
-  {0xd330, 0x33fca8b7},
-  {0xd331, 0x33fca8b8},
-  {0xd332, 0x33fca8b9},
-  {0xd333, 0x33fcacb0},
-  {0xd334, 0x33fcacb1},
-  {0xd335, 0x33fcacb2},
-  {0xd336, 0x33fcacb3},
-  {0xd337, 0x33fcacb4},
-  {0xd338, 0x33fcacb5},
-  {0xd339, 0x33fcacb6},
-  {0xd33a, 0x33fcacb7},
-  {0xd33b, 0x33fcacb8},
-  {0xd33c, 0x33fcacb9},
-  {0xd33d, 0x33fcb0b0},
-  {0xd33e, 0x33fcb0b1},
-  {0xd33f, 0x33fcb0b2},
-  {0xd340, 0x33fcb0b3},
-  {0xd341, 0x33fcb0b4},
-  {0xd342, 0x33fcb0b5},
-  {0xd343, 0x33fcb0b6},
-  {0xd344, 0x33fcb0b7},
-  {0xd345, 0x33fcb0b8},
-  {0xd346, 0x33fcb0b9},
-  {0xd347, 0x33fcb4b0},
-  {0xd348, 0x33fcb4b1},
-  {0xd349, 0x33fcb4b2},
-  {0xd34a, 0x33fcb4b3},
-  {0xd34b, 0x33fcb4b4},
-  {0xd34c, 0x33fcb4b5},
-  {0xd34d, 0x33fcb4b6},
-  {0xd34e, 0x33fcb4b7},
-  {0xd34f, 0x33fcb4b8},
-  {0xd350, 0x33fcb4b9},
-  {0xd351, 0x33fcb8b0},
-  {0xd352, 0x33fcb8b1},
-  {0xd353, 0x33fcb8b2},
-  {0xd354, 0x33fcb8b3},
-  {0xd355, 0x33fcb8b4},
-  {0xd356, 0x33fcb8b5},
-  {0xd357, 0x33fcb8b6},
-  {0xd358, 0x33fcb8b7},
-  {0xd359, 0x33fcb8b8},
-  {0xd35a, 0x33fcb8b9},
-  {0xd35b, 0x33fcbcb0},
-  {0xd35c, 0x33fcbcb1},
-  {0xd35d, 0x33fcbcb2},
-  {0xd35e, 0x33fcbcb3},
-  {0xd35f, 0x33fcbcb4},
-  {0xd360, 0x33fcbcb5},
-  {0xd361, 0x33fcbcb6},
-  {0xd362, 0x33fcbcb7},
-  {0xd363, 0x33fcbcb8},
-  {0xd364, 0x33fcbcb9},
-  {0xd365, 0x33fd80b0},
-  {0xd366, 0x33fd80b1},
-  {0xd367, 0x33fd80b2},
-  {0xd368, 0x33fd80b3},
-  {0xd369, 0x33fd80b4},
-  {0xd36a, 0x33fd80b5},
-  {0xd36b, 0x33fd80b6},
-  {0xd36c, 0x33fd80b7},
-  {0xd36d, 0x33fd80b8},
-  {0xd36e, 0x33fd80b9},
-  {0xd36f, 0x33fd84b0},
-  {0xd370, 0x33fd84b1},
-  {0xd371, 0x33fd84b2},
-  {0xd372, 0x33fd84b3},
-  {0xd373, 0x33fd84b4},
-  {0xd374, 0x33fd84b5},
-  {0xd375, 0x33fd84b6},
-  {0xd376, 0x33fd84b7},
-  {0xd377, 0x33fd84b8},
-  {0xd378, 0x33fd84b9},
-  {0xd379, 0x33fd88b0},
-  {0xd37a, 0x33fd88b1},
-  {0xd37b, 0x33fd88b2},
-  {0xd37c, 0x33fd88b3},
-  {0xd37d, 0x33fd88b4},
-  {0xd37e, 0x33fd88b5},
-  {0xd37f, 0x33fd88b6},
-  {0xd380, 0x33fd88b7},
-  {0xd381, 0x33fd88b8},
-  {0xd382, 0x33fd88b9},
-  {0xd383, 0x33fd8cb0},
-  {0xd384, 0x33fd8cb1},
-  {0xd385, 0x33fd8cb2},
-  {0xd386, 0x33fd8cb3},
-  {0xd387, 0x33fd8cb4},
-  {0xd388, 0x33fd8cb5},
-  {0xd389, 0x33fd8cb6},
-  {0xd38a, 0x33fd8cb7},
-  {0xd38b, 0x33fd8cb8},
-  {0xd38c, 0x33fd8cb9},
-  {0xd38d, 0x33fd90b0},
-  {0xd38e, 0x33fd90b1},
-  {0xd38f, 0x33fd90b2},
-  {0xd390, 0x33fd90b3},
-  {0xd391, 0x33fd90b4},
-  {0xd392, 0x33fd90b5},
-  {0xd393, 0x33fd90b6},
-  {0xd394, 0x33fd90b7},
-  {0xd395, 0x33fd90b8},
-  {0xd396, 0x33fd90b9},
-  {0xd397, 0x33fd94b0},
-  {0xd398, 0x33fd94b1},
-  {0xd399, 0x33fd94b2},
-  {0xd39a, 0x33fd94b3},
-  {0xd39b, 0x33fd94b4},
-  {0xd39c, 0x33fd94b5},
-  {0xd39d, 0x33fd94b6},
-  {0xd39e, 0x33fd94b7},
-  {0xd39f, 0x33fd94b8},
-  {0xd3a0, 0x33fd94b9},
-  {0xd3a1, 0x33fd98b0},
-  {0xd3a2, 0x33fd98b1},
-  {0xd3a3, 0x33fd98b2},
-  {0xd3a4, 0x33fd98b3},
-  {0xd3a5, 0x33fd98b4},
-  {0xd3a6, 0x33fd98b5},
-  {0xd3a7, 0x33fd98b6},
-  {0xd3a8, 0x33fd98b7},
-  {0xd3a9, 0x33fd98b8},
-  {0xd3aa, 0x33fd98b9},
-  {0xd3ab, 0x33fd9cb0},
-  {0xd3ac, 0x33fd9cb1},
-  {0xd3ad, 0x33fd9cb2},
-  {0xd3ae, 0x33fd9cb3},
-  {0xd3af, 0x33fd9cb4},
-  {0xd3b0, 0x33fd9cb5},
-  {0xd3b1, 0x33fd9cb6},
-  {0xd3b2, 0x33fd9cb7},
-  {0xd3b3, 0x33fd9cb8},
-  {0xd3b4, 0x33fd9cb9},
-  {0xd3b5, 0x33fda0b0},
-  {0xd3b6, 0x33fda0b1},
-  {0xd3b7, 0x33fda0b2},
-  {0xd3b8, 0x33fda0b3},
-  {0xd3b9, 0x33fda0b4},
-  {0xd3ba, 0x33fda0b5},
-  {0xd3bb, 0x33fda0b6},
-  {0xd3bc, 0x33fda0b7},
-  {0xd3bd, 0x33fda0b8},
-  {0xd3be, 0x33fda0b9},
-  {0xd3bf, 0x33fda4b0},
-  {0xd3c0, 0x33fda4b1},
-  {0xd3c1, 0x33fda4b2},
-  {0xd3c2, 0x33fda4b3},
-  {0xd3c3, 0x33fda4b4},
-  {0xd3c4, 0x33fda4b5},
-  {0xd3c5, 0x33fda4b6},
-  {0xd3c6, 0x33fda4b7},
-  {0xd3c7, 0x33fda4b8},
-  {0xd3c8, 0x33fda4b9},
-  {0xd3c9, 0x33fda8b0},
-  {0xd3ca, 0x33fda8b1},
-  {0xd3cb, 0x33fda8b2},
-  {0xd3cc, 0x33fda8b3},
-  {0xd3cd, 0x33fda8b4},
-  {0xd3ce, 0x33fda8b5},
-  {0xd3cf, 0x33fda8b6},
-  {0xd3d0, 0x33fda8b7},
-  {0xd3d1, 0x33fda8b8},
-  {0xd3d2, 0x33fda8b9},
-  {0xd3d3, 0x33fdacb0},
-  {0xd3d4, 0x33fdacb1},
-  {0xd3d5, 0x33fdacb2},
-  {0xd3d6, 0x33fdacb3},
-  {0xd3d7, 0x33fdacb4},
-  {0xd3d8, 0x33fdacb5},
-  {0xd3d9, 0x33fdacb6},
-  {0xd3da, 0x33fdacb7},
-  {0xd3db, 0x33fdacb8},
-  {0xd3dc, 0x33fdacb9},
-  {0xd3dd, 0x33fdb0b0},
-  {0xd3de, 0x33fdb0b1},
-  {0xd3df, 0x33fdb0b2},
-  {0xd3e0, 0x33fdb0b3},
-  {0xd3e1, 0x33fdb0b4},
-  {0xd3e2, 0x33fdb0b5},
-  {0xd3e3, 0x33fdb0b6},
-  {0xd3e4, 0x33fdb0b7},
-  {0xd3e5, 0x33fdb0b8},
-  {0xd3e6, 0x33fdb0b9},
-  {0xd3e7, 0x33fdb4b0},
-  {0xd3e8, 0x33fdb4b1},
-  {0xd3e9, 0x33fdb4b2},
-  {0xd3ea, 0x33fdb4b3},
-  {0xd3eb, 0x33fdb4b4},
-  {0xd3ec, 0x33fdb4b5},
-  {0xd3ed, 0x33fdb4b6},
-  {0xd3ee, 0x33fdb4b7},
-  {0xd3ef, 0x33fdb4b8},
-  {0xd3f0, 0x33fdb4b9},
-  {0xd3f1, 0x33fdb8b0},
-  {0xd3f2, 0x33fdb8b1},
-  {0xd3f3, 0x33fdb8b2},
-  {0xd3f4, 0x33fdb8b3},
-  {0xd3f5, 0x33fdb8b4},
-  {0xd3f6, 0x33fdb8b5},
-  {0xd3f7, 0x33fdb8b6},
-  {0xd3f8, 0x33fdb8b7},
-  {0xd3f9, 0x33fdb8b8},
-  {0xd3fa, 0x33fdb8b9},
-  {0xd3fb, 0x33fdbcb0},
-  {0xd3fc, 0x33fdbcb1},
-  {0xd3fd, 0x33fdbcb2},
-  {0xd3fe, 0x33fdbcb3},
-  {0xd3ff, 0x33fdbcb4},
-  {0xd400, 0x33fdbcb5},
-  {0xd401, 0x33fdbcb6},
-  {0xd402, 0x33fdbcb7},
-  {0xd403, 0x33fdbcb8},
-  {0xd404, 0x33fdbcb9},
-  {0xd405, 0x33fe80b0},
-  {0xd406, 0x33fe80b1},
-  {0xd407, 0x33fe80b2},
-  {0xd408, 0x33fe80b3},
-  {0xd409, 0x33fe80b4},
-  {0xd40a, 0x33fe80b5},
-  {0xd40b, 0x33fe80b6},
-  {0xd40c, 0x33fe80b7},
-  {0xd40d, 0x33fe80b8},
-  {0xd40e, 0x33fe80b9},
-  {0xd40f, 0x33fe84b0},
-  {0xd410, 0x33fe84b1},
-  {0xd411, 0x33fe84b2},
-  {0xd412, 0x33fe84b3},
-  {0xd413, 0x33fe84b4},
-  {0xd414, 0x33fe84b5},
-  {0xd415, 0x33fe84b6},
-  {0xd416, 0x33fe84b7},
-  {0xd417, 0x33fe84b8},
-  {0xd418, 0x33fe84b9},
-  {0xd419, 0x33fe88b0},
-  {0xd41a, 0x33fe88b1},
-  {0xd41b, 0x33fe88b2},
-  {0xd41c, 0x33fe88b3},
-  {0xd41d, 0x33fe88b4},
-  {0xd41e, 0x33fe88b5},
-  {0xd41f, 0x33fe88b6},
-  {0xd420, 0x33fe88b7},
-  {0xd421, 0x33fe88b8},
-  {0xd422, 0x33fe88b9},
-  {0xd423, 0x33fe8cb0},
-  {0xd424, 0x33fe8cb1},
-  {0xd425, 0x33fe8cb2},
-  {0xd426, 0x33fe8cb3},
-  {0xd427, 0x33fe8cb4},
-  {0xd428, 0x33fe8cb5},
-  {0xd429, 0x33fe8cb6},
-  {0xd42a, 0x33fe8cb7},
-  {0xd42b, 0x33fe8cb8},
-  {0xd42c, 0x33fe8cb9},
-  {0xd42d, 0x33fe90b0},
-  {0xd42e, 0x33fe90b1},
-  {0xd42f, 0x33fe90b2},
-  {0xd430, 0x33fe90b3},
-  {0xd431, 0x33fe90b4},
-  {0xd432, 0x33fe90b5},
-  {0xd433, 0x33fe90b6},
-  {0xd434, 0x33fe90b7},
-  {0xd435, 0x33fe90b8},
-  {0xd436, 0x33fe90b9},
-  {0xd437, 0x33fe94b0},
-  {0xd438, 0x33fe94b1},
-  {0xd439, 0x33fe94b2},
-  {0xd43a, 0x33fe94b3},
-  {0xd43b, 0x33fe94b4},
-  {0xd43c, 0x33fe94b5},
-  {0xd43d, 0x33fe94b6},
-  {0xd43e, 0x33fe94b7},
-  {0xd43f, 0x33fe94b8},
-  {0xd440, 0x33fe94b9},
-  {0xd441, 0x33fe98b0},
-  {0xd442, 0x33fe98b1},
-  {0xd443, 0x33fe98b2},
-  {0xd444, 0x33fe98b3},
-  {0xd445, 0x33fe98b4},
-  {0xd446, 0x33fe98b5},
-  {0xd447, 0x33fe98b6},
-  {0xd448, 0x33fe98b7},
-  {0xd449, 0x33fe98b8},
-  {0xd44a, 0x33fe98b9},
-  {0xd44b, 0x33fe9cb0},
-  {0xd44c, 0x33fe9cb1},
-  {0xd44d, 0x33fe9cb2},
-  {0xd44e, 0x33fe9cb3},
-  {0xd44f, 0x33fe9cb4},
-  {0xd450, 0x33fe9cb5},
-  {0xd451, 0x33fe9cb6},
-  {0xd452, 0x33fe9cb7},
-  {0xd453, 0x33fe9cb8},
-  {0xd454, 0x33fe9cb9},
-  {0xd455, 0x33fea0b0},
-  {0xd456, 0x33fea0b1},
-  {0xd457, 0x33fea0b2},
-  {0xd458, 0x33fea0b3},
-  {0xd459, 0x33fea0b4},
-  {0xd45a, 0x33fea0b5},
-  {0xd45b, 0x33fea0b6},
-  {0xd45c, 0x33fea0b7},
-  {0xd45d, 0x33fea0b8},
-  {0xd45e, 0x33fea0b9},
-  {0xd45f, 0x33fea4b0},
-  {0xd460, 0x33fea4b1},
-  {0xd461, 0x33fea4b2},
-  {0xd462, 0x33fea4b3},
-  {0xd463, 0x33fea4b4},
-  {0xd464, 0x33fea4b5},
-  {0xd465, 0x33fea4b6},
-  {0xd466, 0x33fea4b7},
-  {0xd467, 0x33fea4b8},
-  {0xd468, 0x33fea4b9},
-  {0xd469, 0x33fea8b0},
-  {0xd46a, 0x33fea8b1},
-  {0xd46b, 0x33fea8b2},
-  {0xd46c, 0x33fea8b3},
-  {0xd46d, 0x33fea8b4},
-  {0xd46e, 0x33fea8b5},
-  {0xd46f, 0x33fea8b6},
-  {0xd470, 0x33fea8b7},
-  {0xd471, 0x33fea8b8},
-  {0xd472, 0x33fea8b9},
-  {0xd473, 0x33feacb0},
-  {0xd474, 0x33feacb1},
-  {0xd475, 0x33feacb2},
-  {0xd476, 0x33feacb3},
-  {0xd477, 0x33feacb4},
-  {0xd478, 0x33feacb5},
-  {0xd479, 0x33feacb6},
-  {0xd47a, 0x33feacb7},
-  {0xd47b, 0x33feacb8},
-  {0xd47c, 0x33feacb9},
-  {0xd47d, 0x33feb0b0},
-  {0xd47e, 0x33feb0b1},
-  {0xd47f, 0x33feb0b2},
-  {0xd480, 0x33feb0b3},
-  {0xd481, 0x33feb0b4},
-  {0xd482, 0x33feb0b5},
-  {0xd483, 0x33feb0b6},
-  {0xd484, 0x33feb0b7},
-  {0xd485, 0x33feb0b8},
-  {0xd486, 0x33feb0b9},
-  {0xd487, 0x33feb4b0},
-  {0xd488, 0x33feb4b1},
-  {0xd489, 0x33feb4b2},
-  {0xd48a, 0x33feb4b3},
-  {0xd48b, 0x33feb4b4},
-  {0xd48c, 0x33feb4b5},
-  {0xd48d, 0x33feb4b6},
-  {0xd48e, 0x33feb4b7},
-  {0xd48f, 0x33feb4b8},
-  {0xd490, 0x33feb4b9},
-  {0xd491, 0x33feb8b0},
-  {0xd492, 0x33feb8b1},
-  {0xd493, 0x33feb8b2},
-  {0xd494, 0x33feb8b3},
-  {0xd495, 0x33feb8b4},
-  {0xd496, 0x33feb8b5},
-  {0xd497, 0x33feb8b6},
-  {0xd498, 0x33feb8b7},
-  {0xd499, 0x33feb8b8},
-  {0xd49a, 0x33feb8b9},
-  {0xd49b, 0x33febcb0},
-  {0xd49c, 0x33febcb1},
-  {0xd49d, 0x33febcb2},
-  {0xd49e, 0x33febcb3},
-  {0xd49f, 0x33febcb4},
-  {0xd4a0, 0x33febcb5},
-  {0xd4a1, 0x33febcb6},
-  {0xd4a2, 0x33febcb7},
-  {0xd4a3, 0x33febcb8},
-  {0xd4a4, 0x33febcb9},
-  {0xd4a5, 0x33ff80b0},
-  {0xd4a6, 0x33ff80b1},
-  {0xd4a7, 0x33ff80b2},
-  {0xd4a8, 0x33ff80b3},
-  {0xd4a9, 0x33ff80b4},
-  {0xd4aa, 0x33ff80b5},
-  {0xd4ab, 0x33ff80b6},
-  {0xd4ac, 0x33ff80b7},
-  {0xd4ad, 0x33ff80b8},
-  {0xd4ae, 0x33ff80b9},
-  {0xd4af, 0x33ff84b0},
-  {0xd4b0, 0x33ff84b1},
-  {0xd4b1, 0x33ff84b2},
-  {0xd4b2, 0x33ff84b3},
-  {0xd4b3, 0x33ff84b4},
-  {0xd4b4, 0x33ff84b5},
-  {0xd4b5, 0x33ff84b6},
-  {0xd4b6, 0x33ff84b7},
-  {0xd4b7, 0x33ff84b8},
-  {0xd4b8, 0x33ff84b9},
-  {0xd4b9, 0x33ff88b0},
-  {0xd4ba, 0x33ff88b1},
-  {0xd4bb, 0x33ff88b2},
-  {0xd4bc, 0x33ff88b3},
-  {0xd4bd, 0x33ff88b4},
-  {0xd4be, 0x33ff88b5},
-  {0xd4bf, 0x33ff88b6},
-  {0xd4c0, 0x33ff88b7},
-  {0xd4c1, 0x33ff88b8},
-  {0xd4c2, 0x33ff88b9},
-  {0xd4c3, 0x33ff8cb0},
-  {0xd4c4, 0x33ff8cb1},
-  {0xd4c5, 0x33ff8cb2},
-  {0xd4c6, 0x33ff8cb3},
-  {0xd4c7, 0x33ff8cb4},
-  {0xd4c8, 0x33ff8cb5},
-  {0xd4c9, 0x33ff8cb6},
-  {0xd4ca, 0x33ff8cb7},
-  {0xd4cb, 0x33ff8cb8},
-  {0xd4cc, 0x33ff8cb9},
-  {0xd4cd, 0x33ff90b0},
-  {0xd4ce, 0x33ff90b1},
-  {0xd4cf, 0x33ff90b2},
-  {0xd4d0, 0x33ff90b3},
-  {0xd4d1, 0x33ff90b4},
-  {0xd4d2, 0x33ff90b5},
-  {0xd4d3, 0x33ff90b6},
-  {0xd4d4, 0x33ff90b7},
-  {0xd4d5, 0x33ff90b8},
-  {0xd4d6, 0x33ff90b9},
-  {0xd4d7, 0x33ff94b0},
-  {0xd4d8, 0x33ff94b1},
-  {0xd4d9, 0x33ff94b2},
-  {0xd4da, 0x33ff94b3},
-  {0xd4db, 0x33ff94b4},
-  {0xd4dc, 0x33ff94b5},
-  {0xd4dd, 0x33ff94b6},
-  {0xd4de, 0x33ff94b7},
-  {0xd4df, 0x33ff94b8},
-  {0xd4e0, 0x33ff94b9},
-  {0xd4e1, 0x33ff98b0},
-  {0xd4e2, 0x33ff98b1},
-  {0xd4e3, 0x33ff98b2},
-  {0xd4e4, 0x33ff98b3},
-  {0xd4e5, 0x33ff98b4},
-  {0xd4e6, 0x33ff98b5},
-  {0xd4e7, 0x33ff98b6},
-  {0xd4e8, 0x33ff98b7},
-  {0xd4e9, 0x33ff98b8},
-  {0xd4ea, 0x33ff98b9},
-  {0xd4eb, 0x33ff9cb0},
-  {0xd4ec, 0x33ff9cb1},
-  {0xd4ed, 0x33ff9cb2},
-  {0xd4ee, 0x33ff9cb3},
-  {0xd4ef, 0x33ff9cb4},
-  {0xd4f0, 0x33ff9cb5},
-  {0xd4f1, 0x33ff9cb6},
-  {0xd4f2, 0x33ff9cb7},
-  {0xd4f3, 0x33ff9cb8},
-  {0xd4f4, 0x33ff9cb9},
-  {0xd4f5, 0x33ffa0b0},
-  {0xd4f6, 0x33ffa0b1},
-  {0xd4f7, 0x33ffa0b2},
-  {0xd4f8, 0x33ffa0b3},
-  {0xd4f9, 0x33ffa0b4},
-  {0xd4fa, 0x33ffa0b5},
-  {0xd4fb, 0x33ffa0b6},
-  {0xd4fc, 0x33ffa0b7},
-  {0xd4fd, 0x33ffa0b8},
-  {0xd4fe, 0x33ffa0b9},
-  {0xd4ff, 0x33ffa4b0},
-  {0xd500, 0x33ffa4b1},
-  {0xd501, 0x33ffa4b2},
-  {0xd502, 0x33ffa4b3},
-  {0xd503, 0x33ffa4b4},
-  {0xd504, 0x33ffa4b5},
-  {0xd505, 0x33ffa4b6},
-  {0xd506, 0x33ffa4b7},
-  {0xd507, 0x33ffa4b8},
-  {0xd508, 0x33ffa4b9},
-  {0xd509, 0x33ffa8b0},
-  {0xd50a, 0x33ffa8b1},
-  {0xd50b, 0x33ffa8b2},
-  {0xd50c, 0x33ffa8b3},
-  {0xd50d, 0x33ffa8b4},
-  {0xd50e, 0x33ffa8b5},
-  {0xd50f, 0x33ffa8b6},
-  {0xd510, 0x33ffa8b7},
-  {0xd511, 0x33ffa8b8},
-  {0xd512, 0x33ffa8b9},
-  {0xd513, 0x33ffacb0},
-  {0xd514, 0x33ffacb1},
-  {0xd515, 0x33ffacb2},
-  {0xd516, 0x33ffacb3},
-  {0xd517, 0x33ffacb4},
-  {0xd518, 0x33ffacb5},
-  {0xd519, 0x33ffacb6},
-  {0xd51a, 0x33ffacb7},
-  {0xd51b, 0x33ffacb8},
-  {0xd51c, 0x33ffacb9},
-  {0xd51d, 0x33ffb0b0},
-  {0xd51e, 0x33ffb0b1},
-  {0xd51f, 0x33ffb0b2},
-  {0xd520, 0x33ffb0b3},
-  {0xd521, 0x33ffb0b4},
-  {0xd522, 0x33ffb0b5},
-  {0xd523, 0x33ffb0b6},
-  {0xd524, 0x33ffb0b7},
-  {0xd525, 0x33ffb0b8},
-  {0xd526, 0x33ffb0b9},
-  {0xd527, 0x33ffb4b0},
-  {0xd528, 0x33ffb4b1},
-  {0xd529, 0x33ffb4b2},
-  {0xd52a, 0x33ffb4b3},
-  {0xd52b, 0x33ffb4b4},
-  {0xd52c, 0x33ffb4b5},
-  {0xd52d, 0x33ffb4b6},
-  {0xd52e, 0x33ffb4b7},
-  {0xd52f, 0x33ffb4b8},
-  {0xd530, 0x33ffb4b9},
-  {0xd531, 0x33ffb8b0},
-  {0xd532, 0x33ffb8b1},
-  {0xd533, 0x33ffb8b2},
-  {0xd534, 0x33ffb8b3},
-  {0xd535, 0x33ffb8b4},
-  {0xd536, 0x33ffb8b5},
-  {0xd537, 0x33ffb8b6},
-  {0xd538, 0x33ffb8b7},
-  {0xd539, 0x33ffb8b8},
-  {0xd53a, 0x33ffb8b9},
-  {0xd53b, 0x33e884b0},
-  {0xd53c, 0x33e884b1},
-  {0xd53d, 0x33e884b2},
-  {0xd53e, 0x33e884b3},
-  {0xd53f, 0x33e884b4},
-  {0xd540, 0x33e884b5},
-  {0xd541, 0x33e884b6},
-  {0xd542, 0x33e884b7},
-  {0xd543, 0x33e884b8},
-  {0xd544, 0x33e884b9},
-  {0xd545, 0x33e888b0},
-  {0xd546, 0x33e888b1},
-  {0xd547, 0x33e888b2},
-  {0xd548, 0x33e888b3},
-  {0xd549, 0x33e888b4},
-  {0xd54a, 0x33e888b5},
-  {0xd54b, 0x33e888b6},
-  {0xd54c, 0x33e888b7},
-  {0xd54d, 0x33e888b8},
-  {0xd54e, 0x33e888b9},
-  {0xd54f, 0x33e88cb0},
-  {0xd550, 0x33e88cb1},
-  {0xd551, 0x33e88cb2},
-  {0xd552, 0x33e88cb3},
-  {0xd553, 0x33e88cb4},
-  {0xd554, 0x33e88cb5},
-  {0xd555, 0x33e88cb6},
-  {0xd556, 0x33e88cb7},
-  {0xd557, 0x33e88cb8},
-  {0xd558, 0x33e88cb9},
-  {0xd559, 0x33e890b0},
-  {0xd55a, 0x33e890b1},
-  {0xd55b, 0x33e890b2},
-  {0xd55c, 0x33e890b3},
-  {0xd55d, 0x33e890b4},
-  {0xd55e, 0x33e890b5},
-  {0xd55f, 0x33e890b6},
-  {0xd560, 0x33e890b7},
-  {0xd561, 0x33e890b8},
-  {0xd562, 0x33e890b9},
-  {0xd563, 0x33e894b0},
-  {0xd564, 0x33e894b1},
-  {0xd565, 0x33e894b2},
-  {0xd566, 0x33e894b3},
-  {0xd567, 0x33e894b4},
-  {0xd568, 0x33e894b5},
-  {0xd569, 0x33e894b6},
-  {0xd56a, 0x33e894b7},
-  {0xd56b, 0x33e894b8},
-  {0xd56c, 0x33e894b9},
-  {0xd56d, 0x33e898b0},
-  {0xd56e, 0x33e898b1},
-  {0xd56f, 0x33e898b2},
-  {0xd570, 0x33e898b3},
-  {0xd571, 0x33e898b4},
-  {0xd572, 0x33e898b5},
-  {0xd573, 0x33e898b6},
-  {0xd574, 0x33e898b7},
-  {0xd575, 0x33e898b8},
-  {0xd576, 0x33e898b9},
-  {0xd577, 0x33e89cb0},
-  {0xd578, 0x33e89cb1},
-  {0xd579, 0x33e89cb2},
-  {0xd57a, 0x33e89cb3},
-  {0xd57b, 0x33e89cb4},
-  {0xd57c, 0x33e89cb5},
-  {0xd57d, 0x33e89cb6},
-  {0xd57e, 0x33e89cb7},
-  {0xd57f, 0x33e89cb8},
-  {0xd580, 0x33e89cb9},
-  {0xd581, 0x33e8a0b0},
-  {0xd582, 0x33e8a0b1},
-  {0xd583, 0x33e8a0b2},
-  {0xd584, 0x33e8a0b3},
-  {0xd585, 0x33e8a0b4},
-  {0xd586, 0x33e8a0b5},
-  {0xd587, 0x33e8a0b6},
-  {0xd588, 0x33e8a0b7},
-  {0xd589, 0x33e8a0b8},
-  {0xd58a, 0x33e8a0b9},
-  {0xd58b, 0x33e8a4b0},
-  {0xd58c, 0x33e8a4b1},
-  {0xd58d, 0x33e8a4b2},
-  {0xd58e, 0x33e8a4b3},
-  {0xd58f, 0x33e8a4b4},
-  {0xd590, 0x33e8a4b5},
-  {0xd591, 0x33e8a4b6},
-  {0xd592, 0x33e8a4b7},
-  {0xd593, 0x33e8a4b8},
-  {0xd594, 0x33e8a4b9},
-  {0xd595, 0x33e8a8b0},
-  {0xd596, 0x33e8a8b1},
-  {0xd597, 0x33e8a8b2},
-  {0xd598, 0x33e8a8b3},
-  {0xd599, 0x33e8a8b4},
-  {0xd59a, 0x33e8a8b5},
-  {0xd59b, 0x33e8a8b6},
-  {0xd59c, 0x33e8a8b7},
-  {0xd59d, 0x33e8a8b8},
-  {0xd59e, 0x33e8a8b9},
-  {0xd59f, 0x33e8acb0},
-  {0xd5a0, 0x33e8acb1},
-  {0xd5a1, 0x33e8acb2},
-  {0xd5a2, 0x33e8acb3},
-  {0xd5a3, 0x33e8acb4},
-  {0xd5a4, 0x33e8acb5},
-  {0xd5a5, 0x33e8acb6},
-  {0xd5a6, 0x33e8acb7},
-  {0xd5a7, 0x33e8acb8},
-  {0xd5a8, 0x33e8acb9},
-  {0xd5a9, 0x33e8b0b0},
-  {0xd5aa, 0x33e8b0b1},
-  {0xd5ab, 0x33e8b0b2},
-  {0xd5ac, 0x33e8b0b3},
-  {0xd5ad, 0x33e8b0b4},
-  {0xd5ae, 0x33e8b0b5},
-  {0xd5af, 0x33e8b0b6},
-  {0xd5b0, 0x33e8b0b7},
-  {0xd5b1, 0x33e8b0b8},
-  {0xd5b2, 0x33e8b0b9},
-  {0xd5b3, 0x33e8b4b0},
-  {0xd5b4, 0x33e8b4b1},
-  {0xd5b5, 0x33e8b4b2},
-  {0xd5b6, 0x33e8b4b3},
-  {0xd5b7, 0x33e8b4b4},
-  {0xd5b8, 0x33e8b4b5},
-  {0xd5b9, 0x33e8b4b6},
-  {0xd5ba, 0x33e8b4b7},
-  {0xd5bb, 0x33e8b4b8},
-  {0xd5bc, 0x33e8b4b9},
-  {0xd5bd, 0x33e8b8b0},
-  {0xd5be, 0x33e8b8b1},
-  {0xd5bf, 0x33e8b8b2},
-  {0xd5c0, 0x33e8b8b3},
-  {0xd5c1, 0x33e8b8b4},
-  {0xd5c2, 0x33e8b8b5},
-  {0xd5c3, 0x33e8b8b6},
-  {0xd5c4, 0x33e8b8b7},
-  {0xd5c5, 0x33e8b8b8},
-  {0xd5c6, 0x33e8b8b9},
-  {0xd5c7, 0x33e8bcb0},
-  {0xd5c8, 0x33e8bcb1},
-  {0xd5c9, 0x33e8bcb2},
-  {0xd5ca, 0x33e8bcb3},
-  {0xd5cb, 0x33e8bcb4},
-  {0xd5cc, 0x33e8bcb5},
-  {0xd5cd, 0x33e8bcb6},
-  {0xd5ce, 0x33e8bcb7},
-  {0xd5cf, 0x33e8bcb8},
-  {0xd5d0, 0x33e8bcb9},
-  {0xd5d1, 0x33e980b0},
-  {0xd5d2, 0x33e980b1},
-  {0xd5d3, 0x33e980b2},
-  {0xd5d4, 0x33e980b3},
-  {0xd5d5, 0x33e980b4},
-  {0xd5d6, 0x33e980b5},
-  {0xd5d7, 0x33e980b6},
-  {0xd5d8, 0x33e980b7},
-  {0xd5d9, 0x33e980b8},
-  {0xd5da, 0x33e980b9},
-  {0xd5db, 0x33e984b0},
-  {0xd5dc, 0x33e984b1},
-  {0xd5dd, 0x33e984b2},
-  {0xd5de, 0x33e984b3},
-  {0xd5df, 0x33e984b4},
-  {0xd5e0, 0x33e984b5},
-  {0xd5e1, 0x33e984b6},
-  {0xd5e2, 0x33e984b7},
-  {0xd5e3, 0x33e984b8},
-  {0xd5e4, 0x33e984b9},
-  {0xd5e5, 0x33e988b0},
-  {0xd5e6, 0x33e988b1},
-  {0xd5e7, 0x33e988b2},
-  {0xd5e8, 0x33e988b3},
-  {0xd5e9, 0x33e988b4},
-  {0xd5ea, 0x33e988b5},
-  {0xd5eb, 0x33e988b6},
-  {0xd5ec, 0x33e988b7},
-  {0xd5ed, 0x33e988b8},
-  {0xd5ee, 0x33e988b9},
-  {0xd5ef, 0x33e98cb0},
-  {0xd5f0, 0x33e98cb1},
-  {0xd5f1, 0x33e98cb2},
-  {0xd5f2, 0x33e98cb3},
-  {0xd5f3, 0x33e98cb4},
-  {0xd5f4, 0x33e98cb5},
-  {0xd5f5, 0x33e98cb6},
-  {0xd5f6, 0x33e98cb7},
-  {0xd5f7, 0x33e98cb8},
-  {0xd5f8, 0x33e98cb9},
-  {0xd5f9, 0x33e990b0},
-  {0xd5fa, 0x33e990b1},
-  {0xd5fb, 0x33e990b2},
-  {0xd5fc, 0x33e990b3},
-  {0xd5fd, 0x33e990b4},
-  {0xd5fe, 0x33e990b5},
-  {0xd5ff, 0x33e990b6},
-  {0xd600, 0x33e990b7},
-  {0xd601, 0x33e990b8},
-  {0xd602, 0x33e990b9},
-  {0xd603, 0x33e994b0},
-  {0xd604, 0x33e994b1},
-  {0xd605, 0x33e994b2},
-  {0xd606, 0x33e994b3},
-  {0xd607, 0x33e994b4},
-  {0xd608, 0x33e994b5},
-  {0xd609, 0x33e994b6},
-  {0xd60a, 0x33e994b7},
-  {0xd60b, 0x33e994b8},
-  {0xd60c, 0x33e994b9},
-  {0xd60d, 0x33e998b0},
-  {0xd60e, 0x33e998b1},
-  {0xd60f, 0x33e998b2},
-  {0xd610, 0x33e998b3},
-  {0xd611, 0x33e998b4},
-  {0xd612, 0x33e998b5},
-  {0xd613, 0x33e998b6},
-  {0xd614, 0x33e998b7},
-  {0xd615, 0x33e998b8},
-  {0xd616, 0x33e998b9},
-  {0xd617, 0x33e99cb0},
-  {0xd618, 0x33e99cb1},
-  {0xd619, 0x33e99cb2},
-  {0xd61a, 0x33e99cb3},
-  {0xd61b, 0x33e99cb4},
-  {0xd61c, 0x33e99cb5},
-  {0xd61d, 0x33e99cb6},
-  {0xd61e, 0x33e99cb7},
-  {0xd61f, 0x33e99cb8},
-  {0xd620, 0x33e99cb9},
-  {0xd621, 0x33e9a0b0},
-  {0xd622, 0x33e9a0b1},
-  {0xd623, 0x33e9a0b2},
-  {0xd624, 0x33e9a0b3},
-  {0xd625, 0x33e9a0b4},
-  {0xd626, 0x33e9a0b5},
-  {0xd627, 0x33e9a0b6},
-  {0xd628, 0x33e9a0b7},
-  {0xd629, 0x33e9a0b8},
-  {0xd62a, 0x33e9a0b9},
-  {0xd62b, 0x33e9a4b0},
-  {0xd62c, 0x33e9a4b1},
-  {0xd62d, 0x33e9a4b2},
-  {0xd62e, 0x33e9a4b3},
-  {0xd62f, 0x33e9a4b4},
-  {0xd630, 0x33e9a4b5},
-  {0xd631, 0x33e9a4b6},
-  {0xd632, 0x33e9a4b7},
-  {0xd633, 0x33e9a4b8},
-  {0xd634, 0x33e9a4b9},
-  {0xd635, 0x33e9a8b0},
-  {0xd636, 0x33e9a8b1},
-  {0xd637, 0x33e9a8b2},
-  {0xd638, 0x33e9a8b3},
-  {0xd639, 0x33e9a8b4},
-  {0xd63a, 0x33e9a8b5},
-  {0xd63b, 0x33e9a8b6},
-  {0xd63c, 0x33e9a8b7},
-  {0xd63d, 0x33e9a8b8},
-  {0xd63e, 0x33e9a8b9},
-  {0xd63f, 0x33e9acb0},
-  {0xd640, 0x33e9acb1},
-  {0xd641, 0x33e9acb2},
-  {0xd642, 0x33e9acb3},
-  {0xd643, 0x33e9acb4},
-  {0xd644, 0x33e9acb5},
-  {0xd645, 0x33e9acb6},
-  {0xd646, 0x33e9acb7},
-  {0xd647, 0x33e9acb8},
-  {0xd648, 0x33e9acb9},
-  {0xd649, 0x33e9b0b0},
-  {0xd64a, 0x33e9b0b1},
-  {0xd64b, 0x33e9b0b2},
-  {0xd64c, 0x33e9b0b3},
-  {0xd64d, 0x33e9b0b4},
-  {0xd64e, 0x33e9b0b5},
-  {0xd64f, 0x33e9b0b6},
-  {0xd650, 0x33e9b0b7},
-  {0xd651, 0x33e9b0b8},
-  {0xd652, 0x33e9b0b9},
-  {0xd653, 0x33e9b4b0},
-  {0xd654, 0x33e9b4b1},
-  {0xd655, 0x33e9b4b2},
-  {0xd656, 0x33e9b4b3},
-  {0xd657, 0x33e9b4b4},
-  {0xd658, 0x33e9b4b5},
-  {0xd659, 0x33e9b4b6},
-  {0xd65a, 0x33e9b4b7},
-  {0xd65b, 0x33e9b4b8},
-  {0xd65c, 0x33e9b4b9},
-  {0xd65d, 0x33e9b8b0},
-  {0xd65e, 0x33e9b8b1},
-  {0xd65f, 0x33e9b8b2},
-  {0xd660, 0x33e9b8b3},
-  {0xd661, 0x33e9b8b4},
-  {0xd662, 0x33e9b8b5},
-  {0xd663, 0x33e9b8b6},
-  {0xd664, 0x33e9b8b7},
-  {0xd665, 0x33e9b8b8},
-  {0xd666, 0x33e9b8b9},
-  {0xd667, 0x33e9bcb0},
-  {0xd668, 0x33e9bcb1},
-  {0xd669, 0x33e9bcb2},
-  {0xd66a, 0x33e9bcb3},
-  {0xd66b, 0x33e9bcb4},
-  {0xd66c, 0x33e9bcb5},
-  {0xd66d, 0x33e9bcb6},
-  {0xd66e, 0x33e9bcb7},
-  {0xd66f, 0x33e9bcb8},
-  {0xd670, 0x33e9bcb9},
-  {0xd671, 0x33ea80b0},
-  {0xd672, 0x33ea80b1},
-  {0xd673, 0x33ea80b2},
-  {0xd674, 0x33ea80b3},
-  {0xd675, 0x33ea80b4},
-  {0xd676, 0x33ea80b5},
-  {0xd677, 0x33ea80b6},
-  {0xd678, 0x33ea80b7},
-  {0xd679, 0x33ea80b8},
-  {0xd67a, 0x33ea80b9},
-  {0xd67b, 0x33ea84b0},
-  {0xd67c, 0x33ea84b1},
-  {0xd67d, 0x33ea84b2},
-  {0xd67e, 0x33ea84b3},
-  {0xd67f, 0x33ea84b4},
-  {0xd680, 0x33ea84b5},
-  {0xd681, 0x33ea84b6},
-  {0xd682, 0x33ea84b7},
-  {0xd683, 0x33ea84b8},
-  {0xd684, 0x33ea84b9},
-  {0xd685, 0x33ea88b0},
-  {0xd686, 0x33ea88b1},
-  {0xd687, 0x33ea88b2},
-  {0xd688, 0x33ea88b3},
-  {0xd689, 0x33ea88b4},
-  {0xd68a, 0x33ea88b5},
-  {0xd68b, 0x33ea88b6},
-  {0xd68c, 0x33ea88b7},
-  {0xd68d, 0x33ea88b8},
-  {0xd68e, 0x33ea88b9},
-  {0xd68f, 0x33ea8cb0},
-  {0xd690, 0x33ea8cb1},
-  {0xd691, 0x33ea8cb2},
-  {0xd692, 0x33ea8cb3},
-  {0xd693, 0x33ea8cb4},
-  {0xd694, 0x33ea8cb5},
-  {0xd695, 0x33ea8cb6},
-  {0xd696, 0x33ea8cb7},
-  {0xd697, 0x33ea8cb8},
-  {0xd698, 0x33ea8cb9},
-  {0xd699, 0x33ea90b0},
-  {0xd69a, 0x33ea90b1},
-  {0xd69b, 0x33ea90b2},
-  {0xd69c, 0x33ea90b3},
-  {0xd69d, 0x33ea90b4},
-  {0xd69e, 0x33ea90b5},
-  {0xd69f, 0x33ea90b6},
-  {0xd6a0, 0x33ea90b7},
-  {0xd6a1, 0x33ea90b8},
-  {0xd6a2, 0x33ea90b9},
-  {0xd6a3, 0x33ea94b0},
-  {0xd6a4, 0x33ea94b1},
-  {0xd6a5, 0x33ea94b2},
-  {0xd6a6, 0x33ea94b3},
-  {0xd6a7, 0x33ea94b4},
-  {0xd6a8, 0x33ea94b5},
-  {0xd6a9, 0x33ea94b6},
-  {0xd6aa, 0x33ea94b7},
-  {0xd6ab, 0x33ea94b8},
-  {0xd6ac, 0x33ea94b9},
-  {0xd6ad, 0x33ea98b0},
-  {0xd6ae, 0x33ea98b1},
-  {0xd6af, 0x33ea98b2},
-  {0xd6b0, 0x33ea98b3},
-  {0xd6b1, 0x33ea98b4},
-  {0xd6b2, 0x33ea98b5},
-  {0xd6b3, 0x33ea98b6},
-  {0xd6b4, 0x33ea98b7},
-  {0xd6b5, 0x33ea98b8},
-  {0xd6b6, 0x33ea98b9},
-  {0xd6b7, 0x33ea9cb0},
-  {0xd6b8, 0x33ea9cb1},
-  {0xd6b9, 0x33ea9cb2},
-  {0xd6ba, 0x33ea9cb3},
-  {0xd6bb, 0x33ea9cb4},
-  {0xd6bc, 0x33ea9cb5},
-  {0xd6bd, 0x33ea9cb6},
-  {0xd6be, 0x33ea9cb7},
-  {0xd6bf, 0x33ea9cb8},
-  {0xd6c0, 0x33ea9cb9},
-  {0xd6c1, 0x33eaa0b0},
-  {0xd6c2, 0x33eaa0b1},
-  {0xd6c3, 0x33eaa0b2},
-  {0xd6c4, 0x33eaa0b3},
-  {0xd6c5, 0x33eaa0b4},
-  {0xd6c6, 0x33eaa0b5},
-  {0xd6c7, 0x33eaa0b6},
-  {0xd6c8, 0x33eaa0b7},
-  {0xd6c9, 0x33eaa0b8},
-  {0xd6ca, 0x33eaa0b9},
-  {0xd6cb, 0x33eaa4b0},
-  {0xd6cc, 0x33eaa4b1},
-  {0xd6cd, 0x33eaa4b2},
-  {0xd6ce, 0x33eaa4b3},
-  {0xd6cf, 0x33eaa4b4},
-  {0xd6d0, 0x33eaa4b5},
-  {0xd6d1, 0x33eaa4b6},
-  {0xd6d2, 0x33eaa4b7},
-  {0xd6d3, 0x33eaa4b8},
-  {0xd6d4, 0x33eaa4b9},
-  {0xd6d5, 0x33eaa8b0},
-  {0xd6d6, 0x33eaa8b1},
-  {0xd6d7, 0x33eaa8b2},
-  {0xd6d8, 0x33eaa8b3},
-  {0xd6d9, 0x33eaa8b4},
-  {0xd6da, 0x33eaa8b5},
-  {0xd6db, 0x33eaa8b6},
-  {0xd6dc, 0x33eaa8b7},
-  {0xd6dd, 0x33eaa8b8},
-  {0xd6de, 0x33eaa8b9},
-  {0xd6df, 0x33eaacb0},
-  {0xd6e0, 0x33eaacb1},
-  {0xd6e1, 0x33eaacb2},
-  {0xd6e2, 0x33eaacb3},
-  {0xd6e3, 0x33eaacb4},
-  {0xd6e4, 0x33eaacb5},
-  {0xd6e5, 0x33eaacb6},
-  {0xd6e6, 0x33eaacb7},
-  {0xd6e7, 0x33eaacb8},
-  {0xd6e8, 0x33eaacb9},
-  {0xd6e9, 0x33eab0b0},
-  {0xd6ea, 0x33eab0b1},
-  {0xd6eb, 0x33eab0b2},
-  {0xd6ec, 0x33eab0b3},
-  {0xd6ed, 0x33eab0b4},
-  {0xd6ee, 0x33eab0b5},
-  {0xd6ef, 0x33eab0b6},
-  {0xd6f0, 0x33eab0b7},
-  {0xd6f1, 0x33eab0b8},
-  {0xd6f2, 0x33eab0b9},
-  {0xd6f3, 0x33eab4b0},
-  {0xd6f4, 0x33eab4b1},
-  {0xd6f5, 0x33eab4b2},
-  {0xd6f6, 0x33eab4b3},
-  {0xd6f7, 0x33eab4b4},
-  {0xd6f8, 0x33eab4b5},
-  {0xd6f9, 0x33eab4b6},
-  {0xd6fa, 0x33eab4b7},
-  {0xd6fb, 0x33eab4b8},
-  {0xd6fc, 0x33eab4b9},
-  {0xd6fd, 0x33eab8b0},
-  {0xd6fe, 0x33eab8b1},
-  {0xd6ff, 0x33eab8b2},
-  {0xd700, 0x33eab8b3},
-  {0xd701, 0x33eab8b4},
-  {0xd702, 0x33eab8b5},
-  {0xd703, 0x33eab8b6},
-  {0xd704, 0x33eab8b7},
-  {0xd705, 0x33eab8b8},
-  {0xd706, 0x33eab8b9},
-  {0xd707, 0x33eabcb0},
-  {0xd708, 0x33eabcb1},
-  {0xd709, 0x33eabcb2},
-  {0xd70a, 0x33eabcb3},
-  {0xd70b, 0x33eabcb4},
-  {0xd70c, 0x33eabcb5},
-  {0xd70d, 0x33eabcb6},
-  {0xd70e, 0x33eabcb7},
-  {0xd70f, 0x33eabcb8},
-  {0xd710, 0x33eabcb9},
-  {0xd711, 0x33eb80b0},
-  {0xd712, 0x33eb80b1},
-  {0xd713, 0x33eb80b2},
-  {0xd714, 0x33eb80b3},
-  {0xd715, 0x33eb80b4},
-  {0xd716, 0x33eb80b5},
-  {0xd717, 0x33eb80b6},
-  {0xd718, 0x33eb80b7},
-  {0xd719, 0x33eb80b8},
-  {0xd71a, 0x33eb80b9},
-  {0xd71b, 0x33eb84b0},
-  {0xd71c, 0x33eb84b1},
-  {0xd71d, 0x33eb84b2},
-  {0xd71e, 0x33eb84b3},
-  {0xd71f, 0x33eb84b4},
-  {0xd720, 0x33eb84b5},
-  {0xd721, 0x33eb84b6},
-  {0xd722, 0x33eb84b7},
-  {0xd723, 0x33eb84b8},
-  {0xd724, 0x33eb84b9},
-  {0xd725, 0x33eb88b0},
-  {0xd726, 0x33eb88b1},
-  {0xd727, 0x33eb88b2},
-  {0xd728, 0x33eb88b3},
-  {0xd729, 0x33eb88b4},
-  {0xd72a, 0x33eb88b5},
-  {0xd72b, 0x33eb88b6},
-  {0xd72c, 0x33eb88b7},
-  {0xd72d, 0x33eb88b8},
-  {0xd72e, 0x33eb88b9},
-  {0xd72f, 0x33eb8cb0},
-  {0xd730, 0x33eb8cb1},
-  {0xd731, 0x33eb8cb2},
-  {0xd732, 0x33eb8cb3},
-  {0xd733, 0x33eb8cb4},
-  {0xd734, 0x33eb8cb5},
-  {0xd735, 0x33eb8cb6},
-  {0xd736, 0x33eb8cb7},
-  {0xd737, 0x33eb8cb8},
-  {0xd738, 0x33eb8cb9},
-  {0xd739, 0x33eb90b0},
-  {0xd73a, 0x33eb90b1},
-  {0xd73b, 0x33eb90b2},
-  {0xd73c, 0x33eb90b3},
-  {0xd73d, 0x33eb90b4},
-  {0xd73e, 0x33eb90b5},
-  {0xd73f, 0x33eb90b6},
-  {0xd740, 0x33eb90b7},
-  {0xd741, 0x33eb90b8},
-  {0xd742, 0x33eb90b9},
-  {0xd743, 0x33eb94b0},
-  {0xd744, 0x33eb94b1},
-  {0xd745, 0x33eb94b2},
-  {0xd746, 0x33eb94b3},
-  {0xd747, 0x33eb94b4},
-  {0xd748, 0x33eb94b5},
-  {0xd749, 0x33eb94b6},
-  {0xd74a, 0x33eb94b7},
-  {0xd74b, 0x33eb94b8},
-  {0xd74c, 0x33eb94b9},
-  {0xd74d, 0x33eb98b0},
-  {0xd74e, 0x33eb98b1},
-  {0xd74f, 0x33eb98b2},
-  {0xd750, 0x33eb98b3},
-  {0xd751, 0x33eb98b4},
-  {0xd752, 0x33eb98b5},
-  {0xd753, 0x33eb98b6},
-  {0xd754, 0x33eb98b7},
-  {0xd755, 0x33eb98b8},
-  {0xd756, 0x33eb98b9},
-  {0xd757, 0x33eb9cb0},
-  {0xd758, 0x33eb9cb1},
-  {0xd759, 0x33eb9cb2},
-  {0xd75a, 0x33eb9cb3},
-  {0xd75b, 0x33eb9cb4},
-  {0xd75c, 0x33eb9cb5},
-  {0xd75d, 0x33eb9cb6},
-  {0xd75e, 0x33eb9cb7},
-  {0xd75f, 0x33eb9cb8},
-  {0xd760, 0x33eb9cb9},
-  {0xd761, 0x33eba0b0},
-  {0xd762, 0x33eba0b1},
-  {0xd763, 0x33eba0b2},
-  {0xd764, 0x33eba0b3},
-  {0xd765, 0x33eba0b4},
-  {0xd766, 0x33eba0b5},
-  {0xd767, 0x33eba0b6},
-  {0xd768, 0x33eba0b7},
-  {0xd769, 0x33eba0b8},
-  {0xd76a, 0x33eba0b9},
-  {0xd76b, 0x33eba4b0},
-  {0xd76c, 0x33eba4b1},
-  {0xd76d, 0x33eba4b2},
-  {0xd76e, 0x33eba4b3},
-  {0xd76f, 0x33eba4b4},
-  {0xd770, 0x33eba4b5},
-  {0xd771, 0x33eba4b6},
-  {0xd772, 0x33eba4b7},
-  {0xd773, 0x33eba4b8},
-  {0xd774, 0x33eba4b9},
-  {0xd775, 0x33eba8b0},
-  {0xd776, 0x33eba8b1},
-  {0xd777, 0x33eba8b2},
-  {0xd778, 0x33eba8b3},
-  {0xd779, 0x33eba8b4},
-  {0xd77a, 0x33eba8b5},
-  {0xd77b, 0x33eba8b6},
-  {0xd77c, 0x33eba8b7},
-  {0xd77d, 0x33eba8b8},
-  {0xd77e, 0x33eba8b9},
-  {0xd77f, 0x33ebacb0},
-  {0xd780, 0x33ebacb1},
-  {0xd781, 0x33ebacb2},
-  {0xd782, 0x33ebacb3},
-  {0xd783, 0x33ebacb4},
-  {0xd784, 0x33ebacb5},
-  {0xd785, 0x33ebacb6},
-  {0xd786, 0x33ebacb7},
-  {0xd787, 0x33ebacb8},
-  {0xd788, 0x33ebacb9},
-  {0xd789, 0x33ebb0b0},
-  {0xd78a, 0x33ebb0b1},
-  {0xd78b, 0x33ebb0b2},
-  {0xd78c, 0x33ebb0b3},
-  {0xd78d, 0x33ebb0b4},
-  {0xd78e, 0x33ebb0b5},
-  {0xd78f, 0x33ebb0b6},
-  {0xd790, 0x33ebb0b7},
-  {0xd791, 0x33ebb0b8},
-  {0xd792, 0x33ebb0b9},
-  {0xd793, 0x33ebb4b0},
-  {0xd794, 0x33ebb4b1},
-  {0xd795, 0x33ebb4b2},
-  {0xd796, 0x33ebb4b3},
-  {0xd797, 0x33ebb4b4},
-  {0xd798, 0x33ebb4b5},
-  {0xd799, 0x33ebb4b6},
-  {0xd79a, 0x33ebb4b7},
-  {0xd79b, 0x33ebb4b8},
-  {0xd79c, 0x33ebb4b9},
-  {0xd79d, 0x33ebb8b0},
-  {0xd79e, 0x33ebb8b1},
-  {0xd79f, 0x33ebb8b2},
-  {0xd7a0, 0x33ebb8b3},
-  {0xd7a1, 0x33ebb8b4},
-  {0xd7a2, 0x33ebb8b5},
-  {0xd7a3, 0x33ebb8b6},
-  {0xd7a4, 0x33ebb8b7},
-  {0xd7a5, 0x33ebb8b8},
-  {0xd7a6, 0x33ebb8b9},
-  {0xd7a7, 0x33ebbcb0},
-  {0xd7a8, 0x33ebbcb1},
-  {0xd7a9, 0x33ebbcb2},
-  {0xd7aa, 0x33ebbcb3},
-  {0xd7ab, 0x33ebbcb4},
-  {0xd7ac, 0x33ebbcb5},
-  {0xd7ad, 0x33ebbcb6},
-  {0xd7ae, 0x33ebbcb7},
-  {0xd7af, 0x33ebbcb8},
-  {0xd7b0, 0x33ebbcb9},
-  {0xd7b1, 0x33ec80b0},
-  {0xd7b2, 0x33ec80b1},
-  {0xd7b3, 0x33ec80b2},
-  {0xd7b4, 0x33ec80b3},
-  {0xd7b5, 0x33ec80b4},
-  {0xd7b6, 0x33ec80b5},
-  {0xd7b7, 0x33ec80b6},
-  {0xd7b8, 0x33ec80b7},
-  {0xd7b9, 0x33ec80b8},
-  {0xd7ba, 0x33ec80b9},
-  {0xd7bb, 0x33ec84b0},
-  {0xd7bc, 0x33ec84b1},
-  {0xd7bd, 0x33ec84b2},
-  {0xd7be, 0x33ec84b3},
-  {0xd7bf, 0x33ec84b4},
-  {0xd7c0, 0x33ec84b5},
-  {0xd7c1, 0x33ec84b6},
-  {0xd7c2, 0x33ec84b7},
-  {0xd7c3, 0x33ec84b8},
-  {0xd7c4, 0x33ec84b9},
-  {0xd7c5, 0x33ec88b0},
-  {0xd7c6, 0x33ec88b1},
-  {0xd7c7, 0x33ec88b2},
-  {0xd7c8, 0x33ec88b3},
-  {0xd7c9, 0x33ec88b4},
-  {0xd7ca, 0x33ec88b5},
-  {0xd7cb, 0x33ec88b6},
-  {0xd7cc, 0x33ec88b7},
-  {0xd7cd, 0x33ec88b8},
-  {0xd7ce, 0x33ec88b9},
-  {0xd7cf, 0x33ec8cb0},
-  {0xd7d0, 0x33ec8cb1},
-  {0xd7d1, 0x33ec8cb2},
-  {0xd7d2, 0x33ec8cb3},
-  {0xd7d3, 0x33ec8cb4},
-  {0xd7d4, 0x33ec8cb5},
-  {0xd7d5, 0x33ec8cb6},
-  {0xd7d6, 0x33ec8cb7},
-  {0xd7d7, 0x33ec8cb8},
-  {0xd7d8, 0x33ec8cb9},
-  {0xd7d9, 0x33ec90b0},
-  {0xd7da, 0x33ec90b1},
-  {0xd7db, 0x33ec90b2},
-  {0xd7dc, 0x33ec90b3},
-  {0xd7dd, 0x33ec90b4},
-  {0xd7de, 0x33ec90b5},
-  {0xd7df, 0x33ec90b6},
-  {0xd7e0, 0x33ec90b7},
-  {0xd7e1, 0x33ec90b8},
-  {0xd7e2, 0x33ec90b9},
-  {0xd7e3, 0x33ec94b0},
-  {0xd7e4, 0x33ec94b1},
-  {0xd7e5, 0x33ec94b2},
-  {0xd7e6, 0x33ec94b3},
-  {0xd7e7, 0x33ec94b4},
-  {0xd7e8, 0x33ec94b5},
-  {0xd7e9, 0x33ec94b6},
-  {0xd7ea, 0x33ec94b7},
-  {0xd7eb, 0x33ec94b8},
-  {0xd7ec, 0x33ec94b9},
-  {0xd7ed, 0x33ec98b0},
-  {0xd7ee, 0x33ec98b1},
-  {0xd7ef, 0x33ec98b2},
-  {0xd7f0, 0x33ec98b3},
-  {0xd7f1, 0x33ec98b4},
-  {0xd7f2, 0x33ec98b5},
-  {0xd7f3, 0x33ec98b6},
-  {0xd7f4, 0x33ec98b7},
-  {0xd7f5, 0x33ec98b8},
-  {0xd7f6, 0x33ec98b9},
-  {0xd7f7, 0x33ec9cb0},
-  {0xd7f8, 0x33ec9cb1},
-  {0xd7f9, 0x33ec9cb2},
-  {0xd7fa, 0x33ec9cb3},
-  {0xd7fb, 0x33ec9cb4},
-  {0xd7fc, 0x33ec9cb5},
-  {0xd7fd, 0x33ec9cb6},
-  {0xd7fe, 0x33ec9cb7},
-  {0xd7ff, 0x33ec9cb8},
-  {0xe000, 0xeaaaa1},
-  {0xe001, 0xeaaaa2},
-  {0xe002, 0xeaaaa3},
-  {0xe003, 0xeaaaa4},
-  {0xe004, 0xeaaaa5},
-  {0xe005, 0xeaaaa6},
-  {0xe006, 0xeaaaa7},
-  {0xe007, 0xeaaaa8},
-  {0xe008, 0xeaaaa9},
-  {0xe009, 0xeaaaaa},
-  {0xe00a, 0xeaaaab},
-  {0xe00b, 0xeaaaac},
-  {0xe00c, 0xeaaaad},
-  {0xe00d, 0xeaaaae},
-  {0xe00e, 0xeaaaaf},
-  {0xe00f, 0xeaaab0},
-  {0xe010, 0xeaaab1},
-  {0xe011, 0xeaaab2},
-  {0xe012, 0xeaaab3},
-  {0xe013, 0xeaaab4},
-  {0xe014, 0xeaaab5},
-  {0xe015, 0xeaaab6},
-  {0xe016, 0xeaaab7},
-  {0xe017, 0xeaaab8},
-  {0xe018, 0xeaaab9},
-  {0xe019, 0xeaaaba},
-  {0xe01a, 0xeaaabb},
-  {0xe01b, 0xeaaabc},
-  {0xe01c, 0xeaaabd},
-  {0xe01d, 0xeaaabe},
-  {0xe01e, 0xeaaabf},
-  {0xe01f, 0xeaab80},
-  {0xe020, 0xeaab81},
-  {0xe021, 0xeaab82},
-  {0xe022, 0xeaab83},
-  {0xe023, 0xeaab84},
-  {0xe024, 0xeaab85},
-  {0xe025, 0xeaab86},
-  {0xe026, 0xeaab87},
-  {0xe027, 0xeaab88},
-  {0xe028, 0xeaab89},
-  {0xe029, 0xeaab8a},
-  {0xe02a, 0xeaab8b},
-  {0xe02b, 0xeaab8c},
-  {0xe02c, 0xeaab8d},
-  {0xe02d, 0xeaab8e},
-  {0xe02e, 0xeaab8f},
-  {0xe02f, 0xeaab90},
-  {0xe030, 0xeaab91},
-  {0xe031, 0xeaab92},
-  {0xe032, 0xeaab93},
-  {0xe033, 0xeaab94},
-  {0xe034, 0xeaab95},
-  {0xe035, 0xeaab96},
-  {0xe036, 0xeaab97},
-  {0xe037, 0xeaab98},
-  {0xe038, 0xeaab99},
-  {0xe039, 0xeaab9a},
-  {0xe03a, 0xeaab9b},
-  {0xe03b, 0xeaab9c},
-  {0xe03c, 0xeaab9d},
-  {0xe03d, 0xeaab9e},
-  {0xe03e, 0xeaab9f},
-  {0xe03f, 0xeaaba0},
-  {0xe040, 0xeaaba1},
-  {0xe041, 0xeaaba2},
-  {0xe042, 0xeaaba3},
-  {0xe043, 0xeaaba4},
-  {0xe044, 0xeaaba5},
-  {0xe045, 0xeaaba6},
-  {0xe046, 0xeaaba7},
-  {0xe047, 0xeaaba8},
-  {0xe048, 0xeaaba9},
-  {0xe049, 0xeaabaa},
-  {0xe04a, 0xeaabab},
-  {0xe04b, 0xeaabac},
-  {0xe04c, 0xeaabad},
-  {0xe04d, 0xeaabae},
-  {0xe04e, 0xeaabaf},
-  {0xe04f, 0xeaabb0},
-  {0xe050, 0xeaabb1},
-  {0xe051, 0xeaabb2},
-  {0xe052, 0xeaabb3},
-  {0xe053, 0xeaabb4},
-  {0xe054, 0xeaabb5},
-  {0xe055, 0xeaabb6},
-  {0xe056, 0xeaabb7},
-  {0xe057, 0xeaabb8},
-  {0xe058, 0xeaabb9},
-  {0xe059, 0xeaabba},
-  {0xe05a, 0xeaabbb},
-  {0xe05b, 0xeaabbc},
-  {0xe05c, 0xeaabbd},
-  {0xe05d, 0xeaabbe},
-  {0xe05e, 0xeaaea1},
-  {0xe05f, 0xeaaea2},
-  {0xe060, 0xeaaea3},
-  {0xe061, 0xeaaea4},
-  {0xe062, 0xeaaea5},
-  {0xe063, 0xeaaea6},
-  {0xe064, 0xeaaea7},
-  {0xe065, 0xeaaea8},
-  {0xe066, 0xeaaea9},
-  {0xe067, 0xeaaeaa},
-  {0xe068, 0xeaaeab},
-  {0xe069, 0xeaaeac},
-  {0xe06a, 0xeaaead},
-  {0xe06b, 0xeaaeae},
-  {0xe06c, 0xeaaeaf},
-  {0xe06d, 0xeaaeb0},
-  {0xe06e, 0xeaaeb1},
-  {0xe06f, 0xeaaeb2},
-  {0xe070, 0xeaaeb3},
-  {0xe071, 0xeaaeb4},
-  {0xe072, 0xeaaeb5},
-  {0xe073, 0xeaaeb6},
-  {0xe074, 0xeaaeb7},
-  {0xe075, 0xeaaeb8},
-  {0xe076, 0xeaaeb9},
-  {0xe077, 0xeaaeba},
-  {0xe078, 0xeaaebb},
-  {0xe079, 0xeaaebc},
-  {0xe07a, 0xeaaebd},
-  {0xe07b, 0xeaaebe},
-  {0xe07c, 0xeaaebf},
-  {0xe07d, 0xeaaf80},
-  {0xe07e, 0xeaaf81},
-  {0xe07f, 0xeaaf82},
-  {0xe080, 0xeaaf83},
-  {0xe081, 0xeaaf84},
-  {0xe082, 0xeaaf85},
-  {0xe083, 0xeaaf86},
-  {0xe084, 0xeaaf87},
-  {0xe085, 0xeaaf88},
-  {0xe086, 0xeaaf89},
-  {0xe087, 0xeaaf8a},
-  {0xe088, 0xeaaf8b},
-  {0xe089, 0xeaaf8c},
-  {0xe08a, 0xeaaf8d},
-  {0xe08b, 0xeaaf8e},
-  {0xe08c, 0xeaaf8f},
-  {0xe08d, 0xeaaf90},
-  {0xe08e, 0xeaaf91},
-  {0xe08f, 0xeaaf92},
-  {0xe090, 0xeaaf93},
-  {0xe091, 0xeaaf94},
-  {0xe092, 0xeaaf95},
-  {0xe093, 0xeaaf96},
-  {0xe094, 0xeaaf97},
-  {0xe095, 0xeaaf98},
-  {0xe096, 0xeaaf99},
-  {0xe097, 0xeaaf9a},
-  {0xe098, 0xeaaf9b},
-  {0xe099, 0xeaaf9c},
-  {0xe09a, 0xeaaf9d},
-  {0xe09b, 0xeaaf9e},
-  {0xe09c, 0xeaaf9f},
-  {0xe09d, 0xeaafa0},
-  {0xe09e, 0xeaafa1},
-  {0xe09f, 0xeaafa2},
-  {0xe0a0, 0xeaafa3},
-  {0xe0a1, 0xeaafa4},
-  {0xe0a2, 0xeaafa5},
-  {0xe0a3, 0xeaafa6},
-  {0xe0a4, 0xeaafa7},
-  {0xe0a5, 0xeaafa8},
-  {0xe0a6, 0xeaafa9},
-  {0xe0a7, 0xeaafaa},
-  {0xe0a8, 0xeaafab},
-  {0xe0a9, 0xeaafac},
-  {0xe0aa, 0xeaafad},
-  {0xe0ab, 0xeaafae},
-  {0xe0ac, 0xeaafaf},
-  {0xe0ad, 0xeaafb0},
-  {0xe0ae, 0xeaafb1},
-  {0xe0af, 0xeaafb2},
-  {0xe0b0, 0xeaafb3},
-  {0xe0b1, 0xeaafb4},
-  {0xe0b2, 0xeaafb5},
-  {0xe0b3, 0xeaafb6},
-  {0xe0b4, 0xeaafb7},
-  {0xe0b5, 0xeaafb8},
-  {0xe0b6, 0xeaafb9},
-  {0xe0b7, 0xeaafba},
-  {0xe0b8, 0xeaafbb},
-  {0xe0b9, 0xeaafbc},
-  {0xe0ba, 0xeaafbd},
-  {0xe0bb, 0xeaafbe},
-  {0xe0bc, 0xeab2a1},
-  {0xe0bd, 0xeab2a2},
-  {0xe0be, 0xeab2a3},
-  {0xe0bf, 0xeab2a4},
-  {0xe0c0, 0xeab2a5},
-  {0xe0c1, 0xeab2a6},
-  {0xe0c2, 0xeab2a7},
-  {0xe0c3, 0xeab2a8},
-  {0xe0c4, 0xeab2a9},
-  {0xe0c5, 0xeab2aa},
-  {0xe0c6, 0xeab2ab},
-  {0xe0c7, 0xeab2ac},
-  {0xe0c8, 0xeab2ad},
-  {0xe0c9, 0xeab2ae},
-  {0xe0ca, 0xeab2af},
-  {0xe0cb, 0xeab2b0},
-  {0xe0cc, 0xeab2b1},
-  {0xe0cd, 0xeab2b2},
-  {0xe0ce, 0xeab2b3},
-  {0xe0cf, 0xeab2b4},
-  {0xe0d0, 0xeab2b5},
-  {0xe0d1, 0xeab2b6},
-  {0xe0d2, 0xeab2b7},
-  {0xe0d3, 0xeab2b8},
-  {0xe0d4, 0xeab2b9},
-  {0xe0d5, 0xeab2ba},
-  {0xe0d6, 0xeab2bb},
-  {0xe0d7, 0xeab2bc},
-  {0xe0d8, 0xeab2bd},
-  {0xe0d9, 0xeab2be},
-  {0xe0da, 0xeab2bf},
-  {0xe0db, 0xeab380},
-  {0xe0dc, 0xeab381},
-  {0xe0dd, 0xeab382},
-  {0xe0de, 0xeab383},
-  {0xe0df, 0xeab384},
-  {0xe0e0, 0xeab385},
-  {0xe0e1, 0xeab386},
-  {0xe0e2, 0xeab387},
-  {0xe0e3, 0xeab388},
-  {0xe0e4, 0xeab389},
-  {0xe0e5, 0xeab38a},
-  {0xe0e6, 0xeab38b},
-  {0xe0e7, 0xeab38c},
-  {0xe0e8, 0xeab38d},
-  {0xe0e9, 0xeab38e},
-  {0xe0ea, 0xeab38f},
-  {0xe0eb, 0xeab390},
-  {0xe0ec, 0xeab391},
-  {0xe0ed, 0xeab392},
-  {0xe0ee, 0xeab393},
-  {0xe0ef, 0xeab394},
-  {0xe0f0, 0xeab395},
-  {0xe0f1, 0xeab396},
-  {0xe0f2, 0xeab397},
-  {0xe0f3, 0xeab398},
-  {0xe0f4, 0xeab399},
-  {0xe0f5, 0xeab39a},
-  {0xe0f6, 0xeab39b},
-  {0xe0f7, 0xeab39c},
-  {0xe0f8, 0xeab39d},
-  {0xe0f9, 0xeab39e},
-  {0xe0fa, 0xeab39f},
-  {0xe0fb, 0xeab3a0},
-  {0xe0fc, 0xeab3a1},
-  {0xe0fd, 0xeab3a2},
-  {0xe0fe, 0xeab3a3},
-  {0xe0ff, 0xeab3a4},
-  {0xe100, 0xeab3a5},
-  {0xe101, 0xeab3a6},
-  {0xe102, 0xeab3a7},
-  {0xe103, 0xeab3a8},
-  {0xe104, 0xeab3a9},
-  {0xe105, 0xeab3aa},
-  {0xe106, 0xeab3ab},
-  {0xe107, 0xeab3ac},
-  {0xe108, 0xeab3ad},
-  {0xe109, 0xeab3ae},
-  {0xe10a, 0xeab3af},
-  {0xe10b, 0xeab3b0},
-  {0xe10c, 0xeab3b1},
-  {0xe10d, 0xeab3b2},
-  {0xe10e, 0xeab3b3},
-  {0xe10f, 0xeab3b4},
-  {0xe110, 0xeab3b5},
-  {0xe111, 0xeab3b6},
-  {0xe112, 0xeab3b7},
-  {0xe113, 0xeab3b8},
-  {0xe114, 0xeab3b9},
-  {0xe115, 0xeab3ba},
-  {0xe116, 0xeab3bb},
-  {0xe117, 0xeab3bc},
-  {0xe118, 0xeab3bd},
-  {0xe119, 0xeab3be},
-  {0xe11a, 0xeab6a1},
-  {0xe11b, 0xeab6a2},
-  {0xe11c, 0xeab6a3},
-  {0xe11d, 0xeab6a4},
-  {0xe11e, 0xeab6a5},
-  {0xe11f, 0xeab6a6},
-  {0xe120, 0xeab6a7},
-  {0xe121, 0xeab6a8},
-  {0xe122, 0xeab6a9},
-  {0xe123, 0xeab6aa},
-  {0xe124, 0xeab6ab},
-  {0xe125, 0xeab6ac},
-  {0xe126, 0xeab6ad},
-  {0xe127, 0xeab6ae},
-  {0xe128, 0xeab6af},
-  {0xe129, 0xeab6b0},
-  {0xe12a, 0xeab6b1},
-  {0xe12b, 0xeab6b2},
-  {0xe12c, 0xeab6b3},
-  {0xe12d, 0xeab6b4},
-  {0xe12e, 0xeab6b5},
-  {0xe12f, 0xeab6b6},
-  {0xe130, 0xeab6b7},
-  {0xe131, 0xeab6b8},
-  {0xe132, 0xeab6b9},
-  {0xe133, 0xeab6ba},
-  {0xe134, 0xeab6bb},
-  {0xe135, 0xeab6bc},
-  {0xe136, 0xeab6bd},
-  {0xe137, 0xeab6be},
-  {0xe138, 0xeab6bf},
-  {0xe139, 0xeab780},
-  {0xe13a, 0xeab781},
-  {0xe13b, 0xeab782},
-  {0xe13c, 0xeab783},
-  {0xe13d, 0xeab784},
-  {0xe13e, 0xeab785},
-  {0xe13f, 0xeab786},
-  {0xe140, 0xeab787},
-  {0xe141, 0xeab788},
-  {0xe142, 0xeab789},
-  {0xe143, 0xeab78a},
-  {0xe144, 0xeab78b},
-  {0xe145, 0xeab78c},
-  {0xe146, 0xeab78d},
-  {0xe147, 0xeab78e},
-  {0xe148, 0xeab78f},
-  {0xe149, 0xeab790},
-  {0xe14a, 0xeab791},
-  {0xe14b, 0xeab792},
-  {0xe14c, 0xeab793},
-  {0xe14d, 0xeab794},
-  {0xe14e, 0xeab795},
-  {0xe14f, 0xeab796},
-  {0xe150, 0xeab797},
-  {0xe151, 0xeab798},
-  {0xe152, 0xeab799},
-  {0xe153, 0xeab79a},
-  {0xe154, 0xeab79b},
-  {0xe155, 0xeab79c},
-  {0xe156, 0xeab79d},
-  {0xe157, 0xeab79e},
-  {0xe158, 0xeab79f},
-  {0xe159, 0xeab7a0},
-  {0xe15a, 0xeab7a1},
-  {0xe15b, 0xeab7a2},
-  {0xe15c, 0xeab7a3},
-  {0xe15d, 0xeab7a4},
-  {0xe15e, 0xeab7a5},
-  {0xe15f, 0xeab7a6},
-  {0xe160, 0xeab7a7},
-  {0xe161, 0xeab7a8},
-  {0xe162, 0xeab7a9},
-  {0xe163, 0xeab7aa},
-  {0xe164, 0xeab7ab},
-  {0xe165, 0xeab7ac},
-  {0xe166, 0xeab7ad},
-  {0xe167, 0xeab7ae},
-  {0xe168, 0xeab7af},
-  {0xe169, 0xeab7b0},
-  {0xe16a, 0xeab7b1},
-  {0xe16b, 0xeab7b2},
-  {0xe16c, 0xeab7b3},
-  {0xe16d, 0xeab7b4},
-  {0xe16e, 0xeab7b5},
-  {0xe16f, 0xeab7b6},
-  {0xe170, 0xeab7b7},
-  {0xe171, 0xeab7b8},
-  {0xe172, 0xeab7b9},
-  {0xe173, 0xeab7ba},
-  {0xe174, 0xeab7bb},
-  {0xe175, 0xeab7bc},
-  {0xe176, 0xeab7bd},
-  {0xe177, 0xeab7be},
-  {0xe178, 0xeabaa1},
-  {0xe179, 0xeabaa2},
-  {0xe17a, 0xeabaa3},
-  {0xe17b, 0xeabaa4},
-  {0xe17c, 0xeabaa5},
-  {0xe17d, 0xeabaa6},
-  {0xe17e, 0xeabaa7},
-  {0xe17f, 0xeabaa8},
-  {0xe180, 0xeabaa9},
-  {0xe181, 0xeabaaa},
-  {0xe182, 0xeabaab},
-  {0xe183, 0xeabaac},
-  {0xe184, 0xeabaad},
-  {0xe185, 0xeabaae},
-  {0xe186, 0xeabaaf},
-  {0xe187, 0xeabab0},
-  {0xe188, 0xeabab1},
-  {0xe189, 0xeabab2},
-  {0xe18a, 0xeabab3},
-  {0xe18b, 0xeabab4},
-  {0xe18c, 0xeabab5},
-  {0xe18d, 0xeabab6},
-  {0xe18e, 0xeabab7},
-  {0xe18f, 0xeabab8},
-  {0xe190, 0xeabab9},
-  {0xe191, 0xeababa},
-  {0xe192, 0xeababb},
-  {0xe193, 0xeababc},
-  {0xe194, 0xeababd},
-  {0xe195, 0xeababe},
-  {0xe196, 0xeababf},
-  {0xe197, 0xeabb80},
-  {0xe198, 0xeabb81},
-  {0xe199, 0xeabb82},
-  {0xe19a, 0xeabb83},
-  {0xe19b, 0xeabb84},
-  {0xe19c, 0xeabb85},
-  {0xe19d, 0xeabb86},
-  {0xe19e, 0xeabb87},
-  {0xe19f, 0xeabb88},
-  {0xe1a0, 0xeabb89},
-  {0xe1a1, 0xeabb8a},
-  {0xe1a2, 0xeabb8b},
-  {0xe1a3, 0xeabb8c},
-  {0xe1a4, 0xeabb8d},
-  {0xe1a5, 0xeabb8e},
-  {0xe1a6, 0xeabb8f},
-  {0xe1a7, 0xeabb90},
-  {0xe1a8, 0xeabb91},
-  {0xe1a9, 0xeabb92},
-  {0xe1aa, 0xeabb93},
-  {0xe1ab, 0xeabb94},
-  {0xe1ac, 0xeabb95},
-  {0xe1ad, 0xeabb96},
-  {0xe1ae, 0xeabb97},
-  {0xe1af, 0xeabb98},
-  {0xe1b0, 0xeabb99},
-  {0xe1b1, 0xeabb9a},
-  {0xe1b2, 0xeabb9b},
-  {0xe1b3, 0xeabb9c},
-  {0xe1b4, 0xeabb9d},
-  {0xe1b5, 0xeabb9e},
-  {0xe1b6, 0xeabb9f},
-  {0xe1b7, 0xeabba0},
-  {0xe1b8, 0xeabba1},
-  {0xe1b9, 0xeabba2},
-  {0xe1ba, 0xeabba3},
-  {0xe1bb, 0xeabba4},
-  {0xe1bc, 0xeabba5},
-  {0xe1bd, 0xeabba6},
-  {0xe1be, 0xeabba7},
-  {0xe1bf, 0xeabba8},
-  {0xe1c0, 0xeabba9},
-  {0xe1c1, 0xeabbaa},
-  {0xe1c2, 0xeabbab},
-  {0xe1c3, 0xeabbac},
-  {0xe1c4, 0xeabbad},
-  {0xe1c5, 0xeabbae},
-  {0xe1c6, 0xeabbaf},
-  {0xe1c7, 0xeabbb0},
-  {0xe1c8, 0xeabbb1},
-  {0xe1c9, 0xeabbb2},
-  {0xe1ca, 0xeabbb3},
-  {0xe1cb, 0xeabbb4},
-  {0xe1cc, 0xeabbb5},
-  {0xe1cd, 0xeabbb6},
-  {0xe1ce, 0xeabbb7},
-  {0xe1cf, 0xeabbb8},
-  {0xe1d0, 0xeabbb9},
-  {0xe1d1, 0xeabbba},
-  {0xe1d2, 0xeabbbb},
-  {0xe1d3, 0xeabbbc},
-  {0xe1d4, 0xeabbbd},
-  {0xe1d5, 0xeabbbe},
-  {0xe1d6, 0xeabea1},
-  {0xe1d7, 0xeabea2},
-  {0xe1d8, 0xeabea3},
-  {0xe1d9, 0xeabea4},
-  {0xe1da, 0xeabea5},
-  {0xe1db, 0xeabea6},
-  {0xe1dc, 0xeabea7},
-  {0xe1dd, 0xeabea8},
-  {0xe1de, 0xeabea9},
-  {0xe1df, 0xeabeaa},
-  {0xe1e0, 0xeabeab},
-  {0xe1e1, 0xeabeac},
-  {0xe1e2, 0xeabead},
-  {0xe1e3, 0xeabeae},
-  {0xe1e4, 0xeabeaf},
-  {0xe1e5, 0xeabeb0},
-  {0xe1e6, 0xeabeb1},
-  {0xe1e7, 0xeabeb2},
-  {0xe1e8, 0xeabeb3},
-  {0xe1e9, 0xeabeb4},
-  {0xe1ea, 0xeabeb5},
-  {0xe1eb, 0xeabeb6},
-  {0xe1ec, 0xeabeb7},
-  {0xe1ed, 0xeabeb8},
-  {0xe1ee, 0xeabeb9},
-  {0xe1ef, 0xeabeba},
-  {0xe1f0, 0xeabebb},
-  {0xe1f1, 0xeabebc},
-  {0xe1f2, 0xeabebd},
-  {0xe1f3, 0xeabebe},
-  {0xe1f4, 0xeabebf},
-  {0xe1f5, 0xeabf80},
-  {0xe1f6, 0xeabf81},
-  {0xe1f7, 0xeabf82},
-  {0xe1f8, 0xeabf83},
-  {0xe1f9, 0xeabf84},
-  {0xe1fa, 0xeabf85},
-  {0xe1fb, 0xeabf86},
-  {0xe1fc, 0xeabf87},
-  {0xe1fd, 0xeabf88},
-  {0xe1fe, 0xeabf89},
-  {0xe1ff, 0xeabf8a},
-  {0xe200, 0xeabf8b},
-  {0xe201, 0xeabf8c},
-  {0xe202, 0xeabf8d},
-  {0xe203, 0xeabf8e},
-  {0xe204, 0xeabf8f},
-  {0xe205, 0xeabf90},
-  {0xe206, 0xeabf91},
-  {0xe207, 0xeabf92},
-  {0xe208, 0xeabf93},
-  {0xe209, 0xeabf94},
-  {0xe20a, 0xeabf95},
-  {0xe20b, 0xeabf96},
-  {0xe20c, 0xeabf97},
-  {0xe20d, 0xeabf98},
-  {0xe20e, 0xeabf99},
-  {0xe20f, 0xeabf9a},
-  {0xe210, 0xeabf9b},
-  {0xe211, 0xeabf9c},
-  {0xe212, 0xeabf9d},
-  {0xe213, 0xeabf9e},
-  {0xe214, 0xeabf9f},
-  {0xe215, 0xeabfa0},
-  {0xe216, 0xeabfa1},
-  {0xe217, 0xeabfa2},
-  {0xe218, 0xeabfa3},
-  {0xe219, 0xeabfa4},
-  {0xe21a, 0xeabfa5},
-  {0xe21b, 0xeabfa6},
-  {0xe21c, 0xeabfa7},
-  {0xe21d, 0xeabfa8},
-  {0xe21e, 0xeabfa9},
-  {0xe21f, 0xeabfaa},
-  {0xe220, 0xeabfab},
-  {0xe221, 0xeabfac},
-  {0xe222, 0xeabfad},
-  {0xe223, 0xeabfae},
-  {0xe224, 0xeabfaf},
-  {0xe225, 0xeabfb0},
-  {0xe226, 0xeabfb1},
-  {0xe227, 0xeabfb2},
-  {0xe228, 0xeabfb3},
-  {0xe229, 0xeabfb4},
-  {0xe22a, 0xeabfb5},
-  {0xe22b, 0xeabfb6},
-  {0xe22c, 0xeabfb7},
-  {0xe22d, 0xeabfb8},
-  {0xe22e, 0xeabfb9},
-  {0xe22f, 0xeabfba},
-  {0xe230, 0xeabfbb},
-  {0xe231, 0xeabfbc},
-  {0xe232, 0xeabfbd},
-  {0xe233, 0xeabfbe},
-  {0xe234, 0xefa2a1},
-  {0xe235, 0xefa2a2},
-  {0xe236, 0xefa2a3},
-  {0xe237, 0xefa2a4},
-  {0xe238, 0xefa2a5},
-  {0xe239, 0xefa2a6},
-  {0xe23a, 0xefa2a7},
-  {0xe23b, 0xefa2a8},
-  {0xe23c, 0xefa2a9},
-  {0xe23d, 0xefa2aa},
-  {0xe23e, 0xefa2ab},
-  {0xe23f, 0xefa2ac},
-  {0xe240, 0xefa2ad},
-  {0xe241, 0xefa2ae},
-  {0xe242, 0xefa2af},
-  {0xe243, 0xefa2b0},
-  {0xe244, 0xefa2b1},
-  {0xe245, 0xefa2b2},
-  {0xe246, 0xefa2b3},
-  {0xe247, 0xefa2b4},
-  {0xe248, 0xefa2b5},
-  {0xe249, 0xefa2b6},
-  {0xe24a, 0xefa2b7},
-  {0xe24b, 0xefa2b8},
-  {0xe24c, 0xefa2b9},
-  {0xe24d, 0xefa2ba},
-  {0xe24e, 0xefa2bb},
-  {0xe24f, 0xefa2bc},
-  {0xe250, 0xefa2bd},
-  {0xe251, 0xefa2be},
-  {0xe252, 0xefa2bf},
-  {0xe253, 0xefa380},
-  {0xe254, 0xefa381},
-  {0xe255, 0xefa382},
-  {0xe256, 0xefa383},
-  {0xe257, 0xefa384},
-  {0xe258, 0xefa385},
-  {0xe259, 0xefa386},
-  {0xe25a, 0xefa387},
-  {0xe25b, 0xefa388},
-  {0xe25c, 0xefa389},
-  {0xe25d, 0xefa38a},
-  {0xe25e, 0xefa38b},
-  {0xe25f, 0xefa38c},
-  {0xe260, 0xefa38d},
-  {0xe261, 0xefa38e},
-  {0xe262, 0xefa38f},
-  {0xe263, 0xefa390},
-  {0xe264, 0xefa391},
-  {0xe265, 0xefa392},
-  {0xe266, 0xefa393},
-  {0xe267, 0xefa394},
-  {0xe268, 0xefa395},
-  {0xe269, 0xefa396},
-  {0xe26a, 0xefa397},
-  {0xe26b, 0xefa398},
-  {0xe26c, 0xefa399},
-  {0xe26d, 0xefa39a},
-  {0xe26e, 0xefa39b},
-  {0xe26f, 0xefa39c},
-  {0xe270, 0xefa39d},
-  {0xe271, 0xefa39e},
-  {0xe272, 0xefa39f},
-  {0xe273, 0xefa3a0},
-  {0xe274, 0xefa3a1},
-  {0xe275, 0xefa3a2},
-  {0xe276, 0xefa3a3},
-  {0xe277, 0xefa3a4},
-  {0xe278, 0xefa3a5},
-  {0xe279, 0xefa3a6},
-  {0xe27a, 0xefa3a7},
-  {0xe27b, 0xefa3a8},
-  {0xe27c, 0xefa3a9},
-  {0xe27d, 0xefa3aa},
-  {0xe27e, 0xefa3ab},
-  {0xe27f, 0xefa3ac},
-  {0xe280, 0xefa3ad},
-  {0xe281, 0xefa3ae},
-  {0xe282, 0xefa3af},
-  {0xe283, 0xefa3b0},
-  {0xe284, 0xefa3b1},
-  {0xe285, 0xefa3b2},
-  {0xe286, 0xefa3b3},
-  {0xe287, 0xefa3b4},
-  {0xe288, 0xefa3b5},
-  {0xe289, 0xefa3b6},
-  {0xe28a, 0xefa3b7},
-  {0xe28b, 0xefa3b8},
-  {0xe28c, 0xefa3b9},
-  {0xe28d, 0xefa3ba},
-  {0xe28e, 0xefa3bb},
-  {0xe28f, 0xefa3bc},
-  {0xe290, 0xefa3bd},
-  {0xe291, 0xefa3be},
-  {0xe292, 0xefa6a1},
-  {0xe293, 0xefa6a2},
-  {0xe294, 0xefa6a3},
-  {0xe295, 0xefa6a4},
-  {0xe296, 0xefa6a5},
-  {0xe297, 0xefa6a6},
-  {0xe298, 0xefa6a7},
-  {0xe299, 0xefa6a8},
-  {0xe29a, 0xefa6a9},
-  {0xe29b, 0xefa6aa},
-  {0xe29c, 0xefa6ab},
-  {0xe29d, 0xefa6ac},
-  {0xe29e, 0xefa6ad},
-  {0xe29f, 0xefa6ae},
-  {0xe2a0, 0xefa6af},
-  {0xe2a1, 0xefa6b0},
-  {0xe2a2, 0xefa6b1},
-  {0xe2a3, 0xefa6b2},
-  {0xe2a4, 0xefa6b3},
-  {0xe2a5, 0xefa6b4},
-  {0xe2a6, 0xefa6b5},
-  {0xe2a7, 0xefa6b6},
-  {0xe2a8, 0xefa6b7},
-  {0xe2a9, 0xefa6b8},
-  {0xe2aa, 0xefa6b9},
-  {0xe2ab, 0xefa6ba},
-  {0xe2ac, 0xefa6bb},
-  {0xe2ad, 0xefa6bc},
-  {0xe2ae, 0xefa6bd},
-  {0xe2af, 0xefa6be},
-  {0xe2b0, 0xefa6bf},
-  {0xe2b1, 0xefa780},
-  {0xe2b2, 0xefa781},
-  {0xe2b3, 0xefa782},
-  {0xe2b4, 0xefa783},
-  {0xe2b5, 0xefa784},
-  {0xe2b6, 0xefa785},
-  {0xe2b7, 0xefa786},
-  {0xe2b8, 0xefa787},
-  {0xe2b9, 0xefa788},
-  {0xe2ba, 0xefa789},
-  {0xe2bb, 0xefa78a},
-  {0xe2bc, 0xefa78b},
-  {0xe2bd, 0xefa78c},
-  {0xe2be, 0xefa78d},
-  {0xe2bf, 0xefa78e},
-  {0xe2c0, 0xefa78f},
-  {0xe2c1, 0xefa790},
-  {0xe2c2, 0xefa791},
-  {0xe2c3, 0xefa792},
-  {0xe2c4, 0xefa793},
-  {0xe2c5, 0xefa794},
-  {0xe2c6, 0xefa795},
-  {0xe2c7, 0xefa796},
-  {0xe2c8, 0xefa797},
-  {0xe2c9, 0xefa798},
-  {0xe2ca, 0xefa799},
-  {0xe2cb, 0xefa79a},
-  {0xe2cc, 0xefa79b},
-  {0xe2cd, 0xefa79c},
-  {0xe2ce, 0xefa79d},
-  {0xe2cf, 0xefa79e},
-  {0xe2d0, 0xefa79f},
-  {0xe2d1, 0xefa7a0},
-  {0xe2d2, 0xefa7a1},
-  {0xe2d3, 0xefa7a2},
-  {0xe2d4, 0xefa7a3},
-  {0xe2d5, 0xefa7a4},
-  {0xe2d6, 0xefa7a5},
-  {0xe2d7, 0xefa7a6},
-  {0xe2d8, 0xefa7a7},
-  {0xe2d9, 0xefa7a8},
-  {0xe2da, 0xefa7a9},
-  {0xe2db, 0xefa7aa},
-  {0xe2dc, 0xefa7ab},
-  {0xe2dd, 0xefa7ac},
-  {0xe2de, 0xefa7ad},
-  {0xe2df, 0xefa7ae},
-  {0xe2e0, 0xefa7af},
-  {0xe2e1, 0xefa7b0},
-  {0xe2e2, 0xefa7b1},
-  {0xe2e3, 0xefa7b2},
-  {0xe2e4, 0xefa7b3},
-  {0xe2e5, 0xefa7b4},
-  {0xe2e6, 0xefa7b5},
-  {0xe2e7, 0xefa7b6},
-  {0xe2e8, 0xefa7b7},
-  {0xe2e9, 0xefa7b8},
-  {0xe2ea, 0xefa7b9},
-  {0xe2eb, 0xefa7ba},
-  {0xe2ec, 0xefa7bb},
-  {0xe2ed, 0xefa7bc},
-  {0xe2ee, 0xefa7bd},
-  {0xe2ef, 0xefa7be},
-  {0xe2f0, 0xefaaa1},
-  {0xe2f1, 0xefaaa2},
-  {0xe2f2, 0xefaaa3},
-  {0xe2f3, 0xefaaa4},
-  {0xe2f4, 0xefaaa5},
-  {0xe2f5, 0xefaaa6},
-  {0xe2f6, 0xefaaa7},
-  {0xe2f7, 0xefaaa8},
-  {0xe2f8, 0xefaaa9},
-  {0xe2f9, 0xefaaaa},
-  {0xe2fa, 0xefaaab},
-  {0xe2fb, 0xefaaac},
-  {0xe2fc, 0xefaaad},
-  {0xe2fd, 0xefaaae},
-  {0xe2fe, 0xefaaaf},
-  {0xe2ff, 0xefaab0},
-  {0xe300, 0xefaab1},
-  {0xe301, 0xefaab2},
-  {0xe302, 0xefaab3},
-  {0xe303, 0xefaab4},
-  {0xe304, 0xefaab5},
-  {0xe305, 0xefaab6},
-  {0xe306, 0xefaab7},
-  {0xe307, 0xefaab8},
-  {0xe308, 0xefaab9},
-  {0xe309, 0xefaaba},
-  {0xe30a, 0xefaabb},
-  {0xe30b, 0xefaabc},
-  {0xe30c, 0xefaabd},
-  {0xe30d, 0xefaabe},
-  {0xe30e, 0xefaabf},
-  {0xe30f, 0xefab80},
-  {0xe310, 0xefab81},
-  {0xe311, 0xefab82},
-  {0xe312, 0xefab83},
-  {0xe313, 0xefab84},
-  {0xe314, 0xefab85},
-  {0xe315, 0xefab86},
-  {0xe316, 0xefab87},
-  {0xe317, 0xefab88},
-  {0xe318, 0xefab89},
-  {0xe319, 0xefab8a},
-  {0xe31a, 0xefab8b},
-  {0xe31b, 0xefab8c},
-  {0xe31c, 0xefab8d},
-  {0xe31d, 0xefab8e},
-  {0xe31e, 0xefab8f},
-  {0xe31f, 0xefab90},
-  {0xe320, 0xefab91},
-  {0xe321, 0xefab92},
-  {0xe322, 0xefab93},
-  {0xe323, 0xefab94},
-  {0xe324, 0xefab95},
-  {0xe325, 0xefab96},
-  {0xe326, 0xefab97},
-  {0xe327, 0xefab98},
-  {0xe328, 0xefab99},
-  {0xe329, 0xefab9a},
-  {0xe32a, 0xefab9b},
-  {0xe32b, 0xefab9c},
-  {0xe32c, 0xefab9d},
-  {0xe32d, 0xefab9e},
-  {0xe32e, 0xefab9f},
-  {0xe32f, 0xefaba0},
-  {0xe330, 0xefaba1},
-  {0xe331, 0xefaba2},
-  {0xe332, 0xefaba3},
-  {0xe333, 0xefaba4},
-  {0xe334, 0xefaba5},
-  {0xe335, 0xefaba6},
-  {0xe336, 0xefaba7},
-  {0xe337, 0xefaba8},
-  {0xe338, 0xefaba9},
-  {0xe339, 0xefabaa},
-  {0xe33a, 0xefabab},
-  {0xe33b, 0xefabac},
-  {0xe33c, 0xefabad},
-  {0xe33d, 0xefabae},
-  {0xe33e, 0xefabaf},
-  {0xe33f, 0xefabb0},
-  {0xe340, 0xefabb1},
-  {0xe341, 0xefabb2},
-  {0xe342, 0xefabb3},
-  {0xe343, 0xefabb4},
-  {0xe344, 0xefabb5},
-  {0xe345, 0xefabb6},
-  {0xe346, 0xefabb7},
-  {0xe347, 0xefabb8},
-  {0xe348, 0xefabb9},
-  {0xe349, 0xefabba},
-  {0xe34a, 0xefabbb},
-  {0xe34b, 0xefabbc},
-  {0xe34c, 0xefabbd},
-  {0xe34d, 0xefabbe},
-  {0xe34e, 0xefaea1},
-  {0xe34f, 0xefaea2},
-  {0xe350, 0xefaea3},
-  {0xe351, 0xefaea4},
-  {0xe352, 0xefaea5},
-  {0xe353, 0xefaea6},
-  {0xe354, 0xefaea7},
-  {0xe355, 0xefaea8},
-  {0xe356, 0xefaea9},
-  {0xe357, 0xefaeaa},
-  {0xe358, 0xefaeab},
-  {0xe359, 0xefaeac},
-  {0xe35a, 0xefaead},
-  {0xe35b, 0xefaeae},
-  {0xe35c, 0xefaeaf},
-  {0xe35d, 0xefaeb0},
-  {0xe35e, 0xefaeb1},
-  {0xe35f, 0xefaeb2},
-  {0xe360, 0xefaeb3},
-  {0xe361, 0xefaeb4},
-  {0xe362, 0xefaeb5},
-  {0xe363, 0xefaeb6},
-  {0xe364, 0xefaeb7},
-  {0xe365, 0xefaeb8},
-  {0xe366, 0xefaeb9},
-  {0xe367, 0xefaeba},
-  {0xe368, 0xefaebb},
-  {0xe369, 0xefaebc},
-  {0xe36a, 0xefaebd},
-  {0xe36b, 0xefaebe},
-  {0xe36c, 0xefaebf},
-  {0xe36d, 0xefaf80},
-  {0xe36e, 0xefaf81},
-  {0xe36f, 0xefaf82},
-  {0xe370, 0xefaf83},
-  {0xe371, 0xefaf84},
-  {0xe372, 0xefaf85},
-  {0xe373, 0xefaf86},
-  {0xe374, 0xefaf87},
-  {0xe375, 0xefaf88},
-  {0xe376, 0xefaf89},
-  {0xe377, 0xefaf8a},
-  {0xe378, 0xefaf8b},
-  {0xe379, 0xefaf8c},
-  {0xe37a, 0xefaf8d},
-  {0xe37b, 0xefaf8e},
-  {0xe37c, 0xefaf8f},
-  {0xe37d, 0xefaf90},
-  {0xe37e, 0xefaf91},
-  {0xe37f, 0xefaf92},
-  {0xe380, 0xefaf93},
-  {0xe381, 0xefaf94},
-  {0xe382, 0xefaf95},
-  {0xe383, 0xefaf96},
-  {0xe384, 0xefaf97},
-  {0xe385, 0xefaf98},
-  {0xe386, 0xefaf99},
-  {0xe387, 0xefaf9a},
-  {0xe388, 0xefaf9b},
-  {0xe389, 0xefaf9c},
-  {0xe38a, 0xefaf9d},
-  {0xe38b, 0xefaf9e},
-  {0xe38c, 0xefaf9f},
-  {0xe38d, 0xefafa0},
-  {0xe38e, 0xefafa1},
-  {0xe38f, 0xefafa2},
-  {0xe390, 0xefafa3},
-  {0xe391, 0xefafa4},
-  {0xe392, 0xefafa5},
-  {0xe393, 0xefafa6},
-  {0xe394, 0xefafa7},
-  {0xe395, 0xefafa8},
-  {0xe396, 0xefafa9},
-  {0xe397, 0xefafaa},
-  {0xe398, 0xefafab},
-  {0xe399, 0xefafac},
-  {0xe39a, 0xefafad},
-  {0xe39b, 0xefafae},
-  {0xe39c, 0xefafaf},
-  {0xe39d, 0xefafb0},
-  {0xe39e, 0xefafb1},
-  {0xe39f, 0xefafb2},
-  {0xe3a0, 0xefafb3},
-  {0xe3a1, 0xefafb4},
-  {0xe3a2, 0xefafb5},
-  {0xe3a3, 0xefafb6},
-  {0xe3a4, 0xefafb7},
-  {0xe3a5, 0xefafb8},
-  {0xe3a6, 0xefafb9},
-  {0xe3a7, 0xefafba},
-  {0xe3a8, 0xefafbb},
-  {0xe3a9, 0xefafbc},
-  {0xe3aa, 0xefafbd},
-  {0xe3ab, 0xefafbe},
-  {0xe3ac, 0xefb2a1},
-  {0xe3ad, 0xefb2a2},
-  {0xe3ae, 0xefb2a3},
-  {0xe3af, 0xefb2a4},
-  {0xe3b0, 0xefb2a5},
-  {0xe3b1, 0xefb2a6},
-  {0xe3b2, 0xefb2a7},
-  {0xe3b3, 0xefb2a8},
-  {0xe3b4, 0xefb2a9},
-  {0xe3b5, 0xefb2aa},
-  {0xe3b6, 0xefb2ab},
-  {0xe3b7, 0xefb2ac},
-  {0xe3b8, 0xefb2ad},
-  {0xe3b9, 0xefb2ae},
-  {0xe3ba, 0xefb2af},
-  {0xe3bb, 0xefb2b0},
-  {0xe3bc, 0xefb2b1},
-  {0xe3bd, 0xefb2b2},
-  {0xe3be, 0xefb2b3},
-  {0xe3bf, 0xefb2b4},
-  {0xe3c0, 0xefb2b5},
-  {0xe3c1, 0xefb2b6},
-  {0xe3c2, 0xefb2b7},
-  {0xe3c3, 0xefb2b8},
-  {0xe3c4, 0xefb2b9},
-  {0xe3c5, 0xefb2ba},
-  {0xe3c6, 0xefb2bb},
-  {0xe3c7, 0xefb2bc},
-  {0xe3c8, 0xefb2bd},
-  {0xe3c9, 0xefb2be},
-  {0xe3ca, 0xefb2bf},
-  {0xe3cb, 0xefb380},
-  {0xe3cc, 0xefb381},
-  {0xe3cd, 0xefb382},
-  {0xe3ce, 0xefb383},
-  {0xe3cf, 0xefb384},
-  {0xe3d0, 0xefb385},
-  {0xe3d1, 0xefb386},
-  {0xe3d2, 0xefb387},
-  {0xe3d3, 0xefb388},
-  {0xe3d4, 0xefb389},
-  {0xe3d5, 0xefb38a},
-  {0xe3d6, 0xefb38b},
-  {0xe3d7, 0xefb38c},
-  {0xe3d8, 0xefb38d},
-  {0xe3d9, 0xefb38e},
-  {0xe3da, 0xefb38f},
-  {0xe3db, 0xefb390},
-  {0xe3dc, 0xefb391},
-  {0xe3dd, 0xefb392},
-  {0xe3de, 0xefb393},
-  {0xe3df, 0xefb394},
-  {0xe3e0, 0xefb395},
-  {0xe3e1, 0xefb396},
-  {0xe3e2, 0xefb397},
-  {0xe3e3, 0xefb398},
-  {0xe3e4, 0xefb399},
-  {0xe3e5, 0xefb39a},
-  {0xe3e6, 0xefb39b},
-  {0xe3e7, 0xefb39c},
-  {0xe3e8, 0xefb39d},
-  {0xe3e9, 0xefb39e},
-  {0xe3ea, 0xefb39f},
-  {0xe3eb, 0xefb3a0},
-  {0xe3ec, 0xefb3a1},
-  {0xe3ed, 0xefb3a2},
-  {0xe3ee, 0xefb3a3},
-  {0xe3ef, 0xefb3a4},
-  {0xe3f0, 0xefb3a5},
-  {0xe3f1, 0xefb3a6},
-  {0xe3f2, 0xefb3a7},
-  {0xe3f3, 0xefb3a8},
-  {0xe3f4, 0xefb3a9},
-  {0xe3f5, 0xefb3aa},
-  {0xe3f6, 0xefb3ab},
-  {0xe3f7, 0xefb3ac},
-  {0xe3f8, 0xefb3ad},
-  {0xe3f9, 0xefb3ae},
-  {0xe3fa, 0xefb3af},
-  {0xe3fb, 0xefb3b0},
-  {0xe3fc, 0xefb3b1},
-  {0xe3fd, 0xefb3b2},
-  {0xe3fe, 0xefb3b3},
-  {0xe3ff, 0xefb3b4},
-  {0xe400, 0xefb3b5},
-  {0xe401, 0xefb3b6},
-  {0xe402, 0xefb3b7},
-  {0xe403, 0xefb3b8},
-  {0xe404, 0xefb3b9},
-  {0xe405, 0xefb3ba},
-  {0xe406, 0xefb3bb},
-  {0xe407, 0xefb3bc},
-  {0xe408, 0xefb3bd},
-  {0xe409, 0xefb3be},
-  {0xe40a, 0xefb6a1},
-  {0xe40b, 0xefb6a2},
-  {0xe40c, 0xefb6a3},
-  {0xe40d, 0xefb6a4},
-  {0xe40e, 0xefb6a5},
-  {0xe40f, 0xefb6a6},
-  {0xe410, 0xefb6a7},
-  {0xe411, 0xefb6a8},
-  {0xe412, 0xefb6a9},
-  {0xe413, 0xefb6aa},
-  {0xe414, 0xefb6ab},
-  {0xe415, 0xefb6ac},
-  {0xe416, 0xefb6ad},
-  {0xe417, 0xefb6ae},
-  {0xe418, 0xefb6af},
-  {0xe419, 0xefb6b0},
-  {0xe41a, 0xefb6b1},
-  {0xe41b, 0xefb6b2},
-  {0xe41c, 0xefb6b3},
-  {0xe41d, 0xefb6b4},
-  {0xe41e, 0xefb6b5},
-  {0xe41f, 0xefb6b6},
-  {0xe420, 0xefb6b7},
-  {0xe421, 0xefb6b8},
-  {0xe422, 0xefb6b9},
-  {0xe423, 0xefb6ba},
-  {0xe424, 0xefb6bb},
-  {0xe425, 0xefb6bc},
-  {0xe426, 0xefb6bd},
-  {0xe427, 0xefb6be},
-  {0xe428, 0xefb6bf},
-  {0xe429, 0xefb780},
-  {0xe42a, 0xefb781},
-  {0xe42b, 0xefb782},
-  {0xe42c, 0xefb783},
-  {0xe42d, 0xefb784},
-  {0xe42e, 0xefb785},
-  {0xe42f, 0xefb786},
-  {0xe430, 0xefb787},
-  {0xe431, 0xefb788},
-  {0xe432, 0xefb789},
-  {0xe433, 0xefb78a},
-  {0xe434, 0xefb78b},
-  {0xe435, 0xefb78c},
-  {0xe436, 0xefb78d},
-  {0xe437, 0xefb78e},
-  {0xe438, 0xefb78f},
-  {0xe439, 0xefb790},
-  {0xe43a, 0xefb791},
-  {0xe43b, 0xefb792},
-  {0xe43c, 0xefb793},
-  {0xe43d, 0xefb794},
-  {0xe43e, 0xefb795},
-  {0xe43f, 0xefb796},
-  {0xe440, 0xefb797},
-  {0xe441, 0xefb798},
-  {0xe442, 0xefb799},
-  {0xe443, 0xefb79a},
-  {0xe444, 0xefb79b},
-  {0xe445, 0xefb79c},
-  {0xe446, 0xefb79d},
-  {0xe447, 0xefb79e},
-  {0xe448, 0xefb79f},
-  {0xe449, 0xefb7a0},
-  {0xe44a, 0xefb7a1},
-  {0xe44b, 0xefb7a2},
-  {0xe44c, 0xefb7a3},
-  {0xe44d, 0xefb7a4},
-  {0xe44e, 0xefb7a5},
-  {0xe44f, 0xefb7a6},
-  {0xe450, 0xefb7a7},
-  {0xe451, 0xefb7a8},
-  {0xe452, 0xefb7a9},
-  {0xe453, 0xefb7aa},
-  {0xe454, 0xefb7ab},
-  {0xe455, 0xefb7ac},
-  {0xe456, 0xefb7ad},
-  {0xe457, 0xefb7ae},
-  {0xe458, 0xefb7af},
-  {0xe459, 0xefb7b0},
-  {0xe45a, 0xefb7b1},
-  {0xe45b, 0xefb7b2},
-  {0xe45c, 0xefb7b3},
-  {0xe45d, 0xefb7b4},
-  {0xe45e, 0xefb7b5},
-  {0xe45f, 0xefb7b6},
-  {0xe460, 0xefb7b7},
-  {0xe461, 0xefb7b8},
-  {0xe462, 0xefb7b9},
-  {0xe463, 0xefb7ba},
-  {0xe464, 0xefb7bb},
-  {0xe465, 0xefb7bc},
-  {0xe466, 0xefb7bd},
-  {0xe467, 0xefb7be},
-  {0xe468, 0xefbaa1},
-  {0xe469, 0xefbaa2},
-  {0xe46a, 0xefbaa3},
-  {0xe46b, 0xefbaa4},
-  {0xe46c, 0xefbaa5},
-  {0xe46d, 0xefbaa6},
-  {0xe46e, 0xefbaa7},
-  {0xe46f, 0xefbaa8},
-  {0xe470, 0xefbaa9},
-  {0xe471, 0xefbaaa},
-  {0xe472, 0xefbaab},
-  {0xe473, 0xefbaac},
-  {0xe474, 0xefbaad},
-  {0xe475, 0xefbaae},
-  {0xe476, 0xefbaaf},
-  {0xe477, 0xefbab0},
-  {0xe478, 0xefbab1},
-  {0xe479, 0xefbab2},
-  {0xe47a, 0xefbab3},
-  {0xe47b, 0xefbab4},
-  {0xe47c, 0xefbab5},
-  {0xe47d, 0xefbab6},
-  {0xe47e, 0xefbab7},
-  {0xe47f, 0xefbab8},
-  {0xe480, 0xefbab9},
-  {0xe481, 0xefbaba},
-  {0xe482, 0xefbabb},
-  {0xe483, 0xefbabc},
-  {0xe484, 0xefbabd},
-  {0xe485, 0xefbabe},
-  {0xe486, 0xefbabf},
-  {0xe487, 0xefbb80},
-  {0xe488, 0xefbb81},
-  {0xe489, 0xefbb82},
-  {0xe48a, 0xefbb83},
-  {0xe48b, 0xefbb84},
-  {0xe48c, 0xefbb85},
-  {0xe48d, 0xefbb86},
-  {0xe48e, 0xefbb87},
-  {0xe48f, 0xefbb88},
-  {0xe490, 0xefbb89},
-  {0xe491, 0xefbb8a},
-  {0xe492, 0xefbb8b},
-  {0xe493, 0xefbb8c},
-  {0xe494, 0xefbb8d},
-  {0xe495, 0xefbb8e},
-  {0xe496, 0xefbb8f},
-  {0xe497, 0xefbb90},
-  {0xe498, 0xefbb91},
-  {0xe499, 0xefbb92},
-  {0xe49a, 0xefbb93},
-  {0xe49b, 0xefbb94},
-  {0xe49c, 0xefbb95},
-  {0xe49d, 0xefbb96},
-  {0xe49e, 0xefbb97},
-  {0xe49f, 0xefbb98},
-  {0xe4a0, 0xefbb99},
-  {0xe4a1, 0xefbb9a},
-  {0xe4a2, 0xefbb9b},
-  {0xe4a3, 0xefbb9c},
-  {0xe4a4, 0xefbb9d},
-  {0xe4a5, 0xefbb9e},
-  {0xe4a6, 0xefbb9f},
-  {0xe4a7, 0xefbba0},
-  {0xe4a8, 0xefbba1},
-  {0xe4a9, 0xefbba2},
-  {0xe4aa, 0xefbba3},
-  {0xe4ab, 0xefbba4},
-  {0xe4ac, 0xefbba5},
-  {0xe4ad, 0xefbba6},
-  {0xe4ae, 0xefbba7},
-  {0xe4af, 0xefbba8},
-  {0xe4b0, 0xefbba9},
-  {0xe4b1, 0xefbbaa},
-  {0xe4b2, 0xefbbab},
-  {0xe4b3, 0xefbbac},
-  {0xe4b4, 0xefbbad},
-  {0xe4b5, 0xefbbae},
-  {0xe4b6, 0xefbbaf},
-  {0xe4b7, 0xefbbb0},
-  {0xe4b8, 0xefbbb1},
-  {0xe4b9, 0xefbbb2},
-  {0xe4ba, 0xefbbb3},
-  {0xe4bb, 0xefbbb4},
-  {0xe4bc, 0xefbbb5},
-  {0xe4bd, 0xefbbb6},
-  {0xe4be, 0xefbbb7},
-  {0xe4bf, 0xefbbb8},
-  {0xe4c0, 0xefbbb9},
-  {0xe4c1, 0xefbbba},
-  {0xe4c2, 0xefbbbb},
-  {0xe4c3, 0xefbbbc},
-  {0xe4c4, 0xefbbbd},
-  {0xe4c5, 0xefbbbe},
-  {0xe4c6, 0xea8580},
-  {0xe4c7, 0xea8581},
-  {0xe4c8, 0xea8582},
-  {0xe4c9, 0xea8583},
-  {0xe4ca, 0xea8584},
-  {0xe4cb, 0xea8585},
-  {0xe4cc, 0xea8586},
-  {0xe4cd, 0xea8587},
-  {0xe4ce, 0xea8588},
-  {0xe4cf, 0xea8589},
-  {0xe4d0, 0xea858a},
-  {0xe4d1, 0xea858b},
-  {0xe4d2, 0xea858c},
-  {0xe4d3, 0xea858d},
-  {0xe4d4, 0xea858e},
-  {0xe4d5, 0xea858f},
-  {0xe4d6, 0xea8590},
-  {0xe4d7, 0xea8591},
-  {0xe4d8, 0xea8592},
-  {0xe4d9, 0xea8593},
-  {0xe4da, 0xea8594},
-  {0xe4db, 0xea8595},
-  {0xe4dc, 0xea8596},
-  {0xe4dd, 0xea8597},
-  {0xe4de, 0xea8598},
-  {0xe4df, 0xea8599},
-  {0xe4e0, 0xea859a},
-  {0xe4e1, 0xea859b},
-  {0xe4e2, 0xea859c},
-  {0xe4e3, 0xea859d},
-  {0xe4e4, 0xea859e},
-  {0xe4e5, 0xea859f},
-  {0xe4e6, 0xea85a0},
-  {0xe4e7, 0xea85a1},
-  {0xe4e8, 0xea85a2},
-  {0xe4e9, 0xea85a3},
-  {0xe4ea, 0xea85a4},
-  {0xe4eb, 0xea85a5},
-  {0xe4ec, 0xea85a6},
-  {0xe4ed, 0xea85a7},
-  {0xe4ee, 0xea85a8},
-  {0xe4ef, 0xea85a9},
-  {0xe4f0, 0xea85aa},
-  {0xe4f1, 0xea85ab},
-  {0xe4f2, 0xea85ac},
-  {0xe4f3, 0xea85ad},
-  {0xe4f4, 0xea85ae},
-  {0xe4f5, 0xea85af},
-  {0xe4f6, 0xea85b0},
-  {0xe4f7, 0xea85b1},
-  {0xe4f8, 0xea85b2},
-  {0xe4f9, 0xea85b3},
-  {0xe4fa, 0xea85b4},
-  {0xe4fb, 0xea85b5},
-  {0xe4fc, 0xea85b6},
-  {0xe4fd, 0xea85b7},
-  {0xe4fe, 0xea85b8},
-  {0xe4ff, 0xea85b9},
-  {0xe500, 0xea85ba},
-  {0xe501, 0xea85bb},
-  {0xe502, 0xea85bc},
-  {0xe503, 0xea85bd},
-  {0xe504, 0xea85be},
-  {0xe505, 0xea8680},
-  {0xe506, 0xea8681},
-  {0xe507, 0xea8682},
-  {0xe508, 0xea8683},
-  {0xe509, 0xea8684},
-  {0xe50a, 0xea8685},
-  {0xe50b, 0xea8686},
-  {0xe50c, 0xea8687},
-  {0xe50d, 0xea8688},
-  {0xe50e, 0xea8689},
-  {0xe50f, 0xea868a},
-  {0xe510, 0xea868b},
-  {0xe511, 0xea868c},
-  {0xe512, 0xea868d},
-  {0xe513, 0xea868e},
-  {0xe514, 0xea868f},
-  {0xe515, 0xea8690},
-  {0xe516, 0xea8691},
-  {0xe517, 0xea8692},
-  {0xe518, 0xea8693},
-  {0xe519, 0xea8694},
-  {0xe51a, 0xea8695},
-  {0xe51b, 0xea8696},
-  {0xe51c, 0xea8697},
-  {0xe51d, 0xea8698},
-  {0xe51e, 0xea8699},
-  {0xe51f, 0xea869a},
-  {0xe520, 0xea869b},
-  {0xe521, 0xea869c},
-  {0xe522, 0xea869d},
-  {0xe523, 0xea869e},
-  {0xe524, 0xea869f},
-  {0xe525, 0xea86a0},
-  {0xe526, 0xea8980},
-  {0xe527, 0xea8981},
-  {0xe528, 0xea8982},
-  {0xe529, 0xea8983},
-  {0xe52a, 0xea8984},
-  {0xe52b, 0xea8985},
-  {0xe52c, 0xea8986},
-  {0xe52d, 0xea8987},
-  {0xe52e, 0xea8988},
-  {0xe52f, 0xea8989},
-  {0xe530, 0xea898a},
-  {0xe531, 0xea898b},
-  {0xe532, 0xea898c},
-  {0xe533, 0xea898d},
-  {0xe534, 0xea898e},
-  {0xe535, 0xea898f},
-  {0xe536, 0xea8990},
-  {0xe537, 0xea8991},
-  {0xe538, 0xea8992},
-  {0xe539, 0xea8993},
-  {0xe53a, 0xea8994},
-  {0xe53b, 0xea8995},
-  {0xe53c, 0xea8996},
-  {0xe53d, 0xea8997},
-  {0xe53e, 0xea8998},
-  {0xe53f, 0xea8999},
-  {0xe540, 0xea899a},
-  {0xe541, 0xea899b},
-  {0xe542, 0xea899c},
-  {0xe543, 0xea899d},
-  {0xe544, 0xea899e},
-  {0xe545, 0xea899f},
-  {0xe546, 0xea89a0},
-  {0xe547, 0xea89a1},
-  {0xe548, 0xea89a2},
-  {0xe549, 0xea89a3},
-  {0xe54a, 0xea89a4},
-  {0xe54b, 0xea89a5},
-  {0xe54c, 0xea89a6},
-  {0xe54d, 0xea89a7},
-  {0xe54e, 0xea89a8},
-  {0xe54f, 0xea89a9},
-  {0xe550, 0xea89aa},
-  {0xe551, 0xea89ab},
-  {0xe552, 0xea89ac},
-  {0xe553, 0xea89ad},
-  {0xe554, 0xea89ae},
-  {0xe555, 0xea89af},
-  {0xe556, 0xea89b0},
-  {0xe557, 0xea89b1},
-  {0xe558, 0xea89b2},
-  {0xe559, 0xea89b3},
-  {0xe55a, 0xea89b4},
-  {0xe55b, 0xea89b5},
-  {0xe55c, 0xea89b6},
-  {0xe55d, 0xea89b7},
-  {0xe55e, 0xea89b8},
-  {0xe55f, 0xea89b9},
-  {0xe560, 0xea89ba},
-  {0xe561, 0xea89bb},
-  {0xe562, 0xea89bc},
-  {0xe563, 0xea89bd},
-  {0xe564, 0xea89be},
-  {0xe565, 0xea8a80},
-  {0xe566, 0xea8a81},
-  {0xe567, 0xea8a82},
-  {0xe568, 0xea8a83},
-  {0xe569, 0xea8a84},
-  {0xe56a, 0xea8a85},
-  {0xe56b, 0xea8a86},
-  {0xe56c, 0xea8a87},
-  {0xe56d, 0xea8a88},
-  {0xe56e, 0xea8a89},
-  {0xe56f, 0xea8a8a},
-  {0xe570, 0xea8a8b},
-  {0xe571, 0xea8a8c},
-  {0xe572, 0xea8a8d},
-  {0xe573, 0xea8a8e},
-  {0xe574, 0xea8a8f},
-  {0xe575, 0xea8a90},
-  {0xe576, 0xea8a91},
-  {0xe577, 0xea8a92},
-  {0xe578, 0xea8a93},
-  {0xe579, 0xea8a94},
-  {0xe57a, 0xea8a95},
-  {0xe57b, 0xea8a96},
-  {0xe57c, 0xea8a97},
-  {0xe57d, 0xea8a98},
-  {0xe57e, 0xea8a99},
-  {0xe57f, 0xea8a9a},
-  {0xe580, 0xea8a9b},
-  {0xe581, 0xea8a9c},
-  {0xe582, 0xea8a9d},
-  {0xe583, 0xea8a9e},
-  {0xe584, 0xea8a9f},
-  {0xe585, 0xea8aa0},
-  {0xe586, 0xea8d80},
-  {0xe587, 0xea8d81},
-  {0xe588, 0xea8d82},
-  {0xe589, 0xea8d83},
-  {0xe58a, 0xea8d84},
-  {0xe58b, 0xea8d85},
-  {0xe58c, 0xea8d86},
-  {0xe58d, 0xea8d87},
-  {0xe58e, 0xea8d88},
-  {0xe58f, 0xea8d89},
-  {0xe590, 0xea8d8a},
-  {0xe591, 0xea8d8b},
-  {0xe592, 0xea8d8c},
-  {0xe593, 0xea8d8d},
-  {0xe594, 0xea8d8e},
-  {0xe595, 0xea8d8f},
-  {0xe596, 0xea8d90},
-  {0xe597, 0xea8d91},
-  {0xe598, 0xea8d92},
-  {0xe599, 0xea8d93},
-  {0xe59a, 0xea8d94},
-  {0xe59b, 0xea8d95},
-  {0xe59c, 0xea8d96},
-  {0xe59d, 0xea8d97},
-  {0xe59e, 0xea8d98},
-  {0xe59f, 0xea8d99},
-  {0xe5a0, 0xea8d9a},
-  {0xe5a1, 0xea8d9b},
-  {0xe5a2, 0xea8d9c},
-  {0xe5a3, 0xea8d9d},
-  {0xe5a4, 0xea8d9e},
-  {0xe5a5, 0xea8d9f},
-  {0xe5a6, 0xea8da0},
-  {0xe5a7, 0xea8da1},
-  {0xe5a8, 0xea8da2},
-  {0xe5a9, 0xea8da3},
-  {0xe5aa, 0xea8da4},
-  {0xe5ab, 0xea8da5},
-  {0xe5ac, 0xea8da6},
-  {0xe5ad, 0xea8da7},
-  {0xe5ae, 0xea8da8},
-  {0xe5af, 0xea8da9},
-  {0xe5b0, 0xea8daa},
-  {0xe5b1, 0xea8dab},
-  {0xe5b2, 0xea8dac},
-  {0xe5b3, 0xea8dad},
-  {0xe5b4, 0xea8dae},
-  {0xe5b5, 0xea8daf},
-  {0xe5b6, 0xea8db0},
-  {0xe5b7, 0xea8db1},
-  {0xe5b8, 0xea8db2},
-  {0xe5b9, 0xea8db3},
-  {0xe5ba, 0xea8db4},
-  {0xe5bb, 0xea8db5},
-  {0xe5bc, 0xea8db6},
-  {0xe5bd, 0xea8db7},
-  {0xe5be, 0xea8db8},
-  {0xe5bf, 0xea8db9},
-  {0xe5c0, 0xea8dba},
-  {0xe5c1, 0xea8dbb},
-  {0xe5c2, 0xea8dbc},
-  {0xe5c3, 0xea8dbd},
-  {0xe5c4, 0xea8dbe},
-  {0xe5c5, 0xea8e80},
-  {0xe5c6, 0xea8e81},
-  {0xe5c7, 0xea8e82},
-  {0xe5c8, 0xea8e83},
-  {0xe5c9, 0xea8e84},
-  {0xe5ca, 0xea8e85},
-  {0xe5cb, 0xea8e86},
-  {0xe5cc, 0xea8e87},
-  {0xe5cd, 0xea8e88},
-  {0xe5ce, 0xea8e89},
-  {0xe5cf, 0xea8e8a},
-  {0xe5d0, 0xea8e8b},
-  {0xe5d1, 0xea8e8c},
-  {0xe5d2, 0xea8e8d},
-  {0xe5d3, 0xea8e8e},
-  {0xe5d4, 0xea8e8f},
-  {0xe5d5, 0xea8e90},
-  {0xe5d6, 0xea8e91},
-  {0xe5d7, 0xea8e92},
-  {0xe5d8, 0xea8e93},
-  {0xe5d9, 0xea8e94},
-  {0xe5da, 0xea8e95},
-  {0xe5db, 0xea8e96},
-  {0xe5dc, 0xea8e97},
-  {0xe5dd, 0xea8e98},
-  {0xe5de, 0xea8e99},
-  {0xe5df, 0xea8e9a},
-  {0xe5e0, 0xea8e9b},
-  {0xe5e1, 0xea8e9c},
-  {0xe5e2, 0xea8e9d},
-  {0xe5e3, 0xea8e9e},
-  {0xe5e4, 0xea8e9f},
-  {0xe5e5, 0xea8ea0},
-  {0xe5e6, 0xea9180},
-  {0xe5e7, 0xea9181},
-  {0xe5e8, 0xea9182},
-  {0xe5e9, 0xea9183},
-  {0xe5ea, 0xea9184},
-  {0xe5eb, 0xea9185},
-  {0xe5ec, 0xea9186},
-  {0xe5ed, 0xea9187},
-  {0xe5ee, 0xea9188},
-  {0xe5ef, 0xea9189},
-  {0xe5f0, 0xea918a},
-  {0xe5f1, 0xea918b},
-  {0xe5f2, 0xea918c},
-  {0xe5f3, 0xea918d},
-  {0xe5f4, 0xea918e},
-  {0xe5f5, 0xea918f},
-  {0xe5f6, 0xea9190},
-  {0xe5f7, 0xea9191},
-  {0xe5f8, 0xea9192},
-  {0xe5f9, 0xea9193},
-  {0xe5fa, 0xea9194},
-  {0xe5fb, 0xea9195},
-  {0xe5fc, 0xea9196},
-  {0xe5fd, 0xea9197},
-  {0xe5fe, 0xea9198},
-  {0xe5ff, 0xea9199},
-  {0xe600, 0xea919a},
-  {0xe601, 0xea919b},
-  {0xe602, 0xea919c},
-  {0xe603, 0xea919d},
-  {0xe604, 0xea919e},
-  {0xe605, 0xea919f},
-  {0xe606, 0xea91a0},
-  {0xe607, 0xea91a1},
-  {0xe608, 0xea91a2},
-  {0xe609, 0xea91a3},
-  {0xe60a, 0xea91a4},
-  {0xe60b, 0xea91a5},
-  {0xe60c, 0xea91a6},
-  {0xe60d, 0xea91a7},
-  {0xe60e, 0xea91a8},
-  {0xe60f, 0xea91a9},
-  {0xe610, 0xea91aa},
-  {0xe611, 0xea91ab},
-  {0xe612, 0xea91ac},
-  {0xe613, 0xea91ad},
-  {0xe614, 0xea91ae},
-  {0xe615, 0xea91af},
-  {0xe616, 0xea91b0},
-  {0xe617, 0xea91b1},
-  {0xe618, 0xea91b2},
-  {0xe619, 0xea91b3},
-  {0xe61a, 0xea91b4},
-  {0xe61b, 0xea91b5},
-  {0xe61c, 0xea91b6},
-  {0xe61d, 0xea91b7},
-  {0xe61e, 0xea91b8},
-  {0xe61f, 0xea91b9},
-  {0xe620, 0xea91ba},
-  {0xe621, 0xea91bb},
-  {0xe622, 0xea91bc},
-  {0xe623, 0xea91bd},
-  {0xe624, 0xea91be},
-  {0xe625, 0xea9280},
-  {0xe626, 0xea9281},
-  {0xe627, 0xea9282},
-  {0xe628, 0xea9283},
-  {0xe629, 0xea9284},
-  {0xe62a, 0xea9285},
-  {0xe62b, 0xea9286},
-  {0xe62c, 0xea9287},
-  {0xe62d, 0xea9288},
-  {0xe62e, 0xea9289},
-  {0xe62f, 0xea928a},
-  {0xe630, 0xea928b},
-  {0xe631, 0xea928c},
-  {0xe632, 0xea928d},
-  {0xe633, 0xea928e},
-  {0xe634, 0xea928f},
-  {0xe635, 0xea9290},
-  {0xe636, 0xea9291},
-  {0xe637, 0xea9292},
-  {0xe638, 0xea9293},
-  {0xe639, 0xea9294},
-  {0xe63a, 0xea9295},
-  {0xe63b, 0xea9296},
-  {0xe63c, 0xea9297},
-  {0xe63d, 0xea9298},
-  {0xe63e, 0xea9299},
-  {0xe63f, 0xea929a},
-  {0xe640, 0xea929b},
-  {0xe641, 0xea929c},
-  {0xe642, 0xea929d},
-  {0xe643, 0xea929e},
-  {0xe644, 0xea929f},
-  {0xe645, 0xea92a0},
-  {0xe646, 0xea9580},
-  {0xe647, 0xea9581},
-  {0xe648, 0xea9582},
-  {0xe649, 0xea9583},
-  {0xe64a, 0xea9584},
-  {0xe64b, 0xea9585},
-  {0xe64c, 0xea9586},
-  {0xe64d, 0xea9587},
-  {0xe64e, 0xea9588},
-  {0xe64f, 0xea9589},
-  {0xe650, 0xea958a},
-  {0xe651, 0xea958b},
-  {0xe652, 0xea958c},
-  {0xe653, 0xea958d},
-  {0xe654, 0xea958e},
-  {0xe655, 0xea958f},
-  {0xe656, 0xea9590},
-  {0xe657, 0xea9591},
-  {0xe658, 0xea9592},
-  {0xe659, 0xea9593},
-  {0xe65a, 0xea9594},
-  {0xe65b, 0xea9595},
-  {0xe65c, 0xea9596},
-  {0xe65d, 0xea9597},
-  {0xe65e, 0xea9598},
-  {0xe65f, 0xea9599},
-  {0xe660, 0xea959a},
-  {0xe661, 0xea959b},
-  {0xe662, 0xea959c},
-  {0xe663, 0xea959d},
-  {0xe664, 0xea959e},
-  {0xe665, 0xea959f},
-  {0xe666, 0xea95a0},
-  {0xe667, 0xea95a1},
-  {0xe668, 0xea95a2},
-  {0xe669, 0xea95a3},
-  {0xe66a, 0xea95a4},
-  {0xe66b, 0xea95a5},
-  {0xe66c, 0xea95a6},
-  {0xe66d, 0xea95a7},
-  {0xe66e, 0xea95a8},
-  {0xe66f, 0xea95a9},
-  {0xe670, 0xea95aa},
-  {0xe671, 0xea95ab},
-  {0xe672, 0xea95ac},
-  {0xe673, 0xea95ad},
-  {0xe674, 0xea95ae},
-  {0xe675, 0xea95af},
-  {0xe676, 0xea95b0},
-  {0xe677, 0xea95b1},
-  {0xe678, 0xea95b2},
-  {0xe679, 0xea95b3},
-  {0xe67a, 0xea95b4},
-  {0xe67b, 0xea95b5},
-  {0xe67c, 0xea95b6},
-  {0xe67d, 0xea95b7},
-  {0xe67e, 0xea95b8},
-  {0xe67f, 0xea95b9},
-  {0xe680, 0xea95ba},
-  {0xe681, 0xea95bb},
-  {0xe682, 0xea95bc},
-  {0xe683, 0xea95bd},
-  {0xe684, 0xea95be},
-  {0xe685, 0xea9680},
-  {0xe686, 0xea9681},
-  {0xe687, 0xea9682},
-  {0xe688, 0xea9683},
-  {0xe689, 0xea9684},
-  {0xe68a, 0xea9685},
-  {0xe68b, 0xea9686},
-  {0xe68c, 0xea9687},
-  {0xe68d, 0xea9688},
-  {0xe68e, 0xea9689},
-  {0xe68f, 0xea968a},
-  {0xe690, 0xea968b},
-  {0xe691, 0xea968c},
-  {0xe692, 0xea968d},
-  {0xe693, 0xea968e},
-  {0xe694, 0xea968f},
-  {0xe695, 0xea9690},
-  {0xe696, 0xea9691},
-  {0xe697, 0xea9692},
-  {0xe698, 0xea9693},
-  {0xe699, 0xea9694},
-  {0xe69a, 0xea9695},
-  {0xe69b, 0xea9696},
-  {0xe69c, 0xea9697},
-  {0xe69d, 0xea9698},
-  {0xe69e, 0xea9699},
-  {0xe69f, 0xea969a},
-  {0xe6a0, 0xea969b},
-  {0xe6a1, 0xea969c},
-  {0xe6a2, 0xea969d},
-  {0xe6a3, 0xea969e},
-  {0xe6a4, 0xea969f},
-  {0xe6a5, 0xea96a0},
-  {0xe6a6, 0xea9980},
-  {0xe6a7, 0xea9981},
-  {0xe6a8, 0xea9982},
-  {0xe6a9, 0xea9983},
-  {0xe6aa, 0xea9984},
-  {0xe6ab, 0xea9985},
-  {0xe6ac, 0xea9986},
-  {0xe6ad, 0xea9987},
-  {0xe6ae, 0xea9988},
-  {0xe6af, 0xea9989},
-  {0xe6b0, 0xea998a},
-  {0xe6b1, 0xea998b},
-  {0xe6b2, 0xea998c},
-  {0xe6b3, 0xea998d},
-  {0xe6b4, 0xea998e},
-  {0xe6b5, 0xea998f},
-  {0xe6b6, 0xea9990},
-  {0xe6b7, 0xea9991},
-  {0xe6b8, 0xea9992},
-  {0xe6b9, 0xea9993},
-  {0xe6ba, 0xea9994},
-  {0xe6bb, 0xea9995},
-  {0xe6bc, 0xea9996},
-  {0xe6bd, 0xea9997},
-  {0xe6be, 0xea9998},
-  {0xe6bf, 0xea9999},
-  {0xe6c0, 0xea999a},
-  {0xe6c1, 0xea999b},
-  {0xe6c2, 0xea999c},
-  {0xe6c3, 0xea999d},
-  {0xe6c4, 0xea999e},
-  {0xe6c5, 0xea999f},
-  {0xe6c6, 0xea99a0},
-  {0xe6c7, 0xea99a1},
-  {0xe6c8, 0xea99a2},
-  {0xe6c9, 0xea99a3},
-  {0xe6ca, 0xea99a4},
-  {0xe6cb, 0xea99a5},
-  {0xe6cc, 0xea99a6},
-  {0xe6cd, 0xea99a7},
-  {0xe6ce, 0xea99a8},
-  {0xe6cf, 0xea99a9},
-  {0xe6d0, 0xea99aa},
-  {0xe6d1, 0xea99ab},
-  {0xe6d2, 0xea99ac},
-  {0xe6d3, 0xea99ad},
-  {0xe6d4, 0xea99ae},
-  {0xe6d5, 0xea99af},
-  {0xe6d6, 0xea99b0},
-  {0xe6d7, 0xea99b1},
-  {0xe6d8, 0xea99b2},
-  {0xe6d9, 0xea99b3},
-  {0xe6da, 0xea99b4},
-  {0xe6db, 0xea99b5},
-  {0xe6dc, 0xea99b6},
-  {0xe6dd, 0xea99b7},
-  {0xe6de, 0xea99b8},
-  {0xe6df, 0xea99b9},
-  {0xe6e0, 0xea99ba},
-  {0xe6e1, 0xea99bb},
-  {0xe6e2, 0xea99bc},
-  {0xe6e3, 0xea99bd},
-  {0xe6e4, 0xea99be},
-  {0xe6e5, 0xea9a80},
-  {0xe6e6, 0xea9a81},
-  {0xe6e7, 0xea9a82},
-  {0xe6e8, 0xea9a83},
-  {0xe6e9, 0xea9a84},
-  {0xe6ea, 0xea9a85},
-  {0xe6eb, 0xea9a86},
-  {0xe6ec, 0xea9a87},
-  {0xe6ed, 0xea9a88},
-  {0xe6ee, 0xea9a89},
-  {0xe6ef, 0xea9a8a},
-  {0xe6f0, 0xea9a8b},
-  {0xe6f1, 0xea9a8c},
-  {0xe6f2, 0xea9a8d},
-  {0xe6f3, 0xea9a8e},
-  {0xe6f4, 0xea9a8f},
-  {0xe6f5, 0xea9a90},
-  {0xe6f6, 0xea9a91},
-  {0xe6f7, 0xea9a92},
-  {0xe6f8, 0xea9a93},
-  {0xe6f9, 0xea9a94},
-  {0xe6fa, 0xea9a95},
-  {0xe6fb, 0xea9a96},
-  {0xe6fc, 0xea9a97},
-  {0xe6fd, 0xea9a98},
-  {0xe6fe, 0xea9a99},
-  {0xe6ff, 0xea9a9a},
-  {0xe700, 0xea9a9b},
-  {0xe701, 0xea9a9c},
-  {0xe702, 0xea9a9d},
-  {0xe703, 0xea9a9e},
-  {0xe704, 0xea9a9f},
-  {0xe705, 0xea9aa0},
-  {0xe706, 0xea9d80},
-  {0xe707, 0xea9d81},
-  {0xe708, 0xea9d82},
-  {0xe709, 0xea9d83},
-  {0xe70a, 0xea9d84},
-  {0xe70b, 0xea9d85},
-  {0xe70c, 0xea9d86},
-  {0xe70d, 0xea9d87},
-  {0xe70e, 0xea9d88},
-  {0xe70f, 0xea9d89},
-  {0xe710, 0xea9d8a},
-  {0xe711, 0xea9d8b},
-  {0xe712, 0xea9d8c},
-  {0xe713, 0xea9d8d},
-  {0xe714, 0xea9d8e},
-  {0xe715, 0xea9d8f},
-  {0xe716, 0xea9d90},
-  {0xe717, 0xea9d91},
-  {0xe718, 0xea9d92},
-  {0xe719, 0xea9d93},
-  {0xe71a, 0xea9d94},
-  {0xe71b, 0xea9d95},
-  {0xe71c, 0xea9d96},
-  {0xe71d, 0xea9d97},
-  {0xe71e, 0xea9d98},
-  {0xe71f, 0xea9d99},
-  {0xe720, 0xea9d9a},
-  {0xe721, 0xea9d9b},
-  {0xe722, 0xea9d9c},
-  {0xe723, 0xea9d9d},
-  {0xe724, 0xea9d9e},
-  {0xe725, 0xea9d9f},
-  {0xe726, 0xea9da0},
-  {0xe727, 0xea9da1},
-  {0xe728, 0xea9da2},
-  {0xe729, 0xea9da3},
-  {0xe72a, 0xea9da4},
-  {0xe72b, 0xea9da5},
-  {0xe72c, 0xea9da6},
-  {0xe72d, 0xea9da7},
-  {0xe72e, 0xea9da8},
-  {0xe72f, 0xea9da9},
-  {0xe730, 0xea9daa},
-  {0xe731, 0xea9dab},
-  {0xe732, 0xea9dac},
-  {0xe733, 0xea9dad},
-  {0xe734, 0xea9dae},
-  {0xe735, 0xea9daf},
-  {0xe736, 0xea9db0},
-  {0xe737, 0xea9db1},
-  {0xe738, 0xea9db2},
-  {0xe739, 0xea9db3},
-  {0xe73a, 0xea9db4},
-  {0xe73b, 0xea9db5},
-  {0xe73c, 0xea9db6},
-  {0xe73d, 0xea9db7},
-  {0xe73e, 0xea9db8},
-  {0xe73f, 0xea9db9},
-  {0xe740, 0xea9dba},
-  {0xe741, 0xea9dbb},
-  {0xe742, 0xea9dbc},
-  {0xe743, 0xea9dbd},
-  {0xe744, 0xea9dbe},
-  {0xe745, 0xea9e80},
-  {0xe746, 0xea9e81},
-  {0xe747, 0xea9e82},
-  {0xe748, 0xea9e83},
-  {0xe749, 0xea9e84},
-  {0xe74a, 0xea9e85},
-  {0xe74b, 0xea9e86},
-  {0xe74c, 0xea9e87},
-  {0xe74d, 0xea9e88},
-  {0xe74e, 0xea9e89},
-  {0xe74f, 0xea9e8a},
-  {0xe750, 0xea9e8b},
-  {0xe751, 0xea9e8c},
-  {0xe752, 0xea9e8d},
-  {0xe753, 0xea9e8e},
-  {0xe754, 0xea9e8f},
-  {0xe755, 0xea9e90},
-  {0xe756, 0xea9e91},
-  {0xe757, 0xea9e92},
-  {0xe758, 0xea9e93},
-  {0xe759, 0xea9e94},
-  {0xe75a, 0xea9e95},
-  {0xe75b, 0xea9e96},
-  {0xe75c, 0xea9e97},
-  {0xe75d, 0xea9e98},
-  {0xe75e, 0xea9e99},
-  {0xe75f, 0xea9e9a},
-  {0xe760, 0xea9e9b},
-  {0xe761, 0xea9e9c},
-  {0xe762, 0xea9e9d},
-  {0xe763, 0xea9e9e},
-  {0xe764, 0xea9e9f},
-  {0xe765, 0xea9ea0},
-  {0xe766, 0xea8aab},
-  {0xe767, 0xea8aac},
-  {0xe768, 0xea8aad},
-  {0xe769, 0xea8aae},
-  {0xe76a, 0xea8aaf},
-  {0xe76b, 0xea8ab0},
-  {0xe76c, 0x33ec9cb9},
-  {0xe76d, 0xea8ba4},
-  {0xe76e, 0xea8baf},
-  {0xe76f, 0xea8bb0},
-  {0xe770, 0xea8bbd},
-  {0xe771, 0xea8bbe},
-  {0xe772, 0xea93b4},
-  {0xe773, 0xea93b5},
-  {0xe774, 0xea93b6},
-  {0xe775, 0xea93b7},
-  {0xe776, 0xea93b8},
-  {0xe777, 0xea93b9},
-  {0xe778, 0xea93ba},
-  {0xe779, 0xea93bb},
-  {0xe77a, 0xea93bc},
-  {0xe77b, 0xea93bd},
-  {0xe77c, 0xea93be},
-  {0xe77d, 0xea97b7},
-  {0xe77e, 0xea97b8},
-  {0xe77f, 0xea97b9},
-  {0xe780, 0xea97ba},
-  {0xe781, 0xea97bb},
-  {0xe782, 0xea97bc},
-  {0xe783, 0xea97bd},
-  {0xe784, 0xea97be},
-  {0xe785, 0xea9ab9},
-  {0xe786, 0xea9aba},
-  {0xe787, 0xea9abb},
-  {0xe788, 0xea9abc},
-  {0xe789, 0xea9abd},
-  {0xe78a, 0xea9abe},
-  {0xe78b, 0xea9abf},
-  {0xe78c, 0xea9b80},
-  {0xe78d, 0xea9b99},
-  {0xe78e, 0xea9b9a},
-  {0xe78f, 0xea9b9b},
-  {0xe790, 0xea9b9c},
-  {0xe791, 0xea9b9d},
-  {0xe792, 0xea9b9e},
-  {0xe793, 0xea9b9f},
-  {0xe794, 0xea9bac},
-  {0xe795, 0xea9bad},
-  {0xe796, 0xea9bb3},
-  {0xe797, 0xea9bb6},
-  {0xe798, 0xea9bb7},
-  {0xe799, 0xea9bb8},
-  {0xe79a, 0xea9bb9},
-  {0xe79b, 0xea9bba},
-  {0xe79c, 0xea9bbb},
-  {0xe79d, 0xea9bbc},
-  {0xe79e, 0xea9bbd},
-  {0xe79f, 0xea9bbe},
-  {0xe7a0, 0xea9f82},
-  {0xe7a1, 0xea9f83},
-  {0xe7a2, 0xea9f84},
-  {0xe7a3, 0xea9f85},
-  {0xe7a4, 0xea9f86},
-  {0xe7a5, 0xea9f87},
-  {0xe7a6, 0xea9f88},
-  {0xe7a7, 0xea9f89},
-  {0xe7a8, 0xea9f8a},
-  {0xe7a9, 0xea9f8b},
-  {0xe7aa, 0xea9f8c},
-  {0xe7ab, 0xea9f8d},
-  {0xe7ac, 0xea9f8e},
-  {0xe7ad, 0xea9f8f},
-  {0xe7ae, 0xea9f90},
-  {0xe7af, 0xea9fb2},
-  {0xe7b0, 0xea9fb3},
-  {0xe7b1, 0xea9fb4},
-  {0xe7b2, 0xea9fb5},
-  {0xe7b3, 0xea9fb6},
-  {0xe7b4, 0xea9fb7},
-  {0xe7b5, 0xea9fb8},
-  {0xe7b6, 0xea9fb9},
-  {0xe7b7, 0xea9fba},
-  {0xe7b8, 0xea9fbb},
-  {0xe7b9, 0xea9fbc},
-  {0xe7ba, 0xea9fbd},
-  {0xe7bb, 0xea9fbe},
-  {0xe7bc, 0xeaa296},
-  {0xe7bd, 0xeaa297},
-  {0xe7be, 0xeaa298},
-  {0xe7bf, 0xeaa299},
-  {0xe7c0, 0xeaa29a},
-  {0xe7c1, 0xeaa29b},
-  {0xe7c2, 0xeaa29c},
-  {0xe7c3, 0xeaa29d},
-  {0xe7c4, 0xeaa29e},
-  {0xe7c5, 0xeaa29f},
-  {0xe7c6, 0xeaa2a0},
-  {0xe7c7, 0xeaa2bc},
-  {0xe7c8, 0x33eca0b0},
-  {0xe7c9, 0xeaa381},
-  {0xe7ca, 0xeaa382},
-  {0xe7cb, 0xeaa383},
-  {0xe7cc, 0xeaa384},
-  {0xe7cd, 0xeaa3aa},
-  {0xe7ce, 0xeaa3ab},
-  {0xe7cf, 0xeaa3ac},
-  {0xe7d0, 0xeaa3ad},
-  {0xe7d1, 0xeaa3ae},
-  {0xe7d2, 0xeaa3af},
-  {0xe7d3, 0xeaa3b0},
-  {0xe7d4, 0xeaa3b1},
-  {0xe7d5, 0xeaa3b2},
-  {0xe7d6, 0xeaa3b3},
-  {0xe7d7, 0xeaa3b4},
-  {0xe7d8, 0xeaa3b5},
-  {0xe7d9, 0xeaa3b6},
-  {0xe7da, 0xeaa3b7},
-  {0xe7db, 0xeaa3b8},
-  {0xe7dc, 0xeaa3b9},
-  {0xe7dd, 0xeaa3ba},
-  {0xe7de, 0xeaa3bb},
-  {0xe7df, 0xeaa3bc},
-  {0xe7e0, 0xeaa3bd},
-  {0xe7e1, 0xeaa3be},
-  {0xe7e2, 0xeaa598},
-  {0xe7e3, 0xeaa59b},
-  {0xe7e4, 0xeaa59d},
-  {0xe7e5, 0xeaa59e},
-  {0xe7e6, 0xeaa59f},
-  {0xe7e7, 0x33eca0b1},
-  {0xe7e8, 0x33eca0b2},
-  {0xe7e9, 0x33eca0b3},
-  {0xe7ea, 0x33eca0b4},
-  {0xe7eb, 0x33eca0b5},
-  {0xe7ec, 0x33eca0b6},
-  {0xe7ed, 0x33eca0b7},
-  {0xe7ee, 0x33eca0b8},
-  {0xe7ef, 0x33eca0b9},
-  {0xe7f0, 0x33eca4b0},
-  {0xe7f1, 0x33eca4b1},
-  {0xe7f2, 0x33eca4b2},
-  {0xe7f3, 0x33eca4b3},
-  {0xe7f4, 0xeaa697},
-  {0xe7f5, 0xeaa698},
-  {0xe7f6, 0xeaa699},
-  {0xe7f7, 0xeaa69a},
-  {0xe7f8, 0xeaa69b},
-  {0xe7f9, 0xeaa69c},
-  {0xe7fa, 0xeaa69d},
-  {0xe7fb, 0xeaa69e},
-  {0xe7fc, 0xeaa69f},
-  {0xe7fd, 0xeaa6a0},
-  {0xe7fe, 0xeaa6a1},
-  {0xe7ff, 0xeaa6a2},
-  {0xe800, 0xeaa6a3},
-  {0xe801, 0xeaa7b0},
-  {0xe802, 0xeaa7b1},
-  {0xe803, 0xeaa7b2},
-  {0xe804, 0xeaa7b3},
-  {0xe805, 0xeaa7b4},
-  {0xe806, 0xeaa7b5},
-  {0xe807, 0xeaa7b6},
-  {0xe808, 0xeaa7b7},
-  {0xe809, 0xeaa7b8},
-  {0xe80a, 0xeaa7b9},
-  {0xe80b, 0xeaa7ba},
-  {0xe80c, 0xeaa7bb},
-  {0xe80d, 0xeaa7bc},
-  {0xe80e, 0xeaa7bd},
-  {0xe80f, 0xeaa7be},
-  {0xe810, 0xed9fba},
-  {0xe811, 0xed9fbb},
-  {0xe812, 0xed9fbc},
-  {0xe813, 0xed9fbd},
-  {0xe814, 0xed9fbe},
-  {0xe815, 0x33eca4b4},
-  {0xe816, 0xefb991},
-  {0xe817, 0xefb992},
-  {0xe818, 0xefb993},
-  {0xe819, 0x33eca4b5},
-  {0xe81a, 0x33eca4b6},
-  {0xe81b, 0x33eca4b7},
-  {0xe81c, 0x33eca4b8},
-  {0xe81d, 0x33eca4b9},
-  {0xe81e, 0xefb999},
-  {0xe81f, 0x33eca8b0},
-  {0xe820, 0x33eca8b1},
-  {0xe821, 0x33eca8b2},
-  {0xe822, 0x33eca8b3},
-  {0xe823, 0x33eca8b4},
-  {0xe824, 0x33eca8b5},
-  {0xe825, 0x33eca8b6},
-  {0xe826, 0xefb9a1},
-  {0xe827, 0x33eca8b7},
-  {0xe828, 0x33eca8b8},
-  {0xe829, 0x33eca8b9},
-  {0xe82a, 0x33ecacb0},
-  {0xe82b, 0xefb9a6},
-  {0xe82c, 0xefb9a7},
-  {0xe82d, 0x33ecacb1},
-  {0xe82e, 0x33ecacb2},
-  {0xe82f, 0x33ecacb3},
-  {0xe830, 0x33ecacb4},
-  {0xe831, 0xefb9ac},
-  {0xe832, 0xefb9ad},
-  {0xe833, 0x33ecacb5},
-  {0xe834, 0x33ecacb6},
-  {0xe835, 0x33ecacb7},
-  {0xe836, 0x33ecacb8},
-  {0xe837, 0x33ecacb9},
-  {0xe838, 0x33ecb0b0},
-  {0xe839, 0x33ecb0b1},
-  {0xe83a, 0x33ecb0b2},
-  {0xe83b, 0xefb9b6},
-  {0xe83c, 0x33ecb0b3},
-  {0xe83d, 0x33ecb0b4},
-  {0xe83e, 0x33ecb0b5},
-  {0xe83f, 0x33ecb0b6},
-  {0xe840, 0x33ecb0b7},
-  {0xe841, 0x33ecb0b8},
-  {0xe842, 0x33ecb0b9},
-  {0xe843, 0xefb9be},
-  {0xe844, 0x33ecb4b0},
-  {0xe845, 0x33ecb4b1},
-  {0xe846, 0x33ecb4b2},
-  {0xe847, 0x33ecb4b3},
-  {0xe848, 0x33ecb4b4},
-  {0xe849, 0x33ecb4b5},
-  {0xe84a, 0x33ecb4b6},
-  {0xe84b, 0x33ecb4b7},
-  {0xe84c, 0x33ecb4b8},
-  {0xe84d, 0x33ecb4b9},
-  {0xe84e, 0x33ecb8b0},
-  {0xe84f, 0x33ecb8b1},
-  {0xe850, 0x33ecb8b2},
-  {0xe851, 0x33ecb8b3},
-  {0xe852, 0x33ecb8b4},
-  {0xe853, 0x33ecb8b5},
-  {0xe854, 0xefba90},
-  {0xe855, 0xefba91},
-  {0xe856, 0x33ecb8b6},
-  {0xe857, 0x33ecb8b7},
-  {0xe858, 0x33ecb8b8},
-  {0xe859, 0x33ecb8b9},
-  {0xe85a, 0x33ecbcb0},
-  {0xe85b, 0x33ecbcb1},
-  {0xe85c, 0x33ecbcb2},
-  {0xe85d, 0x33ecbcb3},
-  {0xe85e, 0x33ecbcb4},
-  {0xe85f, 0x33ecbcb5},
-  {0xe860, 0x33ecbcb6},
-  {0xe861, 0x33ecbcb7},
-  {0xe862, 0x33ecbcb8},
-  {0xe863, 0x33ecbcb9},
-  {0xe864, 0xefbaa0},
-  {0xe865, 0x33ed80b0},
-  {0xe866, 0x33ed80b1},
-  {0xe867, 0x33ed80b2},
-  {0xe868, 0x33ed80b3},
-  {0xe869, 0x33ed80b4},
-  {0xe86a, 0x33ed80b5},
-  {0xe86b, 0x33ed80b6},
-  {0xe86c, 0x33ed80b7},
-  {0xe86d, 0x33ed80b8},
-  {0xe86e, 0x33ed80b9},
-  {0xe86f, 0x33ed84b0},
-  {0xe870, 0x33ed84b1},
-  {0xe871, 0x33ed84b2},
-  {0xe872, 0x33ed84b3},
-  {0xe873, 0x33ed84b4},
-  {0xe874, 0x33ed84b5},
-  {0xe875, 0x33ed84b6},
-  {0xe876, 0x33ed84b7},
-  {0xe877, 0x33ed84b8},
-  {0xe878, 0x33ed84b9},
-  {0xe879, 0x33ed88b0},
-  {0xe87a, 0x33ed88b1},
-  {0xe87b, 0x33ed88b2},
-  {0xe87c, 0x33ed88b3},
-  {0xe87d, 0x33ed88b4},
-  {0xe87e, 0x33ed88b5},
-  {0xe87f, 0x33ed88b6},
-  {0xe880, 0x33ed88b7},
-  {0xe881, 0x33ed88b8},
-  {0xe882, 0x33ed88b9},
-  {0xe883, 0x33ed8cb0},
-  {0xe884, 0x33ed8cb1},
-  {0xe885, 0x33ed8cb2},
-  {0xe886, 0x33ed8cb3},
-  {0xe887, 0x33ed8cb4},
-  {0xe888, 0x33ed8cb5},
-  {0xe889, 0x33ed8cb6},
-  {0xe88a, 0x33ed8cb7},
-  {0xe88b, 0x33ed8cb8},
-  {0xe88c, 0x33ed8cb9},
-  {0xe88d, 0x33ed90b0},
-  {0xe88e, 0x33ed90b1},
-  {0xe88f, 0x33ed90b2},
-  {0xe890, 0x33ed90b3},
-  {0xe891, 0x33ed90b4},
-  {0xe892, 0x33ed90b5},
-  {0xe893, 0x33ed90b6},
-  {0xe894, 0x33ed90b7},
-  {0xe895, 0x33ed90b8},
-  {0xe896, 0x33ed90b9},
-  {0xe897, 0x33ed94b0},
-  {0xe898, 0x33ed94b1},
-  {0xe899, 0x33ed94b2},
-  {0xe89a, 0x33ed94b3},
-  {0xe89b, 0x33ed94b4},
-  {0xe89c, 0x33ed94b5},
-  {0xe89d, 0x33ed94b6},
-  {0xe89e, 0x33ed94b7},
-  {0xe89f, 0x33ed94b8},
-  {0xe8a0, 0x33ed94b9},
-  {0xe8a1, 0x33ed98b0},
-  {0xe8a2, 0x33ed98b1},
-  {0xe8a3, 0x33ed98b2},
-  {0xe8a4, 0x33ed98b3},
-  {0xe8a5, 0x33ed98b4},
-  {0xe8a6, 0x33ed98b5},
-  {0xe8a7, 0x33ed98b6},
-  {0xe8a8, 0x33ed98b7},
-  {0xe8a9, 0x33ed98b8},
-  {0xe8aa, 0x33ed98b9},
-  {0xe8ab, 0x33ed9cb0},
-  {0xe8ac, 0x33ed9cb1},
-  {0xe8ad, 0x33ed9cb2},
-  {0xe8ae, 0x33ed9cb3},
-  {0xe8af, 0x33ed9cb4},
-  {0xe8b0, 0x33ed9cb5},
-  {0xe8b1, 0x33ed9cb6},
-  {0xe8b2, 0x33ed9cb7},
-  {0xe8b3, 0x33ed9cb8},
-  {0xe8b4, 0x33ed9cb9},
-  {0xe8b5, 0x33eda0b0},
-  {0xe8b6, 0x33eda0b1},
-  {0xe8b7, 0x33eda0b2},
-  {0xe8b8, 0x33eda0b3},
-  {0xe8b9, 0x33eda0b4},
-  {0xe8ba, 0x33eda0b5},
-  {0xe8bb, 0x33eda0b6},
-  {0xe8bc, 0x33eda0b7},
-  {0xe8bd, 0x33eda0b8},
-  {0xe8be, 0x33eda0b9},
-  {0xe8bf, 0x33eda4b0},
-  {0xe8c0, 0x33eda4b1},
-  {0xe8c1, 0x33eda4b2},
-  {0xe8c2, 0x33eda4b3},
-  {0xe8c3, 0x33eda4b4},
-  {0xe8c4, 0x33eda4b5},
-  {0xe8c5, 0x33eda4b6},
-  {0xe8c6, 0x33eda4b7},
-  {0xe8c7, 0x33eda4b8},
-  {0xe8c8, 0x33eda4b9},
-  {0xe8c9, 0x33eda8b0},
-  {0xe8ca, 0x33eda8b1},
-  {0xe8cb, 0x33eda8b2},
-  {0xe8cc, 0x33eda8b3},
-  {0xe8cd, 0x33eda8b4},
-  {0xe8ce, 0x33eda8b5},
-  {0xe8cf, 0x33eda8b6},
-  {0xe8d0, 0x33eda8b7},
-  {0xe8d1, 0x33eda8b8},
-  {0xe8d2, 0x33eda8b9},
-  {0xe8d3, 0x33edacb0},
-  {0xe8d4, 0x33edacb1},
-  {0xe8d5, 0x33edacb2},
-  {0xe8d6, 0x33edacb3},
-  {0xe8d7, 0x33edacb4},
-  {0xe8d8, 0x33edacb5},
-  {0xe8d9, 0x33edacb6},
-  {0xe8da, 0x33edacb7},
-  {0xe8db, 0x33edacb8},
-  {0xe8dc, 0x33edacb9},
-  {0xe8dd, 0x33edb0b0},
-  {0xe8de, 0x33edb0b1},
-  {0xe8df, 0x33edb0b2},
-  {0xe8e0, 0x33edb0b3},
-  {0xe8e1, 0x33edb0b4},
-  {0xe8e2, 0x33edb0b5},
-  {0xe8e3, 0x33edb0b6},
-  {0xe8e4, 0x33edb0b7},
-  {0xe8e5, 0x33edb0b8},
-  {0xe8e6, 0x33edb0b9},
-  {0xe8e7, 0x33edb4b0},
-  {0xe8e8, 0x33edb4b1},
-  {0xe8e9, 0x33edb4b2},
-  {0xe8ea, 0x33edb4b3},
-  {0xe8eb, 0x33edb4b4},
-  {0xe8ec, 0x33edb4b5},
-  {0xe8ed, 0x33edb4b6},
-  {0xe8ee, 0x33edb4b7},
-  {0xe8ef, 0x33edb4b8},
-  {0xe8f0, 0x33edb4b9},
-  {0xe8f1, 0x33edb8b0},
-  {0xe8f2, 0x33edb8b1},
-  {0xe8f3, 0x33edb8b2},
-  {0xe8f4, 0x33edb8b3},
-  {0xe8f5, 0x33edb8b4},
-  {0xe8f6, 0x33edb8b5},
-  {0xe8f7, 0x33edb8b6},
-  {0xe8f8, 0x33edb8b7},
-  {0xe8f9, 0x33edb8b8},
-  {0xe8fa, 0x33edb8b9},
-  {0xe8fb, 0x33edbcb0},
-  {0xe8fc, 0x33edbcb1},
-  {0xe8fd, 0x33edbcb2},
-  {0xe8fe, 0x33edbcb3},
-  {0xe8ff, 0x33edbcb4},
-  {0xe900, 0x33edbcb5},
-  {0xe901, 0x33edbcb6},
-  {0xe902, 0x33edbcb7},
-  {0xe903, 0x33edbcb8},
-  {0xe904, 0x33edbcb9},
-  {0xe905, 0x33ee80b0},
-  {0xe906, 0x33ee80b1},
-  {0xe907, 0x33ee80b2},
-  {0xe908, 0x33ee80b3},
-  {0xe909, 0x33ee80b4},
-  {0xe90a, 0x33ee80b5},
-  {0xe90b, 0x33ee80b6},
-  {0xe90c, 0x33ee80b7},
-  {0xe90d, 0x33ee80b8},
-  {0xe90e, 0x33ee80b9},
-  {0xe90f, 0x33ee84b0},
-  {0xe910, 0x33ee84b1},
-  {0xe911, 0x33ee84b2},
-  {0xe912, 0x33ee84b3},
-  {0xe913, 0x33ee84b4},
-  {0xe914, 0x33ee84b5},
-  {0xe915, 0x33ee84b6},
-  {0xe916, 0x33ee84b7},
-  {0xe917, 0x33ee84b8},
-  {0xe918, 0x33ee84b9},
-  {0xe919, 0x33ee88b0},
-  {0xe91a, 0x33ee88b1},
-  {0xe91b, 0x33ee88b2},
-  {0xe91c, 0x33ee88b3},
-  {0xe91d, 0x33ee88b4},
-  {0xe91e, 0x33ee88b5},
-  {0xe91f, 0x33ee88b6},
-  {0xe920, 0x33ee88b7},
-  {0xe921, 0x33ee88b8},
-  {0xe922, 0x33ee88b9},
-  {0xe923, 0x33ee8cb0},
-  {0xe924, 0x33ee8cb1},
-  {0xe925, 0x33ee8cb2},
-  {0xe926, 0x33ee8cb3},
-  {0xe927, 0x33ee8cb4},
-  {0xe928, 0x33ee8cb5},
-  {0xe929, 0x33ee8cb6},
-  {0xe92a, 0x33ee8cb7},
-  {0xe92b, 0x33ee8cb8},
-  {0xe92c, 0x33ee8cb9},
-  {0xe92d, 0x33ee90b0},
-  {0xe92e, 0x33ee90b1},
-  {0xe92f, 0x33ee90b2},
-  {0xe930, 0x33ee90b3},
-  {0xe931, 0x33ee90b4},
-  {0xe932, 0x33ee90b5},
-  {0xe933, 0x33ee90b6},
-  {0xe934, 0x33ee90b7},
-  {0xe935, 0x33ee90b8},
-  {0xe936, 0x33ee90b9},
-  {0xe937, 0x33ee94b0},
-  {0xe938, 0x33ee94b1},
-  {0xe939, 0x33ee94b2},
-  {0xe93a, 0x33ee94b3},
-  {0xe93b, 0x33ee94b4},
-  {0xe93c, 0x33ee94b5},
-  {0xe93d, 0x33ee94b6},
-  {0xe93e, 0x33ee94b7},
-  {0xe93f, 0x33ee94b8},
-  {0xe940, 0x33ee94b9},
-  {0xe941, 0x33ee98b0},
-  {0xe942, 0x33ee98b1},
-  {0xe943, 0x33ee98b2},
-  {0xe944, 0x33ee98b3},
-  {0xe945, 0x33ee98b4},
-  {0xe946, 0x33ee98b5},
-  {0xe947, 0x33ee98b6},
-  {0xe948, 0x33ee98b7},
-  {0xe949, 0x33ee98b8},
-  {0xe94a, 0x33ee98b9},
-  {0xe94b, 0x33ee9cb0},
-  {0xe94c, 0x33ee9cb1},
-  {0xe94d, 0x33ee9cb2},
-  {0xe94e, 0x33ee9cb3},
-  {0xe94f, 0x33ee9cb4},
-  {0xe950, 0x33ee9cb5},
-  {0xe951, 0x33ee9cb6},
-  {0xe952, 0x33ee9cb7},
-  {0xe953, 0x33ee9cb8},
-  {0xe954, 0x33ee9cb9},
-  {0xe955, 0x33eea0b0},
-  {0xe956, 0x33eea0b1},
-  {0xe957, 0x33eea0b2},
-  {0xe958, 0x33eea0b3},
-  {0xe959, 0x33eea0b4},
-  {0xe95a, 0x33eea0b5},
-  {0xe95b, 0x33eea0b6},
-  {0xe95c, 0x33eea0b7},
-  {0xe95d, 0x33eea0b8},
-  {0xe95e, 0x33eea0b9},
-  {0xe95f, 0x33eea4b0},
-  {0xe960, 0x33eea4b1},
-  {0xe961, 0x33eea4b2},
-  {0xe962, 0x33eea4b3},
-  {0xe963, 0x33eea4b4},
-  {0xe964, 0x33eea4b5},
-  {0xe965, 0x33eea4b6},
-  {0xe966, 0x33eea4b7},
-  {0xe967, 0x33eea4b8},
-  {0xe968, 0x33eea4b9},
-  {0xe969, 0x33eea8b0},
-  {0xe96a, 0x33eea8b1},
-  {0xe96b, 0x33eea8b2},
-  {0xe96c, 0x33eea8b3},
-  {0xe96d, 0x33eea8b4},
-  {0xe96e, 0x33eea8b5},
-  {0xe96f, 0x33eea8b6},
-  {0xe970, 0x33eea8b7},
-  {0xe971, 0x33eea8b8},
-  {0xe972, 0x33eea8b9},
-  {0xe973, 0x33eeacb0},
-  {0xe974, 0x33eeacb1},
-  {0xe975, 0x33eeacb2},
-  {0xe976, 0x33eeacb3},
-  {0xe977, 0x33eeacb4},
-  {0xe978, 0x33eeacb5},
-  {0xe979, 0x33eeacb6},
-  {0xe97a, 0x33eeacb7},
-  {0xe97b, 0x33eeacb8},
-  {0xe97c, 0x33eeacb9},
-  {0xe97d, 0x33eeb0b0},
-  {0xe97e, 0x33eeb0b1},
-  {0xe97f, 0x33eeb0b2},
-  {0xe980, 0x33eeb0b3},
-  {0xe981, 0x33eeb0b4},
-  {0xe982, 0x33eeb0b5},
-  {0xe983, 0x33eeb0b6},
-  {0xe984, 0x33eeb0b7},
-  {0xe985, 0x33eeb0b8},
-  {0xe986, 0x33eeb0b9},
-  {0xe987, 0x33eeb4b0},
-  {0xe988, 0x33eeb4b1},
-  {0xe989, 0x33eeb4b2},
-  {0xe98a, 0x33eeb4b3},
-  {0xe98b, 0x33eeb4b4},
-  {0xe98c, 0x33eeb4b5},
-  {0xe98d, 0x33eeb4b6},
-  {0xe98e, 0x33eeb4b7},
-  {0xe98f, 0x33eeb4b8},
-  {0xe990, 0x33eeb4b9},
-  {0xe991, 0x33eeb8b0},
-  {0xe992, 0x33eeb8b1},
-  {0xe993, 0x33eeb8b2},
-  {0xe994, 0x33eeb8b3},
-  {0xe995, 0x33eeb8b4},
-  {0xe996, 0x33eeb8b5},
-  {0xe997, 0x33eeb8b6},
-  {0xe998, 0x33eeb8b7},
-  {0xe999, 0x33eeb8b8},
-  {0xe99a, 0x33eeb8b9},
-  {0xe99b, 0x33eebcb0},
-  {0xe99c, 0x33eebcb1},
-  {0xe99d, 0x33eebcb2},
-  {0xe99e, 0x33eebcb3},
-  {0xe99f, 0x33eebcb4},
-  {0xe9a0, 0x33eebcb5},
-  {0xe9a1, 0x33eebcb6},
-  {0xe9a2, 0x33eebcb7},
-  {0xe9a3, 0x33eebcb8},
-  {0xe9a4, 0x33eebcb9},
-  {0xe9a5, 0x33ef80b0},
-  {0xe9a6, 0x33ef80b1},
-  {0xe9a7, 0x33ef80b2},
-  {0xe9a8, 0x33ef80b3},
-  {0xe9a9, 0x33ef80b4},
-  {0xe9aa, 0x33ef80b5},
-  {0xe9ab, 0x33ef80b6},
-  {0xe9ac, 0x33ef80b7},
-  {0xe9ad, 0x33ef80b8},
-  {0xe9ae, 0x33ef80b9},
-  {0xe9af, 0x33ef84b0},
-  {0xe9b0, 0x33ef84b1},
-  {0xe9b1, 0x33ef84b2},
-  {0xe9b2, 0x33ef84b3},
-  {0xe9b3, 0x33ef84b4},
-  {0xe9b4, 0x33ef84b5},
-  {0xe9b5, 0x33ef84b6},
-  {0xe9b6, 0x33ef84b7},
-  {0xe9b7, 0x33ef84b8},
-  {0xe9b8, 0x33ef84b9},
-  {0xe9b9, 0x33ef88b0},
-  {0xe9ba, 0x33ef88b1},
-  {0xe9bb, 0x33ef88b2},
-  {0xe9bc, 0x33ef88b3},
-  {0xe9bd, 0x33ef88b4},
-  {0xe9be, 0x33ef88b5},
-  {0xe9bf, 0x33ef88b6},
-  {0xe9c0, 0x33ef88b7},
-  {0xe9c1, 0x33ef88b8},
-  {0xe9c2, 0x33ef88b9},
-  {0xe9c3, 0x33ef8cb0},
-  {0xe9c4, 0x33ef8cb1},
-  {0xe9c5, 0x33ef8cb2},
-  {0xe9c6, 0x33ef8cb3},
-  {0xe9c7, 0x33ef8cb4},
-  {0xe9c8, 0x33ef8cb5},
-  {0xe9c9, 0x33ef8cb6},
-  {0xe9ca, 0x33ef8cb7},
-  {0xe9cb, 0x33ef8cb8},
-  {0xe9cc, 0x33ef8cb9},
-  {0xe9cd, 0x33ef90b0},
-  {0xe9ce, 0x33ef90b1},
-  {0xe9cf, 0x33ef90b2},
-  {0xe9d0, 0x33ef90b3},
-  {0xe9d1, 0x33ef90b4},
-  {0xe9d2, 0x33ef90b5},
-  {0xe9d3, 0x33ef90b6},
-  {0xe9d4, 0x33ef90b7},
-  {0xe9d5, 0x33ef90b8},
-  {0xe9d6, 0x33ef90b9},
-  {0xe9d7, 0x33ef94b0},
-  {0xe9d8, 0x33ef94b1},
-  {0xe9d9, 0x33ef94b2},
-  {0xe9da, 0x33ef94b3},
-  {0xe9db, 0x33ef94b4},
-  {0xe9dc, 0x33ef94b5},
-  {0xe9dd, 0x33ef94b6},
-  {0xe9de, 0x33ef94b7},
-  {0xe9df, 0x33ef94b8},
-  {0xe9e0, 0x33ef94b9},
-  {0xe9e1, 0x33ef98b0},
-  {0xe9e2, 0x33ef98b1},
-  {0xe9e3, 0x33ef98b2},
-  {0xe9e4, 0x33ef98b3},
-  {0xe9e5, 0x33ef98b4},
-  {0xe9e6, 0x33ef98b5},
-  {0xe9e7, 0x33ef98b6},
-  {0xe9e8, 0x33ef98b7},
-  {0xe9e9, 0x33ef98b8},
-  {0xe9ea, 0x33ef98b9},
-  {0xe9eb, 0x33ef9cb0},
-  {0xe9ec, 0x33ef9cb1},
-  {0xe9ed, 0x33ef9cb2},
-  {0xe9ee, 0x33ef9cb3},
-  {0xe9ef, 0x33ef9cb4},
-  {0xe9f0, 0x33ef9cb5},
-  {0xe9f1, 0x33ef9cb6},
-  {0xe9f2, 0x33ef9cb7},
-  {0xe9f3, 0x33ef9cb8},
-  {0xe9f4, 0x33ef9cb9},
-  {0xe9f5, 0x33efa0b0},
-  {0xe9f6, 0x33efa0b1},
-  {0xe9f7, 0x33efa0b2},
-  {0xe9f8, 0x33efa0b3},
-  {0xe9f9, 0x33efa0b4},
-  {0xe9fa, 0x33efa0b5},
-  {0xe9fb, 0x33efa0b6},
-  {0xe9fc, 0x33efa0b7},
-  {0xe9fd, 0x33efa0b8},
-  {0xe9fe, 0x33efa0b9},
-  {0xe9ff, 0x33efa4b0},
-  {0xea00, 0x33efa4b1},
-  {0xea01, 0x33efa4b2},
-  {0xea02, 0x33efa4b3},
-  {0xea03, 0x33efa4b4},
-  {0xea04, 0x33efa4b5},
-  {0xea05, 0x33efa4b6},
-  {0xea06, 0x33efa4b7},
-  {0xea07, 0x33efa4b8},
-  {0xea08, 0x33efa4b9},
-  {0xea09, 0x33efa8b0},
-  {0xea0a, 0x33efa8b1},
-  {0xea0b, 0x33efa8b2},
-  {0xea0c, 0x33efa8b3},
-  {0xea0d, 0x33efa8b4},
-  {0xea0e, 0x33efa8b5},
-  {0xea0f, 0x33efa8b6},
-  {0xea10, 0x33efa8b7},
-  {0xea11, 0x33efa8b8},
-  {0xea12, 0x33efa8b9},
-  {0xea13, 0x33efacb0},
-  {0xea14, 0x33efacb1},
-  {0xea15, 0x33efacb2},
-  {0xea16, 0x33efacb3},
-  {0xea17, 0x33efacb4},
-  {0xea18, 0x33efacb5},
-  {0xea19, 0x33efacb6},
-  {0xea1a, 0x33efacb7},
-  {0xea1b, 0x33efacb8},
-  {0xea1c, 0x33efacb9},
-  {0xea1d, 0x33efb0b0},
-  {0xea1e, 0x33efb0b1},
-  {0xea1f, 0x33efb0b2},
-  {0xea20, 0x33efb0b3},
-  {0xea21, 0x33efb0b4},
-  {0xea22, 0x33efb0b5},
-  {0xea23, 0x33efb0b6},
-  {0xea24, 0x33efb0b7},
-  {0xea25, 0x33efb0b8},
-  {0xea26, 0x33efb0b9},
-  {0xea27, 0x33efb4b0},
-  {0xea28, 0x33efb4b1},
-  {0xea29, 0x33efb4b2},
-  {0xea2a, 0x33efb4b3},
-  {0xea2b, 0x33efb4b4},
-  {0xea2c, 0x33efb4b5},
-  {0xea2d, 0x33efb4b6},
-  {0xea2e, 0x33efb4b7},
-  {0xea2f, 0x33efb4b8},
-  {0xea30, 0x33efb4b9},
-  {0xea31, 0x33efb8b0},
-  {0xea32, 0x33efb8b1},
-  {0xea33, 0x33efb8b2},
-  {0xea34, 0x33efb8b3},
-  {0xea35, 0x33efb8b4},
-  {0xea36, 0x33efb8b5},
-  {0xea37, 0x33efb8b6},
-  {0xea38, 0x33efb8b7},
-  {0xea39, 0x33efb8b8},
-  {0xea3a, 0x33efb8b9},
-  {0xea3b, 0x33f884b0},
-  {0xea3c, 0x33f884b1},
-  {0xea3d, 0x33f884b2},
-  {0xea3e, 0x33f884b3},
-  {0xea3f, 0x33f884b4},
-  {0xea40, 0x33f884b5},
-  {0xea41, 0x33f884b6},
-  {0xea42, 0x33f884b7},
-  {0xea43, 0x33f884b8},
-  {0xea44, 0x33f884b9},
-  {0xea45, 0x33f888b0},
-  {0xea46, 0x33f888b1},
-  {0xea47, 0x33f888b2},
-  {0xea48, 0x33f888b3},
-  {0xea49, 0x33f888b4},
-  {0xea4a, 0x33f888b5},
-  {0xea4b, 0x33f888b6},
-  {0xea4c, 0x33f888b7},
-  {0xea4d, 0x33f888b8},
-  {0xea4e, 0x33f888b9},
-  {0xea4f, 0x33f88cb0},
-  {0xea50, 0x33f88cb1},
-  {0xea51, 0x33f88cb2},
-  {0xea52, 0x33f88cb3},
-  {0xea53, 0x33f88cb4},
-  {0xea54, 0x33f88cb5},
-  {0xea55, 0x33f88cb6},
-  {0xea56, 0x33f88cb7},
-  {0xea57, 0x33f88cb8},
-  {0xea58, 0x33f88cb9},
-  {0xea59, 0x33f890b0},
-  {0xea5a, 0x33f890b1},
-  {0xea5b, 0x33f890b2},
-  {0xea5c, 0x33f890b3},
-  {0xea5d, 0x33f890b4},
-  {0xea5e, 0x33f890b5},
-  {0xea5f, 0x33f890b6},
-  {0xea60, 0x33f890b7},
-  {0xea61, 0x33f890b8},
-  {0xea62, 0x33f890b9},
-  {0xea63, 0x33f894b0},
-  {0xea64, 0x33f894b1},
-  {0xea65, 0x33f894b2},
-  {0xea66, 0x33f894b3},
-  {0xea67, 0x33f894b4},
-  {0xea68, 0x33f894b5},
-  {0xea69, 0x33f894b6},
-  {0xea6a, 0x33f894b7},
-  {0xea6b, 0x33f894b8},
-  {0xea6c, 0x33f894b9},
-  {0xea6d, 0x33f898b0},
-  {0xea6e, 0x33f898b1},
-  {0xea6f, 0x33f898b2},
-  {0xea70, 0x33f898b3},
-  {0xea71, 0x33f898b4},
-  {0xea72, 0x33f898b5},
-  {0xea73, 0x33f898b6},
-  {0xea74, 0x33f898b7},
-  {0xea75, 0x33f898b8},
-  {0xea76, 0x33f898b9},
-  {0xea77, 0x33f89cb0},
-  {0xea78, 0x33f89cb1},
-  {0xea79, 0x33f89cb2},
-  {0xea7a, 0x33f89cb3},
-  {0xea7b, 0x33f89cb4},
-  {0xea7c, 0x33f89cb5},
-  {0xea7d, 0x33f89cb6},
-  {0xea7e, 0x33f89cb7},
-  {0xea7f, 0x33f89cb8},
-  {0xea80, 0x33f89cb9},
-  {0xea81, 0x33f8a0b0},
-  {0xea82, 0x33f8a0b1},
-  {0xea83, 0x33f8a0b2},
-  {0xea84, 0x33f8a0b3},
-  {0xea85, 0x33f8a0b4},
-  {0xea86, 0x33f8a0b5},
-  {0xea87, 0x33f8a0b6},
-  {0xea88, 0x33f8a0b7},
-  {0xea89, 0x33f8a0b8},
-  {0xea8a, 0x33f8a0b9},
-  {0xea8b, 0x33f8a4b0},
-  {0xea8c, 0x33f8a4b1},
-  {0xea8d, 0x33f8a4b2},
-  {0xea8e, 0x33f8a4b3},
-  {0xea8f, 0x33f8a4b4},
-  {0xea90, 0x33f8a4b5},
-  {0xea91, 0x33f8a4b6},
-  {0xea92, 0x33f8a4b7},
-  {0xea93, 0x33f8a4b8},
-  {0xea94, 0x33f8a4b9},
-  {0xea95, 0x33f8a8b0},
-  {0xea96, 0x33f8a8b1},
-  {0xea97, 0x33f8a8b2},
-  {0xea98, 0x33f8a8b3},
-  {0xea99, 0x33f8a8b4},
-  {0xea9a, 0x33f8a8b5},
-  {0xea9b, 0x33f8a8b6},
-  {0xea9c, 0x33f8a8b7},
-  {0xea9d, 0x33f8a8b8},
-  {0xea9e, 0x33f8a8b9},
-  {0xea9f, 0x33f8acb0},
-  {0xeaa0, 0x33f8acb1},
-  {0xeaa1, 0x33f8acb2},
-  {0xeaa2, 0x33f8acb3},
-  {0xeaa3, 0x33f8acb4},
-  {0xeaa4, 0x33f8acb5},
-  {0xeaa5, 0x33f8acb6},
-  {0xeaa6, 0x33f8acb7},
-  {0xeaa7, 0x33f8acb8},
-  {0xeaa8, 0x33f8acb9},
-  {0xeaa9, 0x33f8b0b0},
-  {0xeaaa, 0x33f8b0b1},
-  {0xeaab, 0x33f8b0b2},
-  {0xeaac, 0x33f8b0b3},
-  {0xeaad, 0x33f8b0b4},
-  {0xeaae, 0x33f8b0b5},
-  {0xeaaf, 0x33f8b0b6},
-  {0xeab0, 0x33f8b0b7},
-  {0xeab1, 0x33f8b0b8},
-  {0xeab2, 0x33f8b0b9},
-  {0xeab3, 0x33f8b4b0},
-  {0xeab4, 0x33f8b4b1},
-  {0xeab5, 0x33f8b4b2},
-  {0xeab6, 0x33f8b4b3},
-  {0xeab7, 0x33f8b4b4},
-  {0xeab8, 0x33f8b4b5},
-  {0xeab9, 0x33f8b4b6},
-  {0xeaba, 0x33f8b4b7},
-  {0xeabb, 0x33f8b4b8},
-  {0xeabc, 0x33f8b4b9},
-  {0xeabd, 0x33f8b8b0},
-  {0xeabe, 0x33f8b8b1},
-  {0xeabf, 0x33f8b8b2},
-  {0xeac0, 0x33f8b8b3},
-  {0xeac1, 0x33f8b8b4},
-  {0xeac2, 0x33f8b8b5},
-  {0xeac3, 0x33f8b8b6},
-  {0xeac4, 0x33f8b8b7},
-  {0xeac5, 0x33f8b8b8},
-  {0xeac6, 0x33f8b8b9},
-  {0xeac7, 0x33f8bcb0},
-  {0xeac8, 0x33f8bcb1},
-  {0xeac9, 0x33f8bcb2},
-  {0xeaca, 0x33f8bcb3},
-  {0xeacb, 0x33f8bcb4},
-  {0xeacc, 0x33f8bcb5},
-  {0xeacd, 0x33f8bcb6},
-  {0xeace, 0x33f8bcb7},
-  {0xeacf, 0x33f8bcb8},
-  {0xead0, 0x33f8bcb9},
-  {0xead1, 0x33f980b0},
-  {0xead2, 0x33f980b1},
-  {0xead3, 0x33f980b2},
-  {0xead4, 0x33f980b3},
-  {0xead5, 0x33f980b4},
-  {0xead6, 0x33f980b5},
-  {0xead7, 0x33f980b6},
-  {0xead8, 0x33f980b7},
-  {0xead9, 0x33f980b8},
-  {0xeada, 0x33f980b9},
-  {0xeadb, 0x33f984b0},
-  {0xeadc, 0x33f984b1},
-  {0xeadd, 0x33f984b2},
-  {0xeade, 0x33f984b3},
-  {0xeadf, 0x33f984b4},
-  {0xeae0, 0x33f984b5},
-  {0xeae1, 0x33f984b6},
-  {0xeae2, 0x33f984b7},
-  {0xeae3, 0x33f984b8},
-  {0xeae4, 0x33f984b9},
-  {0xeae5, 0x33f988b0},
-  {0xeae6, 0x33f988b1},
-  {0xeae7, 0x33f988b2},
-  {0xeae8, 0x33f988b3},
-  {0xeae9, 0x33f988b4},
-  {0xeaea, 0x33f988b5},
-  {0xeaeb, 0x33f988b6},
-  {0xeaec, 0x33f988b7},
-  {0xeaed, 0x33f988b8},
-  {0xeaee, 0x33f988b9},
-  {0xeaef, 0x33f98cb0},
-  {0xeaf0, 0x33f98cb1},
-  {0xeaf1, 0x33f98cb2},
-  {0xeaf2, 0x33f98cb3},
-  {0xeaf3, 0x33f98cb4},
-  {0xeaf4, 0x33f98cb5},
-  {0xeaf5, 0x33f98cb6},
-  {0xeaf6, 0x33f98cb7},
-  {0xeaf7, 0x33f98cb8},
-  {0xeaf8, 0x33f98cb9},
-  {0xeaf9, 0x33f990b0},
-  {0xeafa, 0x33f990b1},
-  {0xeafb, 0x33f990b2},
-  {0xeafc, 0x33f990b3},
-  {0xeafd, 0x33f990b4},
-  {0xeafe, 0x33f990b5},
-  {0xeaff, 0x33f990b6},
-  {0xeb00, 0x33f990b7},
-  {0xeb01, 0x33f990b8},
-  {0xeb02, 0x33f990b9},
-  {0xeb03, 0x33f994b0},
-  {0xeb04, 0x33f994b1},
-  {0xeb05, 0x33f994b2},
-  {0xeb06, 0x33f994b3},
-  {0xeb07, 0x33f994b4},
-  {0xeb08, 0x33f994b5},
-  {0xeb09, 0x33f994b6},
-  {0xeb0a, 0x33f994b7},
-  {0xeb0b, 0x33f994b8},
-  {0xeb0c, 0x33f994b9},
-  {0xeb0d, 0x33f998b0},
-  {0xeb0e, 0x33f998b1},
-  {0xeb0f, 0x33f998b2},
-  {0xeb10, 0x33f998b3},
-  {0xeb11, 0x33f998b4},
-  {0xeb12, 0x33f998b5},
-  {0xeb13, 0x33f998b6},
-  {0xeb14, 0x33f998b7},
-  {0xeb15, 0x33f998b8},
-  {0xeb16, 0x33f998b9},
-  {0xeb17, 0x33f99cb0},
-  {0xeb18, 0x33f99cb1},
-  {0xeb19, 0x33f99cb2},
-  {0xeb1a, 0x33f99cb3},
-  {0xeb1b, 0x33f99cb4},
-  {0xeb1c, 0x33f99cb5},
-  {0xeb1d, 0x33f99cb6},
-  {0xeb1e, 0x33f99cb7},
-  {0xeb1f, 0x33f99cb8},
-  {0xeb20, 0x33f99cb9},
-  {0xeb21, 0x33f9a0b0},
-  {0xeb22, 0x33f9a0b1},
-  {0xeb23, 0x33f9a0b2},
-  {0xeb24, 0x33f9a0b3},
-  {0xeb25, 0x33f9a0b4},
-  {0xeb26, 0x33f9a0b5},
-  {0xeb27, 0x33f9a0b6},
-  {0xeb28, 0x33f9a0b7},
-  {0xeb29, 0x33f9a0b8},
-  {0xeb2a, 0x33f9a0b9},
-  {0xeb2b, 0x33f9a4b0},
-  {0xeb2c, 0x33f9a4b1},
-  {0xeb2d, 0x33f9a4b2},
-  {0xeb2e, 0x33f9a4b3},
-  {0xeb2f, 0x33f9a4b4},
-  {0xeb30, 0x33f9a4b5},
-  {0xeb31, 0x33f9a4b6},
-  {0xeb32, 0x33f9a4b7},
-  {0xeb33, 0x33f9a4b8},
-  {0xeb34, 0x33f9a4b9},
-  {0xeb35, 0x33f9a8b0},
-  {0xeb36, 0x33f9a8b1},
-  {0xeb37, 0x33f9a8b2},
-  {0xeb38, 0x33f9a8b3},
-  {0xeb39, 0x33f9a8b4},
-  {0xeb3a, 0x33f9a8b5},
-  {0xeb3b, 0x33f9a8b6},
-  {0xeb3c, 0x33f9a8b7},
-  {0xeb3d, 0x33f9a8b8},
-  {0xeb3e, 0x33f9a8b9},
-  {0xeb3f, 0x33f9acb0},
-  {0xeb40, 0x33f9acb1},
-  {0xeb41, 0x33f9acb2},
-  {0xeb42, 0x33f9acb3},
-  {0xeb43, 0x33f9acb4},
-  {0xeb44, 0x33f9acb5},
-  {0xeb45, 0x33f9acb6},
-  {0xeb46, 0x33f9acb7},
-  {0xeb47, 0x33f9acb8},
-  {0xeb48, 0x33f9acb9},
-  {0xeb49, 0x33f9b0b0},
-  {0xeb4a, 0x33f9b0b1},
-  {0xeb4b, 0x33f9b0b2},
-  {0xeb4c, 0x33f9b0b3},
-  {0xeb4d, 0x33f9b0b4},
-  {0xeb4e, 0x33f9b0b5},
-  {0xeb4f, 0x33f9b0b6},
-  {0xeb50, 0x33f9b0b7},
-  {0xeb51, 0x33f9b0b8},
-  {0xeb52, 0x33f9b0b9},
-  {0xeb53, 0x33f9b4b0},
-  {0xeb54, 0x33f9b4b1},
-  {0xeb55, 0x33f9b4b2},
-  {0xeb56, 0x33f9b4b3},
-  {0xeb57, 0x33f9b4b4},
-  {0xeb58, 0x33f9b4b5},
-  {0xeb59, 0x33f9b4b6},
-  {0xeb5a, 0x33f9b4b7},
-  {0xeb5b, 0x33f9b4b8},
-  {0xeb5c, 0x33f9b4b9},
-  {0xeb5d, 0x33f9b8b0},
-  {0xeb5e, 0x33f9b8b1},
-  {0xeb5f, 0x33f9b8b2},
-  {0xeb60, 0x33f9b8b3},
-  {0xeb61, 0x33f9b8b4},
-  {0xeb62, 0x33f9b8b5},
-  {0xeb63, 0x33f9b8b6},
-  {0xeb64, 0x33f9b8b7},
-  {0xeb65, 0x33f9b8b8},
-  {0xeb66, 0x33f9b8b9},
-  {0xeb67, 0x33f9bcb0},
-  {0xeb68, 0x33f9bcb1},
-  {0xeb69, 0x33f9bcb2},
-  {0xeb6a, 0x33f9bcb3},
-  {0xeb6b, 0x33f9bcb4},
-  {0xeb6c, 0x33f9bcb5},
-  {0xeb6d, 0x33f9bcb6},
-  {0xeb6e, 0x33f9bcb7},
-  {0xeb6f, 0x33f9bcb8},
-  {0xeb70, 0x33f9bcb9},
-  {0xeb71, 0x33fa80b0},
-  {0xeb72, 0x33fa80b1},
-  {0xeb73, 0x33fa80b2},
-  {0xeb74, 0x33fa80b3},
-  {0xeb75, 0x33fa80b4},
-  {0xeb76, 0x33fa80b5},
-  {0xeb77, 0x33fa80b6},
-  {0xeb78, 0x33fa80b7},
-  {0xeb79, 0x33fa80b8},
-  {0xeb7a, 0x33fa80b9},
-  {0xeb7b, 0x33fa84b0},
-  {0xeb7c, 0x33fa84b1},
-  {0xeb7d, 0x33fa84b2},
-  {0xeb7e, 0x33fa84b3},
-  {0xeb7f, 0x33fa84b4},
-  {0xeb80, 0x33fa84b5},
-  {0xeb81, 0x33fa84b6},
-  {0xeb82, 0x33fa84b7},
-  {0xeb83, 0x33fa84b8},
-  {0xeb84, 0x33fa84b9},
-  {0xeb85, 0x33fa88b0},
-  {0xeb86, 0x33fa88b1},
-  {0xeb87, 0x33fa88b2},
-  {0xeb88, 0x33fa88b3},
-  {0xeb89, 0x33fa88b4},
-  {0xeb8a, 0x33fa88b5},
-  {0xeb8b, 0x33fa88b6},
-  {0xeb8c, 0x33fa88b7},
-  {0xeb8d, 0x33fa88b8},
-  {0xeb8e, 0x33fa88b9},
-  {0xeb8f, 0x33fa8cb0},
-  {0xeb90, 0x33fa8cb1},
-  {0xeb91, 0x33fa8cb2},
-  {0xeb92, 0x33fa8cb3},
-  {0xeb93, 0x33fa8cb4},
-  {0xeb94, 0x33fa8cb5},
-  {0xeb95, 0x33fa8cb6},
-  {0xeb96, 0x33fa8cb7},
-  {0xeb97, 0x33fa8cb8},
-  {0xeb98, 0x33fa8cb9},
-  {0xeb99, 0x33fa90b0},
-  {0xeb9a, 0x33fa90b1},
-  {0xeb9b, 0x33fa90b2},
-  {0xeb9c, 0x33fa90b3},
-  {0xeb9d, 0x33fa90b4},
-  {0xeb9e, 0x33fa90b5},
-  {0xeb9f, 0x33fa90b6},
-  {0xeba0, 0x33fa90b7},
-  {0xeba1, 0x33fa90b8},
-  {0xeba2, 0x33fa90b9},
-  {0xeba3, 0x33fa94b0},
-  {0xeba4, 0x33fa94b1},
-  {0xeba5, 0x33fa94b2},
-  {0xeba6, 0x33fa94b3},
-  {0xeba7, 0x33fa94b4},
-  {0xeba8, 0x33fa94b5},
-  {0xeba9, 0x33fa94b6},
-  {0xebaa, 0x33fa94b7},
-  {0xebab, 0x33fa94b8},
-  {0xebac, 0x33fa94b9},
-  {0xebad, 0x33fa98b0},
-  {0xebae, 0x33fa98b1},
-  {0xebaf, 0x33fa98b2},
-  {0xebb0, 0x33fa98b3},
-  {0xebb1, 0x33fa98b4},
-  {0xebb2, 0x33fa98b5},
-  {0xebb3, 0x33fa98b6},
-  {0xebb4, 0x33fa98b7},
-  {0xebb5, 0x33fa98b8},
-  {0xebb6, 0x33fa98b9},
-  {0xebb7, 0x33fa9cb0},
-  {0xebb8, 0x33fa9cb1},
-  {0xebb9, 0x33fa9cb2},
-  {0xebba, 0x33fa9cb3},
-  {0xebbb, 0x33fa9cb4},
-  {0xebbc, 0x33fa9cb5},
-  {0xebbd, 0x33fa9cb6},
-  {0xebbe, 0x33fa9cb7},
-  {0xebbf, 0x33fa9cb8},
-  {0xebc0, 0x33fa9cb9},
-  {0xebc1, 0x33faa0b0},
-  {0xebc2, 0x33faa0b1},
-  {0xebc3, 0x33faa0b2},
-  {0xebc4, 0x33faa0b3},
-  {0xebc5, 0x33faa0b4},
-  {0xebc6, 0x33faa0b5},
-  {0xebc7, 0x33faa0b6},
-  {0xebc8, 0x33faa0b7},
-  {0xebc9, 0x33faa0b8},
-  {0xebca, 0x33faa0b9},
-  {0xebcb, 0x33faa4b0},
-  {0xebcc, 0x33faa4b1},
-  {0xebcd, 0x33faa4b2},
-  {0xebce, 0x33faa4b3},
-  {0xebcf, 0x33faa4b4},
-  {0xebd0, 0x33faa4b5},
-  {0xebd1, 0x33faa4b6},
-  {0xebd2, 0x33faa4b7},
-  {0xebd3, 0x33faa4b8},
-  {0xebd4, 0x33faa4b9},
-  {0xebd5, 0x33faa8b0},
-  {0xebd6, 0x33faa8b1},
-  {0xebd7, 0x33faa8b2},
-  {0xebd8, 0x33faa8b3},
-  {0xebd9, 0x33faa8b4},
-  {0xebda, 0x33faa8b5},
-  {0xebdb, 0x33faa8b6},
-  {0xebdc, 0x33faa8b7},
-  {0xebdd, 0x33faa8b8},
-  {0xebde, 0x33faa8b9},
-  {0xebdf, 0x33faacb0},
-  {0xebe0, 0x33faacb1},
-  {0xebe1, 0x33faacb2},
-  {0xebe2, 0x33faacb3},
-  {0xebe3, 0x33faacb4},
-  {0xebe4, 0x33faacb5},
-  {0xebe5, 0x33faacb6},
-  {0xebe6, 0x33faacb7},
-  {0xebe7, 0x33faacb8},
-  {0xebe8, 0x33faacb9},
-  {0xebe9, 0x33fab0b0},
-  {0xebea, 0x33fab0b1},
-  {0xebeb, 0x33fab0b2},
-  {0xebec, 0x33fab0b3},
-  {0xebed, 0x33fab0b4},
-  {0xebee, 0x33fab0b5},
-  {0xebef, 0x33fab0b6},
-  {0xebf0, 0x33fab0b7},
-  {0xebf1, 0x33fab0b8},
-  {0xebf2, 0x33fab0b9},
-  {0xebf3, 0x33fab4b0},
-  {0xebf4, 0x33fab4b1},
-  {0xebf5, 0x33fab4b2},
-  {0xebf6, 0x33fab4b3},
-  {0xebf7, 0x33fab4b4},
-  {0xebf8, 0x33fab4b5},
-  {0xebf9, 0x33fab4b6},
-  {0xebfa, 0x33fab4b7},
-  {0xebfb, 0x33fab4b8},
-  {0xebfc, 0x33fab4b9},
-  {0xebfd, 0x33fab8b0},
-  {0xebfe, 0x33fab8b1},
-  {0xebff, 0x33fab8b2},
-  {0xec00, 0x33fab8b3},
-  {0xec01, 0x33fab8b4},
-  {0xec02, 0x33fab8b5},
-  {0xec03, 0x33fab8b6},
-  {0xec04, 0x33fab8b7},
-  {0xec05, 0x33fab8b8},
-  {0xec06, 0x33fab8b9},
-  {0xec07, 0x33fabcb0},
-  {0xec08, 0x33fabcb1},
-  {0xec09, 0x33fabcb2},
-  {0xec0a, 0x33fabcb3},
-  {0xec0b, 0x33fabcb4},
-  {0xec0c, 0x33fabcb5},
-  {0xec0d, 0x33fabcb6},
-  {0xec0e, 0x33fabcb7},
-  {0xec0f, 0x33fabcb8},
-  {0xec10, 0x33fabcb9},
-  {0xec11, 0x33fb80b0},
-  {0xec12, 0x33fb80b1},
-  {0xec13, 0x33fb80b2},
-  {0xec14, 0x33fb80b3},
-  {0xec15, 0x33fb80b4},
-  {0xec16, 0x33fb80b5},
-  {0xec17, 0x33fb80b6},
-  {0xec18, 0x33fb80b7},
-  {0xec19, 0x33fb80b8},
-  {0xec1a, 0x33fb80b9},
-  {0xec1b, 0x33fb84b0},
-  {0xec1c, 0x33fb84b1},
-  {0xec1d, 0x33fb84b2},
-  {0xec1e, 0x33fb84b3},
-  {0xec1f, 0x33fb84b4},
-  {0xec20, 0x33fb84b5},
-  {0xec21, 0x33fb84b6},
-  {0xec22, 0x33fb84b7},
-  {0xec23, 0x33fb84b8},
-  {0xec24, 0x33fb84b9},
-  {0xec25, 0x33fb88b0},
-  {0xec26, 0x33fb88b1},
-  {0xec27, 0x33fb88b2},
-  {0xec28, 0x33fb88b3},
-  {0xec29, 0x33fb88b4},
-  {0xec2a, 0x33fb88b5},
-  {0xec2b, 0x33fb88b6},
-  {0xec2c, 0x33fb88b7},
-  {0xec2d, 0x33fb88b8},
-  {0xec2e, 0x33fb88b9},
-  {0xec2f, 0x33fb8cb0},
-  {0xec30, 0x33fb8cb1},
-  {0xec31, 0x33fb8cb2},
-  {0xec32, 0x33fb8cb3},
-  {0xec33, 0x33fb8cb4},
-  {0xec34, 0x33fb8cb5},
-  {0xec35, 0x33fb8cb6},
-  {0xec36, 0x33fb8cb7},
-  {0xec37, 0x33fb8cb8},
-  {0xec38, 0x33fb8cb9},
-  {0xec39, 0x33fb90b0},
-  {0xec3a, 0x33fb90b1},
-  {0xec3b, 0x33fb90b2},
-  {0xec3c, 0x33fb90b3},
-  {0xec3d, 0x33fb90b4},
-  {0xec3e, 0x33fb90b5},
-  {0xec3f, 0x33fb90b6},
-  {0xec40, 0x33fb90b7},
-  {0xec41, 0x33fb90b8},
-  {0xec42, 0x33fb90b9},
-  {0xec43, 0x33fb94b0},
-  {0xec44, 0x33fb94b1},
-  {0xec45, 0x33fb94b2},
-  {0xec46, 0x33fb94b3},
-  {0xec47, 0x33fb94b4},
-  {0xec48, 0x33fb94b5},
-  {0xec49, 0x33fb94b6},
-  {0xec4a, 0x33fb94b7},
-  {0xec4b, 0x33fb94b8},
-  {0xec4c, 0x33fb94b9},
-  {0xec4d, 0x33fb98b0},
-  {0xec4e, 0x33fb98b1},
-  {0xec4f, 0x33fb98b2},
-  {0xec50, 0x33fb98b3},
-  {0xec51, 0x33fb98b4},
-  {0xec52, 0x33fb98b5},
-  {0xec53, 0x33fb98b6},
-  {0xec54, 0x33fb98b7},
-  {0xec55, 0x33fb98b8},
-  {0xec56, 0x33fb98b9},
-  {0xec57, 0x33fb9cb0},
-  {0xec58, 0x33fb9cb1},
-  {0xec59, 0x33fb9cb2},
-  {0xec5a, 0x33fb9cb3},
-  {0xec5b, 0x33fb9cb4},
-  {0xec5c, 0x33fb9cb5},
-  {0xec5d, 0x33fb9cb6},
-  {0xec5e, 0x33fb9cb7},
-  {0xec5f, 0x33fb9cb8},
-  {0xec60, 0x33fb9cb9},
-  {0xec61, 0x33fba0b0},
-  {0xec62, 0x33fba0b1},
-  {0xec63, 0x33fba0b2},
-  {0xec64, 0x33fba0b3},
-  {0xec65, 0x33fba0b4},
-  {0xec66, 0x33fba0b5},
-  {0xec67, 0x33fba0b6},
-  {0xec68, 0x33fba0b7},
-  {0xec69, 0x33fba0b8},
-  {0xec6a, 0x33fba0b9},
-  {0xec6b, 0x33fba4b0},
-  {0xec6c, 0x33fba4b1},
-  {0xec6d, 0x33fba4b2},
-  {0xec6e, 0x33fba4b3},
-  {0xec6f, 0x33fba4b4},
-  {0xec70, 0x33fba4b5},
-  {0xec71, 0x33fba4b6},
-  {0xec72, 0x33fba4b7},
-  {0xec73, 0x33fba4b8},
-  {0xec74, 0x33fba4b9},
-  {0xec75, 0x33fba8b0},
-  {0xec76, 0x33fba8b1},
-  {0xec77, 0x33fba8b2},
-  {0xec78, 0x33fba8b3},
-  {0xec79, 0x33fba8b4},
-  {0xec7a, 0x33fba8b5},
-  {0xec7b, 0x33fba8b6},
-  {0xec7c, 0x33fba8b7},
-  {0xec7d, 0x33fba8b8},
-  {0xec7e, 0x33fba8b9},
-  {0xec7f, 0x33fbacb0},
-  {0xec80, 0x33fbacb1},
-  {0xec81, 0x33fbacb2},
-  {0xec82, 0x33fbacb3},
-  {0xec83, 0x33fbacb4},
-  {0xec84, 0x33fbacb5},
-  {0xec85, 0x33fbacb6},
-  {0xec86, 0x33fbacb7},
-  {0xec87, 0x33fbacb8},
-  {0xec88, 0x33fbacb9},
-  {0xec89, 0x33fbb0b0},
-  {0xec8a, 0x33fbb0b1},
-  {0xec8b, 0x33fbb0b2},
-  {0xec8c, 0x33fbb0b3},
-  {0xec8d, 0x33fbb0b4},
-  {0xec8e, 0x33fbb0b5},
-  {0xec8f, 0x33fbb0b6},
-  {0xec90, 0x33fbb0b7},
-  {0xec91, 0x33fbb0b8},
-  {0xec92, 0x33fbb0b9},
-  {0xec93, 0x33fbb4b0},
-  {0xec94, 0x33fbb4b1},
-  {0xec95, 0x33fbb4b2},
-  {0xec96, 0x33fbb4b3},
-  {0xec97, 0x33fbb4b4},
-  {0xec98, 0x33fbb4b5},
-  {0xec99, 0x33fbb4b6},
-  {0xec9a, 0x33fbb4b7},
-  {0xec9b, 0x33fbb4b8},
-  {0xec9c, 0x33fbb4b9},
-  {0xec9d, 0x33fbb8b0},
-  {0xec9e, 0x33fbb8b1},
-  {0xec9f, 0x33fbb8b2},
-  {0xeca0, 0x33fbb8b3},
-  {0xeca1, 0x33fbb8b4},
-  {0xeca2, 0x33fbb8b5},
-  {0xeca3, 0x33fbb8b6},
-  {0xeca4, 0x33fbb8b7},
-  {0xeca5, 0x33fbb8b8},
-  {0xeca6, 0x33fbb8b9},
-  {0xeca7, 0x33fbbcb0},
-  {0xeca8, 0x33fbbcb1},
-  {0xeca9, 0x33fbbcb2},
-  {0xecaa, 0x33fbbcb3},
-  {0xecab, 0x33fbbcb4},
-  {0xecac, 0x33fbbcb5},
-  {0xecad, 0x33fbbcb6},
-  {0xecae, 0x33fbbcb7},
-  {0xecaf, 0x33fbbcb8},
-  {0xecb0, 0x33fbbcb9},
-  {0xecb1, 0x33fc80b0},
-  {0xecb2, 0x33fc80b1},
-  {0xecb3, 0x33fc80b2},
-  {0xecb4, 0x33fc80b3},
-  {0xecb5, 0x33fc80b4},
-  {0xecb6, 0x33fc80b5},
-  {0xecb7, 0x33fc80b6},
-  {0xecb8, 0x33fc80b7},
-  {0xecb9, 0x33fc80b8},
-  {0xecba, 0x33fc80b9},
-  {0xecbb, 0x33fc84b0},
-  {0xecbc, 0x33fc84b1},
-  {0xecbd, 0x33fc84b2},
-  {0xecbe, 0x33fc84b3},
-  {0xecbf, 0x33fc84b4},
-  {0xecc0, 0x33fc84b5},
-  {0xecc1, 0x33fc84b6},
-  {0xecc2, 0x33fc84b7},
-  {0xecc3, 0x33fc84b8},
-  {0xecc4, 0x33fc84b9},
-  {0xecc5, 0x33fc88b0},
-  {0xecc6, 0x33fc88b1},
-  {0xecc7, 0x33fc88b2},
-  {0xecc8, 0x33fc88b3},
-  {0xecc9, 0x33fc88b4},
-  {0xecca, 0x33fc88b5},
-  {0xeccb, 0x33fc88b6},
-  {0xeccc, 0x33fc88b7},
-  {0xeccd, 0x33fc88b8},
-  {0xecce, 0x33fc88b9},
-  {0xeccf, 0x33fc8cb0},
-  {0xecd0, 0x33fc8cb1},
-  {0xecd1, 0x33fc8cb2},
-  {0xecd2, 0x33fc8cb3},
-  {0xecd3, 0x33fc8cb4},
-  {0xecd4, 0x33fc8cb5},
-  {0xecd5, 0x33fc8cb6},
-  {0xecd6, 0x33fc8cb7},
-  {0xecd7, 0x33fc8cb8},
-  {0xecd8, 0x33fc8cb9},
-  {0xecd9, 0x33fc90b0},
-  {0xecda, 0x33fc90b1},
-  {0xecdb, 0x33fc90b2},
-  {0xecdc, 0x33fc90b3},
-  {0xecdd, 0x33fc90b4},
-  {0xecde, 0x33fc90b5},
-  {0xecdf, 0x33fc90b6},
-  {0xece0, 0x33fc90b7},
-  {0xece1, 0x33fc90b8},
-  {0xece2, 0x33fc90b9},
-  {0xece3, 0x33fc94b0},
-  {0xece4, 0x33fc94b1},
-  {0xece5, 0x33fc94b2},
-  {0xece6, 0x33fc94b3},
-  {0xece7, 0x33fc94b4},
-  {0xece8, 0x33fc94b5},
-  {0xece9, 0x33fc94b6},
-  {0xecea, 0x33fc94b7},
-  {0xeceb, 0x33fc94b8},
-  {0xecec, 0x33fc94b9},
-  {0xeced, 0x33fc98b0},
-  {0xecee, 0x33fc98b1},
-  {0xecef, 0x33fc98b2},
-  {0xecf0, 0x33fc98b3},
-  {0xecf1, 0x33fc98b4},
-  {0xecf2, 0x33fc98b5},
-  {0xecf3, 0x33fc98b6},
-  {0xecf4, 0x33fc98b7},
-  {0xecf5, 0x33fc98b8},
-  {0xecf6, 0x33fc98b9},
-  {0xecf7, 0x33fc9cb0},
-  {0xecf8, 0x33fc9cb1},
-  {0xecf9, 0x33fc9cb2},
-  {0xecfa, 0x33fc9cb3},
-  {0xecfb, 0x33fc9cb4},
-  {0xecfc, 0x33fc9cb5},
-  {0xecfd, 0x33fc9cb6},
-  {0xecfe, 0x33fc9cb7},
-  {0xecff, 0x33fc9cb8},
-  {0xed00, 0x33fc9cb9},
-  {0xed01, 0x33fca0b0},
-  {0xed02, 0x33fca0b1},
-  {0xed03, 0x33fca0b2},
-  {0xed04, 0x33fca0b3},
-  {0xed05, 0x33fca0b4},
-  {0xed06, 0x33fca0b5},
-  {0xed07, 0x33fca0b6},
-  {0xed08, 0x33fca0b7},
-  {0xed09, 0x33fca0b8},
-  {0xed0a, 0x33fca0b9},
-  {0xed0b, 0x33fca4b0},
-  {0xed0c, 0x33fca4b1},
-  {0xed0d, 0x33fca4b2},
-  {0xed0e, 0x33fca4b3},
-  {0xed0f, 0x33fca4b4},
-  {0xed10, 0x33fca4b5},
-  {0xed11, 0x33fca4b6},
-  {0xed12, 0x33fca4b7},
-  {0xed13, 0x33fca4b8},
-  {0xed14, 0x33fca4b9},
-  {0xed15, 0x33fca8b0},
-  {0xed16, 0x33fca8b1},
-  {0xed17, 0x33fca8b2},
-  {0xed18, 0x33fca8b3},
-  {0xed19, 0x33fca8b4},
-  {0xed1a, 0x33fca8b5},
-  {0xed1b, 0x33fca8b6},
-  {0xed1c, 0x33fca8b7},
-  {0xed1d, 0x33fca8b8},
-  {0xed1e, 0x33fca8b9},
-  {0xed1f, 0x33fcacb0},
-  {0xed20, 0x33fcacb1},
-  {0xed21, 0x33fcacb2},
-  {0xed22, 0x33fcacb3},
-  {0xed23, 0x33fcacb4},
-  {0xed24, 0x33fcacb5},
-  {0xed25, 0x33fcacb6},
-  {0xed26, 0x33fcacb7},
-  {0xed27, 0x33fcacb8},
-  {0xed28, 0x33fcacb9},
-  {0xed29, 0x33fcb0b0},
-  {0xed2a, 0x33fcb0b1},
-  {0xed2b, 0x33fcb0b2},
-  {0xed2c, 0x33fcb0b3},
-  {0xed2d, 0x33fcb0b4},
-  {0xed2e, 0x33fcb0b5},
-  {0xed2f, 0x33fcb0b6},
-  {0xed30, 0x33fcb0b7},
-  {0xed31, 0x33fcb0b8},
-  {0xed32, 0x33fcb0b9},
-  {0xed33, 0x33fcb4b0},
-  {0xed34, 0x33fcb4b1},
-  {0xed35, 0x33fcb4b2},
-  {0xed36, 0x33fcb4b3},
-  {0xed37, 0x33fcb4b4},
-  {0xed38, 0x33fcb4b5},
-  {0xed39, 0x33fcb4b6},
-  {0xed3a, 0x33fcb4b7},
-  {0xed3b, 0x33fcb4b8},
-  {0xed3c, 0x33fcb4b9},
-  {0xed3d, 0x33fcb8b0},
-  {0xed3e, 0x33fcb8b1},
-  {0xed3f, 0x33fcb8b2},
-  {0xed40, 0x33fcb8b3},
-  {0xed41, 0x33fcb8b4},
-  {0xed42, 0x33fcb8b5},
-  {0xed43, 0x33fcb8b6},
-  {0xed44, 0x33fcb8b7},
-  {0xed45, 0x33fcb8b8},
-  {0xed46, 0x33fcb8b9},
-  {0xed47, 0x33fcbcb0},
-  {0xed48, 0x33fcbcb1},
-  {0xed49, 0x33fcbcb2},
-  {0xed4a, 0x33fcbcb3},
-  {0xed4b, 0x33fcbcb4},
-  {0xed4c, 0x33fcbcb5},
-  {0xed4d, 0x33fcbcb6},
-  {0xed4e, 0x33fcbcb7},
-  {0xed4f, 0x33fcbcb8},
-  {0xed50, 0x33fcbcb9},
-  {0xed51, 0x33fd80b0},
-  {0xed52, 0x33fd80b1},
-  {0xed53, 0x33fd80b2},
-  {0xed54, 0x33fd80b3},
-  {0xed55, 0x33fd80b4},
-  {0xed56, 0x33fd80b5},
-  {0xed57, 0x33fd80b6},
-  {0xed58, 0x33fd80b7},
-  {0xed59, 0x33fd80b8},
-  {0xed5a, 0x33fd80b9},
-  {0xed5b, 0x33fd84b0},
-  {0xed5c, 0x33fd84b1},
-  {0xed5d, 0x33fd84b2},
-  {0xed5e, 0x33fd84b3},
-  {0xed5f, 0x33fd84b4},
-  {0xed60, 0x33fd84b5},
-  {0xed61, 0x33fd84b6},
-  {0xed62, 0x33fd84b7},
-  {0xed63, 0x33fd84b8},
-  {0xed64, 0x33fd84b9},
-  {0xed65, 0x33fd88b0},
-  {0xed66, 0x33fd88b1},
-  {0xed67, 0x33fd88b2},
-  {0xed68, 0x33fd88b3},
-  {0xed69, 0x33fd88b4},
-  {0xed6a, 0x33fd88b5},
-  {0xed6b, 0x33fd88b6},
-  {0xed6c, 0x33fd88b7},
-  {0xed6d, 0x33fd88b8},
-  {0xed6e, 0x33fd88b9},
-  {0xed6f, 0x33fd8cb0},
-  {0xed70, 0x33fd8cb1},
-  {0xed71, 0x33fd8cb2},
-  {0xed72, 0x33fd8cb3},
-  {0xed73, 0x33fd8cb4},
-  {0xed74, 0x33fd8cb5},
-  {0xed75, 0x33fd8cb6},
-  {0xed76, 0x33fd8cb7},
-  {0xed77, 0x33fd8cb8},
-  {0xed78, 0x33fd8cb9},
-  {0xed79, 0x33fd90b0},
-  {0xed7a, 0x33fd90b1},
-  {0xed7b, 0x33fd90b2},
-  {0xed7c, 0x33fd90b3},
-  {0xed7d, 0x33fd90b4},
-  {0xed7e, 0x33fd90b5},
-  {0xed7f, 0x33fd90b6},
-  {0xed80, 0x33fd90b7},
-  {0xed81, 0x33fd90b8},
-  {0xed82, 0x33fd90b9},
-  {0xed83, 0x33fd94b0},
-  {0xed84, 0x33fd94b1},
-  {0xed85, 0x33fd94b2},
-  {0xed86, 0x33fd94b3},
-  {0xed87, 0x33fd94b4},
-  {0xed88, 0x33fd94b5},
-  {0xed89, 0x33fd94b6},
-  {0xed8a, 0x33fd94b7},
-  {0xed8b, 0x33fd94b8},
-  {0xed8c, 0x33fd94b9},
-  {0xed8d, 0x33fd98b0},
-  {0xed8e, 0x33fd98b1},
-  {0xed8f, 0x33fd98b2},
-  {0xed90, 0x33fd98b3},
-  {0xed91, 0x33fd98b4},
-  {0xed92, 0x33fd98b5},
-  {0xed93, 0x33fd98b6},
-  {0xed94, 0x33fd98b7},
-  {0xed95, 0x33fd98b8},
-  {0xed96, 0x33fd98b9},
-  {0xed97, 0x33fd9cb0},
-  {0xed98, 0x33fd9cb1},
-  {0xed99, 0x33fd9cb2},
-  {0xed9a, 0x33fd9cb3},
-  {0xed9b, 0x33fd9cb4},
-  {0xed9c, 0x33fd9cb5},
-  {0xed9d, 0x33fd9cb6},
-  {0xed9e, 0x33fd9cb7},
-  {0xed9f, 0x33fd9cb8},
-  {0xeda0, 0x33fd9cb9},
-  {0xeda1, 0x33fda0b0},
-  {0xeda2, 0x33fda0b1},
-  {0xeda3, 0x33fda0b2},
-  {0xeda4, 0x33fda0b3},
-  {0xeda5, 0x33fda0b4},
-  {0xeda6, 0x33fda0b5},
-  {0xeda7, 0x33fda0b6},
-  {0xeda8, 0x33fda0b7},
-  {0xeda9, 0x33fda0b8},
-  {0xedaa, 0x33fda0b9},
-  {0xedab, 0x33fda4b0},
-  {0xedac, 0x33fda4b1},
-  {0xedad, 0x33fda4b2},
-  {0xedae, 0x33fda4b3},
-  {0xedaf, 0x33fda4b4},
-  {0xedb0, 0x33fda4b5},
-  {0xedb1, 0x33fda4b6},
-  {0xedb2, 0x33fda4b7},
-  {0xedb3, 0x33fda4b8},
-  {0xedb4, 0x33fda4b9},
-  {0xedb5, 0x33fda8b0},
-  {0xedb6, 0x33fda8b1},
-  {0xedb7, 0x33fda8b2},
-  {0xedb8, 0x33fda8b3},
-  {0xedb9, 0x33fda8b4},
-  {0xedba, 0x33fda8b5},
-  {0xedbb, 0x33fda8b6},
-  {0xedbc, 0x33fda8b7},
-  {0xedbd, 0x33fda8b8},
-  {0xedbe, 0x33fda8b9},
-  {0xedbf, 0x33fdacb0},
-  {0xedc0, 0x33fdacb1},
-  {0xedc1, 0x33fdacb2},
-  {0xedc2, 0x33fdacb3},
-  {0xedc3, 0x33fdacb4},
-  {0xedc4, 0x33fdacb5},
-  {0xedc5, 0x33fdacb6},
-  {0xedc6, 0x33fdacb7},
-  {0xedc7, 0x33fdacb8},
-  {0xedc8, 0x33fdacb9},
-  {0xedc9, 0x33fdb0b0},
-  {0xedca, 0x33fdb0b1},
-  {0xedcb, 0x33fdb0b2},
-  {0xedcc, 0x33fdb0b3},
-  {0xedcd, 0x33fdb0b4},
-  {0xedce, 0x33fdb0b5},
-  {0xedcf, 0x33fdb0b6},
-  {0xedd0, 0x33fdb0b7},
-  {0xedd1, 0x33fdb0b8},
-  {0xedd2, 0x33fdb0b9},
-  {0xedd3, 0x33fdb4b0},
-  {0xedd4, 0x33fdb4b1},
-  {0xedd5, 0x33fdb4b2},
-  {0xedd6, 0x33fdb4b3},
-  {0xedd7, 0x33fdb4b4},
-  {0xedd8, 0x33fdb4b5},
-  {0xedd9, 0x33fdb4b6},
-  {0xedda, 0x33fdb4b7},
-  {0xeddb, 0x33fdb4b8},
-  {0xeddc, 0x33fdb4b9},
-  {0xeddd, 0x33fdb8b0},
-  {0xedde, 0x33fdb8b1},
-  {0xeddf, 0x33fdb8b2},
-  {0xede0, 0x33fdb8b3},
-  {0xede1, 0x33fdb8b4},
-  {0xede2, 0x33fdb8b5},
-  {0xede3, 0x33fdb8b6},
-  {0xede4, 0x33fdb8b7},
-  {0xede5, 0x33fdb8b8},
-  {0xede6, 0x33fdb8b9},
-  {0xede7, 0x33fdbcb0},
-  {0xede8, 0x33fdbcb1},
-  {0xede9, 0x33fdbcb2},
-  {0xedea, 0x33fdbcb3},
-  {0xedeb, 0x33fdbcb4},
-  {0xedec, 0x33fdbcb5},
-  {0xeded, 0x33fdbcb6},
-  {0xedee, 0x33fdbcb7},
-  {0xedef, 0x33fdbcb8},
-  {0xedf0, 0x33fdbcb9},
-  {0xedf1, 0x33fe80b0},
-  {0xedf2, 0x33fe80b1},
-  {0xedf3, 0x33fe80b2},
-  {0xedf4, 0x33fe80b3},
-  {0xedf5, 0x33fe80b4},
-  {0xedf6, 0x33fe80b5},
-  {0xedf7, 0x33fe80b6},
-  {0xedf8, 0x33fe80b7},
-  {0xedf9, 0x33fe80b8},
-  {0xedfa, 0x33fe80b9},
-  {0xedfb, 0x33fe84b0},
-  {0xedfc, 0x33fe84b1},
-  {0xedfd, 0x33fe84b2},
-  {0xedfe, 0x33fe84b3},
-  {0xedff, 0x33fe84b4},
-  {0xee00, 0x33fe84b5},
-  {0xee01, 0x33fe84b6},
-  {0xee02, 0x33fe84b7},
-  {0xee03, 0x33fe84b8},
-  {0xee04, 0x33fe84b9},
-  {0xee05, 0x33fe88b0},
-  {0xee06, 0x33fe88b1},
-  {0xee07, 0x33fe88b2},
-  {0xee08, 0x33fe88b3},
-  {0xee09, 0x33fe88b4},
-  {0xee0a, 0x33fe88b5},
-  {0xee0b, 0x33fe88b6},
-  {0xee0c, 0x33fe88b7},
-  {0xee0d, 0x33fe88b8},
-  {0xee0e, 0x33fe88b9},
-  {0xee0f, 0x33fe8cb0},
-  {0xee10, 0x33fe8cb1},
-  {0xee11, 0x33fe8cb2},
-  {0xee12, 0x33fe8cb3},
-  {0xee13, 0x33fe8cb4},
-  {0xee14, 0x33fe8cb5},
-  {0xee15, 0x33fe8cb6},
-  {0xee16, 0x33fe8cb7},
-  {0xee17, 0x33fe8cb8},
-  {0xee18, 0x33fe8cb9},
-  {0xee19, 0x33fe90b0},
-  {0xee1a, 0x33fe90b1},
-  {0xee1b, 0x33fe90b2},
-  {0xee1c, 0x33fe90b3},
-  {0xee1d, 0x33fe90b4},
-  {0xee1e, 0x33fe90b5},
-  {0xee1f, 0x33fe90b6},
-  {0xee20, 0x33fe90b7},
-  {0xee21, 0x33fe90b8},
-  {0xee22, 0x33fe90b9},
-  {0xee23, 0x33fe94b0},
-  {0xee24, 0x33fe94b1},
-  {0xee25, 0x33fe94b2},
-  {0xee26, 0x33fe94b3},
-  {0xee27, 0x33fe94b4},
-  {0xee28, 0x33fe94b5},
-  {0xee29, 0x33fe94b6},
-  {0xee2a, 0x33fe94b7},
-  {0xee2b, 0x33fe94b8},
-  {0xee2c, 0x33fe94b9},
-  {0xee2d, 0x33fe98b0},
-  {0xee2e, 0x33fe98b1},
-  {0xee2f, 0x33fe98b2},
-  {0xee30, 0x33fe98b3},
-  {0xee31, 0x33fe98b4},
-  {0xee32, 0x33fe98b5},
-  {0xee33, 0x33fe98b6},
-  {0xee34, 0x33fe98b7},
-  {0xee35, 0x33fe98b8},
-  {0xee36, 0x33fe98b9},
-  {0xee37, 0x33fe9cb0},
-  {0xee38, 0x33fe9cb1},
-  {0xee39, 0x33fe9cb2},
-  {0xee3a, 0x33fe9cb3},
-  {0xee3b, 0x33fe9cb4},
-  {0xee3c, 0x33fe9cb5},
-  {0xee3d, 0x33fe9cb6},
-  {0xee3e, 0x33fe9cb7},
-  {0xee3f, 0x33fe9cb8},
-  {0xee40, 0x33fe9cb9},
-  {0xee41, 0x33fea0b0},
-  {0xee42, 0x33fea0b1},
-  {0xee43, 0x33fea0b2},
-  {0xee44, 0x33fea0b3},
-  {0xee45, 0x33fea0b4},
-  {0xee46, 0x33fea0b5},
-  {0xee47, 0x33fea0b6},
-  {0xee48, 0x33fea0b7},
-  {0xee49, 0x33fea0b8},
-  {0xee4a, 0x33fea0b9},
-  {0xee4b, 0x33fea4b0},
-  {0xee4c, 0x33fea4b1},
-  {0xee4d, 0x33fea4b2},
-  {0xee4e, 0x33fea4b3},
-  {0xee4f, 0x33fea4b4},
-  {0xee50, 0x33fea4b5},
-  {0xee51, 0x33fea4b6},
-  {0xee52, 0x33fea4b7},
-  {0xee53, 0x33fea4b8},
-  {0xee54, 0x33fea4b9},
-  {0xee55, 0x33fea8b0},
-  {0xee56, 0x33fea8b1},
-  {0xee57, 0x33fea8b2},
-  {0xee58, 0x33fea8b3},
-  {0xee59, 0x33fea8b4},
-  {0xee5a, 0x33fea8b5},
-  {0xee5b, 0x33fea8b6},
-  {0xee5c, 0x33fea8b7},
-  {0xee5d, 0x33fea8b8},
-  {0xee5e, 0x33fea8b9},
-  {0xee5f, 0x33feacb0},
-  {0xee60, 0x33feacb1},
-  {0xee61, 0x33feacb2},
-  {0xee62, 0x33feacb3},
-  {0xee63, 0x33feacb4},
-  {0xee64, 0x33feacb5},
-  {0xee65, 0x33feacb6},
-  {0xee66, 0x33feacb7},
-  {0xee67, 0x33feacb8},
-  {0xee68, 0x33feacb9},
-  {0xee69, 0x33feb0b0},
-  {0xee6a, 0x33feb0b1},
-  {0xee6b, 0x33feb0b2},
-  {0xee6c, 0x33feb0b3},
-  {0xee6d, 0x33feb0b4},
-  {0xee6e, 0x33feb0b5},
-  {0xee6f, 0x33feb0b6},
-  {0xee70, 0x33feb0b7},
-  {0xee71, 0x33feb0b8},
-  {0xee72, 0x33feb0b9},
-  {0xee73, 0x33feb4b0},
-  {0xee74, 0x33feb4b1},
-  {0xee75, 0x33feb4b2},
-  {0xee76, 0x33feb4b3},
-  {0xee77, 0x33feb4b4},
-  {0xee78, 0x33feb4b5},
-  {0xee79, 0x33feb4b6},
-  {0xee7a, 0x33feb4b7},
-  {0xee7b, 0x33feb4b8},
-  {0xee7c, 0x33feb4b9},
-  {0xee7d, 0x33feb8b0},
-  {0xee7e, 0x33feb8b1},
-  {0xee7f, 0x33feb8b2},
-  {0xee80, 0x33feb8b3},
-  {0xee81, 0x33feb8b4},
-  {0xee82, 0x33feb8b5},
-  {0xee83, 0x33feb8b6},
-  {0xee84, 0x33feb8b7},
-  {0xee85, 0x33feb8b8},
-  {0xee86, 0x33feb8b9},
-  {0xee87, 0x33febcb0},
-  {0xee88, 0x33febcb1},
-  {0xee89, 0x33febcb2},
-  {0xee8a, 0x33febcb3},
-  {0xee8b, 0x33febcb4},
-  {0xee8c, 0x33febcb5},
-  {0xee8d, 0x33febcb6},
-  {0xee8e, 0x33febcb7},
-  {0xee8f, 0x33febcb8},
-  {0xee90, 0x33febcb9},
-  {0xee91, 0x33ff80b0},
-  {0xee92, 0x33ff80b1},
-  {0xee93, 0x33ff80b2},
-  {0xee94, 0x33ff80b3},
-  {0xee95, 0x33ff80b4},
-  {0xee96, 0x33ff80b5},
-  {0xee97, 0x33ff80b6},
-  {0xee98, 0x33ff80b7},
-  {0xee99, 0x33ff80b8},
-  {0xee9a, 0x33ff80b9},
-  {0xee9b, 0x33ff84b0},
-  {0xee9c, 0x33ff84b1},
-  {0xee9d, 0x33ff84b2},
-  {0xee9e, 0x33ff84b3},
-  {0xee9f, 0x33ff84b4},
-  {0xeea0, 0x33ff84b5},
-  {0xeea1, 0x33ff84b6},
-  {0xeea2, 0x33ff84b7},
-  {0xeea3, 0x33ff84b8},
-  {0xeea4, 0x33ff84b9},
-  {0xeea5, 0x33ff88b0},
-  {0xeea6, 0x33ff88b1},
-  {0xeea7, 0x33ff88b2},
-  {0xeea8, 0x33ff88b3},
-  {0xeea9, 0x33ff88b4},
-  {0xeeaa, 0x33ff88b5},
-  {0xeeab, 0x33ff88b6},
-  {0xeeac, 0x33ff88b7},
-  {0xeead, 0x33ff88b8},
-  {0xeeae, 0x33ff88b9},
-  {0xeeaf, 0x33ff8cb0},
-  {0xeeb0, 0x33ff8cb1},
-  {0xeeb1, 0x33ff8cb2},
-  {0xeeb2, 0x33ff8cb3},
-  {0xeeb3, 0x33ff8cb4},
-  {0xeeb4, 0x33ff8cb5},
-  {0xeeb5, 0x33ff8cb6},
-  {0xeeb6, 0x33ff8cb7},
-  {0xeeb7, 0x33ff8cb8},
-  {0xeeb8, 0x33ff8cb9},
-  {0xeeb9, 0x33ff90b0},
-  {0xeeba, 0x33ff90b1},
-  {0xeebb, 0x33ff90b2},
-  {0xeebc, 0x33ff90b3},
-  {0xeebd, 0x33ff90b4},
-  {0xeebe, 0x33ff90b5},
-  {0xeebf, 0x33ff90b6},
-  {0xeec0, 0x33ff90b7},
-  {0xeec1, 0x33ff90b8},
-  {0xeec2, 0x33ff90b9},
-  {0xeec3, 0x33ff94b0},
-  {0xeec4, 0x33ff94b1},
-  {0xeec5, 0x33ff94b2},
-  {0xeec6, 0x33ff94b3},
-  {0xeec7, 0x33ff94b4},
-  {0xeec8, 0x33ff94b5},
-  {0xeec9, 0x33ff94b6},
-  {0xeeca, 0x33ff94b7},
-  {0xeecb, 0x33ff94b8},
-  {0xeecc, 0x33ff94b9},
-  {0xeecd, 0x33ff98b0},
-  {0xeece, 0x33ff98b1},
-  {0xeecf, 0x33ff98b2},
-  {0xeed0, 0x33ff98b3},
-  {0xeed1, 0x33ff98b4},
-  {0xeed2, 0x33ff98b5},
-  {0xeed3, 0x33ff98b6},
-  {0xeed4, 0x33ff98b7},
-  {0xeed5, 0x33ff98b8},
-  {0xeed6, 0x33ff98b9},
-  {0xeed7, 0x33ff9cb0},
-  {0xeed8, 0x33ff9cb1},
-  {0xeed9, 0x33ff9cb2},
-  {0xeeda, 0x33ff9cb3},
-  {0xeedb, 0x33ff9cb4},
-  {0xeedc, 0x33ff9cb5},
-  {0xeedd, 0x33ff9cb6},
-  {0xeede, 0x33ff9cb7},
-  {0xeedf, 0x33ff9cb8},
-  {0xeee0, 0x33ff9cb9},
-  {0xeee1, 0x33ffa0b0},
-  {0xeee2, 0x33ffa0b1},
-  {0xeee3, 0x33ffa0b2},
-  {0xeee4, 0x33ffa0b3},
-  {0xeee5, 0x33ffa0b4},
-  {0xeee6, 0x33ffa0b5},
-  {0xeee7, 0x33ffa0b6},
-  {0xeee8, 0x33ffa0b7},
-  {0xeee9, 0x33ffa0b8},
-  {0xeeea, 0x33ffa0b9},
-  {0xeeeb, 0x33ffa4b0},
-  {0xeeec, 0x33ffa4b1},
-  {0xeeed, 0x33ffa4b2},
-  {0xeeee, 0x33ffa4b3},
-  {0xeeef, 0x33ffa4b4},
-  {0xeef0, 0x33ffa4b5},
-  {0xeef1, 0x33ffa4b6},
-  {0xeef2, 0x33ffa4b7},
-  {0xeef3, 0x33ffa4b8},
-  {0xeef4, 0x33ffa4b9},
-  {0xeef5, 0x33ffa8b0},
-  {0xeef6, 0x33ffa8b1},
-  {0xeef7, 0x33ffa8b2},
-  {0xeef8, 0x33ffa8b3},
-  {0xeef9, 0x33ffa8b4},
-  {0xeefa, 0x33ffa8b5},
-  {0xeefb, 0x33ffa8b6},
-  {0xeefc, 0x33ffa8b7},
-  {0xeefd, 0x33ffa8b8},
-  {0xeefe, 0x33ffa8b9},
-  {0xeeff, 0x33ffacb0},
-  {0xef00, 0x33ffacb1},
-  {0xef01, 0x33ffacb2},
-  {0xef02, 0x33ffacb3},
-  {0xef03, 0x33ffacb4},
-  {0xef04, 0x33ffacb5},
-  {0xef05, 0x33ffacb6},
-  {0xef06, 0x33ffacb7},
-  {0xef07, 0x33ffacb8},
-  {0xef08, 0x33ffacb9},
-  {0xef09, 0x33ffb0b0},
-  {0xef0a, 0x33ffb0b1},
-  {0xef0b, 0x33ffb0b2},
-  {0xef0c, 0x33ffb0b3},
-  {0xef0d, 0x33ffb0b4},
-  {0xef0e, 0x33ffb0b5},
-  {0xef0f, 0x33ffb0b6},
-  {0xef10, 0x33ffb0b7},
-  {0xef11, 0x33ffb0b8},
-  {0xef12, 0x33ffb0b9},
-  {0xef13, 0x33ffb4b0},
-  {0xef14, 0x33ffb4b1},
-  {0xef15, 0x33ffb4b2},
-  {0xef16, 0x33ffb4b3},
-  {0xef17, 0x33ffb4b4},
-  {0xef18, 0x33ffb4b5},
-  {0xef19, 0x33ffb4b6},
-  {0xef1a, 0x33ffb4b7},
-  {0xef1b, 0x33ffb4b8},
-  {0xef1c, 0x33ffb4b9},
-  {0xef1d, 0x33ffb8b0},
-  {0xef1e, 0x33ffb8b1},
-  {0xef1f, 0x33ffb8b2},
-  {0xef20, 0x33ffb8b3},
-  {0xef21, 0x33ffb8b4},
-  {0xef22, 0x33ffb8b5},
-  {0xef23, 0x33ffb8b6},
-  {0xef24, 0x33ffb8b7},
-  {0xef25, 0x33ffb8b8},
-  {0xef26, 0x33ffb8b9},
-  {0xef27, 0x33e884b0},
-  {0xef28, 0x33e884b1},
-  {0xef29, 0x33e884b2},
-  {0xef2a, 0x33e884b3},
-  {0xef2b, 0x33e884b4},
-  {0xef2c, 0x33e884b5},
-  {0xef2d, 0x33e884b6},
-  {0xef2e, 0x33e884b7},
-  {0xef2f, 0x33e884b8},
-  {0xef30, 0x33e884b9},
-  {0xef31, 0x33e888b0},
-  {0xef32, 0x33e888b1},
-  {0xef33, 0x33e888b2},
-  {0xef34, 0x33e888b3},
-  {0xef35, 0x33e888b4},
-  {0xef36, 0x33e888b5},
-  {0xef37, 0x33e888b6},
-  {0xef38, 0x33e888b7},
-  {0xef39, 0x33e888b8},
-  {0xef3a, 0x33e888b9},
-  {0xef3b, 0x33e88cb0},
-  {0xef3c, 0x33e88cb1},
-  {0xef3d, 0x33e88cb2},
-  {0xef3e, 0x33e88cb3},
-  {0xef3f, 0x33e88cb4},
-  {0xef40, 0x33e88cb5},
-  {0xef41, 0x33e88cb6},
-  {0xef42, 0x33e88cb7},
-  {0xef43, 0x33e88cb8},
-  {0xef44, 0x33e88cb9},
-  {0xef45, 0x33e890b0},
-  {0xef46, 0x33e890b1},
-  {0xef47, 0x33e890b2},
-  {0xef48, 0x33e890b3},
-  {0xef49, 0x33e890b4},
-  {0xef4a, 0x33e890b5},
-  {0xef4b, 0x33e890b6},
-  {0xef4c, 0x33e890b7},
-  {0xef4d, 0x33e890b8},
-  {0xef4e, 0x33e890b9},
-  {0xef4f, 0x33e894b0},
-  {0xef50, 0x33e894b1},
-  {0xef51, 0x33e894b2},
-  {0xef52, 0x33e894b3},
-  {0xef53, 0x33e894b4},
-  {0xef54, 0x33e894b5},
-  {0xef55, 0x33e894b6},
-  {0xef56, 0x33e894b7},
-  {0xef57, 0x33e894b8},
-  {0xef58, 0x33e894b9},
-  {0xef59, 0x33e898b0},
-  {0xef5a, 0x33e898b1},
-  {0xef5b, 0x33e898b2},
-  {0xef5c, 0x33e898b3},
-  {0xef5d, 0x33e898b4},
-  {0xef5e, 0x33e898b5},
-  {0xef5f, 0x33e898b6},
-  {0xef60, 0x33e898b7},
-  {0xef61, 0x33e898b8},
-  {0xef62, 0x33e898b9},
-  {0xef63, 0x33e89cb0},
-  {0xef64, 0x33e89cb1},
-  {0xef65, 0x33e89cb2},
-  {0xef66, 0x33e89cb3},
-  {0xef67, 0x33e89cb4},
-  {0xef68, 0x33e89cb5},
-  {0xef69, 0x33e89cb6},
-  {0xef6a, 0x33e89cb7},
-  {0xef6b, 0x33e89cb8},
-  {0xef6c, 0x33e89cb9},
-  {0xef6d, 0x33e8a0b0},
-  {0xef6e, 0x33e8a0b1},
-  {0xef6f, 0x33e8a0b2},
-  {0xef70, 0x33e8a0b3},
-  {0xef71, 0x33e8a0b4},
-  {0xef72, 0x33e8a0b5},
-  {0xef73, 0x33e8a0b6},
-  {0xef74, 0x33e8a0b7},
-  {0xef75, 0x33e8a0b8},
-  {0xef76, 0x33e8a0b9},
-  {0xef77, 0x33e8a4b0},
-  {0xef78, 0x33e8a4b1},
-  {0xef79, 0x33e8a4b2},
-  {0xef7a, 0x33e8a4b3},
-  {0xef7b, 0x33e8a4b4},
-  {0xef7c, 0x33e8a4b5},
-  {0xef7d, 0x33e8a4b6},
-  {0xef7e, 0x33e8a4b7},
-  {0xef7f, 0x33e8a4b8},
-  {0xef80, 0x33e8a4b9},
-  {0xef81, 0x33e8a8b0},
-  {0xef82, 0x33e8a8b1},
-  {0xef83, 0x33e8a8b2},
-  {0xef84, 0x33e8a8b3},
-  {0xef85, 0x33e8a8b4},
-  {0xef86, 0x33e8a8b5},
-  {0xef87, 0x33e8a8b6},
-  {0xef88, 0x33e8a8b7},
-  {0xef89, 0x33e8a8b8},
-  {0xef8a, 0x33e8a8b9},
-  {0xef8b, 0x33e8acb0},
-  {0xef8c, 0x33e8acb1},
-  {0xef8d, 0x33e8acb2},
-  {0xef8e, 0x33e8acb3},
-  {0xef8f, 0x33e8acb4},
-  {0xef90, 0x33e8acb5},
-  {0xef91, 0x33e8acb6},
-  {0xef92, 0x33e8acb7},
-  {0xef93, 0x33e8acb8},
-  {0xef94, 0x33e8acb9},
-  {0xef95, 0x33e8b0b0},
-  {0xef96, 0x33e8b0b1},
-  {0xef97, 0x33e8b0b2},
-  {0xef98, 0x33e8b0b3},
-  {0xef99, 0x33e8b0b4},
-  {0xef9a, 0x33e8b0b5},
-  {0xef9b, 0x33e8b0b6},
-  {0xef9c, 0x33e8b0b7},
-  {0xef9d, 0x33e8b0b8},
-  {0xef9e, 0x33e8b0b9},
-  {0xef9f, 0x33e8b4b0},
-  {0xefa0, 0x33e8b4b1},
-  {0xefa1, 0x33e8b4b2},
-  {0xefa2, 0x33e8b4b3},
-  {0xefa3, 0x33e8b4b4},
-  {0xefa4, 0x33e8b4b5},
-  {0xefa5, 0x33e8b4b6},
-  {0xefa6, 0x33e8b4b7},
-  {0xefa7, 0x33e8b4b8},
-  {0xefa8, 0x33e8b4b9},
-  {0xefa9, 0x33e8b8b0},
-  {0xefaa, 0x33e8b8b1},
-  {0xefab, 0x33e8b8b2},
-  {0xefac, 0x33e8b8b3},
-  {0xefad, 0x33e8b8b4},
-  {0xefae, 0x33e8b8b5},
-  {0xefaf, 0x33e8b8b6},
-  {0xefb0, 0x33e8b8b7},
-  {0xefb1, 0x33e8b8b8},
-  {0xefb2, 0x33e8b8b9},
-  {0xefb3, 0x33e8bcb0},
-  {0xefb4, 0x33e8bcb1},
-  {0xefb5, 0x33e8bcb2},
-  {0xefb6, 0x33e8bcb3},
-  {0xefb7, 0x33e8bcb4},
-  {0xefb8, 0x33e8bcb5},
-  {0xefb9, 0x33e8bcb6},
-  {0xefba, 0x33e8bcb7},
-  {0xefbb, 0x33e8bcb8},
-  {0xefbc, 0x33e8bcb9},
-  {0xefbd, 0x33e980b0},
-  {0xefbe, 0x33e980b1},
-  {0xefbf, 0x33e980b2},
-  {0xefc0, 0x33e980b3},
-  {0xefc1, 0x33e980b4},
-  {0xefc2, 0x33e980b5},
-  {0xefc3, 0x33e980b6},
-  {0xefc4, 0x33e980b7},
-  {0xefc5, 0x33e980b8},
-  {0xefc6, 0x33e980b9},
-  {0xefc7, 0x33e984b0},
-  {0xefc8, 0x33e984b1},
-  {0xefc9, 0x33e984b2},
-  {0xefca, 0x33e984b3},
-  {0xefcb, 0x33e984b4},
-  {0xefcc, 0x33e984b5},
-  {0xefcd, 0x33e984b6},
-  {0xefce, 0x33e984b7},
-  {0xefcf, 0x33e984b8},
-  {0xefd0, 0x33e984b9},
-  {0xefd1, 0x33e988b0},
-  {0xefd2, 0x33e988b1},
-  {0xefd3, 0x33e988b2},
-  {0xefd4, 0x33e988b3},
-  {0xefd5, 0x33e988b4},
-  {0xefd6, 0x33e988b5},
-  {0xefd7, 0x33e988b6},
-  {0xefd8, 0x33e988b7},
-  {0xefd9, 0x33e988b8},
-  {0xefda, 0x33e988b9},
-  {0xefdb, 0x33e98cb0},
-  {0xefdc, 0x33e98cb1},
-  {0xefdd, 0x33e98cb2},
-  {0xefde, 0x33e98cb3},
-  {0xefdf, 0x33e98cb4},
-  {0xefe0, 0x33e98cb5},
-  {0xefe1, 0x33e98cb6},
-  {0xefe2, 0x33e98cb7},
-  {0xefe3, 0x33e98cb8},
-  {0xefe4, 0x33e98cb9},
-  {0xefe5, 0x33e990b0},
-  {0xefe6, 0x33e990b1},
-  {0xefe7, 0x33e990b2},
-  {0xefe8, 0x33e990b3},
-  {0xefe9, 0x33e990b4},
-  {0xefea, 0x33e990b5},
-  {0xefeb, 0x33e990b6},
-  {0xefec, 0x33e990b7},
-  {0xefed, 0x33e990b8},
-  {0xefee, 0x33e990b9},
-  {0xefef, 0x33e994b0},
-  {0xeff0, 0x33e994b1},
-  {0xeff1, 0x33e994b2},
-  {0xeff2, 0x33e994b3},
-  {0xeff3, 0x33e994b4},
-  {0xeff4, 0x33e994b5},
-  {0xeff5, 0x33e994b6},
-  {0xeff6, 0x33e994b7},
-  {0xeff7, 0x33e994b8},
-  {0xeff8, 0x33e994b9},
-  {0xeff9, 0x33e998b0},
-  {0xeffa, 0x33e998b1},
-  {0xeffb, 0x33e998b2},
-  {0xeffc, 0x33e998b3},
-  {0xeffd, 0x33e998b4},
-  {0xeffe, 0x33e998b5},
-  {0xefff, 0x33e998b6},
-  {0xf000, 0x33e998b7},
-  {0xf001, 0x33e998b8},
-  {0xf002, 0x33e998b9},
-  {0xf003, 0x33e99cb0},
-  {0xf004, 0x33e99cb1},
-  {0xf005, 0x33e99cb2},
-  {0xf006, 0x33e99cb3},
-  {0xf007, 0x33e99cb4},
-  {0xf008, 0x33e99cb5},
-  {0xf009, 0x33e99cb6},
-  {0xf00a, 0x33e99cb7},
-  {0xf00b, 0x33e99cb8},
-  {0xf00c, 0x33e99cb9},
-  {0xf00d, 0x33e9a0b0},
-  {0xf00e, 0x33e9a0b1},
-  {0xf00f, 0x33e9a0b2},
-  {0xf010, 0x33e9a0b3},
-  {0xf011, 0x33e9a0b4},
-  {0xf012, 0x33e9a0b5},
-  {0xf013, 0x33e9a0b6},
-  {0xf014, 0x33e9a0b7},
-  {0xf015, 0x33e9a0b8},
-  {0xf016, 0x33e9a0b9},
-  {0xf017, 0x33e9a4b0},
-  {0xf018, 0x33e9a4b1},
-  {0xf019, 0x33e9a4b2},
-  {0xf01a, 0x33e9a4b3},
-  {0xf01b, 0x33e9a4b4},
-  {0xf01c, 0x33e9a4b5},
-  {0xf01d, 0x33e9a4b6},
-  {0xf01e, 0x33e9a4b7},
-  {0xf01f, 0x33e9a4b8},
-  {0xf020, 0x33e9a4b9},
-  {0xf021, 0x33e9a8b0},
-  {0xf022, 0x33e9a8b1},
-  {0xf023, 0x33e9a8b2},
-  {0xf024, 0x33e9a8b3},
-  {0xf025, 0x33e9a8b4},
-  {0xf026, 0x33e9a8b5},
-  {0xf027, 0x33e9a8b6},
-  {0xf028, 0x33e9a8b7},
-  {0xf029, 0x33e9a8b8},
-  {0xf02a, 0x33e9a8b9},
-  {0xf02b, 0x33e9acb0},
-  {0xf02c, 0x33e9acb1},
-  {0xf02d, 0x33e9acb2},
-  {0xf02e, 0x33e9acb3},
-  {0xf02f, 0x33e9acb4},
-  {0xf030, 0x33e9acb5},
-  {0xf031, 0x33e9acb6},
-  {0xf032, 0x33e9acb7},
-  {0xf033, 0x33e9acb8},
-  {0xf034, 0x33e9acb9},
-  {0xf035, 0x33e9b0b0},
-  {0xf036, 0x33e9b0b1},
-  {0xf037, 0x33e9b0b2},
-  {0xf038, 0x33e9b0b3},
-  {0xf039, 0x33e9b0b4},
-  {0xf03a, 0x33e9b0b5},
-  {0xf03b, 0x33e9b0b6},
-  {0xf03c, 0x33e9b0b7},
-  {0xf03d, 0x33e9b0b8},
-  {0xf03e, 0x33e9b0b9},
-  {0xf03f, 0x33e9b4b0},
-  {0xf040, 0x33e9b4b1},
-  {0xf041, 0x33e9b4b2},
-  {0xf042, 0x33e9b4b3},
-  {0xf043, 0x33e9b4b4},
-  {0xf044, 0x33e9b4b5},
-  {0xf045, 0x33e9b4b6},
-  {0xf046, 0x33e9b4b7},
-  {0xf047, 0x33e9b4b8},
-  {0xf048, 0x33e9b4b9},
-  {0xf049, 0x33e9b8b0},
-  {0xf04a, 0x33e9b8b1},
-  {0xf04b, 0x33e9b8b2},
-  {0xf04c, 0x33e9b8b3},
-  {0xf04d, 0x33e9b8b4},
-  {0xf04e, 0x33e9b8b5},
-  {0xf04f, 0x33e9b8b6},
-  {0xf050, 0x33e9b8b7},
-  {0xf051, 0x33e9b8b8},
-  {0xf052, 0x33e9b8b9},
-  {0xf053, 0x33e9bcb0},
-  {0xf054, 0x33e9bcb1},
-  {0xf055, 0x33e9bcb2},
-  {0xf056, 0x33e9bcb3},
-  {0xf057, 0x33e9bcb4},
-  {0xf058, 0x33e9bcb5},
-  {0xf059, 0x33e9bcb6},
-  {0xf05a, 0x33e9bcb7},
-  {0xf05b, 0x33e9bcb8},
-  {0xf05c, 0x33e9bcb9},
-  {0xf05d, 0x33ea80b0},
-  {0xf05e, 0x33ea80b1},
-  {0xf05f, 0x33ea80b2},
-  {0xf060, 0x33ea80b3},
-  {0xf061, 0x33ea80b4},
-  {0xf062, 0x33ea80b5},
-  {0xf063, 0x33ea80b6},
-  {0xf064, 0x33ea80b7},
-  {0xf065, 0x33ea80b8},
-  {0xf066, 0x33ea80b9},
-  {0xf067, 0x33ea84b0},
-  {0xf068, 0x33ea84b1},
-  {0xf069, 0x33ea84b2},
-  {0xf06a, 0x33ea84b3},
-  {0xf06b, 0x33ea84b4},
-  {0xf06c, 0x33ea84b5},
-  {0xf06d, 0x33ea84b6},
-  {0xf06e, 0x33ea84b7},
-  {0xf06f, 0x33ea84b8},
-  {0xf070, 0x33ea84b9},
-  {0xf071, 0x33ea88b0},
-  {0xf072, 0x33ea88b1},
-  {0xf073, 0x33ea88b2},
-  {0xf074, 0x33ea88b3},
-  {0xf075, 0x33ea88b4},
-  {0xf076, 0x33ea88b5},
-  {0xf077, 0x33ea88b6},
-  {0xf078, 0x33ea88b7},
-  {0xf079, 0x33ea88b8},
-  {0xf07a, 0x33ea88b9},
-  {0xf07b, 0x33ea8cb0},
-  {0xf07c, 0x33ea8cb1},
-  {0xf07d, 0x33ea8cb2},
-  {0xf07e, 0x33ea8cb3},
-  {0xf07f, 0x33ea8cb4},
-  {0xf080, 0x33ea8cb5},
-  {0xf081, 0x33ea8cb6},
-  {0xf082, 0x33ea8cb7},
-  {0xf083, 0x33ea8cb8},
-  {0xf084, 0x33ea8cb9},
-  {0xf085, 0x33ea90b0},
-  {0xf086, 0x33ea90b1},
-  {0xf087, 0x33ea90b2},
-  {0xf088, 0x33ea90b3},
-  {0xf089, 0x33ea90b4},
-  {0xf08a, 0x33ea90b5},
-  {0xf08b, 0x33ea90b6},
-  {0xf08c, 0x33ea90b7},
-  {0xf08d, 0x33ea90b8},
-  {0xf08e, 0x33ea90b9},
-  {0xf08f, 0x33ea94b0},
-  {0xf090, 0x33ea94b1},
-  {0xf091, 0x33ea94b2},
-  {0xf092, 0x33ea94b3},
-  {0xf093, 0x33ea94b4},
-  {0xf094, 0x33ea94b5},
-  {0xf095, 0x33ea94b6},
-  {0xf096, 0x33ea94b7},
-  {0xf097, 0x33ea94b8},
-  {0xf098, 0x33ea94b9},
-  {0xf099, 0x33ea98b0},
-  {0xf09a, 0x33ea98b1},
-  {0xf09b, 0x33ea98b2},
-  {0xf09c, 0x33ea98b3},
-  {0xf09d, 0x33ea98b4},
-  {0xf09e, 0x33ea98b5},
-  {0xf09f, 0x33ea98b6},
-  {0xf0a0, 0x33ea98b7},
-  {0xf0a1, 0x33ea98b8},
-  {0xf0a2, 0x33ea98b9},
-  {0xf0a3, 0x33ea9cb0},
-  {0xf0a4, 0x33ea9cb1},
-  {0xf0a5, 0x33ea9cb2},
-  {0xf0a6, 0x33ea9cb3},
-  {0xf0a7, 0x33ea9cb4},
-  {0xf0a8, 0x33ea9cb5},
-  {0xf0a9, 0x33ea9cb6},
-  {0xf0aa, 0x33ea9cb7},
-  {0xf0ab, 0x33ea9cb8},
-  {0xf0ac, 0x33ea9cb9},
-  {0xf0ad, 0x33eaa0b0},
-  {0xf0ae, 0x33eaa0b1},
-  {0xf0af, 0x33eaa0b2},
-  {0xf0b0, 0x33eaa0b3},
-  {0xf0b1, 0x33eaa0b4},
-  {0xf0b2, 0x33eaa0b5},
-  {0xf0b3, 0x33eaa0b6},
-  {0xf0b4, 0x33eaa0b7},
-  {0xf0b5, 0x33eaa0b8},
-  {0xf0b6, 0x33eaa0b9},
-  {0xf0b7, 0x33eaa4b0},
-  {0xf0b8, 0x33eaa4b1},
-  {0xf0b9, 0x33eaa4b2},
-  {0xf0ba, 0x33eaa4b3},
-  {0xf0bb, 0x33eaa4b4},
-  {0xf0bc, 0x33eaa4b5},
-  {0xf0bd, 0x33eaa4b6},
-  {0xf0be, 0x33eaa4b7},
-  {0xf0bf, 0x33eaa4b8},
-  {0xf0c0, 0x33eaa4b9},
-  {0xf0c1, 0x33eaa8b0},
-  {0xf0c2, 0x33eaa8b1},
-  {0xf0c3, 0x33eaa8b2},
-  {0xf0c4, 0x33eaa8b3},
-  {0xf0c5, 0x33eaa8b4},
-  {0xf0c6, 0x33eaa8b5},
-  {0xf0c7, 0x33eaa8b6},
-  {0xf0c8, 0x33eaa8b7},
-  {0xf0c9, 0x33eaa8b8},
-  {0xf0ca, 0x33eaa8b9},
-  {0xf0cb, 0x33eaacb0},
-  {0xf0cc, 0x33eaacb1},
-  {0xf0cd, 0x33eaacb2},
-  {0xf0ce, 0x33eaacb3},
-  {0xf0cf, 0x33eaacb4},
-  {0xf0d0, 0x33eaacb5},
-  {0xf0d1, 0x33eaacb6},
-  {0xf0d2, 0x33eaacb7},
-  {0xf0d3, 0x33eaacb8},
-  {0xf0d4, 0x33eaacb9},
-  {0xf0d5, 0x33eab0b0},
-  {0xf0d6, 0x33eab0b1},
-  {0xf0d7, 0x33eab0b2},
-  {0xf0d8, 0x33eab0b3},
-  {0xf0d9, 0x33eab0b4},
-  {0xf0da, 0x33eab0b5},
-  {0xf0db, 0x33eab0b6},
-  {0xf0dc, 0x33eab0b7},
-  {0xf0dd, 0x33eab0b8},
-  {0xf0de, 0x33eab0b9},
-  {0xf0df, 0x33eab4b0},
-  {0xf0e0, 0x33eab4b1},
-  {0xf0e1, 0x33eab4b2},
-  {0xf0e2, 0x33eab4b3},
-  {0xf0e3, 0x33eab4b4},
-  {0xf0e4, 0x33eab4b5},
-  {0xf0e5, 0x33eab4b6},
-  {0xf0e6, 0x33eab4b7},
-  {0xf0e7, 0x33eab4b8},
-  {0xf0e8, 0x33eab4b9},
-  {0xf0e9, 0x33eab8b0},
-  {0xf0ea, 0x33eab8b1},
-  {0xf0eb, 0x33eab8b2},
-  {0xf0ec, 0x33eab8b3},
-  {0xf0ed, 0x33eab8b4},
-  {0xf0ee, 0x33eab8b5},
-  {0xf0ef, 0x33eab8b6},
-  {0xf0f0, 0x33eab8b7},
-  {0xf0f1, 0x33eab8b8},
-  {0xf0f2, 0x33eab8b9},
-  {0xf0f3, 0x33eabcb0},
-  {0xf0f4, 0x33eabcb1},
-  {0xf0f5, 0x33eabcb2},
-  {0xf0f6, 0x33eabcb3},
-  {0xf0f7, 0x33eabcb4},
-  {0xf0f8, 0x33eabcb5},
-  {0xf0f9, 0x33eabcb6},
-  {0xf0fa, 0x33eabcb7},
-  {0xf0fb, 0x33eabcb8},
-  {0xf0fc, 0x33eabcb9},
-  {0xf0fd, 0x33eb80b0},
-  {0xf0fe, 0x33eb80b1},
-  {0xf0ff, 0x33eb80b2},
-  {0xf100, 0x33eb80b3},
-  {0xf101, 0x33eb80b4},
-  {0xf102, 0x33eb80b5},
-  {0xf103, 0x33eb80b6},
-  {0xf104, 0x33eb80b7},
-  {0xf105, 0x33eb80b8},
-  {0xf106, 0x33eb80b9},
-  {0xf107, 0x33eb84b0},
-  {0xf108, 0x33eb84b1},
-  {0xf109, 0x33eb84b2},
-  {0xf10a, 0x33eb84b3},
-  {0xf10b, 0x33eb84b4},
-  {0xf10c, 0x33eb84b5},
-  {0xf10d, 0x33eb84b6},
-  {0xf10e, 0x33eb84b7},
-  {0xf10f, 0x33eb84b8},
-  {0xf110, 0x33eb84b9},
-  {0xf111, 0x33eb88b0},
-  {0xf112, 0x33eb88b1},
-  {0xf113, 0x33eb88b2},
-  {0xf114, 0x33eb88b3},
-  {0xf115, 0x33eb88b4},
-  {0xf116, 0x33eb88b5},
-  {0xf117, 0x33eb88b6},
-  {0xf118, 0x33eb88b7},
-  {0xf119, 0x33eb88b8},
-  {0xf11a, 0x33eb88b9},
-  {0xf11b, 0x33eb8cb0},
-  {0xf11c, 0x33eb8cb1},
-  {0xf11d, 0x33eb8cb2},
-  {0xf11e, 0x33eb8cb3},
-  {0xf11f, 0x33eb8cb4},
-  {0xf120, 0x33eb8cb5},
-  {0xf121, 0x33eb8cb6},
-  {0xf122, 0x33eb8cb7},
-  {0xf123, 0x33eb8cb8},
-  {0xf124, 0x33eb8cb9},
-  {0xf125, 0x33eb90b0},
-  {0xf126, 0x33eb90b1},
-  {0xf127, 0x33eb90b2},
-  {0xf128, 0x33eb90b3},
-  {0xf129, 0x33eb90b4},
-  {0xf12a, 0x33eb90b5},
-  {0xf12b, 0x33eb90b6},
-  {0xf12c, 0x33eb90b7},
-  {0xf12d, 0x33eb90b8},
-  {0xf12e, 0x33eb90b9},
-  {0xf12f, 0x33eb94b0},
-  {0xf130, 0x33eb94b1},
-  {0xf131, 0x33eb94b2},
-  {0xf132, 0x33eb94b3},
-  {0xf133, 0x33eb94b4},
-  {0xf134, 0x33eb94b5},
-  {0xf135, 0x33eb94b6},
-  {0xf136, 0x33eb94b7},
-  {0xf137, 0x33eb94b8},
-  {0xf138, 0x33eb94b9},
-  {0xf139, 0x33eb98b0},
-  {0xf13a, 0x33eb98b1},
-  {0xf13b, 0x33eb98b2},
-  {0xf13c, 0x33eb98b3},
-  {0xf13d, 0x33eb98b4},
-  {0xf13e, 0x33eb98b5},
-  {0xf13f, 0x33eb98b6},
-  {0xf140, 0x33eb98b7},
-  {0xf141, 0x33eb98b8},
-  {0xf142, 0x33eb98b9},
-  {0xf143, 0x33eb9cb0},
-  {0xf144, 0x33eb9cb1},
-  {0xf145, 0x33eb9cb2},
-  {0xf146, 0x33eb9cb3},
-  {0xf147, 0x33eb9cb4},
-  {0xf148, 0x33eb9cb5},
-  {0xf149, 0x33eb9cb6},
-  {0xf14a, 0x33eb9cb7},
-  {0xf14b, 0x33eb9cb8},
-  {0xf14c, 0x33eb9cb9},
-  {0xf14d, 0x33eba0b0},
-  {0xf14e, 0x33eba0b1},
-  {0xf14f, 0x33eba0b2},
-  {0xf150, 0x33eba0b3},
-  {0xf151, 0x33eba0b4},
-  {0xf152, 0x33eba0b5},
-  {0xf153, 0x33eba0b6},
-  {0xf154, 0x33eba0b7},
-  {0xf155, 0x33eba0b8},
-  {0xf156, 0x33eba0b9},
-  {0xf157, 0x33eba4b0},
-  {0xf158, 0x33eba4b1},
-  {0xf159, 0x33eba4b2},
-  {0xf15a, 0x33eba4b3},
-  {0xf15b, 0x33eba4b4},
-  {0xf15c, 0x33eba4b5},
-  {0xf15d, 0x33eba4b6},
-  {0xf15e, 0x33eba4b7},
-  {0xf15f, 0x33eba4b8},
-  {0xf160, 0x33eba4b9},
-  {0xf161, 0x33eba8b0},
-  {0xf162, 0x33eba8b1},
-  {0xf163, 0x33eba8b2},
-  {0xf164, 0x33eba8b3},
-  {0xf165, 0x33eba8b4},
-  {0xf166, 0x33eba8b5},
-  {0xf167, 0x33eba8b6},
-  {0xf168, 0x33eba8b7},
-  {0xf169, 0x33eba8b8},
-  {0xf16a, 0x33eba8b9},
-  {0xf16b, 0x33ebacb0},
-  {0xf16c, 0x33ebacb1},
-  {0xf16d, 0x33ebacb2},
-  {0xf16e, 0x33ebacb3},
-  {0xf16f, 0x33ebacb4},
-  {0xf170, 0x33ebacb5},
-  {0xf171, 0x33ebacb6},
-  {0xf172, 0x33ebacb7},
-  {0xf173, 0x33ebacb8},
-  {0xf174, 0x33ebacb9},
-  {0xf175, 0x33ebb0b0},
-  {0xf176, 0x33ebb0b1},
-  {0xf177, 0x33ebb0b2},
-  {0xf178, 0x33ebb0b3},
-  {0xf179, 0x33ebb0b4},
-  {0xf17a, 0x33ebb0b5},
-  {0xf17b, 0x33ebb0b6},
-  {0xf17c, 0x33ebb0b7},
-  {0xf17d, 0x33ebb0b8},
-  {0xf17e, 0x33ebb0b9},
-  {0xf17f, 0x33ebb4b0},
-  {0xf180, 0x33ebb4b1},
-  {0xf181, 0x33ebb4b2},
-  {0xf182, 0x33ebb4b3},
-  {0xf183, 0x33ebb4b4},
-  {0xf184, 0x33ebb4b5},
-  {0xf185, 0x33ebb4b6},
-  {0xf186, 0x33ebb4b7},
-  {0xf187, 0x33ebb4b8},
-  {0xf188, 0x33ebb4b9},
-  {0xf189, 0x33ebb8b0},
-  {0xf18a, 0x33ebb8b1},
-  {0xf18b, 0x33ebb8b2},
-  {0xf18c, 0x33ebb8b3},
-  {0xf18d, 0x33ebb8b4},
-  {0xf18e, 0x33ebb8b5},
-  {0xf18f, 0x33ebb8b6},
-  {0xf190, 0x33ebb8b7},
-  {0xf191, 0x33ebb8b8},
-  {0xf192, 0x33ebb8b9},
-  {0xf193, 0x33ebbcb0},
-  {0xf194, 0x33ebbcb1},
-  {0xf195, 0x33ebbcb2},
-  {0xf196, 0x33ebbcb3},
-  {0xf197, 0x33ebbcb4},
-  {0xf198, 0x33ebbcb5},
-  {0xf199, 0x33ebbcb6},
-  {0xf19a, 0x33ebbcb7},
-  {0xf19b, 0x33ebbcb8},
-  {0xf19c, 0x33ebbcb9},
-  {0xf19d, 0x33ec80b0},
-  {0xf19e, 0x33ec80b1},
-  {0xf19f, 0x33ec80b2},
-  {0xf1a0, 0x33ec80b3},
-  {0xf1a1, 0x33ec80b4},
-  {0xf1a2, 0x33ec80b5},
-  {0xf1a3, 0x33ec80b6},
-  {0xf1a4, 0x33ec80b7},
-  {0xf1a5, 0x33ec80b8},
-  {0xf1a6, 0x33ec80b9},
-  {0xf1a7, 0x33ec84b0},
-  {0xf1a8, 0x33ec84b1},
-  {0xf1a9, 0x33ec84b2},
-  {0xf1aa, 0x33ec84b3},
-  {0xf1ab, 0x33ec84b4},
-  {0xf1ac, 0x33ec84b5},
-  {0xf1ad, 0x33ec84b6},
-  {0xf1ae, 0x33ec84b7},
-  {0xf1af, 0x33ec84b8},
-  {0xf1b0, 0x33ec84b9},
-  {0xf1b1, 0x33ec88b0},
-  {0xf1b2, 0x33ec88b1},
-  {0xf1b3, 0x33ec88b2},
-  {0xf1b4, 0x33ec88b3},
-  {0xf1b5, 0x33ec88b4},
-  {0xf1b6, 0x33ec88b5},
-  {0xf1b7, 0x33ec88b6},
-  {0xf1b8, 0x33ec88b7},
-  {0xf1b9, 0x33ec88b8},
-  {0xf1ba, 0x33ec88b9},
-  {0xf1bb, 0x33ec8cb0},
-  {0xf1bc, 0x33ec8cb1},
-  {0xf1bd, 0x33ec8cb2},
-  {0xf1be, 0x33ec8cb3},
-  {0xf1bf, 0x33ec8cb4},
-  {0xf1c0, 0x33ec8cb5},
-  {0xf1c1, 0x33ec8cb6},
-  {0xf1c2, 0x33ec8cb7},
-  {0xf1c3, 0x33ec8cb8},
-  {0xf1c4, 0x33ec8cb9},
-  {0xf1c5, 0x33ec90b0},
-  {0xf1c6, 0x33ec90b1},
-  {0xf1c7, 0x33ec90b2},
-  {0xf1c8, 0x33ec90b3},
-  {0xf1c9, 0x33ec90b4},
-  {0xf1ca, 0x33ec90b5},
-  {0xf1cb, 0x33ec90b6},
-  {0xf1cc, 0x33ec90b7},
-  {0xf1cd, 0x33ec90b8},
-  {0xf1ce, 0x33ec90b9},
-  {0xf1cf, 0x33ec94b0},
-  {0xf1d0, 0x33ec94b1},
-  {0xf1d1, 0x33ec94b2},
-  {0xf1d2, 0x33ec94b3},
-  {0xf1d3, 0x33ec94b4},
-  {0xf1d4, 0x33ec94b5},
-  {0xf1d5, 0x33ec94b6},
-  {0xf1d6, 0x33ec94b7},
-  {0xf1d7, 0x33ec94b8},
-  {0xf1d8, 0x33ec94b9},
-  {0xf1d9, 0x33ec98b0},
-  {0xf1da, 0x33ec98b1},
-  {0xf1db, 0x33ec98b2},
-  {0xf1dc, 0x33ec98b3},
-  {0xf1dd, 0x33ec98b4},
-  {0xf1de, 0x33ec98b5},
-  {0xf1df, 0x33ec98b6},
-  {0xf1e0, 0x33ec98b7},
-  {0xf1e1, 0x33ec98b8},
-  {0xf1e2, 0x33ec98b9},
-  {0xf1e3, 0x33ec9cb0},
-  {0xf1e4, 0x33ec9cb1},
-  {0xf1e5, 0x33ec9cb2},
-  {0xf1e6, 0x33ec9cb3},
-  {0xf1e7, 0x33ec9cb4},
-  {0xf1e8, 0x33ec9cb5},
-  {0xf1e9, 0x33ec9cb6},
-  {0xf1ea, 0x33ec9cb7},
-  {0xf1eb, 0x33ec9cb8},
-  {0xf1ec, 0x33ec9cb9},
-  {0xf1ed, 0x33eca0b0},
-  {0xf1ee, 0x33eca0b1},
-  {0xf1ef, 0x33eca0b2},
-  {0xf1f0, 0x33eca0b3},
-  {0xf1f1, 0x33eca0b4},
-  {0xf1f2, 0x33eca0b5},
-  {0xf1f3, 0x33eca0b6},
-  {0xf1f4, 0x33eca0b7},
-  {0xf1f5, 0x33eca0b8},
-  {0xf1f6, 0x33eca0b9},
-  {0xf1f7, 0x33eca4b0},
-  {0xf1f8, 0x33eca4b1},
-  {0xf1f9, 0x33eca4b2},
-  {0xf1fa, 0x33eca4b3},
-  {0xf1fb, 0x33eca4b4},
-  {0xf1fc, 0x33eca4b5},
-  {0xf1fd, 0x33eca4b6},
-  {0xf1fe, 0x33eca4b7},
-  {0xf1ff, 0x33eca4b8},
-  {0xf200, 0x33eca4b9},
-  {0xf201, 0x33eca8b0},
-  {0xf202, 0x33eca8b1},
-  {0xf203, 0x33eca8b2},
-  {0xf204, 0x33eca8b3},
-  {0xf205, 0x33eca8b4},
-  {0xf206, 0x33eca8b5},
-  {0xf207, 0x33eca8b6},
-  {0xf208, 0x33eca8b7},
-  {0xf209, 0x33eca8b8},
-  {0xf20a, 0x33eca8b9},
-  {0xf20b, 0x33ecacb0},
-  {0xf20c, 0x33ecacb1},
-  {0xf20d, 0x33ecacb2},
-  {0xf20e, 0x33ecacb3},
-  {0xf20f, 0x33ecacb4},
-  {0xf210, 0x33ecacb5},
-  {0xf211, 0x33ecacb6},
-  {0xf212, 0x33ecacb7},
-  {0xf213, 0x33ecacb8},
-  {0xf214, 0x33ecacb9},
-  {0xf215, 0x33ecb0b0},
-  {0xf216, 0x33ecb0b1},
-  {0xf217, 0x33ecb0b2},
-  {0xf218, 0x33ecb0b3},
-  {0xf219, 0x33ecb0b4},
-  {0xf21a, 0x33ecb0b5},
-  {0xf21b, 0x33ecb0b6},
-  {0xf21c, 0x33ecb0b7},
-  {0xf21d, 0x33ecb0b8},
-  {0xf21e, 0x33ecb0b9},
-  {0xf21f, 0x33ecb4b0},
-  {0xf220, 0x33ecb4b1},
-  {0xf221, 0x33ecb4b2},
-  {0xf222, 0x33ecb4b3},
-  {0xf223, 0x33ecb4b4},
-  {0xf224, 0x33ecb4b5},
-  {0xf225, 0x33ecb4b6},
-  {0xf226, 0x33ecb4b7},
-  {0xf227, 0x33ecb4b8},
-  {0xf228, 0x33ecb4b9},
-  {0xf229, 0x33ecb8b0},
-  {0xf22a, 0x33ecb8b1},
-  {0xf22b, 0x33ecb8b2},
-  {0xf22c, 0x33ecb8b3},
-  {0xf22d, 0x33ecb8b4},
-  {0xf22e, 0x33ecb8b5},
-  {0xf22f, 0x33ecb8b6},
-  {0xf230, 0x33ecb8b7},
-  {0xf231, 0x33ecb8b8},
-  {0xf232, 0x33ecb8b9},
-  {0xf233, 0x33ecbcb0},
-  {0xf234, 0x33ecbcb1},
-  {0xf235, 0x33ecbcb2},
-  {0xf236, 0x33ecbcb3},
-  {0xf237, 0x33ecbcb4},
-  {0xf238, 0x33ecbcb5},
-  {0xf239, 0x33ecbcb6},
-  {0xf23a, 0x33ecbcb7},
-  {0xf23b, 0x33ecbcb8},
-  {0xf23c, 0x33ecbcb9},
-  {0xf23d, 0x33ed80b0},
-  {0xf23e, 0x33ed80b1},
-  {0xf23f, 0x33ed80b2},
-  {0xf240, 0x33ed80b3},
-  {0xf241, 0x33ed80b4},
-  {0xf242, 0x33ed80b5},
-  {0xf243, 0x33ed80b6},
-  {0xf244, 0x33ed80b7},
-  {0xf245, 0x33ed80b8},
-  {0xf246, 0x33ed80b9},
-  {0xf247, 0x33ed84b0},
-  {0xf248, 0x33ed84b1},
-  {0xf249, 0x33ed84b2},
-  {0xf24a, 0x33ed84b3},
-  {0xf24b, 0x33ed84b4},
-  {0xf24c, 0x33ed84b5},
-  {0xf24d, 0x33ed84b6},
-  {0xf24e, 0x33ed84b7},
-  {0xf24f, 0x33ed84b8},
-  {0xf250, 0x33ed84b9},
-  {0xf251, 0x33ed88b0},
-  {0xf252, 0x33ed88b1},
-  {0xf253, 0x33ed88b2},
-  {0xf254, 0x33ed88b3},
-  {0xf255, 0x33ed88b4},
-  {0xf256, 0x33ed88b5},
-  {0xf257, 0x33ed88b6},
-  {0xf258, 0x33ed88b7},
-  {0xf259, 0x33ed88b8},
-  {0xf25a, 0x33ed88b9},
-  {0xf25b, 0x33ed8cb0},
-  {0xf25c, 0x33ed8cb1},
-  {0xf25d, 0x33ed8cb2},
-  {0xf25e, 0x33ed8cb3},
-  {0xf25f, 0x33ed8cb4},
-  {0xf260, 0x33ed8cb5},
-  {0xf261, 0x33ed8cb6},
-  {0xf262, 0x33ed8cb7},
-  {0xf263, 0x33ed8cb8},
-  {0xf264, 0x33ed8cb9},
-  {0xf265, 0x33ed90b0},
-  {0xf266, 0x33ed90b1},
-  {0xf267, 0x33ed90b2},
-  {0xf268, 0x33ed90b3},
-  {0xf269, 0x33ed90b4},
-  {0xf26a, 0x33ed90b5},
-  {0xf26b, 0x33ed90b6},
-  {0xf26c, 0x33ed90b7},
-  {0xf26d, 0x33ed90b8},
-  {0xf26e, 0x33ed90b9},
-  {0xf26f, 0x33ed94b0},
-  {0xf270, 0x33ed94b1},
-  {0xf271, 0x33ed94b2},
-  {0xf272, 0x33ed94b3},
-  {0xf273, 0x33ed94b4},
-  {0xf274, 0x33ed94b5},
-  {0xf275, 0x33ed94b6},
-  {0xf276, 0x33ed94b7},
-  {0xf277, 0x33ed94b8},
-  {0xf278, 0x33ed94b9},
-  {0xf279, 0x33ed98b0},
-  {0xf27a, 0x33ed98b1},
-  {0xf27b, 0x33ed98b2},
-  {0xf27c, 0x33ed98b3},
-  {0xf27d, 0x33ed98b4},
-  {0xf27e, 0x33ed98b5},
-  {0xf27f, 0x33ed98b6},
-  {0xf280, 0x33ed98b7},
-  {0xf281, 0x33ed98b8},
-  {0xf282, 0x33ed98b9},
-  {0xf283, 0x33ed9cb0},
-  {0xf284, 0x33ed9cb1},
-  {0xf285, 0x33ed9cb2},
-  {0xf286, 0x33ed9cb3},
-  {0xf287, 0x33ed9cb4},
-  {0xf288, 0x33ed9cb5},
-  {0xf289, 0x33ed9cb6},
-  {0xf28a, 0x33ed9cb7},
-  {0xf28b, 0x33ed9cb8},
-  {0xf28c, 0x33ed9cb9},
-  {0xf28d, 0x33eda0b0},
-  {0xf28e, 0x33eda0b1},
-  {0xf28f, 0x33eda0b2},
-  {0xf290, 0x33eda0b3},
-  {0xf291, 0x33eda0b4},
-  {0xf292, 0x33eda0b5},
-  {0xf293, 0x33eda0b6},
-  {0xf294, 0x33eda0b7},
-  {0xf295, 0x33eda0b8},
-  {0xf296, 0x33eda0b9},
-  {0xf297, 0x33eda4b0},
-  {0xf298, 0x33eda4b1},
-  {0xf299, 0x33eda4b2},
-  {0xf29a, 0x33eda4b3},
-  {0xf29b, 0x33eda4b4},
-  {0xf29c, 0x33eda4b5},
-  {0xf29d, 0x33eda4b6},
-  {0xf29e, 0x33eda4b7},
-  {0xf29f, 0x33eda4b8},
-  {0xf2a0, 0x33eda4b9},
-  {0xf2a1, 0x33eda8b0},
-  {0xf2a2, 0x33eda8b1},
-  {0xf2a3, 0x33eda8b2},
-  {0xf2a4, 0x33eda8b3},
-  {0xf2a5, 0x33eda8b4},
-  {0xf2a6, 0x33eda8b5},
-  {0xf2a7, 0x33eda8b6},
-  {0xf2a8, 0x33eda8b7},
-  {0xf2a9, 0x33eda8b8},
-  {0xf2aa, 0x33eda8b9},
-  {0xf2ab, 0x33edacb0},
-  {0xf2ac, 0x33edacb1},
-  {0xf2ad, 0x33edacb2},
-  {0xf2ae, 0x33edacb3},
-  {0xf2af, 0x33edacb4},
-  {0xf2b0, 0x33edacb5},
-  {0xf2b1, 0x33edacb6},
-  {0xf2b2, 0x33edacb7},
-  {0xf2b3, 0x33edacb8},
-  {0xf2b4, 0x33edacb9},
-  {0xf2b5, 0x33edb0b0},
-  {0xf2b6, 0x33edb0b1},
-  {0xf2b7, 0x33edb0b2},
-  {0xf2b8, 0x33edb0b3},
-  {0xf2b9, 0x33edb0b4},
-  {0xf2ba, 0x33edb0b5},
-  {0xf2bb, 0x33edb0b6},
-  {0xf2bc, 0x33edb0b7},
-  {0xf2bd, 0x33edb0b8},
-  {0xf2be, 0x33edb0b9},
-  {0xf2bf, 0x33edb4b0},
-  {0xf2c0, 0x33edb4b1},
-  {0xf2c1, 0x33edb4b2},
-  {0xf2c2, 0x33edb4b3},
-  {0xf2c3, 0x33edb4b4},
-  {0xf2c4, 0x33edb4b5},
-  {0xf2c5, 0x33edb4b6},
-  {0xf2c6, 0x33edb4b7},
-  {0xf2c7, 0x33edb4b8},
-  {0xf2c8, 0x33edb4b9},
-  {0xf2c9, 0x33edb8b0},
-  {0xf2ca, 0x33edb8b1},
-  {0xf2cb, 0x33edb8b2},
-  {0xf2cc, 0x33edb8b3},
-  {0xf2cd, 0x33edb8b4},
-  {0xf2ce, 0x33edb8b5},
-  {0xf2cf, 0x33edb8b6},
-  {0xf2d0, 0x33edb8b7},
-  {0xf2d1, 0x33edb8b8},
-  {0xf2d2, 0x33edb8b9},
-  {0xf2d3, 0x33edbcb0},
-  {0xf2d4, 0x33edbcb1},
-  {0xf2d5, 0x33edbcb2},
-  {0xf2d6, 0x33edbcb3},
-  {0xf2d7, 0x33edbcb4},
-  {0xf2d8, 0x33edbcb5},
-  {0xf2d9, 0x33edbcb6},
-  {0xf2da, 0x33edbcb7},
-  {0xf2db, 0x33edbcb8},
-  {0xf2dc, 0x33edbcb9},
-  {0xf2dd, 0x33ee80b0},
-  {0xf2de, 0x33ee80b1},
-  {0xf2df, 0x33ee80b2},
-  {0xf2e0, 0x33ee80b3},
-  {0xf2e1, 0x33ee80b4},
-  {0xf2e2, 0x33ee80b5},
-  {0xf2e3, 0x33ee80b6},
-  {0xf2e4, 0x33ee80b7},
-  {0xf2e5, 0x33ee80b8},
-  {0xf2e6, 0x33ee80b9},
-  {0xf2e7, 0x33ee84b0},
-  {0xf2e8, 0x33ee84b1},
-  {0xf2e9, 0x33ee84b2},
-  {0xf2ea, 0x33ee84b3},
-  {0xf2eb, 0x33ee84b4},
-  {0xf2ec, 0x33ee84b5},
-  {0xf2ed, 0x33ee84b6},
-  {0xf2ee, 0x33ee84b7},
-  {0xf2ef, 0x33ee84b8},
-  {0xf2f0, 0x33ee84b9},
-  {0xf2f1, 0x33ee88b0},
-  {0xf2f2, 0x33ee88b1},
-  {0xf2f3, 0x33ee88b2},
-  {0xf2f4, 0x33ee88b3},
-  {0xf2f5, 0x33ee88b4},
-  {0xf2f6, 0x33ee88b5},
-  {0xf2f7, 0x33ee88b6},
-  {0xf2f8, 0x33ee88b7},
-  {0xf2f9, 0x33ee88b8},
-  {0xf2fa, 0x33ee88b9},
-  {0xf2fb, 0x33ee8cb0},
-  {0xf2fc, 0x33ee8cb1},
-  {0xf2fd, 0x33ee8cb2},
-  {0xf2fe, 0x33ee8cb3},
-  {0xf2ff, 0x33ee8cb4},
-  {0xf300, 0x33ee8cb5},
-  {0xf301, 0x33ee8cb6},
-  {0xf302, 0x33ee8cb7},
-  {0xf303, 0x33ee8cb8},
-  {0xf304, 0x33ee8cb9},
-  {0xf305, 0x33ee90b0},
-  {0xf306, 0x33ee90b1},
-  {0xf307, 0x33ee90b2},
-  {0xf308, 0x33ee90b3},
-  {0xf309, 0x33ee90b4},
-  {0xf30a, 0x33ee90b5},
-  {0xf30b, 0x33ee90b6},
-  {0xf30c, 0x33ee90b7},
-  {0xf30d, 0x33ee90b8},
-  {0xf30e, 0x33ee90b9},
-  {0xf30f, 0x33ee94b0},
-  {0xf310, 0x33ee94b1},
-  {0xf311, 0x33ee94b2},
-  {0xf312, 0x33ee94b3},
-  {0xf313, 0x33ee94b4},
-  {0xf314, 0x33ee94b5},
-  {0xf315, 0x33ee94b6},
-  {0xf316, 0x33ee94b7},
-  {0xf317, 0x33ee94b8},
-  {0xf318, 0x33ee94b9},
-  {0xf319, 0x33ee98b0},
-  {0xf31a, 0x33ee98b1},
-  {0xf31b, 0x33ee98b2},
-  {0xf31c, 0x33ee98b3},
-  {0xf31d, 0x33ee98b4},
-  {0xf31e, 0x33ee98b5},
-  {0xf31f, 0x33ee98b6},
-  {0xf320, 0x33ee98b7},
-  {0xf321, 0x33ee98b8},
-  {0xf322, 0x33ee98b9},
-  {0xf323, 0x33ee9cb0},
-  {0xf324, 0x33ee9cb1},
-  {0xf325, 0x33ee9cb2},
-  {0xf326, 0x33ee9cb3},
-  {0xf327, 0x33ee9cb4},
-  {0xf328, 0x33ee9cb5},
-  {0xf329, 0x33ee9cb6},
-  {0xf32a, 0x33ee9cb7},
-  {0xf32b, 0x33ee9cb8},
-  {0xf32c, 0x33ee9cb9},
-  {0xf32d, 0x33eea0b0},
-  {0xf32e, 0x33eea0b1},
-  {0xf32f, 0x33eea0b2},
-  {0xf330, 0x33eea0b3},
-  {0xf331, 0x33eea0b4},
-  {0xf332, 0x33eea0b5},
-  {0xf333, 0x33eea0b6},
-  {0xf334, 0x33eea0b7},
-  {0xf335, 0x33eea0b8},
-  {0xf336, 0x33eea0b9},
-  {0xf337, 0x33eea4b0},
-  {0xf338, 0x33eea4b1},
-  {0xf339, 0x33eea4b2},
-  {0xf33a, 0x33eea4b3},
-  {0xf33b, 0x33eea4b4},
-  {0xf33c, 0x33eea4b5},
-  {0xf33d, 0x33eea4b6},
-  {0xf33e, 0x33eea4b7},
-  {0xf33f, 0x33eea4b8},
-  {0xf340, 0x33eea4b9},
-  {0xf341, 0x33eea8b0},
-  {0xf342, 0x33eea8b1},
-  {0xf343, 0x33eea8b2},
-  {0xf344, 0x33eea8b3},
-  {0xf345, 0x33eea8b4},
-  {0xf346, 0x33eea8b5},
-  {0xf347, 0x33eea8b6},
-  {0xf348, 0x33eea8b7},
-  {0xf349, 0x33eea8b8},
-  {0xf34a, 0x33eea8b9},
-  {0xf34b, 0x33eeacb0},
-  {0xf34c, 0x33eeacb1},
-  {0xf34d, 0x33eeacb2},
-  {0xf34e, 0x33eeacb3},
-  {0xf34f, 0x33eeacb4},
-  {0xf350, 0x33eeacb5},
-  {0xf351, 0x33eeacb6},
-  {0xf352, 0x33eeacb7},
-  {0xf353, 0x33eeacb8},
-  {0xf354, 0x33eeacb9},
-  {0xf355, 0x33eeb0b0},
-  {0xf356, 0x33eeb0b1},
-  {0xf357, 0x33eeb0b2},
-  {0xf358, 0x33eeb0b3},
-  {0xf359, 0x33eeb0b4},
-  {0xf35a, 0x33eeb0b5},
-  {0xf35b, 0x33eeb0b6},
-  {0xf35c, 0x33eeb0b7},
-  {0xf35d, 0x33eeb0b8},
-  {0xf35e, 0x33eeb0b9},
-  {0xf35f, 0x33eeb4b0},
-  {0xf360, 0x33eeb4b1},
-  {0xf361, 0x33eeb4b2},
-  {0xf362, 0x33eeb4b3},
-  {0xf363, 0x33eeb4b4},
-  {0xf364, 0x33eeb4b5},
-  {0xf365, 0x33eeb4b6},
-  {0xf366, 0x33eeb4b7},
-  {0xf367, 0x33eeb4b8},
-  {0xf368, 0x33eeb4b9},
-  {0xf369, 0x33eeb8b0},
-  {0xf36a, 0x33eeb8b1},
-  {0xf36b, 0x33eeb8b2},
-  {0xf36c, 0x33eeb8b3},
-  {0xf36d, 0x33eeb8b4},
-  {0xf36e, 0x33eeb8b5},
-  {0xf36f, 0x33eeb8b6},
-  {0xf370, 0x33eeb8b7},
-  {0xf371, 0x33eeb8b8},
-  {0xf372, 0x33eeb8b9},
-  {0xf373, 0x33eebcb0},
-  {0xf374, 0x33eebcb1},
-  {0xf375, 0x33eebcb2},
-  {0xf376, 0x33eebcb3},
-  {0xf377, 0x33eebcb4},
-  {0xf378, 0x33eebcb5},
-  {0xf379, 0x33eebcb6},
-  {0xf37a, 0x33eebcb7},
-  {0xf37b, 0x33eebcb8},
-  {0xf37c, 0x33eebcb9},
-  {0xf37d, 0x33ef80b0},
-  {0xf37e, 0x33ef80b1},
-  {0xf37f, 0x33ef80b2},
-  {0xf380, 0x33ef80b3},
-  {0xf381, 0x33ef80b4},
-  {0xf382, 0x33ef80b5},
-  {0xf383, 0x33ef80b6},
-  {0xf384, 0x33ef80b7},
-  {0xf385, 0x33ef80b8},
-  {0xf386, 0x33ef80b9},
-  {0xf387, 0x33ef84b0},
-  {0xf388, 0x33ef84b1},
-  {0xf389, 0x33ef84b2},
-  {0xf38a, 0x33ef84b3},
-  {0xf38b, 0x33ef84b4},
-  {0xf38c, 0x33ef84b5},
-  {0xf38d, 0x33ef84b6},
-  {0xf38e, 0x33ef84b7},
-  {0xf38f, 0x33ef84b8},
-  {0xf390, 0x33ef84b9},
-  {0xf391, 0x33ef88b0},
-  {0xf392, 0x33ef88b1},
-  {0xf393, 0x33ef88b2},
-  {0xf394, 0x33ef88b3},
-  {0xf395, 0x33ef88b4},
-  {0xf396, 0x33ef88b5},
-  {0xf397, 0x33ef88b6},
-  {0xf398, 0x33ef88b7},
-  {0xf399, 0x33ef88b8},
-  {0xf39a, 0x33ef88b9},
-  {0xf39b, 0x33ef8cb0},
-  {0xf39c, 0x33ef8cb1},
-  {0xf39d, 0x33ef8cb2},
-  {0xf39e, 0x33ef8cb3},
-  {0xf39f, 0x33ef8cb4},
-  {0xf3a0, 0x33ef8cb5},
-  {0xf3a1, 0x33ef8cb6},
-  {0xf3a2, 0x33ef8cb7},
-  {0xf3a3, 0x33ef8cb8},
-  {0xf3a4, 0x33ef8cb9},
-  {0xf3a5, 0x33ef90b0},
-  {0xf3a6, 0x33ef90b1},
-  {0xf3a7, 0x33ef90b2},
-  {0xf3a8, 0x33ef90b3},
-  {0xf3a9, 0x33ef90b4},
-  {0xf3aa, 0x33ef90b5},
-  {0xf3ab, 0x33ef90b6},
-  {0xf3ac, 0x33ef90b7},
-  {0xf3ad, 0x33ef90b8},
-  {0xf3ae, 0x33ef90b9},
-  {0xf3af, 0x33ef94b0},
-  {0xf3b0, 0x33ef94b1},
-  {0xf3b1, 0x33ef94b2},
-  {0xf3b2, 0x33ef94b3},
-  {0xf3b3, 0x33ef94b4},
-  {0xf3b4, 0x33ef94b5},
-  {0xf3b5, 0x33ef94b6},
-  {0xf3b6, 0x33ef94b7},
-  {0xf3b7, 0x33ef94b8},
-  {0xf3b8, 0x33ef94b9},
-  {0xf3b9, 0x33ef98b0},
-  {0xf3ba, 0x33ef98b1},
-  {0xf3bb, 0x33ef98b2},
-  {0xf3bc, 0x33ef98b3},
-  {0xf3bd, 0x33ef98b4},
-  {0xf3be, 0x33ef98b5},
-  {0xf3bf, 0x33ef98b6},
-  {0xf3c0, 0x33ef98b7},
-  {0xf3c1, 0x33ef98b8},
-  {0xf3c2, 0x33ef98b9},
-  {0xf3c3, 0x33ef9cb0},
-  {0xf3c4, 0x33ef9cb1},
-  {0xf3c5, 0x33ef9cb2},
-  {0xf3c6, 0x33ef9cb3},
-  {0xf3c7, 0x33ef9cb4},
-  {0xf3c8, 0x33ef9cb5},
-  {0xf3c9, 0x33ef9cb6},
-  {0xf3ca, 0x33ef9cb7},
-  {0xf3cb, 0x33ef9cb8},
-  {0xf3cc, 0x33ef9cb9},
-  {0xf3cd, 0x33efa0b0},
-  {0xf3ce, 0x33efa0b1},
-  {0xf3cf, 0x33efa0b2},
-  {0xf3d0, 0x33efa0b3},
-  {0xf3d1, 0x33efa0b4},
-  {0xf3d2, 0x33efa0b5},
-  {0xf3d3, 0x33efa0b6},
-  {0xf3d4, 0x33efa0b7},
-  {0xf3d5, 0x33efa0b8},
-  {0xf3d6, 0x33efa0b9},
-  {0xf3d7, 0x33efa4b0},
-  {0xf3d8, 0x33efa4b1},
-  {0xf3d9, 0x33efa4b2},
-  {0xf3da, 0x33efa4b3},
-  {0xf3db, 0x33efa4b4},
-  {0xf3dc, 0x33efa4b5},
-  {0xf3dd, 0x33efa4b6},
-  {0xf3de, 0x33efa4b7},
-  {0xf3df, 0x33efa4b8},
-  {0xf3e0, 0x33efa4b9},
-  {0xf3e1, 0x33efa8b0},
-  {0xf3e2, 0x33efa8b1},
-  {0xf3e3, 0x33efa8b2},
-  {0xf3e4, 0x33efa8b3},
-  {0xf3e5, 0x33efa8b4},
-  {0xf3e6, 0x33efa8b5},
-  {0xf3e7, 0x33efa8b6},
-  {0xf3e8, 0x33efa8b7},
-  {0xf3e9, 0x33efa8b8},
-  {0xf3ea, 0x33efa8b9},
-  {0xf3eb, 0x33efacb0},
-  {0xf3ec, 0x33efacb1},
-  {0xf3ed, 0x33efacb2},
-  {0xf3ee, 0x33efacb3},
-  {0xf3ef, 0x33efacb4},
-  {0xf3f0, 0x33efacb5},
-  {0xf3f1, 0x33efacb6},
-  {0xf3f2, 0x33efacb7},
-  {0xf3f3, 0x33efacb8},
-  {0xf3f4, 0x33efacb9},
-  {0xf3f5, 0x33efb0b0},
-  {0xf3f6, 0x33efb0b1},
-  {0xf3f7, 0x33efb0b2},
-  {0xf3f8, 0x33efb0b3},
-  {0xf3f9, 0x33efb0b4},
-  {0xf3fa, 0x33efb0b5},
-  {0xf3fb, 0x33efb0b6},
-  {0xf3fc, 0x33efb0b7},
-  {0xf3fd, 0x33efb0b8},
-  {0xf3fe, 0x33efb0b9},
-  {0xf3ff, 0x33efb4b0},
-  {0xf400, 0x33efb4b1},
-  {0xf401, 0x33efb4b2},
-  {0xf402, 0x33efb4b3},
-  {0xf403, 0x33efb4b4},
-  {0xf404, 0x33efb4b5},
-  {0xf405, 0x33efb4b6},
-  {0xf406, 0x33efb4b7},
-  {0xf407, 0x33efb4b8},
-  {0xf408, 0x33efb4b9},
-  {0xf409, 0x33efb8b0},
-  {0xf40a, 0x33efb8b1},
-  {0xf40b, 0x33efb8b2},
-  {0xf40c, 0x33efb8b3},
-  {0xf40d, 0x33efb8b4},
-  {0xf40e, 0x33efb8b5},
-  {0xf40f, 0x33efb8b6},
-  {0xf410, 0x33efb8b7},
-  {0xf411, 0x33efb8b8},
-  {0xf412, 0x33efb8b9},
-  {0xf413, 0x33f884b0},
-  {0xf414, 0x33f884b1},
-  {0xf415, 0x33f884b2},
-  {0xf416, 0x33f884b3},
-  {0xf417, 0x33f884b4},
-  {0xf418, 0x33f884b5},
-  {0xf419, 0x33f884b6},
-  {0xf41a, 0x33f884b7},
-  {0xf41b, 0x33f884b8},
-  {0xf41c, 0x33f884b9},
-  {0xf41d, 0x33f888b0},
-  {0xf41e, 0x33f888b1},
-  {0xf41f, 0x33f888b2},
-  {0xf420, 0x33f888b3},
-  {0xf421, 0x33f888b4},
-  {0xf422, 0x33f888b5},
-  {0xf423, 0x33f888b6},
-  {0xf424, 0x33f888b7},
-  {0xf425, 0x33f888b8},
-  {0xf426, 0x33f888b9},
-  {0xf427, 0x33f88cb0},
-  {0xf428, 0x33f88cb1},
-  {0xf429, 0x33f88cb2},
-  {0xf42a, 0x33f88cb3},
-  {0xf42b, 0x33f88cb4},
-  {0xf42c, 0x33f88cb5},
-  {0xf42d, 0x33f88cb6},
-  {0xf42e, 0x33f88cb7},
-  {0xf42f, 0x33f88cb8},
-  {0xf430, 0x33f88cb9},
-  {0xf431, 0x33f890b0},
-  {0xf432, 0x33f890b1},
-  {0xf433, 0x33f890b2},
-  {0xf434, 0x33f890b3},
-  {0xf435, 0x33f890b4},
-  {0xf436, 0x33f890b5},
-  {0xf437, 0x33f890b6},
-  {0xf438, 0x33f890b7},
-  {0xf439, 0x33f890b8},
-  {0xf43a, 0x33f890b9},
-  {0xf43b, 0x33f894b0},
-  {0xf43c, 0x33f894b1},
-  {0xf43d, 0x33f894b2},
-  {0xf43e, 0x33f894b3},
-  {0xf43f, 0x33f894b4},
-  {0xf440, 0x33f894b5},
-  {0xf441, 0x33f894b6},
-  {0xf442, 0x33f894b7},
-  {0xf443, 0x33f894b8},
-  {0xf444, 0x33f894b9},
-  {0xf445, 0x33f898b0},
-  {0xf446, 0x33f898b1},
-  {0xf447, 0x33f898b2},
-  {0xf448, 0x33f898b3},
-  {0xf449, 0x33f898b4},
-  {0xf44a, 0x33f898b5},
-  {0xf44b, 0x33f898b6},
-  {0xf44c, 0x33f898b7},
-  {0xf44d, 0x33f898b8},
-  {0xf44e, 0x33f898b9},
-  {0xf44f, 0x33f89cb0},
-  {0xf450, 0x33f89cb1},
-  {0xf451, 0x33f89cb2},
-  {0xf452, 0x33f89cb3},
-  {0xf453, 0x33f89cb4},
-  {0xf454, 0x33f89cb5},
-  {0xf455, 0x33f89cb6},
-  {0xf456, 0x33f89cb7},
-  {0xf457, 0x33f89cb8},
-  {0xf458, 0x33f89cb9},
-  {0xf459, 0x33f8a0b0},
-  {0xf45a, 0x33f8a0b1},
-  {0xf45b, 0x33f8a0b2},
-  {0xf45c, 0x33f8a0b3},
-  {0xf45d, 0x33f8a0b4},
-  {0xf45e, 0x33f8a0b5},
-  {0xf45f, 0x33f8a0b6},
-  {0xf460, 0x33f8a0b7},
-  {0xf461, 0x33f8a0b8},
-  {0xf462, 0x33f8a0b9},
-  {0xf463, 0x33f8a4b0},
-  {0xf464, 0x33f8a4b1},
-  {0xf465, 0x33f8a4b2},
-  {0xf466, 0x33f8a4b3},
-  {0xf467, 0x33f8a4b4},
-  {0xf468, 0x33f8a4b5},
-  {0xf469, 0x33f8a4b6},
-  {0xf46a, 0x33f8a4b7},
-  {0xf46b, 0x33f8a4b8},
-  {0xf46c, 0x33f8a4b9},
-  {0xf46d, 0x33f8a8b0},
-  {0xf46e, 0x33f8a8b1},
-  {0xf46f, 0x33f8a8b2},
-  {0xf470, 0x33f8a8b3},
-  {0xf471, 0x33f8a8b4},
-  {0xf472, 0x33f8a8b5},
-  {0xf473, 0x33f8a8b6},
-  {0xf474, 0x33f8a8b7},
-  {0xf475, 0x33f8a8b8},
-  {0xf476, 0x33f8a8b9},
-  {0xf477, 0x33f8acb0},
-  {0xf478, 0x33f8acb1},
-  {0xf479, 0x33f8acb2},
-  {0xf47a, 0x33f8acb3},
-  {0xf47b, 0x33f8acb4},
-  {0xf47c, 0x33f8acb5},
-  {0xf47d, 0x33f8acb6},
-  {0xf47e, 0x33f8acb7},
-  {0xf47f, 0x33f8acb8},
-  {0xf480, 0x33f8acb9},
-  {0xf481, 0x33f8b0b0},
-  {0xf482, 0x33f8b0b1},
-  {0xf483, 0x33f8b0b2},
-  {0xf484, 0x33f8b0b3},
-  {0xf485, 0x33f8b0b4},
-  {0xf486, 0x33f8b0b5},
-  {0xf487, 0x33f8b0b6},
-  {0xf488, 0x33f8b0b7},
-  {0xf489, 0x33f8b0b8},
-  {0xf48a, 0x33f8b0b9},
-  {0xf48b, 0x33f8b4b0},
-  {0xf48c, 0x33f8b4b1},
-  {0xf48d, 0x33f8b4b2},
-  {0xf48e, 0x33f8b4b3},
-  {0xf48f, 0x33f8b4b4},
-  {0xf490, 0x33f8b4b5},
-  {0xf491, 0x33f8b4b6},
-  {0xf492, 0x33f8b4b7},
-  {0xf493, 0x33f8b4b8},
-  {0xf494, 0x33f8b4b9},
-  {0xf495, 0x33f8b8b0},
-  {0xf496, 0x33f8b8b1},
-  {0xf497, 0x33f8b8b2},
-  {0xf498, 0x33f8b8b3},
-  {0xf499, 0x33f8b8b4},
-  {0xf49a, 0x33f8b8b5},
-  {0xf49b, 0x33f8b8b6},
-  {0xf49c, 0x33f8b8b7},
-  {0xf49d, 0x33f8b8b8},
-  {0xf49e, 0x33f8b8b9},
-  {0xf49f, 0x33f8bcb0},
-  {0xf4a0, 0x33f8bcb1},
-  {0xf4a1, 0x33f8bcb2},
-  {0xf4a2, 0x33f8bcb3},
-  {0xf4a3, 0x33f8bcb4},
-  {0xf4a4, 0x33f8bcb5},
-  {0xf4a5, 0x33f8bcb6},
-  {0xf4a6, 0x33f8bcb7},
-  {0xf4a7, 0x33f8bcb8},
-  {0xf4a8, 0x33f8bcb9},
-  {0xf4a9, 0x33f980b0},
-  {0xf4aa, 0x33f980b1},
-  {0xf4ab, 0x33f980b2},
-  {0xf4ac, 0x33f980b3},
-  {0xf4ad, 0x33f980b4},
-  {0xf4ae, 0x33f980b5},
-  {0xf4af, 0x33f980b6},
-  {0xf4b0, 0x33f980b7},
-  {0xf4b1, 0x33f980b8},
-  {0xf4b2, 0x33f980b9},
-  {0xf4b3, 0x33f984b0},
-  {0xf4b4, 0x33f984b1},
-  {0xf4b5, 0x33f984b2},
-  {0xf4b6, 0x33f984b3},
-  {0xf4b7, 0x33f984b4},
-  {0xf4b8, 0x33f984b5},
-  {0xf4b9, 0x33f984b6},
-  {0xf4ba, 0x33f984b7},
-  {0xf4bb, 0x33f984b8},
-  {0xf4bc, 0x33f984b9},
-  {0xf4bd, 0x33f988b0},
-  {0xf4be, 0x33f988b1},
-  {0xf4bf, 0x33f988b2},
-  {0xf4c0, 0x33f988b3},
-  {0xf4c1, 0x33f988b4},
-  {0xf4c2, 0x33f988b5},
-  {0xf4c3, 0x33f988b6},
-  {0xf4c4, 0x33f988b7},
-  {0xf4c5, 0x33f988b8},
-  {0xf4c6, 0x33f988b9},
-  {0xf4c7, 0x33f98cb0},
-  {0xf4c8, 0x33f98cb1},
-  {0xf4c9, 0x33f98cb2},
-  {0xf4ca, 0x33f98cb3},
-  {0xf4cb, 0x33f98cb4},
-  {0xf4cc, 0x33f98cb5},
-  {0xf4cd, 0x33f98cb6},
-  {0xf4ce, 0x33f98cb7},
-  {0xf4cf, 0x33f98cb8},
-  {0xf4d0, 0x33f98cb9},
-  {0xf4d1, 0x33f990b0},
-  {0xf4d2, 0x33f990b1},
-  {0xf4d3, 0x33f990b2},
-  {0xf4d4, 0x33f990b3},
-  {0xf4d5, 0x33f990b4},
-  {0xf4d6, 0x33f990b5},
-  {0xf4d7, 0x33f990b6},
-  {0xf4d8, 0x33f990b7},
-  {0xf4d9, 0x33f990b8},
-  {0xf4da, 0x33f990b9},
-  {0xf4db, 0x33f994b0},
-  {0xf4dc, 0x33f994b1},
-  {0xf4dd, 0x33f994b2},
-  {0xf4de, 0x33f994b3},
-  {0xf4df, 0x33f994b4},
-  {0xf4e0, 0x33f994b5},
-  {0xf4e1, 0x33f994b6},
-  {0xf4e2, 0x33f994b7},
-  {0xf4e3, 0x33f994b8},
-  {0xf4e4, 0x33f994b9},
-  {0xf4e5, 0x33f998b0},
-  {0xf4e6, 0x33f998b1},
-  {0xf4e7, 0x33f998b2},
-  {0xf4e8, 0x33f998b3},
-  {0xf4e9, 0x33f998b4},
-  {0xf4ea, 0x33f998b5},
-  {0xf4eb, 0x33f998b6},
-  {0xf4ec, 0x33f998b7},
-  {0xf4ed, 0x33f998b8},
-  {0xf4ee, 0x33f998b9},
-  {0xf4ef, 0x33f99cb0},
-  {0xf4f0, 0x33f99cb1},
-  {0xf4f1, 0x33f99cb2},
-  {0xf4f2, 0x33f99cb3},
-  {0xf4f3, 0x33f99cb4},
-  {0xf4f4, 0x33f99cb5},
-  {0xf4f5, 0x33f99cb6},
-  {0xf4f6, 0x33f99cb7},
-  {0xf4f7, 0x33f99cb8},
-  {0xf4f8, 0x33f99cb9},
-  {0xf4f9, 0x33f9a0b0},
-  {0xf4fa, 0x33f9a0b1},
-  {0xf4fb, 0x33f9a0b2},
-  {0xf4fc, 0x33f9a0b3},
-  {0xf4fd, 0x33f9a0b4},
-  {0xf4fe, 0x33f9a0b5},
-  {0xf4ff, 0x33f9a0b6},
-  {0xf500, 0x33f9a0b7},
-  {0xf501, 0x33f9a0b8},
-  {0xf502, 0x33f9a0b9},
-  {0xf503, 0x33f9a4b0},
-  {0xf504, 0x33f9a4b1},
-  {0xf505, 0x33f9a4b2},
-  {0xf506, 0x33f9a4b3},
-  {0xf507, 0x33f9a4b4},
-  {0xf508, 0x33f9a4b5},
-  {0xf509, 0x33f9a4b6},
-  {0xf50a, 0x33f9a4b7},
-  {0xf50b, 0x33f9a4b8},
-  {0xf50c, 0x33f9a4b9},
-  {0xf50d, 0x33f9a8b0},
-  {0xf50e, 0x33f9a8b1},
-  {0xf50f, 0x33f9a8b2},
-  {0xf510, 0x33f9a8b3},
-  {0xf511, 0x33f9a8b4},
-  {0xf512, 0x33f9a8b5},
-  {0xf513, 0x33f9a8b6},
-  {0xf514, 0x33f9a8b7},
-  {0xf515, 0x33f9a8b8},
-  {0xf516, 0x33f9a8b9},
-  {0xf517, 0x33f9acb0},
-  {0xf518, 0x33f9acb1},
-  {0xf519, 0x33f9acb2},
-  {0xf51a, 0x33f9acb3},
-  {0xf51b, 0x33f9acb4},
-  {0xf51c, 0x33f9acb5},
-  {0xf51d, 0x33f9acb6},
-  {0xf51e, 0x33f9acb7},
-  {0xf51f, 0x33f9acb8},
-  {0xf520, 0x33f9acb9},
-  {0xf521, 0x33f9b0b0},
-  {0xf522, 0x33f9b0b1},
-  {0xf523, 0x33f9b0b2},
-  {0xf524, 0x33f9b0b3},
-  {0xf525, 0x33f9b0b4},
-  {0xf526, 0x33f9b0b5},
-  {0xf527, 0x33f9b0b6},
-  {0xf528, 0x33f9b0b7},
-  {0xf529, 0x33f9b0b8},
-  {0xf52a, 0x33f9b0b9},
-  {0xf52b, 0x33f9b4b0},
-  {0xf52c, 0x33f9b4b1},
-  {0xf52d, 0x33f9b4b2},
-  {0xf52e, 0x33f9b4b3},
-  {0xf52f, 0x33f9b4b4},
-  {0xf530, 0x33f9b4b5},
-  {0xf531, 0x33f9b4b6},
-  {0xf532, 0x33f9b4b7},
-  {0xf533, 0x33f9b4b8},
-  {0xf534, 0x33f9b4b9},
-  {0xf535, 0x33f9b8b0},
-  {0xf536, 0x33f9b8b1},
-  {0xf537, 0x33f9b8b2},
-  {0xf538, 0x33f9b8b3},
-  {0xf539, 0x33f9b8b4},
-  {0xf53a, 0x33f9b8b5},
-  {0xf53b, 0x33f9b8b6},
-  {0xf53c, 0x33f9b8b7},
-  {0xf53d, 0x33f9b8b8},
-  {0xf53e, 0x33f9b8b9},
-  {0xf53f, 0x33f9bcb0},
-  {0xf540, 0x33f9bcb1},
-  {0xf541, 0x33f9bcb2},
-  {0xf542, 0x33f9bcb3},
-  {0xf543, 0x33f9bcb4},
-  {0xf544, 0x33f9bcb5},
-  {0xf545, 0x33f9bcb6},
-  {0xf546, 0x33f9bcb7},
-  {0xf547, 0x33f9bcb8},
-  {0xf548, 0x33f9bcb9},
-  {0xf549, 0x33fa80b0},
-  {0xf54a, 0x33fa80b1},
-  {0xf54b, 0x33fa80b2},
-  {0xf54c, 0x33fa80b3},
-  {0xf54d, 0x33fa80b4},
-  {0xf54e, 0x33fa80b5},
-  {0xf54f, 0x33fa80b6},
-  {0xf550, 0x33fa80b7},
-  {0xf551, 0x33fa80b8},
-  {0xf552, 0x33fa80b9},
-  {0xf553, 0x33fa84b0},
-  {0xf554, 0x33fa84b1},
-  {0xf555, 0x33fa84b2},
-  {0xf556, 0x33fa84b3},
-  {0xf557, 0x33fa84b4},
-  {0xf558, 0x33fa84b5},
-  {0xf559, 0x33fa84b6},
-  {0xf55a, 0x33fa84b7},
-  {0xf55b, 0x33fa84b8},
-  {0xf55c, 0x33fa84b9},
-  {0xf55d, 0x33fa88b0},
-  {0xf55e, 0x33fa88b1},
-  {0xf55f, 0x33fa88b2},
-  {0xf560, 0x33fa88b3},
-  {0xf561, 0x33fa88b4},
-  {0xf562, 0x33fa88b5},
-  {0xf563, 0x33fa88b6},
-  {0xf564, 0x33fa88b7},
-  {0xf565, 0x33fa88b8},
-  {0xf566, 0x33fa88b9},
-  {0xf567, 0x33fa8cb0},
-  {0xf568, 0x33fa8cb1},
-  {0xf569, 0x33fa8cb2},
-  {0xf56a, 0x33fa8cb3},
-  {0xf56b, 0x33fa8cb4},
-  {0xf56c, 0x33fa8cb5},
-  {0xf56d, 0x33fa8cb6},
-  {0xf56e, 0x33fa8cb7},
-  {0xf56f, 0x33fa8cb8},
-  {0xf570, 0x33fa8cb9},
-  {0xf571, 0x33fa90b0},
-  {0xf572, 0x33fa90b1},
-  {0xf573, 0x33fa90b2},
-  {0xf574, 0x33fa90b3},
-  {0xf575, 0x33fa90b4},
-  {0xf576, 0x33fa90b5},
-  {0xf577, 0x33fa90b6},
-  {0xf578, 0x33fa90b7},
-  {0xf579, 0x33fa90b8},
-  {0xf57a, 0x33fa90b9},
-  {0xf57b, 0x33fa94b0},
-  {0xf57c, 0x33fa94b1},
-  {0xf57d, 0x33fa94b2},
-  {0xf57e, 0x33fa94b3},
-  {0xf57f, 0x33fa94b4},
-  {0xf580, 0x33fa94b5},
-  {0xf581, 0x33fa94b6},
-  {0xf582, 0x33fa94b7},
-  {0xf583, 0x33fa94b8},
-  {0xf584, 0x33fa94b9},
-  {0xf585, 0x33fa98b0},
-  {0xf586, 0x33fa98b1},
-  {0xf587, 0x33fa98b2},
-  {0xf588, 0x33fa98b3},
-  {0xf589, 0x33fa98b4},
-  {0xf58a, 0x33fa98b5},
-  {0xf58b, 0x33fa98b6},
-  {0xf58c, 0x33fa98b7},
-  {0xf58d, 0x33fa98b8},
-  {0xf58e, 0x33fa98b9},
-  {0xf58f, 0x33fa9cb0},
-  {0xf590, 0x33fa9cb1},
-  {0xf591, 0x33fa9cb2},
-  {0xf592, 0x33fa9cb3},
-  {0xf593, 0x33fa9cb4},
-  {0xf594, 0x33fa9cb5},
-  {0xf595, 0x33fa9cb6},
-  {0xf596, 0x33fa9cb7},
-  {0xf597, 0x33fa9cb8},
-  {0xf598, 0x33fa9cb9},
-  {0xf599, 0x33faa0b0},
-  {0xf59a, 0x33faa0b1},
-  {0xf59b, 0x33faa0b2},
-  {0xf59c, 0x33faa0b3},
-  {0xf59d, 0x33faa0b4},
-  {0xf59e, 0x33faa0b5},
-  {0xf59f, 0x33faa0b6},
-  {0xf5a0, 0x33faa0b7},
-  {0xf5a1, 0x33faa0b8},
-  {0xf5a2, 0x33faa0b9},
-  {0xf5a3, 0x33faa4b0},
-  {0xf5a4, 0x33faa4b1},
-  {0xf5a5, 0x33faa4b2},
-  {0xf5a6, 0x33faa4b3},
-  {0xf5a7, 0x33faa4b4},
-  {0xf5a8, 0x33faa4b5},
-  {0xf5a9, 0x33faa4b6},
-  {0xf5aa, 0x33faa4b7},
-  {0xf5ab, 0x33faa4b8},
-  {0xf5ac, 0x33faa4b9},
-  {0xf5ad, 0x33faa8b0},
-  {0xf5ae, 0x33faa8b1},
-  {0xf5af, 0x33faa8b2},
-  {0xf5b0, 0x33faa8b3},
-  {0xf5b1, 0x33faa8b4},
-  {0xf5b2, 0x33faa8b5},
-  {0xf5b3, 0x33faa8b6},
-  {0xf5b4, 0x33faa8b7},
-  {0xf5b5, 0x33faa8b8},
-  {0xf5b6, 0x33faa8b9},
-  {0xf5b7, 0x33faacb0},
-  {0xf5b8, 0x33faacb1},
-  {0xf5b9, 0x33faacb2},
-  {0xf5ba, 0x33faacb3},
-  {0xf5bb, 0x33faacb4},
-  {0xf5bc, 0x33faacb5},
-  {0xf5bd, 0x33faacb6},
-  {0xf5be, 0x33faacb7},
-  {0xf5bf, 0x33faacb8},
-  {0xf5c0, 0x33faacb9},
-  {0xf5c1, 0x33fab0b0},
-  {0xf5c2, 0x33fab0b1},
-  {0xf5c3, 0x33fab0b2},
-  {0xf5c4, 0x33fab0b3},
-  {0xf5c5, 0x33fab0b4},
-  {0xf5c6, 0x33fab0b5},
-  {0xf5c7, 0x33fab0b6},
-  {0xf5c8, 0x33fab0b7},
-  {0xf5c9, 0x33fab0b8},
-  {0xf5ca, 0x33fab0b9},
-  {0xf5cb, 0x33fab4b0},
-  {0xf5cc, 0x33fab4b1},
-  {0xf5cd, 0x33fab4b2},
-  {0xf5ce, 0x33fab4b3},
-  {0xf5cf, 0x33fab4b4},
-  {0xf5d0, 0x33fab4b5},
-  {0xf5d1, 0x33fab4b6},
-  {0xf5d2, 0x33fab4b7},
-  {0xf5d3, 0x33fab4b8},
-  {0xf5d4, 0x33fab4b9},
-  {0xf5d5, 0x33fab8b0},
-  {0xf5d6, 0x33fab8b1},
-  {0xf5d7, 0x33fab8b2},
-  {0xf5d8, 0x33fab8b3},
-  {0xf5d9, 0x33fab8b4},
-  {0xf5da, 0x33fab8b5},
-  {0xf5db, 0x33fab8b6},
-  {0xf5dc, 0x33fab8b7},
-  {0xf5dd, 0x33fab8b8},
-  {0xf5de, 0x33fab8b9},
-  {0xf5df, 0x33fabcb0},
-  {0xf5e0, 0x33fabcb1},
-  {0xf5e1, 0x33fabcb2},
-  {0xf5e2, 0x33fabcb3},
-  {0xf5e3, 0x33fabcb4},
-  {0xf5e4, 0x33fabcb5},
-  {0xf5e5, 0x33fabcb6},
-  {0xf5e6, 0x33fabcb7},
-  {0xf5e7, 0x33fabcb8},
-  {0xf5e8, 0x33fabcb9},
-  {0xf5e9, 0x33fb80b0},
-  {0xf5ea, 0x33fb80b1},
-  {0xf5eb, 0x33fb80b2},
-  {0xf5ec, 0x33fb80b3},
-  {0xf5ed, 0x33fb80b4},
-  {0xf5ee, 0x33fb80b5},
-  {0xf5ef, 0x33fb80b6},
-  {0xf5f0, 0x33fb80b7},
-  {0xf5f1, 0x33fb80b8},
-  {0xf5f2, 0x33fb80b9},
-  {0xf5f3, 0x33fb84b0},
-  {0xf5f4, 0x33fb84b1},
-  {0xf5f5, 0x33fb84b2},
-  {0xf5f6, 0x33fb84b3},
-  {0xf5f7, 0x33fb84b4},
-  {0xf5f8, 0x33fb84b5},
-  {0xf5f9, 0x33fb84b6},
-  {0xf5fa, 0x33fb84b7},
-  {0xf5fb, 0x33fb84b8},
-  {0xf5fc, 0x33fb84b9},
-  {0xf5fd, 0x33fb88b0},
-  {0xf5fe, 0x33fb88b1},
-  {0xf5ff, 0x33fb88b2},
-  {0xf600, 0x33fb88b3},
-  {0xf601, 0x33fb88b4},
-  {0xf602, 0x33fb88b5},
-  {0xf603, 0x33fb88b6},
-  {0xf604, 0x33fb88b7},
-  {0xf605, 0x33fb88b8},
-  {0xf606, 0x33fb88b9},
-  {0xf607, 0x33fb8cb0},
-  {0xf608, 0x33fb8cb1},
-  {0xf609, 0x33fb8cb2},
-  {0xf60a, 0x33fb8cb3},
-  {0xf60b, 0x33fb8cb4},
-  {0xf60c, 0x33fb8cb5},
-  {0xf60d, 0x33fb8cb6},
-  {0xf60e, 0x33fb8cb7},
-  {0xf60f, 0x33fb8cb8},
-  {0xf610, 0x33fb8cb9},
-  {0xf611, 0x33fb90b0},
-  {0xf612, 0x33fb90b1},
-  {0xf613, 0x33fb90b2},
-  {0xf614, 0x33fb90b3},
-  {0xf615, 0x33fb90b4},
-  {0xf616, 0x33fb90b5},
-  {0xf617, 0x33fb90b6},
-  {0xf618, 0x33fb90b7},
-  {0xf619, 0x33fb90b8},
-  {0xf61a, 0x33fb90b9},
-  {0xf61b, 0x33fb94b0},
-  {0xf61c, 0x33fb94b1},
-  {0xf61d, 0x33fb94b2},
-  {0xf61e, 0x33fb94b3},
-  {0xf61f, 0x33fb94b4},
-  {0xf620, 0x33fb94b5},
-  {0xf621, 0x33fb94b6},
-  {0xf622, 0x33fb94b7},
-  {0xf623, 0x33fb94b8},
-  {0xf624, 0x33fb94b9},
-  {0xf625, 0x33fb98b0},
-  {0xf626, 0x33fb98b1},
-  {0xf627, 0x33fb98b2},
-  {0xf628, 0x33fb98b3},
-  {0xf629, 0x33fb98b4},
-  {0xf62a, 0x33fb98b5},
-  {0xf62b, 0x33fb98b6},
-  {0xf62c, 0x33fb98b7},
-  {0xf62d, 0x33fb98b8},
-  {0xf62e, 0x33fb98b9},
-  {0xf62f, 0x33fb9cb0},
-  {0xf630, 0x33fb9cb1},
-  {0xf631, 0x33fb9cb2},
-  {0xf632, 0x33fb9cb3},
-  {0xf633, 0x33fb9cb4},
-  {0xf634, 0x33fb9cb5},
-  {0xf635, 0x33fb9cb6},
-  {0xf636, 0x33fb9cb7},
-  {0xf637, 0x33fb9cb8},
-  {0xf638, 0x33fb9cb9},
-  {0xf639, 0x33fba0b0},
-  {0xf63a, 0x33fba0b1},
-  {0xf63b, 0x33fba0b2},
-  {0xf63c, 0x33fba0b3},
-  {0xf63d, 0x33fba0b4},
-  {0xf63e, 0x33fba0b5},
-  {0xf63f, 0x33fba0b6},
-  {0xf640, 0x33fba0b7},
-  {0xf641, 0x33fba0b8},
-  {0xf642, 0x33fba0b9},
-  {0xf643, 0x33fba4b0},
-  {0xf644, 0x33fba4b1},
-  {0xf645, 0x33fba4b2},
-  {0xf646, 0x33fba4b3},
-  {0xf647, 0x33fba4b4},
-  {0xf648, 0x33fba4b5},
-  {0xf649, 0x33fba4b6},
-  {0xf64a, 0x33fba4b7},
-  {0xf64b, 0x33fba4b8},
-  {0xf64c, 0x33fba4b9},
-  {0xf64d, 0x33fba8b0},
-  {0xf64e, 0x33fba8b1},
-  {0xf64f, 0x33fba8b2},
-  {0xf650, 0x33fba8b3},
-  {0xf651, 0x33fba8b4},
-  {0xf652, 0x33fba8b5},
-  {0xf653, 0x33fba8b6},
-  {0xf654, 0x33fba8b7},
-  {0xf655, 0x33fba8b8},
-  {0xf656, 0x33fba8b9},
-  {0xf657, 0x33fbacb0},
-  {0xf658, 0x33fbacb1},
-  {0xf659, 0x33fbacb2},
-  {0xf65a, 0x33fbacb3},
-  {0xf65b, 0x33fbacb4},
-  {0xf65c, 0x33fbacb5},
-  {0xf65d, 0x33fbacb6},
-  {0xf65e, 0x33fbacb7},
-  {0xf65f, 0x33fbacb8},
-  {0xf660, 0x33fbacb9},
-  {0xf661, 0x33fbb0b0},
-  {0xf662, 0x33fbb0b1},
-  {0xf663, 0x33fbb0b2},
-  {0xf664, 0x33fbb0b3},
-  {0xf665, 0x33fbb0b4},
-  {0xf666, 0x33fbb0b5},
-  {0xf667, 0x33fbb0b6},
-  {0xf668, 0x33fbb0b7},
-  {0xf669, 0x33fbb0b8},
-  {0xf66a, 0x33fbb0b9},
-  {0xf66b, 0x33fbb4b0},
-  {0xf66c, 0x33fbb4b1},
-  {0xf66d, 0x33fbb4b2},
-  {0xf66e, 0x33fbb4b3},
-  {0xf66f, 0x33fbb4b4},
-  {0xf670, 0x33fbb4b5},
-  {0xf671, 0x33fbb4b6},
-  {0xf672, 0x33fbb4b7},
-  {0xf673, 0x33fbb4b8},
-  {0xf674, 0x33fbb4b9},
-  {0xf675, 0x33fbb8b0},
-  {0xf676, 0x33fbb8b1},
-  {0xf677, 0x33fbb8b2},
-  {0xf678, 0x33fbb8b3},
-  {0xf679, 0x33fbb8b4},
-  {0xf67a, 0x33fbb8b5},
-  {0xf67b, 0x33fbb8b6},
-  {0xf67c, 0x33fbb8b7},
-  {0xf67d, 0x33fbb8b8},
-  {0xf67e, 0x33fbb8b9},
-  {0xf67f, 0x33fbbcb0},
-  {0xf680, 0x33fbbcb1},
-  {0xf681, 0x33fbbcb2},
-  {0xf682, 0x33fbbcb3},
-  {0xf683, 0x33fbbcb4},
-  {0xf684, 0x33fbbcb5},
-  {0xf685, 0x33fbbcb6},
-  {0xf686, 0x33fbbcb7},
-  {0xf687, 0x33fbbcb8},
-  {0xf688, 0x33fbbcb9},
-  {0xf689, 0x33fc80b0},
-  {0xf68a, 0x33fc80b1},
-  {0xf68b, 0x33fc80b2},
-  {0xf68c, 0x33fc80b3},
-  {0xf68d, 0x33fc80b4},
-  {0xf68e, 0x33fc80b5},
-  {0xf68f, 0x33fc80b6},
-  {0xf690, 0x33fc80b7},
-  {0xf691, 0x33fc80b8},
-  {0xf692, 0x33fc80b9},
-  {0xf693, 0x33fc84b0},
-  {0xf694, 0x33fc84b1},
-  {0xf695, 0x33fc84b2},
-  {0xf696, 0x33fc84b3},
-  {0xf697, 0x33fc84b4},
-  {0xf698, 0x33fc84b5},
-  {0xf699, 0x33fc84b6},
-  {0xf69a, 0x33fc84b7},
-  {0xf69b, 0x33fc84b8},
-  {0xf69c, 0x33fc84b9},
-  {0xf69d, 0x33fc88b0},
-  {0xf69e, 0x33fc88b1},
-  {0xf69f, 0x33fc88b2},
-  {0xf6a0, 0x33fc88b3},
-  {0xf6a1, 0x33fc88b4},
-  {0xf6a2, 0x33fc88b5},
-  {0xf6a3, 0x33fc88b6},
-  {0xf6a4, 0x33fc88b7},
-  {0xf6a5, 0x33fc88b8},
-  {0xf6a6, 0x33fc88b9},
-  {0xf6a7, 0x33fc8cb0},
-  {0xf6a8, 0x33fc8cb1},
-  {0xf6a9, 0x33fc8cb2},
-  {0xf6aa, 0x33fc8cb3},
-  {0xf6ab, 0x33fc8cb4},
-  {0xf6ac, 0x33fc8cb5},
-  {0xf6ad, 0x33fc8cb6},
-  {0xf6ae, 0x33fc8cb7},
-  {0xf6af, 0x33fc8cb8},
-  {0xf6b0, 0x33fc8cb9},
-  {0xf6b1, 0x33fc90b0},
-  {0xf6b2, 0x33fc90b1},
-  {0xf6b3, 0x33fc90b2},
-  {0xf6b4, 0x33fc90b3},
-  {0xf6b5, 0x33fc90b4},
-  {0xf6b6, 0x33fc90b5},
-  {0xf6b7, 0x33fc90b6},
-  {0xf6b8, 0x33fc90b7},
-  {0xf6b9, 0x33fc90b8},
-  {0xf6ba, 0x33fc90b9},
-  {0xf6bb, 0x33fc94b0},
-  {0xf6bc, 0x33fc94b1},
-  {0xf6bd, 0x33fc94b2},
-  {0xf6be, 0x33fc94b3},
-  {0xf6bf, 0x33fc94b4},
-  {0xf6c0, 0x33fc94b5},
-  {0xf6c1, 0x33fc94b6},
-  {0xf6c2, 0x33fc94b7},
-  {0xf6c3, 0x33fc94b8},
-  {0xf6c4, 0x33fc94b9},
-  {0xf6c5, 0x33fc98b0},
-  {0xf6c6, 0x33fc98b1},
-  {0xf6c7, 0x33fc98b2},
-  {0xf6c8, 0x33fc98b3},
-  {0xf6c9, 0x33fc98b4},
-  {0xf6ca, 0x33fc98b5},
-  {0xf6cb, 0x33fc98b6},
-  {0xf6cc, 0x33fc98b7},
-  {0xf6cd, 0x33fc98b8},
-  {0xf6ce, 0x33fc98b9},
-  {0xf6cf, 0x33fc9cb0},
-  {0xf6d0, 0x33fc9cb1},
-  {0xf6d1, 0x33fc9cb2},
-  {0xf6d2, 0x33fc9cb3},
-  {0xf6d3, 0x33fc9cb4},
-  {0xf6d4, 0x33fc9cb5},
-  {0xf6d5, 0x33fc9cb6},
-  {0xf6d6, 0x33fc9cb7},
-  {0xf6d7, 0x33fc9cb8},
-  {0xf6d8, 0x33fc9cb9},
-  {0xf6d9, 0x33fca0b0},
-  {0xf6da, 0x33fca0b1},
-  {0xf6db, 0x33fca0b2},
-  {0xf6dc, 0x33fca0b3},
-  {0xf6dd, 0x33fca0b4},
-  {0xf6de, 0x33fca0b5},
-  {0xf6df, 0x33fca0b6},
-  {0xf6e0, 0x33fca0b7},
-  {0xf6e1, 0x33fca0b8},
-  {0xf6e2, 0x33fca0b9},
-  {0xf6e3, 0x33fca4b0},
-  {0xf6e4, 0x33fca4b1},
-  {0xf6e5, 0x33fca4b2},
-  {0xf6e6, 0x33fca4b3},
-  {0xf6e7, 0x33fca4b4},
-  {0xf6e8, 0x33fca4b5},
-  {0xf6e9, 0x33fca4b6},
-  {0xf6ea, 0x33fca4b7},
-  {0xf6eb, 0x33fca4b8},
-  {0xf6ec, 0x33fca4b9},
-  {0xf6ed, 0x33fca8b0},
-  {0xf6ee, 0x33fca8b1},
-  {0xf6ef, 0x33fca8b2},
-  {0xf6f0, 0x33fca8b3},
-  {0xf6f1, 0x33fca8b4},
-  {0xf6f2, 0x33fca8b5},
-  {0xf6f3, 0x33fca8b6},
-  {0xf6f4, 0x33fca8b7},
-  {0xf6f5, 0x33fca8b8},
-  {0xf6f6, 0x33fca8b9},
-  {0xf6f7, 0x33fcacb0},
-  {0xf6f8, 0x33fcacb1},
-  {0xf6f9, 0x33fcacb2},
-  {0xf6fa, 0x33fcacb3},
-  {0xf6fb, 0x33fcacb4},
-  {0xf6fc, 0x33fcacb5},
-  {0xf6fd, 0x33fcacb6},
-  {0xf6fe, 0x33fcacb7},
-  {0xf6ff, 0x33fcacb8},
-  {0xf700, 0x33fcacb9},
-  {0xf701, 0x33fcb0b0},
-  {0xf702, 0x33fcb0b1},
-  {0xf703, 0x33fcb0b2},
-  {0xf704, 0x33fcb0b3},
-  {0xf705, 0x33fcb0b4},
-  {0xf706, 0x33fcb0b5},
-  {0xf707, 0x33fcb0b6},
-  {0xf708, 0x33fcb0b7},
-  {0xf709, 0x33fcb0b8},
-  {0xf70a, 0x33fcb0b9},
-  {0xf70b, 0x33fcb4b0},
-  {0xf70c, 0x33fcb4b1},
-  {0xf70d, 0x33fcb4b2},
-  {0xf70e, 0x33fcb4b3},
-  {0xf70f, 0x33fcb4b4},
-  {0xf710, 0x33fcb4b5},
-  {0xf711, 0x33fcb4b6},
-  {0xf712, 0x33fcb4b7},
-  {0xf713, 0x33fcb4b8},
-  {0xf714, 0x33fcb4b9},
-  {0xf715, 0x33fcb8b0},
-  {0xf716, 0x33fcb8b1},
-  {0xf717, 0x33fcb8b2},
-  {0xf718, 0x33fcb8b3},
-  {0xf719, 0x33fcb8b4},
-  {0xf71a, 0x33fcb8b5},
-  {0xf71b, 0x33fcb8b6},
-  {0xf71c, 0x33fcb8b7},
-  {0xf71d, 0x33fcb8b8},
-  {0xf71e, 0x33fcb8b9},
-  {0xf71f, 0x33fcbcb0},
-  {0xf720, 0x33fcbcb1},
-  {0xf721, 0x33fcbcb2},
-  {0xf722, 0x33fcbcb3},
-  {0xf723, 0x33fcbcb4},
-  {0xf724, 0x33fcbcb5},
-  {0xf725, 0x33fcbcb6},
-  {0xf726, 0x33fcbcb7},
-  {0xf727, 0x33fcbcb8},
-  {0xf728, 0x33fcbcb9},
-  {0xf729, 0x33fd80b0},
-  {0xf72a, 0x33fd80b1},
-  {0xf72b, 0x33fd80b2},
-  {0xf72c, 0x33fd80b3},
-  {0xf72d, 0x33fd80b4},
-  {0xf72e, 0x33fd80b5},
-  {0xf72f, 0x33fd80b6},
-  {0xf730, 0x33fd80b7},
-  {0xf731, 0x33fd80b8},
-  {0xf732, 0x33fd80b9},
-  {0xf733, 0x33fd84b0},
-  {0xf734, 0x33fd84b1},
-  {0xf735, 0x33fd84b2},
-  {0xf736, 0x33fd84b3},
-  {0xf737, 0x33fd84b4},
-  {0xf738, 0x33fd84b5},
-  {0xf739, 0x33fd84b6},
-  {0xf73a, 0x33fd84b7},
-  {0xf73b, 0x33fd84b8},
-  {0xf73c, 0x33fd84b9},
-  {0xf73d, 0x33fd88b0},
-  {0xf73e, 0x33fd88b1},
-  {0xf73f, 0x33fd88b2},
-  {0xf740, 0x33fd88b3},
-  {0xf741, 0x33fd88b4},
-  {0xf742, 0x33fd88b5},
-  {0xf743, 0x33fd88b6},
-  {0xf744, 0x33fd88b7},
-  {0xf745, 0x33fd88b8},
-  {0xf746, 0x33fd88b9},
-  {0xf747, 0x33fd8cb0},
-  {0xf748, 0x33fd8cb1},
-  {0xf749, 0x33fd8cb2},
-  {0xf74a, 0x33fd8cb3},
-  {0xf74b, 0x33fd8cb4},
-  {0xf74c, 0x33fd8cb5},
-  {0xf74d, 0x33fd8cb6},
-  {0xf74e, 0x33fd8cb7},
-  {0xf74f, 0x33fd8cb8},
-  {0xf750, 0x33fd8cb9},
-  {0xf751, 0x33fd90b0},
-  {0xf752, 0x33fd90b1},
-  {0xf753, 0x33fd90b2},
-  {0xf754, 0x33fd90b3},
-  {0xf755, 0x33fd90b4},
-  {0xf756, 0x33fd90b5},
-  {0xf757, 0x33fd90b6},
-  {0xf758, 0x33fd90b7},
-  {0xf759, 0x33fd90b8},
-  {0xf75a, 0x33fd90b9},
-  {0xf75b, 0x33fd94b0},
-  {0xf75c, 0x33fd94b1},
-  {0xf75d, 0x33fd94b2},
-  {0xf75e, 0x33fd94b3},
-  {0xf75f, 0x33fd94b4},
-  {0xf760, 0x33fd94b5},
-  {0xf761, 0x33fd94b6},
-  {0xf762, 0x33fd94b7},
-  {0xf763, 0x33fd94b8},
-  {0xf764, 0x33fd94b9},
-  {0xf765, 0x33fd98b0},
-  {0xf766, 0x33fd98b1},
-  {0xf767, 0x33fd98b2},
-  {0xf768, 0x33fd98b3},
-  {0xf769, 0x33fd98b4},
-  {0xf76a, 0x33fd98b5},
-  {0xf76b, 0x33fd98b6},
-  {0xf76c, 0x33fd98b7},
-  {0xf76d, 0x33fd98b8},
-  {0xf76e, 0x33fd98b9},
-  {0xf76f, 0x33fd9cb0},
-  {0xf770, 0x33fd9cb1},
-  {0xf771, 0x33fd9cb2},
-  {0xf772, 0x33fd9cb3},
-  {0xf773, 0x33fd9cb4},
-  {0xf774, 0x33fd9cb5},
-  {0xf775, 0x33fd9cb6},
-  {0xf776, 0x33fd9cb7},
-  {0xf777, 0x33fd9cb8},
-  {0xf778, 0x33fd9cb9},
-  {0xf779, 0x33fda0b0},
-  {0xf77a, 0x33fda0b1},
-  {0xf77b, 0x33fda0b2},
-  {0xf77c, 0x33fda0b3},
-  {0xf77d, 0x33fda0b4},
-  {0xf77e, 0x33fda0b5},
-  {0xf77f, 0x33fda0b6},
-  {0xf780, 0x33fda0b7},
-  {0xf781, 0x33fda0b8},
-  {0xf782, 0x33fda0b9},
-  {0xf783, 0x33fda4b0},
-  {0xf784, 0x33fda4b1},
-  {0xf785, 0x33fda4b2},
-  {0xf786, 0x33fda4b3},
-  {0xf787, 0x33fda4b4},
-  {0xf788, 0x33fda4b5},
-  {0xf789, 0x33fda4b6},
-  {0xf78a, 0x33fda4b7},
-  {0xf78b, 0x33fda4b8},
-  {0xf78c, 0x33fda4b9},
-  {0xf78d, 0x33fda8b0},
-  {0xf78e, 0x33fda8b1},
-  {0xf78f, 0x33fda8b2},
-  {0xf790, 0x33fda8b3},
-  {0xf791, 0x33fda8b4},
-  {0xf792, 0x33fda8b5},
-  {0xf793, 0x33fda8b6},
-  {0xf794, 0x33fda8b7},
-  {0xf795, 0x33fda8b8},
-  {0xf796, 0x33fda8b9},
-  {0xf797, 0x33fdacb0},
-  {0xf798, 0x33fdacb1},
-  {0xf799, 0x33fdacb2},
-  {0xf79a, 0x33fdacb3},
-  {0xf79b, 0x33fdacb4},
-  {0xf79c, 0x33fdacb5},
-  {0xf79d, 0x33fdacb6},
-  {0xf79e, 0x33fdacb7},
-  {0xf79f, 0x33fdacb8},
-  {0xf7a0, 0x33fdacb9},
-  {0xf7a1, 0x33fdb0b0},
-  {0xf7a2, 0x33fdb0b1},
-  {0xf7a3, 0x33fdb0b2},
-  {0xf7a4, 0x33fdb0b3},
-  {0xf7a5, 0x33fdb0b4},
-  {0xf7a6, 0x33fdb0b5},
-  {0xf7a7, 0x33fdb0b6},
-  {0xf7a8, 0x33fdb0b7},
-  {0xf7a9, 0x33fdb0b8},
-  {0xf7aa, 0x33fdb0b9},
-  {0xf7ab, 0x33fdb4b0},
-  {0xf7ac, 0x33fdb4b1},
-  {0xf7ad, 0x33fdb4b2},
-  {0xf7ae, 0x33fdb4b3},
-  {0xf7af, 0x33fdb4b4},
-  {0xf7b0, 0x33fdb4b5},
-  {0xf7b1, 0x33fdb4b6},
-  {0xf7b2, 0x33fdb4b7},
-  {0xf7b3, 0x33fdb4b8},
-  {0xf7b4, 0x33fdb4b9},
-  {0xf7b5, 0x33fdb8b0},
-  {0xf7b6, 0x33fdb8b1},
-  {0xf7b7, 0x33fdb8b2},
-  {0xf7b8, 0x33fdb8b3},
-  {0xf7b9, 0x33fdb8b4},
-  {0xf7ba, 0x33fdb8b5},
-  {0xf7bb, 0x33fdb8b6},
-  {0xf7bc, 0x33fdb8b7},
-  {0xf7bd, 0x33fdb8b8},
-  {0xf7be, 0x33fdb8b9},
-  {0xf7bf, 0x33fdbcb0},
-  {0xf7c0, 0x33fdbcb1},
-  {0xf7c1, 0x33fdbcb2},
-  {0xf7c2, 0x33fdbcb3},
-  {0xf7c3, 0x33fdbcb4},
-  {0xf7c4, 0x33fdbcb5},
-  {0xf7c5, 0x33fdbcb6},
-  {0xf7c6, 0x33fdbcb7},
-  {0xf7c7, 0x33fdbcb8},
-  {0xf7c8, 0x33fdbcb9},
-  {0xf7c9, 0x33fe80b0},
-  {0xf7ca, 0x33fe80b1},
-  {0xf7cb, 0x33fe80b2},
-  {0xf7cc, 0x33fe80b3},
-  {0xf7cd, 0x33fe80b4},
-  {0xf7ce, 0x33fe80b5},
-  {0xf7cf, 0x33fe80b6},
-  {0xf7d0, 0x33fe80b7},
-  {0xf7d1, 0x33fe80b8},
-  {0xf7d2, 0x33fe80b9},
-  {0xf7d3, 0x33fe84b0},
-  {0xf7d4, 0x33fe84b1},
-  {0xf7d5, 0x33fe84b2},
-  {0xf7d6, 0x33fe84b3},
-  {0xf7d7, 0x33fe84b4},
-  {0xf7d8, 0x33fe84b5},
-  {0xf7d9, 0x33fe84b6},
-  {0xf7da, 0x33fe84b7},
-  {0xf7db, 0x33fe84b8},
-  {0xf7dc, 0x33fe84b9},
-  {0xf7dd, 0x33fe88b0},
-  {0xf7de, 0x33fe88b1},
-  {0xf7df, 0x33fe88b2},
-  {0xf7e0, 0x33fe88b3},
-  {0xf7e1, 0x33fe88b4},
-  {0xf7e2, 0x33fe88b5},
-  {0xf7e3, 0x33fe88b6},
-  {0xf7e4, 0x33fe88b7},
-  {0xf7e5, 0x33fe88b8},
-  {0xf7e6, 0x33fe88b9},
-  {0xf7e7, 0x33fe8cb0},
-  {0xf7e8, 0x33fe8cb1},
-  {0xf7e9, 0x33fe8cb2},
-  {0xf7ea, 0x33fe8cb3},
-  {0xf7eb, 0x33fe8cb4},
-  {0xf7ec, 0x33fe8cb5},
-  {0xf7ed, 0x33fe8cb6},
-  {0xf7ee, 0x33fe8cb7},
-  {0xf7ef, 0x33fe8cb8},
-  {0xf7f0, 0x33fe8cb9},
-  {0xf7f1, 0x33fe90b0},
-  {0xf7f2, 0x33fe90b1},
-  {0xf7f3, 0x33fe90b2},
-  {0xf7f4, 0x33fe90b3},
-  {0xf7f5, 0x33fe90b4},
-  {0xf7f6, 0x33fe90b5},
-  {0xf7f7, 0x33fe90b6},
-  {0xf7f8, 0x33fe90b7},
-  {0xf7f9, 0x33fe90b8},
-  {0xf7fa, 0x33fe90b9},
-  {0xf7fb, 0x33fe94b0},
-  {0xf7fc, 0x33fe94b1},
-  {0xf7fd, 0x33fe94b2},
-  {0xf7fe, 0x33fe94b3},
-  {0xf7ff, 0x33fe94b4},
-  {0xf800, 0x33fe94b5},
-  {0xf801, 0x33fe94b6},
-  {0xf802, 0x33fe94b7},
-  {0xf803, 0x33fe94b8},
-  {0xf804, 0x33fe94b9},
-  {0xf805, 0x33fe98b0},
-  {0xf806, 0x33fe98b1},
-  {0xf807, 0x33fe98b2},
-  {0xf808, 0x33fe98b3},
-  {0xf809, 0x33fe98b4},
-  {0xf80a, 0x33fe98b5},
-  {0xf80b, 0x33fe98b6},
-  {0xf80c, 0x33fe98b7},
-  {0xf80d, 0x33fe98b8},
-  {0xf80e, 0x33fe98b9},
-  {0xf80f, 0x33fe9cb0},
-  {0xf810, 0x33fe9cb1},
-  {0xf811, 0x33fe9cb2},
-  {0xf812, 0x33fe9cb3},
-  {0xf813, 0x33fe9cb4},
-  {0xf814, 0x33fe9cb5},
-  {0xf815, 0x33fe9cb6},
-  {0xf816, 0x33fe9cb7},
-  {0xf817, 0x33fe9cb8},
-  {0xf818, 0x33fe9cb9},
-  {0xf819, 0x33fea0b0},
-  {0xf81a, 0x33fea0b1},
-  {0xf81b, 0x33fea0b2},
-  {0xf81c, 0x33fea0b3},
-  {0xf81d, 0x33fea0b4},
-  {0xf81e, 0x33fea0b5},
-  {0xf81f, 0x33fea0b6},
-  {0xf820, 0x33fea0b7},
-  {0xf821, 0x33fea0b8},
-  {0xf822, 0x33fea0b9},
-  {0xf823, 0x33fea4b0},
-  {0xf824, 0x33fea4b1},
-  {0xf825, 0x33fea4b2},
-  {0xf826, 0x33fea4b3},
-  {0xf827, 0x33fea4b4},
-  {0xf828, 0x33fea4b5},
-  {0xf829, 0x33fea4b6},
-  {0xf82a, 0x33fea4b7},
-  {0xf82b, 0x33fea4b8},
-  {0xf82c, 0x33fea4b9},
-  {0xf82d, 0x33fea8b0},
-  {0xf82e, 0x33fea8b1},
-  {0xf82f, 0x33fea8b2},
-  {0xf830, 0x33fea8b3},
-  {0xf831, 0x33fea8b4},
-  {0xf832, 0x33fea8b5},
-  {0xf833, 0x33fea8b6},
-  {0xf834, 0x33fea8b7},
-  {0xf835, 0x33fea8b8},
-  {0xf836, 0x33fea8b9},
-  {0xf837, 0x33feacb0},
-  {0xf838, 0x33feacb1},
-  {0xf839, 0x33feacb2},
-  {0xf83a, 0x33feacb3},
-  {0xf83b, 0x33feacb4},
-  {0xf83c, 0x33feacb5},
-  {0xf83d, 0x33feacb6},
-  {0xf83e, 0x33feacb7},
-  {0xf83f, 0x33feacb8},
-  {0xf840, 0x33feacb9},
-  {0xf841, 0x33feb0b0},
-  {0xf842, 0x33feb0b1},
-  {0xf843, 0x33feb0b2},
-  {0xf844, 0x33feb0b3},
-  {0xf845, 0x33feb0b4},
-  {0xf846, 0x33feb0b5},
-  {0xf847, 0x33feb0b6},
-  {0xf848, 0x33feb0b7},
-  {0xf849, 0x33feb0b8},
-  {0xf84a, 0x33feb0b9},
-  {0xf84b, 0x33feb4b0},
-  {0xf84c, 0x33feb4b1},
-  {0xf84d, 0x33feb4b2},
-  {0xf84e, 0x33feb4b3},
-  {0xf84f, 0x33feb4b4},
-  {0xf850, 0x33feb4b5},
-  {0xf851, 0x33feb4b6},
-  {0xf852, 0x33feb4b7},
-  {0xf853, 0x33feb4b8},
-  {0xf854, 0x33feb4b9},
-  {0xf855, 0x33feb8b0},
-  {0xf856, 0x33feb8b1},
-  {0xf857, 0x33feb8b2},
-  {0xf858, 0x33feb8b3},
-  {0xf859, 0x33feb8b4},
-  {0xf85a, 0x33feb8b5},
-  {0xf85b, 0x33feb8b6},
-  {0xf85c, 0x33feb8b7},
-  {0xf85d, 0x33feb8b8},
-  {0xf85e, 0x33feb8b9},
-  {0xf85f, 0x33febcb0},
-  {0xf860, 0x33febcb1},
-  {0xf861, 0x33febcb2},
-  {0xf862, 0x33febcb3},
-  {0xf863, 0x33febcb4},
-  {0xf864, 0x33febcb5},
-  {0xf865, 0x33febcb6},
-  {0xf866, 0x33febcb7},
-  {0xf867, 0x33febcb8},
-  {0xf868, 0x33febcb9},
-  {0xf869, 0x33ff80b0},
-  {0xf86a, 0x33ff80b1},
-  {0xf86b, 0x33ff80b2},
-  {0xf86c, 0x33ff80b3},
-  {0xf86d, 0x33ff80b4},
-  {0xf86e, 0x33ff80b5},
-  {0xf86f, 0x33ff80b6},
-  {0xf870, 0x33ff80b7},
-  {0xf871, 0x33ff80b8},
-  {0xf872, 0x33ff80b9},
-  {0xf873, 0x33ff84b0},
-  {0xf874, 0x33ff84b1},
-  {0xf875, 0x33ff84b2},
-  {0xf876, 0x33ff84b3},
-  {0xf877, 0x33ff84b4},
-  {0xf878, 0x33ff84b5},
-  {0xf879, 0x33ff84b6},
-  {0xf87a, 0x33ff84b7},
-  {0xf87b, 0x33ff84b8},
-  {0xf87c, 0x33ff84b9},
-  {0xf87d, 0x33ff88b0},
-  {0xf87e, 0x33ff88b1},
-  {0xf87f, 0x33ff88b2},
-  {0xf880, 0x33ff88b3},
-  {0xf881, 0x33ff88b4},
-  {0xf882, 0x33ff88b5},
-  {0xf883, 0x33ff88b6},
-  {0xf884, 0x33ff88b7},
-  {0xf885, 0x33ff88b8},
-  {0xf886, 0x33ff88b9},
-  {0xf887, 0x33ff8cb0},
-  {0xf888, 0x33ff8cb1},
-  {0xf889, 0x33ff8cb2},
-  {0xf88a, 0x33ff8cb3},
-  {0xf88b, 0x33ff8cb4},
-  {0xf88c, 0x33ff8cb5},
-  {0xf88d, 0x33ff8cb6},
-  {0xf88e, 0x33ff8cb7},
-  {0xf88f, 0x33ff8cb8},
-  {0xf890, 0x33ff8cb9},
-  {0xf891, 0x33ff90b0},
-  {0xf892, 0x33ff90b1},
-  {0xf893, 0x33ff90b2},
-  {0xf894, 0x33ff90b3},
-  {0xf895, 0x33ff90b4},
-  {0xf896, 0x33ff90b5},
-  {0xf897, 0x33ff90b6},
-  {0xf898, 0x33ff90b7},
-  {0xf899, 0x33ff90b8},
-  {0xf89a, 0x33ff90b9},
-  {0xf89b, 0x33ff94b0},
-  {0xf89c, 0x33ff94b1},
-  {0xf89d, 0x33ff94b2},
-  {0xf89e, 0x33ff94b3},
-  {0xf89f, 0x33ff94b4},
-  {0xf8a0, 0x33ff94b5},
-  {0xf8a1, 0x33ff94b6},
-  {0xf8a2, 0x33ff94b7},
-  {0xf8a3, 0x33ff94b8},
-  {0xf8a4, 0x33ff94b9},
-  {0xf8a5, 0x33ff98b0},
-  {0xf8a6, 0x33ff98b1},
-  {0xf8a7, 0x33ff98b2},
-  {0xf8a8, 0x33ff98b3},
-  {0xf8a9, 0x33ff98b4},
-  {0xf8aa, 0x33ff98b5},
-  {0xf8ab, 0x33ff98b6},
-  {0xf8ac, 0x33ff98b7},
-  {0xf8ad, 0x33ff98b8},
-  {0xf8ae, 0x33ff98b9},
-  {0xf8af, 0x33ff9cb0},
-  {0xf8b0, 0x33ff9cb1},
-  {0xf8b1, 0x33ff9cb2},
-  {0xf8b2, 0x33ff9cb3},
-  {0xf8b3, 0x33ff9cb4},
-  {0xf8b4, 0x33ff9cb5},
-  {0xf8b5, 0x33ff9cb6},
-  {0xf8b6, 0x33ff9cb7},
-  {0xf8b7, 0x33ff9cb8},
-  {0xf8b8, 0x33ff9cb9},
-  {0xf8b9, 0x33ffa0b0},
-  {0xf8ba, 0x33ffa0b1},
-  {0xf8bb, 0x33ffa0b2},
-  {0xf8bc, 0x33ffa0b3},
-  {0xf8bd, 0x33ffa0b4},
-  {0xf8be, 0x33ffa0b5},
-  {0xf8bf, 0x33ffa0b6},
-  {0xf8c0, 0x33ffa0b7},
-  {0xf8c1, 0x33ffa0b8},
-  {0xf8c2, 0x33ffa0b9},
-  {0xf8c3, 0x33ffa4b0},
-  {0xf8c4, 0x33ffa4b1},
-  {0xf8c5, 0x33ffa4b2},
-  {0xf8c6, 0x33ffa4b3},
-  {0xf8c7, 0x33ffa4b4},
-  {0xf8c8, 0x33ffa4b5},
-  {0xf8c9, 0x33ffa4b6},
-  {0xf8ca, 0x33ffa4b7},
-  {0xf8cb, 0x33ffa4b8},
-  {0xf8cc, 0x33ffa4b9},
-  {0xf8cd, 0x33ffa8b0},
-  {0xf8ce, 0x33ffa8b1},
-  {0xf8cf, 0x33ffa8b2},
-  {0xf8d0, 0x33ffa8b3},
-  {0xf8d1, 0x33ffa8b4},
-  {0xf8d2, 0x33ffa8b5},
-  {0xf8d3, 0x33ffa8b6},
-  {0xf8d4, 0x33ffa8b7},
-  {0xf8d5, 0x33ffa8b8},
-  {0xf8d6, 0x33ffa8b9},
-  {0xf8d7, 0x33ffacb0},
-  {0xf8d8, 0x33ffacb1},
-  {0xf8d9, 0x33ffacb2},
-  {0xf8da, 0x33ffacb3},
-  {0xf8db, 0x33ffacb4},
-  {0xf8dc, 0x33ffacb5},
-  {0xf8dd, 0x33ffacb6},
-  {0xf8de, 0x33ffacb7},
-  {0xf8df, 0x33ffacb8},
-  {0xf8e0, 0x33ffacb9},
-  {0xf8e1, 0x33ffb0b0},
-  {0xf8e2, 0x33ffb0b1},
-  {0xf8e3, 0x33ffb0b2},
-  {0xf8e4, 0x33ffb0b3},
-  {0xf8e5, 0x33ffb0b4},
-  {0xf8e6, 0x33ffb0b5},
-  {0xf8e7, 0x33ffb0b6},
-  {0xf8e8, 0x33ffb0b7},
-  {0xf8e9, 0x33ffb0b8},
-  {0xf8ea, 0x33ffb0b9},
-  {0xf8eb, 0x33ffb4b0},
-  {0xf8ec, 0x33ffb4b1},
-  {0xf8ed, 0x33ffb4b2},
-  {0xf8ee, 0x33ffb4b3},
-  {0xf8ef, 0x33ffb4b4},
-  {0xf8f0, 0x33ffb4b5},
-  {0xf8f1, 0x33ffb4b6},
-  {0xf8f2, 0x33ffb4b7},
-  {0xf8f3, 0x33ffb4b8},
-  {0xf8f4, 0x33ffb4b9},
-  {0xf8f5, 0x33ffb8b0},
-  {0xf8f6, 0x33ffb8b1},
-  {0xf8f7, 0x33ffb8b2},
-  {0xf8f8, 0x33ffb8b3},
-  {0xf8f9, 0x33ffb8b4},
-  {0xf8fa, 0x33ffb8b5},
-  {0xf8fb, 0x33ffb8b6},
-  {0xf8fc, 0x33ffb8b7},
-  {0xf8fd, 0x33ffb8b8},
-  {0xf8fe, 0x33ffb8b9},
-  {0xf8ff, 0x43e884b0},
-  {0xf900, 0x43e884b1},
-  {0xf901, 0x43e884b2},
-  {0xf902, 0x43e884b3},
-  {0xf903, 0x43e884b4},
-  {0xf904, 0x43e884b5},
-  {0xf905, 0x43e884b6},
-  {0xf906, 0x43e884b7},
-  {0xf907, 0x43e884b8},
-  {0xf908, 0x43e884b9},
-  {0xf909, 0x43e888b0},
-  {0xf90a, 0x43e888b1},
-  {0xf90b, 0x43e888b2},
-  {0xf90c, 0x43e888b3},
-  {0xf90d, 0x43e888b4},
-  {0xf90e, 0x43e888b5},
-  {0xf90f, 0x43e888b6},
-  {0xf910, 0x43e888b7},
-  {0xf911, 0x43e888b8},
-  {0xf912, 0x43e888b9},
-  {0xf913, 0x43e88cb0},
-  {0xf914, 0x43e88cb1},
-  {0xf915, 0x43e88cb2},
-  {0xf916, 0x43e88cb3},
-  {0xf917, 0x43e88cb4},
-  {0xf918, 0x43e88cb5},
-  {0xf919, 0x43e88cb6},
-  {0xf91a, 0x43e88cb7},
-  {0xf91b, 0x43e88cb8},
-  {0xf91c, 0x43e88cb9},
-  {0xf91d, 0x43e890b0},
-  {0xf91e, 0x43e890b1},
-  {0xf91f, 0x43e890b2},
-  {0xf920, 0x43e890b3},
-  {0xf921, 0x43e890b4},
-  {0xf922, 0x43e890b5},
-  {0xf923, 0x43e890b6},
-  {0xf924, 0x43e890b7},
-  {0xf925, 0x43e890b8},
-  {0xf926, 0x43e890b9},
-  {0xf927, 0x43e894b0},
-  {0xf928, 0x43e894b1},
-  {0xf929, 0x43e894b2},
-  {0xf92a, 0x43e894b3},
-  {0xf92b, 0x43e894b4},
-  {0xf92c, 0xefb69c},
-  {0xf92d, 0x43e894b5},
-  {0xf92e, 0x43e894b6},
-  {0xf92f, 0x43e894b7},
-  {0xf930, 0x43e894b8},
-  {0xf931, 0x43e894b9},
-  {0xf932, 0x43e898b0},
-  {0xf933, 0x43e898b1},
-  {0xf934, 0x43e898b2},
-  {0xf935, 0x43e898b3},
-  {0xf936, 0x43e898b4},
-  {0xf937, 0x43e898b5},
-  {0xf938, 0x43e898b6},
-  {0xf939, 0x43e898b7},
-  {0xf93a, 0x43e898b8},
-  {0xf93b, 0x43e898b9},
-  {0xf93c, 0x43e89cb0},
-  {0xf93d, 0x43e89cb1},
-  {0xf93e, 0x43e89cb2},
-  {0xf93f, 0x43e89cb3},
-  {0xf940, 0x43e89cb4},
-  {0xf941, 0x43e89cb5},
-  {0xf942, 0x43e89cb6},
-  {0xf943, 0x43e89cb7},
-  {0xf944, 0x43e89cb8},
-  {0xf945, 0x43e89cb9},
-  {0xf946, 0x43e8a0b0},
-  {0xf947, 0x43e8a0b1},
-  {0xf948, 0x43e8a0b2},
-  {0xf949, 0x43e8a0b3},
-  {0xf94a, 0x43e8a0b4},
-  {0xf94b, 0x43e8a0b5},
-  {0xf94c, 0x43e8a0b6},
-  {0xf94d, 0x43e8a0b7},
-  {0xf94e, 0x43e8a0b8},
-  {0xf94f, 0x43e8a0b9},
-  {0xf950, 0x43e8a4b0},
-  {0xf951, 0x43e8a4b1},
-  {0xf952, 0x43e8a4b2},
-  {0xf953, 0x43e8a4b3},
-  {0xf954, 0x43e8a4b4},
-  {0xf955, 0x43e8a4b5},
-  {0xf956, 0x43e8a4b6},
-  {0xf957, 0x43e8a4b7},
-  {0xf958, 0x43e8a4b8},
-  {0xf959, 0x43e8a4b9},
-  {0xf95a, 0x43e8a8b0},
-  {0xf95b, 0x43e8a8b1},
-  {0xf95c, 0x43e8a8b2},
-  {0xf95d, 0x43e8a8b3},
-  {0xf95e, 0x43e8a8b4},
-  {0xf95f, 0x43e8a8b5},
-  {0xf960, 0x43e8a8b6},
-  {0xf961, 0x43e8a8b7},
-  {0xf962, 0x43e8a8b8},
-  {0xf963, 0x43e8a8b9},
-  {0xf964, 0x43e8acb0},
-  {0xf965, 0x43e8acb1},
-  {0xf966, 0x43e8acb2},
-  {0xf967, 0x43e8acb3},
-  {0xf968, 0x43e8acb4},
-  {0xf969, 0x43e8acb5},
-  {0xf96a, 0x43e8acb6},
-  {0xf96b, 0x43e8acb7},
-  {0xf96c, 0x43e8acb8},
-  {0xf96d, 0x43e8acb9},
-  {0xf96e, 0x43e8b0b0},
-  {0xf96f, 0x43e8b0b1},
-  {0xf970, 0x43e8b0b2},
-  {0xf971, 0x43e8b0b3},
-  {0xf972, 0x43e8b0b4},
-  {0xf973, 0x43e8b0b5},
-  {0xf974, 0x43e8b0b6},
-  {0xf975, 0x43e8b0b7},
-  {0xf976, 0x43e8b0b8},
-  {0xf977, 0x43e8b0b9},
-  {0xf978, 0x43e8b4b0},
-  {0xf979, 0xefb69d},
-  {0xf97a, 0x43e8b4b1},
-  {0xf97b, 0x43e8b4b2},
-  {0xf97c, 0x43e8b4b3},
-  {0xf97d, 0x43e8b4b4},
-  {0xf97e, 0x43e8b4b5},
-  {0xf97f, 0x43e8b4b6},
-  {0xf980, 0x43e8b4b7},
-  {0xf981, 0x43e8b4b8},
-  {0xf982, 0x43e8b4b9},
-  {0xf983, 0x43e8b8b0},
-  {0xf984, 0x43e8b8b1},
-  {0xf985, 0x43e8b8b2},
-  {0xf986, 0x43e8b8b3},
-  {0xf987, 0x43e8b8b4},
-  {0xf988, 0x43e8b8b5},
-  {0xf989, 0x43e8b8b6},
-  {0xf98a, 0x43e8b8b7},
-  {0xf98b, 0x43e8b8b8},
-  {0xf98c, 0x43e8b8b9},
-  {0xf98d, 0x43e8bcb0},
-  {0xf98e, 0x43e8bcb1},
-  {0xf98f, 0x43e8bcb2},
-  {0xf990, 0x43e8bcb3},
-  {0xf991, 0x43e8bcb4},
-  {0xf992, 0x43e8bcb5},
-  {0xf993, 0x43e8bcb6},
-  {0xf994, 0x43e8bcb7},
-  {0xf995, 0xefb69e},
-  {0xf996, 0x43e8bcb8},
-  {0xf997, 0x43e8bcb9},
-  {0xf998, 0x43e980b0},
-  {0xf999, 0x43e980b1},
-  {0xf99a, 0x43e980b2},
-  {0xf99b, 0x43e980b3},
-  {0xf99c, 0x43e980b4},
-  {0xf99d, 0x43e980b5},
-  {0xf99e, 0x43e980b6},
-  {0xf99f, 0x43e980b7},
-  {0xf9a0, 0x43e980b8},
-  {0xf9a1, 0x43e980b9},
-  {0xf9a2, 0x43e984b0},
-  {0xf9a3, 0x43e984b1},
-  {0xf9a4, 0x43e984b2},
-  {0xf9a5, 0x43e984b3},
-  {0xf9a6, 0x43e984b4},
-  {0xf9a7, 0x43e984b5},
-  {0xf9a8, 0x43e984b6},
-  {0xf9a9, 0x43e984b7},
-  {0xf9aa, 0x43e984b8},
-  {0xf9ab, 0x43e984b9},
-  {0xf9ac, 0x43e988b0},
-  {0xf9ad, 0x43e988b1},
-  {0xf9ae, 0x43e988b2},
-  {0xf9af, 0x43e988b3},
-  {0xf9b0, 0x43e988b4},
-  {0xf9b1, 0x43e988b5},
-  {0xf9b2, 0x43e988b6},
-  {0xf9b3, 0x43e988b7},
-  {0xf9b4, 0x43e988b8},
-  {0xf9b5, 0x43e988b9},
-  {0xf9b6, 0x43e98cb0},
-  {0xf9b7, 0x43e98cb1},
-  {0xf9b8, 0x43e98cb2},
-  {0xf9b9, 0x43e98cb3},
-  {0xf9ba, 0x43e98cb4},
-  {0xf9bb, 0x43e98cb5},
-  {0xf9bc, 0x43e98cb6},
-  {0xf9bd, 0x43e98cb7},
-  {0xf9be, 0x43e98cb8},
-  {0xf9bf, 0x43e98cb9},
-  {0xf9c0, 0x43e990b0},
-  {0xf9c1, 0x43e990b1},
-  {0xf9c2, 0x43e990b2},
-  {0xf9c3, 0x43e990b3},
-  {0xf9c4, 0x43e990b4},
-  {0xf9c5, 0x43e990b5},
-  {0xf9c6, 0x43e990b6},
-  {0xf9c7, 0x43e990b7},
-  {0xf9c8, 0x43e990b8},
-  {0xf9c9, 0x43e990b9},
-  {0xf9ca, 0x43e994b0},
-  {0xf9cb, 0x43e994b1},
-  {0xf9cc, 0x43e994b2},
-  {0xf9cd, 0x43e994b3},
-  {0xf9ce, 0x43e994b4},
-  {0xf9cf, 0x43e994b5},
-  {0xf9d0, 0x43e994b6},
-  {0xf9d1, 0x43e994b7},
-  {0xf9d2, 0x43e994b8},
-  {0xf9d3, 0x43e994b9},
-  {0xf9d4, 0x43e998b0},
-  {0xf9d5, 0x43e998b1},
-  {0xf9d6, 0x43e998b2},
-  {0xf9d7, 0x43e998b3},
-  {0xf9d8, 0x43e998b4},
-  {0xf9d9, 0x43e998b5},
-  {0xf9da, 0x43e998b6},
-  {0xf9db, 0x43e998b7},
-  {0xf9dc, 0x43e998b8},
-  {0xf9dd, 0x43e998b9},
-  {0xf9de, 0x43e99cb0},
-  {0xf9df, 0x43e99cb1},
-  {0xf9e0, 0x43e99cb2},
-  {0xf9e1, 0x43e99cb3},
-  {0xf9e2, 0x43e99cb4},
-  {0xf9e3, 0x43e99cb5},
-  {0xf9e4, 0x43e99cb6},
-  {0xf9e5, 0x43e99cb7},
-  {0xf9e6, 0x43e99cb8},
-  {0xf9e7, 0xefb69f},
-  {0xf9e8, 0x43e99cb9},
-  {0xf9e9, 0x43e9a0b0},
-  {0xf9ea, 0x43e9a0b1},
-  {0xf9eb, 0x43e9a0b2},
-  {0xf9ec, 0x43e9a0b3},
-  {0xf9ed, 0x43e9a0b4},
-  {0xf9ee, 0x43e9a0b5},
-  {0xf9ef, 0x43e9a0b6},
-  {0xf9f0, 0x43e9a0b7},
-  {0xf9f1, 0xefb6a0},
-  {0xf9f2, 0x43e9a0b8},
-  {0xf9f3, 0x43e9a0b9},
-  {0xf9f4, 0x43e9a4b0},
-  {0xf9f5, 0x43e9a4b1},
-  {0xf9f6, 0x43e9a4b2},
-  {0xf9f7, 0x43e9a4b3},
-  {0xf9f8, 0x43e9a4b4},
-  {0xf9f9, 0x43e9a4b5},
-  {0xf9fa, 0x43e9a4b6},
-  {0xf9fb, 0x43e9a4b7},
-  {0xf9fc, 0x43e9a4b8},
-  {0xf9fd, 0x43e9a4b9},
-  {0xf9fe, 0x43e9a8b0},
-  {0xf9ff, 0x43e9a8b1},
-  {0xfa00, 0x43e9a8b2},
-  {0xfa01, 0x43e9a8b3},
-  {0xfa02, 0x43e9a8b4},
-  {0xfa03, 0x43e9a8b5},
-  {0xfa04, 0x43e9a8b6},
-  {0xfa05, 0x43e9a8b7},
-  {0xfa06, 0x43e9a8b8},
-  {0xfa07, 0x43e9a8b9},
-  {0xfa08, 0x43e9acb0},
-  {0xfa09, 0x43e9acb1},
-  {0xfa0a, 0x43e9acb2},
-  {0xfa0b, 0x43e9acb3},
-  {0xfa0c, 0xefb980},
-  {0xfa0d, 0xefb981},
-  {0xfa0e, 0xefb982},
-  {0xfa0f, 0xefb983},
-  {0xfa10, 0x43e9acb4},
-  {0xfa11, 0xefb984},
-  {0xfa12, 0x43e9acb5},
-  {0xfa13, 0xefb985},
-  {0xfa14, 0xefb986},
-  {0xfa15, 0x43e9acb6},
-  {0xfa16, 0x43e9acb7},
-  {0xfa17, 0x43e9acb8},
-  {0xfa18, 0xefb987},
-  {0xfa19, 0x43e9acb9},
-  {0xfa1a, 0x43e9b0b0},
-  {0xfa1b, 0x43e9b0b1},
-  {0xfa1c, 0x43e9b0b2},
-  {0xfa1d, 0x43e9b0b3},
-  {0xfa1e, 0x43e9b0b4},
-  {0xfa1f, 0xefb988},
-  {0xfa20, 0xefb989},
-  {0xfa21, 0xefb98a},
-  {0xfa22, 0x43e9b0b5},
-  {0xfa23, 0xefb98b},
-  {0xfa24, 0xefb98c},
-  {0xfa25, 0x43e9b0b6},
-  {0xfa26, 0x43e9b0b7},
-  {0xfa27, 0xefb98d},
-  {0xfa28, 0xefb98e},
-  {0xfa29, 0xefb98f},
-  {0xfa2a, 0x43e9b0b8},
-  {0xfa2b, 0x43e9b0b9},
-  {0xfa2c, 0x43e9b4b0},
-  {0xfa2d, 0x43e9b4b1},
-  {0xfa2e, 0x43e9b4b2},
-  {0xfa2f, 0x43e9b4b3},
-  {0xfa30, 0x43e9b4b4},
-  {0xfa31, 0x43e9b4b5},
-  {0xfa32, 0x43e9b4b6},
-  {0xfa33, 0x43e9b4b7},
-  {0xfa34, 0x43e9b4b8},
-  {0xfa35, 0x43e9b4b9},
-  {0xfa36, 0x43e9b8b0},
-  {0xfa37, 0x43e9b8b1},
-  {0xfa38, 0x43e9b8b2},
-  {0xfa39, 0x43e9b8b3},
-  {0xfa3a, 0x43e9b8b4},
-  {0xfa3b, 0x43e9b8b5},
-  {0xfa3c, 0x43e9b8b6},
-  {0xfa3d, 0x43e9b8b7},
-  {0xfa3e, 0x43e9b8b8},
-  {0xfa3f, 0x43e9b8b9},
-  {0xfa40, 0x43e9bcb0},
-  {0xfa41, 0x43e9bcb1},
-  {0xfa42, 0x43e9bcb2},
-  {0xfa43, 0x43e9bcb3},
-  {0xfa44, 0x43e9bcb4},
-  {0xfa45, 0x43e9bcb5},
-  {0xfa46, 0x43e9bcb6},
-  {0xfa47, 0x43e9bcb7},
-  {0xfa48, 0x43e9bcb8},
-  {0xfa49, 0x43e9bcb9},
-  {0xfa4a, 0x43ea80b0},
-  {0xfa4b, 0x43ea80b1},
-  {0xfa4c, 0x43ea80b2},
-  {0xfa4d, 0x43ea80b3},
-  {0xfa4e, 0x43ea80b4},
-  {0xfa4f, 0x43ea80b5},
-  {0xfa50, 0x43ea80b6},
-  {0xfa51, 0x43ea80b7},
-  {0xfa52, 0x43ea80b8},
-  {0xfa53, 0x43ea80b9},
-  {0xfa54, 0x43ea84b0},
-  {0xfa55, 0x43ea84b1},
-  {0xfa56, 0x43ea84b2},
-  {0xfa57, 0x43ea84b3},
-  {0xfa58, 0x43ea84b4},
-  {0xfa59, 0x43ea84b5},
-  {0xfa5a, 0x43ea84b6},
-  {0xfa5b, 0x43ea84b7},
-  {0xfa5c, 0x43ea84b8},
-  {0xfa5d, 0x43ea84b9},
-  {0xfa5e, 0x43ea88b0},
-  {0xfa5f, 0x43ea88b1},
-  {0xfa60, 0x43ea88b2},
-  {0xfa61, 0x43ea88b3},
-  {0xfa62, 0x43ea88b4},
-  {0xfa63, 0x43ea88b5},
-  {0xfa64, 0x43ea88b6},
-  {0xfa65, 0x43ea88b7},
-  {0xfa66, 0x43ea88b8},
-  {0xfa67, 0x43ea88b9},
-  {0xfa68, 0x43ea8cb0},
-  {0xfa69, 0x43ea8cb1},
-  {0xfa6a, 0x43ea8cb2},
-  {0xfa6b, 0x43ea8cb3},
-  {0xfa6c, 0x43ea8cb4},
-  {0xfa6d, 0x43ea8cb5},
-  {0xfa6e, 0x43ea8cb6},
-  {0xfa6f, 0x43ea8cb7},
-  {0xfa70, 0x43ea8cb8},
-  {0xfa71, 0x43ea8cb9},
-  {0xfa72, 0x43ea90b0},
-  {0xfa73, 0x43ea90b1},
-  {0xfa74, 0x43ea90b2},
-  {0xfa75, 0x43ea90b3},
-  {0xfa76, 0x43ea90b4},
-  {0xfa77, 0x43ea90b5},
-  {0xfa78, 0x43ea90b6},
-  {0xfa79, 0x43ea90b7},
-  {0xfa7a, 0x43ea90b8},
-  {0xfa7b, 0x43ea90b9},
-  {0xfa7c, 0x43ea94b0},
-  {0xfa7d, 0x43ea94b1},
-  {0xfa7e, 0x43ea94b2},
-  {0xfa7f, 0x43ea94b3},
-  {0xfa80, 0x43ea94b4},
-  {0xfa81, 0x43ea94b5},
-  {0xfa82, 0x43ea94b6},
-  {0xfa83, 0x43ea94b7},
-  {0xfa84, 0x43ea94b8},
-  {0xfa85, 0x43ea94b9},
-  {0xfa86, 0x43ea98b0},
-  {0xfa87, 0x43ea98b1},
-  {0xfa88, 0x43ea98b2},
-  {0xfa89, 0x43ea98b3},
-  {0xfa8a, 0x43ea98b4},
-  {0xfa8b, 0x43ea98b5},
-  {0xfa8c, 0x43ea98b6},
-  {0xfa8d, 0x43ea98b7},
-  {0xfa8e, 0x43ea98b8},
-  {0xfa8f, 0x43ea98b9},
-  {0xfa90, 0x43ea9cb0},
-  {0xfa91, 0x43ea9cb1},
-  {0xfa92, 0x43ea9cb2},
-  {0xfa93, 0x43ea9cb3},
-  {0xfa94, 0x43ea9cb4},
-  {0xfa95, 0x43ea9cb5},
-  {0xfa96, 0x43ea9cb6},
-  {0xfa97, 0x43ea9cb7},
-  {0xfa98, 0x43ea9cb8},
-  {0xfa99, 0x43ea9cb9},
-  {0xfa9a, 0x43eaa0b0},
-  {0xfa9b, 0x43eaa0b1},
-  {0xfa9c, 0x43eaa0b2},
-  {0xfa9d, 0x43eaa0b3},
-  {0xfa9e, 0x43eaa0b4},
-  {0xfa9f, 0x43eaa0b5},
-  {0xfaa0, 0x43eaa0b6},
-  {0xfaa1, 0x43eaa0b7},
-  {0xfaa2, 0x43eaa0b8},
-  {0xfaa3, 0x43eaa0b9},
-  {0xfaa4, 0x43eaa4b0},
-  {0xfaa5, 0x43eaa4b1},
-  {0xfaa6, 0x43eaa4b2},
-  {0xfaa7, 0x43eaa4b3},
-  {0xfaa8, 0x43eaa4b4},
-  {0xfaa9, 0x43eaa4b5},
-  {0xfaaa, 0x43eaa4b6},
-  {0xfaab, 0x43eaa4b7},
-  {0xfaac, 0x43eaa4b8},
-  {0xfaad, 0x43eaa4b9},
-  {0xfaae, 0x43eaa8b0},
-  {0xfaaf, 0x43eaa8b1},
-  {0xfab0, 0x43eaa8b2},
-  {0xfab1, 0x43eaa8b3},
-  {0xfab2, 0x43eaa8b4},
-  {0xfab3, 0x43eaa8b5},
-  {0xfab4, 0x43eaa8b6},
-  {0xfab5, 0x43eaa8b7},
-  {0xfab6, 0x43eaa8b8},
-  {0xfab7, 0x43eaa8b9},
-  {0xfab8, 0x43eaacb0},
-  {0xfab9, 0x43eaacb1},
-  {0xfaba, 0x43eaacb2},
-  {0xfabb, 0x43eaacb3},
-  {0xfabc, 0x43eaacb4},
-  {0xfabd, 0x43eaacb5},
-  {0xfabe, 0x43eaacb6},
-  {0xfabf, 0x43eaacb7},
-  {0xfac0, 0x43eaacb8},
-  {0xfac1, 0x43eaacb9},
-  {0xfac2, 0x43eab0b0},
-  {0xfac3, 0x43eab0b1},
-  {0xfac4, 0x43eab0b2},
-  {0xfac5, 0x43eab0b3},
-  {0xfac6, 0x43eab0b4},
-  {0xfac7, 0x43eab0b5},
-  {0xfac8, 0x43eab0b6},
-  {0xfac9, 0x43eab0b7},
-  {0xfaca, 0x43eab0b8},
-  {0xfacb, 0x43eab0b9},
-  {0xfacc, 0x43eab4b0},
-  {0xfacd, 0x43eab4b1},
-  {0xface, 0x43eab4b2},
-  {0xfacf, 0x43eab4b3},
-  {0xfad0, 0x43eab4b4},
-  {0xfad1, 0x43eab4b5},
-  {0xfad2, 0x43eab4b6},
-  {0xfad3, 0x43eab4b7},
-  {0xfad4, 0x43eab4b8},
-  {0xfad5, 0x43eab4b9},
-  {0xfad6, 0x43eab8b0},
-  {0xfad7, 0x43eab8b1},
-  {0xfad8, 0x43eab8b2},
-  {0xfad9, 0x43eab8b3},
-  {0xfada, 0x43eab8b4},
-  {0xfadb, 0x43eab8b5},
-  {0xfadc, 0x43eab8b6},
-  {0xfadd, 0x43eab8b7},
-  {0xfade, 0x43eab8b8},
-  {0xfadf, 0x43eab8b9},
-  {0xfae0, 0x43eabcb0},
-  {0xfae1, 0x43eabcb1},
-  {0xfae2, 0x43eabcb2},
-  {0xfae3, 0x43eabcb3},
-  {0xfae4, 0x43eabcb4},
-  {0xfae5, 0x43eabcb5},
-  {0xfae6, 0x43eabcb6},
-  {0xfae7, 0x43eabcb7},
-  {0xfae8, 0x43eabcb8},
-  {0xfae9, 0x43eabcb9},
-  {0xfaea, 0x43eb80b0},
-  {0xfaeb, 0x43eb80b1},
-  {0xfaec, 0x43eb80b2},
-  {0xfaed, 0x43eb80b3},
-  {0xfaee, 0x43eb80b4},
-  {0xfaef, 0x43eb80b5},
-  {0xfaf0, 0x43eb80b6},
-  {0xfaf1, 0x43eb80b7},
-  {0xfaf2, 0x43eb80b8},
-  {0xfaf3, 0x43eb80b9},
-  {0xfaf4, 0x43eb84b0},
-  {0xfaf5, 0x43eb84b1},
-  {0xfaf6, 0x43eb84b2},
-  {0xfaf7, 0x43eb84b3},
-  {0xfaf8, 0x43eb84b4},
-  {0xfaf9, 0x43eb84b5},
-  {0xfafa, 0x43eb84b6},
-  {0xfafb, 0x43eb84b7},
-  {0xfafc, 0x43eb84b8},
-  {0xfafd, 0x43eb84b9},
-  {0xfafe, 0x43eb88b0},
-  {0xfaff, 0x43eb88b1},
-  {0xfb00, 0x43eb88b2},
-  {0xfb01, 0x43eb88b3},
-  {0xfb02, 0x43eb88b4},
-  {0xfb03, 0x43eb88b5},
-  {0xfb04, 0x43eb88b6},
-  {0xfb05, 0x43eb88b7},
-  {0xfb06, 0x43eb88b8},
-  {0xfb07, 0x43eb88b9},
-  {0xfb08, 0x43eb8cb0},
-  {0xfb09, 0x43eb8cb1},
-  {0xfb0a, 0x43eb8cb2},
-  {0xfb0b, 0x43eb8cb3},
-  {0xfb0c, 0x43eb8cb4},
-  {0xfb0d, 0x43eb8cb5},
-  {0xfb0e, 0x43eb8cb6},
-  {0xfb0f, 0x43eb8cb7},
-  {0xfb10, 0x43eb8cb8},
-  {0xfb11, 0x43eb8cb9},
-  {0xfb12, 0x43eb90b0},
-  {0xfb13, 0x43eb90b1},
-  {0xfb14, 0x43eb90b2},
-  {0xfb15, 0x43eb90b3},
-  {0xfb16, 0x43eb90b4},
-  {0xfb17, 0x43eb90b5},
-  {0xfb18, 0x43eb90b6},
-  {0xfb19, 0x43eb90b7},
-  {0xfb1a, 0x43eb90b8},
-  {0xfb1b, 0x43eb90b9},
-  {0xfb1c, 0x43eb94b0},
-  {0xfb1d, 0x43eb94b1},
-  {0xfb1e, 0x43eb94b2},
-  {0xfb1f, 0x43eb94b3},
-  {0xfb20, 0x43eb94b4},
-  {0xfb21, 0x43eb94b5},
-  {0xfb22, 0x43eb94b6},
-  {0xfb23, 0x43eb94b7},
-  {0xfb24, 0x43eb94b8},
-  {0xfb25, 0x43eb94b9},
-  {0xfb26, 0x43eb98b0},
-  {0xfb27, 0x43eb98b1},
-  {0xfb28, 0x43eb98b2},
-  {0xfb29, 0x43eb98b3},
-  {0xfb2a, 0x43eb98b4},
-  {0xfb2b, 0x43eb98b5},
-  {0xfb2c, 0x43eb98b6},
-  {0xfb2d, 0x43eb98b7},
-  {0xfb2e, 0x43eb98b8},
-  {0xfb2f, 0x43eb98b9},
-  {0xfb30, 0x43eb9cb0},
-  {0xfb31, 0x43eb9cb1},
-  {0xfb32, 0x43eb9cb2},
-  {0xfb33, 0x43eb9cb3},
-  {0xfb34, 0x43eb9cb4},
-  {0xfb35, 0x43eb9cb5},
-  {0xfb36, 0x43eb9cb6},
-  {0xfb37, 0x43eb9cb7},
-  {0xfb38, 0x43eb9cb8},
-  {0xfb39, 0x43eb9cb9},
-  {0xfb3a, 0x43eba0b0},
-  {0xfb3b, 0x43eba0b1},
-  {0xfb3c, 0x43eba0b2},
-  {0xfb3d, 0x43eba0b3},
-  {0xfb3e, 0x43eba0b4},
-  {0xfb3f, 0x43eba0b5},
-  {0xfb40, 0x43eba0b6},
-  {0xfb41, 0x43eba0b7},
-  {0xfb42, 0x43eba0b8},
-  {0xfb43, 0x43eba0b9},
-  {0xfb44, 0x43eba4b0},
-  {0xfb45, 0x43eba4b1},
-  {0xfb46, 0x43eba4b2},
-  {0xfb47, 0x43eba4b3},
-  {0xfb48, 0x43eba4b4},
-  {0xfb49, 0x43eba4b5},
-  {0xfb4a, 0x43eba4b6},
-  {0xfb4b, 0x43eba4b7},
-  {0xfb4c, 0x43eba4b8},
-  {0xfb4d, 0x43eba4b9},
-  {0xfb4e, 0x43eba8b0},
-  {0xfb4f, 0x43eba8b1},
-  {0xfb50, 0x43eba8b2},
-  {0xfb51, 0x43eba8b3},
-  {0xfb52, 0x43eba8b4},
-  {0xfb53, 0x43eba8b5},
-  {0xfb54, 0x43eba8b6},
-  {0xfb55, 0x43eba8b7},
-  {0xfb56, 0x43eba8b8},
-  {0xfb57, 0x43eba8b9},
-  {0xfb58, 0x43ebacb0},
-  {0xfb59, 0x43ebacb1},
-  {0xfb5a, 0x43ebacb2},
-  {0xfb5b, 0x43ebacb3},
-  {0xfb5c, 0x43ebacb4},
-  {0xfb5d, 0x43ebacb5},
-  {0xfb5e, 0x43ebacb6},
-  {0xfb5f, 0x43ebacb7},
-  {0xfb60, 0x43ebacb8},
-  {0xfb61, 0x43ebacb9},
-  {0xfb62, 0x43ebb0b0},
-  {0xfb63, 0x43ebb0b1},
-  {0xfb64, 0x43ebb0b2},
-  {0xfb65, 0x43ebb0b3},
-  {0xfb66, 0x43ebb0b4},
-  {0xfb67, 0x43ebb0b5},
-  {0xfb68, 0x43ebb0b6},
-  {0xfb69, 0x43ebb0b7},
-  {0xfb6a, 0x43ebb0b8},
-  {0xfb6b, 0x43ebb0b9},
-  {0xfb6c, 0x43ebb4b0},
-  {0xfb6d, 0x43ebb4b1},
-  {0xfb6e, 0x43ebb4b2},
-  {0xfb6f, 0x43ebb4b3},
-  {0xfb70, 0x43ebb4b4},
-  {0xfb71, 0x43ebb4b5},
-  {0xfb72, 0x43ebb4b6},
-  {0xfb73, 0x43ebb4b7},
-  {0xfb74, 0x43ebb4b8},
-  {0xfb75, 0x43ebb4b9},
-  {0xfb76, 0x43ebb8b0},
-  {0xfb77, 0x43ebb8b1},
-  {0xfb78, 0x43ebb8b2},
-  {0xfb79, 0x43ebb8b3},
-  {0xfb7a, 0x43ebb8b4},
-  {0xfb7b, 0x43ebb8b5},
-  {0xfb7c, 0x43ebb8b6},
-  {0xfb7d, 0x43ebb8b7},
-  {0xfb7e, 0x43ebb8b8},
-  {0xfb7f, 0x43ebb8b9},
-  {0xfb80, 0x43ebbcb0},
-  {0xfb81, 0x43ebbcb1},
-  {0xfb82, 0x43ebbcb2},
-  {0xfb83, 0x43ebbcb3},
-  {0xfb84, 0x43ebbcb4},
-  {0xfb85, 0x43ebbcb5},
-  {0xfb86, 0x43ebbcb6},
-  {0xfb87, 0x43ebbcb7},
-  {0xfb88, 0x43ebbcb8},
-  {0xfb89, 0x43ebbcb9},
-  {0xfb8a, 0x43ec80b0},
-  {0xfb8b, 0x43ec80b1},
-  {0xfb8c, 0x43ec80b2},
-  {0xfb8d, 0x43ec80b3},
-  {0xfb8e, 0x43ec80b4},
-  {0xfb8f, 0x43ec80b5},
-  {0xfb90, 0x43ec80b6},
-  {0xfb91, 0x43ec80b7},
-  {0xfb92, 0x43ec80b8},
-  {0xfb93, 0x43ec80b9},
-  {0xfb94, 0x43ec84b0},
-  {0xfb95, 0x43ec84b1},
-  {0xfb96, 0x43ec84b2},
-  {0xfb97, 0x43ec84b3},
-  {0xfb98, 0x43ec84b4},
-  {0xfb99, 0x43ec84b5},
-  {0xfb9a, 0x43ec84b6},
-  {0xfb9b, 0x43ec84b7},
-  {0xfb9c, 0x43ec84b8},
-  {0xfb9d, 0x43ec84b9},
-  {0xfb9e, 0x43ec88b0},
-  {0xfb9f, 0x43ec88b1},
-  {0xfba0, 0x43ec88b2},
-  {0xfba1, 0x43ec88b3},
-  {0xfba2, 0x43ec88b4},
-  {0xfba3, 0x43ec88b5},
-  {0xfba4, 0x43ec88b6},
-  {0xfba5, 0x43ec88b7},
-  {0xfba6, 0x43ec88b8},
-  {0xfba7, 0x43ec88b9},
-  {0xfba8, 0x43ec8cb0},
-  {0xfba9, 0x43ec8cb1},
-  {0xfbaa, 0x43ec8cb2},
-  {0xfbab, 0x43ec8cb3},
-  {0xfbac, 0x43ec8cb4},
-  {0xfbad, 0x43ec8cb5},
-  {0xfbae, 0x43ec8cb6},
-  {0xfbaf, 0x43ec8cb7},
-  {0xfbb0, 0x43ec8cb8},
-  {0xfbb1, 0x43ec8cb9},
-  {0xfbb2, 0x43ec90b0},
-  {0xfbb3, 0x43ec90b1},
-  {0xfbb4, 0x43ec90b2},
-  {0xfbb5, 0x43ec90b3},
-  {0xfbb6, 0x43ec90b4},
-  {0xfbb7, 0x43ec90b5},
-  {0xfbb8, 0x43ec90b6},
-  {0xfbb9, 0x43ec90b7},
-  {0xfbba, 0x43ec90b8},
-  {0xfbbb, 0x43ec90b9},
-  {0xfbbc, 0x43ec94b0},
-  {0xfbbd, 0x43ec94b1},
-  {0xfbbe, 0x43ec94b2},
-  {0xfbbf, 0x43ec94b3},
-  {0xfbc0, 0x43ec94b4},
-  {0xfbc1, 0x43ec94b5},
-  {0xfbc2, 0x43ec94b6},
-  {0xfbc3, 0x43ec94b7},
-  {0xfbc4, 0x43ec94b8},
-  {0xfbc5, 0x43ec94b9},
-  {0xfbc6, 0x43ec98b0},
-  {0xfbc7, 0x43ec98b1},
-  {0xfbc8, 0x43ec98b2},
-  {0xfbc9, 0x43ec98b3},
-  {0xfbca, 0x43ec98b4},
-  {0xfbcb, 0x43ec98b5},
-  {0xfbcc, 0x43ec98b6},
-  {0xfbcd, 0x43ec98b7},
-  {0xfbce, 0x43ec98b8},
-  {0xfbcf, 0x43ec98b9},
-  {0xfbd0, 0x43ec9cb0},
-  {0xfbd1, 0x43ec9cb1},
-  {0xfbd2, 0x43ec9cb2},
-  {0xfbd3, 0x43ec9cb3},
-  {0xfbd4, 0x43ec9cb4},
-  {0xfbd5, 0x43ec9cb5},
-  {0xfbd6, 0x43ec9cb6},
-  {0xfbd7, 0x43ec9cb7},
-  {0xfbd8, 0x43ec9cb8},
-  {0xfbd9, 0x43ec9cb9},
-  {0xfbda, 0x43eca0b0},
-  {0xfbdb, 0x43eca0b1},
-  {0xfbdc, 0x43eca0b2},
-  {0xfbdd, 0x43eca0b3},
-  {0xfbde, 0x43eca0b4},
-  {0xfbdf, 0x43eca0b5},
-  {0xfbe0, 0x43eca0b6},
-  {0xfbe1, 0x43eca0b7},
-  {0xfbe2, 0x43eca0b8},
-  {0xfbe3, 0x43eca0b9},
-  {0xfbe4, 0x43eca4b0},
-  {0xfbe5, 0x43eca4b1},
-  {0xfbe6, 0x43eca4b2},
-  {0xfbe7, 0x43eca4b3},
-  {0xfbe8, 0x43eca4b4},
-  {0xfbe9, 0x43eca4b5},
-  {0xfbea, 0x43eca4b6},
-  {0xfbeb, 0x43eca4b7},
-  {0xfbec, 0x43eca4b8},
-  {0xfbed, 0x43eca4b9},
-  {0xfbee, 0x43eca8b0},
-  {0xfbef, 0x43eca8b1},
-  {0xfbf0, 0x43eca8b2},
-  {0xfbf1, 0x43eca8b3},
-  {0xfbf2, 0x43eca8b4},
-  {0xfbf3, 0x43eca8b5},
-  {0xfbf4, 0x43eca8b6},
-  {0xfbf5, 0x43eca8b7},
-  {0xfbf6, 0x43eca8b8},
-  {0xfbf7, 0x43eca8b9},
-  {0xfbf8, 0x43ecacb0},
-  {0xfbf9, 0x43ecacb1},
-  {0xfbfa, 0x43ecacb2},
-  {0xfbfb, 0x43ecacb3},
-  {0xfbfc, 0x43ecacb4},
-  {0xfbfd, 0x43ecacb5},
-  {0xfbfe, 0x43ecacb6},
-  {0xfbff, 0x43ecacb7},
-  {0xfc00, 0x43ecacb8},
-  {0xfc01, 0x43ecacb9},
-  {0xfc02, 0x43ecb0b0},
-  {0xfc03, 0x43ecb0b1},
-  {0xfc04, 0x43ecb0b2},
-  {0xfc05, 0x43ecb0b3},
-  {0xfc06, 0x43ecb0b4},
-  {0xfc07, 0x43ecb0b5},
-  {0xfc08, 0x43ecb0b6},
-  {0xfc09, 0x43ecb0b7},
-  {0xfc0a, 0x43ecb0b8},
-  {0xfc0b, 0x43ecb0b9},
-  {0xfc0c, 0x43ecb4b0},
-  {0xfc0d, 0x43ecb4b1},
-  {0xfc0e, 0x43ecb4b2},
-  {0xfc0f, 0x43ecb4b3},
-  {0xfc10, 0x43ecb4b4},
-  {0xfc11, 0x43ecb4b5},
-  {0xfc12, 0x43ecb4b6},
-  {0xfc13, 0x43ecb4b7},
-  {0xfc14, 0x43ecb4b8},
-  {0xfc15, 0x43ecb4b9},
-  {0xfc16, 0x43ecb8b0},
-  {0xfc17, 0x43ecb8b1},
-  {0xfc18, 0x43ecb8b2},
-  {0xfc19, 0x43ecb8b3},
-  {0xfc1a, 0x43ecb8b4},
-  {0xfc1b, 0x43ecb8b5},
-  {0xfc1c, 0x43ecb8b6},
-  {0xfc1d, 0x43ecb8b7},
-  {0xfc1e, 0x43ecb8b8},
-  {0xfc1f, 0x43ecb8b9},
-  {0xfc20, 0x43ecbcb0},
-  {0xfc21, 0x43ecbcb1},
-  {0xfc22, 0x43ecbcb2},
-  {0xfc23, 0x43ecbcb3},
-  {0xfc24, 0x43ecbcb4},
-  {0xfc25, 0x43ecbcb5},
-  {0xfc26, 0x43ecbcb6},
-  {0xfc27, 0x43ecbcb7},
-  {0xfc28, 0x43ecbcb8},
-  {0xfc29, 0x43ecbcb9},
-  {0xfc2a, 0x43ed80b0},
-  {0xfc2b, 0x43ed80b1},
-  {0xfc2c, 0x43ed80b2},
-  {0xfc2d, 0x43ed80b3},
-  {0xfc2e, 0x43ed80b4},
-  {0xfc2f, 0x43ed80b5},
-  {0xfc30, 0x43ed80b6},
-  {0xfc31, 0x43ed80b7},
-  {0xfc32, 0x43ed80b8},
-  {0xfc33, 0x43ed80b9},
-  {0xfc34, 0x43ed84b0},
-  {0xfc35, 0x43ed84b1},
-  {0xfc36, 0x43ed84b2},
-  {0xfc37, 0x43ed84b3},
-  {0xfc38, 0x43ed84b4},
-  {0xfc39, 0x43ed84b5},
-  {0xfc3a, 0x43ed84b6},
-  {0xfc3b, 0x43ed84b7},
-  {0xfc3c, 0x43ed84b8},
-  {0xfc3d, 0x43ed84b9},
-  {0xfc3e, 0x43ed88b0},
-  {0xfc3f, 0x43ed88b1},
-  {0xfc40, 0x43ed88b2},
-  {0xfc41, 0x43ed88b3},
-  {0xfc42, 0x43ed88b4},
-  {0xfc43, 0x43ed88b5},
-  {0xfc44, 0x43ed88b6},
-  {0xfc45, 0x43ed88b7},
-  {0xfc46, 0x43ed88b8},
-  {0xfc47, 0x43ed88b9},
-  {0xfc48, 0x43ed8cb0},
-  {0xfc49, 0x43ed8cb1},
-  {0xfc4a, 0x43ed8cb2},
-  {0xfc4b, 0x43ed8cb3},
-  {0xfc4c, 0x43ed8cb4},
-  {0xfc4d, 0x43ed8cb5},
-  {0xfc4e, 0x43ed8cb6},
-  {0xfc4f, 0x43ed8cb7},
-  {0xfc50, 0x43ed8cb8},
-  {0xfc51, 0x43ed8cb9},
-  {0xfc52, 0x43ed90b0},
-  {0xfc53, 0x43ed90b1},
-  {0xfc54, 0x43ed90b2},
-  {0xfc55, 0x43ed90b3},
-  {0xfc56, 0x43ed90b4},
-  {0xfc57, 0x43ed90b5},
-  {0xfc58, 0x43ed90b6},
-  {0xfc59, 0x43ed90b7},
-  {0xfc5a, 0x43ed90b8},
-  {0xfc5b, 0x43ed90b9},
-  {0xfc5c, 0x43ed94b0},
-  {0xfc5d, 0x43ed94b1},
-  {0xfc5e, 0x43ed94b2},
-  {0xfc5f, 0x43ed94b3},
-  {0xfc60, 0x43ed94b4},
-  {0xfc61, 0x43ed94b5},
-  {0xfc62, 0x43ed94b6},
-  {0xfc63, 0x43ed94b7},
-  {0xfc64, 0x43ed94b8},
-  {0xfc65, 0x43ed94b9},
-  {0xfc66, 0x43ed98b0},
-  {0xfc67, 0x43ed98b1},
-  {0xfc68, 0x43ed98b2},
-  {0xfc69, 0x43ed98b3},
-  {0xfc6a, 0x43ed98b4},
-  {0xfc6b, 0x43ed98b5},
-  {0xfc6c, 0x43ed98b6},
-  {0xfc6d, 0x43ed98b7},
-  {0xfc6e, 0x43ed98b8},
-  {0xfc6f, 0x43ed98b9},
-  {0xfc70, 0x43ed9cb0},
-  {0xfc71, 0x43ed9cb1},
-  {0xfc72, 0x43ed9cb2},
-  {0xfc73, 0x43ed9cb3},
-  {0xfc74, 0x43ed9cb4},
-  {0xfc75, 0x43ed9cb5},
-  {0xfc76, 0x43ed9cb6},
-  {0xfc77, 0x43ed9cb7},
-  {0xfc78, 0x43ed9cb8},
-  {0xfc79, 0x43ed9cb9},
-  {0xfc7a, 0x43eda0b0},
-  {0xfc7b, 0x43eda0b1},
-  {0xfc7c, 0x43eda0b2},
-  {0xfc7d, 0x43eda0b3},
-  {0xfc7e, 0x43eda0b4},
-  {0xfc7f, 0x43eda0b5},
-  {0xfc80, 0x43eda0b6},
-  {0xfc81, 0x43eda0b7},
-  {0xfc82, 0x43eda0b8},
-  {0xfc83, 0x43eda0b9},
-  {0xfc84, 0x43eda4b0},
-  {0xfc85, 0x43eda4b1},
-  {0xfc86, 0x43eda4b2},
-  {0xfc87, 0x43eda4b3},
-  {0xfc88, 0x43eda4b4},
-  {0xfc89, 0x43eda4b5},
-  {0xfc8a, 0x43eda4b6},
-  {0xfc8b, 0x43eda4b7},
-  {0xfc8c, 0x43eda4b8},
-  {0xfc8d, 0x43eda4b9},
-  {0xfc8e, 0x43eda8b0},
-  {0xfc8f, 0x43eda8b1},
-  {0xfc90, 0x43eda8b2},
-  {0xfc91, 0x43eda8b3},
-  {0xfc92, 0x43eda8b4},
-  {0xfc93, 0x43eda8b5},
-  {0xfc94, 0x43eda8b6},
-  {0xfc95, 0x43eda8b7},
-  {0xfc96, 0x43eda8b8},
-  {0xfc97, 0x43eda8b9},
-  {0xfc98, 0x43edacb0},
-  {0xfc99, 0x43edacb1},
-  {0xfc9a, 0x43edacb2},
-  {0xfc9b, 0x43edacb3},
-  {0xfc9c, 0x43edacb4},
-  {0xfc9d, 0x43edacb5},
-  {0xfc9e, 0x43edacb6},
-  {0xfc9f, 0x43edacb7},
-  {0xfca0, 0x43edacb8},
-  {0xfca1, 0x43edacb9},
-  {0xfca2, 0x43edb0b0},
-  {0xfca3, 0x43edb0b1},
-  {0xfca4, 0x43edb0b2},
-  {0xfca5, 0x43edb0b3},
-  {0xfca6, 0x43edb0b4},
-  {0xfca7, 0x43edb0b5},
-  {0xfca8, 0x43edb0b6},
-  {0xfca9, 0x43edb0b7},
-  {0xfcaa, 0x43edb0b8},
-  {0xfcab, 0x43edb0b9},
-  {0xfcac, 0x43edb4b0},
-  {0xfcad, 0x43edb4b1},
-  {0xfcae, 0x43edb4b2},
-  {0xfcaf, 0x43edb4b3},
-  {0xfcb0, 0x43edb4b4},
-  {0xfcb1, 0x43edb4b5},
-  {0xfcb2, 0x43edb4b6},
-  {0xfcb3, 0x43edb4b7},
-  {0xfcb4, 0x43edb4b8},
-  {0xfcb5, 0x43edb4b9},
-  {0xfcb6, 0x43edb8b0},
-  {0xfcb7, 0x43edb8b1},
-  {0xfcb8, 0x43edb8b2},
-  {0xfcb9, 0x43edb8b3},
-  {0xfcba, 0x43edb8b4},
-  {0xfcbb, 0x43edb8b5},
-  {0xfcbc, 0x43edb8b6},
-  {0xfcbd, 0x43edb8b7},
-  {0xfcbe, 0x43edb8b8},
-  {0xfcbf, 0x43edb8b9},
-  {0xfcc0, 0x43edbcb0},
-  {0xfcc1, 0x43edbcb1},
-  {0xfcc2, 0x43edbcb2},
-  {0xfcc3, 0x43edbcb3},
-  {0xfcc4, 0x43edbcb4},
-  {0xfcc5, 0x43edbcb5},
-  {0xfcc6, 0x43edbcb6},
-  {0xfcc7, 0x43edbcb7},
-  {0xfcc8, 0x43edbcb8},
-  {0xfcc9, 0x43edbcb9},
-  {0xfcca, 0x43ee80b0},
-  {0xfccb, 0x43ee80b1},
-  {0xfccc, 0x43ee80b2},
-  {0xfccd, 0x43ee80b3},
-  {0xfcce, 0x43ee80b4},
-  {0xfccf, 0x43ee80b5},
-  {0xfcd0, 0x43ee80b6},
-  {0xfcd1, 0x43ee80b7},
-  {0xfcd2, 0x43ee80b8},
-  {0xfcd3, 0x43ee80b9},
-  {0xfcd4, 0x43ee84b0},
-  {0xfcd5, 0x43ee84b1},
-  {0xfcd6, 0x43ee84b2},
-  {0xfcd7, 0x43ee84b3},
-  {0xfcd8, 0x43ee84b4},
-  {0xfcd9, 0x43ee84b5},
-  {0xfcda, 0x43ee84b6},
-  {0xfcdb, 0x43ee84b7},
-  {0xfcdc, 0x43ee84b8},
-  {0xfcdd, 0x43ee84b9},
-  {0xfcde, 0x43ee88b0},
-  {0xfcdf, 0x43ee88b1},
-  {0xfce0, 0x43ee88b2},
-  {0xfce1, 0x43ee88b3},
-  {0xfce2, 0x43ee88b4},
-  {0xfce3, 0x43ee88b5},
-  {0xfce4, 0x43ee88b6},
-  {0xfce5, 0x43ee88b7},
-  {0xfce6, 0x43ee88b8},
-  {0xfce7, 0x43ee88b9},
-  {0xfce8, 0x43ee8cb0},
-  {0xfce9, 0x43ee8cb1},
-  {0xfcea, 0x43ee8cb2},
-  {0xfceb, 0x43ee8cb3},
-  {0xfcec, 0x43ee8cb4},
-  {0xfced, 0x43ee8cb5},
-  {0xfcee, 0x43ee8cb6},
-  {0xfcef, 0x43ee8cb7},
-  {0xfcf0, 0x43ee8cb8},
-  {0xfcf1, 0x43ee8cb9},
-  {0xfcf2, 0x43ee90b0},
-  {0xfcf3, 0x43ee90b1},
-  {0xfcf4, 0x43ee90b2},
-  {0xfcf5, 0x43ee90b3},
-  {0xfcf6, 0x43ee90b4},
-  {0xfcf7, 0x43ee90b5},
-  {0xfcf8, 0x43ee90b6},
-  {0xfcf9, 0x43ee90b7},
-  {0xfcfa, 0x43ee90b8},
-  {0xfcfb, 0x43ee90b9},
-  {0xfcfc, 0x43ee94b0},
-  {0xfcfd, 0x43ee94b1},
-  {0xfcfe, 0x43ee94b2},
-  {0xfcff, 0x43ee94b3},
-  {0xfd00, 0x43ee94b4},
-  {0xfd01, 0x43ee94b5},
-  {0xfd02, 0x43ee94b6},
-  {0xfd03, 0x43ee94b7},
-  {0xfd04, 0x43ee94b8},
-  {0xfd05, 0x43ee94b9},
-  {0xfd06, 0x43ee98b0},
-  {0xfd07, 0x43ee98b1},
-  {0xfd08, 0x43ee98b2},
-  {0xfd09, 0x43ee98b3},
-  {0xfd0a, 0x43ee98b4},
-  {0xfd0b, 0x43ee98b5},
-  {0xfd0c, 0x43ee98b6},
-  {0xfd0d, 0x43ee98b7},
-  {0xfd0e, 0x43ee98b8},
-  {0xfd0f, 0x43ee98b9},
-  {0xfd10, 0x43ee9cb0},
-  {0xfd11, 0x43ee9cb1},
-  {0xfd12, 0x43ee9cb2},
-  {0xfd13, 0x43ee9cb3},
-  {0xfd14, 0x43ee9cb4},
-  {0xfd15, 0x43ee9cb5},
-  {0xfd16, 0x43ee9cb6},
-  {0xfd17, 0x43ee9cb7},
-  {0xfd18, 0x43ee9cb8},
-  {0xfd19, 0x43ee9cb9},
-  {0xfd1a, 0x43eea0b0},
-  {0xfd1b, 0x43eea0b1},
-  {0xfd1c, 0x43eea0b2},
-  {0xfd1d, 0x43eea0b3},
-  {0xfd1e, 0x43eea0b4},
-  {0xfd1f, 0x43eea0b5},
-  {0xfd20, 0x43eea0b6},
-  {0xfd21, 0x43eea0b7},
-  {0xfd22, 0x43eea0b8},
-  {0xfd23, 0x43eea0b9},
-  {0xfd24, 0x43eea4b0},
-  {0xfd25, 0x43eea4b1},
-  {0xfd26, 0x43eea4b2},
-  {0xfd27, 0x43eea4b3},
-  {0xfd28, 0x43eea4b4},
-  {0xfd29, 0x43eea4b5},
-  {0xfd2a, 0x43eea4b6},
-  {0xfd2b, 0x43eea4b7},
-  {0xfd2c, 0x43eea4b8},
-  {0xfd2d, 0x43eea4b9},
-  {0xfd2e, 0x43eea8b0},
-  {0xfd2f, 0x43eea8b1},
-  {0xfd30, 0x43eea8b2},
-  {0xfd31, 0x43eea8b3},
-  {0xfd32, 0x43eea8b4},
-  {0xfd33, 0x43eea8b5},
-  {0xfd34, 0x43eea8b6},
-  {0xfd35, 0x43eea8b7},
-  {0xfd36, 0x43eea8b8},
-  {0xfd37, 0x43eea8b9},
-  {0xfd38, 0x43eeacb0},
-  {0xfd39, 0x43eeacb1},
-  {0xfd3a, 0x43eeacb2},
-  {0xfd3b, 0x43eeacb3},
-  {0xfd3c, 0x43eeacb4},
-  {0xfd3d, 0x43eeacb5},
-  {0xfd3e, 0x43eeacb6},
-  {0xfd3f, 0x43eeacb7},
-  {0xfd40, 0x43eeacb8},
-  {0xfd41, 0x43eeacb9},
-  {0xfd42, 0x43eeb0b0},
-  {0xfd43, 0x43eeb0b1},
-  {0xfd44, 0x43eeb0b2},
-  {0xfd45, 0x43eeb0b3},
-  {0xfd46, 0x43eeb0b4},
-  {0xfd47, 0x43eeb0b5},
-  {0xfd48, 0x43eeb0b6},
-  {0xfd49, 0x43eeb0b7},
-  {0xfd4a, 0x43eeb0b8},
-  {0xfd4b, 0x43eeb0b9},
-  {0xfd4c, 0x43eeb4b0},
-  {0xfd4d, 0x43eeb4b1},
-  {0xfd4e, 0x43eeb4b2},
-  {0xfd4f, 0x43eeb4b3},
-  {0xfd50, 0x43eeb4b4},
-  {0xfd51, 0x43eeb4b5},
-  {0xfd52, 0x43eeb4b6},
-  {0xfd53, 0x43eeb4b7},
-  {0xfd54, 0x43eeb4b8},
-  {0xfd55, 0x43eeb4b9},
-  {0xfd56, 0x43eeb8b0},
-  {0xfd57, 0x43eeb8b1},
-  {0xfd58, 0x43eeb8b2},
-  {0xfd59, 0x43eeb8b3},
-  {0xfd5a, 0x43eeb8b4},
-  {0xfd5b, 0x43eeb8b5},
-  {0xfd5c, 0x43eeb8b6},
-  {0xfd5d, 0x43eeb8b7},
-  {0xfd5e, 0x43eeb8b8},
-  {0xfd5f, 0x43eeb8b9},
-  {0xfd60, 0x43eebcb0},
-  {0xfd61, 0x43eebcb1},
-  {0xfd62, 0x43eebcb2},
-  {0xfd63, 0x43eebcb3},
-  {0xfd64, 0x43eebcb4},
-  {0xfd65, 0x43eebcb5},
-  {0xfd66, 0x43eebcb6},
-  {0xfd67, 0x43eebcb7},
-  {0xfd68, 0x43eebcb8},
-  {0xfd69, 0x43eebcb9},
-  {0xfd6a, 0x43ef80b0},
-  {0xfd6b, 0x43ef80b1},
-  {0xfd6c, 0x43ef80b2},
-  {0xfd6d, 0x43ef80b3},
-  {0xfd6e, 0x43ef80b4},
-  {0xfd6f, 0x43ef80b5},
-  {0xfd70, 0x43ef80b6},
-  {0xfd71, 0x43ef80b7},
-  {0xfd72, 0x43ef80b8},
-  {0xfd73, 0x43ef80b9},
-  {0xfd74, 0x43ef84b0},
-  {0xfd75, 0x43ef84b1},
-  {0xfd76, 0x43ef84b2},
-  {0xfd77, 0x43ef84b3},
-  {0xfd78, 0x43ef84b4},
-  {0xfd79, 0x43ef84b5},
-  {0xfd7a, 0x43ef84b6},
-  {0xfd7b, 0x43ef84b7},
-  {0xfd7c, 0x43ef84b8},
-  {0xfd7d, 0x43ef84b9},
-  {0xfd7e, 0x43ef88b0},
-  {0xfd7f, 0x43ef88b1},
-  {0xfd80, 0x43ef88b2},
-  {0xfd81, 0x43ef88b3},
-  {0xfd82, 0x43ef88b4},
-  {0xfd83, 0x43ef88b5},
-  {0xfd84, 0x43ef88b6},
-  {0xfd85, 0x43ef88b7},
-  {0xfd86, 0x43ef88b8},
-  {0xfd87, 0x43ef88b9},
-  {0xfd88, 0x43ef8cb0},
-  {0xfd89, 0x43ef8cb1},
-  {0xfd8a, 0x43ef8cb2},
-  {0xfd8b, 0x43ef8cb3},
-  {0xfd8c, 0x43ef8cb4},
-  {0xfd8d, 0x43ef8cb5},
-  {0xfd8e, 0x43ef8cb6},
-  {0xfd8f, 0x43ef8cb7},
-  {0xfd90, 0x43ef8cb8},
-  {0xfd91, 0x43ef8cb9},
-  {0xfd92, 0x43ef90b0},
-  {0xfd93, 0x43ef90b1},
-  {0xfd94, 0x43ef90b2},
-  {0xfd95, 0x43ef90b3},
-  {0xfd96, 0x43ef90b4},
-  {0xfd97, 0x43ef90b5},
-  {0xfd98, 0x43ef90b6},
-  {0xfd99, 0x43ef90b7},
-  {0xfd9a, 0x43ef90b8},
-  {0xfd9b, 0x43ef90b9},
-  {0xfd9c, 0x43ef94b0},
-  {0xfd9d, 0x43ef94b1},
-  {0xfd9e, 0x43ef94b2},
-  {0xfd9f, 0x43ef94b3},
-  {0xfda0, 0x43ef94b4},
-  {0xfda1, 0x43ef94b5},
-  {0xfda2, 0x43ef94b6},
-  {0xfda3, 0x43ef94b7},
-  {0xfda4, 0x43ef94b8},
-  {0xfda5, 0x43ef94b9},
-  {0xfda6, 0x43ef98b0},
-  {0xfda7, 0x43ef98b1},
-  {0xfda8, 0x43ef98b2},
-  {0xfda9, 0x43ef98b3},
-  {0xfdaa, 0x43ef98b4},
-  {0xfdab, 0x43ef98b5},
-  {0xfdac, 0x43ef98b6},
-  {0xfdad, 0x43ef98b7},
-  {0xfdae, 0x43ef98b8},
-  {0xfdaf, 0x43ef98b9},
-  {0xfdb0, 0x43ef9cb0},
-  {0xfdb1, 0x43ef9cb1},
-  {0xfdb2, 0x43ef9cb2},
-  {0xfdb3, 0x43ef9cb3},
-  {0xfdb4, 0x43ef9cb4},
-  {0xfdb5, 0x43ef9cb5},
-  {0xfdb6, 0x43ef9cb6},
-  {0xfdb7, 0x43ef9cb7},
-  {0xfdb8, 0x43ef9cb8},
-  {0xfdb9, 0x43ef9cb9},
-  {0xfdba, 0x43efa0b0},
-  {0xfdbb, 0x43efa0b1},
-  {0xfdbc, 0x43efa0b2},
-  {0xfdbd, 0x43efa0b3},
-  {0xfdbe, 0x43efa0b4},
-  {0xfdbf, 0x43efa0b5},
-  {0xfdc0, 0x43efa0b6},
-  {0xfdc1, 0x43efa0b7},
-  {0xfdc2, 0x43efa0b8},
-  {0xfdc3, 0x43efa0b9},
-  {0xfdc4, 0x43efa4b0},
-  {0xfdc5, 0x43efa4b1},
-  {0xfdc6, 0x43efa4b2},
-  {0xfdc7, 0x43efa4b3},
-  {0xfdc8, 0x43efa4b4},
-  {0xfdc9, 0x43efa4b5},
-  {0xfdca, 0x43efa4b6},
-  {0xfdcb, 0x43efa4b7},
-  {0xfdcc, 0x43efa4b8},
-  {0xfdcd, 0x43efa4b9},
-  {0xfdce, 0x43efa8b0},
-  {0xfdcf, 0x43efa8b1},
-  {0xfdd0, 0x43efa8b2},
-  {0xfdd1, 0x43efa8b3},
-  {0xfdd2, 0x43efa8b4},
-  {0xfdd3, 0x43efa8b5},
-  {0xfdd4, 0x43efa8b6},
-  {0xfdd5, 0x43efa8b7},
-  {0xfdd6, 0x43efa8b8},
-  {0xfdd7, 0x43efa8b9},
-  {0xfdd8, 0x43efacb0},
-  {0xfdd9, 0x43efacb1},
-  {0xfdda, 0x43efacb2},
-  {0xfddb, 0x43efacb3},
-  {0xfddc, 0x43efacb4},
-  {0xfddd, 0x43efacb5},
-  {0xfdde, 0x43efacb6},
-  {0xfddf, 0x43efacb7},
-  {0xfde0, 0x43efacb8},
-  {0xfde1, 0x43efacb9},
-  {0xfde2, 0x43efb0b0},
-  {0xfde3, 0x43efb0b1},
-  {0xfde4, 0x43efb0b2},
-  {0xfde5, 0x43efb0b3},
-  {0xfde6, 0x43efb0b4},
-  {0xfde7, 0x43efb0b5},
-  {0xfde8, 0x43efb0b6},
-  {0xfde9, 0x43efb0b7},
-  {0xfdea, 0x43efb0b8},
-  {0xfdeb, 0x43efb0b9},
-  {0xfdec, 0x43efb4b0},
-  {0xfded, 0x43efb4b1},
-  {0xfdee, 0x43efb4b2},
-  {0xfdef, 0x43efb4b3},
-  {0xfdf0, 0x43efb4b4},
-  {0xfdf1, 0x43efb4b5},
-  {0xfdf2, 0x43efb4b6},
-  {0xfdf3, 0x43efb4b7},
-  {0xfdf4, 0x43efb4b8},
-  {0xfdf5, 0x43efb4b9},
-  {0xfdf6, 0x43efb8b0},
-  {0xfdf7, 0x43efb8b1},
-  {0xfdf8, 0x43efb8b2},
-  {0xfdf9, 0x43efb8b3},
-  {0xfdfa, 0x43efb8b4},
-  {0xfdfb, 0x43efb8b5},
-  {0xfdfc, 0x43efb8b6},
-  {0xfdfd, 0x43efb8b7},
-  {0xfdfe, 0x43efb8b8},
-  {0xfdff, 0x43efb8b9},
-  {0xfe00, 0x43f884b0},
-  {0xfe01, 0x43f884b1},
-  {0xfe02, 0x43f884b2},
-  {0xfe03, 0x43f884b3},
-  {0xfe04, 0x43f884b4},
-  {0xfe05, 0x43f884b5},
-  {0xfe06, 0x43f884b6},
-  {0xfe07, 0x43f884b7},
-  {0xfe08, 0x43f884b8},
-  {0xfe09, 0x43f884b9},
-  {0xfe0a, 0x43f888b0},
-  {0xfe0b, 0x43f888b1},
-  {0xfe0c, 0x43f888b2},
-  {0xfe0d, 0x43f888b3},
-  {0xfe0e, 0x43f888b4},
-  {0xfe0f, 0x43f888b5},
-  {0xfe10, 0x43f888b6},
-  {0xfe11, 0x43f888b7},
-  {0xfe12, 0x43f888b8},
-  {0xfe13, 0x43f888b9},
-  {0xfe14, 0x43f88cb0},
-  {0xfe15, 0x43f88cb1},
-  {0xfe16, 0x43f88cb2},
-  {0xfe17, 0x43f88cb3},
-  {0xfe18, 0x43f88cb4},
-  {0xfe19, 0x43f88cb5},
-  {0xfe1a, 0x43f88cb6},
-  {0xfe1b, 0x43f88cb7},
-  {0xfe1c, 0x43f88cb8},
-  {0xfe1d, 0x43f88cb9},
-  {0xfe1e, 0x43f890b0},
-  {0xfe1f, 0x43f890b1},
-  {0xfe20, 0x43f890b2},
-  {0xfe21, 0x43f890b3},
-  {0xfe22, 0x43f890b4},
-  {0xfe23, 0x43f890b5},
-  {0xfe24, 0x43f890b6},
-  {0xfe25, 0x43f890b7},
-  {0xfe26, 0x43f890b8},
-  {0xfe27, 0x43f890b9},
-  {0xfe28, 0x43f894b0},
-  {0xfe29, 0x43f894b1},
-  {0xfe2a, 0x43f894b2},
-  {0xfe2b, 0x43f894b3},
-  {0xfe2c, 0x43f894b4},
-  {0xfe2d, 0x43f894b5},
-  {0xfe2e, 0x43f894b6},
-  {0xfe2f, 0x43f894b7},
-  {0xfe30, 0xeaa595},
-  {0xfe31, 0xea9bb2},
-  {0xfe32, 0x43f894b8},
-  {0xfe33, 0xea9bb4},
-  {0xfe34, 0xea9bb5},
-  {0xfe35, 0xea9ba0},
-  {0xfe36, 0xea9ba1},
-  {0xfe37, 0xea9bb0},
-  {0xfe38, 0xea9bb1},
-  {0xfe39, 0xea9ba2},
-  {0xfe3a, 0xea9ba3},
-  {0xfe3b, 0xea9bae},
-  {0xfe3c, 0xea9baf},
-  {0xfe3d, 0xea9ba6},
-  {0xfe3e, 0xea9ba7},
-  {0xfe3f, 0xea9ba4},
-  {0xfe40, 0xea9ba5},
-  {0xfe41, 0xea9ba8},
-  {0xfe42, 0xea9ba9},
-  {0xfe43, 0xea9baa},
-  {0xfe44, 0xea9bab},
-  {0xfe45, 0x43f894b9},
-  {0xfe46, 0x43f898b0},
-  {0xfe47, 0x43f898b1},
-  {0xfe48, 0x43f898b2},
-  {0xfe49, 0xeaa5a8},
-  {0xfe4a, 0xeaa5a9},
-  {0xfe4b, 0xeaa5aa},
-  {0xfe4c, 0xeaa5ab},
-  {0xfe4d, 0xeaa5ac},
-  {0xfe4e, 0xeaa5ad},
-  {0xfe4f, 0xeaa5ae},
-  {0xfe50, 0xeaa5af},
-  {0xfe51, 0xeaa5b0},
-  {0xfe52, 0xeaa5b1},
-  {0xfe53, 0x43f898b3},
-  {0xfe54, 0xeaa5b2},
-  {0xfe55, 0xeaa5b3},
-  {0xfe56, 0xeaa5b4},
-  {0xfe57, 0xeaa5b5},
-  {0xfe58, 0x43f898b4},
-  {0xfe59, 0xeaa5b6},
-  {0xfe5a, 0xeaa5b7},
-  {0xfe5b, 0xeaa5b8},
-  {0xfe5c, 0xeaa5b9},
-  {0xfe5d, 0xeaa5ba},
-  {0xfe5e, 0xeaa5bb},
-  {0xfe5f, 0xeaa5bc},
-  {0xfe60, 0xeaa5bd},
-  {0xfe61, 0xeaa5be},
-  {0xfe62, 0xeaa680},
-  {0xfe63, 0xeaa681},
-  {0xfe64, 0xeaa682},
-  {0xfe65, 0xeaa683},
-  {0xfe66, 0xeaa684},
-  {0xfe67, 0x43f898b5},
-  {0xfe68, 0xeaa685},
-  {0xfe69, 0xeaa686},
-  {0xfe6a, 0xeaa687},
-  {0xfe6b, 0xeaa688},
-  {0xfe6c, 0x43f898b6},
-  {0xfe6d, 0x43f898b7},
-  {0xfe6e, 0x43f898b8},
-  {0xfe6f, 0x43f898b9},
-  {0xfe70, 0x43f89cb0},
-  {0xfe71, 0x43f89cb1},
-  {0xfe72, 0x43f89cb2},
-  {0xfe73, 0x43f89cb3},
-  {0xfe74, 0x43f89cb4},
-  {0xfe75, 0x43f89cb5},
-  {0xfe76, 0x43f89cb6},
-  {0xfe77, 0x43f89cb7},
-  {0xfe78, 0x43f89cb8},
-  {0xfe79, 0x43f89cb9},
-  {0xfe7a, 0x43f8a0b0},
-  {0xfe7b, 0x43f8a0b1},
-  {0xfe7c, 0x43f8a0b2},
-  {0xfe7d, 0x43f8a0b3},
-  {0xfe7e, 0x43f8a0b4},
-  {0xfe7f, 0x43f8a0b5},
-  {0xfe80, 0x43f8a0b6},
-  {0xfe81, 0x43f8a0b7},
-  {0xfe82, 0x43f8a0b8},
-  {0xfe83, 0x43f8a0b9},
-  {0xfe84, 0x43f8a4b0},
-  {0xfe85, 0x43f8a4b1},
-  {0xfe86, 0x43f8a4b2},
-  {0xfe87, 0x43f8a4b3},
-  {0xfe88, 0x43f8a4b4},
-  {0xfe89, 0x43f8a4b5},
-  {0xfe8a, 0x43f8a4b6},
-  {0xfe8b, 0x43f8a4b7},
-  {0xfe8c, 0x43f8a4b8},
-  {0xfe8d, 0x43f8a4b9},
-  {0xfe8e, 0x43f8a8b0},
-  {0xfe8f, 0x43f8a8b1},
-  {0xfe90, 0x43f8a8b2},
-  {0xfe91, 0x43f8a8b3},
-  {0xfe92, 0x43f8a8b4},
-  {0xfe93, 0x43f8a8b5},
-  {0xfe94, 0x43f8a8b6},
-  {0xfe95, 0x43f8a8b7},
-  {0xfe96, 0x43f8a8b8},
-  {0xfe97, 0x43f8a8b9},
-  {0xfe98, 0x43f8acb0},
-  {0xfe99, 0x43f8acb1},
-  {0xfe9a, 0x43f8acb2},
-  {0xfe9b, 0x43f8acb3},
-  {0xfe9c, 0x43f8acb4},
-  {0xfe9d, 0x43f8acb5},
-  {0xfe9e, 0x43f8acb6},
-  {0xfe9f, 0x43f8acb7},
-  {0xfea0, 0x43f8acb8},
-  {0xfea1, 0x43f8acb9},
-  {0xfea2, 0x43f8b0b0},
-  {0xfea3, 0x43f8b0b1},
-  {0xfea4, 0x43f8b0b2},
-  {0xfea5, 0x43f8b0b3},
-  {0xfea6, 0x43f8b0b4},
-  {0xfea7, 0x43f8b0b5},
-  {0xfea8, 0x43f8b0b6},
-  {0xfea9, 0x43f8b0b7},
-  {0xfeaa, 0x43f8b0b8},
-  {0xfeab, 0x43f8b0b9},
-  {0xfeac, 0x43f8b4b0},
-  {0xfead, 0x43f8b4b1},
-  {0xfeae, 0x43f8b4b2},
-  {0xfeaf, 0x43f8b4b3},
-  {0xfeb0, 0x43f8b4b4},
-  {0xfeb1, 0x43f8b4b5},
-  {0xfeb2, 0x43f8b4b6},
-  {0xfeb3, 0x43f8b4b7},
-  {0xfeb4, 0x43f8b4b8},
-  {0xfeb5, 0x43f8b4b9},
-  {0xfeb6, 0x43f8b8b0},
-  {0xfeb7, 0x43f8b8b1},
-  {0xfeb8, 0x43f8b8b2},
-  {0xfeb9, 0x43f8b8b3},
-  {0xfeba, 0x43f8b8b4},
-  {0xfebb, 0x43f8b8b5},
-  {0xfebc, 0x43f8b8b6},
-  {0xfebd, 0x43f8b8b7},
-  {0xfebe, 0x43f8b8b8},
-  {0xfebf, 0x43f8b8b9},
-  {0xfec0, 0x43f8bcb0},
-  {0xfec1, 0x43f8bcb1},
-  {0xfec2, 0x43f8bcb2},
-  {0xfec3, 0x43f8bcb3},
-  {0xfec4, 0x43f8bcb4},
-  {0xfec5, 0x43f8bcb5},
-  {0xfec6, 0x43f8bcb6},
-  {0xfec7, 0x43f8bcb7},
-  {0xfec8, 0x43f8bcb8},
-  {0xfec9, 0x43f8bcb9},
-  {0xfeca, 0x43f980b0},
-  {0xfecb, 0x43f980b1},
-  {0xfecc, 0x43f980b2},
-  {0xfecd, 0x43f980b3},
-  {0xfece, 0x43f980b4},
-  {0xfecf, 0x43f980b5},
-  {0xfed0, 0x43f980b6},
-  {0xfed1, 0x43f980b7},
-  {0xfed2, 0x43f980b8},
-  {0xfed3, 0x43f980b9},
-  {0xfed4, 0x43f984b0},
-  {0xfed5, 0x43f984b1},
-  {0xfed6, 0x43f984b2},
-  {0xfed7, 0x43f984b3},
-  {0xfed8, 0x43f984b4},
-  {0xfed9, 0x43f984b5},
-  {0xfeda, 0x43f984b6},
-  {0xfedb, 0x43f984b7},
-  {0xfedc, 0x43f984b8},
-  {0xfedd, 0x43f984b9},
-  {0xfede, 0x43f988b0},
-  {0xfedf, 0x43f988b1},
-  {0xfee0, 0x43f988b2},
-  {0xfee1, 0x43f988b3},
-  {0xfee2, 0x43f988b4},
-  {0xfee3, 0x43f988b5},
-  {0xfee4, 0x43f988b6},
-  {0xfee5, 0x43f988b7},
-  {0xfee6, 0x43f988b8},
-  {0xfee7, 0x43f988b9},
-  {0xfee8, 0x43f98cb0},
-  {0xfee9, 0x43f98cb1},
-  {0xfeea, 0x43f98cb2},
-  {0xfeeb, 0x43f98cb3},
-  {0xfeec, 0x43f98cb4},
-  {0xfeed, 0x43f98cb5},
-  {0xfeee, 0x43f98cb6},
-  {0xfeef, 0x43f98cb7},
-  {0xfef0, 0x43f98cb8},
-  {0xfef1, 0x43f98cb9},
-  {0xfef2, 0x43f990b0},
-  {0xfef3, 0x43f990b1},
-  {0xfef4, 0x43f990b2},
-  {0xfef5, 0x43f990b3},
-  {0xfef6, 0x43f990b4},
-  {0xfef7, 0x43f990b5},
-  {0xfef8, 0x43f990b6},
-  {0xfef9, 0x43f990b7},
-  {0xfefa, 0x43f990b8},
-  {0xfefb, 0x43f990b9},
-  {0xfefc, 0x43f994b0},
-  {0xfefd, 0x43f994b1},
-  {0xfefe, 0x43f994b2},
-  {0xfeff, 0x43f994b3},
-  {0xff00, 0x43f994b4},
-  {0xff01, 0xea8ea1},
-  {0xff02, 0xea8ea2},
-  {0xff03, 0xea8ea3},
-  {0xff04, 0xea87a7},
-  {0xff05, 0xea8ea5},
-  {0xff06, 0xea8ea6},
-  {0xff07, 0xea8ea7},
-  {0xff08, 0xea8ea8},
-  {0xff09, 0xea8ea9},
-  {0xff0a, 0xea8eaa},
-  {0xff0b, 0xea8eab},
-  {0xff0c, 0xea8eac},
-  {0xff0d, 0xea8ead},
-  {0xff0e, 0xea8eae},
-  {0xff0f, 0xea8eaf},
-  {0xff10, 0xea8eb0},
-  {0xff11, 0xea8eb1},
-  {0xff12, 0xea8eb2},
-  {0xff13, 0xea8eb3},
-  {0xff14, 0xea8eb4},
-  {0xff15, 0xea8eb5},
-  {0xff16, 0xea8eb6},
-  {0xff17, 0xea8eb7},
-  {0xff18, 0xea8eb8},
-  {0xff19, 0xea8eb9},
-  {0xff1a, 0xea8eba},
-  {0xff1b, 0xea8ebb},
-  {0xff1c, 0xea8ebc},
-  {0xff1d, 0xea8ebd},
-  {0xff1e, 0xea8ebe},
-  {0xff1f, 0xea8ebf},
-  {0xff20, 0xea8f80},
-  {0xff21, 0xea8f81},
-  {0xff22, 0xea8f82},
-  {0xff23, 0xea8f83},
-  {0xff24, 0xea8f84},
-  {0xff25, 0xea8f85},
-  {0xff26, 0xea8f86},
-  {0xff27, 0xea8f87},
-  {0xff28, 0xea8f88},
-  {0xff29, 0xea8f89},
-  {0xff2a, 0xea8f8a},
-  {0xff2b, 0xea8f8b},
-  {0xff2c, 0xea8f8c},
-  {0xff2d, 0xea8f8d},
-  {0xff2e, 0xea8f8e},
-  {0xff2f, 0xea8f8f},
-  {0xff30, 0xea8f90},
-  {0xff31, 0xea8f91},
-  {0xff32, 0xea8f92},
-  {0xff33, 0xea8f93},
-  {0xff34, 0xea8f94},
-  {0xff35, 0xea8f95},
-  {0xff36, 0xea8f96},
-  {0xff37, 0xea8f97},
-  {0xff38, 0xea8f98},
-  {0xff39, 0xea8f99},
-  {0xff3a, 0xea8f9a},
-  {0xff3b, 0xea8f9b},
-  {0xff3c, 0xea8f9c},
-  {0xff3d, 0xea8f9d},
-  {0xff3e, 0xea8f9e},
-  {0xff3f, 0xea8f9f},
-  {0xff40, 0xea8fa0},
-  {0xff41, 0xea8fa1},
-  {0xff42, 0xea8fa2},
-  {0xff43, 0xea8fa3},
-  {0xff44, 0xea8fa4},
-  {0xff45, 0xea8fa5},
-  {0xff46, 0xea8fa6},
-  {0xff47, 0xea8fa7},
-  {0xff48, 0xea8fa8},
-  {0xff49, 0xea8fa9},
-  {0xff4a, 0xea8faa},
-  {0xff4b, 0xea8fab},
-  {0xff4c, 0xea8fac},
-  {0xff4d, 0xea8fad},
-  {0xff4e, 0xea8fae},
-  {0xff4f, 0xea8faf},
-  {0xff50, 0xea8fb0},
-  {0xff51, 0xea8fb1},
-  {0xff52, 0xea8fb2},
-  {0xff53, 0xea8fb3},
-  {0xff54, 0xea8fb4},
-  {0xff55, 0xea8fb5},
-  {0xff56, 0xea8fb6},
-  {0xff57, 0xea8fb7},
-  {0xff58, 0xea8fb8},
-  {0xff59, 0xea8fb9},
-  {0xff5a, 0xea8fba},
-  {0xff5b, 0xea8fbb},
-  {0xff5c, 0xea8fbc},
-  {0xff5d, 0xea8fbd},
-  {0xff5e, 0xea86ab},
-  {0xff5f, 0x43f994b5},
-  {0xff60, 0x43f994b6},
-  {0xff61, 0x43f994b7},
-  {0xff62, 0x43f994b8},
-  {0xff63, 0x43f994b9},
-  {0xff64, 0x43f998b0},
-  {0xff65, 0x43f998b1},
-  {0xff66, 0x43f998b2},
-  {0xff67, 0x43f998b3},
-  {0xff68, 0x43f998b4},
-  {0xff69, 0x43f998b5},
-  {0xff6a, 0x43f998b6},
-  {0xff6b, 0x43f998b7},
-  {0xff6c, 0x43f998b8},
-  {0xff6d, 0x43f998b9},
-  {0xff6e, 0x43f99cb0},
-  {0xff6f, 0x43f99cb1},
-  {0xff70, 0x43f99cb2},
-  {0xff71, 0x43f99cb3},
-  {0xff72, 0x43f99cb4},
-  {0xff73, 0x43f99cb5},
-  {0xff74, 0x43f99cb6},
-  {0xff75, 0x43f99cb7},
-  {0xff76, 0x43f99cb8},
-  {0xff77, 0x43f99cb9},
-  {0xff78, 0x43f9a0b0},
-  {0xff79, 0x43f9a0b1},
-  {0xff7a, 0x43f9a0b2},
-  {0xff7b, 0x43f9a0b3},
-  {0xff7c, 0x43f9a0b4},
-  {0xff7d, 0x43f9a0b5},
-  {0xff7e, 0x43f9a0b6},
-  {0xff7f, 0x43f9a0b7},
-  {0xff80, 0x43f9a0b8},
-  {0xff81, 0x43f9a0b9},
-  {0xff82, 0x43f9a4b0},
-  {0xff83, 0x43f9a4b1},
-  {0xff84, 0x43f9a4b2},
-  {0xff85, 0x43f9a4b3},
-  {0xff86, 0x43f9a4b4},
-  {0xff87, 0x43f9a4b5},
-  {0xff88, 0x43f9a4b6},
-  {0xff89, 0x43f9a4b7},
-  {0xff8a, 0x43f9a4b8},
-  {0xff8b, 0x43f9a4b9},
-  {0xff8c, 0x43f9a8b0},
-  {0xff8d, 0x43f9a8b1},
-  {0xff8e, 0x43f9a8b2},
-  {0xff8f, 0x43f9a8b3},
-  {0xff90, 0x43f9a8b4},
-  {0xff91, 0x43f9a8b5},
-  {0xff92, 0x43f9a8b6},
-  {0xff93, 0x43f9a8b7},
-  {0xff94, 0x43f9a8b8},
-  {0xff95, 0x43f9a8b9},
-  {0xff96, 0x43f9acb0},
-  {0xff97, 0x43f9acb1},
-  {0xff98, 0x43f9acb2},
-  {0xff99, 0x43f9acb3},
-  {0xff9a, 0x43f9acb4},
-  {0xff9b, 0x43f9acb5},
-  {0xff9c, 0x43f9acb6},
-  {0xff9d, 0x43f9acb7},
-  {0xff9e, 0x43f9acb8},
-  {0xff9f, 0x43f9acb9},
-  {0xffa0, 0x43f9b0b0},
-  {0xffa1, 0x43f9b0b1},
-  {0xffa2, 0x43f9b0b2},
-  {0xffa3, 0x43f9b0b3},
-  {0xffa4, 0x43f9b0b4},
-  {0xffa5, 0x43f9b0b5},
-  {0xffa6, 0x43f9b0b6},
-  {0xffa7, 0x43f9b0b7},
-  {0xffa8, 0x43f9b0b8},
-  {0xffa9, 0x43f9b0b9},
-  {0xffaa, 0x43f9b4b0},
-  {0xffab, 0x43f9b4b1},
-  {0xffac, 0x43f9b4b2},
-  {0xffad, 0x43f9b4b3},
-  {0xffae, 0x43f9b4b4},
-  {0xffaf, 0x43f9b4b5},
-  {0xffb0, 0x43f9b4b6},
-  {0xffb1, 0x43f9b4b7},
-  {0xffb2, 0x43f9b4b8},
-  {0xffb3, 0x43f9b4b9},
-  {0xffb4, 0x43f9b8b0},
-  {0xffb5, 0x43f9b8b1},
-  {0xffb6, 0x43f9b8b2},
-  {0xffb7, 0x43f9b8b3},
-  {0xffb8, 0x43f9b8b4},
-  {0xffb9, 0x43f9b8b5},
-  {0xffba, 0x43f9b8b6},
-  {0xffbb, 0x43f9b8b7},
-  {0xffbc, 0x43f9b8b8},
-  {0xffbd, 0x43f9b8b9},
-  {0xffbe, 0x43f9bcb0},
-  {0xffbf, 0x43f9bcb1},
-  {0xffc0, 0x43f9bcb2},
-  {0xffc1, 0x43f9bcb3},
-  {0xffc2, 0x43f9bcb4},
-  {0xffc3, 0x43f9bcb5},
-  {0xffc4, 0x43f9bcb6},
-  {0xffc5, 0x43f9bcb7},
-  {0xffc6, 0x43f9bcb8},
-  {0xffc7, 0x43f9bcb9},
-  {0xffc8, 0x43fa80b0},
-  {0xffc9, 0x43fa80b1},
-  {0xffca, 0x43fa80b2},
-  {0xffcb, 0x43fa80b3},
-  {0xffcc, 0x43fa80b4},
-  {0xffcd, 0x43fa80b5},
-  {0xffce, 0x43fa80b6},
-  {0xffcf, 0x43fa80b7},
-  {0xffd0, 0x43fa80b8},
-  {0xffd1, 0x43fa80b9},
-  {0xffd2, 0x43fa84b0},
-  {0xffd3, 0x43fa84b1},
-  {0xffd4, 0x43fa84b2},
-  {0xffd5, 0x43fa84b3},
-  {0xffd6, 0x43fa84b4},
-  {0xffd7, 0x43fa84b5},
-  {0xffd8, 0x43fa84b6},
-  {0xffd9, 0x43fa84b7},
-  {0xffda, 0x43fa84b8},
-  {0xffdb, 0x43fa84b9},
-  {0xffdc, 0x43fa88b0},
-  {0xffdd, 0x43fa88b1},
-  {0xffde, 0x43fa88b2},
-  {0xffdf, 0x43fa88b3},
-  {0xffe0, 0xea87a9},
-  {0xffe1, 0xea87aa},
-  {0xffe2, 0xeaa596},
-  {0xffe3, 0xea8fbe},
-  {0xffe4, 0xeaa597},
-  {0xffe5, 0xea8ea4},
-  {0xffe6, 0x43fa88b4},
-  {0xffe7, 0x43fa88b5},
-  {0xffe8, 0x43fa88b6},
-  {0xffe9, 0x43fa88b7},
-  {0xffea, 0x43fa88b8},
-  {0xffeb, 0x43fa88b9},
-  {0xffec, 0x43fa8cb0},
-  {0xffed, 0x43fa8cb1},
-  {0xffee, 0x43fa8cb2},
-  {0xffef, 0x43fa8cb3},
-  {0xfff0, 0x43fa8cb4},
-  {0xfff1, 0x43fa8cb5},
-  {0xfff2, 0x43fa8cb6},
-  {0xfff3, 0x43fa8cb7},
-  {0xfff4, 0x43fa8cb8},
-  {0xfff5, 0x43fa8cb9},
-  {0xfff6, 0x43fa90b0},
-  {0xfff7, 0x43fa90b1},
-  {0xfff8, 0x43fa90b2},
-  {0xfff9, 0x43fa90b3},
-  {0xfffa, 0x43fa90b4},
-  {0xfffb, 0x43fa90b5},
-  {0xfffc, 0x43fa90b6},
-  {0xfffd, 0x43fa90b7},
-  {0xfffe, 0x43fa90b8},
-  {0xffff, 0x43fa90b9}
+  {0x8140, 0xe4b882},
+  {0x8141, 0xe4b884},
+  {0x8142, 0xe4b885},
+  {0x8143, 0xe4b886},
+  {0x8144, 0xe4b88f},
+  {0x8145, 0xe4b892},
+  {0x8146, 0xe4b897},
+  {0x8147, 0xe4b89f},
+  {0x8148, 0xe4b8a0},
+  {0x8149, 0xe4b8a1},
+  {0x814a, 0xe4b8a3},
+  {0x814b, 0xe4b8a6},
+  {0x814c, 0xe4b8a9},
+  {0x814d, 0xe4b8ae},
+  {0x814e, 0xe4b8af},
+  {0x814f, 0xe4b8b1},
+  {0x8150, 0xe4b8b3},
+  {0x8151, 0xe4b8b5},
+  {0x8152, 0xe4b8b7},
+  {0x8153, 0xe4b8bc},
+  {0x8154, 0xe4b980},
+  {0x8155, 0xe4b981},
+  {0x8156, 0xe4b982},
+  {0x8157, 0xe4b984},
+  {0x8158, 0xe4b986},
+  {0x8159, 0xe4b98a},
+  {0x815a, 0xe4b991},
+  {0x815b, 0xe4b995},
+  {0x815c, 0xe4b997},
+  {0x815d, 0xe4b99a},
+  {0x815e, 0xe4b99b},
+  {0x815f, 0xe4b9a2},
+  {0x8160, 0xe4b9a3},
+  {0x8161, 0xe4b9a4},
+  {0x8162, 0xe4b9a5},
+  {0x8163, 0xe4b9a7},
+  {0x8164, 0xe4b9a8},
+  {0x8165, 0xe4b9aa},
+  {0x8166, 0xe4b9ab},
+  {0x8167, 0xe4b9ac},
+  {0x8168, 0xe4b9ad},
+  {0x8169, 0xe4b9ae},
+  {0x816a, 0xe4b9af},
+  {0x816b, 0xe4b9b2},
+  {0x816c, 0xe4b9b4},
+  {0x816d, 0xe4b9b5},
+  {0x816e, 0xe4b9b6},
+  {0x816f, 0xe4b9b7},
+  {0x8170, 0xe4b9b8},
+  {0x8171, 0xe4b9b9},
+  {0x8172, 0xe4b9ba},
+  {0x8173, 0xe4b9bb},
+  {0x8174, 0xe4b9bc},
+  {0x8175, 0xe4b9bd},
+  {0x8176, 0xe4b9bf},
+  {0x8177, 0xe4ba80},
+  {0x8178, 0xe4ba81},
+  {0x8179, 0xe4ba82},
+  {0x817a, 0xe4ba83},
+  {0x817b, 0xe4ba84},
+  {0x817c, 0xe4ba85},
+  {0x817d, 0xe4ba87},
+  {0x817e, 0xe4ba8a},
+  {0x8180, 0xe4ba90},
+  {0x8181, 0xe4ba96},
+  {0x8182, 0xe4ba97},
+  {0x8183, 0xe4ba99},
+  {0x8184, 0xe4ba9c},
+  {0x8185, 0xe4ba9d},
+  {0x8186, 0xe4ba9e},
+  {0x8187, 0xe4baa3},
+  {0x8188, 0xe4baaa},
+  {0x8189, 0xe4baaf},
+  {0x818a, 0xe4bab0},
+  {0x818b, 0xe4bab1},
+  {0x818c, 0xe4bab4},
+  {0x818d, 0xe4bab6},
+  {0x818e, 0xe4bab7},
+  {0x818f, 0xe4bab8},
+  {0x8190, 0xe4bab9},
+  {0x8191, 0xe4babc},
+  {0x8192, 0xe4babd},
+  {0x8193, 0xe4babe},
+  {0x8194, 0xe4bb88},
+  {0x8195, 0xe4bb8c},
+  {0x8196, 0xe4bb8f},
+  {0x8197, 0xe4bb90},
+  {0x8198, 0xe4bb92},
+  {0x8199, 0xe4bb9a},
+  {0x819a, 0xe4bb9b},
+  {0x819b, 0xe4bb9c},
+  {0x819c, 0xe4bba0},
+  {0x819d, 0xe4bba2},
+  {0x819e, 0xe4bba6},
+  {0x819f, 0xe4bba7},
+  {0x81a0, 0xe4bba9},
+  {0x81a1, 0xe4bbad},
+  {0x81a2, 0xe4bbae},
+  {0x81a3, 0xe4bbaf},
+  {0x81a4, 0xe4bbb1},
+  {0x81a5, 0xe4bbb4},
+  {0x81a6, 0xe4bbb8},
+  {0x81a7, 0xe4bbb9},
+  {0x81a8, 0xe4bbba},
+  {0x81a9, 0xe4bbbc},
+  {0x81aa, 0xe4bbbe},
+  {0x81ab, 0xe4bc80},
+  {0x81ac, 0xe4bc82},
+  {0x81ad, 0xe4bc83},
+  {0x81ae, 0xe4bc84},
+  {0x81af, 0xe4bc85},
+  {0x81b0, 0xe4bc86},
+  {0x81b1, 0xe4bc87},
+  {0x81b2, 0xe4bc88},
+  {0x81b3, 0xe4bc8b},
+  {0x81b4, 0xe4bc8c},
+  {0x81b5, 0xe4bc92},
+  {0x81b6, 0xe4bc93},
+  {0x81b7, 0xe4bc94},
+  {0x81b8, 0xe4bc95},
+  {0x81b9, 0xe4bc96},
+  {0x81ba, 0xe4bc9c},
+  {0x81bb, 0xe4bc9d},
+  {0x81bc, 0xe4bca1},
+  {0x81bd, 0xe4bca3},
+  {0x81be, 0xe4bca8},
+  {0x81bf, 0xe4bca9},
+  {0x81c0, 0xe4bcac},
+  {0x81c1, 0xe4bcad},
+  {0x81c2, 0xe4bcae},
+  {0x81c3, 0xe4bcb1},
+  {0x81c4, 0xe4bcb3},
+  {0x81c5, 0xe4bcb5},
+  {0x81c6, 0xe4bcb7},
+  {0x81c7, 0xe4bcb9},
+  {0x81c8, 0xe4bcbb},
+  {0x81c9, 0xe4bcbe},
+  {0x81ca, 0xe4bcbf},
+  {0x81cb, 0xe4bd80},
+  {0x81cc, 0xe4bd81},
+  {0x81cd, 0xe4bd82},
+  {0x81ce, 0xe4bd84},
+  {0x81cf, 0xe4bd85},
+  {0x81d0, 0xe4bd87},
+  {0x81d1, 0xe4bd88},
+  {0x81d2, 0xe4bd89},
+  {0x81d3, 0xe4bd8a},
+  {0x81d4, 0xe4bd8b},
+  {0x81d5, 0xe4bd8c},
+  {0x81d6, 0xe4bd92},
+  {0x81d7, 0xe4bd94},
+  {0x81d8, 0xe4bd96},
+  {0x81d9, 0xe4bda1},
+  {0x81da, 0xe4bda2},
+  {0x81db, 0xe4bda6},
+  {0x81dc, 0xe4bda8},
+  {0x81dd, 0xe4bdaa},
+  {0x81de, 0xe4bdab},
+  {0x81df, 0xe4bdad},
+  {0x81e0, 0xe4bdae},
+  {0x81e1, 0xe4bdb1},
+  {0x81e2, 0xe4bdb2},
+  {0x81e3, 0xe4bdb5},
+  {0x81e4, 0xe4bdb7},
+  {0x81e5, 0xe4bdb8},
+  {0x81e6, 0xe4bdb9},
+  {0x81e7, 0xe4bdba},
+  {0x81e8, 0xe4bdbd},
+  {0x81e9, 0xe4be80},
+  {0x81ea, 0xe4be81},
+  {0x81eb, 0xe4be82},
+  {0x81ec, 0xe4be85},
+  {0x81ed, 0xe4be86},
+  {0x81ee, 0xe4be87},
+  {0x81ef, 0xe4be8a},
+  {0x81f0, 0xe4be8c},
+  {0x81f1, 0xe4be8e},
+  {0x81f2, 0xe4be90},
+  {0x81f3, 0xe4be92},
+  {0x81f4, 0xe4be93},
+  {0x81f5, 0xe4be95},
+  {0x81f6, 0xe4be96},
+  {0x81f7, 0xe4be98},
+  {0x81f8, 0xe4be99},
+  {0x81f9, 0xe4be9a},
+  {0x81fa, 0xe4be9c},
+  {0x81fb, 0xe4be9e},
+  {0x81fc, 0xe4be9f},
+  {0x81fd, 0xe4bea1},
+  {0x81fe, 0xe4bea2},
+  {0x8240, 0xe4bea4},
+  {0x8241, 0xe4beab},
+  {0x8242, 0xe4bead},
+  {0x8243, 0xe4beb0},
+  {0x8244, 0xe4beb1},
+  {0x8245, 0xe4beb2},
+  {0x8246, 0xe4beb3},
+  {0x8247, 0xe4beb4},
+  {0x8248, 0xe4beb6},
+  {0x8249, 0xe4beb7},
+  {0x824a, 0xe4beb8},
+  {0x824b, 0xe4beb9},
+  {0x824c, 0xe4beba},
+  {0x824d, 0xe4bebb},
+  {0x824e, 0xe4bebc},
+  {0x824f, 0xe4bebd},
+  {0x8250, 0xe4bebe},
+  {0x8251, 0xe4bf80},
+  {0x8252, 0xe4bf81},
+  {0x8253, 0xe4bf82},
+  {0x8254, 0xe4bf86},
+  {0x8255, 0xe4bf87},
+  {0x8256, 0xe4bf88},
+  {0x8257, 0xe4bf89},
+  {0x8258, 0xe4bf8b},
+  {0x8259, 0xe4bf8c},
+  {0x825a, 0xe4bf8d},
+  {0x825b, 0xe4bf92},
+  {0x825c, 0xe4bf93},
+  {0x825d, 0xe4bf94},
+  {0x825e, 0xe4bf95},
+  {0x825f, 0xe4bf96},
+  {0x8260, 0xe4bf99},
+  {0x8261, 0xe4bf9b},
+  {0x8262, 0xe4bfa0},
+  {0x8263, 0xe4bfa2},
+  {0x8264, 0xe4bfa4},
+  {0x8265, 0xe4bfa5},
+  {0x8266, 0xe4bfa7},
+  {0x8267, 0xe4bfab},
+  {0x8268, 0xe4bfac},
+  {0x8269, 0xe4bfb0},
+  {0x826a, 0xe4bfb2},
+  {0x826b, 0xe4bfb4},
+  {0x826c, 0xe4bfb5},
+  {0x826d, 0xe4bfb6},
+  {0x826e, 0xe4bfb7},
+  {0x826f, 0xe4bfb9},
+  {0x8270, 0xe4bfbb},
+  {0x8271, 0xe4bfbc},
+  {0x8272, 0xe4bfbd},
+  {0x8273, 0xe4bfbf},
+  {0x8274, 0xe58080},
+  {0x8275, 0xe58081},
+  {0x8276, 0xe58082},
+  {0x8277, 0xe58083},
+  {0x8278, 0xe58084},
+  {0x8279, 0xe58085},
+  {0x827a, 0xe58086},
+  {0x827b, 0xe58087},
+  {0x827c, 0xe58088},
+  {0x827d, 0xe58089},
+  {0x827e, 0xe5808a},
+  {0x8280, 0xe5808b},
+  {0x8281, 0xe5808e},
+  {0x8282, 0xe58090},
+  {0x8283, 0xe58091},
+  {0x8284, 0xe58093},
+  {0x8285, 0xe58095},
+  {0x8286, 0xe58096},
+  {0x8287, 0xe58097},
+  {0x8288, 0xe5809b},
+  {0x8289, 0xe5809d},
+  {0x828a, 0xe5809e},
+  {0x828b, 0xe580a0},
+  {0x828c, 0xe580a2},
+  {0x828d, 0xe580a3},
+  {0x828e, 0xe580a4},
+  {0x828f, 0xe580a7},
+  {0x8290, 0xe580ab},
+  {0x8291, 0xe580af},
+  {0x8292, 0xe580b0},
+  {0x8293, 0xe580b1},
+  {0x8294, 0xe580b2},
+  {0x8295, 0xe580b3},
+  {0x8296, 0xe580b4},
+  {0x8297, 0xe580b5},
+  {0x8298, 0xe580b6},
+  {0x8299, 0xe580b7},
+  {0x829a, 0xe580b8},
+  {0x829b, 0xe580b9},
+  {0x829c, 0xe580bb},
+  {0x829d, 0xe580bd},
+  {0x829e, 0xe580bf},
+  {0x829f, 0xe58180},
+  {0x82a0, 0xe58181},
+  {0x82a1, 0xe58182},
+  {0x82a2, 0xe58184},
+  {0x82a3, 0xe58185},
+  {0x82a4, 0xe58186},
+  {0x82a5, 0xe58189},
+  {0x82a6, 0xe5818a},
+  {0x82a7, 0xe5818b},
+  {0x82a8, 0xe5818d},
+  {0x82a9, 0xe58190},
+  {0x82aa, 0xe58191},
+  {0x82ab, 0xe58192},
+  {0x82ac, 0xe58193},
+  {0x82ad, 0xe58194},
+  {0x82ae, 0xe58196},
+  {0x82af, 0xe58197},
+  {0x82b0, 0xe58198},
+  {0x82b1, 0xe58199},
+  {0x82b2, 0xe5819b},
+  {0x82b3, 0xe5819d},
+  {0x82b4, 0xe5819e},
+  {0x82b5, 0xe5819f},
+  {0x82b6, 0xe581a0},
+  {0x82b7, 0xe581a1},
+  {0x82b8, 0xe581a2},
+  {0x82b9, 0xe581a3},
+  {0x82ba, 0xe581a4},
+  {0x82bb, 0xe581a6},
+  {0x82bc, 0xe581a7},
+  {0x82bd, 0xe581a8},
+  {0x82be, 0xe581a9},
+  {0x82bf, 0xe581aa},
+  {0x82c0, 0xe581ab},
+  {0x82c1, 0xe581ad},
+  {0x82c2, 0xe581ae},
+  {0x82c3, 0xe581af},
+  {0x82c4, 0xe581b0},
+  {0x82c5, 0xe581b1},
+  {0x82c6, 0xe581b2},
+  {0x82c7, 0xe581b3},
+  {0x82c8, 0xe581b4},
+  {0x82c9, 0xe581b5},
+  {0x82ca, 0xe581b8},
+  {0x82cb, 0xe581b9},
+  {0x82cc, 0xe581ba},
+  {0x82cd, 0xe581bc},
+  {0x82ce, 0xe581bd},
+  {0x82cf, 0xe58281},
+  {0x82d0, 0xe58282},
+  {0x82d1, 0xe58283},
+  {0x82d2, 0xe58284},
+  {0x82d3, 0xe58286},
+  {0x82d4, 0xe58287},
+  {0x82d5, 0xe58289},
+  {0x82d6, 0xe5828a},
+  {0x82d7, 0xe5828b},
+  {0x82d8, 0xe5828c},
+  {0x82d9, 0xe5828e},
+  {0x82da, 0xe5828f},
+  {0x82db, 0xe58290},
+  {0x82dc, 0xe58291},
+  {0x82dd, 0xe58292},
+  {0x82de, 0xe58293},
+  {0x82df, 0xe58294},
+  {0x82e0, 0xe58295},
+  {0x82e1, 0xe58296},
+  {0x82e2, 0xe58297},
+  {0x82e3, 0xe58298},
+  {0x82e4, 0xe58299},
+  {0x82e5, 0xe5829a},
+  {0x82e6, 0xe5829b},
+  {0x82e7, 0xe5829c},
+  {0x82e8, 0xe5829d},
+  {0x82e9, 0xe5829e},
+  {0x82ea, 0xe5829f},
+  {0x82eb, 0xe582a0},
+  {0x82ec, 0xe582a1},
+  {0x82ed, 0xe582a2},
+  {0x82ee, 0xe582a4},
+  {0x82ef, 0xe582a6},
+  {0x82f0, 0xe582aa},
+  {0x82f1, 0xe582ab},
+  {0x82f2, 0xe582ad},
+  {0x82f3, 0xe582ae},
+  {0x82f4, 0xe582af},
+  {0x82f5, 0xe582b0},
+  {0x82f6, 0xe582b1},
+  {0x82f7, 0xe582b3},
+  {0x82f8, 0xe582b4},
+  {0x82f9, 0xe582b5},
+  {0x82fa, 0xe582b6},
+  {0x82fb, 0xe582b7},
+  {0x82fc, 0xe582b8},
+  {0x82fd, 0xe582b9},
+  {0x82fe, 0xe582bc},
+  {0x8340, 0xe582bd},
+  {0x8341, 0xe582be},
+  {0x8342, 0xe582bf},
+  {0x8343, 0xe58380},
+  {0x8344, 0xe58381},
+  {0x8345, 0xe58382},
+  {0x8346, 0xe58383},
+  {0x8347, 0xe58384},
+  {0x8348, 0xe58385},
+  {0x8349, 0xe58386},
+  {0x834a, 0xe58387},
+  {0x834b, 0xe58388},
+  {0x834c, 0xe58389},
+  {0x834d, 0xe5838a},
+  {0x834e, 0xe5838b},
+  {0x834f, 0xe5838c},
+  {0x8350, 0xe5838d},
+  {0x8351, 0xe5838e},
+  {0x8352, 0xe58390},
+  {0x8353, 0xe58391},
+  {0x8354, 0xe58392},
+  {0x8355, 0xe58393},
+  {0x8356, 0xe58394},
+  {0x8357, 0xe58395},
+  {0x8358, 0xe58397},
+  {0x8359, 0xe58398},
+  {0x835a, 0xe58399},
+  {0x835b, 0xe5839b},
+  {0x835c, 0xe5839c},
+  {0x835d, 0xe5839d},
+  {0x835e, 0xe5839e},
+  {0x835f, 0xe5839f},
+  {0x8360, 0xe583a0},
+  {0x8361, 0xe583a1},
+  {0x8362, 0xe583a2},
+  {0x8363, 0xe583a3},
+  {0x8364, 0xe583a4},
+  {0x8365, 0xe583a5},
+  {0x8366, 0xe583a8},
+  {0x8367, 0xe583a9},
+  {0x8368, 0xe583aa},
+  {0x8369, 0xe583ab},
+  {0x836a, 0xe583af},
+  {0x836b, 0xe583b0},
+  {0x836c, 0xe583b1},
+  {0x836d, 0xe583b2},
+  {0x836e, 0xe583b4},
+  {0x836f, 0xe583b6},
+  {0x8370, 0xe583b7},
+  {0x8371, 0xe583b8},
+  {0x8372, 0xe583b9},
+  {0x8373, 0xe583ba},
+  {0x8374, 0xe583bc},
+  {0x8375, 0xe583bd},
+  {0x8376, 0xe583be},
+  {0x8377, 0xe583bf},
+  {0x8378, 0xe58480},
+  {0x8379, 0xe58481},
+  {0x837a, 0xe58482},
+  {0x837b, 0xe58483},
+  {0x837c, 0xe58484},
+  {0x837d, 0xe58485},
+  {0x837e, 0xe58488},
+  {0x8380, 0xe58489},
+  {0x8381, 0xe5848a},
+  {0x8382, 0xe5848c},
+  {0x8383, 0xe5848d},
+  {0x8384, 0xe5848e},
+  {0x8385, 0xe5848f},
+  {0x8386, 0xe58490},
+  {0x8387, 0xe58491},
+  {0x8388, 0xe58493},
+  {0x8389, 0xe58494},
+  {0x838a, 0xe58495},
+  {0x838b, 0xe58496},
+  {0x838c, 0xe58497},
+  {0x838d, 0xe58498},
+  {0x838e, 0xe58499},
+  {0x838f, 0xe5849a},
+  {0x8390, 0xe5849b},
+  {0x8391, 0xe5849c},
+  {0x8392, 0xe5849d},
+  {0x8393, 0xe5849e},
+  {0x8394, 0xe5849f},
+  {0x8395, 0xe584a0},
+  {0x8396, 0xe584a2},
+  {0x8397, 0xe584a3},
+  {0x8398, 0xe584a4},
+  {0x8399, 0xe584a5},
+  {0x839a, 0xe584a6},
+  {0x839b, 0xe584a7},
+  {0x839c, 0xe584a8},
+  {0x839d, 0xe584a9},
+  {0x839e, 0xe584aa},
+  {0x839f, 0xe584ab},
+  {0x83a0, 0xe584ac},
+  {0x83a1, 0xe584ad},
+  {0x83a2, 0xe584ae},
+  {0x83a3, 0xe584af},
+  {0x83a4, 0xe584b0},
+  {0x83a5, 0xe584b1},
+  {0x83a6, 0xe584b2},
+  {0x83a7, 0xe584b3},
+  {0x83a8, 0xe584b4},
+  {0x83a9, 0xe584b5},
+  {0x83aa, 0xe584b6},
+  {0x83ab, 0xe584b7},
+  {0x83ac, 0xe584b8},
+  {0x83ad, 0xe584b9},
+  {0x83ae, 0xe584ba},
+  {0x83af, 0xe584bb},
+  {0x83b0, 0xe584bc},
+  {0x83b1, 0xe584bd},
+  {0x83b2, 0xe584be},
+  {0x83b3, 0xe58582},
+  {0x83b4, 0xe58587},
+  {0x83b5, 0xe5858a},
+  {0x83b6, 0xe5858c},
+  {0x83b7, 0xe5858e},
+  {0x83b8, 0xe5858f},
+  {0x83b9, 0xe58590},
+  {0x83ba, 0xe58592},
+  {0x83bb, 0xe58593},
+  {0x83bc, 0xe58597},
+  {0x83bd, 0xe58598},
+  {0x83be, 0xe58599},
+  {0x83bf, 0xe5859b},
+  {0x83c0, 0xe5859d},
+  {0x83c1, 0xe5859e},
+  {0x83c2, 0xe5859f},
+  {0x83c3, 0xe585a0},
+  {0x83c4, 0xe585a1},
+  {0x83c5, 0xe585a3},
+  {0x83c6, 0xe585a4},
+  {0x83c7, 0xe585a6},
+  {0x83c8, 0xe585a7},
+  {0x83c9, 0xe585a9},
+  {0x83ca, 0xe585aa},
+  {0x83cb, 0xe585af},
+  {0x83cc, 0xe585b2},
+  {0x83cd, 0xe585ba},
+  {0x83ce, 0xe585be},
+  {0x83cf, 0xe585bf},
+  {0x83d0, 0xe58683},
+  {0x83d1, 0xe58684},
+  {0x83d2, 0xe58686},
+  {0x83d3, 0xe58687},
+  {0x83d4, 0xe5868a},
+  {0x83d5, 0xe5868b},
+  {0x83d6, 0xe5868e},
+  {0x83d7, 0xe5868f},
+  {0x83d8, 0xe58690},
+  {0x83d9, 0xe58691},
+  {0x83da, 0xe58693},
+  {0x83db, 0xe58694},
+  {0x83dc, 0xe58698},
+  {0x83dd, 0xe5869a},
+  {0x83de, 0xe5869d},
+  {0x83df, 0xe5869e},
+  {0x83e0, 0xe5869f},
+  {0x83e1, 0xe586a1},
+  {0x83e2, 0xe586a3},
+  {0x83e3, 0xe586a6},
+  {0x83e4, 0xe586a7},
+  {0x83e5, 0xe586a8},
+  {0x83e6, 0xe586a9},
+  {0x83e7, 0xe586aa},
+  {0x83e8, 0xe586ad},
+  {0x83e9, 0xe586ae},
+  {0x83ea, 0xe586b4},
+  {0x83eb, 0xe586b8},
+  {0x83ec, 0xe586b9},
+  {0x83ed, 0xe586ba},
+  {0x83ee, 0xe586be},
+  {0x83ef, 0xe586bf},
+  {0x83f0, 0xe58781},
+  {0x83f1, 0xe58782},
+  {0x83f2, 0xe58783},
+  {0x83f3, 0xe58785},
+  {0x83f4, 0xe58788},
+  {0x83f5, 0xe5878a},
+  {0x83f6, 0xe5878d},
+  {0x83f7, 0xe5878e},
+  {0x83f8, 0xe58790},
+  {0x83f9, 0xe58792},
+  {0x83fa, 0xe58793},
+  {0x83fb, 0xe58794},
+  {0x83fc, 0xe58795},
+  {0x83fd, 0xe58796},
+  {0x83fe, 0xe58797},
+  {0x8440, 0xe58798},
+  {0x8441, 0xe58799},
+  {0x8442, 0xe5879a},
+  {0x8443, 0xe5879c},
+  {0x8444, 0xe5879e},
+  {0x8445, 0xe5879f},
+  {0x8446, 0xe587a2},
+  {0x8447, 0xe587a3},
+  {0x8448, 0xe587a5},
+  {0x8449, 0xe587a6},
+  {0x844a, 0xe587a7},
+  {0x844b, 0xe587a8},
+  {0x844c, 0xe587a9},
+  {0x844d, 0xe587aa},
+  {0x844e, 0xe587ac},
+  {0x844f, 0xe587ae},
+  {0x8450, 0xe587b1},
+  {0x8451, 0xe587b2},
+  {0x8452, 0xe587b4},
+  {0x8453, 0xe587b7},
+  {0x8454, 0xe587be},
+  {0x8455, 0xe58884},
+  {0x8456, 0xe58885},
+  {0x8457, 0xe58889},
+  {0x8458, 0xe5888b},
+  {0x8459, 0xe5888c},
+  {0x845a, 0xe5888f},
+  {0x845b, 0xe58890},
+  {0x845c, 0xe58893},
+  {0x845d, 0xe58894},
+  {0x845e, 0xe58895},
+  {0x845f, 0xe5889c},
+  {0x8460, 0xe5889e},
+  {0x8461, 0xe5889f},
+  {0x8462, 0xe588a1},
+  {0x8463, 0xe588a2},
+  {0x8464, 0xe588a3},
+  {0x8465, 0xe588a5},
+  {0x8466, 0xe588a6},
+  {0x8467, 0xe588a7},
+  {0x8468, 0xe588aa},
+  {0x8469, 0xe588ac},
+  {0x846a, 0xe588af},
+  {0x846b, 0xe588b1},
+  {0x846c, 0xe588b2},
+  {0x846d, 0xe588b4},
+  {0x846e, 0xe588b5},
+  {0x846f, 0xe588bc},
+  {0x8470, 0xe588be},
+  {0x8471, 0xe58984},
+  {0x8472, 0xe58985},
+  {0x8473, 0xe58986},
+  {0x8474, 0xe58987},
+  {0x8475, 0xe58988},
+  {0x8476, 0xe58989},
+  {0x8477, 0xe5898b},
+  {0x8478, 0xe5898e},
+  {0x8479, 0xe5898f},
+  {0x847a, 0xe58992},
+  {0x847b, 0xe58993},
+  {0x847c, 0xe58995},
+  {0x847d, 0xe58997},
+  {0x847e, 0xe58998},
+  {0x8480, 0xe58999},
+  {0x8481, 0xe5899a},
+  {0x8482, 0xe5899b},
+  {0x8483, 0xe5899d},
+  {0x8484, 0xe5899f},
+  {0x8485, 0xe589a0},
+  {0x8486, 0xe589a2},
+  {0x8487, 0xe589a3},
+  {0x8488, 0xe589a4},
+  {0x8489, 0xe589a6},
+  {0x848a, 0xe589a8},
+  {0x848b, 0xe589ab},
+  {0x848c, 0xe589ac},
+  {0x848d, 0xe589ad},
+  {0x848e, 0xe589ae},
+  {0x848f, 0xe589b0},
+  {0x8490, 0xe589b1},
+  {0x8491, 0xe589b3},
+  {0x8492, 0xe589b4},
+  {0x8493, 0xe589b5},
+  {0x8494, 0xe589b6},
+  {0x8495, 0xe589b7},
+  {0x8496, 0xe589b8},
+  {0x8497, 0xe589b9},
+  {0x8498, 0xe589ba},
+  {0x8499, 0xe589bb},
+  {0x849a, 0xe589bc},
+  {0x849b, 0xe589be},
+  {0x849c, 0xe58a80},
+  {0x849d, 0xe58a83},
+  {0x849e, 0xe58a84},
+  {0x849f, 0xe58a85},
+  {0x84a0, 0xe58a86},
+  {0x84a1, 0xe58a87},
+  {0x84a2, 0xe58a89},
+  {0x84a3, 0xe58a8a},
+  {0x84a4, 0xe58a8b},
+  {0x84a5, 0xe58a8c},
+  {0x84a6, 0xe58a8d},
+  {0x84a7, 0xe58a8e},
+  {0x84a8, 0xe58a8f},
+  {0x84a9, 0xe58a91},
+  {0x84aa, 0xe58a92},
+  {0x84ab, 0xe58a94},
+  {0x84ac, 0xe58a95},
+  {0x84ad, 0xe58a96},
+  {0x84ae, 0xe58a97},
+  {0x84af, 0xe58a98},
+  {0x84b0, 0xe58a99},
+  {0x84b1, 0xe58a9a},
+  {0x84b2, 0xe58a9c},
+  {0x84b3, 0xe58aa4},
+  {0x84b4, 0xe58aa5},
+  {0x84b5, 0xe58aa6},
+  {0x84b6, 0xe58aa7},
+  {0x84b7, 0xe58aae},
+  {0x84b8, 0xe58aaf},
+  {0x84b9, 0xe58ab0},
+  {0x84ba, 0xe58ab4},
+  {0x84bb, 0xe58ab5},
+  {0x84bc, 0xe58ab6},
+  {0x84bd, 0xe58ab7},
+  {0x84be, 0xe58ab8},
+  {0x84bf, 0xe58ab9},
+  {0x84c0, 0xe58aba},
+  {0x84c1, 0xe58abb},
+  {0x84c2, 0xe58abc},
+  {0x84c3, 0xe58abd},
+  {0x84c4, 0xe58b80},
+  {0x84c5, 0xe58b81},
+  {0x84c6, 0xe58b82},
+  {0x84c7, 0xe58b84},
+  {0x84c8, 0xe58b85},
+  {0x84c9, 0xe58b86},
+  {0x84ca, 0xe58b88},
+  {0x84cb, 0xe58b8a},
+  {0x84cc, 0xe58b8c},
+  {0x84cd, 0xe58b8d},
+  {0x84ce, 0xe58b8e},
+  {0x84cf, 0xe58b8f},
+  {0x84d0, 0xe58b91},
+  {0x84d1, 0xe58b93},
+  {0x84d2, 0xe58b94},
+  {0x84d3, 0xe58b95},
+  {0x84d4, 0xe58b97},
+  {0x84d5, 0xe58b99},
+  {0x84d6, 0xe58b9a},
+  {0x84d7, 0xe58b9b},
+  {0x84d8, 0xe58b9c},
+  {0x84d9, 0xe58b9d},
+  {0x84da, 0xe58b9e},
+  {0x84db, 0xe58ba0},
+  {0x84dc, 0xe58ba1},
+  {0x84dd, 0xe58ba2},
+  {0x84de, 0xe58ba3},
+  {0x84df, 0xe58ba5},
+  {0x84e0, 0xe58ba6},
+  {0x84e1, 0xe58ba7},
+  {0x84e2, 0xe58ba8},
+  {0x84e3, 0xe58ba9},
+  {0x84e4, 0xe58baa},
+  {0x84e5, 0xe58bab},
+  {0x84e6, 0xe58bac},
+  {0x84e7, 0xe58bad},
+  {0x84e8, 0xe58bae},
+  {0x84e9, 0xe58baf},
+  {0x84ea, 0xe58bb1},
+  {0x84eb, 0xe58bb2},
+  {0x84ec, 0xe58bb3},
+  {0x84ed, 0xe58bb4},
+  {0x84ee, 0xe58bb5},
+  {0x84ef, 0xe58bb6},
+  {0x84f0, 0xe58bb7},
+  {0x84f1, 0xe58bb8},
+  {0x84f2, 0xe58bbb},
+  {0x84f3, 0xe58bbc},
+  {0x84f4, 0xe58bbd},
+  {0x84f5, 0xe58c81},
+  {0x84f6, 0xe58c82},
+  {0x84f7, 0xe58c83},
+  {0x84f8, 0xe58c84},
+  {0x84f9, 0xe58c87},
+  {0x84fa, 0xe58c89},
+  {0x84fb, 0xe58c8a},
+  {0x84fc, 0xe58c8b},
+  {0x84fd, 0xe58c8c},
+  {0x84fe, 0xe58c8e},
+  {0x8540, 0xe58c91},
+  {0x8541, 0xe58c92},
+  {0x8542, 0xe58c93},
+  {0x8543, 0xe58c94},
+  {0x8544, 0xe58c98},
+  {0x8545, 0xe58c9b},
+  {0x8546, 0xe58c9c},
+  {0x8547, 0xe58c9e},
+  {0x8548, 0xe58c9f},
+  {0x8549, 0xe58ca2},
+  {0x854a, 0xe58ca4},
+  {0x854b, 0xe58ca5},
+  {0x854c, 0xe58ca7},
+  {0x854d, 0xe58ca8},
+  {0x854e, 0xe58ca9},
+  {0x854f, 0xe58cab},
+  {0x8550, 0xe58cac},
+  {0x8551, 0xe58cad},
+  {0x8552, 0xe58caf},
+  {0x8553, 0xe58cb0},
+  {0x8554, 0xe58cb1},
+  {0x8555, 0xe58cb2},
+  {0x8556, 0xe58cb3},
+  {0x8557, 0xe58cb4},
+  {0x8558, 0xe58cb5},
+  {0x8559, 0xe58cb6},
+  {0x855a, 0xe58cb7},
+  {0x855b, 0xe58cb8},
+  {0x855c, 0xe58cbc},
+  {0x855d, 0xe58cbd},
+  {0x855e, 0xe58d80},
+  {0x855f, 0xe58d82},
+  {0x8560, 0xe58d84},
+  {0x8561, 0xe58d86},
+  {0x8562, 0xe58d8b},
+  {0x8563, 0xe58d8c},
+  {0x8564, 0xe58d8d},
+  {0x8565, 0xe58d90},
+  {0x8566, 0xe58d94},
+  {0x8567, 0xe58d98},
+  {0x8568, 0xe58d99},
+  {0x8569, 0xe58d9b},
+  {0x856a, 0xe58d9d},
+  {0x856b, 0xe58da5},
+  {0x856c, 0xe58da8},
+  {0x856d, 0xe58daa},
+  {0x856e, 0xe58dac},
+  {0x856f, 0xe58dad},
+  {0x8570, 0xe58db2},
+  {0x8571, 0xe58db6},
+  {0x8572, 0xe58db9},
+  {0x8573, 0xe58dbb},
+  {0x8574, 0xe58dbc},
+  {0x8575, 0xe58dbd},
+  {0x8576, 0xe58dbe},
+  {0x8577, 0xe58e80},
+  {0x8578, 0xe58e81},
+  {0x8579, 0xe58e83},
+  {0x857a, 0xe58e87},
+  {0x857b, 0xe58e88},
+  {0x857c, 0xe58e8a},
+  {0x857d, 0xe58e8e},
+  {0x857e, 0xe58e8f},
+  {0x8580, 0xe58e90},
+  {0x8581, 0xe58e91},
+  {0x8582, 0xe58e92},
+  {0x8583, 0xe58e93},
+  {0x8584, 0xe58e94},
+  {0x8585, 0xe58e96},
+  {0x8586, 0xe58e97},
+  {0x8587, 0xe58e99},
+  {0x8588, 0xe58e9b},
+  {0x8589, 0xe58e9c},
+  {0x858a, 0xe58e9e},
+  {0x858b, 0xe58ea0},
+  {0x858c, 0xe58ea1},
+  {0x858d, 0xe58ea4},
+  {0x858e, 0xe58ea7},
+  {0x858f, 0xe58eaa},
+  {0x8590, 0xe58eab},
+  {0x8591, 0xe58eac},
+  {0x8592, 0xe58ead},
+  {0x8593, 0xe58eaf},
+  {0x8594, 0xe58eb0},
+  {0x8595, 0xe58eb1},
+  {0x8596, 0xe58eb2},
+  {0x8597, 0xe58eb3},
+  {0x8598, 0xe58eb4},
+  {0x8599, 0xe58eb5},
+  {0x859a, 0xe58eb7},
+  {0x859b, 0xe58eb8},
+  {0x859c, 0xe58eb9},
+  {0x859d, 0xe58eba},
+  {0x859e, 0xe58ebc},
+  {0x859f, 0xe58ebd},
+  {0x85a0, 0xe58ebe},
+  {0x85a1, 0xe58f80},
+  {0x85a2, 0xe58f83},
+  {0x85a3, 0xe58f84},
+  {0x85a4, 0xe58f85},
+  {0x85a5, 0xe58f86},
+  {0x85a6, 0xe58f87},
+  {0x85a7, 0xe58f8e},
+  {0x85a8, 0xe58f8f},
+  {0x85a9, 0xe58f90},
+  {0x85aa, 0xe58f92},
+  {0x85ab, 0xe58f93},
+  {0x85ac, 0xe58f95},
+  {0x85ad, 0xe58f9a},
+  {0x85ae, 0xe58f9c},
+  {0x85af, 0xe58f9d},
+  {0x85b0, 0xe58f9e},
+  {0x85b1, 0xe58fa1},
+  {0x85b2, 0xe58fa2},
+  {0x85b3, 0xe58fa7},
+  {0x85b4, 0xe58fb4},
+  {0x85b5, 0xe58fba},
+  {0x85b6, 0xe58fbe},
+  {0x85b7, 0xe58fbf},
+  {0x85b8, 0xe59080},
+  {0x85b9, 0xe59082},
+  {0x85ba, 0xe59085},
+  {0x85bb, 0xe59087},
+  {0x85bc, 0xe5908b},
+  {0x85bd, 0xe59094},
+  {0x85be, 0xe59098},
+  {0x85bf, 0xe59099},
+  {0x85c0, 0xe5909a},
+  {0x85c1, 0xe5909c},
+  {0x85c2, 0xe590a2},
+  {0x85c3, 0xe590a4},
+  {0x85c4, 0xe590a5},
+  {0x85c5, 0xe590aa},
+  {0x85c6, 0xe590b0},
+  {0x85c7, 0xe590b3},
+  {0x85c8, 0xe590b6},
+  {0x85c9, 0xe590b7},
+  {0x85ca, 0xe590ba},
+  {0x85cb, 0xe590bd},
+  {0x85cc, 0xe590bf},
+  {0x85cd, 0xe59181},
+  {0x85ce, 0xe59182},
+  {0x85cf, 0xe59184},
+  {0x85d0, 0xe59185},
+  {0x85d1, 0xe59187},
+  {0x85d2, 0xe59189},
+  {0x85d3, 0xe5918c},
+  {0x85d4, 0xe5918d},
+  {0x85d5, 0xe5918e},
+  {0x85d6, 0xe5918f},
+  {0x85d7, 0xe59191},
+  {0x85d8, 0xe5919a},
+  {0x85d9, 0xe5919d},
+  {0x85da, 0xe5919e},
+  {0x85db, 0xe5919f},
+  {0x85dc, 0xe591a0},
+  {0x85dd, 0xe591a1},
+  {0x85de, 0xe591a3},
+  {0x85df, 0xe591a5},
+  {0x85e0, 0xe591a7},
+  {0x85e1, 0xe591a9},
+  {0x85e2, 0xe591aa},
+  {0x85e3, 0xe591ab},
+  {0x85e4, 0xe591ac},
+  {0x85e5, 0xe591ad},
+  {0x85e6, 0xe591ae},
+  {0x85e7, 0xe591af},
+  {0x85e8, 0xe591b0},
+  {0x85e9, 0xe591b4},
+  {0x85ea, 0xe591b9},
+  {0x85eb, 0xe591ba},
+  {0x85ec, 0xe591be},
+  {0x85ed, 0xe591bf},
+  {0x85ee, 0xe59281},
+  {0x85ef, 0xe59283},
+  {0x85f0, 0xe59285},
+  {0x85f1, 0xe59287},
+  {0x85f2, 0xe59288},
+  {0x85f3, 0xe59289},
+  {0x85f4, 0xe5928a},
+  {0x85f5, 0xe5928d},
+  {0x85f6, 0xe59291},
+  {0x85f7, 0xe59293},
+  {0x85f8, 0xe59297},
+  {0x85f9, 0xe59298},
+  {0x85fa, 0xe5929c},
+  {0x85fb, 0xe5929e},
+  {0x85fc, 0xe5929f},
+  {0x85fd, 0xe592a0},
+  {0x85fe, 0xe592a1},
+  {0x8640, 0xe592a2},
+  {0x8641, 0xe592a5},
+  {0x8642, 0xe592ae},
+  {0x8643, 0xe592b0},
+  {0x8644, 0xe592b2},
+  {0x8645, 0xe592b5},
+  {0x8646, 0xe592b6},
+  {0x8647, 0xe592b7},
+  {0x8648, 0xe592b9},
+  {0x8649, 0xe592ba},
+  {0x864a, 0xe592bc},
+  {0x864b, 0xe592be},
+  {0x864c, 0xe59383},
+  {0x864d, 0xe59385},
+  {0x864e, 0xe5938a},
+  {0x864f, 0xe5938b},
+  {0x8650, 0xe59396},
+  {0x8651, 0xe59398},
+  {0x8652, 0xe5939b},
+  {0x8653, 0xe593a0},
+  {0x8654, 0xe593a1},
+  {0x8655, 0xe593a2},
+  {0x8656, 0xe593a3},
+  {0x8657, 0xe593a4},
+  {0x8658, 0xe593ab},
+  {0x8659, 0xe593ac},
+  {0x865a, 0xe593af},
+  {0x865b, 0xe593b0},
+  {0x865c, 0xe593b1},
+  {0x865d, 0xe593b4},
+  {0x865e, 0xe593b5},
+  {0x865f, 0xe593b6},
+  {0x8660, 0xe593b7},
+  {0x8661, 0xe593b8},
+  {0x8662, 0xe593b9},
+  {0x8663, 0xe593bb},
+  {0x8664, 0xe593be},
+  {0x8665, 0xe59480},
+  {0x8666, 0xe59482},
+  {0x8667, 0xe59483},
+  {0x8668, 0xe59484},
+  {0x8669, 0xe59485},
+  {0x866a, 0xe59488},
+  {0x866b, 0xe5948a},
+  {0x866c, 0xe5948b},
+  {0x866d, 0xe5948c},
+  {0x866e, 0xe5948d},
+  {0x866f, 0xe5948e},
+  {0x8670, 0xe59492},
+  {0x8671, 0xe59493},
+  {0x8672, 0xe59495},
+  {0x8673, 0xe59496},
+  {0x8674, 0xe59497},
+  {0x8675, 0xe59498},
+  {0x8676, 0xe59499},
+  {0x8677, 0xe5949a},
+  {0x8678, 0xe5949c},
+  {0x8679, 0xe5949d},
+  {0x867a, 0xe5949e},
+  {0x867b, 0xe5949f},
+  {0x867c, 0xe594a1},
+  {0x867d, 0xe594a5},
+  {0x867e, 0xe594a6},
+  {0x8680, 0xe594a8},
+  {0x8681, 0xe594a9},
+  {0x8682, 0xe594ab},
+  {0x8683, 0xe594ad},
+  {0x8684, 0xe594b2},
+  {0x8685, 0xe594b4},
+  {0x8686, 0xe594b5},
+  {0x8687, 0xe594b6},
+  {0x8688, 0xe594b8},
+  {0x8689, 0xe594b9},
+  {0x868a, 0xe594ba},
+  {0x868b, 0xe594bb},
+  {0x868c, 0xe594bd},
+  {0x868d, 0xe59580},
+  {0x868e, 0xe59582},
+  {0x868f, 0xe59585},
+  {0x8690, 0xe59587},
+  {0x8691, 0xe59588},
+  {0x8692, 0xe5958b},
+  {0x8693, 0xe5958c},
+  {0x8694, 0xe5958d},
+  {0x8695, 0xe5958e},
+  {0x8696, 0xe5958f},
+  {0x8697, 0xe59591},
+  {0x8698, 0xe59592},
+  {0x8699, 0xe59593},
+  {0x869a, 0xe59594},
+  {0x869b, 0xe59597},
+  {0x869c, 0xe59598},
+  {0x869d, 0xe59599},
+  {0x869e, 0xe5959a},
+  {0x869f, 0xe5959b},
+  {0x86a0, 0xe5959d},
+  {0x86a1, 0xe5959e},
+  {0x86a2, 0xe5959f},
+  {0x86a3, 0xe595a0},
+  {0x86a4, 0xe595a2},
+  {0x86a5, 0xe595a3},
+  {0x86a6, 0xe595a8},
+  {0x86a7, 0xe595a9},
+  {0x86a8, 0xe595ab},
+  {0x86a9, 0xe595af},
+  {0x86aa, 0xe595b0},
+  {0x86ab, 0xe595b1},
+  {0x86ac, 0xe595b2},
+  {0x86ad, 0xe595b3},
+  {0x86ae, 0xe595b4},
+  {0x86af, 0xe595b9},
+  {0x86b0, 0xe595ba},
+  {0x86b1, 0xe595bd},
+  {0x86b2, 0xe595bf},
+  {0x86b3, 0xe59685},
+  {0x86b4, 0xe59686},
+  {0x86b5, 0xe5968c},
+  {0x86b6, 0xe5968d},
+  {0x86b7, 0xe5968e},
+  {0x86b8, 0xe59690},
+  {0x86b9, 0xe59692},
+  {0x86ba, 0xe59693},
+  {0x86bb, 0xe59695},
+  {0x86bc, 0xe59696},
+  {0x86bd, 0xe59697},
+  {0x86be, 0xe5969a},
+  {0x86bf, 0xe5969b},
+  {0x86c0, 0xe5969e},
+  {0x86c1, 0xe596a0},
+  {0x86c2, 0xe596a1},
+  {0x86c3, 0xe596a2},
+  {0x86c4, 0xe596a3},
+  {0x86c5, 0xe596a4},
+  {0x86c6, 0xe596a5},
+  {0x86c7, 0xe596a6},
+  {0x86c8, 0xe596a8},
+  {0x86c9, 0xe596a9},
+  {0x86ca, 0xe596aa},
+  {0x86cb, 0xe596ab},
+  {0x86cc, 0xe596ac},
+  {0x86cd, 0xe596ad},
+  {0x86ce, 0xe596ae},
+  {0x86cf, 0xe596af},
+  {0x86d0, 0xe596b0},
+  {0x86d1, 0xe596b2},
+  {0x86d2, 0xe596b4},
+  {0x86d3, 0xe596b6},
+  {0x86d4, 0xe596b8},
+  {0x86d5, 0xe596ba},
+  {0x86d6, 0xe596bc},
+  {0x86d7, 0xe596bf},
+  {0x86d8, 0xe59780},
+  {0x86d9, 0xe59781},
+  {0x86da, 0xe59782},
+  {0x86db, 0xe59783},
+  {0x86dc, 0xe59786},
+  {0x86dd, 0xe59787},
+  {0x86de, 0xe59788},
+  {0x86df, 0xe5978a},
+  {0x86e0, 0xe5978b},
+  {0x86e1, 0xe5978e},
+  {0x86e2, 0xe5978f},
+  {0x86e3, 0xe59790},
+  {0x86e4, 0xe59795},
+  {0x86e5, 0xe59797},
+  {0x86e6, 0xe59798},
+  {0x86e7, 0xe59799},
+  {0x86e8, 0xe5979a},
+  {0x86e9, 0xe5979b},
+  {0x86ea, 0xe5979e},
+  {0x86eb, 0xe597a0},
+  {0x86ec, 0xe597a2},
+  {0x86ed, 0xe597a7},
+  {0x86ee, 0xe597a9},
+  {0x86ef, 0xe597ad},
+  {0x86f0, 0xe597ae},
+  {0x86f1, 0xe597b0},
+  {0x86f2, 0xe597b1},
+  {0x86f3, 0xe597b4},
+  {0x86f4, 0xe597b6},
+  {0x86f5, 0xe597b8},
+  {0x86f6, 0xe597b9},
+  {0x86f7, 0xe597ba},
+  {0x86f8, 0xe597bb},
+  {0x86f9, 0xe597bc},
+  {0x86fa, 0xe597bf},
+  {0x86fb, 0xe59882},
+  {0x86fc, 0xe59883},
+  {0x86fd, 0xe59884},
+  {0x86fe, 0xe59885},
+  {0x8740, 0xe59886},
+  {0x8741, 0xe59887},
+  {0x8742, 0xe5988a},
+  {0x8743, 0xe5988b},
+  {0x8744, 0xe5988d},
+  {0x8745, 0xe59890},
+  {0x8746, 0xe59891},
+  {0x8747, 0xe59892},
+  {0x8748, 0xe59893},
+  {0x8749, 0xe59894},
+  {0x874a, 0xe59895},
+  {0x874b, 0xe59896},
+  {0x874c, 0xe59897},
+  {0x874d, 0xe59899},
+  {0x874e, 0xe5989a},
+  {0x874f, 0xe5989c},
+  {0x8750, 0xe5989d},
+  {0x8751, 0xe598a0},
+  {0x8752, 0xe598a1},
+  {0x8753, 0xe598a2},
+  {0x8754, 0xe598a5},
+  {0x8755, 0xe598a6},
+  {0x8756, 0xe598a8},
+  {0x8757, 0xe598a9},
+  {0x8758, 0xe598aa},
+  {0x8759, 0xe598ab},
+  {0x875a, 0xe598ae},
+  {0x875b, 0xe598af},
+  {0x875c, 0xe598b0},
+  {0x875d, 0xe598b3},
+  {0x875e, 0xe598b5},
+  {0x875f, 0xe598b7},
+  {0x8760, 0xe598b8},
+  {0x8761, 0xe598ba},
+  {0x8762, 0xe598bc},
+  {0x8763, 0xe598bd},
+  {0x8764, 0xe598be},
+  {0x8765, 0xe59980},
+  {0x8766, 0xe59981},
+  {0x8767, 0xe59982},
+  {0x8768, 0xe59983},
+  {0x8769, 0xe59984},
+  {0x876a, 0xe59985},
+  {0x876b, 0xe59986},
+  {0x876c, 0xe59987},
+  {0x876d, 0xe59988},
+  {0x876e, 0xe59989},
+  {0x876f, 0xe5998a},
+  {0x8770, 0xe5998b},
+  {0x8771, 0xe5998f},
+  {0x8772, 0xe59990},
+  {0x8773, 0xe59991},
+  {0x8774, 0xe59992},
+  {0x8775, 0xe59993},
+  {0x8776, 0xe59995},
+  {0x8777, 0xe59996},
+  {0x8778, 0xe5999a},
+  {0x8779, 0xe5999b},
+  {0x877a, 0xe5999d},
+  {0x877b, 0xe5999e},
+  {0x877c, 0xe5999f},
+  {0x877d, 0xe599a0},
+  {0x877e, 0xe599a1},
+  {0x8780, 0xe599a3},
+  {0x8781, 0xe599a5},
+  {0x8782, 0xe599a6},
+  {0x8783, 0xe599a7},
+  {0x8784, 0xe599ad},
+  {0x8785, 0xe599ae},
+  {0x8786, 0xe599af},
+  {0x8787, 0xe599b0},
+  {0x8788, 0xe599b2},
+  {0x8789, 0xe599b3},
+  {0x878a, 0xe599b4},
+  {0x878b, 0xe599b5},
+  {0x878c, 0xe599b7},
+  {0x878d, 0xe599b8},
+  {0x878e, 0xe599b9},
+  {0x878f, 0xe599ba},
+  {0x8790, 0xe599bd},
+  {0x8791, 0xe599be},
+  {0x8792, 0xe599bf},
+  {0x8793, 0xe59a80},
+  {0x8794, 0xe59a81},
+  {0x8795, 0xe59a82},
+  {0x8796, 0xe59a83},
+  {0x8797, 0xe59a84},
+  {0x8798, 0xe59a87},
+  {0x8799, 0xe59a88},
+  {0x879a, 0xe59a89},
+  {0x879b, 0xe59a8a},
+  {0x879c, 0xe59a8b},
+  {0x879d, 0xe59a8c},
+  {0x879e, 0xe59a8d},
+  {0x879f, 0xe59a90},
+  {0x87a0, 0xe59a91},
+  {0x87a1, 0xe59a92},
+  {0x87a2, 0xe59a94},
+  {0x87a3, 0xe59a95},
+  {0x87a4, 0xe59a96},
+  {0x87a5, 0xe59a97},
+  {0x87a6, 0xe59a98},
+  {0x87a7, 0xe59a99},
+  {0x87a8, 0xe59a9a},
+  {0x87a9, 0xe59a9b},
+  {0x87aa, 0xe59a9c},
+  {0x87ab, 0xe59a9d},
+  {0x87ac, 0xe59a9e},
+  {0x87ad, 0xe59a9f},
+  {0x87ae, 0xe59aa0},
+  {0x87af, 0xe59aa1},
+  {0x87b0, 0xe59aa2},
+  {0x87b1, 0xe59aa4},
+  {0x87b2, 0xe59aa5},
+  {0x87b3, 0xe59aa6},
+  {0x87b4, 0xe59aa7},
+  {0x87b5, 0xe59aa8},
+  {0x87b6, 0xe59aa9},
+  {0x87b7, 0xe59aaa},
+  {0x87b8, 0xe59aab},
+  {0x87b9, 0xe59aac},
+  {0x87ba, 0xe59aad},
+  {0x87bb, 0xe59aae},
+  {0x87bc, 0xe59ab0},
+  {0x87bd, 0xe59ab1},
+  {0x87be, 0xe59ab2},
+  {0x87bf, 0xe59ab3},
+  {0x87c0, 0xe59ab4},
+  {0x87c1, 0xe59ab5},
+  {0x87c2, 0xe59ab6},
+  {0x87c3, 0xe59ab8},
+  {0x87c4, 0xe59ab9},
+  {0x87c5, 0xe59aba},
+  {0x87c6, 0xe59abb},
+  {0x87c7, 0xe59abd},
+  {0x87c8, 0xe59abe},
+  {0x87c9, 0xe59abf},
+  {0x87ca, 0xe59b80},
+  {0x87cb, 0xe59b81},
+  {0x87cc, 0xe59b82},
+  {0x87cd, 0xe59b83},
+  {0x87ce, 0xe59b84},
+  {0x87cf, 0xe59b85},
+  {0x87d0, 0xe59b86},
+  {0x87d1, 0xe59b87},
+  {0x87d2, 0xe59b88},
+  {0x87d3, 0xe59b89},
+  {0x87d4, 0xe59b8b},
+  {0x87d5, 0xe59b8c},
+  {0x87d6, 0xe59b8d},
+  {0x87d7, 0xe59b8e},
+  {0x87d8, 0xe59b8f},
+  {0x87d9, 0xe59b90},
+  {0x87da, 0xe59b91},
+  {0x87db, 0xe59b92},
+  {0x87dc, 0xe59b93},
+  {0x87dd, 0xe59b95},
+  {0x87de, 0xe59b96},
+  {0x87df, 0xe59b98},
+  {0x87e0, 0xe59b99},
+  {0x87e1, 0xe59b9c},
+  {0x87e2, 0xe59ba3},
+  {0x87e3, 0xe59ba5},
+  {0x87e4, 0xe59ba6},
+  {0x87e5, 0xe59ba7},
+  {0x87e6, 0xe59ba8},
+  {0x87e7, 0xe59ba9},
+  {0x87e8, 0xe59baa},
+  {0x87e9, 0xe59bac},
+  {0x87ea, 0xe59bae},
+  {0x87eb, 0xe59baf},
+  {0x87ec, 0xe59bb2},
+  {0x87ed, 0xe59bb3},
+  {0x87ee, 0xe59bb6},
+  {0x87ef, 0xe59bb7},
+  {0x87f0, 0xe59bb8},
+  {0x87f1, 0xe59bbb},
+  {0x87f2, 0xe59bbc},
+  {0x87f3, 0xe59c80},
+  {0x87f4, 0xe59c81},
+  {0x87f5, 0xe59c82},
+  {0x87f6, 0xe59c85},
+  {0x87f7, 0xe59c87},
+  {0x87f8, 0xe59c8b},
+  {0x87f9, 0xe59c8c},
+  {0x87fa, 0xe59c8d},
+  {0x87fb, 0xe59c8e},
+  {0x87fc, 0xe59c8f},
+  {0x87fd, 0xe59c90},
+  {0x87fe, 0xe59c91},
+  {0x8840, 0xe59c92},
+  {0x8841, 0xe59c93},
+  {0x8842, 0xe59c94},
+  {0x8843, 0xe59c95},
+  {0x8844, 0xe59c96},
+  {0x8845, 0xe59c97},
+  {0x8846, 0xe59c98},
+  {0x8847, 0xe59c99},
+  {0x8848, 0xe59c9a},
+  {0x8849, 0xe59c9b},
+  {0x884a, 0xe59c9d},
+  {0x884b, 0xe59c9e},
+  {0x884c, 0xe59ca0},
+  {0x884d, 0xe59ca1},
+  {0x884e, 0xe59ca2},
+  {0x884f, 0xe59ca4},
+  {0x8850, 0xe59ca5},
+  {0x8851, 0xe59ca6},
+  {0x8852, 0xe59ca7},
+  {0x8853, 0xe59cab},
+  {0x8854, 0xe59cb1},
+  {0x8855, 0xe59cb2},
+  {0x8856, 0xe59cb4},
+  {0x8857, 0xe59cb5},
+  {0x8858, 0xe59cb6},
+  {0x8859, 0xe59cb7},
+  {0x885a, 0xe59cb8},
+  {0x885b, 0xe59cbc},
+  {0x885c, 0xe59cbd},
+  {0x885d, 0xe59cbf},
+  {0x885e, 0xe59d81},
+  {0x885f, 0xe59d83},
+  {0x8860, 0xe59d84},
+  {0x8861, 0xe59d85},
+  {0x8862, 0xe59d86},
+  {0x8863, 0xe59d88},
+  {0x8864, 0xe59d89},
+  {0x8865, 0xe59d8b},
+  {0x8866, 0xe59d92},
+  {0x8867, 0xe59d93},
+  {0x8868, 0xe59d94},
+  {0x8869, 0xe59d95},
+  {0x886a, 0xe59d96},
+  {0x886b, 0xe59d98},
+  {0x886c, 0xe59d99},
+  {0x886d, 0xe59da2},
+  {0x886e, 0xe59da3},
+  {0x886f, 0xe59da5},
+  {0x8870, 0xe59da7},
+  {0x8871, 0xe59dac},
+  {0x8872, 0xe59dae},
+  {0x8873, 0xe59db0},
+  {0x8874, 0xe59db1},
+  {0x8875, 0xe59db2},
+  {0x8876, 0xe59db4},
+  {0x8877, 0xe59db5},
+  {0x8878, 0xe59db8},
+  {0x8879, 0xe59db9},
+  {0x887a, 0xe59dba},
+  {0x887b, 0xe59dbd},
+  {0x887c, 0xe59dbe},
+  {0x887d, 0xe59dbf},
+  {0x887e, 0xe59e80},
+  {0x8880, 0xe59e81},
+  {0x8881, 0xe59e87},
+  {0x8882, 0xe59e88},
+  {0x8883, 0xe59e89},
+  {0x8884, 0xe59e8a},
+  {0x8885, 0xe59e8d},
+  {0x8886, 0xe59e8e},
+  {0x8887, 0xe59e8f},
+  {0x8888, 0xe59e90},
+  {0x8889, 0xe59e91},
+  {0x888a, 0xe59e94},
+  {0x888b, 0xe59e95},
+  {0x888c, 0xe59e96},
+  {0x888d, 0xe59e97},
+  {0x888e, 0xe59e98},
+  {0x888f, 0xe59e99},
+  {0x8890, 0xe59e9a},
+  {0x8891, 0xe59e9c},
+  {0x8892, 0xe59e9d},
+  {0x8893, 0xe59e9e},
+  {0x8894, 0xe59e9f},
+  {0x8895, 0xe59ea5},
+  {0x8896, 0xe59ea8},
+  {0x8897, 0xe59eaa},
+  {0x8898, 0xe59eac},
+  {0x8899, 0xe59eaf},
+  {0x889a, 0xe59eb0},
+  {0x889b, 0xe59eb1},
+  {0x889c, 0xe59eb3},
+  {0x889d, 0xe59eb5},
+  {0x889e, 0xe59eb6},
+  {0x889f, 0xe59eb7},
+  {0x88a0, 0xe59eb9},
+  {0x88a1, 0xe59eba},
+  {0x88a2, 0xe59ebb},
+  {0x88a3, 0xe59ebc},
+  {0x88a4, 0xe59ebd},
+  {0x88a5, 0xe59ebe},
+  {0x88a6, 0xe59ebf},
+  {0x88a7, 0xe59f80},
+  {0x88a8, 0xe59f81},
+  {0x88a9, 0xe59f84},
+  {0x88aa, 0xe59f85},
+  {0x88ab, 0xe59f86},
+  {0x88ac, 0xe59f87},
+  {0x88ad, 0xe59f88},
+  {0x88ae, 0xe59f89},
+  {0x88af, 0xe59f8a},
+  {0x88b0, 0xe59f8c},
+  {0x88b1, 0xe59f8d},
+  {0x88b2, 0xe59f90},
+  {0x88b3, 0xe59f91},
+  {0x88b4, 0xe59f93},
+  {0x88b5, 0xe59f96},
+  {0x88b6, 0xe59f97},
+  {0x88b7, 0xe59f9b},
+  {0x88b8, 0xe59f9c},
+  {0x88b9, 0xe59f9e},
+  {0x88ba, 0xe59fa1},
+  {0x88bb, 0xe59fa2},
+  {0x88bc, 0xe59fa3},
+  {0x88bd, 0xe59fa5},
+  {0x88be, 0xe59fa6},
+  {0x88bf, 0xe59fa7},
+  {0x88c0, 0xe59fa8},
+  {0x88c1, 0xe59fa9},
+  {0x88c2, 0xe59faa},
+  {0x88c3, 0xe59fab},
+  {0x88c4, 0xe59fac},
+  {0x88c5, 0xe59fae},
+  {0x88c6, 0xe59fb0},
+  {0x88c7, 0xe59fb1},
+  {0x88c8, 0xe59fb2},
+  {0x88c9, 0xe59fb3},
+  {0x88ca, 0xe59fb5},
+  {0x88cb, 0xe59fb6},
+  {0x88cc, 0xe59fb7},
+  {0x88cd, 0xe59fbb},
+  {0x88ce, 0xe59fbc},
+  {0x88cf, 0xe59fbe},
+  {0x88d0, 0xe59fbf},
+  {0x88d1, 0xe5a081},
+  {0x88d2, 0xe5a083},
+  {0x88d3, 0xe5a084},
+  {0x88d4, 0xe5a085},
+  {0x88d5, 0xe5a088},
+  {0x88d6, 0xe5a089},
+  {0x88d7, 0xe5a08a},
+  {0x88d8, 0xe5a08c},
+  {0x88d9, 0xe5a08e},
+  {0x88da, 0xe5a08f},
+  {0x88db, 0xe5a090},
+  {0x88dc, 0xe5a092},
+  {0x88dd, 0xe5a093},
+  {0x88de, 0xe5a094},
+  {0x88df, 0xe5a096},
+  {0x88e0, 0xe5a097},
+  {0x88e1, 0xe5a098},
+  {0x88e2, 0xe5a09a},
+  {0x88e3, 0xe5a09b},
+  {0x88e4, 0xe5a09c},
+  {0x88e5, 0xe5a09d},
+  {0x88e6, 0xe5a09f},
+  {0x88e7, 0xe5a0a2},
+  {0x88e8, 0xe5a0a3},
+  {0x88e9, 0xe5a0a5},
+  {0x88ea, 0xe5a0a6},
+  {0x88eb, 0xe5a0a7},
+  {0x88ec, 0xe5a0a8},
+  {0x88ed, 0xe5a0a9},
+  {0x88ee, 0xe5a0ab},
+  {0x88ef, 0xe5a0ac},
+  {0x88f0, 0xe5a0ad},
+  {0x88f1, 0xe5a0ae},
+  {0x88f2, 0xe5a0af},
+  {0x88f3, 0xe5a0b1},
+  {0x88f4, 0xe5a0b2},
+  {0x88f5, 0xe5a0b3},
+  {0x88f6, 0xe5a0b4},
+  {0x88f7, 0xe5a0b6},
+  {0x88f8, 0xe5a0b7},
+  {0x88f9, 0xe5a0b8},
+  {0x88fa, 0xe5a0b9},
+  {0x88fb, 0xe5a0ba},
+  {0x88fc, 0xe5a0bb},
+  {0x88fd, 0xe5a0bc},
+  {0x88fe, 0xe5a0bd},
+  {0x8940, 0xe5a0be},
+  {0x8941, 0xe5a0bf},
+  {0x8942, 0xe5a180},
+  {0x8943, 0xe5a181},
+  {0x8944, 0xe5a182},
+  {0x8945, 0xe5a183},
+  {0x8946, 0xe5a185},
+  {0x8947, 0xe5a186},
+  {0x8948, 0xe5a187},
+  {0x8949, 0xe5a188},
+  {0x894a, 0xe5a189},
+  {0x894b, 0xe5a18a},
+  {0x894c, 0xe5a18b},
+  {0x894d, 0xe5a18e},
+  {0x894e, 0xe5a18f},
+  {0x894f, 0xe5a190},
+  {0x8950, 0xe5a192},
+  {0x8951, 0xe5a193},
+  {0x8952, 0xe5a195},
+  {0x8953, 0xe5a196},
+  {0x8954, 0xe5a197},
+  {0x8955, 0xe5a199},
+  {0x8956, 0xe5a19a},
+  {0x8957, 0xe5a19b},
+  {0x8958, 0xe5a19c},
+  {0x8959, 0xe5a19d},
+  {0x895a, 0xe5a19f},
+  {0x895b, 0xe5a1a0},
+  {0x895c, 0xe5a1a1},
+  {0x895d, 0xe5a1a2},
+  {0x895e, 0xe5a1a3},
+  {0x895f, 0xe5a1a4},
+  {0x8960, 0xe5a1a6},
+  {0x8961, 0xe5a1a7},
+  {0x8962, 0xe5a1a8},
+  {0x8963, 0xe5a1a9},
+  {0x8964, 0xe5a1aa},
+  {0x8965, 0xe5a1ad},
+  {0x8966, 0xe5a1ae},
+  {0x8967, 0xe5a1af},
+  {0x8968, 0xe5a1b0},
+  {0x8969, 0xe5a1b1},
+  {0x896a, 0xe5a1b2},
+  {0x896b, 0xe5a1b3},
+  {0x896c, 0xe5a1b4},
+  {0x896d, 0xe5a1b5},
+  {0x896e, 0xe5a1b6},
+  {0x896f, 0xe5a1b7},
+  {0x8970, 0xe5a1b8},
+  {0x8971, 0xe5a1b9},
+  {0x8972, 0xe5a1ba},
+  {0x8973, 0xe5a1bb},
+  {0x8974, 0xe5a1bc},
+  {0x8975, 0xe5a1bd},
+  {0x8976, 0xe5a1bf},
+  {0x8977, 0xe5a282},
+  {0x8978, 0xe5a284},
+  {0x8979, 0xe5a286},
+  {0x897a, 0xe5a287},
+  {0x897b, 0xe5a288},
+  {0x897c, 0xe5a28a},
+  {0x897d, 0xe5a28b},
+  {0x897e, 0xe5a28c},
+  {0x8980, 0xe5a28d},
+  {0x8981, 0xe5a28e},
+  {0x8982, 0xe5a28f},
+  {0x8983, 0xe5a290},
+  {0x8984, 0xe5a291},
+  {0x8985, 0xe5a294},
+  {0x8986, 0xe5a295},
+  {0x8987, 0xe5a296},
+  {0x8988, 0xe5a297},
+  {0x8989, 0xe5a298},
+  {0x898a, 0xe5a29b},
+  {0x898b, 0xe5a29c},
+  {0x898c, 0xe5a29d},
+  {0x898d, 0xe5a2a0},
+  {0x898e, 0xe5a2a1},
+  {0x898f, 0xe5a2a2},
+  {0x8990, 0xe5a2a3},
+  {0x8991, 0xe5a2a4},
+  {0x8992, 0xe5a2a5},
+  {0x8993, 0xe5a2a6},
+  {0x8994, 0xe5a2a7},
+  {0x8995, 0xe5a2aa},
+  {0x8996, 0xe5a2ab},
+  {0x8997, 0xe5a2ac},
+  {0x8998, 0xe5a2ad},
+  {0x8999, 0xe5a2ae},
+  {0x899a, 0xe5a2af},
+  {0x899b, 0xe5a2b0},
+  {0x899c, 0xe5a2b1},
+  {0x899d, 0xe5a2b2},
+  {0x899e, 0xe5a2b3},
+  {0x899f, 0xe5a2b4},
+  {0x89a0, 0xe5a2b5},
+  {0x89a1, 0xe5a2b6},
+  {0x89a2, 0xe5a2b7},
+  {0x89a3, 0xe5a2b8},
+  {0x89a4, 0xe5a2b9},
+  {0x89a5, 0xe5a2ba},
+  {0x89a6, 0xe5a2bb},
+  {0x89a7, 0xe5a2bd},
+  {0x89a8, 0xe5a2be},
+  {0x89a9, 0xe5a2bf},
+  {0x89aa, 0xe5a380},
+  {0x89ab, 0xe5a382},
+  {0x89ac, 0xe5a383},
+  {0x89ad, 0xe5a384},
+  {0x89ae, 0xe5a386},
+  {0x89af, 0xe5a387},
+  {0x89b0, 0xe5a388},
+  {0x89b1, 0xe5a389},
+  {0x89b2, 0xe5a38a},
+  {0x89b3, 0xe5a38b},
+  {0x89b4, 0xe5a38c},
+  {0x89b5, 0xe5a38d},
+  {0x89b6, 0xe5a38e},
+  {0x89b7, 0xe5a38f},
+  {0x89b8, 0xe5a390},
+  {0x89b9, 0xe5a392},
+  {0x89ba, 0xe5a393},
+  {0x89bb, 0xe5a394},
+  {0x89bc, 0xe5a396},
+  {0x89bd, 0xe5a397},
+  {0x89be, 0xe5a398},
+  {0x89bf, 0xe5a399},
+  {0x89c0, 0xe5a39a},
+  {0x89c1, 0xe5a39b},
+  {0x89c2, 0xe5a39c},
+  {0x89c3, 0xe5a39d},
+  {0x89c4, 0xe5a39e},
+  {0x89c5, 0xe5a39f},
+  {0x89c6, 0xe5a3a0},
+  {0x89c7, 0xe5a3a1},
+  {0x89c8, 0xe5a3a2},
+  {0x89c9, 0xe5a3a3},
+  {0x89ca, 0xe5a3a5},
+  {0x89cb, 0xe5a3a6},
+  {0x89cc, 0xe5a3a7},
+  {0x89cd, 0xe5a3a8},
+  {0x89ce, 0xe5a3a9},
+  {0x89cf, 0xe5a3aa},
+  {0x89d0, 0xe5a3ad},
+  {0x89d1, 0xe5a3af},
+  {0x89d2, 0xe5a3b1},
+  {0x89d3, 0xe5a3b2},
+  {0x89d4, 0xe5a3b4},
+  {0x89d5, 0xe5a3b5},
+  {0x89d6, 0xe5a3b7},
+  {0x89d7, 0xe5a3b8},
+  {0x89d8, 0xe5a3ba},
+  {0x89d9, 0xe5a3bb},
+  {0x89da, 0xe5a3bc},
+  {0x89db, 0xe5a3bd},
+  {0x89dc, 0xe5a3be},
+  {0x89dd, 0xe5a3bf},
+  {0x89de, 0xe5a480},
+  {0x89df, 0xe5a481},
+  {0x89e0, 0xe5a483},
+  {0x89e1, 0xe5a485},
+  {0x89e2, 0xe5a486},
+  {0x89e3, 0xe5a488},
+  {0x89e4, 0xe5a489},
+  {0x89e5, 0xe5a48a},
+  {0x89e6, 0xe5a48b},
+  {0x89e7, 0xe5a48c},
+  {0x89e8, 0xe5a48e},
+  {0x89e9, 0xe5a490},
+  {0x89ea, 0xe5a491},
+  {0x89eb, 0xe5a492},
+  {0x89ec, 0xe5a493},
+  {0x89ed, 0xe5a497},
+  {0x89ee, 0xe5a498},
+  {0x89ef, 0xe5a49b},
+  {0x89f0, 0xe5a49d},
+  {0x89f1, 0xe5a49e},
+  {0x89f2, 0xe5a4a0},
+  {0x89f3, 0xe5a4a1},
+  {0x89f4, 0xe5a4a2},
+  {0x89f5, 0xe5a4a3},
+  {0x89f6, 0xe5a4a6},
+  {0x89f7, 0xe5a4a8},
+  {0x89f8, 0xe5a4ac},
+  {0x89f9, 0xe5a4b0},
+  {0x89fa, 0xe5a4b2},
+  {0x89fb, 0xe5a4b3},
+  {0x89fc, 0xe5a4b5},
+  {0x89fd, 0xe5a4b6},
+  {0x89fe, 0xe5a4bb},
+  {0x8a40, 0xe5a4bd},
+  {0x8a41, 0xe5a4be},
+  {0x8a42, 0xe5a4bf},
+  {0x8a43, 0xe5a580},
+  {0x8a44, 0xe5a583},
+  {0x8a45, 0xe5a585},
+  {0x8a46, 0xe5a586},
+  {0x8a47, 0xe5a58a},
+  {0x8a48, 0xe5a58c},
+  {0x8a49, 0xe5a58d},
+  {0x8a4a, 0xe5a590},
+  {0x8a4b, 0xe5a592},
+  {0x8a4c, 0xe5a593},
+  {0x8a4d, 0xe5a599},
+  {0x8a4e, 0xe5a59b},
+  {0x8a4f, 0xe5a59c},
+  {0x8a50, 0xe5a59d},
+  {0x8a51, 0xe5a59e},
+  {0x8a52, 0xe5a59f},
+  {0x8a53, 0xe5a5a1},
+  {0x8a54, 0xe5a5a3},
+  {0x8a55, 0xe5a5a4},
+  {0x8a56, 0xe5a5a6},
+  {0x8a57, 0xe5a5a7},
+  {0x8a58, 0xe5a5a8},
+  {0x8a59, 0xe5a5a9},
+  {0x8a5a, 0xe5a5aa},
+  {0x8a5b, 0xe5a5ab},
+  {0x8a5c, 0xe5a5ac},
+  {0x8a5d, 0xe5a5ad},
+  {0x8a5e, 0xe5a5ae},
+  {0x8a5f, 0xe5a5af},
+  {0x8a60, 0xe5a5b0},
+  {0x8a61, 0xe5a5b1},
+  {0x8a62, 0xe5a5b2},
+  {0x8a63, 0xe5a5b5},
+  {0x8a64, 0xe5a5b7},
+  {0x8a65, 0xe5a5ba},
+  {0x8a66, 0xe5a5bb},
+  {0x8a67, 0xe5a5bc},
+  {0x8a68, 0xe5a5be},
+  {0x8a69, 0xe5a5bf},
+  {0x8a6a, 0xe5a680},
+  {0x8a6b, 0xe5a685},
+  {0x8a6c, 0xe5a689},
+  {0x8a6d, 0xe5a68b},
+  {0x8a6e, 0xe5a68c},
+  {0x8a6f, 0xe5a68e},
+  {0x8a70, 0xe5a68f},
+  {0x8a71, 0xe5a690},
+  {0x8a72, 0xe5a691},
+  {0x8a73, 0xe5a694},
+  {0x8a74, 0xe5a695},
+  {0x8a75, 0xe5a698},
+  {0x8a76, 0xe5a69a},
+  {0x8a77, 0xe5a69b},
+  {0x8a78, 0xe5a69c},
+  {0x8a79, 0xe5a69d},
+  {0x8a7a, 0xe5a69f},
+  {0x8a7b, 0xe5a6a0},
+  {0x8a7c, 0xe5a6a1},
+  {0x8a7d, 0xe5a6a2},
+  {0x8a7e, 0xe5a6a6},
+  {0x8a80, 0xe5a6a7},
+  {0x8a81, 0xe5a6ac},
+  {0x8a82, 0xe5a6ad},
+  {0x8a83, 0xe5a6b0},
+  {0x8a84, 0xe5a6b1},
+  {0x8a85, 0xe5a6b3},
+  {0x8a86, 0xe5a6b4},
+  {0x8a87, 0xe5a6b5},
+  {0x8a88, 0xe5a6b6},
+  {0x8a89, 0xe5a6b7},
+  {0x8a8a, 0xe5a6b8},
+  {0x8a8b, 0xe5a6ba},
+  {0x8a8c, 0xe5a6bc},
+  {0x8a8d, 0xe5a6bd},
+  {0x8a8e, 0xe5a6bf},
+  {0x8a8f, 0xe5a780},
+  {0x8a90, 0xe5a781},
+  {0x8a91, 0xe5a782},
+  {0x8a92, 0xe5a783},
+  {0x8a93, 0xe5a784},
+  {0x8a94, 0xe5a785},
+  {0x8a95, 0xe5a787},
+  {0x8a96, 0xe5a788},
+  {0x8a97, 0xe5a789},
+  {0x8a98, 0xe5a78c},
+  {0x8a99, 0xe5a78d},
+  {0x8a9a, 0xe5a78e},
+  {0x8a9b, 0xe5a78f},
+  {0x8a9c, 0xe5a795},
+  {0x8a9d, 0xe5a796},
+  {0x8a9e, 0xe5a799},
+  {0x8a9f, 0xe5a79b},
+  {0x8aa0, 0xe5a79e},
+  {0x8aa1, 0xe5a79f},
+  {0x8aa2, 0xe5a7a0},
+  {0x8aa3, 0xe5a7a1},
+  {0x8aa4, 0xe5a7a2},
+  {0x8aa5, 0xe5a7a4},
+  {0x8aa6, 0xe5a7a6},
+  {0x8aa7, 0xe5a7a7},
+  {0x8aa8, 0xe5a7a9},
+  {0x8aa9, 0xe5a7aa},
+  {0x8aaa, 0xe5a7ab},
+  {0x8aab, 0xe5a7ad},
+  {0x8aac, 0xe5a7ae},
+  {0x8aad, 0xe5a7af},
+  {0x8aae, 0xe5a7b0},
+  {0x8aaf, 0xe5a7b1},
+  {0x8ab0, 0xe5a7b2},
+  {0x8ab1, 0xe5a7b3},
+  {0x8ab2, 0xe5a7b4},
+  {0x8ab3, 0xe5a7b5},
+  {0x8ab4, 0xe5a7b6},
+  {0x8ab5, 0xe5a7b7},
+  {0x8ab6, 0xe5a7b8},
+  {0x8ab7, 0xe5a7ba},
+  {0x8ab8, 0xe5a7bc},
+  {0x8ab9, 0xe5a7bd},
+  {0x8aba, 0xe5a7be},
+  {0x8abb, 0xe5a880},
+  {0x8abc, 0xe5a882},
+  {0x8abd, 0xe5a88a},
+  {0x8abe, 0xe5a88b},
+  {0x8abf, 0xe5a88d},
+  {0x8ac0, 0xe5a88e},
+  {0x8ac1, 0xe5a88f},
+  {0x8ac2, 0xe5a890},
+  {0x8ac3, 0xe5a892},
+  {0x8ac4, 0xe5a894},
+  {0x8ac5, 0xe5a895},
+  {0x8ac6, 0xe5a896},
+  {0x8ac7, 0xe5a897},
+  {0x8ac8, 0xe5a899},
+  {0x8ac9, 0xe5a89a},
+  {0x8aca, 0xe5a89b},
+  {0x8acb, 0xe5a89d},
+  {0x8acc, 0xe5a89e},
+  {0x8acd, 0xe5a8a1},
+  {0x8ace, 0xe5a8a2},
+  {0x8acf, 0xe5a8a4},
+  {0x8ad0, 0xe5a8a6},
+  {0x8ad1, 0xe5a8a7},
+  {0x8ad2, 0xe5a8a8},
+  {0x8ad3, 0xe5a8aa},
+  {0x8ad4, 0xe5a8ab},
+  {0x8ad5, 0xe5a8ac},
+  {0x8ad6, 0xe5a8ad},
+  {0x8ad7, 0xe5a8ae},
+  {0x8ad8, 0xe5a8af},
+  {0x8ad9, 0xe5a8b0},
+  {0x8ada, 0xe5a8b3},
+  {0x8adb, 0xe5a8b5},
+  {0x8adc, 0xe5a8b7},
+  {0x8add, 0xe5a8b8},
+  {0x8ade, 0xe5a8b9},
+  {0x8adf, 0xe5a8ba},
+  {0x8ae0, 0xe5a8bb},
+  {0x8ae1, 0xe5a8bd},
+  {0x8ae2, 0xe5a8be},
+  {0x8ae3, 0xe5a8bf},
+  {0x8ae4, 0xe5a981},
+  {0x8ae5, 0xe5a982},
+  {0x8ae6, 0xe5a983},
+  {0x8ae7, 0xe5a984},
+  {0x8ae8, 0xe5a985},
+  {0x8ae9, 0xe5a987},
+  {0x8aea, 0xe5a988},
+  {0x8aeb, 0xe5a98b},
+  {0x8aec, 0xe5a98c},
+  {0x8aed, 0xe5a98d},
+  {0x8aee, 0xe5a98e},
+  {0x8aef, 0xe5a98f},
+  {0x8af0, 0xe5a990},
+  {0x8af1, 0xe5a991},
+  {0x8af2, 0xe5a992},
+  {0x8af3, 0xe5a993},
+  {0x8af4, 0xe5a994},
+  {0x8af5, 0xe5a996},
+  {0x8af6, 0xe5a997},
+  {0x8af7, 0xe5a998},
+  {0x8af8, 0xe5a999},
+  {0x8af9, 0xe5a99b},
+  {0x8afa, 0xe5a99c},
+  {0x8afb, 0xe5a99d},
+  {0x8afc, 0xe5a99e},
+  {0x8afd, 0xe5a99f},
+  {0x8afe, 0xe5a9a0},
+  {0x8b40, 0xe5a9a1},
+  {0x8b41, 0xe5a9a3},
+  {0x8b42, 0xe5a9a4},
+  {0x8b43, 0xe5a9a5},
+  {0x8b44, 0xe5a9a6},
+  {0x8b45, 0xe5a9a8},
+  {0x8b46, 0xe5a9a9},
+  {0x8b47, 0xe5a9ab},
+  {0x8b48, 0xe5a9ac},
+  {0x8b49, 0xe5a9ad},
+  {0x8b4a, 0xe5a9ae},
+  {0x8b4b, 0xe5a9af},
+  {0x8b4c, 0xe5a9b0},
+  {0x8b4d, 0xe5a9b1},
+  {0x8b4e, 0xe5a9b2},
+  {0x8b4f, 0xe5a9b3},
+  {0x8b50, 0xe5a9b8},
+  {0x8b51, 0xe5a9b9},
+  {0x8b52, 0xe5a9bb},
+  {0x8b53, 0xe5a9bc},
+  {0x8b54, 0xe5a9bd},
+  {0x8b55, 0xe5a9be},
+  {0x8b56, 0xe5aa80},
+  {0x8b57, 0xe5aa81},
+  {0x8b58, 0xe5aa82},
+  {0x8b59, 0xe5aa83},
+  {0x8b5a, 0xe5aa84},
+  {0x8b5b, 0xe5aa85},
+  {0x8b5c, 0xe5aa86},
+  {0x8b5d, 0xe5aa87},
+  {0x8b5e, 0xe5aa88},
+  {0x8b5f, 0xe5aa89},
+  {0x8b60, 0xe5aa8a},
+  {0x8b61, 0xe5aa8b},
+  {0x8b62, 0xe5aa8c},
+  {0x8b63, 0xe5aa8d},
+  {0x8b64, 0xe5aa8e},
+  {0x8b65, 0xe5aa8f},
+  {0x8b66, 0xe5aa90},
+  {0x8b67, 0xe5aa91},
+  {0x8b68, 0xe5aa93},
+  {0x8b69, 0xe5aa94},
+  {0x8b6a, 0xe5aa95},
+  {0x8b6b, 0xe5aa96},
+  {0x8b6c, 0xe5aa97},
+  {0x8b6d, 0xe5aa98},
+  {0x8b6e, 0xe5aa99},
+  {0x8b6f, 0xe5aa9c},
+  {0x8b70, 0xe5aa9d},
+  {0x8b71, 0xe5aa9e},
+  {0x8b72, 0xe5aa9f},
+  {0x8b73, 0xe5aaa0},
+  {0x8b74, 0xe5aaa1},
+  {0x8b75, 0xe5aaa2},
+  {0x8b76, 0xe5aaa3},
+  {0x8b77, 0xe5aaa4},
+  {0x8b78, 0xe5aaa5},
+  {0x8b79, 0xe5aaa6},
+  {0x8b7a, 0xe5aaa7},
+  {0x8b7b, 0xe5aaa8},
+  {0x8b7c, 0xe5aaa9},
+  {0x8b7d, 0xe5aaab},
+  {0x8b7e, 0xe5aaac},
+  {0x8b80, 0xe5aaad},
+  {0x8b81, 0xe5aaae},
+  {0x8b82, 0xe5aaaf},
+  {0x8b83, 0xe5aab0},
+  {0x8b84, 0xe5aab1},
+  {0x8b85, 0xe5aab4},
+  {0x8b86, 0xe5aab6},
+  {0x8b87, 0xe5aab7},
+  {0x8b88, 0xe5aab9},
+  {0x8b89, 0xe5aaba},
+  {0x8b8a, 0xe5aabb},
+  {0x8b8b, 0xe5aabc},
+  {0x8b8c, 0xe5aabd},
+  {0x8b8d, 0xe5aabf},
+  {0x8b8e, 0xe5ab80},
+  {0x8b8f, 0xe5ab83},
+  {0x8b90, 0xe5ab84},
+  {0x8b91, 0xe5ab85},
+  {0x8b92, 0xe5ab86},
+  {0x8b93, 0xe5ab87},
+  {0x8b94, 0xe5ab88},
+  {0x8b95, 0xe5ab8a},
+  {0x8b96, 0xe5ab8b},
+  {0x8b97, 0xe5ab8d},
+  {0x8b98, 0xe5ab8e},
+  {0x8b99, 0xe5ab8f},
+  {0x8b9a, 0xe5ab90},
+  {0x8b9b, 0xe5ab91},
+  {0x8b9c, 0xe5ab93},
+  {0x8b9d, 0xe5ab95},
+  {0x8b9e, 0xe5ab97},
+  {0x8b9f, 0xe5ab99},
+  {0x8ba0, 0xe5ab9a},
+  {0x8ba1, 0xe5ab9b},
+  {0x8ba2, 0xe5ab9d},
+  {0x8ba3, 0xe5ab9e},
+  {0x8ba4, 0xe5ab9f},
+  {0x8ba5, 0xe5aba2},
+  {0x8ba6, 0xe5aba4},
+  {0x8ba7, 0xe5aba5},
+  {0x8ba8, 0xe5aba7},
+  {0x8ba9, 0xe5aba8},
+  {0x8baa, 0xe5abaa},
+  {0x8bab, 0xe5abac},
+  {0x8bac, 0xe5abad},
+  {0x8bad, 0xe5abae},
+  {0x8bae, 0xe5abaf},
+  {0x8baf, 0xe5abb0},
+  {0x8bb0, 0xe5abb2},
+  {0x8bb1, 0xe5abb3},
+  {0x8bb2, 0xe5abb4},
+  {0x8bb3, 0xe5abb5},
+  {0x8bb4, 0xe5abb6},
+  {0x8bb5, 0xe5abb7},
+  {0x8bb6, 0xe5abb8},
+  {0x8bb7, 0xe5abb9},
+  {0x8bb8, 0xe5abba},
+  {0x8bb9, 0xe5abbb},
+  {0x8bba, 0xe5abbc},
+  {0x8bbb, 0xe5abbd},
+  {0x8bbc, 0xe5abbe},
+  {0x8bbd, 0xe5abbf},
+  {0x8bbe, 0xe5ac80},
+  {0x8bbf, 0xe5ac81},
+  {0x8bc0, 0xe5ac82},
+  {0x8bc1, 0xe5ac83},
+  {0x8bc2, 0xe5ac84},
+  {0x8bc3, 0xe5ac85},
+  {0x8bc4, 0xe5ac86},
+  {0x8bc5, 0xe5ac87},
+  {0x8bc6, 0xe5ac88},
+  {0x8bc7, 0xe5ac8a},
+  {0x8bc8, 0xe5ac8b},
+  {0x8bc9, 0xe5ac8c},
+  {0x8bca, 0xe5ac8d},
+  {0x8bcb, 0xe5ac8e},
+  {0x8bcc, 0xe5ac8f},
+  {0x8bcd, 0xe5ac90},
+  {0x8bce, 0xe5ac91},
+  {0x8bcf, 0xe5ac92},
+  {0x8bd0, 0xe5ac93},
+  {0x8bd1, 0xe5ac94},
+  {0x8bd2, 0xe5ac95},
+  {0x8bd3, 0xe5ac98},
+  {0x8bd4, 0xe5ac99},
+  {0x8bd5, 0xe5ac9a},
+  {0x8bd6, 0xe5ac9b},
+  {0x8bd7, 0xe5ac9c},
+  {0x8bd8, 0xe5ac9d},
+  {0x8bd9, 0xe5ac9e},
+  {0x8bda, 0xe5ac9f},
+  {0x8bdb, 0xe5aca0},
+  {0x8bdc, 0xe5aca1},
+  {0x8bdd, 0xe5aca2},
+  {0x8bde, 0xe5aca3},
+  {0x8bdf, 0xe5aca4},
+  {0x8be0, 0xe5aca5},
+  {0x8be1, 0xe5aca6},
+  {0x8be2, 0xe5aca7},
+  {0x8be3, 0xe5aca8},
+  {0x8be4, 0xe5aca9},
+  {0x8be5, 0xe5acaa},
+  {0x8be6, 0xe5acab},
+  {0x8be7, 0xe5acac},
+  {0x8be8, 0xe5acad},
+  {0x8be9, 0xe5acae},
+  {0x8bea, 0xe5acaf},
+  {0x8beb, 0xe5acb0},
+  {0x8bec, 0xe5acb1},
+  {0x8bed, 0xe5acb3},
+  {0x8bee, 0xe5acb5},
+  {0x8bef, 0xe5acb6},
+  {0x8bf0, 0xe5acb8},
+  {0x8bf1, 0xe5acb9},
+  {0x8bf2, 0xe5acba},
+  {0x8bf3, 0xe5acbb},
+  {0x8bf4, 0xe5acbc},
+  {0x8bf5, 0xe5acbd},
+  {0x8bf6, 0xe5acbe},
+  {0x8bf7, 0xe5acbf},
+  {0x8bf8, 0xe5ad81},
+  {0x8bf9, 0xe5ad82},
+  {0x8bfa, 0xe5ad83},
+  {0x8bfb, 0xe5ad84},
+  {0x8bfc, 0xe5ad85},
+  {0x8bfd, 0xe5ad86},
+  {0x8bfe, 0xe5ad87},
+  {0x8c40, 0xe5ad88},
+  {0x8c41, 0xe5ad89},
+  {0x8c42, 0xe5ad8a},
+  {0x8c43, 0xe5ad8b},
+  {0x8c44, 0xe5ad8c},
+  {0x8c45, 0xe5ad8d},
+  {0x8c46, 0xe5ad8e},
+  {0x8c47, 0xe5ad8f},
+  {0x8c48, 0xe5ad92},
+  {0x8c49, 0xe5ad96},
+  {0x8c4a, 0xe5ad9e},
+  {0x8c4b, 0xe5ada0},
+  {0x8c4c, 0xe5ada1},
+  {0x8c4d, 0xe5ada7},
+  {0x8c4e, 0xe5ada8},
+  {0x8c4f, 0xe5adab},
+  {0x8c50, 0xe5adad},
+  {0x8c51, 0xe5adae},
+  {0x8c52, 0xe5adaf},
+  {0x8c53, 0xe5adb2},
+  {0x8c54, 0xe5adb4},
+  {0x8c55, 0xe5adb6},
+  {0x8c56, 0xe5adb7},
+  {0x8c57, 0xe5adb8},
+  {0x8c58, 0xe5adb9},
+  {0x8c59, 0xe5adbb},
+  {0x8c5a, 0xe5adbc},
+  {0x8c5b, 0xe5adbe},
+  {0x8c5c, 0xe5adbf},
+  {0x8c5d, 0xe5ae82},
+  {0x8c5e, 0xe5ae86},
+  {0x8c5f, 0xe5ae8a},
+  {0x8c60, 0xe5ae8d},
+  {0x8c61, 0xe5ae8e},
+  {0x8c62, 0xe5ae90},
+  {0x8c63, 0xe5ae91},
+  {0x8c64, 0xe5ae92},
+  {0x8c65, 0xe5ae94},
+  {0x8c66, 0xe5ae96},
+  {0x8c67, 0xe5ae9f},
+  {0x8c68, 0xe5aea7},
+  {0x8c69, 0xe5aea8},
+  {0x8c6a, 0xe5aea9},
+  {0x8c6b, 0xe5aeac},
+  {0x8c6c, 0xe5aead},
+  {0x8c6d, 0xe5aeae},
+  {0x8c6e, 0xe5aeaf},
+  {0x8c6f, 0xe5aeb1},
+  {0x8c70, 0xe5aeb2},
+  {0x8c71, 0xe5aeb7},
+  {0x8c72, 0xe5aeba},
+  {0x8c73, 0xe5aebb},
+  {0x8c74, 0xe5aebc},
+  {0x8c75, 0xe5af80},
+  {0x8c76, 0xe5af81},
+  {0x8c77, 0xe5af83},
+  {0x8c78, 0xe5af88},
+  {0x8c79, 0xe5af89},
+  {0x8c7a, 0xe5af8a},
+  {0x8c7b, 0xe5af8b},
+  {0x8c7c, 0xe5af8d},
+  {0x8c7d, 0xe5af8e},
+  {0x8c7e, 0xe5af8f},
+  {0x8c80, 0xe5af91},
+  {0x8c81, 0xe5af94},
+  {0x8c82, 0xe5af95},
+  {0x8c83, 0xe5af96},
+  {0x8c84, 0xe5af97},
+  {0x8c85, 0xe5af98},
+  {0x8c86, 0xe5af99},
+  {0x8c87, 0xe5af9a},
+  {0x8c88, 0xe5af9b},
+  {0x8c89, 0xe5af9c},
+  {0x8c8a, 0xe5afa0},
+  {0x8c8b, 0xe5afa2},
+  {0x8c8c, 0xe5afa3},
+  {0x8c8d, 0xe5afa6},
+  {0x8c8e, 0xe5afa7},
+  {0x8c8f, 0xe5afa9},
+  {0x8c90, 0xe5afaa},
+  {0x8c91, 0xe5afab},
+  {0x8c92, 0xe5afac},
+  {0x8c93, 0xe5afad},
+  {0x8c94, 0xe5afaf},
+  {0x8c95, 0xe5afb1},
+  {0x8c96, 0xe5afb2},
+  {0x8c97, 0xe5afb3},
+  {0x8c98, 0xe5afb4},
+  {0x8c99, 0xe5afb5},
+  {0x8c9a, 0xe5afb6},
+  {0x8c9b, 0xe5afb7},
+  {0x8c9c, 0xe5afbd},
+  {0x8c9d, 0xe5afbe},
+  {0x8c9e, 0xe5b080},
+  {0x8c9f, 0xe5b082},
+  {0x8ca0, 0xe5b083},
+  {0x8ca1, 0xe5b085},
+  {0x8ca2, 0xe5b087},
+  {0x8ca3, 0xe5b088},
+  {0x8ca4, 0xe5b08b},
+  {0x8ca5, 0xe5b08c},
+  {0x8ca6, 0xe5b08d},
+  {0x8ca7, 0xe5b08e},
+  {0x8ca8, 0xe5b090},
+  {0x8ca9, 0xe5b092},
+  {0x8caa, 0xe5b093},
+  {0x8cab, 0xe5b097},
+  {0x8cac, 0xe5b099},
+  {0x8cad, 0xe5b09b},
+  {0x8cae, 0xe5b09e},
+  {0x8caf, 0xe5b09f},
+  {0x8cb0, 0xe5b0a0},
+  {0x8cb1, 0xe5b0a1},
+  {0x8cb2, 0xe5b0a3},
+  {0x8cb3, 0xe5b0a6},
+  {0x8cb4, 0xe5b0a8},
+  {0x8cb5, 0xe5b0a9},
+  {0x8cb6, 0xe5b0aa},
+  {0x8cb7, 0xe5b0ab},
+  {0x8cb8, 0xe5b0ad},
+  {0x8cb9, 0xe5b0ae},
+  {0x8cba, 0xe5b0af},
+  {0x8cbb, 0xe5b0b0},
+  {0x8cbc, 0xe5b0b2},
+  {0x8cbd, 0xe5b0b3},
+  {0x8cbe, 0xe5b0b5},
+  {0x8cbf, 0xe5b0b6},
+  {0x8cc0, 0xe5b0b7},
+  {0x8cc1, 0xe5b183},
+  {0x8cc2, 0xe5b184},
+  {0x8cc3, 0xe5b186},
+  {0x8cc4, 0xe5b187},
+  {0x8cc5, 0xe5b18c},
+  {0x8cc6, 0xe5b18d},
+  {0x8cc7, 0xe5b192},
+  {0x8cc8, 0xe5b193},
+  {0x8cc9, 0xe5b194},
+  {0x8cca, 0xe5b196},
+  {0x8ccb, 0xe5b197},
+  {0x8ccc, 0xe5b198},
+  {0x8ccd, 0xe5b19a},
+  {0x8cce, 0xe5b19b},
+  {0x8ccf, 0xe5b19c},
+  {0x8cd0, 0xe5b19d},
+  {0x8cd1, 0xe5b19f},
+  {0x8cd2, 0xe5b1a2},
+  {0x8cd3, 0xe5b1a4},
+  {0x8cd4, 0xe5b1a7},
+  {0x8cd5, 0xe5b1a8},
+  {0x8cd6, 0xe5b1a9},
+  {0x8cd7, 0xe5b1aa},
+  {0x8cd8, 0xe5b1ab},
+  {0x8cd9, 0xe5b1ac},
+  {0x8cda, 0xe5b1ad},
+  {0x8cdb, 0xe5b1b0},
+  {0x8cdc, 0xe5b1b2},
+  {0x8cdd, 0xe5b1b3},
+  {0x8cde, 0xe5b1b4},
+  {0x8cdf, 0xe5b1b5},
+  {0x8ce0, 0xe5b1b6},
+  {0x8ce1, 0xe5b1b7},
+  {0x8ce2, 0xe5b1b8},
+  {0x8ce3, 0xe5b1bb},
+  {0x8ce4, 0xe5b1bc},
+  {0x8ce5, 0xe5b1bd},
+  {0x8ce6, 0xe5b1be},
+  {0x8ce7, 0xe5b280},
+  {0x8ce8, 0xe5b283},
+  {0x8ce9, 0xe5b284},
+  {0x8cea, 0xe5b285},
+  {0x8ceb, 0xe5b286},
+  {0x8cec, 0xe5b287},
+  {0x8ced, 0xe5b289},
+  {0x8cee, 0xe5b28a},
+  {0x8cef, 0xe5b28b},
+  {0x8cf0, 0xe5b28e},
+  {0x8cf1, 0xe5b28f},
+  {0x8cf2, 0xe5b292},
+  {0x8cf3, 0xe5b293},
+  {0x8cf4, 0xe5b295},
+  {0x8cf5, 0xe5b29d},
+  {0x8cf6, 0xe5b29e},
+  {0x8cf7, 0xe5b29f},
+  {0x8cf8, 0xe5b2a0},
+  {0x8cf9, 0xe5b2a1},
+  {0x8cfa, 0xe5b2a4},
+  {0x8cfb, 0xe5b2a5},
+  {0x8cfc, 0xe5b2a6},
+  {0x8cfd, 0xe5b2a7},
+  {0x8cfe, 0xe5b2a8},
+  {0x8d40, 0xe5b2aa},
+  {0x8d41, 0xe5b2ae},
+  {0x8d42, 0xe5b2af},
+  {0x8d43, 0xe5b2b0},
+  {0x8d44, 0xe5b2b2},
+  {0x8d45, 0xe5b2b4},
+  {0x8d46, 0xe5b2b6},
+  {0x8d47, 0xe5b2b9},
+  {0x8d48, 0xe5b2ba},
+  {0x8d49, 0xe5b2bb},
+  {0x8d4a, 0xe5b2bc},
+  {0x8d4b, 0xe5b2be},
+  {0x8d4c, 0xe5b380},
+  {0x8d4d, 0xe5b382},
+  {0x8d4e, 0xe5b383},
+  {0x8d4f, 0xe5b385},
+  {0x8d50, 0xe5b386},
+  {0x8d51, 0xe5b387},
+  {0x8d52, 0xe5b388},
+  {0x8d53, 0xe5b389},
+  {0x8d54, 0xe5b38a},
+  {0x8d55, 0xe5b38c},
+  {0x8d56, 0xe5b38d},
+  {0x8d57, 0xe5b38e},
+  {0x8d58, 0xe5b38f},
+  {0x8d59, 0xe5b390},
+  {0x8d5a, 0xe5b391},
+  {0x8d5b, 0xe5b393},
+  {0x8d5c, 0xe5b394},
+  {0x8d5d, 0xe5b395},
+  {0x8d5e, 0xe5b396},
+  {0x8d5f, 0xe5b397},
+  {0x8d60, 0xe5b398},
+  {0x8d61, 0xe5b39a},
+  {0x8d62, 0xe5b39b},
+  {0x8d63, 0xe5b39c},
+  {0x8d64, 0xe5b39d},
+  {0x8d65, 0xe5b39e},
+  {0x8d66, 0xe5b39f},
+  {0x8d67, 0xe5b3a0},
+  {0x8d68, 0xe5b3a2},
+  {0x8d69, 0xe5b3a3},
+  {0x8d6a, 0xe5b3a7},
+  {0x8d6b, 0xe5b3a9},
+  {0x8d6c, 0xe5b3ab},
+  {0x8d6d, 0xe5b3ac},
+  {0x8d6e, 0xe5b3ae},
+  {0x8d6f, 0xe5b3af},
+  {0x8d70, 0xe5b3b1},
+  {0x8d71, 0xe5b3b2},
+  {0x8d72, 0xe5b3b3},
+  {0x8d73, 0xe5b3b4},
+  {0x8d74, 0xe5b3b5},
+  {0x8d75, 0xe5b3b6},
+  {0x8d76, 0xe5b3b7},
+  {0x8d77, 0xe5b3b8},
+  {0x8d78, 0xe5b3b9},
+  {0x8d79, 0xe5b3ba},
+  {0x8d7a, 0xe5b3bc},
+  {0x8d7b, 0xe5b3bd},
+  {0x8d7c, 0xe5b3be},
+  {0x8d7d, 0xe5b3bf},
+  {0x8d7e, 0xe5b480},
+  {0x8d80, 0xe5b481},
+  {0x8d81, 0xe5b484},
+  {0x8d82, 0xe5b485},
+  {0x8d83, 0xe5b488},
+  {0x8d84, 0xe5b489},
+  {0x8d85, 0xe5b48a},
+  {0x8d86, 0xe5b48b},
+  {0x8d87, 0xe5b48c},
+  {0x8d88, 0xe5b48d},
+  {0x8d89, 0xe5b48f},
+  {0x8d8a, 0xe5b490},
+  {0x8d8b, 0xe5b491},
+  {0x8d8c, 0xe5b492},
+  {0x8d8d, 0xe5b493},
+  {0x8d8e, 0xe5b495},
+  {0x8d8f, 0xe5b497},
+  {0x8d90, 0xe5b498},
+  {0x8d91, 0xe5b499},
+  {0x8d92, 0xe5b49a},
+  {0x8d93, 0xe5b49c},
+  {0x8d94, 0xe5b49d},
+  {0x8d95, 0xe5b49f},
+  {0x8d96, 0xe5b4a0},
+  {0x8d97, 0xe5b4a1},
+  {0x8d98, 0xe5b4a2},
+  {0x8d99, 0xe5b4a3},
+  {0x8d9a, 0xe5b4a5},
+  {0x8d9b, 0xe5b4a8},
+  {0x8d9c, 0xe5b4aa},
+  {0x8d9d, 0xe5b4ab},
+  {0x8d9e, 0xe5b4ac},
+  {0x8d9f, 0xe5b4af},
+  {0x8da0, 0xe5b4b0},
+  {0x8da1, 0xe5b4b1},
+  {0x8da2, 0xe5b4b2},
+  {0x8da3, 0xe5b4b3},
+  {0x8da4, 0xe5b4b5},
+  {0x8da5, 0xe5b4b6},
+  {0x8da6, 0xe5b4b7},
+  {0x8da7, 0xe5b4b8},
+  {0x8da8, 0xe5b4b9},
+  {0x8da9, 0xe5b4ba},
+  {0x8daa, 0xe5b4bb},
+  {0x8dab, 0xe5b4bc},
+  {0x8dac, 0xe5b4bf},
+  {0x8dad, 0xe5b580},
+  {0x8dae, 0xe5b581},
+  {0x8daf, 0xe5b582},
+  {0x8db0, 0xe5b583},
+  {0x8db1, 0xe5b584},
+  {0x8db2, 0xe5b585},
+  {0x8db3, 0xe5b586},
+  {0x8db4, 0xe5b588},
+  {0x8db5, 0xe5b589},
+  {0x8db6, 0xe5b58d},
+  {0x8db7, 0xe5b58e},
+  {0x8db8, 0xe5b58f},
+  {0x8db9, 0xe5b590},
+  {0x8dba, 0xe5b591},
+  {0x8dbb, 0xe5b592},
+  {0x8dbc, 0xe5b593},
+  {0x8dbd, 0xe5b594},
+  {0x8dbe, 0xe5b595},
+  {0x8dbf, 0xe5b596},
+  {0x8dc0, 0xe5b597},
+  {0x8dc1, 0xe5b599},
+  {0x8dc2, 0xe5b59a},
+  {0x8dc3, 0xe5b59c},
+  {0x8dc4, 0xe5b59e},
+  {0x8dc5, 0xe5b59f},
+  {0x8dc6, 0xe5b5a0},
+  {0x8dc7, 0xe5b5a1},
+  {0x8dc8, 0xe5b5a2},
+  {0x8dc9, 0xe5b5a3},
+  {0x8dca, 0xe5b5a4},
+  {0x8dcb, 0xe5b5a5},
+  {0x8dcc, 0xe5b5a6},
+  {0x8dcd, 0xe5b5a7},
+  {0x8dce, 0xe5b5a8},
+  {0x8dcf, 0xe5b5aa},
+  {0x8dd0, 0xe5b5ad},
+  {0x8dd1, 0xe5b5ae},
+  {0x8dd2, 0xe5b5b0},
+  {0x8dd3, 0xe5b5b1},
+  {0x8dd4, 0xe5b5b2},
+  {0x8dd5, 0xe5b5b3},
+  {0x8dd6, 0xe5b5b5},
+  {0x8dd7, 0xe5b5b6},
+  {0x8dd8, 0xe5b5b7},
+  {0x8dd9, 0xe5b5b8},
+  {0x8dda, 0xe5b5b9},
+  {0x8ddb, 0xe5b5ba},
+  {0x8ddc, 0xe5b5bb},
+  {0x8ddd, 0xe5b5bc},
+  {0x8dde, 0xe5b5bd},
+  {0x8ddf, 0xe5b5be},
+  {0x8de0, 0xe5b5bf},
+  {0x8de1, 0xe5b680},
+  {0x8de2, 0xe5b681},
+  {0x8de3, 0xe5b683},
+  {0x8de4, 0xe5b684},
+  {0x8de5, 0xe5b685},
+  {0x8de6, 0xe5b686},
+  {0x8de7, 0xe5b687},
+  {0x8de8, 0xe5b688},
+  {0x8de9, 0xe5b689},
+  {0x8dea, 0xe5b68a},
+  {0x8deb, 0xe5b68b},
+  {0x8dec, 0xe5b68c},
+  {0x8ded, 0xe5b68d},
+  {0x8dee, 0xe5b68e},
+  {0x8def, 0xe5b68f},
+  {0x8df0, 0xe5b690},
+  {0x8df1, 0xe5b691},
+  {0x8df2, 0xe5b692},
+  {0x8df3, 0xe5b693},
+  {0x8df4, 0xe5b694},
+  {0x8df5, 0xe5b695},
+  {0x8df6, 0xe5b696},
+  {0x8df7, 0xe5b697},
+  {0x8df8, 0xe5b698},
+  {0x8df9, 0xe5b69a},
+  {0x8dfa, 0xe5b69b},
+  {0x8dfb, 0xe5b69c},
+  {0x8dfc, 0xe5b69e},
+  {0x8dfd, 0xe5b69f},
+  {0x8dfe, 0xe5b6a0},
+  {0x8e40, 0xe5b6a1},
+  {0x8e41, 0xe5b6a2},
+  {0x8e42, 0xe5b6a3},
+  {0x8e43, 0xe5b6a4},
+  {0x8e44, 0xe5b6a5},
+  {0x8e45, 0xe5b6a6},
+  {0x8e46, 0xe5b6a7},
+  {0x8e47, 0xe5b6a8},
+  {0x8e48, 0xe5b6a9},
+  {0x8e49, 0xe5b6aa},
+  {0x8e4a, 0xe5b6ab},
+  {0x8e4b, 0xe5b6ac},
+  {0x8e4c, 0xe5b6ad},
+  {0x8e4d, 0xe5b6ae},
+  {0x8e4e, 0xe5b6af},
+  {0x8e4f, 0xe5b6b0},
+  {0x8e50, 0xe5b6b1},
+  {0x8e51, 0xe5b6b2},
+  {0x8e52, 0xe5b6b3},
+  {0x8e53, 0xe5b6b4},
+  {0x8e54, 0xe5b6b5},
+  {0x8e55, 0xe5b6b6},
+  {0x8e56, 0xe5b6b8},
+  {0x8e57, 0xe5b6b9},
+  {0x8e58, 0xe5b6ba},
+  {0x8e59, 0xe5b6bb},
+  {0x8e5a, 0xe5b6bc},
+  {0x8e5b, 0xe5b6bd},
+  {0x8e5c, 0xe5b6be},
+  {0x8e5d, 0xe5b6bf},
+  {0x8e5e, 0xe5b780},
+  {0x8e5f, 0xe5b781},
+  {0x8e60, 0xe5b782},
+  {0x8e61, 0xe5b783},
+  {0x8e62, 0xe5b784},
+  {0x8e63, 0xe5b786},
+  {0x8e64, 0xe5b787},
+  {0x8e65, 0xe5b788},
+  {0x8e66, 0xe5b789},
+  {0x8e67, 0xe5b78a},
+  {0x8e68, 0xe5b78b},
+  {0x8e69, 0xe5b78c},
+  {0x8e6a, 0xe5b78e},
+  {0x8e6b, 0xe5b78f},
+  {0x8e6c, 0xe5b790},
+  {0x8e6d, 0xe5b791},
+  {0x8e6e, 0xe5b792},
+  {0x8e6f, 0xe5b793},
+  {0x8e70, 0xe5b794},
+  {0x8e71, 0xe5b795},
+  {0x8e72, 0xe5b796},
+  {0x8e73, 0xe5b797},
+  {0x8e74, 0xe5b798},
+  {0x8e75, 0xe5b799},
+  {0x8e76, 0xe5b79a},
+  {0x8e77, 0xe5b79c},
+  {0x8e78, 0xe5b79f},
+  {0x8e79, 0xe5b7a0},
+  {0x8e7a, 0xe5b7a3},
+  {0x8e7b, 0xe5b7a4},
+  {0x8e7c, 0xe5b7aa},
+  {0x8e7d, 0xe5b7ac},
+  {0x8e7e, 0xe5b7ad},
+  {0x8e80, 0xe5b7b0},
+  {0x8e81, 0xe5b7b5},
+  {0x8e82, 0xe5b7b6},
+  {0x8e83, 0xe5b7b8},
+  {0x8e84, 0xe5b7b9},
+  {0x8e85, 0xe5b7ba},
+  {0x8e86, 0xe5b7bb},
+  {0x8e87, 0xe5b7bc},
+  {0x8e88, 0xe5b7bf},
+  {0x8e89, 0xe5b880},
+  {0x8e8a, 0xe5b884},
+  {0x8e8b, 0xe5b887},
+  {0x8e8c, 0xe5b889},
+  {0x8e8d, 0xe5b88a},
+  {0x8e8e, 0xe5b88b},
+  {0x8e8f, 0xe5b88d},
+  {0x8e90, 0xe5b88e},
+  {0x8e91, 0xe5b892},
+  {0x8e92, 0xe5b893},
+  {0x8e93, 0xe5b897},
+  {0x8e94, 0xe5b89e},
+  {0x8e95, 0xe5b89f},
+  {0x8e96, 0xe5b8a0},
+  {0x8e97, 0xe5b8a1},
+  {0x8e98, 0xe5b8a2},
+  {0x8e99, 0xe5b8a3},
+  {0x8e9a, 0xe5b8a4},
+  {0x8e9b, 0xe5b8a5},
+  {0x8e9c, 0xe5b8a8},
+  {0x8e9d, 0xe5b8a9},
+  {0x8e9e, 0xe5b8aa},
+  {0x8e9f, 0xe5b8ab},
+  {0x8ea0, 0xe5b8ac},
+  {0x8ea1, 0xe5b8af},
+  {0x8ea2, 0xe5b8b0},
+  {0x8ea3, 0xe5b8b2},
+  {0x8ea4, 0xe5b8b3},
+  {0x8ea5, 0xe5b8b4},
+  {0x8ea6, 0xe5b8b5},
+  {0x8ea7, 0xe5b8b6},
+  {0x8ea8, 0xe5b8b9},
+  {0x8ea9, 0xe5b8ba},
+  {0x8eaa, 0xe5b8be},
+  {0x8eab, 0xe5b8bf},
+  {0x8eac, 0xe5b980},
+  {0x8ead, 0xe5b981},
+  {0x8eae, 0xe5b983},
+  {0x8eaf, 0xe5b986},
+  {0x8eb0, 0xe5b987},
+  {0x8eb1, 0xe5b988},
+  {0x8eb2, 0xe5b989},
+  {0x8eb3, 0xe5b98a},
+  {0x8eb4, 0xe5b98b},
+  {0x8eb5, 0xe5b98d},
+  {0x8eb6, 0xe5b98e},
+  {0x8eb7, 0xe5b98f},
+  {0x8eb8, 0xe5b990},
+  {0x8eb9, 0xe5b991},
+  {0x8eba, 0xe5b992},
+  {0x8ebb, 0xe5b993},
+  {0x8ebc, 0xe5b996},
+  {0x8ebd, 0xe5b997},
+  {0x8ebe, 0xe5b998},
+  {0x8ebf, 0xe5b999},
+  {0x8ec0, 0xe5b99a},
+  {0x8ec1, 0xe5b99c},
+  {0x8ec2, 0xe5b99d},
+  {0x8ec3, 0xe5b99f},
+  {0x8ec4, 0xe5b9a0},
+  {0x8ec5, 0xe5b9a3},
+  {0x8ec6, 0xe5b9a4},
+  {0x8ec7, 0xe5b9a5},
+  {0x8ec8, 0xe5b9a6},
+  {0x8ec9, 0xe5b9a7},
+  {0x8eca, 0xe5b9a8},
+  {0x8ecb, 0xe5b9a9},
+  {0x8ecc, 0xe5b9aa},
+  {0x8ecd, 0xe5b9ab},
+  {0x8ece, 0xe5b9ac},
+  {0x8ecf, 0xe5b9ad},
+  {0x8ed0, 0xe5b9ae},
+  {0x8ed1, 0xe5b9af},
+  {0x8ed2, 0xe5b9b0},
+  {0x8ed3, 0xe5b9b1},
+  {0x8ed4, 0xe5b9b5},
+  {0x8ed5, 0xe5b9b7},
+  {0x8ed6, 0xe5b9b9},
+  {0x8ed7, 0xe5b9be},
+  {0x8ed8, 0xe5ba81},
+  {0x8ed9, 0xe5ba82},
+  {0x8eda, 0xe5ba83},
+  {0x8edb, 0xe5ba85},
+  {0x8edc, 0xe5ba88},
+  {0x8edd, 0xe5ba89},
+  {0x8ede, 0xe5ba8c},
+  {0x8edf, 0xe5ba8d},
+  {0x8ee0, 0xe5ba8e},
+  {0x8ee1, 0xe5ba92},
+  {0x8ee2, 0xe5ba98},
+  {0x8ee3, 0xe5ba9b},
+  {0x8ee4, 0xe5ba9d},
+  {0x8ee5, 0xe5baa1},
+  {0x8ee6, 0xe5baa2},
+  {0x8ee7, 0xe5baa3},
+  {0x8ee8, 0xe5baa4},
+  {0x8ee9, 0xe5baa8},
+  {0x8eea, 0xe5baa9},
+  {0x8eeb, 0xe5baaa},
+  {0x8eec, 0xe5baab},
+  {0x8eed, 0xe5baac},
+  {0x8eee, 0xe5baae},
+  {0x8eef, 0xe5baaf},
+  {0x8ef0, 0xe5bab0},
+  {0x8ef1, 0xe5bab1},
+  {0x8ef2, 0xe5bab2},
+  {0x8ef3, 0xe5bab4},
+  {0x8ef4, 0xe5baba},
+  {0x8ef5, 0xe5babb},
+  {0x8ef6, 0xe5babc},
+  {0x8ef7, 0xe5babd},
+  {0x8ef8, 0xe5babf},
+  {0x8ef9, 0xe5bb80},
+  {0x8efa, 0xe5bb81},
+  {0x8efb, 0xe5bb82},
+  {0x8efc, 0xe5bb83},
+  {0x8efd, 0xe5bb84},
+  {0x8efe, 0xe5bb85},
+  {0x8f40, 0xe5bb86},
+  {0x8f41, 0xe5bb87},
+  {0x8f42, 0xe5bb88},
+  {0x8f43, 0xe5bb8b},
+  {0x8f44, 0xe5bb8c},
+  {0x8f45, 0xe5bb8d},
+  {0x8f46, 0xe5bb8e},
+  {0x8f47, 0xe5bb8f},
+  {0x8f48, 0xe5bb90},
+  {0x8f49, 0xe5bb94},
+  {0x8f4a, 0xe5bb95},
+  {0x8f4b, 0xe5bb97},
+  {0x8f4c, 0xe5bb98},
+  {0x8f4d, 0xe5bb99},
+  {0x8f4e, 0xe5bb9a},
+  {0x8f4f, 0xe5bb9c},
+  {0x8f50, 0xe5bb9d},
+  {0x8f51, 0xe5bb9e},
+  {0x8f52, 0xe5bb9f},
+  {0x8f53, 0xe5bba0},
+  {0x8f54, 0xe5bba1},
+  {0x8f55, 0xe5bba2},
+  {0x8f56, 0xe5bba3},
+  {0x8f57, 0xe5bba4},
+  {0x8f58, 0xe5bba5},
+  {0x8f59, 0xe5bba6},
+  {0x8f5a, 0xe5bba7},
+  {0x8f5b, 0xe5bba9},
+  {0x8f5c, 0xe5bbab},
+  {0x8f5d, 0xe5bbac},
+  {0x8f5e, 0xe5bbad},
+  {0x8f5f, 0xe5bbae},
+  {0x8f60, 0xe5bbaf},
+  {0x8f61, 0xe5bbb0},
+  {0x8f62, 0xe5bbb1},
+  {0x8f63, 0xe5bbb2},
+  {0x8f64, 0xe5bbb3},
+  {0x8f65, 0xe5bbb5},
+  {0x8f66, 0xe5bbb8},
+  {0x8f67, 0xe5bbb9},
+  {0x8f68, 0xe5bbbb},
+  {0x8f69, 0xe5bbbc},
+  {0x8f6a, 0xe5bbbd},
+  {0x8f6b, 0xe5bc85},
+  {0x8f6c, 0xe5bc86},
+  {0x8f6d, 0xe5bc87},
+  {0x8f6e, 0xe5bc89},
+  {0x8f6f, 0xe5bc8c},
+  {0x8f70, 0xe5bc8d},
+  {0x8f71, 0xe5bc8e},
+  {0x8f72, 0xe5bc90},
+  {0x8f73, 0xe5bc92},
+  {0x8f74, 0xe5bc94},
+  {0x8f75, 0xe5bc96},
+  {0x8f76, 0xe5bc99},
+  {0x8f77, 0xe5bc9a},
+  {0x8f78, 0xe5bc9c},
+  {0x8f79, 0xe5bc9d},
+  {0x8f7a, 0xe5bc9e},
+  {0x8f7b, 0xe5bca1},
+  {0x8f7c, 0xe5bca2},
+  {0x8f7d, 0xe5bca3},
+  {0x8f7e, 0xe5bca4},
+  {0x8f80, 0xe5bca8},
+  {0x8f81, 0xe5bcab},
+  {0x8f82, 0xe5bcac},
+  {0x8f83, 0xe5bcae},
+  {0x8f84, 0xe5bcb0},
+  {0x8f85, 0xe5bcb2},
+  {0x8f86, 0xe5bcb3},
+  {0x8f87, 0xe5bcb4},
+  {0x8f88, 0xe5bcb5},
+  {0x8f89, 0xe5bcb6},
+  {0x8f8a, 0xe5bcb7},
+  {0x8f8b, 0xe5bcb8},
+  {0x8f8c, 0xe5bcbb},
+  {0x8f8d, 0xe5bcbd},
+  {0x8f8e, 0xe5bcbe},
+  {0x8f8f, 0xe5bcbf},
+  {0x8f90, 0xe5bd81},
+  {0x8f91, 0xe5bd82},
+  {0x8f92, 0xe5bd83},
+  {0x8f93, 0xe5bd84},
+  {0x8f94, 0xe5bd85},
+  {0x8f95, 0xe5bd86},
+  {0x8f96, 0xe5bd87},
+  {0x8f97, 0xe5bd88},
+  {0x8f98, 0xe5bd89},
+  {0x8f99, 0xe5bd8a},
+  {0x8f9a, 0xe5bd8b},
+  {0x8f9b, 0xe5bd8c},
+  {0x8f9c, 0xe5bd8d},
+  {0x8f9d, 0xe5bd8e},
+  {0x8f9e, 0xe5bd8f},
+  {0x8f9f, 0xe5bd91},
+  {0x8fa0, 0xe5bd94},
+  {0x8fa1, 0xe5bd99},
+  {0x8fa2, 0xe5bd9a},
+  {0x8fa3, 0xe5bd9b},
+  {0x8fa4, 0xe5bd9c},
+  {0x8fa5, 0xe5bd9e},
+  {0x8fa6, 0xe5bd9f},
+  {0x8fa7, 0xe5bda0},
+  {0x8fa8, 0xe5bda3},
+  {0x8fa9, 0xe5bda5},
+  {0x8faa, 0xe5bda7},
+  {0x8fab, 0xe5bda8},
+  {0x8fac, 0xe5bdab},
+  {0x8fad, 0xe5bdae},
+  {0x8fae, 0xe5bdaf},
+  {0x8faf, 0xe5bdb2},
+  {0x8fb0, 0xe5bdb4},
+  {0x8fb1, 0xe5bdb5},
+  {0x8fb2, 0xe5bdb6},
+  {0x8fb3, 0xe5bdb8},
+  {0x8fb4, 0xe5bdba},
+  {0x8fb5, 0xe5bdbd},
+  {0x8fb6, 0xe5bdbe},
+  {0x8fb7, 0xe5bdbf},
+  {0x8fb8, 0xe5be83},
+  {0x8fb9, 0xe5be86},
+  {0x8fba, 0xe5be8d},
+  {0x8fbb, 0xe5be8e},
+  {0x8fbc, 0xe5be8f},
+  {0x8fbd, 0xe5be91},
+  {0x8fbe, 0xe5be93},
+  {0x8fbf, 0xe5be94},
+  {0x8fc0, 0xe5be96},
+  {0x8fc1, 0xe5be9a},
+  {0x8fc2, 0xe5be9b},
+  {0x8fc3, 0xe5be9d},
+  {0x8fc4, 0xe5be9e},
+  {0x8fc5, 0xe5be9f},
+  {0x8fc6, 0xe5bea0},
+  {0x8fc7, 0xe5bea2},
+  {0x8fc8, 0xe5bea3},
+  {0x8fc9, 0xe5bea4},
+  {0x8fca, 0xe5bea5},
+  {0x8fcb, 0xe5bea6},
+  {0x8fcc, 0xe5bea7},
+  {0x8fcd, 0xe5bea9},
+  {0x8fce, 0xe5beab},
+  {0x8fcf, 0xe5beac},
+  {0x8fd0, 0xe5beaf},
+  {0x8fd1, 0xe5beb0},
+  {0x8fd2, 0xe5beb1},
+  {0x8fd3, 0xe5beb2},
+  {0x8fd4, 0xe5beb3},
+  {0x8fd5, 0xe5beb4},
+  {0x8fd6, 0xe5beb6},
+  {0x8fd7, 0xe5beb8},
+  {0x8fd8, 0xe5beb9},
+  {0x8fd9, 0xe5beba},
+  {0x8fda, 0xe5bebb},
+  {0x8fdb, 0xe5bebe},
+  {0x8fdc, 0xe5bebf},
+  {0x8fdd, 0xe5bf80},
+  {0x8fde, 0xe5bf81},
+  {0x8fdf, 0xe5bf82},
+  {0x8fe0, 0xe5bf87},
+  {0x8fe1, 0xe5bf88},
+  {0x8fe2, 0xe5bf8a},
+  {0x8fe3, 0xe5bf8b},
+  {0x8fe4, 0xe5bf8e},
+  {0x8fe5, 0xe5bf93},
+  {0x8fe6, 0xe5bf94},
+  {0x8fe7, 0xe5bf95},
+  {0x8fe8, 0xe5bf9a},
+  {0x8fe9, 0xe5bf9b},
+  {0x8fea, 0xe5bf9c},
+  {0x8feb, 0xe5bf9e},
+  {0x8fec, 0xe5bf9f},
+  {0x8fed, 0xe5bfa2},
+  {0x8fee, 0xe5bfa3},
+  {0x8fef, 0xe5bfa5},
+  {0x8ff0, 0xe5bfa6},
+  {0x8ff1, 0xe5bfa8},
+  {0x8ff2, 0xe5bfa9},
+  {0x8ff3, 0xe5bfac},
+  {0x8ff4, 0xe5bfaf},
+  {0x8ff5, 0xe5bfb0},
+  {0x8ff6, 0xe5bfb2},
+  {0x8ff7, 0xe5bfb3},
+  {0x8ff8, 0xe5bfb4},
+  {0x8ff9, 0xe5bfb6},
+  {0x8ffa, 0xe5bfb7},
+  {0x8ffb, 0xe5bfb9},
+  {0x8ffc, 0xe5bfba},
+  {0x8ffd, 0xe5bfbc},
+  {0x8ffe, 0xe68087},
+  {0x9040, 0xe68088},
+  {0x9041, 0xe68089},
+  {0x9042, 0xe6808b},
+  {0x9043, 0xe6808c},
+  {0x9044, 0xe68090},
+  {0x9045, 0xe68091},
+  {0x9046, 0xe68093},
+  {0x9047, 0xe68097},
+  {0x9048, 0xe68098},
+  {0x9049, 0xe6809a},
+  {0x904a, 0xe6809e},
+  {0x904b, 0xe6809f},
+  {0x904c, 0xe680a2},
+  {0x904d, 0xe680a3},
+  {0x904e, 0xe680a4},
+  {0x904f, 0xe680ac},
+  {0x9050, 0xe680ad},
+  {0x9051, 0xe680ae},
+  {0x9052, 0xe680b0},
+  {0x9053, 0xe680b1},
+  {0x9054, 0xe680b2},
+  {0x9055, 0xe680b3},
+  {0x9056, 0xe680b4},
+  {0x9057, 0xe680b6},
+  {0x9058, 0xe680b7},
+  {0x9059, 0xe680b8},
+  {0x905a, 0xe680b9},
+  {0x905b, 0xe680ba},
+  {0x905c, 0xe680bd},
+  {0x905d, 0xe680be},
+  {0x905e, 0xe68180},
+  {0x905f, 0xe68184},
+  {0x9060, 0xe68185},
+  {0x9061, 0xe68186},
+  {0x9062, 0xe68187},
+  {0x9063, 0xe68188},
+  {0x9064, 0xe68189},
+  {0x9065, 0xe6818a},
+  {0x9066, 0xe6818c},
+  {0x9067, 0xe6818e},
+  {0x9068, 0xe6818f},
+  {0x9069, 0xe68191},
+  {0x906a, 0xe68193},
+  {0x906b, 0xe68194},
+  {0x906c, 0xe68196},
+  {0x906d, 0xe68197},
+  {0x906e, 0xe68198},
+  {0x906f, 0xe6819b},
+  {0x9070, 0xe6819c},
+  {0x9071, 0xe6819e},
+  {0x9072, 0xe6819f},
+  {0x9073, 0xe681a0},
+  {0x9074, 0xe681a1},
+  {0x9075, 0xe681a5},
+  {0x9076, 0xe681a6},
+  {0x9077, 0xe681ae},
+  {0x9078, 0xe681b1},
+  {0x9079, 0xe681b2},
+  {0x907a, 0xe681b4},
+  {0x907b, 0xe681b5},
+  {0x907c, 0xe681b7},
+  {0x907d, 0xe681be},
+  {0x907e, 0xe68280},
+  {0x9080, 0xe68281},
+  {0x9081, 0xe68282},
+  {0x9082, 0xe68285},
+  {0x9083, 0xe68286},
+  {0x9084, 0xe68287},
+  {0x9085, 0xe68288},
+  {0x9086, 0xe6828a},
+  {0x9087, 0xe6828b},
+  {0x9088, 0xe6828e},
+  {0x9089, 0xe6828f},
+  {0x908a, 0xe68290},
+  {0x908b, 0xe68291},
+  {0x908c, 0xe68293},
+  {0x908d, 0xe68295},
+  {0x908e, 0xe68297},
+  {0x908f, 0xe68298},
+  {0x9090, 0xe68299},
+  {0x9091, 0xe6829c},
+  {0x9092, 0xe6829e},
+  {0x9093, 0xe682a1},
+  {0x9094, 0xe682a2},
+  {0x9095, 0xe682a4},
+  {0x9096, 0xe682a5},
+  {0x9097, 0xe682a7},
+  {0x9098, 0xe682a9},
+  {0x9099, 0xe682aa},
+  {0x909a, 0xe682ae},
+  {0x909b, 0xe682b0},
+  {0x909c, 0xe682b3},
+  {0x909d, 0xe682b5},
+  {0x909e, 0xe682b6},
+  {0x909f, 0xe682b7},
+  {0x90a0, 0xe682b9},
+  {0x90a1, 0xe682ba},
+  {0x90a2, 0xe682bd},
+  {0x90a3, 0xe682be},
+  {0x90a4, 0xe682bf},
+  {0x90a5, 0xe68380},
+  {0x90a6, 0xe68381},
+  {0x90a7, 0xe68382},
+  {0x90a8, 0xe68383},
+  {0x90a9, 0xe68384},
+  {0x90aa, 0xe68387},
+  {0x90ab, 0xe68388},
+  {0x90ac, 0xe68389},
+  {0x90ad, 0xe6838c},
+  {0x90ae, 0xe6838d},
+  {0x90af, 0xe6838e},
+  {0x90b0, 0xe6838f},
+  {0x90b1, 0xe68390},
+  {0x90b2, 0xe68392},
+  {0x90b3, 0xe68393},
+  {0x90b4, 0xe68394},
+  {0x90b5, 0xe68396},
+  {0x90b6, 0xe68397},
+  {0x90b7, 0xe68399},
+  {0x90b8, 0xe6839b},
+  {0x90b9, 0xe6839e},
+  {0x90ba, 0xe683a1},
+  {0x90bb, 0xe683a2},
+  {0x90bc, 0xe683a3},
+  {0x90bd, 0xe683a4},
+  {0x90be, 0xe683a5},
+  {0x90bf, 0xe683aa},
+  {0x90c0, 0xe683b1},
+  {0x90c1, 0xe683b2},
+  {0x90c2, 0xe683b5},
+  {0x90c3, 0xe683b7},
+  {0x90c4, 0xe683b8},
+  {0x90c5, 0xe683bb},
+  {0x90c6, 0xe683bc},
+  {0x90c7, 0xe683bd},
+  {0x90c8, 0xe683be},
+  {0x90c9, 0xe683bf},
+  {0x90ca, 0xe68482},
+  {0x90cb, 0xe68483},
+  {0x90cc, 0xe68484},
+  {0x90cd, 0xe68485},
+  {0x90ce, 0xe68487},
+  {0x90cf, 0xe6848a},
+  {0x90d0, 0xe6848b},
+  {0x90d1, 0xe6848c},
+  {0x90d2, 0xe68490},
+  {0x90d3, 0xe68491},
+  {0x90d4, 0xe68492},
+  {0x90d5, 0xe68493},
+  {0x90d6, 0xe68494},
+  {0x90d7, 0xe68496},
+  {0x90d8, 0xe68497},
+  {0x90d9, 0xe68498},
+  {0x90da, 0xe68499},
+  {0x90db, 0xe6849b},
+  {0x90dc, 0xe6849c},
+  {0x90dd, 0xe6849d},
+  {0x90de, 0xe6849e},
+  {0x90df, 0xe684a1},
+  {0x90e0, 0xe684a2},
+  {0x90e1, 0xe684a5},
+  {0x90e2, 0xe684a8},
+  {0x90e3, 0xe684a9},
+  {0x90e4, 0xe684aa},
+  {0x90e5, 0xe684ac},
+  {0x90e6, 0xe684ad},
+  {0x90e7, 0xe684ae},
+  {0x90e8, 0xe684af},
+  {0x90e9, 0xe684b0},
+  {0x90ea, 0xe684b1},
+  {0x90eb, 0xe684b2},
+  {0x90ec, 0xe684b3},
+  {0x90ed, 0xe684b4},
+  {0x90ee, 0xe684b5},
+  {0x90ef, 0xe684b6},
+  {0x90f0, 0xe684b7},
+  {0x90f1, 0xe684b8},
+  {0x90f2, 0xe684b9},
+  {0x90f3, 0xe684ba},
+  {0x90f4, 0xe684bb},
+  {0x90f5, 0xe684bc},
+  {0x90f6, 0xe684bd},
+  {0x90f7, 0xe684be},
+  {0x90f8, 0xe68580},
+  {0x90f9, 0xe68581},
+  {0x90fa, 0xe68582},
+  {0x90fb, 0xe68583},
+  {0x90fc, 0xe68584},
+  {0x90fd, 0xe68585},
+  {0x90fe, 0xe68586},
+  {0x9140, 0xe68587},
+  {0x9141, 0xe68589},
+  {0x9142, 0xe6858b},
+  {0x9143, 0xe6858d},
+  {0x9144, 0xe6858f},
+  {0x9145, 0xe68590},
+  {0x9146, 0xe68592},
+  {0x9147, 0xe68593},
+  {0x9148, 0xe68594},
+  {0x9149, 0xe68596},
+  {0x914a, 0xe68597},
+  {0x914b, 0xe68598},
+  {0x914c, 0xe68599},
+  {0x914d, 0xe6859a},
+  {0x914e, 0xe6859b},
+  {0x914f, 0xe6859c},
+  {0x9150, 0xe6859e},
+  {0x9151, 0xe6859f},
+  {0x9152, 0xe685a0},
+  {0x9153, 0xe685a1},
+  {0x9154, 0xe685a3},
+  {0x9155, 0xe685a4},
+  {0x9156, 0xe685a5},
+  {0x9157, 0xe685a6},
+  {0x9158, 0xe685a9},
+  {0x9159, 0xe685aa},
+  {0x915a, 0xe685ab},
+  {0x915b, 0xe685ac},
+  {0x915c, 0xe685ad},
+  {0x915d, 0xe685ae},
+  {0x915e, 0xe685af},
+  {0x915f, 0xe685b1},
+  {0x9160, 0xe685b2},
+  {0x9161, 0xe685b3},
+  {0x9162, 0xe685b4},
+  {0x9163, 0xe685b6},
+  {0x9164, 0xe685b8},
+  {0x9165, 0xe685b9},
+  {0x9166, 0xe685ba},
+  {0x9167, 0xe685bb},
+  {0x9168, 0xe685bc},
+  {0x9169, 0xe685bd},
+  {0x916a, 0xe685be},
+  {0x916b, 0xe685bf},
+  {0x916c, 0xe68680},
+  {0x916d, 0xe68681},
+  {0x916e, 0xe68682},
+  {0x916f, 0xe68683},
+  {0x9170, 0xe68684},
+  {0x9171, 0xe68685},
+  {0x9172, 0xe68686},
+  {0x9173, 0xe68687},
+  {0x9174, 0xe68688},
+  {0x9175, 0xe68689},
+  {0x9176, 0xe6868a},
+  {0x9177, 0xe6868c},
+  {0x9178, 0xe6868d},
+  {0x9179, 0xe6868f},
+  {0x917a, 0xe68690},
+  {0x917b, 0xe68691},
+  {0x917c, 0xe68692},
+  {0x917d, 0xe68693},
+  {0x917e, 0xe68695},
+  {0x9180, 0xe68696},
+  {0x9181, 0xe68697},
+  {0x9182, 0xe68698},
+  {0x9183, 0xe68699},
+  {0x9184, 0xe6869a},
+  {0x9185, 0xe6869b},
+  {0x9186, 0xe6869c},
+  {0x9187, 0xe6869e},
+  {0x9188, 0xe6869f},
+  {0x9189, 0xe686a0},
+  {0x918a, 0xe686a1},
+  {0x918b, 0xe686a2},
+  {0x918c, 0xe686a3},
+  {0x918d, 0xe686a4},
+  {0x918e, 0xe686a5},
+  {0x918f, 0xe686a6},
+  {0x9190, 0xe686aa},
+  {0x9191, 0xe686ab},
+  {0x9192, 0xe686ad},
+  {0x9193, 0xe686ae},
+  {0x9194, 0xe686af},
+  {0x9195, 0xe686b0},
+  {0x9196, 0xe686b1},
+  {0x9197, 0xe686b2},
+  {0x9198, 0xe686b3},
+  {0x9199, 0xe686b4},
+  {0x919a, 0xe686b5},
+  {0x919b, 0xe686b6},
+  {0x919c, 0xe686b8},
+  {0x919d, 0xe686b9},
+  {0x919e, 0xe686ba},
+  {0x919f, 0xe686bb},
+  {0x91a0, 0xe686bc},
+  {0x91a1, 0xe686bd},
+  {0x91a2, 0xe686bf},
+  {0x91a3, 0xe68780},
+  {0x91a4, 0xe68781},
+  {0x91a5, 0xe68783},
+  {0x91a6, 0xe68784},
+  {0x91a7, 0xe68785},
+  {0x91a8, 0xe68786},
+  {0x91a9, 0xe68787},
+  {0x91aa, 0xe68789},
+  {0x91ab, 0xe6878c},
+  {0x91ac, 0xe6878d},
+  {0x91ad, 0xe6878e},
+  {0x91ae, 0xe6878f},
+  {0x91af, 0xe68790},
+  {0x91b0, 0xe68793},
+  {0x91b1, 0xe68795},
+  {0x91b2, 0xe68796},
+  {0x91b3, 0xe68797},
+  {0x91b4, 0xe68798},
+  {0x91b5, 0xe68799},
+  {0x91b6, 0xe6879a},
+  {0x91b7, 0xe6879b},
+  {0x91b8, 0xe6879c},
+  {0x91b9, 0xe6879d},
+  {0x91ba, 0xe6879e},
+  {0x91bb, 0xe6879f},
+  {0x91bc, 0xe687a0},
+  {0x91bd, 0xe687a1},
+  {0x91be, 0xe687a2},
+  {0x91bf, 0xe687a3},
+  {0x91c0, 0xe687a4},
+  {0x91c1, 0xe687a5},
+  {0x91c2, 0xe687a7},
+  {0x91c3, 0xe687a8},
+  {0x91c4, 0xe687a9},
+  {0x91c5, 0xe687aa},
+  {0x91c6, 0xe687ab},
+  {0x91c7, 0xe687ac},
+  {0x91c8, 0xe687ad},
+  {0x91c9, 0xe687ae},
+  {0x91ca, 0xe687af},
+  {0x91cb, 0xe687b0},
+  {0x91cc, 0xe687b1},
+  {0x91cd, 0xe687b2},
+  {0x91ce, 0xe687b3},
+  {0x91cf, 0xe687b4},
+  {0x91d0, 0xe687b6},
+  {0x91d1, 0xe687b7},
+  {0x91d2, 0xe687b8},
+  {0x91d3, 0xe687b9},
+  {0x91d4, 0xe687ba},
+  {0x91d5, 0xe687bb},
+  {0x91d6, 0xe687bc},
+  {0x91d7, 0xe687bd},
+  {0x91d8, 0xe687be},
+  {0x91d9, 0xe68880},
+  {0x91da, 0xe68881},
+  {0x91db, 0xe68882},
+  {0x91dc, 0xe68883},
+  {0x91dd, 0xe68884},
+  {0x91de, 0xe68885},
+  {0x91df, 0xe68887},
+  {0x91e0, 0xe68889},
+  {0x91e1, 0xe68893},
+  {0x91e2, 0xe68894},
+  {0x91e3, 0xe68899},
+  {0x91e4, 0xe6889c},
+  {0x91e5, 0xe6889d},
+  {0x91e6, 0xe6889e},
+  {0x91e7, 0xe688a0},
+  {0x91e8, 0xe688a3},
+  {0x91e9, 0xe688a6},
+  {0x91ea, 0xe688a7},
+  {0x91eb, 0xe688a8},
+  {0x91ec, 0xe688a9},
+  {0x91ed, 0xe688ab},
+  {0x91ee, 0xe688ad},
+  {0x91ef, 0xe688af},
+  {0x91f0, 0xe688b0},
+  {0x91f1, 0xe688b1},
+  {0x91f2, 0xe688b2},
+  {0x91f3, 0xe688b5},
+  {0x91f4, 0xe688b6},
+  {0x91f5, 0xe688b8},
+  {0x91f6, 0xe688b9},
+  {0x91f7, 0xe688ba},
+  {0x91f8, 0xe688bb},
+  {0x91f9, 0xe688bc},
+  {0x91fa, 0xe68982},
+  {0x91fb, 0xe68984},
+  {0x91fc, 0xe68985},
+  {0x91fd, 0xe68986},
+  {0x91fe, 0xe6898a},
+  {0x9240, 0xe6898f},
+  {0x9241, 0xe68990},
+  {0x9242, 0xe68995},
+  {0x9243, 0xe68996},
+  {0x9244, 0xe68997},
+  {0x9245, 0xe68999},
+  {0x9246, 0xe6899a},
+  {0x9247, 0xe6899c},
+  {0x9248, 0xe6899d},
+  {0x9249, 0xe6899e},
+  {0x924a, 0xe6899f},
+  {0x924b, 0xe689a0},
+  {0x924c, 0xe689a1},
+  {0x924d, 0xe689a2},
+  {0x924e, 0xe689a4},
+  {0x924f, 0xe689a5},
+  {0x9250, 0xe689a8},
+  {0x9251, 0xe689b1},
+  {0x9252, 0xe689b2},
+  {0x9253, 0xe689b4},
+  {0x9254, 0xe689b5},
+  {0x9255, 0xe689b7},
+  {0x9256, 0xe689b8},
+  {0x9257, 0xe689ba},
+  {0x9258, 0xe689bb},
+  {0x9259, 0xe689bd},
+  {0x925a, 0xe68a81},
+  {0x925b, 0xe68a82},
+  {0x925c, 0xe68a83},
+  {0x925d, 0xe68a85},
+  {0x925e, 0xe68a86},
+  {0x925f, 0xe68a87},
+  {0x9260, 0xe68a88},
+  {0x9261, 0xe68a8b},
+  {0x9262, 0xe68a8c},
+  {0x9263, 0xe68a8d},
+  {0x9264, 0xe68a8e},
+  {0x9265, 0xe68a8f},
+  {0x9266, 0xe68a90},
+  {0x9267, 0xe68a94},
+  {0x9268, 0xe68a99},
+  {0x9269, 0xe68a9c},
+  {0x926a, 0xe68a9d},
+  {0x926b, 0xe68a9e},
+  {0x926c, 0xe68aa3},
+  {0x926d, 0xe68aa6},
+  {0x926e, 0xe68aa7},
+  {0x926f, 0xe68aa9},
+  {0x9270, 0xe68aaa},
+  {0x9271, 0xe68aad},
+  {0x9272, 0xe68aae},
+  {0x9273, 0xe68aaf},
+  {0x9274, 0xe68ab0},
+  {0x9275, 0xe68ab2},
+  {0x9276, 0xe68ab3},
+  {0x9277, 0xe68ab4},
+  {0x9278, 0xe68ab6},
+  {0x9279, 0xe68ab7},
+  {0x927a, 0xe68ab8},
+  {0x927b, 0xe68aba},
+  {0x927c, 0xe68abe},
+  {0x927d, 0xe68b80},
+  {0x927e, 0xe68b81},
+  {0x9280, 0xe68b83},
+  {0x9281, 0xe68b8b},
+  {0x9282, 0xe68b8f},
+  {0x9283, 0xe68b91},
+  {0x9284, 0xe68b95},
+  {0x9285, 0xe68b9d},
+  {0x9286, 0xe68b9e},
+  {0x9287, 0xe68ba0},
+  {0x9288, 0xe68ba1},
+  {0x9289, 0xe68ba4},
+  {0x928a, 0xe68baa},
+  {0x928b, 0xe68bab},
+  {0x928c, 0xe68bb0},
+  {0x928d, 0xe68bb2},
+  {0x928e, 0xe68bb5},
+  {0x928f, 0xe68bb8},
+  {0x9290, 0xe68bb9},
+  {0x9291, 0xe68bba},
+  {0x9292, 0xe68bbb},
+  {0x9293, 0xe68c80},
+  {0x9294, 0xe68c83},
+  {0x9295, 0xe68c84},
+  {0x9296, 0xe68c85},
+  {0x9297, 0xe68c86},
+  {0x9298, 0xe68c8a},
+  {0x9299, 0xe68c8b},
+  {0x929a, 0xe68c8c},
+  {0x929b, 0xe68c8d},
+  {0x929c, 0xe68c8f},
+  {0x929d, 0xe68c90},
+  {0x929e, 0xe68c92},
+  {0x929f, 0xe68c93},
+  {0x92a0, 0xe68c94},
+  {0x92a1, 0xe68c95},
+  {0x92a2, 0xe68c97},
+  {0x92a3, 0xe68c98},
+  {0x92a4, 0xe68c99},
+  {0x92a5, 0xe68c9c},
+  {0x92a6, 0xe68ca6},
+  {0x92a7, 0xe68ca7},
+  {0x92a8, 0xe68ca9},
+  {0x92a9, 0xe68cac},
+  {0x92aa, 0xe68cad},
+  {0x92ab, 0xe68cae},
+  {0x92ac, 0xe68cb0},
+  {0x92ad, 0xe68cb1},
+  {0x92ae, 0xe68cb3},
+  {0x92af, 0xe68cb4},
+  {0x92b0, 0xe68cb5},
+  {0x92b1, 0xe68cb6},
+  {0x92b2, 0xe68cb7},
+  {0x92b3, 0xe68cb8},
+  {0x92b4, 0xe68cbb},
+  {0x92b5, 0xe68cbc},
+  {0x92b6, 0xe68cbe},
+  {0x92b7, 0xe68cbf},
+  {0x92b8, 0xe68d80},
+  {0x92b9, 0xe68d81},
+  {0x92ba, 0xe68d84},
+  {0x92bb, 0xe68d87},
+  {0x92bc, 0xe68d88},
+  {0x92bd, 0xe68d8a},
+  {0x92be, 0xe68d91},
+  {0x92bf, 0xe68d92},
+  {0x92c0, 0xe68d93},
+  {0x92c1, 0xe68d94},
+  {0x92c2, 0xe68d96},
+  {0x92c3, 0xe68d97},
+  {0x92c4, 0xe68d98},
+  {0x92c5, 0xe68d99},
+  {0x92c6, 0xe68d9a},
+  {0x92c7, 0xe68d9b},
+  {0x92c8, 0xe68d9c},
+  {0x92c9, 0xe68d9d},
+  {0x92ca, 0xe68da0},
+  {0x92cb, 0xe68da4},
+  {0x92cc, 0xe68da5},
+  {0x92cd, 0xe68da6},
+  {0x92ce, 0xe68da8},
+  {0x92cf, 0xe68daa},
+  {0x92d0, 0xe68dab},
+  {0x92d1, 0xe68dac},
+  {0x92d2, 0xe68daf},
+  {0x92d3, 0xe68db0},
+  {0x92d4, 0xe68db2},
+  {0x92d5, 0xe68db3},
+  {0x92d6, 0xe68db4},
+  {0x92d7, 0xe68db5},
+  {0x92d8, 0xe68db8},
+  {0x92d9, 0xe68db9},
+  {0x92da, 0xe68dbc},
+  {0x92db, 0xe68dbd},
+  {0x92dc, 0xe68dbe},
+  {0x92dd, 0xe68dbf},
+  {0x92de, 0xe68e81},
+  {0x92df, 0xe68e83},
+  {0x92e0, 0xe68e84},
+  {0x92e1, 0xe68e85},
+  {0x92e2, 0xe68e86},
+  {0x92e3, 0xe68e8b},
+  {0x92e4, 0xe68e8d},
+  {0x92e5, 0xe68e91},
+  {0x92e6, 0xe68e93},
+  {0x92e7, 0xe68e94},
+  {0x92e8, 0xe68e95},
+  {0x92e9, 0xe68e97},
+  {0x92ea, 0xe68e99},
+  {0x92eb, 0xe68e9a},
+  {0x92ec, 0xe68e9b},
+  {0x92ed, 0xe68e9c},
+  {0x92ee, 0xe68e9d},
+  {0x92ef, 0xe68e9e},
+  {0x92f0, 0xe68e9f},
+  {0x92f1, 0xe68ea1},
+  {0x92f2, 0xe68ea4},
+  {0x92f3, 0xe68ea6},
+  {0x92f4, 0xe68eab},
+  {0x92f5, 0xe68eaf},
+  {0x92f6, 0xe68eb1},
+  {0x92f7, 0xe68eb2},
+  {0x92f8, 0xe68eb5},
+  {0x92f9, 0xe68eb6},
+  {0x92fa, 0xe68eb9},
+  {0x92fb, 0xe68ebb},
+  {0x92fc, 0xe68ebd},
+  {0x92fd, 0xe68ebf},
+  {0x92fe, 0xe68f80},
+  {0x9340, 0xe68f81},
+  {0x9341, 0xe68f82},
+  {0x9342, 0xe68f83},
+  {0x9343, 0xe68f85},
+  {0x9344, 0xe68f87},
+  {0x9345, 0xe68f88},
+  {0x9346, 0xe68f8a},
+  {0x9347, 0xe68f8b},
+  {0x9348, 0xe68f8c},
+  {0x9349, 0xe68f91},
+  {0x934a, 0xe68f93},
+  {0x934b, 0xe68f94},
+  {0x934c, 0xe68f95},
+  {0x934d, 0xe68f97},
+  {0x934e, 0xe68f98},
+  {0x934f, 0xe68f99},
+  {0x9350, 0xe68f9a},
+  {0x9351, 0xe68f9b},
+  {0x9352, 0xe68f9c},
+  {0x9353, 0xe68f9d},
+  {0x9354, 0xe68f9f},
+  {0x9355, 0xe68fa2},
+  {0x9356, 0xe68fa4},
+  {0x9357, 0xe68fa5},
+  {0x9358, 0xe68fa6},
+  {0x9359, 0xe68fa7},
+  {0x935a, 0xe68fa8},
+  {0x935b, 0xe68fab},
+  {0x935c, 0xe68fac},
+  {0x935d, 0xe68fae},
+  {0x935e, 0xe68faf},
+  {0x935f, 0xe68fb0},
+  {0x9360, 0xe68fb1},
+  {0x9361, 0xe68fb3},
+  {0x9362, 0xe68fb5},
+  {0x9363, 0xe68fb7},
+  {0x9364, 0xe68fb9},
+  {0x9365, 0xe68fba},
+  {0x9366, 0xe68fbb},
+  {0x9367, 0xe68fbc},
+  {0x9368, 0xe68fbe},
+  {0x9369, 0xe69083},
+  {0x936a, 0xe69084},
+  {0x936b, 0xe69086},
+  {0x936c, 0xe69087},
+  {0x936d, 0xe69088},
+  {0x936e, 0xe69089},
+  {0x936f, 0xe6908a},
+  {0x9370, 0xe6908d},
+  {0x9371, 0xe6908e},
+  {0x9372, 0xe69091},
+  {0x9373, 0xe69092},
+  {0x9374, 0xe69095},
+  {0x9375, 0xe69096},
+  {0x9376, 0xe69097},
+  {0x9377, 0xe69098},
+  {0x9378, 0xe69099},
+  {0x9379, 0xe6909a},
+  {0x937a, 0xe6909d},
+  {0x937b, 0xe6909f},
+  {0x937c, 0xe690a2},
+  {0x937d, 0xe690a3},
+  {0x937e, 0xe690a4},
+  {0x9380, 0xe690a5},
+  {0x9381, 0xe690a7},
+  {0x9382, 0xe690a8},
+  {0x9383, 0xe690a9},
+  {0x9384, 0xe690ab},
+  {0x9385, 0xe690ae},
+  {0x9386, 0xe690af},
+  {0x9387, 0xe690b0},
+  {0x9388, 0xe690b1},
+  {0x9389, 0xe690b2},
+  {0x938a, 0xe690b3},
+  {0x938b, 0xe690b5},
+  {0x938c, 0xe690b6},
+  {0x938d, 0xe690b7},
+  {0x938e, 0xe690b8},
+  {0x938f, 0xe690b9},
+  {0x9390, 0xe690bb},
+  {0x9391, 0xe690bc},
+  {0x9392, 0xe690be},
+  {0x9393, 0xe69180},
+  {0x9394, 0xe69182},
+  {0x9395, 0xe69183},
+  {0x9396, 0xe69189},
+  {0x9397, 0xe6918b},
+  {0x9398, 0xe6918c},
+  {0x9399, 0xe6918d},
+  {0x939a, 0xe6918e},
+  {0x939b, 0xe6918f},
+  {0x939c, 0xe69190},
+  {0x939d, 0xe69191},
+  {0x939e, 0xe69193},
+  {0x939f, 0xe69195},
+  {0x93a0, 0xe69196},
+  {0x93a1, 0xe69197},
+  {0x93a2, 0xe69199},
+  {0x93a3, 0xe6919a},
+  {0x93a4, 0xe6919b},
+  {0x93a5, 0xe6919c},
+  {0x93a6, 0xe6919d},
+  {0x93a7, 0xe6919f},
+  {0x93a8, 0xe691a0},
+  {0x93a9, 0xe691a1},
+  {0x93aa, 0xe691a2},
+  {0x93ab, 0xe691a3},
+  {0x93ac, 0xe691a4},
+  {0x93ad, 0xe691a5},
+  {0x93ae, 0xe691a6},
+  {0x93af, 0xe691a8},
+  {0x93b0, 0xe691aa},
+  {0x93b1, 0xe691ab},
+  {0x93b2, 0xe691ac},
+  {0x93b3, 0xe691ae},
+  {0x93b4, 0xe691af},
+  {0x93b5, 0xe691b0},
+  {0x93b6, 0xe691b1},
+  {0x93b7, 0xe691b2},
+  {0x93b8, 0xe691b3},
+  {0x93b9, 0xe691b4},
+  {0x93ba, 0xe691b5},
+  {0x93bb, 0xe691b6},
+  {0x93bc, 0xe691b7},
+  {0x93bd, 0xe691bb},
+  {0x93be, 0xe691bc},
+  {0x93bf, 0xe691bd},
+  {0x93c0, 0xe691be},
+  {0x93c1, 0xe691bf},
+  {0x93c2, 0xe69280},
+  {0x93c3, 0xe69281},
+  {0x93c4, 0xe69283},
+  {0x93c5, 0xe69286},
+  {0x93c6, 0xe69288},
+  {0x93c7, 0xe69289},
+  {0x93c8, 0xe6928a},
+  {0x93c9, 0xe6928b},
+  {0x93ca, 0xe6928c},
+  {0x93cb, 0xe6928d},
+  {0x93cc, 0xe6928e},
+  {0x93cd, 0xe6928f},
+  {0x93ce, 0xe69290},
+  {0x93cf, 0xe69293},
+  {0x93d0, 0xe69294},
+  {0x93d1, 0xe69297},
+  {0x93d2, 0xe69298},
+  {0x93d3, 0xe6929a},
+  {0x93d4, 0xe6929b},
+  {0x93d5, 0xe6929c},
+  {0x93d6, 0xe6929d},
+  {0x93d7, 0xe6929f},
+  {0x93d8, 0xe692a0},
+  {0x93d9, 0xe692a1},
+  {0x93da, 0xe692a2},
+  {0x93db, 0xe692a3},
+  {0x93dc, 0xe692a5},
+  {0x93dd, 0xe692a6},
+  {0x93de, 0xe692a7},
+  {0x93df, 0xe692a8},
+  {0x93e0, 0xe692aa},
+  {0x93e1, 0xe692ab},
+  {0x93e2, 0xe692af},
+  {0x93e3, 0xe692b1},
+  {0x93e4, 0xe692b2},
+  {0x93e5, 0xe692b3},
+  {0x93e6, 0xe692b4},
+  {0x93e7, 0xe692b6},
+  {0x93e8, 0xe692b9},
+  {0x93e9, 0xe692bb},
+  {0x93ea, 0xe692bd},
+  {0x93eb, 0xe692be},
+  {0x93ec, 0xe692bf},
+  {0x93ed, 0xe69381},
+  {0x93ee, 0xe69383},
+  {0x93ef, 0xe69384},
+  {0x93f0, 0xe69386},
+  {0x93f1, 0xe69387},
+  {0x93f2, 0xe69388},
+  {0x93f3, 0xe69389},
+  {0x93f4, 0xe6938a},
+  {0x93f5, 0xe6938b},
+  {0x93f6, 0xe6938c},
+  {0x93f7, 0xe6938f},
+  {0x93f8, 0xe69391},
+  {0x93f9, 0xe69393},
+  {0x93fa, 0xe69394},
+  {0x93fb, 0xe69395},
+  {0x93fc, 0xe69396},
+  {0x93fd, 0xe69399},
+  {0x93fe, 0xe6939a},
+  {0x9440, 0xe6939b},
+  {0x9441, 0xe6939c},
+  {0x9442, 0xe6939d},
+  {0x9443, 0xe6939f},
+  {0x9444, 0xe693a0},
+  {0x9445, 0xe693a1},
+  {0x9446, 0xe693a3},
+  {0x9447, 0xe693a5},
+  {0x9448, 0xe693a7},
+  {0x9449, 0xe693a8},
+  {0x944a, 0xe693a9},
+  {0x944b, 0xe693aa},
+  {0x944c, 0xe693ab},
+  {0x944d, 0xe693ac},
+  {0x944e, 0xe693ad},
+  {0x944f, 0xe693ae},
+  {0x9450, 0xe693af},
+  {0x9451, 0xe693b0},
+  {0x9452, 0xe693b1},
+  {0x9453, 0xe693b2},
+  {0x9454, 0xe693b3},
+  {0x9455, 0xe693b4},
+  {0x9456, 0xe693b5},
+  {0x9457, 0xe693b6},
+  {0x9458, 0xe693b7},
+  {0x9459, 0xe693b8},
+  {0x945a, 0xe693b9},
+  {0x945b, 0xe693ba},
+  {0x945c, 0xe693bb},
+  {0x945d, 0xe693bc},
+  {0x945e, 0xe693bd},
+  {0x945f, 0xe693be},
+  {0x9460, 0xe693bf},
+  {0x9461, 0xe69481},
+  {0x9462, 0xe69482},
+  {0x9463, 0xe69483},
+  {0x9464, 0xe69484},
+  {0x9465, 0xe69485},
+  {0x9466, 0xe69486},
+  {0x9467, 0xe69487},
+  {0x9468, 0xe69488},
+  {0x9469, 0xe6948a},
+  {0x946a, 0xe6948b},
+  {0x946b, 0xe6948c},
+  {0x946c, 0xe6948d},
+  {0x946d, 0xe6948e},
+  {0x946e, 0xe6948f},
+  {0x946f, 0xe69490},
+  {0x9470, 0xe69491},
+  {0x9471, 0xe69493},
+  {0x9472, 0xe69494},
+  {0x9473, 0xe69495},
+  {0x9474, 0xe69496},
+  {0x9475, 0xe69497},
+  {0x9476, 0xe69499},
+  {0x9477, 0xe6949a},
+  {0x9478, 0xe6949b},
+  {0x9479, 0xe6949c},
+  {0x947a, 0xe6949d},
+  {0x947b, 0xe6949e},
+  {0x947c, 0xe6949f},
+  {0x947d, 0xe694a0},
+  {0x947e, 0xe694a1},
+  {0x9480, 0xe694a2},
+  {0x9481, 0xe694a3},
+  {0x9482, 0xe694a4},
+  {0x9483, 0xe694a6},
+  {0x9484, 0xe694a7},
+  {0x9485, 0xe694a8},
+  {0x9486, 0xe694a9},
+  {0x9487, 0xe694aa},
+  {0x9488, 0xe694ac},
+  {0x9489, 0xe694ad},
+  {0x948a, 0xe694b0},
+  {0x948b, 0xe694b1},
+  {0x948c, 0xe694b2},
+  {0x948d, 0xe694b3},
+  {0x948e, 0xe694b7},
+  {0x948f, 0xe694ba},
+  {0x9490, 0xe694bc},
+  {0x9491, 0xe694bd},
+  {0x9492, 0xe69580},
+  {0x9493, 0xe69581},
+  {0x9494, 0xe69582},
+  {0x9495, 0xe69583},
+  {0x9496, 0xe69584},
+  {0x9497, 0xe69586},
+  {0x9498, 0xe69587},
+  {0x9499, 0xe6958a},
+  {0x949a, 0xe6958b},
+  {0x949b, 0xe6958d},
+  {0x949c, 0xe6958e},
+  {0x949d, 0xe69590},
+  {0x949e, 0xe69592},
+  {0x949f, 0xe69593},
+  {0x94a0, 0xe69594},
+  {0x94a1, 0xe69597},
+  {0x94a2, 0xe69598},
+  {0x94a3, 0xe6959a},
+  {0x94a4, 0xe6959c},
+  {0x94a5, 0xe6959f},
+  {0x94a6, 0xe695a0},
+  {0x94a7, 0xe695a1},
+  {0x94a8, 0xe695a4},
+  {0x94a9, 0xe695a5},
+  {0x94aa, 0xe695a7},
+  {0x94ab, 0xe695a8},
+  {0x94ac, 0xe695a9},
+  {0x94ad, 0xe695aa},
+  {0x94ae, 0xe695ad},
+  {0x94af, 0xe695ae},
+  {0x94b0, 0xe695af},
+  {0x94b1, 0xe695b1},
+  {0x94b2, 0xe695b3},
+  {0x94b3, 0xe695b5},
+  {0x94b4, 0xe695b6},
+  {0x94b5, 0xe695b8},
+  {0x94b6, 0xe695b9},
+  {0x94b7, 0xe695ba},
+  {0x94b8, 0xe695bb},
+  {0x94b9, 0xe695bc},
+  {0x94ba, 0xe695bd},
+  {0x94bb, 0xe695be},
+  {0x94bc, 0xe695bf},
+  {0x94bd, 0xe69680},
+  {0x94be, 0xe69681},
+  {0x94bf, 0xe69682},
+  {0x94c0, 0xe69683},
+  {0x94c1, 0xe69684},
+  {0x94c2, 0xe69685},
+  {0x94c3, 0xe69686},
+  {0x94c4, 0xe69688},
+  {0x94c5, 0xe69689},
+  {0x94c6, 0xe6968a},
+  {0x94c7, 0xe6968d},
+  {0x94c8, 0xe6968e},
+  {0x94c9, 0xe6968f},
+  {0x94ca, 0xe69692},
+  {0x94cb, 0xe69694},
+  {0x94cc, 0xe69695},
+  {0x94cd, 0xe69696},
+  {0x94ce, 0xe69698},
+  {0x94cf, 0xe6969a},
+  {0x94d0, 0xe6969d},
+  {0x94d1, 0xe6969e},
+  {0x94d2, 0xe696a0},
+  {0x94d3, 0xe696a2},
+  {0x94d4, 0xe696a3},
+  {0x94d5, 0xe696a6},
+  {0x94d6, 0xe696a8},
+  {0x94d7, 0xe696aa},
+  {0x94d8, 0xe696ac},
+  {0x94d9, 0xe696ae},
+  {0x94da, 0xe696b1},
+  {0x94db, 0xe696b2},
+  {0x94dc, 0xe696b3},
+  {0x94dd, 0xe696b4},
+  {0x94de, 0xe696b5},
+  {0x94df, 0xe696b6},
+  {0x94e0, 0xe696b7},
+  {0x94e1, 0xe696b8},
+  {0x94e2, 0xe696ba},
+  {0x94e3, 0xe696bb},
+  {0x94e4, 0xe696be},
+  {0x94e5, 0xe696bf},
+  {0x94e6, 0xe69780},
+  {0x94e7, 0xe69782},
+  {0x94e8, 0xe69787},
+  {0x94e9, 0xe69788},
+  {0x94ea, 0xe69789},
+  {0x94eb, 0xe6978a},
+  {0x94ec, 0xe6978d},
+  {0x94ed, 0xe69790},
+  {0x94ee, 0xe69791},
+  {0x94ef, 0xe69793},
+  {0x94f0, 0xe69794},
+  {0x94f1, 0xe69795},
+  {0x94f2, 0xe69798},
+  {0x94f3, 0xe69799},
+  {0x94f4, 0xe6979a},
+  {0x94f5, 0xe6979b},
+  {0x94f6, 0xe6979c},
+  {0x94f7, 0xe6979d},
+  {0x94f8, 0xe6979e},
+  {0x94f9, 0xe6979f},
+  {0x94fa, 0xe697a1},
+  {0x94fb, 0xe697a3},
+  {0x94fc, 0xe697a4},
+  {0x94fd, 0xe697aa},
+  {0x94fe, 0xe697ab},
+  {0x9540, 0xe697b2},
+  {0x9541, 0xe697b3},
+  {0x9542, 0xe697b4},
+  {0x9543, 0xe697b5},
+  {0x9544, 0xe697b8},
+  {0x9545, 0xe697b9},
+  {0x9546, 0xe697bb},
+  {0x9547, 0xe697bc},
+  {0x9548, 0xe697bd},
+  {0x9549, 0xe697be},
+  {0x954a, 0xe697bf},
+  {0x954b, 0xe69881},
+  {0x954c, 0xe69884},
+  {0x954d, 0xe69885},
+  {0x954e, 0xe69887},
+  {0x954f, 0xe69888},
+  {0x9550, 0xe69889},
+  {0x9551, 0xe6988b},
+  {0x9552, 0xe6988d},
+  {0x9553, 0xe69890},
+  {0x9554, 0xe69891},
+  {0x9555, 0xe69892},
+  {0x9556, 0xe69896},
+  {0x9557, 0xe69897},
+  {0x9558, 0xe69898},
+  {0x9559, 0xe6989a},
+  {0x955a, 0xe6989b},
+  {0x955b, 0xe6989c},
+  {0x955c, 0xe6989e},
+  {0x955d, 0xe698a1},
+  {0x955e, 0xe698a2},
+  {0x955f, 0xe698a3},
+  {0x9560, 0xe698a4},
+  {0x9561, 0xe698a6},
+  {0x9562, 0xe698a9},
+  {0x9563, 0xe698aa},
+  {0x9564, 0xe698ab},
+  {0x9565, 0xe698ac},
+  {0x9566, 0xe698ae},
+  {0x9567, 0xe698b0},
+  {0x9568, 0xe698b2},
+  {0x9569, 0xe698b3},
+  {0x956a, 0xe698b7},
+  {0x956b, 0xe698b8},
+  {0x956c, 0xe698b9},
+  {0x956d, 0xe698ba},
+  {0x956e, 0xe698bb},
+  {0x956f, 0xe698bd},
+  {0x9570, 0xe698bf},
+  {0x9571, 0xe69980},
+  {0x9572, 0xe69982},
+  {0x9573, 0xe69984},
+  {0x9574, 0xe69985},
+  {0x9575, 0xe69986},
+  {0x9576, 0xe69987},
+  {0x9577, 0xe69988},
+  {0x9578, 0xe69989},
+  {0x9579, 0xe6998a},
+  {0x957a, 0xe6998d},
+  {0x957b, 0xe6998e},
+  {0x957c, 0xe69990},
+  {0x957d, 0xe69991},
+  {0x957e, 0xe69998},
+  {0x9580, 0xe69999},
+  {0x9581, 0xe6999b},
+  {0x9582, 0xe6999c},
+  {0x9583, 0xe6999d},
+  {0x9584, 0xe6999e},
+  {0x9585, 0xe699a0},
+  {0x9586, 0xe699a2},
+  {0x9587, 0xe699a3},
+  {0x9588, 0xe699a5},
+  {0x9589, 0xe699a7},
+  {0x958a, 0xe699a9},
+  {0x958b, 0xe699aa},
+  {0x958c, 0xe699ab},
+  {0x958d, 0xe699ac},
+  {0x958e, 0xe699ad},
+  {0x958f, 0xe699b1},
+  {0x9590, 0xe699b2},
+  {0x9591, 0xe699b3},
+  {0x9592, 0xe699b5},
+  {0x9593, 0xe699b8},
+  {0x9594, 0xe699b9},
+  {0x9595, 0xe699bb},
+  {0x9596, 0xe699bc},
+  {0x9597, 0xe699bd},
+  {0x9598, 0xe699bf},
+  {0x9599, 0xe69a80},
+  {0x959a, 0xe69a81},
+  {0x959b, 0xe69a83},
+  {0x959c, 0xe69a85},
+  {0x959d, 0xe69a86},
+  {0x959e, 0xe69a88},
+  {0x959f, 0xe69a89},
+  {0x95a0, 0xe69a8a},
+  {0x95a1, 0xe69a8b},
+  {0x95a2, 0xe69a8d},
+  {0x95a3, 0xe69a8e},
+  {0x95a4, 0xe69a8f},
+  {0x95a5, 0xe69a90},
+  {0x95a6, 0xe69a92},
+  {0x95a7, 0xe69a93},
+  {0x95a8, 0xe69a94},
+  {0x95a9, 0xe69a95},
+  {0x95aa, 0xe69a98},
+  {0x95ab, 0xe69a99},
+  {0x95ac, 0xe69a9a},
+  {0x95ad, 0xe69a9b},
+  {0x95ae, 0xe69a9c},
+  {0x95af, 0xe69a9e},
+  {0x95b0, 0xe69a9f},
+  {0x95b1, 0xe69aa0},
+  {0x95b2, 0xe69aa1},
+  {0x95b3, 0xe69aa2},
+  {0x95b4, 0xe69aa3},
+  {0x95b5, 0xe69aa4},
+  {0x95b6, 0xe69aa5},
+  {0x95b7, 0xe69aa6},
+  {0x95b8, 0xe69aa9},
+  {0x95b9, 0xe69aaa},
+  {0x95ba, 0xe69aab},
+  {0x95bb, 0xe69aac},
+  {0x95bc, 0xe69aad},
+  {0x95bd, 0xe69aaf},
+  {0x95be, 0xe69ab0},
+  {0x95bf, 0xe69ab1},
+  {0x95c0, 0xe69ab2},
+  {0x95c1, 0xe69ab3},
+  {0x95c2, 0xe69ab5},
+  {0x95c3, 0xe69ab6},
+  {0x95c4, 0xe69ab7},
+  {0x95c5, 0xe69ab8},
+  {0x95c6, 0xe69aba},
+  {0x95c7, 0xe69abb},
+  {0x95c8, 0xe69abc},
+  {0x95c9, 0xe69abd},
+  {0x95ca, 0xe69abf},
+  {0x95cb, 0xe69b80},
+  {0x95cc, 0xe69b81},
+  {0x95cd, 0xe69b82},
+  {0x95ce, 0xe69b83},
+  {0x95cf, 0xe69b84},
+  {0x95d0, 0xe69b85},
+  {0x95d1, 0xe69b86},
+  {0x95d2, 0xe69b87},
+  {0x95d3, 0xe69b88},
+  {0x95d4, 0xe69b89},
+  {0x95d5, 0xe69b8a},
+  {0x95d6, 0xe69b8b},
+  {0x95d7, 0xe69b8c},
+  {0x95d8, 0xe69b8d},
+  {0x95d9, 0xe69b8e},
+  {0x95da, 0xe69b8f},
+  {0x95db, 0xe69b90},
+  {0x95dc, 0xe69b91},
+  {0x95dd, 0xe69b92},
+  {0x95de, 0xe69b93},
+  {0x95df, 0xe69b94},
+  {0x95e0, 0xe69b95},
+  {0x95e1, 0xe69b96},
+  {0x95e2, 0xe69b97},
+  {0x95e3, 0xe69b98},
+  {0x95e4, 0xe69b9a},
+  {0x95e5, 0xe69b9e},
+  {0x95e6, 0xe69b9f},
+  {0x95e7, 0xe69ba0},
+  {0x95e8, 0xe69ba1},
+  {0x95e9, 0xe69ba2},
+  {0x95ea, 0xe69ba3},
+  {0x95eb, 0xe69ba4},
+  {0x95ec, 0xe69ba5},
+  {0x95ed, 0xe69ba7},
+  {0x95ee, 0xe69ba8},
+  {0x95ef, 0xe69baa},
+  {0x95f0, 0xe69bab},
+  {0x95f1, 0xe69bac},
+  {0x95f2, 0xe69bad},
+  {0x95f3, 0xe69bae},
+  {0x95f4, 0xe69baf},
+  {0x95f5, 0xe69bb1},
+  {0x95f6, 0xe69bb5},
+  {0x95f7, 0xe69bb6},
+  {0x95f8, 0xe69bb8},
+  {0x95f9, 0xe69bba},
+  {0x95fa, 0xe69bbb},
+  {0x95fb, 0xe69bbd},
+  {0x95fc, 0xe69c81},
+  {0x95fd, 0xe69c82},
+  {0x95fe, 0xe69c83},
+  {0x9640, 0xe69c84},
+  {0x9641, 0xe69c85},
+  {0x9642, 0xe69c86},
+  {0x9643, 0xe69c87},
+  {0x9644, 0xe69c8c},
+  {0x9645, 0xe69c8e},
+  {0x9646, 0xe69c8f},
+  {0x9647, 0xe69c91},
+  {0x9648, 0xe69c92},
+  {0x9649, 0xe69c93},
+  {0x964a, 0xe69c96},
+  {0x964b, 0xe69c98},
+  {0x964c, 0xe69c99},
+  {0x964d, 0xe69c9a},
+  {0x964e, 0xe69c9c},
+  {0x964f, 0xe69c9e},
+  {0x9650, 0xe69ca0},
+  {0x9651, 0xe69ca1},
+  {0x9652, 0xe69ca2},
+  {0x9653, 0xe69ca3},
+  {0x9654, 0xe69ca4},
+  {0x9655, 0xe69ca5},
+  {0x9656, 0xe69ca7},
+  {0x9657, 0xe69ca9},
+  {0x9658, 0xe69cae},
+  {0x9659, 0xe69cb0},
+  {0x965a, 0xe69cb2},
+  {0x965b, 0xe69cb3},
+  {0x965c, 0xe69cb6},
+  {0x965d, 0xe69cb7},
+  {0x965e, 0xe69cb8},
+  {0x965f, 0xe69cb9},
+  {0x9660, 0xe69cbb},
+  {0x9661, 0xe69cbc},
+  {0x9662, 0xe69cbe},
+  {0x9663, 0xe69cbf},
+  {0x9664, 0xe69d81},
+  {0x9665, 0xe69d84},
+  {0x9666, 0xe69d85},
+  {0x9667, 0xe69d87},
+  {0x9668, 0xe69d8a},
+  {0x9669, 0xe69d8b},
+  {0x966a, 0xe69d8d},
+  {0x966b, 0xe69d92},
+  {0x966c, 0xe69d94},
+  {0x966d, 0xe69d95},
+  {0x966e, 0xe69d97},
+  {0x966f, 0xe69d98},
+  {0x9670, 0xe69d99},
+  {0x9671, 0xe69d9a},
+  {0x9672, 0xe69d9b},
+  {0x9673, 0xe69d9d},
+  {0x9674, 0xe69da2},
+  {0x9675, 0xe69da3},
+  {0x9676, 0xe69da4},
+  {0x9677, 0xe69da6},
+  {0x9678, 0xe69da7},
+  {0x9679, 0xe69dab},
+  {0x967a, 0xe69dac},
+  {0x967b, 0xe69dae},
+  {0x967c, 0xe69db1},
+  {0x967d, 0xe69db4},
+  {0x967e, 0xe69db6},
+  {0x9680, 0xe69db8},
+  {0x9681, 0xe69db9},
+  {0x9682, 0xe69dba},
+  {0x9683, 0xe69dbb},
+  {0x9684, 0xe69dbd},
+  {0x9685, 0xe69e80},
+  {0x9686, 0xe69e82},
+  {0x9687, 0xe69e83},
+  {0x9688, 0xe69e85},
+  {0x9689, 0xe69e86},
+  {0x968a, 0xe69e88},
+  {0x968b, 0xe69e8a},
+  {0x968c, 0xe69e8c},
+  {0x968d, 0xe69e8d},
+  {0x968e, 0xe69e8e},
+  {0x968f, 0xe69e8f},
+  {0x9690, 0xe69e91},
+  {0x9691, 0xe69e92},
+  {0x9692, 0xe69e93},
+  {0x9693, 0xe69e94},
+  {0x9694, 0xe69e96},
+  {0x9695, 0xe69e99},
+  {0x9696, 0xe69e9b},
+  {0x9697, 0xe69e9f},
+  {0x9698, 0xe69ea0},
+  {0x9699, 0xe69ea1},
+  {0x969a, 0xe69ea4},
+  {0x969b, 0xe69ea6},
+  {0x969c, 0xe69ea9},
+  {0x969d, 0xe69eac},
+  {0x969e, 0xe69eae},
+  {0x969f, 0xe69eb1},
+  {0x96a0, 0xe69eb2},
+  {0x96a1, 0xe69eb4},
+  {0x96a2, 0xe69eb9},
+  {0x96a3, 0xe69eba},
+  {0x96a4, 0xe69ebb},
+  {0x96a5, 0xe69ebc},
+  {0x96a6, 0xe69ebd},
+  {0x96a7, 0xe69ebe},
+  {0x96a8, 0xe69ebf},
+  {0x96a9, 0xe69f80},
+  {0x96aa, 0xe69f82},
+  {0x96ab, 0xe69f85},
+  {0x96ac, 0xe69f86},
+  {0x96ad, 0xe69f87},
+  {0x96ae, 0xe69f88},
+  {0x96af, 0xe69f89},
+  {0x96b0, 0xe69f8a},
+  {0x96b1, 0xe69f8b},
+  {0x96b2, 0xe69f8c},
+  {0x96b3, 0xe69f8d},
+  {0x96b4, 0xe69f8e},
+  {0x96b5, 0xe69f95},
+  {0x96b6, 0xe69f96},
+  {0x96b7, 0xe69f97},
+  {0x96b8, 0xe69f9b},
+  {0x96b9, 0xe69f9f},
+  {0x96ba, 0xe69fa1},
+  {0x96bb, 0xe69fa3},
+  {0x96bc, 0xe69fa4},
+  {0x96bd, 0xe69fa6},
+  {0x96be, 0xe69fa7},
+  {0x96bf, 0xe69fa8},
+  {0x96c0, 0xe69faa},
+  {0x96c1, 0xe69fab},
+  {0x96c2, 0xe69fad},
+  {0x96c3, 0xe69fae},
+  {0x96c4, 0xe69fb2},
+  {0x96c5, 0xe69fb5},
+  {0x96c6, 0xe69fb6},
+  {0x96c7, 0xe69fb7},
+  {0x96c8, 0xe69fb8},
+  {0x96c9, 0xe69fb9},
+  {0x96ca, 0xe69fba},
+  {0x96cb, 0xe69fbb},
+  {0x96cc, 0xe69fbc},
+  {0x96cd, 0xe69fbe},
+  {0x96ce, 0xe6a081},
+  {0x96cf, 0xe6a082},
+  {0x96d0, 0xe6a083},
+  {0x96d1, 0xe6a084},
+  {0x96d2, 0xe6a086},
+  {0x96d3, 0xe6a08d},
+  {0x96d4, 0xe6a090},
+  {0x96d5, 0xe6a092},
+  {0x96d6, 0xe6a094},
+  {0x96d7, 0xe6a095},
+  {0x96d8, 0xe6a098},
+  {0x96d9, 0xe6a099},
+  {0x96da, 0xe6a09a},
+  {0x96db, 0xe6a09b},
+  {0x96dc, 0xe6a09c},
+  {0x96dd, 0xe6a09e},
+  {0x96de, 0xe6a09f},
+  {0x96df, 0xe6a0a0},
+  {0x96e0, 0xe6a0a2},
+  {0x96e1, 0xe6a0a3},
+  {0x96e2, 0xe6a0a4},
+  {0x96e3, 0xe6a0a5},
+  {0x96e4, 0xe6a0a6},
+  {0x96e5, 0xe6a0a7},
+  {0x96e6, 0xe6a0a8},
+  {0x96e7, 0xe6a0ab},
+  {0x96e8, 0xe6a0ac},
+  {0x96e9, 0xe6a0ad},
+  {0x96ea, 0xe6a0ae},
+  {0x96eb, 0xe6a0af},
+  {0x96ec, 0xe6a0b0},
+  {0x96ed, 0xe6a0b1},
+  {0x96ee, 0xe6a0b4},
+  {0x96ef, 0xe6a0b5},
+  {0x96f0, 0xe6a0b6},
+  {0x96f1, 0xe6a0ba},
+  {0x96f2, 0xe6a0bb},
+  {0x96f3, 0xe6a0bf},
+  {0x96f4, 0xe6a187},
+  {0x96f5, 0xe6a18b},
+  {0x96f6, 0xe6a18d},
+  {0x96f7, 0xe6a18f},
+  {0x96f8, 0xe6a192},
+  {0x96f9, 0xe6a196},
+  {0x96fa, 0xe6a197},
+  {0x96fb, 0xe6a198},
+  {0x96fc, 0xe6a199},
+  {0x96fd, 0xe6a19a},
+  {0x96fe, 0xe6a19b},
+  {0x9740, 0xe6a19c},
+  {0x9741, 0xe6a19d},
+  {0x9742, 0xe6a19e},
+  {0x9743, 0xe6a19f},
+  {0x9744, 0xe6a1aa},
+  {0x9745, 0xe6a1ac},
+  {0x9746, 0xe6a1ad},
+  {0x9747, 0xe6a1ae},
+  {0x9748, 0xe6a1af},
+  {0x9749, 0xe6a1b0},
+  {0x974a, 0xe6a1b1},
+  {0x974b, 0xe6a1b2},
+  {0x974c, 0xe6a1b3},
+  {0x974d, 0xe6a1b5},
+  {0x974e, 0xe6a1b8},
+  {0x974f, 0xe6a1b9},
+  {0x9750, 0xe6a1ba},
+  {0x9751, 0xe6a1bb},
+  {0x9752, 0xe6a1bc},
+  {0x9753, 0xe6a1bd},
+  {0x9754, 0xe6a1be},
+  {0x9755, 0xe6a1bf},
+  {0x9756, 0xe6a280},
+  {0x9757, 0xe6a282},
+  {0x9758, 0xe6a284},
+  {0x9759, 0xe6a287},
+  {0x975a, 0xe6a288},
+  {0x975b, 0xe6a289},
+  {0x975c, 0xe6a28a},
+  {0x975d, 0xe6a28b},
+  {0x975e, 0xe6a28c},
+  {0x975f, 0xe6a28d},
+  {0x9760, 0xe6a28e},
+  {0x9761, 0xe6a290},
+  {0x9762, 0xe6a291},
+  {0x9763, 0xe6a292},
+  {0x9764, 0xe6a294},
+  {0x9765, 0xe6a295},
+  {0x9766, 0xe6a296},
+  {0x9767, 0xe6a298},
+  {0x9768, 0xe6a299},
+  {0x9769, 0xe6a29a},
+  {0x976a, 0xe6a29b},
+  {0x976b, 0xe6a29c},
+  {0x976c, 0xe6a29d},
+  {0x976d, 0xe6a29e},
+  {0x976e, 0xe6a29f},
+  {0x976f, 0xe6a2a0},
+  {0x9770, 0xe6a2a1},
+  {0x9771, 0xe6a2a3},
+  {0x9772, 0xe6a2a4},
+  {0x9773, 0xe6a2a5},
+  {0x9774, 0xe6a2a9},
+  {0x9775, 0xe6a2aa},
+  {0x9776, 0xe6a2ab},
+  {0x9777, 0xe6a2ac},
+  {0x9778, 0xe6a2ae},
+  {0x9779, 0xe6a2b1},
+  {0x977a, 0xe6a2b2},
+  {0x977b, 0xe6a2b4},
+  {0x977c, 0xe6a2b6},
+  {0x977d, 0xe6a2b7},
+  {0x977e, 0xe6a2b8},
+  {0x9780, 0xe6a2b9},
+  {0x9781, 0xe6a2ba},
+  {0x9782, 0xe6a2bb},
+  {0x9783, 0xe6a2bc},
+  {0x9784, 0xe6a2bd},
+  {0x9785, 0xe6a2be},
+  {0x9786, 0xe6a2bf},
+  {0x9787, 0xe6a381},
+  {0x9788, 0xe6a383},
+  {0x9789, 0xe6a384},
+  {0x978a, 0xe6a385},
+  {0x978b, 0xe6a386},
+  {0x978c, 0xe6a387},
+  {0x978d, 0xe6a388},
+  {0x978e, 0xe6a38a},
+  {0x978f, 0xe6a38c},
+  {0x9790, 0xe6a38e},
+  {0x9791, 0xe6a38f},
+  {0x9792, 0xe6a390},
+  {0x9793, 0xe6a391},
+  {0x9794, 0xe6a393},
+  {0x9795, 0xe6a394},
+  {0x9796, 0xe6a396},
+  {0x9797, 0xe6a397},
+  {0x9798, 0xe6a399},
+  {0x9799, 0xe6a39b},
+  {0x979a, 0xe6a39c},
+  {0x979b, 0xe6a39d},
+  {0x979c, 0xe6a39e},
+  {0x979d, 0xe6a39f},
+  {0x979e, 0xe6a3a1},
+  {0x979f, 0xe6a3a2},
+  {0x97a0, 0xe6a3a4},
+  {0x97a1, 0xe6a3a5},
+  {0x97a2, 0xe6a3a6},
+  {0x97a3, 0xe6a3a7},
+  {0x97a4, 0xe6a3a8},
+  {0x97a5, 0xe6a3a9},
+  {0x97a6, 0xe6a3aa},
+  {0x97a7, 0xe6a3ab},
+  {0x97a8, 0xe6a3ac},
+  {0x97a9, 0xe6a3ad},
+  {0x97aa, 0xe6a3af},
+  {0x97ab, 0xe6a3b2},
+  {0x97ac, 0xe6a3b3},
+  {0x97ad, 0xe6a3b4},
+  {0x97ae, 0xe6a3b6},
+  {0x97af, 0xe6a3b7},
+  {0x97b0, 0xe6a3b8},
+  {0x97b1, 0xe6a3bb},
+  {0x97b2, 0xe6a3bd},
+  {0x97b3, 0xe6a3be},
+  {0x97b4, 0xe6a3bf},
+  {0x97b5, 0xe6a480},
+  {0x97b6, 0xe6a482},
+  {0x97b7, 0xe6a483},
+  {0x97b8, 0xe6a484},
+  {0x97b9, 0xe6a486},
+  {0x97ba, 0xe6a487},
+  {0x97bb, 0xe6a488},
+  {0x97bc, 0xe6a489},
+  {0x97bd, 0xe6a48a},
+  {0x97be, 0xe6a48c},
+  {0x97bf, 0xe6a48f},
+  {0x97c0, 0xe6a491},
+  {0x97c1, 0xe6a493},
+  {0x97c2, 0xe6a494},
+  {0x97c3, 0xe6a495},
+  {0x97c4, 0xe6a496},
+  {0x97c5, 0xe6a497},
+  {0x97c6, 0xe6a498},
+  {0x97c7, 0xe6a499},
+  {0x97c8, 0xe6a49a},
+  {0x97c9, 0xe6a49b},
+  {0x97ca, 0xe6a49c},
+  {0x97cb, 0xe6a49d},
+  {0x97cc, 0xe6a49e},
+  {0x97cd, 0xe6a4a1},
+  {0x97ce, 0xe6a4a2},
+  {0x97cf, 0xe6a4a3},
+  {0x97d0, 0xe6a4a5},
+  {0x97d1, 0xe6a4a6},
+  {0x97d2, 0xe6a4a7},
+  {0x97d3, 0xe6a4a8},
+  {0x97d4, 0xe6a4a9},
+  {0x97d5, 0xe6a4aa},
+  {0x97d6, 0xe6a4ab},
+  {0x97d7, 0xe6a4ac},
+  {0x97d8, 0xe6a4ae},
+  {0x97d9, 0xe6a4af},
+  {0x97da, 0xe6a4b1},
+  {0x97db, 0xe6a4b2},
+  {0x97dc, 0xe6a4b3},
+  {0x97dd, 0xe6a4b5},
+  {0x97de, 0xe6a4b6},
+  {0x97df, 0xe6a4b7},
+  {0x97e0, 0xe6a4b8},
+  {0x97e1, 0xe6a4ba},
+  {0x97e2, 0xe6a4bb},
+  {0x97e3, 0xe6a4bc},
+  {0x97e4, 0xe6a4be},
+  {0x97e5, 0xe6a580},
+  {0x97e6, 0xe6a581},
+  {0x97e7, 0xe6a583},
+  {0x97e8, 0xe6a584},
+  {0x97e9, 0xe6a585},
+  {0x97ea, 0xe6a586},
+  {0x97eb, 0xe6a587},
+  {0x97ec, 0xe6a588},
+  {0x97ed, 0xe6a589},
+  {0x97ee, 0xe6a58a},
+  {0x97ef, 0xe6a58b},
+  {0x97f0, 0xe6a58c},
+  {0x97f1, 0xe6a58d},
+  {0x97f2, 0xe6a58e},
+  {0x97f3, 0xe6a58f},
+  {0x97f4, 0xe6a590},
+  {0x97f5, 0xe6a591},
+  {0x97f6, 0xe6a592},
+  {0x97f7, 0xe6a593},
+  {0x97f8, 0xe6a595},
+  {0x97f9, 0xe6a596},
+  {0x97fa, 0xe6a598},
+  {0x97fb, 0xe6a599},
+  {0x97fc, 0xe6a59b},
+  {0x97fd, 0xe6a59c},
+  {0x97fe, 0xe6a59f},
+  {0x9840, 0xe6a5a1},
+  {0x9841, 0xe6a5a2},
+  {0x9842, 0xe6a5a4},
+  {0x9843, 0xe6a5a5},
+  {0x9844, 0xe6a5a7},
+  {0x9845, 0xe6a5a8},
+  {0x9846, 0xe6a5a9},
+  {0x9847, 0xe6a5aa},
+  {0x9848, 0xe6a5ac},
+  {0x9849, 0xe6a5ad},
+  {0x984a, 0xe6a5af},
+  {0x984b, 0xe6a5b0},
+  {0x984c, 0xe6a5b2},
+  {0x984d, 0xe6a5b3},
+  {0x984e, 0xe6a5b4},
+  {0x984f, 0xe6a5b5},
+  {0x9850, 0xe6a5b6},
+  {0x9851, 0xe6a5ba},
+  {0x9852, 0xe6a5bb},
+  {0x9853, 0xe6a5bd},
+  {0x9854, 0xe6a5be},
+  {0x9855, 0xe6a5bf},
+  {0x9856, 0xe6a681},
+  {0x9857, 0xe6a683},
+  {0x9858, 0xe6a685},
+  {0x9859, 0xe6a68a},
+  {0x985a, 0xe6a68b},
+  {0x985b, 0xe6a68c},
+  {0x985c, 0xe6a68e},
+  {0x985d, 0xe6a68f},
+  {0x985e, 0xe6a690},
+  {0x985f, 0xe6a691},
+  {0x9860, 0xe6a692},
+  {0x9861, 0xe6a693},
+  {0x9862, 0xe6a696},
+  {0x9863, 0xe6a697},
+  {0x9864, 0xe6a699},
+  {0x9865, 0xe6a69a},
+  {0x9866, 0xe6a69d},
+  {0x9867, 0xe6a69e},
+  {0x9868, 0xe6a69f},
+  {0x9869, 0xe6a6a0},
+  {0x986a, 0xe6a6a1},
+  {0x986b, 0xe6a6a2},
+  {0x986c, 0xe6a6a3},
+  {0x986d, 0xe6a6a4},
+  {0x986e, 0xe6a6a5},
+  {0x986f, 0xe6a6a6},
+  {0x9870, 0xe6a6a9},
+  {0x9871, 0xe6a6aa},
+  {0x9872, 0xe6a6ac},
+  {0x9873, 0xe6a6ae},
+  {0x9874, 0xe6a6af},
+  {0x9875, 0xe6a6b0},
+  {0x9876, 0xe6a6b2},
+  {0x9877, 0xe6a6b3},
+  {0x9878, 0xe6a6b5},
+  {0x9879, 0xe6a6b6},
+  {0x987a, 0xe6a6b8},
+  {0x987b, 0xe6a6b9},
+  {0x987c, 0xe6a6ba},
+  {0x987d, 0xe6a6bc},
+  {0x987e, 0xe6a6bd},
+  {0x9880, 0xe6a6be},
+  {0x9881, 0xe6a6bf},
+  {0x9882, 0xe6a780},
+  {0x9883, 0xe6a782},
+  {0x9884, 0xe6a783},
+  {0x9885, 0xe6a784},
+  {0x9886, 0xe6a785},
+  {0x9887, 0xe6a786},
+  {0x9888, 0xe6a787},
+  {0x9889, 0xe6a788},
+  {0x988a, 0xe6a789},
+  {0x988b, 0xe6a78b},
+  {0x988c, 0xe6a78d},
+  {0x988d, 0xe6a78f},
+  {0x988e, 0xe6a791},
+  {0x988f, 0xe6a792},
+  {0x9890, 0xe6a793},
+  {0x9891, 0xe6a795},
+  {0x9892, 0xe6a796},
+  {0x9893, 0xe6a797},
+  {0x9894, 0xe6a798},
+  {0x9895, 0xe6a799},
+  {0x9896, 0xe6a79a},
+  {0x9897, 0xe6a79c},
+  {0x9898, 0xe6a79d},
+  {0x9899, 0xe6a79e},
+  {0x989a, 0xe6a7a1},
+  {0x989b, 0xe6a7a2},
+  {0x989c, 0xe6a7a3},
+  {0x989d, 0xe6a7a4},
+  {0x989e, 0xe6a7a5},
+  {0x989f, 0xe6a7a6},
+  {0x98a0, 0xe6a7a7},
+  {0x98a1, 0xe6a7a8},
+  {0x98a2, 0xe6a7a9},
+  {0x98a3, 0xe6a7aa},
+  {0x98a4, 0xe6a7ab},
+  {0x98a5, 0xe6a7ac},
+  {0x98a6, 0xe6a7ae},
+  {0x98a7, 0xe6a7af},
+  {0x98a8, 0xe6a7b0},
+  {0x98a9, 0xe6a7b1},
+  {0x98aa, 0xe6a7b3},
+  {0x98ab, 0xe6a7b4},
+  {0x98ac, 0xe6a7b5},
+  {0x98ad, 0xe6a7b6},
+  {0x98ae, 0xe6a7b7},
+  {0x98af, 0xe6a7b8},
+  {0x98b0, 0xe6a7b9},
+  {0x98b1, 0xe6a7ba},
+  {0x98b2, 0xe6a7bb},
+  {0x98b3, 0xe6a7bc},
+  {0x98b4, 0xe6a7be},
+  {0x98b5, 0xe6a880},
+  {0x98b6, 0xe6a881},
+  {0x98b7, 0xe6a882},
+  {0x98b8, 0xe6a883},
+  {0x98b9, 0xe6a884},
+  {0x98ba, 0xe6a885},
+  {0x98bb, 0xe6a886},
+  {0x98bc, 0xe6a887},
+  {0x98bd, 0xe6a888},
+  {0x98be, 0xe6a889},
+  {0x98bf, 0xe6a88b},
+  {0x98c0, 0xe6a88c},
+  {0x98c1, 0xe6a88d},
+  {0x98c2, 0xe6a88e},
+  {0x98c3, 0xe6a88f},
+  {0x98c4, 0xe6a890},
+  {0x98c5, 0xe6a891},
+  {0x98c6, 0xe6a892},
+  {0x98c7, 0xe6a893},
+  {0x98c8, 0xe6a894},
+  {0x98c9, 0xe6a895},
+  {0x98ca, 0xe6a896},
+  {0x98cb, 0xe6a899},
+  {0x98cc, 0xe6a89a},
+  {0x98cd, 0xe6a89b},
+  {0x98ce, 0xe6a89c},
+  {0x98cf, 0xe6a89d},
+  {0x98d0, 0xe6a89e},
+  {0x98d1, 0xe6a8a0},
+  {0x98d2, 0xe6a8a2},
+  {0x98d3, 0xe6a8a3},
+  {0x98d4, 0xe6a8a4},
+  {0x98d5, 0xe6a8a5},
+  {0x98d6, 0xe6a8a6},
+  {0x98d7, 0xe6a8a7},
+  {0x98d8, 0xe6a8a9},
+  {0x98d9, 0xe6a8ab},
+  {0x98da, 0xe6a8ac},
+  {0x98db, 0xe6a8ad},
+  {0x98dc, 0xe6a8ae},
+  {0x98dd, 0xe6a8b0},
+  {0x98de, 0xe6a8b2},
+  {0x98df, 0xe6a8b3},
+  {0x98e0, 0xe6a8b4},
+  {0x98e1, 0xe6a8b6},
+  {0x98e2, 0xe6a8b7},
+  {0x98e3, 0xe6a8b8},
+  {0x98e4, 0xe6a8b9},
+  {0x98e5, 0xe6a8ba},
+  {0x98e6, 0xe6a8bb},
+  {0x98e7, 0xe6a8bc},
+  {0x98e8, 0xe6a8bf},
+  {0x98e9, 0xe6a980},
+  {0x98ea, 0xe6a981},
+  {0x98eb, 0xe6a982},
+  {0x98ec, 0xe6a983},
+  {0x98ed, 0xe6a985},
+  {0x98ee, 0xe6a986},
+  {0x98ef, 0xe6a988},
+  {0x98f0, 0xe6a989},
+  {0x98f1, 0xe6a98a},
+  {0x98f2, 0xe6a98b},
+  {0x98f3, 0xe6a98c},
+  {0x98f4, 0xe6a98d},
+  {0x98f5, 0xe6a98e},
+  {0x98f6, 0xe6a98f},
+  {0x98f7, 0xe6a991},
+  {0x98f8, 0xe6a992},
+  {0x98f9, 0xe6a993},
+  {0x98fa, 0xe6a994},
+  {0x98fb, 0xe6a995},
+  {0x98fc, 0xe6a996},
+  {0x98fd, 0xe6a997},
+  {0x98fe, 0xe6a99a},
+  {0x9940, 0xe6a99c},
+  {0x9941, 0xe6a99d},
+  {0x9942, 0xe6a99e},
+  {0x9943, 0xe6a99f},
+  {0x9944, 0xe6a9a0},
+  {0x9945, 0xe6a9a2},
+  {0x9946, 0xe6a9a3},
+  {0x9947, 0xe6a9a4},
+  {0x9948, 0xe6a9a6},
+  {0x9949, 0xe6a9a7},
+  {0x994a, 0xe6a9a8},
+  {0x994b, 0xe6a9a9},
+  {0x994c, 0xe6a9aa},
+  {0x994d, 0xe6a9ab},
+  {0x994e, 0xe6a9ac},
+  {0x994f, 0xe6a9ad},
+  {0x9950, 0xe6a9ae},
+  {0x9951, 0xe6a9af},
+  {0x9952, 0xe6a9b0},
+  {0x9953, 0xe6a9b2},
+  {0x9954, 0xe6a9b3},
+  {0x9955, 0xe6a9b4},
+  {0x9956, 0xe6a9b5},
+  {0x9957, 0xe6a9b6},
+  {0x9958, 0xe6a9b7},
+  {0x9959, 0xe6a9b8},
+  {0x995a, 0xe6a9ba},
+  {0x995b, 0xe6a9bb},
+  {0x995c, 0xe6a9bd},
+  {0x995d, 0xe6a9be},
+  {0x995e, 0xe6a9bf},
+  {0x995f, 0xe6aa81},
+  {0x9960, 0xe6aa82},
+  {0x9961, 0xe6aa83},
+  {0x9962, 0xe6aa85},
+  {0x9963, 0xe6aa86},
+  {0x9964, 0xe6aa87},
+  {0x9965, 0xe6aa88},
+  {0x9966, 0xe6aa89},
+  {0x9967, 0xe6aa8a},
+  {0x9968, 0xe6aa8b},
+  {0x9969, 0xe6aa8c},
+  {0x996a, 0xe6aa8d},
+  {0x996b, 0xe6aa8f},
+  {0x996c, 0xe6aa92},
+  {0x996d, 0xe6aa93},
+  {0x996e, 0xe6aa94},
+  {0x996f, 0xe6aa95},
+  {0x9970, 0xe6aa96},
+  {0x9971, 0xe6aa98},
+  {0x9972, 0xe6aa99},
+  {0x9973, 0xe6aa9a},
+  {0x9974, 0xe6aa9b},
+  {0x9975, 0xe6aa9c},
+  {0x9976, 0xe6aa9d},
+  {0x9977, 0xe6aa9e},
+  {0x9978, 0xe6aa9f},
+  {0x9979, 0xe6aaa1},
+  {0x997a, 0xe6aaa2},
+  {0x997b, 0xe6aaa3},
+  {0x997c, 0xe6aaa4},
+  {0x997d, 0xe6aaa5},
+  {0x997e, 0xe6aaa6},
+  {0x9980, 0xe6aaa7},
+  {0x9981, 0xe6aaa8},
+  {0x9982, 0xe6aaaa},
+  {0x9983, 0xe6aaad},
+  {0x9984, 0xe6aaae},
+  {0x9985, 0xe6aaaf},
+  {0x9986, 0xe6aab0},
+  {0x9987, 0xe6aab1},
+  {0x9988, 0xe6aab2},
+  {0x9989, 0xe6aab3},
+  {0x998a, 0xe6aab4},
+  {0x998b, 0xe6aab5},
+  {0x998c, 0xe6aab6},
+  {0x998d, 0xe6aab7},
+  {0x998e, 0xe6aab8},
+  {0x998f, 0xe6aab9},
+  {0x9990, 0xe6aaba},
+  {0x9991, 0xe6aabb},
+  {0x9992, 0xe6aabc},
+  {0x9993, 0xe6aabd},
+  {0x9994, 0xe6aabe},
+  {0x9995, 0xe6aabf},
+  {0x9996, 0xe6ab80},
+  {0x9997, 0xe6ab81},
+  {0x9998, 0xe6ab82},
+  {0x9999, 0xe6ab83},
+  {0x999a, 0xe6ab84},
+  {0x999b, 0xe6ab85},
+  {0x999c, 0xe6ab86},
+  {0x999d, 0xe6ab87},
+  {0x999e, 0xe6ab88},
+  {0x999f, 0xe6ab89},
+  {0x99a0, 0xe6ab8a},
+  {0x99a1, 0xe6ab8b},
+  {0x99a2, 0xe6ab8c},
+  {0x99a3, 0xe6ab8d},
+  {0x99a4, 0xe6ab8e},
+  {0x99a5, 0xe6ab8f},
+  {0x99a6, 0xe6ab90},
+  {0x99a7, 0xe6ab91},
+  {0x99a8, 0xe6ab92},
+  {0x99a9, 0xe6ab93},
+  {0x99aa, 0xe6ab94},
+  {0x99ab, 0xe6ab95},
+  {0x99ac, 0xe6ab96},
+  {0x99ad, 0xe6ab97},
+  {0x99ae, 0xe6ab98},
+  {0x99af, 0xe6ab99},
+  {0x99b0, 0xe6ab9a},
+  {0x99b1, 0xe6ab9b},
+  {0x99b2, 0xe6ab9c},
+  {0x99b3, 0xe6ab9d},
+  {0x99b4, 0xe6ab9e},
+  {0x99b5, 0xe6ab9f},
+  {0x99b6, 0xe6aba0},
+  {0x99b7, 0xe6aba1},
+  {0x99b8, 0xe6aba2},
+  {0x99b9, 0xe6aba3},
+  {0x99ba, 0xe6aba4},
+  {0x99bb, 0xe6aba5},
+  {0x99bc, 0xe6aba6},
+  {0x99bd, 0xe6aba7},
+  {0x99be, 0xe6aba8},
+  {0x99bf, 0xe6aba9},
+  {0x99c0, 0xe6abaa},
+  {0x99c1, 0xe6abab},
+  {0x99c2, 0xe6abac},
+  {0x99c3, 0xe6abad},
+  {0x99c4, 0xe6abae},
+  {0x99c5, 0xe6abaf},
+  {0x99c6, 0xe6abb0},
+  {0x99c7, 0xe6abb1},
+  {0x99c8, 0xe6abb2},
+  {0x99c9, 0xe6abb3},
+  {0x99ca, 0xe6abb4},
+  {0x99cb, 0xe6abb5},
+  {0x99cc, 0xe6abb6},
+  {0x99cd, 0xe6abb7},
+  {0x99ce, 0xe6abb8},
+  {0x99cf, 0xe6abb9},
+  {0x99d0, 0xe6abba},
+  {0x99d1, 0xe6abbb},
+  {0x99d2, 0xe6abbc},
+  {0x99d3, 0xe6abbd},
+  {0x99d4, 0xe6abbe},
+  {0x99d5, 0xe6abbf},
+  {0x99d6, 0xe6ac80},
+  {0x99d7, 0xe6ac81},
+  {0x99d8, 0xe6ac82},
+  {0x99d9, 0xe6ac83},
+  {0x99da, 0xe6ac84},
+  {0x99db, 0xe6ac85},
+  {0x99dc, 0xe6ac86},
+  {0x99dd, 0xe6ac87},
+  {0x99de, 0xe6ac88},
+  {0x99df, 0xe6ac89},
+  {0x99e0, 0xe6ac8a},
+  {0x99e1, 0xe6ac8b},
+  {0x99e2, 0xe6ac8c},
+  {0x99e3, 0xe6ac8d},
+  {0x99e4, 0xe6ac8e},
+  {0x99e5, 0xe6ac8f},
+  {0x99e6, 0xe6ac90},
+  {0x99e7, 0xe6ac91},
+  {0x99e8, 0xe6ac92},
+  {0x99e9, 0xe6ac93},
+  {0x99ea, 0xe6ac94},
+  {0x99eb, 0xe6ac95},
+  {0x99ec, 0xe6ac96},
+  {0x99ed, 0xe6ac97},
+  {0x99ee, 0xe6ac98},
+  {0x99ef, 0xe6ac99},
+  {0x99f0, 0xe6ac9a},
+  {0x99f1, 0xe6ac9b},
+  {0x99f2, 0xe6ac9c},
+  {0x99f3, 0xe6ac9d},
+  {0x99f4, 0xe6ac9e},
+  {0x99f5, 0xe6ac9f},
+  {0x99f6, 0xe6aca5},
+  {0x99f7, 0xe6aca6},
+  {0x99f8, 0xe6aca8},
+  {0x99f9, 0xe6aca9},
+  {0x99fa, 0xe6acaa},
+  {0x99fb, 0xe6acab},
+  {0x99fc, 0xe6acac},
+  {0x99fd, 0xe6acad},
+  {0x99fe, 0xe6acae},
+  {0x9a40, 0xe6acaf},
+  {0x9a41, 0xe6acb0},
+  {0x9a42, 0xe6acb1},
+  {0x9a43, 0xe6acb3},
+  {0x9a44, 0xe6acb4},
+  {0x9a45, 0xe6acb5},
+  {0x9a46, 0xe6acb6},
+  {0x9a47, 0xe6acb8},
+  {0x9a48, 0xe6acbb},
+  {0x9a49, 0xe6acbc},
+  {0x9a4a, 0xe6acbd},
+  {0x9a4b, 0xe6acbf},
+  {0x9a4c, 0xe6ad80},
+  {0x9a4d, 0xe6ad81},
+  {0x9a4e, 0xe6ad82},
+  {0x9a4f, 0xe6ad84},
+  {0x9a50, 0xe6ad85},
+  {0x9a51, 0xe6ad88},
+  {0x9a52, 0xe6ad8a},
+  {0x9a53, 0xe6ad8b},
+  {0x9a54, 0xe6ad8d},
+  {0x9a55, 0xe6ad8e},
+  {0x9a56, 0xe6ad8f},
+  {0x9a57, 0xe6ad90},
+  {0x9a58, 0xe6ad91},
+  {0x9a59, 0xe6ad92},
+  {0x9a5a, 0xe6ad93},
+  {0x9a5b, 0xe6ad94},
+  {0x9a5c, 0xe6ad95},
+  {0x9a5d, 0xe6ad96},
+  {0x9a5e, 0xe6ad97},
+  {0x9a5f, 0xe6ad98},
+  {0x9a60, 0xe6ad9a},
+  {0x9a61, 0xe6ad9b},
+  {0x9a62, 0xe6ad9c},
+  {0x9a63, 0xe6ad9d},
+  {0x9a64, 0xe6ad9e},
+  {0x9a65, 0xe6ad9f},
+  {0x9a66, 0xe6ada0},
+  {0x9a67, 0xe6ada1},
+  {0x9a68, 0xe6ada8},
+  {0x9a69, 0xe6ada9},
+  {0x9a6a, 0xe6adab},
+  {0x9a6b, 0xe6adac},
+  {0x9a6c, 0xe6adad},
+  {0x9a6d, 0xe6adae},
+  {0x9a6e, 0xe6adaf},
+  {0x9a6f, 0xe6adb0},
+  {0x9a70, 0xe6adb1},
+  {0x9a71, 0xe6adb2},
+  {0x9a72, 0xe6adb3},
+  {0x9a73, 0xe6adb4},
+  {0x9a74, 0xe6adb5},
+  {0x9a75, 0xe6adb6},
+  {0x9a76, 0xe6adb7},
+  {0x9a77, 0xe6adb8},
+  {0x9a78, 0xe6adba},
+  {0x9a79, 0xe6adbd},
+  {0x9a7a, 0xe6adbe},
+  {0x9a7b, 0xe6adbf},
+  {0x9a7c, 0xe6ae80},
+  {0x9a7d, 0xe6ae85},
+  {0x9a7e, 0xe6ae88},
+  {0x9a80, 0xe6ae8c},
+  {0x9a81, 0xe6ae8e},
+  {0x9a82, 0xe6ae8f},
+  {0x9a83, 0xe6ae90},
+  {0x9a84, 0xe6ae91},
+  {0x9a85, 0xe6ae94},
+  {0x9a86, 0xe6ae95},
+  {0x9a87, 0xe6ae97},
+  {0x9a88, 0xe6ae98},
+  {0x9a89, 0xe6ae99},
+  {0x9a8a, 0xe6ae9c},
+  {0x9a8b, 0xe6ae9d},
+  {0x9a8c, 0xe6ae9e},
+  {0x9a8d, 0xe6ae9f},
+  {0x9a8e, 0xe6aea0},
+  {0x9a8f, 0xe6aea2},
+  {0x9a90, 0xe6aea3},
+  {0x9a91, 0xe6aea4},
+  {0x9a92, 0xe6aea5},
+  {0x9a93, 0xe6aea6},
+  {0x9a94, 0xe6aea7},
+  {0x9a95, 0xe6aea8},
+  {0x9a96, 0xe6aea9},
+  {0x9a97, 0xe6aeab},
+  {0x9a98, 0xe6aeac},
+  {0x9a99, 0xe6aead},
+  {0x9a9a, 0xe6aeae},
+  {0x9a9b, 0xe6aeaf},
+  {0x9a9c, 0xe6aeb0},
+  {0x9a9d, 0xe6aeb1},
+  {0x9a9e, 0xe6aeb2},
+  {0x9a9f, 0xe6aeb6},
+  {0x9aa0, 0xe6aeb8},
+  {0x9aa1, 0xe6aeb9},
+  {0x9aa2, 0xe6aeba},
+  {0x9aa3, 0xe6aebb},
+  {0x9aa4, 0xe6aebc},
+  {0x9aa5, 0xe6aebd},
+  {0x9aa6, 0xe6aebe},
+  {0x9aa7, 0xe6af80},
+  {0x9aa8, 0xe6af83},
+  {0x9aa9, 0xe6af84},
+  {0x9aaa, 0xe6af86},
+  {0x9aab, 0xe6af87},
+  {0x9aac, 0xe6af88},
+  {0x9aad, 0xe6af89},
+  {0x9aae, 0xe6af8a},
+  {0x9aaf, 0xe6af8c},
+  {0x9ab0, 0xe6af8e},
+  {0x9ab1, 0xe6af90},
+  {0x9ab2, 0xe6af91},
+  {0x9ab3, 0xe6af98},
+  {0x9ab4, 0xe6af9a},
+  {0x9ab5, 0xe6af9c},
+  {0x9ab6, 0xe6af9d},
+  {0x9ab7, 0xe6af9e},
+  {0x9ab8, 0xe6af9f},
+  {0x9ab9, 0xe6afa0},
+  {0x9aba, 0xe6afa2},
+  {0x9abb, 0xe6afa3},
+  {0x9abc, 0xe6afa4},
+  {0x9abd, 0xe6afa5},
+  {0x9abe, 0xe6afa6},
+  {0x9abf, 0xe6afa7},
+  {0x9ac0, 0xe6afa8},
+  {0x9ac1, 0xe6afa9},
+  {0x9ac2, 0xe6afac},
+  {0x9ac3, 0xe6afad},
+  {0x9ac4, 0xe6afae},
+  {0x9ac5, 0xe6afb0},
+  {0x9ac6, 0xe6afb1},
+  {0x9ac7, 0xe6afb2},
+  {0x9ac8, 0xe6afb4},
+  {0x9ac9, 0xe6afb6},
+  {0x9aca, 0xe6afb7},
+  {0x9acb, 0xe6afb8},
+  {0x9acc, 0xe6afba},
+  {0x9acd, 0xe6afbb},
+  {0x9ace, 0xe6afbc},
+  {0x9acf, 0xe6afbe},
+  {0x9ad0, 0xe6afbf},
+  {0x9ad1, 0xe6b080},
+  {0x9ad2, 0xe6b081},
+  {0x9ad3, 0xe6b082},
+  {0x9ad4, 0xe6b083},
+  {0x9ad5, 0xe6b084},
+  {0x9ad6, 0xe6b088},
+  {0x9ad7, 0xe6b089},
+  {0x9ad8, 0xe6b08a},
+  {0x9ad9, 0xe6b08b},
+  {0x9ada, 0xe6b08c},
+  {0x9adb, 0xe6b08e},
+  {0x9adc, 0xe6b092},
+  {0x9add, 0xe6b097},
+  {0x9ade, 0xe6b09c},
+  {0x9adf, 0xe6b09d},
+  {0x9ae0, 0xe6b09e},
+  {0x9ae1, 0xe6b0a0},
+  {0x9ae2, 0xe6b0a3},
+  {0x9ae3, 0xe6b0a5},
+  {0x9ae4, 0xe6b0ab},
+  {0x9ae5, 0xe6b0ac},
+  {0x9ae6, 0xe6b0ad},
+  {0x9ae7, 0xe6b0b1},
+  {0x9ae8, 0xe6b0b3},
+  {0x9ae9, 0xe6b0b6},
+  {0x9aea, 0xe6b0b7},
+  {0x9aeb, 0xe6b0b9},
+  {0x9aec, 0xe6b0ba},
+  {0x9aed, 0xe6b0bb},
+  {0x9aee, 0xe6b0bc},
+  {0x9aef, 0xe6b0be},
+  {0x9af0, 0xe6b0bf},
+  {0x9af1, 0xe6b183},
+  {0x9af2, 0xe6b184},
+  {0x9af3, 0xe6b185},
+  {0x9af4, 0xe6b188},
+  {0x9af5, 0xe6b18b},
+  {0x9af6, 0xe6b18c},
+  {0x9af7, 0xe6b18d},
+  {0x9af8, 0xe6b18e},
+  {0x9af9, 0xe6b18f},
+  {0x9afa, 0xe6b191},
+  {0x9afb, 0xe6b192},
+  {0x9afc, 0xe6b193},
+  {0x9afd, 0xe6b196},
+  {0x9afe, 0xe6b198},
+  {0x9b40, 0xe6b199},
+  {0x9b41, 0xe6b19a},
+  {0x9b42, 0xe6b1a2},
+  {0x9b43, 0xe6b1a3},
+  {0x9b44, 0xe6b1a5},
+  {0x9b45, 0xe6b1a6},
+  {0x9b46, 0xe6b1a7},
+  {0x9b47, 0xe6b1ab},
+  {0x9b48, 0xe6b1ac},
+  {0x9b49, 0xe6b1ad},
+  {0x9b4a, 0xe6b1ae},
+  {0x9b4b, 0xe6b1af},
+  {0x9b4c, 0xe6b1b1},
+  {0x9b4d, 0xe6b1b3},
+  {0x9b4e, 0xe6b1b5},
+  {0x9b4f, 0xe6b1b7},
+  {0x9b50, 0xe6b1b8},
+  {0x9b51, 0xe6b1ba},
+  {0x9b52, 0xe6b1bb},
+  {0x9b53, 0xe6b1bc},
+  {0x9b54, 0xe6b1bf},
+  {0x9b55, 0xe6b280},
+  {0x9b56, 0xe6b284},
+  {0x9b57, 0xe6b287},
+  {0x9b58, 0xe6b28a},
+  {0x9b59, 0xe6b28b},
+  {0x9b5a, 0xe6b28d},
+  {0x9b5b, 0xe6b28e},
+  {0x9b5c, 0xe6b291},
+  {0x9b5d, 0xe6b292},
+  {0x9b5e, 0xe6b295},
+  {0x9b5f, 0xe6b296},
+  {0x9b60, 0xe6b297},
+  {0x9b61, 0xe6b298},
+  {0x9b62, 0xe6b29a},
+  {0x9b63, 0xe6b29c},
+  {0x9b64, 0xe6b29d},
+  {0x9b65, 0xe6b29e},
+  {0x9b66, 0xe6b2a0},
+  {0x9b67, 0xe6b2a2},
+  {0x9b68, 0xe6b2a8},
+  {0x9b69, 0xe6b2ac},
+  {0x9b6a, 0xe6b2af},
+  {0x9b6b, 0xe6b2b0},
+  {0x9b6c, 0xe6b2b4},
+  {0x9b6d, 0xe6b2b5},
+  {0x9b6e, 0xe6b2b6},
+  {0x9b6f, 0xe6b2b7},
+  {0x9b70, 0xe6b2ba},
+  {0x9b71, 0xe6b380},
+  {0x9b72, 0xe6b381},
+  {0x9b73, 0xe6b382},
+  {0x9b74, 0xe6b383},
+  {0x9b75, 0xe6b386},
+  {0x9b76, 0xe6b387},
+  {0x9b77, 0xe6b388},
+  {0x9b78, 0xe6b38b},
+  {0x9b79, 0xe6b38d},
+  {0x9b7a, 0xe6b38e},
+  {0x9b7b, 0xe6b38f},
+  {0x9b7c, 0xe6b391},
+  {0x9b7d, 0xe6b392},
+  {0x9b7e, 0xe6b398},
+  {0x9b80, 0xe6b399},
+  {0x9b81, 0xe6b39a},
+  {0x9b82, 0xe6b39c},
+  {0x9b83, 0xe6b39d},
+  {0x9b84, 0xe6b39f},
+  {0x9b85, 0xe6b3a4},
+  {0x9b86, 0xe6b3a6},
+  {0x9b87, 0xe6b3a7},
+  {0x9b88, 0xe6b3a9},
+  {0x9b89, 0xe6b3ac},
+  {0x9b8a, 0xe6b3ad},
+  {0x9b8b, 0xe6b3b2},
+  {0x9b8c, 0xe6b3b4},
+  {0x9b8d, 0xe6b3b9},
+  {0x9b8e, 0xe6b3bf},
+  {0x9b8f, 0xe6b480},
+  {0x9b90, 0xe6b482},
+  {0x9b91, 0xe6b483},
+  {0x9b92, 0xe6b485},
+  {0x9b93, 0xe6b486},
+  {0x9b94, 0xe6b488},
+  {0x9b95, 0xe6b489},
+  {0x9b96, 0xe6b48a},
+  {0x9b97, 0xe6b48d},
+  {0x9b98, 0xe6b48f},
+  {0x9b99, 0xe6b490},
+  {0x9b9a, 0xe6b491},
+  {0x9b9b, 0xe6b493},
+  {0x9b9c, 0xe6b494},
+  {0x9b9d, 0xe6b495},
+  {0x9b9e, 0xe6b496},
+  {0x9b9f, 0xe6b498},
+  {0x9ba0, 0xe6b49c},
+  {0x9ba1, 0xe6b49d},
+  {0x9ba2, 0xe6b49f},
+  {0x9ba3, 0xe6b4a0},
+  {0x9ba4, 0xe6b4a1},
+  {0x9ba5, 0xe6b4a2},
+  {0x9ba6, 0xe6b4a3},
+  {0x9ba7, 0xe6b4a4},
+  {0x9ba8, 0xe6b4a6},
+  {0x9ba9, 0xe6b4a8},
+  {0x9baa, 0xe6b4a9},
+  {0x9bab, 0xe6b4ac},
+  {0x9bac, 0xe6b4ad},
+  {0x9bad, 0xe6b4af},
+  {0x9bae, 0xe6b4b0},
+  {0x9baf, 0xe6b4b4},
+  {0x9bb0, 0xe6b4b6},
+  {0x9bb1, 0xe6b4b7},
+  {0x9bb2, 0xe6b4b8},
+  {0x9bb3, 0xe6b4ba},
+  {0x9bb4, 0xe6b4bf},
+  {0x9bb5, 0xe6b580},
+  {0x9bb6, 0xe6b582},
+  {0x9bb7, 0xe6b584},
+  {0x9bb8, 0xe6b589},
+  {0x9bb9, 0xe6b58c},
+  {0x9bba, 0xe6b590},
+  {0x9bbb, 0xe6b595},
+  {0x9bbc, 0xe6b596},
+  {0x9bbd, 0xe6b597},
+  {0x9bbe, 0xe6b598},
+  {0x9bbf, 0xe6b59b},
+  {0x9bc0, 0xe6b59d},
+  {0x9bc1, 0xe6b59f},
+  {0x9bc2, 0xe6b5a1},
+  {0x9bc3, 0xe6b5a2},
+  {0x9bc4, 0xe6b5a4},
+  {0x9bc5, 0xe6b5a5},
+  {0x9bc6, 0xe6b5a7},
+  {0x9bc7, 0xe6b5a8},
+  {0x9bc8, 0xe6b5ab},
+  {0x9bc9, 0xe6b5ac},
+  {0x9bca, 0xe6b5ad},
+  {0x9bcb, 0xe6b5b0},
+  {0x9bcc, 0xe6b5b1},
+  {0x9bcd, 0xe6b5b2},
+  {0x9bce, 0xe6b5b3},
+  {0x9bcf, 0xe6b5b5},
+  {0x9bd0, 0xe6b5b6},
+  {0x9bd1, 0xe6b5b9},
+  {0x9bd2, 0xe6b5ba},
+  {0x9bd3, 0xe6b5bb},
+  {0x9bd4, 0xe6b5bd},
+  {0x9bd5, 0xe6b5be},
+  {0x9bd6, 0xe6b5bf},
+  {0x9bd7, 0xe6b680},
+  {0x9bd8, 0xe6b681},
+  {0x9bd9, 0xe6b683},
+  {0x9bda, 0xe6b684},
+  {0x9bdb, 0xe6b686},
+  {0x9bdc, 0xe6b687},
+  {0x9bdd, 0xe6b68a},
+  {0x9bde, 0xe6b68b},
+  {0x9bdf, 0xe6b68d},
+  {0x9be0, 0xe6b68f},
+  {0x9be1, 0xe6b690},
+  {0x9be2, 0xe6b692},
+  {0x9be3, 0xe6b696},
+  {0x9be4, 0xe6b697},
+  {0x9be5, 0xe6b698},
+  {0x9be6, 0xe6b699},
+  {0x9be7, 0xe6b69a},
+  {0x9be8, 0xe6b69c},
+  {0x9be9, 0xe6b6a2},
+  {0x9bea, 0xe6b6a5},
+  {0x9beb, 0xe6b6ac},
+  {0x9bec, 0xe6b6ad},
+  {0x9bed, 0xe6b6b0},
+  {0x9bee, 0xe6b6b1},
+  {0x9bef, 0xe6b6b3},
+  {0x9bf0, 0xe6b6b4},
+  {0x9bf1, 0xe6b6b6},
+  {0x9bf2, 0xe6b6b7},
+  {0x9bf3, 0xe6b6b9},
+  {0x9bf4, 0xe6b6ba},
+  {0x9bf5, 0xe6b6bb},
+  {0x9bf6, 0xe6b6bc},
+  {0x9bf7, 0xe6b6bd},
+  {0x9bf8, 0xe6b6be},
+  {0x9bf9, 0xe6b781},
+  {0x9bfa, 0xe6b782},
+  {0x9bfb, 0xe6b783},
+  {0x9bfc, 0xe6b788},
+  {0x9bfd, 0xe6b789},
+  {0x9bfe, 0xe6b78a},
+  {0x9c40, 0xe6b78d},
+  {0x9c41, 0xe6b78e},
+  {0x9c42, 0xe6b78f},
+  {0x9c43, 0xe6b790},
+  {0x9c44, 0xe6b792},
+  {0x9c45, 0xe6b793},
+  {0x9c46, 0xe6b794},
+  {0x9c47, 0xe6b795},
+  {0x9c48, 0xe6b797},
+  {0x9c49, 0xe6b79a},
+  {0x9c4a, 0xe6b79b},
+  {0x9c4b, 0xe6b79c},
+  {0x9c4c, 0xe6b79f},
+  {0x9c4d, 0xe6b7a2},
+  {0x9c4e, 0xe6b7a3},
+  {0x9c4f, 0xe6b7a5},
+  {0x9c50, 0xe6b7a7},
+  {0x9c51, 0xe6b7a8},
+  {0x9c52, 0xe6b7a9},
+  {0x9c53, 0xe6b7aa},
+  {0x9c54, 0xe6b7ad},
+  {0x9c55, 0xe6b7af},
+  {0x9c56, 0xe6b7b0},
+  {0x9c57, 0xe6b7b2},
+  {0x9c58, 0xe6b7b4},
+  {0x9c59, 0xe6b7b5},
+  {0x9c5a, 0xe6b7b6},
+  {0x9c5b, 0xe6b7b8},
+  {0x9c5c, 0xe6b7ba},
+  {0x9c5d, 0xe6b7bd},
+  {0x9c5e, 0xe6b7be},
+  {0x9c5f, 0xe6b7bf},
+  {0x9c60, 0xe6b880},
+  {0x9c61, 0xe6b881},
+  {0x9c62, 0xe6b882},
+  {0x9c63, 0xe6b883},
+  {0x9c64, 0xe6b884},
+  {0x9c65, 0xe6b886},
+  {0x9c66, 0xe6b887},
+  {0x9c67, 0xe6b888},
+  {0x9c68, 0xe6b889},
+  {0x9c69, 0xe6b88b},
+  {0x9c6a, 0xe6b88f},
+  {0x9c6b, 0xe6b892},
+  {0x9c6c, 0xe6b893},
+  {0x9c6d, 0xe6b895},
+  {0x9c6e, 0xe6b898},
+  {0x9c6f, 0xe6b899},
+  {0x9c70, 0xe6b89b},
+  {0x9c71, 0xe6b89c},
+  {0x9c72, 0xe6b89e},
+  {0x9c73, 0xe6b89f},
+  {0x9c74, 0xe6b8a2},
+  {0x9c75, 0xe6b8a6},
+  {0x9c76, 0xe6b8a7},
+  {0x9c77, 0xe6b8a8},
+  {0x9c78, 0xe6b8aa},
+  {0x9c79, 0xe6b8ac},
+  {0x9c7a, 0xe6b8ae},
+  {0x9c7b, 0xe6b8b0},
+  {0x9c7c, 0xe6b8b1},
+  {0x9c7d, 0xe6b8b3},
+  {0x9c7e, 0xe6b8b5},
+  {0x9c80, 0xe6b8b6},
+  {0x9c81, 0xe6b8b7},
+  {0x9c82, 0xe6b8b9},
+  {0x9c83, 0xe6b8bb},
+  {0x9c84, 0xe6b8bc},
+  {0x9c85, 0xe6b8bd},
+  {0x9c86, 0xe6b8be},
+  {0x9c87, 0xe6b8bf},
+  {0x9c88, 0xe6b980},
+  {0x9c89, 0xe6b981},
+  {0x9c8a, 0xe6b982},
+  {0x9c8b, 0xe6b985},
+  {0x9c8c, 0xe6b986},
+  {0x9c8d, 0xe6b987},
+  {0x9c8e, 0xe6b988},
+  {0x9c8f, 0xe6b989},
+  {0x9c90, 0xe6b98a},
+  {0x9c91, 0xe6b98b},
+  {0x9c92, 0xe6b98c},
+  {0x9c93, 0xe6b98f},
+  {0x9c94, 0xe6b990},
+  {0x9c95, 0xe6b991},
+  {0x9c96, 0xe6b992},
+  {0x9c97, 0xe6b995},
+  {0x9c98, 0xe6b997},
+  {0x9c99, 0xe6b999},
+  {0x9c9a, 0xe6b99a},
+  {0x9c9b, 0xe6b99c},
+  {0x9c9c, 0xe6b99d},
+  {0x9c9d, 0xe6b99e},
+  {0x9c9e, 0xe6b9a0},
+  {0x9c9f, 0xe6b9a1},
+  {0x9ca0, 0xe6b9a2},
+  {0x9ca1, 0xe6b9a3},
+  {0x9ca2, 0xe6b9a4},
+  {0x9ca3, 0xe6b9a5},
+  {0x9ca4, 0xe6b9a6},
+  {0x9ca5, 0xe6b9a7},
+  {0x9ca6, 0xe6b9a8},
+  {0x9ca7, 0xe6b9a9},
+  {0x9ca8, 0xe6b9aa},
+  {0x9ca9, 0xe6b9ac},
+  {0x9caa, 0xe6b9ad},
+  {0x9cab, 0xe6b9af},
+  {0x9cac, 0xe6b9b0},
+  {0x9cad, 0xe6b9b1},
+  {0x9cae, 0xe6b9b2},
+  {0x9caf, 0xe6b9b3},
+  {0x9cb0, 0xe6b9b4},
+  {0x9cb1, 0xe6b9b5},
+  {0x9cb2, 0xe6b9b6},
+  {0x9cb3, 0xe6b9b7},
+  {0x9cb4, 0xe6b9b8},
+  {0x9cb5, 0xe6b9b9},
+  {0x9cb6, 0xe6b9ba},
+  {0x9cb7, 0xe6b9bb},
+  {0x9cb8, 0xe6b9bc},
+  {0x9cb9, 0xe6b9bd},
+  {0x9cba, 0xe6ba80},
+  {0x9cbb, 0xe6ba81},
+  {0x9cbc, 0xe6ba82},
+  {0x9cbd, 0xe6ba84},
+  {0x9cbe, 0xe6ba87},
+  {0x9cbf, 0xe6ba88},
+  {0x9cc0, 0xe6ba8a},
+  {0x9cc1, 0xe6ba8b},
+  {0x9cc2, 0xe6ba8c},
+  {0x9cc3, 0xe6ba8d},
+  {0x9cc4, 0xe6ba8e},
+  {0x9cc5, 0xe6ba91},
+  {0x9cc6, 0xe6ba92},
+  {0x9cc7, 0xe6ba93},
+  {0x9cc8, 0xe6ba94},
+  {0x9cc9, 0xe6ba95},
+  {0x9cca, 0xe6ba96},
+  {0x9ccb, 0xe6ba97},
+  {0x9ccc, 0xe6ba99},
+  {0x9ccd, 0xe6ba9a},
+  {0x9cce, 0xe6ba9b},
+  {0x9ccf, 0xe6ba9d},
+  {0x9cd0, 0xe6ba9e},
+  {0x9cd1, 0xe6baa0},
+  {0x9cd2, 0xe6baa1},
+  {0x9cd3, 0xe6baa3},
+  {0x9cd4, 0xe6baa4},
+  {0x9cd5, 0xe6baa6},
+  {0x9cd6, 0xe6baa8},
+  {0x9cd7, 0xe6baa9},
+  {0x9cd8, 0xe6baab},
+  {0x9cd9, 0xe6baac},
+  {0x9cda, 0xe6baad},
+  {0x9cdb, 0xe6baae},
+  {0x9cdc, 0xe6bab0},
+  {0x9cdd, 0xe6bab3},
+  {0x9cde, 0xe6bab5},
+  {0x9cdf, 0xe6bab8},
+  {0x9ce0, 0xe6bab9},
+  {0x9ce1, 0xe6babc},
+  {0x9ce2, 0xe6babe},
+  {0x9ce3, 0xe6babf},
+  {0x9ce4, 0xe6bb80},
+  {0x9ce5, 0xe6bb83},
+  {0x9ce6, 0xe6bb84},
+  {0x9ce7, 0xe6bb85},
+  {0x9ce8, 0xe6bb86},
+  {0x9ce9, 0xe6bb88},
+  {0x9cea, 0xe6bb89},
+  {0x9ceb, 0xe6bb8a},
+  {0x9cec, 0xe6bb8c},
+  {0x9ced, 0xe6bb8d},
+  {0x9cee, 0xe6bb8e},
+  {0x9cef, 0xe6bb90},
+  {0x9cf0, 0xe6bb92},
+  {0x9cf1, 0xe6bb96},
+  {0x9cf2, 0xe6bb98},
+  {0x9cf3, 0xe6bb99},
+  {0x9cf4, 0xe6bb9b},
+  {0x9cf5, 0xe6bb9c},
+  {0x9cf6, 0xe6bb9d},
+  {0x9cf7, 0xe6bba3},
+  {0x9cf8, 0xe6bba7},
+  {0x9cf9, 0xe6bbaa},
+  {0x9cfa, 0xe6bbab},
+  {0x9cfb, 0xe6bbac},
+  {0x9cfc, 0xe6bbad},
+  {0x9cfd, 0xe6bbae},
+  {0x9cfe, 0xe6bbaf},
+  {0x9d40, 0xe6bbb0},
+  {0x9d41, 0xe6bbb1},
+  {0x9d42, 0xe6bbb2},
+  {0x9d43, 0xe6bbb3},
+  {0x9d44, 0xe6bbb5},
+  {0x9d45, 0xe6bbb6},
+  {0x9d46, 0xe6bbb7},
+  {0x9d47, 0xe6bbb8},
+  {0x9d48, 0xe6bbba},
+  {0x9d49, 0xe6bbbb},
+  {0x9d4a, 0xe6bbbc},
+  {0x9d4b, 0xe6bbbd},
+  {0x9d4c, 0xe6bbbe},
+  {0x9d4d, 0xe6bbbf},
+  {0x9d4e, 0xe6bc80},
+  {0x9d4f, 0xe6bc81},
+  {0x9d50, 0xe6bc83},
+  {0x9d51, 0xe6bc84},
+  {0x9d52, 0xe6bc85},
+  {0x9d53, 0xe6bc87},
+  {0x9d54, 0xe6bc88},
+  {0x9d55, 0xe6bc8a},
+  {0x9d56, 0xe6bc8b},
+  {0x9d57, 0xe6bc8c},
+  {0x9d58, 0xe6bc8d},
+  {0x9d59, 0xe6bc8e},
+  {0x9d5a, 0xe6bc90},
+  {0x9d5b, 0xe6bc91},
+  {0x9d5c, 0xe6bc92},
+  {0x9d5d, 0xe6bc96},
+  {0x9d5e, 0xe6bc97},
+  {0x9d5f, 0xe6bc98},
+  {0x9d60, 0xe6bc99},
+  {0x9d61, 0xe6bc9a},
+  {0x9d62, 0xe6bc9b},
+  {0x9d63, 0xe6bc9c},
+  {0x9d64, 0xe6bc9d},
+  {0x9d65, 0xe6bc9e},
+  {0x9d66, 0xe6bc9f},
+  {0x9d67, 0xe6bca1},
+  {0x9d68, 0xe6bca2},
+  {0x9d69, 0xe6bca3},
+  {0x9d6a, 0xe6bca5},
+  {0x9d6b, 0xe6bca6},
+  {0x9d6c, 0xe6bca7},
+  {0x9d6d, 0xe6bca8},
+  {0x9d6e, 0xe6bcac},
+  {0x9d6f, 0xe6bcae},
+  {0x9d70, 0xe6bcb0},
+  {0x9d71, 0xe6bcb2},
+  {0x9d72, 0xe6bcb4},
+  {0x9d73, 0xe6bcb5},
+  {0x9d74, 0xe6bcb7},
+  {0x9d75, 0xe6bcb8},
+  {0x9d76, 0xe6bcb9},
+  {0x9d77, 0xe6bcba},
+  {0x9d78, 0xe6bcbb},
+  {0x9d79, 0xe6bcbc},
+  {0x9d7a, 0xe6bcbd},
+  {0x9d7b, 0xe6bcbf},
+  {0x9d7c, 0xe6bd80},
+  {0x9d7d, 0xe6bd81},
+  {0x9d7e, 0xe6bd82},
+  {0x9d80, 0xe6bd83},
+  {0x9d81, 0xe6bd84},
+  {0x9d82, 0xe6bd85},
+  {0x9d83, 0xe6bd88},
+  {0x9d84, 0xe6bd89},
+  {0x9d85, 0xe6bd8a},
+  {0x9d86, 0xe6bd8c},
+  {0x9d87, 0xe6bd8e},
+  {0x9d88, 0xe6bd8f},
+  {0x9d89, 0xe6bd90},
+  {0x9d8a, 0xe6bd91},
+  {0x9d8b, 0xe6bd92},
+  {0x9d8c, 0xe6bd93},
+  {0x9d8d, 0xe6bd94},
+  {0x9d8e, 0xe6bd95},
+  {0x9d8f, 0xe6bd96},
+  {0x9d90, 0xe6bd97},
+  {0x9d91, 0xe6bd99},
+  {0x9d92, 0xe6bd9a},
+  {0x9d93, 0xe6bd9b},
+  {0x9d94, 0xe6bd9d},
+  {0x9d95, 0xe6bd9f},
+  {0x9d96, 0xe6bda0},
+  {0x9d97, 0xe6bda1},
+  {0x9d98, 0xe6bda3},
+  {0x9d99, 0xe6bda4},
+  {0x9d9a, 0xe6bda5},
+  {0x9d9b, 0xe6bda7},
+  {0x9d9c, 0xe6bda8},
+  {0x9d9d, 0xe6bda9},
+  {0x9d9e, 0xe6bdaa},
+  {0x9d9f, 0xe6bdab},
+  {0x9da0, 0xe6bdac},
+  {0x9da1, 0xe6bdaf},
+  {0x9da2, 0xe6bdb0},
+  {0x9da3, 0xe6bdb1},
+  {0x9da4, 0xe6bdb3},
+  {0x9da5, 0xe6bdb5},
+  {0x9da6, 0xe6bdb6},
+  {0x9da7, 0xe6bdb7},
+  {0x9da8, 0xe6bdb9},
+  {0x9da9, 0xe6bdbb},
+  {0x9daa, 0xe6bdbd},
+  {0x9dab, 0xe6bdbe},
+  {0x9dac, 0xe6bdbf},
+  {0x9dad, 0xe6be80},
+  {0x9dae, 0xe6be81},
+  {0x9daf, 0xe6be82},
+  {0x9db0, 0xe6be83},
+  {0x9db1, 0xe6be85},
+  {0x9db2, 0xe6be86},
+  {0x9db3, 0xe6be87},
+  {0x9db4, 0xe6be8a},
+  {0x9db5, 0xe6be8b},
+  {0x9db6, 0xe6be8f},
+  {0x9db7, 0xe6be90},
+  {0x9db8, 0xe6be91},
+  {0x9db9, 0xe6be92},
+  {0x9dba, 0xe6be93},
+  {0x9dbb, 0xe6be94},
+  {0x9dbc, 0xe6be95},
+  {0x9dbd, 0xe6be96},
+  {0x9dbe, 0xe6be97},
+  {0x9dbf, 0xe6be98},
+  {0x9dc0, 0xe6be99},
+  {0x9dc1, 0xe6be9a},
+  {0x9dc2, 0xe6be9b},
+  {0x9dc3, 0xe6be9d},
+  {0x9dc4, 0xe6be9e},
+  {0x9dc5, 0xe6be9f},
+  {0x9dc6, 0xe6bea0},
+  {0x9dc7, 0xe6bea2},
+  {0x9dc8, 0xe6bea3},
+  {0x9dc9, 0xe6bea4},
+  {0x9dca, 0xe6bea5},
+  {0x9dcb, 0xe6bea6},
+  {0x9dcc, 0xe6bea8},
+  {0x9dcd, 0xe6bea9},
+  {0x9dce, 0xe6beaa},
+  {0x9dcf, 0xe6beab},
+  {0x9dd0, 0xe6beac},
+  {0x9dd1, 0xe6bead},
+  {0x9dd2, 0xe6beae},
+  {0x9dd3, 0xe6beaf},
+  {0x9dd4, 0xe6beb0},
+  {0x9dd5, 0xe6beb1},
+  {0x9dd6, 0xe6beb2},
+  {0x9dd7, 0xe6beb4},
+  {0x9dd8, 0xe6beb5},
+  {0x9dd9, 0xe6beb7},
+  {0x9dda, 0xe6beb8},
+  {0x9ddb, 0xe6beba},
+  {0x9ddc, 0xe6bebb},
+  {0x9ddd, 0xe6bebc},
+  {0x9dde, 0xe6bebd},
+  {0x9ddf, 0xe6bebe},
+  {0x9de0, 0xe6bebf},
+  {0x9de1, 0xe6bf81},
+  {0x9de2, 0xe6bf83},
+  {0x9de3, 0xe6bf84},
+  {0x9de4, 0xe6bf85},
+  {0x9de5, 0xe6bf86},
+  {0x9de6, 0xe6bf87},
+  {0x9de7, 0xe6bf88},
+  {0x9de8, 0xe6bf8a},
+  {0x9de9, 0xe6bf8b},
+  {0x9dea, 0xe6bf8c},
+  {0x9deb, 0xe6bf8d},
+  {0x9dec, 0xe6bf8e},
+  {0x9ded, 0xe6bf8f},
+  {0x9dee, 0xe6bf90},
+  {0x9def, 0xe6bf93},
+  {0x9df0, 0xe6bf94},
+  {0x9df1, 0xe6bf95},
+  {0x9df2, 0xe6bf96},
+  {0x9df3, 0xe6bf97},
+  {0x9df4, 0xe6bf98},
+  {0x9df5, 0xe6bf99},
+  {0x9df6, 0xe6bf9a},
+  {0x9df7, 0xe6bf9b},
+  {0x9df8, 0xe6bf9c},
+  {0x9df9, 0xe6bf9d},
+  {0x9dfa, 0xe6bf9f},
+  {0x9dfb, 0xe6bfa2},
+  {0x9dfc, 0xe6bfa3},
+  {0x9dfd, 0xe6bfa4},
+  {0x9dfe, 0xe6bfa5},
+  {0x9e40, 0xe6bfa6},
+  {0x9e41, 0xe6bfa7},
+  {0x9e42, 0xe6bfa8},
+  {0x9e43, 0xe6bfa9},
+  {0x9e44, 0xe6bfaa},
+  {0x9e45, 0xe6bfab},
+  {0x9e46, 0xe6bfac},
+  {0x9e47, 0xe6bfad},
+  {0x9e48, 0xe6bfb0},
+  {0x9e49, 0xe6bfb1},
+  {0x9e4a, 0xe6bfb2},
+  {0x9e4b, 0xe6bfb3},
+  {0x9e4c, 0xe6bfb4},
+  {0x9e4d, 0xe6bfb5},
+  {0x9e4e, 0xe6bfb6},
+  {0x9e4f, 0xe6bfb7},
+  {0x9e50, 0xe6bfb8},
+  {0x9e51, 0xe6bfb9},
+  {0x9e52, 0xe6bfba},
+  {0x9e53, 0xe6bfbb},
+  {0x9e54, 0xe6bfbc},
+  {0x9e55, 0xe6bfbd},
+  {0x9e56, 0xe6bfbe},
+  {0x9e57, 0xe6bfbf},
+  {0x9e58, 0xe78080},
+  {0x9e59, 0xe78081},
+  {0x9e5a, 0xe78082},
+  {0x9e5b, 0xe78083},
+  {0x9e5c, 0xe78084},
+  {0x9e5d, 0xe78085},
+  {0x9e5e, 0xe78086},
+  {0x9e5f, 0xe78087},
+  {0x9e60, 0xe78088},
+  {0x9e61, 0xe78089},
+  {0x9e62, 0xe7808a},
+  {0x9e63, 0xe7808b},
+  {0x9e64, 0xe7808c},
+  {0x9e65, 0xe7808d},
+  {0x9e66, 0xe7808e},
+  {0x9e67, 0xe7808f},
+  {0x9e68, 0xe78090},
+  {0x9e69, 0xe78092},
+  {0x9e6a, 0xe78093},
+  {0x9e6b, 0xe78094},
+  {0x9e6c, 0xe78095},
+  {0x9e6d, 0xe78096},
+  {0x9e6e, 0xe78097},
+  {0x9e6f, 0xe78098},
+  {0x9e70, 0xe78099},
+  {0x9e71, 0xe7809c},
+  {0x9e72, 0xe7809d},
+  {0x9e73, 0xe7809e},
+  {0x9e74, 0xe7809f},
+  {0x9e75, 0xe780a0},
+  {0x9e76, 0xe780a1},
+  {0x9e77, 0xe780a2},
+  {0x9e78, 0xe780a4},
+  {0x9e79, 0xe780a5},
+  {0x9e7a, 0xe780a6},
+  {0x9e7b, 0xe780a7},
+  {0x9e7c, 0xe780a8},
+  {0x9e7d, 0xe780a9},
+  {0x9e7e, 0xe780aa},
+  {0x9e80, 0xe780ab},
+  {0x9e81, 0xe780ac},
+  {0x9e82, 0xe780ad},
+  {0x9e83, 0xe780ae},
+  {0x9e84, 0xe780af},
+  {0x9e85, 0xe780b0},
+  {0x9e86, 0xe780b1},
+  {0x9e87, 0xe780b2},
+  {0x9e88, 0xe780b3},
+  {0x9e89, 0xe780b4},
+  {0x9e8a, 0xe780b6},
+  {0x9e8b, 0xe780b7},
+  {0x9e8c, 0xe780b8},
+  {0x9e8d, 0xe780ba},
+  {0x9e8e, 0xe780bb},
+  {0x9e8f, 0xe780bc},
+  {0x9e90, 0xe780bd},
+  {0x9e91, 0xe780be},
+  {0x9e92, 0xe780bf},
+  {0x9e93, 0xe78180},
+  {0x9e94, 0xe78181},
+  {0x9e95, 0xe78182},
+  {0x9e96, 0xe78183},
+  {0x9e97, 0xe78184},
+  {0x9e98, 0xe78185},
+  {0x9e99, 0xe78186},
+  {0x9e9a, 0xe78187},
+  {0x9e9b, 0xe78188},
+  {0x9e9c, 0xe78189},
+  {0x9e9d, 0xe7818a},
+  {0x9e9e, 0xe7818b},
+  {0x9e9f, 0xe7818d},
+  {0x9ea0, 0xe7818e},
+  {0x9ea1, 0xe78190},
+  {0x9ea2, 0xe78191},
+  {0x9ea3, 0xe78192},
+  {0x9ea4, 0xe78193},
+  {0x9ea5, 0xe78194},
+  {0x9ea6, 0xe78195},
+  {0x9ea7, 0xe78196},
+  {0x9ea8, 0xe78197},
+  {0x9ea9, 0xe78198},
+  {0x9eaa, 0xe78199},
+  {0x9eab, 0xe7819a},
+  {0x9eac, 0xe7819b},
+  {0x9ead, 0xe7819c},
+  {0x9eae, 0xe7819d},
+  {0x9eaf, 0xe7819f},
+  {0x9eb0, 0xe781a0},
+  {0x9eb1, 0xe781a1},
+  {0x9eb2, 0xe781a2},
+  {0x9eb3, 0xe781a3},
+  {0x9eb4, 0xe781a4},
+  {0x9eb5, 0xe781a5},
+  {0x9eb6, 0xe781a6},
+  {0x9eb7, 0xe781a7},
+  {0x9eb8, 0xe781a8},
+  {0x9eb9, 0xe781a9},
+  {0x9eba, 0xe781aa},
+  {0x9ebb, 0xe781ae},
+  {0x9ebc, 0xe781b1},
+  {0x9ebd, 0xe781b2},
+  {0x9ebe, 0xe781b3},
+  {0x9ebf, 0xe781b4},
+  {0x9ec0, 0xe781b7},
+  {0x9ec1, 0xe781b9},
+  {0x9ec2, 0xe781ba},
+  {0x9ec3, 0xe781bb},
+  {0x9ec4, 0xe781bd},
+  {0x9ec5, 0xe78281},
+  {0x9ec6, 0xe78282},
+  {0x9ec7, 0xe78283},
+  {0x9ec8, 0xe78284},
+  {0x9ec9, 0xe78286},
+  {0x9eca, 0xe78287},
+  {0x9ecb, 0xe78288},
+  {0x9ecc, 0xe7828b},
+  {0x9ecd, 0xe7828c},
+  {0x9ece, 0xe7828d},
+  {0x9ecf, 0xe7828f},
+  {0x9ed0, 0xe78290},
+  {0x9ed1, 0xe78291},
+  {0x9ed2, 0xe78293},
+  {0x9ed3, 0xe78297},
+  {0x9ed4, 0xe78298},
+  {0x9ed5, 0xe7829a},
+  {0x9ed6, 0xe7829b},
+  {0x9ed7, 0xe7829e},
+  {0x9ed8, 0xe7829f},
+  {0x9ed9, 0xe782a0},
+  {0x9eda, 0xe782a1},
+  {0x9edb, 0xe782a2},
+  {0x9edc, 0xe782a3},
+  {0x9edd, 0xe782a4},
+  {0x9ede, 0xe782a5},
+  {0x9edf, 0xe782a6},
+  {0x9ee0, 0xe782a7},
+  {0x9ee1, 0xe782a8},
+  {0x9ee2, 0xe782a9},
+  {0x9ee3, 0xe782aa},
+  {0x9ee4, 0xe782b0},
+  {0x9ee5, 0xe782b2},
+  {0x9ee6, 0xe782b4},
+  {0x9ee7, 0xe782b5},
+  {0x9ee8, 0xe782b6},
+  {0x9ee9, 0xe782ba},
+  {0x9eea, 0xe782be},
+  {0x9eeb, 0xe782bf},
+  {0x9eec, 0xe78384},
+  {0x9eed, 0xe78385},
+  {0x9eee, 0xe78386},
+  {0x9eef, 0xe78387},
+  {0x9ef0, 0xe78389},
+  {0x9ef1, 0xe7838b},
+  {0x9ef2, 0xe7838c},
+  {0x9ef3, 0xe7838d},
+  {0x9ef4, 0xe7838e},
+  {0x9ef5, 0xe7838f},
+  {0x9ef6, 0xe78390},
+  {0x9ef7, 0xe78391},
+  {0x9ef8, 0xe78392},
+  {0x9ef9, 0xe78393},
+  {0x9efa, 0xe78394},
+  {0x9efb, 0xe78395},
+  {0x9efc, 0xe78396},
+  {0x9efd, 0xe78397},
+  {0x9efe, 0xe7839a},
+  {0x9f40, 0xe7839c},
+  {0x9f41, 0xe7839d},
+  {0x9f42, 0xe7839e},
+  {0x9f43, 0xe783a0},
+  {0x9f44, 0xe783a1},
+  {0x9f45, 0xe783a2},
+  {0x9f46, 0xe783a3},
+  {0x9f47, 0xe783a5},
+  {0x9f48, 0xe783aa},
+  {0x9f49, 0xe783ae},
+  {0x9f4a, 0xe783b0},
+  {0x9f4b, 0xe783b1},
+  {0x9f4c, 0xe783b2},
+  {0x9f4d, 0xe783b3},
+  {0x9f4e, 0xe783b4},
+  {0x9f4f, 0xe783b5},
+  {0x9f50, 0xe783b6},
+  {0x9f51, 0xe783b8},
+  {0x9f52, 0xe783ba},
+  {0x9f53, 0xe783bb},
+  {0x9f54, 0xe783bc},
+  {0x9f55, 0xe783be},
+  {0x9f56, 0xe783bf},
+  {0x9f57, 0xe78480},
+  {0x9f58, 0xe78481},
+  {0x9f59, 0xe78482},
+  {0x9f5a, 0xe78483},
+  {0x9f5b, 0xe78484},
+  {0x9f5c, 0xe78485},
+  {0x9f5d, 0xe78486},
+  {0x9f5e, 0xe78487},
+  {0x9f5f, 0xe78488},
+  {0x9f60, 0xe7848b},
+  {0x9f61, 0xe7848c},
+  {0x9f62, 0xe7848d},
+  {0x9f63, 0xe7848e},
+  {0x9f64, 0xe7848f},
+  {0x9f65, 0xe78491},
+  {0x9f66, 0xe78492},
+  {0x9f67, 0xe78494},
+  {0x9f68, 0xe78497},
+  {0x9f69, 0xe7849b},
+  {0x9f6a, 0xe7849c},
+  {0x9f6b, 0xe7849d},
+  {0x9f6c, 0xe7849e},
+  {0x9f6d, 0xe7849f},
+  {0x9f6e, 0xe784a0},
+  {0x9f6f, 0xe784a1},
+  {0x9f70, 0xe784a2},
+  {0x9f71, 0xe784a3},
+  {0x9f72, 0xe784a4},
+  {0x9f73, 0xe784a5},
+  {0x9f74, 0xe784a7},
+  {0x9f75, 0xe784a8},
+  {0x9f76, 0xe784a9},
+  {0x9f77, 0xe784aa},
+  {0x9f78, 0xe784ab},
+  {0x9f79, 0xe784ac},
+  {0x9f7a, 0xe784ad},
+  {0x9f7b, 0xe784ae},
+  {0x9f7c, 0xe784b2},
+  {0x9f7d, 0xe784b3},
+  {0x9f7e, 0xe784b4},
+  {0x9f80, 0xe784b5},
+  {0x9f81, 0xe784b7},
+  {0x9f82, 0xe784b8},
+  {0x9f83, 0xe784b9},
+  {0x9f84, 0xe784ba},
+  {0x9f85, 0xe784bb},
+  {0x9f86, 0xe784bc},
+  {0x9f87, 0xe784bd},
+  {0x9f88, 0xe784be},
+  {0x9f89, 0xe784bf},
+  {0x9f8a, 0xe78580},
+  {0x9f8b, 0xe78581},
+  {0x9f8c, 0xe78582},
+  {0x9f8d, 0xe78583},
+  {0x9f8e, 0xe78584},
+  {0x9f8f, 0xe78586},
+  {0x9f90, 0xe78587},
+  {0x9f91, 0xe78588},
+  {0x9f92, 0xe78589},
+  {0x9f93, 0xe7858b},
+  {0x9f94, 0xe7858d},
+  {0x9f95, 0xe7858f},
+  {0x9f96, 0xe78590},
+  {0x9f97, 0xe78591},
+  {0x9f98, 0xe78592},
+  {0x9f99, 0xe78593},
+  {0x9f9a, 0xe78594},
+  {0x9f9b, 0xe78595},
+  {0x9f9c, 0xe78596},
+  {0x9f9d, 0xe78597},
+  {0x9f9e, 0xe78598},
+  {0x9f9f, 0xe78599},
+  {0x9fa0, 0xe7859a},
+  {0x9fa1, 0xe7859b},
+  {0x9fa2, 0xe7859d},
+  {0x9fa3, 0xe7859f},
+  {0x9fa4, 0xe785a0},
+  {0x9fa5, 0xe785a1},
+  {0x9fa6, 0xe785a2},
+  {0x9fa7, 0xe785a3},
+  {0x9fa8, 0xe785a5},
+  {0x9fa9, 0xe785a9},
+  {0x9faa, 0xe785aa},
+  {0x9fab, 0xe785ab},
+  {0x9fac, 0xe785ac},
+  {0x9fad, 0xe785ad},
+  {0x9fae, 0xe785af},
+  {0x9faf, 0xe785b0},
+  {0x9fb0, 0xe785b1},
+  {0x9fb1, 0xe785b4},
+  {0x9fb2, 0xe785b5},
+  {0x9fb3, 0xe785b6},
+  {0x9fb4, 0xe785b7},
+  {0x9fb5, 0xe785b9},
+  {0x9fb6, 0xe785bb},
+  {0x9fb7, 0xe785bc},
+  {0x9fb8, 0xe785be},
+  {0x9fb9, 0xe785bf},
+  {0x9fba, 0xe78680},
+  {0x9fbb, 0xe78681},
+  {0x9fbc, 0xe78682},
+  {0x9fbd, 0xe78683},
+  {0x9fbe, 0xe78685},
+  {0x9fbf, 0xe78686},
+  {0x9fc0, 0xe78687},
+  {0x9fc1, 0xe78688},
+  {0x9fc2, 0xe78689},
+  {0x9fc3, 0xe7868b},
+  {0x9fc4, 0xe7868c},
+  {0x9fc5, 0xe7868d},
+  {0x9fc6, 0xe7868e},
+  {0x9fc7, 0xe78690},
+  {0x9fc8, 0xe78691},
+  {0x9fc9, 0xe78692},
+  {0x9fca, 0xe78693},
+  {0x9fcb, 0xe78695},
+  {0x9fcc, 0xe78696},
+  {0x9fcd, 0xe78697},
+  {0x9fce, 0xe7869a},
+  {0x9fcf, 0xe7869b},
+  {0x9fd0, 0xe7869c},
+  {0x9fd1, 0xe7869d},
+  {0x9fd2, 0xe7869e},
+  {0x9fd3, 0xe786a1},
+  {0x9fd4, 0xe786a2},
+  {0x9fd5, 0xe786a3},
+  {0x9fd6, 0xe786a4},
+  {0x9fd7, 0xe786a5},
+  {0x9fd8, 0xe786a6},
+  {0x9fd9, 0xe786a7},
+  {0x9fda, 0xe786a9},
+  {0x9fdb, 0xe786aa},
+  {0x9fdc, 0xe786ab},
+  {0x9fdd, 0xe786ad},
+  {0x9fde, 0xe786ae},
+  {0x9fdf, 0xe786af},
+  {0x9fe0, 0xe786b0},
+  {0x9fe1, 0xe786b1},
+  {0x9fe2, 0xe786b2},
+  {0x9fe3, 0xe786b4},
+  {0x9fe4, 0xe786b6},
+  {0x9fe5, 0xe786b7},
+  {0x9fe6, 0xe786b8},
+  {0x9fe7, 0xe786ba},
+  {0x9fe8, 0xe786bb},
+  {0x9fe9, 0xe786bc},
+  {0x9fea, 0xe786bd},
+  {0x9feb, 0xe786be},
+  {0x9fec, 0xe786bf},
+  {0x9fed, 0xe78780},
+  {0x9fee, 0xe78781},
+  {0x9fef, 0xe78782},
+  {0x9ff0, 0xe78784},
+  {0x9ff1, 0xe78785},
+  {0x9ff2, 0xe78786},
+  {0x9ff3, 0xe78787},
+  {0x9ff4, 0xe78788},
+  {0x9ff5, 0xe78789},
+  {0x9ff6, 0xe7878a},
+  {0x9ff7, 0xe7878b},
+  {0x9ff8, 0xe7878c},
+  {0x9ff9, 0xe7878d},
+  {0x9ffa, 0xe7878f},
+  {0x9ffb, 0xe78790},
+  {0x9ffc, 0xe78791},
+  {0x9ffd, 0xe78792},
+  {0x9ffe, 0xe78793},
+  {0xa040, 0xe78796},
+  {0xa041, 0xe78797},
+  {0xa042, 0xe78798},
+  {0xa043, 0xe78799},
+  {0xa044, 0xe7879a},
+  {0xa045, 0xe7879b},
+  {0xa046, 0xe7879c},
+  {0xa047, 0xe7879d},
+  {0xa048, 0xe7879e},
+  {0xa049, 0xe7879f},
+  {0xa04a, 0xe787a1},
+  {0xa04b, 0xe787a2},
+  {0xa04c, 0xe787a3},
+  {0xa04d, 0xe787a4},
+  {0xa04e, 0xe787a6},
+  {0xa04f, 0xe787a8},
+  {0xa050, 0xe787a9},
+  {0xa051, 0xe787aa},
+  {0xa052, 0xe787ab},
+  {0xa053, 0xe787ac},
+  {0xa054, 0xe787ad},
+  {0xa055, 0xe787af},
+  {0xa056, 0xe787b0},
+  {0xa057, 0xe787b1},
+  {0xa058, 0xe787b2},
+  {0xa059, 0xe787b3},
+  {0xa05a, 0xe787b4},
+  {0xa05b, 0xe787b5},
+  {0xa05c, 0xe787b6},
+  {0xa05d, 0xe787b7},
+  {0xa05e, 0xe787b8},
+  {0xa05f, 0xe787ba},
+  {0xa060, 0xe787bb},
+  {0xa061, 0xe787bc},
+  {0xa062, 0xe787bd},
+  {0xa063, 0xe787be},
+  {0xa064, 0xe787bf},
+  {0xa065, 0xe78880},
+  {0xa066, 0xe78881},
+  {0xa067, 0xe78882},
+  {0xa068, 0xe78883},
+  {0xa069, 0xe78884},
+  {0xa06a, 0xe78885},
+  {0xa06b, 0xe78887},
+  {0xa06c, 0xe78888},
+  {0xa06d, 0xe78889},
+  {0xa06e, 0xe7888a},
+  {0xa06f, 0xe7888b},
+  {0xa070, 0xe7888c},
+  {0xa071, 0xe7888d},
+  {0xa072, 0xe7888e},
+  {0xa073, 0xe7888f},
+  {0xa074, 0xe78890},
+  {0xa075, 0xe78891},
+  {0xa076, 0xe78892},
+  {0xa077, 0xe78893},
+  {0xa078, 0xe78894},
+  {0xa079, 0xe78895},
+  {0xa07a, 0xe78896},
+  {0xa07b, 0xe78897},
+  {0xa07c, 0xe78898},
+  {0xa07d, 0xe78899},
+  {0xa07e, 0xe7889a},
+  {0xa080, 0xe7889b},
+  {0xa081, 0xe7889c},
+  {0xa082, 0xe7889e},
+  {0xa083, 0xe7889f},
+  {0xa084, 0xe788a0},
+  {0xa085, 0xe788a1},
+  {0xa086, 0xe788a2},
+  {0xa087, 0xe788a3},
+  {0xa088, 0xe788a4},
+  {0xa089, 0xe788a5},
+  {0xa08a, 0xe788a6},
+  {0xa08b, 0xe788a7},
+  {0xa08c, 0xe788a9},
+  {0xa08d, 0xe788ab},
+  {0xa08e, 0xe788ad},
+  {0xa08f, 0xe788ae},
+  {0xa090, 0xe788af},
+  {0xa091, 0xe788b2},
+  {0xa092, 0xe788b3},
+  {0xa093, 0xe788b4},
+  {0xa094, 0xe788ba},
+  {0xa095, 0xe788bc},
+  {0xa096, 0xe788be},
+  {0xa097, 0xe78980},
+  {0xa098, 0xe78981},
+  {0xa099, 0xe78982},
+  {0xa09a, 0xe78983},
+  {0xa09b, 0xe78984},
+  {0xa09c, 0xe78985},
+  {0xa09d, 0xe78986},
+  {0xa09e, 0xe78989},
+  {0xa09f, 0xe7898a},
+  {0xa0a0, 0xe7898b},
+  {0xa0a1, 0xe7898e},
+  {0xa0a2, 0xe7898f},
+  {0xa0a3, 0xe78990},
+  {0xa0a4, 0xe78991},
+  {0xa0a5, 0xe78993},
+  {0xa0a6, 0xe78994},
+  {0xa0a7, 0xe78995},
+  {0xa0a8, 0xe78997},
+  {0xa0a9, 0xe78998},
+  {0xa0aa, 0xe7899a},
+  {0xa0ab, 0xe7899c},
+  {0xa0ac, 0xe7899e},
+  {0xa0ad, 0xe789a0},
+  {0xa0ae, 0xe789a3},
+  {0xa0af, 0xe789a4},
+  {0xa0b0, 0xe789a5},
+  {0xa0b1, 0xe789a8},
+  {0xa0b2, 0xe789aa},
+  {0xa0b3, 0xe789ab},
+  {0xa0b4, 0xe789ac},
+  {0xa0b5, 0xe789ad},
+  {0xa0b6, 0xe789b0},
+  {0xa0b7, 0xe789b1},
+  {0xa0b8, 0xe789b3},
+  {0xa0b9, 0xe789b4},
+  {0xa0ba, 0xe789b6},
+  {0xa0bb, 0xe789b7},
+  {0xa0bc, 0xe789b8},
+  {0xa0bd, 0xe789bb},
+  {0xa0be, 0xe789bc},
+  {0xa0bf, 0xe789bd},
+  {0xa0c0, 0xe78a82},
+  {0xa0c1, 0xe78a83},
+  {0xa0c2, 0xe78a85},
+  {0xa0c3, 0xe78a86},
+  {0xa0c4, 0xe78a87},
+  {0xa0c5, 0xe78a88},
+  {0xa0c6, 0xe78a89},
+  {0xa0c7, 0xe78a8c},
+  {0xa0c8, 0xe78a8e},
+  {0xa0c9, 0xe78a90},
+  {0xa0ca, 0xe78a91},
+  {0xa0cb, 0xe78a93},
+  {0xa0cc, 0xe78a94},
+  {0xa0cd, 0xe78a95},
+  {0xa0ce, 0xe78a96},
+  {0xa0cf, 0xe78a97},
+  {0xa0d0, 0xe78a98},
+  {0xa0d1, 0xe78a99},
+  {0xa0d2, 0xe78a9a},
+  {0xa0d3, 0xe78a9b},
+  {0xa0d4, 0xe78a9c},
+  {0xa0d5, 0xe78a9d},
+  {0xa0d6, 0xe78a9e},
+  {0xa0d7, 0xe78aa0},
+  {0xa0d8, 0xe78aa1},
+  {0xa0d9, 0xe78aa2},
+  {0xa0da, 0xe78aa3},
+  {0xa0db, 0xe78aa4},
+  {0xa0dc, 0xe78aa5},
+  {0xa0dd, 0xe78aa6},
+  {0xa0de, 0xe78aa7},
+  {0xa0df, 0xe78aa8},
+  {0xa0e0, 0xe78aa9},
+  {0xa0e1, 0xe78aaa},
+  {0xa0e2, 0xe78aab},
+  {0xa0e3, 0xe78aae},
+  {0xa0e4, 0xe78ab1},
+  {0xa0e5, 0xe78ab2},
+  {0xa0e6, 0xe78ab3},
+  {0xa0e7, 0xe78ab5},
+  {0xa0e8, 0xe78aba},
+  {0xa0e9, 0xe78abb},
+  {0xa0ea, 0xe78abc},
+  {0xa0eb, 0xe78abd},
+  {0xa0ec, 0xe78abe},
+  {0xa0ed, 0xe78abf},
+  {0xa0ee, 0xe78b80},
+  {0xa0ef, 0xe78b85},
+  {0xa0f0, 0xe78b86},
+  {0xa0f1, 0xe78b87},
+  {0xa0f2, 0xe78b89},
+  {0xa0f3, 0xe78b8a},
+  {0xa0f4, 0xe78b8b},
+  {0xa0f5, 0xe78b8c},
+  {0xa0f6, 0xe78b8f},
+  {0xa0f7, 0xe78b91},
+  {0xa0f8, 0xe78b93},
+  {0xa0f9, 0xe78b94},
+  {0xa0fa, 0xe78b95},
+  {0xa0fb, 0xe78b96},
+  {0xa0fc, 0xe78b98},
+  {0xa0fd, 0xe78b9a},
+  {0xa0fe, 0xe78b9b},
+  {0xa140, 0xee9386},
+  {0xa141, 0xee9387},
+  {0xa142, 0xee9388},
+  {0xa143, 0xee9389},
+  {0xa144, 0xee938a},
+  {0xa145, 0xee938b},
+  {0xa146, 0xee938c},
+  {0xa147, 0xee938d},
+  {0xa148, 0xee938e},
+  {0xa149, 0xee938f},
+  {0xa14a, 0xee9390},
+  {0xa14b, 0xee9391},
+  {0xa14c, 0xee9392},
+  {0xa14d, 0xee9393},
+  {0xa14e, 0xee9394},
+  {0xa14f, 0xee9395},
+  {0xa150, 0xee9396},
+  {0xa151, 0xee9397},
+  {0xa152, 0xee9398},
+  {0xa153, 0xee9399},
+  {0xa154, 0xee939a},
+  {0xa155, 0xee939b},
+  {0xa156, 0xee939c},
+  {0xa157, 0xee939d},
+  {0xa158, 0xee939e},
+  {0xa159, 0xee939f},
+  {0xa15a, 0xee93a0},
+  {0xa15b, 0xee93a1},
+  {0xa15c, 0xee93a2},
+  {0xa15d, 0xee93a3},
+  {0xa15e, 0xee93a4},
+  {0xa15f, 0xee93a5},
+  {0xa160, 0xee93a6},
+  {0xa161, 0xee93a7},
+  {0xa162, 0xee93a8},
+  {0xa163, 0xee93a9},
+  {0xa164, 0xee93aa},
+  {0xa165, 0xee93ab},
+  {0xa166, 0xee93ac},
+  {0xa167, 0xee93ad},
+  {0xa168, 0xee93ae},
+  {0xa169, 0xee93af},
+  {0xa16a, 0xee93b0},
+  {0xa16b, 0xee93b1},
+  {0xa16c, 0xee93b2},
+  {0xa16d, 0xee93b3},
+  {0xa16e, 0xee93b4},
+  {0xa16f, 0xee93b5},
+  {0xa170, 0xee93b6},
+  {0xa171, 0xee93b7},
+  {0xa172, 0xee93b8},
+  {0xa173, 0xee93b9},
+  {0xa174, 0xee93ba},
+  {0xa175, 0xee93bb},
+  {0xa176, 0xee93bc},
+  {0xa177, 0xee93bd},
+  {0xa178, 0xee93be},
+  {0xa179, 0xee93bf},
+  {0xa17a, 0xee9480},
+  {0xa17b, 0xee9481},
+  {0xa17c, 0xee9482},
+  {0xa17d, 0xee9483},
+  {0xa17e, 0xee9484},
+  {0xa180, 0xee9485},
+  {0xa181, 0xee9486},
+  {0xa182, 0xee9487},
+  {0xa183, 0xee9488},
+  {0xa184, 0xee9489},
+  {0xa185, 0xee948a},
+  {0xa186, 0xee948b},
+  {0xa187, 0xee948c},
+  {0xa188, 0xee948d},
+  {0xa189, 0xee948e},
+  {0xa18a, 0xee948f},
+  {0xa18b, 0xee9490},
+  {0xa18c, 0xee9491},
+  {0xa18d, 0xee9492},
+  {0xa18e, 0xee9493},
+  {0xa18f, 0xee9494},
+  {0xa190, 0xee9495},
+  {0xa191, 0xee9496},
+  {0xa192, 0xee9497},
+  {0xa193, 0xee9498},
+  {0xa194, 0xee9499},
+  {0xa195, 0xee949a},
+  {0xa196, 0xee949b},
+  {0xa197, 0xee949c},
+  {0xa198, 0xee949d},
+  {0xa199, 0xee949e},
+  {0xa19a, 0xee949f},
+  {0xa19b, 0xee94a0},
+  {0xa19c, 0xee94a1},
+  {0xa19d, 0xee94a2},
+  {0xa19e, 0xee94a3},
+  {0xa19f, 0xee94a4},
+  {0xa1a0, 0xee94a5},
+  {0xa1a1, 0xe38080},
+  {0xa1a2, 0xe38081},
+  {0xa1a3, 0xe38082},
+  {0xa1a4, 0xc2b7},
+  {0xa1a5, 0xcb89},
+  {0xa1a6, 0xcb87},
+  {0xa1a7, 0xc2a8},
+  {0xa1a8, 0xe38083},
+  {0xa1a9, 0xe38085},
+  {0xa1aa, 0xe28094},
+  {0xa1ab, 0xefbd9e},
+  {0xa1ac, 0xe28096},
+  {0xa1ad, 0xe280a6},
+  {0xa1ae, 0xe28098},
+  {0xa1af, 0xe28099},
+  {0xa1b0, 0xe2809c},
+  {0xa1b1, 0xe2809d},
+  {0xa1b2, 0xe38094},
+  {0xa1b3, 0xe38095},
+  {0xa1b4, 0xe38088},
+  {0xa1b5, 0xe38089},
+  {0xa1b6, 0xe3808a},
+  {0xa1b7, 0xe3808b},
+  {0xa1b8, 0xe3808c},
+  {0xa1b9, 0xe3808d},
+  {0xa1ba, 0xe3808e},
+  {0xa1bb, 0xe3808f},
+  {0xa1bc, 0xe38096},
+  {0xa1bd, 0xe38097},
+  {0xa1be, 0xe38090},
+  {0xa1bf, 0xe38091},
+  {0xa1c0, 0xc2b1},
+  {0xa1c1, 0xc397},
+  {0xa1c2, 0xc3b7},
+  {0xa1c3, 0xe288b6},
+  {0xa1c4, 0xe288a7},
+  {0xa1c5, 0xe288a8},
+  {0xa1c6, 0xe28891},
+  {0xa1c7, 0xe2888f},
+  {0xa1c8, 0xe288aa},
+  {0xa1c9, 0xe288a9},
+  {0xa1ca, 0xe28888},
+  {0xa1cb, 0xe288b7},
+  {0xa1cc, 0xe2889a},
+  {0xa1cd, 0xe28aa5},
+  {0xa1ce, 0xe288a5},
+  {0xa1cf, 0xe288a0},
+  {0xa1d0, 0xe28c92},
+  {0xa1d1, 0xe28a99},
+  {0xa1d2, 0xe288ab},
+  {0xa1d3, 0xe288ae},
+  {0xa1d4, 0xe289a1},
+  {0xa1d5, 0xe2898c},
+  {0xa1d6, 0xe28988},
+  {0xa1d7, 0xe288bd},
+  {0xa1d8, 0xe2889d},
+  {0xa1d9, 0xe289a0},
+  {0xa1da, 0xe289ae},
+  {0xa1db, 0xe289af},
+  {0xa1dc, 0xe289a4},
+  {0xa1dd, 0xe289a5},
+  {0xa1de, 0xe2889e},
+  {0xa1df, 0xe288b5},
+  {0xa1e0, 0xe288b4},
+  {0xa1e1, 0xe29982},
+  {0xa1e2, 0xe29980},
+  {0xa1e3, 0xc2b0},
+  {0xa1e4, 0xe280b2},
+  {0xa1e5, 0xe280b3},
+  {0xa1e6, 0xe28483},
+  {0xa1e7, 0xefbc84},
+  {0xa1e8, 0xc2a4},
+  {0xa1e9, 0xefbfa0},
+  {0xa1ea, 0xefbfa1},
+  {0xa1eb, 0xe280b0},
+  {0xa1ec, 0xc2a7},
+  {0xa1ed, 0xe28496},
+  {0xa1ee, 0xe29886},
+  {0xa1ef, 0xe29885},
+  {0xa1f0, 0xe2978b},
+  {0xa1f1, 0xe2978f},
+  {0xa1f2, 0xe2978e},
+  {0xa1f3, 0xe29787},
+  {0xa1f4, 0xe29786},
+  {0xa1f5, 0xe296a1},
+  {0xa1f6, 0xe296a0},
+  {0xa1f7, 0xe296b3},
+  {0xa1f8, 0xe296b2},
+  {0xa1f9, 0xe280bb},
+  {0xa1fa, 0xe28692},
+  {0xa1fb, 0xe28690},
+  {0xa1fc, 0xe28691},
+  {0xa1fd, 0xe28693},
+  {0xa1fe, 0xe38093},
+  {0xa240, 0xee94a6},
+  {0xa241, 0xee94a7},
+  {0xa242, 0xee94a8},
+  {0xa243, 0xee94a9},
+  {0xa244, 0xee94aa},
+  {0xa245, 0xee94ab},
+  {0xa246, 0xee94ac},
+  {0xa247, 0xee94ad},
+  {0xa248, 0xee94ae},
+  {0xa249, 0xee94af},
+  {0xa24a, 0xee94b0},
+  {0xa24b, 0xee94b1},
+  {0xa24c, 0xee94b2},
+  {0xa24d, 0xee94b3},
+  {0xa24e, 0xee94b4},
+  {0xa24f, 0xee94b5},
+  {0xa250, 0xee94b6},
+  {0xa251, 0xee94b7},
+  {0xa252, 0xee94b8},
+  {0xa253, 0xee94b9},
+  {0xa254, 0xee94ba},
+  {0xa255, 0xee94bb},
+  {0xa256, 0xee94bc},
+  {0xa257, 0xee94bd},
+  {0xa258, 0xee94be},
+  {0xa259, 0xee94bf},
+  {0xa25a, 0xee9580},
+  {0xa25b, 0xee9581},
+  {0xa25c, 0xee9582},
+  {0xa25d, 0xee9583},
+  {0xa25e, 0xee9584},
+  {0xa25f, 0xee9585},
+  {0xa260, 0xee9586},
+  {0xa261, 0xee9587},
+  {0xa262, 0xee9588},
+  {0xa263, 0xee9589},
+  {0xa264, 0xee958a},
+  {0xa265, 0xee958b},
+  {0xa266, 0xee958c},
+  {0xa267, 0xee958d},
+  {0xa268, 0xee958e},
+  {0xa269, 0xee958f},
+  {0xa26a, 0xee9590},
+  {0xa26b, 0xee9591},
+  {0xa26c, 0xee9592},
+  {0xa26d, 0xee9593},
+  {0xa26e, 0xee9594},
+  {0xa26f, 0xee9595},
+  {0xa270, 0xee9596},
+  {0xa271, 0xee9597},
+  {0xa272, 0xee9598},
+  {0xa273, 0xee9599},
+  {0xa274, 0xee959a},
+  {0xa275, 0xee959b},
+  {0xa276, 0xee959c},
+  {0xa277, 0xee959d},
+  {0xa278, 0xee959e},
+  {0xa279, 0xee959f},
+  {0xa27a, 0xee95a0},
+  {0xa27b, 0xee95a1},
+  {0xa27c, 0xee95a2},
+  {0xa27d, 0xee95a3},
+  {0xa27e, 0xee95a4},
+  {0xa280, 0xee95a5},
+  {0xa281, 0xee95a6},
+  {0xa282, 0xee95a7},
+  {0xa283, 0xee95a8},
+  {0xa284, 0xee95a9},
+  {0xa285, 0xee95aa},
+  {0xa286, 0xee95ab},
+  {0xa287, 0xee95ac},
+  {0xa288, 0xee95ad},
+  {0xa289, 0xee95ae},
+  {0xa28a, 0xee95af},
+  {0xa28b, 0xee95b0},
+  {0xa28c, 0xee95b1},
+  {0xa28d, 0xee95b2},
+  {0xa28e, 0xee95b3},
+  {0xa28f, 0xee95b4},
+  {0xa290, 0xee95b5},
+  {0xa291, 0xee95b6},
+  {0xa292, 0xee95b7},
+  {0xa293, 0xee95b8},
+  {0xa294, 0xee95b9},
+  {0xa295, 0xee95ba},
+  {0xa296, 0xee95bb},
+  {0xa297, 0xee95bc},
+  {0xa298, 0xee95bd},
+  {0xa299, 0xee95be},
+  {0xa29a, 0xee95bf},
+  {0xa29b, 0xee9680},
+  {0xa29c, 0xee9681},
+  {0xa29d, 0xee9682},
+  {0xa29e, 0xee9683},
+  {0xa29f, 0xee9684},
+  {0xa2a0, 0xee9685},
+  {0xa2a1, 0xe285b0},
+  {0xa2a2, 0xe285b1},
+  {0xa2a3, 0xe285b2},
+  {0xa2a4, 0xe285b3},
+  {0xa2a5, 0xe285b4},
+  {0xa2a6, 0xe285b5},
+  {0xa2a7, 0xe285b6},
+  {0xa2a8, 0xe285b7},
+  {0xa2a9, 0xe285b8},
+  {0xa2aa, 0xe285b9},
+  {0xa2ab, 0xee9da6},
+  {0xa2ac, 0xee9da7},
+  {0xa2ad, 0xee9da8},
+  {0xa2ae, 0xee9da9},
+  {0xa2af, 0xee9daa},
+  {0xa2b0, 0xee9dab},
+  {0xa2b1, 0xe29288},
+  {0xa2b2, 0xe29289},
+  {0xa2b3, 0xe2928a},
+  {0xa2b4, 0xe2928b},
+  {0xa2b5, 0xe2928c},
+  {0xa2b6, 0xe2928d},
+  {0xa2b7, 0xe2928e},
+  {0xa2b8, 0xe2928f},
+  {0xa2b9, 0xe29290},
+  {0xa2ba, 0xe29291},
+  {0xa2bb, 0xe29292},
+  {0xa2bc, 0xe29293},
+  {0xa2bd, 0xe29294},
+  {0xa2be, 0xe29295},
+  {0xa2bf, 0xe29296},
+  {0xa2c0, 0xe29297},
+  {0xa2c1, 0xe29298},
+  {0xa2c2, 0xe29299},
+  {0xa2c3, 0xe2929a},
+  {0xa2c4, 0xe2929b},
+  {0xa2c5, 0xe291b4},
+  {0xa2c6, 0xe291b5},
+  {0xa2c7, 0xe291b6},
+  {0xa2c8, 0xe291b7},
+  {0xa2c9, 0xe291b8},
+  {0xa2ca, 0xe291b9},
+  {0xa2cb, 0xe291ba},
+  {0xa2cc, 0xe291bb},
+  {0xa2cd, 0xe291bc},
+  {0xa2ce, 0xe291bd},
+  {0xa2cf, 0xe291be},
+  {0xa2d0, 0xe291bf},
+  {0xa2d1, 0xe29280},
+  {0xa2d2, 0xe29281},
+  {0xa2d3, 0xe29282},
+  {0xa2d4, 0xe29283},
+  {0xa2d5, 0xe29284},
+  {0xa2d6, 0xe29285},
+  {0xa2d7, 0xe29286},
+  {0xa2d8, 0xe29287},
+  {0xa2d9, 0xe291a0},
+  {0xa2da, 0xe291a1},
+  {0xa2db, 0xe291a2},
+  {0xa2dc, 0xe291a3},
+  {0xa2dd, 0xe291a4},
+  {0xa2de, 0xe291a5},
+  {0xa2df, 0xe291a6},
+  {0xa2e0, 0xe291a7},
+  {0xa2e1, 0xe291a8},
+  {0xa2e2, 0xe291a9},
+  {0xa2e3, 0xe282ac},
+  {0xa2e4, 0xee9dad},
+  {0xa2e5, 0xe388a0},
+  {0xa2e6, 0xe388a1},
+  {0xa2e7, 0xe388a2},
+  {0xa2e8, 0xe388a3},
+  {0xa2e9, 0xe388a4},
+  {0xa2ea, 0xe388a5},
+  {0xa2eb, 0xe388a6},
+  {0xa2ec, 0xe388a7},
+  {0xa2ed, 0xe388a8},
+  {0xa2ee, 0xe388a9},
+  {0xa2ef, 0xee9dae},
+  {0xa2f0, 0xee9daf},
+  {0xa2f1, 0xe285a0},
+  {0xa2f2, 0xe285a1},
+  {0xa2f3, 0xe285a2},
+  {0xa2f4, 0xe285a3},
+  {0xa2f5, 0xe285a4},
+  {0xa2f6, 0xe285a5},
+  {0xa2f7, 0xe285a6},
+  {0xa2f8, 0xe285a7},
+  {0xa2f9, 0xe285a8},
+  {0xa2fa, 0xe285a9},
+  {0xa2fb, 0xe285aa},
+  {0xa2fc, 0xe285ab},
+  {0xa2fd, 0xee9db0},
+  {0xa2fe, 0xee9db1},
+  {0xa340, 0xee9686},
+  {0xa341, 0xee9687},
+  {0xa342, 0xee9688},
+  {0xa343, 0xee9689},
+  {0xa344, 0xee968a},
+  {0xa345, 0xee968b},
+  {0xa346, 0xee968c},
+  {0xa347, 0xee968d},
+  {0xa348, 0xee968e},
+  {0xa349, 0xee968f},
+  {0xa34a, 0xee9690},
+  {0xa34b, 0xee9691},
+  {0xa34c, 0xee9692},
+  {0xa34d, 0xee9693},
+  {0xa34e, 0xee9694},
+  {0xa34f, 0xee9695},
+  {0xa350, 0xee9696},
+  {0xa351, 0xee9697},
+  {0xa352, 0xee9698},
+  {0xa353, 0xee9699},
+  {0xa354, 0xee969a},
+  {0xa355, 0xee969b},
+  {0xa356, 0xee969c},
+  {0xa357, 0xee969d},
+  {0xa358, 0xee969e},
+  {0xa359, 0xee969f},
+  {0xa35a, 0xee96a0},
+  {0xa35b, 0xee96a1},
+  {0xa35c, 0xee96a2},
+  {0xa35d, 0xee96a3},
+  {0xa35e, 0xee96a4},
+  {0xa35f, 0xee96a5},
+  {0xa360, 0xee96a6},
+  {0xa361, 0xee96a7},
+  {0xa362, 0xee96a8},
+  {0xa363, 0xee96a9},
+  {0xa364, 0xee96aa},
+  {0xa365, 0xee96ab},
+  {0xa366, 0xee96ac},
+  {0xa367, 0xee96ad},
+  {0xa368, 0xee96ae},
+  {0xa369, 0xee96af},
+  {0xa36a, 0xee96b0},
+  {0xa36b, 0xee96b1},
+  {0xa36c, 0xee96b2},
+  {0xa36d, 0xee96b3},
+  {0xa36e, 0xee96b4},
+  {0xa36f, 0xee96b5},
+  {0xa370, 0xee96b6},
+  {0xa371, 0xee96b7},
+  {0xa372, 0xee96b8},
+  {0xa373, 0xee96b9},
+  {0xa374, 0xee96ba},
+  {0xa375, 0xee96bb},
+  {0xa376, 0xee96bc},
+  {0xa377, 0xee96bd},
+  {0xa378, 0xee96be},
+  {0xa379, 0xee96bf},
+  {0xa37a, 0xee9780},
+  {0xa37b, 0xee9781},
+  {0xa37c, 0xee9782},
+  {0xa37d, 0xee9783},
+  {0xa37e, 0xee9784},
+  {0xa380, 0xee9785},
+  {0xa381, 0xee9786},
+  {0xa382, 0xee9787},
+  {0xa383, 0xee9788},
+  {0xa384, 0xee9789},
+  {0xa385, 0xee978a},
+  {0xa386, 0xee978b},
+  {0xa387, 0xee978c},
+  {0xa388, 0xee978d},
+  {0xa389, 0xee978e},
+  {0xa38a, 0xee978f},
+  {0xa38b, 0xee9790},
+  {0xa38c, 0xee9791},
+  {0xa38d, 0xee9792},
+  {0xa38e, 0xee9793},
+  {0xa38f, 0xee9794},
+  {0xa390, 0xee9795},
+  {0xa391, 0xee9796},
+  {0xa392, 0xee9797},
+  {0xa393, 0xee9798},
+  {0xa394, 0xee9799},
+  {0xa395, 0xee979a},
+  {0xa396, 0xee979b},
+  {0xa397, 0xee979c},
+  {0xa398, 0xee979d},
+  {0xa399, 0xee979e},
+  {0xa39a, 0xee979f},
+  {0xa39b, 0xee97a0},
+  {0xa39c, 0xee97a1},
+  {0xa39d, 0xee97a2},
+  {0xa39e, 0xee97a3},
+  {0xa39f, 0xee97a4},
+  {0xa3a0, 0xee97a5},
+  {0xa3a1, 0xefbc81},
+  {0xa3a2, 0xefbc82},
+  {0xa3a3, 0xefbc83},
+  {0xa3a4, 0xefbfa5},
+  {0xa3a5, 0xefbc85},
+  {0xa3a6, 0xefbc86},
+  {0xa3a7, 0xefbc87},
+  {0xa3a8, 0xefbc88},
+  {0xa3a9, 0xefbc89},
+  {0xa3aa, 0xefbc8a},
+  {0xa3ab, 0xefbc8b},
+  {0xa3ac, 0xefbc8c},
+  {0xa3ad, 0xefbc8d},
+  {0xa3ae, 0xefbc8e},
+  {0xa3af, 0xefbc8f},
+  {0xa3b0, 0xefbc90},
+  {0xa3b1, 0xefbc91},
+  {0xa3b2, 0xefbc92},
+  {0xa3b3, 0xefbc93},
+  {0xa3b4, 0xefbc94},
+  {0xa3b5, 0xefbc95},
+  {0xa3b6, 0xefbc96},
+  {0xa3b7, 0xefbc97},
+  {0xa3b8, 0xefbc98},
+  {0xa3b9, 0xefbc99},
+  {0xa3ba, 0xefbc9a},
+  {0xa3bb, 0xefbc9b},
+  {0xa3bc, 0xefbc9c},
+  {0xa3bd, 0xefbc9d},
+  {0xa3be, 0xefbc9e},
+  {0xa3bf, 0xefbc9f},
+  {0xa3c0, 0xefbca0},
+  {0xa3c1, 0xefbca1},
+  {0xa3c2, 0xefbca2},
+  {0xa3c3, 0xefbca3},
+  {0xa3c4, 0xefbca4},
+  {0xa3c5, 0xefbca5},
+  {0xa3c6, 0xefbca6},
+  {0xa3c7, 0xefbca7},
+  {0xa3c8, 0xefbca8},
+  {0xa3c9, 0xefbca9},
+  {0xa3ca, 0xefbcaa},
+  {0xa3cb, 0xefbcab},
+  {0xa3cc, 0xefbcac},
+  {0xa3cd, 0xefbcad},
+  {0xa3ce, 0xefbcae},
+  {0xa3cf, 0xefbcaf},
+  {0xa3d0, 0xefbcb0},
+  {0xa3d1, 0xefbcb1},
+  {0xa3d2, 0xefbcb2},
+  {0xa3d3, 0xefbcb3},
+  {0xa3d4, 0xefbcb4},
+  {0xa3d5, 0xefbcb5},
+  {0xa3d6, 0xefbcb6},
+  {0xa3d7, 0xefbcb7},
+  {0xa3d8, 0xefbcb8},
+  {0xa3d9, 0xefbcb9},
+  {0xa3da, 0xefbcba},
+  {0xa3db, 0xefbcbb},
+  {0xa3dc, 0xefbcbc},
+  {0xa3dd, 0xefbcbd},
+  {0xa3de, 0xefbcbe},
+  {0xa3df, 0xefbcbf},
+  {0xa3e0, 0xefbd80},
+  {0xa3e1, 0xefbd81},
+  {0xa3e2, 0xefbd82},
+  {0xa3e3, 0xefbd83},
+  {0xa3e4, 0xefbd84},
+  {0xa3e5, 0xefbd85},
+  {0xa3e6, 0xefbd86},
+  {0xa3e7, 0xefbd87},
+  {0xa3e8, 0xefbd88},
+  {0xa3e9, 0xefbd89},
+  {0xa3ea, 0xefbd8a},
+  {0xa3eb, 0xefbd8b},
+  {0xa3ec, 0xefbd8c},
+  {0xa3ed, 0xefbd8d},
+  {0xa3ee, 0xefbd8e},
+  {0xa3ef, 0xefbd8f},
+  {0xa3f0, 0xefbd90},
+  {0xa3f1, 0xefbd91},
+  {0xa3f2, 0xefbd92},
+  {0xa3f3, 0xefbd93},
+  {0xa3f4, 0xefbd94},
+  {0xa3f5, 0xefbd95},
+  {0xa3f6, 0xefbd96},
+  {0xa3f7, 0xefbd97},
+  {0xa3f8, 0xefbd98},
+  {0xa3f9, 0xefbd99},
+  {0xa3fa, 0xefbd9a},
+  {0xa3fb, 0xefbd9b},
+  {0xa3fc, 0xefbd9c},
+  {0xa3fd, 0xefbd9d},
+  {0xa3fe, 0xefbfa3},
+  {0xa440, 0xee97a6},
+  {0xa441, 0xee97a7},
+  {0xa442, 0xee97a8},
+  {0xa443, 0xee97a9},
+  {0xa444, 0xee97aa},
+  {0xa445, 0xee97ab},
+  {0xa446, 0xee97ac},
+  {0xa447, 0xee97ad},
+  {0xa448, 0xee97ae},
+  {0xa449, 0xee97af},
+  {0xa44a, 0xee97b0},
+  {0xa44b, 0xee97b1},
+  {0xa44c, 0xee97b2},
+  {0xa44d, 0xee97b3},
+  {0xa44e, 0xee97b4},
+  {0xa44f, 0xee97b5},
+  {0xa450, 0xee97b6},
+  {0xa451, 0xee97b7},
+  {0xa452, 0xee97b8},
+  {0xa453, 0xee97b9},
+  {0xa454, 0xee97ba},
+  {0xa455, 0xee97bb},
+  {0xa456, 0xee97bc},
+  {0xa457, 0xee97bd},
+  {0xa458, 0xee97be},
+  {0xa459, 0xee97bf},
+  {0xa45a, 0xee9880},
+  {0xa45b, 0xee9881},
+  {0xa45c, 0xee9882},
+  {0xa45d, 0xee9883},
+  {0xa45e, 0xee9884},
+  {0xa45f, 0xee9885},
+  {0xa460, 0xee9886},
+  {0xa461, 0xee9887},
+  {0xa462, 0xee9888},
+  {0xa463, 0xee9889},
+  {0xa464, 0xee988a},
+  {0xa465, 0xee988b},
+  {0xa466, 0xee988c},
+  {0xa467, 0xee988d},
+  {0xa468, 0xee988e},
+  {0xa469, 0xee988f},
+  {0xa46a, 0xee9890},
+  {0xa46b, 0xee9891},
+  {0xa46c, 0xee9892},
+  {0xa46d, 0xee9893},
+  {0xa46e, 0xee9894},
+  {0xa46f, 0xee9895},
+  {0xa470, 0xee9896},
+  {0xa471, 0xee9897},
+  {0xa472, 0xee9898},
+  {0xa473, 0xee9899},
+  {0xa474, 0xee989a},
+  {0xa475, 0xee989b},
+  {0xa476, 0xee989c},
+  {0xa477, 0xee989d},
+  {0xa478, 0xee989e},
+  {0xa479, 0xee989f},
+  {0xa47a, 0xee98a0},
+  {0xa47b, 0xee98a1},
+  {0xa47c, 0xee98a2},
+  {0xa47d, 0xee98a3},
+  {0xa47e, 0xee98a4},
+  {0xa480, 0xee98a5},
+  {0xa481, 0xee98a6},
+  {0xa482, 0xee98a7},
+  {0xa483, 0xee98a8},
+  {0xa484, 0xee98a9},
+  {0xa485, 0xee98aa},
+  {0xa486, 0xee98ab},
+  {0xa487, 0xee98ac},
+  {0xa488, 0xee98ad},
+  {0xa489, 0xee98ae},
+  {0xa48a, 0xee98af},
+  {0xa48b, 0xee98b0},
+  {0xa48c, 0xee98b1},
+  {0xa48d, 0xee98b2},
+  {0xa48e, 0xee98b3},
+  {0xa48f, 0xee98b4},
+  {0xa490, 0xee98b5},
+  {0xa491, 0xee98b6},
+  {0xa492, 0xee98b7},
+  {0xa493, 0xee98b8},
+  {0xa494, 0xee98b9},
+  {0xa495, 0xee98ba},
+  {0xa496, 0xee98bb},
+  {0xa497, 0xee98bc},
+  {0xa498, 0xee98bd},
+  {0xa499, 0xee98be},
+  {0xa49a, 0xee98bf},
+  {0xa49b, 0xee9980},
+  {0xa49c, 0xee9981},
+  {0xa49d, 0xee9982},
+  {0xa49e, 0xee9983},
+  {0xa49f, 0xee9984},
+  {0xa4a0, 0xee9985},
+  {0xa4a1, 0xe38181},
+  {0xa4a2, 0xe38182},
+  {0xa4a3, 0xe38183},
+  {0xa4a4, 0xe38184},
+  {0xa4a5, 0xe38185},
+  {0xa4a6, 0xe38186},
+  {0xa4a7, 0xe38187},
+  {0xa4a8, 0xe38188},
+  {0xa4a9, 0xe38189},
+  {0xa4aa, 0xe3818a},
+  {0xa4ab, 0xe3818b},
+  {0xa4ac, 0xe3818c},
+  {0xa4ad, 0xe3818d},
+  {0xa4ae, 0xe3818e},
+  {0xa4af, 0xe3818f},
+  {0xa4b0, 0xe38190},
+  {0xa4b1, 0xe38191},
+  {0xa4b2, 0xe38192},
+  {0xa4b3, 0xe38193},
+  {0xa4b4, 0xe38194},
+  {0xa4b5, 0xe38195},
+  {0xa4b6, 0xe38196},
+  {0xa4b7, 0xe38197},
+  {0xa4b8, 0xe38198},
+  {0xa4b9, 0xe38199},
+  {0xa4ba, 0xe3819a},
+  {0xa4bb, 0xe3819b},
+  {0xa4bc, 0xe3819c},
+  {0xa4bd, 0xe3819d},
+  {0xa4be, 0xe3819e},
+  {0xa4bf, 0xe3819f},
+  {0xa4c0, 0xe381a0},
+  {0xa4c1, 0xe381a1},
+  {0xa4c2, 0xe381a2},
+  {0xa4c3, 0xe381a3},
+  {0xa4c4, 0xe381a4},
+  {0xa4c5, 0xe381a5},
+  {0xa4c6, 0xe381a6},
+  {0xa4c7, 0xe381a7},
+  {0xa4c8, 0xe381a8},
+  {0xa4c9, 0xe381a9},
+  {0xa4ca, 0xe381aa},
+  {0xa4cb, 0xe381ab},
+  {0xa4cc, 0xe381ac},
+  {0xa4cd, 0xe381ad},
+  {0xa4ce, 0xe381ae},
+  {0xa4cf, 0xe381af},
+  {0xa4d0, 0xe381b0},
+  {0xa4d1, 0xe381b1},
+  {0xa4d2, 0xe381b2},
+  {0xa4d3, 0xe381b3},
+  {0xa4d4, 0xe381b4},
+  {0xa4d5, 0xe381b5},
+  {0xa4d6, 0xe381b6},
+  {0xa4d7, 0xe381b7},
+  {0xa4d8, 0xe381b8},
+  {0xa4d9, 0xe381b9},
+  {0xa4da, 0xe381ba},
+  {0xa4db, 0xe381bb},
+  {0xa4dc, 0xe381bc},
+  {0xa4dd, 0xe381bd},
+  {0xa4de, 0xe381be},
+  {0xa4df, 0xe381bf},
+  {0xa4e0, 0xe38280},
+  {0xa4e1, 0xe38281},
+  {0xa4e2, 0xe38282},
+  {0xa4e3, 0xe38283},
+  {0xa4e4, 0xe38284},
+  {0xa4e5, 0xe38285},
+  {0xa4e6, 0xe38286},
+  {0xa4e7, 0xe38287},
+  {0xa4e8, 0xe38288},
+  {0xa4e9, 0xe38289},
+  {0xa4ea, 0xe3828a},
+  {0xa4eb, 0xe3828b},
+  {0xa4ec, 0xe3828c},
+  {0xa4ed, 0xe3828d},
+  {0xa4ee, 0xe3828e},
+  {0xa4ef, 0xe3828f},
+  {0xa4f0, 0xe38290},
+  {0xa4f1, 0xe38291},
+  {0xa4f2, 0xe38292},
+  {0xa4f3, 0xe38293},
+  {0xa4f4, 0xee9db2},
+  {0xa4f5, 0xee9db3},
+  {0xa4f6, 0xee9db4},
+  {0xa4f7, 0xee9db5},
+  {0xa4f8, 0xee9db6},
+  {0xa4f9, 0xee9db7},
+  {0xa4fa, 0xee9db8},
+  {0xa4fb, 0xee9db9},
+  {0xa4fc, 0xee9dba},
+  {0xa4fd, 0xee9dbb},
+  {0xa4fe, 0xee9dbc},
+  {0xa540, 0xee9986},
+  {0xa541, 0xee9987},
+  {0xa542, 0xee9988},
+  {0xa543, 0xee9989},
+  {0xa544, 0xee998a},
+  {0xa545, 0xee998b},
+  {0xa546, 0xee998c},
+  {0xa547, 0xee998d},
+  {0xa548, 0xee998e},
+  {0xa549, 0xee998f},
+  {0xa54a, 0xee9990},
+  {0xa54b, 0xee9991},
+  {0xa54c, 0xee9992},
+  {0xa54d, 0xee9993},
+  {0xa54e, 0xee9994},
+  {0xa54f, 0xee9995},
+  {0xa550, 0xee9996},
+  {0xa551, 0xee9997},
+  {0xa552, 0xee9998},
+  {0xa553, 0xee9999},
+  {0xa554, 0xee999a},
+  {0xa555, 0xee999b},
+  {0xa556, 0xee999c},
+  {0xa557, 0xee999d},
+  {0xa558, 0xee999e},
+  {0xa559, 0xee999f},
+  {0xa55a, 0xee99a0},
+  {0xa55b, 0xee99a1},
+  {0xa55c, 0xee99a2},
+  {0xa55d, 0xee99a3},
+  {0xa55e, 0xee99a4},
+  {0xa55f, 0xee99a5},
+  {0xa560, 0xee99a6},
+  {0xa561, 0xee99a7},
+  {0xa562, 0xee99a8},
+  {0xa563, 0xee99a9},
+  {0xa564, 0xee99aa},
+  {0xa565, 0xee99ab},
+  {0xa566, 0xee99ac},
+  {0xa567, 0xee99ad},
+  {0xa568, 0xee99ae},
+  {0xa569, 0xee99af},
+  {0xa56a, 0xee99b0},
+  {0xa56b, 0xee99b1},
+  {0xa56c, 0xee99b2},
+  {0xa56d, 0xee99b3},
+  {0xa56e, 0xee99b4},
+  {0xa56f, 0xee99b5},
+  {0xa570, 0xee99b6},
+  {0xa571, 0xee99b7},
+  {0xa572, 0xee99b8},
+  {0xa573, 0xee99b9},
+  {0xa574, 0xee99ba},
+  {0xa575, 0xee99bb},
+  {0xa576, 0xee99bc},
+  {0xa577, 0xee99bd},
+  {0xa578, 0xee99be},
+  {0xa579, 0xee99bf},
+  {0xa57a, 0xee9a80},
+  {0xa57b, 0xee9a81},
+  {0xa57c, 0xee9a82},
+  {0xa57d, 0xee9a83},
+  {0xa57e, 0xee9a84},
+  {0xa580, 0xee9a85},
+  {0xa581, 0xee9a86},
+  {0xa582, 0xee9a87},
+  {0xa583, 0xee9a88},
+  {0xa584, 0xee9a89},
+  {0xa585, 0xee9a8a},
+  {0xa586, 0xee9a8b},
+  {0xa587, 0xee9a8c},
+  {0xa588, 0xee9a8d},
+  {0xa589, 0xee9a8e},
+  {0xa58a, 0xee9a8f},
+  {0xa58b, 0xee9a90},
+  {0xa58c, 0xee9a91},
+  {0xa58d, 0xee9a92},
+  {0xa58e, 0xee9a93},
+  {0xa58f, 0xee9a94},
+  {0xa590, 0xee9a95},
+  {0xa591, 0xee9a96},
+  {0xa592, 0xee9a97},
+  {0xa593, 0xee9a98},
+  {0xa594, 0xee9a99},
+  {0xa595, 0xee9a9a},
+  {0xa596, 0xee9a9b},
+  {0xa597, 0xee9a9c},
+  {0xa598, 0xee9a9d},
+  {0xa599, 0xee9a9e},
+  {0xa59a, 0xee9a9f},
+  {0xa59b, 0xee9aa0},
+  {0xa59c, 0xee9aa1},
+  {0xa59d, 0xee9aa2},
+  {0xa59e, 0xee9aa3},
+  {0xa59f, 0xee9aa4},
+  {0xa5a0, 0xee9aa5},
+  {0xa5a1, 0xe382a1},
+  {0xa5a2, 0xe382a2},
+  {0xa5a3, 0xe382a3},
+  {0xa5a4, 0xe382a4},
+  {0xa5a5, 0xe382a5},
+  {0xa5a6, 0xe382a6},
+  {0xa5a7, 0xe382a7},
+  {0xa5a8, 0xe382a8},
+  {0xa5a9, 0xe382a9},
+  {0xa5aa, 0xe382aa},
+  {0xa5ab, 0xe382ab},
+  {0xa5ac, 0xe382ac},
+  {0xa5ad, 0xe382ad},
+  {0xa5ae, 0xe382ae},
+  {0xa5af, 0xe382af},
+  {0xa5b0, 0xe382b0},
+  {0xa5b1, 0xe382b1},
+  {0xa5b2, 0xe382b2},
+  {0xa5b3, 0xe382b3},
+  {0xa5b4, 0xe382b4},
+  {0xa5b5, 0xe382b5},
+  {0xa5b6, 0xe382b6},
+  {0xa5b7, 0xe382b7},
+  {0xa5b8, 0xe382b8},
+  {0xa5b9, 0xe382b9},
+  {0xa5ba, 0xe382ba},
+  {0xa5bb, 0xe382bb},
+  {0xa5bc, 0xe382bc},
+  {0xa5bd, 0xe382bd},
+  {0xa5be, 0xe382be},
+  {0xa5bf, 0xe382bf},
+  {0xa5c0, 0xe38380},
+  {0xa5c1, 0xe38381},
+  {0xa5c2, 0xe38382},
+  {0xa5c3, 0xe38383},
+  {0xa5c4, 0xe38384},
+  {0xa5c5, 0xe38385},
+  {0xa5c6, 0xe38386},
+  {0xa5c7, 0xe38387},
+  {0xa5c8, 0xe38388},
+  {0xa5c9, 0xe38389},
+  {0xa5ca, 0xe3838a},
+  {0xa5cb, 0xe3838b},
+  {0xa5cc, 0xe3838c},
+  {0xa5cd, 0xe3838d},
+  {0xa5ce, 0xe3838e},
+  {0xa5cf, 0xe3838f},
+  {0xa5d0, 0xe38390},
+  {0xa5d1, 0xe38391},
+  {0xa5d2, 0xe38392},
+  {0xa5d3, 0xe38393},
+  {0xa5d4, 0xe38394},
+  {0xa5d5, 0xe38395},
+  {0xa5d6, 0xe38396},
+  {0xa5d7, 0xe38397},
+  {0xa5d8, 0xe38398},
+  {0xa5d9, 0xe38399},
+  {0xa5da, 0xe3839a},
+  {0xa5db, 0xe3839b},
+  {0xa5dc, 0xe3839c},
+  {0xa5dd, 0xe3839d},
+  {0xa5de, 0xe3839e},
+  {0xa5df, 0xe3839f},
+  {0xa5e0, 0xe383a0},
+  {0xa5e1, 0xe383a1},
+  {0xa5e2, 0xe383a2},
+  {0xa5e3, 0xe383a3},
+  {0xa5e4, 0xe383a4},
+  {0xa5e5, 0xe383a5},
+  {0xa5e6, 0xe383a6},
+  {0xa5e7, 0xe383a7},
+  {0xa5e8, 0xe383a8},
+  {0xa5e9, 0xe383a9},
+  {0xa5ea, 0xe383aa},
+  {0xa5eb, 0xe383ab},
+  {0xa5ec, 0xe383ac},
+  {0xa5ed, 0xe383ad},
+  {0xa5ee, 0xe383ae},
+  {0xa5ef, 0xe383af},
+  {0xa5f0, 0xe383b0},
+  {0xa5f1, 0xe383b1},
+  {0xa5f2, 0xe383b2},
+  {0xa5f3, 0xe383b3},
+  {0xa5f4, 0xe383b4},
+  {0xa5f5, 0xe383b5},
+  {0xa5f6, 0xe383b6},
+  {0xa5f7, 0xee9dbd},
+  {0xa5f8, 0xee9dbe},
+  {0xa5f9, 0xee9dbf},
+  {0xa5fa, 0xee9e80},
+  {0xa5fb, 0xee9e81},
+  {0xa5fc, 0xee9e82},
+  {0xa5fd, 0xee9e83},
+  {0xa5fe, 0xee9e84},
+  {0xa640, 0xee9aa6},
+  {0xa641, 0xee9aa7},
+  {0xa642, 0xee9aa8},
+  {0xa643, 0xee9aa9},
+  {0xa644, 0xee9aaa},
+  {0xa645, 0xee9aab},
+  {0xa646, 0xee9aac},
+  {0xa647, 0xee9aad},
+  {0xa648, 0xee9aae},
+  {0xa649, 0xee9aaf},
+  {0xa64a, 0xee9ab0},
+  {0xa64b, 0xee9ab1},
+  {0xa64c, 0xee9ab2},
+  {0xa64d, 0xee9ab3},
+  {0xa64e, 0xee9ab4},
+  {0xa64f, 0xee9ab5},
+  {0xa650, 0xee9ab6},
+  {0xa651, 0xee9ab7},
+  {0xa652, 0xee9ab8},
+  {0xa653, 0xee9ab9},
+  {0xa654, 0xee9aba},
+  {0xa655, 0xee9abb},
+  {0xa656, 0xee9abc},
+  {0xa657, 0xee9abd},
+  {0xa658, 0xee9abe},
+  {0xa659, 0xee9abf},
+  {0xa65a, 0xee9b80},
+  {0xa65b, 0xee9b81},
+  {0xa65c, 0xee9b82},
+  {0xa65d, 0xee9b83},
+  {0xa65e, 0xee9b84},
+  {0xa65f, 0xee9b85},
+  {0xa660, 0xee9b86},
+  {0xa661, 0xee9b87},
+  {0xa662, 0xee9b88},
+  {0xa663, 0xee9b89},
+  {0xa664, 0xee9b8a},
+  {0xa665, 0xee9b8b},
+  {0xa666, 0xee9b8c},
+  {0xa667, 0xee9b8d},
+  {0xa668, 0xee9b8e},
+  {0xa669, 0xee9b8f},
+  {0xa66a, 0xee9b90},
+  {0xa66b, 0xee9b91},
+  {0xa66c, 0xee9b92},
+  {0xa66d, 0xee9b93},
+  {0xa66e, 0xee9b94},
+  {0xa66f, 0xee9b95},
+  {0xa670, 0xee9b96},
+  {0xa671, 0xee9b97},
+  {0xa672, 0xee9b98},
+  {0xa673, 0xee9b99},
+  {0xa674, 0xee9b9a},
+  {0xa675, 0xee9b9b},
+  {0xa676, 0xee9b9c},
+  {0xa677, 0xee9b9d},
+  {0xa678, 0xee9b9e},
+  {0xa679, 0xee9b9f},
+  {0xa67a, 0xee9ba0},
+  {0xa67b, 0xee9ba1},
+  {0xa67c, 0xee9ba2},
+  {0xa67d, 0xee9ba3},
+  {0xa67e, 0xee9ba4},
+  {0xa680, 0xee9ba5},
+  {0xa681, 0xee9ba6},
+  {0xa682, 0xee9ba7},
+  {0xa683, 0xee9ba8},
+  {0xa684, 0xee9ba9},
+  {0xa685, 0xee9baa},
+  {0xa686, 0xee9bab},
+  {0xa687, 0xee9bac},
+  {0xa688, 0xee9bad},
+  {0xa689, 0xee9bae},
+  {0xa68a, 0xee9baf},
+  {0xa68b, 0xee9bb0},
+  {0xa68c, 0xee9bb1},
+  {0xa68d, 0xee9bb2},
+  {0xa68e, 0xee9bb3},
+  {0xa68f, 0xee9bb4},
+  {0xa690, 0xee9bb5},
+  {0xa691, 0xee9bb6},
+  {0xa692, 0xee9bb7},
+  {0xa693, 0xee9bb8},
+  {0xa694, 0xee9bb9},
+  {0xa695, 0xee9bba},
+  {0xa696, 0xee9bbb},
+  {0xa697, 0xee9bbc},
+  {0xa698, 0xee9bbd},
+  {0xa699, 0xee9bbe},
+  {0xa69a, 0xee9bbf},
+  {0xa69b, 0xee9c80},
+  {0xa69c, 0xee9c81},
+  {0xa69d, 0xee9c82},
+  {0xa69e, 0xee9c83},
+  {0xa69f, 0xee9c84},
+  {0xa6a0, 0xee9c85},
+  {0xa6a1, 0xce91},
+  {0xa6a2, 0xce92},
+  {0xa6a3, 0xce93},
+  {0xa6a4, 0xce94},
+  {0xa6a5, 0xce95},
+  {0xa6a6, 0xce96},
+  {0xa6a7, 0xce97},
+  {0xa6a8, 0xce98},
+  {0xa6a9, 0xce99},
+  {0xa6aa, 0xce9a},
+  {0xa6ab, 0xce9b},
+  {0xa6ac, 0xce9c},
+  {0xa6ad, 0xce9d},
+  {0xa6ae, 0xce9e},
+  {0xa6af, 0xce9f},
+  {0xa6b0, 0xcea0},
+  {0xa6b1, 0xcea1},
+  {0xa6b2, 0xcea3},
+  {0xa6b3, 0xcea4},
+  {0xa6b4, 0xcea5},
+  {0xa6b5, 0xcea6},
+  {0xa6b6, 0xcea7},
+  {0xa6b7, 0xcea8},
+  {0xa6b8, 0xcea9},
+  {0xa6b9, 0xee9e85},
+  {0xa6ba, 0xee9e86},
+  {0xa6bb, 0xee9e87},
+  {0xa6bc, 0xee9e88},
+  {0xa6bd, 0xee9e89},
+  {0xa6be, 0xee9e8a},
+  {0xa6bf, 0xee9e8b},
+  {0xa6c0, 0xee9e8c},
+  {0xa6c1, 0xceb1},
+  {0xa6c2, 0xceb2},
+  {0xa6c3, 0xceb3},
+  {0xa6c4, 0xceb4},
+  {0xa6c5, 0xceb5},
+  {0xa6c6, 0xceb6},
+  {0xa6c7, 0xceb7},
+  {0xa6c8, 0xceb8},
+  {0xa6c9, 0xceb9},
+  {0xa6ca, 0xceba},
+  {0xa6cb, 0xcebb},
+  {0xa6cc, 0xcebc},
+  {0xa6cd, 0xcebd},
+  {0xa6ce, 0xcebe},
+  {0xa6cf, 0xcebf},
+  {0xa6d0, 0xcf80},
+  {0xa6d1, 0xcf81},
+  {0xa6d2, 0xcf83},
+  {0xa6d3, 0xcf84},
+  {0xa6d4, 0xcf85},
+  {0xa6d5, 0xcf86},
+  {0xa6d6, 0xcf87},
+  {0xa6d7, 0xcf88},
+  {0xa6d8, 0xcf89},
+  {0xa6d9, 0xee9e8d},
+  {0xa6da, 0xee9e8e},
+  {0xa6db, 0xee9e8f},
+  {0xa6dc, 0xee9e90},
+  {0xa6dd, 0xee9e91},
+  {0xa6de, 0xee9e92},
+  {0xa6df, 0xee9e93},
+  {0xa6e0, 0xefb8b5},
+  {0xa6e1, 0xefb8b6},
+  {0xa6e2, 0xefb8b9},
+  {0xa6e3, 0xefb8ba},
+  {0xa6e4, 0xefb8bf},
+  {0xa6e5, 0xefb980},
+  {0xa6e6, 0xefb8bd},
+  {0xa6e7, 0xefb8be},
+  {0xa6e8, 0xefb981},
+  {0xa6e9, 0xefb982},
+  {0xa6ea, 0xefb983},
+  {0xa6eb, 0xefb984},
+  {0xa6ec, 0xee9e94},
+  {0xa6ed, 0xee9e95},
+  {0xa6ee, 0xefb8bb},
+  {0xa6ef, 0xefb8bc},
+  {0xa6f0, 0xefb8b7},
+  {0xa6f1, 0xefb8b8},
+  {0xa6f2, 0xefb8b1},
+  {0xa6f3, 0xee9e96},
+  {0xa6f4, 0xefb8b3},
+  {0xa6f5, 0xefb8b4},
+  {0xa6f6, 0xee9e97},
+  {0xa6f7, 0xee9e98},
+  {0xa6f8, 0xee9e99},
+  {0xa6f9, 0xee9e9a},
+  {0xa6fa, 0xee9e9b},
+  {0xa6fb, 0xee9e9c},
+  {0xa6fc, 0xee9e9d},
+  {0xa6fd, 0xee9e9e},
+  {0xa6fe, 0xee9e9f},
+  {0xa740, 0xee9c86},
+  {0xa741, 0xee9c87},
+  {0xa742, 0xee9c88},
+  {0xa743, 0xee9c89},
+  {0xa744, 0xee9c8a},
+  {0xa745, 0xee9c8b},
+  {0xa746, 0xee9c8c},
+  {0xa747, 0xee9c8d},
+  {0xa748, 0xee9c8e},
+  {0xa749, 0xee9c8f},
+  {0xa74a, 0xee9c90},
+  {0xa74b, 0xee9c91},
+  {0xa74c, 0xee9c92},
+  {0xa74d, 0xee9c93},
+  {0xa74e, 0xee9c94},
+  {0xa74f, 0xee9c95},
+  {0xa750, 0xee9c96},
+  {0xa751, 0xee9c97},
+  {0xa752, 0xee9c98},
+  {0xa753, 0xee9c99},
+  {0xa754, 0xee9c9a},
+  {0xa755, 0xee9c9b},
+  {0xa756, 0xee9c9c},
+  {0xa757, 0xee9c9d},
+  {0xa758, 0xee9c9e},
+  {0xa759, 0xee9c9f},
+  {0xa75a, 0xee9ca0},
+  {0xa75b, 0xee9ca1},
+  {0xa75c, 0xee9ca2},
+  {0xa75d, 0xee9ca3},
+  {0xa75e, 0xee9ca4},
+  {0xa75f, 0xee9ca5},
+  {0xa760, 0xee9ca6},
+  {0xa761, 0xee9ca7},
+  {0xa762, 0xee9ca8},
+  {0xa763, 0xee9ca9},
+  {0xa764, 0xee9caa},
+  {0xa765, 0xee9cab},
+  {0xa766, 0xee9cac},
+  {0xa767, 0xee9cad},
+  {0xa768, 0xee9cae},
+  {0xa769, 0xee9caf},
+  {0xa76a, 0xee9cb0},
+  {0xa76b, 0xee9cb1},
+  {0xa76c, 0xee9cb2},
+  {0xa76d, 0xee9cb3},
+  {0xa76e, 0xee9cb4},
+  {0xa76f, 0xee9cb5},
+  {0xa770, 0xee9cb6},
+  {0xa771, 0xee9cb7},
+  {0xa772, 0xee9cb8},
+  {0xa773, 0xee9cb9},
+  {0xa774, 0xee9cba},
+  {0xa775, 0xee9cbb},
+  {0xa776, 0xee9cbc},
+  {0xa777, 0xee9cbd},
+  {0xa778, 0xee9cbe},
+  {0xa779, 0xee9cbf},
+  {0xa77a, 0xee9d80},
+  {0xa77b, 0xee9d81},
+  {0xa77c, 0xee9d82},
+  {0xa77d, 0xee9d83},
+  {0xa77e, 0xee9d84},
+  {0xa780, 0xee9d85},
+  {0xa781, 0xee9d86},
+  {0xa782, 0xee9d87},
+  {0xa783, 0xee9d88},
+  {0xa784, 0xee9d89},
+  {0xa785, 0xee9d8a},
+  {0xa786, 0xee9d8b},
+  {0xa787, 0xee9d8c},
+  {0xa788, 0xee9d8d},
+  {0xa789, 0xee9d8e},
+  {0xa78a, 0xee9d8f},
+  {0xa78b, 0xee9d90},
+  {0xa78c, 0xee9d91},
+  {0xa78d, 0xee9d92},
+  {0xa78e, 0xee9d93},
+  {0xa78f, 0xee9d94},
+  {0xa790, 0xee9d95},
+  {0xa791, 0xee9d96},
+  {0xa792, 0xee9d97},
+  {0xa793, 0xee9d98},
+  {0xa794, 0xee9d99},
+  {0xa795, 0xee9d9a},
+  {0xa796, 0xee9d9b},
+  {0xa797, 0xee9d9c},
+  {0xa798, 0xee9d9d},
+  {0xa799, 0xee9d9e},
+  {0xa79a, 0xee9d9f},
+  {0xa79b, 0xee9da0},
+  {0xa79c, 0xee9da1},
+  {0xa79d, 0xee9da2},
+  {0xa79e, 0xee9da3},
+  {0xa79f, 0xee9da4},
+  {0xa7a0, 0xee9da5},
+  {0xa7a1, 0xd090},
+  {0xa7a2, 0xd091},
+  {0xa7a3, 0xd092},
+  {0xa7a4, 0xd093},
+  {0xa7a5, 0xd094},
+  {0xa7a6, 0xd095},
+  {0xa7a7, 0xd081},
+  {0xa7a8, 0xd096},
+  {0xa7a9, 0xd097},
+  {0xa7aa, 0xd098},
+  {0xa7ab, 0xd099},
+  {0xa7ac, 0xd09a},
+  {0xa7ad, 0xd09b},
+  {0xa7ae, 0xd09c},
+  {0xa7af, 0xd09d},
+  {0xa7b0, 0xd09e},
+  {0xa7b1, 0xd09f},
+  {0xa7b2, 0xd0a0},
+  {0xa7b3, 0xd0a1},
+  {0xa7b4, 0xd0a2},
+  {0xa7b5, 0xd0a3},
+  {0xa7b6, 0xd0a4},
+  {0xa7b7, 0xd0a5},
+  {0xa7b8, 0xd0a6},
+  {0xa7b9, 0xd0a7},
+  {0xa7ba, 0xd0a8},
+  {0xa7bb, 0xd0a9},
+  {0xa7bc, 0xd0aa},
+  {0xa7bd, 0xd0ab},
+  {0xa7be, 0xd0ac},
+  {0xa7bf, 0xd0ad},
+  {0xa7c0, 0xd0ae},
+  {0xa7c1, 0xd0af},
+  {0xa7c2, 0xee9ea0},
+  {0xa7c3, 0xee9ea1},
+  {0xa7c4, 0xee9ea2},
+  {0xa7c5, 0xee9ea3},
+  {0xa7c6, 0xee9ea4},
+  {0xa7c7, 0xee9ea5},
+  {0xa7c8, 0xee9ea6},
+  {0xa7c9, 0xee9ea7},
+  {0xa7ca, 0xee9ea8},
+  {0xa7cb, 0xee9ea9},
+  {0xa7cc, 0xee9eaa},
+  {0xa7cd, 0xee9eab},
+  {0xa7ce, 0xee9eac},
+  {0xa7cf, 0xee9ead},
+  {0xa7d0, 0xee9eae},
+  {0xa7d1, 0xd0b0},
+  {0xa7d2, 0xd0b1},
+  {0xa7d3, 0xd0b2},
+  {0xa7d4, 0xd0b3},
+  {0xa7d5, 0xd0b4},
+  {0xa7d6, 0xd0b5},
+  {0xa7d7, 0xd191},
+  {0xa7d8, 0xd0b6},
+  {0xa7d9, 0xd0b7},
+  {0xa7da, 0xd0b8},
+  {0xa7db, 0xd0b9},
+  {0xa7dc, 0xd0ba},
+  {0xa7dd, 0xd0bb},
+  {0xa7de, 0xd0bc},
+  {0xa7df, 0xd0bd},
+  {0xa7e0, 0xd0be},
+  {0xa7e1, 0xd0bf},
+  {0xa7e2, 0xd180},
+  {0xa7e3, 0xd181},
+  {0xa7e4, 0xd182},
+  {0xa7e5, 0xd183},
+  {0xa7e6, 0xd184},
+  {0xa7e7, 0xd185},
+  {0xa7e8, 0xd186},
+  {0xa7e9, 0xd187},
+  {0xa7ea, 0xd188},
+  {0xa7eb, 0xd189},
+  {0xa7ec, 0xd18a},
+  {0xa7ed, 0xd18b},
+  {0xa7ee, 0xd18c},
+  {0xa7ef, 0xd18d},
+  {0xa7f0, 0xd18e},
+  {0xa7f1, 0xd18f},
+  {0xa7f2, 0xee9eaf},
+  {0xa7f3, 0xee9eb0},
+  {0xa7f4, 0xee9eb1},
+  {0xa7f5, 0xee9eb2},
+  {0xa7f6, 0xee9eb3},
+  {0xa7f7, 0xee9eb4},
+  {0xa7f8, 0xee9eb5},
+  {0xa7f9, 0xee9eb6},
+  {0xa7fa, 0xee9eb7},
+  {0xa7fb, 0xee9eb8},
+  {0xa7fc, 0xee9eb9},
+  {0xa7fd, 0xee9eba},
+  {0xa7fe, 0xee9ebb},
+  {0xa840, 0xcb8a},
+  {0xa841, 0xcb8b},
+  {0xa842, 0xcb99},
+  {0xa843, 0xe28093},
+  {0xa844, 0xe28095},
+  {0xa845, 0xe280a5},
+  {0xa846, 0xe280b5},
+  {0xa847, 0xe28485},
+  {0xa848, 0xe28489},
+  {0xa849, 0xe28696},
+  {0xa84a, 0xe28697},
+  {0xa84b, 0xe28698},
+  {0xa84c, 0xe28699},
+  {0xa84d, 0xe28895},
+  {0xa84e, 0xe2889f},
+  {0xa84f, 0xe288a3},
+  {0xa850, 0xe28992},
+  {0xa851, 0xe289a6},
+  {0xa852, 0xe289a7},
+  {0xa853, 0xe28abf},
+  {0xa854, 0xe29590},
+  {0xa855, 0xe29591},
+  {0xa856, 0xe29592},
+  {0xa857, 0xe29593},
+  {0xa858, 0xe29594},
+  {0xa859, 0xe29595},
+  {0xa85a, 0xe29596},
+  {0xa85b, 0xe29597},
+  {0xa85c, 0xe29598},
+  {0xa85d, 0xe29599},
+  {0xa85e, 0xe2959a},
+  {0xa85f, 0xe2959b},
+  {0xa860, 0xe2959c},
+  {0xa861, 0xe2959d},
+  {0xa862, 0xe2959e},
+  {0xa863, 0xe2959f},
+  {0xa864, 0xe295a0},
+  {0xa865, 0xe295a1},
+  {0xa866, 0xe295a2},
+  {0xa867, 0xe295a3},
+  {0xa868, 0xe295a4},
+  {0xa869, 0xe295a5},
+  {0xa86a, 0xe295a6},
+  {0xa86b, 0xe295a7},
+  {0xa86c, 0xe295a8},
+  {0xa86d, 0xe295a9},
+  {0xa86e, 0xe295aa},
+  {0xa86f, 0xe295ab},
+  {0xa870, 0xe295ac},
+  {0xa871, 0xe295ad},
+  {0xa872, 0xe295ae},
+  {0xa873, 0xe295af},
+  {0xa874, 0xe295b0},
+  {0xa875, 0xe295b1},
+  {0xa876, 0xe295b2},
+  {0xa877, 0xe295b3},
+  {0xa878, 0xe29681},
+  {0xa879, 0xe29682},
+  {0xa87a, 0xe29683},
+  {0xa87b, 0xe29684},
+  {0xa87c, 0xe29685},
+  {0xa87d, 0xe29686},
+  {0xa87e, 0xe29687},
+  {0xa880, 0xe29688},
+  {0xa881, 0xe29689},
+  {0xa882, 0xe2968a},
+  {0xa883, 0xe2968b},
+  {0xa884, 0xe2968c},
+  {0xa885, 0xe2968d},
+  {0xa886, 0xe2968e},
+  {0xa887, 0xe2968f},
+  {0xa888, 0xe29693},
+  {0xa889, 0xe29694},
+  {0xa88a, 0xe29695},
+  {0xa88b, 0xe296bc},
+  {0xa88c, 0xe296bd},
+  {0xa88d, 0xe297a2},
+  {0xa88e, 0xe297a3},
+  {0xa88f, 0xe297a4},
+  {0xa890, 0xe297a5},
+  {0xa891, 0xe29889},
+  {0xa892, 0xe28a95},
+  {0xa893, 0xe38092},
+  {0xa894, 0xe3809d},
+  {0xa895, 0xe3809e},
+  {0xa896, 0xee9ebc},
+  {0xa897, 0xee9ebd},
+  {0xa898, 0xee9ebe},
+  {0xa899, 0xee9ebf},
+  {0xa89a, 0xee9f80},
+  {0xa89b, 0xee9f81},
+  {0xa89c, 0xee9f82},
+  {0xa89d, 0xee9f83},
+  {0xa89e, 0xee9f84},
+  {0xa89f, 0xee9f85},
+  {0xa8a0, 0xee9f86},
+  {0xa8a1, 0xc481},
+  {0xa8a2, 0xc3a1},
+  {0xa8a3, 0xc78e},
+  {0xa8a4, 0xc3a0},
+  {0xa8a5, 0xc493},
+  {0xa8a6, 0xc3a9},
+  {0xa8a7, 0xc49b},
+  {0xa8a8, 0xc3a8},
+  {0xa8a9, 0xc4ab},
+  {0xa8aa, 0xc3ad},
+  {0xa8ab, 0xc790},
+  {0xa8ac, 0xc3ac},
+  {0xa8ad, 0xc58d},
+  {0xa8ae, 0xc3b3},
+  {0xa8af, 0xc792},
+  {0xa8b0, 0xc3b2},
+  {0xa8b1, 0xc5ab},
+  {0xa8b2, 0xc3ba},
+  {0xa8b3, 0xc794},
+  {0xa8b4, 0xc3b9},
+  {0xa8b5, 0xc796},
+  {0xa8b6, 0xc798},
+  {0xa8b7, 0xc79a},
+  {0xa8b8, 0xc79c},
+  {0xa8b9, 0xc3bc},
+  {0xa8ba, 0xc3aa},
+  {0xa8bb, 0xc991},
+  {0xa8bc, 0xee9f87},
+  {0xa8bd, 0xc584},
+  {0xa8be, 0xc588},
+  {0xa8bf, 0xc7b9},
+  {0xa8c0, 0xc9a1},
+  {0xa8c1, 0xee9f89},
+  {0xa8c2, 0xee9f8a},
+  {0xa8c3, 0xee9f8b},
+  {0xa8c4, 0xee9f8c},
+  {0xa8c5, 0xe38485},
+  {0xa8c6, 0xe38486},
+  {0xa8c7, 0xe38487},
+  {0xa8c8, 0xe38488},
+  {0xa8c9, 0xe38489},
+  {0xa8ca, 0xe3848a},
+  {0xa8cb, 0xe3848b},
+  {0xa8cc, 0xe3848c},
+  {0xa8cd, 0xe3848d},
+  {0xa8ce, 0xe3848e},
+  {0xa8cf, 0xe3848f},
+  {0xa8d0, 0xe38490},
+  {0xa8d1, 0xe38491},
+  {0xa8d2, 0xe38492},
+  {0xa8d3, 0xe38493},
+  {0xa8d4, 0xe38494},
+  {0xa8d5, 0xe38495},
+  {0xa8d6, 0xe38496},
+  {0xa8d7, 0xe38497},
+  {0xa8d8, 0xe38498},
+  {0xa8d9, 0xe38499},
+  {0xa8da, 0xe3849a},
+  {0xa8db, 0xe3849b},
+  {0xa8dc, 0xe3849c},
+  {0xa8dd, 0xe3849d},
+  {0xa8de, 0xe3849e},
+  {0xa8df, 0xe3849f},
+  {0xa8e0, 0xe384a0},
+  {0xa8e1, 0xe384a1},
+  {0xa8e2, 0xe384a2},
+  {0xa8e3, 0xe384a3},
+  {0xa8e4, 0xe384a4},
+  {0xa8e5, 0xe384a5},
+  {0xa8e6, 0xe384a6},
+  {0xa8e7, 0xe384a7},
+  {0xa8e8, 0xe384a8},
+  {0xa8e9, 0xe384a9},
+  {0xa8ea, 0xee9f8d},
+  {0xa8eb, 0xee9f8e},
+  {0xa8ec, 0xee9f8f},
+  {0xa8ed, 0xee9f90},
+  {0xa8ee, 0xee9f91},
+  {0xa8ef, 0xee9f92},
+  {0xa8f0, 0xee9f93},
+  {0xa8f1, 0xee9f94},
+  {0xa8f2, 0xee9f95},
+  {0xa8f3, 0xee9f96},
+  {0xa8f4, 0xee9f97},
+  {0xa8f5, 0xee9f98},
+  {0xa8f6, 0xee9f99},
+  {0xa8f7, 0xee9f9a},
+  {0xa8f8, 0xee9f9b},
+  {0xa8f9, 0xee9f9c},
+  {0xa8fa, 0xee9f9d},
+  {0xa8fb, 0xee9f9e},
+  {0xa8fc, 0xee9f9f},
+  {0xa8fd, 0xee9fa0},
+  {0xa8fe, 0xee9fa1},
+  {0xa940, 0xe380a1},
+  {0xa941, 0xe380a2},
+  {0xa942, 0xe380a3},
+  {0xa943, 0xe380a4},
+  {0xa944, 0xe380a5},
+  {0xa945, 0xe380a6},
+  {0xa946, 0xe380a7},
+  {0xa947, 0xe380a8},
+  {0xa948, 0xe380a9},
+  {0xa949, 0xe38aa3},
+  {0xa94a, 0xe38e8e},
+  {0xa94b, 0xe38e8f},
+  {0xa94c, 0xe38e9c},
+  {0xa94d, 0xe38e9d},
+  {0xa94e, 0xe38e9e},
+  {0xa94f, 0xe38ea1},
+  {0xa950, 0xe38f84},
+  {0xa951, 0xe38f8e},
+  {0xa952, 0xe38f91},
+  {0xa953, 0xe38f92},
+  {0xa954, 0xe38f95},
+  {0xa955, 0xefb8b0},
+  {0xa956, 0xefbfa2},
+  {0xa957, 0xefbfa4},
+  {0xa958, 0xee9fa2},
+  {0xa959, 0xe284a1},
+  {0xa95a, 0xe388b1},
+  {0xa95b, 0xee9fa3},
+  {0xa95c, 0xe28090},
+  {0xa95d, 0xee9fa4},
+  {0xa95e, 0xee9fa5},
+  {0xa95f, 0xee9fa6},
+  {0xa960, 0xe383bc},
+  {0xa961, 0xe3829b},
+  {0xa962, 0xe3829c},
+  {0xa963, 0xe383bd},
+  {0xa964, 0xe383be},
+  {0xa965, 0xe38086},
+  {0xa966, 0xe3829d},
+  {0xa967, 0xe3829e},
+  {0xa968, 0xefb989},
+  {0xa969, 0xefb98a},
+  {0xa96a, 0xefb98b},
+  {0xa96b, 0xefb98c},
+  {0xa96c, 0xefb98d},
+  {0xa96d, 0xefb98e},
+  {0xa96e, 0xefb98f},
+  {0xa96f, 0xefb990},
+  {0xa970, 0xefb991},
+  {0xa971, 0xefb992},
+  {0xa972, 0xefb994},
+  {0xa973, 0xefb995},
+  {0xa974, 0xefb996},
+  {0xa975, 0xefb997},
+  {0xa976, 0xefb999},
+  {0xa977, 0xefb99a},
+  {0xa978, 0xefb99b},
+  {0xa979, 0xefb99c},
+  {0xa97a, 0xefb99d},
+  {0xa97b, 0xefb99e},
+  {0xa97c, 0xefb99f},
+  {0xa97d, 0xefb9a0},
+  {0xa97e, 0xefb9a1},
+  {0xa980, 0xefb9a2},
+  {0xa981, 0xefb9a3},
+  {0xa982, 0xefb9a4},
+  {0xa983, 0xefb9a5},
+  {0xa984, 0xefb9a6},
+  {0xa985, 0xefb9a8},
+  {0xa986, 0xefb9a9},
+  {0xa987, 0xefb9aa},
+  {0xa988, 0xefb9ab},
+  {0xa989, 0xe380be},
+  {0xa98a, 0xe2bfb0},
+  {0xa98b, 0xe2bfb1},
+  {0xa98c, 0xe2bfb2},
+  {0xa98d, 0xe2bfb3},
+  {0xa98e, 0xe2bfb4},
+  {0xa98f, 0xe2bfb5},
+  {0xa990, 0xe2bfb6},
+  {0xa991, 0xe2bfb7},
+  {0xa992, 0xe2bfb8},
+  {0xa993, 0xe2bfb9},
+  {0xa994, 0xe2bfba},
+  {0xa995, 0xe2bfbb},
+  {0xa996, 0xe38087},
+  {0xa997, 0xee9fb4},
+  {0xa998, 0xee9fb5},
+  {0xa999, 0xee9fb6},
+  {0xa99a, 0xee9fb7},
+  {0xa99b, 0xee9fb8},
+  {0xa99c, 0xee9fb9},
+  {0xa99d, 0xee9fba},
+  {0xa99e, 0xee9fbb},
+  {0xa99f, 0xee9fbc},
+  {0xa9a0, 0xee9fbd},
+  {0xa9a1, 0xee9fbe},
+  {0xa9a2, 0xee9fbf},
+  {0xa9a3, 0xeea080},
+  {0xa9a4, 0xe29480},
+  {0xa9a5, 0xe29481},
+  {0xa9a6, 0xe29482},
+  {0xa9a7, 0xe29483},
+  {0xa9a8, 0xe29484},
+  {0xa9a9, 0xe29485},
+  {0xa9aa, 0xe29486},
+  {0xa9ab, 0xe29487},
+  {0xa9ac, 0xe29488},
+  {0xa9ad, 0xe29489},
+  {0xa9ae, 0xe2948a},
+  {0xa9af, 0xe2948b},
+  {0xa9b0, 0xe2948c},
+  {0xa9b1, 0xe2948d},
+  {0xa9b2, 0xe2948e},
+  {0xa9b3, 0xe2948f},
+  {0xa9b4, 0xe29490},
+  {0xa9b5, 0xe29491},
+  {0xa9b6, 0xe29492},
+  {0xa9b7, 0xe29493},
+  {0xa9b8, 0xe29494},
+  {0xa9b9, 0xe29495},
+  {0xa9ba, 0xe29496},
+  {0xa9bb, 0xe29497},
+  {0xa9bc, 0xe29498},
+  {0xa9bd, 0xe29499},
+  {0xa9be, 0xe2949a},
+  {0xa9bf, 0xe2949b},
+  {0xa9c0, 0xe2949c},
+  {0xa9c1, 0xe2949d},
+  {0xa9c2, 0xe2949e},
+  {0xa9c3, 0xe2949f},
+  {0xa9c4, 0xe294a0},
+  {0xa9c5, 0xe294a1},
+  {0xa9c6, 0xe294a2},
+  {0xa9c7, 0xe294a3},
+  {0xa9c8, 0xe294a4},
+  {0xa9c9, 0xe294a5},
+  {0xa9ca, 0xe294a6},
+  {0xa9cb, 0xe294a7},
+  {0xa9cc, 0xe294a8},
+  {0xa9cd, 0xe294a9},
+  {0xa9ce, 0xe294aa},
+  {0xa9cf, 0xe294ab},
+  {0xa9d0, 0xe294ac},
+  {0xa9d1, 0xe294ad},
+  {0xa9d2, 0xe294ae},
+  {0xa9d3, 0xe294af},
+  {0xa9d4, 0xe294b0},
+  {0xa9d5, 0xe294b1},
+  {0xa9d6, 0xe294b2},
+  {0xa9d7, 0xe294b3},
+  {0xa9d8, 0xe294b4},
+  {0xa9d9, 0xe294b5},
+  {0xa9da, 0xe294b6},
+  {0xa9db, 0xe294b7},
+  {0xa9dc, 0xe294b8},
+  {0xa9dd, 0xe294b9},
+  {0xa9de, 0xe294ba},
+  {0xa9df, 0xe294bb},
+  {0xa9e0, 0xe294bc},
+  {0xa9e1, 0xe294bd},
+  {0xa9e2, 0xe294be},
+  {0xa9e3, 0xe294bf},
+  {0xa9e4, 0xe29580},
+  {0xa9e5, 0xe29581},
+  {0xa9e6, 0xe29582},
+  {0xa9e7, 0xe29583},
+  {0xa9e8, 0xe29584},
+  {0xa9e9, 0xe29585},
+  {0xa9ea, 0xe29586},
+  {0xa9eb, 0xe29587},
+  {0xa9ec, 0xe29588},
+  {0xa9ed, 0xe29589},
+  {0xa9ee, 0xe2958a},
+  {0xa9ef, 0xe2958b},
+  {0xa9f0, 0xeea081},
+  {0xa9f1, 0xeea082},
+  {0xa9f2, 0xeea083},
+  {0xa9f3, 0xeea084},
+  {0xa9f4, 0xeea085},
+  {0xa9f5, 0xeea086},
+  {0xa9f6, 0xeea087},
+  {0xa9f7, 0xeea088},
+  {0xa9f8, 0xeea089},
+  {0xa9f9, 0xeea08a},
+  {0xa9fa, 0xeea08b},
+  {0xa9fb, 0xeea08c},
+  {0xa9fc, 0xeea08d},
+  {0xa9fd, 0xeea08e},
+  {0xa9fe, 0xeea08f},
+  {0xaa40, 0xe78b9c},
+  {0xaa41, 0xe78b9d},
+  {0xaa42, 0xe78b9f},
+  {0xaa43, 0xe78ba2},
+  {0xaa44, 0xe78ba3},
+  {0xaa45, 0xe78ba4},
+  {0xaa46, 0xe78ba5},
+  {0xaa47, 0xe78ba6},
+  {0xaa48, 0xe78ba7},
+  {0xaa49, 0xe78baa},
+  {0xaa4a, 0xe78bab},
+  {0xaa4b, 0xe78bb5},
+  {0xaa4c, 0xe78bb6},
+  {0xaa4d, 0xe78bb9},
+  {0xaa4e, 0xe78bbd},
+  {0xaa4f, 0xe78bbe},
+  {0xaa50, 0xe78bbf},
+  {0xaa51, 0xe78c80},
+  {0xaa52, 0xe78c82},
+  {0xaa53, 0xe78c84},
+  {0xaa54, 0xe78c85},
+  {0xaa55, 0xe78c86},
+  {0xaa56, 0xe78c87},
+  {0xaa57, 0xe78c88},
+  {0xaa58, 0xe78c89},
+  {0xaa59, 0xe78c8b},
+  {0xaa5a, 0xe78c8c},
+  {0xaa5b, 0xe78c8d},
+  {0xaa5c, 0xe78c8f},
+  {0xaa5d, 0xe78c90},
+  {0xaa5e, 0xe78c91},
+  {0xaa5f, 0xe78c92},
+  {0xaa60, 0xe78c94},
+  {0xaa61, 0xe78c98},
+  {0xaa62, 0xe78c99},
+  {0xaa63, 0xe78c9a},
+  {0xaa64, 0xe78c9f},
+  {0xaa65, 0xe78ca0},
+  {0xaa66, 0xe78ca3},
+  {0xaa67, 0xe78ca4},
+  {0xaa68, 0xe78ca6},
+  {0xaa69, 0xe78ca7},
+  {0xaa6a, 0xe78ca8},
+  {0xaa6b, 0xe78cad},
+  {0xaa6c, 0xe78caf},
+  {0xaa6d, 0xe78cb0},
+  {0xaa6e, 0xe78cb2},
+  {0xaa6f, 0xe78cb3},
+  {0xaa70, 0xe78cb5},
+  {0xaa71, 0xe78cb6},
+  {0xaa72, 0xe78cba},
+  {0xaa73, 0xe78cbb},
+  {0xaa74, 0xe78cbc},
+  {0xaa75, 0xe78cbd},
+  {0xaa76, 0xe78d80},
+  {0xaa77, 0xe78d81},
+  {0xaa78, 0xe78d82},
+  {0xaa79, 0xe78d83},
+  {0xaa7a, 0xe78d84},
+  {0xaa7b, 0xe78d85},
+  {0xaa7c, 0xe78d86},
+  {0xaa7d, 0xe78d87},
+  {0xaa7e, 0xe78d88},
+  {0xaa80, 0xe78d89},
+  {0xaa81, 0xe78d8a},
+  {0xaa82, 0xe78d8b},
+  {0xaa83, 0xe78d8c},
+  {0xaa84, 0xe78d8e},
+  {0xaa85, 0xe78d8f},
+  {0xaa86, 0xe78d91},
+  {0xaa87, 0xe78d93},
+  {0xaa88, 0xe78d94},
+  {0xaa89, 0xe78d95},
+  {0xaa8a, 0xe78d96},
+  {0xaa8b, 0xe78d98},
+  {0xaa8c, 0xe78d99},
+  {0xaa8d, 0xe78d9a},
+  {0xaa8e, 0xe78d9b},
+  {0xaa8f, 0xe78d9c},
+  {0xaa90, 0xe78d9d},
+  {0xaa91, 0xe78d9e},
+  {0xaa92, 0xe78d9f},
+  {0xaa93, 0xe78da1},
+  {0xaa94, 0xe78da2},
+  {0xaa95, 0xe78da3},
+  {0xaa96, 0xe78da4},
+  {0xaa97, 0xe78da5},
+  {0xaa98, 0xe78da6},
+  {0xaa99, 0xe78da7},
+  {0xaa9a, 0xe78da8},
+  {0xaa9b, 0xe78da9},
+  {0xaa9c, 0xe78daa},
+  {0xaa9d, 0xe78dab},
+  {0xaa9e, 0xe78dae},
+  {0xaa9f, 0xe78db0},
+  {0xaaa0, 0xe78db1},
+  {0xaaa1, 0xee8080},
+  {0xaaa2, 0xee8081},
+  {0xaaa3, 0xee8082},
+  {0xaaa4, 0xee8083},
+  {0xaaa5, 0xee8084},
+  {0xaaa6, 0xee8085},
+  {0xaaa7, 0xee8086},
+  {0xaaa8, 0xee8087},
+  {0xaaa9, 0xee8088},
+  {0xaaaa, 0xee8089},
+  {0xaaab, 0xee808a},
+  {0xaaac, 0xee808b},
+  {0xaaad, 0xee808c},
+  {0xaaae, 0xee808d},
+  {0xaaaf, 0xee808e},
+  {0xaab0, 0xee808f},
+  {0xaab1, 0xee8090},
+  {0xaab2, 0xee8091},
+  {0xaab3, 0xee8092},
+  {0xaab4, 0xee8093},
+  {0xaab5, 0xee8094},
+  {0xaab6, 0xee8095},
+  {0xaab7, 0xee8096},
+  {0xaab8, 0xee8097},
+  {0xaab9, 0xee8098},
+  {0xaaba, 0xee8099},
+  {0xaabb, 0xee809a},
+  {0xaabc, 0xee809b},
+  {0xaabd, 0xee809c},
+  {0xaabe, 0xee809d},
+  {0xaabf, 0xee809e},
+  {0xaac0, 0xee809f},
+  {0xaac1, 0xee80a0},
+  {0xaac2, 0xee80a1},
+  {0xaac3, 0xee80a2},
+  {0xaac4, 0xee80a3},
+  {0xaac5, 0xee80a4},
+  {0xaac6, 0xee80a5},
+  {0xaac7, 0xee80a6},
+  {0xaac8, 0xee80a7},
+  {0xaac9, 0xee80a8},
+  {0xaaca, 0xee80a9},
+  {0xaacb, 0xee80aa},
+  {0xaacc, 0xee80ab},
+  {0xaacd, 0xee80ac},
+  {0xaace, 0xee80ad},
+  {0xaacf, 0xee80ae},
+  {0xaad0, 0xee80af},
+  {0xaad1, 0xee80b0},
+  {0xaad2, 0xee80b1},
+  {0xaad3, 0xee80b2},
+  {0xaad4, 0xee80b3},
+  {0xaad5, 0xee80b4},
+  {0xaad6, 0xee80b5},
+  {0xaad7, 0xee80b6},
+  {0xaad8, 0xee80b7},
+  {0xaad9, 0xee80b8},
+  {0xaada, 0xee80b9},
+  {0xaadb, 0xee80ba},
+  {0xaadc, 0xee80bb},
+  {0xaadd, 0xee80bc},
+  {0xaade, 0xee80bd},
+  {0xaadf, 0xee80be},
+  {0xaae0, 0xee80bf},
+  {0xaae1, 0xee8180},
+  {0xaae2, 0xee8181},
+  {0xaae3, 0xee8182},
+  {0xaae4, 0xee8183},
+  {0xaae5, 0xee8184},
+  {0xaae6, 0xee8185},
+  {0xaae7, 0xee8186},
+  {0xaae8, 0xee8187},
+  {0xaae9, 0xee8188},
+  {0xaaea, 0xee8189},
+  {0xaaeb, 0xee818a},
+  {0xaaec, 0xee818b},
+  {0xaaed, 0xee818c},
+  {0xaaee, 0xee818d},
+  {0xaaef, 0xee818e},
+  {0xaaf0, 0xee818f},
+  {0xaaf1, 0xee8190},
+  {0xaaf2, 0xee8191},
+  {0xaaf3, 0xee8192},
+  {0xaaf4, 0xee8193},
+  {0xaaf5, 0xee8194},
+  {0xaaf6, 0xee8195},
+  {0xaaf7, 0xee8196},
+  {0xaaf8, 0xee8197},
+  {0xaaf9, 0xee8198},
+  {0xaafa, 0xee8199},
+  {0xaafb, 0xee819a},
+  {0xaafc, 0xee819b},
+  {0xaafd, 0xee819c},
+  {0xaafe, 0xee819d},
+  {0xab40, 0xe78db2},
+  {0xab41, 0xe78db3},
+  {0xab42, 0xe78db4},
+  {0xab43, 0xe78db5},
+  {0xab44, 0xe78db6},
+  {0xab45, 0xe78db7},
+  {0xab46, 0xe78db8},
+  {0xab47, 0xe78db9},
+  {0xab48, 0xe78dba},
+  {0xab49, 0xe78dbb},
+  {0xab4a, 0xe78dbc},
+  {0xab4b, 0xe78dbd},
+  {0xab4c, 0xe78dbf},
+  {0xab4d, 0xe78e80},
+  {0xab4e, 0xe78e81},
+  {0xab4f, 0xe78e82},
+  {0xab50, 0xe78e83},
+  {0xab51, 0xe78e85},
+  {0xab52, 0xe78e86},
+  {0xab53, 0xe78e88},
+  {0xab54, 0xe78e8a},
+  {0xab55, 0xe78e8c},
+  {0xab56, 0xe78e8d},
+  {0xab57, 0xe78e8f},
+  {0xab58, 0xe78e90},
+  {0xab59, 0xe78e92},
+  {0xab5a, 0xe78e93},
+  {0xab5b, 0xe78e94},
+  {0xab5c, 0xe78e95},
+  {0xab5d, 0xe78e97},
+  {0xab5e, 0xe78e98},
+  {0xab5f, 0xe78e99},
+  {0xab60, 0xe78e9a},
+  {0xab61, 0xe78e9c},
+  {0xab62, 0xe78e9d},
+  {0xab63, 0xe78e9e},
+  {0xab64, 0xe78ea0},
+  {0xab65, 0xe78ea1},
+  {0xab66, 0xe78ea3},
+  {0xab67, 0xe78ea4},
+  {0xab68, 0xe78ea5},
+  {0xab69, 0xe78ea6},
+  {0xab6a, 0xe78ea7},
+  {0xab6b, 0xe78ea8},
+  {0xab6c, 0xe78eaa},
+  {0xab6d, 0xe78eac},
+  {0xab6e, 0xe78ead},
+  {0xab6f, 0xe78eb1},
+  {0xab70, 0xe78eb4},
+  {0xab71, 0xe78eb5},
+  {0xab72, 0xe78eb6},
+  {0xab73, 0xe78eb8},
+  {0xab74, 0xe78eb9},
+  {0xab75, 0xe78ebc},
+  {0xab76, 0xe78ebd},
+  {0xab77, 0xe78ebe},
+  {0xab78, 0xe78ebf},
+  {0xab79, 0xe78f81},
+  {0xab7a, 0xe78f83},
+  {0xab7b, 0xe78f84},
+  {0xab7c, 0xe78f85},
+  {0xab7d, 0xe78f86},
+  {0xab7e, 0xe78f87},
+  {0xab80, 0xe78f8b},
+  {0xab81, 0xe78f8c},
+  {0xab82, 0xe78f8e},
+  {0xab83, 0xe78f92},
+  {0xab84, 0xe78f93},
+  {0xab85, 0xe78f94},
+  {0xab86, 0xe78f95},
+  {0xab87, 0xe78f96},
+  {0xab88, 0xe78f97},
+  {0xab89, 0xe78f98},
+  {0xab8a, 0xe78f9a},
+  {0xab8b, 0xe78f9b},
+  {0xab8c, 0xe78f9c},
+  {0xab8d, 0xe78f9d},
+  {0xab8e, 0xe78f9f},
+  {0xab8f, 0xe78fa1},
+  {0xab90, 0xe78fa2},
+  {0xab91, 0xe78fa3},
+  {0xab92, 0xe78fa4},
+  {0xab93, 0xe78fa6},
+  {0xab94, 0xe78fa8},
+  {0xab95, 0xe78faa},
+  {0xab96, 0xe78fab},
+  {0xab97, 0xe78fac},
+  {0xab98, 0xe78fae},
+  {0xab99, 0xe78faf},
+  {0xab9a, 0xe78fb0},
+  {0xab9b, 0xe78fb1},
+  {0xab9c, 0xe78fb3},
+  {0xab9d, 0xe78fb4},
+  {0xab9e, 0xe78fb5},
+  {0xab9f, 0xe78fb6},
+  {0xaba0, 0xe78fb7},
+  {0xaba1, 0xee819e},
+  {0xaba2, 0xee819f},
+  {0xaba3, 0xee81a0},
+  {0xaba4, 0xee81a1},
+  {0xaba5, 0xee81a2},
+  {0xaba6, 0xee81a3},
+  {0xaba7, 0xee81a4},
+  {0xaba8, 0xee81a5},
+  {0xaba9, 0xee81a6},
+  {0xabaa, 0xee81a7},
+  {0xabab, 0xee81a8},
+  {0xabac, 0xee81a9},
+  {0xabad, 0xee81aa},
+  {0xabae, 0xee81ab},
+  {0xabaf, 0xee81ac},
+  {0xabb0, 0xee81ad},
+  {0xabb1, 0xee81ae},
+  {0xabb2, 0xee81af},
+  {0xabb3, 0xee81b0},
+  {0xabb4, 0xee81b1},
+  {0xabb5, 0xee81b2},
+  {0xabb6, 0xee81b3},
+  {0xabb7, 0xee81b4},
+  {0xabb8, 0xee81b5},
+  {0xabb9, 0xee81b6},
+  {0xabba, 0xee81b7},
+  {0xabbb, 0xee81b8},
+  {0xabbc, 0xee81b9},
+  {0xabbd, 0xee81ba},
+  {0xabbe, 0xee81bb},
+  {0xabbf, 0xee81bc},
+  {0xabc0, 0xee81bd},
+  {0xabc1, 0xee81be},
+  {0xabc2, 0xee81bf},
+  {0xabc3, 0xee8280},
+  {0xabc4, 0xee8281},
+  {0xabc5, 0xee8282},
+  {0xabc6, 0xee8283},
+  {0xabc7, 0xee8284},
+  {0xabc8, 0xee8285},
+  {0xabc9, 0xee8286},
+  {0xabca, 0xee8287},
+  {0xabcb, 0xee8288},
+  {0xabcc, 0xee8289},
+  {0xabcd, 0xee828a},
+  {0xabce, 0xee828b},
+  {0xabcf, 0xee828c},
+  {0xabd0, 0xee828d},
+  {0xabd1, 0xee828e},
+  {0xabd2, 0xee828f},
+  {0xabd3, 0xee8290},
+  {0xabd4, 0xee8291},
+  {0xabd5, 0xee8292},
+  {0xabd6, 0xee8293},
+  {0xabd7, 0xee8294},
+  {0xabd8, 0xee8295},
+  {0xabd9, 0xee8296},
+  {0xabda, 0xee8297},
+  {0xabdb, 0xee8298},
+  {0xabdc, 0xee8299},
+  {0xabdd, 0xee829a},
+  {0xabde, 0xee829b},
+  {0xabdf, 0xee829c},
+  {0xabe0, 0xee829d},
+  {0xabe1, 0xee829e},
+  {0xabe2, 0xee829f},
+  {0xabe3, 0xee82a0},
+  {0xabe4, 0xee82a1},
+  {0xabe5, 0xee82a2},
+  {0xabe6, 0xee82a3},
+  {0xabe7, 0xee82a4},
+  {0xabe8, 0xee82a5},
+  {0xabe9, 0xee82a6},
+  {0xabea, 0xee82a7},
+  {0xabeb, 0xee82a8},
+  {0xabec, 0xee82a9},
+  {0xabed, 0xee82aa},
+  {0xabee, 0xee82ab},
+  {0xabef, 0xee82ac},
+  {0xabf0, 0xee82ad},
+  {0xabf1, 0xee82ae},
+  {0xabf2, 0xee82af},
+  {0xabf3, 0xee82b0},
+  {0xabf4, 0xee82b1},
+  {0xabf5, 0xee82b2},
+  {0xabf6, 0xee82b3},
+  {0xabf7, 0xee82b4},
+  {0xabf8, 0xee82b5},
+  {0xabf9, 0xee82b6},
+  {0xabfa, 0xee82b7},
+  {0xabfb, 0xee82b8},
+  {0xabfc, 0xee82b9},
+  {0xabfd, 0xee82ba},
+  {0xabfe, 0xee82bb},
+  {0xac40, 0xe78fb8},
+  {0xac41, 0xe78fb9},
+  {0xac42, 0xe78fba},
+  {0xac43, 0xe78fbb},
+  {0xac44, 0xe78fbc},
+  {0xac45, 0xe78fbd},
+  {0xac46, 0xe78fbe},
+  {0xac47, 0xe78fbf},
+  {0xac48, 0xe79080},
+  {0xac49, 0xe79081},
+  {0xac4a, 0xe79082},
+  {0xac4b, 0xe79084},
+  {0xac4c, 0xe79087},
+  {0xac4d, 0xe79088},
+  {0xac4e, 0xe7908b},
+  {0xac4f, 0xe7908c},
+  {0xac50, 0xe7908d},
+  {0xac51, 0xe7908e},
+  {0xac52, 0xe79091},
+  {0xac53, 0xe79092},
+  {0xac54, 0xe79093},
+  {0xac55, 0xe79094},
+  {0xac56, 0xe79095},
+  {0xac57, 0xe79096},
+  {0xac58, 0xe79097},
+  {0xac59, 0xe79098},
+  {0xac5a, 0xe79099},
+  {0xac5b, 0xe7909c},
+  {0xac5c, 0xe7909d},
+  {0xac5d, 0xe7909e},
+  {0xac5e, 0xe7909f},
+  {0xac5f, 0xe790a0},
+  {0xac60, 0xe790a1},
+  {0xac61, 0xe790a3},
+  {0xac62, 0xe790a4},
+  {0xac63, 0xe790a7},
+  {0xac64, 0xe790a9},
+  {0xac65, 0xe790ab},
+  {0xac66, 0xe790ad},
+  {0xac67, 0xe790af},
+  {0xac68, 0xe790b1},
+  {0xac69, 0xe790b2},
+  {0xac6a, 0xe790b7},
+  {0xac6b, 0xe790b8},
+  {0xac6c, 0xe790b9},
+  {0xac6d, 0xe790ba},
+  {0xac6e, 0xe790bb},
+  {0xac6f, 0xe790bd},
+  {0xac70, 0xe790be},
+  {0xac71, 0xe790bf},
+  {0xac72, 0xe79180},
+  {0xac73, 0xe79182},
+  {0xac74, 0xe79183},
+  {0xac75, 0xe79184},
+  {0xac76, 0xe79185},
+  {0xac77, 0xe79186},
+  {0xac78, 0xe79187},
+  {0xac79, 0xe79188},
+  {0xac7a, 0xe79189},
+  {0xac7b, 0xe7918a},
+  {0xac7c, 0xe7918b},
+  {0xac7d, 0xe7918c},
+  {0xac7e, 0xe7918d},
+  {0xac80, 0xe7918e},
+  {0xac81, 0xe7918f},
+  {0xac82, 0xe79190},
+  {0xac83, 0xe79191},
+  {0xac84, 0xe79192},
+  {0xac85, 0xe79193},
+  {0xac86, 0xe79194},
+  {0xac87, 0xe79196},
+  {0xac88, 0xe79198},
+  {0xac89, 0xe7919d},
+  {0xac8a, 0xe791a0},
+  {0xac8b, 0xe791a1},
+  {0xac8c, 0xe791a2},
+  {0xac8d, 0xe791a3},
+  {0xac8e, 0xe791a4},
+  {0xac8f, 0xe791a5},
+  {0xac90, 0xe791a6},
+  {0xac91, 0xe791a7},
+  {0xac92, 0xe791a8},
+  {0xac93, 0xe791a9},
+  {0xac94, 0xe791aa},
+  {0xac95, 0xe791ab},
+  {0xac96, 0xe791ac},
+  {0xac97, 0xe791ae},
+  {0xac98, 0xe791af},
+  {0xac99, 0xe791b1},
+  {0xac9a, 0xe791b2},
+  {0xac9b, 0xe791b3},
+  {0xac9c, 0xe791b4},
+  {0xac9d, 0xe791b5},
+  {0xac9e, 0xe791b8},
+  {0xac9f, 0xe791b9},
+  {0xaca0, 0xe791ba},
+  {0xaca1, 0xee82bc},
+  {0xaca2, 0xee82bd},
+  {0xaca3, 0xee82be},
+  {0xaca4, 0xee82bf},
+  {0xaca5, 0xee8380},
+  {0xaca6, 0xee8381},
+  {0xaca7, 0xee8382},
+  {0xaca8, 0xee8383},
+  {0xaca9, 0xee8384},
+  {0xacaa, 0xee8385},
+  {0xacab, 0xee8386},
+  {0xacac, 0xee8387},
+  {0xacad, 0xee8388},
+  {0xacae, 0xee8389},
+  {0xacaf, 0xee838a},
+  {0xacb0, 0xee838b},
+  {0xacb1, 0xee838c},
+  {0xacb2, 0xee838d},
+  {0xacb3, 0xee838e},
+  {0xacb4, 0xee838f},
+  {0xacb5, 0xee8390},
+  {0xacb6, 0xee8391},
+  {0xacb7, 0xee8392},
+  {0xacb8, 0xee8393},
+  {0xacb9, 0xee8394},
+  {0xacba, 0xee8395},
+  {0xacbb, 0xee8396},
+  {0xacbc, 0xee8397},
+  {0xacbd, 0xee8398},
+  {0xacbe, 0xee8399},
+  {0xacbf, 0xee839a},
+  {0xacc0, 0xee839b},
+  {0xacc1, 0xee839c},
+  {0xacc2, 0xee839d},
+  {0xacc3, 0xee839e},
+  {0xacc4, 0xee839f},
+  {0xacc5, 0xee83a0},
+  {0xacc6, 0xee83a1},
+  {0xacc7, 0xee83a2},
+  {0xacc8, 0xee83a3},
+  {0xacc9, 0xee83a4},
+  {0xacca, 0xee83a5},
+  {0xaccb, 0xee83a6},
+  {0xaccc, 0xee83a7},
+  {0xaccd, 0xee83a8},
+  {0xacce, 0xee83a9},
+  {0xaccf, 0xee83aa},
+  {0xacd0, 0xee83ab},
+  {0xacd1, 0xee83ac},
+  {0xacd2, 0xee83ad},
+  {0xacd3, 0xee83ae},
+  {0xacd4, 0xee83af},
+  {0xacd5, 0xee83b0},
+  {0xacd6, 0xee83b1},
+  {0xacd7, 0xee83b2},
+  {0xacd8, 0xee83b3},
+  {0xacd9, 0xee83b4},
+  {0xacda, 0xee83b5},
+  {0xacdb, 0xee83b6},
+  {0xacdc, 0xee83b7},
+  {0xacdd, 0xee83b8},
+  {0xacde, 0xee83b9},
+  {0xacdf, 0xee83ba},
+  {0xace0, 0xee83bb},
+  {0xace1, 0xee83bc},
+  {0xace2, 0xee83bd},
+  {0xace3, 0xee83be},
+  {0xace4, 0xee83bf},
+  {0xace5, 0xee8480},
+  {0xace6, 0xee8481},
+  {0xace7, 0xee8482},
+  {0xace8, 0xee8483},
+  {0xace9, 0xee8484},
+  {0xacea, 0xee8485},
+  {0xaceb, 0xee8486},
+  {0xacec, 0xee8487},
+  {0xaced, 0xee8488},
+  {0xacee, 0xee8489},
+  {0xacef, 0xee848a},
+  {0xacf0, 0xee848b},
+  {0xacf1, 0xee848c},
+  {0xacf2, 0xee848d},
+  {0xacf3, 0xee848e},
+  {0xacf4, 0xee848f},
+  {0xacf5, 0xee8490},
+  {0xacf6, 0xee8491},
+  {0xacf7, 0xee8492},
+  {0xacf8, 0xee8493},
+  {0xacf9, 0xee8494},
+  {0xacfa, 0xee8495},
+  {0xacfb, 0xee8496},
+  {0xacfc, 0xee8497},
+  {0xacfd, 0xee8498},
+  {0xacfe, 0xee8499},
+  {0xad40, 0xe791bb},
+  {0xad41, 0xe791bc},
+  {0xad42, 0xe791bd},
+  {0xad43, 0xe791bf},
+  {0xad44, 0xe79282},
+  {0xad45, 0xe79284},
+  {0xad46, 0xe79285},
+  {0xad47, 0xe79286},
+  {0xad48, 0xe79288},
+  {0xad49, 0xe79289},
+  {0xad4a, 0xe7928a},
+  {0xad4b, 0xe7928c},
+  {0xad4c, 0xe7928d},
+  {0xad4d, 0xe7928f},
+  {0xad4e, 0xe79291},
+  {0xad4f, 0xe79292},
+  {0xad50, 0xe79293},
+  {0xad51, 0xe79294},
+  {0xad52, 0xe79295},
+  {0xad53, 0xe79296},
+  {0xad54, 0xe79297},
+  {0xad55, 0xe79298},
+  {0xad56, 0xe79299},
+  {0xad57, 0xe7929a},
+  {0xad58, 0xe7929b},
+  {0xad59, 0xe7929d},
+  {0xad5a, 0xe7929f},
+  {0xad5b, 0xe792a0},
+  {0xad5c, 0xe792a1},
+  {0xad5d, 0xe792a2},
+  {0xad5e, 0xe792a3},
+  {0xad5f, 0xe792a4},
+  {0xad60, 0xe792a5},
+  {0xad61, 0xe792a6},
+  {0xad62, 0xe792aa},
+  {0xad63, 0xe792ab},
+  {0xad64, 0xe792ac},
+  {0xad65, 0xe792ad},
+  {0xad66, 0xe792ae},
+  {0xad67, 0xe792af},
+  {0xad68, 0xe792b0},
+  {0xad69, 0xe792b1},
+  {0xad6a, 0xe792b2},
+  {0xad6b, 0xe792b3},
+  {0xad6c, 0xe792b4},
+  {0xad6d, 0xe792b5},
+  {0xad6e, 0xe792b6},
+  {0xad6f, 0xe792b7},
+  {0xad70, 0xe792b8},
+  {0xad71, 0xe792b9},
+  {0xad72, 0xe792bb},
+  {0xad73, 0xe792bc},
+  {0xad74, 0xe792bd},
+  {0xad75, 0xe792be},
+  {0xad76, 0xe792bf},
+  {0xad77, 0xe79380},
+  {0xad78, 0xe79381},
+  {0xad79, 0xe79382},
+  {0xad7a, 0xe79383},
+  {0xad7b, 0xe79384},
+  {0xad7c, 0xe79385},
+  {0xad7d, 0xe79386},
+  {0xad7e, 0xe79387},
+  {0xad80, 0xe79388},
+  {0xad81, 0xe79389},
+  {0xad82, 0xe7938a},
+  {0xad83, 0xe7938b},
+  {0xad84, 0xe7938c},
+  {0xad85, 0xe7938d},
+  {0xad86, 0xe7938e},
+  {0xad87, 0xe7938f},
+  {0xad88, 0xe79390},
+  {0xad89, 0xe79391},
+  {0xad8a, 0xe79393},
+  {0xad8b, 0xe79394},
+  {0xad8c, 0xe79395},
+  {0xad8d, 0xe79396},
+  {0xad8e, 0xe79397},
+  {0xad8f, 0xe79398},
+  {0xad90, 0xe79399},
+  {0xad91, 0xe7939a},
+  {0xad92, 0xe7939b},
+  {0xad93, 0xe7939d},
+  {0xad94, 0xe7939f},
+  {0xad95, 0xe793a1},
+  {0xad96, 0xe793a5},
+  {0xad97, 0xe793a7},
+  {0xad98, 0xe793a8},
+  {0xad99, 0xe793a9},
+  {0xad9a, 0xe793aa},
+  {0xad9b, 0xe793ab},
+  {0xad9c, 0xe793ac},
+  {0xad9d, 0xe793ad},
+  {0xad9e, 0xe793b0},
+  {0xad9f, 0xe793b1},
+  {0xada0, 0xe793b2},
+  {0xada1, 0xee849a},
+  {0xada2, 0xee849b},
+  {0xada3, 0xee849c},
+  {0xada4, 0xee849d},
+  {0xada5, 0xee849e},
+  {0xada6, 0xee849f},
+  {0xada7, 0xee84a0},
+  {0xada8, 0xee84a1},
+  {0xada9, 0xee84a2},
+  {0xadaa, 0xee84a3},
+  {0xadab, 0xee84a4},
+  {0xadac, 0xee84a5},
+  {0xadad, 0xee84a6},
+  {0xadae, 0xee84a7},
+  {0xadaf, 0xee84a8},
+  {0xadb0, 0xee84a9},
+  {0xadb1, 0xee84aa},
+  {0xadb2, 0xee84ab},
+  {0xadb3, 0xee84ac},
+  {0xadb4, 0xee84ad},
+  {0xadb5, 0xee84ae},
+  {0xadb6, 0xee84af},
+  {0xadb7, 0xee84b0},
+  {0xadb8, 0xee84b1},
+  {0xadb9, 0xee84b2},
+  {0xadba, 0xee84b3},
+  {0xadbb, 0xee84b4},
+  {0xadbc, 0xee84b5},
+  {0xadbd, 0xee84b6},
+  {0xadbe, 0xee84b7},
+  {0xadbf, 0xee84b8},
+  {0xadc0, 0xee84b9},
+  {0xadc1, 0xee84ba},
+  {0xadc2, 0xee84bb},
+  {0xadc3, 0xee84bc},
+  {0xadc4, 0xee84bd},
+  {0xadc5, 0xee84be},
+  {0xadc6, 0xee84bf},
+  {0xadc7, 0xee8580},
+  {0xadc8, 0xee8581},
+  {0xadc9, 0xee8582},
+  {0xadca, 0xee8583},
+  {0xadcb, 0xee8584},
+  {0xadcc, 0xee8585},
+  {0xadcd, 0xee8586},
+  {0xadce, 0xee8587},
+  {0xadcf, 0xee8588},
+  {0xadd0, 0xee8589},
+  {0xadd1, 0xee858a},
+  {0xadd2, 0xee858b},
+  {0xadd3, 0xee858c},
+  {0xadd4, 0xee858d},
+  {0xadd5, 0xee858e},
+  {0xadd6, 0xee858f},
+  {0xadd7, 0xee8590},
+  {0xadd8, 0xee8591},
+  {0xadd9, 0xee8592},
+  {0xadda, 0xee8593},
+  {0xaddb, 0xee8594},
+  {0xaddc, 0xee8595},
+  {0xaddd, 0xee8596},
+  {0xadde, 0xee8597},
+  {0xaddf, 0xee8598},
+  {0xade0, 0xee8599},
+  {0xade1, 0xee859a},
+  {0xade2, 0xee859b},
+  {0xade3, 0xee859c},
+  {0xade4, 0xee859d},
+  {0xade5, 0xee859e},
+  {0xade6, 0xee859f},
+  {0xade7, 0xee85a0},
+  {0xade8, 0xee85a1},
+  {0xade9, 0xee85a2},
+  {0xadea, 0xee85a3},
+  {0xadeb, 0xee85a4},
+  {0xadec, 0xee85a5},
+  {0xaded, 0xee85a6},
+  {0xadee, 0xee85a7},
+  {0xadef, 0xee85a8},
+  {0xadf0, 0xee85a9},
+  {0xadf1, 0xee85aa},
+  {0xadf2, 0xee85ab},
+  {0xadf3, 0xee85ac},
+  {0xadf4, 0xee85ad},
+  {0xadf5, 0xee85ae},
+  {0xadf6, 0xee85af},
+  {0xadf7, 0xee85b0},
+  {0xadf8, 0xee85b1},
+  {0xadf9, 0xee85b2},
+  {0xadfa, 0xee85b3},
+  {0xadfb, 0xee85b4},
+  {0xadfc, 0xee85b5},
+  {0xadfd, 0xee85b6},
+  {0xadfe, 0xee85b7},
+  {0xae40, 0xe793b3},
+  {0xae41, 0xe793b5},
+  {0xae42, 0xe793b8},
+  {0xae43, 0xe793b9},
+  {0xae44, 0xe793ba},
+  {0xae45, 0xe793bb},
+  {0xae46, 0xe793bc},
+  {0xae47, 0xe793bd},
+  {0xae48, 0xe793be},
+  {0xae49, 0xe79480},
+  {0xae4a, 0xe79481},
+  {0xae4b, 0xe79482},
+  {0xae4c, 0xe79483},
+  {0xae4d, 0xe79485},
+  {0xae4e, 0xe79486},
+  {0xae4f, 0xe79487},
+  {0xae50, 0xe79488},
+  {0xae51, 0xe79489},
+  {0xae52, 0xe7948a},
+  {0xae53, 0xe7948b},
+  {0xae54, 0xe7948c},
+  {0xae55, 0xe7948e},
+  {0xae56, 0xe79490},
+  {0xae57, 0xe79492},
+  {0xae58, 0xe79494},
+  {0xae59, 0xe79495},
+  {0xae5a, 0xe79496},
+  {0xae5b, 0xe79497},
+  {0xae5c, 0xe7949b},
+  {0xae5d, 0xe7949d},
+  {0xae5e, 0xe7949e},
+  {0xae5f, 0xe794a0},
+  {0xae60, 0xe794a1},
+  {0xae61, 0xe794a2},
+  {0xae62, 0xe794a3},
+  {0xae63, 0xe794a4},
+  {0xae64, 0xe794a6},
+  {0xae65, 0xe794a7},
+  {0xae66, 0xe794aa},
+  {0xae67, 0xe794ae},
+  {0xae68, 0xe794b4},
+  {0xae69, 0xe794b6},
+  {0xae6a, 0xe794b9},
+  {0xae6b, 0xe794bc},
+  {0xae6c, 0xe794bd},
+  {0xae6d, 0xe794bf},
+  {0xae6e, 0xe79581},
+  {0xae6f, 0xe79582},
+  {0xae70, 0xe79583},
+  {0xae71, 0xe79584},
+  {0xae72, 0xe79586},
+  {0xae73, 0xe79587},
+  {0xae74, 0xe79589},
+  {0xae75, 0xe7958a},
+  {0xae76, 0xe7958d},
+  {0xae77, 0xe79590},
+  {0xae78, 0xe79591},
+  {0xae79, 0xe79592},
+  {0xae7a, 0xe79593},
+  {0xae7b, 0xe79595},
+  {0xae7c, 0xe79596},
+  {0xae7d, 0xe79597},
+  {0xae7e, 0xe79598},
+  {0xae80, 0xe7959d},
+  {0xae81, 0xe7959e},
+  {0xae82, 0xe7959f},
+  {0xae83, 0xe795a0},
+  {0xae84, 0xe795a1},
+  {0xae85, 0xe795a2},
+  {0xae86, 0xe795a3},
+  {0xae87, 0xe795a4},
+  {0xae88, 0xe795a7},
+  {0xae89, 0xe795a8},
+  {0xae8a, 0xe795a9},
+  {0xae8b, 0xe795ab},
+  {0xae8c, 0xe795ac},
+  {0xae8d, 0xe795ad},
+  {0xae8e, 0xe795ae},
+  {0xae8f, 0xe795af},
+  {0xae90, 0xe795b0},
+  {0xae91, 0xe795b1},
+  {0xae92, 0xe795b3},
+  {0xae93, 0xe795b5},
+  {0xae94, 0xe795b6},
+  {0xae95, 0xe795b7},
+  {0xae96, 0xe795ba},
+  {0xae97, 0xe795bb},
+  {0xae98, 0xe795bc},
+  {0xae99, 0xe795bd},
+  {0xae9a, 0xe795be},
+  {0xae9b, 0xe79680},
+  {0xae9c, 0xe79681},
+  {0xae9d, 0xe79682},
+  {0xae9e, 0xe79684},
+  {0xae9f, 0xe79685},
+  {0xaea0, 0xe79687},
+  {0xaea1, 0xee85b8},
+  {0xaea2, 0xee85b9},
+  {0xaea3, 0xee85ba},
+  {0xaea4, 0xee85bb},
+  {0xaea5, 0xee85bc},
+  {0xaea6, 0xee85bd},
+  {0xaea7, 0xee85be},
+  {0xaea8, 0xee85bf},
+  {0xaea9, 0xee8680},
+  {0xaeaa, 0xee8681},
+  {0xaeab, 0xee8682},
+  {0xaeac, 0xee8683},
+  {0xaead, 0xee8684},
+  {0xaeae, 0xee8685},
+  {0xaeaf, 0xee8686},
+  {0xaeb0, 0xee8687},
+  {0xaeb1, 0xee8688},
+  {0xaeb2, 0xee8689},
+  {0xaeb3, 0xee868a},
+  {0xaeb4, 0xee868b},
+  {0xaeb5, 0xee868c},
+  {0xaeb6, 0xee868d},
+  {0xaeb7, 0xee868e},
+  {0xaeb8, 0xee868f},
+  {0xaeb9, 0xee8690},
+  {0xaeba, 0xee8691},
+  {0xaebb, 0xee8692},
+  {0xaebc, 0xee8693},
+  {0xaebd, 0xee8694},
+  {0xaebe, 0xee8695},
+  {0xaebf, 0xee8696},
+  {0xaec0, 0xee8697},
+  {0xaec1, 0xee8698},
+  {0xaec2, 0xee8699},
+  {0xaec3, 0xee869a},
+  {0xaec4, 0xee869b},
+  {0xaec5, 0xee869c},
+  {0xaec6, 0xee869d},
+  {0xaec7, 0xee869e},
+  {0xaec8, 0xee869f},
+  {0xaec9, 0xee86a0},
+  {0xaeca, 0xee86a1},
+  {0xaecb, 0xee86a2},
+  {0xaecc, 0xee86a3},
+  {0xaecd, 0xee86a4},
+  {0xaece, 0xee86a5},
+  {0xaecf, 0xee86a6},
+  {0xaed0, 0xee86a7},
+  {0xaed1, 0xee86a8},
+  {0xaed2, 0xee86a9},
+  {0xaed3, 0xee86aa},
+  {0xaed4, 0xee86ab},
+  {0xaed5, 0xee86ac},
+  {0xaed6, 0xee86ad},
+  {0xaed7, 0xee86ae},
+  {0xaed8, 0xee86af},
+  {0xaed9, 0xee86b0},
+  {0xaeda, 0xee86b1},
+  {0xaedb, 0xee86b2},
+  {0xaedc, 0xee86b3},
+  {0xaedd, 0xee86b4},
+  {0xaede, 0xee86b5},
+  {0xaedf, 0xee86b6},
+  {0xaee0, 0xee86b7},
+  {0xaee1, 0xee86b8},
+  {0xaee2, 0xee86b9},
+  {0xaee3, 0xee86ba},
+  {0xaee4, 0xee86bb},
+  {0xaee5, 0xee86bc},
+  {0xaee6, 0xee86bd},
+  {0xaee7, 0xee86be},
+  {0xaee8, 0xee86bf},
+  {0xaee9, 0xee8780},
+  {0xaeea, 0xee8781},
+  {0xaeeb, 0xee8782},
+  {0xaeec, 0xee8783},
+  {0xaeed, 0xee8784},
+  {0xaeee, 0xee8785},
+  {0xaeef, 0xee8786},
+  {0xaef0, 0xee8787},
+  {0xaef1, 0xee8788},
+  {0xaef2, 0xee8789},
+  {0xaef3, 0xee878a},
+  {0xaef4, 0xee878b},
+  {0xaef5, 0xee878c},
+  {0xaef6, 0xee878d},
+  {0xaef7, 0xee878e},
+  {0xaef8, 0xee878f},
+  {0xaef9, 0xee8790},
+  {0xaefa, 0xee8791},
+  {0xaefb, 0xee8792},
+  {0xaefc, 0xee8793},
+  {0xaefd, 0xee8794},
+  {0xaefe, 0xee8795},
+  {0xaf40, 0xe79688},
+  {0xaf41, 0xe79689},
+  {0xaf42, 0xe7968a},
+  {0xaf43, 0xe7968c},
+  {0xaf44, 0xe7968d},
+  {0xaf45, 0xe7968e},
+  {0xaf46, 0xe79690},
+  {0xaf47, 0xe79693},
+  {0xaf48, 0xe79695},
+  {0xaf49, 0xe79698},
+  {0xaf4a, 0xe7969b},
+  {0xaf4b, 0xe7969c},
+  {0xaf4c, 0xe7969e},
+  {0xaf4d, 0xe796a2},
+  {0xaf4e, 0xe796a6},
+  {0xaf4f, 0xe796a7},
+  {0xaf50, 0xe796a8},
+  {0xaf51, 0xe796a9},
+  {0xaf52, 0xe796aa},
+  {0xaf53, 0xe796ad},
+  {0xaf54, 0xe796b6},
+  {0xaf55, 0xe796b7},
+  {0xaf56, 0xe796ba},
+  {0xaf57, 0xe796bb},
+  {0xaf58, 0xe796bf},
+  {0xaf59, 0xe79780},
+  {0xaf5a, 0xe79781},
+  {0xaf5b, 0xe79786},
+  {0xaf5c, 0xe7978b},
+  {0xaf5d, 0xe7978c},
+  {0xaf5e, 0xe7978e},
+  {0xaf5f, 0xe7978f},
+  {0xaf60, 0xe79790},
+  {0xaf61, 0xe79791},
+  {0xaf62, 0xe79793},
+  {0xaf63, 0xe79797},
+  {0xaf64, 0xe79799},
+  {0xaf65, 0xe7979a},
+  {0xaf66, 0xe7979c},
+  {0xaf67, 0xe7979d},
+  {0xaf68, 0xe7979f},
+  {0xaf69, 0xe797a0},
+  {0xaf6a, 0xe797a1},
+  {0xaf6b, 0xe797a5},
+  {0xaf6c, 0xe797a9},
+  {0xaf6d, 0xe797ac},
+  {0xaf6e, 0xe797ad},
+  {0xaf6f, 0xe797ae},
+  {0xaf70, 0xe797af},
+  {0xaf71, 0xe797b2},
+  {0xaf72, 0xe797b3},
+  {0xaf73, 0xe797b5},
+  {0xaf74, 0xe797b6},
+  {0xaf75, 0xe797b7},
+  {0xaf76, 0xe797b8},
+  {0xaf77, 0xe797ba},
+  {0xaf78, 0xe797bb},
+  {0xaf79, 0xe797bd},
+  {0xaf7a, 0xe797be},
+  {0xaf7b, 0xe79882},
+  {0xaf7c, 0xe79884},
+  {0xaf7d, 0xe79886},
+  {0xaf7e, 0xe79887},
+  {0xaf80, 0xe79888},
+  {0xaf81, 0xe79889},
+  {0xaf82, 0xe7988b},
+  {0xaf83, 0xe7988d},
+  {0xaf84, 0xe7988e},
+  {0xaf85, 0xe7988f},
+  {0xaf86, 0xe79891},
+  {0xaf87, 0xe79892},
+  {0xaf88, 0xe79893},
+  {0xaf89, 0xe79894},
+  {0xaf8a, 0xe79896},
+  {0xaf8b, 0xe7989a},
+  {0xaf8c, 0xe7989c},
+  {0xaf8d, 0xe7989d},
+  {0xaf8e, 0xe7989e},
+  {0xaf8f, 0xe798a1},
+  {0xaf90, 0xe798a3},
+  {0xaf91, 0xe798a7},
+  {0xaf92, 0xe798a8},
+  {0xaf93, 0xe798ac},
+  {0xaf94, 0xe798ae},
+  {0xaf95, 0xe798af},
+  {0xaf96, 0xe798b1},
+  {0xaf97, 0xe798b2},
+  {0xaf98, 0xe798b6},
+  {0xaf99, 0xe798b7},
+  {0xaf9a, 0xe798b9},
+  {0xaf9b, 0xe798ba},
+  {0xaf9c, 0xe798bb},
+  {0xaf9d, 0xe798bd},
+  {0xaf9e, 0xe79981},
+  {0xaf9f, 0xe79982},
+  {0xafa0, 0xe79984},
+  {0xafa1, 0xee8796},
+  {0xafa2, 0xee8797},
+  {0xafa3, 0xee8798},
+  {0xafa4, 0xee8799},
+  {0xafa5, 0xee879a},
+  {0xafa6, 0xee879b},
+  {0xafa7, 0xee879c},
+  {0xafa8, 0xee879d},
+  {0xafa9, 0xee879e},
+  {0xafaa, 0xee879f},
+  {0xafab, 0xee87a0},
+  {0xafac, 0xee87a1},
+  {0xafad, 0xee87a2},
+  {0xafae, 0xee87a3},
+  {0xafaf, 0xee87a4},
+  {0xafb0, 0xee87a5},
+  {0xafb1, 0xee87a6},
+  {0xafb2, 0xee87a7},
+  {0xafb3, 0xee87a8},
+  {0xafb4, 0xee87a9},
+  {0xafb5, 0xee87aa},
+  {0xafb6, 0xee87ab},
+  {0xafb7, 0xee87ac},
+  {0xafb8, 0xee87ad},
+  {0xafb9, 0xee87ae},
+  {0xafba, 0xee87af},
+  {0xafbb, 0xee87b0},
+  {0xafbc, 0xee87b1},
+  {0xafbd, 0xee87b2},
+  {0xafbe, 0xee87b3},
+  {0xafbf, 0xee87b4},
+  {0xafc0, 0xee87b5},
+  {0xafc1, 0xee87b6},
+  {0xafc2, 0xee87b7},
+  {0xafc3, 0xee87b8},
+  {0xafc4, 0xee87b9},
+  {0xafc5, 0xee87ba},
+  {0xafc6, 0xee87bb},
+  {0xafc7, 0xee87bc},
+  {0xafc8, 0xee87bd},
+  {0xafc9, 0xee87be},
+  {0xafca, 0xee87bf},
+  {0xafcb, 0xee8880},
+  {0xafcc, 0xee8881},
+  {0xafcd, 0xee8882},
+  {0xafce, 0xee8883},
+  {0xafcf, 0xee8884},
+  {0xafd0, 0xee8885},
+  {0xafd1, 0xee8886},
+  {0xafd2, 0xee8887},
+  {0xafd3, 0xee8888},
+  {0xafd4, 0xee8889},
+  {0xafd5, 0xee888a},
+  {0xafd6, 0xee888b},
+  {0xafd7, 0xee888c},
+  {0xafd8, 0xee888d},
+  {0xafd9, 0xee888e},
+  {0xafda, 0xee888f},
+  {0xafdb, 0xee8890},
+  {0xafdc, 0xee8891},
+  {0xafdd, 0xee8892},
+  {0xafde, 0xee8893},
+  {0xafdf, 0xee8894},
+  {0xafe0, 0xee8895},
+  {0xafe1, 0xee8896},
+  {0xafe2, 0xee8897},
+  {0xafe3, 0xee8898},
+  {0xafe4, 0xee8899},
+  {0xafe5, 0xee889a},
+  {0xafe6, 0xee889b},
+  {0xafe7, 0xee889c},
+  {0xafe8, 0xee889d},
+  {0xafe9, 0xee889e},
+  {0xafea, 0xee889f},
+  {0xafeb, 0xee88a0},
+  {0xafec, 0xee88a1},
+  {0xafed, 0xee88a2},
+  {0xafee, 0xee88a3},
+  {0xafef, 0xee88a4},
+  {0xaff0, 0xee88a5},
+  {0xaff1, 0xee88a6},
+  {0xaff2, 0xee88a7},
+  {0xaff3, 0xee88a8},
+  {0xaff4, 0xee88a9},
+  {0xaff5, 0xee88aa},
+  {0xaff6, 0xee88ab},
+  {0xaff7, 0xee88ac},
+  {0xaff8, 0xee88ad},
+  {0xaff9, 0xee88ae},
+  {0xaffa, 0xee88af},
+  {0xaffb, 0xee88b0},
+  {0xaffc, 0xee88b1},
+  {0xaffd, 0xee88b2},
+  {0xaffe, 0xee88b3},
+  {0xb040, 0xe79985},
+  {0xb041, 0xe79986},
+  {0xb042, 0xe79987},
+  {0xb043, 0xe79988},
+  {0xb044, 0xe79989},
+  {0xb045, 0xe7998a},
+  {0xb046, 0xe7998b},
+  {0xb047, 0xe7998e},
+  {0xb048, 0xe7998f},
+  {0xb049, 0xe79990},
+  {0xb04a, 0xe79991},
+  {0xb04b, 0xe79992},
+  {0xb04c, 0xe79993},
+  {0xb04d, 0xe79995},
+  {0xb04e, 0xe79997},
+  {0xb04f, 0xe79998},
+  {0xb050, 0xe79999},
+  {0xb051, 0xe7999a},
+  {0xb052, 0xe7999b},
+  {0xb053, 0xe7999d},
+  {0xb054, 0xe7999f},
+  {0xb055, 0xe799a0},
+  {0xb056, 0xe799a1},
+  {0xb057, 0xe799a2},
+  {0xb058, 0xe799a4},
+  {0xb059, 0xe799a5},
+  {0xb05a, 0xe799a6},
+  {0xb05b, 0xe799a7},
+  {0xb05c, 0xe799a8},
+  {0xb05d, 0xe799a9},
+  {0xb05e, 0xe799aa},
+  {0xb05f, 0xe799ac},
+  {0xb060, 0xe799ad},
+  {0xb061, 0xe799ae},
+  {0xb062, 0xe799b0},
+  {0xb063, 0xe799b1},
+  {0xb064, 0xe799b2},
+  {0xb065, 0xe799b3},
+  {0xb066, 0xe799b4},
+  {0xb067, 0xe799b5},
+  {0xb068, 0xe799b6},
+  {0xb069, 0xe799b7},
+  {0xb06a, 0xe799b9},
+  {0xb06b, 0xe799ba},
+  {0xb06c, 0xe799bc},
+  {0xb06d, 0xe799bf},
+  {0xb06e, 0xe79a80},
+  {0xb06f, 0xe79a81},
+  {0xb070, 0xe79a83},
+  {0xb071, 0xe79a85},
+  {0xb072, 0xe79a89},
+  {0xb073, 0xe79a8a},
+  {0xb074, 0xe79a8c},
+  {0xb075, 0xe79a8d},
+  {0xb076, 0xe79a8f},
+  {0xb077, 0xe79a90},
+  {0xb078, 0xe79a92},
+  {0xb079, 0xe79a94},
+  {0xb07a, 0xe79a95},
+  {0xb07b, 0xe79a97},
+  {0xb07c, 0xe79a98},
+  {0xb07d, 0xe79a9a},
+  {0xb07e, 0xe79a9b},
+  {0xb080, 0xe79a9c},
+  {0xb081, 0xe79a9d},
+  {0xb082, 0xe79a9e},
+  {0xb083, 0xe79a9f},
+  {0xb084, 0xe79aa0},
+  {0xb085, 0xe79aa1},
+  {0xb086, 0xe79aa2},
+  {0xb087, 0xe79aa3},
+  {0xb088, 0xe79aa5},
+  {0xb089, 0xe79aa6},
+  {0xb08a, 0xe79aa7},
+  {0xb08b, 0xe79aa8},
+  {0xb08c, 0xe79aa9},
+  {0xb08d, 0xe79aaa},
+  {0xb08e, 0xe79aab},
+  {0xb08f, 0xe79aac},
+  {0xb090, 0xe79aad},
+  {0xb091, 0xe79aaf},
+  {0xb092, 0xe79ab0},
+  {0xb093, 0xe79ab3},
+  {0xb094, 0xe79ab5},
+  {0xb095, 0xe79ab6},
+  {0xb096, 0xe79ab7},
+  {0xb097, 0xe79ab8},
+  {0xb098, 0xe79ab9},
+  {0xb099, 0xe79aba},
+  {0xb09a, 0xe79abb},
+  {0xb09b, 0xe79abc},
+  {0xb09c, 0xe79abd},
+  {0xb09d, 0xe79abe},
+  {0xb09e, 0xe79b80},
+  {0xb09f, 0xe79b81},
+  {0xb0a0, 0xe79b83},
+  {0xb0a1, 0xe5958a},
+  {0xb0a2, 0xe998bf},
+  {0xb0a3, 0xe59f83},
+  {0xb0a4, 0xe68ca8},
+  {0xb0a5, 0xe5938e},
+  {0xb0a6, 0xe59489},
+  {0xb0a7, 0xe59380},
+  {0xb0a8, 0xe79a91},
+  {0xb0a9, 0xe7998c},
+  {0xb0aa, 0xe894bc},
+  {0xb0ab, 0xe79fae},
+  {0xb0ac, 0xe889be},
+  {0xb0ad, 0xe7a28d},
+  {0xb0ae, 0xe788b1},
+  {0xb0af, 0xe99a98},
+  {0xb0b0, 0xe99e8d},
+  {0xb0b1, 0xe6b0a8},
+  {0xb0b2, 0xe5ae89},
+  {0xb0b3, 0xe4bfba},
+  {0xb0b4, 0xe68c89},
+  {0xb0b5, 0xe69a97},
+  {0xb0b6, 0xe5b2b8},
+  {0xb0b7, 0xe883ba},
+  {0xb0b8, 0xe6a188},
+  {0xb0b9, 0xe882ae},
+  {0xb0ba, 0xe69882},
+  {0xb0bb, 0xe79b8e},
+  {0xb0bc, 0xe587b9},
+  {0xb0bd, 0xe69596},
+  {0xb0be, 0xe786ac},
+  {0xb0bf, 0xe7bfb1},
+  {0xb0c0, 0xe8a284},
+  {0xb0c1, 0xe582b2},
+  {0xb0c2, 0xe5a5a5},
+  {0xb0c3, 0xe6878a},
+  {0xb0c4, 0xe6beb3},
+  {0xb0c5, 0xe88aad},
+  {0xb0c6, 0xe68d8c},
+  {0xb0c7, 0xe68992},
+  {0xb0c8, 0xe58fad},
+  {0xb0c9, 0xe590a7},
+  {0xb0ca, 0xe7ac86},
+  {0xb0cb, 0xe585ab},
+  {0xb0cc, 0xe796a4},
+  {0xb0cd, 0xe5b7b4},
+  {0xb0ce, 0xe68b94},
+  {0xb0cf, 0xe8b78b},
+  {0xb0d0, 0xe99db6},
+  {0xb0d1, 0xe68a8a},
+  {0xb0d2, 0xe88099},
+  {0xb0d3, 0xe59d9d},
+  {0xb0d4, 0xe99cb8},
+  {0xb0d5, 0xe7bda2},
+  {0xb0d6, 0xe788b8},
+  {0xb0d7, 0xe799bd},
+  {0xb0d8, 0xe69f8f},
+  {0xb0d9, 0xe799be},
+  {0xb0da, 0xe69186},
+  {0xb0db, 0xe4bdb0},
+  {0xb0dc, 0xe8b4a5},
+  {0xb0dd, 0xe68b9c},
+  {0xb0de, 0xe7a897},
+  {0xb0df, 0xe69691},
+  {0xb0e0, 0xe78fad},
+  {0xb0e1, 0xe690ac},
+  {0xb0e2, 0xe689b3},
+  {0xb0e3, 0xe888ac},
+  {0xb0e4, 0xe9a281},
+  {0xb0e5, 0xe69dbf},
+  {0xb0e6, 0xe78988},
+  {0xb0e7, 0xe689ae},
+  {0xb0e8, 0xe68b8c},
+  {0xb0e9, 0xe4bcb4},
+  {0xb0ea, 0xe793a3},
+  {0xb0eb, 0xe58d8a},
+  {0xb0ec, 0xe58a9e},
+  {0xb0ed, 0xe7bb8a},
+  {0xb0ee, 0xe982a6},
+  {0xb0ef, 0xe5b8ae},
+  {0xb0f0, 0xe6a286},
+  {0xb0f1, 0xe6a69c},
+  {0xb0f2, 0xe88680},
+  {0xb0f3, 0xe7bb91},
+  {0xb0f4, 0xe6a392},
+  {0xb0f5, 0xe7a385},
+  {0xb0f6, 0xe89a8c},
+  {0xb0f7, 0xe99591},
+  {0xb0f8, 0xe5828d},
+  {0xb0f9, 0xe8b0a4},
+  {0xb0fa, 0xe88b9e},
+  {0xb0fb, 0xe8839e},
+  {0xb0fc, 0xe58c85},
+  {0xb0fd, 0xe8a492},
+  {0xb0fe, 0xe589a5},
+  {0xb140, 0xe79b84},
+  {0xb141, 0xe79b87},
+  {0xb142, 0xe79b89},
+  {0xb143, 0xe79b8b},
+  {0xb144, 0xe79b8c},
+  {0xb145, 0xe79b93},
+  {0xb146, 0xe79b95},
+  {0xb147, 0xe79b99},
+  {0xb148, 0xe79b9a},
+  {0xb149, 0xe79b9c},
+  {0xb14a, 0xe79b9d},
+  {0xb14b, 0xe79b9e},
+  {0xb14c, 0xe79ba0},
+  {0xb14d, 0xe79ba1},
+  {0xb14e, 0xe79ba2},
+  {0xb14f, 0xe79ba3},
+  {0xb150, 0xe79ba4},
+  {0xb151, 0xe79ba6},
+  {0xb152, 0xe79ba7},
+  {0xb153, 0xe79ba8},
+  {0xb154, 0xe79ba9},
+  {0xb155, 0xe79baa},
+  {0xb156, 0xe79bab},
+  {0xb157, 0xe79bac},
+  {0xb158, 0xe79bad},
+  {0xb159, 0xe79bb0},
+  {0xb15a, 0xe79bb3},
+  {0xb15b, 0xe79bb5},
+  {0xb15c, 0xe79bb6},
+  {0xb15d, 0xe79bb7},
+  {0xb15e, 0xe79bba},
+  {0xb15f, 0xe79bbb},
+  {0xb160, 0xe79bbd},
+  {0xb161, 0xe79bbf},
+  {0xb162, 0xe79c80},
+  {0xb163, 0xe79c82},
+  {0xb164, 0xe79c83},
+  {0xb165, 0xe79c85},
+  {0xb166, 0xe79c86},
+  {0xb167, 0xe79c8a},
+  {0xb168, 0xe79c8c},
+  {0xb169, 0xe79c8e},
+  {0xb16a, 0xe79c8f},
+  {0xb16b, 0xe79c90},
+  {0xb16c, 0xe79c91},
+  {0xb16d, 0xe79c92},
+  {0xb16e, 0xe79c93},
+  {0xb16f, 0xe79c94},
+  {0xb170, 0xe79c95},
+  {0xb171, 0xe79c96},
+  {0xb172, 0xe79c97},
+  {0xb173, 0xe79c98},
+  {0xb174, 0xe79c9b},
+  {0xb175, 0xe79c9c},
+  {0xb176, 0xe79c9d},
+  {0xb177, 0xe79c9e},
+  {0xb178, 0xe79ca1},
+  {0xb179, 0xe79ca3},
+  {0xb17a, 0xe79ca4},
+  {0xb17b, 0xe79ca5},
+  {0xb17c, 0xe79ca7},
+  {0xb17d, 0xe79caa},
+  {0xb17e, 0xe79cab},
+  {0xb180, 0xe79cac},
+  {0xb181, 0xe79cae},
+  {0xb182, 0xe79cb0},
+  {0xb183, 0xe79cb1},
+  {0xb184, 0xe79cb2},
+  {0xb185, 0xe79cb3},
+  {0xb186, 0xe79cb4},
+  {0xb187, 0xe79cb9},
+  {0xb188, 0xe79cbb},
+  {0xb189, 0xe79cbd},
+  {0xb18a, 0xe79cbe},
+  {0xb18b, 0xe79cbf},
+  {0xb18c, 0xe79d82},
+  {0xb18d, 0xe79d84},
+  {0xb18e, 0xe79d85},
+  {0xb18f, 0xe79d86},
+  {0xb190, 0xe79d88},
+  {0xb191, 0xe79d89},
+  {0xb192, 0xe79d8a},
+  {0xb193, 0xe79d8b},
+  {0xb194, 0xe79d8c},
+  {0xb195, 0xe79d8d},
+  {0xb196, 0xe79d8e},
+  {0xb197, 0xe79d8f},
+  {0xb198, 0xe79d92},
+  {0xb199, 0xe79d93},
+  {0xb19a, 0xe79d94},
+  {0xb19b, 0xe79d95},
+  {0xb19c, 0xe79d96},
+  {0xb19d, 0xe79d97},
+  {0xb19e, 0xe79d98},
+  {0xb19f, 0xe79d99},
+  {0xb1a0, 0xe79d9c},
+  {0xb1a1, 0xe89684},
+  {0xb1a2, 0xe99bb9},
+  {0xb1a3, 0xe4bf9d},
+  {0xb1a4, 0xe5a0a1},
+  {0xb1a5, 0xe9a5b1},
+  {0xb1a6, 0xe5ae9d},
+  {0xb1a7, 0xe68ab1},
+  {0xb1a8, 0xe68aa5},
+  {0xb1a9, 0xe69ab4},
+  {0xb1aa, 0xe8b1b9},
+  {0xb1ab, 0xe9b28d},
+  {0xb1ac, 0xe78886},
+  {0xb1ad, 0xe69daf},
+  {0xb1ae, 0xe7a291},
+  {0xb1af, 0xe682b2},
+  {0xb1b0, 0xe58d91},
+  {0xb1b1, 0xe58c97},
+  {0xb1b2, 0xe8be88},
+  {0xb1b3, 0xe8838c},
+  {0xb1b4, 0xe8b49d},
+  {0xb1b5, 0xe992a1},
+  {0xb1b6, 0xe5808d},
+  {0xb1b7, 0xe78b88},
+  {0xb1b8, 0xe5a487},
+  {0xb1b9, 0xe683ab},
+  {0xb1ba, 0xe78499},
+  {0xb1bb, 0xe8a2ab},
+  {0xb1bc, 0xe5a594},
+  {0xb1bd, 0xe88baf},
+  {0xb1be, 0xe69cac},
+  {0xb1bf, 0xe7aca8},
+  {0xb1c0, 0xe5b4a9},
+  {0xb1c1, 0xe7bbb7},
+  {0xb1c2, 0xe794ad},
+  {0xb1c3, 0xe6b3b5},
+  {0xb1c4, 0xe8b9a6},
+  {0xb1c5, 0xe8bfb8},
+  {0xb1c6, 0xe980bc},
+  {0xb1c7, 0xe9bcbb},
+  {0xb1c8, 0xe6af94},
+  {0xb1c9, 0xe98499},
+  {0xb1ca, 0xe7ac94},
+  {0xb1cb, 0xe5bdbc},
+  {0xb1cc, 0xe7a2a7},
+  {0xb1cd, 0xe89396},
+  {0xb1ce, 0xe894bd},
+  {0xb1cf, 0xe6af95},
+  {0xb1d0, 0xe6af99},
+  {0xb1d1, 0xe6af96},
+  {0xb1d2, 0xe5b881},
+  {0xb1d3, 0xe5ba87},
+  {0xb1d4, 0xe797b9},
+  {0xb1d5, 0xe997ad},
+  {0xb1d6, 0xe6959d},
+  {0xb1d7, 0xe5bc8a},
+  {0xb1d8, 0xe5bf85},
+  {0xb1d9, 0xe8be9f},
+  {0xb1da, 0xe5a381},
+  {0xb1db, 0xe88782},
+  {0xb1dc, 0xe981bf},
+  {0xb1dd, 0xe9999b},
+  {0xb1de, 0xe99ead},
+  {0xb1df, 0xe8beb9},
+  {0xb1e0, 0xe7bc96},
+  {0xb1e1, 0xe8b4ac},
+  {0xb1e2, 0xe68981},
+  {0xb1e3, 0xe4bebf},
+  {0xb1e4, 0xe58f98},
+  {0xb1e5, 0xe58d9e},
+  {0xb1e6, 0xe8bea8},
+  {0xb1e7, 0xe8bea9},
+  {0xb1e8, 0xe8beab},
+  {0xb1e9, 0xe9818d},
+  {0xb1ea, 0xe6a087},
+  {0xb1eb, 0xe5bdaa},
+  {0xb1ec, 0xe88698},
+  {0xb1ed, 0xe8a1a8},
+  {0xb1ee, 0xe9b396},
+  {0xb1ef, 0xe6868b},
+  {0xb1f0, 0xe588ab},
+  {0xb1f1, 0xe798aa},
+  {0xb1f2, 0xe5bdac},
+  {0xb1f3, 0xe6968c},
+  {0xb1f4, 0xe6bf92},
+  {0xb1f5, 0xe6bba8},
+  {0xb1f6, 0xe5aebe},
+  {0xb1f7, 0xe69188},
+  {0xb1f8, 0xe585b5},
+  {0xb1f9, 0xe586b0},
+  {0xb1fa, 0xe69f84},
+  {0xb1fb, 0xe4b899},
+  {0xb1fc, 0xe7a789},
+  {0xb1fd, 0xe9a5bc},
+  {0xb1fe, 0xe782b3},
+  {0xb240, 0xe79d9d},
+  {0xb241, 0xe79d9e},
+  {0xb242, 0xe79d9f},
+  {0xb243, 0xe79da0},
+  {0xb244, 0xe79da4},
+  {0xb245, 0xe79da7},
+  {0xb246, 0xe79da9},
+  {0xb247, 0xe79daa},
+  {0xb248, 0xe79dad},
+  {0xb249, 0xe79dae},
+  {0xb24a, 0xe79daf},
+  {0xb24b, 0xe79db0},
+  {0xb24c, 0xe79db1},
+  {0xb24d, 0xe79db2},
+  {0xb24e, 0xe79db3},
+  {0xb24f, 0xe79db4},
+  {0xb250, 0xe79db5},
+  {0xb251, 0xe79db6},
+  {0xb252, 0xe79db7},
+  {0xb253, 0xe79db8},
+  {0xb254, 0xe79dba},
+  {0xb255, 0xe79dbb},
+  {0xb256, 0xe79dbc},
+  {0xb257, 0xe79e81},
+  {0xb258, 0xe79e82},
+  {0xb259, 0xe79e83},
+  {0xb25a, 0xe79e86},
+  {0xb25b, 0xe79e87},
+  {0xb25c, 0xe79e88},
+  {0xb25d, 0xe79e89},
+  {0xb25e, 0xe79e8a},
+  {0xb25f, 0xe79e8b},
+  {0xb260, 0xe79e8f},
+  {0xb261, 0xe79e90},
+  {0xb262, 0xe79e93},
+  {0xb263, 0xe79e94},
+  {0xb264, 0xe79e95},
+  {0xb265, 0xe79e96},
+  {0xb266, 0xe79e97},
+  {0xb267, 0xe79e98},
+  {0xb268, 0xe79e99},
+  {0xb269, 0xe79e9a},
+  {0xb26a, 0xe79e9b},
+  {0xb26b, 0xe79e9c},
+  {0xb26c, 0xe79e9d},
+  {0xb26d, 0xe79e9e},
+  {0xb26e, 0xe79ea1},
+  {0xb26f, 0xe79ea3},
+  {0xb270, 0xe79ea4},
+  {0xb271, 0xe79ea6},
+  {0xb272, 0xe79ea8},
+  {0xb273, 0xe79eab},
+  {0xb274, 0xe79ead},
+  {0xb275, 0xe79eae},
+  {0xb276, 0xe79eaf},
+  {0xb277, 0xe79eb1},
+  {0xb278, 0xe79eb2},
+  {0xb279, 0xe79eb4},
+  {0xb27a, 0xe79eb6},
+  {0xb27b, 0xe79eb7},
+  {0xb27c, 0xe79eb8},
+  {0xb27d, 0xe79eb9},
+  {0xb27e, 0xe79eba},
+  {0xb280, 0xe79ebc},
+  {0xb281, 0xe79ebe},
+  {0xb282, 0xe79f80},
+  {0xb283, 0xe79f81},
+  {0xb284, 0xe79f82},
+  {0xb285, 0xe79f83},
+  {0xb286, 0xe79f84},
+  {0xb287, 0xe79f85},
+  {0xb288, 0xe79f86},
+  {0xb289, 0xe79f87},
+  {0xb28a, 0xe79f88},
+  {0xb28b, 0xe79f89},
+  {0xb28c, 0xe79f8a},
+  {0xb28d, 0xe79f8b},
+  {0xb28e, 0xe79f8c},
+  {0xb28f, 0xe79f8e},
+  {0xb290, 0xe79f8f},
+  {0xb291, 0xe79f90},
+  {0xb292, 0xe79f91},
+  {0xb293, 0xe79f92},
+  {0xb294, 0xe79f93},
+  {0xb295, 0xe79f94},
+  {0xb296, 0xe79f95},
+  {0xb297, 0xe79f96},
+  {0xb298, 0xe79f98},
+  {0xb299, 0xe79f99},
+  {0xb29a, 0xe79f9a},
+  {0xb29b, 0xe79f9d},
+  {0xb29c, 0xe79f9e},
+  {0xb29d, 0xe79f9f},
+  {0xb29e, 0xe79fa0},
+  {0xb29f, 0xe79fa1},
+  {0xb2a0, 0xe79fa4},
+  {0xb2a1, 0xe79785},
+  {0xb2a2, 0xe5b9b6},
+  {0xb2a3, 0xe78ebb},
+  {0xb2a4, 0xe88fa0},
+  {0xb2a5, 0xe692ad},
+  {0xb2a6, 0xe68ba8},
+  {0xb2a7, 0xe992b5},
+  {0xb2a8, 0xe6b3a2},
+  {0xb2a9, 0xe58d9a},
+  {0xb2aa, 0xe58b83},
+  {0xb2ab, 0xe6908f},
+  {0xb2ac, 0xe99382},
+  {0xb2ad, 0xe7ae94},
+  {0xb2ae, 0xe4bcaf},
+  {0xb2af, 0xe5b89b},
+  {0xb2b0, 0xe888b6},
+  {0xb2b1, 0xe88496},
+  {0xb2b2, 0xe8868a},
+  {0xb2b3, 0xe6b8a4},
+  {0xb2b4, 0xe6b38a},
+  {0xb2b5, 0xe9a9b3},
+  {0xb2b6, 0xe68d95},
+  {0xb2b7, 0xe58d9c},
+  {0xb2b8, 0xe593ba},
+  {0xb2b9, 0xe8a1a5},
+  {0xb2ba, 0xe59fa0},
+  {0xb2bb, 0xe4b88d},
+  {0xb2bc, 0xe5b883},
+  {0xb2bd, 0xe6ada5},
+  {0xb2be, 0xe7b0bf},
+  {0xb2bf, 0xe983a8},
+  {0xb2c0, 0xe68096},
+  {0xb2c1, 0xe693a6},
+  {0xb2c2, 0xe78c9c},
+  {0xb2c3, 0xe8a381},
+  {0xb2c4, 0xe69d90},
+  {0xb2c5, 0xe6898d},
+  {0xb2c6, 0xe8b4a2},
+  {0xb2c7, 0xe79dac},
+  {0xb2c8, 0xe8b8a9},
+  {0xb2c9, 0xe98787},
+  {0xb2ca, 0xe5bda9},
+  {0xb2cb, 0xe88f9c},
+  {0xb2cc, 0xe894a1},
+  {0xb2cd, 0xe9a490},
+  {0xb2ce, 0xe58f82},
+  {0xb2cf, 0xe89a95},
+  {0xb2d0, 0xe6ae8b},
+  {0xb2d1, 0xe683ad},
+  {0xb2d2, 0xe683a8},
+  {0xb2d3, 0xe781bf},
+  {0xb2d4, 0xe88b8d},
+  {0xb2d5, 0xe888b1},
+  {0xb2d6, 0xe4bb93},
+  {0xb2d7, 0xe6b2a7},
+  {0xb2d8, 0xe8978f},
+  {0xb2d9, 0xe6938d},
+  {0xb2da, 0xe7b399},
+  {0xb2db, 0xe6a7bd},
+  {0xb2dc, 0xe69bb9},
+  {0xb2dd, 0xe88d89},
+  {0xb2de, 0xe58e95},
+  {0xb2df, 0xe7ad96},
+  {0xb2e0, 0xe4bea7},
+  {0xb2e1, 0xe5868c},
+  {0xb2e2, 0xe6b58b},
+  {0xb2e3, 0xe5b182},
+  {0xb2e4, 0xe8b9ad},
+  {0xb2e5, 0xe68f92},
+  {0xb2e6, 0xe58f89},
+  {0xb2e7, 0xe88cac},
+  {0xb2e8, 0xe88cb6},
+  {0xb2e9, 0xe69fa5},
+  {0xb2ea, 0xe7a2b4},
+  {0xb2eb, 0xe690bd},
+  {0xb2ec, 0xe5af9f},
+  {0xb2ed, 0xe5b294},
+  {0xb2ee, 0xe5b7ae},
+  {0xb2ef, 0xe8afa7},
+  {0xb2f0, 0xe68b86},
+  {0xb2f1, 0xe69fb4},
+  {0xb2f2, 0xe8b1ba},
+  {0xb2f3, 0xe69080},
+  {0xb2f4, 0xe68eba},
+  {0xb2f5, 0xe89d89},
+  {0xb2f6, 0xe9a68b},
+  {0xb2f7, 0xe8b097},
+  {0xb2f8, 0xe7bca0},
+  {0xb2f9, 0xe993b2},
+  {0xb2fa, 0xe4baa7},
+  {0xb2fb, 0xe99890},
+  {0xb2fc, 0xe9a2a4},
+  {0xb2fd, 0xe6988c},
+  {0xb2fe, 0xe78c96},
+  {0xb340, 0xe79fa6},
+  {0xb341, 0xe79fa8},
+  {0xb342, 0xe79faa},
+  {0xb343, 0xe79faf},
+  {0xb344, 0xe79fb0},
+  {0xb345, 0xe79fb1},
+  {0xb346, 0xe79fb2},
+  {0xb347, 0xe79fb4},
+  {0xb348, 0xe79fb5},
+  {0xb349, 0xe79fb7},
+  {0xb34a, 0xe79fb9},
+  {0xb34b, 0xe79fba},
+  {0xb34c, 0xe79fbb},
+  {0xb34d, 0xe79fbc},
+  {0xb34e, 0xe7a083},
+  {0xb34f, 0xe7a084},
+  {0xb350, 0xe7a085},
+  {0xb351, 0xe7a086},
+  {0xb352, 0xe7a087},
+  {0xb353, 0xe7a088},
+  {0xb354, 0xe7a08a},
+  {0xb355, 0xe7a08b},
+  {0xb356, 0xe7a08e},
+  {0xb357, 0xe7a08f},
+  {0xb358, 0xe7a090},
+  {0xb359, 0xe7a093},
+  {0xb35a, 0xe7a095},
+  {0xb35b, 0xe7a099},
+  {0xb35c, 0xe7a09b},
+  {0xb35d, 0xe7a09e},
+  {0xb35e, 0xe7a0a0},
+  {0xb35f, 0xe7a0a1},
+  {0xb360, 0xe7a0a2},
+  {0xb361, 0xe7a0a4},
+  {0xb362, 0xe7a0a8},
+  {0xb363, 0xe7a0aa},
+  {0xb364, 0xe7a0ab},
+  {0xb365, 0xe7a0ae},
+  {0xb366, 0xe7a0af},
+  {0xb367, 0xe7a0b1},
+  {0xb368, 0xe7a0b2},
+  {0xb369, 0xe7a0b3},
+  {0xb36a, 0xe7a0b5},
+  {0xb36b, 0xe7a0b6},
+  {0xb36c, 0xe7a0bd},
+  {0xb36d, 0xe7a0bf},
+  {0xb36e, 0xe7a181},
+  {0xb36f, 0xe7a182},
+  {0xb370, 0xe7a183},
+  {0xb371, 0xe7a184},
+  {0xb372, 0xe7a186},
+  {0xb373, 0xe7a188},
+  {0xb374, 0xe7a189},
+  {0xb375, 0xe7a18a},
+  {0xb376, 0xe7a18b},
+  {0xb377, 0xe7a18d},
+  {0xb378, 0xe7a18f},
+  {0xb379, 0xe7a191},
+  {0xb37a, 0xe7a193},
+  {0xb37b, 0xe7a194},
+  {0xb37c, 0xe7a198},
+  {0xb37d, 0xe7a199},
+  {0xb37e, 0xe7a19a},
+  {0xb380, 0xe7a19b},
+  {0xb381, 0xe7a19c},
+  {0xb382, 0xe7a19e},
+  {0xb383, 0xe7a19f},
+  {0xb384, 0xe7a1a0},
+  {0xb385, 0xe7a1a1},
+  {0xb386, 0xe7a1a2},
+  {0xb387, 0xe7a1a3},
+  {0xb388, 0xe7a1a4},
+  {0xb389, 0xe7a1a5},
+  {0xb38a, 0xe7a1a6},
+  {0xb38b, 0xe7a1a7},
+  {0xb38c, 0xe7a1a8},
+  {0xb38d, 0xe7a1a9},
+  {0xb38e, 0xe7a1af},
+  {0xb38f, 0xe7a1b0},
+  {0xb390, 0xe7a1b1},
+  {0xb391, 0xe7a1b2},
+  {0xb392, 0xe7a1b3},
+  {0xb393, 0xe7a1b4},
+  {0xb394, 0xe7a1b5},
+  {0xb395, 0xe7a1b6},
+  {0xb396, 0xe7a1b8},
+  {0xb397, 0xe7a1b9},
+  {0xb398, 0xe7a1ba},
+  {0xb399, 0xe7a1bb},
+  {0xb39a, 0xe7a1bd},
+  {0xb39b, 0xe7a1be},
+  {0xb39c, 0xe7a1bf},
+  {0xb39d, 0xe7a280},
+  {0xb39e, 0xe7a281},
+  {0xb39f, 0xe7a282},
+  {0xb3a0, 0xe7a283},
+  {0xb3a1, 0xe59cba},
+  {0xb3a2, 0xe5b09d},
+  {0xb3a3, 0xe5b8b8},
+  {0xb3a4, 0xe995bf},
+  {0xb3a5, 0xe581bf},
+  {0xb3a6, 0xe882a0},
+  {0xb3a7, 0xe58e82},
+  {0xb3a8, 0xe6959e},
+  {0xb3a9, 0xe79585},
+  {0xb3aa, 0xe594b1},
+  {0xb3ab, 0xe580a1},
+  {0xb3ac, 0xe8b685},
+  {0xb3ad, 0xe68a84},
+  {0xb3ae, 0xe9929e},
+  {0xb3af, 0xe69c9d},
+  {0xb3b0, 0xe598b2},
+  {0xb3b1, 0xe6bdae},
+  {0xb3b2, 0xe5b7a2},
+  {0xb3b3, 0xe590b5},
+  {0xb3b4, 0xe78292},
+  {0xb3b5, 0xe8bda6},
+  {0xb3b6, 0xe689af},
+  {0xb3b7, 0xe692a4},
+  {0xb3b8, 0xe68ea3},
+  {0xb3b9, 0xe5bdbb},
+  {0xb3ba, 0xe6be88},
+  {0xb3bb, 0xe983b4},
+  {0xb3bc, 0xe887a3},
+  {0xb3bd, 0xe8beb0},
+  {0xb3be, 0xe5b098},
+  {0xb3bf, 0xe699a8},
+  {0xb3c0, 0xe5bfb1},
+  {0xb3c1, 0xe6b289},
+  {0xb3c2, 0xe99988},
+  {0xb3c3, 0xe8b681},
+  {0xb3c4, 0xe8a1ac},
+  {0xb3c5, 0xe69291},
+  {0xb3c6, 0xe7a7b0},
+  {0xb3c7, 0xe59f8e},
+  {0xb3c8, 0xe6a999},
+  {0xb3c9, 0xe68890},
+  {0xb3ca, 0xe59188},
+  {0xb3cb, 0xe4b998},
+  {0xb3cc, 0xe7a88b},
+  {0xb3cd, 0xe683a9},
+  {0xb3ce, 0xe6be84},
+  {0xb3cf, 0xe8af9a},
+  {0xb3d0, 0xe689bf},
+  {0xb3d1, 0xe9809e},
+  {0xb3d2, 0xe9aa8b},
+  {0xb3d3, 0xe7a7a4},
+  {0xb3d4, 0xe59083},
+  {0xb3d5, 0xe797b4},
+  {0xb3d6, 0xe68c81},
+  {0xb3d7, 0xe58c99},
+  {0xb3d8, 0xe6b1a0},
+  {0xb3d9, 0xe8bf9f},
+  {0xb3da, 0xe5bc9b},
+  {0xb3db, 0xe9a9b0},
+  {0xb3dc, 0xe880bb},
+  {0xb3dd, 0xe9bdbf},
+  {0xb3de, 0xe4be88},
+  {0xb3df, 0xe5b0ba},
+  {0xb3e0, 0xe8b5a4},
+  {0xb3e1, 0xe7bf85},
+  {0xb3e2, 0xe696a5},
+  {0xb3e3, 0xe782bd},
+  {0xb3e4, 0xe58585},
+  {0xb3e5, 0xe586b2},
+  {0xb3e6, 0xe899ab},
+  {0xb3e7, 0xe5b487},
+  {0xb3e8, 0xe5aea0},
+  {0xb3e9, 0xe68abd},
+  {0xb3ea, 0xe985ac},
+  {0xb3eb, 0xe795b4},
+  {0xb3ec, 0xe8b88c},
+  {0xb3ed, 0xe7a8a0},
+  {0xb3ee, 0xe68481},
+  {0xb3ef, 0xe7adb9},
+  {0xb3f0, 0xe4bb87},
+  {0xb3f1, 0xe7bbb8},
+  {0xb3f2, 0xe79e85},
+  {0xb3f3, 0xe4b891},
+  {0xb3f4, 0xe887ad},
+  {0xb3f5, 0xe5889d},
+  {0xb3f6, 0xe587ba},
+  {0xb3f7, 0xe6a9b1},
+  {0xb3f8, 0xe58ea8},
+  {0xb3f9, 0xe8ba87},
+  {0xb3fa, 0xe99484},
+  {0xb3fb, 0xe99b8f},
+  {0xb3fc, 0xe6bb81},
+  {0xb3fd, 0xe999a4},
+  {0xb3fe, 0xe6a59a},
+  {0xb440, 0xe7a284},
+  {0xb441, 0xe7a285},
+  {0xb442, 0xe7a286},
+  {0xb443, 0xe7a288},
+  {0xb444, 0xe7a28a},
+  {0xb445, 0xe7a28b},
+  {0xb446, 0xe7a28f},
+  {0xb447, 0xe7a290},
+  {0xb448, 0xe7a292},
+  {0xb449, 0xe7a294},
+  {0xb44a, 0xe7a295},
+  {0xb44b, 0xe7a296},
+  {0xb44c, 0xe7a299},
+  {0xb44d, 0xe7a29d},
+  {0xb44e, 0xe7a29e},
+  {0xb44f, 0xe7a2a0},
+  {0xb450, 0xe7a2a2},
+  {0xb451, 0xe7a2a4},
+  {0xb452, 0xe7a2a6},
+  {0xb453, 0xe7a2a8},
+  {0xb454, 0xe7a2a9},
+  {0xb455, 0xe7a2aa},
+  {0xb456, 0xe7a2ab},
+  {0xb457, 0xe7a2ac},
+  {0xb458, 0xe7a2ad},
+  {0xb459, 0xe7a2ae},
+  {0xb45a, 0xe7a2af},
+  {0xb45b, 0xe7a2b5},
+  {0xb45c, 0xe7a2b6},
+  {0xb45d, 0xe7a2b7},
+  {0xb45e, 0xe7a2b8},
+  {0xb45f, 0xe7a2ba},
+  {0xb460, 0xe7a2bb},
+  {0xb461, 0xe7a2bc},
+  {0xb462, 0xe7a2bd},
+  {0xb463, 0xe7a2bf},
+  {0xb464, 0xe7a380},
+  {0xb465, 0xe7a382},
+  {0xb466, 0xe7a383},
+  {0xb467, 0xe7a384},
+  {0xb468, 0xe7a386},
+  {0xb469, 0xe7a387},
+  {0xb46a, 0xe7a388},
+  {0xb46b, 0xe7a38c},
+  {0xb46c, 0xe7a38d},
+  {0xb46d, 0xe7a38e},
+  {0xb46e, 0xe7a38f},
+  {0xb46f, 0xe7a391},
+  {0xb470, 0xe7a392},
+  {0xb471, 0xe7a393},
+  {0xb472, 0xe7a396},
+  {0xb473, 0xe7a397},
+  {0xb474, 0xe7a398},
+  {0xb475, 0xe7a39a},
+  {0xb476, 0xe7a39b},
+  {0xb477, 0xe7a39c},
+  {0xb478, 0xe7a39d},
+  {0xb479, 0xe7a39e},
+  {0xb47a, 0xe7a39f},
+  {0xb47b, 0xe7a3a0},
+  {0xb47c, 0xe7a3a1},
+  {0xb47d, 0xe7a3a2},
+  {0xb47e, 0xe7a3a3},
+  {0xb480, 0xe7a3a4},
+  {0xb481, 0xe7a3a5},
+  {0xb482, 0xe7a3a6},
+  {0xb483, 0xe7a3a7},
+  {0xb484, 0xe7a3a9},
+  {0xb485, 0xe7a3aa},
+  {0xb486, 0xe7a3ab},
+  {0xb487, 0xe7a3ad},
+  {0xb488, 0xe7a3ae},
+  {0xb489, 0xe7a3af},
+  {0xb48a, 0xe7a3b0},
+  {0xb48b, 0xe7a3b1},
+  {0xb48c, 0xe7a3b3},
+  {0xb48d, 0xe7a3b5},
+  {0xb48e, 0xe7a3b6},
+  {0xb48f, 0xe7a3b8},
+  {0xb490, 0xe7a3b9},
+  {0xb491, 0xe7a3bb},
+  {0xb492, 0xe7a3bc},
+  {0xb493, 0xe7a3bd},
+  {0xb494, 0xe7a3be},
+  {0xb495, 0xe7a3bf},
+  {0xb496, 0xe7a480},
+  {0xb497, 0xe7a482},
+  {0xb498, 0xe7a483},
+  {0xb499, 0xe7a484},
+  {0xb49a, 0xe7a486},
+  {0xb49b, 0xe7a487},
+  {0xb49c, 0xe7a488},
+  {0xb49d, 0xe7a489},
+  {0xb49e, 0xe7a48a},
+  {0xb49f, 0xe7a48b},
+  {0xb4a0, 0xe7a48c},
+  {0xb4a1, 0xe7a180},
+  {0xb4a2, 0xe582a8},
+  {0xb4a3, 0xe79f97},
+  {0xb4a4, 0xe69090},
+  {0xb4a5, 0xe8a7a6},
+  {0xb4a6, 0xe5a484},
+  {0xb4a7, 0xe68fa3},
+  {0xb4a8, 0xe5b79d},
+  {0xb4a9, 0xe7a9bf},
+  {0xb4aa, 0xe6a4bd},
+  {0xb4ab, 0xe4bca0},
+  {0xb4ac, 0xe888b9},
+  {0xb4ad, 0xe59698},
+  {0xb4ae, 0xe4b8b2},
+  {0xb4af, 0xe796ae},
+  {0xb4b0, 0xe7aa97},
+  {0xb4b1, 0xe5b9a2},
+  {0xb4b2, 0xe5ba8a},
+  {0xb4b3, 0xe997af},
+  {0xb4b4, 0xe5889b},
+  {0xb4b5, 0xe590b9},
+  {0xb4b6, 0xe7828a},
+  {0xb4b7, 0xe68db6},
+  {0xb4b8, 0xe994a4},
+  {0xb4b9, 0xe59e82},
+  {0xb4ba, 0xe698a5},
+  {0xb4bb, 0xe6a4bf},
+  {0xb4bc, 0xe98687},
+  {0xb4bd, 0xe59487},
+  {0xb4be, 0xe6b7b3},
+  {0xb4bf, 0xe7baaf},
+  {0xb4c0, 0xe8a0a2},
+  {0xb4c1, 0xe688b3},
+  {0xb4c2, 0xe7bbb0},
+  {0xb4c3, 0xe796b5},
+  {0xb4c4, 0xe88ca8},
+  {0xb4c5, 0xe7a381},
+  {0xb4c6, 0xe99b8c},
+  {0xb4c7, 0xe8be9e},
+  {0xb4c8, 0xe68588},
+  {0xb4c9, 0xe793b7},
+  {0xb4ca, 0xe8af8d},
+  {0xb4cb, 0xe6ada4},
+  {0xb4cc, 0xe588ba},
+  {0xb4cd, 0xe8b590},
+  {0xb4ce, 0xe6aca1},
+  {0xb4cf, 0xe881aa},
+  {0xb4d0, 0xe891b1},
+  {0xb4d1, 0xe59bb1},
+  {0xb4d2, 0xe58c86},
+  {0xb4d3, 0xe4bb8e},
+  {0xb4d4, 0xe4b89b},
+  {0xb4d5, 0xe58791},
+  {0xb4d6, 0xe7b297},
+  {0xb4d7, 0xe9868b},
+  {0xb4d8, 0xe7b087},
+  {0xb4d9, 0xe4bf83},
+  {0xb4da, 0xe8b9bf},
+  {0xb4db, 0xe7afa1},
+  {0xb4dc, 0xe7aa9c},
+  {0xb4dd, 0xe691a7},
+  {0xb4de, 0xe5b494},
+  {0xb4df, 0xe582ac},
+  {0xb4e0, 0xe88486},
+  {0xb4e1, 0xe79881},
+  {0xb4e2, 0xe7b2b9},
+  {0xb4e3, 0xe6b7ac},
+  {0xb4e4, 0xe7bfa0},
+  {0xb4e5, 0xe69d91},
+  {0xb4e6, 0xe5ad98},
+  {0xb4e7, 0xe5afb8},
+  {0xb4e8, 0xe7a38b},
+  {0xb4e9, 0xe692ae},
+  {0xb4ea, 0xe69093},
+  {0xb4eb, 0xe68eaa},
+  {0xb4ec, 0xe68cab},
+  {0xb4ed, 0xe99499},
+  {0xb4ee, 0xe690ad},
+  {0xb4ef, 0xe8bebe},
+  {0xb4f0, 0xe7ad94},
+  {0xb4f1, 0xe798a9},
+  {0xb4f2, 0xe68993},
+  {0xb4f3, 0xe5a4a7},
+  {0xb4f4, 0xe59186},
+  {0xb4f5, 0xe6adb9},
+  {0xb4f6, 0xe582a3},
+  {0xb4f7, 0xe688b4},
+  {0xb4f8, 0xe5b8a6},
+  {0xb4f9, 0xe6ae86},
+  {0xb4fa, 0xe4bba3},
+  {0xb4fb, 0xe8b4b7},
+  {0xb4fc, 0xe8a28b},
+  {0xb4fd, 0xe5be85},
+  {0xb4fe, 0xe980ae},
+  {0xb540, 0xe7a48d},
+  {0xb541, 0xe7a48e},
+  {0xb542, 0xe7a48f},
+  {0xb543, 0xe7a490},
+  {0xb544, 0xe7a491},
+  {0xb545, 0xe7a492},
+  {0xb546, 0xe7a494},
+  {0xb547, 0xe7a495},
+  {0xb548, 0xe7a496},
+  {0xb549, 0xe7a497},
+  {0xb54a, 0xe7a498},
+  {0xb54b, 0xe7a499},
+  {0xb54c, 0xe7a49a},
+  {0xb54d, 0xe7a49b},
+  {0xb54e, 0xe7a49c},
+  {0xb54f, 0xe7a49d},
+  {0xb550, 0xe7a49f},
+  {0xb551, 0xe7a4a0},
+  {0xb552, 0xe7a4a1},
+  {0xb553, 0xe7a4a2},
+  {0xb554, 0xe7a4a3},
+  {0xb555, 0xe7a4a5},
+  {0xb556, 0xe7a4a6},
+  {0xb557, 0xe7a4a7},
+  {0xb558, 0xe7a4a8},
+  {0xb559, 0xe7a4a9},
+  {0xb55a, 0xe7a4aa},
+  {0xb55b, 0xe7a4ab},
+  {0xb55c, 0xe7a4ac},
+  {0xb55d, 0xe7a4ad},
+  {0xb55e, 0xe7a4ae},
+  {0xb55f, 0xe7a4af},
+  {0xb560, 0xe7a4b0},
+  {0xb561, 0xe7a4b1},
+  {0xb562, 0xe7a4b2},
+  {0xb563, 0xe7a4b3},
+  {0xb564, 0xe7a4b5},
+  {0xb565, 0xe7a4b6},
+  {0xb566, 0xe7a4b7},
+  {0xb567, 0xe7a4b8},
+  {0xb568, 0xe7a4b9},
+  {0xb569, 0xe7a4bd},
+  {0xb56a, 0xe7a4bf},
+  {0xb56b, 0xe7a582},
+  {0xb56c, 0xe7a583},
+  {0xb56d, 0xe7a584},
+  {0xb56e, 0xe7a585},
+  {0xb56f, 0xe7a587},
+  {0xb570, 0xe7a58a},
+  {0xb571, 0xe7a58b},
+  {0xb572, 0xe7a58c},
+  {0xb573, 0xe7a58d},
+  {0xb574, 0xe7a58e},
+  {0xb575, 0xe7a58f},
+  {0xb576, 0xe7a590},
+  {0xb577, 0xe7a591},
+  {0xb578, 0xe7a592},
+  {0xb579, 0xe7a594},
+  {0xb57a, 0xe7a595},
+  {0xb57b, 0xe7a598},
+  {0xb57c, 0xe7a599},
+  {0xb57d, 0xe7a5a1},
+  {0xb57e, 0xe7a5a3},
+  {0xb580, 0xe7a5a4},
+  {0xb581, 0xe7a5a6},
+  {0xb582, 0xe7a5a9},
+  {0xb583, 0xe7a5aa},
+  {0xb584, 0xe7a5ab},
+  {0xb585, 0xe7a5ac},
+  {0xb586, 0xe7a5ae},
+  {0xb587, 0xe7a5b0},
+  {0xb588, 0xe7a5b1},
+  {0xb589, 0xe7a5b2},
+  {0xb58a, 0xe7a5b3},
+  {0xb58b, 0xe7a5b4},
+  {0xb58c, 0xe7a5b5},
+  {0xb58d, 0xe7a5b6},
+  {0xb58e, 0xe7a5b9},
+  {0xb58f, 0xe7a5bb},
+  {0xb590, 0xe7a5bc},
+  {0xb591, 0xe7a5bd},
+  {0xb592, 0xe7a5be},
+  {0xb593, 0xe7a5bf},
+  {0xb594, 0xe7a682},
+  {0xb595, 0xe7a683},
+  {0xb596, 0xe7a686},
+  {0xb597, 0xe7a687},
+  {0xb598, 0xe7a688},
+  {0xb599, 0xe7a689},
+  {0xb59a, 0xe7a68b},
+  {0xb59b, 0xe7a68c},
+  {0xb59c, 0xe7a68d},
+  {0xb59d, 0xe7a68e},
+  {0xb59e, 0xe7a690},
+  {0xb59f, 0xe7a691},
+  {0xb5a0, 0xe7a692},
+  {0xb5a1, 0xe680a0},
+  {0xb5a2, 0xe880bd},
+  {0xb5a3, 0xe68b85},
+  {0xb5a4, 0xe4b8b9},
+  {0xb5a5, 0xe58d95},
+  {0xb5a6, 0xe983b8},
+  {0xb5a7, 0xe68eb8},
+  {0xb5a8, 0xe88386},
+  {0xb5a9, 0xe697a6},
+  {0xb5aa, 0xe6b0ae},
+  {0xb5ab, 0xe4bd86},
+  {0xb5ac, 0xe683ae},
+  {0xb5ad, 0xe6b7a1},
+  {0xb5ae, 0xe8af9e},
+  {0xb5af, 0xe5bcb9},
+  {0xb5b0, 0xe89b8b},
+  {0xb5b1, 0xe5bd93},
+  {0xb5b2, 0xe68ca1},
+  {0xb5b3, 0xe5859a},
+  {0xb5b4, 0xe88da1},
+  {0xb5b5, 0xe6a1a3},
+  {0xb5b6, 0xe58880},
+  {0xb5b7, 0xe68da3},
+  {0xb5b8, 0xe8b988},
+  {0xb5b9, 0xe58092},
+  {0xb5ba, 0xe5b29b},
+  {0xb5bb, 0xe7a5b7},
+  {0xb5bc, 0xe5afbc},
+  {0xb5bd, 0xe588b0},
+  {0xb5be, 0xe7a8bb},
+  {0xb5bf, 0xe682bc},
+  {0xb5c0, 0xe98193},
+  {0xb5c1, 0xe79b97},
+  {0xb5c2, 0xe5beb7},
+  {0xb5c3, 0xe5be97},
+  {0xb5c4, 0xe79a84},
+  {0xb5c5, 0xe8b9ac},
+  {0xb5c6, 0xe781af},
+  {0xb5c7, 0xe799bb},
+  {0xb5c8, 0xe7ad89},
+  {0xb5c9, 0xe79eaa},
+  {0xb5ca, 0xe587b3},
+  {0xb5cb, 0xe98293},
+  {0xb5cc, 0xe5a0a4},
+  {0xb5cd, 0xe4bd8e},
+  {0xb5ce, 0xe6bbb4},
+  {0xb5cf, 0xe8bfaa},
+  {0xb5d0, 0xe6958c},
+  {0xb5d1, 0xe7ac9b},
+  {0xb5d2, 0xe78b84},
+  {0xb5d3, 0xe6b6a4},
+  {0xb5d4, 0xe7bf9f},
+  {0xb5d5, 0xe5aba1},
+  {0xb5d6, 0xe68ab5},
+  {0xb5d7, 0xe5ba95},
+  {0xb5d8, 0xe59cb0},
+  {0xb5d9, 0xe89282},
+  {0xb5da, 0xe7acac},
+  {0xb5db, 0xe5b89d},
+  {0xb5dc, 0xe5bc9f},
+  {0xb5dd, 0xe98092},
+  {0xb5de, 0xe7bc94},
+  {0xb5df, 0xe9a2a0},
+  {0xb5e0, 0xe68e82},
+  {0xb5e1, 0xe6bb87},
+  {0xb5e2, 0xe7a298},
+  {0xb5e3, 0xe782b9},
+  {0xb5e4, 0xe585b8},
+  {0xb5e5, 0xe99d9b},
+  {0xb5e6, 0xe59eab},
+  {0xb5e7, 0xe794b5},
+  {0xb5e8, 0xe4bd83},
+  {0xb5e9, 0xe794b8},
+  {0xb5ea, 0xe5ba97},
+  {0xb5eb, 0xe683a6},
+  {0xb5ec, 0xe5a5a0},
+  {0xb5ed, 0xe6b780},
+  {0xb5ee, 0xe6aebf},
+  {0xb5ef, 0xe7a289},
+  {0xb5f0, 0xe58fbc},
+  {0xb5f1, 0xe99b95},
+  {0xb5f2, 0xe5878b},
+  {0xb5f3, 0xe58881},
+  {0xb5f4, 0xe68e89},
+  {0xb5f5, 0xe5908a},
+  {0xb5f6, 0xe99293},
+  {0xb5f7, 0xe8b083},
+  {0xb5f8, 0xe8b78c},
+  {0xb5f9, 0xe788b9},
+  {0xb5fa, 0xe7a29f},
+  {0xb5fb, 0xe89db6},
+  {0xb5fc, 0xe8bfad},
+  {0xb5fd, 0xe8b08d},
+  {0xb5fe, 0xe58fa0},
+  {0xb640, 0xe7a693},
+  {0xb641, 0xe7a694},
+  {0xb642, 0xe7a695},
+  {0xb643, 0xe7a696},
+  {0xb644, 0xe7a697},
+  {0xb645, 0xe7a698},
+  {0xb646, 0xe7a699},
+  {0xb647, 0xe7a69b},
+  {0xb648, 0xe7a69c},
+  {0xb649, 0xe7a69d},
+  {0xb64a, 0xe7a69e},
+  {0xb64b, 0xe7a69f},
+  {0xb64c, 0xe7a6a0},
+  {0xb64d, 0xe7a6a1},
+  {0xb64e, 0xe7a6a2},
+  {0xb64f, 0xe7a6a3},
+  {0xb650, 0xe7a6a4},
+  {0xb651, 0xe7a6a5},
+  {0xb652, 0xe7a6a6},
+  {0xb653, 0xe7a6a8},
+  {0xb654, 0xe7a6a9},
+  {0xb655, 0xe7a6aa},
+  {0xb656, 0xe7a6ab},
+  {0xb657, 0xe7a6ac},
+  {0xb658, 0xe7a6ad},
+  {0xb659, 0xe7a6ae},
+  {0xb65a, 0xe7a6af},
+  {0xb65b, 0xe7a6b0},
+  {0xb65c, 0xe7a6b1},
+  {0xb65d, 0xe7a6b2},
+  {0xb65e, 0xe7a6b4},
+  {0xb65f, 0xe7a6b5},
+  {0xb660, 0xe7a6b6},
+  {0xb661, 0xe7a6b7},
+  {0xb662, 0xe7a6b8},
+  {0xb663, 0xe7a6bc},
+  {0xb664, 0xe7a6bf},
+  {0xb665, 0xe7a782},
+  {0xb666, 0xe7a784},
+  {0xb667, 0xe7a785},
+  {0xb668, 0xe7a787},
+  {0xb669, 0xe7a788},
+  {0xb66a, 0xe7a78a},
+  {0xb66b, 0xe7a78c},
+  {0xb66c, 0xe7a78e},
+  {0xb66d, 0xe7a78f},
+  {0xb66e, 0xe7a790},
+  {0xb66f, 0xe7a793},
+  {0xb670, 0xe7a794},
+  {0xb671, 0xe7a796},
+  {0xb672, 0xe7a797},
+  {0xb673, 0xe7a799},
+  {0xb674, 0xe7a79a},
+  {0xb675, 0xe7a79b},
+  {0xb676, 0xe7a79c},
+  {0xb677, 0xe7a79d},
+  {0xb678, 0xe7a79e},
+  {0xb679, 0xe7a7a0},
+  {0xb67a, 0xe7a7a1},
+  {0xb67b, 0xe7a7a2},
+  {0xb67c, 0xe7a7a5},
+  {0xb67d, 0xe7a7a8},
+  {0xb67e, 0xe7a7aa},
+  {0xb680, 0xe7a7ac},
+  {0xb681, 0xe7a7ae},
+  {0xb682, 0xe7a7b1},
+  {0xb683, 0xe7a7b2},
+  {0xb684, 0xe7a7b3},
+  {0xb685, 0xe7a7b4},
+  {0xb686, 0xe7a7b5},
+  {0xb687, 0xe7a7b6},
+  {0xb688, 0xe7a7b7},
+  {0xb689, 0xe7a7b9},
+  {0xb68a, 0xe7a7ba},
+  {0xb68b, 0xe7a7bc},
+  {0xb68c, 0xe7a7be},
+  {0xb68d, 0xe7a7bf},
+  {0xb68e, 0xe7a881},
+  {0xb68f, 0xe7a884},
+  {0xb690, 0xe7a885},
+  {0xb691, 0xe7a887},
+  {0xb692, 0xe7a888},
+  {0xb693, 0xe7a889},
+  {0xb694, 0xe7a88a},
+  {0xb695, 0xe7a88c},
+  {0xb696, 0xe7a88f},
+  {0xb697, 0xe7a890},
+  {0xb698, 0xe7a891},
+  {0xb699, 0xe7a892},
+  {0xb69a, 0xe7a893},
+  {0xb69b, 0xe7a895},
+  {0xb69c, 0xe7a896},
+  {0xb69d, 0xe7a898},
+  {0xb69e, 0xe7a899},
+  {0xb69f, 0xe7a89b},
+  {0xb6a0, 0xe7a89c},
+  {0xb6a1, 0xe4b881},
+  {0xb6a2, 0xe79baf},
+  {0xb6a3, 0xe58fae},
+  {0xb6a4, 0xe99289},
+  {0xb6a5, 0xe9a1b6},
+  {0xb6a6, 0xe9bc8e},
+  {0xb6a7, 0xe994ad},
+  {0xb6a8, 0xe5ae9a},
+  {0xb6a9, 0xe8aea2},
+  {0xb6aa, 0xe4b8a2},
+  {0xb6ab, 0xe4b89c},
+  {0xb6ac, 0xe586ac},
+  {0xb6ad, 0xe891a3},
+  {0xb6ae, 0xe68782},
+  {0xb6af, 0xe58aa8},
+  {0xb6b0, 0xe6a08b},
+  {0xb6b1, 0xe4be97},
+  {0xb6b2, 0xe681ab},
+  {0xb6b3, 0xe586bb},
+  {0xb6b4, 0xe6b49e},
+  {0xb6b5, 0xe5859c},
+  {0xb6b6, 0xe68a96},
+  {0xb6b7, 0xe69697},
+  {0xb6b8, 0xe999a1},
+  {0xb6b9, 0xe8b186},
+  {0xb6ba, 0xe98097},
+  {0xb6bb, 0xe79798},
+  {0xb6bc, 0xe983bd},
+  {0xb6bd, 0xe79da3},
+  {0xb6be, 0xe6af92},
+  {0xb6bf, 0xe78a8a},
+  {0xb6c0, 0xe78bac},
+  {0xb6c1, 0xe8afbb},
+  {0xb6c2, 0xe5a0b5},
+  {0xb6c3, 0xe79db9},
+  {0xb6c4, 0xe8b58c},
+  {0xb6c5, 0xe69d9c},
+  {0xb6c6, 0xe99580},
+  {0xb6c7, 0xe8829a},
+  {0xb6c8, 0xe5baa6},
+  {0xb6c9, 0xe6b8a1},
+  {0xb6ca, 0xe5a692},
+  {0xb6cb, 0xe7abaf},
+  {0xb6cc, 0xe79fad},
+  {0xb6cd, 0xe994bb},
+  {0xb6ce, 0xe6aeb5},
+  {0xb6cf, 0xe696ad},
+  {0xb6d0, 0xe7bc8e},
+  {0xb6d1, 0xe5a086},
+  {0xb6d2, 0xe58591},
+  {0xb6d3, 0xe9989f},
+  {0xb6d4, 0xe5afb9},
+  {0xb6d5, 0xe5a2a9},
+  {0xb6d6, 0xe590a8},
+  {0xb6d7, 0xe8b9b2},
+  {0xb6d8, 0xe695a6},
+  {0xb6d9, 0xe9a1bf},
+  {0xb6da, 0xe59ba4},
+  {0xb6db, 0xe9929d},
+  {0xb6dc, 0xe79bbe},
+  {0xb6dd, 0xe98181},
+  {0xb6de, 0xe68e87},
+  {0xb6df, 0xe59386},
+  {0xb6e0, 0xe5a49a},
+  {0xb6e1, 0xe5a4ba},
+  {0xb6e2, 0xe59e9b},
+  {0xb6e3, 0xe8bab2},
+  {0xb6e4, 0xe69cb5},
+  {0xb6e5, 0xe8b7ba},
+  {0xb6e6, 0xe888b5},
+  {0xb6e7, 0xe58981},
+  {0xb6e8, 0xe683b0},
+  {0xb6e9, 0xe5a095},
+  {0xb6ea, 0xe89bbe},
+  {0xb6eb, 0xe5b3a8},
+  {0xb6ec, 0xe9b985},
+  {0xb6ed, 0xe4bf84},
+  {0xb6ee, 0xe9a29d},
+  {0xb6ef, 0xe8aeb9},
+  {0xb6f0, 0xe5a8a5},
+  {0xb6f1, 0xe681b6},
+  {0xb6f2, 0xe58e84},
+  {0xb6f3, 0xe689bc},
+  {0xb6f4, 0xe9818f},
+  {0xb6f5, 0xe98482},
+  {0xb6f6, 0xe9a5bf},
+  {0xb6f7, 0xe681a9},
+  {0xb6f8, 0xe8808c},
+  {0xb6f9, 0xe584bf},
+  {0xb6fa, 0xe880b3},
+  {0xb6fb, 0xe5b094},
+  {0xb6fc, 0xe9a5b5},
+  {0xb6fd, 0xe6b4b1},
+  {0xb6fe, 0xe4ba8c},
+  {0xb740, 0xe7a89d},
+  {0xb741, 0xe7a89f},
+  {0xb742, 0xe7a8a1},
+  {0xb743, 0xe7a8a2},
+  {0xb744, 0xe7a8a4},
+  {0xb745, 0xe7a8a5},
+  {0xb746, 0xe7a8a6},
+  {0xb747, 0xe7a8a7},
+  {0xb748, 0xe7a8a8},
+  {0xb749, 0xe7a8a9},
+  {0xb74a, 0xe7a8aa},
+  {0xb74b, 0xe7a8ab},
+  {0xb74c, 0xe7a8ac},
+  {0xb74d, 0xe7a8ad},
+  {0xb74e, 0xe7a8ae},
+  {0xb74f, 0xe7a8af},
+  {0xb750, 0xe7a8b0},
+  {0xb751, 0xe7a8b1},
+  {0xb752, 0xe7a8b2},
+  {0xb753, 0xe7a8b4},
+  {0xb754, 0xe7a8b5},
+  {0xb755, 0xe7a8b6},
+  {0xb756, 0xe7a8b8},
+  {0xb757, 0xe7a8ba},
+  {0xb758, 0xe7a8be},
+  {0xb759, 0xe7a980},
+  {0xb75a, 0xe7a981},
+  {0xb75b, 0xe7a982},
+  {0xb75c, 0xe7a983},
+  {0xb75d, 0xe7a984},
+  {0xb75e, 0xe7a985},
+  {0xb75f, 0xe7a987},
+  {0xb760, 0xe7a988},
+  {0xb761, 0xe7a989},
+  {0xb762, 0xe7a98a},
+  {0xb763, 0xe7a98b},
+  {0xb764, 0xe7a98c},
+  {0xb765, 0xe7a98d},
+  {0xb766, 0xe7a98e},
+  {0xb767, 0xe7a98f},
+  {0xb768, 0xe7a990},
+  {0xb769, 0xe7a992},
+  {0xb76a, 0xe7a993},
+  {0xb76b, 0xe7a994},
+  {0xb76c, 0xe7a995},
+  {0xb76d, 0xe7a996},
+  {0xb76e, 0xe7a998},
+  {0xb76f, 0xe7a999},
+  {0xb770, 0xe7a99a},
+  {0xb771, 0xe7a99b},
+  {0xb772, 0xe7a99c},
+  {0xb773, 0xe7a99d},
+  {0xb774, 0xe7a99e},
+  {0xb775, 0xe7a99f},
+  {0xb776, 0xe7a9a0},
+  {0xb777, 0xe7a9a1},
+  {0xb778, 0xe7a9a2},
+  {0xb779, 0xe7a9a3},
+  {0xb77a, 0xe7a9a4},
+  {0xb77b, 0xe7a9a5},
+  {0xb77c, 0xe7a9a6},
+  {0xb77d, 0xe7a9a7},
+  {0xb77e, 0xe7a9a8},
+  {0xb780, 0xe7a9a9},
+  {0xb781, 0xe7a9aa},
+  {0xb782, 0xe7a9ab},
+  {0xb783, 0xe7a9ac},
+  {0xb784, 0xe7a9ad},
+  {0xb785, 0xe7a9ae},
+  {0xb786, 0xe7a9af},
+  {0xb787, 0xe7a9b1},
+  {0xb788, 0xe7a9b2},
+  {0xb789, 0xe7a9b3},
+  {0xb78a, 0xe7a9b5},
+  {0xb78b, 0xe7a9bb},
+  {0xb78c, 0xe7a9bc},
+  {0xb78d, 0xe7a9bd},
+  {0xb78e, 0xe7a9be},
+  {0xb78f, 0xe7aa82},
+  {0xb790, 0xe7aa85},
+  {0xb791, 0xe7aa87},
+  {0xb792, 0xe7aa89},
+  {0xb793, 0xe7aa8a},
+  {0xb794, 0xe7aa8b},
+  {0xb795, 0xe7aa8c},
+  {0xb796, 0xe7aa8e},
+  {0xb797, 0xe7aa8f},
+  {0xb798, 0xe7aa90},
+  {0xb799, 0xe7aa93},
+  {0xb79a, 0xe7aa94},
+  {0xb79b, 0xe7aa99},
+  {0xb79c, 0xe7aa9a},
+  {0xb79d, 0xe7aa9b},
+  {0xb79e, 0xe7aa9e},
+  {0xb79f, 0xe7aaa1},
+  {0xb7a0, 0xe7aaa2},
+  {0xb7a1, 0xe8b4b0},
+  {0xb7a2, 0xe58f91},
+  {0xb7a3, 0xe7bd9a},
+  {0xb7a4, 0xe7ad8f},
+  {0xb7a5, 0xe4bc90},
+  {0xb7a6, 0xe4b98f},
+  {0xb7a7, 0xe99880},
+  {0xb7a8, 0xe6b395},
+  {0xb7a9, 0xe78f90},
+  {0xb7aa, 0xe897a9},
+  {0xb7ab, 0xe5b886},
+  {0xb7ac, 0xe795aa},
+  {0xb7ad, 0xe7bfbb},
+  {0xb7ae, 0xe6a88a},
+  {0xb7af, 0xe79fbe},
+  {0xb7b0, 0xe99292},
+  {0xb7b1, 0xe7b981},
+  {0xb7b2, 0xe587a1},
+  {0xb7b3, 0xe783a6},
+  {0xb7b4, 0xe58f8d},
+  {0xb7b5, 0xe8bf94},
+  {0xb7b6, 0xe88c83},
+  {0xb7b7, 0xe8b4a9},
+  {0xb7b8, 0xe78aaf},
+  {0xb7b9, 0xe9a5ad},
+  {0xb7ba, 0xe6b39b},
+  {0xb7bb, 0xe59d8a},
+  {0xb7bc, 0xe88ab3},
+  {0xb7bd, 0xe696b9},
+  {0xb7be, 0xe882aa},
+  {0xb7bf, 0xe688bf},
+  {0xb7c0, 0xe998b2},
+  {0xb7c1, 0xe5a6a8},
+  {0xb7c2, 0xe4bbbf},
+  {0xb7c3, 0xe8aebf},
+  {0xb7c4, 0xe7baba},
+  {0xb7c5, 0xe694be},
+  {0xb7c6, 0xe88fb2},
+  {0xb7c7, 0xe99d9e},
+  {0xb7c8, 0xe595a1},
+  {0xb7c9, 0xe9a39e},
+  {0xb7ca, 0xe882a5},
+  {0xb7cb, 0xe58caa},
+  {0xb7cc, 0xe8afbd},
+  {0xb7cd, 0xe590a0},
+  {0xb7ce, 0xe882ba},
+  {0xb7cf, 0xe5ba9f},
+  {0xb7d0, 0xe6b2b8},
+  {0xb7d1, 0xe8b4b9},
+  {0xb7d2, 0xe88aac},
+  {0xb7d3, 0xe9859a},
+  {0xb7d4, 0xe590a9},
+  {0xb7d5, 0xe6b09b},
+  {0xb7d6, 0xe58886},
+  {0xb7d7, 0xe7bab7},
+  {0xb7d8, 0xe59d9f},
+  {0xb7d9, 0xe7849a},
+  {0xb7da, 0xe6b1be},
+  {0xb7db, 0xe7b289},
+  {0xb7dc, 0xe5a58b},
+  {0xb7dd, 0xe4bbbd},
+  {0xb7de, 0xe5bfbf},
+  {0xb7df, 0xe684a4},
+  {0xb7e0, 0xe7b2aa},
+  {0xb7e1, 0xe4b8b0},
+  {0xb7e2, 0xe5b081},
+  {0xb7e3, 0xe69eab},
+  {0xb7e4, 0xe89c82},
+  {0xb7e5, 0xe5b3b0},
+  {0xb7e6, 0xe9948b},
+  {0xb7e7, 0xe9a38e},
+  {0xb7e8, 0xe796af},
+  {0xb7e9, 0xe783bd},
+  {0xb7ea, 0xe980a2},
+  {0xb7eb, 0xe586af},
+  {0xb7ec, 0xe7bc9d},
+  {0xb7ed, 0xe8aebd},
+  {0xb7ee, 0xe5a589},
+  {0xb7ef, 0xe587a4},
+  {0xb7f0, 0xe4bd9b},
+  {0xb7f1, 0xe590a6},
+  {0xb7f2, 0xe5a4ab},
+  {0xb7f3, 0xe695b7},
+  {0xb7f4, 0xe882a4},
+  {0xb7f5, 0xe5adb5},
+  {0xb7f6, 0xe689b6},
+  {0xb7f7, 0xe68b82},
+  {0xb7f8, 0xe8be90},
+  {0xb7f9, 0xe5b985},
+  {0xb7fa, 0xe6b09f},
+  {0xb7fb, 0xe7aca6},
+  {0xb7fc, 0xe4bc8f},
+  {0xb7fd, 0xe4bf98},
+  {0xb7fe, 0xe69c8d},
+  {0xb840, 0xe7aaa3},
+  {0xb841, 0xe7aaa4},
+  {0xb842, 0xe7aaa7},
+  {0xb843, 0xe7aaa9},
+  {0xb844, 0xe7aaaa},
+  {0xb845, 0xe7aaab},
+  {0xb846, 0xe7aaae},
+  {0xb847, 0xe7aaaf},
+  {0xb848, 0xe7aab0},
+  {0xb849, 0xe7aab1},
+  {0xb84a, 0xe7aab2},
+  {0xb84b, 0xe7aab4},
+  {0xb84c, 0xe7aab5},
+  {0xb84d, 0xe7aab6},
+  {0xb84e, 0xe7aab7},
+  {0xb84f, 0xe7aab8},
+  {0xb850, 0xe7aab9},
+  {0xb851, 0xe7aaba},
+  {0xb852, 0xe7aabb},
+  {0xb853, 0xe7aabc},
+  {0xb854, 0xe7aabd},
+  {0xb855, 0xe7aabe},
+  {0xb856, 0xe7ab80},
+  {0xb857, 0xe7ab81},
+  {0xb858, 0xe7ab82},
+  {0xb859, 0xe7ab83},
+  {0xb85a, 0xe7ab84},
+  {0xb85b, 0xe7ab85},
+  {0xb85c, 0xe7ab86},
+  {0xb85d, 0xe7ab87},
+  {0xb85e, 0xe7ab88},
+  {0xb85f, 0xe7ab89},
+  {0xb860, 0xe7ab8a},
+  {0xb861, 0xe7ab8c},
+  {0xb862, 0xe7ab8d},
+  {0xb863, 0xe7ab8e},
+  {0xb864, 0xe7ab8f},
+  {0xb865, 0xe7ab90},
+  {0xb866, 0xe7ab91},
+  {0xb867, 0xe7ab92},
+  {0xb868, 0xe7ab93},
+  {0xb869, 0xe7ab94},
+  {0xb86a, 0xe7ab95},
+  {0xb86b, 0xe7ab97},
+  {0xb86c, 0xe7ab98},
+  {0xb86d, 0xe7ab9a},
+  {0xb86e, 0xe7ab9b},
+  {0xb86f, 0xe7ab9c},
+  {0xb870, 0xe7ab9d},
+  {0xb871, 0xe7aba1},
+  {0xb872, 0xe7aba2},
+  {0xb873, 0xe7aba4},
+  {0xb874, 0xe7aba7},
+  {0xb875, 0xe7aba8},
+  {0xb876, 0xe7aba9},
+  {0xb877, 0xe7abaa},
+  {0xb878, 0xe7abab},
+  {0xb879, 0xe7abac},
+  {0xb87a, 0xe7abae},
+  {0xb87b, 0xe7abb0},
+  {0xb87c, 0xe7abb1},
+  {0xb87d, 0xe7abb2},
+  {0xb87e, 0xe7abb3},
+  {0xb880, 0xe7abb4},
+  {0xb881, 0xe7abb5},
+  {0xb882, 0xe7abb6},
+  {0xb883, 0xe7abb7},
+  {0xb884, 0xe7abb8},
+  {0xb885, 0xe7abbb},
+  {0xb886, 0xe7abbc},
+  {0xb887, 0xe7abbe},
+  {0xb888, 0xe7ac80},
+  {0xb889, 0xe7ac81},
+  {0xb88a, 0xe7ac82},
+  {0xb88b, 0xe7ac85},
+  {0xb88c, 0xe7ac87},
+  {0xb88d, 0xe7ac89},
+  {0xb88e, 0xe7ac8c},
+  {0xb88f, 0xe7ac8d},
+  {0xb890, 0xe7ac8e},
+  {0xb891, 0xe7ac90},
+  {0xb892, 0xe7ac92},
+  {0xb893, 0xe7ac93},
+  {0xb894, 0xe7ac96},
+  {0xb895, 0xe7ac97},
+  {0xb896, 0xe7ac98},
+  {0xb897, 0xe7ac9a},
+  {0xb898, 0xe7ac9c},
+  {0xb899, 0xe7ac9d},
+  {0xb89a, 0xe7ac9f},
+  {0xb89b, 0xe7aca1},
+  {0xb89c, 0xe7aca2},
+  {0xb89d, 0xe7aca3},
+  {0xb89e, 0xe7aca7},
+  {0xb89f, 0xe7aca9},
+  {0xb8a0, 0xe7acad},
+  {0xb8a1, 0xe6b5ae},
+  {0xb8a2, 0xe6b6aa},
+  {0xb8a3, 0xe7a68f},
+  {0xb8a4, 0xe8a2b1},
+  {0xb8a5, 0xe5bc97},
+  {0xb8a6, 0xe794ab},
+  {0xb8a7, 0xe68a9a},
+  {0xb8a8, 0xe8be85},
+  {0xb8a9, 0xe4bfaf},
+  {0xb8aa, 0xe9879c},
+  {0xb8ab, 0xe696a7},
+  {0xb8ac, 0xe884af},
+  {0xb8ad, 0xe88591},
+  {0xb8ae, 0xe5ba9c},
+  {0xb8af, 0xe88590},
+  {0xb8b0, 0xe8b5b4},
+  {0xb8b1, 0xe589af},
+  {0xb8b2, 0xe8a686},
+  {0xb8b3, 0xe8b58b},
+  {0xb8b4, 0xe5a48d},
+  {0xb8b5, 0xe58285},
+  {0xb8b6, 0xe4bb98},
+  {0xb8b7, 0xe9989c},
+  {0xb8b8, 0xe788b6},
+  {0xb8b9, 0xe885b9},
+  {0xb8ba, 0xe8b49f},
+  {0xb8bb, 0xe5af8c},
+  {0xb8bc, 0xe8aea3},
+  {0xb8bd, 0xe99984},
+  {0xb8be, 0xe5a687},
+  {0xb8bf, 0xe7bc9a},
+  {0xb8c0, 0xe59290},
+  {0xb8c1, 0xe599b6},
+  {0xb8c2, 0xe5988e},
+  {0xb8c3, 0xe8afa5},
+  {0xb8c4, 0xe694b9},
+  {0xb8c5, 0xe6a682},
+  {0xb8c6, 0xe99299},
+  {0xb8c7, 0xe79b96},
+  {0xb8c8, 0xe6ba89},
+  {0xb8c9, 0xe5b9b2},
+  {0xb8ca, 0xe79498},
+  {0xb8cb, 0xe69d86},
+  {0xb8cc, 0xe69f91},
+  {0xb8cd, 0xe7abbf},
+  {0xb8ce, 0xe8829d},
+  {0xb8cf, 0xe8b5b6},
+  {0xb8d0, 0xe6849f},
+  {0xb8d1, 0xe7a786},
+  {0xb8d2, 0xe695a2},
+  {0xb8d3, 0xe8b5a3},
+  {0xb8d4, 0xe58688},
+  {0xb8d5, 0xe5889a},
+  {0xb8d6, 0xe992a2},
+  {0xb8d7, 0xe7bcb8},
+  {0xb8d8, 0xe8829b},
+  {0xb8d9, 0xe7bab2},
+  {0xb8da, 0xe5b297},
+  {0xb8db, 0xe6b8af},
+  {0xb8dc, 0xe69da0},
+  {0xb8dd, 0xe7af99},
+  {0xb8de, 0xe79a8b},
+  {0xb8df, 0xe9ab98},
+  {0xb8e0, 0xe8868f},
+  {0xb8e1, 0xe7be94},
+  {0xb8e2, 0xe7b395},
+  {0xb8e3, 0xe6909e},
+  {0xb8e4, 0xe99590},
+  {0xb8e5, 0xe7a8bf},
+  {0xb8e6, 0xe5918a},
+  {0xb8e7, 0xe593a5},
+  {0xb8e8, 0xe6ad8c},
+  {0xb8e9, 0xe69081},
+  {0xb8ea, 0xe68888},
+  {0xb8eb, 0xe9b8bd},
+  {0xb8ec, 0xe883b3},
+  {0xb8ed, 0xe79699},
+  {0xb8ee, 0xe589b2},
+  {0xb8ef, 0xe99da9},
+  {0xb8f0, 0xe8919b},
+  {0xb8f1, 0xe6a0bc},
+  {0xb8f2, 0xe89ba4},
+  {0xb8f3, 0xe99881},
+  {0xb8f4, 0xe99a94},
+  {0xb8f5, 0xe993ac},
+  {0xb8f6, 0xe4b8aa},
+  {0xb8f7, 0xe59084},
+  {0xb8f8, 0xe7bb99},
+  {0xb8f9, 0xe6a0b9},
+  {0xb8fa, 0xe8b79f},
+  {0xb8fb, 0xe88095},
+  {0xb8fc, 0xe69bb4},
+  {0xb8fd, 0xe5ba9a},
+  {0xb8fe, 0xe7beb9},
+  {0xb940, 0xe7acaf},
+  {0xb941, 0xe7acb0},
+  {0xb942, 0xe7acb2},
+  {0xb943, 0xe7acb4},
+  {0xb944, 0xe7acb5},
+  {0xb945, 0xe7acb6},
+  {0xb946, 0xe7acb7},
+  {0xb947, 0xe7acb9},
+  {0xb948, 0xe7acbb},
+  {0xb949, 0xe7acbd},
+  {0xb94a, 0xe7acbf},
+  {0xb94b, 0xe7ad80},
+  {0xb94c, 0xe7ad81},
+  {0xb94d, 0xe7ad82},
+  {0xb94e, 0xe7ad83},
+  {0xb94f, 0xe7ad84},
+  {0xb950, 0xe7ad86},
+  {0xb951, 0xe7ad88},
+  {0xb952, 0xe7ad8a},
+  {0xb953, 0xe7ad8d},
+  {0xb954, 0xe7ad8e},
+  {0xb955, 0xe7ad93},
+  {0xb956, 0xe7ad95},
+  {0xb957, 0xe7ad97},
+  {0xb958, 0xe7ad99},
+  {0xb959, 0xe7ad9c},
+  {0xb95a, 0xe7ad9e},
+  {0xb95b, 0xe7ad9f},
+  {0xb95c, 0xe7ada1},
+  {0xb95d, 0xe7ada3},
+  {0xb95e, 0xe7ada4},
+  {0xb95f, 0xe7ada5},
+  {0xb960, 0xe7ada6},
+  {0xb961, 0xe7ada7},
+  {0xb962, 0xe7ada8},
+  {0xb963, 0xe7ada9},
+  {0xb964, 0xe7adaa},
+  {0xb965, 0xe7adab},
+  {0xb966, 0xe7adac},
+  {0xb967, 0xe7adad},
+  {0xb968, 0xe7adaf},
+  {0xb969, 0xe7adb0},
+  {0xb96a, 0xe7adb3},
+  {0xb96b, 0xe7adb4},
+  {0xb96c, 0xe7adb6},
+  {0xb96d, 0xe7adb8},
+  {0xb96e, 0xe7adba},
+  {0xb96f, 0xe7adbc},
+  {0xb970, 0xe7adbd},
+  {0xb971, 0xe7adbf},
+  {0xb972, 0xe7ae81},
+  {0xb973, 0xe7ae82},
+  {0xb974, 0xe7ae83},
+  {0xb975, 0xe7ae84},
+  {0xb976, 0xe7ae86},
+  {0xb977, 0xe7ae87},
+  {0xb978, 0xe7ae88},
+  {0xb979, 0xe7ae89},
+  {0xb97a, 0xe7ae8a},
+  {0xb97b, 0xe7ae8b},
+  {0xb97c, 0xe7ae8c},
+  {0xb97d, 0xe7ae8e},
+  {0xb97e, 0xe7ae8f},
+  {0xb980, 0xe7ae91},
+  {0xb981, 0xe7ae92},
+  {0xb982, 0xe7ae93},
+  {0xb983, 0xe7ae96},
+  {0xb984, 0xe7ae98},
+  {0xb985, 0xe7ae99},
+  {0xb986, 0xe7ae9a},
+  {0xb987, 0xe7ae9b},
+  {0xb988, 0xe7ae9e},
+  {0xb989, 0xe7ae9f},
+  {0xb98a, 0xe7aea0},
+  {0xb98b, 0xe7aea3},
+  {0xb98c, 0xe7aea4},
+  {0xb98d, 0xe7aea5},
+  {0xb98e, 0xe7aeae},
+  {0xb98f, 0xe7aeaf},
+  {0xb990, 0xe7aeb0},
+  {0xb991, 0xe7aeb2},
+  {0xb992, 0xe7aeb3},
+  {0xb993, 0xe7aeb5},
+  {0xb994, 0xe7aeb6},
+  {0xb995, 0xe7aeb7},
+  {0xb996, 0xe7aeb9},
+  {0xb997, 0xe7aeba},
+  {0xb998, 0xe7aebb},
+  {0xb999, 0xe7aebc},
+  {0xb99a, 0xe7aebd},
+  {0xb99b, 0xe7aebe},
+  {0xb99c, 0xe7aebf},
+  {0xb99d, 0xe7af80},
+  {0xb99e, 0xe7af82},
+  {0xb99f, 0xe7af83},
+  {0xb9a0, 0xe7af84},
+  {0xb9a1, 0xe59f82},
+  {0xb9a2, 0xe880bf},
+  {0xb9a3, 0xe6a297},
+  {0xb9a4, 0xe5b7a5},
+  {0xb9a5, 0xe694bb},
+  {0xb9a6, 0xe58a9f},
+  {0xb9a7, 0xe681ad},
+  {0xb9a8, 0xe9be9a},
+  {0xb9a9, 0xe4be9b},
+  {0xb9aa, 0xe8baac},
+  {0xb9ab, 0xe585ac},
+  {0xb9ac, 0xe5aeab},
+  {0xb9ad, 0xe5bc93},
+  {0xb9ae, 0xe5b7a9},
+  {0xb9af, 0xe6b19e},
+  {0xb9b0, 0xe68bb1},
+  {0xb9b1, 0xe8b4a1},
+  {0xb9b2, 0xe585b1},
+  {0xb9b3, 0xe992a9},
+  {0xb9b4, 0xe58bbe},
+  {0xb9b5, 0xe6b29f},
+  {0xb9b6, 0xe88b9f},
+  {0xb9b7, 0xe78b97},
+  {0xb9b8, 0xe59ea2},
+  {0xb9b9, 0xe69e84},
+  {0xb9ba, 0xe8b4ad},
+  {0xb9bb, 0xe5a49f},
+  {0xb9bc, 0xe8be9c},
+  {0xb9bd, 0xe88f87},
+  {0xb9be, 0xe59295},
+  {0xb9bf, 0xe7ae8d},
+  {0xb9c0, 0xe4bcb0},
+  {0xb9c1, 0xe6b2bd},
+  {0xb9c2, 0xe5ada4},
+  {0xb9c3, 0xe5a791},
+  {0xb9c4, 0xe9bc93},
+  {0xb9c5, 0xe58fa4},
+  {0xb9c6, 0xe89b8a},
+  {0xb9c7, 0xe9aaa8},
+  {0xb9c8, 0xe8b0b7},
+  {0xb9c9, 0xe882a1},
+  {0xb9ca, 0xe69585},
+  {0xb9cb, 0xe9a1be},
+  {0xb9cc, 0xe59bba},
+  {0xb9cd, 0xe99b87},
+  {0xb9ce, 0xe588ae},
+  {0xb9cf, 0xe7939c},
+  {0xb9d0, 0xe58990},
+  {0xb9d1, 0xe5afa1},
+  {0xb9d2, 0xe68c82},
+  {0xb9d3, 0xe8a482},
+  {0xb9d4, 0xe4b996},
+  {0xb9d5, 0xe68b90},
+  {0xb9d6, 0xe680aa},
+  {0xb9d7, 0xe6a3ba},
+  {0xb9d8, 0xe585b3},
+  {0xb9d9, 0xe5ae98},
+  {0xb9da, 0xe586a0},
+  {0xb9db, 0xe8a782},
+  {0xb9dc, 0xe7aea1},
+  {0xb9dd, 0xe9a686},
+  {0xb9de, 0xe7bd90},
+  {0xb9df, 0xe683af},
+  {0xb9e0, 0xe7818c},
+  {0xb9e1, 0xe8b4af},
+  {0xb9e2, 0xe58589},
+  {0xb9e3, 0xe5b9bf},
+  {0xb9e4, 0xe9809b},
+  {0xb9e5, 0xe791b0},
+  {0xb9e6, 0xe8a784},
+  {0xb9e7, 0xe59cad},
+  {0xb9e8, 0xe7a185},
+  {0xb9e9, 0xe5bd92},
+  {0xb9ea, 0xe9be9f},
+  {0xb9eb, 0xe997ba},
+  {0xb9ec, 0xe8bda8},
+  {0xb9ed, 0xe9acbc},
+  {0xb9ee, 0xe8afa1},
+  {0xb9ef, 0xe799b8},
+  {0xb9f0, 0xe6a182},
+  {0xb9f1, 0xe69f9c},
+  {0xb9f2, 0xe8b7aa},
+  {0xb9f3, 0xe8b4b5},
+  {0xb9f4, 0xe588bd},
+  {0xb9f5, 0xe8be8a},
+  {0xb9f6, 0xe6bb9a},
+  {0xb9f7, 0xe6a38d},
+  {0xb9f8, 0xe99485},
+  {0xb9f9, 0xe983ad},
+  {0xb9fa, 0xe59bbd},
+  {0xb9fb, 0xe69e9c},
+  {0xb9fc, 0xe8a3b9},
+  {0xb9fd, 0xe8bf87},
+  {0xb9fe, 0xe59388},
+  {0xba40, 0xe7af85},
+  {0xba41, 0xe7af88},
+  {0xba42, 0xe7af89},
+  {0xba43, 0xe7af8a},
+  {0xba44, 0xe7af8b},
+  {0xba45, 0xe7af8d},
+  {0xba46, 0xe7af8e},
+  {0xba47, 0xe7af8f},
+  {0xba48, 0xe7af90},
+  {0xba49, 0xe7af92},
+  {0xba4a, 0xe7af94},
+  {0xba4b, 0xe7af95},
+  {0xba4c, 0xe7af96},
+  {0xba4d, 0xe7af97},
+  {0xba4e, 0xe7af98},
+  {0xba4f, 0xe7af9b},
+  {0xba50, 0xe7af9c},
+  {0xba51, 0xe7af9e},
+  {0xba52, 0xe7af9f},
+  {0xba53, 0xe7afa0},
+  {0xba54, 0xe7afa2},
+  {0xba55, 0xe7afa3},
+  {0xba56, 0xe7afa4},
+  {0xba57, 0xe7afa7},
+  {0xba58, 0xe7afa8},
+  {0xba59, 0xe7afa9},
+  {0xba5a, 0xe7afab},
+  {0xba5b, 0xe7afac},
+  {0xba5c, 0xe7afad},
+  {0xba5d, 0xe7afaf},
+  {0xba5e, 0xe7afb0},
+  {0xba5f, 0xe7afb2},
+  {0xba60, 0xe7afb3},
+  {0xba61, 0xe7afb4},
+  {0xba62, 0xe7afb5},
+  {0xba63, 0xe7afb6},
+  {0xba64, 0xe7afb8},
+  {0xba65, 0xe7afb9},
+  {0xba66, 0xe7afba},
+  {0xba67, 0xe7afbb},
+  {0xba68, 0xe7afbd},
+  {0xba69, 0xe7afbf},
+  {0xba6a, 0xe7b080},
+  {0xba6b, 0xe7b081},
+  {0xba6c, 0xe7b082},
+  {0xba6d, 0xe7b083},
+  {0xba6e, 0xe7b084},
+  {0xba6f, 0xe7b085},
+  {0xba70, 0xe7b086},
+  {0xba71, 0xe7b088},
+  {0xba72, 0xe7b089},
+  {0xba73, 0xe7b08a},
+  {0xba74, 0xe7b08d},
+  {0xba75, 0xe7b08e},
+  {0xba76, 0xe7b090},
+  {0xba77, 0xe7b091},
+  {0xba78, 0xe7b092},
+  {0xba79, 0xe7b093},
+  {0xba7a, 0xe7b094},
+  {0xba7b, 0xe7b095},
+  {0xba7c, 0xe7b097},
+  {0xba7d, 0xe7b098},
+  {0xba7e, 0xe7b099},
+  {0xba80, 0xe7b09a},
+  {0xba81, 0xe7b09b},
+  {0xba82, 0xe7b09c},
+  {0xba83, 0xe7b09d},
+  {0xba84, 0xe7b09e},
+  {0xba85, 0xe7b0a0},
+  {0xba86, 0xe7b0a1},
+  {0xba87, 0xe7b0a2},
+  {0xba88, 0xe7b0a3},
+  {0xba89, 0xe7b0a4},
+  {0xba8a, 0xe7b0a5},
+  {0xba8b, 0xe7b0a8},
+  {0xba8c, 0xe7b0a9},
+  {0xba8d, 0xe7b0ab},
+  {0xba8e, 0xe7b0ac},
+  {0xba8f, 0xe7b0ad},
+  {0xba90, 0xe7b0ae},
+  {0xba91, 0xe7b0af},
+  {0xba92, 0xe7b0b0},
+  {0xba93, 0xe7b0b1},
+  {0xba94, 0xe7b0b2},
+  {0xba95, 0xe7b0b3},
+  {0xba96, 0xe7b0b4},
+  {0xba97, 0xe7b0b5},
+  {0xba98, 0xe7b0b6},
+  {0xba99, 0xe7b0b7},
+  {0xba9a, 0xe7b0b9},
+  {0xba9b, 0xe7b0ba},
+  {0xba9c, 0xe7b0bb},
+  {0xba9d, 0xe7b0bc},
+  {0xba9e, 0xe7b0bd},
+  {0xba9f, 0xe7b0be},
+  {0xbaa0, 0xe7b182},
+  {0xbaa1, 0xe9aab8},
+  {0xbaa2, 0xe5ada9},
+  {0xbaa3, 0xe6b5b7},
+  {0xbaa4, 0xe6b0a6},
+  {0xbaa5, 0xe4baa5},
+  {0xbaa6, 0xe5aeb3},
+  {0xbaa7, 0xe9aa87},
+  {0xbaa8, 0xe985a3},
+  {0xbaa9, 0xe686a8},
+  {0xbaaa, 0xe982af},
+  {0xbaab, 0xe99fa9},
+  {0xbaac, 0xe590ab},
+  {0xbaad, 0xe6b6b5},
+  {0xbaae, 0xe5af92},
+  {0xbaaf, 0xe587bd},
+  {0xbab0, 0xe5968a},
+  {0xbab1, 0xe7bd95},
+  {0xbab2, 0xe7bfb0},
+  {0xbab3, 0xe692bc},
+  {0xbab4, 0xe68d8d},
+  {0xbab5, 0xe697b1},
+  {0xbab6, 0xe686be},
+  {0xbab7, 0xe6828d},
+  {0xbab8, 0xe7848a},
+  {0xbab9, 0xe6b197},
+  {0xbaba, 0xe6b189},
+  {0xbabb, 0xe5a4af},
+  {0xbabc, 0xe69dad},
+  {0xbabd, 0xe888aa},
+  {0xbabe, 0xe5a395},
+  {0xbabf, 0xe59a8e},
+  {0xbac0, 0xe8b1aa},
+  {0xbac1, 0xe6afab},
+  {0xbac2, 0xe9839d},
+  {0xbac3, 0xe5a5bd},
+  {0xbac4, 0xe88097},
+  {0xbac5, 0xe58fb7},
+  {0xbac6, 0xe6b5a9},
+  {0xbac7, 0xe591b5},
+  {0xbac8, 0xe5969d},
+  {0xbac9, 0xe88db7},
+  {0xbaca, 0xe88f8f},
+  {0xbacb, 0xe6a0b8},
+  {0xbacc, 0xe7a6be},
+  {0xbacd, 0xe5928c},
+  {0xbace, 0xe4bd95},
+  {0xbacf, 0xe59088},
+  {0xbad0, 0xe79b92},
+  {0xbad1, 0xe8b289},
+  {0xbad2, 0xe99882},
+  {0xbad3, 0xe6b2b3},
+  {0xbad4, 0xe6b6b8},
+  {0xbad5, 0xe8b5ab},
+  {0xbad6, 0xe8a490},
+  {0xbad7, 0xe9b9a4},
+  {0xbad8, 0xe8b4ba},
+  {0xbad9, 0xe598bf},
+  {0xbada, 0xe9bb91},
+  {0xbadb, 0xe79795},
+  {0xbadc, 0xe5be88},
+  {0xbadd, 0xe78ba0},
+  {0xbade, 0xe681a8},
+  {0xbadf, 0xe593bc},
+  {0xbae0, 0xe4baa8},
+  {0xbae1, 0xe6a8aa},
+  {0xbae2, 0xe8a1a1},
+  {0xbae3, 0xe68192},
+  {0xbae4, 0xe8bdb0},
+  {0xbae5, 0xe59384},
+  {0xbae6, 0xe78398},
+  {0xbae7, 0xe899b9},
+  {0xbae8, 0xe9b8bf},
+  {0xbae9, 0xe6b4aa},
+  {0xbaea, 0xe5ae8f},
+  {0xbaeb, 0xe5bc98},
+  {0xbaec, 0xe7baa2},
+  {0xbaed, 0xe59689},
+  {0xbaee, 0xe4beaf},
+  {0xbaef, 0xe78cb4},
+  {0xbaf0, 0xe590bc},
+  {0xbaf1, 0xe58e9a},
+  {0xbaf2, 0xe58099},
+  {0xbaf3, 0xe5908e},
+  {0xbaf4, 0xe591bc},
+  {0xbaf5, 0xe4b98e},
+  {0xbaf6, 0xe5bfbd},
+  {0xbaf7, 0xe7919a},
+  {0xbaf8, 0xe5a3b6},
+  {0xbaf9, 0xe891ab},
+  {0xbafa, 0xe883a1},
+  {0xbafb, 0xe89db4},
+  {0xbafc, 0xe78b90},
+  {0xbafd, 0xe7b38a},
+  {0xbafe, 0xe6b996},
+  {0xbb40, 0xe7b183},
+  {0xbb41, 0xe7b184},
+  {0xbb42, 0xe7b185},
+  {0xbb43, 0xe7b186},
+  {0xbb44, 0xe7b187},
+  {0xbb45, 0xe7b188},
+  {0xbb46, 0xe7b189},
+  {0xbb47, 0xe7b18a},
+  {0xbb48, 0xe7b18b},
+  {0xbb49, 0xe7b18c},
+  {0xbb4a, 0xe7b18e},
+  {0xbb4b, 0xe7b18f},
+  {0xbb4c, 0xe7b190},
+  {0xbb4d, 0xe7b191},
+  {0xbb4e, 0xe7b192},
+  {0xbb4f, 0xe7b193},
+  {0xbb50, 0xe7b194},
+  {0xbb51, 0xe7b195},
+  {0xbb52, 0xe7b196},
+  {0xbb53, 0xe7b197},
+  {0xbb54, 0xe7b198},
+  {0xbb55, 0xe7b199},
+  {0xbb56, 0xe7b19a},
+  {0xbb57, 0xe7b19b},
+  {0xbb58, 0xe7b19c},
+  {0xbb59, 0xe7b19d},
+  {0xbb5a, 0xe7b19e},
+  {0xbb5b, 0xe7b19f},
+  {0xbb5c, 0xe7b1a0},
+  {0xbb5d, 0xe7b1a1},
+  {0xbb5e, 0xe7b1a2},
+  {0xbb5f, 0xe7b1a3},
+  {0xbb60, 0xe7b1a4},
+  {0xbb61, 0xe7b1a5},
+  {0xbb62, 0xe7b1a6},
+  {0xbb63, 0xe7b1a7},
+  {0xbb64, 0xe7b1a8},
+  {0xbb65, 0xe7b1a9},
+  {0xbb66, 0xe7b1aa},
+  {0xbb67, 0xe7b1ab},
+  {0xbb68, 0xe7b1ac},
+  {0xbb69, 0xe7b1ad},
+  {0xbb6a, 0xe7b1ae},
+  {0xbb6b, 0xe7b1af},
+  {0xbb6c, 0xe7b1b0},
+  {0xbb6d, 0xe7b1b1},
+  {0xbb6e, 0xe7b1b2},
+  {0xbb6f, 0xe7b1b5},
+  {0xbb70, 0xe7b1b6},
+  {0xbb71, 0xe7b1b7},
+  {0xbb72, 0xe7b1b8},
+  {0xbb73, 0xe7b1b9},
+  {0xbb74, 0xe7b1ba},
+  {0xbb75, 0xe7b1be},
+  {0xbb76, 0xe7b1bf},
+  {0xbb77, 0xe7b280},
+  {0xbb78, 0xe7b281},
+  {0xbb79, 0xe7b282},
+  {0xbb7a, 0xe7b283},
+  {0xbb7b, 0xe7b284},
+  {0xbb7c, 0xe7b285},
+  {0xbb7d, 0xe7b286},
+  {0xbb7e, 0xe7b287},
+  {0xbb80, 0xe7b288},
+  {0xbb81, 0xe7b28a},
+  {0xbb82, 0xe7b28b},
+  {0xbb83, 0xe7b28c},
+  {0xbb84, 0xe7b28d},
+  {0xbb85, 0xe7b28e},
+  {0xbb86, 0xe7b28f},
+  {0xbb87, 0xe7b290},
+  {0xbb88, 0xe7b293},
+  {0xbb89, 0xe7b294},
+  {0xbb8a, 0xe7b296},
+  {0xbb8b, 0xe7b299},
+  {0xbb8c, 0xe7b29a},
+  {0xbb8d, 0xe7b29b},
+  {0xbb8e, 0xe7b2a0},
+  {0xbb8f, 0xe7b2a1},
+  {0xbb90, 0xe7b2a3},
+  {0xbb91, 0xe7b2a6},
+  {0xbb92, 0xe7b2a7},
+  {0xbb93, 0xe7b2a8},
+  {0xbb94, 0xe7b2a9},
+  {0xbb95, 0xe7b2ab},
+  {0xbb96, 0xe7b2ac},
+  {0xbb97, 0xe7b2ad},
+  {0xbb98, 0xe7b2af},
+  {0xbb99, 0xe7b2b0},
+  {0xbb9a, 0xe7b2b4},
+  {0xbb9b, 0xe7b2b5},
+  {0xbb9c, 0xe7b2b6},
+  {0xbb9d, 0xe7b2b7},
+  {0xbb9e, 0xe7b2b8},
+  {0xbb9f, 0xe7b2ba},
+  {0xbba0, 0xe7b2bb},
+  {0xbba1, 0xe5bca7},
+  {0xbba2, 0xe8998e},
+  {0xbba3, 0xe594ac},
+  {0xbba4, 0xe68aa4},
+  {0xbba5, 0xe4ba92},
+  {0xbba6, 0xe6b2aa},
+  {0xbba7, 0xe688b7},
+  {0xbba8, 0xe88ab1},
+  {0xbba9, 0xe59397},
+  {0xbbaa, 0xe58d8e},
+  {0xbbab, 0xe78cbe},
+  {0xbbac, 0xe6bb91},
+  {0xbbad, 0xe794bb},
+  {0xbbae, 0xe58892},
+  {0xbbaf, 0xe58c96},
+  {0xbbb0, 0xe8af9d},
+  {0xbbb1, 0xe6a790},
+  {0xbbb2, 0xe5be8a},
+  {0xbbb3, 0xe68080},
+  {0xbbb4, 0xe6b7ae},
+  {0xbbb5, 0xe59d8f},
+  {0xbbb6, 0xe6aca2},
+  {0xbbb7, 0xe78eaf},
+  {0xbbb8, 0xe6a193},
+  {0xbbb9, 0xe8bf98},
+  {0xbbba, 0xe7bc93},
+  {0xbbbb, 0xe68da2},
+  {0xbbbc, 0xe682a3},
+  {0xbbbd, 0xe594a4},
+  {0xbbbe, 0xe797aa},
+  {0xbbbf, 0xe8b1a2},
+  {0xbbc0, 0xe78495},
+  {0xbbc1, 0xe6b6a3},
+  {0xbbc2, 0xe5aea6},
+  {0xbbc3, 0xe5b9bb},
+  {0xbbc4, 0xe88d92},
+  {0xbbc5, 0xe6858c},
+  {0xbbc6, 0xe9bb84},
+  {0xbbc7, 0xe7a3ba},
+  {0xbbc8, 0xe89d97},
+  {0xbbc9, 0xe7b0a7},
+  {0xbbca, 0xe79a87},
+  {0xbbcb, 0xe587b0},
+  {0xbbcc, 0xe683b6},
+  {0xbbcd, 0xe7858c},
+  {0xbbce, 0xe69983},
+  {0xbbcf, 0xe5b98c},
+  {0xbbd0, 0xe6818d},
+  {0xbbd1, 0xe8b08e},
+  {0xbbd2, 0xe781b0},
+  {0xbbd3, 0xe68ca5},
+  {0xbbd4, 0xe8be89},
+  {0xbbd5, 0xe5bebd},
+  {0xbbd6, 0xe681a2},
+  {0xbbd7, 0xe89b94},
+  {0xbbd8, 0xe59b9e},
+  {0xbbd9, 0xe6af81},
+  {0xbbda, 0xe68294},
+  {0xbbdb, 0xe685a7},
+  {0xbbdc, 0xe58d89},
+  {0xbbdd, 0xe683a0},
+  {0xbbde, 0xe699a6},
+  {0xbbdf, 0xe8b4bf},
+  {0xbbe0, 0xe7a7bd},
+  {0xbbe1, 0xe4bc9a},
+  {0xbbe2, 0xe783a9},
+  {0xbbe3, 0xe6b187},
+  {0xbbe4, 0xe8aeb3},
+  {0xbbe5, 0xe8afb2},
+  {0xbbe6, 0xe7bb98},
+  {0xbbe7, 0xe88da4},
+  {0xbbe8, 0xe6988f},
+  {0xbbe9, 0xe5a99a},
+  {0xbbea, 0xe9ad82},
+  {0xbbeb, 0xe6b591},
+  {0xbbec, 0xe6b7b7},
+  {0xbbed, 0xe8b181},
+  {0xbbee, 0xe6b4bb},
+  {0xbbef, 0xe4bc99},
+  {0xbbf0, 0xe781ab},
+  {0xbbf1, 0xe88eb7},
+  {0xbbf2, 0xe68896},
+  {0xbbf3, 0xe68391},
+  {0xbbf4, 0xe99c8d},
+  {0xbbf5, 0xe8b4a7},
+  {0xbbf6, 0xe7a5b8},
+  {0xbbf7, 0xe587bb},
+  {0xbbf8, 0xe59cbe},
+  {0xbbf9, 0xe59fba},
+  {0xbbfa, 0xe69cba},
+  {0xbbfb, 0xe795b8},
+  {0xbbfc, 0xe7a8bd},
+  {0xbbfd, 0xe7a7af},
+  {0xbbfe, 0xe7ae95},
+  {0xbc40, 0xe7b2bf},
+  {0xbc41, 0xe7b380},
+  {0xbc42, 0xe7b382},
+  {0xbc43, 0xe7b383},
+  {0xbc44, 0xe7b384},
+  {0xbc45, 0xe7b386},
+  {0xbc46, 0xe7b389},
+  {0xbc47, 0xe7b38b},
+  {0xbc48, 0xe7b38e},
+  {0xbc49, 0xe7b38f},
+  {0xbc4a, 0xe7b390},
+  {0xbc4b, 0xe7b391},
+  {0xbc4c, 0xe7b392},
+  {0xbc4d, 0xe7b393},
+  {0xbc4e, 0xe7b394},
+  {0xbc4f, 0xe7b398},
+  {0xbc50, 0xe7b39a},
+  {0xbc51, 0xe7b39b},
+  {0xbc52, 0xe7b39d},
+  {0xbc53, 0xe7b39e},
+  {0xbc54, 0xe7b3a1},
+  {0xbc55, 0xe7b3a2},
+  {0xbc56, 0xe7b3a3},
+  {0xbc57, 0xe7b3a4},
+  {0xbc58, 0xe7b3a5},
+  {0xbc59, 0xe7b3a6},
+  {0xbc5a, 0xe7b3a7},
+  {0xbc5b, 0xe7b3a9},
+  {0xbc5c, 0xe7b3aa},
+  {0xbc5d, 0xe7b3ab},
+  {0xbc5e, 0xe7b3ac},
+  {0xbc5f, 0xe7b3ad},
+  {0xbc60, 0xe7b3ae},
+  {0xbc61, 0xe7b3b0},
+  {0xbc62, 0xe7b3b1},
+  {0xbc63, 0xe7b3b2},
+  {0xbc64, 0xe7b3b3},
+  {0xbc65, 0xe7b3b4},
+  {0xbc66, 0xe7b3b5},
+  {0xbc67, 0xe7b3b6},
+  {0xbc68, 0xe7b3b7},
+  {0xbc69, 0xe7b3b9},
+  {0xbc6a, 0xe7b3ba},
+  {0xbc6b, 0xe7b3bc},
+  {0xbc6c, 0xe7b3bd},
+  {0xbc6d, 0xe7b3be},
+  {0xbc6e, 0xe7b3bf},
+  {0xbc6f, 0xe7b480},
+  {0xbc70, 0xe7b481},
+  {0xbc71, 0xe7b482},
+  {0xbc72, 0xe7b483},
+  {0xbc73, 0xe7b484},
+  {0xbc74, 0xe7b485},
+  {0xbc75, 0xe7b486},
+  {0xbc76, 0xe7b487},
+  {0xbc77, 0xe7b488},
+  {0xbc78, 0xe7b489},
+  {0xbc79, 0xe7b48b},
+  {0xbc7a, 0xe7b48c},
+  {0xbc7b, 0xe7b48d},
+  {0xbc7c, 0xe7b48e},
+  {0xbc7d, 0xe7b48f},
+  {0xbc7e, 0xe7b490},
+  {0xbc80, 0xe7b491},
+  {0xbc81, 0xe7b492},
+  {0xbc82, 0xe7b493},
+  {0xbc83, 0xe7b494},
+  {0xbc84, 0xe7b495},
+  {0xbc85, 0xe7b496},
+  {0xbc86, 0xe7b497},
+  {0xbc87, 0xe7b498},
+  {0xbc88, 0xe7b499},
+  {0xbc89, 0xe7b49a},
+  {0xbc8a, 0xe7b49b},
+  {0xbc8b, 0xe7b49c},
+  {0xbc8c, 0xe7b49d},
+  {0xbc8d, 0xe7b49e},
+  {0xbc8e, 0xe7b49f},
+  {0xbc8f, 0xe7b4a1},
+  {0xbc90, 0xe7b4a3},
+  {0xbc91, 0xe7b4a4},
+  {0xbc92, 0xe7b4a5},
+  {0xbc93, 0xe7b4a6},
+  {0xbc94, 0xe7b4a8},
+  {0xbc95, 0xe7b4a9},
+  {0xbc96, 0xe7b4aa},
+  {0xbc97, 0xe7b4ac},
+  {0xbc98, 0xe7b4ad},
+  {0xbc99, 0xe7b4ae},
+  {0xbc9a, 0xe7b4b0},
+  {0xbc9b, 0xe7b4b1},
+  {0xbc9c, 0xe7b4b2},
+  {0xbc9d, 0xe7b4b3},
+  {0xbc9e, 0xe7b4b4},
+  {0xbc9f, 0xe7b4b5},
+  {0xbca0, 0xe7b4b6},
+  {0xbca1, 0xe8828c},
+  {0xbca2, 0xe9a5a5},
+  {0xbca3, 0xe8bfb9},
+  {0xbca4, 0xe6bf80},
+  {0xbca5, 0xe8aea5},
+  {0xbca6, 0xe9b8a1},
+  {0xbca7, 0xe5a7ac},
+  {0xbca8, 0xe7bba9},
+  {0xbca9, 0xe7bc89},
+  {0xbcaa, 0xe59089},
+  {0xbcab, 0xe69e81},
+  {0xbcac, 0xe6a398},
+  {0xbcad, 0xe8be91},
+  {0xbcae, 0xe7b18d},
+  {0xbcaf, 0xe99b86},
+  {0xbcb0, 0xe58f8a},
+  {0xbcb1, 0xe680a5},
+  {0xbcb2, 0xe796be},
+  {0xbcb3, 0xe6b1b2},
+  {0xbcb4, 0xe58db3},
+  {0xbcb5, 0xe5ab89},
+  {0xbcb6, 0xe7baa7},
+  {0xbcb7, 0xe68ca4},
+  {0xbcb8, 0xe587a0},
+  {0xbcb9, 0xe8848a},
+  {0xbcba, 0xe5b7b1},
+  {0xbcbb, 0xe8939f},
+  {0xbcbc, 0xe68a80},
+  {0xbcbd, 0xe58680},
+  {0xbcbe, 0xe5ada3},
+  {0xbcbf, 0xe4bc8e},
+  {0xbcc0, 0xe7a5ad},
+  {0xbcc1, 0xe58982},
+  {0xbcc2, 0xe682b8},
+  {0xbcc3, 0xe6b58e},
+  {0xbcc4, 0xe5af84},
+  {0xbcc5, 0xe5af82},
+  {0xbcc6, 0xe8aea1},
+  {0xbcc7, 0xe8aeb0},
+  {0xbcc8, 0xe697a2},
+  {0xbcc9, 0xe5bf8c},
+  {0xbcca, 0xe99985},
+  {0xbccb, 0xe5a693},
+  {0xbccc, 0xe7bba7},
+  {0xbccd, 0xe7baaa},
+  {0xbcce, 0xe59889},
+  {0xbccf, 0xe69eb7},
+  {0xbcd0, 0xe5a4b9},
+  {0xbcd1, 0xe4bdb3},
+  {0xbcd2, 0xe5aeb6},
+  {0xbcd3, 0xe58aa0},
+  {0xbcd4, 0xe88d9a},
+  {0xbcd5, 0xe9a28a},
+  {0xbcd6, 0xe8b4be},
+  {0xbcd7, 0xe794b2},
+  {0xbcd8, 0xe992be},
+  {0xbcd9, 0xe58187},
+  {0xbcda, 0xe7a8bc},
+  {0xbcdb, 0xe4bbb7},
+  {0xbcdc, 0xe69eb6},
+  {0xbcdd, 0xe9a9be},
+  {0xbcde, 0xe5ab81},
+  {0xbcdf, 0xe6adbc},
+  {0xbce0, 0xe79b91},
+  {0xbce1, 0xe59d9a},
+  {0xbce2, 0xe5b096},
+  {0xbce3, 0xe7acba},
+  {0xbce4, 0xe997b4},
+  {0xbce5, 0xe7858e},
+  {0xbce6, 0xe585bc},
+  {0xbce7, 0xe882a9},
+  {0xbce8, 0xe889b0},
+  {0xbce9, 0xe5a5b8},
+  {0xbcea, 0xe7bc84},
+  {0xbceb, 0xe88ca7},
+  {0xbcec, 0xe6a380},
+  {0xbced, 0xe69fac},
+  {0xbcee, 0xe7a2b1},
+  {0xbcef, 0xe7a1b7},
+  {0xbcf0, 0xe68ba3},
+  {0xbcf1, 0xe68da1},
+  {0xbcf2, 0xe7ae80},
+  {0xbcf3, 0xe4bfad},
+  {0xbcf4, 0xe589aa},
+  {0xbcf5, 0xe5878f},
+  {0xbcf6, 0xe88d90},
+  {0xbcf7, 0xe6a79b},
+  {0xbcf8, 0xe989b4},
+  {0xbcf9, 0xe8b7b5},
+  {0xbcfa, 0xe8b4b1},
+  {0xbcfb, 0xe8a781},
+  {0xbcfc, 0xe994ae},
+  {0xbcfd, 0xe7aead},
+  {0xbcfe, 0xe4bbb6},
+  {0xbd40, 0xe7b4b7},
+  {0xbd41, 0xe7b4b8},
+  {0xbd42, 0xe7b4b9},
+  {0xbd43, 0xe7b4ba},
+  {0xbd44, 0xe7b4bb},
+  {0xbd45, 0xe7b4bc},
+  {0xbd46, 0xe7b4bd},
+  {0xbd47, 0xe7b4be},
+  {0xbd48, 0xe7b4bf},
+  {0xbd49, 0xe7b580},
+  {0xbd4a, 0xe7b581},
+  {0xbd4b, 0xe7b582},
+  {0xbd4c, 0xe7b583},
+  {0xbd4d, 0xe7b584},
+  {0xbd4e, 0xe7b585},
+  {0xbd4f, 0xe7b586},
+  {0xbd50, 0xe7b587},
+  {0xbd51, 0xe7b588},
+  {0xbd52, 0xe7b589},
+  {0xbd53, 0xe7b58a},
+  {0xbd54, 0xe7b58b},
+  {0xbd55, 0xe7b58c},
+  {0xbd56, 0xe7b58d},
+  {0xbd57, 0xe7b58e},
+  {0xbd58, 0xe7b58f},
+  {0xbd59, 0xe7b590},
+  {0xbd5a, 0xe7b591},
+  {0xbd5b, 0xe7b592},
+  {0xbd5c, 0xe7b593},
+  {0xbd5d, 0xe7b594},
+  {0xbd5e, 0xe7b595},
+  {0xbd5f, 0xe7b596},
+  {0xbd60, 0xe7b597},
+  {0xbd61, 0xe7b598},
+  {0xbd62, 0xe7b599},
+  {0xbd63, 0xe7b59a},
+  {0xbd64, 0xe7b59b},
+  {0xbd65, 0xe7b59c},
+  {0xbd66, 0xe7b59d},
+  {0xbd67, 0xe7b59e},
+  {0xbd68, 0xe7b59f},
+  {0xbd69, 0xe7b5a0},
+  {0xbd6a, 0xe7b5a1},
+  {0xbd6b, 0xe7b5a2},
+  {0xbd6c, 0xe7b5a3},
+  {0xbd6d, 0xe7b5a4},
+  {0xbd6e, 0xe7b5a5},
+  {0xbd6f, 0xe7b5a6},
+  {0xbd70, 0xe7b5a7},
+  {0xbd71, 0xe7b5a8},
+  {0xbd72, 0xe7b5a9},
+  {0xbd73, 0xe7b5aa},
+  {0xbd74, 0xe7b5ab},
+  {0xbd75, 0xe7b5ac},
+  {0xbd76, 0xe7b5ad},
+  {0xbd77, 0xe7b5af},
+  {0xbd78, 0xe7b5b0},
+  {0xbd79, 0xe7b5b1},
+  {0xbd7a, 0xe7b5b2},
+  {0xbd7b, 0xe7b5b3},
+  {0xbd7c, 0xe7b5b4},
+  {0xbd7d, 0xe7b5b5},
+  {0xbd7e, 0xe7b5b6},
+  {0xbd80, 0xe7b5b8},
+  {0xbd81, 0xe7b5b9},
+  {0xbd82, 0xe7b5ba},
+  {0xbd83, 0xe7b5bb},
+  {0xbd84, 0xe7b5bc},
+  {0xbd85, 0xe7b5bd},
+  {0xbd86, 0xe7b5be},
+  {0xbd87, 0xe7b5bf},
+  {0xbd88, 0xe7b680},
+  {0xbd89, 0xe7b681},
+  {0xbd8a, 0xe7b682},
+  {0xbd8b, 0xe7b683},
+  {0xbd8c, 0xe7b684},
+  {0xbd8d, 0xe7b685},
+  {0xbd8e, 0xe7b686},
+  {0xbd8f, 0xe7b687},
+  {0xbd90, 0xe7b688},
+  {0xbd91, 0xe7b689},
+  {0xbd92, 0xe7b68a},
+  {0xbd93, 0xe7b68b},
+  {0xbd94, 0xe7b68c},
+  {0xbd95, 0xe7b68d},
+  {0xbd96, 0xe7b68e},
+  {0xbd97, 0xe7b68f},
+  {0xbd98, 0xe7b690},
+  {0xbd99, 0xe7b691},
+  {0xbd9a, 0xe7b692},
+  {0xbd9b, 0xe7b693},
+  {0xbd9c, 0xe7b694},
+  {0xbd9d, 0xe7b695},
+  {0xbd9e, 0xe7b696},
+  {0xbd9f, 0xe7b697},
+  {0xbda0, 0xe7b698},
+  {0xbda1, 0xe581a5},
+  {0xbda2, 0xe888b0},
+  {0xbda3, 0xe58991},
+  {0xbda4, 0xe9a5af},
+  {0xbda5, 0xe6b890},
+  {0xbda6, 0xe6ba85},
+  {0xbda7, 0xe6b6a7},
+  {0xbda8, 0xe5bbba},
+  {0xbda9, 0xe583b5},
+  {0xbdaa, 0xe5a79c},
+  {0xbdab, 0xe5b086},
+  {0xbdac, 0xe6b586},
+  {0xbdad, 0xe6b19f},
+  {0xbdae, 0xe79686},
+  {0xbdaf, 0xe8928b},
+  {0xbdb0, 0xe6a1a8},
+  {0xbdb1, 0xe5a596},
+  {0xbdb2, 0xe8aeb2},
+  {0xbdb3, 0xe58ca0},
+  {0xbdb4, 0xe985b1},
+  {0xbdb5, 0xe9998d},
+  {0xbdb6, 0xe89589},
+  {0xbdb7, 0xe6a492},
+  {0xbdb8, 0xe7a481},
+  {0xbdb9, 0xe784a6},
+  {0xbdba, 0xe883b6},
+  {0xbdbb, 0xe4baa4},
+  {0xbdbc, 0xe9838a},
+  {0xbdbd, 0xe6b587},
+  {0xbdbe, 0xe9aa84},
+  {0xbdbf, 0xe5a887},
+  {0xbdc0, 0xe59abc},
+  {0xbdc1, 0xe69085},
+  {0xbdc2, 0xe993b0},
+  {0xbdc3, 0xe79fab},
+  {0xbdc4, 0xe4bea5},
+  {0xbdc5, 0xe8849a},
+  {0xbdc6, 0xe78ba1},
+  {0xbdc7, 0xe8a792},
+  {0xbdc8, 0xe9a5ba},
+  {0xbdc9, 0xe7bcb4},
+  {0xbdca, 0xe7bb9e},
+  {0xbdcb, 0xe589bf},
+  {0xbdcc, 0xe69599},
+  {0xbdcd, 0xe985b5},
+  {0xbdce, 0xe8bdbf},
+  {0xbdcf, 0xe8be83},
+  {0xbdd0, 0xe58fab},
+  {0xbdd1, 0xe7aa96},
+  {0xbdd2, 0xe68fad},
+  {0xbdd3, 0xe68ea5},
+  {0xbdd4, 0xe79a86},
+  {0xbdd5, 0xe7a7b8},
+  {0xbdd6, 0xe8a197},
+  {0xbdd7, 0xe998b6},
+  {0xbdd8, 0xe688aa},
+  {0xbdd9, 0xe58aab},
+  {0xbdda, 0xe88a82},
+  {0xbddb, 0xe6a194},
+  {0xbddc, 0xe69db0},
+  {0xbddd, 0xe68db7},
+  {0xbdde, 0xe79dab},
+  {0xbddf, 0xe7abad},
+  {0xbde0, 0xe6b481},
+  {0xbde1, 0xe7bb93},
+  {0xbde2, 0xe8a7a3},
+  {0xbde3, 0xe5a790},
+  {0xbde4, 0xe68892},
+  {0xbde5, 0xe89789},
+  {0xbde6, 0xe88aa5},
+  {0xbde7, 0xe7958c},
+  {0xbde8, 0xe5809f},
+  {0xbde9, 0xe4bb8b},
+  {0xbdea, 0xe796a5},
+  {0xbdeb, 0xe8afab},
+  {0xbdec, 0xe5b18a},
+  {0xbded, 0xe5b7be},
+  {0xbdee, 0xe7ad8b},
+  {0xbdef, 0xe696a4},
+  {0xbdf0, 0xe98791},
+  {0xbdf1, 0xe4bb8a},
+  {0xbdf2, 0xe6b4a5},
+  {0xbdf3, 0xe8a59f},
+  {0xbdf4, 0xe7b4a7},
+  {0xbdf5, 0xe994a6},
+  {0xbdf6, 0xe4bb85},
+  {0xbdf7, 0xe8b0a8},
+  {0xbdf8, 0xe8bf9b},
+  {0xbdf9, 0xe99db3},
+  {0xbdfa, 0xe6998b},
+  {0xbdfb, 0xe7a681},
+  {0xbdfc, 0xe8bf91},
+  {0xbdfd, 0xe783ac},
+  {0xbdfe, 0xe6b5b8},
+  {0xbe40, 0xe7b699},
+  {0xbe41, 0xe7b69a},
+  {0xbe42, 0xe7b69b},
+  {0xbe43, 0xe7b69c},
+  {0xbe44, 0xe7b69d},
+  {0xbe45, 0xe7b69e},
+  {0xbe46, 0xe7b69f},
+  {0xbe47, 0xe7b6a0},
+  {0xbe48, 0xe7b6a1},
+  {0xbe49, 0xe7b6a2},
+  {0xbe4a, 0xe7b6a3},
+  {0xbe4b, 0xe7b6a4},
+  {0xbe4c, 0xe7b6a5},
+  {0xbe4d, 0xe7b6a7},
+  {0xbe4e, 0xe7b6a8},
+  {0xbe4f, 0xe7b6a9},
+  {0xbe50, 0xe7b6aa},
+  {0xbe51, 0xe7b6ab},
+  {0xbe52, 0xe7b6ac},
+  {0xbe53, 0xe7b6ad},
+  {0xbe54, 0xe7b6af},
+  {0xbe55, 0xe7b6b0},
+  {0xbe56, 0xe7b6b1},
+  {0xbe57, 0xe7b6b2},
+  {0xbe58, 0xe7b6b3},
+  {0xbe59, 0xe7b6b4},
+  {0xbe5a, 0xe7b6b5},
+  {0xbe5b, 0xe7b6b6},
+  {0xbe5c, 0xe7b6b7},
+  {0xbe5d, 0xe7b6b8},
+  {0xbe5e, 0xe7b6b9},
+  {0xbe5f, 0xe7b6ba},
+  {0xbe60, 0xe7b6bb},
+  {0xbe61, 0xe7b6bc},
+  {0xbe62, 0xe7b6bd},
+  {0xbe63, 0xe7b6be},
+  {0xbe64, 0xe7b6bf},
+  {0xbe65, 0xe7b780},
+  {0xbe66, 0xe7b781},
+  {0xbe67, 0xe7b782},
+  {0xbe68, 0xe7b783},
+  {0xbe69, 0xe7b784},
+  {0xbe6a, 0xe7b785},
+  {0xbe6b, 0xe7b786},
+  {0xbe6c, 0xe7b787},
+  {0xbe6d, 0xe7b788},
+  {0xbe6e, 0xe7b789},
+  {0xbe6f, 0xe7b78a},
+  {0xbe70, 0xe7b78b},
+  {0xbe71, 0xe7b78c},
+  {0xbe72, 0xe7b78d},
+  {0xbe73, 0xe7b78e},
+  {0xbe74, 0xe7b78f},
+  {0xbe75, 0xe7b790},
+  {0xbe76, 0xe7b791},
+  {0xbe77, 0xe7b792},
+  {0xbe78, 0xe7b793},
+  {0xbe79, 0xe7b794},
+  {0xbe7a, 0xe7b795},
+  {0xbe7b, 0xe7b796},
+  {0xbe7c, 0xe7b797},
+  {0xbe7d, 0xe7b798},
+  {0xbe7e, 0xe7b799},
+  {0xbe80, 0xe7b79a},
+  {0xbe81, 0xe7b79b},
+  {0xbe82, 0xe7b79c},
+  {0xbe83, 0xe7b79d},
+  {0xbe84, 0xe7b79e},
+  {0xbe85, 0xe7b79f},
+  {0xbe86, 0xe7b7a0},
+  {0xbe87, 0xe7b7a1},
+  {0xbe88, 0xe7b7a2},
+  {0xbe89, 0xe7b7a3},
+  {0xbe8a, 0xe7b7a4},
+  {0xbe8b, 0xe7b7a5},
+  {0xbe8c, 0xe7b7a6},
+  {0xbe8d, 0xe7b7a7},
+  {0xbe8e, 0xe7b7a8},
+  {0xbe8f, 0xe7b7a9},
+  {0xbe90, 0xe7b7aa},
+  {0xbe91, 0xe7b7ab},
+  {0xbe92, 0xe7b7ac},
+  {0xbe93, 0xe7b7ad},
+  {0xbe94, 0xe7b7ae},
+  {0xbe95, 0xe7b7af},
+  {0xbe96, 0xe7b7b0},
+  {0xbe97, 0xe7b7b1},
+  {0xbe98, 0xe7b7b2},
+  {0xbe99, 0xe7b7b3},
+  {0xbe9a, 0xe7b7b4},
+  {0xbe9b, 0xe7b7b5},
+  {0xbe9c, 0xe7b7b6},
+  {0xbe9d, 0xe7b7b7},
+  {0xbe9e, 0xe7b7b8},
+  {0xbe9f, 0xe7b7b9},
+  {0xbea0, 0xe7b7ba},
+  {0xbea1, 0xe5b0bd},
+  {0xbea2, 0xe58ab2},
+  {0xbea3, 0xe88d86},
+  {0xbea4, 0xe585a2},
+  {0xbea5, 0xe88c8e},
+  {0xbea6, 0xe79d9b},
+  {0xbea7, 0xe699b6},
+  {0xbea8, 0xe9b2b8},
+  {0xbea9, 0xe4baac},
+  {0xbeaa, 0xe6838a},
+  {0xbeab, 0xe7b2be},
+  {0xbeac, 0xe7b2b3},
+  {0xbead, 0xe7bb8f},
+  {0xbeae, 0xe4ba95},
+  {0xbeaf, 0xe8ada6},
+  {0xbeb0, 0xe699af},
+  {0xbeb1, 0xe9a288},
+  {0xbeb2, 0xe99d99},
+  {0xbeb3, 0xe5a283},
+  {0xbeb4, 0xe695ac},
+  {0xbeb5, 0xe9959c},
+  {0xbeb6, 0xe5be84},
+  {0xbeb7, 0xe79789},
+  {0xbeb8, 0xe99d96},
+  {0xbeb9, 0xe7ab9f},
+  {0xbeba, 0xe7ab9e},
+  {0xbebb, 0xe58780},
+  {0xbebc, 0xe782af},
+  {0xbebd, 0xe7aa98},
+  {0xbebe, 0xe68faa},
+  {0xbebf, 0xe7a9b6},
+  {0xbec0, 0xe7baa0},
+  {0xbec1, 0xe78e96},
+  {0xbec2, 0xe99fad},
+  {0xbec3, 0xe4b985},
+  {0xbec4, 0xe781b8},
+  {0xbec5, 0xe4b99d},
+  {0xbec6, 0xe98592},
+  {0xbec7, 0xe58ea9},
+  {0xbec8, 0xe69591},
+  {0xbec9, 0xe697a7},
+  {0xbeca, 0xe887bc},
+  {0xbecb, 0xe88885},
+  {0xbecc, 0xe5928e},
+  {0xbecd, 0xe5b0b1},
+  {0xbece, 0xe7969a},
+  {0xbecf, 0xe99ea0},
+  {0xbed0, 0xe68b98},
+  {0xbed1, 0xe78b99},
+  {0xbed2, 0xe796bd},
+  {0xbed3, 0xe5b185},
+  {0xbed4, 0xe9a9b9},
+  {0xbed5, 0xe88f8a},
+  {0xbed6, 0xe5b180},
+  {0xbed7, 0xe59280},
+  {0xbed8, 0xe79fa9},
+  {0xbed9, 0xe4b8be},
+  {0xbeda, 0xe6b2ae},
+  {0xbedb, 0xe8819a},
+  {0xbedc, 0xe68b92},
+  {0xbedd, 0xe68dae},
+  {0xbede, 0xe5b7a8},
+  {0xbedf, 0xe585b7},
+  {0xbee0, 0xe8b79d},
+  {0xbee1, 0xe8b89e},
+  {0xbee2, 0xe994af},
+  {0xbee3, 0xe4bfb1},
+  {0xbee4, 0xe58fa5},
+  {0xbee5, 0xe683a7},
+  {0xbee6, 0xe782ac},
+  {0xbee7, 0xe589a7},
+  {0xbee8, 0xe68d90},
+  {0xbee9, 0xe9b983},
+  {0xbeea, 0xe5a89f},
+  {0xbeeb, 0xe580a6},
+  {0xbeec, 0xe79cb7},
+  {0xbeed, 0xe58db7},
+  {0xbeee, 0xe7bba2},
+  {0xbeef, 0xe69285},
+  {0xbef0, 0xe694ab},
+  {0xbef1, 0xe68a89},
+  {0xbef2, 0xe68e98},
+  {0xbef3, 0xe58094},
+  {0xbef4, 0xe788b5},
+  {0xbef5, 0xe8a789},
+  {0xbef6, 0xe586b3},
+  {0xbef7, 0xe8af80},
+  {0xbef8, 0xe7bb9d},
+  {0xbef9, 0xe59d87},
+  {0xbefa, 0xe88f8c},
+  {0xbefb, 0xe992a7},
+  {0xbefc, 0xe5869b},
+  {0xbefd, 0xe5909b},
+  {0xbefe, 0xe5b3bb},
+  {0xbf40, 0xe7b7bb},
+  {0xbf41, 0xe7b7bc},
+  {0xbf42, 0xe7b7bd},
+  {0xbf43, 0xe7b7be},
+  {0xbf44, 0xe7b7bf},
+  {0xbf45, 0xe7b880},
+  {0xbf46, 0xe7b881},
+  {0xbf47, 0xe7b882},
+  {0xbf48, 0xe7b883},
+  {0xbf49, 0xe7b884},
+  {0xbf4a, 0xe7b885},
+  {0xbf4b, 0xe7b886},
+  {0xbf4c, 0xe7b887},
+  {0xbf4d, 0xe7b888},
+  {0xbf4e, 0xe7b889},
+  {0xbf4f, 0xe7b88a},
+  {0xbf50, 0xe7b88b},
+  {0xbf51, 0xe7b88c},
+  {0xbf52, 0xe7b88d},
+  {0xbf53, 0xe7b88e},
+  {0xbf54, 0xe7b88f},
+  {0xbf55, 0xe7b890},
+  {0xbf56, 0xe7b891},
+  {0xbf57, 0xe7b892},
+  {0xbf58, 0xe7b893},
+  {0xbf59, 0xe7b894},
+  {0xbf5a, 0xe7b895},
+  {0xbf5b, 0xe7b896},
+  {0xbf5c, 0xe7b897},
+  {0xbf5d, 0xe7b898},
+  {0xbf5e, 0xe7b899},
+  {0xbf5f, 0xe7b89a},
+  {0xbf60, 0xe7b89b},
+  {0xbf61, 0xe7b89c},
+  {0xbf62, 0xe7b89d},
+  {0xbf63, 0xe7b89e},
+  {0xbf64, 0xe7b89f},
+  {0xbf65, 0xe7b8a0},
+  {0xbf66, 0xe7b8a1},
+  {0xbf67, 0xe7b8a2},
+  {0xbf68, 0xe7b8a3},
+  {0xbf69, 0xe7b8a4},
+  {0xbf6a, 0xe7b8a5},
+  {0xbf6b, 0xe7b8a6},
+  {0xbf6c, 0xe7b8a7},
+  {0xbf6d, 0xe7b8a8},
+  {0xbf6e, 0xe7b8a9},
+  {0xbf6f, 0xe7b8aa},
+  {0xbf70, 0xe7b8ab},
+  {0xbf71, 0xe7b8ac},
+  {0xbf72, 0xe7b8ad},
+  {0xbf73, 0xe7b8ae},
+  {0xbf74, 0xe7b8af},
+  {0xbf75, 0xe7b8b0},
+  {0xbf76, 0xe7b8b1},
+  {0xbf77, 0xe7b8b2},
+  {0xbf78, 0xe7b8b3},
+  {0xbf79, 0xe7b8b4},
+  {0xbf7a, 0xe7b8b5},
+  {0xbf7b, 0xe7b8b6},
+  {0xbf7c, 0xe7b8b7},
+  {0xbf7d, 0xe7b8b8},
+  {0xbf7e, 0xe7b8b9},
+  {0xbf80, 0xe7b8ba},
+  {0xbf81, 0xe7b8bc},
+  {0xbf82, 0xe7b8bd},
+  {0xbf83, 0xe7b8be},
+  {0xbf84, 0xe7b8bf},
+  {0xbf85, 0xe7b980},
+  {0xbf86, 0xe7b982},
+  {0xbf87, 0xe7b983},
+  {0xbf88, 0xe7b984},
+  {0xbf89, 0xe7b985},
+  {0xbf8a, 0xe7b986},
+  {0xbf8b, 0xe7b988},
+  {0xbf8c, 0xe7b989},
+  {0xbf8d, 0xe7b98a},
+  {0xbf8e, 0xe7b98b},
+  {0xbf8f, 0xe7b98c},
+  {0xbf90, 0xe7b98d},
+  {0xbf91, 0xe7b98e},
+  {0xbf92, 0xe7b98f},
+  {0xbf93, 0xe7b990},
+  {0xbf94, 0xe7b991},
+  {0xbf95, 0xe7b992},
+  {0xbf96, 0xe7b993},
+  {0xbf97, 0xe7b994},
+  {0xbf98, 0xe7b995},
+  {0xbf99, 0xe7b996},
+  {0xbf9a, 0xe7b997},
+  {0xbf9b, 0xe7b998},
+  {0xbf9c, 0xe7b999},
+  {0xbf9d, 0xe7b99a},
+  {0xbf9e, 0xe7b99b},
+  {0xbf9f, 0xe7b99c},
+  {0xbfa0, 0xe7b99d},
+  {0xbfa1, 0xe4bf8a},
+  {0xbfa2, 0xe7aba3},
+  {0xbfa3, 0xe6b59a},
+  {0xbfa4, 0xe983a1},
+  {0xbfa5, 0xe9aa8f},
+  {0xbfa6, 0xe59680},
+  {0xbfa7, 0xe59296},
+  {0xbfa8, 0xe58da1},
+  {0xbfa9, 0xe592af},
+  {0xbfaa, 0xe5bc80},
+  {0xbfab, 0xe68fa9},
+  {0xbfac, 0xe6a5b7},
+  {0xbfad, 0xe587af},
+  {0xbfae, 0xe685a8},
+  {0xbfaf, 0xe5888a},
+  {0xbfb0, 0xe5a0aa},
+  {0xbfb1, 0xe58b98},
+  {0xbfb2, 0xe59d8e},
+  {0xbfb3, 0xe7a08d},
+  {0xbfb4, 0xe79c8b},
+  {0xbfb5, 0xe5bab7},
+  {0xbfb6, 0xe685b7},
+  {0xbfb7, 0xe7b3a0},
+  {0xbfb8, 0xe6899b},
+  {0xbfb9, 0xe68a97},
+  {0xbfba, 0xe4baa2},
+  {0xbfbb, 0xe78295},
+  {0xbfbc, 0xe88083},
+  {0xbfbd, 0xe68bb7},
+  {0xbfbe, 0xe783a4},
+  {0xbfbf, 0xe99da0},
+  {0xbfc0, 0xe59db7},
+  {0xbfc1, 0xe88b9b},
+  {0xbfc2, 0xe69faf},
+  {0xbfc3, 0xe6a3b5},
+  {0xbfc4, 0xe7a395},
+  {0xbfc5, 0xe9a297},
+  {0xbfc6, 0xe7a791},
+  {0xbfc7, 0xe5a3b3},
+  {0xbfc8, 0xe592b3},
+  {0xbfc9, 0xe58faf},
+  {0xbfca, 0xe6b8b4},
+  {0xbfcb, 0xe5858b},
+  {0xbfcc, 0xe588bb},
+  {0xbfcd, 0xe5aea2},
+  {0xbfce, 0xe8afbe},
+  {0xbfcf, 0xe882af},
+  {0xbfd0, 0xe59583},
+  {0xbfd1, 0xe59ea6},
+  {0xbfd2, 0xe681b3},
+  {0xbfd3, 0xe59d91},
+  {0xbfd4, 0xe590ad},
+  {0xbfd5, 0xe7a9ba},
+  {0xbfd6, 0xe68190},
+  {0xbfd7, 0xe5ad94},
+  {0xbfd8, 0xe68ea7},
+  {0xbfd9, 0xe68aa0},
+  {0xbfda, 0xe58fa3},
+  {0xbfdb, 0xe689a3},
+  {0xbfdc, 0xe5af87},
+  {0xbfdd, 0xe69eaf},
+  {0xbfde, 0xe593ad},
+  {0xbfdf, 0xe7aa9f},
+  {0xbfe0, 0xe88ba6},
+  {0xbfe1, 0xe985b7},
+  {0xbfe2, 0xe5ba93},
+  {0xbfe3, 0xe8a3a4},
+  {0xbfe4, 0xe5a4b8},
+  {0xbfe5, 0xe59eae},
+  {0xbfe6, 0xe68c8e},
+  {0xbfe7, 0xe8b7a8},
+  {0xbfe8, 0xe883af},
+  {0xbfe9, 0xe59d97},
+  {0xbfea, 0xe7adb7},
+  {0xbfeb, 0xe4bea9},
+  {0xbfec, 0xe5bfab},
+  {0xbfed, 0xe5aebd},
+  {0xbfee, 0xe6acbe},
+  {0xbfef, 0xe58ca1},
+  {0xbff0, 0xe7ad90},
+  {0xbff1, 0xe78b82},
+  {0xbff2, 0xe6a186},
+  {0xbff3, 0xe79fbf},
+  {0xbff4, 0xe79cb6},
+  {0xbff5, 0xe697b7},
+  {0xbff6, 0xe586b5},
+  {0xbff7, 0xe4ba8f},
+  {0xbff8, 0xe79b94},
+  {0xbff9, 0xe5b2bf},
+  {0xbffa, 0xe7aaa5},
+  {0xbffb, 0xe891b5},
+  {0xbffc, 0xe5a58e},
+  {0xbffd, 0xe9ad81},
+  {0xbffe, 0xe58280},
+  {0xc040, 0xe7b99e},
+  {0xc041, 0xe7b99f},
+  {0xc042, 0xe7b9a0},
+  {0xc043, 0xe7b9a1},
+  {0xc044, 0xe7b9a2},
+  {0xc045, 0xe7b9a3},
+  {0xc046, 0xe7b9a4},
+  {0xc047, 0xe7b9a5},
+  {0xc048, 0xe7b9a6},
+  {0xc049, 0xe7b9a7},
+  {0xc04a, 0xe7b9a8},
+  {0xc04b, 0xe7b9a9},
+  {0xc04c, 0xe7b9aa},
+  {0xc04d, 0xe7b9ab},
+  {0xc04e, 0xe7b9ac},
+  {0xc04f, 0xe7b9ad},
+  {0xc050, 0xe7b9ae},
+  {0xc051, 0xe7b9af},
+  {0xc052, 0xe7b9b0},
+  {0xc053, 0xe7b9b1},
+  {0xc054, 0xe7b9b2},
+  {0xc055, 0xe7b9b3},
+  {0xc056, 0xe7b9b4},
+  {0xc057, 0xe7b9b5},
+  {0xc058, 0xe7b9b6},
+  {0xc059, 0xe7b9b7},
+  {0xc05a, 0xe7b9b8},
+  {0xc05b, 0xe7b9b9},
+  {0xc05c, 0xe7b9ba},
+  {0xc05d, 0xe7b9bb},
+  {0xc05e, 0xe7b9bc},
+  {0xc05f, 0xe7b9bd},
+  {0xc060, 0xe7b9be},
+  {0xc061, 0xe7b9bf},
+  {0xc062, 0xe7ba80},
+  {0xc063, 0xe7ba81},
+  {0xc064, 0xe7ba83},
+  {0xc065, 0xe7ba84},
+  {0xc066, 0xe7ba85},
+  {0xc067, 0xe7ba86},
+  {0xc068, 0xe7ba87},
+  {0xc069, 0xe7ba88},
+  {0xc06a, 0xe7ba89},
+  {0xc06b, 0xe7ba8a},
+  {0xc06c, 0xe7ba8b},
+  {0xc06d, 0xe7ba8c},
+  {0xc06e, 0xe7ba8d},
+  {0xc06f, 0xe7ba8e},
+  {0xc070, 0xe7ba8f},
+  {0xc071, 0xe7ba90},
+  {0xc072, 0xe7ba91},
+  {0xc073, 0xe7ba92},
+  {0xc074, 0xe7ba93},
+  {0xc075, 0xe7ba94},
+  {0xc076, 0xe7ba95},
+  {0xc077, 0xe7ba96},
+  {0xc078, 0xe7ba97},
+  {0xc079, 0xe7ba98},
+  {0xc07a, 0xe7ba99},
+  {0xc07b, 0xe7ba9a},
+  {0xc07c, 0xe7ba9c},
+  {0xc07d, 0xe7ba9d},
+  {0xc07e, 0xe7ba9e},
+  {0xc080, 0xe7baae},
+  {0xc081, 0xe7bab4},
+  {0xc082, 0xe7babb},
+  {0xc083, 0xe7babc},
+  {0xc084, 0xe7bb96},
+  {0xc085, 0xe7bba4},
+  {0xc086, 0xe7bbac},
+  {0xc087, 0xe7bbb9},
+  {0xc088, 0xe7bc8a},
+  {0xc089, 0xe7bc90},
+  {0xc08a, 0xe7bc9e},
+  {0xc08b, 0xe7bcb7},
+  {0xc08c, 0xe7bcb9},
+  {0xc08d, 0xe7bcbb},
+  {0xc08e, 0xe7bcbc},
+  {0xc08f, 0xe7bcbd},
+  {0xc090, 0xe7bcbe},
+  {0xc091, 0xe7bcbf},
+  {0xc092, 0xe7bd80},
+  {0xc093, 0xe7bd81},
+  {0xc094, 0xe7bd83},
+  {0xc095, 0xe7bd86},
+  {0xc096, 0xe7bd87},
+  {0xc097, 0xe7bd88},
+  {0xc098, 0xe7bd89},
+  {0xc099, 0xe7bd8a},
+  {0xc09a, 0xe7bd8b},
+  {0xc09b, 0xe7bd8c},
+  {0xc09c, 0xe7bd8d},
+  {0xc09d, 0xe7bd8e},
+  {0xc09e, 0xe7bd8f},
+  {0xc09f, 0xe7bd92},
+  {0xc0a0, 0xe7bd93},
+  {0xc0a1, 0xe9a688},
+  {0xc0a2, 0xe684a7},
+  {0xc0a3, 0xe6ba83},
+  {0xc0a4, 0xe59da4},
+  {0xc0a5, 0xe69886},
+  {0xc0a6, 0xe68d86},
+  {0xc0a7, 0xe59bb0},
+  {0xc0a8, 0xe68bac},
+  {0xc0a9, 0xe689a9},
+  {0xc0aa, 0xe5bb93},
+  {0xc0ab, 0xe99894},
+  {0xc0ac, 0xe59e83},
+  {0xc0ad, 0xe68b89},
+  {0xc0ae, 0xe59687},
+  {0xc0af, 0xe89ca1},
+  {0xc0b0, 0xe8858a},
+  {0xc0b1, 0xe8bea3},
+  {0xc0b2, 0xe595a6},
+  {0xc0b3, 0xe88eb1},
+  {0xc0b4, 0xe69da5},
+  {0xc0b5, 0xe8b596},
+  {0xc0b6, 0xe8939d},
+  {0xc0b7, 0xe5a9aa},
+  {0xc0b8, 0xe6a08f},
+  {0xc0b9, 0xe68ba6},
+  {0xc0ba, 0xe7afae},
+  {0xc0bb, 0xe99891},
+  {0xc0bc, 0xe585b0},
+  {0xc0bd, 0xe6be9c},
+  {0xc0be, 0xe8b0b0},
+  {0xc0bf, 0xe68fbd},
+  {0xc0c0, 0xe8a788},
+  {0xc0c1, 0xe68792},
+  {0xc0c2, 0xe7bc86},
+  {0xc0c3, 0xe78382},
+  {0xc0c4, 0xe6bba5},
+  {0xc0c5, 0xe79085},
+  {0xc0c6, 0xe6a694},
+  {0xc0c7, 0xe78bbc},
+  {0xc0c8, 0xe5bb8a},
+  {0xc0c9, 0xe9838e},
+  {0xc0ca, 0xe69c97},
+  {0xc0cb, 0xe6b5aa},
+  {0xc0cc, 0xe68d9e},
+  {0xc0cd, 0xe58ab3},
+  {0xc0ce, 0xe789a2},
+  {0xc0cf, 0xe88081},
+  {0xc0d0, 0xe4bdac},
+  {0xc0d1, 0xe5a7a5},
+  {0xc0d2, 0xe985aa},
+  {0xc0d3, 0xe78399},
+  {0xc0d4, 0xe6b69d},
+  {0xc0d5, 0xe58b92},
+  {0xc0d6, 0xe4b990},
+  {0xc0d7, 0xe99bb7},
+  {0xc0d8, 0xe995ad},
+  {0xc0d9, 0xe895be},
+  {0xc0da, 0xe7a38a},
+  {0xc0db, 0xe7b4af},
+  {0xc0dc, 0xe584a1},
+  {0xc0dd, 0xe59e92},
+  {0xc0de, 0xe69382},
+  {0xc0df, 0xe8828b},
+  {0xc0e0, 0xe7b1bb},
+  {0xc0e1, 0xe6b3aa},
+  {0xc0e2, 0xe6a3b1},
+  {0xc0e3, 0xe6a59e},
+  {0xc0e4, 0xe586b7},
+  {0xc0e5, 0xe58e98},
+  {0xc0e6, 0xe6a2a8},
+  {0xc0e7, 0xe78a81},
+  {0xc0e8, 0xe9bb8e},
+  {0xc0e9, 0xe7afb1},
+  {0xc0ea, 0xe78bb8},
+  {0xc0eb, 0xe7a6bb},
+  {0xc0ec, 0xe6bc93},
+  {0xc0ed, 0xe79086},
+  {0xc0ee, 0xe69d8e},
+  {0xc0ef, 0xe9878c},
+  {0xc0f0, 0xe9b2a4},
+  {0xc0f1, 0xe7a4bc},
+  {0xc0f2, 0xe88e89},
+  {0xc0f3, 0xe88d94},
+  {0xc0f4, 0xe5908f},
+  {0xc0f5, 0xe6a097},
+  {0xc0f6, 0xe4b8bd},
+  {0xc0f7, 0xe58e89},
+  {0xc0f8, 0xe58ab1},
+  {0xc0f9, 0xe7a0be},
+  {0xc0fa, 0xe58e86},
+  {0xc0fb, 0xe588a9},
+  {0xc0fc, 0xe58288},
+  {0xc0fd, 0xe4be8b},
+  {0xc0fe, 0xe4bf90},
+  {0xc140, 0xe7bd96},
+  {0xc141, 0xe7bd99},
+  {0xc142, 0xe7bd9b},
+  {0xc143, 0xe7bd9c},
+  {0xc144, 0xe7bd9d},
+  {0xc145, 0xe7bd9e},
+  {0xc146, 0xe7bda0},
+  {0xc147, 0xe7bda3},
+  {0xc148, 0xe7bda4},
+  {0xc149, 0xe7bda5},
+  {0xc14a, 0xe7bda6},
+  {0xc14b, 0xe7bda7},
+  {0xc14c, 0xe7bdab},
+  {0xc14d, 0xe7bdac},
+  {0xc14e, 0xe7bdad},
+  {0xc14f, 0xe7bdaf},
+  {0xc150, 0xe7bdb0},
+  {0xc151, 0xe7bdb3},
+  {0xc152, 0xe7bdb5},
+  {0xc153, 0xe7bdb6},
+  {0xc154, 0xe7bdb7},
+  {0xc155, 0xe7bdb8},
+  {0xc156, 0xe7bdba},
+  {0xc157, 0xe7bdbb},
+  {0xc158, 0xe7bdbc},
+  {0xc159, 0xe7bdbd},
+  {0xc15a, 0xe7bdbf},
+  {0xc15b, 0xe7be80},
+  {0xc15c, 0xe7be82},
+  {0xc15d, 0xe7be83},
+  {0xc15e, 0xe7be84},
+  {0xc15f, 0xe7be85},
+  {0xc160, 0xe7be86},
+  {0xc161, 0xe7be87},
+  {0xc162, 0xe7be88},
+  {0xc163, 0xe7be89},
+  {0xc164, 0xe7be8b},
+  {0xc165, 0xe7be8d},
+  {0xc166, 0xe7be8f},
+  {0xc167, 0xe7be90},
+  {0xc168, 0xe7be91},
+  {0xc169, 0xe7be92},
+  {0xc16a, 0xe7be93},
+  {0xc16b, 0xe7be95},
+  {0xc16c, 0xe7be96},
+  {0xc16d, 0xe7be97},
+  {0xc16e, 0xe7be98},
+  {0xc16f, 0xe7be99},
+  {0xc170, 0xe7be9b},
+  {0xc171, 0xe7be9c},
+  {0xc172, 0xe7bea0},
+  {0xc173, 0xe7bea2},
+  {0xc174, 0xe7bea3},
+  {0xc175, 0xe7bea5},
+  {0xc176, 0xe7bea6},
+  {0xc177, 0xe7bea8},
+  {0xc178, 0xe7bea9},
+  {0xc179, 0xe7beaa},
+  {0xc17a, 0xe7beab},
+  {0xc17b, 0xe7beac},
+  {0xc17c, 0xe7bead},
+  {0xc17d, 0xe7beae},
+  {0xc17e, 0xe7beb1},
+  {0xc180, 0xe7beb3},
+  {0xc181, 0xe7beb4},
+  {0xc182, 0xe7beb5},
+  {0xc183, 0xe7beb6},
+  {0xc184, 0xe7beb7},
+  {0xc185, 0xe7beba},
+  {0xc186, 0xe7bebb},
+  {0xc187, 0xe7bebe},
+  {0xc188, 0xe7bf80},
+  {0xc189, 0xe7bf82},
+  {0xc18a, 0xe7bf83},
+  {0xc18b, 0xe7bf84},
+  {0xc18c, 0xe7bf86},
+  {0xc18d, 0xe7bf87},
+  {0xc18e, 0xe7bf88},
+  {0xc18f, 0xe7bf89},
+  {0xc190, 0xe7bf8b},
+  {0xc191, 0xe7bf8d},
+  {0xc192, 0xe7bf8f},
+  {0xc193, 0xe7bf90},
+  {0xc194, 0xe7bf91},
+  {0xc195, 0xe7bf92},
+  {0xc196, 0xe7bf93},
+  {0xc197, 0xe7bf96},
+  {0xc198, 0xe7bf97},
+  {0xc199, 0xe7bf99},
+  {0xc19a, 0xe7bf9a},
+  {0xc19b, 0xe7bf9b},
+  {0xc19c, 0xe7bf9c},
+  {0xc19d, 0xe7bf9d},
+  {0xc19e, 0xe7bf9e},
+  {0xc19f, 0xe7bfa2},
+  {0xc1a0, 0xe7bfa3},
+  {0xc1a1, 0xe797a2},
+  {0xc1a2, 0xe7ab8b},
+  {0xc1a3, 0xe7b292},
+  {0xc1a4, 0xe6b2a5},
+  {0xc1a5, 0xe99ab6},
+  {0xc1a6, 0xe58a9b},
+  {0xc1a7, 0xe79283},
+  {0xc1a8, 0xe593a9},
+  {0xc1a9, 0xe4bfa9},
+  {0xc1aa, 0xe88194},
+  {0xc1ab, 0xe88eb2},
+  {0xc1ac, 0xe8bf9e},
+  {0xc1ad, 0xe995b0},
+  {0xc1ae, 0xe5bb89},
+  {0xc1af, 0xe6809c},
+  {0xc1b0, 0xe6b69f},
+  {0xc1b1, 0xe5b898},
+  {0xc1b2, 0xe6959b},
+  {0xc1b3, 0xe884b8},
+  {0xc1b4, 0xe993be},
+  {0xc1b5, 0xe6818b},
+  {0xc1b6, 0xe782bc},
+  {0xc1b7, 0xe7bb83},
+  {0xc1b8, 0xe7b2ae},
+  {0xc1b9, 0xe58789},
+  {0xc1ba, 0xe6a281},
+  {0xc1bb, 0xe7b2b1},
+  {0xc1bc, 0xe889af},
+  {0xc1bd, 0xe4b8a4},
+  {0xc1be, 0xe8be86},
+  {0xc1bf, 0xe9878f},
+  {0xc1c0, 0xe699be},
+  {0xc1c1, 0xe4baae},
+  {0xc1c2, 0xe8b085},
+  {0xc1c3, 0xe692a9},
+  {0xc1c4, 0xe8818a},
+  {0xc1c5, 0xe5839a},
+  {0xc1c6, 0xe79697},
+  {0xc1c7, 0xe7878e},
+  {0xc1c8, 0xe5afa5},
+  {0xc1c9, 0xe8bebd},
+  {0xc1ca, 0xe6bda6},
+  {0xc1cb, 0xe4ba86},
+  {0xc1cc, 0xe69282},
+  {0xc1cd, 0xe995a3},
+  {0xc1ce, 0xe5bb96},
+  {0xc1cf, 0xe69699},
+  {0xc1d0, 0xe58897},
+  {0xc1d1, 0xe8a382},
+  {0xc1d2, 0xe78388},
+  {0xc1d3, 0xe58aa3},
+  {0xc1d4, 0xe78c8e},
+  {0xc1d5, 0xe790b3},
+  {0xc1d6, 0xe69e97},
+  {0xc1d7, 0xe7a3b7},
+  {0xc1d8, 0xe99c96},
+  {0xc1d9, 0xe4b8b4},
+  {0xc1da, 0xe982bb},
+  {0xc1db, 0xe9b39e},
+  {0xc1dc, 0xe6b78b},
+  {0xc1dd, 0xe5879b},
+  {0xc1de, 0xe8b581},
+  {0xc1df, 0xe5909d},
+  {0xc1e0, 0xe68b8e},
+  {0xc1e1, 0xe78eb2},
+  {0xc1e2, 0xe88fb1},
+  {0xc1e3, 0xe99bb6},
+  {0xc1e4, 0xe9be84},
+  {0xc1e5, 0xe99383},
+  {0xc1e6, 0xe4bcb6},
+  {0xc1e7, 0xe7be9a},
+  {0xc1e8, 0xe5878c},
+  {0xc1e9, 0xe781b5},
+  {0xc1ea, 0xe999b5},
+  {0xc1eb, 0xe5b2ad},
+  {0xc1ec, 0xe9a286},
+  {0xc1ed, 0xe58fa6},
+  {0xc1ee, 0xe4bba4},
+  {0xc1ef, 0xe6ba9c},
+  {0xc1f0, 0xe79089},
+  {0xc1f1, 0xe6a6b4},
+  {0xc1f2, 0xe7a1ab},
+  {0xc1f3, 0xe9a68f},
+  {0xc1f4, 0xe79599},
+  {0xc1f5, 0xe58898},
+  {0xc1f6, 0xe798a4},
+  {0xc1f7, 0xe6b581},
+  {0xc1f8, 0xe69fb3},
+  {0xc1f9, 0xe585ad},
+  {0xc1fa, 0xe9be99},
+  {0xc1fb, 0xe8818b},
+  {0xc1fc, 0xe59299},
+  {0xc1fd, 0xe7acbc},
+  {0xc1fe, 0xe7aabf},
+  {0xc240, 0xe7bfa4},
+  {0xc241, 0xe7bfa7},
+  {0xc242, 0xe7bfa8},
+  {0xc243, 0xe7bfaa},
+  {0xc244, 0xe7bfab},
+  {0xc245, 0xe7bfac},
+  {0xc246, 0xe7bfad},
+  {0xc247, 0xe7bfaf},
+  {0xc248, 0xe7bfb2},
+  {0xc249, 0xe7bfb4},
+  {0xc24a, 0xe7bfb5},
+  {0xc24b, 0xe7bfb6},
+  {0xc24c, 0xe7bfb7},
+  {0xc24d, 0xe7bfb8},
+  {0xc24e, 0xe7bfb9},
+  {0xc24f, 0xe7bfba},
+  {0xc250, 0xe7bfbd},
+  {0xc251, 0xe7bfbe},
+  {0xc252, 0xe7bfbf},
+  {0xc253, 0xe88082},
+  {0xc254, 0xe88087},
+  {0xc255, 0xe88088},
+  {0xc256, 0xe88089},
+  {0xc257, 0xe8808a},
+  {0xc258, 0xe8808e},
+  {0xc259, 0xe8808f},
+  {0xc25a, 0xe88091},
+  {0xc25b, 0xe88093},
+  {0xc25c, 0xe8809a},
+  {0xc25d, 0xe8809b},
+  {0xc25e, 0xe8809d},
+  {0xc25f, 0xe8809e},
+  {0xc260, 0xe8809f},
+  {0xc261, 0xe880a1},
+  {0xc262, 0xe880a3},
+  {0xc263, 0xe880a4},
+  {0xc264, 0xe880ab},
+  {0xc265, 0xe880ac},
+  {0xc266, 0xe880ad},
+  {0xc267, 0xe880ae},
+  {0xc268, 0xe880af},
+  {0xc269, 0xe880b0},
+  {0xc26a, 0xe880b2},
+  {0xc26b, 0xe880b4},
+  {0xc26c, 0xe880b9},
+  {0xc26d, 0xe880ba},
+  {0xc26e, 0xe880bc},
+  {0xc26f, 0xe880be},
+  {0xc270, 0xe88180},
+  {0xc271, 0xe88181},
+  {0xc272, 0xe88184},
+  {0xc273, 0xe88185},
+  {0xc274, 0xe88187},
+  {0xc275, 0xe88188},
+  {0xc276, 0xe88189},
+  {0xc277, 0xe8818e},
+  {0xc278, 0xe8818f},
+  {0xc279, 0xe88190},
+  {0xc27a, 0xe88191},
+  {0xc27b, 0xe88193},
+  {0xc27c, 0xe88195},
+  {0xc27d, 0xe88196},
+  {0xc27e, 0xe88197},
+  {0xc280, 0xe88199},
+  {0xc281, 0xe8819b},
+  {0xc282, 0xe8819c},
+  {0xc283, 0xe8819d},
+  {0xc284, 0xe8819e},
+  {0xc285, 0xe8819f},
+  {0xc286, 0xe881a0},
+  {0xc287, 0xe881a1},
+  {0xc288, 0xe881a2},
+  {0xc289, 0xe881a3},
+  {0xc28a, 0xe881a4},
+  {0xc28b, 0xe881a5},
+  {0xc28c, 0xe881a6},
+  {0xc28d, 0xe881a7},
+  {0xc28e, 0xe881a8},
+  {0xc28f, 0xe881ab},
+  {0xc290, 0xe881ac},
+  {0xc291, 0xe881ad},
+  {0xc292, 0xe881ae},
+  {0xc293, 0xe881af},
+  {0xc294, 0xe881b0},
+  {0xc295, 0xe881b2},
+  {0xc296, 0xe881b3},
+  {0xc297, 0xe881b4},
+  {0xc298, 0xe881b5},
+  {0xc299, 0xe881b6},
+  {0xc29a, 0xe881b7},
+  {0xc29b, 0xe881b8},
+  {0xc29c, 0xe881b9},
+  {0xc29d, 0xe881ba},
+  {0xc29e, 0xe881bb},
+  {0xc29f, 0xe881bc},
+  {0xc2a0, 0xe881bd},
+  {0xc2a1, 0xe99a86},
+  {0xc2a2, 0xe59e84},
+  {0xc2a3, 0xe68ba2},
+  {0xc2a4, 0xe99987},
+  {0xc2a5, 0xe6a5bc},
+  {0xc2a6, 0xe5a884},
+  {0xc2a7, 0xe69082},
+  {0xc2a8, 0xe7af93},
+  {0xc2a9, 0xe6bc8f},
+  {0xc2aa, 0xe9998b},
+  {0xc2ab, 0xe88aa6},
+  {0xc2ac, 0xe58da2},
+  {0xc2ad, 0xe9a285},
+  {0xc2ae, 0xe5ba90},
+  {0xc2af, 0xe78289},
+  {0xc2b0, 0xe68eb3},
+  {0xc2b1, 0xe58da4},
+  {0xc2b2, 0xe8998f},
+  {0xc2b3, 0xe9b281},
+  {0xc2b4, 0xe9ba93},
+  {0xc2b5, 0xe7a28c},
+  {0xc2b6, 0xe99cb2},
+  {0xc2b7, 0xe8b7af},
+  {0xc2b8, 0xe8b582},
+  {0xc2b9, 0xe9b9bf},
+  {0xc2ba, 0xe6bd9e},
+  {0xc2bb, 0xe7a684},
+  {0xc2bc, 0xe5bd95},
+  {0xc2bd, 0xe99986},
+  {0xc2be, 0xe688ae},
+  {0xc2bf, 0xe9a9b4},
+  {0xc2c0, 0xe59095},
+  {0xc2c1, 0xe9939d},
+  {0xc2c2, 0xe4bea3},
+  {0xc2c3, 0xe69785},
+  {0xc2c4, 0xe5b1a5},
+  {0xc2c5, 0xe5b1a1},
+  {0xc2c6, 0xe7bc95},
+  {0xc2c7, 0xe89991},
+  {0xc2c8, 0xe6b0af},
+  {0xc2c9, 0xe5be8b},
+  {0xc2ca, 0xe78e87},
+  {0xc2cb, 0xe6bba4},
+  {0xc2cc, 0xe7bbbf},
+  {0xc2cd, 0xe5b3a6},
+  {0xc2ce, 0xe68c9b},
+  {0xc2cf, 0xe5adaa},
+  {0xc2d0, 0xe6bba6},
+  {0xc2d1, 0xe58db5},
+  {0xc2d2, 0xe4b9b1},
+  {0xc2d3, 0xe68ea0},
+  {0xc2d4, 0xe795a5},
+  {0xc2d5, 0xe68aa1},
+  {0xc2d6, 0xe8bdae},
+  {0xc2d7, 0xe4bca6},
+  {0xc2d8, 0xe4bb91},
+  {0xc2d9, 0xe6b2a6},
+  {0xc2da, 0xe7bab6},
+  {0xc2db, 0xe8aeba},
+  {0xc2dc, 0xe8909d},
+  {0xc2dd, 0xe89eba},
+  {0xc2de, 0xe7bd97},
+  {0xc2df, 0xe980bb},
+  {0xc2e0, 0xe994a3},
+  {0xc2e1, 0xe7aea9},
+  {0xc2e2, 0xe9aaa1},
+  {0xc2e3, 0xe8a3b8},
+  {0xc2e4, 0xe890bd},
+  {0xc2e5, 0xe6b49b},
+  {0xc2e6, 0xe9aa86},
+  {0xc2e7, 0xe7bb9c},
+  {0xc2e8, 0xe5a688},
+  {0xc2e9, 0xe9babb},
+  {0xc2ea, 0xe78e9b},
+  {0xc2eb, 0xe7a081},
+  {0xc2ec, 0xe89a82},
+  {0xc2ed, 0xe9a9ac},
+  {0xc2ee, 0xe9aa82},
+  {0xc2ef, 0xe5989b},
+  {0xc2f0, 0xe59097},
+  {0xc2f1, 0xe59f8b},
+  {0xc2f2, 0xe4b9b0},
+  {0xc2f3, 0xe9baa6},
+  {0xc2f4, 0xe58d96},
+  {0xc2f5, 0xe8bf88},
+  {0xc2f6, 0xe88489},
+  {0xc2f7, 0xe79e92},
+  {0xc2f8, 0xe9a692},
+  {0xc2f9, 0xe89bae},
+  {0xc2fa, 0xe6bba1},
+  {0xc2fb, 0xe89493},
+  {0xc2fc, 0xe69bbc},
+  {0xc2fd, 0xe685a2},
+  {0xc2fe, 0xe6bcab},
+  {0xc340, 0xe881be},
+  {0xc341, 0xe88281},
+  {0xc342, 0xe88282},
+  {0xc343, 0xe88285},
+  {0xc344, 0xe88288},
+  {0xc345, 0xe8828a},
+  {0xc346, 0xe8828d},
+  {0xc347, 0xe8828e},
+  {0xc348, 0xe8828f},
+  {0xc349, 0xe88290},
+  {0xc34a, 0xe88291},
+  {0xc34b, 0xe88292},
+  {0xc34c, 0xe88294},
+  {0xc34d, 0xe88295},
+  {0xc34e, 0xe88297},
+  {0xc34f, 0xe88299},
+  {0xc350, 0xe8829e},
+  {0xc351, 0xe882a3},
+  {0xc352, 0xe882a6},
+  {0xc353, 0xe882a7},
+  {0xc354, 0xe882a8},
+  {0xc355, 0xe882ac},
+  {0xc356, 0xe882b0},
+  {0xc357, 0xe882b3},
+  {0xc358, 0xe882b5},
+  {0xc359, 0xe882b6},
+  {0xc35a, 0xe882b8},
+  {0xc35b, 0xe882b9},
+  {0xc35c, 0xe882bb},
+  {0xc35d, 0xe88385},
+  {0xc35e, 0xe88387},
+  {0xc35f, 0xe88388},
+  {0xc360, 0xe88389},
+  {0xc361, 0xe8838a},
+  {0xc362, 0xe8838b},
+  {0xc363, 0xe8838f},
+  {0xc364, 0xe88390},
+  {0xc365, 0xe88391},
+  {0xc366, 0xe88392},
+  {0xc367, 0xe88393},
+  {0xc368, 0xe88394},
+  {0xc369, 0xe88395},
+  {0xc36a, 0xe88398},
+  {0xc36b, 0xe8839f},
+  {0xc36c, 0xe883a0},
+  {0xc36d, 0xe883a2},
+  {0xc36e, 0xe883a3},
+  {0xc36f, 0xe883a6},
+  {0xc370, 0xe883ae},
+  {0xc371, 0xe883b5},
+  {0xc372, 0xe883b7},
+  {0xc373, 0xe883b9},
+  {0xc374, 0xe883bb},
+  {0xc375, 0xe883be},
+  {0xc376, 0xe883bf},
+  {0xc377, 0xe88480},
+  {0xc378, 0xe88481},
+  {0xc379, 0xe88483},
+  {0xc37a, 0xe88484},
+  {0xc37b, 0xe88485},
+  {0xc37c, 0xe88487},
+  {0xc37d, 0xe88488},
+  {0xc37e, 0xe8848b},
+  {0xc380, 0xe8848c},
+  {0xc381, 0xe88495},
+  {0xc382, 0xe88497},
+  {0xc383, 0xe88499},
+  {0xc384, 0xe8849b},
+  {0xc385, 0xe8849c},
+  {0xc386, 0xe8849d},
+  {0xc387, 0xe8849f},
+  {0xc388, 0xe884a0},
+  {0xc389, 0xe884a1},
+  {0xc38a, 0xe884a2},
+  {0xc38b, 0xe884a3},
+  {0xc38c, 0xe884a4},
+  {0xc38d, 0xe884a5},
+  {0xc38e, 0xe884a6},
+  {0xc38f, 0xe884a7},
+  {0xc390, 0xe884a8},
+  {0xc391, 0xe884a9},
+  {0xc392, 0xe884aa},
+  {0xc393, 0xe884ab},
+  {0xc394, 0xe884ad},
+  {0xc395, 0xe884ae},
+  {0xc396, 0xe884b0},
+  {0xc397, 0xe884b3},
+  {0xc398, 0xe884b4},
+  {0xc399, 0xe884b5},
+  {0xc39a, 0xe884b7},
+  {0xc39b, 0xe884b9},
+  {0xc39c, 0xe884ba},
+  {0xc39d, 0xe884bb},
+  {0xc39e, 0xe884bc},
+  {0xc39f, 0xe884bd},
+  {0xc3a0, 0xe884bf},
+  {0xc3a1, 0xe8b0a9},
+  {0xc3a2, 0xe88a92},
+  {0xc3a3, 0xe88cab},
+  {0xc3a4, 0xe79bb2},
+  {0xc3a5, 0xe6b093},
+  {0xc3a6, 0xe5bf99},
+  {0xc3a7, 0xe88ebd},
+  {0xc3a8, 0xe78cab},
+  {0xc3a9, 0xe88c85},
+  {0xc3aa, 0xe9949a},
+  {0xc3ab, 0xe6af9b},
+  {0xc3ac, 0xe79f9b},
+  {0xc3ad, 0xe99386},
+  {0xc3ae, 0xe58daf},
+  {0xc3af, 0xe88c82},
+  {0xc3b0, 0xe58692},
+  {0xc3b1, 0xe5b8bd},
+  {0xc3b2, 0xe8b28c},
+  {0xc3b3, 0xe8b4b8},
+  {0xc3b4, 0xe4b988},
+  {0xc3b5, 0xe78eab},
+  {0xc3b6, 0xe69e9a},
+  {0xc3b7, 0xe6a285},
+  {0xc3b8, 0xe985b6},
+  {0xc3b9, 0xe99c89},
+  {0xc3ba, 0xe785a4},
+  {0xc3bb, 0xe6b2a1},
+  {0xc3bc, 0xe79c89},
+  {0xc3bd, 0xe5aa92},
+  {0xc3be, 0xe99581},
+  {0xc3bf, 0xe6af8f},
+  {0xc3c0, 0xe7be8e},
+  {0xc3c1, 0xe698a7},
+  {0xc3c2, 0xe5af90},
+  {0xc3c3, 0xe5a6b9},
+  {0xc3c4, 0xe5aa9a},
+  {0xc3c5, 0xe997a8},
+  {0xc3c6, 0xe997b7},
+  {0xc3c7, 0xe4bbac},
+  {0xc3c8, 0xe8908c},
+  {0xc3c9, 0xe89299},
+  {0xc3ca, 0xe6aaac},
+  {0xc3cb, 0xe79b9f},
+  {0xc3cc, 0xe994b0},
+  {0xc3cd, 0xe78c9b},
+  {0xc3ce, 0xe6a2a6},
+  {0xc3cf, 0xe5ad9f},
+  {0xc3d0, 0xe79caf},
+  {0xc3d1, 0xe9869a},
+  {0xc3d2, 0xe99da1},
+  {0xc3d3, 0xe7b39c},
+  {0xc3d4, 0xe8bfb7},
+  {0xc3d5, 0xe8b09c},
+  {0xc3d6, 0xe5bca5},
+  {0xc3d7, 0xe7b1b3},
+  {0xc3d8, 0xe7a798},
+  {0xc3d9, 0xe8a785},
+  {0xc3da, 0xe6b38c},
+  {0xc3db, 0xe89c9c},
+  {0xc3dc, 0xe5af86},
+  {0xc3dd, 0xe5b982},
+  {0xc3de, 0xe6a389},
+  {0xc3df, 0xe79ca0},
+  {0xc3e0, 0xe7bbb5},
+  {0xc3e1, 0xe58695},
+  {0xc3e2, 0xe5858d},
+  {0xc3e3, 0xe58b89},
+  {0xc3e4, 0xe5a8a9},
+  {0xc3e5, 0xe7bc85},
+  {0xc3e6, 0xe99da2},
+  {0xc3e7, 0xe88b97},
+  {0xc3e8, 0xe68f8f},
+  {0xc3e9, 0xe79e84},
+  {0xc3ea, 0xe89790},
+  {0xc3eb, 0xe7a792},
+  {0xc3ec, 0xe6b8ba},
+  {0xc3ed, 0xe5ba99},
+  {0xc3ee, 0xe5a699},
+  {0xc3ef, 0xe89491},
+  {0xc3f0, 0xe781ad},
+  {0xc3f1, 0xe6b091},
+  {0xc3f2, 0xe68abf},
+  {0xc3f3, 0xe79abf},
+  {0xc3f4, 0xe6958f},
+  {0xc3f5, 0xe682af},
+  {0xc3f6, 0xe997bd},
+  {0xc3f7, 0xe6988e},
+  {0xc3f8, 0xe89e9f},
+  {0xc3f9, 0xe9b8a3},
+  {0xc3fa, 0xe993ad},
+  {0xc3fb, 0xe5908d},
+  {0xc3fc, 0xe591bd},
+  {0xc3fd, 0xe8b0ac},
+  {0xc3fe, 0xe691b8},
+  {0xc440, 0xe88580},
+  {0xc441, 0xe88581},
+  {0xc442, 0xe88582},
+  {0xc443, 0xe88583},
+  {0xc444, 0xe88584},
+  {0xc445, 0xe88585},
+  {0xc446, 0xe88587},
+  {0xc447, 0xe88589},
+  {0xc448, 0xe8858d},
+  {0xc449, 0xe8858e},
+  {0xc44a, 0xe8858f},
+  {0xc44b, 0xe88592},
+  {0xc44c, 0xe88596},
+  {0xc44d, 0xe88597},
+  {0xc44e, 0xe88598},
+  {0xc44f, 0xe8859b},
+  {0xc450, 0xe8859c},
+  {0xc451, 0xe8859d},
+  {0xc452, 0xe8859e},
+  {0xc453, 0xe8859f},
+  {0xc454, 0xe885a1},
+  {0xc455, 0xe885a2},
+  {0xc456, 0xe885a3},
+  {0xc457, 0xe885a4},
+  {0xc458, 0xe885a6},
+  {0xc459, 0xe885a8},
+  {0xc45a, 0xe885aa},
+  {0xc45b, 0xe885ab},
+  {0xc45c, 0xe885ac},
+  {0xc45d, 0xe885af},
+  {0xc45e, 0xe885b2},
+  {0xc45f, 0xe885b3},
+  {0xc460, 0xe885b5},
+  {0xc461, 0xe885b6},
+  {0xc462, 0xe885b7},
+  {0xc463, 0xe885b8},
+  {0xc464, 0xe88681},
+  {0xc465, 0xe88683},
+  {0xc466, 0xe88684},
+  {0xc467, 0xe88685},
+  {0xc468, 0xe88686},
+  {0xc469, 0xe88687},
+  {0xc46a, 0xe88689},
+  {0xc46b, 0xe8868b},
+  {0xc46c, 0xe8868c},
+  {0xc46d, 0xe8868d},
+  {0xc46e, 0xe8868e},
+  {0xc46f, 0xe88690},
+  {0xc470, 0xe88692},
+  {0xc471, 0xe88693},
+  {0xc472, 0xe88694},
+  {0xc473, 0xe88695},
+  {0xc474, 0xe88696},
+  {0xc475, 0xe88697},
+  {0xc476, 0xe88699},
+  {0xc477, 0xe8869a},
+  {0xc478, 0xe8869e},
+  {0xc479, 0xe8869f},
+  {0xc47a, 0xe886a0},
+  {0xc47b, 0xe886a1},
+  {0xc47c, 0xe886a2},
+  {0xc47d, 0xe886a4},
+  {0xc47e, 0xe886a5},
+  {0xc480, 0xe886a7},
+  {0xc481, 0xe886a9},
+  {0xc482, 0xe886ab},
+  {0xc483, 0xe886ac},
+  {0xc484, 0xe886ad},
+  {0xc485, 0xe886ae},
+  {0xc486, 0xe886af},
+  {0xc487, 0xe886b0},
+  {0xc488, 0xe886b1},
+  {0xc489, 0xe886b2},
+  {0xc48a, 0xe886b4},
+  {0xc48b, 0xe886b5},
+  {0xc48c, 0xe886b6},
+  {0xc48d, 0xe886b7},
+  {0xc48e, 0xe886b8},
+  {0xc48f, 0xe886b9},
+  {0xc490, 0xe886bc},
+  {0xc491, 0xe886bd},
+  {0xc492, 0xe886be},
+  {0xc493, 0xe886bf},
+  {0xc494, 0xe88784},
+  {0xc495, 0xe88785},
+  {0xc496, 0xe88787},
+  {0xc497, 0xe88788},
+  {0xc498, 0xe88789},
+  {0xc499, 0xe8878b},
+  {0xc49a, 0xe8878d},
+  {0xc49b, 0xe8878e},
+  {0xc49c, 0xe8878f},
+  {0xc49d, 0xe88790},
+  {0xc49e, 0xe88791},
+  {0xc49f, 0xe88792},
+  {0xc4a0, 0xe88793},
+  {0xc4a1, 0xe691b9},
+  {0xc4a2, 0xe89891},
+  {0xc4a3, 0xe6a8a1},
+  {0xc4a4, 0xe8869c},
+  {0xc4a5, 0xe7a3a8},
+  {0xc4a6, 0xe691a9},
+  {0xc4a7, 0xe9ad94},
+  {0xc4a8, 0xe68ab9},
+  {0xc4a9, 0xe69cab},
+  {0xc4aa, 0xe88eab},
+  {0xc4ab, 0xe5a2a8},
+  {0xc4ac, 0xe9bb98},
+  {0xc4ad, 0xe6b2ab},
+  {0xc4ae, 0xe6bca0},
+  {0xc4af, 0xe5af9e},
+  {0xc4b0, 0xe9998c},
+  {0xc4b1, 0xe8b08b},
+  {0xc4b2, 0xe7899f},
+  {0xc4b3, 0xe69f90},
+  {0xc4b4, 0xe68b87},
+  {0xc4b5, 0xe789a1},
+  {0xc4b6, 0xe4baa9},
+  {0xc4b7, 0xe5a786},
+  {0xc4b8, 0xe6af8d},
+  {0xc4b9, 0xe5a293},
+  {0xc4ba, 0xe69aae},
+  {0xc4bb, 0xe5b995},
+  {0xc4bc, 0xe58b9f},
+  {0xc4bd, 0xe68595},
+  {0xc4be, 0xe69ca8},
+  {0xc4bf, 0xe79bae},
+  {0xc4c0, 0xe79da6},
+  {0xc4c1, 0xe789a7},
+  {0xc4c2, 0xe7a986},
+  {0xc4c3, 0xe68bbf},
+  {0xc4c4, 0xe593aa},
+  {0xc4c5, 0xe59190},
+  {0xc4c6, 0xe992a0},
+  {0xc4c7, 0xe982a3},
+  {0xc4c8, 0xe5a89c},
+  {0xc4c9, 0xe7bab3},
+  {0xc4ca, 0xe6b096},
+  {0xc4cb, 0xe4b983},
+  {0xc4cc, 0xe5a5b6},
+  {0xc4cd, 0xe88090},
+  {0xc4ce, 0xe5a588},
+  {0xc4cf, 0xe58d97},
+  {0xc4d0, 0xe794b7},
+  {0xc4d1, 0xe99abe},
+  {0xc4d2, 0xe59b8a},
+  {0xc4d3, 0xe68ca0},
+  {0xc4d4, 0xe88491},
+  {0xc4d5, 0xe681bc},
+  {0xc4d6, 0xe997b9},
+  {0xc4d7, 0xe6b796},
+  {0xc4d8, 0xe591a2},
+  {0xc4d9, 0xe9a681},
+  {0xc4da, 0xe58685},
+  {0xc4db, 0xe5aba9},
+  {0xc4dc, 0xe883bd},
+  {0xc4dd, 0xe5a6ae},
+  {0xc4de, 0xe99c93},
+  {0xc4df, 0xe580aa},
+  {0xc4e0, 0xe6b3a5},
+  {0xc4e1, 0xe5b0bc},
+  {0xc4e2, 0xe68b9f},
+  {0xc4e3, 0xe4bda0},
+  {0xc4e4, 0xe58cbf},
+  {0xc4e5, 0xe885bb},
+  {0xc4e6, 0xe98086},
+  {0xc4e7, 0xe6baba},
+  {0xc4e8, 0xe894ab},
+  {0xc4e9, 0xe68b88},
+  {0xc4ea, 0xe5b9b4},
+  {0xc4eb, 0xe7a2be},
+  {0xc4ec, 0xe692b5},
+  {0xc4ed, 0xe68dbb},
+  {0xc4ee, 0xe5bfb5},
+  {0xc4ef, 0xe5a898},
+  {0xc4f0, 0xe985bf},
+  {0xc4f1, 0xe9b89f},
+  {0xc4f2, 0xe5b0bf},
+  {0xc4f3, 0xe68d8f},
+  {0xc4f4, 0xe88182},
+  {0xc4f5, 0xe5adbd},
+  {0xc4f6, 0xe595ae},
+  {0xc4f7, 0xe9958a},
+  {0xc4f8, 0xe9958d},
+  {0xc4f9, 0xe6b685},
+  {0xc4fa, 0xe682a8},
+  {0xc4fb, 0xe69fa0},
+  {0xc4fc, 0xe78b9e},
+  {0xc4fd, 0xe5879d},
+  {0xc4fe, 0xe5ae81},
+  {0xc540, 0xe88794},
+  {0xc541, 0xe88795},
+  {0xc542, 0xe88796},
+  {0xc543, 0xe88797},
+  {0xc544, 0xe88798},
+  {0xc545, 0xe88799},
+  {0xc546, 0xe8879a},
+  {0xc547, 0xe8879b},
+  {0xc548, 0xe8879c},
+  {0xc549, 0xe8879d},
+  {0xc54a, 0xe8879e},
+  {0xc54b, 0xe8879f},
+  {0xc54c, 0xe887a0},
+  {0xc54d, 0xe887a1},
+  {0xc54e, 0xe887a2},
+  {0xc54f, 0xe887a4},
+  {0xc550, 0xe887a5},
+  {0xc551, 0xe887a6},
+  {0xc552, 0xe887a8},
+  {0xc553, 0xe887a9},
+  {0xc554, 0xe887ab},
+  {0xc555, 0xe887ae},
+  {0xc556, 0xe887af},
+  {0xc557, 0xe887b0},
+  {0xc558, 0xe887b1},
+  {0xc559, 0xe887b2},
+  {0xc55a, 0xe887b5},
+  {0xc55b, 0xe887b6},
+  {0xc55c, 0xe887b7},
+  {0xc55d, 0xe887b8},
+  {0xc55e, 0xe887b9},
+  {0xc55f, 0xe887ba},
+  {0xc560, 0xe887bd},
+  {0xc561, 0xe887bf},
+  {0xc562, 0xe88883},
+  {0xc563, 0xe88887},
+  {0xc564, 0xe88888},
+  {0xc565, 0xe88889},
+  {0xc566, 0xe8888a},
+  {0xc567, 0xe8888b},
+  {0xc568, 0xe8888e},
+  {0xc569, 0xe8888f},
+  {0xc56a, 0xe88891},
+  {0xc56b, 0xe88893},
+  {0xc56c, 0xe88895},
+  {0xc56d, 0xe88896},
+  {0xc56e, 0xe88897},
+  {0xc56f, 0xe88898},
+  {0xc570, 0xe88899},
+  {0xc571, 0xe8889a},
+  {0xc572, 0xe8889d},
+  {0xc573, 0xe888a0},
+  {0xc574, 0xe888a4},
+  {0xc575, 0xe888a5},
+  {0xc576, 0xe888a6},
+  {0xc577, 0xe888a7},
+  {0xc578, 0xe888a9},
+  {0xc579, 0xe888ae},
+  {0xc57a, 0xe888b2},
+  {0xc57b, 0xe888ba},
+  {0xc57c, 0xe888bc},
+  {0xc57d, 0xe888bd},
+  {0xc57e, 0xe888bf},
+  {0xc580, 0xe88980},
+  {0xc581, 0xe88981},
+  {0xc582, 0xe88982},
+  {0xc583, 0xe88983},
+  {0xc584, 0xe88985},
+  {0xc585, 0xe88986},
+  {0xc586, 0xe88988},
+  {0xc587, 0xe8898a},
+  {0xc588, 0xe8898c},
+  {0xc589, 0xe8898d},
+  {0xc58a, 0xe8898e},
+  {0xc58b, 0xe88990},
+  {0xc58c, 0xe88991},
+  {0xc58d, 0xe88992},
+  {0xc58e, 0xe88993},
+  {0xc58f, 0xe88994},
+  {0xc590, 0xe88995},
+  {0xc591, 0xe88996},
+  {0xc592, 0xe88997},
+  {0xc593, 0xe88999},
+  {0xc594, 0xe8899b},
+  {0xc595, 0xe8899c},
+  {0xc596, 0xe8899d},
+  {0xc597, 0xe8899e},
+  {0xc598, 0xe889a0},
+  {0xc599, 0xe889a1},
+  {0xc59a, 0xe889a2},
+  {0xc59b, 0xe889a3},
+  {0xc59c, 0xe889a4},
+  {0xc59d, 0xe889a5},
+  {0xc59e, 0xe889a6},
+  {0xc59f, 0xe889a7},
+  {0xc5a0, 0xe889a9},
+  {0xc5a1, 0xe68ba7},
+  {0xc5a2, 0xe6b39e},
+  {0xc5a3, 0xe7899b},
+  {0xc5a4, 0xe689ad},
+  {0xc5a5, 0xe992ae},
+  {0xc5a6, 0xe7babd},
+  {0xc5a7, 0xe88493},
+  {0xc5a8, 0xe6b593},
+  {0xc5a9, 0xe5869c},
+  {0xc5aa, 0xe5bc84},
+  {0xc5ab, 0xe5a5b4},
+  {0xc5ac, 0xe58aaa},
+  {0xc5ad, 0xe68092},
+  {0xc5ae, 0xe5a5b3},
+  {0xc5af, 0xe69a96},
+  {0xc5b0, 0xe89990},
+  {0xc5b1, 0xe7969f},
+  {0xc5b2, 0xe68caa},
+  {0xc5b3, 0xe687a6},
+  {0xc5b4, 0xe7b3af},
+  {0xc5b5, 0xe8afba},
+  {0xc5b6, 0xe593a6},
+  {0xc5b7, 0xe6aca7},
+  {0xc5b8, 0xe9b8a5},
+  {0xc5b9, 0xe6aeb4},
+  {0xc5ba, 0xe89795},
+  {0xc5bb, 0xe59195},
+  {0xc5bc, 0xe581b6},
+  {0xc5bd, 0xe6b2a4},
+  {0xc5be, 0xe595aa},
+  {0xc5bf, 0xe8b6b4},
+  {0xc5c0, 0xe788ac},
+  {0xc5c1, 0xe5b895},
+  {0xc5c2, 0xe68095},
+  {0xc5c3, 0xe790b6},
+  {0xc5c4, 0xe68b8d},
+  {0xc5c5, 0xe68e92},
+  {0xc5c6, 0xe7898c},
+  {0xc5c7, 0xe5be98},
+  {0xc5c8, 0xe6b983},
+  {0xc5c9, 0xe6b4be},
+  {0xc5ca, 0xe69480},
+  {0xc5cb, 0xe6bd98},
+  {0xc5cc, 0xe79b98},
+  {0xc5cd, 0xe7a390},
+  {0xc5ce, 0xe79bbc},
+  {0xc5cf, 0xe79594},
+  {0xc5d0, 0xe588a4},
+  {0xc5d1, 0xe58f9b},
+  {0xc5d2, 0xe4b993},
+  {0xc5d3, 0xe5ba9e},
+  {0xc5d4, 0xe69781},
+  {0xc5d5, 0xe880aa},
+  {0xc5d6, 0xe88396},
+  {0xc5d7, 0xe68a9b},
+  {0xc5d8, 0xe59286},
+  {0xc5d9, 0xe588a8},
+  {0xc5da, 0xe782ae},
+  {0xc5db, 0xe8a28d},
+  {0xc5dc, 0xe8b791},
+  {0xc5dd, 0xe6b3a1},
+  {0xc5de, 0xe591b8},
+  {0xc5df, 0xe8839a},
+  {0xc5e0, 0xe59fb9},
+  {0xc5e1, 0xe8a3b4},
+  {0xc5e2, 0xe8b594},
+  {0xc5e3, 0xe999aa},
+  {0xc5e4, 0xe9858d},
+  {0xc5e5, 0xe4bda9},
+  {0xc5e6, 0xe6b29b},
+  {0xc5e7, 0xe596b7},
+  {0xc5e8, 0xe79b86},
+  {0xc5e9, 0xe7a0b0},
+  {0xc5ea, 0xe68aa8},
+  {0xc5eb, 0xe783b9},
+  {0xc5ec, 0xe6be8e},
+  {0xc5ed, 0xe5bdad},
+  {0xc5ee, 0xe893ac},
+  {0xc5ef, 0xe6a39a},
+  {0xc5f0, 0xe7a1bc},
+  {0xc5f1, 0xe7afb7},
+  {0xc5f2, 0xe886a8},
+  {0xc5f3, 0xe69c8b},
+  {0xc5f4, 0xe9b98f},
+  {0xc5f5, 0xe68da7},
+  {0xc5f6, 0xe7a2b0},
+  {0xc5f7, 0xe59daf},
+  {0xc5f8, 0xe7a092},
+  {0xc5f9, 0xe99cb9},
+  {0xc5fa, 0xe689b9},
+  {0xc5fb, 0xe68aab},
+  {0xc5fc, 0xe58a88},
+  {0xc5fd, 0xe790b5},
+  {0xc5fe, 0xe6af97},
+  {0xc640, 0xe889aa},
+  {0xc641, 0xe889ab},
+  {0xc642, 0xe889ac},
+  {0xc643, 0xe889ad},
+  {0xc644, 0xe889b1},
+  {0xc645, 0xe889b5},
+  {0xc646, 0xe889b6},
+  {0xc647, 0xe889b7},
+  {0xc648, 0xe889b8},
+  {0xc649, 0xe889bb},
+  {0xc64a, 0xe889bc},
+  {0xc64b, 0xe88a80},
+  {0xc64c, 0xe88a81},
+  {0xc64d, 0xe88a83},
+  {0xc64e, 0xe88a85},
+  {0xc64f, 0xe88a86},
+  {0xc650, 0xe88a87},
+  {0xc651, 0xe88a89},
+  {0xc652, 0xe88a8c},
+  {0xc653, 0xe88a90},
+  {0xc654, 0xe88a93},
+  {0xc655, 0xe88a94},
+  {0xc656, 0xe88a95},
+  {0xc657, 0xe88a96},
+  {0xc658, 0xe88a9a},
+  {0xc659, 0xe88a9b},
+  {0xc65a, 0xe88a9e},
+  {0xc65b, 0xe88aa0},
+  {0xc65c, 0xe88aa2},
+  {0xc65d, 0xe88aa3},
+  {0xc65e, 0xe88aa7},
+  {0xc65f, 0xe88ab2},
+  {0xc660, 0xe88ab5},
+  {0xc661, 0xe88ab6},
+  {0xc662, 0xe88aba},
+  {0xc663, 0xe88abb},
+  {0xc664, 0xe88abc},
+  {0xc665, 0xe88abf},
+  {0xc666, 0xe88b80},
+  {0xc667, 0xe88b82},
+  {0xc668, 0xe88b83},
+  {0xc669, 0xe88b85},
+  {0xc66a, 0xe88b86},
+  {0xc66b, 0xe88b89},
+  {0xc66c, 0xe88b90},
+  {0xc66d, 0xe88b96},
+  {0xc66e, 0xe88b99},
+  {0xc66f, 0xe88b9a},
+  {0xc670, 0xe88b9d},
+  {0xc671, 0xe88ba2},
+  {0xc672, 0xe88ba7},
+  {0xc673, 0xe88ba8},
+  {0xc674, 0xe88ba9},
+  {0xc675, 0xe88baa},
+  {0xc676, 0xe88bac},
+  {0xc677, 0xe88bad},
+  {0xc678, 0xe88bae},
+  {0xc679, 0xe88bb0},
+  {0xc67a, 0xe88bb2},
+  {0xc67b, 0xe88bb3},
+  {0xc67c, 0xe88bb5},
+  {0xc67d, 0xe88bb6},
+  {0xc67e, 0xe88bb8},
+  {0xc680, 0xe88bba},
+  {0xc681, 0xe88bbc},
+  {0xc682, 0xe88bbd},
+  {0xc683, 0xe88bbe},
+  {0xc684, 0xe88bbf},
+  {0xc685, 0xe88c80},
+  {0xc686, 0xe88c8a},
+  {0xc687, 0xe88c8b},
+  {0xc688, 0xe88c8d},
+  {0xc689, 0xe88c90},
+  {0xc68a, 0xe88c92},
+  {0xc68b, 0xe88c93},
+  {0xc68c, 0xe88c96},
+  {0xc68d, 0xe88c98},
+  {0xc68e, 0xe88c99},
+  {0xc68f, 0xe88c9d},
+  {0xc690, 0xe88c9e},
+  {0xc691, 0xe88c9f},
+  {0xc692, 0xe88ca0},
+  {0xc693, 0xe88ca1},
+  {0xc694, 0xe88ca2},
+  {0xc695, 0xe88ca3},
+  {0xc696, 0xe88ca4},
+  {0xc697, 0xe88ca5},
+  {0xc698, 0xe88ca6},
+  {0xc699, 0xe88ca9},
+  {0xc69a, 0xe88caa},
+  {0xc69b, 0xe88cae},
+  {0xc69c, 0xe88cb0},
+  {0xc69d, 0xe88cb2},
+  {0xc69e, 0xe88cb7},
+  {0xc69f, 0xe88cbb},
+  {0xc6a0, 0xe88cbd},
+  {0xc6a1, 0xe595a4},
+  {0xc6a2, 0xe884be},
+  {0xc6a3, 0xe796b2},
+  {0xc6a4, 0xe79aae},
+  {0xc6a5, 0xe58cb9},
+  {0xc6a6, 0xe7979e},
+  {0xc6a7, 0xe583bb},
+  {0xc6a8, 0xe5b181},
+  {0xc6a9, 0xe8adac},
+  {0xc6aa, 0xe7af87},
+  {0xc6ab, 0xe5818f},
+  {0xc6ac, 0xe78987},
+  {0xc6ad, 0xe9aa97},
+  {0xc6ae, 0xe9a398},
+  {0xc6af, 0xe6bc82},
+  {0xc6b0, 0xe793a2},
+  {0xc6b1, 0xe7a5a8},
+  {0xc6b2, 0xe69287},
+  {0xc6b3, 0xe79ea5},
+  {0xc6b4, 0xe68bbc},
+  {0xc6b5, 0xe9a291},
+  {0xc6b6, 0xe8b4ab},
+  {0xc6b7, 0xe59381},
+  {0xc6b8, 0xe88198},
+  {0xc6b9, 0xe4b992},
+  {0xc6ba, 0xe59daa},
+  {0xc6bb, 0xe88bb9},
+  {0xc6bc, 0xe8908d},
+  {0xc6bd, 0xe5b9b3},
+  {0xc6be, 0xe587ad},
+  {0xc6bf, 0xe793b6},
+  {0xc6c0, 0xe8af84},
+  {0xc6c1, 0xe5b18f},
+  {0xc6c2, 0xe59da1},
+  {0xc6c3, 0xe6b3bc},
+  {0xc6c4, 0xe9a287},
+  {0xc6c5, 0xe5a986},
+  {0xc6c6, 0xe7a0b4},
+  {0xc6c7, 0xe9ad84},
+  {0xc6c8, 0xe8bfab},
+  {0xc6c9, 0xe7b295},
+  {0xc6ca, 0xe58996},
+  {0xc6cb, 0xe68991},
+  {0xc6cc, 0xe993ba},
+  {0xc6cd, 0xe4bb86},
+  {0xc6ce, 0xe88e86},
+  {0xc6cf, 0xe891a1},
+  {0xc6d0, 0xe88fa9},
+  {0xc6d1, 0xe892b2},
+  {0xc6d2, 0xe59f94},
+  {0xc6d3, 0xe69cb4},
+  {0xc6d4, 0xe59c83},
+  {0xc6d5, 0xe699ae},
+  {0xc6d6, 0xe6b5a6},
+  {0xc6d7, 0xe8b0b1},
+  {0xc6d8, 0xe69b9d},
+  {0xc6d9, 0xe78091},
+  {0xc6da, 0xe69c9f},
+  {0xc6db, 0xe6acba},
+  {0xc6dc, 0xe6a096},
+  {0xc6dd, 0xe6889a},
+  {0xc6de, 0xe5a6bb},
+  {0xc6df, 0xe4b883},
+  {0xc6e0, 0xe58784},
+  {0xc6e1, 0xe6bc86},
+  {0xc6e2, 0xe69f92},
+  {0xc6e3, 0xe6b28f},
+  {0xc6e4, 0xe585b6},
+  {0xc6e5, 0xe6a38b},
+  {0xc6e6, 0xe5a587},
+  {0xc6e7, 0xe6ada7},
+  {0xc6e8, 0xe795a6},
+  {0xc6e9, 0xe5b48e},
+  {0xc6ea, 0xe88490},
+  {0xc6eb, 0xe9bd90},
+  {0xc6ec, 0xe69797},
+  {0xc6ed, 0xe7a588},
+  {0xc6ee, 0xe7a581},
+  {0xc6ef, 0xe9aa91},
+  {0xc6f0, 0xe8b5b7},
+  {0xc6f1, 0xe5b282},
+  {0xc6f2, 0xe4b99e},
+  {0xc6f3, 0xe4bc81},
+  {0xc6f4, 0xe590af},
+  {0xc6f5, 0xe5a591},
+  {0xc6f6, 0xe7a08c},
+  {0xc6f7, 0xe599a8},
+  {0xc6f8, 0xe6b094},
+  {0xc6f9, 0xe8bf84},
+  {0xc6fa, 0xe5bc83},
+  {0xc6fb, 0xe6b1bd},
+  {0xc6fc, 0xe6b3a3},
+  {0xc6fd, 0xe8aeab},
+  {0xc6fe, 0xe68e90},
+  {0xc740, 0xe88cbe},
+  {0xc741, 0xe88cbf},
+  {0xc742, 0xe88d81},
+  {0xc743, 0xe88d82},
+  {0xc744, 0xe88d84},
+  {0xc745, 0xe88d85},
+  {0xc746, 0xe88d88},
+  {0xc747, 0xe88d8a},
+  {0xc748, 0xe88d8b},
+  {0xc749, 0xe88d8c},
+  {0xc74a, 0xe88d8d},
+  {0xc74b, 0xe88d8e},
+  {0xc74c, 0xe88d93},
+  {0xc74d, 0xe88d95},
+  {0xc74e, 0xe88d96},
+  {0xc74f, 0xe88d97},
+  {0xc750, 0xe88d98},
+  {0xc751, 0xe88d99},
+  {0xc752, 0xe88d9d},
+  {0xc753, 0xe88da2},
+  {0xc754, 0xe88db0},
+  {0xc755, 0xe88db1},
+  {0xc756, 0xe88db2},
+  {0xc757, 0xe88db3},
+  {0xc758, 0xe88db4},
+  {0xc759, 0xe88db5},
+  {0xc75a, 0xe88db6},
+  {0xc75b, 0xe88db9},
+  {0xc75c, 0xe88dba},
+  {0xc75d, 0xe88dbe},
+  {0xc75e, 0xe88dbf},
+  {0xc75f, 0xe88e80},
+  {0xc760, 0xe88e81},
+  {0xc761, 0xe88e82},
+  {0xc762, 0xe88e83},
+  {0xc763, 0xe88e84},
+  {0xc764, 0xe88e87},
+  {0xc765, 0xe88e88},
+  {0xc766, 0xe88e8a},
+  {0xc767, 0xe88e8b},
+  {0xc768, 0xe88e8c},
+  {0xc769, 0xe88e8d},
+  {0xc76a, 0xe88e8f},
+  {0xc76b, 0xe88e90},
+  {0xc76c, 0xe88e91},
+  {0xc76d, 0xe88e94},
+  {0xc76e, 0xe88e95},
+  {0xc76f, 0xe88e96},
+  {0xc770, 0xe88e97},
+  {0xc771, 0xe88e99},
+  {0xc772, 0xe88e9a},
+  {0xc773, 0xe88e9d},
+  {0xc774, 0xe88e9f},
+  {0xc775, 0xe88ea1},
+  {0xc776, 0xe88ea2},
+  {0xc777, 0xe88ea3},
+  {0xc778, 0xe88ea4},
+  {0xc779, 0xe88ea5},
+  {0xc77a, 0xe88ea6},
+  {0xc77b, 0xe88ea7},
+  {0xc77c, 0xe88eac},
+  {0xc77d, 0xe88ead},
+  {0xc77e, 0xe88eae},
+  {0xc780, 0xe88eaf},
+  {0xc781, 0xe88eb5},
+  {0xc782, 0xe88ebb},
+  {0xc783, 0xe88ebe},
+  {0xc784, 0xe88ebf},
+  {0xc785, 0xe88f82},
+  {0xc786, 0xe88f83},
+  {0xc787, 0xe88f84},
+  {0xc788, 0xe88f86},
+  {0xc789, 0xe88f88},
+  {0xc78a, 0xe88f89},
+  {0xc78b, 0xe88f8b},
+  {0xc78c, 0xe88f8d},
+  {0xc78d, 0xe88f8e},
+  {0xc78e, 0xe88f90},
+  {0xc78f, 0xe88f91},
+  {0xc790, 0xe88f92},
+  {0xc791, 0xe88f93},
+  {0xc792, 0xe88f95},
+  {0xc793, 0xe88f97},
+  {0xc794, 0xe88f99},
+  {0xc795, 0xe88f9a},
+  {0xc796, 0xe88f9b},
+  {0xc797, 0xe88f9e},
+  {0xc798, 0xe88fa2},
+  {0xc799, 0xe88fa3},
+  {0xc79a, 0xe88fa4},
+  {0xc79b, 0xe88fa6},
+  {0xc79c, 0xe88fa7},
+  {0xc79d, 0xe88fa8},
+  {0xc79e, 0xe88fab},
+  {0xc79f, 0xe88fac},
+  {0xc7a0, 0xe88fad},
+  {0xc7a1, 0xe681b0},
+  {0xc7a2, 0xe6b4bd},
+  {0xc7a3, 0xe789b5},
+  {0xc7a4, 0xe689a6},
+  {0xc7a5, 0xe9928e},
+  {0xc7a6, 0xe99385},
+  {0xc7a7, 0xe58d83},
+  {0xc7a8, 0xe8bf81},
+  {0xc7a9, 0xe7adbe},
+  {0xc7aa, 0xe4bb9f},
+  {0xc7ab, 0xe8b0a6},
+  {0xc7ac, 0xe4b9be},
+  {0xc7ad, 0xe9bb94},
+  {0xc7ae, 0xe992b1},
+  {0xc7af, 0xe992b3},
+  {0xc7b0, 0xe5898d},
+  {0xc7b1, 0xe6bd9c},
+  {0xc7b2, 0xe981a3},
+  {0xc7b3, 0xe6b585},
+  {0xc7b4, 0xe8b0b4},
+  {0xc7b5, 0xe5a091},
+  {0xc7b6, 0xe5b58c},
+  {0xc7b7, 0xe6aca0},
+  {0xc7b8, 0xe6ad89},
+  {0xc7b9, 0xe69eaa},
+  {0xc7ba, 0xe5919b},
+  {0xc7bb, 0xe88594},
+  {0xc7bc, 0xe7be8c},
+  {0xc7bd, 0xe5a299},
+  {0xc7be, 0xe894b7},
+  {0xc7bf, 0xe5bcba},
+  {0xc7c0, 0xe68aa2},
+  {0xc7c1, 0xe6a987},
+  {0xc7c2, 0xe994b9},
+  {0xc7c3, 0xe695b2},
+  {0xc7c4, 0xe68284},
+  {0xc7c5, 0xe6a1a5},
+  {0xc7c6, 0xe79ea7},
+  {0xc7c7, 0xe4b994},
+  {0xc7c8, 0xe4bea8},
+  {0xc7c9, 0xe5b7a7},
+  {0xc7ca, 0xe99e98},
+  {0xc7cb, 0xe692ac},
+  {0xc7cc, 0xe7bf98},
+  {0xc7cd, 0xe5b3ad},
+  {0xc7ce, 0xe4bf8f},
+  {0xc7cf, 0xe7aa8d},
+  {0xc7d0, 0xe58887},
+  {0xc7d1, 0xe88c84},
+  {0xc7d2, 0xe4b894},
+  {0xc7d3, 0xe680af},
+  {0xc7d4, 0xe7aa83},
+  {0xc7d5, 0xe992a6},
+  {0xc7d6, 0xe4beb5},
+  {0xc7d7, 0xe4bab2},
+  {0xc7d8, 0xe7a7a6},
+  {0xc7d9, 0xe790b4},
+  {0xc7da, 0xe58ba4},
+  {0xc7db, 0xe88ab9},
+  {0xc7dc, 0xe69392},
+  {0xc7dd, 0xe7a6bd},
+  {0xc7de, 0xe5af9d},
+  {0xc7df, 0xe6b281},
+  {0xc7e0, 0xe99d92},
+  {0xc7e1, 0xe8bdbb},
+  {0xc7e2, 0xe6b0a2},
+  {0xc7e3, 0xe580be},
+  {0xc7e4, 0xe58dbf},
+  {0xc7e5, 0xe6b885},
+  {0xc7e6, 0xe6938e},
+  {0xc7e7, 0xe699b4},
+  {0xc7e8, 0xe6b0b0},
+  {0xc7e9, 0xe68385},
+  {0xc7ea, 0xe9a1b7},
+  {0xc7eb, 0xe8afb7},
+  {0xc7ec, 0xe5ba86},
+  {0xc7ed, 0xe790bc},
+  {0xc7ee, 0xe7a9b7},
+  {0xc7ef, 0xe7a78b},
+  {0xc7f0, 0xe4b898},
+  {0xc7f1, 0xe982b1},
+  {0xc7f2, 0xe79083},
+  {0xc7f3, 0xe6b182},
+  {0xc7f4, 0xe59b9a},
+  {0xc7f5, 0xe9858b},
+  {0xc7f6, 0xe6b385},
+  {0xc7f7, 0xe8b68b},
+  {0xc7f8, 0xe58cba},
+  {0xc7f9, 0xe89b86},
+  {0xc7fa, 0xe69bb2},
+  {0xc7fb, 0xe8baaf},
+  {0xc7fc, 0xe5b188},
+  {0xc7fd, 0xe9a9b1},
+  {0xc7fe, 0xe6b8a0},
+  {0xc840, 0xe88fae},
+  {0xc841, 0xe88faf},
+  {0xc842, 0xe88fb3},
+  {0xc843, 0xe88fb4},
+  {0xc844, 0xe88fb5},
+  {0xc845, 0xe88fb6},
+  {0xc846, 0xe88fb7},
+  {0xc847, 0xe88fba},
+  {0xc848, 0xe88fbb},
+  {0xc849, 0xe88fbc},
+  {0xc84a, 0xe88fbe},
+  {0xc84b, 0xe88fbf},
+  {0xc84c, 0xe89080},
+  {0xc84d, 0xe89082},
+  {0xc84e, 0xe89085},
+  {0xc84f, 0xe89087},
+  {0xc850, 0xe89088},
+  {0xc851, 0xe89089},
+  {0xc852, 0xe8908a},
+  {0xc853, 0xe89090},
+  {0xc854, 0xe89092},
+  {0xc855, 0xe89093},
+  {0xc856, 0xe89094},
+  {0xc857, 0xe89095},
+  {0xc858, 0xe89096},
+  {0xc859, 0xe89097},
+  {0xc85a, 0xe89099},
+  {0xc85b, 0xe8909a},
+  {0xc85c, 0xe8909b},
+  {0xc85d, 0xe8909e},
+  {0xc85e, 0xe8909f},
+  {0xc85f, 0xe890a0},
+  {0xc860, 0xe890a1},
+  {0xc861, 0xe890a2},
+  {0xc862, 0xe890a3},
+  {0xc863, 0xe890a9},
+  {0xc864, 0xe890aa},
+  {0xc865, 0xe890ab},
+  {0xc866, 0xe890ac},
+  {0xc867, 0xe890ad},
+  {0xc868, 0xe890ae},
+  {0xc869, 0xe890af},
+  {0xc86a, 0xe890b0},
+  {0xc86b, 0xe890b2},
+  {0xc86c, 0xe890b3},
+  {0xc86d, 0xe890b4},
+  {0xc86e, 0xe890b5},
+  {0xc86f, 0xe890b6},
+  {0xc870, 0xe890b7},
+  {0xc871, 0xe890b9},
+  {0xc872, 0xe890ba},
+  {0xc873, 0xe890bb},
+  {0xc874, 0xe890be},
+  {0xc875, 0xe890bf},
+  {0xc876, 0xe89180},
+  {0xc877, 0xe89181},
+  {0xc878, 0xe89182},
+  {0xc879, 0xe89183},
+  {0xc87a, 0xe89184},
+  {0xc87b, 0xe89185},
+  {0xc87c, 0xe89187},
+  {0xc87d, 0xe89188},
+  {0xc87e, 0xe89189},
+  {0xc880, 0xe8918a},
+  {0xc881, 0xe8918b},
+  {0xc882, 0xe8918c},
+  {0xc883, 0xe8918d},
+  {0xc884, 0xe8918e},
+  {0xc885, 0xe8918f},
+  {0xc886, 0xe89190},
+  {0xc887, 0xe89192},
+  {0xc888, 0xe89193},
+  {0xc889, 0xe89194},
+  {0xc88a, 0xe89195},
+  {0xc88b, 0xe89196},
+  {0xc88c, 0xe89198},
+  {0xc88d, 0xe8919d},
+  {0xc88e, 0xe8919e},
+  {0xc88f, 0xe8919f},
+  {0xc890, 0xe891a0},
+  {0xc891, 0xe891a2},
+  {0xc892, 0xe891a4},
+  {0xc893, 0xe891a5},
+  {0xc894, 0xe891a6},
+  {0xc895, 0xe891a7},
+  {0xc896, 0xe891a8},
+  {0xc897, 0xe891aa},
+  {0xc898, 0xe891ae},
+  {0xc899, 0xe891af},
+  {0xc89a, 0xe891b0},
+  {0xc89b, 0xe891b2},
+  {0xc89c, 0xe891b4},
+  {0xc89d, 0xe891b7},
+  {0xc89e, 0xe891b9},
+  {0xc89f, 0xe891bb},
+  {0xc8a0, 0xe891bc},
+  {0xc8a1, 0xe58f96},
+  {0xc8a2, 0xe5a8b6},
+  {0xc8a3, 0xe9be8b},
+  {0xc8a4, 0xe8b6a3},
+  {0xc8a5, 0xe58ebb},
+  {0xc8a6, 0xe59c88},
+  {0xc8a7, 0xe9a2a7},
+  {0xc8a8, 0xe69d83},
+  {0xc8a9, 0xe9869b},
+  {0xc8aa, 0xe6b389},
+  {0xc8ab, 0xe585a8},
+  {0xc8ac, 0xe7978a},
+  {0xc8ad, 0xe68bb3},
+  {0xc8ae, 0xe78aac},
+  {0xc8af, 0xe588b8},
+  {0xc8b0, 0xe58a9d},
+  {0xc8b1, 0xe7bcba},
+  {0xc8b2, 0xe78294},
+  {0xc8b3, 0xe798b8},
+  {0xc8b4, 0xe58db4},
+  {0xc8b5, 0xe9b98a},
+  {0xc8b6, 0xe6a6b7},
+  {0xc8b7, 0xe7a1ae},
+  {0xc8b8, 0xe99b80},
+  {0xc8b9, 0xe8a399},
+  {0xc8ba, 0xe7bea4},
+  {0xc8bb, 0xe784b6},
+  {0xc8bc, 0xe78783},
+  {0xc8bd, 0xe58689},
+  {0xc8be, 0xe69f93},
+  {0xc8bf, 0xe793a4},
+  {0xc8c0, 0xe5a3a4},
+  {0xc8c1, 0xe69498},
+  {0xc8c2, 0xe59ab7},
+  {0xc8c3, 0xe8aea9},
+  {0xc8c4, 0xe9a5b6},
+  {0xc8c5, 0xe689b0},
+  {0xc8c6, 0xe7bb95},
+  {0xc8c7, 0xe683b9},
+  {0xc8c8, 0xe783ad},
+  {0xc8c9, 0xe5a3ac},
+  {0xc8ca, 0xe4bb81},
+  {0xc8cb, 0xe4baba},
+  {0xc8cc, 0xe5bf8d},
+  {0xc8cd, 0xe99fa7},
+  {0xc8ce, 0xe4bbbb},
+  {0xc8cf, 0xe8aea4},
+  {0xc8d0, 0xe58883},
+  {0xc8d1, 0xe5a68a},
+  {0xc8d2, 0xe7baab},
+  {0xc8d3, 0xe68994},
+  {0xc8d4, 0xe4bb8d},
+  {0xc8d5, 0xe697a5},
+  {0xc8d6, 0xe6888e},
+  {0xc8d7, 0xe88cb8},
+  {0xc8d8, 0xe89389},
+  {0xc8d9, 0xe88da3},
+  {0xc8da, 0xe89e8d},
+  {0xc8db, 0xe78694},
+  {0xc8dc, 0xe6bab6},
+  {0xc8dd, 0xe5aeb9},
+  {0xc8de, 0xe7bb92},
+  {0xc8df, 0xe58697},
+  {0xc8e0, 0xe68f89},
+  {0xc8e1, 0xe69f94},
+  {0xc8e2, 0xe88289},
+  {0xc8e3, 0xe88cb9},
+  {0xc8e4, 0xe8a095},
+  {0xc8e5, 0xe58492},
+  {0xc8e6, 0xe5adba},
+  {0xc8e7, 0xe5a682},
+  {0xc8e8, 0xe8beb1},
+  {0xc8e9, 0xe4b9b3},
+  {0xc8ea, 0xe6b19d},
+  {0xc8eb, 0xe585a5},
+  {0xc8ec, 0xe8a4a5},
+  {0xc8ed, 0xe8bdaf},
+  {0xc8ee, 0xe998ae},
+  {0xc8ef, 0xe8958a},
+  {0xc8f0, 0xe7919e},
+  {0xc8f1, 0xe99490},
+  {0xc8f2, 0xe997b0},
+  {0xc8f3, 0xe6b6a6},
+  {0xc8f4, 0xe88ba5},
+  {0xc8f5, 0xe5bcb1},
+  {0xc8f6, 0xe69292},
+  {0xc8f7, 0xe6b492},
+  {0xc8f8, 0xe890a8},
+  {0xc8f9, 0xe885ae},
+  {0xc8fa, 0xe9b383},
+  {0xc8fb, 0xe5a19e},
+  {0xc8fc, 0xe8b59b},
+  {0xc8fd, 0xe4b889},
+  {0xc8fe, 0xe58f81},
+  {0xc940, 0xe891bd},
+  {0xc941, 0xe891be},
+  {0xc942, 0xe891bf},
+  {0xc943, 0xe89280},
+  {0xc944, 0xe89281},
+  {0xc945, 0xe89283},
+  {0xc946, 0xe89284},
+  {0xc947, 0xe89285},
+  {0xc948, 0xe89286},
+  {0xc949, 0xe8928a},
+  {0xc94a, 0xe8928d},
+  {0xc94b, 0xe8928f},
+  {0xc94c, 0xe89290},
+  {0xc94d, 0xe89291},
+  {0xc94e, 0xe89292},
+  {0xc94f, 0xe89293},
+  {0xc950, 0xe89294},
+  {0xc951, 0xe89295},
+  {0xc952, 0xe89296},
+  {0xc953, 0xe89298},
+  {0xc954, 0xe8929a},
+  {0xc955, 0xe8929b},
+  {0xc956, 0xe8929d},
+  {0xc957, 0xe8929e},
+  {0xc958, 0xe8929f},
+  {0xc959, 0xe892a0},
+  {0xc95a, 0xe892a2},
+  {0xc95b, 0xe892a3},
+  {0xc95c, 0xe892a4},
+  {0xc95d, 0xe892a5},
+  {0xc95e, 0xe892a6},
+  {0xc95f, 0xe892a7},
+  {0xc960, 0xe892a8},
+  {0xc961, 0xe892a9},
+  {0xc962, 0xe892aa},
+  {0xc963, 0xe892ab},
+  {0xc964, 0xe892ac},
+  {0xc965, 0xe892ad},
+  {0xc966, 0xe892ae},
+  {0xc967, 0xe892b0},
+  {0xc968, 0xe892b1},
+  {0xc969, 0xe892b3},
+  {0xc96a, 0xe892b5},
+  {0xc96b, 0xe892b6},
+  {0xc96c, 0xe892b7},
+  {0xc96d, 0xe892bb},
+  {0xc96e, 0xe892bc},
+  {0xc96f, 0xe892be},
+  {0xc970, 0xe89380},
+  {0xc971, 0xe89382},
+  {0xc972, 0xe89383},
+  {0xc973, 0xe89385},
+  {0xc974, 0xe89386},
+  {0xc975, 0xe89387},
+  {0xc976, 0xe89388},
+  {0xc977, 0xe8938b},
+  {0xc978, 0xe8938c},
+  {0xc979, 0xe8938e},
+  {0xc97a, 0xe8938f},
+  {0xc97b, 0xe89392},
+  {0xc97c, 0xe89394},
+  {0xc97d, 0xe89395},
+  {0xc97e, 0xe89397},
+  {0xc980, 0xe89398},
+  {0xc981, 0xe89399},
+  {0xc982, 0xe8939a},
+  {0xc983, 0xe8939b},
+  {0xc984, 0xe8939c},
+  {0xc985, 0xe8939e},
+  {0xc986, 0xe893a1},
+  {0xc987, 0xe893a2},
+  {0xc988, 0xe893a4},
+  {0xc989, 0xe893a7},
+  {0xc98a, 0xe893a8},
+  {0xc98b, 0xe893a9},
+  {0xc98c, 0xe893aa},
+  {0xc98d, 0xe893ab},
+  {0xc98e, 0xe893ad},
+  {0xc98f, 0xe893ae},
+  {0xc990, 0xe893af},
+  {0xc991, 0xe893b1},
+  {0xc992, 0xe893b2},
+  {0xc993, 0xe893b3},
+  {0xc994, 0xe893b4},
+  {0xc995, 0xe893b5},
+  {0xc996, 0xe893b6},
+  {0xc997, 0xe893b7},
+  {0xc998, 0xe893b8},
+  {0xc999, 0xe893b9},
+  {0xc99a, 0xe893ba},
+  {0xc99b, 0xe893bb},
+  {0xc99c, 0xe893bd},
+  {0xc99d, 0xe893be},
+  {0xc99e, 0xe89480},
+  {0xc99f, 0xe89481},
+  {0xc9a0, 0xe89482},
+  {0xc9a1, 0xe4bc9e},
+  {0xc9a2, 0xe695a3},
+  {0xc9a3, 0xe6a191},
+  {0xc9a4, 0xe59793},
+  {0xc9a5, 0xe4b8a7},
+  {0xc9a6, 0xe69094},
+  {0xc9a7, 0xe9aa9a},
+  {0xc9a8, 0xe689ab},
+  {0xc9a9, 0xe5ab82},
+  {0xc9aa, 0xe7919f},
+  {0xc9ab, 0xe889b2},
+  {0xc9ac, 0xe6b6a9},
+  {0xc9ad, 0xe6a3ae},
+  {0xc9ae, 0xe583a7},
+  {0xc9af, 0xe88e8e},
+  {0xc9b0, 0xe7a082},
+  {0xc9b1, 0xe69d80},
+  {0xc9b2, 0xe588b9},
+  {0xc9b3, 0xe6b299},
+  {0xc9b4, 0xe7bab1},
+  {0xc9b5, 0xe582bb},
+  {0xc9b6, 0xe595a5},
+  {0xc9b7, 0xe7859e},
+  {0xc9b8, 0xe7ad9b},
+  {0xc9b9, 0xe69992},
+  {0xc9ba, 0xe78f8a},
+  {0xc9bb, 0xe88bab},
+  {0xc9bc, 0xe69d89},
+  {0xc9bd, 0xe5b1b1},
+  {0xc9be, 0xe588a0},
+  {0xc9bf, 0xe785bd},
+  {0xc9c0, 0xe8a1ab},
+  {0xc9c1, 0xe997aa},
+  {0xc9c2, 0xe99995},
+  {0xc9c3, 0xe69385},
+  {0xc9c4, 0xe8b5a1},
+  {0xc9c5, 0xe886b3},
+  {0xc9c6, 0xe59684},
+  {0xc9c7, 0xe6b195},
+  {0xc9c8, 0xe68987},
+  {0xc9c9, 0xe7bcae},
+  {0xc9ca, 0xe5a292},
+  {0xc9cb, 0xe4bca4},
+  {0xc9cc, 0xe59586},
+  {0xc9cd, 0xe8b58f},
+  {0xc9ce, 0xe6998c},
+  {0xc9cf, 0xe4b88a},
+  {0xc9d0, 0xe5b09a},
+  {0xc9d1, 0xe8a3b3},
+  {0xc9d2, 0xe6a2a2},
+  {0xc9d3, 0xe68d8e},
+  {0xc9d4, 0xe7a88d},
+  {0xc9d5, 0xe783a7},
+  {0xc9d6, 0xe88a8d},
+  {0xc9d7, 0xe58bba},
+  {0xc9d8, 0xe99fb6},
+  {0xc9d9, 0xe5b091},
+  {0xc9da, 0xe593a8},
+  {0xc9db, 0xe982b5},
+  {0xc9dc, 0xe7bb8d},
+  {0xc9dd, 0xe5a5a2},
+  {0xc9de, 0xe8b58a},
+  {0xc9df, 0xe89b87},
+  {0xc9e0, 0xe8888c},
+  {0xc9e1, 0xe8888d},
+  {0xc9e2, 0xe8b5a6},
+  {0xc9e3, 0xe69184},
+  {0xc9e4, 0xe5b084},
+  {0xc9e5, 0xe68591},
+  {0xc9e6, 0xe6b689},
+  {0xc9e7, 0xe7a4be},
+  {0xc9e8, 0xe8aebe},
+  {0xc9e9, 0xe7a0b7},
+  {0xc9ea, 0xe794b3},
+  {0xc9eb, 0xe591bb},
+  {0xc9ec, 0xe4bcb8},
+  {0xc9ed, 0xe8baab},
+  {0xc9ee, 0xe6b7b1},
+  {0xc9ef, 0xe5a8a0},
+  {0xc9f0, 0xe7bb85},
+  {0xc9f1, 0xe7a59e},
+  {0xc9f2, 0xe6b288},
+  {0xc9f3, 0xe5aea1},
+  {0xc9f4, 0xe5a9b6},
+  {0xc9f5, 0xe7949a},
+  {0xc9f6, 0xe882be},
+  {0xc9f7, 0xe6858e},
+  {0xc9f8, 0xe6b897},
+  {0xc9f9, 0xe5a3b0},
+  {0xc9fa, 0xe7949f},
+  {0xc9fb, 0xe794a5},
+  {0xc9fc, 0xe789b2},
+  {0xc9fd, 0xe58d87},
+  {0xc9fe, 0xe7bbb3},
+  {0xca40, 0xe89483},
+  {0xca41, 0xe89484},
+  {0xca42, 0xe89485},
+  {0xca43, 0xe89486},
+  {0xca44, 0xe89487},
+  {0xca45, 0xe89488},
+  {0xca46, 0xe89489},
+  {0xca47, 0xe8948a},
+  {0xca48, 0xe8948b},
+  {0xca49, 0xe8948d},
+  {0xca4a, 0xe8948e},
+  {0xca4b, 0xe8948f},
+  {0xca4c, 0xe89490},
+  {0xca4d, 0xe89492},
+  {0xca4e, 0xe89494},
+  {0xca4f, 0xe89495},
+  {0xca50, 0xe89496},
+  {0xca51, 0xe89498},
+  {0xca52, 0xe89499},
+  {0xca53, 0xe8949b},
+  {0xca54, 0xe8949c},
+  {0xca55, 0xe8949d},
+  {0xca56, 0xe8949e},
+  {0xca57, 0xe894a0},
+  {0xca58, 0xe894a2},
+  {0xca59, 0xe894a3},
+  {0xca5a, 0xe894a4},
+  {0xca5b, 0xe894a5},
+  {0xca5c, 0xe894a6},
+  {0xca5d, 0xe894a7},
+  {0xca5e, 0xe894a8},
+  {0xca5f, 0xe894a9},
+  {0xca60, 0xe894aa},
+  {0xca61, 0xe894ad},
+  {0xca62, 0xe894ae},
+  {0xca63, 0xe894af},
+  {0xca64, 0xe894b0},
+  {0xca65, 0xe894b1},
+  {0xca66, 0xe894b2},
+  {0xca67, 0xe894b3},
+  {0xca68, 0xe894b4},
+  {0xca69, 0xe894b5},
+  {0xca6a, 0xe894b6},
+  {0xca6b, 0xe894be},
+  {0xca6c, 0xe894bf},
+  {0xca6d, 0xe89580},
+  {0xca6e, 0xe89581},
+  {0xca6f, 0xe89582},
+  {0xca70, 0xe89584},
+  {0xca71, 0xe89585},
+  {0xca72, 0xe89586},
+  {0xca73, 0xe89587},
+  {0xca74, 0xe8958b},
+  {0xca75, 0xe8958c},
+  {0xca76, 0xe8958d},
+  {0xca77, 0xe8958e},
+  {0xca78, 0xe8958f},
+  {0xca79, 0xe89590},
+  {0xca7a, 0xe89591},
+  {0xca7b, 0xe89592},
+  {0xca7c, 0xe89593},
+  {0xca7d, 0xe89594},
+  {0xca7e, 0xe89595},
+  {0xca80, 0xe89597},
+  {0xca81, 0xe89598},
+  {0xca82, 0xe8959a},
+  {0xca83, 0xe8959b},
+  {0xca84, 0xe8959c},
+  {0xca85, 0xe8959d},
+  {0xca86, 0xe8959f},
+  {0xca87, 0xe895a0},
+  {0xca88, 0xe895a1},
+  {0xca89, 0xe895a2},
+  {0xca8a, 0xe895a3},
+  {0xca8b, 0xe895a5},
+  {0xca8c, 0xe895a6},
+  {0xca8d, 0xe895a7},
+  {0xca8e, 0xe895a9},
+  {0xca8f, 0xe895aa},
+  {0xca90, 0xe895ab},
+  {0xca91, 0xe895ac},
+  {0xca92, 0xe895ad},
+  {0xca93, 0xe895ae},
+  {0xca94, 0xe895af},
+  {0xca95, 0xe895b0},
+  {0xca96, 0xe895b1},
+  {0xca97, 0xe895b3},
+  {0xca98, 0xe895b5},
+  {0xca99, 0xe895b6},
+  {0xca9a, 0xe895b7},
+  {0xca9b, 0xe895b8},
+  {0xca9c, 0xe895bc},
+  {0xca9d, 0xe895bd},
+  {0xca9e, 0xe895bf},
+  {0xca9f, 0xe89680},
+  {0xcaa0, 0xe89681},
+  {0xcaa1, 0xe79c81},
+  {0xcaa2, 0xe79b9b},
+  {0xcaa3, 0xe589a9},
+  {0xcaa4, 0xe8839c},
+  {0xcaa5, 0xe59ca3},
+  {0xcaa6, 0xe5b888},
+  {0xcaa7, 0xe5a4b1},
+  {0xcaa8, 0xe78bae},
+  {0xcaa9, 0xe696bd},
+  {0xcaaa, 0xe6b9bf},
+  {0xcaab, 0xe8af97},
+  {0xcaac, 0xe5b0b8},
+  {0xcaad, 0xe899b1},
+  {0xcaae, 0xe58d81},
+  {0xcaaf, 0xe79fb3},
+  {0xcab0, 0xe68bbe},
+  {0xcab1, 0xe697b6},
+  {0xcab2, 0xe4bb80},
+  {0xcab3, 0xe9a39f},
+  {0xcab4, 0xe89a80},
+  {0xcab5, 0xe5ae9e},
+  {0xcab6, 0xe8af86},
+  {0xcab7, 0xe58fb2},
+  {0xcab8, 0xe79fa2},
+  {0xcab9, 0xe4bdbf},
+  {0xcaba, 0xe5b18e},
+  {0xcabb, 0xe9a9b6},
+  {0xcabc, 0xe5a78b},
+  {0xcabd, 0xe5bc8f},
+  {0xcabe, 0xe7a4ba},
+  {0xcabf, 0xe5a3ab},
+  {0xcac0, 0xe4b896},
+  {0xcac1, 0xe69fbf},
+  {0xcac2, 0xe4ba8b},
+  {0xcac3, 0xe68bad},
+  {0xcac4, 0xe8aa93},
+  {0xcac5, 0xe9809d},
+  {0xcac6, 0xe58abf},
+  {0xcac7, 0xe698af},
+  {0xcac8, 0xe5979c},
+  {0xcac9, 0xe599ac},
+  {0xcaca, 0xe98082},
+  {0xcacb, 0xe4bb95},
+  {0xcacc, 0xe4be8d},
+  {0xcacd, 0xe9878a},
+  {0xcace, 0xe9a5b0},
+  {0xcacf, 0xe6b08f},
+  {0xcad0, 0xe5b882},
+  {0xcad1, 0xe68183},
+  {0xcad2, 0xe5aea4},
+  {0xcad3, 0xe8a786},
+  {0xcad4, 0xe8af95},
+  {0xcad5, 0xe694b6},
+  {0xcad6, 0xe6898b},
+  {0xcad7, 0xe9a696},
+  {0xcad8, 0xe5ae88},
+  {0xcad9, 0xe5afbf},
+  {0xcada, 0xe68e88},
+  {0xcadb, 0xe594ae},
+  {0xcadc, 0xe58f97},
+  {0xcadd, 0xe798a6},
+  {0xcade, 0xe585bd},
+  {0xcadf, 0xe894ac},
+  {0xcae0, 0xe69ea2},
+  {0xcae1, 0xe6a2b3},
+  {0xcae2, 0xe6ae8a},
+  {0xcae3, 0xe68a92},
+  {0xcae4, 0xe8be93},
+  {0xcae5, 0xe58f94},
+  {0xcae6, 0xe88892},
+  {0xcae7, 0xe6b791},
+  {0xcae8, 0xe7968f},
+  {0xcae9, 0xe4b9a6},
+  {0xcaea, 0xe8b58e},
+  {0xcaeb, 0xe5adb0},
+  {0xcaec, 0xe7869f},
+  {0xcaed, 0xe896af},
+  {0xcaee, 0xe69a91},
+  {0xcaef, 0xe69b99},
+  {0xcaf0, 0xe7bdb2},
+  {0xcaf1, 0xe89c80},
+  {0xcaf2, 0xe9bb8d},
+  {0xcaf3, 0xe9bca0},
+  {0xcaf4, 0xe5b19e},
+  {0xcaf5, 0xe69caf},
+  {0xcaf6, 0xe8bfb0},
+  {0xcaf7, 0xe6a091},
+  {0xcaf8, 0xe69d9f},
+  {0xcaf9, 0xe6888d},
+  {0xcafa, 0xe7ab96},
+  {0xcafb, 0xe5a285},
+  {0xcafc, 0xe5bab6},
+  {0xcafd, 0xe695b0},
+  {0xcafe, 0xe6bcb1},
+  {0xcb40, 0xe89682},
+  {0xcb41, 0xe89683},
+  {0xcb42, 0xe89686},
+  {0xcb43, 0xe89688},
+  {0xcb44, 0xe89689},
+  {0xcb45, 0xe8968a},
+  {0xcb46, 0xe8968b},
+  {0xcb47, 0xe8968c},
+  {0xcb48, 0xe8968d},
+  {0xcb49, 0xe8968e},
+  {0xcb4a, 0xe89690},
+  {0xcb4b, 0xe89691},
+  {0xcb4c, 0xe89692},
+  {0xcb4d, 0xe89693},
+  {0xcb4e, 0xe89694},
+  {0xcb4f, 0xe89695},
+  {0xcb50, 0xe89696},
+  {0xcb51, 0xe89697},
+  {0xcb52, 0xe89698},
+  {0xcb53, 0xe89699},
+  {0xcb54, 0xe8969a},
+  {0xcb55, 0xe8969d},
+  {0xcb56, 0xe8969e},
+  {0xcb57, 0xe8969f},
+  {0xcb58, 0xe896a0},
+  {0xcb59, 0xe896a1},
+  {0xcb5a, 0xe896a2},
+  {0xcb5b, 0xe896a3},
+  {0xcb5c, 0xe896a5},
+  {0xcb5d, 0xe896a6},
+  {0xcb5e, 0xe896a7},
+  {0xcb5f, 0xe896a9},
+  {0xcb60, 0xe896ab},
+  {0xcb61, 0xe896ac},
+  {0xcb62, 0xe896ad},
+  {0xcb63, 0xe896b1},
+  {0xcb64, 0xe896b2},
+  {0xcb65, 0xe896b3},
+  {0xcb66, 0xe896b4},
+  {0xcb67, 0xe896b5},
+  {0xcb68, 0xe896b6},
+  {0xcb69, 0xe896b8},
+  {0xcb6a, 0xe896ba},
+  {0xcb6b, 0xe896bb},
+  {0xcb6c, 0xe896bc},
+  {0xcb6d, 0xe896bd},
+  {0xcb6e, 0xe896be},
+  {0xcb6f, 0xe896bf},
+  {0xcb70, 0xe89780},
+  {0xcb71, 0xe89782},
+  {0xcb72, 0xe89783},
+  {0xcb73, 0xe89784},
+  {0xcb74, 0xe89785},
+  {0xcb75, 0xe89786},
+  {0xcb76, 0xe89787},
+  {0xcb77, 0xe89788},
+  {0xcb78, 0xe8978a},
+  {0xcb79, 0xe8978b},
+  {0xcb7a, 0xe8978c},
+  {0xcb7b, 0xe8978d},
+  {0xcb7c, 0xe8978e},
+  {0xcb7d, 0xe89791},
+  {0xcb7e, 0xe89792},
+  {0xcb80, 0xe89794},
+  {0xcb81, 0xe89796},
+  {0xcb82, 0xe89797},
+  {0xcb83, 0xe89798},
+  {0xcb84, 0xe89799},
+  {0xcb85, 0xe8979a},
+  {0xcb86, 0xe8979b},
+  {0xcb87, 0xe8979d},
+  {0xcb88, 0xe8979e},
+  {0xcb89, 0xe8979f},
+  {0xcb8a, 0xe897a0},
+  {0xcb8b, 0xe897a1},
+  {0xcb8c, 0xe897a2},
+  {0xcb8d, 0xe897a3},
+  {0xcb8e, 0xe897a5},
+  {0xcb8f, 0xe897a6},
+  {0xcb90, 0xe897a7},
+  {0xcb91, 0xe897a8},
+  {0xcb92, 0xe897aa},
+  {0xcb93, 0xe897ab},
+  {0xcb94, 0xe897ac},
+  {0xcb95, 0xe897ad},
+  {0xcb96, 0xe897ae},
+  {0xcb97, 0xe897af},
+  {0xcb98, 0xe897b0},
+  {0xcb99, 0xe897b1},
+  {0xcb9a, 0xe897b2},
+  {0xcb9b, 0xe897b3},
+  {0xcb9c, 0xe897b4},
+  {0xcb9d, 0xe897b5},
+  {0xcb9e, 0xe897b6},
+  {0xcb9f, 0xe897b7},
+  {0xcba0, 0xe897b8},
+  {0xcba1, 0xe68195},
+  {0xcba2, 0xe588b7},
+  {0xcba3, 0xe8808d},
+  {0xcba4, 0xe69194},
+  {0xcba5, 0xe8a1b0},
+  {0xcba6, 0xe794a9},
+  {0xcba7, 0xe5b885},
+  {0xcba8, 0xe6a093},
+  {0xcba9, 0xe68bb4},
+  {0xcbaa, 0xe99c9c},
+  {0xcbab, 0xe58f8c},
+  {0xcbac, 0xe788bd},
+  {0xcbad, 0xe8b081},
+  {0xcbae, 0xe6b0b4},
+  {0xcbaf, 0xe79da1},
+  {0xcbb0, 0xe7a88e},
+  {0xcbb1, 0xe590ae},
+  {0xcbb2, 0xe79eac},
+  {0xcbb3, 0xe9a1ba},
+  {0xcbb4, 0xe8889c},
+  {0xcbb5, 0xe8afb4},
+  {0xcbb6, 0xe7a195},
+  {0xcbb7, 0xe69c94},
+  {0xcbb8, 0xe78381},
+  {0xcbb9, 0xe696af},
+  {0xcbba, 0xe69295},
+  {0xcbbb, 0xe598b6},
+  {0xcbbc, 0xe6809d},
+  {0xcbbd, 0xe7a781},
+  {0xcbbe, 0xe58fb8},
+  {0xcbbf, 0xe4b89d},
+  {0xcbc0, 0xe6adbb},
+  {0xcbc1, 0xe88286},
+  {0xcbc2, 0xe5afba},
+  {0xcbc3, 0xe597a3},
+  {0xcbc4, 0xe59b9b},
+  {0xcbc5, 0xe4bcba},
+  {0xcbc6, 0xe4bcbc},
+  {0xcbc7, 0xe9a5b2},
+  {0xcbc8, 0xe5b7b3},
+  {0xcbc9, 0xe69dbe},
+  {0xcbca, 0xe880b8},
+  {0xcbcb, 0xe68082},
+  {0xcbcc, 0xe9a282},
+  {0xcbcd, 0xe98081},
+  {0xcbce, 0xe5ae8b},
+  {0xcbcf, 0xe8aebc},
+  {0xcbd0, 0xe8afb5},
+  {0xcbd1, 0xe6909c},
+  {0xcbd2, 0xe88998},
+  {0xcbd3, 0xe6939e},
+  {0xcbd4, 0xe597bd},
+  {0xcbd5, 0xe88b8f},
+  {0xcbd6, 0xe985a5},
+  {0xcbd7, 0xe4bf97},
+  {0xcbd8, 0xe7b4a0},
+  {0xcbd9, 0xe9809f},
+  {0xcbda, 0xe7b29f},
+  {0xcbdb, 0xe583b3},
+  {0xcbdc, 0xe5a191},
+  {0xcbdd, 0xe6baaf},
+  {0xcbde, 0xe5aebf},
+  {0xcbdf, 0xe8af89},
+  {0xcbe0, 0xe88283},
+  {0xcbe1, 0xe985b8},
+  {0xcbe2, 0xe8929c},
+  {0xcbe3, 0xe7ae97},
+  {0xcbe4, 0xe899bd},
+  {0xcbe5, 0xe99a8b},
+  {0xcbe6, 0xe99a8f},
+  {0xcbe7, 0xe7bba5},
+  {0xcbe8, 0xe9ab93},
+  {0xcbe9, 0xe7a28e},
+  {0xcbea, 0xe5b281},
+  {0xcbeb, 0xe7a997},
+  {0xcbec, 0xe98182},
+  {0xcbed, 0xe99aa7},
+  {0xcbee, 0xe7a59f},
+  {0xcbef, 0xe5ad99},
+  {0xcbf0, 0xe68d9f},
+  {0xcbf1, 0xe7ac8b},
+  {0xcbf2, 0xe89391},
+  {0xcbf3, 0xe6a2ad},
+  {0xcbf4, 0xe59486},
+  {0xcbf5, 0xe7bca9},
+  {0xcbf6, 0xe79090},
+  {0xcbf7, 0xe7b4a2},
+  {0xcbf8, 0xe99481},
+  {0xcbf9, 0xe68980},
+  {0xcbfa, 0xe5a18c},
+  {0xcbfb, 0xe4bb96},
+  {0xcbfc, 0xe5ae83},
+  {0xcbfd, 0xe5a5b9},
+  {0xcbfe, 0xe5a194},
+  {0xcc40, 0xe897b9},
+  {0xcc41, 0xe897ba},
+  {0xcc42, 0xe897bc},
+  {0xcc43, 0xe897bd},
+  {0xcc44, 0xe897be},
+  {0xcc45, 0xe89880},
+  {0xcc46, 0xe89881},
+  {0xcc47, 0xe89882},
+  {0xcc48, 0xe89883},
+  {0xcc49, 0xe89884},
+  {0xcc4a, 0xe89886},
+  {0xcc4b, 0xe89887},
+  {0xcc4c, 0xe89888},
+  {0xcc4d, 0xe89889},
+  {0xcc4e, 0xe8988a},
+  {0xcc4f, 0xe8988b},
+  {0xcc50, 0xe8988c},
+  {0xcc51, 0xe8988d},
+  {0xcc52, 0xe8988e},
+  {0xcc53, 0xe8988f},
+  {0xcc54, 0xe89890},
+  {0xcc55, 0xe89892},
+  {0xcc56, 0xe89893},
+  {0xcc57, 0xe89894},
+  {0xcc58, 0xe89895},
+  {0xcc59, 0xe89897},
+  {0xcc5a, 0xe89898},
+  {0xcc5b, 0xe89899},
+  {0xcc5c, 0xe8989a},
+  {0xcc5d, 0xe8989b},
+  {0xcc5e, 0xe8989c},
+  {0xcc5f, 0xe8989d},
+  {0xcc60, 0xe8989e},
+  {0xcc61, 0xe8989f},
+  {0xcc62, 0xe898a0},
+  {0xcc63, 0xe898a1},
+  {0xcc64, 0xe898a2},
+  {0xcc65, 0xe898a3},
+  {0xcc66, 0xe898a4},
+  {0xcc67, 0xe898a5},
+  {0xcc68, 0xe898a6},
+  {0xcc69, 0xe898a8},
+  {0xcc6a, 0xe898aa},
+  {0xcc6b, 0xe898ab},
+  {0xcc6c, 0xe898ac},
+  {0xcc6d, 0xe898ad},
+  {0xcc6e, 0xe898ae},
+  {0xcc6f, 0xe898af},
+  {0xcc70, 0xe898b0},
+  {0xcc71, 0xe898b1},
+  {0xcc72, 0xe898b2},
+  {0xcc73, 0xe898b3},
+  {0xcc74, 0xe898b4},
+  {0xcc75, 0xe898b5},
+  {0xcc76, 0xe898b6},
+  {0xcc77, 0xe898b7},
+  {0xcc78, 0xe898b9},
+  {0xcc79, 0xe898ba},
+  {0xcc7a, 0xe898bb},
+  {0xcc7b, 0xe898bd},
+  {0xcc7c, 0xe898be},
+  {0xcc7d, 0xe898bf},
+  {0xcc7e, 0xe89980},
+  {0xcc80, 0xe89981},
+  {0xcc81, 0xe89982},
+  {0xcc82, 0xe89983},
+  {0xcc83, 0xe89984},
+  {0xcc84, 0xe89985},
+  {0xcc85, 0xe89986},
+  {0xcc86, 0xe89987},
+  {0xcc87, 0xe89988},
+  {0xcc88, 0xe89989},
+  {0xcc89, 0xe8998a},
+  {0xcc8a, 0xe8998b},
+  {0xcc8b, 0xe8998c},
+  {0xcc8c, 0xe89992},
+  {0xcc8d, 0xe89993},
+  {0xcc8e, 0xe89995},
+  {0xcc8f, 0xe89996},
+  {0xcc90, 0xe89997},
+  {0xcc91, 0xe89998},
+  {0xcc92, 0xe89999},
+  {0xcc93, 0xe8999b},
+  {0xcc94, 0xe8999c},
+  {0xcc95, 0xe8999d},
+  {0xcc96, 0xe8999f},
+  {0xcc97, 0xe899a0},
+  {0xcc98, 0xe899a1},
+  {0xcc99, 0xe899a3},
+  {0xcc9a, 0xe899a4},
+  {0xcc9b, 0xe899a5},
+  {0xcc9c, 0xe899a6},
+  {0xcc9d, 0xe899a7},
+  {0xcc9e, 0xe899a8},
+  {0xcc9f, 0xe899a9},
+  {0xcca0, 0xe899aa},
+  {0xcca1, 0xe78dad},
+  {0xcca2, 0xe68c9e},
+  {0xcca3, 0xe8b98b},
+  {0xcca4, 0xe8b88f},
+  {0xcca5, 0xe8838e},
+  {0xcca6, 0xe88b94},
+  {0xcca7, 0xe68aac},
+  {0xcca8, 0xe58fb0},
+  {0xcca9, 0xe6b3b0},
+  {0xccaa, 0xe9859e},
+  {0xccab, 0xe5a4aa},
+  {0xccac, 0xe68081},
+  {0xccad, 0xe6b1b0},
+  {0xccae, 0xe59d8d},
+  {0xccaf, 0xe6918a},
+  {0xccb0, 0xe8b4aa},
+  {0xccb1, 0xe798ab},
+  {0xccb2, 0xe6bba9},
+  {0xccb3, 0xe59d9b},
+  {0xccb4, 0xe6aa80},
+  {0xccb5, 0xe797b0},
+  {0xccb6, 0xe6bdad},
+  {0xccb7, 0xe8b0ad},
+  {0xccb8, 0xe8b088},
+  {0xccb9, 0xe59da6},
+  {0xccba, 0xe6afaf},
+  {0xccbb, 0xe8a292},
+  {0xccbc, 0xe7a2b3},
+  {0xccbd, 0xe68ea2},
+  {0xccbe, 0xe58fb9},
+  {0xccbf, 0xe782ad},
+  {0xccc0, 0xe6b1a4},
+  {0xccc1, 0xe5a198},
+  {0xccc2, 0xe690aa},
+  {0xccc3, 0xe5a082},
+  {0xccc4, 0xe6a3a0},
+  {0xccc5, 0xe8869b},
+  {0xccc6, 0xe59490},
+  {0xccc7, 0xe7b396},
+  {0xccc8, 0xe58098},
+  {0xccc9, 0xe8baba},
+  {0xccca, 0xe6b78c},
+  {0xcccb, 0xe8b69f},
+  {0xcccc, 0xe783ab},
+  {0xcccd, 0xe68e8f},
+  {0xccce, 0xe6b69b},
+  {0xcccf, 0xe6bb94},
+  {0xccd0, 0xe7bba6},
+  {0xccd1, 0xe89084},
+  {0xccd2, 0xe6a183},
+  {0xccd3, 0xe98083},
+  {0xccd4, 0xe6b798},
+  {0xccd5, 0xe999b6},
+  {0xccd6, 0xe8aea8},
+  {0xccd7, 0xe5a597},
+  {0xccd8, 0xe789b9},
+  {0xccd9, 0xe897a4},
+  {0xccda, 0xe885be},
+  {0xccdb, 0xe796bc},
+  {0xccdc, 0xe8aa8a},
+  {0xccdd, 0xe6a2af},
+  {0xccde, 0xe58994},
+  {0xccdf, 0xe8b8a2},
+  {0xcce0, 0xe99491},
+  {0xcce1, 0xe68f90},
+  {0xcce2, 0xe9a298},
+  {0xcce3, 0xe8b984},
+  {0xcce4, 0xe595bc},
+  {0xcce5, 0xe4bd93},
+  {0xcce6, 0xe69bbf},
+  {0xcce7, 0xe59a8f},
+  {0xcce8, 0xe68395},
+  {0xcce9, 0xe6b695},
+  {0xccea, 0xe58983},
+  {0xcceb, 0xe5b189},
+  {0xccec, 0xe5a4a9},
+  {0xcced, 0xe6b7bb},
+  {0xccee, 0xe5a1ab},
+  {0xccef, 0xe794b0},
+  {0xccf0, 0xe7949c},
+  {0xccf1, 0xe681ac},
+  {0xccf2, 0xe88894},
+  {0xccf3, 0xe88586},
+  {0xccf4, 0xe68c91},
+  {0xccf5, 0xe69da1},
+  {0xccf6, 0xe8bfa2},
+  {0xccf7, 0xe79cba},
+  {0xccf8, 0xe8b7b3},
+  {0xccf9, 0xe8b4b4},
+  {0xccfa, 0xe99381},
+  {0xccfb, 0xe5b896},
+  {0xccfc, 0xe58e85},
+  {0xccfd, 0xe590ac},
+  {0xccfe, 0xe78383},
+  {0xcd40, 0xe899ad},
+  {0xcd41, 0xe899af},
+  {0xcd42, 0xe899b0},
+  {0xcd43, 0xe899b2},
+  {0xcd44, 0xe899b3},
+  {0xcd45, 0xe899b4},
+  {0xcd46, 0xe899b5},
+  {0xcd47, 0xe899b6},
+  {0xcd48, 0xe899b7},
+  {0xcd49, 0xe899b8},
+  {0xcd4a, 0xe89a83},
+  {0xcd4b, 0xe89a84},
+  {0xcd4c, 0xe89a85},
+  {0xcd4d, 0xe89a86},
+  {0xcd4e, 0xe89a87},
+  {0xcd4f, 0xe89a88},
+  {0xcd50, 0xe89a89},
+  {0xcd51, 0xe89a8e},
+  {0xcd52, 0xe89a8f},
+  {0xcd53, 0xe89a90},
+  {0xcd54, 0xe89a91},
+  {0xcd55, 0xe89a92},
+  {0xcd56, 0xe89a94},
+  {0xcd57, 0xe89a96},
+  {0xcd58, 0xe89a97},
+  {0xcd59, 0xe89a98},
+  {0xcd5a, 0xe89a99},
+  {0xcd5b, 0xe89a9a},
+  {0xcd5c, 0xe89a9b},
+  {0xcd5d, 0xe89a9e},
+  {0xcd5e, 0xe89a9f},
+  {0xcd5f, 0xe89aa0},
+  {0xcd60, 0xe89aa1},
+  {0xcd61, 0xe89aa2},
+  {0xcd62, 0xe89aa5},
+  {0xcd63, 0xe89aa6},
+  {0xcd64, 0xe89aab},
+  {0xcd65, 0xe89aad},
+  {0xcd66, 0xe89aae},
+  {0xcd67, 0xe89ab2},
+  {0xcd68, 0xe89ab3},
+  {0xcd69, 0xe89ab7},
+  {0xcd6a, 0xe89ab8},
+  {0xcd6b, 0xe89ab9},
+  {0xcd6c, 0xe89abb},
+  {0xcd6d, 0xe89abc},
+  {0xcd6e, 0xe89abd},
+  {0xcd6f, 0xe89abe},
+  {0xcd70, 0xe89abf},
+  {0xcd71, 0xe89b81},
+  {0xcd72, 0xe89b82},
+  {0xcd73, 0xe89b83},
+  {0xcd74, 0xe89b85},
+  {0xcd75, 0xe89b88},
+  {0xcd76, 0xe89b8c},
+  {0xcd77, 0xe89b8d},
+  {0xcd78, 0xe89b92},
+  {0xcd79, 0xe89b93},
+  {0xcd7a, 0xe89b95},
+  {0xcd7b, 0xe89b96},
+  {0xcd7c, 0xe89b97},
+  {0xcd7d, 0xe89b9a},
+  {0xcd7e, 0xe89b9c},
+  {0xcd80, 0xe89b9d},
+  {0xcd81, 0xe89ba0},
+  {0xcd82, 0xe89ba1},
+  {0xcd83, 0xe89ba2},
+  {0xcd84, 0xe89ba3},
+  {0xcd85, 0xe89ba5},
+  {0xcd86, 0xe89ba6},
+  {0xcd87, 0xe89ba7},
+  {0xcd88, 0xe89ba8},
+  {0xcd89, 0xe89baa},
+  {0xcd8a, 0xe89bab},
+  {0xcd8b, 0xe89bac},
+  {0xcd8c, 0xe89baf},
+  {0xcd8d, 0xe89bb5},
+  {0xcd8e, 0xe89bb6},
+  {0xcd8f, 0xe89bb7},
+  {0xcd90, 0xe89bba},
+  {0xcd91, 0xe89bbb},
+  {0xcd92, 0xe89bbc},
+  {0xcd93, 0xe89bbd},
+  {0xcd94, 0xe89bbf},
+  {0xcd95, 0xe89c81},
+  {0xcd96, 0xe89c84},
+  {0xcd97, 0xe89c85},
+  {0xcd98, 0xe89c86},
+  {0xcd99, 0xe89c8b},
+  {0xcd9a, 0xe89c8c},
+  {0xcd9b, 0xe89c8e},
+  {0xcd9c, 0xe89c8f},
+  {0xcd9d, 0xe89c90},
+  {0xcd9e, 0xe89c91},
+  {0xcd9f, 0xe89c94},
+  {0xcda0, 0xe89c96},
+  {0xcda1, 0xe6b180},
+  {0xcda2, 0xe5bbb7},
+  {0xcda3, 0xe5819c},
+  {0xcda4, 0xe4baad},
+  {0xcda5, 0xe5baad},
+  {0xcda6, 0xe68cba},
+  {0xcda7, 0xe88987},
+  {0xcda8, 0xe9809a},
+  {0xcda9, 0xe6a190},
+  {0xcdaa, 0xe985ae},
+  {0xcdab, 0xe79eb3},
+  {0xcdac, 0xe5908c},
+  {0xcdad, 0xe9939c},
+  {0xcdae, 0xe5bda4},
+  {0xcdaf, 0xe7aba5},
+  {0xcdb0, 0xe6a1b6},
+  {0xcdb1, 0xe68d85},
+  {0xcdb2, 0xe7ad92},
+  {0xcdb3, 0xe7bb9f},
+  {0xcdb4, 0xe7979b},
+  {0xcdb5, 0xe581b7},
+  {0xcdb6, 0xe68a95},
+  {0xcdb7, 0xe5a4b4},
+  {0xcdb8, 0xe9808f},
+  {0xcdb9, 0xe587b8},
+  {0xcdba, 0xe7a783},
+  {0xcdbb, 0xe7aa81},
+  {0xcdbc, 0xe59bbe},
+  {0xcdbd, 0xe5be92},
+  {0xcdbe, 0xe98094},
+  {0xcdbf, 0xe6b682},
+  {0xcdc0, 0xe5b1a0},
+  {0xcdc1, 0xe59c9f},
+  {0xcdc2, 0xe59090},
+  {0xcdc3, 0xe58594},
+  {0xcdc4, 0xe6b98d},
+  {0xcdc5, 0xe59ba2},
+  {0xcdc6, 0xe68ea8},
+  {0xcdc7, 0xe9a293},
+  {0xcdc8, 0xe885bf},
+  {0xcdc9, 0xe89c95},
+  {0xcdca, 0xe8a4aa},
+  {0xcdcb, 0xe98080},
+  {0xcdcc, 0xe5909e},
+  {0xcdcd, 0xe5b1af},
+  {0xcdce, 0xe88780},
+  {0xcdcf, 0xe68b96},
+  {0xcdd0, 0xe68998},
+  {0xcdd1, 0xe884b1},
+  {0xcdd2, 0xe9b8b5},
+  {0xcdd3, 0xe99980},
+  {0xcdd4, 0xe9a9ae},
+  {0xcdd5, 0xe9a9bc},
+  {0xcdd6, 0xe6a4ad},
+  {0xcdd7, 0xe5a6a5},
+  {0xcdd8, 0xe68b93},
+  {0xcdd9, 0xe594be},
+  {0xcdda, 0xe68c96},
+  {0xcddb, 0xe59387},
+  {0xcddc, 0xe89b99},
+  {0xcddd, 0xe6b4bc},
+  {0xcdde, 0xe5a883},
+  {0xcddf, 0xe793a6},
+  {0xcde0, 0xe8a29c},
+  {0xcde1, 0xe6adaa},
+  {0xcde2, 0xe5a496},
+  {0xcde3, 0xe8b18c},
+  {0xcde4, 0xe5bcaf},
+  {0xcde5, 0xe6b9be},
+  {0xcde6, 0xe78ea9},
+  {0xcde7, 0xe9a1bd},
+  {0xcde8, 0xe4b8b8},
+  {0xcde9, 0xe783b7},
+  {0xcdea, 0xe5ae8c},
+  {0xcdeb, 0xe7a297},
+  {0xcdec, 0xe68cbd},
+  {0xcded, 0xe6999a},
+  {0xcdee, 0xe79a96},
+  {0xcdef, 0xe6838b},
+  {0xcdf0, 0xe5ae9b},
+  {0xcdf1, 0xe5a989},
+  {0xcdf2, 0xe4b887},
+  {0xcdf3, 0xe88595},
+  {0xcdf4, 0xe6b1aa},
+  {0xcdf5, 0xe78e8b},
+  {0xcdf6, 0xe4baa1},
+  {0xcdf7, 0xe69e89},
+  {0xcdf8, 0xe7bd91},
+  {0xcdf9, 0xe5be80},
+  {0xcdfa, 0xe697ba},
+  {0xcdfb, 0xe69c9b},
+  {0xcdfc, 0xe5bf98},
+  {0xcdfd, 0xe5a684},
+  {0xcdfe, 0xe5a881},
+  {0xce40, 0xe89c99},
+  {0xce41, 0xe89c9b},
+  {0xce42, 0xe89c9d},
+  {0xce43, 0xe89c9f},
+  {0xce44, 0xe89ca0},
+  {0xce45, 0xe89ca4},
+  {0xce46, 0xe89ca6},
+  {0xce47, 0xe89ca7},
+  {0xce48, 0xe89ca8},
+  {0xce49, 0xe89caa},
+  {0xce4a, 0xe89cab},
+  {0xce4b, 0xe89cac},
+  {0xce4c, 0xe89cad},
+  {0xce4d, 0xe89caf},
+  {0xce4e, 0xe89cb0},
+  {0xce4f, 0xe89cb2},
+  {0xce50, 0xe89cb3},
+  {0xce51, 0xe89cb5},
+  {0xce52, 0xe89cb6},
+  {0xce53, 0xe89cb8},
+  {0xce54, 0xe89cb9},
+  {0xce55, 0xe89cba},
+  {0xce56, 0xe89cbc},
+  {0xce57, 0xe89cbd},
+  {0xce58, 0xe89d80},
+  {0xce59, 0xe89d81},
+  {0xce5a, 0xe89d82},
+  {0xce5b, 0xe89d83},
+  {0xce5c, 0xe89d84},
+  {0xce5d, 0xe89d85},
+  {0xce5e, 0xe89d86},
+  {0xce5f, 0xe89d8a},
+  {0xce60, 0xe89d8b},
+  {0xce61, 0xe89d8d},
+  {0xce62, 0xe89d8f},
+  {0xce63, 0xe89d90},
+  {0xce64, 0xe89d91},
+  {0xce65, 0xe89d92},
+  {0xce66, 0xe89d94},
+  {0xce67, 0xe89d95},
+  {0xce68, 0xe89d96},
+  {0xce69, 0xe89d98},
+  {0xce6a, 0xe89d9a},
+  {0xce6b, 0xe89d9b},
+  {0xce6c, 0xe89d9c},
+  {0xce6d, 0xe89d9d},
+  {0xce6e, 0xe89d9e},
+  {0xce6f, 0xe89d9f},
+  {0xce70, 0xe89da1},
+  {0xce71, 0xe89da2},
+  {0xce72, 0xe89da6},
+  {0xce73, 0xe89da7},
+  {0xce74, 0xe89da8},
+  {0xce75, 0xe89da9},
+  {0xce76, 0xe89daa},
+  {0xce77, 0xe89dab},
+  {0xce78, 0xe89dac},
+  {0xce79, 0xe89dad},
+  {0xce7a, 0xe89daf},
+  {0xce7b, 0xe89db1},
+  {0xce7c, 0xe89db2},
+  {0xce7d, 0xe89db3},
+  {0xce7e, 0xe89db5},
+  {0xce80, 0xe89db7},
+  {0xce81, 0xe89db8},
+  {0xce82, 0xe89db9},
+  {0xce83, 0xe89dba},
+  {0xce84, 0xe89dbf},
+  {0xce85, 0xe89e80},
+  {0xce86, 0xe89e81},
+  {0xce87, 0xe89e84},
+  {0xce88, 0xe89e86},
+  {0xce89, 0xe89e87},
+  {0xce8a, 0xe89e89},
+  {0xce8b, 0xe89e8a},
+  {0xce8c, 0xe89e8c},
+  {0xce8d, 0xe89e8e},
+  {0xce8e, 0xe89e8f},
+  {0xce8f, 0xe89e90},
+  {0xce90, 0xe89e91},
+  {0xce91, 0xe89e92},
+  {0xce92, 0xe89e94},
+  {0xce93, 0xe89e95},
+  {0xce94, 0xe89e96},
+  {0xce95, 0xe89e98},
+  {0xce96, 0xe89e99},
+  {0xce97, 0xe89e9a},
+  {0xce98, 0xe89e9b},
+  {0xce99, 0xe89e9c},
+  {0xce9a, 0xe89e9d},
+  {0xce9b, 0xe89e9e},
+  {0xce9c, 0xe89ea0},
+  {0xce9d, 0xe89ea1},
+  {0xce9e, 0xe89ea2},
+  {0xce9f, 0xe89ea3},
+  {0xcea0, 0xe89ea4},
+  {0xcea1, 0xe5b78d},
+  {0xcea2, 0xe5beae},
+  {0xcea3, 0xe58db1},
+  {0xcea4, 0xe99fa6},
+  {0xcea5, 0xe8bf9d},
+  {0xcea6, 0xe6a185},
+  {0xcea7, 0xe59bb4},
+  {0xcea8, 0xe594af},
+  {0xcea9, 0xe6839f},
+  {0xceaa, 0xe4b8ba},
+  {0xceab, 0xe6bd8d},
+  {0xceac, 0xe7bbb4},
+  {0xcead, 0xe88b87},
+  {0xceae, 0xe8908e},
+  {0xceaf, 0xe5a794},
+  {0xceb0, 0xe4bc9f},
+  {0xceb1, 0xe4bcaa},
+  {0xceb2, 0xe5b0be},
+  {0xceb3, 0xe7baac},
+  {0xceb4, 0xe69caa},
+  {0xceb5, 0xe8949a},
+  {0xceb6, 0xe591b3},
+  {0xceb7, 0xe7958f},
+  {0xceb8, 0xe88383},
+  {0xceb9, 0xe59682},
+  {0xceba, 0xe9ad8f},
+  {0xcebb, 0xe4bd8d},
+  {0xcebc, 0xe6b8ad},
+  {0xcebd, 0xe8b093},
+  {0xcebe, 0xe5b089},
+  {0xcebf, 0xe685b0},
+  {0xcec0, 0xe58dab},
+  {0xcec1, 0xe7989f},
+  {0xcec2, 0xe6b8a9},
+  {0xcec3, 0xe89a8a},
+  {0xcec4, 0xe69687},
+  {0xcec5, 0xe997bb},
+  {0xcec6, 0xe7bab9},
+  {0xcec7, 0xe590bb},
+  {0xcec8, 0xe7a8b3},
+  {0xcec9, 0xe7b48a},
+  {0xceca, 0xe997ae},
+  {0xcecb, 0xe597a1},
+  {0xcecc, 0xe7bf81},
+  {0xcecd, 0xe793ae},
+  {0xcece, 0xe68c9d},
+  {0xcecf, 0xe89c97},
+  {0xced0, 0xe6b6a1},
+  {0xced1, 0xe7aa9d},
+  {0xced2, 0xe68891},
+  {0xced3, 0xe696a1},
+  {0xced4, 0xe58da7},
+  {0xced5, 0xe68fa1},
+  {0xced6, 0xe6b283},
+  {0xced7, 0xe5b7ab},
+  {0xced8, 0xe5919c},
+  {0xced9, 0xe992a8},
+  {0xceda, 0xe4b98c},
+  {0xcedb, 0xe6b1a1},
+  {0xcedc, 0xe8afac},
+  {0xcedd, 0xe5b18b},
+  {0xcede, 0xe697a0},
+  {0xcedf, 0xe88a9c},
+  {0xcee0, 0xe6a2a7},
+  {0xcee1, 0xe590be},
+  {0xcee2, 0xe590b4},
+  {0xcee3, 0xe6af8b},
+  {0xcee4, 0xe6ada6},
+  {0xcee5, 0xe4ba94},
+  {0xcee6, 0xe68d82},
+  {0xcee7, 0xe58d88},
+  {0xcee8, 0xe8889e},
+  {0xcee9, 0xe4bc8d},
+  {0xceea, 0xe4beae},
+  {0xceeb, 0xe59d9e},
+  {0xceec, 0xe6888a},
+  {0xceed, 0xe99bbe},
+  {0xceee, 0xe699a4},
+  {0xceef, 0xe789a9},
+  {0xcef0, 0xe58bbf},
+  {0xcef1, 0xe58aa1},
+  {0xcef2, 0xe6829f},
+  {0xcef3, 0xe8afaf},
+  {0xcef4, 0xe69894},
+  {0xcef5, 0xe78699},
+  {0xcef6, 0xe69e90},
+  {0xcef7, 0xe8a5bf},
+  {0xcef8, 0xe7a192},
+  {0xcef9, 0xe79fbd},
+  {0xcefa, 0xe699b0},
+  {0xcefb, 0xe598bb},
+  {0xcefc, 0xe590b8},
+  {0xcefd, 0xe994a1},
+  {0xcefe, 0xe789ba},
+  {0xcf40, 0xe89ea5},
+  {0xcf41, 0xe89ea6},
+  {0xcf42, 0xe89ea7},
+  {0xcf43, 0xe89ea9},
+  {0xcf44, 0xe89eaa},
+  {0xcf45, 0xe89eae},
+  {0xcf46, 0xe89eb0},
+  {0xcf47, 0xe89eb1},
+  {0xcf48, 0xe89eb2},
+  {0xcf49, 0xe89eb4},
+  {0xcf4a, 0xe89eb6},
+  {0xcf4b, 0xe89eb7},
+  {0xcf4c, 0xe89eb8},
+  {0xcf4d, 0xe89eb9},
+  {0xcf4e, 0xe89ebb},
+  {0xcf4f, 0xe89ebc},
+  {0xcf50, 0xe89ebe},
+  {0xcf51, 0xe89ebf},
+  {0xcf52, 0xe89f81},
+  {0xcf53, 0xe89f82},
+  {0xcf54, 0xe89f83},
+  {0xcf55, 0xe89f84},
+  {0xcf56, 0xe89f85},
+  {0xcf57, 0xe89f87},
+  {0xcf58, 0xe89f88},
+  {0xcf59, 0xe89f89},
+  {0xcf5a, 0xe89f8c},
+  {0xcf5b, 0xe89f8d},
+  {0xcf5c, 0xe89f8e},
+  {0xcf5d, 0xe89f8f},
+  {0xcf5e, 0xe89f90},
+  {0xcf5f, 0xe89f94},
+  {0xcf60, 0xe89f95},
+  {0xcf61, 0xe89f96},
+  {0xcf62, 0xe89f97},
+  {0xcf63, 0xe89f98},
+  {0xcf64, 0xe89f99},
+  {0xcf65, 0xe89f9a},
+  {0xcf66, 0xe89f9c},
+  {0xcf67, 0xe89f9d},
+  {0xcf68, 0xe89f9e},
+  {0xcf69, 0xe89f9f},
+  {0xcf6a, 0xe89fa1},
+  {0xcf6b, 0xe89fa2},
+  {0xcf6c, 0xe89fa3},
+  {0xcf6d, 0xe89fa4},
+  {0xcf6e, 0xe89fa6},
+  {0xcf6f, 0xe89fa7},
+  {0xcf70, 0xe89fa8},
+  {0xcf71, 0xe89fa9},
+  {0xcf72, 0xe89fab},
+  {0xcf73, 0xe89fac},
+  {0xcf74, 0xe89fad},
+  {0xcf75, 0xe89faf},
+  {0xcf76, 0xe89fb0},
+  {0xcf77, 0xe89fb1},
+  {0xcf78, 0xe89fb2},
+  {0xcf79, 0xe89fb3},
+  {0xcf7a, 0xe89fb4},
+  {0xcf7b, 0xe89fb5},
+  {0xcf7c, 0xe89fb6},
+  {0xcf7d, 0xe89fb7},
+  {0xcf7e, 0xe89fb8},
+  {0xcf80, 0xe89fba},
+  {0xcf81, 0xe89fbb},
+  {0xcf82, 0xe89fbc},
+  {0xcf83, 0xe89fbd},
+  {0xcf84, 0xe89fbf},
+  {0xcf85, 0xe8a080},
+  {0xcf86, 0xe8a081},
+  {0xcf87, 0xe8a082},
+  {0xcf88, 0xe8a084},
+  {0xcf89, 0xe8a085},
+  {0xcf8a, 0xe8a086},
+  {0xcf8b, 0xe8a087},
+  {0xcf8c, 0xe8a088},
+  {0xcf8d, 0xe8a089},
+  {0xcf8e, 0xe8a08b},
+  {0xcf8f, 0xe8a08c},
+  {0xcf90, 0xe8a08d},
+  {0xcf91, 0xe8a08e},
+  {0xcf92, 0xe8a08f},
+  {0xcf93, 0xe8a090},
+  {0xcf94, 0xe8a091},
+  {0xcf95, 0xe8a092},
+  {0xcf96, 0xe8a094},
+  {0xcf97, 0xe8a097},
+  {0xcf98, 0xe8a098},
+  {0xcf99, 0xe8a099},
+  {0xcf9a, 0xe8a09a},
+  {0xcf9b, 0xe8a09c},
+  {0xcf9c, 0xe8a09d},
+  {0xcf9d, 0xe8a09e},
+  {0xcf9e, 0xe8a09f},
+  {0xcf9f, 0xe8a0a0},
+  {0xcfa0, 0xe8a0a3},
+  {0xcfa1, 0xe7a880},
+  {0xcfa2, 0xe681af},
+  {0xcfa3, 0xe5b88c},
+  {0xcfa4, 0xe68289},
+  {0xcfa5, 0xe8869d},
+  {0xcfa6, 0xe5a495},
+  {0xcfa7, 0xe6839c},
+  {0xcfa8, 0xe78684},
+  {0xcfa9, 0xe783af},
+  {0xcfaa, 0xe6baaa},
+  {0xcfab, 0xe6b190},
+  {0xcfac, 0xe78a80},
+  {0xcfad, 0xe6aa84},
+  {0xcfae, 0xe8a2ad},
+  {0xcfaf, 0xe5b8ad},
+  {0xcfb0, 0xe4b9a0},
+  {0xcfb1, 0xe5aab3},
+  {0xcfb2, 0xe5969c},
+  {0xcfb3, 0xe993a3},
+  {0xcfb4, 0xe6b497},
+  {0xcfb5, 0xe7b3bb},
+  {0xcfb6, 0xe99a99},
+  {0xcfb7, 0xe6888f},
+  {0xcfb8, 0xe7bb86},
+  {0xcfb9, 0xe79e8e},
+  {0xcfba, 0xe899be},
+  {0xcfbb, 0xe58ca3},
+  {0xcfbc, 0xe99c9e},
+  {0xcfbd, 0xe8be96},
+  {0xcfbe, 0xe69a87},
+  {0xcfbf, 0xe5b3a1},
+  {0xcfc0, 0xe4bea0},
+  {0xcfc1, 0xe78bad},
+  {0xcfc2, 0xe4b88b},
+  {0xcfc3, 0xe58ea6},
+  {0xcfc4, 0xe5a48f},
+  {0xcfc5, 0xe59093},
+  {0xcfc6, 0xe68e80},
+  {0xcfc7, 0xe994a8},
+  {0xcfc8, 0xe58588},
+  {0xcfc9, 0xe4bb99},
+  {0xcfca, 0xe9b29c},
+  {0xcfcb, 0xe7baa4},
+  {0xcfcc, 0xe592b8},
+  {0xcfcd, 0xe8b4a4},
+  {0xcfce, 0xe8a194},
+  {0xcfcf, 0xe888b7},
+  {0xcfd0, 0xe997b2},
+  {0xcfd1, 0xe6b68e},
+  {0xcfd2, 0xe5bca6},
+  {0xcfd3, 0xe5ab8c},
+  {0xcfd4, 0xe698be},
+  {0xcfd5, 0xe999a9},
+  {0xcfd6, 0xe78eb0},
+  {0xcfd7, 0xe78cae},
+  {0xcfd8, 0xe58ebf},
+  {0xcfd9, 0xe885ba},
+  {0xcfda, 0xe9a685},
+  {0xcfdb, 0xe7bea1},
+  {0xcfdc, 0xe5aeaa},
+  {0xcfdd, 0xe999b7},
+  {0xcfde, 0xe99990},
+  {0xcfdf, 0xe7babf},
+  {0xcfe0, 0xe79bb8},
+  {0xcfe1, 0xe58ea2},
+  {0xcfe2, 0xe995b6},
+  {0xcfe3, 0xe9a699},
+  {0xcfe4, 0xe7aeb1},
+  {0xcfe5, 0xe8a584},
+  {0xcfe6, 0xe6b998},
+  {0xcfe7, 0xe4b9a1},
+  {0xcfe8, 0xe7bf94},
+  {0xcfe9, 0xe7a5a5},
+  {0xcfea, 0xe8afa6},
+  {0xcfeb, 0xe683b3},
+  {0xcfec, 0xe5938d},
+  {0xcfed, 0xe4baab},
+  {0xcfee, 0xe9a1b9},
+  {0xcfef, 0xe5b7b7},
+  {0xcff0, 0xe6a9a1},
+  {0xcff1, 0xe5838f},
+  {0xcff2, 0xe59091},
+  {0xcff3, 0xe8b1a1},
+  {0xcff4, 0xe890a7},
+  {0xcff5, 0xe7a19d},
+  {0xcff6, 0xe99c84},
+  {0xcff7, 0xe5898a},
+  {0xcff8, 0xe593ae},
+  {0xcff9, 0xe59aa3},
+  {0xcffa, 0xe99480},
+  {0xcffb, 0xe6b688},
+  {0xcffc, 0xe5aeb5},
+  {0xcffd, 0xe6b786},
+  {0xcffe, 0xe69993},
+  {0xd040, 0xe8a0a4},
+  {0xd041, 0xe8a0a5},
+  {0xd042, 0xe8a0a6},
+  {0xd043, 0xe8a0a7},
+  {0xd044, 0xe8a0a8},
+  {0xd045, 0xe8a0a9},
+  {0xd046, 0xe8a0aa},
+  {0xd047, 0xe8a0ab},
+  {0xd048, 0xe8a0ac},
+  {0xd049, 0xe8a0ad},
+  {0xd04a, 0xe8a0ae},
+  {0xd04b, 0xe8a0af},
+  {0xd04c, 0xe8a0b0},
+  {0xd04d, 0xe8a0b1},
+  {0xd04e, 0xe8a0b3},
+  {0xd04f, 0xe8a0b4},
+  {0xd050, 0xe8a0b5},
+  {0xd051, 0xe8a0b6},
+  {0xd052, 0xe8a0b7},
+  {0xd053, 0xe8a0b8},
+  {0xd054, 0xe8a0ba},
+  {0xd055, 0xe8a0bb},
+  {0xd056, 0xe8a0bd},
+  {0xd057, 0xe8a0be},
+  {0xd058, 0xe8a0bf},
+  {0xd059, 0xe8a181},
+  {0xd05a, 0xe8a182},
+  {0xd05b, 0xe8a183},
+  {0xd05c, 0xe8a186},
+  {0xd05d, 0xe8a187},
+  {0xd05e, 0xe8a188},
+  {0xd05f, 0xe8a189},
+  {0xd060, 0xe8a18a},
+  {0xd061, 0xe8a18b},
+  {0xd062, 0xe8a18e},
+  {0xd063, 0xe8a18f},
+  {0xd064, 0xe8a190},
+  {0xd065, 0xe8a191},
+  {0xd066, 0xe8a192},
+  {0xd067, 0xe8a193},
+  {0xd068, 0xe8a195},
+  {0xd069, 0xe8a196},
+  {0xd06a, 0xe8a198},
+  {0xd06b, 0xe8a19a},
+  {0xd06c, 0xe8a19b},
+  {0xd06d, 0xe8a19c},
+  {0xd06e, 0xe8a19d},
+  {0xd06f, 0xe8a19e},
+  {0xd070, 0xe8a19f},
+  {0xd071, 0xe8a1a0},
+  {0xd072, 0xe8a1a6},
+  {0xd073, 0xe8a1a7},
+  {0xd074, 0xe8a1aa},
+  {0xd075, 0xe8a1ad},
+  {0xd076, 0xe8a1af},
+  {0xd077, 0xe8a1b1},
+  {0xd078, 0xe8a1b3},
+  {0xd079, 0xe8a1b4},
+  {0xd07a, 0xe8a1b5},
+  {0xd07b, 0xe8a1b6},
+  {0xd07c, 0xe8a1b8},
+  {0xd07d, 0xe8a1b9},
+  {0xd07e, 0xe8a1ba},
+  {0xd080, 0xe8a1bb},
+  {0xd081, 0xe8a1bc},
+  {0xd082, 0xe8a280},
+  {0xd083, 0xe8a283},
+  {0xd084, 0xe8a286},
+  {0xd085, 0xe8a287},
+  {0xd086, 0xe8a289},
+  {0xd087, 0xe8a28a},
+  {0xd088, 0xe8a28c},
+  {0xd089, 0xe8a28e},
+  {0xd08a, 0xe8a28f},
+  {0xd08b, 0xe8a290},
+  {0xd08c, 0xe8a291},
+  {0xd08d, 0xe8a293},
+  {0xd08e, 0xe8a294},
+  {0xd08f, 0xe8a295},
+  {0xd090, 0xe8a297},
+  {0xd091, 0xe8a298},
+  {0xd092, 0xe8a299},
+  {0xd093, 0xe8a29a},
+  {0xd094, 0xe8a29b},
+  {0xd095, 0xe8a29d},
+  {0xd096, 0xe8a29e},
+  {0xd097, 0xe8a29f},
+  {0xd098, 0xe8a2a0},
+  {0xd099, 0xe8a2a1},
+  {0xd09a, 0xe8a2a3},
+  {0xd09b, 0xe8a2a5},
+  {0xd09c, 0xe8a2a6},
+  {0xd09d, 0xe8a2a7},
+  {0xd09e, 0xe8a2a8},
+  {0xd09f, 0xe8a2a9},
+  {0xd0a0, 0xe8a2aa},
+  {0xd0a1, 0xe5b08f},
+  {0xd0a2, 0xe5ad9d},
+  {0xd0a3, 0xe6a0a1},
+  {0xd0a4, 0xe88296},
+  {0xd0a5, 0xe595b8},
+  {0xd0a6, 0xe7ac91},
+  {0xd0a7, 0xe69588},
+  {0xd0a8, 0xe6a594},
+  {0xd0a9, 0xe4ba9b},
+  {0xd0aa, 0xe6ad87},
+  {0xd0ab, 0xe89d8e},
+  {0xd0ac, 0xe99e8b},
+  {0xd0ad, 0xe58d8f},
+  {0xd0ae, 0xe68c9f},
+  {0xd0af, 0xe690ba},
+  {0xd0b0, 0xe982aa},
+  {0xd0b1, 0xe6969c},
+  {0xd0b2, 0xe88381},
+  {0xd0b3, 0xe8b090},
+  {0xd0b4, 0xe58699},
+  {0xd0b5, 0xe6a2b0},
+  {0xd0b6, 0xe58db8},
+  {0xd0b7, 0xe89fb9},
+  {0xd0b8, 0xe68788},
+  {0xd0b9, 0xe6b384},
+  {0xd0ba, 0xe6b3bb},
+  {0xd0bb, 0xe8b0a2},
+  {0xd0bc, 0xe5b191},
+  {0xd0bd, 0xe896aa},
+  {0xd0be, 0xe88aaf},
+  {0xd0bf, 0xe9948c},
+  {0xd0c0, 0xe6aca3},
+  {0xd0c1, 0xe8be9b},
+  {0xd0c2, 0xe696b0},
+  {0xd0c3, 0xe5bfbb},
+  {0xd0c4, 0xe5bf83},
+  {0xd0c5, 0xe4bfa1},
+  {0xd0c6, 0xe8a185},
+  {0xd0c7, 0xe6989f},
+  {0xd0c8, 0xe885a5},
+  {0xd0c9, 0xe78ca9},
+  {0xd0ca, 0xe683ba},
+  {0xd0cb, 0xe585b4},
+  {0xd0cc, 0xe58891},
+  {0xd0cd, 0xe59e8b},
+  {0xd0ce, 0xe5bda2},
+  {0xd0cf, 0xe982a2},
+  {0xd0d0, 0xe8a18c},
+  {0xd0d1, 0xe98692},
+  {0xd0d2, 0xe5b9b8},
+  {0xd0d3, 0xe69d8f},
+  {0xd0d4, 0xe680a7},
+  {0xd0d5, 0xe5a793},
+  {0xd0d6, 0xe58584},
+  {0xd0d7, 0xe587b6},
+  {0xd0d8, 0xe883b8},
+  {0xd0d9, 0xe58c88},
+  {0xd0da, 0xe6b1b9},
+  {0xd0db, 0xe99b84},
+  {0xd0dc, 0xe7868a},
+  {0xd0dd, 0xe4bc91},
+  {0xd0de, 0xe4bfae},
+  {0xd0df, 0xe7be9e},
+  {0xd0e0, 0xe69cbd},
+  {0xd0e1, 0xe59785},
+  {0xd0e2, 0xe99488},
+  {0xd0e3, 0xe7a780},
+  {0xd0e4, 0xe8a296},
+  {0xd0e5, 0xe7bba3},
+  {0xd0e6, 0xe5a29f},
+  {0xd0e7, 0xe6888c},
+  {0xd0e8, 0xe99c80},
+  {0xd0e9, 0xe8999a},
+  {0xd0ea, 0xe59898},
+  {0xd0eb, 0xe9a1bb},
+  {0xd0ec, 0xe5be90},
+  {0xd0ed, 0xe8aeb8},
+  {0xd0ee, 0xe89384},
+  {0xd0ef, 0xe98597},
+  {0xd0f0, 0xe58f99},
+  {0xd0f1, 0xe697ad},
+  {0xd0f2, 0xe5ba8f},
+  {0xd0f3, 0xe7959c},
+  {0xd0f4, 0xe681a4},
+  {0xd0f5, 0xe7b5ae},
+  {0xd0f6, 0xe5a9bf},
+  {0xd0f7, 0xe7bbaa},
+  {0xd0f8, 0xe7bbad},
+  {0xd0f9, 0xe8bda9},
+  {0xd0fa, 0xe596a7},
+  {0xd0fb, 0xe5aea3},
+  {0xd0fc, 0xe682ac},
+  {0xd0fd, 0xe6978b},
+  {0xd0fe, 0xe78e84},
+  {0xd140, 0xe8a2ac},
+  {0xd141, 0xe8a2ae},
+  {0xd142, 0xe8a2af},
+  {0xd143, 0xe8a2b0},
+  {0xd144, 0xe8a2b2},
+  {0xd145, 0xe8a2b3},
+  {0xd146, 0xe8a2b4},
+  {0xd147, 0xe8a2b5},
+  {0xd148, 0xe8a2b6},
+  {0xd149, 0xe8a2b8},
+  {0xd14a, 0xe8a2b9},
+  {0xd14b, 0xe8a2ba},
+  {0xd14c, 0xe8a2bb},
+  {0xd14d, 0xe8a2bd},
+  {0xd14e, 0xe8a2be},
+  {0xd14f, 0xe8a2bf},
+  {0xd150, 0xe8a380},
+  {0xd151, 0xe8a383},
+  {0xd152, 0xe8a384},
+  {0xd153, 0xe8a387},
+  {0xd154, 0xe8a388},
+  {0xd155, 0xe8a38a},
+  {0xd156, 0xe8a38b},
+  {0xd157, 0xe8a38c},
+  {0xd158, 0xe8a38d},
+  {0xd159, 0xe8a38f},
+  {0xd15a, 0xe8a390},
+  {0xd15b, 0xe8a391},
+  {0xd15c, 0xe8a393},
+  {0xd15d, 0xe8a396},
+  {0xd15e, 0xe8a397},
+  {0xd15f, 0xe8a39a},
+  {0xd160, 0xe8a39b},
+  {0xd161, 0xe8a39c},
+  {0xd162, 0xe8a39d},
+  {0xd163, 0xe8a39e},
+  {0xd164, 0xe8a3a0},
+  {0xd165, 0xe8a3a1},
+  {0xd166, 0xe8a3a6},
+  {0xd167, 0xe8a3a7},
+  {0xd168, 0xe8a3a9},
+  {0xd169, 0xe8a3aa},
+  {0xd16a, 0xe8a3ab},
+  {0xd16b, 0xe8a3ac},
+  {0xd16c, 0xe8a3ad},
+  {0xd16d, 0xe8a3ae},
+  {0xd16e, 0xe8a3af},
+  {0xd16f, 0xe8a3b2},
+  {0xd170, 0xe8a3b5},
+  {0xd171, 0xe8a3b6},
+  {0xd172, 0xe8a3b7},
+  {0xd173, 0xe8a3ba},
+  {0xd174, 0xe8a3bb},
+  {0xd175, 0xe8a3bd},
+  {0xd176, 0xe8a3bf},
+  {0xd177, 0xe8a480},
+  {0xd178, 0xe8a481},
+  {0xd179, 0xe8a483},
+  {0xd17a, 0xe8a484},
+  {0xd17b, 0xe8a485},
+  {0xd17c, 0xe8a486},
+  {0xd17d, 0xe8a487},
+  {0xd17e, 0xe8a488},
+  {0xd180, 0xe8a489},
+  {0xd181, 0xe8a48b},
+  {0xd182, 0xe8a48c},
+  {0xd183, 0xe8a48d},
+  {0xd184, 0xe8a48e},
+  {0xd185, 0xe8a48f},
+  {0xd186, 0xe8a491},
+  {0xd187, 0xe8a494},
+  {0xd188, 0xe8a495},
+  {0xd189, 0xe8a496},
+  {0xd18a, 0xe8a497},
+  {0xd18b, 0xe8a498},
+  {0xd18c, 0xe8a49c},
+  {0xd18d, 0xe8a49d},
+  {0xd18e, 0xe8a49e},
+  {0xd18f, 0xe8a49f},
+  {0xd190, 0xe8a4a0},
+  {0xd191, 0xe8a4a2},
+  {0xd192, 0xe8a4a3},
+  {0xd193, 0xe8a4a4},
+  {0xd194, 0xe8a4a6},
+  {0xd195, 0xe8a4a7},
+  {0xd196, 0xe8a4a8},
+  {0xd197, 0xe8a4a9},
+  {0xd198, 0xe8a4ac},
+  {0xd199, 0xe8a4ad},
+  {0xd19a, 0xe8a4ae},
+  {0xd19b, 0xe8a4af},
+  {0xd19c, 0xe8a4b1},
+  {0xd19d, 0xe8a4b2},
+  {0xd19e, 0xe8a4b3},
+  {0xd19f, 0xe8a4b5},
+  {0xd1a0, 0xe8a4b7},
+  {0xd1a1, 0xe98089},
+  {0xd1a2, 0xe799a3},
+  {0xd1a3, 0xe79ca9},
+  {0xd1a4, 0xe7bb9a},
+  {0xd1a5, 0xe99db4},
+  {0xd1a6, 0xe8969b},
+  {0xd1a7, 0xe5ada6},
+  {0xd1a8, 0xe7a9b4},
+  {0xd1a9, 0xe99baa},
+  {0xd1aa, 0xe8a180},
+  {0xd1ab, 0xe58b8b},
+  {0xd1ac, 0xe7868f},
+  {0xd1ad, 0xe5beaa},
+  {0xd1ae, 0xe697ac},
+  {0xd1af, 0xe8afa2},
+  {0xd1b0, 0xe5afbb},
+  {0xd1b1, 0xe9a9af},
+  {0xd1b2, 0xe5b7a1},
+  {0xd1b3, 0xe6ae89},
+  {0xd1b4, 0xe6b19b},
+  {0xd1b5, 0xe8aead},
+  {0xd1b6, 0xe8aeaf},
+  {0xd1b7, 0xe9808a},
+  {0xd1b8, 0xe8bf85},
+  {0xd1b9, 0xe58e8b},
+  {0xd1ba, 0xe68abc},
+  {0xd1bb, 0xe9b8a6},
+  {0xd1bc, 0xe9b8ad},
+  {0xd1bd, 0xe59180},
+  {0xd1be, 0xe4b8ab},
+  {0xd1bf, 0xe88abd},
+  {0xd1c0, 0xe78999},
+  {0xd1c1, 0xe89a9c},
+  {0xd1c2, 0xe5b496},
+  {0xd1c3, 0xe8a199},
+  {0xd1c4, 0xe6b6af},
+  {0xd1c5, 0xe99b85},
+  {0xd1c6, 0xe59391},
+  {0xd1c7, 0xe4ba9a},
+  {0xd1c8, 0xe8aeb6},
+  {0xd1c9, 0xe78489},
+  {0xd1ca, 0xe592bd},
+  {0xd1cb, 0xe99889},
+  {0xd1cc, 0xe7839f},
+  {0xd1cd, 0xe6b7b9},
+  {0xd1ce, 0xe79b90},
+  {0xd1cf, 0xe4b8a5},
+  {0xd1d0, 0xe7a094},
+  {0xd1d1, 0xe89c92},
+  {0xd1d2, 0xe5b2a9},
+  {0xd1d3, 0xe5bbb6},
+  {0xd1d4, 0xe8a880},
+  {0xd1d5, 0xe9a29c},
+  {0xd1d6, 0xe9988e},
+  {0xd1d7, 0xe7828e},
+  {0xd1d8, 0xe6b2bf},
+  {0xd1d9, 0xe5a584},
+  {0xd1da, 0xe68ea9},
+  {0xd1db, 0xe79cbc},
+  {0xd1dc, 0xe8a18d},
+  {0xd1dd, 0xe6bc94},
+  {0xd1de, 0xe889b3},
+  {0xd1df, 0xe5a0b0},
+  {0xd1e0, 0xe78795},
+  {0xd1e1, 0xe58e8c},
+  {0xd1e2, 0xe7a09a},
+  {0xd1e3, 0xe99b81},
+  {0xd1e4, 0xe59481},
+  {0xd1e5, 0xe5bda6},
+  {0xd1e6, 0xe784b0},
+  {0xd1e7, 0xe5aeb4},
+  {0xd1e8, 0xe8b09a},
+  {0xd1e9, 0xe9aa8c},
+  {0xd1ea, 0xe6ae83},
+  {0xd1eb, 0xe5a4ae},
+  {0xd1ec, 0xe9b8af},
+  {0xd1ed, 0xe7a7a7},
+  {0xd1ee, 0xe69da8},
+  {0xd1ef, 0xe689ac},
+  {0xd1f0, 0xe4bdaf},
+  {0xd1f1, 0xe796a1},
+  {0xd1f2, 0xe7be8a},
+  {0xd1f3, 0xe6b48b},
+  {0xd1f4, 0xe998b3},
+  {0xd1f5, 0xe6b0a7},
+  {0xd1f6, 0xe4bbb0},
+  {0xd1f7, 0xe79792},
+  {0xd1f8, 0xe585bb},
+  {0xd1f9, 0xe6a0b7},
+  {0xd1fa, 0xe6bcbe},
+  {0xd1fb, 0xe98280},
+  {0xd1fc, 0xe885b0},
+  {0xd1fd, 0xe5a696},
+  {0xd1fe, 0xe791b6},
+  {0xd240, 0xe8a4b8},
+  {0xd241, 0xe8a4b9},
+  {0xd242, 0xe8a4ba},
+  {0xd243, 0xe8a4bb},
+  {0xd244, 0xe8a4bc},
+  {0xd245, 0xe8a4bd},
+  {0xd246, 0xe8a4be},
+  {0xd247, 0xe8a4bf},
+  {0xd248, 0xe8a580},
+  {0xd249, 0xe8a582},
+  {0xd24a, 0xe8a583},
+  {0xd24b, 0xe8a585},
+  {0xd24c, 0xe8a586},
+  {0xd24d, 0xe8a587},
+  {0xd24e, 0xe8a588},
+  {0xd24f, 0xe8a589},
+  {0xd250, 0xe8a58a},
+  {0xd251, 0xe8a58b},
+  {0xd252, 0xe8a58c},
+  {0xd253, 0xe8a58d},
+  {0xd254, 0xe8a58e},
+  {0xd255, 0xe8a58f},
+  {0xd256, 0xe8a590},
+  {0xd257, 0xe8a591},
+  {0xd258, 0xe8a592},
+  {0xd259, 0xe8a593},
+  {0xd25a, 0xe8a594},
+  {0xd25b, 0xe8a595},
+  {0xd25c, 0xe8a596},
+  {0xd25d, 0xe8a597},
+  {0xd25e, 0xe8a598},
+  {0xd25f, 0xe8a599},
+  {0xd260, 0xe8a59a},
+  {0xd261, 0xe8a59b},
+  {0xd262, 0xe8a59c},
+  {0xd263, 0xe8a59d},
+  {0xd264, 0xe8a5a0},
+  {0xd265, 0xe8a5a1},
+  {0xd266, 0xe8a5a2},
+  {0xd267, 0xe8a5a3},
+  {0xd268, 0xe8a5a4},
+  {0xd269, 0xe8a5a5},
+  {0xd26a, 0xe8a5a7},
+  {0xd26b, 0xe8a5a8},
+  {0xd26c, 0xe8a5a9},
+  {0xd26d, 0xe8a5aa},
+  {0xd26e, 0xe8a5ab},
+  {0xd26f, 0xe8a5ac},
+  {0xd270, 0xe8a5ad},
+  {0xd271, 0xe8a5ae},
+  {0xd272, 0xe8a5af},
+  {0xd273, 0xe8a5b0},
+  {0xd274, 0xe8a5b1},
+  {0xd275, 0xe8a5b2},
+  {0xd276, 0xe8a5b3},
+  {0xd277, 0xe8a5b4},
+  {0xd278, 0xe8a5b5},
+  {0xd279, 0xe8a5b6},
+  {0xd27a, 0xe8a5b7},
+  {0xd27b, 0xe8a5b8},
+  {0xd27c, 0xe8a5b9},
+  {0xd27d, 0xe8a5ba},
+  {0xd27e, 0xe8a5bc},
+  {0xd280, 0xe8a5bd},
+  {0xd281, 0xe8a5be},
+  {0xd282, 0xe8a680},
+  {0xd283, 0xe8a682},
+  {0xd284, 0xe8a684},
+  {0xd285, 0xe8a685},
+  {0xd286, 0xe8a687},
+  {0xd287, 0xe8a688},
+  {0xd288, 0xe8a689},
+  {0xd289, 0xe8a68a},
+  {0xd28a, 0xe8a68b},
+  {0xd28b, 0xe8a68c},
+  {0xd28c, 0xe8a68d},
+  {0xd28d, 0xe8a68e},
+  {0xd28e, 0xe8a68f},
+  {0xd28f, 0xe8a690},
+  {0xd290, 0xe8a691},
+  {0xd291, 0xe8a692},
+  {0xd292, 0xe8a693},
+  {0xd293, 0xe8a694},
+  {0xd294, 0xe8a695},
+  {0xd295, 0xe8a696},
+  {0xd296, 0xe8a697},
+  {0xd297, 0xe8a698},
+  {0xd298, 0xe8a699},
+  {0xd299, 0xe8a69a},
+  {0xd29a, 0xe8a69b},
+  {0xd29b, 0xe8a69c},
+  {0xd29c, 0xe8a69d},
+  {0xd29d, 0xe8a69e},
+  {0xd29e, 0xe8a69f},
+  {0xd29f, 0xe8a6a0},
+  {0xd2a0, 0xe8a6a1},
+  {0xd2a1, 0xe69187},
+  {0xd2a2, 0xe5b0a7},
+  {0xd2a3, 0xe981a5},
+  {0xd2a4, 0xe7aa91},
+  {0xd2a5, 0xe8b0a3},
+  {0xd2a6, 0xe5a79a},
+  {0xd2a7, 0xe592ac},
+  {0xd2a8, 0xe88880},
+  {0xd2a9, 0xe88daf},
+  {0xd2aa, 0xe8a681},
+  {0xd2ab, 0xe88080},
+  {0xd2ac, 0xe6a4b0},
+  {0xd2ad, 0xe5998e},
+  {0xd2ae, 0xe880b6},
+  {0xd2af, 0xe788b7},
+  {0xd2b0, 0xe9878e},
+  {0xd2b1, 0xe586b6},
+  {0xd2b2, 0xe4b99f},
+  {0xd2b3, 0xe9a1b5},
+  {0xd2b4, 0xe68e96},
+  {0xd2b5, 0xe4b89a},
+  {0xd2b6, 0xe58fb6},
+  {0xd2b7, 0xe69bb3},
+  {0xd2b8, 0xe8858b},
+  {0xd2b9, 0xe5a49c},
+  {0xd2ba, 0xe6b6b2},
+  {0xd2bb, 0xe4b880},
+  {0xd2bc, 0xe5a3b9},
+  {0xd2bd, 0xe58cbb},
+  {0xd2be, 0xe68f96},
+  {0xd2bf, 0xe993b1},
+  {0xd2c0, 0xe4be9d},
+  {0xd2c1, 0xe4bc8a},
+  {0xd2c2, 0xe8a1a3},
+  {0xd2c3, 0xe9a290},
+  {0xd2c4, 0xe5a4b7},
+  {0xd2c5, 0xe98197},
+  {0xd2c6, 0xe7a7bb},
+  {0xd2c7, 0xe4bbaa},
+  {0xd2c8, 0xe883b0},
+  {0xd2c9, 0xe79691},
+  {0xd2ca, 0xe6b282},
+  {0xd2cb, 0xe5ae9c},
+  {0xd2cc, 0xe5a7a8},
+  {0xd2cd, 0xe5bd9d},
+  {0xd2ce, 0xe6a485},
+  {0xd2cf, 0xe89a81},
+  {0xd2d0, 0xe5809a},
+  {0xd2d1, 0xe5b7b2},
+  {0xd2d2, 0xe4b999},
+  {0xd2d3, 0xe79fa3},
+  {0xd2d4, 0xe4bba5},
+  {0xd2d5, 0xe889ba},
+  {0xd2d6, 0xe68a91},
+  {0xd2d7, 0xe69893},
+  {0xd2d8, 0xe98291},
+  {0xd2d9, 0xe5b1b9},
+  {0xd2da, 0xe4babf},
+  {0xd2db, 0xe5bdb9},
+  {0xd2dc, 0xe88786},
+  {0xd2dd, 0xe980b8},
+  {0xd2de, 0xe88284},
+  {0xd2df, 0xe796ab},
+  {0xd2e0, 0xe4baa6},
+  {0xd2e1, 0xe8a394},
+  {0xd2e2, 0xe6848f},
+  {0xd2e3, 0xe6af85},
+  {0xd2e4, 0xe5bf86},
+  {0xd2e5, 0xe4b989},
+  {0xd2e6, 0xe79b8a},
+  {0xd2e7, 0xe6baa2},
+  {0xd2e8, 0xe8afa3},
+  {0xd2e9, 0xe8aeae},
+  {0xd2ea, 0xe8b08a},
+  {0xd2eb, 0xe8af91},
+  {0xd2ec, 0xe5bc82},
+  {0xd2ed, 0xe7bfbc},
+  {0xd2ee, 0xe7bf8c},
+  {0xd2ef, 0xe7bb8e},
+  {0xd2f0, 0xe88cb5},
+  {0xd2f1, 0xe88dab},
+  {0xd2f2, 0xe59ba0},
+  {0xd2f3, 0xe6aeb7},
+  {0xd2f4, 0xe99fb3},
+  {0xd2f5, 0xe998b4},
+  {0xd2f6, 0xe5a7bb},
+  {0xd2f7, 0xe5909f},
+  {0xd2f8, 0xe993b6},
+  {0xd2f9, 0xe6b7ab},
+  {0xd2fa, 0xe5af85},
+  {0xd2fb, 0xe9a5ae},
+  {0xd2fc, 0xe5b0b9},
+  {0xd2fd, 0xe5bc95},
+  {0xd2fe, 0xe99a90},
+  {0xd340, 0xe8a6a2},
+  {0xd341, 0xe8a6a3},
+  {0xd342, 0xe8a6a4},
+  {0xd343, 0xe8a6a5},
+  {0xd344, 0xe8a6a6},
+  {0xd345, 0xe8a6a7},
+  {0xd346, 0xe8a6a8},
+  {0xd347, 0xe8a6a9},
+  {0xd348, 0xe8a6aa},
+  {0xd349, 0xe8a6ab},
+  {0xd34a, 0xe8a6ac},
+  {0xd34b, 0xe8a6ad},
+  {0xd34c, 0xe8a6ae},
+  {0xd34d, 0xe8a6af},
+  {0xd34e, 0xe8a6b0},
+  {0xd34f, 0xe8a6b1},
+  {0xd350, 0xe8a6b2},
+  {0xd351, 0xe8a6b3},
+  {0xd352, 0xe8a6b4},
+  {0xd353, 0xe8a6b5},
+  {0xd354, 0xe8a6b6},
+  {0xd355, 0xe8a6b7},
+  {0xd356, 0xe8a6b8},
+  {0xd357, 0xe8a6b9},
+  {0xd358, 0xe8a6ba},
+  {0xd359, 0xe8a6bb},
+  {0xd35a, 0xe8a6bc},
+  {0xd35b, 0xe8a6bd},
+  {0xd35c, 0xe8a6be},
+  {0xd35d, 0xe8a6bf},
+  {0xd35e, 0xe8a780},
+  {0xd35f, 0xe8a783},
+  {0xd360, 0xe8a78d},
+  {0xd361, 0xe8a793},
+  {0xd362, 0xe8a794},
+  {0xd363, 0xe8a795},
+  {0xd364, 0xe8a797},
+  {0xd365, 0xe8a798},
+  {0xd366, 0xe8a799},
+  {0xd367, 0xe8a79b},
+  {0xd368, 0xe8a79d},
+  {0xd369, 0xe8a79f},
+  {0xd36a, 0xe8a7a0},
+  {0xd36b, 0xe8a7a1},
+  {0xd36c, 0xe8a7a2},
+  {0xd36d, 0xe8a7a4},
+  {0xd36e, 0xe8a7a7},
+  {0xd36f, 0xe8a7a8},
+  {0xd370, 0xe8a7a9},
+  {0xd371, 0xe8a7aa},
+  {0xd372, 0xe8a7ac},
+  {0xd373, 0xe8a7ad},
+  {0xd374, 0xe8a7ae},
+  {0xd375, 0xe8a7b0},
+  {0xd376, 0xe8a7b1},
+  {0xd377, 0xe8a7b2},
+  {0xd378, 0xe8a7b4},
+  {0xd379, 0xe8a7b5},
+  {0xd37a, 0xe8a7b6},
+  {0xd37b, 0xe8a7b7},
+  {0xd37c, 0xe8a7b8},
+  {0xd37d, 0xe8a7b9},
+  {0xd37e, 0xe8a7ba},
+  {0xd380, 0xe8a7bb},
+  {0xd381, 0xe8a7bc},
+  {0xd382, 0xe8a7bd},
+  {0xd383, 0xe8a7be},
+  {0xd384, 0xe8a7bf},
+  {0xd385, 0xe8a881},
+  {0xd386, 0xe8a882},
+  {0xd387, 0xe8a883},
+  {0xd388, 0xe8a884},
+  {0xd389, 0xe8a885},
+  {0xd38a, 0xe8a886},
+  {0xd38b, 0xe8a888},
+  {0xd38c, 0xe8a889},
+  {0xd38d, 0xe8a88a},
+  {0xd38e, 0xe8a88b},
+  {0xd38f, 0xe8a88c},
+  {0xd390, 0xe8a88d},
+  {0xd391, 0xe8a88e},
+  {0xd392, 0xe8a88f},
+  {0xd393, 0xe8a890},
+  {0xd394, 0xe8a891},
+  {0xd395, 0xe8a892},
+  {0xd396, 0xe8a893},
+  {0xd397, 0xe8a894},
+  {0xd398, 0xe8a895},
+  {0xd399, 0xe8a896},
+  {0xd39a, 0xe8a897},
+  {0xd39b, 0xe8a898},
+  {0xd39c, 0xe8a899},
+  {0xd39d, 0xe8a89a},
+  {0xd39e, 0xe8a89b},
+  {0xd39f, 0xe8a89c},
+  {0xd3a0, 0xe8a89d},
+  {0xd3a1, 0xe58db0},
+  {0xd3a2, 0xe88bb1},
+  {0xd3a3, 0xe6a8b1},
+  {0xd3a4, 0xe5a9b4},
+  {0xd3a5, 0xe9b9b0},
+  {0xd3a6, 0xe5ba94},
+  {0xd3a7, 0xe7bca8},
+  {0xd3a8, 0xe88eb9},
+  {0xd3a9, 0xe890a4},
+  {0xd3aa, 0xe890a5},
+  {0xd3ab, 0xe88da7},
+  {0xd3ac, 0xe89d87},
+  {0xd3ad, 0xe8bf8e},
+  {0xd3ae, 0xe8b5a2},
+  {0xd3af, 0xe79b88},
+  {0xd3b0, 0xe5bdb1},
+  {0xd3b1, 0xe9a296},
+  {0xd3b2, 0xe7a1ac},
+  {0xd3b3, 0xe698a0},
+  {0xd3b4, 0xe5939f},
+  {0xd3b5, 0xe68ba5},
+  {0xd3b6, 0xe4bda3},
+  {0xd3b7, 0xe88783},
+  {0xd3b8, 0xe79788},
+  {0xd3b9, 0xe5bab8},
+  {0xd3ba, 0xe99b8d},
+  {0xd3bb, 0xe8b88a},
+  {0xd3bc, 0xe89bb9},
+  {0xd3bd, 0xe5928f},
+  {0xd3be, 0xe6b3b3},
+  {0xd3bf, 0xe6b68c},
+  {0xd3c0, 0xe6b0b8},
+  {0xd3c1, 0xe681bf},
+  {0xd3c2, 0xe58b87},
+  {0xd3c3, 0xe794a8},
+  {0xd3c4, 0xe5b9bd},
+  {0xd3c5, 0xe4bc98},
+  {0xd3c6, 0xe682a0},
+  {0xd3c7, 0xe5bfa7},
+  {0xd3c8, 0xe5b0a4},
+  {0xd3c9, 0xe794b1},
+  {0xd3ca, 0xe982ae},
+  {0xd3cb, 0xe99380},
+  {0xd3cc, 0xe78ab9},
+  {0xd3cd, 0xe6b2b9},
+  {0xd3ce, 0xe6b8b8},
+  {0xd3cf, 0xe98589},
+  {0xd3d0, 0xe69c89},
+  {0xd3d1, 0xe58f8b},
+  {0xd3d2, 0xe58fb3},
+  {0xd3d3, 0xe4bd91},
+  {0xd3d4, 0xe98789},
+  {0xd3d5, 0xe8afb1},
+  {0xd3d6, 0xe58f88},
+  {0xd3d7, 0xe5b9bc},
+  {0xd3d8, 0xe8bf82},
+  {0xd3d9, 0xe6b7a4},
+  {0xd3da, 0xe4ba8e},
+  {0xd3db, 0xe79b82},
+  {0xd3dc, 0xe6a686},
+  {0xd3dd, 0xe8999e},
+  {0xd3de, 0xe6849a},
+  {0xd3df, 0xe88886},
+  {0xd3e0, 0xe4bd99},
+  {0xd3e1, 0xe4bf9e},
+  {0xd3e2, 0xe980be},
+  {0xd3e3, 0xe9b1bc},
+  {0xd3e4, 0xe68489},
+  {0xd3e5, 0xe6b89d},
+  {0xd3e6, 0xe6b894},
+  {0xd3e7, 0xe99a85},
+  {0xd3e8, 0xe4ba88},
+  {0xd3e9, 0xe5a8b1},
+  {0xd3ea, 0xe99ba8},
+  {0xd3eb, 0xe4b88e},
+  {0xd3ec, 0xe5b1bf},
+  {0xd3ed, 0xe7a6b9},
+  {0xd3ee, 0xe5ae87},
+  {0xd3ef, 0xe8afad},
+  {0xd3f0, 0xe7bebd},
+  {0xd3f1, 0xe78e89},
+  {0xd3f2, 0xe59f9f},
+  {0xd3f3, 0xe88a8b},
+  {0xd3f4, 0xe98381},
+  {0xd3f5, 0xe59081},
+  {0xd3f6, 0xe98187},
+  {0xd3f7, 0xe596bb},
+  {0xd3f8, 0xe5b3aa},
+  {0xd3f9, 0xe5bea1},
+  {0xd3fa, 0xe68488},
+  {0xd3fb, 0xe6acb2},
+  {0xd3fc, 0xe78bb1},
+  {0xd3fd, 0xe882b2},
+  {0xd3fe, 0xe8aa89},
+  {0xd440, 0xe8a89e},
+  {0xd441, 0xe8a89f},
+  {0xd442, 0xe8a8a0},
+  {0xd443, 0xe8a8a1},
+  {0xd444, 0xe8a8a2},
+  {0xd445, 0xe8a8a3},
+  {0xd446, 0xe8a8a4},
+  {0xd447, 0xe8a8a5},
+  {0xd448, 0xe8a8a6},
+  {0xd449, 0xe8a8a7},
+  {0xd44a, 0xe8a8a8},
+  {0xd44b, 0xe8a8a9},
+  {0xd44c, 0xe8a8aa},
+  {0xd44d, 0xe8a8ab},
+  {0xd44e, 0xe8a8ac},
+  {0xd44f, 0xe8a8ad},
+  {0xd450, 0xe8a8ae},
+  {0xd451, 0xe8a8af},
+  {0xd452, 0xe8a8b0},
+  {0xd453, 0xe8a8b1},
+  {0xd454, 0xe8a8b2},
+  {0xd455, 0xe8a8b3},
+  {0xd456, 0xe8a8b4},
+  {0xd457, 0xe8a8b5},
+  {0xd458, 0xe8a8b6},
+  {0xd459, 0xe8a8b7},
+  {0xd45a, 0xe8a8b8},
+  {0xd45b, 0xe8a8b9},
+  {0xd45c, 0xe8a8ba},
+  {0xd45d, 0xe8a8bb},
+  {0xd45e, 0xe8a8bc},
+  {0xd45f, 0xe8a8bd},
+  {0xd460, 0xe8a8bf},
+  {0xd461, 0xe8a980},
+  {0xd462, 0xe8a981},
+  {0xd463, 0xe8a982},
+  {0xd464, 0xe8a983},
+  {0xd465, 0xe8a984},
+  {0xd466, 0xe8a985},
+  {0xd467, 0xe8a986},
+  {0xd468, 0xe8a987},
+  {0xd469, 0xe8a989},
+  {0xd46a, 0xe8a98a},
+  {0xd46b, 0xe8a98b},
+  {0xd46c, 0xe8a98c},
+  {0xd46d, 0xe8a98d},
+  {0xd46e, 0xe8a98e},
+  {0xd46f, 0xe8a98f},
+  {0xd470, 0xe8a990},
+  {0xd471, 0xe8a991},
+  {0xd472, 0xe8a992},
+  {0xd473, 0xe8a993},
+  {0xd474, 0xe8a994},
+  {0xd475, 0xe8a995},
+  {0xd476, 0xe8a996},
+  {0xd477, 0xe8a997},
+  {0xd478, 0xe8a998},
+  {0xd479, 0xe8a999},
+  {0xd47a, 0xe8a99a},
+  {0xd47b, 0xe8a99b},
+  {0xd47c, 0xe8a99c},
+  {0xd47d, 0xe8a99d},
+  {0xd47e, 0xe8a99e},
+  {0xd480, 0xe8a99f},
+  {0xd481, 0xe8a9a0},
+  {0xd482, 0xe8a9a1},
+  {0xd483, 0xe8a9a2},
+  {0xd484, 0xe8a9a3},
+  {0xd485, 0xe8a9a4},
+  {0xd486, 0xe8a9a5},
+  {0xd487, 0xe8a9a6},
+  {0xd488, 0xe8a9a7},
+  {0xd489, 0xe8a9a8},
+  {0xd48a, 0xe8a9a9},
+  {0xd48b, 0xe8a9aa},
+  {0xd48c, 0xe8a9ab},
+  {0xd48d, 0xe8a9ac},
+  {0xd48e, 0xe8a9ad},
+  {0xd48f, 0xe8a9ae},
+  {0xd490, 0xe8a9af},
+  {0xd491, 0xe8a9b0},
+  {0xd492, 0xe8a9b1},
+  {0xd493, 0xe8a9b2},
+  {0xd494, 0xe8a9b3},
+  {0xd495, 0xe8a9b4},
+  {0xd496, 0xe8a9b5},
+  {0xd497, 0xe8a9b6},
+  {0xd498, 0xe8a9b7},
+  {0xd499, 0xe8a9b8},
+  {0xd49a, 0xe8a9ba},
+  {0xd49b, 0xe8a9bb},
+  {0xd49c, 0xe8a9bc},
+  {0xd49d, 0xe8a9bd},
+  {0xd49e, 0xe8a9be},
+  {0xd49f, 0xe8a9bf},
+  {0xd4a0, 0xe8aa80},
+  {0xd4a1, 0xe6b5b4},
+  {0xd4a2, 0xe5af93},
+  {0xd4a3, 0xe8a395},
+  {0xd4a4, 0xe9a284},
+  {0xd4a5, 0xe8b1ab},
+  {0xd4a6, 0xe9a9ad},
+  {0xd4a7, 0xe9b8b3},
+  {0xd4a8, 0xe6b88a},
+  {0xd4a9, 0xe586a4},
+  {0xd4aa, 0xe58583},
+  {0xd4ab, 0xe59ea3},
+  {0xd4ac, 0xe8a281},
+  {0xd4ad, 0xe58e9f},
+  {0xd4ae, 0xe68fb4},
+  {0xd4af, 0xe8be95},
+  {0xd4b0, 0xe59bad},
+  {0xd4b1, 0xe59198},
+  {0xd4b2, 0xe59c86},
+  {0xd4b3, 0xe78cbf},
+  {0xd4b4, 0xe6ba90},
+  {0xd4b5, 0xe7bc98},
+  {0xd4b6, 0xe8bf9c},
+  {0xd4b7, 0xe88b91},
+  {0xd4b8, 0xe684bf},
+  {0xd4b9, 0xe680a8},
+  {0xd4ba, 0xe999a2},
+  {0xd4bb, 0xe69bb0},
+  {0xd4bc, 0xe7baa6},
+  {0xd4bd, 0xe8b68a},
+  {0xd4be, 0xe8b783},
+  {0xd4bf, 0xe992a5},
+  {0xd4c0, 0xe5b2b3},
+  {0xd4c1, 0xe7b2a4},
+  {0xd4c2, 0xe69c88},
+  {0xd4c3, 0xe682a6},
+  {0xd4c4, 0xe99885},
+  {0xd4c5, 0xe88098},
+  {0xd4c6, 0xe4ba91},
+  {0xd4c7, 0xe983a7},
+  {0xd4c8, 0xe58c80},
+  {0xd4c9, 0xe999a8},
+  {0xd4ca, 0xe58581},
+  {0xd4cb, 0xe8bf90},
+  {0xd4cc, 0xe895b4},
+  {0xd4cd, 0xe9859d},
+  {0xd4ce, 0xe69995},
+  {0xd4cf, 0xe99fb5},
+  {0xd4d0, 0xe5ad95},
+  {0xd4d1, 0xe58c9d},
+  {0xd4d2, 0xe7a0b8},
+  {0xd4d3, 0xe69d82},
+  {0xd4d4, 0xe6a0bd},
+  {0xd4d5, 0xe59389},
+  {0xd4d6, 0xe781be},
+  {0xd4d7, 0xe5aeb0},
+  {0xd4d8, 0xe8bdbd},
+  {0xd4d9, 0xe5868d},
+  {0xd4da, 0xe59ca8},
+  {0xd4db, 0xe592b1},
+  {0xd4dc, 0xe69492},
+  {0xd4dd, 0xe69a82},
+  {0xd4de, 0xe8b59e},
+  {0xd4df, 0xe8b583},
+  {0xd4e0, 0xe8848f},
+  {0xd4e1, 0xe891ac},
+  {0xd4e2, 0xe981ad},
+  {0xd4e3, 0xe7b39f},
+  {0xd4e4, 0xe587bf},
+  {0xd4e5, 0xe897bb},
+  {0xd4e6, 0xe69ea3},
+  {0xd4e7, 0xe697a9},
+  {0xd4e8, 0xe6bea1},
+  {0xd4e9, 0xe89aa4},
+  {0xd4ea, 0xe8ba81},
+  {0xd4eb, 0xe599aa},
+  {0xd4ec, 0xe980a0},
+  {0xd4ed, 0xe79a82},
+  {0xd4ee, 0xe781b6},
+  {0xd4ef, 0xe787a5},
+  {0xd4f0, 0xe8b4a3},
+  {0xd4f1, 0xe68ba9},
+  {0xd4f2, 0xe58899},
+  {0xd4f3, 0xe6b3bd},
+  {0xd4f4, 0xe8b4bc},
+  {0xd4f5, 0xe6808e},
+  {0xd4f6, 0xe5a29e},
+  {0xd4f7, 0xe6868e},
+  {0xd4f8, 0xe69bbe},
+  {0xd4f9, 0xe8b5a0},
+  {0xd4fa, 0xe6898e},
+  {0xd4fb, 0xe596b3},
+  {0xd4fc, 0xe6b8a3},
+  {0xd4fd, 0xe69cad},
+  {0xd4fe, 0xe8bda7},
+  {0xd540, 0xe8aa81},
+  {0xd541, 0xe8aa82},
+  {0xd542, 0xe8aa83},
+  {0xd543, 0xe8aa84},
+  {0xd544, 0xe8aa85},
+  {0xd545, 0xe8aa86},
+  {0xd546, 0xe8aa87},
+  {0xd547, 0xe8aa88},
+  {0xd548, 0xe8aa8b},
+  {0xd549, 0xe8aa8c},
+  {0xd54a, 0xe8aa8d},
+  {0xd54b, 0xe8aa8e},
+  {0xd54c, 0xe8aa8f},
+  {0xd54d, 0xe8aa90},
+  {0xd54e, 0xe8aa91},
+  {0xd54f, 0xe8aa92},
+  {0xd550, 0xe8aa94},
+  {0xd551, 0xe8aa95},
+  {0xd552, 0xe8aa96},
+  {0xd553, 0xe8aa97},
+  {0xd554, 0xe8aa98},
+  {0xd555, 0xe8aa99},
+  {0xd556, 0xe8aa9a},
+  {0xd557, 0xe8aa9b},
+  {0xd558, 0xe8aa9c},
+  {0xd559, 0xe8aa9d},
+  {0xd55a, 0xe8aa9e},
+  {0xd55b, 0xe8aa9f},
+  {0xd55c, 0xe8aaa0},
+  {0xd55d, 0xe8aaa1},
+  {0xd55e, 0xe8aaa2},
+  {0xd55f, 0xe8aaa3},
+  {0xd560, 0xe8aaa4},
+  {0xd561, 0xe8aaa5},
+  {0xd562, 0xe8aaa6},
+  {0xd563, 0xe8aaa7},
+  {0xd564, 0xe8aaa8},
+  {0xd565, 0xe8aaa9},
+  {0xd566, 0xe8aaaa},
+  {0xd567, 0xe8aaab},
+  {0xd568, 0xe8aaac},
+  {0xd569, 0xe8aaad},
+  {0xd56a, 0xe8aaae},
+  {0xd56b, 0xe8aaaf},
+  {0xd56c, 0xe8aab0},
+  {0xd56d, 0xe8aab1},
+  {0xd56e, 0xe8aab2},
+  {0xd56f, 0xe8aab3},
+  {0xd570, 0xe8aab4},
+  {0xd571, 0xe8aab5},
+  {0xd572, 0xe8aab6},
+  {0xd573, 0xe8aab7},
+  {0xd574, 0xe8aab8},
+  {0xd575, 0xe8aab9},
+  {0xd576, 0xe8aaba},
+  {0xd577, 0xe8aabb},
+  {0xd578, 0xe8aabc},
+  {0xd579, 0xe8aabd},
+  {0xd57a, 0xe8aabe},
+  {0xd57b, 0xe8aabf},
+  {0xd57c, 0xe8ab80},
+  {0xd57d, 0xe8ab81},
+  {0xd57e, 0xe8ab82},
+  {0xd580, 0xe8ab83},
+  {0xd581, 0xe8ab84},
+  {0xd582, 0xe8ab85},
+  {0xd583, 0xe8ab86},
+  {0xd584, 0xe8ab87},
+  {0xd585, 0xe8ab88},
+  {0xd586, 0xe8ab89},
+  {0xd587, 0xe8ab8a},
+  {0xd588, 0xe8ab8b},
+  {0xd589, 0xe8ab8c},
+  {0xd58a, 0xe8ab8d},
+  {0xd58b, 0xe8ab8e},
+  {0xd58c, 0xe8ab8f},
+  {0xd58d, 0xe8ab90},
+  {0xd58e, 0xe8ab91},
+  {0xd58f, 0xe8ab92},
+  {0xd590, 0xe8ab93},
+  {0xd591, 0xe8ab94},
+  {0xd592, 0xe8ab95},
+  {0xd593, 0xe8ab96},
+  {0xd594, 0xe8ab97},
+  {0xd595, 0xe8ab98},
+  {0xd596, 0xe8ab99},
+  {0xd597, 0xe8ab9a},
+  {0xd598, 0xe8ab9b},
+  {0xd599, 0xe8ab9c},
+  {0xd59a, 0xe8ab9d},
+  {0xd59b, 0xe8ab9e},
+  {0xd59c, 0xe8ab9f},
+  {0xd59d, 0xe8aba0},
+  {0xd59e, 0xe8aba1},
+  {0xd59f, 0xe8aba2},
+  {0xd5a0, 0xe8aba3},
+  {0xd5a1, 0xe993a1},
+  {0xd5a2, 0xe997b8},
+  {0xd5a3, 0xe79ca8},
+  {0xd5a4, 0xe6a085},
+  {0xd5a5, 0xe6a6a8},
+  {0xd5a6, 0xe5928b},
+  {0xd5a7, 0xe4b98d},
+  {0xd5a8, 0xe782b8},
+  {0xd5a9, 0xe8af88},
+  {0xd5aa, 0xe69198},
+  {0xd5ab, 0xe6968b},
+  {0xd5ac, 0xe5ae85},
+  {0xd5ad, 0xe7aa84},
+  {0xd5ae, 0xe580ba},
+  {0xd5af, 0xe5afa8},
+  {0xd5b0, 0xe79ebb},
+  {0xd5b1, 0xe6afa1},
+  {0xd5b2, 0xe8a9b9},
+  {0xd5b3, 0xe7b298},
+  {0xd5b4, 0xe6b2be},
+  {0xd5b5, 0xe79b8f},
+  {0xd5b6, 0xe696a9},
+  {0xd5b7, 0xe8be97},
+  {0xd5b8, 0xe5b4ad},
+  {0xd5b9, 0xe5b195},
+  {0xd5ba, 0xe898b8},
+  {0xd5bb, 0xe6a088},
+  {0xd5bc, 0xe58da0},
+  {0xd5bd, 0xe68898},
+  {0xd5be, 0xe7ab99},
+  {0xd5bf, 0xe6b99b},
+  {0xd5c0, 0xe7bbbd},
+  {0xd5c1, 0xe6a89f},
+  {0xd5c2, 0xe7aba0},
+  {0xd5c3, 0xe5bdb0},
+  {0xd5c4, 0xe6bcb3},
+  {0xd5c5, 0xe5bca0},
+  {0xd5c6, 0xe68e8c},
+  {0xd5c7, 0xe6b6a8},
+  {0xd5c8, 0xe69d96},
+  {0xd5c9, 0xe4b888},
+  {0xd5ca, 0xe5b890},
+  {0xd5cb, 0xe8b4a6},
+  {0xd5cc, 0xe4bb97},
+  {0xd5cd, 0xe88380},
+  {0xd5ce, 0xe798b4},
+  {0xd5cf, 0xe99a9c},
+  {0xd5d0, 0xe68b9b},
+  {0xd5d1, 0xe698ad},
+  {0xd5d2, 0xe689be},
+  {0xd5d3, 0xe6b2bc},
+  {0xd5d4, 0xe8b5b5},
+  {0xd5d5, 0xe785a7},
+  {0xd5d6, 0xe7bda9},
+  {0xd5d7, 0xe58586},
+  {0xd5d8, 0xe88287},
+  {0xd5d9, 0xe58fac},
+  {0xd5da, 0xe981ae},
+  {0xd5db, 0xe68a98},
+  {0xd5dc, 0xe593b2},
+  {0xd5dd, 0xe89bb0},
+  {0xd5de, 0xe8be99},
+  {0xd5df, 0xe88085},
+  {0xd5e0, 0xe99497},
+  {0xd5e1, 0xe89497},
+  {0xd5e2, 0xe8bf99},
+  {0xd5e3, 0xe6b599},
+  {0xd5e4, 0xe78f8d},
+  {0xd5e5, 0xe6969f},
+  {0xd5e6, 0xe79c9f},
+  {0xd5e7, 0xe79484},
+  {0xd5e8, 0xe7a0a7},
+  {0xd5e9, 0xe887bb},
+  {0xd5ea, 0xe8b49e},
+  {0xd5eb, 0xe99288},
+  {0xd5ec, 0xe4bea6},
+  {0xd5ed, 0xe69e95},
+  {0xd5ee, 0xe796b9},
+  {0xd5ef, 0xe8af8a},
+  {0xd5f0, 0xe99c87},
+  {0xd5f1, 0xe68caf},
+  {0xd5f2, 0xe99587},
+  {0xd5f3, 0xe998b5},
+  {0xd5f4, 0xe892b8},
+  {0xd5f5, 0xe68ca3},
+  {0xd5f6, 0xe79d81},
+  {0xd5f7, 0xe5be81},
+  {0xd5f8, 0xe78bb0},
+  {0xd5f9, 0xe4ba89},
+  {0xd5fa, 0xe68094},
+  {0xd5fb, 0xe695b4},
+  {0xd5fc, 0xe68baf},
+  {0xd5fd, 0xe6ada3},
+  {0xd5fe, 0xe694bf},
+  {0xd640, 0xe8aba4},
+  {0xd641, 0xe8aba5},
+  {0xd642, 0xe8aba6},
+  {0xd643, 0xe8aba7},
+  {0xd644, 0xe8aba8},
+  {0xd645, 0xe8aba9},
+  {0xd646, 0xe8abaa},
+  {0xd647, 0xe8abab},
+  {0xd648, 0xe8abac},
+  {0xd649, 0xe8abad},
+  {0xd64a, 0xe8abae},
+  {0xd64b, 0xe8abaf},
+  {0xd64c, 0xe8abb0},
+  {0xd64d, 0xe8abb1},
+  {0xd64e, 0xe8abb2},
+  {0xd64f, 0xe8abb3},
+  {0xd650, 0xe8abb4},
+  {0xd651, 0xe8abb5},
+  {0xd652, 0xe8abb6},
+  {0xd653, 0xe8abb7},
+  {0xd654, 0xe8abb8},
+  {0xd655, 0xe8abb9},
+  {0xd656, 0xe8abba},
+  {0xd657, 0xe8abbb},
+  {0xd658, 0xe8abbc},
+  {0xd659, 0xe8abbd},
+  {0xd65a, 0xe8abbe},
+  {0xd65b, 0xe8abbf},
+  {0xd65c, 0xe8ac80},
+  {0xd65d, 0xe8ac81},
+  {0xd65e, 0xe8ac82},
+  {0xd65f, 0xe8ac83},
+  {0xd660, 0xe8ac84},
+  {0xd661, 0xe8ac85},
+  {0xd662, 0xe8ac86},
+  {0xd663, 0xe8ac88},
+  {0xd664, 0xe8ac89},
+  {0xd665, 0xe8ac8a},
+  {0xd666, 0xe8ac8b},
+  {0xd667, 0xe8ac8c},
+  {0xd668, 0xe8ac8d},
+  {0xd669, 0xe8ac8e},
+  {0xd66a, 0xe8ac8f},
+  {0xd66b, 0xe8ac90},
+  {0xd66c, 0xe8ac91},
+  {0xd66d, 0xe8ac92},
+  {0xd66e, 0xe8ac93},
+  {0xd66f, 0xe8ac94},
+  {0xd670, 0xe8ac95},
+  {0xd671, 0xe8ac96},
+  {0xd672, 0xe8ac97},
+  {0xd673, 0xe8ac98},
+  {0xd674, 0xe8ac99},
+  {0xd675, 0xe8ac9a},
+  {0xd676, 0xe8ac9b},
+  {0xd677, 0xe8ac9c},
+  {0xd678, 0xe8ac9d},
+  {0xd679, 0xe8ac9e},
+  {0xd67a, 0xe8ac9f},
+  {0xd67b, 0xe8aca0},
+  {0xd67c, 0xe8aca1},
+  {0xd67d, 0xe8aca2},
+  {0xd67e, 0xe8aca3},
+  {0xd680, 0xe8aca4},
+  {0xd681, 0xe8aca5},
+  {0xd682, 0xe8aca7},
+  {0xd683, 0xe8aca8},
+  {0xd684, 0xe8aca9},
+  {0xd685, 0xe8acaa},
+  {0xd686, 0xe8acab},
+  {0xd687, 0xe8acac},
+  {0xd688, 0xe8acad},
+  {0xd689, 0xe8acae},
+  {0xd68a, 0xe8acaf},
+  {0xd68b, 0xe8acb0},
+  {0xd68c, 0xe8acb1},
+  {0xd68d, 0xe8acb2},
+  {0xd68e, 0xe8acb3},
+  {0xd68f, 0xe8acb4},
+  {0xd690, 0xe8acb5},
+  {0xd691, 0xe8acb6},
+  {0xd692, 0xe8acb7},
+  {0xd693, 0xe8acb8},
+  {0xd694, 0xe8acb9},
+  {0xd695, 0xe8acba},
+  {0xd696, 0xe8acbb},
+  {0xd697, 0xe8acbc},
+  {0xd698, 0xe8acbd},
+  {0xd699, 0xe8acbe},
+  {0xd69a, 0xe8acbf},
+  {0xd69b, 0xe8ad80},
+  {0xd69c, 0xe8ad81},
+  {0xd69d, 0xe8ad82},
+  {0xd69e, 0xe8ad83},
+  {0xd69f, 0xe8ad84},
+  {0xd6a0, 0xe8ad85},
+  {0xd6a1, 0xe5b8a7},
+  {0xd6a2, 0xe79787},
+  {0xd6a3, 0xe98391},
+  {0xd6a4, 0xe8af81},
+  {0xd6a5, 0xe88a9d},
+  {0xd6a6, 0xe69e9d},
+  {0xd6a7, 0xe694af},
+  {0xd6a8, 0xe590b1},
+  {0xd6a9, 0xe89c98},
+  {0xd6aa, 0xe79fa5},
+  {0xd6ab, 0xe882a2},
+  {0xd6ac, 0xe88482},
+  {0xd6ad, 0xe6b181},
+  {0xd6ae, 0xe4b98b},
+  {0xd6af, 0xe7bb87},
+  {0xd6b0, 0xe8818c},
+  {0xd6b1, 0xe79bb4},
+  {0xd6b2, 0xe6a48d},
+  {0xd6b3, 0xe6ae96},
+  {0xd6b4, 0xe689a7},
+  {0xd6b5, 0xe580bc},
+  {0xd6b6, 0xe4be84},
+  {0xd6b7, 0xe59d80},
+  {0xd6b8, 0xe68c87},
+  {0xd6b9, 0xe6ada2},
+  {0xd6ba, 0xe8b6be},
+  {0xd6bb, 0xe58faa},
+  {0xd6bc, 0xe697a8},
+  {0xd6bd, 0xe7bab8},
+  {0xd6be, 0xe5bf97},
+  {0xd6bf, 0xe68c9a},
+  {0xd6c0, 0xe68eb7},
+  {0xd6c1, 0xe887b3},
+  {0xd6c2, 0xe887b4},
+  {0xd6c3, 0xe7bdae},
+  {0xd6c4, 0xe5b89c},
+  {0xd6c5, 0xe5b399},
+  {0xd6c6, 0xe588b6},
+  {0xd6c7, 0xe699ba},
+  {0xd6c8, 0xe7a7a9},
+  {0xd6c9, 0xe7a89a},
+  {0xd6ca, 0xe8b4a8},
+  {0xd6cb, 0xe78299},
+  {0xd6cc, 0xe79794},
+  {0xd6cd, 0xe6bb9e},
+  {0xd6ce, 0xe6b2bb},
+  {0xd6cf, 0xe7aa92},
+  {0xd6d0, 0xe4b8ad},
+  {0xd6d1, 0xe79b85},
+  {0xd6d2, 0xe5bfa0},
+  {0xd6d3, 0xe9929f},
+  {0xd6d4, 0xe8a1b7},
+  {0xd6d5, 0xe7bb88},
+  {0xd6d6, 0xe7a78d},
+  {0xd6d7, 0xe882bf},
+  {0xd6d8, 0xe9878d},
+  {0xd6d9, 0xe4bbb2},
+  {0xd6da, 0xe4bc97},
+  {0xd6db, 0xe8889f},
+  {0xd6dc, 0xe591a8},
+  {0xd6dd, 0xe5b79e},
+  {0xd6de, 0xe6b4b2},
+  {0xd6df, 0xe8af8c},
+  {0xd6e0, 0xe7b2a5},
+  {0xd6e1, 0xe8bdb4},
+  {0xd6e2, 0xe88298},
+  {0xd6e3, 0xe5b89a},
+  {0xd6e4, 0xe59292},
+  {0xd6e5, 0xe79ab1},
+  {0xd6e6, 0xe5ae99},
+  {0xd6e7, 0xe698bc},
+  {0xd6e8, 0xe9aaa4},
+  {0xd6e9, 0xe78fa0},
+  {0xd6ea, 0xe6a0aa},
+  {0xd6eb, 0xe89b9b},
+  {0xd6ec, 0xe69cb1},
+  {0xd6ed, 0xe78caa},
+  {0xd6ee, 0xe8afb8},
+  {0xd6ef, 0xe8af9b},
+  {0xd6f0, 0xe98090},
+  {0xd6f1, 0xe7abb9},
+  {0xd6f2, 0xe7839b},
+  {0xd6f3, 0xe785ae},
+  {0xd6f4, 0xe68b84},
+  {0xd6f5, 0xe79ea9},
+  {0xd6f6, 0xe598b1},
+  {0xd6f7, 0xe4b8bb},
+  {0xd6f8, 0xe89197},
+  {0xd6f9, 0xe69fb1},
+  {0xd6fa, 0xe58aa9},
+  {0xd6fb, 0xe89b80},
+  {0xd6fc, 0xe8b4ae},
+  {0xd6fd, 0xe993b8},
+  {0xd6fe, 0xe7ad91},
+  {0xd740, 0xe8ad86},
+  {0xd741, 0xe8ad87},
+  {0xd742, 0xe8ad88},
+  {0xd743, 0xe8ad89},
+  {0xd744, 0xe8ad8a},
+  {0xd745, 0xe8ad8b},
+  {0xd746, 0xe8ad8c},
+  {0xd747, 0xe8ad8d},
+  {0xd748, 0xe8ad8e},
+  {0xd749, 0xe8ad8f},
+  {0xd74a, 0xe8ad90},
+  {0xd74b, 0xe8ad91},
+  {0xd74c, 0xe8ad92},
+  {0xd74d, 0xe8ad93},
+  {0xd74e, 0xe8ad94},
+  {0xd74f, 0xe8ad95},
+  {0xd750, 0xe8ad96},
+  {0xd751, 0xe8ad97},
+  {0xd752, 0xe8ad98},
+  {0xd753, 0xe8ad99},
+  {0xd754, 0xe8ad9a},
+  {0xd755, 0xe8ad9b},
+  {0xd756, 0xe8ad9c},
+  {0xd757, 0xe8ad9d},
+  {0xd758, 0xe8ad9e},
+  {0xd759, 0xe8ad9f},
+  {0xd75a, 0xe8ada0},
+  {0xd75b, 0xe8ada1},
+  {0xd75c, 0xe8ada2},
+  {0xd75d, 0xe8ada3},
+  {0xd75e, 0xe8ada4},
+  {0xd75f, 0xe8ada5},
+  {0xd760, 0xe8ada7},
+  {0xd761, 0xe8ada8},
+  {0xd762, 0xe8ada9},
+  {0xd763, 0xe8adaa},
+  {0xd764, 0xe8adab},
+  {0xd765, 0xe8adad},
+  {0xd766, 0xe8adae},
+  {0xd767, 0xe8adaf},
+  {0xd768, 0xe8adb0},
+  {0xd769, 0xe8adb1},
+  {0xd76a, 0xe8adb2},
+  {0xd76b, 0xe8adb3},
+  {0xd76c, 0xe8adb4},
+  {0xd76d, 0xe8adb5},
+  {0xd76e, 0xe8adb6},
+  {0xd76f, 0xe8adb7},
+  {0xd770, 0xe8adb8},
+  {0xd771, 0xe8adb9},
+  {0xd772, 0xe8adba},
+  {0xd773, 0xe8adbb},
+  {0xd774, 0xe8adbc},
+  {0xd775, 0xe8adbd},
+  {0xd776, 0xe8adbe},
+  {0xd777, 0xe8adbf},
+  {0xd778, 0xe8ae80},
+  {0xd779, 0xe8ae81},
+  {0xd77a, 0xe8ae82},
+  {0xd77b, 0xe8ae83},
+  {0xd77c, 0xe8ae84},
+  {0xd77d, 0xe8ae85},
+  {0xd77e, 0xe8ae86},
+  {0xd780, 0xe8ae87},
+  {0xd781, 0xe8ae88},
+  {0xd782, 0xe8ae89},
+  {0xd783, 0xe8ae8a},
+  {0xd784, 0xe8ae8b},
+  {0xd785, 0xe8ae8c},
+  {0xd786, 0xe8ae8d},
+  {0xd787, 0xe8ae8e},
+  {0xd788, 0xe8ae8f},
+  {0xd789, 0xe8ae90},
+  {0xd78a, 0xe8ae91},
+  {0xd78b, 0xe8ae92},
+  {0xd78c, 0xe8ae93},
+  {0xd78d, 0xe8ae94},
+  {0xd78e, 0xe8ae95},
+  {0xd78f, 0xe8ae96},
+  {0xd790, 0xe8ae97},
+  {0xd791, 0xe8ae98},
+  {0xd792, 0xe8ae99},
+  {0xd793, 0xe8ae9a},
+  {0xd794, 0xe8ae9b},
+  {0xd795, 0xe8ae9c},
+  {0xd796, 0xe8ae9d},
+  {0xd797, 0xe8ae9e},
+  {0xd798, 0xe8ae9f},
+  {0xd799, 0xe8aeac},
+  {0xd79a, 0xe8aeb1},
+  {0xd79b, 0xe8aebb},
+  {0xd79c, 0xe8af87},
+  {0xd79d, 0xe8af90},
+  {0xd79e, 0xe8afaa},
+  {0xd79f, 0xe8b089},
+  {0xd7a0, 0xe8b09e},
+  {0xd7a1, 0xe4bd8f},
+  {0xd7a2, 0xe6b3a8},
+  {0xd7a3, 0xe7a59d},
+  {0xd7a4, 0xe9a9bb},
+  {0xd7a5, 0xe68a93},
+  {0xd7a6, 0xe788aa},
+  {0xd7a7, 0xe68bbd},
+  {0xd7a8, 0xe4b893},
+  {0xd7a9, 0xe7a096},
+  {0xd7aa, 0xe8bdac},
+  {0xd7ab, 0xe692b0},
+  {0xd7ac, 0xe8b59a},
+  {0xd7ad, 0xe7af86},
+  {0xd7ae, 0xe6a1a9},
+  {0xd7af, 0xe5ba84},
+  {0xd7b0, 0xe8a385},
+  {0xd7b1, 0xe5a686},
+  {0xd7b2, 0xe6929e},
+  {0xd7b3, 0xe5a3ae},
+  {0xd7b4, 0xe78ab6},
+  {0xd7b5, 0xe6a48e},
+  {0xd7b6, 0xe994a5},
+  {0xd7b7, 0xe8bfbd},
+  {0xd7b8, 0xe8b598},
+  {0xd7b9, 0xe59da0},
+  {0xd7ba, 0xe7bc80},
+  {0xd7bb, 0xe8b086},
+  {0xd7bc, 0xe58786},
+  {0xd7bd, 0xe68d89},
+  {0xd7be, 0xe68b99},
+  {0xd7bf, 0xe58d93},
+  {0xd7c0, 0xe6a18c},
+  {0xd7c1, 0xe790a2},
+  {0xd7c2, 0xe88c81},
+  {0xd7c3, 0xe9858c},
+  {0xd7c4, 0xe59584},
+  {0xd7c5, 0xe79d80},
+  {0xd7c6, 0xe781bc},
+  {0xd7c7, 0xe6b58a},
+  {0xd7c8, 0xe585b9},
+  {0xd7c9, 0xe592a8},
+  {0xd7ca, 0xe8b584},
+  {0xd7cb, 0xe5a7bf},
+  {0xd7cc, 0xe6bb8b},
+  {0xd7cd, 0xe6b784},
+  {0xd7ce, 0xe5ad9c},
+  {0xd7cf, 0xe7b4ab},
+  {0xd7d0, 0xe4bb94},
+  {0xd7d1, 0xe7b1bd},
+  {0xd7d2, 0xe6bb93},
+  {0xd7d3, 0xe5ad90},
+  {0xd7d4, 0xe887aa},
+  {0xd7d5, 0xe6b88d},
+  {0xd7d6, 0xe5ad97},
+  {0xd7d7, 0xe9ac83},
+  {0xd7d8, 0xe6a395},
+  {0xd7d9, 0xe8b8aa},
+  {0xd7da, 0xe5ae97},
+  {0xd7db, 0xe7bbbc},
+  {0xd7dc, 0xe680bb},
+  {0xd7dd, 0xe7bab5},
+  {0xd7de, 0xe982b9},
+  {0xd7df, 0xe8b5b0},
+  {0xd7e0, 0xe5a58f},
+  {0xd7e1, 0xe68f8d},
+  {0xd7e2, 0xe7a79f},
+  {0xd7e3, 0xe8b6b3},
+  {0xd7e4, 0xe58d92},
+  {0xd7e5, 0xe6978f},
+  {0xd7e6, 0xe7a596},
+  {0xd7e7, 0xe8af85},
+  {0xd7e8, 0xe998bb},
+  {0xd7e9, 0xe7bb84},
+  {0xd7ea, 0xe992bb},
+  {0xd7eb, 0xe7ba82},
+  {0xd7ec, 0xe598b4},
+  {0xd7ed, 0xe98689},
+  {0xd7ee, 0xe69c80},
+  {0xd7ef, 0xe7bdaa},
+  {0xd7f0, 0xe5b08a},
+  {0xd7f1, 0xe981b5},
+  {0xd7f2, 0xe698a8},
+  {0xd7f3, 0xe5b7a6},
+  {0xd7f4, 0xe4bd90},
+  {0xd7f5, 0xe69f9e},
+  {0xd7f6, 0xe5819a},
+  {0xd7f7, 0xe4bd9c},
+  {0xd7f8, 0xe59d90},
+  {0xd7f9, 0xe5baa7},
+  {0xd7fa, 0xeea090},
+  {0xd7fb, 0xeea091},
+  {0xd7fc, 0xeea092},
+  {0xd7fd, 0xeea093},
+  {0xd7fe, 0xeea094},
+  {0xd840, 0xe8b0b8},
+  {0xd841, 0xe8b0b9},
+  {0xd842, 0xe8b0ba},
+  {0xd843, 0xe8b0bb},
+  {0xd844, 0xe8b0bc},
+  {0xd845, 0xe8b0bd},
+  {0xd846, 0xe8b0be},
+  {0xd847, 0xe8b0bf},
+  {0xd848, 0xe8b180},
+  {0xd849, 0xe8b182},
+  {0xd84a, 0xe8b183},
+  {0xd84b, 0xe8b184},
+  {0xd84c, 0xe8b185},
+  {0xd84d, 0xe8b188},
+  {0xd84e, 0xe8b18a},
+  {0xd84f, 0xe8b18b},
+  {0xd850, 0xe8b18d},
+  {0xd851, 0xe8b18e},
+  {0xd852, 0xe8b18f},
+  {0xd853, 0xe8b190},
+  {0xd854, 0xe8b191},
+  {0xd855, 0xe8b192},
+  {0xd856, 0xe8b193},
+  {0xd857, 0xe8b194},
+  {0xd858, 0xe8b196},
+  {0xd859, 0xe8b197},
+  {0xd85a, 0xe8b198},
+  {0xd85b, 0xe8b199},
+  {0xd85c, 0xe8b19b},
+  {0xd85d, 0xe8b19c},
+  {0xd85e, 0xe8b19d},
+  {0xd85f, 0xe8b19e},
+  {0xd860, 0xe8b19f},
+  {0xd861, 0xe8b1a0},
+  {0xd862, 0xe8b1a3},
+  {0xd863, 0xe8b1a4},
+  {0xd864, 0xe8b1a5},
+  {0xd865, 0xe8b1a6},
+  {0xd866, 0xe8b1a7},
+  {0xd867, 0xe8b1a8},
+  {0xd868, 0xe8b1a9},
+  {0xd869, 0xe8b1ac},
+  {0xd86a, 0xe8b1ad},
+  {0xd86b, 0xe8b1ae},
+  {0xd86c, 0xe8b1af},
+  {0xd86d, 0xe8b1b0},
+  {0xd86e, 0xe8b1b1},
+  {0xd86f, 0xe8b1b2},
+  {0xd870, 0xe8b1b4},
+  {0xd871, 0xe8b1b5},
+  {0xd872, 0xe8b1b6},
+  {0xd873, 0xe8b1b7},
+  {0xd874, 0xe8b1bb},
+  {0xd875, 0xe8b1bc},
+  {0xd876, 0xe8b1bd},
+  {0xd877, 0xe8b1be},
+  {0xd878, 0xe8b1bf},
+  {0xd879, 0xe8b280},
+  {0xd87a, 0xe8b281},
+  {0xd87b, 0xe8b283},
+  {0xd87c, 0xe8b284},
+  {0xd87d, 0xe8b286},
+  {0xd87e, 0xe8b287},
+  {0xd880, 0xe8b288},
+  {0xd881, 0xe8b28b},
+  {0xd882, 0xe8b28d},
+  {0xd883, 0xe8b28e},
+  {0xd884, 0xe8b28f},
+  {0xd885, 0xe8b290},
+  {0xd886, 0xe8b291},
+  {0xd887, 0xe8b292},
+  {0xd888, 0xe8b293},
+  {0xd889, 0xe8b295},
+  {0xd88a, 0xe8b296},
+  {0xd88b, 0xe8b297},
+  {0xd88c, 0xe8b299},
+  {0xd88d, 0xe8b29a},
+  {0xd88e, 0xe8b29b},
+  {0xd88f, 0xe8b29c},
+  {0xd890, 0xe8b29d},
+  {0xd891, 0xe8b29e},
+  {0xd892, 0xe8b29f},
+  {0xd893, 0xe8b2a0},
+  {0xd894, 0xe8b2a1},
+  {0xd895, 0xe8b2a2},
+  {0xd896, 0xe8b2a3},
+  {0xd897, 0xe8b2a4},
+  {0xd898, 0xe8b2a5},
+  {0xd899, 0xe8b2a6},
+  {0xd89a, 0xe8b2a7},
+  {0xd89b, 0xe8b2a8},
+  {0xd89c, 0xe8b2a9},
+  {0xd89d, 0xe8b2aa},
+  {0xd89e, 0xe8b2ab},
+  {0xd89f, 0xe8b2ac},
+  {0xd8a0, 0xe8b2ad},
+  {0xd8a1, 0xe4ba8d},
+  {0xd8a2, 0xe4b88c},
+  {0xd8a3, 0xe58580},
+  {0xd8a4, 0xe4b890},
+  {0xd8a5, 0xe5bbbf},
+  {0xd8a6, 0xe58d85},
+  {0xd8a7, 0xe4b895},
+  {0xd8a8, 0xe4ba98},
+  {0xd8a9, 0xe4b89e},
+  {0xd8aa, 0xe9acb2},
+  {0xd8ab, 0xe5adac},
+  {0xd8ac, 0xe599a9},
+  {0xd8ad, 0xe4b8a8},
+  {0xd8ae, 0xe7a6ba},
+  {0xd8af, 0xe4b8bf},
+  {0xd8b0, 0xe58c95},
+  {0xd8b1, 0xe4b987},
+  {0xd8b2, 0xe5a4ad},
+  {0xd8b3, 0xe788bb},
+  {0xd8b4, 0xe58dae},
+  {0xd8b5, 0xe6b090},
+  {0xd8b6, 0xe59b9f},
+  {0xd8b7, 0xe883a4},
+  {0xd8b8, 0xe9a697},
+  {0xd8b9, 0xe6af93},
+  {0xd8ba, 0xe79dbe},
+  {0xd8bb, 0xe9bc97},
+  {0xd8bc, 0xe4b8b6},
+  {0xd8bd, 0xe4ba9f},
+  {0xd8be, 0xe9bc90},
+  {0xd8bf, 0xe4b99c},
+  {0xd8c0, 0xe4b9a9},
+  {0xd8c1, 0xe4ba93},
+  {0xd8c2, 0xe88a88},
+  {0xd8c3, 0xe5ad9b},
+  {0xd8c4, 0xe595ac},
+  {0xd8c5, 0xe5988f},
+  {0xd8c6, 0xe4bb84},
+  {0xd8c7, 0xe58e8d},
+  {0xd8c8, 0xe58e9d},
+  {0xd8c9, 0xe58ea3},
+  {0xd8ca, 0xe58ea5},
+  {0xd8cb, 0xe58eae},
+  {0xd8cc, 0xe99da5},
+  {0xd8cd, 0xe8b59d},
+  {0xd8ce, 0xe58c9a},
+  {0xd8cf, 0xe58fb5},
+  {0xd8d0, 0xe58ca6},
+  {0xd8d1, 0xe58cae},
+  {0xd8d2, 0xe58cbe},
+  {0xd8d3, 0xe8b59c},
+  {0xd8d4, 0xe58da6},
+  {0xd8d5, 0xe58da3},
+  {0xd8d6, 0xe58882},
+  {0xd8d7, 0xe58888},
+  {0xd8d8, 0xe5888e},
+  {0xd8d9, 0xe588ad},
+  {0xd8da, 0xe588b3},
+  {0xd8db, 0xe588bf},
+  {0xd8dc, 0xe58980},
+  {0xd8dd, 0xe5898c},
+  {0xd8de, 0xe5899e},
+  {0xd8df, 0xe589a1},
+  {0xd8e0, 0xe5899c},
+  {0xd8e1, 0xe892af},
+  {0xd8e2, 0xe589bd},
+  {0xd8e3, 0xe58a82},
+  {0xd8e4, 0xe58a81},
+  {0xd8e5, 0xe58a90},
+  {0xd8e6, 0xe58a93},
+  {0xd8e7, 0xe58682},
+  {0xd8e8, 0xe7bd94},
+  {0xd8e9, 0xe4babb},
+  {0xd8ea, 0xe4bb83},
+  {0xd8eb, 0xe4bb89},
+  {0xd8ec, 0xe4bb82},
+  {0xd8ed, 0xe4bba8},
+  {0xd8ee, 0xe4bba1},
+  {0xd8ef, 0xe4bbab},
+  {0xd8f0, 0xe4bb9e},
+  {0xd8f1, 0xe4bc9b},
+  {0xd8f2, 0xe4bbb3},
+  {0xd8f3, 0xe4bca2},
+  {0xd8f4, 0xe4bda4},
+  {0xd8f5, 0xe4bbb5},
+  {0xd8f6, 0xe4bca5},
+  {0xd8f7, 0xe4bca7},
+  {0xd8f8, 0xe4bc89},
+  {0xd8f9, 0xe4bcab},
+  {0xd8fa, 0xe4bd9e},
+  {0xd8fb, 0xe4bda7},
+  {0xd8fc, 0xe694b8},
+  {0xd8fd, 0xe4bd9a},
+  {0xd8fe, 0xe4bd9d},
+  {0xd940, 0xe8b2ae},
+  {0xd941, 0xe8b2af},
+  {0xd942, 0xe8b2b0},
+  {0xd943, 0xe8b2b1},
+  {0xd944, 0xe8b2b2},
+  {0xd945, 0xe8b2b3},
+  {0xd946, 0xe8b2b4},
+  {0xd947, 0xe8b2b5},
+  {0xd948, 0xe8b2b6},
+  {0xd949, 0xe8b2b7},
+  {0xd94a, 0xe8b2b8},
+  {0xd94b, 0xe8b2b9},
+  {0xd94c, 0xe8b2ba},
+  {0xd94d, 0xe8b2bb},
+  {0xd94e, 0xe8b2bc},
+  {0xd94f, 0xe8b2bd},
+  {0xd950, 0xe8b2be},
+  {0xd951, 0xe8b2bf},
+  {0xd952, 0xe8b380},
+  {0xd953, 0xe8b381},
+  {0xd954, 0xe8b382},
+  {0xd955, 0xe8b383},
+  {0xd956, 0xe8b384},
+  {0xd957, 0xe8b385},
+  {0xd958, 0xe8b386},
+  {0xd959, 0xe8b387},
+  {0xd95a, 0xe8b388},
+  {0xd95b, 0xe8b389},
+  {0xd95c, 0xe8b38a},
+  {0xd95d, 0xe8b38b},
+  {0xd95e, 0xe8b38c},
+  {0xd95f, 0xe8b38d},
+  {0xd960, 0xe8b38e},
+  {0xd961, 0xe8b38f},
+  {0xd962, 0xe8b390},
+  {0xd963, 0xe8b391},
+  {0xd964, 0xe8b392},
+  {0xd965, 0xe8b393},
+  {0xd966, 0xe8b394},
+  {0xd967, 0xe8b395},
+  {0xd968, 0xe8b396},
+  {0xd969, 0xe8b397},
+  {0xd96a, 0xe8b398},
+  {0xd96b, 0xe8b399},
+  {0xd96c, 0xe8b39a},
+  {0xd96d, 0xe8b39b},
+  {0xd96e, 0xe8b39c},
+  {0xd96f, 0xe8b39d},
+  {0xd970, 0xe8b39e},
+  {0xd971, 0xe8b39f},
+  {0xd972, 0xe8b3a0},
+  {0xd973, 0xe8b3a1},
+  {0xd974, 0xe8b3a2},
+  {0xd975, 0xe8b3a3},
+  {0xd976, 0xe8b3a4},
+  {0xd977, 0xe8b3a5},
+  {0xd978, 0xe8b3a6},
+  {0xd979, 0xe8b3a7},
+  {0xd97a, 0xe8b3a8},
+  {0xd97b, 0xe8b3a9},
+  {0xd97c, 0xe8b3aa},
+  {0xd97d, 0xe8b3ab},
+  {0xd97e, 0xe8b3ac},
+  {0xd980, 0xe8b3ad},
+  {0xd981, 0xe8b3ae},
+  {0xd982, 0xe8b3af},
+  {0xd983, 0xe8b3b0},
+  {0xd984, 0xe8b3b1},
+  {0xd985, 0xe8b3b2},
+  {0xd986, 0xe8b3b3},
+  {0xd987, 0xe8b3b4},
+  {0xd988, 0xe8b3b5},
+  {0xd989, 0xe8b3b6},
+  {0xd98a, 0xe8b3b7},
+  {0xd98b, 0xe8b3b8},
+  {0xd98c, 0xe8b3b9},
+  {0xd98d, 0xe8b3ba},
+  {0xd98e, 0xe8b3bb},
+  {0xd98f, 0xe8b3bc},
+  {0xd990, 0xe8b3bd},
+  {0xd991, 0xe8b3be},
+  {0xd992, 0xe8b3bf},
+  {0xd993, 0xe8b480},
+  {0xd994, 0xe8b481},
+  {0xd995, 0xe8b482},
+  {0xd996, 0xe8b483},
+  {0xd997, 0xe8b484},
+  {0xd998, 0xe8b485},
+  {0xd999, 0xe8b486},
+  {0xd99a, 0xe8b487},
+  {0xd99b, 0xe8b488},
+  {0xd99c, 0xe8b489},
+  {0xd99d, 0xe8b48a},
+  {0xd99e, 0xe8b48b},
+  {0xd99f, 0xe8b48c},
+  {0xd9a0, 0xe8b48d},
+  {0xd9a1, 0xe4bd9f},
+  {0xd9a2, 0xe4bd97},
+  {0xd9a3, 0xe4bcb2},
+  {0xd9a4, 0xe4bcbd},
+  {0xd9a5, 0xe4bdb6},
+  {0xd9a6, 0xe4bdb4},
+  {0xd9a7, 0xe4be91},
+  {0xd9a8, 0xe4be89},
+  {0xd9a9, 0xe4be83},
+  {0xd9aa, 0xe4be8f},
+  {0xd9ab, 0xe4bdbe},
+  {0xd9ac, 0xe4bdbb},
+  {0xd9ad, 0xe4beaa},
+  {0xd9ae, 0xe4bdbc},
+  {0xd9af, 0xe4beac},
+  {0xd9b0, 0xe4be94},
+  {0xd9b1, 0xe4bfa6},
+  {0xd9b2, 0xe4bfa8},
+  {0xd9b3, 0xe4bfaa},
+  {0xd9b4, 0xe4bf85},
+  {0xd9b5, 0xe4bf9a},
+  {0xd9b6, 0xe4bfa3},
+  {0xd9b7, 0xe4bf9c},
+  {0xd9b8, 0xe4bf91},
+  {0xd9b9, 0xe4bf9f},
+  {0xd9ba, 0xe4bfb8},
+  {0xd9bb, 0xe580a9},
+  {0xd9bc, 0xe5818c},
+  {0xd9bd, 0xe4bfb3},
+  {0xd9be, 0xe580ac},
+  {0xd9bf, 0xe5808f},
+  {0xd9c0, 0xe580ae},
+  {0xd9c1, 0xe580ad},
+  {0xd9c2, 0xe4bfbe},
+  {0xd9c3, 0xe5809c},
+  {0xd9c4, 0xe5808c},
+  {0xd9c5, 0xe580a5},
+  {0xd9c6, 0xe580a8},
+  {0xd9c7, 0xe581be},
+  {0xd9c8, 0xe58183},
+  {0xd9c9, 0xe58195},
+  {0xd9ca, 0xe58188},
+  {0xd9cb, 0xe5818e},
+  {0xd9cc, 0xe581ac},
+  {0xd9cd, 0xe581bb},
+  {0xd9ce, 0xe582a5},
+  {0xd9cf, 0xe582a7},
+  {0xd9d0, 0xe582a9},
+  {0xd9d1, 0xe582ba},
+  {0xd9d2, 0xe58396},
+  {0xd9d3, 0xe58486},
+  {0xd9d4, 0xe583ad},
+  {0xd9d5, 0xe583ac},
+  {0xd9d6, 0xe583a6},
+  {0xd9d7, 0xe583ae},
+  {0xd9d8, 0xe58487},
+  {0xd9d9, 0xe5848b},
+  {0xd9da, 0xe4bb9d},
+  {0xd9db, 0xe6b0bd},
+  {0xd9dc, 0xe4bd98},
+  {0xd9dd, 0xe4bda5},
+  {0xd9de, 0xe4bf8e},
+  {0xd9df, 0xe9bea0},
+  {0xd9e0, 0xe6b186},
+  {0xd9e1, 0xe7b1b4},
+  {0xd9e2, 0xe585ae},
+  {0xd9e3, 0xe5b7bd},
+  {0xd9e4, 0xe9bb89},
+  {0xd9e5, 0xe9a698},
+  {0xd9e6, 0xe58681},
+  {0xd9e7, 0xe5a494},
+  {0xd9e8, 0xe58bb9},
+  {0xd9e9, 0xe58c8d},
+  {0xd9ea, 0xe8a887},
+  {0xd9eb, 0xe58c90},
+  {0xd9ec, 0xe587ab},
+  {0xd9ed, 0xe5a499},
+  {0xd9ee, 0xe58595},
+  {0xd9ef, 0xe4baa0},
+  {0xd9f0, 0xe58596},
+  {0xd9f1, 0xe4bab3},
+  {0xd9f2, 0xe8a1ae},
+  {0xd9f3, 0xe8a2a4},
+  {0xd9f4, 0xe4bab5},
+  {0xd9f5, 0xe88494},
+  {0xd9f6, 0xe8a392},
+  {0xd9f7, 0xe7a680},
+  {0xd9f8, 0xe5acb4},
+  {0xd9f9, 0xe8a083},
+  {0xd9fa, 0xe7beb8},
+  {0xd9fb, 0xe586ab},
+  {0xd9fc, 0xe586b1},
+  {0xd9fd, 0xe586bd},
+  {0xd9fe, 0xe586bc},
+  {0xda40, 0xe8b48e},
+  {0xda41, 0xe8b48f},
+  {0xda42, 0xe8b490},
+  {0xda43, 0xe8b491},
+  {0xda44, 0xe8b492},
+  {0xda45, 0xe8b493},
+  {0xda46, 0xe8b494},
+  {0xda47, 0xe8b495},
+  {0xda48, 0xe8b496},
+  {0xda49, 0xe8b497},
+  {0xda4a, 0xe8b498},
+  {0xda4b, 0xe8b499},
+  {0xda4c, 0xe8b49a},
+  {0xda4d, 0xe8b49b},
+  {0xda4e, 0xe8b49c},
+  {0xda4f, 0xe8b4a0},
+  {0xda50, 0xe8b591},
+  {0xda51, 0xe8b592},
+  {0xda52, 0xe8b597},
+  {0xda53, 0xe8b59f},
+  {0xda54, 0xe8b5a5},
+  {0xda55, 0xe8b5a8},
+  {0xda56, 0xe8b5a9},
+  {0xda57, 0xe8b5aa},
+  {0xda58, 0xe8b5ac},
+  {0xda59, 0xe8b5ae},
+  {0xda5a, 0xe8b5af},
+  {0xda5b, 0xe8b5b1},
+  {0xda5c, 0xe8b5b2},
+  {0xda5d, 0xe8b5b8},
+  {0xda5e, 0xe8b5b9},
+  {0xda5f, 0xe8b5ba},
+  {0xda60, 0xe8b5bb},
+  {0xda61, 0xe8b5bc},
+  {0xda62, 0xe8b5bd},
+  {0xda63, 0xe8b5be},
+  {0xda64, 0xe8b5bf},
+  {0xda65, 0xe8b680},
+  {0xda66, 0xe8b682},
+  {0xda67, 0xe8b683},
+  {0xda68, 0xe8b686},
+  {0xda69, 0xe8b687},
+  {0xda6a, 0xe8b688},
+  {0xda6b, 0xe8b689},
+  {0xda6c, 0xe8b68c},
+  {0xda6d, 0xe8b68d},
+  {0xda6e, 0xe8b68e},
+  {0xda6f, 0xe8b68f},
+  {0xda70, 0xe8b690},
+  {0xda71, 0xe8b692},
+  {0xda72, 0xe8b693},
+  {0xda73, 0xe8b695},
+  {0xda74, 0xe8b696},
+  {0xda75, 0xe8b697},
+  {0xda76, 0xe8b698},
+  {0xda77, 0xe8b699},
+  {0xda78, 0xe8b69a},
+  {0xda79, 0xe8b69b},
+  {0xda7a, 0xe8b69c},
+  {0xda7b, 0xe8b69d},
+  {0xda7c, 0xe8b69e},
+  {0xda7d, 0xe8b6a0},
+  {0xda7e, 0xe8b6a1},
+  {0xda80, 0xe8b6a2},
+  {0xda81, 0xe8b6a4},
+  {0xda82, 0xe8b6a5},
+  {0xda83, 0xe8b6a6},
+  {0xda84, 0xe8b6a7},
+  {0xda85, 0xe8b6a8},
+  {0xda86, 0xe8b6a9},
+  {0xda87, 0xe8b6aa},
+  {0xda88, 0xe8b6ab},
+  {0xda89, 0xe8b6ac},
+  {0xda8a, 0xe8b6ad},
+  {0xda8b, 0xe8b6ae},
+  {0xda8c, 0xe8b6af},
+  {0xda8d, 0xe8b6b0},
+  {0xda8e, 0xe8b6b2},
+  {0xda8f, 0xe8b6b6},
+  {0xda90, 0xe8b6b7},
+  {0xda91, 0xe8b6b9},
+  {0xda92, 0xe8b6bb},
+  {0xda93, 0xe8b6bd},
+  {0xda94, 0xe8b780},
+  {0xda95, 0xe8b781},
+  {0xda96, 0xe8b782},
+  {0xda97, 0xe8b785},
+  {0xda98, 0xe8b787},
+  {0xda99, 0xe8b788},
+  {0xda9a, 0xe8b789},
+  {0xda9b, 0xe8b78a},
+  {0xda9c, 0xe8b78d},
+  {0xda9d, 0xe8b790},
+  {0xda9e, 0xe8b792},
+  {0xda9f, 0xe8b793},
+  {0xdaa0, 0xe8b794},
+  {0xdaa1, 0xe58787},
+  {0xdaa2, 0xe58696},
+  {0xdaa3, 0xe586a2},
+  {0xdaa4, 0xe586a5},
+  {0xdaa5, 0xe8aea0},
+  {0xdaa6, 0xe8aea6},
+  {0xdaa7, 0xe8aea7},
+  {0xdaa8, 0xe8aeaa},
+  {0xdaa9, 0xe8aeb4},
+  {0xdaaa, 0xe8aeb5},
+  {0xdaab, 0xe8aeb7},
+  {0xdaac, 0xe8af82},
+  {0xdaad, 0xe8af83},
+  {0xdaae, 0xe8af8b},
+  {0xdaaf, 0xe8af8f},
+  {0xdab0, 0xe8af8e},
+  {0xdab1, 0xe8af92},
+  {0xdab2, 0xe8af93},
+  {0xdab3, 0xe8af94},
+  {0xdab4, 0xe8af96},
+  {0xdab5, 0xe8af98},
+  {0xdab6, 0xe8af99},
+  {0xdab7, 0xe8af9c},
+  {0xdab8, 0xe8af9f},
+  {0xdab9, 0xe8afa0},
+  {0xdaba, 0xe8afa4},
+  {0xdabb, 0xe8afa8},
+  {0xdabc, 0xe8afa9},
+  {0xdabd, 0xe8afae},
+  {0xdabe, 0xe8afb0},
+  {0xdabf, 0xe8afb3},
+  {0xdac0, 0xe8afb6},
+  {0xdac1, 0xe8afb9},
+  {0xdac2, 0xe8afbc},
+  {0xdac3, 0xe8afbf},
+  {0xdac4, 0xe8b080},
+  {0xdac5, 0xe8b082},
+  {0xdac6, 0xe8b084},
+  {0xdac7, 0xe8b087},
+  {0xdac8, 0xe8b08c},
+  {0xdac9, 0xe8b08f},
+  {0xdaca, 0xe8b091},
+  {0xdacb, 0xe8b092},
+  {0xdacc, 0xe8b094},
+  {0xdacd, 0xe8b095},
+  {0xdace, 0xe8b096},
+  {0xdacf, 0xe8b099},
+  {0xdad0, 0xe8b09b},
+  {0xdad1, 0xe8b098},
+  {0xdad2, 0xe8b09d},
+  {0xdad3, 0xe8b09f},
+  {0xdad4, 0xe8b0a0},
+  {0xdad5, 0xe8b0a1},
+  {0xdad6, 0xe8b0a5},
+  {0xdad7, 0xe8b0a7},
+  {0xdad8, 0xe8b0aa},
+  {0xdad9, 0xe8b0ab},
+  {0xdada, 0xe8b0ae},
+  {0xdadb, 0xe8b0af},
+  {0xdadc, 0xe8b0b2},
+  {0xdadd, 0xe8b0b3},
+  {0xdade, 0xe8b0b5},
+  {0xdadf, 0xe8b0b6},
+  {0xdae0, 0xe58da9},
+  {0xdae1, 0xe58dba},
+  {0xdae2, 0xe9989d},
+  {0xdae3, 0xe998a2},
+  {0xdae4, 0xe998a1},
+  {0xdae5, 0xe998b1},
+  {0xdae6, 0xe998aa},
+  {0xdae7, 0xe998bd},
+  {0xdae8, 0xe998bc},
+  {0xdae9, 0xe99982},
+  {0xdaea, 0xe99989},
+  {0xdaeb, 0xe99994},
+  {0xdaec, 0xe9999f},
+  {0xdaed, 0xe999a7},
+  {0xdaee, 0xe999ac},
+  {0xdaef, 0xe999b2},
+  {0xdaf0, 0xe999b4},
+  {0xdaf1, 0xe99a88},
+  {0xdaf2, 0xe99a8d},
+  {0xdaf3, 0xe99a97},
+  {0xdaf4, 0xe99ab0},
+  {0xdaf5, 0xe98297},
+  {0xdaf6, 0xe9829b},
+  {0xdaf7, 0xe9829d},
+  {0xdaf8, 0xe98299},
+  {0xdaf9, 0xe982ac},
+  {0xdafa, 0xe982a1},
+  {0xdafb, 0xe982b4},
+  {0xdafc, 0xe982b3},
+  {0xdafd, 0xe982b6},
+  {0xdafe, 0xe982ba},
+  {0xdb40, 0xe8b795},
+  {0xdb41, 0xe8b798},
+  {0xdb42, 0xe8b799},
+  {0xdb43, 0xe8b79c},
+  {0xdb44, 0xe8b7a0},
+  {0xdb45, 0xe8b7a1},
+  {0xdb46, 0xe8b7a2},
+  {0xdb47, 0xe8b7a5},
+  {0xdb48, 0xe8b7a6},
+  {0xdb49, 0xe8b7a7},
+  {0xdb4a, 0xe8b7a9},
+  {0xdb4b, 0xe8b7ad},
+  {0xdb4c, 0xe8b7ae},
+  {0xdb4d, 0xe8b7b0},
+  {0xdb4e, 0xe8b7b1},
+  {0xdb4f, 0xe8b7b2},
+  {0xdb50, 0xe8b7b4},
+  {0xdb51, 0xe8b7b6},
+  {0xdb52, 0xe8b7bc},
+  {0xdb53, 0xe8b7be},
+  {0xdb54, 0xe8b7bf},
+  {0xdb55, 0xe8b880},
+  {0xdb56, 0xe8b881},
+  {0xdb57, 0xe8b882},
+  {0xdb58, 0xe8b883},
+  {0xdb59, 0xe8b884},
+  {0xdb5a, 0xe8b886},
+  {0xdb5b, 0xe8b887},
+  {0xdb5c, 0xe8b888},
+  {0xdb5d, 0xe8b88b},
+  {0xdb5e, 0xe8b88d},
+  {0xdb5f, 0xe8b88e},
+  {0xdb60, 0xe8b890},
+  {0xdb61, 0xe8b891},
+  {0xdb62, 0xe8b892},
+  {0xdb63, 0xe8b893},
+  {0xdb64, 0xe8b895},
+  {0xdb65, 0xe8b896},
+  {0xdb66, 0xe8b897},
+  {0xdb67, 0xe8b898},
+  {0xdb68, 0xe8b899},
+  {0xdb69, 0xe8b89a},
+  {0xdb6a, 0xe8b89b},
+  {0xdb6b, 0xe8b89c},
+  {0xdb6c, 0xe8b8a0},
+  {0xdb6d, 0xe8b8a1},
+  {0xdb6e, 0xe8b8a4},
+  {0xdb6f, 0xe8b8a5},
+  {0xdb70, 0xe8b8a6},
+  {0xdb71, 0xe8b8a7},
+  {0xdb72, 0xe8b8a8},
+  {0xdb73, 0xe8b8ab},
+  {0xdb74, 0xe8b8ad},
+  {0xdb75, 0xe8b8b0},
+  {0xdb76, 0xe8b8b2},
+  {0xdb77, 0xe8b8b3},
+  {0xdb78, 0xe8b8b4},
+  {0xdb79, 0xe8b8b6},
+  {0xdb7a, 0xe8b8b7},
+  {0xdb7b, 0xe8b8b8},
+  {0xdb7c, 0xe8b8bb},
+  {0xdb7d, 0xe8b8bc},
+  {0xdb7e, 0xe8b8be},
+  {0xdb80, 0xe8b8bf},
+  {0xdb81, 0xe8b983},
+  {0xdb82, 0xe8b985},
+  {0xdb83, 0xe8b986},
+  {0xdb84, 0xe8b98c},
+  {0xdb85, 0xe8b98d},
+  {0xdb86, 0xe8b98e},
+  {0xdb87, 0xe8b98f},
+  {0xdb88, 0xe8b990},
+  {0xdb89, 0xe8b993},
+  {0xdb8a, 0xe8b994},
+  {0xdb8b, 0xe8b995},
+  {0xdb8c, 0xe8b996},
+  {0xdb8d, 0xe8b997},
+  {0xdb8e, 0xe8b998},
+  {0xdb8f, 0xe8b99a},
+  {0xdb90, 0xe8b99b},
+  {0xdb91, 0xe8b99c},
+  {0xdb92, 0xe8b99d},
+  {0xdb93, 0xe8b99e},
+  {0xdb94, 0xe8b99f},
+  {0xdb95, 0xe8b9a0},
+  {0xdb96, 0xe8b9a1},
+  {0xdb97, 0xe8b9a2},
+  {0xdb98, 0xe8b9a3},
+  {0xdb99, 0xe8b9a4},
+  {0xdb9a, 0xe8b9a5},
+  {0xdb9b, 0xe8b9a7},
+  {0xdb9c, 0xe8b9a8},
+  {0xdb9d, 0xe8b9aa},
+  {0xdb9e, 0xe8b9ab},
+  {0xdb9f, 0xe8b9ae},
+  {0xdba0, 0xe8b9b1},
+  {0xdba1, 0xe982b8},
+  {0xdba2, 0xe982b0},
+  {0xdba3, 0xe9838f},
+  {0xdba4, 0xe98385},
+  {0xdba5, 0xe982be},
+  {0xdba6, 0xe98390},
+  {0xdba7, 0xe98384},
+  {0xdba8, 0xe98387},
+  {0xdba9, 0xe98393},
+  {0xdbaa, 0xe983a6},
+  {0xdbab, 0xe983a2},
+  {0xdbac, 0xe9839c},
+  {0xdbad, 0xe98397},
+  {0xdbae, 0xe9839b},
+  {0xdbaf, 0xe983ab},
+  {0xdbb0, 0xe983af},
+  {0xdbb1, 0xe983be},
+  {0xdbb2, 0xe98484},
+  {0xdbb3, 0xe984a2},
+  {0xdbb4, 0xe9849e},
+  {0xdbb5, 0xe984a3},
+  {0xdbb6, 0xe984b1},
+  {0xdbb7, 0xe984af},
+  {0xdbb8, 0xe984b9},
+  {0xdbb9, 0xe98583},
+  {0xdbba, 0xe98586},
+  {0xdbbb, 0xe5888d},
+  {0xdbbc, 0xe5a582},
+  {0xdbbd, 0xe58aa2},
+  {0xdbbe, 0xe58aac},
+  {0xdbbf, 0xe58aad},
+  {0xdbc0, 0xe58abe},
+  {0xdbc1, 0xe593bf},
+  {0xdbc2, 0xe58b90},
+  {0xdbc3, 0xe58b96},
+  {0xdbc4, 0xe58bb0},
+  {0xdbc5, 0xe58f9f},
+  {0xdbc6, 0xe787ae},
+  {0xdbc7, 0xe79f8d},
+  {0xdbc8, 0xe5bbb4},
+  {0xdbc9, 0xe587b5},
+  {0xdbca, 0xe587bc},
+  {0xdbcb, 0xe9acaf},
+  {0xdbcc, 0xe58eb6},
+  {0xdbcd, 0xe5bc81},
+  {0xdbce, 0xe7959a},
+  {0xdbcf, 0xe5b7af},
+  {0xdbd0, 0xe59d8c},
+  {0xdbd1, 0xe59ea9},
+  {0xdbd2, 0xe59ea1},
+  {0xdbd3, 0xe5a1be},
+  {0xdbd4, 0xe5a2bc},
+  {0xdbd5, 0xe5a385},
+  {0xdbd6, 0xe5a391},
+  {0xdbd7, 0xe59ca9},
+  {0xdbd8, 0xe59cac},
+  {0xdbd9, 0xe59caa},
+  {0xdbda, 0xe59cb3},
+  {0xdbdb, 0xe59cb9},
+  {0xdbdc, 0xe59cae},
+  {0xdbdd, 0xe59caf},
+  {0xdbde, 0xe59d9c},
+  {0xdbdf, 0xe59cbb},
+  {0xdbe0, 0xe59d82},
+  {0xdbe1, 0xe59da9},
+  {0xdbe2, 0xe59e85},
+  {0xdbe3, 0xe59dab},
+  {0xdbe4, 0xe59e86},
+  {0xdbe5, 0xe59dbc},
+  {0xdbe6, 0xe59dbb},
+  {0xdbe7, 0xe59da8},
+  {0xdbe8, 0xe59dad},
+  {0xdbe9, 0xe59db6},
+  {0xdbea, 0xe59db3},
+  {0xdbeb, 0xe59ead},
+  {0xdbec, 0xe59ea4},
+  {0xdbed, 0xe59e8c},
+  {0xdbee, 0xe59eb2},
+  {0xdbef, 0xe59f8f},
+  {0xdbf0, 0xe59ea7},
+  {0xdbf1, 0xe59eb4},
+  {0xdbf2, 0xe59e93},
+  {0xdbf3, 0xe59ea0},
+  {0xdbf4, 0xe59f95},
+  {0xdbf5, 0xe59f98},
+  {0xdbf6, 0xe59f9a},
+  {0xdbf7, 0xe59f99},
+  {0xdbf8, 0xe59f92},
+  {0xdbf9, 0xe59eb8},
+  {0xdbfa, 0xe59fb4},
+  {0xdbfb, 0xe59faf},
+  {0xdbfc, 0xe59fb8},
+  {0xdbfd, 0xe59fa4},
+  {0xdbfe, 0xe59f9d},
+  {0xdc40, 0xe8b9b3},
+  {0xdc41, 0xe8b9b5},
+  {0xdc42, 0xe8b9b7},
+  {0xdc43, 0xe8b9b8},
+  {0xdc44, 0xe8b9b9},
+  {0xdc45, 0xe8b9ba},
+  {0xdc46, 0xe8b9bb},
+  {0xdc47, 0xe8b9bd},
+  {0xdc48, 0xe8b9be},
+  {0xdc49, 0xe8ba80},
+  {0xdc4a, 0xe8ba82},
+  {0xdc4b, 0xe8ba83},
+  {0xdc4c, 0xe8ba84},
+  {0xdc4d, 0xe8ba86},
+  {0xdc4e, 0xe8ba88},
+  {0xdc4f, 0xe8ba89},
+  {0xdc50, 0xe8ba8a},
+  {0xdc51, 0xe8ba8b},
+  {0xdc52, 0xe8ba8c},
+  {0xdc53, 0xe8ba8d},
+  {0xdc54, 0xe8ba8e},
+  {0xdc55, 0xe8ba91},
+  {0xdc56, 0xe8ba92},
+  {0xdc57, 0xe8ba93},
+  {0xdc58, 0xe8ba95},
+  {0xdc59, 0xe8ba96},
+  {0xdc5a, 0xe8ba97},
+  {0xdc5b, 0xe8ba98},
+  {0xdc5c, 0xe8ba99},
+  {0xdc5d, 0xe8ba9a},
+  {0xdc5e, 0xe8ba9b},
+  {0xdc5f, 0xe8ba9d},
+  {0xdc60, 0xe8ba9f},
+  {0xdc61, 0xe8baa0},
+  {0xdc62, 0xe8baa1},
+  {0xdc63, 0xe8baa2},
+  {0xdc64, 0xe8baa3},
+  {0xdc65, 0xe8baa4},
+  {0xdc66, 0xe8baa5},
+  {0xdc67, 0xe8baa6},
+  {0xdc68, 0xe8baa7},
+  {0xdc69, 0xe8baa8},
+  {0xdc6a, 0xe8baa9},
+  {0xdc6b, 0xe8baaa},
+  {0xdc6c, 0xe8baad},
+  {0xdc6d, 0xe8baae},
+  {0xdc6e, 0xe8bab0},
+  {0xdc6f, 0xe8bab1},
+  {0xdc70, 0xe8bab3},
+  {0xdc71, 0xe8bab4},
+  {0xdc72, 0xe8bab5},
+  {0xdc73, 0xe8bab6},
+  {0xdc74, 0xe8bab7},
+  {0xdc75, 0xe8bab8},
+  {0xdc76, 0xe8bab9},
+  {0xdc77, 0xe8babb},
+  {0xdc78, 0xe8babc},
+  {0xdc79, 0xe8babd},
+  {0xdc7a, 0xe8babe},
+  {0xdc7b, 0xe8babf},
+  {0xdc7c, 0xe8bb80},
+  {0xdc7d, 0xe8bb81},
+  {0xdc7e, 0xe8bb82},
+  {0xdc80, 0xe8bb83},
+  {0xdc81, 0xe8bb84},
+  {0xdc82, 0xe8bb85},
+  {0xdc83, 0xe8bb86},
+  {0xdc84, 0xe8bb87},
+  {0xdc85, 0xe8bb88},
+  {0xdc86, 0xe8bb89},
+  {0xdc87, 0xe8bb8a},
+  {0xdc88, 0xe8bb8b},
+  {0xdc89, 0xe8bb8c},
+  {0xdc8a, 0xe8bb8d},
+  {0xdc8b, 0xe8bb8f},
+  {0xdc8c, 0xe8bb90},
+  {0xdc8d, 0xe8bb91},
+  {0xdc8e, 0xe8bb92},
+  {0xdc8f, 0xe8bb93},
+  {0xdc90, 0xe8bb94},
+  {0xdc91, 0xe8bb95},
+  {0xdc92, 0xe8bb96},
+  {0xdc93, 0xe8bb97},
+  {0xdc94, 0xe8bb98},
+  {0xdc95, 0xe8bb99},
+  {0xdc96, 0xe8bb9a},
+  {0xdc97, 0xe8bb9b},
+  {0xdc98, 0xe8bb9c},
+  {0xdc99, 0xe8bb9d},
+  {0xdc9a, 0xe8bb9e},
+  {0xdc9b, 0xe8bb9f},
+  {0xdc9c, 0xe8bba0},
+  {0xdc9d, 0xe8bba1},
+  {0xdc9e, 0xe8bba2},
+  {0xdc9f, 0xe8bba3},
+  {0xdca0, 0xe8bba4},
+  {0xdca1, 0xe5a08b},
+  {0xdca2, 0xe5a08d},
+  {0xdca3, 0xe59fbd},
+  {0xdca4, 0xe59fad},
+  {0xdca5, 0xe5a080},
+  {0xdca6, 0xe5a09e},
+  {0xdca7, 0xe5a099},
+  {0xdca8, 0xe5a184},
+  {0xdca9, 0xe5a0a0},
+  {0xdcaa, 0xe5a1a5},
+  {0xdcab, 0xe5a1ac},
+  {0xdcac, 0xe5a281},
+  {0xdcad, 0xe5a289},
+  {0xdcae, 0xe5a29a},
+  {0xdcaf, 0xe5a280},
+  {0xdcb0, 0xe9a6a8},
+  {0xdcb1, 0xe9bc99},
+  {0xdcb2, 0xe687bf},
+  {0xdcb3, 0xe889b9},
+  {0xdcb4, 0xe889bd},
+  {0xdcb5, 0xe889bf},
+  {0xdcb6, 0xe88a8f},
+  {0xdcb7, 0xe88a8a},
+  {0xdcb8, 0xe88aa8},
+  {0xdcb9, 0xe88a84},
+  {0xdcba, 0xe88a8e},
+  {0xdcbb, 0xe88a91},
+  {0xdcbc, 0xe88a97},
+  {0xdcbd, 0xe88a99},
+  {0xdcbe, 0xe88aab},
+  {0xdcbf, 0xe88ab8},
+  {0xdcc0, 0xe88abe},
+  {0xdcc1, 0xe88ab0},
+  {0xdcc2, 0xe88b88},
+  {0xdcc3, 0xe88b8a},
+  {0xdcc4, 0xe88ba3},
+  {0xdcc5, 0xe88a98},
+  {0xdcc6, 0xe88ab7},
+  {0xdcc7, 0xe88aae},
+  {0xdcc8, 0xe88b8b},
+  {0xdcc9, 0xe88b8c},
+  {0xdcca, 0xe88b81},
+  {0xdccb, 0xe88aa9},
+  {0xdccc, 0xe88ab4},
+  {0xdccd, 0xe88aa1},
+  {0xdcce, 0xe88aaa},
+  {0xdccf, 0xe88a9f},
+  {0xdcd0, 0xe88b84},
+  {0xdcd1, 0xe88b8e},
+  {0xdcd2, 0xe88aa4},
+  {0xdcd3, 0xe88ba1},
+  {0xdcd4, 0xe88c89},
+  {0xdcd5, 0xe88bb7},
+  {0xdcd6, 0xe88ba4},
+  {0xdcd7, 0xe88c8f},
+  {0xdcd8, 0xe88c87},
+  {0xdcd9, 0xe88b9c},
+  {0xdcda, 0xe88bb4},
+  {0xdcdb, 0xe88b92},
+  {0xdcdc, 0xe88b98},
+  {0xdcdd, 0xe88c8c},
+  {0xdcde, 0xe88bbb},
+  {0xdcdf, 0xe88b93},
+  {0xdce0, 0xe88c91},
+  {0xdce1, 0xe88c9a},
+  {0xdce2, 0xe88c86},
+  {0xdce3, 0xe88c94},
+  {0xdce4, 0xe88c95},
+  {0xdce5, 0xe88ba0},
+  {0xdce6, 0xe88b95},
+  {0xdce7, 0xe88c9c},
+  {0xdce8, 0xe88d91},
+  {0xdce9, 0xe88d9b},
+  {0xdcea, 0xe88d9c},
+  {0xdceb, 0xe88c88},
+  {0xdcec, 0xe88e92},
+  {0xdced, 0xe88cbc},
+  {0xdcee, 0xe88cb4},
+  {0xdcef, 0xe88cb1},
+  {0xdcf0, 0xe88e9b},
+  {0xdcf1, 0xe88d9e},
+  {0xdcf2, 0xe88caf},
+  {0xdcf3, 0xe88d8f},
+  {0xdcf4, 0xe88d87},
+  {0xdcf5, 0xe88d83},
+  {0xdcf6, 0xe88d9f},
+  {0xdcf7, 0xe88d80},
+  {0xdcf8, 0xe88c97},
+  {0xdcf9, 0xe88da0},
+  {0xdcfa, 0xe88cad},
+  {0xdcfb, 0xe88cba},
+  {0xdcfc, 0xe88cb3},
+  {0xdcfd, 0xe88da6},
+  {0xdcfe, 0xe88da5},
+  {0xdd40, 0xe8bba5},
+  {0xdd41, 0xe8bba6},
+  {0xdd42, 0xe8bba7},
+  {0xdd43, 0xe8bba8},
+  {0xdd44, 0xe8bba9},
+  {0xdd45, 0xe8bbaa},
+  {0xdd46, 0xe8bbab},
+  {0xdd47, 0xe8bbac},
+  {0xdd48, 0xe8bbad},
+  {0xdd49, 0xe8bbae},
+  {0xdd4a, 0xe8bbaf},
+  {0xdd4b, 0xe8bbb0},
+  {0xdd4c, 0xe8bbb1},
+  {0xdd4d, 0xe8bbb2},
+  {0xdd4e, 0xe8bbb3},
+  {0xdd4f, 0xe8bbb4},
+  {0xdd50, 0xe8bbb5},
+  {0xdd51, 0xe8bbb6},
+  {0xdd52, 0xe8bbb7},
+  {0xdd53, 0xe8bbb8},
+  {0xdd54, 0xe8bbb9},
+  {0xdd55, 0xe8bbba},
+  {0xdd56, 0xe8bbbb},
+  {0xdd57, 0xe8bbbc},
+  {0xdd58, 0xe8bbbd},
+  {0xdd59, 0xe8bbbe},
+  {0xdd5a, 0xe8bbbf},
+  {0xdd5b, 0xe8bc80},
+  {0xdd5c, 0xe8bc81},
+  {0xdd5d, 0xe8bc82},
+  {0xdd5e, 0xe8bc83},
+  {0xdd5f, 0xe8bc84},
+  {0xdd60, 0xe8bc85},
+  {0xdd61, 0xe8bc86},
+  {0xdd62, 0xe8bc87},
+  {0xdd63, 0xe8bc88},
+  {0xdd64, 0xe8bc89},
+  {0xdd65, 0xe8bc8a},
+  {0xdd66, 0xe8bc8b},
+  {0xdd67, 0xe8bc8c},
+  {0xdd68, 0xe8bc8d},
+  {0xdd69, 0xe8bc8e},
+  {0xdd6a, 0xe8bc8f},
+  {0xdd6b, 0xe8bc90},
+  {0xdd6c, 0xe8bc91},
+  {0xdd6d, 0xe8bc92},
+  {0xdd6e, 0xe8bc93},
+  {0xdd6f, 0xe8bc94},
+  {0xdd70, 0xe8bc95},
+  {0xdd71, 0xe8bc96},
+  {0xdd72, 0xe8bc97},
+  {0xdd73, 0xe8bc98},
+  {0xdd74, 0xe8bc99},
+  {0xdd75, 0xe8bc9a},
+  {0xdd76, 0xe8bc9b},
+  {0xdd77, 0xe8bc9c},
+  {0xdd78, 0xe8bc9d},
+  {0xdd79, 0xe8bc9e},
+  {0xdd7a, 0xe8bc9f},
+  {0xdd7b, 0xe8bca0},
+  {0xdd7c, 0xe8bca1},
+  {0xdd7d, 0xe8bca2},
+  {0xdd7e, 0xe8bca3},
+  {0xdd80, 0xe8bca4},
+  {0xdd81, 0xe8bca5},
+  {0xdd82, 0xe8bca6},
+  {0xdd83, 0xe8bca7},
+  {0xdd84, 0xe8bca8},
+  {0xdd85, 0xe8bca9},
+  {0xdd86, 0xe8bcaa},
+  {0xdd87, 0xe8bcab},
+  {0xdd88, 0xe8bcac},
+  {0xdd89, 0xe8bcad},
+  {0xdd8a, 0xe8bcae},
+  {0xdd8b, 0xe8bcaf},
+  {0xdd8c, 0xe8bcb0},
+  {0xdd8d, 0xe8bcb1},
+  {0xdd8e, 0xe8bcb2},
+  {0xdd8f, 0xe8bcb3},
+  {0xdd90, 0xe8bcb4},
+  {0xdd91, 0xe8bcb5},
+  {0xdd92, 0xe8bcb6},
+  {0xdd93, 0xe8bcb7},
+  {0xdd94, 0xe8bcb8},
+  {0xdd95, 0xe8bcb9},
+  {0xdd96, 0xe8bcba},
+  {0xdd97, 0xe8bcbb},
+  {0xdd98, 0xe8bcbc},
+  {0xdd99, 0xe8bcbd},
+  {0xdd9a, 0xe8bcbe},
+  {0xdd9b, 0xe8bcbf},
+  {0xdd9c, 0xe8bd80},
+  {0xdd9d, 0xe8bd81},
+  {0xdd9e, 0xe8bd82},
+  {0xdd9f, 0xe8bd83},
+  {0xdda0, 0xe8bd84},
+  {0xdda1, 0xe88da8},
+  {0xdda2, 0xe88c9b},
+  {0xdda3, 0xe88da9},
+  {0xdda4, 0xe88dac},
+  {0xdda5, 0xe88daa},
+  {0xdda6, 0xe88dad},
+  {0xdda7, 0xe88dae},
+  {0xdda8, 0xe88eb0},
+  {0xdda9, 0xe88db8},
+  {0xddaa, 0xe88eb3},
+  {0xddab, 0xe88eb4},
+  {0xddac, 0xe88ea0},
+  {0xddad, 0xe88eaa},
+  {0xddae, 0xe88e93},
+  {0xddaf, 0xe88e9c},
+  {0xddb0, 0xe88e85},
+  {0xddb1, 0xe88dbc},
+  {0xddb2, 0xe88eb6},
+  {0xddb3, 0xe88ea9},
+  {0xddb4, 0xe88dbd},
+  {0xddb5, 0xe88eb8},
+  {0xddb6, 0xe88dbb},
+  {0xddb7, 0xe88e98},
+  {0xddb8, 0xe88e9e},
+  {0xddb9, 0xe88ea8},
+  {0xddba, 0xe88eba},
+  {0xddbb, 0xe88ebc},
+  {0xddbc, 0xe88f81},
+  {0xddbd, 0xe89081},
+  {0xddbe, 0xe88fa5},
+  {0xddbf, 0xe88f98},
+  {0xddc0, 0xe5a087},
+  {0xddc1, 0xe89098},
+  {0xddc2, 0xe8908b},
+  {0xddc3, 0xe88f9d},
+  {0xddc4, 0xe88fbd},
+  {0xddc5, 0xe88f96},
+  {0xddc6, 0xe8909c},
+  {0xddc7, 0xe890b8},
+  {0xddc8, 0xe89091},
+  {0xddc9, 0xe89086},
+  {0xddca, 0xe88f94},
+  {0xddcb, 0xe88f9f},
+  {0xddcc, 0xe8908f},
+  {0xddcd, 0xe89083},
+  {0xddce, 0xe88fb8},
+  {0xddcf, 0xe88fb9},
+  {0xddd0, 0xe88faa},
+  {0xddd1, 0xe88f85},
+  {0xddd2, 0xe88f80},
+  {0xddd3, 0xe890a6},
+  {0xddd4, 0xe88fb0},
+  {0xddd5, 0xe88fa1},
+  {0xddd6, 0xe8919c},
+  {0xddd7, 0xe89191},
+  {0xddd8, 0xe8919a},
+  {0xddd9, 0xe89199},
+  {0xddda, 0xe891b3},
+  {0xdddb, 0xe89287},
+  {0xdddc, 0xe89288},
+  {0xdddd, 0xe891ba},
+  {0xddde, 0xe89289},
+  {0xdddf, 0xe891b8},
+  {0xdde0, 0xe890bc},
+  {0xdde1, 0xe89186},
+  {0xdde2, 0xe891a9},
+  {0xdde3, 0xe891b6},
+  {0xdde4, 0xe8928c},
+  {0xdde5, 0xe8928e},
+  {0xdde6, 0xe890b1},
+  {0xdde7, 0xe891ad},
+  {0xdde8, 0xe89381},
+  {0xdde9, 0xe8938d},
+  {0xddea, 0xe89390},
+  {0xddeb, 0xe893a6},
+  {0xddec, 0xe892bd},
+  {0xdded, 0xe89393},
+  {0xddee, 0xe8938a},
+  {0xddef, 0xe892bf},
+  {0xddf0, 0xe892ba},
+  {0xddf1, 0xe893a0},
+  {0xddf2, 0xe892a1},
+  {0xddf3, 0xe892b9},
+  {0xddf4, 0xe892b4},
+  {0xddf5, 0xe89297},
+  {0xddf6, 0xe893a5},
+  {0xddf7, 0xe893a3},
+  {0xddf8, 0xe8948c},
+  {0xddf9, 0xe7948d},
+  {0xddfa, 0xe894b8},
+  {0xddfb, 0xe893b0},
+  {0xddfc, 0xe894b9},
+  {0xddfd, 0xe8949f},
+  {0xddfe, 0xe894ba},
+  {0xde40, 0xe8bd85},
+  {0xde41, 0xe8bd86},
+  {0xde42, 0xe8bd87},
+  {0xde43, 0xe8bd88},
+  {0xde44, 0xe8bd89},
+  {0xde45, 0xe8bd8a},
+  {0xde46, 0xe8bd8b},
+  {0xde47, 0xe8bd8c},
+  {0xde48, 0xe8bd8d},
+  {0xde49, 0xe8bd8e},
+  {0xde4a, 0xe8bd8f},
+  {0xde4b, 0xe8bd90},
+  {0xde4c, 0xe8bd91},
+  {0xde4d, 0xe8bd92},
+  {0xde4e, 0xe8bd93},
+  {0xde4f, 0xe8bd94},
+  {0xde50, 0xe8bd95},
+  {0xde51, 0xe8bd96},
+  {0xde52, 0xe8bd97},
+  {0xde53, 0xe8bd98},
+  {0xde54, 0xe8bd99},
+  {0xde55, 0xe8bd9a},
+  {0xde56, 0xe8bd9b},
+  {0xde57, 0xe8bd9c},
+  {0xde58, 0xe8bd9d},
+  {0xde59, 0xe8bd9e},
+  {0xde5a, 0xe8bd9f},
+  {0xde5b, 0xe8bda0},
+  {0xde5c, 0xe8bda1},
+  {0xde5d, 0xe8bda2},
+  {0xde5e, 0xe8bda3},
+  {0xde5f, 0xe8bda4},
+  {0xde60, 0xe8bda5},
+  {0xde61, 0xe8bdaa},
+  {0xde62, 0xe8be80},
+  {0xde63, 0xe8be8c},
+  {0xde64, 0xe8be92},
+  {0xde65, 0xe8be9d},
+  {0xde66, 0xe8bea0},
+  {0xde67, 0xe8bea1},
+  {0xde68, 0xe8bea2},
+  {0xde69, 0xe8bea4},
+  {0xde6a, 0xe8bea5},
+  {0xde6b, 0xe8bea6},
+  {0xde6c, 0xe8bea7},
+  {0xde6d, 0xe8beaa},
+  {0xde6e, 0xe8beac},
+  {0xde6f, 0xe8bead},
+  {0xde70, 0xe8beae},
+  {0xde71, 0xe8beaf},
+  {0xde72, 0xe8beb2},
+  {0xde73, 0xe8beb3},
+  {0xde74, 0xe8beb4},
+  {0xde75, 0xe8beb5},
+  {0xde76, 0xe8beb7},
+  {0xde77, 0xe8beb8},
+  {0xde78, 0xe8beba},
+  {0xde79, 0xe8bebb},
+  {0xde7a, 0xe8bebc},
+  {0xde7b, 0xe8bebf},
+  {0xde7c, 0xe8bf80},
+  {0xde7d, 0xe8bf83},
+  {0xde7e, 0xe8bf86},
+  {0xde80, 0xe8bf89},
+  {0xde81, 0xe8bf8a},
+  {0xde82, 0xe8bf8b},
+  {0xde83, 0xe8bf8c},
+  {0xde84, 0xe8bf8d},
+  {0xde85, 0xe8bf8f},
+  {0xde86, 0xe8bf92},
+  {0xde87, 0xe8bf96},
+  {0xde88, 0xe8bf97},
+  {0xde89, 0xe8bf9a},
+  {0xde8a, 0xe8bfa0},
+  {0xde8b, 0xe8bfa1},
+  {0xde8c, 0xe8bfa3},
+  {0xde8d, 0xe8bfa7},
+  {0xde8e, 0xe8bfac},
+  {0xde8f, 0xe8bfaf},
+  {0xde90, 0xe8bfb1},
+  {0xde91, 0xe8bfb2},
+  {0xde92, 0xe8bfb4},
+  {0xde93, 0xe8bfb5},
+  {0xde94, 0xe8bfb6},
+  {0xde95, 0xe8bfba},
+  {0xde96, 0xe8bfbb},
+  {0xde97, 0xe8bfbc},
+  {0xde98, 0xe8bfbe},
+  {0xde99, 0xe8bfbf},
+  {0xde9a, 0xe98087},
+  {0xde9b, 0xe98088},
+  {0xde9c, 0xe9808c},
+  {0xde9d, 0xe9808e},
+  {0xde9e, 0xe98093},
+  {0xde9f, 0xe98095},
+  {0xdea0, 0xe98098},
+  {0xdea1, 0xe89596},
+  {0xdea2, 0xe894bb},
+  {0xdea3, 0xe893bf},
+  {0xdea4, 0xe893bc},
+  {0xdea5, 0xe89599},
+  {0xdea6, 0xe89588},
+  {0xdea7, 0xe895a8},
+  {0xdea8, 0xe895a4},
+  {0xdea9, 0xe8959e},
+  {0xdeaa, 0xe895ba},
+  {0xdeab, 0xe79ea2},
+  {0xdeac, 0xe89583},
+  {0xdead, 0xe895b2},
+  {0xdeae, 0xe895bb},
+  {0xdeaf, 0xe896a4},
+  {0xdeb0, 0xe896a8},
+  {0xdeb1, 0xe89687},
+  {0xdeb2, 0xe8968f},
+  {0xdeb3, 0xe895b9},
+  {0xdeb4, 0xe896ae},
+  {0xdeb5, 0xe8969c},
+  {0xdeb6, 0xe89685},
+  {0xdeb7, 0xe896b9},
+  {0xdeb8, 0xe896b7},
+  {0xdeb9, 0xe896b0},
+  {0xdeba, 0xe89793},
+  {0xdebb, 0xe89781},
+  {0xdebc, 0xe8979c},
+  {0xdebd, 0xe897bf},
+  {0xdebe, 0xe898a7},
+  {0xdebf, 0xe89885},
+  {0xdec0, 0xe898a9},
+  {0xdec1, 0xe89896},
+  {0xdec2, 0xe898bc},
+  {0xdec3, 0xe5bbbe},
+  {0xdec4, 0xe5bc88},
+  {0xdec5, 0xe5a4bc},
+  {0xdec6, 0xe5a581},
+  {0xdec7, 0xe880b7},
+  {0xdec8, 0xe5a595},
+  {0xdec9, 0xe5a59a},
+  {0xdeca, 0xe5a598},
+  {0xdecb, 0xe58c8f},
+  {0xdecc, 0xe5b0a2},
+  {0xdecd, 0xe5b0a5},
+  {0xdece, 0xe5b0ac},
+  {0xdecf, 0xe5b0b4},
+  {0xded0, 0xe6898c},
+  {0xded1, 0xe689aa},
+  {0xded2, 0xe68a9f},
+  {0xded3, 0xe68abb},
+  {0xded4, 0xe68b8a},
+  {0xded5, 0xe68b9a},
+  {0xded6, 0xe68b97},
+  {0xded7, 0xe68bae},
+  {0xded8, 0xe68ca2},
+  {0xded9, 0xe68bb6},
+  {0xdeda, 0xe68cb9},
+  {0xdedb, 0xe68d8b},
+  {0xdedc, 0xe68d83},
+  {0xdedd, 0xe68ead},
+  {0xdede, 0xe68fb6},
+  {0xdedf, 0xe68db1},
+  {0xdee0, 0xe68dba},
+  {0xdee1, 0xe68e8e},
+  {0xdee2, 0xe68eb4},
+  {0xdee3, 0xe68dad},
+  {0xdee4, 0xe68eac},
+  {0xdee5, 0xe68e8a},
+  {0xdee6, 0xe68da9},
+  {0xdee7, 0xe68eae},
+  {0xdee8, 0xe68ebc},
+  {0xdee9, 0xe68fb2},
+  {0xdeea, 0xe68fb8},
+  {0xdeeb, 0xe68fa0},
+  {0xdeec, 0xe68fbf},
+  {0xdeed, 0xe68f84},
+  {0xdeee, 0xe68f9e},
+  {0xdeef, 0xe68f8e},
+  {0xdef0, 0xe69192},
+  {0xdef1, 0xe68f86},
+  {0xdef2, 0xe68ebe},
+  {0xdef3, 0xe69185},
+  {0xdef4, 0xe69181},
+  {0xdef5, 0xe6908b},
+  {0xdef6, 0xe6909b},
+  {0xdef7, 0xe690a0},
+  {0xdef8, 0xe6908c},
+  {0xdef9, 0xe690a6},
+  {0xdefa, 0xe690a1},
+  {0xdefb, 0xe6919e},
+  {0xdefc, 0xe69284},
+  {0xdefd, 0xe691ad},
+  {0xdefe, 0xe69296},
+  {0xdf40, 0xe98099},
+  {0xdf41, 0xe9809c},
+  {0xdf42, 0xe980a3},
+  {0xdf43, 0xe980a4},
+  {0xdf44, 0xe980a5},
+  {0xdf45, 0xe980a7},
+  {0xdf46, 0xe980a8},
+  {0xdf47, 0xe980a9},
+  {0xdf48, 0xe980aa},
+  {0xdf49, 0xe980ab},
+  {0xdf4a, 0xe980ac},
+  {0xdf4b, 0xe980b0},
+  {0xdf4c, 0xe980b1},
+  {0xdf4d, 0xe980b2},
+  {0xdf4e, 0xe980b3},
+  {0xdf4f, 0xe980b4},
+  {0xdf50, 0xe980b7},
+  {0xdf51, 0xe980b9},
+  {0xdf52, 0xe980ba},
+  {0xdf53, 0xe980bd},
+  {0xdf54, 0xe980bf},
+  {0xdf55, 0xe98180},
+  {0xdf56, 0xe98183},
+  {0xdf57, 0xe98185},
+  {0xdf58, 0xe98186},
+  {0xdf59, 0xe98188},
+  {0xdf5a, 0xe98189},
+  {0xdf5b, 0xe9818a},
+  {0xdf5c, 0xe9818b},
+  {0xdf5d, 0xe9818c},
+  {0xdf5e, 0xe9818e},
+  {0xdf5f, 0xe98194},
+  {0xdf60, 0xe98195},
+  {0xdf61, 0xe98196},
+  {0xdf62, 0xe98199},
+  {0xdf63, 0xe9819a},
+  {0xdf64, 0xe9819c},
+  {0xdf65, 0xe9819d},
+  {0xdf66, 0xe9819e},
+  {0xdf67, 0xe9819f},
+  {0xdf68, 0xe981a0},
+  {0xdf69, 0xe981a1},
+  {0xdf6a, 0xe981a4},
+  {0xdf6b, 0xe981a6},
+  {0xdf6c, 0xe981a7},
+  {0xdf6d, 0xe981a9},
+  {0xdf6e, 0xe981aa},
+  {0xdf6f, 0xe981ab},
+  {0xdf70, 0xe981ac},
+  {0xdf71, 0xe981af},
+  {0xdf72, 0xe981b0},
+  {0xdf73, 0xe981b1},
+  {0xdf74, 0xe981b2},
+  {0xdf75, 0xe981b3},
+  {0xdf76, 0xe981b6},
+  {0xdf77, 0xe981b7},
+  {0xdf78, 0xe981b8},
+  {0xdf79, 0xe981b9},
+  {0xdf7a, 0xe981ba},
+  {0xdf7b, 0xe981bb},
+  {0xdf7c, 0xe981bc},
+  {0xdf7d, 0xe981be},
+  {0xdf7e, 0xe98281},
+  {0xdf80, 0xe98284},
+  {0xdf81, 0xe98285},
+  {0xdf82, 0xe98286},
+  {0xdf83, 0xe98287},
+  {0xdf84, 0xe98289},
+  {0xdf85, 0xe9828a},
+  {0xdf86, 0xe9828c},
+  {0xdf87, 0xe9828d},
+  {0xdf88, 0xe9828e},
+  {0xdf89, 0xe9828f},
+  {0xdf8a, 0xe98290},
+  {0xdf8b, 0xe98292},
+  {0xdf8c, 0xe98294},
+  {0xdf8d, 0xe98296},
+  {0xdf8e, 0xe98298},
+  {0xdf8f, 0xe9829a},
+  {0xdf90, 0xe9829c},
+  {0xdf91, 0xe9829e},
+  {0xdf92, 0xe9829f},
+  {0xdf93, 0xe982a0},
+  {0xdf94, 0xe982a4},
+  {0xdf95, 0xe982a5},
+  {0xdf96, 0xe982a7},
+  {0xdf97, 0xe982a8},
+  {0xdf98, 0xe982a9},
+  {0xdf99, 0xe982ab},
+  {0xdf9a, 0xe982ad},
+  {0xdf9b, 0xe982b2},
+  {0xdf9c, 0xe982b7},
+  {0xdf9d, 0xe982bc},
+  {0xdf9e, 0xe982bd},
+  {0xdf9f, 0xe982bf},
+  {0xdfa0, 0xe98380},
+  {0xdfa1, 0xe691ba},
+  {0xdfa2, 0xe692b7},
+  {0xdfa3, 0xe692b8},
+  {0xdfa4, 0xe69299},
+  {0xdfa5, 0xe692ba},
+  {0xdfa6, 0xe69380},
+  {0xdfa7, 0xe69390},
+  {0xdfa8, 0xe69397},
+  {0xdfa9, 0xe693a4},
+  {0xdfaa, 0xe693a2},
+  {0xdfab, 0xe69489},
+  {0xdfac, 0xe694a5},
+  {0xdfad, 0xe694ae},
+  {0xdfae, 0xe5bc8b},
+  {0xdfaf, 0xe5bf92},
+  {0xdfb0, 0xe79499},
+  {0xdfb1, 0xe5bc91},
+  {0xdfb2, 0xe58d9f},
+  {0xdfb3, 0xe58fb1},
+  {0xdfb4, 0xe58fbd},
+  {0xdfb5, 0xe58fa9},
+  {0xdfb6, 0xe58fa8},
+  {0xdfb7, 0xe58fbb},
+  {0xdfb8, 0xe59092},
+  {0xdfb9, 0xe59096},
+  {0xdfba, 0xe59086},
+  {0xdfbb, 0xe5918b},
+  {0xdfbc, 0xe59192},
+  {0xdfbd, 0xe59193},
+  {0xdfbe, 0xe59194},
+  {0xdfbf, 0xe59196},
+  {0xdfc0, 0xe59183},
+  {0xdfc1, 0xe590a1},
+  {0xdfc2, 0xe59197},
+  {0xdfc3, 0xe59199},
+  {0xdfc4, 0xe590a3},
+  {0xdfc5, 0xe590b2},
+  {0xdfc6, 0xe59282},
+  {0xdfc7, 0xe59294},
+  {0xdfc8, 0xe591b7},
+  {0xdfc9, 0xe591b1},
+  {0xdfca, 0xe591a4},
+  {0xdfcb, 0xe5929a},
+  {0xdfcc, 0xe5929b},
+  {0xdfcd, 0xe59284},
+  {0xdfce, 0xe591b6},
+  {0xdfcf, 0xe591a6},
+  {0xdfd0, 0xe5929d},
+  {0xdfd1, 0xe59390},
+  {0xdfd2, 0xe592ad},
+  {0xdfd3, 0xe59382},
+  {0xdfd4, 0xe592b4},
+  {0xdfd5, 0xe59392},
+  {0xdfd6, 0xe592a7},
+  {0xdfd7, 0xe592a6},
+  {0xdfd8, 0xe59393},
+  {0xdfd9, 0xe59394},
+  {0xdfda, 0xe591b2},
+  {0xdfdb, 0xe592a3},
+  {0xdfdc, 0xe59395},
+  {0xdfdd, 0xe592bb},
+  {0xdfde, 0xe592bf},
+  {0xdfdf, 0xe5938c},
+  {0xdfe0, 0xe59399},
+  {0xdfe1, 0xe5939a},
+  {0xdfe2, 0xe5939c},
+  {0xdfe3, 0xe592a9},
+  {0xdfe4, 0xe592aa},
+  {0xdfe5, 0xe592a4},
+  {0xdfe6, 0xe5939d},
+  {0xdfe7, 0xe5938f},
+  {0xdfe8, 0xe5939e},
+  {0xdfe9, 0xe5949b},
+  {0xdfea, 0xe593a7},
+  {0xdfeb, 0xe594a0},
+  {0xdfec, 0xe593bd},
+  {0xdfed, 0xe59494},
+  {0xdfee, 0xe593b3},
+  {0xdfef, 0xe594a2},
+  {0xdff0, 0xe594a3},
+  {0xdff1, 0xe5948f},
+  {0xdff2, 0xe59491},
+  {0xdff3, 0xe594a7},
+  {0xdff4, 0xe594aa},
+  {0xdff5, 0xe595a7},
+  {0xdff6, 0xe5968f},
+  {0xdff7, 0xe596b5},
+  {0xdff8, 0xe59589},
+  {0xdff9, 0xe595ad},
+  {0xdffa, 0xe59581},
+  {0xdffb, 0xe59595},
+  {0xdffc, 0xe594bf},
+  {0xdffd, 0xe59590},
+  {0xdffe, 0xe594bc},
+  {0xe040, 0xe98382},
+  {0xe041, 0xe98383},
+  {0xe042, 0xe98386},
+  {0xe043, 0xe98388},
+  {0xe044, 0xe98389},
+  {0xe045, 0xe9838b},
+  {0xe046, 0xe9838c},
+  {0xe047, 0xe9838d},
+  {0xe048, 0xe98392},
+  {0xe049, 0xe98394},
+  {0xe04a, 0xe98395},
+  {0xe04b, 0xe98396},
+  {0xe04c, 0xe98398},
+  {0xe04d, 0xe98399},
+  {0xe04e, 0xe9839a},
+  {0xe04f, 0xe9839e},
+  {0xe050, 0xe9839f},
+  {0xe051, 0xe983a0},
+  {0xe052, 0xe983a3},
+  {0xe053, 0xe983a4},
+  {0xe054, 0xe983a5},
+  {0xe055, 0xe983a9},
+  {0xe056, 0xe983aa},
+  {0xe057, 0xe983ac},
+  {0xe058, 0xe983ae},
+  {0xe059, 0xe983b0},
+  {0xe05a, 0xe983b1},
+  {0xe05b, 0xe983b2},
+  {0xe05c, 0xe983b3},
+  {0xe05d, 0xe983b5},
+  {0xe05e, 0xe983b6},
+  {0xe05f, 0xe983b7},
+  {0xe060, 0xe983b9},
+  {0xe061, 0xe983ba},
+  {0xe062, 0xe983bb},
+  {0xe063, 0xe983bc},
+  {0xe064, 0xe983bf},
+  {0xe065, 0xe98480},
+  {0xe066, 0xe98481},
+  {0xe067, 0xe98483},
+  {0xe068, 0xe98485},
+  {0xe069, 0xe98486},
+  {0xe06a, 0xe98487},
+  {0xe06b, 0xe98488},
+  {0xe06c, 0xe98489},
+  {0xe06d, 0xe9848a},
+  {0xe06e, 0xe9848b},
+  {0xe06f, 0xe9848c},
+  {0xe070, 0xe9848d},
+  {0xe071, 0xe9848e},
+  {0xe072, 0xe9848f},
+  {0xe073, 0xe98490},
+  {0xe074, 0xe98491},
+  {0xe075, 0xe98492},
+  {0xe076, 0xe98493},
+  {0xe077, 0xe98494},
+  {0xe078, 0xe98495},
+  {0xe079, 0xe98496},
+  {0xe07a, 0xe98497},
+  {0xe07b, 0xe98498},
+  {0xe07c, 0xe9849a},
+  {0xe07d, 0xe9849b},
+  {0xe07e, 0xe9849c},
+  {0xe080, 0xe9849d},
+  {0xe081, 0xe9849f},
+  {0xe082, 0xe984a0},
+  {0xe083, 0xe984a1},
+  {0xe084, 0xe984a4},
+  {0xe085, 0xe984a5},
+  {0xe086, 0xe984a6},
+  {0xe087, 0xe984a7},
+  {0xe088, 0xe984a8},
+  {0xe089, 0xe984a9},
+  {0xe08a, 0xe984aa},
+  {0xe08b, 0xe984ab},
+  {0xe08c, 0xe984ac},
+  {0xe08d, 0xe984ad},
+  {0xe08e, 0xe984ae},
+  {0xe08f, 0xe984b0},
+  {0xe090, 0xe984b2},
+  {0xe091, 0xe984b3},
+  {0xe092, 0xe984b4},
+  {0xe093, 0xe984b5},
+  {0xe094, 0xe984b6},
+  {0xe095, 0xe984b7},
+  {0xe096, 0xe984b8},
+  {0xe097, 0xe984ba},
+  {0xe098, 0xe984bb},
+  {0xe099, 0xe984bc},
+  {0xe09a, 0xe984bd},
+  {0xe09b, 0xe984be},
+  {0xe09c, 0xe984bf},
+  {0xe09d, 0xe98580},
+  {0xe09e, 0xe98581},
+  {0xe09f, 0xe98582},
+  {0xe0a0, 0xe98584},
+  {0xe0a1, 0xe594b7},
+  {0xe0a2, 0xe59596},
+  {0xe0a3, 0xe595b5},
+  {0xe0a4, 0xe595b6},
+  {0xe0a5, 0xe595b7},
+  {0xe0a6, 0xe594b3},
+  {0xe0a7, 0xe594b0},
+  {0xe0a8, 0xe5959c},
+  {0xe0a9, 0xe5968b},
+  {0xe0aa, 0xe59792},
+  {0xe0ab, 0xe59683},
+  {0xe0ac, 0xe596b1},
+  {0xe0ad, 0xe596b9},
+  {0xe0ae, 0xe59688},
+  {0xe0af, 0xe59681},
+  {0xe0b0, 0xe5969f},
+  {0xe0b1, 0xe595be},
+  {0xe0b2, 0xe59796},
+  {0xe0b3, 0xe59691},
+  {0xe0b4, 0xe595bb},
+  {0xe0b5, 0xe5979f},
+  {0xe0b6, 0xe596bd},
+  {0xe0b7, 0xe596be},
+  {0xe0b8, 0xe59694},
+  {0xe0b9, 0xe59699},
+  {0xe0ba, 0xe597aa},
+  {0xe0bb, 0xe597b7},
+  {0xe0bc, 0xe59789},
+  {0xe0bd, 0xe5989f},
+  {0xe0be, 0xe59791},
+  {0xe0bf, 0xe597ab},
+  {0xe0c0, 0xe597ac},
+  {0xe0c1, 0xe59794},
+  {0xe0c2, 0xe597a6},
+  {0xe0c3, 0xe5979d},
+  {0xe0c4, 0xe59784},
+  {0xe0c5, 0xe597af},
+  {0xe0c6, 0xe597a5},
+  {0xe0c7, 0xe597b2},
+  {0xe0c8, 0xe597b3},
+  {0xe0c9, 0xe5978c},
+  {0xe0ca, 0xe5978d},
+  {0xe0cb, 0xe597a8},
+  {0xe0cc, 0xe597b5},
+  {0xe0cd, 0xe597a4},
+  {0xe0ce, 0xe8be94},
+  {0xe0cf, 0xe5989e},
+  {0xe0d0, 0xe59888},
+  {0xe0d1, 0xe5988c},
+  {0xe0d2, 0xe59881},
+  {0xe0d3, 0xe598a4},
+  {0xe0d4, 0xe598a3},
+  {0xe0d5, 0xe597be},
+  {0xe0d6, 0xe59880},
+  {0xe0d7, 0xe598a7},
+  {0xe0d8, 0xe598ad},
+  {0xe0d9, 0xe59998},
+  {0xe0da, 0xe598b9},
+  {0xe0db, 0xe59997},
+  {0xe0dc, 0xe598ac},
+  {0xe0dd, 0xe5998d},
+  {0xe0de, 0xe599a2},
+  {0xe0df, 0xe59999},
+  {0xe0e0, 0xe5999c},
+  {0xe0e1, 0xe5998c},
+  {0xe0e2, 0xe59994},
+  {0xe0e3, 0xe59a86},
+  {0xe0e4, 0xe599a4},
+  {0xe0e5, 0xe599b1},
+  {0xe0e6, 0xe599ab},
+  {0xe0e7, 0xe599bb},
+  {0xe0e8, 0xe599bc},
+  {0xe0e9, 0xe59a85},
+  {0xe0ea, 0xe59a93},
+  {0xe0eb, 0xe59aaf},
+  {0xe0ec, 0xe59b94},
+  {0xe0ed, 0xe59b97},
+  {0xe0ee, 0xe59b9d},
+  {0xe0ef, 0xe59ba1},
+  {0xe0f0, 0xe59bb5},
+  {0xe0f1, 0xe59bab},
+  {0xe0f2, 0xe59bb9},
+  {0xe0f3, 0xe59bbf},
+  {0xe0f4, 0xe59c84},
+  {0xe0f5, 0xe59c8a},
+  {0xe0f6, 0xe59c89},
+  {0xe0f7, 0xe59c9c},
+  {0xe0f8, 0xe5b88f},
+  {0xe0f9, 0xe5b899},
+  {0xe0fa, 0xe5b894},
+  {0xe0fb, 0xe5b891},
+  {0xe0fc, 0xe5b8b1},
+  {0xe0fd, 0xe5b8bb},
+  {0xe0fe, 0xe5b8bc},
+  {0xe140, 0xe98585},
+  {0xe141, 0xe98587},
+  {0xe142, 0xe98588},
+  {0xe143, 0xe98591},
+  {0xe144, 0xe98593},
+  {0xe145, 0xe98594},
+  {0xe146, 0xe98595},
+  {0xe147, 0xe98596},
+  {0xe148, 0xe98598},
+  {0xe149, 0xe98599},
+  {0xe14a, 0xe9859b},
+  {0xe14b, 0xe9859c},
+  {0xe14c, 0xe9859f},
+  {0xe14d, 0xe985a0},
+  {0xe14e, 0xe985a6},
+  {0xe14f, 0xe985a7},
+  {0xe150, 0xe985a8},
+  {0xe151, 0xe985ab},
+  {0xe152, 0xe985ad},
+  {0xe153, 0xe985b3},
+  {0xe154, 0xe985ba},
+  {0xe155, 0xe985bb},
+  {0xe156, 0xe985bc},
+  {0xe157, 0xe98680},
+  {0xe158, 0xe98681},
+  {0xe159, 0xe98682},
+  {0xe15a, 0xe98683},
+  {0xe15b, 0xe98684},
+  {0xe15c, 0xe98686},
+  {0xe15d, 0xe98688},
+  {0xe15e, 0xe9868a},
+  {0xe15f, 0xe9868e},
+  {0xe160, 0xe9868f},
+  {0xe161, 0xe98693},
+  {0xe162, 0xe98694},
+  {0xe163, 0xe98695},
+  {0xe164, 0xe98696},
+  {0xe165, 0xe98697},
+  {0xe166, 0xe98698},
+  {0xe167, 0xe98699},
+  {0xe168, 0xe9869c},
+  {0xe169, 0xe9869d},
+  {0xe16a, 0xe9869e},
+  {0xe16b, 0xe9869f},
+  {0xe16c, 0xe986a0},
+  {0xe16d, 0xe986a1},
+  {0xe16e, 0xe986a4},
+  {0xe16f, 0xe986a5},
+  {0xe170, 0xe986a6},
+  {0xe171, 0xe986a7},
+  {0xe172, 0xe986a8},
+  {0xe173, 0xe986a9},
+  {0xe174, 0xe986ab},
+  {0xe175, 0xe986ac},
+  {0xe176, 0xe986b0},
+  {0xe177, 0xe986b1},
+  {0xe178, 0xe986b2},
+  {0xe179, 0xe986b3},
+  {0xe17a, 0xe986b6},
+  {0xe17b, 0xe986b7},
+  {0xe17c, 0xe986b8},
+  {0xe17d, 0xe986b9},
+  {0xe17e, 0xe986bb},
+  {0xe180, 0xe986bc},
+  {0xe181, 0xe986bd},
+  {0xe182, 0xe986be},
+  {0xe183, 0xe986bf},
+  {0xe184, 0xe98780},
+  {0xe185, 0xe98781},
+  {0xe186, 0xe98782},
+  {0xe187, 0xe98783},
+  {0xe188, 0xe98784},
+  {0xe189, 0xe98785},
+  {0xe18a, 0xe98786},
+  {0xe18b, 0xe98788},
+  {0xe18c, 0xe9878b},
+  {0xe18d, 0xe98790},
+  {0xe18e, 0xe98792},
+  {0xe18f, 0xe98793},
+  {0xe190, 0xe98794},
+  {0xe191, 0xe98795},
+  {0xe192, 0xe98796},
+  {0xe193, 0xe98797},
+  {0xe194, 0xe98798},
+  {0xe195, 0xe98799},
+  {0xe196, 0xe9879a},
+  {0xe197, 0xe9879b},
+  {0xe198, 0xe9879d},
+  {0xe199, 0xe9879e},
+  {0xe19a, 0xe9879f},
+  {0xe19b, 0xe987a0},
+  {0xe19c, 0xe987a1},
+  {0xe19d, 0xe987a2},
+  {0xe19e, 0xe987a3},
+  {0xe19f, 0xe987a4},
+  {0xe1a0, 0xe987a5},
+  {0xe1a1, 0xe5b8b7},
+  {0xe1a2, 0xe5b984},
+  {0xe1a3, 0xe5b994},
+  {0xe1a4, 0xe5b99b},
+  {0xe1a5, 0xe5b99e},
+  {0xe1a6, 0xe5b9a1},
+  {0xe1a7, 0xe5b28c},
+  {0xe1a8, 0xe5b1ba},
+  {0xe1a9, 0xe5b28d},
+  {0xe1aa, 0xe5b290},
+  {0xe1ab, 0xe5b296},
+  {0xe1ac, 0xe5b288},
+  {0xe1ad, 0xe5b298},
+  {0xe1ae, 0xe5b299},
+  {0xe1af, 0xe5b291},
+  {0xe1b0, 0xe5b29a},
+  {0xe1b1, 0xe5b29c},
+  {0xe1b2, 0xe5b2b5},
+  {0xe1b3, 0xe5b2a2},
+  {0xe1b4, 0xe5b2bd},
+  {0xe1b5, 0xe5b2ac},
+  {0xe1b6, 0xe5b2ab},
+  {0xe1b7, 0xe5b2b1},
+  {0xe1b8, 0xe5b2a3},
+  {0xe1b9, 0xe5b381},
+  {0xe1ba, 0xe5b2b7},
+  {0xe1bb, 0xe5b384},
+  {0xe1bc, 0xe5b392},
+  {0xe1bd, 0xe5b3a4},
+  {0xe1be, 0xe5b38b},
+  {0xe1bf, 0xe5b3a5},
+  {0xe1c0, 0xe5b482},
+  {0xe1c1, 0xe5b483},
+  {0xe1c2, 0xe5b4a7},
+  {0xe1c3, 0xe5b4a6},
+  {0xe1c4, 0xe5b4ae},
+  {0xe1c5, 0xe5b4a4},
+  {0xe1c6, 0xe5b49e},
+  {0xe1c7, 0xe5b486},
+  {0xe1c8, 0xe5b49b},
+  {0xe1c9, 0xe5b598},
+  {0xe1ca, 0xe5b4be},
+  {0xe1cb, 0xe5b4b4},
+  {0xe1cc, 0xe5b4bd},
+  {0xe1cd, 0xe5b5ac},
+  {0xe1ce, 0xe5b59b},
+  {0xe1cf, 0xe5b5af},
+  {0xe1d0, 0xe5b59d},
+  {0xe1d1, 0xe5b5ab},
+  {0xe1d2, 0xe5b58b},
+  {0xe1d3, 0xe5b58a},
+  {0xe1d4, 0xe5b5a9},
+  {0xe1d5, 0xe5b5b4},
+  {0xe1d6, 0xe5b682},
+  {0xe1d7, 0xe5b699},
+  {0xe1d8, 0xe5b69d},
+  {0xe1d9, 0xe8b1b3},
+  {0xe1da, 0xe5b6b7},
+  {0xe1db, 0xe5b785},
+  {0xe1dc, 0xe5bdb3},
+  {0xe1dd, 0xe5bdb7},
+  {0xe1de, 0xe5be82},
+  {0xe1df, 0xe5be87},
+  {0xe1e0, 0xe5be89},
+  {0xe1e1, 0xe5be8c},
+  {0xe1e2, 0xe5be95},
+  {0xe1e3, 0xe5be99},
+  {0xe1e4, 0xe5be9c},
+  {0xe1e5, 0xe5bea8},
+  {0xe1e6, 0xe5bead},
+  {0xe1e7, 0xe5beb5},
+  {0xe1e8, 0xe5bebc},
+  {0xe1e9, 0xe8a1a2},
+  {0xe1ea, 0xe5bda1},
+  {0xe1eb, 0xe78aad},
+  {0xe1ec, 0xe78ab0},
+  {0xe1ed, 0xe78ab4},
+  {0xe1ee, 0xe78ab7},
+  {0xe1ef, 0xe78ab8},
+  {0xe1f0, 0xe78b83},
+  {0xe1f1, 0xe78b81},
+  {0xe1f2, 0xe78b8e},
+  {0xe1f3, 0xe78b8d},
+  {0xe1f4, 0xe78b92},
+  {0xe1f5, 0xe78ba8},
+  {0xe1f6, 0xe78baf},
+  {0xe1f7, 0xe78ba9},
+  {0xe1f8, 0xe78bb2},
+  {0xe1f9, 0xe78bb4},
+  {0xe1fa, 0xe78bb7},
+  {0xe1fb, 0xe78c81},
+  {0xe1fc, 0xe78bb3},
+  {0xe1fd, 0xe78c83},
+  {0xe1fe, 0xe78bba},
+  {0xe240, 0xe987a6},
+  {0xe241, 0xe987a7},
+  {0xe242, 0xe987a8},
+  {0xe243, 0xe987a9},
+  {0xe244, 0xe987aa},
+  {0xe245, 0xe987ab},
+  {0xe246, 0xe987ac},
+  {0xe247, 0xe987ad},
+  {0xe248, 0xe987ae},
+  {0xe249, 0xe987af},
+  {0xe24a, 0xe987b0},
+  {0xe24b, 0xe987b1},
+  {0xe24c, 0xe987b2},
+  {0xe24d, 0xe987b3},
+  {0xe24e, 0xe987b4},
+  {0xe24f, 0xe987b5},
+  {0xe250, 0xe987b6},
+  {0xe251, 0xe987b7},
+  {0xe252, 0xe987b8},
+  {0xe253, 0xe987b9},
+  {0xe254, 0xe987ba},
+  {0xe255, 0xe987bb},
+  {0xe256, 0xe987bc},
+  {0xe257, 0xe987bd},
+  {0xe258, 0xe987be},
+  {0xe259, 0xe987bf},
+  {0xe25a, 0xe98880},
+  {0xe25b, 0xe98881},
+  {0xe25c, 0xe98882},
+  {0xe25d, 0xe98883},
+  {0xe25e, 0xe98884},
+  {0xe25f, 0xe98885},
+  {0xe260, 0xe98886},
+  {0xe261, 0xe98887},
+  {0xe262, 0xe98888},
+  {0xe263, 0xe98889},
+  {0xe264, 0xe9888a},
+  {0xe265, 0xe9888b},
+  {0xe266, 0xe9888c},
+  {0xe267, 0xe9888d},
+  {0xe268, 0xe9888e},
+  {0xe269, 0xe9888f},
+  {0xe26a, 0xe98890},
+  {0xe26b, 0xe98891},
+  {0xe26c, 0xe98892},
+  {0xe26d, 0xe98893},
+  {0xe26e, 0xe98894},
+  {0xe26f, 0xe98895},
+  {0xe270, 0xe98896},
+  {0xe271, 0xe98897},
+  {0xe272, 0xe98898},
+  {0xe273, 0xe98899},
+  {0xe274, 0xe9889a},
+  {0xe275, 0xe9889b},
+  {0xe276, 0xe9889c},
+  {0xe277, 0xe9889d},
+  {0xe278, 0xe9889e},
+  {0xe279, 0xe9889f},
+  {0xe27a, 0xe988a0},
+  {0xe27b, 0xe988a1},
+  {0xe27c, 0xe988a2},
+  {0xe27d, 0xe988a3},
+  {0xe27e, 0xe988a4},
+  {0xe280, 0xe988a5},
+  {0xe281, 0xe988a6},
+  {0xe282, 0xe988a7},
+  {0xe283, 0xe988a8},
+  {0xe284, 0xe988a9},
+  {0xe285, 0xe988aa},
+  {0xe286, 0xe988ab},
+  {0xe287, 0xe988ac},
+  {0xe288, 0xe988ad},
+  {0xe289, 0xe988ae},
+  {0xe28a, 0xe988af},
+  {0xe28b, 0xe988b0},
+  {0xe28c, 0xe988b1},
+  {0xe28d, 0xe988b2},
+  {0xe28e, 0xe988b3},
+  {0xe28f, 0xe988b4},
+  {0xe290, 0xe988b5},
+  {0xe291, 0xe988b6},
+  {0xe292, 0xe988b7},
+  {0xe293, 0xe988b8},
+  {0xe294, 0xe988b9},
+  {0xe295, 0xe988ba},
+  {0xe296, 0xe988bb},
+  {0xe297, 0xe988bc},
+  {0xe298, 0xe988bd},
+  {0xe299, 0xe988be},
+  {0xe29a, 0xe988bf},
+  {0xe29b, 0xe98980},
+  {0xe29c, 0xe98981},
+  {0xe29d, 0xe98982},
+  {0xe29e, 0xe98983},
+  {0xe29f, 0xe98984},
+  {0xe2a0, 0xe98985},
+  {0xe2a1, 0xe78bbb},
+  {0xe2a2, 0xe78c97},
+  {0xe2a3, 0xe78c93},
+  {0xe2a4, 0xe78ca1},
+  {0xe2a5, 0xe78c8a},
+  {0xe2a6, 0xe78c9e},
+  {0xe2a7, 0xe78c9d},
+  {0xe2a8, 0xe78c95},
+  {0xe2a9, 0xe78ca2},
+  {0xe2aa, 0xe78cb9},
+  {0xe2ab, 0xe78ca5},
+  {0xe2ac, 0xe78cac},
+  {0xe2ad, 0xe78cb8},
+  {0xe2ae, 0xe78cb1},
+  {0xe2af, 0xe78d90},
+  {0xe2b0, 0xe78d8d},
+  {0xe2b1, 0xe78d97},
+  {0xe2b2, 0xe78da0},
+  {0xe2b3, 0xe78dac},
+  {0xe2b4, 0xe78daf},
+  {0xe2b5, 0xe78dbe},
+  {0xe2b6, 0xe8889b},
+  {0xe2b7, 0xe5a4a5},
+  {0xe2b8, 0xe9a3a7},
+  {0xe2b9, 0xe5a4a4},
+  {0xe2ba, 0xe5a482},
+  {0xe2bb, 0xe9a5a3},
+  {0xe2bc, 0xe9a5a7},
+  {0xe2bd, 0xe9a5a8},
+  {0xe2be, 0xe9a5a9},
+  {0xe2bf, 0xe9a5aa},
+  {0xe2c0, 0xe9a5ab},
+  {0xe2c1, 0xe9a5ac},
+  {0xe2c2, 0xe9a5b4},
+  {0xe2c3, 0xe9a5b7},
+  {0xe2c4, 0xe9a5bd},
+  {0xe2c5, 0xe9a680},
+  {0xe2c6, 0xe9a684},
+  {0xe2c7, 0xe9a687},
+  {0xe2c8, 0xe9a68a},
+  {0xe2c9, 0xe9a68d},
+  {0xe2ca, 0xe9a690},
+  {0xe2cb, 0xe9a691},
+  {0xe2cc, 0xe9a693},
+  {0xe2cd, 0xe9a694},
+  {0xe2ce, 0xe9a695},
+  {0xe2cf, 0xe5ba80},
+  {0xe2d0, 0xe5ba91},
+  {0xe2d1, 0xe5ba8b},
+  {0xe2d2, 0xe5ba96},
+  {0xe2d3, 0xe5baa5},
+  {0xe2d4, 0xe5baa0},
+  {0xe2d5, 0xe5bab9},
+  {0xe2d6, 0xe5bab5},
+  {0xe2d7, 0xe5babe},
+  {0xe2d8, 0xe5bab3},
+  {0xe2d9, 0xe8b593},
+  {0xe2da, 0xe5bb92},
+  {0xe2db, 0xe5bb91},
+  {0xe2dc, 0xe5bb9b},
+  {0xe2dd, 0xe5bba8},
+  {0xe2de, 0xe5bbaa},
+  {0xe2df, 0xe886ba},
+  {0xe2e0, 0xe5bf84},
+  {0xe2e1, 0xe5bf89},
+  {0xe2e2, 0xe5bf96},
+  {0xe2e3, 0xe5bf8f},
+  {0xe2e4, 0xe68083},
+  {0xe2e5, 0xe5bfae},
+  {0xe2e6, 0xe68084},
+  {0xe2e7, 0xe5bfa1},
+  {0xe2e8, 0xe5bfa4},
+  {0xe2e9, 0xe5bfbe},
+  {0xe2ea, 0xe68085},
+  {0xe2eb, 0xe68086},
+  {0xe2ec, 0xe5bfaa},
+  {0xe2ed, 0xe5bfad},
+  {0xe2ee, 0xe5bfb8},
+  {0xe2ef, 0xe68099},
+  {0xe2f0, 0xe680b5},
+  {0xe2f1, 0xe680a6},
+  {0xe2f2, 0xe6809b},
+  {0xe2f3, 0xe6808f},
+  {0xe2f4, 0xe6808d},
+  {0xe2f5, 0xe680a9},
+  {0xe2f6, 0xe680ab},
+  {0xe2f7, 0xe6808a},
+  {0xe2f8, 0xe680bf},
+  {0xe2f9, 0xe680a1},
+  {0xe2fa, 0xe681b8},
+  {0xe2fb, 0xe681b9},
+  {0xe2fc, 0xe681bb},
+  {0xe2fd, 0xe681ba},
+  {0xe2fe, 0xe68182},
+  {0xe340, 0xe98986},
+  {0xe341, 0xe98987},
+  {0xe342, 0xe98988},
+  {0xe343, 0xe98989},
+  {0xe344, 0xe9898a},
+  {0xe345, 0xe9898b},
+  {0xe346, 0xe9898c},
+  {0xe347, 0xe9898d},
+  {0xe348, 0xe9898e},
+  {0xe349, 0xe9898f},
+  {0xe34a, 0xe98990},
+  {0xe34b, 0xe98991},
+  {0xe34c, 0xe98992},
+  {0xe34d, 0xe98993},
+  {0xe34e, 0xe98994},
+  {0xe34f, 0xe98995},
+  {0xe350, 0xe98996},
+  {0xe351, 0xe98997},
+  {0xe352, 0xe98998},
+  {0xe353, 0xe98999},
+  {0xe354, 0xe9899a},
+  {0xe355, 0xe9899b},
+  {0xe356, 0xe9899c},
+  {0xe357, 0xe9899d},
+  {0xe358, 0xe9899e},
+  {0xe359, 0xe9899f},
+  {0xe35a, 0xe989a0},
+  {0xe35b, 0xe989a1},
+  {0xe35c, 0xe989a2},
+  {0xe35d, 0xe989a3},
+  {0xe35e, 0xe989a4},
+  {0xe35f, 0xe989a5},
+  {0xe360, 0xe989a6},
+  {0xe361, 0xe989a7},
+  {0xe362, 0xe989a8},
+  {0xe363, 0xe989a9},
+  {0xe364, 0xe989aa},
+  {0xe365, 0xe989ab},
+  {0xe366, 0xe989ac},
+  {0xe367, 0xe989ad},
+  {0xe368, 0xe989ae},
+  {0xe369, 0xe989af},
+  {0xe36a, 0xe989b0},
+  {0xe36b, 0xe989b1},
+  {0xe36c, 0xe989b2},
+  {0xe36d, 0xe989b3},
+  {0xe36e, 0xe989b5},
+  {0xe36f, 0xe989b6},
+  {0xe370, 0xe989b7},
+  {0xe371, 0xe989b8},
+  {0xe372, 0xe989b9},
+  {0xe373, 0xe989ba},
+  {0xe374, 0xe989bb},
+  {0xe375, 0xe989bc},
+  {0xe376, 0xe989bd},
+  {0xe377, 0xe989be},
+  {0xe378, 0xe989bf},
+  {0xe379, 0xe98a80},
+  {0xe37a, 0xe98a81},
+  {0xe37b, 0xe98a82},
+  {0xe37c, 0xe98a83},
+  {0xe37d, 0xe98a84},
+  {0xe37e, 0xe98a85},
+  {0xe380, 0xe98a86},
+  {0xe381, 0xe98a87},
+  {0xe382, 0xe98a88},
+  {0xe383, 0xe98a89},
+  {0xe384, 0xe98a8a},
+  {0xe385, 0xe98a8b},
+  {0xe386, 0xe98a8c},
+  {0xe387, 0xe98a8d},
+  {0xe388, 0xe98a8f},
+  {0xe389, 0xe98a90},
+  {0xe38a, 0xe98a91},
+  {0xe38b, 0xe98a92},
+  {0xe38c, 0xe98a93},
+  {0xe38d, 0xe98a94},
+  {0xe38e, 0xe98a95},
+  {0xe38f, 0xe98a96},
+  {0xe390, 0xe98a97},
+  {0xe391, 0xe98a98},
+  {0xe392, 0xe98a99},
+  {0xe393, 0xe98a9a},
+  {0xe394, 0xe98a9b},
+  {0xe395, 0xe98a9c},
+  {0xe396, 0xe98a9d},
+  {0xe397, 0xe98a9e},
+  {0xe398, 0xe98a9f},
+  {0xe399, 0xe98aa0},
+  {0xe39a, 0xe98aa1},
+  {0xe39b, 0xe98aa2},
+  {0xe39c, 0xe98aa3},
+  {0xe39d, 0xe98aa4},
+  {0xe39e, 0xe98aa5},
+  {0xe39f, 0xe98aa6},
+  {0xe3a0, 0xe98aa7},
+  {0xe3a1, 0xe681aa},
+  {0xe3a2, 0xe681bd},
+  {0xe3a3, 0xe68296},
+  {0xe3a4, 0xe6829a},
+  {0xe3a5, 0xe682ad},
+  {0xe3a6, 0xe6829d},
+  {0xe3a7, 0xe68283},
+  {0xe3a8, 0xe68292},
+  {0xe3a9, 0xe6828c},
+  {0xe3aa, 0xe6829b},
+  {0xe3ab, 0xe683ac},
+  {0xe3ac, 0xe682bb},
+  {0xe3ad, 0xe682b1},
+  {0xe3ae, 0xe6839d},
+  {0xe3af, 0xe68398},
+  {0xe3b0, 0xe68386},
+  {0xe3b1, 0xe6839a},
+  {0xe3b2, 0xe682b4},
+  {0xe3b3, 0xe684a0},
+  {0xe3b4, 0xe684a6},
+  {0xe3b5, 0xe68495},
+  {0xe3b6, 0xe684a3},
+  {0xe3b7, 0xe683b4},
+  {0xe3b8, 0xe68480},
+  {0xe3b9, 0xe6848e},
+  {0xe3ba, 0xe684ab},
+  {0xe3bb, 0xe6858a},
+  {0xe3bc, 0xe685b5},
+  {0xe3bd, 0xe686ac},
+  {0xe3be, 0xe68694},
+  {0xe3bf, 0xe686a7},
+  {0xe3c0, 0xe686b7},
+  {0xe3c1, 0xe68794},
+  {0xe3c2, 0xe687b5},
+  {0xe3c3, 0xe5bf9d},
+  {0xe3c4, 0xe99ab3},
+  {0xe3c5, 0xe997a9},
+  {0xe3c6, 0xe997ab},
+  {0xe3c7, 0xe997b1},
+  {0xe3c8, 0xe997b3},
+  {0xe3c9, 0xe997b5},
+  {0xe3ca, 0xe997b6},
+  {0xe3cb, 0xe997bc},
+  {0xe3cc, 0xe997be},
+  {0xe3cd, 0xe99883},
+  {0xe3ce, 0xe99884},
+  {0xe3cf, 0xe99886},
+  {0xe3d0, 0xe99888},
+  {0xe3d1, 0xe9988a},
+  {0xe3d2, 0xe9988b},
+  {0xe3d3, 0xe9988c},
+  {0xe3d4, 0xe9988d},
+  {0xe3d5, 0xe9988f},
+  {0xe3d6, 0xe99892},
+  {0xe3d7, 0xe99895},
+  {0xe3d8, 0xe99896},
+  {0xe3d9, 0xe99897},
+  {0xe3da, 0xe99899},
+  {0xe3db, 0xe9989a},
+  {0xe3dc, 0xe4b8ac},
+  {0xe3dd, 0xe788bf},
+  {0xe3de, 0xe68895},
+  {0xe3df, 0xe6b0b5},
+  {0xe3e0, 0xe6b194},
+  {0xe3e1, 0xe6b19c},
+  {0xe3e2, 0xe6b18a},
+  {0xe3e3, 0xe6b2a3},
+  {0xe3e4, 0xe6b285},
+  {0xe3e5, 0xe6b290},
+  {0xe3e6, 0xe6b294},
+  {0xe3e7, 0xe6b28c},
+  {0xe3e8, 0xe6b1a8},
+  {0xe3e9, 0xe6b1a9},
+  {0xe3ea, 0xe6b1b4},
+  {0xe3eb, 0xe6b1b6},
+  {0xe3ec, 0xe6b286},
+  {0xe3ed, 0xe6b2a9},
+  {0xe3ee, 0xe6b390},
+  {0xe3ef, 0xe6b394},
+  {0xe3f0, 0xe6b2ad},
+  {0xe3f1, 0xe6b3b7},
+  {0xe3f2, 0xe6b3b8},
+  {0xe3f3, 0xe6b3b1},
+  {0xe3f4, 0xe6b397},
+  {0xe3f5, 0xe6b2b2},
+  {0xe3f6, 0xe6b3a0},
+  {0xe3f7, 0xe6b396},
+  {0xe3f8, 0xe6b3ba},
+  {0xe3f9, 0xe6b3ab},
+  {0xe3fa, 0xe6b3ae},
+  {0xe3fb, 0xe6b2b1},
+  {0xe3fc, 0xe6b393},
+  {0xe3fd, 0xe6b3af},
+  {0xe3fe, 0xe6b3be},
+  {0xe440, 0xe98aa8},
+  {0xe441, 0xe98aa9},
+  {0xe442, 0xe98aaa},
+  {0xe443, 0xe98aab},
+  {0xe444, 0xe98aac},
+  {0xe445, 0xe98aad},
+  {0xe446, 0xe98aaf},
+  {0xe447, 0xe98ab0},
+  {0xe448, 0xe98ab1},
+  {0xe449, 0xe98ab2},
+  {0xe44a, 0xe98ab3},
+  {0xe44b, 0xe98ab4},
+  {0xe44c, 0xe98ab5},
+  {0xe44d, 0xe98ab6},
+  {0xe44e, 0xe98ab7},
+  {0xe44f, 0xe98ab8},
+  {0xe450, 0xe98ab9},
+  {0xe451, 0xe98aba},
+  {0xe452, 0xe98abb},
+  {0xe453, 0xe98abc},
+  {0xe454, 0xe98abd},
+  {0xe455, 0xe98abe},
+  {0xe456, 0xe98abf},
+  {0xe457, 0xe98b80},
+  {0xe458, 0xe98b81},
+  {0xe459, 0xe98b82},
+  {0xe45a, 0xe98b83},
+  {0xe45b, 0xe98b84},
+  {0xe45c, 0xe98b85},
+  {0xe45d, 0xe98b86},
+  {0xe45e, 0xe98b87},
+  {0xe45f, 0xe98b89},
+  {0xe460, 0xe98b8a},
+  {0xe461, 0xe98b8b},
+  {0xe462, 0xe98b8c},
+  {0xe463, 0xe98b8d},
+  {0xe464, 0xe98b8e},
+  {0xe465, 0xe98b8f},
+  {0xe466, 0xe98b90},
+  {0xe467, 0xe98b91},
+  {0xe468, 0xe98b92},
+  {0xe469, 0xe98b93},
+  {0xe46a, 0xe98b94},
+  {0xe46b, 0xe98b95},
+  {0xe46c, 0xe98b96},
+  {0xe46d, 0xe98b97},
+  {0xe46e, 0xe98b98},
+  {0xe46f, 0xe98b99},
+  {0xe470, 0xe98b9a},
+  {0xe471, 0xe98b9b},
+  {0xe472, 0xe98b9c},
+  {0xe473, 0xe98b9d},
+  {0xe474, 0xe98b9e},
+  {0xe475, 0xe98b9f},
+  {0xe476, 0xe98ba0},
+  {0xe477, 0xe98ba1},
+  {0xe478, 0xe98ba2},
+  {0xe479, 0xe98ba3},
+  {0xe47a, 0xe98ba4},
+  {0xe47b, 0xe98ba5},
+  {0xe47c, 0xe98ba6},
+  {0xe47d, 0xe98ba7},
+  {0xe47e, 0xe98ba8},
+  {0xe480, 0xe98ba9},
+  {0xe481, 0xe98baa},
+  {0xe482, 0xe98bab},
+  {0xe483, 0xe98bac},
+  {0xe484, 0xe98bad},
+  {0xe485, 0xe98bae},
+  {0xe486, 0xe98baf},
+  {0xe487, 0xe98bb0},
+  {0xe488, 0xe98bb1},
+  {0xe489, 0xe98bb2},
+  {0xe48a, 0xe98bb3},
+  {0xe48b, 0xe98bb4},
+  {0xe48c, 0xe98bb5},
+  {0xe48d, 0xe98bb6},
+  {0xe48e, 0xe98bb7},
+  {0xe48f, 0xe98bb8},
+  {0xe490, 0xe98bb9},
+  {0xe491, 0xe98bba},
+  {0xe492, 0xe98bbb},
+  {0xe493, 0xe98bbc},
+  {0xe494, 0xe98bbd},
+  {0xe495, 0xe98bbe},
+  {0xe496, 0xe98bbf},
+  {0xe497, 0xe98c80},
+  {0xe498, 0xe98c81},
+  {0xe499, 0xe98c82},
+  {0xe49a, 0xe98c83},
+  {0xe49b, 0xe98c84},
+  {0xe49c, 0xe98c85},
+  {0xe49d, 0xe98c86},
+  {0xe49e, 0xe98c87},
+  {0xe49f, 0xe98c88},
+  {0xe4a0, 0xe98c89},
+  {0xe4a1, 0xe6b4b9},
+  {0xe4a2, 0xe6b4a7},
+  {0xe4a3, 0xe6b48c},
+  {0xe4a4, 0xe6b583},
+  {0xe4a5, 0xe6b588},
+  {0xe4a6, 0xe6b487},
+  {0xe4a7, 0xe6b484},
+  {0xe4a8, 0xe6b499},
+  {0xe4a9, 0xe6b48e},
+  {0xe4aa, 0xe6b4ab},
+  {0xe4ab, 0xe6b58d},
+  {0xe4ac, 0xe6b4ae},
+  {0xe4ad, 0xe6b4b5},
+  {0xe4ae, 0xe6b49a},
+  {0xe4af, 0xe6b58f},
+  {0xe4b0, 0xe6b592},
+  {0xe4b1, 0xe6b594},
+  {0xe4b2, 0xe6b4b3},
+  {0xe4b3, 0xe6b691},
+  {0xe4b4, 0xe6b5af},
+  {0xe4b5, 0xe6b69e},
+  {0xe4b6, 0xe6b6a0},
+  {0xe4b7, 0xe6b59e},
+  {0xe4b8, 0xe6b693},
+  {0xe4b9, 0xe6b694},
+  {0xe4ba, 0xe6b59c},
+  {0xe4bb, 0xe6b5a0},
+  {0xe4bc, 0xe6b5bc},
+  {0xe4bd, 0xe6b5a3},
+  {0xe4be, 0xe6b89a},
+  {0xe4bf, 0xe6b787},
+  {0xe4c0, 0xe6b785},
+  {0xe4c1, 0xe6b79e},
+  {0xe4c2, 0xe6b88e},
+  {0xe4c3, 0xe6b6bf},
+  {0xe4c4, 0xe6b7a0},
+  {0xe4c5, 0xe6b891},
+  {0xe4c6, 0xe6b7a6},
+  {0xe4c7, 0xe6b79d},
+  {0xe4c8, 0xe6b799},
+  {0xe4c9, 0xe6b896},
+  {0xe4ca, 0xe6b6ab},
+  {0xe4cb, 0xe6b88c},
+  {0xe4cc, 0xe6b6ae},
+  {0xe4cd, 0xe6b8ab},
+  {0xe4ce, 0xe6b9ae},
+  {0xe4cf, 0xe6b98e},
+  {0xe4d0, 0xe6b9ab},
+  {0xe4d1, 0xe6bab2},
+  {0xe4d2, 0xe6b99f},
+  {0xe4d3, 0xe6ba86},
+  {0xe4d4, 0xe6b993},
+  {0xe4d5, 0xe6b994},
+  {0xe4d6, 0xe6b8b2},
+  {0xe4d7, 0xe6b8a5},
+  {0xe4d8, 0xe6b984},
+  {0xe4d9, 0xe6bb9f},
+  {0xe4da, 0xe6bab1},
+  {0xe4db, 0xe6ba98},
+  {0xe4dc, 0xe6bba0},
+  {0xe4dd, 0xe6bcad},
+  {0xe4de, 0xe6bba2},
+  {0xe4df, 0xe6baa5},
+  {0xe4e0, 0xe6baa7},
+  {0xe4e1, 0xe6babd},
+  {0xe4e2, 0xe6babb},
+  {0xe4e3, 0xe6bab7},
+  {0xe4e4, 0xe6bb97},
+  {0xe4e5, 0xe6bab4},
+  {0xe4e6, 0xe6bb8f},
+  {0xe4e7, 0xe6ba8f},
+  {0xe4e8, 0xe6bb82},
+  {0xe4e9, 0xe6ba9f},
+  {0xe4ea, 0xe6bda2},
+  {0xe4eb, 0xe6bd86},
+  {0xe4ec, 0xe6bd87},
+  {0xe4ed, 0xe6bca4},
+  {0xe4ee, 0xe6bc95},
+  {0xe4ef, 0xe6bbb9},
+  {0xe4f0, 0xe6bcaf},
+  {0xe4f1, 0xe6bcb6},
+  {0xe4f2, 0xe6bd8b},
+  {0xe4f3, 0xe6bdb4},
+  {0xe4f4, 0xe6bcaa},
+  {0xe4f5, 0xe6bc89},
+  {0xe4f6, 0xe6bca9},
+  {0xe4f7, 0xe6be89},
+  {0xe4f8, 0xe6be8d},
+  {0xe4f9, 0xe6be8c},
+  {0xe4fa, 0xe6bdb8},
+  {0xe4fb, 0xe6bdb2},
+  {0xe4fc, 0xe6bdbc},
+  {0xe4fd, 0xe6bdba},
+  {0xe4fe, 0xe6bf91},
+  {0xe540, 0xe98c8a},
+  {0xe541, 0xe98c8b},
+  {0xe542, 0xe98c8c},
+  {0xe543, 0xe98c8d},
+  {0xe544, 0xe98c8e},
+  {0xe545, 0xe98c8f},
+  {0xe546, 0xe98c90},
+  {0xe547, 0xe98c91},
+  {0xe548, 0xe98c92},
+  {0xe549, 0xe98c93},
+  {0xe54a, 0xe98c94},
+  {0xe54b, 0xe98c95},
+  {0xe54c, 0xe98c96},
+  {0xe54d, 0xe98c97},
+  {0xe54e, 0xe98c98},
+  {0xe54f, 0xe98c99},
+  {0xe550, 0xe98c9a},
+  {0xe551, 0xe98c9b},
+  {0xe552, 0xe98c9c},
+  {0xe553, 0xe98c9d},
+  {0xe554, 0xe98c9e},
+  {0xe555, 0xe98c9f},
+  {0xe556, 0xe98ca0},
+  {0xe557, 0xe98ca1},
+  {0xe558, 0xe98ca2},
+  {0xe559, 0xe98ca3},
+  {0xe55a, 0xe98ca4},
+  {0xe55b, 0xe98ca5},
+  {0xe55c, 0xe98ca6},
+  {0xe55d, 0xe98ca7},
+  {0xe55e, 0xe98ca8},
+  {0xe55f, 0xe98ca9},
+  {0xe560, 0xe98caa},
+  {0xe561, 0xe98cab},
+  {0xe562, 0xe98cac},
+  {0xe563, 0xe98cad},
+  {0xe564, 0xe98cae},
+  {0xe565, 0xe98caf},
+  {0xe566, 0xe98cb0},
+  {0xe567, 0xe98cb1},
+  {0xe568, 0xe98cb2},
+  {0xe569, 0xe98cb3},
+  {0xe56a, 0xe98cb4},
+  {0xe56b, 0xe98cb5},
+  {0xe56c, 0xe98cb6},
+  {0xe56d, 0xe98cb7},
+  {0xe56e, 0xe98cb8},
+  {0xe56f, 0xe98cb9},
+  {0xe570, 0xe98cba},
+  {0xe571, 0xe98cbb},
+  {0xe572, 0xe98cbc},
+  {0xe573, 0xe98cbd},
+  {0xe574, 0xe98cbf},
+  {0xe575, 0xe98d80},
+  {0xe576, 0xe98d81},
+  {0xe577, 0xe98d82},
+  {0xe578, 0xe98d83},
+  {0xe579, 0xe98d84},
+  {0xe57a, 0xe98d85},
+  {0xe57b, 0xe98d86},
+  {0xe57c, 0xe98d87},
+  {0xe57d, 0xe98d88},
+  {0xe57e, 0xe98d89},
+  {0xe580, 0xe98d8a},
+  {0xe581, 0xe98d8b},
+  {0xe582, 0xe98d8c},
+  {0xe583, 0xe98d8d},
+  {0xe584, 0xe98d8e},
+  {0xe585, 0xe98d8f},
+  {0xe586, 0xe98d90},
+  {0xe587, 0xe98d91},
+  {0xe588, 0xe98d92},
+  {0xe589, 0xe98d93},
+  {0xe58a, 0xe98d94},
+  {0xe58b, 0xe98d95},
+  {0xe58c, 0xe98d96},
+  {0xe58d, 0xe98d97},
+  {0xe58e, 0xe98d98},
+  {0xe58f, 0xe98d99},
+  {0xe590, 0xe98d9a},
+  {0xe591, 0xe98d9b},
+  {0xe592, 0xe98d9c},
+  {0xe593, 0xe98d9d},
+  {0xe594, 0xe98d9e},
+  {0xe595, 0xe98d9f},
+  {0xe596, 0xe98da0},
+  {0xe597, 0xe98da1},
+  {0xe598, 0xe98da2},
+  {0xe599, 0xe98da3},
+  {0xe59a, 0xe98da4},
+  {0xe59b, 0xe98da5},
+  {0xe59c, 0xe98da6},
+  {0xe59d, 0xe98da7},
+  {0xe59e, 0xe98da8},
+  {0xe59f, 0xe98da9},
+  {0xe5a0, 0xe98dab},
+  {0xe5a1, 0xe6bf89},
+  {0xe5a2, 0xe6bea7},
+  {0xe5a3, 0xe6beb9},
+  {0xe5a4, 0xe6beb6},
+  {0xe5a5, 0xe6bf82},
+  {0xe5a6, 0xe6bfa1},
+  {0xe5a7, 0xe6bfae},
+  {0xe5a8, 0xe6bf9e},
+  {0xe5a9, 0xe6bfa0},
+  {0xe5aa, 0xe6bfaf},
+  {0xe5ab, 0xe7809a},
+  {0xe5ac, 0xe780a3},
+  {0xe5ad, 0xe7809b},
+  {0xe5ae, 0xe780b9},
+  {0xe5af, 0xe780b5},
+  {0xe5b0, 0xe7818f},
+  {0xe5b1, 0xe7819e},
+  {0xe5b2, 0xe5ae80},
+  {0xe5b3, 0xe5ae84},
+  {0xe5b4, 0xe5ae95},
+  {0xe5b5, 0xe5ae93},
+  {0xe5b6, 0xe5aea5},
+  {0xe5b7, 0xe5aeb8},
+  {0xe5b8, 0xe794af},
+  {0xe5b9, 0xe9aa9e},
+  {0xe5ba, 0xe690b4},
+  {0xe5bb, 0xe5afa4},
+  {0xe5bc, 0xe5afae},
+  {0xe5bd, 0xe8a4b0},
+  {0xe5be, 0xe5afb0},
+  {0xe5bf, 0xe8b987},
+  {0xe5c0, 0xe8ac87},
+  {0xe5c1, 0xe8beb6},
+  {0xe5c2, 0xe8bf93},
+  {0xe5c3, 0xe8bf95},
+  {0xe5c4, 0xe8bfa5},
+  {0xe5c5, 0xe8bfae},
+  {0xe5c6, 0xe8bfa4},
+  {0xe5c7, 0xe8bfa9},
+  {0xe5c8, 0xe8bfa6},
+  {0xe5c9, 0xe8bfb3},
+  {0xe5ca, 0xe8bfa8},
+  {0xe5cb, 0xe98085},
+  {0xe5cc, 0xe98084},
+  {0xe5cd, 0xe9808b},
+  {0xe5ce, 0xe980a6},
+  {0xe5cf, 0xe98091},
+  {0xe5d0, 0xe9808d},
+  {0xe5d1, 0xe98096},
+  {0xe5d2, 0xe980a1},
+  {0xe5d3, 0xe980b5},
+  {0xe5d4, 0xe980b6},
+  {0xe5d5, 0xe980ad},
+  {0xe5d6, 0xe980af},
+  {0xe5d7, 0xe98184},
+  {0xe5d8, 0xe98191},
+  {0xe5d9, 0xe98192},
+  {0xe5da, 0xe98190},
+  {0xe5db, 0xe981a8},
+  {0xe5dc, 0xe98198},
+  {0xe5dd, 0xe981a2},
+  {0xe5de, 0xe9819b},
+  {0xe5df, 0xe69ab9},
+  {0xe5e0, 0xe981b4},
+  {0xe5e1, 0xe981bd},
+  {0xe5e2, 0xe98282},
+  {0xe5e3, 0xe98288},
+  {0xe5e4, 0xe98283},
+  {0xe5e5, 0xe9828b},
+  {0xe5e6, 0xe5bd90},
+  {0xe5e7, 0xe5bd97},
+  {0xe5e8, 0xe5bd96},
+  {0xe5e9, 0xe5bd98},
+  {0xe5ea, 0xe5b0bb},
+  {0xe5eb, 0xe592ab},
+  {0xe5ec, 0xe5b190},
+  {0xe5ed, 0xe5b199},
+  {0xe5ee, 0xe5adb1},
+  {0xe5ef, 0xe5b1a3},
+  {0xe5f0, 0xe5b1a6},
+  {0xe5f1, 0xe7bebc},
+  {0xe5f2, 0xe5bcaa},
+  {0xe5f3, 0xe5bca9},
+  {0xe5f4, 0xe5bcad},
+  {0xe5f5, 0xe889b4},
+  {0xe5f6, 0xe5bcbc},
+  {0xe5f7, 0xe9acbb},
+  {0xe5f8, 0xe5b1ae},
+  {0xe5f9, 0xe5a681},
+  {0xe5fa, 0xe5a683},
+  {0xe5fb, 0xe5a68d},
+  {0xe5fc, 0xe5a6a9},
+  {0xe5fd, 0xe5a6aa},
+  {0xe5fe, 0xe5a6a3},
+  {0xe640, 0xe98dac},
+  {0xe641, 0xe98dad},
+  {0xe642, 0xe98dae},
+  {0xe643, 0xe98daf},
+  {0xe644, 0xe98db0},
+  {0xe645, 0xe98db1},
+  {0xe646, 0xe98db2},
+  {0xe647, 0xe98db3},
+  {0xe648, 0xe98db4},
+  {0xe649, 0xe98db5},
+  {0xe64a, 0xe98db6},
+  {0xe64b, 0xe98db7},
+  {0xe64c, 0xe98db8},
+  {0xe64d, 0xe98db9},
+  {0xe64e, 0xe98dba},
+  {0xe64f, 0xe98dbb},
+  {0xe650, 0xe98dbc},
+  {0xe651, 0xe98dbd},
+  {0xe652, 0xe98dbe},
+  {0xe653, 0xe98dbf},
+  {0xe654, 0xe98e80},
+  {0xe655, 0xe98e81},
+  {0xe656, 0xe98e82},
+  {0xe657, 0xe98e83},
+  {0xe658, 0xe98e84},
+  {0xe659, 0xe98e85},
+  {0xe65a, 0xe98e86},
+  {0xe65b, 0xe98e87},
+  {0xe65c, 0xe98e88},
+  {0xe65d, 0xe98e89},
+  {0xe65e, 0xe98e8a},
+  {0xe65f, 0xe98e8b},
+  {0xe660, 0xe98e8c},
+  {0xe661, 0xe98e8d},
+  {0xe662, 0xe98e8e},
+  {0xe663, 0xe98e90},
+  {0xe664, 0xe98e91},
+  {0xe665, 0xe98e92},
+  {0xe666, 0xe98e93},
+  {0xe667, 0xe98e94},
+  {0xe668, 0xe98e95},
+  {0xe669, 0xe98e96},
+  {0xe66a, 0xe98e97},
+  {0xe66b, 0xe98e98},
+  {0xe66c, 0xe98e99},
+  {0xe66d, 0xe98e9a},
+  {0xe66e, 0xe98e9b},
+  {0xe66f, 0xe98e9c},
+  {0xe670, 0xe98e9d},
+  {0xe671, 0xe98e9e},
+  {0xe672, 0xe98e9f},
+  {0xe673, 0xe98ea0},
+  {0xe674, 0xe98ea1},
+  {0xe675, 0xe98ea2},
+  {0xe676, 0xe98ea3},
+  {0xe677, 0xe98ea4},
+  {0xe678, 0xe98ea5},
+  {0xe679, 0xe98ea6},
+  {0xe67a, 0xe98ea7},
+  {0xe67b, 0xe98ea8},
+  {0xe67c, 0xe98ea9},
+  {0xe67d, 0xe98eaa},
+  {0xe67e, 0xe98eab},
+  {0xe680, 0xe98eac},
+  {0xe681, 0xe98ead},
+  {0xe682, 0xe98eae},
+  {0xe683, 0xe98eaf},
+  {0xe684, 0xe98eb0},
+  {0xe685, 0xe98eb1},
+  {0xe686, 0xe98eb2},
+  {0xe687, 0xe98eb3},
+  {0xe688, 0xe98eb4},
+  {0xe689, 0xe98eb5},
+  {0xe68a, 0xe98eb6},
+  {0xe68b, 0xe98eb7},
+  {0xe68c, 0xe98eb8},
+  {0xe68d, 0xe98eb9},
+  {0xe68e, 0xe98eba},
+  {0xe68f, 0xe98ebb},
+  {0xe690, 0xe98ebc},
+  {0xe691, 0xe98ebd},
+  {0xe692, 0xe98ebe},
+  {0xe693, 0xe98ebf},
+  {0xe694, 0xe98f80},
+  {0xe695, 0xe98f81},
+  {0xe696, 0xe98f82},
+  {0xe697, 0xe98f83},
+  {0xe698, 0xe98f84},
+  {0xe699, 0xe98f85},
+  {0xe69a, 0xe98f86},
+  {0xe69b, 0xe98f87},
+  {0xe69c, 0xe98f88},
+  {0xe69d, 0xe98f89},
+  {0xe69e, 0xe98f8b},
+  {0xe69f, 0xe98f8c},
+  {0xe6a0, 0xe98f8d},
+  {0xe6a1, 0xe5a697},
+  {0xe6a2, 0xe5a78a},
+  {0xe6a3, 0xe5a6ab},
+  {0xe6a4, 0xe5a69e},
+  {0xe6a5, 0xe5a6a4},
+  {0xe6a6, 0xe5a792},
+  {0xe6a7, 0xe5a6b2},
+  {0xe6a8, 0xe5a6af},
+  {0xe6a9, 0xe5a797},
+  {0xe6aa, 0xe5a6be},
+  {0xe6ab, 0xe5a885},
+  {0xe6ac, 0xe5a886},
+  {0xe6ad, 0xe5a79d},
+  {0xe6ae, 0xe5a888},
+  {0xe6af, 0xe5a7a3},
+  {0xe6b0, 0xe5a798},
+  {0xe6b1, 0xe5a7b9},
+  {0xe6b2, 0xe5a88c},
+  {0xe6b3, 0xe5a889},
+  {0xe6b4, 0xe5a8b2},
+  {0xe6b5, 0xe5a8b4},
+  {0xe6b6, 0xe5a891},
+  {0xe6b7, 0xe5a8a3},
+  {0xe6b8, 0xe5a893},
+  {0xe6b9, 0xe5a980},
+  {0xe6ba, 0xe5a9a7},
+  {0xe6bb, 0xe5a98a},
+  {0xe6bc, 0xe5a995},
+  {0xe6bd, 0xe5a8bc},
+  {0xe6be, 0xe5a9a2},
+  {0xe6bf, 0xe5a9b5},
+  {0xe6c0, 0xe883ac},
+  {0xe6c1, 0xe5aaaa},
+  {0xe6c2, 0xe5aa9b},
+  {0xe6c3, 0xe5a9b7},
+  {0xe6c4, 0xe5a9ba},
+  {0xe6c5, 0xe5aabe},
+  {0xe6c6, 0xe5abab},
+  {0xe6c7, 0xe5aab2},
+  {0xe6c8, 0xe5ab92},
+  {0xe6c9, 0xe5ab94},
+  {0xe6ca, 0xe5aab8},
+  {0xe6cb, 0xe5aba0},
+  {0xe6cc, 0xe5aba3},
+  {0xe6cd, 0xe5abb1},
+  {0xe6ce, 0xe5ab96},
+  {0xe6cf, 0xe5aba6},
+  {0xe6d0, 0xe5ab98},
+  {0xe6d1, 0xe5ab9c},
+  {0xe6d2, 0xe5ac89},
+  {0xe6d3, 0xe5ac97},
+  {0xe6d4, 0xe5ac96},
+  {0xe6d5, 0xe5acb2},
+  {0xe6d6, 0xe5acb7},
+  {0xe6d7, 0xe5ad80},
+  {0xe6d8, 0xe5b095},
+  {0xe6d9, 0xe5b09c},
+  {0xe6da, 0xe5ad9a},
+  {0xe6db, 0xe5ada5},
+  {0xe6dc, 0xe5adb3},
+  {0xe6dd, 0xe5ad91},
+  {0xe6de, 0xe5ad93},
+  {0xe6df, 0xe5ada2},
+  {0xe6e0, 0xe9a9b5},
+  {0xe6e1, 0xe9a9b7},
+  {0xe6e2, 0xe9a9b8},
+  {0xe6e3, 0xe9a9ba},
+  {0xe6e4, 0xe9a9bf},
+  {0xe6e5, 0xe9a9bd},
+  {0xe6e6, 0xe9aa80},
+  {0xe6e7, 0xe9aa81},
+  {0xe6e8, 0xe9aa85},
+  {0xe6e9, 0xe9aa88},
+  {0xe6ea, 0xe9aa8a},
+  {0xe6eb, 0xe9aa90},
+  {0xe6ec, 0xe9aa92},
+  {0xe6ed, 0xe9aa93},
+  {0xe6ee, 0xe9aa96},
+  {0xe6ef, 0xe9aa98},
+  {0xe6f0, 0xe9aa9b},
+  {0xe6f1, 0xe9aa9c},
+  {0xe6f2, 0xe9aa9d},
+  {0xe6f3, 0xe9aa9f},
+  {0xe6f4, 0xe9aaa0},
+  {0xe6f5, 0xe9aaa2},
+  {0xe6f6, 0xe9aaa3},
+  {0xe6f7, 0xe9aaa5},
+  {0xe6f8, 0xe9aaa7},
+  {0xe6f9, 0xe7ba9f},
+  {0xe6fa, 0xe7baa1},
+  {0xe6fb, 0xe7baa3},
+  {0xe6fc, 0xe7baa5},
+  {0xe6fd, 0xe7baa8},
+  {0xe6fe, 0xe7baa9},
+  {0xe740, 0xe98f8e},
+  {0xe741, 0xe98f8f},
+  {0xe742, 0xe98f90},
+  {0xe743, 0xe98f91},
+  {0xe744, 0xe98f92},
+  {0xe745, 0xe98f93},
+  {0xe746, 0xe98f94},
+  {0xe747, 0xe98f95},
+  {0xe748, 0xe98f97},
+  {0xe749, 0xe98f98},
+  {0xe74a, 0xe98f99},
+  {0xe74b, 0xe98f9a},
+  {0xe74c, 0xe98f9b},
+  {0xe74d, 0xe98f9c},
+  {0xe74e, 0xe98f9d},
+  {0xe74f, 0xe98f9e},
+  {0xe750, 0xe98f9f},
+  {0xe751, 0xe98fa0},
+  {0xe752, 0xe98fa1},
+  {0xe753, 0xe98fa2},
+  {0xe754, 0xe98fa3},
+  {0xe755, 0xe98fa4},
+  {0xe756, 0xe98fa5},
+  {0xe757, 0xe98fa6},
+  {0xe758, 0xe98fa7},
+  {0xe759, 0xe98fa8},
+  {0xe75a, 0xe98fa9},
+  {0xe75b, 0xe98faa},
+  {0xe75c, 0xe98fab},
+  {0xe75d, 0xe98fac},
+  {0xe75e, 0xe98fad},
+  {0xe75f, 0xe98fae},
+  {0xe760, 0xe98faf},
+  {0xe761, 0xe98fb0},
+  {0xe762, 0xe98fb1},
+  {0xe763, 0xe98fb2},
+  {0xe764, 0xe98fb3},
+  {0xe765, 0xe98fb4},
+  {0xe766, 0xe98fb5},
+  {0xe767, 0xe98fb6},
+  {0xe768, 0xe98fb7},
+  {0xe769, 0xe98fb8},
+  {0xe76a, 0xe98fb9},
+  {0xe76b, 0xe98fba},
+  {0xe76c, 0xe98fbb},
+  {0xe76d, 0xe98fbc},
+  {0xe76e, 0xe98fbd},
+  {0xe76f, 0xe98fbe},
+  {0xe770, 0xe98fbf},
+  {0xe771, 0xe99080},
+  {0xe772, 0xe99081},
+  {0xe773, 0xe99082},
+  {0xe774, 0xe99083},
+  {0xe775, 0xe99084},
+  {0xe776, 0xe99085},
+  {0xe777, 0xe99086},
+  {0xe778, 0xe99087},
+  {0xe779, 0xe99088},
+  {0xe77a, 0xe99089},
+  {0xe77b, 0xe9908a},
+  {0xe77c, 0xe9908b},
+  {0xe77d, 0xe9908c},
+  {0xe77e, 0xe9908d},
+  {0xe780, 0xe9908e},
+  {0xe781, 0xe9908f},
+  {0xe782, 0xe99090},
+  {0xe783, 0xe99091},
+  {0xe784, 0xe99092},
+  {0xe785, 0xe99093},
+  {0xe786, 0xe99094},
+  {0xe787, 0xe99095},
+  {0xe788, 0xe99096},
+  {0xe789, 0xe99097},
+  {0xe78a, 0xe99098},
+  {0xe78b, 0xe99099},
+  {0xe78c, 0xe9909a},
+  {0xe78d, 0xe9909b},
+  {0xe78e, 0xe9909c},
+  {0xe78f, 0xe9909d},
+  {0xe790, 0xe9909e},
+  {0xe791, 0xe9909f},
+  {0xe792, 0xe990a0},
+  {0xe793, 0xe990a1},
+  {0xe794, 0xe990a2},
+  {0xe795, 0xe990a3},
+  {0xe796, 0xe990a4},
+  {0xe797, 0xe990a5},
+  {0xe798, 0xe990a6},
+  {0xe799, 0xe990a7},
+  {0xe79a, 0xe990a8},
+  {0xe79b, 0xe990a9},
+  {0xe79c, 0xe990aa},
+  {0xe79d, 0xe990ab},
+  {0xe79e, 0xe990ac},
+  {0xe79f, 0xe990ad},
+  {0xe7a0, 0xe990ae},
+  {0xe7a1, 0xe7baad},
+  {0xe7a2, 0xe7bab0},
+  {0xe7a3, 0xe7babe},
+  {0xe7a4, 0xe7bb80},
+  {0xe7a5, 0xe7bb81},
+  {0xe7a6, 0xe7bb82},
+  {0xe7a7, 0xe7bb89},
+  {0xe7a8, 0xe7bb8b},
+  {0xe7a9, 0xe7bb8c},
+  {0xe7aa, 0xe7bb90},
+  {0xe7ab, 0xe7bb94},
+  {0xe7ac, 0xe7bb97},
+  {0xe7ad, 0xe7bb9b},
+  {0xe7ae, 0xe7bba0},
+  {0xe7af, 0xe7bba1},
+  {0xe7b0, 0xe7bba8},
+  {0xe7b1, 0xe7bbab},
+  {0xe7b2, 0xe7bbae},
+  {0xe7b3, 0xe7bbaf},
+  {0xe7b4, 0xe7bbb1},
+  {0xe7b5, 0xe7bbb2},
+  {0xe7b6, 0xe7bc8d},
+  {0xe7b7, 0xe7bbb6},
+  {0xe7b8, 0xe7bbba},
+  {0xe7b9, 0xe7bbbb},
+  {0xe7ba, 0xe7bbbe},
+  {0xe7bb, 0xe7bc81},
+  {0xe7bc, 0xe7bc82},
+  {0xe7bd, 0xe7bc83},
+  {0xe7be, 0xe7bc87},
+  {0xe7bf, 0xe7bc88},
+  {0xe7c0, 0xe7bc8b},
+  {0xe7c1, 0xe7bc8c},
+  {0xe7c2, 0xe7bc8f},
+  {0xe7c3, 0xe7bc91},
+  {0xe7c4, 0xe7bc92},
+  {0xe7c5, 0xe7bc97},
+  {0xe7c6, 0xe7bc99},
+  {0xe7c7, 0xe7bc9c},
+  {0xe7c8, 0xe7bc9b},
+  {0xe7c9, 0xe7bc9f},
+  {0xe7ca, 0xe7bca1},
+  {0xe7cb, 0xe7bca2},
+  {0xe7cc, 0xe7bca3},
+  {0xe7cd, 0xe7bca4},
+  {0xe7ce, 0xe7bca5},
+  {0xe7cf, 0xe7bca6},
+  {0xe7d0, 0xe7bca7},
+  {0xe7d1, 0xe7bcaa},
+  {0xe7d2, 0xe7bcab},
+  {0xe7d3, 0xe7bcac},
+  {0xe7d4, 0xe7bcad},
+  {0xe7d5, 0xe7bcaf},
+  {0xe7d6, 0xe7bcb0},
+  {0xe7d7, 0xe7bcb1},
+  {0xe7d8, 0xe7bcb2},
+  {0xe7d9, 0xe7bcb3},
+  {0xe7da, 0xe7bcb5},
+  {0xe7db, 0xe5b9ba},
+  {0xe7dc, 0xe795bf},
+  {0xe7dd, 0xe5b79b},
+  {0xe7de, 0xe794be},
+  {0xe7df, 0xe98295},
+  {0xe7e0, 0xe78e8e},
+  {0xe7e1, 0xe78e91},
+  {0xe7e2, 0xe78eae},
+  {0xe7e3, 0xe78ea2},
+  {0xe7e4, 0xe78e9f},
+  {0xe7e5, 0xe78f8f},
+  {0xe7e6, 0xe78f82},
+  {0xe7e7, 0xe78f91},
+  {0xe7e8, 0xe78eb7},
+  {0xe7e9, 0xe78eb3},
+  {0xe7ea, 0xe78f80},
+  {0xe7eb, 0xe78f89},
+  {0xe7ec, 0xe78f88},
+  {0xe7ed, 0xe78fa5},
+  {0xe7ee, 0xe78f99},
+  {0xe7ef, 0xe9a1bc},
+  {0xe7f0, 0xe7908a},
+  {0xe7f1, 0xe78fa9},
+  {0xe7f2, 0xe78fa7},
+  {0xe7f3, 0xe78f9e},
+  {0xe7f4, 0xe78eba},
+  {0xe7f5, 0xe78fb2},
+  {0xe7f6, 0xe7908f},
+  {0xe7f7, 0xe790aa},
+  {0xe7f8, 0xe7919b},
+  {0xe7f9, 0xe790a6},
+  {0xe7fa, 0xe790a5},
+  {0xe7fb, 0xe790a8},
+  {0xe7fc, 0xe790b0},
+  {0xe7fd, 0xe790ae},
+  {0xe7fe, 0xe790ac},
+  {0xe840, 0xe990af},
+  {0xe841, 0xe990b0},
+  {0xe842, 0xe990b1},
+  {0xe843, 0xe990b2},
+  {0xe844, 0xe990b3},
+  {0xe845, 0xe990b4},
+  {0xe846, 0xe990b5},
+  {0xe847, 0xe990b6},
+  {0xe848, 0xe990b7},
+  {0xe849, 0xe990b8},
+  {0xe84a, 0xe990b9},
+  {0xe84b, 0xe990ba},
+  {0xe84c, 0xe990bb},
+  {0xe84d, 0xe990bc},
+  {0xe84e, 0xe990bd},
+  {0xe84f, 0xe990bf},
+  {0xe850, 0xe99180},
+  {0xe851, 0xe99181},
+  {0xe852, 0xe99182},
+  {0xe853, 0xe99183},
+  {0xe854, 0xe99184},
+  {0xe855, 0xe99185},
+  {0xe856, 0xe99186},
+  {0xe857, 0xe99187},
+  {0xe858, 0xe99188},
+  {0xe859, 0xe99189},
+  {0xe85a, 0xe9918a},
+  {0xe85b, 0xe9918b},
+  {0xe85c, 0xe9918c},
+  {0xe85d, 0xe9918d},
+  {0xe85e, 0xe9918e},
+  {0xe85f, 0xe9918f},
+  {0xe860, 0xe99190},
+  {0xe861, 0xe99191},
+  {0xe862, 0xe99192},
+  {0xe863, 0xe99193},
+  {0xe864, 0xe99194},
+  {0xe865, 0xe99195},
+  {0xe866, 0xe99196},
+  {0xe867, 0xe99197},
+  {0xe868, 0xe99198},
+  {0xe869, 0xe99199},
+  {0xe86a, 0xe9919a},
+  {0xe86b, 0xe9919b},
+  {0xe86c, 0xe9919c},
+  {0xe86d, 0xe9919d},
+  {0xe86e, 0xe9919e},
+  {0xe86f, 0xe9919f},
+  {0xe870, 0xe991a0},
+  {0xe871, 0xe991a1},
+  {0xe872, 0xe991a2},
+  {0xe873, 0xe991a3},
+  {0xe874, 0xe991a4},
+  {0xe875, 0xe991a5},
+  {0xe876, 0xe991a6},
+  {0xe877, 0xe991a7},
+  {0xe878, 0xe991a8},
+  {0xe879, 0xe991a9},
+  {0xe87a, 0xe991aa},
+  {0xe87b, 0xe991ac},
+  {0xe87c, 0xe991ad},
+  {0xe87d, 0xe991ae},
+  {0xe87e, 0xe991af},
+  {0xe880, 0xe991b0},
+  {0xe881, 0xe991b1},
+  {0xe882, 0xe991b2},
+  {0xe883, 0xe991b3},
+  {0xe884, 0xe991b4},
+  {0xe885, 0xe991b5},
+  {0xe886, 0xe991b6},
+  {0xe887, 0xe991b7},
+  {0xe888, 0xe991b8},
+  {0xe889, 0xe991b9},
+  {0xe88a, 0xe991ba},
+  {0xe88b, 0xe991bb},
+  {0xe88c, 0xe991bc},
+  {0xe88d, 0xe991bd},
+  {0xe88e, 0xe991be},
+  {0xe88f, 0xe991bf},
+  {0xe890, 0xe99280},
+  {0xe891, 0xe99281},
+  {0xe892, 0xe99282},
+  {0xe893, 0xe99283},
+  {0xe894, 0xe99284},
+  {0xe895, 0xe99291},
+  {0xe896, 0xe99296},
+  {0xe897, 0xe99298},
+  {0xe898, 0xe99387},
+  {0xe899, 0xe9938f},
+  {0xe89a, 0xe99393},
+  {0xe89b, 0xe99394},
+  {0xe89c, 0xe9939a},
+  {0xe89d, 0xe993a6},
+  {0xe89e, 0xe993bb},
+  {0xe89f, 0xe9949c},
+  {0xe8a0, 0xe994a0},
+  {0xe8a1, 0xe7909b},
+  {0xe8a2, 0xe7909a},
+  {0xe8a3, 0xe79181},
+  {0xe8a4, 0xe7919c},
+  {0xe8a5, 0xe79197},
+  {0xe8a6, 0xe79195},
+  {0xe8a7, 0xe79199},
+  {0xe8a8, 0xe791b7},
+  {0xe8a9, 0xe791ad},
+  {0xe8aa, 0xe791be},
+  {0xe8ab, 0xe7929c},
+  {0xe8ac, 0xe7928e},
+  {0xe8ad, 0xe79280},
+  {0xe8ae, 0xe79281},
+  {0xe8af, 0xe79287},
+  {0xe8b0, 0xe7928b},
+  {0xe8b1, 0xe7929e},
+  {0xe8b2, 0xe792a8},
+  {0xe8b3, 0xe792a9},
+  {0xe8b4, 0xe79290},
+  {0xe8b5, 0xe792a7},
+  {0xe8b6, 0xe79392},
+  {0xe8b7, 0xe792ba},
+  {0xe8b8, 0xe99faa},
+  {0xe8b9, 0xe99fab},
+  {0xe8ba, 0xe99fac},
+  {0xe8bb, 0xe69d8c},
+  {0xe8bc, 0xe69d93},
+  {0xe8bd, 0xe69d9e},
+  {0xe8be, 0xe69d88},
+  {0xe8bf, 0xe69da9},
+  {0xe8c0, 0xe69ea5},
+  {0xe8c1, 0xe69e87},
+  {0xe8c2, 0xe69daa},
+  {0xe8c3, 0xe69db3},
+  {0xe8c4, 0xe69e98},
+  {0xe8c5, 0xe69ea7},
+  {0xe8c6, 0xe69db5},
+  {0xe8c7, 0xe69ea8},
+  {0xe8c8, 0xe69e9e},
+  {0xe8c9, 0xe69ead},
+  {0xe8ca, 0xe69e8b},
+  {0xe8cb, 0xe69db7},
+  {0xe8cc, 0xe69dbc},
+  {0xe8cd, 0xe69fb0},
+  {0xe8ce, 0xe6a089},
+  {0xe8cf, 0xe69f98},
+  {0xe8d0, 0xe6a08a},
+  {0xe8d1, 0xe69fa9},
+  {0xe8d2, 0xe69eb0},
+  {0xe8d3, 0xe6a08c},
+  {0xe8d4, 0xe69f99},
+  {0xe8d5, 0xe69eb5},
+  {0xe8d6, 0xe69f9a},
+  {0xe8d7, 0xe69eb3},
+  {0xe8d8, 0xe69f9d},
+  {0xe8d9, 0xe6a080},
+  {0xe8da, 0xe69f83},
+  {0xe8db, 0xe69eb8},
+  {0xe8dc, 0xe69fa2},
+  {0xe8dd, 0xe6a08e},
+  {0xe8de, 0xe69f81},
+  {0xe8df, 0xe69fbd},
+  {0xe8e0, 0xe6a0b2},
+  {0xe8e1, 0xe6a0b3},
+  {0xe8e2, 0xe6a1a0},
+  {0xe8e3, 0xe6a1a1},
+  {0xe8e4, 0xe6a18e},
+  {0xe8e5, 0xe6a1a2},
+  {0xe8e6, 0xe6a184},
+  {0xe8e7, 0xe6a1a4},
+  {0xe8e8, 0xe6a283},
+  {0xe8e9, 0xe6a09d},
+  {0xe8ea, 0xe6a195},
+  {0xe8eb, 0xe6a1a6},
+  {0xe8ec, 0xe6a181},
+  {0xe8ed, 0xe6a1a7},
+  {0xe8ee, 0xe6a180},
+  {0xe8ef, 0xe6a0be},
+  {0xe8f0, 0xe6a18a},
+  {0xe8f1, 0xe6a189},
+  {0xe8f2, 0xe6a0a9},
+  {0xe8f3, 0xe6a2b5},
+  {0xe8f4, 0xe6a28f},
+  {0xe8f5, 0xe6a1b4},
+  {0xe8f6, 0xe6a1b7},
+  {0xe8f7, 0xe6a293},
+  {0xe8f8, 0xe6a1ab},
+  {0xe8f9, 0xe6a382},
+  {0xe8fa, 0xe6a5ae},
+  {0xe8fb, 0xe6a3bc},
+  {0xe8fc, 0xe6a49f},
+  {0xe8fd, 0xe6a4a0},
+  {0xe8fe, 0xe6a3b9},
+  {0xe940, 0xe994a7},
+  {0xe941, 0xe994b3},
+  {0xe942, 0xe994bd},
+  {0xe943, 0xe99583},
+  {0xe944, 0xe99588},
+  {0xe945, 0xe9958b},
+  {0xe946, 0xe99595},
+  {0xe947, 0xe9959a},
+  {0xe948, 0xe995a0},
+  {0xe949, 0xe995ae},
+  {0xe94a, 0xe995b4},
+  {0xe94b, 0xe995b5},
+  {0xe94c, 0xe995b7},
+  {0xe94d, 0xe995b8},
+  {0xe94e, 0xe995b9},
+  {0xe94f, 0xe995ba},
+  {0xe950, 0xe995bb},
+  {0xe951, 0xe995bc},
+  {0xe952, 0xe995bd},
+  {0xe953, 0xe995be},
+  {0xe954, 0xe99680},
+  {0xe955, 0xe99681},
+  {0xe956, 0xe99682},
+  {0xe957, 0xe99683},
+  {0xe958, 0xe99684},
+  {0xe959, 0xe99685},
+  {0xe95a, 0xe99686},
+  {0xe95b, 0xe99687},
+  {0xe95c, 0xe99688},
+  {0xe95d, 0xe99689},
+  {0xe95e, 0xe9968a},
+  {0xe95f, 0xe9968b},
+  {0xe960, 0xe9968c},
+  {0xe961, 0xe9968d},
+  {0xe962, 0xe9968e},
+  {0xe963, 0xe9968f},
+  {0xe964, 0xe99690},
+  {0xe965, 0xe99691},
+  {0xe966, 0xe99692},
+  {0xe967, 0xe99693},
+  {0xe968, 0xe99694},
+  {0xe969, 0xe99695},
+  {0xe96a, 0xe99696},
+  {0xe96b, 0xe99697},
+  {0xe96c, 0xe99698},
+  {0xe96d, 0xe99699},
+  {0xe96e, 0xe9969a},
+  {0xe96f, 0xe9969b},
+  {0xe970, 0xe9969c},
+  {0xe971, 0xe9969d},
+  {0xe972, 0xe9969e},
+  {0xe973, 0xe9969f},
+  {0xe974, 0xe996a0},
+  {0xe975, 0xe996a1},
+  {0xe976, 0xe996a2},
+  {0xe977, 0xe996a3},
+  {0xe978, 0xe996a4},
+  {0xe979, 0xe996a5},
+  {0xe97a, 0xe996a6},
+  {0xe97b, 0xe996a7},
+  {0xe97c, 0xe996a8},
+  {0xe97d, 0xe996a9},
+  {0xe97e, 0xe996aa},
+  {0xe980, 0xe996ab},
+  {0xe981, 0xe996ac},
+  {0xe982, 0xe996ad},
+  {0xe983, 0xe996ae},
+  {0xe984, 0xe996af},
+  {0xe985, 0xe996b0},
+  {0xe986, 0xe996b1},
+  {0xe987, 0xe996b2},
+  {0xe988, 0xe996b3},
+  {0xe989, 0xe996b4},
+  {0xe98a, 0xe996b5},
+  {0xe98b, 0xe996b6},
+  {0xe98c, 0xe996b7},
+  {0xe98d, 0xe996b8},
+  {0xe98e, 0xe996b9},
+  {0xe98f, 0xe996ba},
+  {0xe990, 0xe996bb},
+  {0xe991, 0xe996bc},
+  {0xe992, 0xe996bd},
+  {0xe993, 0xe996be},
+  {0xe994, 0xe996bf},
+  {0xe995, 0xe99780},
+  {0xe996, 0xe99781},
+  {0xe997, 0xe99782},
+  {0xe998, 0xe99783},
+  {0xe999, 0xe99784},
+  {0xe99a, 0xe99785},
+  {0xe99b, 0xe99786},
+  {0xe99c, 0xe99787},
+  {0xe99d, 0xe99788},
+  {0xe99e, 0xe99789},
+  {0xe99f, 0xe9978a},
+  {0xe9a0, 0xe9978b},
+  {0xe9a1, 0xe6a4a4},
+  {0xe9a2, 0xe6a3b0},
+  {0xe9a3, 0xe6a48b},
+  {0xe9a4, 0xe6a481},
+  {0xe9a5, 0xe6a597},
+  {0xe9a6, 0xe6a3a3},
+  {0xe9a7, 0xe6a490},
+  {0xe9a8, 0xe6a5b1},
+  {0xe9a9, 0xe6a4b9},
+  {0xe9aa, 0xe6a5a0},
+  {0xe9ab, 0xe6a582},
+  {0xe9ac, 0xe6a59d},
+  {0xe9ad, 0xe6a684},
+  {0xe9ae, 0xe6a5ab},
+  {0xe9af, 0xe6a680},
+  {0xe9b0, 0xe6a698},
+  {0xe9b1, 0xe6a5b8},
+  {0xe9b2, 0xe6a4b4},
+  {0xe9b3, 0xe6a78c},
+  {0xe9b4, 0xe6a687},
+  {0xe9b5, 0xe6a688},
+  {0xe9b6, 0xe6a78e},
+  {0xe9b7, 0xe6a689},
+  {0xe9b8, 0xe6a5a6},
+  {0xe9b9, 0xe6a5a3},
+  {0xe9ba, 0xe6a5b9},
+  {0xe9bb, 0xe6a69b},
+  {0xe9bc, 0xe6a6a7},
+  {0xe9bd, 0xe6a6bb},
+  {0xe9be, 0xe6a6ab},
+  {0xe9bf, 0xe6a6ad},
+  {0xe9c0, 0xe6a794},
+  {0xe9c1, 0xe6a6b1},
+  {0xe9c2, 0xe6a781},
+  {0xe9c3, 0xe6a78a},
+  {0xe9c4, 0xe6a79f},
+  {0xe9c5, 0xe6a695},
+  {0xe9c6, 0xe6a7a0},
+  {0xe9c7, 0xe6a68d},
+  {0xe9c8, 0xe6a7bf},
+  {0xe9c9, 0xe6a8af},
+  {0xe9ca, 0xe6a7ad},
+  {0xe9cb, 0xe6a897},
+  {0xe9cc, 0xe6a898},
+  {0xe9cd, 0xe6a9a5},
+  {0xe9ce, 0xe6a7b2},
+  {0xe9cf, 0xe6a984},
+  {0xe9d0, 0xe6a8be},
+  {0xe9d1, 0xe6aaa0},
+  {0xe9d2, 0xe6a990},
+  {0xe9d3, 0xe6a99b},
+  {0xe9d4, 0xe6a8b5},
+  {0xe9d5, 0xe6aa8e},
+  {0xe9d6, 0xe6a9b9},
+  {0xe9d7, 0xe6a8bd},
+  {0xe9d8, 0xe6a8a8},
+  {0xe9d9, 0xe6a998},
+  {0xe9da, 0xe6a9bc},
+  {0xe9db, 0xe6aa91},
+  {0xe9dc, 0xe6aa90},
+  {0xe9dd, 0xe6aaa9},
+  {0xe9de, 0xe6aa97},
+  {0xe9df, 0xe6aaab},
+  {0xe9e0, 0xe78cb7},
+  {0xe9e1, 0xe78d92},
+  {0xe9e2, 0xe6ae81},
+  {0xe9e3, 0xe6ae82},
+  {0xe9e4, 0xe6ae87},
+  {0xe9e5, 0xe6ae84},
+  {0xe9e6, 0xe6ae92},
+  {0xe9e7, 0xe6ae93},
+  {0xe9e8, 0xe6ae8d},
+  {0xe9e9, 0xe6ae9a},
+  {0xe9ea, 0xe6ae9b},
+  {0xe9eb, 0xe6aea1},
+  {0xe9ec, 0xe6aeaa},
+  {0xe9ed, 0xe8bdab},
+  {0xe9ee, 0xe8bdad},
+  {0xe9ef, 0xe8bdb1},
+  {0xe9f0, 0xe8bdb2},
+  {0xe9f1, 0xe8bdb3},
+  {0xe9f2, 0xe8bdb5},
+  {0xe9f3, 0xe8bdb6},
+  {0xe9f4, 0xe8bdb8},
+  {0xe9f5, 0xe8bdb7},
+  {0xe9f6, 0xe8bdb9},
+  {0xe9f7, 0xe8bdba},
+  {0xe9f8, 0xe8bdbc},
+  {0xe9f9, 0xe8bdbe},
+  {0xe9fa, 0xe8be81},
+  {0xe9fb, 0xe8be82},
+  {0xe9fc, 0xe8be84},
+  {0xe9fd, 0xe8be87},
+  {0xe9fe, 0xe8be8b},
+  {0xea40, 0xe9978c},
+  {0xea41, 0xe9978d},
+  {0xea42, 0xe9978e},
+  {0xea43, 0xe9978f},
+  {0xea44, 0xe99790},
+  {0xea45, 0xe99791},
+  {0xea46, 0xe99792},
+  {0xea47, 0xe99793},
+  {0xea48, 0xe99794},
+  {0xea49, 0xe99795},
+  {0xea4a, 0xe99796},
+  {0xea4b, 0xe99797},
+  {0xea4c, 0xe99798},
+  {0xea4d, 0xe99799},
+  {0xea4e, 0xe9979a},
+  {0xea4f, 0xe9979b},
+  {0xea50, 0xe9979c},
+  {0xea51, 0xe9979d},
+  {0xea52, 0xe9979e},
+  {0xea53, 0xe9979f},
+  {0xea54, 0xe997a0},
+  {0xea55, 0xe997a1},
+  {0xea56, 0xe997a2},
+  {0xea57, 0xe997a3},
+  {0xea58, 0xe997a4},
+  {0xea59, 0xe997a5},
+  {0xea5a, 0xe997a6},
+  {0xea5b, 0xe997a7},
+  {0xea5c, 0xe997ac},
+  {0xea5d, 0xe997bf},
+  {0xea5e, 0xe99887},
+  {0xea5f, 0xe99893},
+  {0xea60, 0xe99898},
+  {0xea61, 0xe9989b},
+  {0xea62, 0xe9989e},
+  {0xea63, 0xe998a0},
+  {0xea64, 0xe998a3},
+  {0xea65, 0xe998a4},
+  {0xea66, 0xe998a5},
+  {0xea67, 0xe998a6},
+  {0xea68, 0xe998a7},
+  {0xea69, 0xe998a8},
+  {0xea6a, 0xe998a9},
+  {0xea6b, 0xe998ab},
+  {0xea6c, 0xe998ac},
+  {0xea6d, 0xe998ad},
+  {0xea6e, 0xe998af},
+  {0xea6f, 0xe998b0},
+  {0xea70, 0xe998b7},
+  {0xea71, 0xe998b8},
+  {0xea72, 0xe998b9},
+  {0xea73, 0xe998ba},
+  {0xea74, 0xe998be},
+  {0xea75, 0xe99981},
+  {0xea76, 0xe99983},
+  {0xea77, 0xe9998a},
+  {0xea78, 0xe9998e},
+  {0xea79, 0xe9998f},
+  {0xea7a, 0xe99991},
+  {0xea7b, 0xe99992},
+  {0xea7c, 0xe99993},
+  {0xea7d, 0xe99996},
+  {0xea7e, 0xe99997},
+  {0xea80, 0xe99998},
+  {0xea81, 0xe99999},
+  {0xea82, 0xe9999a},
+  {0xea83, 0xe9999c},
+  {0xea84, 0xe9999d},
+  {0xea85, 0xe9999e},
+  {0xea86, 0xe999a0},
+  {0xea87, 0xe999a3},
+  {0xea88, 0xe999a5},
+  {0xea89, 0xe999a6},
+  {0xea8a, 0xe999ab},
+  {0xea8b, 0xe999ad},
+  {0xea8c, 0xe999ae},
+  {0xea8d, 0xe999af},
+  {0xea8e, 0xe999b0},
+  {0xea8f, 0xe999b1},
+  {0xea90, 0xe999b3},
+  {0xea91, 0xe999b8},
+  {0xea92, 0xe999b9},
+  {0xea93, 0xe999ba},
+  {0xea94, 0xe999bb},
+  {0xea95, 0xe999bc},
+  {0xea96, 0xe999bd},
+  {0xea97, 0xe999be},
+  {0xea98, 0xe999bf},
+  {0xea99, 0xe99a80},
+  {0xea9a, 0xe99a81},
+  {0xea9b, 0xe99a82},
+  {0xea9c, 0xe99a83},
+  {0xea9d, 0xe99a84},
+  {0xea9e, 0xe99a87},
+  {0xea9f, 0xe99a89},
+  {0xeaa0, 0xe99a8a},
+  {0xeaa1, 0xe8be8d},
+  {0xeaa2, 0xe8be8e},
+  {0xeaa3, 0xe8be8f},
+  {0xeaa4, 0xe8be98},
+  {0xeaa5, 0xe8be9a},
+  {0xeaa6, 0xe8bb8e},
+  {0xeaa7, 0xe6888b},
+  {0xeaa8, 0xe68897},
+  {0xeaa9, 0xe6889b},
+  {0xeaaa, 0xe6889f},
+  {0xeaab, 0xe688a2},
+  {0xeaac, 0xe688a1},
+  {0xeaad, 0xe688a5},
+  {0xeaae, 0xe688a4},
+  {0xeaaf, 0xe688ac},
+  {0xeab0, 0xe887a7},
+  {0xeab1, 0xe793af},
+  {0xeab2, 0xe793b4},
+  {0xeab3, 0xe793bf},
+  {0xeab4, 0xe7948f},
+  {0xeab5, 0xe79491},
+  {0xeab6, 0xe79493},
+  {0xeab7, 0xe694b4},
+  {0xeab8, 0xe697ae},
+  {0xeab9, 0xe697af},
+  {0xeaba, 0xe697b0},
+  {0xeabb, 0xe6988a},
+  {0xeabc, 0xe69899},
+  {0xeabd, 0xe69db2},
+  {0xeabe, 0xe69883},
+  {0xeabf, 0xe69895},
+  {0xeac0, 0xe69880},
+  {0xeac1, 0xe78285},
+  {0xeac2, 0xe69bb7},
+  {0xeac3, 0xe6989d},
+  {0xeac4, 0xe698b4},
+  {0xeac5, 0xe698b1},
+  {0xeac6, 0xe698b6},
+  {0xeac7, 0xe698b5},
+  {0xeac8, 0xe88086},
+  {0xeac9, 0xe6999f},
+  {0xeaca, 0xe69994},
+  {0xeacb, 0xe69981},
+  {0xeacc, 0xe6998f},
+  {0xeacd, 0xe69996},
+  {0xeace, 0xe699a1},
+  {0xeacf, 0xe69997},
+  {0xead0, 0xe699b7},
+  {0xead1, 0xe69a84},
+  {0xead2, 0xe69a8c},
+  {0xead3, 0xe69aa7},
+  {0xead4, 0xe69a9d},
+  {0xead5, 0xe69abe},
+  {0xead6, 0xe69b9b},
+  {0xead7, 0xe69b9c},
+  {0xead8, 0xe69ba6},
+  {0xead9, 0xe69ba9},
+  {0xeada, 0xe8b4b2},
+  {0xeadb, 0xe8b4b3},
+  {0xeadc, 0xe8b4b6},
+  {0xeadd, 0xe8b4bb},
+  {0xeade, 0xe8b4bd},
+  {0xeadf, 0xe8b580},
+  {0xeae0, 0xe8b585},
+  {0xeae1, 0xe8b586},
+  {0xeae2, 0xe8b588},
+  {0xeae3, 0xe8b589},
+  {0xeae4, 0xe8b587},
+  {0xeae5, 0xe8b58d},
+  {0xeae6, 0xe8b595},
+  {0xeae7, 0xe8b599},
+  {0xeae8, 0xe8a787},
+  {0xeae9, 0xe8a78a},
+  {0xeaea, 0xe8a78b},
+  {0xeaeb, 0xe8a78c},
+  {0xeaec, 0xe8a78e},
+  {0xeaed, 0xe8a78f},
+  {0xeaee, 0xe8a790},
+  {0xeaef, 0xe8a791},
+  {0xeaf0, 0xe789ae},
+  {0xeaf1, 0xe78a9f},
+  {0xeaf2, 0xe7899d},
+  {0xeaf3, 0xe789a6},
+  {0xeaf4, 0xe789af},
+  {0xeaf5, 0xe789be},
+  {0xeaf6, 0xe789bf},
+  {0xeaf7, 0xe78a84},
+  {0xeaf8, 0xe78a8b},
+  {0xeaf9, 0xe78a8d},
+  {0xeafa, 0xe78a8f},
+  {0xeafb, 0xe78a92},
+  {0xeafc, 0xe68c88},
+  {0xeafd, 0xe68cb2},
+  {0xeafe, 0xe68eb0},
+  {0xeb40, 0xe99a8c},
+  {0xeb41, 0xe99a8e},
+  {0xeb42, 0xe99a91},
+  {0xeb43, 0xe99a92},
+  {0xeb44, 0xe99a93},
+  {0xeb45, 0xe99a95},
+  {0xeb46, 0xe99a96},
+  {0xeb47, 0xe99a9a},
+  {0xeb48, 0xe99a9b},
+  {0xeb49, 0xe99a9d},
+  {0xeb4a, 0xe99a9e},
+  {0xeb4b, 0xe99a9f},
+  {0xeb4c, 0xe99aa0},
+  {0xeb4d, 0xe99aa1},
+  {0xeb4e, 0xe99aa2},
+  {0xeb4f, 0xe99aa3},
+  {0xeb50, 0xe99aa4},
+  {0xeb51, 0xe99aa5},
+  {0xeb52, 0xe99aa6},
+  {0xeb53, 0xe99aa8},
+  {0xeb54, 0xe99aa9},
+  {0xeb55, 0xe99aaa},
+  {0xeb56, 0xe99aab},
+  {0xeb57, 0xe99aac},
+  {0xeb58, 0xe99aad},
+  {0xeb59, 0xe99aae},
+  {0xeb5a, 0xe99aaf},
+  {0xeb5b, 0xe99ab1},
+  {0xeb5c, 0xe99ab2},
+  {0xeb5d, 0xe99ab4},
+  {0xeb5e, 0xe99ab5},
+  {0xeb5f, 0xe99ab7},
+  {0xeb60, 0xe99ab8},
+  {0xeb61, 0xe99aba},
+  {0xeb62, 0xe99abb},
+  {0xeb63, 0xe99abf},
+  {0xeb64, 0xe99b82},
+  {0xeb65, 0xe99b83},
+  {0xeb66, 0xe99b88},
+  {0xeb67, 0xe99b8a},
+  {0xeb68, 0xe99b8b},
+  {0xeb69, 0xe99b90},
+  {0xeb6a, 0xe99b91},
+  {0xeb6b, 0xe99b93},
+  {0xeb6c, 0xe99b94},
+  {0xeb6d, 0xe99b96},
+  {0xeb6e, 0xe99b97},
+  {0xeb6f, 0xe99b98},
+  {0xeb70, 0xe99b99},
+  {0xeb71, 0xe99b9a},
+  {0xeb72, 0xe99b9b},
+  {0xeb73, 0xe99b9c},
+  {0xeb74, 0xe99b9d},
+  {0xeb75, 0xe99b9e},
+  {0xeb76, 0xe99b9f},
+  {0xeb77, 0xe99ba1},
+  {0xeb78, 0xe99ba2},
+  {0xeb79, 0xe99ba3},
+  {0xeb7a, 0xe99ba4},
+  {0xeb7b, 0xe99ba5},
+  {0xeb7c, 0xe99ba6},
+  {0xeb7d, 0xe99ba7},
+  {0xeb7e, 0xe99bab},
+  {0xeb80, 0xe99bac},
+  {0xeb81, 0xe99bad},
+  {0xeb82, 0xe99bae},
+  {0xeb83, 0xe99bb0},
+  {0xeb84, 0xe99bb1},
+  {0xeb85, 0xe99bb2},
+  {0xeb86, 0xe99bb4},
+  {0xeb87, 0xe99bb5},
+  {0xeb88, 0xe99bb8},
+  {0xeb89, 0xe99bba},
+  {0xeb8a, 0xe99bbb},
+  {0xeb8b, 0xe99bbc},
+  {0xeb8c, 0xe99bbd},
+  {0xeb8d, 0xe99bbf},
+  {0xeb8e, 0xe99c82},
+  {0xeb8f, 0xe99c83},
+  {0xeb90, 0xe99c85},
+  {0xeb91, 0xe99c8a},
+  {0xeb92, 0xe99c8b},
+  {0xeb93, 0xe99c8c},
+  {0xeb94, 0xe99c90},
+  {0xeb95, 0xe99c91},
+  {0xeb96, 0xe99c92},
+  {0xeb97, 0xe99c94},
+  {0xeb98, 0xe99c95},
+  {0xeb99, 0xe99c97},
+  {0xeb9a, 0xe99c98},
+  {0xeb9b, 0xe99c99},
+  {0xeb9c, 0xe99c9a},
+  {0xeb9d, 0xe99c9b},
+  {0xeb9e, 0xe99c9d},
+  {0xeb9f, 0xe99c9f},
+  {0xeba0, 0xe99ca0},
+  {0xeba1, 0xe690bf},
+  {0xeba2, 0xe69398},
+  {0xeba3, 0xe88084},
+  {0xeba4, 0xe6afaa},
+  {0xeba5, 0xe6afb3},
+  {0xeba6, 0xe6afbd},
+  {0xeba7, 0xe6afb5},
+  {0xeba8, 0xe6afb9},
+  {0xeba9, 0xe6b085},
+  {0xebaa, 0xe6b087},
+  {0xebab, 0xe6b086},
+  {0xebac, 0xe6b08d},
+  {0xebad, 0xe6b095},
+  {0xebae, 0xe6b098},
+  {0xebaf, 0xe6b099},
+  {0xebb0, 0xe6b09a},
+  {0xebb1, 0xe6b0a1},
+  {0xebb2, 0xe6b0a9},
+  {0xebb3, 0xe6b0a4},
+  {0xebb4, 0xe6b0aa},
+  {0xebb5, 0xe6b0b2},
+  {0xebb6, 0xe694b5},
+  {0xebb7, 0xe69595},
+  {0xebb8, 0xe695ab},
+  {0xebb9, 0xe7898d},
+  {0xebba, 0xe78992},
+  {0xebbb, 0xe78996},
+  {0xebbc, 0xe788b0},
+  {0xebbd, 0xe899a2},
+  {0xebbe, 0xe58896},
+  {0xebbf, 0xe8829f},
+  {0xebc0, 0xe8829c},
+  {0xebc1, 0xe88293},
+  {0xebc2, 0xe882bc},
+  {0xebc3, 0xe69c8a},
+  {0xebc4, 0xe882bd},
+  {0xebc5, 0xe882b1},
+  {0xebc6, 0xe882ab},
+  {0xebc7, 0xe882ad},
+  {0xebc8, 0xe882b4},
+  {0xebc9, 0xe882b7},
+  {0xebca, 0xe883a7},
+  {0xebcb, 0xe883a8},
+  {0xebcc, 0xe883a9},
+  {0xebcd, 0xe883aa},
+  {0xebce, 0xe8839b},
+  {0xebcf, 0xe88382},
+  {0xebd0, 0xe88384},
+  {0xebd1, 0xe88399},
+  {0xebd2, 0xe8838d},
+  {0xebd3, 0xe88397},
+  {0xebd4, 0xe69c90},
+  {0xebd5, 0xe8839d},
+  {0xebd6, 0xe883ab},
+  {0xebd7, 0xe883b1},
+  {0xebd8, 0xe883b4},
+  {0xebd9, 0xe883ad},
+  {0xebda, 0xe8848d},
+  {0xebdb, 0xe8848e},
+  {0xebdc, 0xe883b2},
+  {0xebdd, 0xe883bc},
+  {0xebde, 0xe69c95},
+  {0xebdf, 0xe88492},
+  {0xebe0, 0xe8b19a},
+  {0xebe1, 0xe884b6},
+  {0xebe2, 0xe8849e},
+  {0xebe3, 0xe884ac},
+  {0xebe4, 0xe88498},
+  {0xebe5, 0xe884b2},
+  {0xebe6, 0xe88588},
+  {0xebe7, 0xe8858c},
+  {0xebe8, 0xe88593},
+  {0xebe9, 0xe885b4},
+  {0xebea, 0xe88599},
+  {0xebeb, 0xe8859a},
+  {0xebec, 0xe885b1},
+  {0xebed, 0xe885a0},
+  {0xebee, 0xe885a9},
+  {0xebef, 0xe885bc},
+  {0xebf0, 0xe885bd},
+  {0xebf1, 0xe885ad},
+  {0xebf2, 0xe885a7},
+  {0xebf3, 0xe5a18d},
+  {0xebf4, 0xe5aab5},
+  {0xebf5, 0xe88688},
+  {0xebf6, 0xe88682},
+  {0xebf7, 0xe88691},
+  {0xebf8, 0xe6bb95},
+  {0xebf9, 0xe886a3},
+  {0xebfa, 0xe886aa},
+  {0xebfb, 0xe8878c},
+  {0xebfc, 0xe69ca6},
+  {0xebfd, 0xe8878a},
+  {0xebfe, 0xe886bb},
+  {0xec40, 0xe99ca1},
+  {0xec41, 0xe99ca2},
+  {0xec42, 0xe99ca3},
+  {0xec43, 0xe99ca4},
+  {0xec44, 0xe99ca5},
+  {0xec45, 0xe99ca6},
+  {0xec46, 0xe99ca7},
+  {0xec47, 0xe99ca8},
+  {0xec48, 0xe99ca9},
+  {0xec49, 0xe99cab},
+  {0xec4a, 0xe99cac},
+  {0xec4b, 0xe99cae},
+  {0xec4c, 0xe99caf},
+  {0xec4d, 0xe99cb1},
+  {0xec4e, 0xe99cb3},
+  {0xec4f, 0xe99cb4},
+  {0xec50, 0xe99cb5},
+  {0xec51, 0xe99cb6},
+  {0xec52, 0xe99cb7},
+  {0xec53, 0xe99cba},
+  {0xec54, 0xe99cbb},
+  {0xec55, 0xe99cbc},
+  {0xec56, 0xe99cbd},
+  {0xec57, 0xe99cbf},
+  {0xec58, 0xe99d80},
+  {0xec59, 0xe99d81},
+  {0xec5a, 0xe99d82},
+  {0xec5b, 0xe99d83},
+  {0xec5c, 0xe99d84},
+  {0xec5d, 0xe99d85},
+  {0xec5e, 0xe99d86},
+  {0xec5f, 0xe99d87},
+  {0xec60, 0xe99d88},
+  {0xec61, 0xe99d89},
+  {0xec62, 0xe99d8a},
+  {0xec63, 0xe99d8b},
+  {0xec64, 0xe99d8c},
+  {0xec65, 0xe99d8d},
+  {0xec66, 0xe99d8e},
+  {0xec67, 0xe99d8f},
+  {0xec68, 0xe99d90},
+  {0xec69, 0xe99d91},
+  {0xec6a, 0xe99d94},
+  {0xec6b, 0xe99d95},
+  {0xec6c, 0xe99d97},
+  {0xec6d, 0xe99d98},
+  {0xec6e, 0xe99d9a},
+  {0xec6f, 0xe99d9c},
+  {0xec70, 0xe99d9d},
+  {0xec71, 0xe99d9f},
+  {0xec72, 0xe99da3},
+  {0xec73, 0xe99da4},
+  {0xec74, 0xe99da6},
+  {0xec75, 0xe99da7},
+  {0xec76, 0xe99da8},
+  {0xec77, 0xe99daa},
+  {0xec78, 0xe99dab},
+  {0xec79, 0xe99dac},
+  {0xec7a, 0xe99dad},
+  {0xec7b, 0xe99dae},
+  {0xec7c, 0xe99daf},
+  {0xec7d, 0xe99db0},
+  {0xec7e, 0xe99db1},
+  {0xec80, 0xe99db2},
+  {0xec81, 0xe99db5},
+  {0xec82, 0xe99db7},
+  {0xec83, 0xe99db8},
+  {0xec84, 0xe99db9},
+  {0xec85, 0xe99dba},
+  {0xec86, 0xe99dbb},
+  {0xec87, 0xe99dbd},
+  {0xec88, 0xe99dbe},
+  {0xec89, 0xe99dbf},
+  {0xec8a, 0xe99e80},
+  {0xec8b, 0xe99e81},
+  {0xec8c, 0xe99e82},
+  {0xec8d, 0xe99e83},
+  {0xec8e, 0xe99e84},
+  {0xec8f, 0xe99e86},
+  {0xec90, 0xe99e87},
+  {0xec91, 0xe99e88},
+  {0xec92, 0xe99e89},
+  {0xec93, 0xe99e8a},
+  {0xec94, 0xe99e8c},
+  {0xec95, 0xe99e8e},
+  {0xec96, 0xe99e8f},
+  {0xec97, 0xe99e90},
+  {0xec98, 0xe99e93},
+  {0xec99, 0xe99e95},
+  {0xec9a, 0xe99e96},
+  {0xec9b, 0xe99e97},
+  {0xec9c, 0xe99e99},
+  {0xec9d, 0xe99e9a},
+  {0xec9e, 0xe99e9b},
+  {0xec9f, 0xe99e9c},
+  {0xeca0, 0xe99e9d},
+  {0xeca1, 0xe88781},
+  {0xeca2, 0xe886a6},
+  {0xeca3, 0xe6aca4},
+  {0xeca4, 0xe6acb7},
+  {0xeca5, 0xe6acb9},
+  {0xeca6, 0xe6ad83},
+  {0xeca7, 0xe6ad86},
+  {0xeca8, 0xe6ad99},
+  {0xeca9, 0xe9a391},
+  {0xecaa, 0xe9a392},
+  {0xecab, 0xe9a393},
+  {0xecac, 0xe9a395},
+  {0xecad, 0xe9a399},
+  {0xecae, 0xe9a39a},
+  {0xecaf, 0xe6aeb3},
+  {0xecb0, 0xe5bd80},
+  {0xecb1, 0xe6af82},
+  {0xecb2, 0xe8a7b3},
+  {0xecb3, 0xe69690},
+  {0xecb4, 0xe9bd91},
+  {0xecb5, 0xe69693},
+  {0xecb6, 0xe696bc},
+  {0xecb7, 0xe69786},
+  {0xecb8, 0xe69784},
+  {0xecb9, 0xe69783},
+  {0xecba, 0xe6978c},
+  {0xecbb, 0xe6978e},
+  {0xecbc, 0xe69792},
+  {0xecbd, 0xe69796},
+  {0xecbe, 0xe78280},
+  {0xecbf, 0xe7829c},
+  {0xecc0, 0xe78296},
+  {0xecc1, 0xe7829d},
+  {0xecc2, 0xe782bb},
+  {0xecc3, 0xe78380},
+  {0xecc4, 0xe782b7},
+  {0xecc5, 0xe782ab},
+  {0xecc6, 0xe782b1},
+  {0xecc7, 0xe783a8},
+  {0xecc8, 0xe7838a},
+  {0xecc9, 0xe78490},
+  {0xecca, 0xe78493},
+  {0xeccb, 0xe78496},
+  {0xeccc, 0xe784af},
+  {0xeccd, 0xe784b1},
+  {0xecce, 0xe785b3},
+  {0xeccf, 0xe7859c},
+  {0xecd0, 0xe785a8},
+  {0xecd1, 0xe78585},
+  {0xecd2, 0xe785b2},
+  {0xecd3, 0xe7858a},
+  {0xecd4, 0xe785b8},
+  {0xecd5, 0xe785ba},
+  {0xecd6, 0xe78698},
+  {0xecd7, 0xe786b3},
+  {0xecd8, 0xe786b5},
+  {0xecd9, 0xe786a8},
+  {0xecda, 0xe786a0},
+  {0xecdb, 0xe787a0},
+  {0xecdc, 0xe78794},
+  {0xecdd, 0xe787a7},
+  {0xecde, 0xe787b9},
+  {0xecdf, 0xe7889d},
+  {0xece0, 0xe788a8},
+  {0xece1, 0xe781ac},
+  {0xece2, 0xe78498},
+  {0xece3, 0xe785a6},
+  {0xece4, 0xe786b9},
+  {0xece5, 0xe688be},
+  {0xece6, 0xe688bd},
+  {0xece7, 0xe68983},
+  {0xece8, 0xe68988},
+  {0xece9, 0xe68989},
+  {0xecea, 0xe7a4bb},
+  {0xeceb, 0xe7a580},
+  {0xecec, 0xe7a586},
+  {0xeced, 0xe7a589},
+  {0xecee, 0xe7a59b},
+  {0xecef, 0xe7a59c},
+  {0xecf0, 0xe7a593},
+  {0xecf1, 0xe7a59a},
+  {0xecf2, 0xe7a5a2},
+  {0xecf3, 0xe7a597},
+  {0xecf4, 0xe7a5a0},
+  {0xecf5, 0xe7a5af},
+  {0xecf6, 0xe7a5a7},
+  {0xecf7, 0xe7a5ba},
+  {0xecf8, 0xe7a685},
+  {0xecf9, 0xe7a68a},
+  {0xecfa, 0xe7a69a},
+  {0xecfb, 0xe7a6a7},
+  {0xecfc, 0xe7a6b3},
+  {0xecfd, 0xe5bf91},
+  {0xecfe, 0xe5bf90},
+  {0xed40, 0xe99e9e},
+  {0xed41, 0xe99e9f},
+  {0xed42, 0xe99ea1},
+  {0xed43, 0xe99ea2},
+  {0xed44, 0xe99ea4},
+  {0xed45, 0xe99ea5},
+  {0xed46, 0xe99ea6},
+  {0xed47, 0xe99ea7},
+  {0xed48, 0xe99ea8},
+  {0xed49, 0xe99ea9},
+  {0xed4a, 0xe99eaa},
+  {0xed4b, 0xe99eac},
+  {0xed4c, 0xe99eae},
+  {0xed4d, 0xe99eb0},
+  {0xed4e, 0xe99eb1},
+  {0xed4f, 0xe99eb3},
+  {0xed50, 0xe99eb5},
+  {0xed51, 0xe99eb6},
+  {0xed52, 0xe99eb7},
+  {0xed53, 0xe99eb8},
+  {0xed54, 0xe99eb9},
+  {0xed55, 0xe99eba},
+  {0xed56, 0xe99ebb},
+  {0xed57, 0xe99ebc},
+  {0xed58, 0xe99ebd},
+  {0xed59, 0xe99ebe},
+  {0xed5a, 0xe99ebf},
+  {0xed5b, 0xe99f80},
+  {0xed5c, 0xe99f81},
+  {0xed5d, 0xe99f82},
+  {0xed5e, 0xe99f83},
+  {0xed5f, 0xe99f84},
+  {0xed60, 0xe99f85},
+  {0xed61, 0xe99f86},
+  {0xed62, 0xe99f87},
+  {0xed63, 0xe99f88},
+  {0xed64, 0xe99f89},
+  {0xed65, 0xe99f8a},
+  {0xed66, 0xe99f8b},
+  {0xed67, 0xe99f8c},
+  {0xed68, 0xe99f8d},
+  {0xed69, 0xe99f8e},
+  {0xed6a, 0xe99f8f},
+  {0xed6b, 0xe99f90},
+  {0xed6c, 0xe99f91},
+  {0xed6d, 0xe99f92},
+  {0xed6e, 0xe99f93},
+  {0xed6f, 0xe99f94},
+  {0xed70, 0xe99f95},
+  {0xed71, 0xe99f96},
+  {0xed72, 0xe99f97},
+  {0xed73, 0xe99f98},
+  {0xed74, 0xe99f99},
+  {0xed75, 0xe99f9a},
+  {0xed76, 0xe99f9b},
+  {0xed77, 0xe99f9c},
+  {0xed78, 0xe99f9d},
+  {0xed79, 0xe99f9e},
+  {0xed7a, 0xe99f9f},
+  {0xed7b, 0xe99fa0},
+  {0xed7c, 0xe99fa1},
+  {0xed7d, 0xe99fa2},
+  {0xed7e, 0xe99fa3},
+  {0xed80, 0xe99fa4},
+  {0xed81, 0xe99fa5},
+  {0xed82, 0xe99fa8},
+  {0xed83, 0xe99fae},
+  {0xed84, 0xe99faf},
+  {0xed85, 0xe99fb0},
+  {0xed86, 0xe99fb1},
+  {0xed87, 0xe99fb2},
+  {0xed88, 0xe99fb4},
+  {0xed89, 0xe99fb7},
+  {0xed8a, 0xe99fb8},
+  {0xed8b, 0xe99fb9},
+  {0xed8c, 0xe99fba},
+  {0xed8d, 0xe99fbb},
+  {0xed8e, 0xe99fbc},
+  {0xed8f, 0xe99fbd},
+  {0xed90, 0xe99fbe},
+  {0xed91, 0xe99fbf},
+  {0xed92, 0xe9a080},
+  {0xed93, 0xe9a081},
+  {0xed94, 0xe9a082},
+  {0xed95, 0xe9a083},
+  {0xed96, 0xe9a084},
+  {0xed97, 0xe9a085},
+  {0xed98, 0xe9a086},
+  {0xed99, 0xe9a087},
+  {0xed9a, 0xe9a088},
+  {0xed9b, 0xe9a089},
+  {0xed9c, 0xe9a08a},
+  {0xed9d, 0xe9a08b},
+  {0xed9e, 0xe9a08c},
+  {0xed9f, 0xe9a08d},
+  {0xeda0, 0xe9a08e},
+  {0xeda1, 0xe680bc},
+  {0xeda2, 0xe6819d},
+  {0xeda3, 0xe6819a},
+  {0xeda4, 0xe681a7},
+  {0xeda5, 0xe68181},
+  {0xeda6, 0xe68199},
+  {0xeda7, 0xe681a3},
+  {0xeda8, 0xe682ab},
+  {0xeda9, 0xe68486},
+  {0xedaa, 0xe6848d},
+  {0xedab, 0xe6859d},
+  {0xedac, 0xe686a9},
+  {0xedad, 0xe6869d},
+  {0xedae, 0xe6878b},
+  {0xedaf, 0xe68791},
+  {0xedb0, 0xe68886},
+  {0xedb1, 0xe88280},
+  {0xedb2, 0xe881bf},
+  {0xedb3, 0xe6b293},
+  {0xedb4, 0xe6b3b6},
+  {0xedb5, 0xe6b7bc},
+  {0xedb6, 0xe79fb6},
+  {0xedb7, 0xe79fb8},
+  {0xedb8, 0xe7a080},
+  {0xedb9, 0xe7a089},
+  {0xedba, 0xe7a097},
+  {0xedbb, 0xe7a098},
+  {0xedbc, 0xe7a091},
+  {0xedbd, 0xe696ab},
+  {0xedbe, 0xe7a0ad},
+  {0xedbf, 0xe7a09c},
+  {0xedc0, 0xe7a09d},
+  {0xedc1, 0xe7a0b9},
+  {0xedc2, 0xe7a0ba},
+  {0xedc3, 0xe7a0bb},
+  {0xedc4, 0xe7a09f},
+  {0xedc5, 0xe7a0bc},
+  {0xedc6, 0xe7a0a5},
+  {0xedc7, 0xe7a0ac},
+  {0xedc8, 0xe7a0a3},
+  {0xedc9, 0xe7a0a9},
+  {0xedca, 0xe7a18e},
+  {0xedcb, 0xe7a1ad},
+  {0xedcc, 0xe7a196},
+  {0xedcd, 0xe7a197},
+  {0xedce, 0xe7a0a6},
+  {0xedcf, 0xe7a190},
+  {0xedd0, 0xe7a187},
+  {0xedd1, 0xe7a18c},
+  {0xedd2, 0xe7a1aa},
+  {0xedd3, 0xe7a29b},
+  {0xedd4, 0xe7a293},
+  {0xedd5, 0xe7a29a},
+  {0xedd6, 0xe7a287},
+  {0xedd7, 0xe7a29c},
+  {0xedd8, 0xe7a2a1},
+  {0xedd9, 0xe7a2a3},
+  {0xedda, 0xe7a2b2},
+  {0xeddb, 0xe7a2b9},
+  {0xeddc, 0xe7a2a5},
+  {0xeddd, 0xe7a394},
+  {0xedde, 0xe7a399},
+  {0xeddf, 0xe7a389},
+  {0xede0, 0xe7a3ac},
+  {0xede1, 0xe7a3b2},
+  {0xede2, 0xe7a485},
+  {0xede3, 0xe7a3b4},
+  {0xede4, 0xe7a493},
+  {0xede5, 0xe7a4a4},
+  {0xede6, 0xe7a49e},
+  {0xede7, 0xe7a4b4},
+  {0xede8, 0xe9be9b},
+  {0xede9, 0xe9bbb9},
+  {0xedea, 0xe9bbbb},
+  {0xedeb, 0xe9bbbc},
+  {0xedec, 0xe79bb1},
+  {0xeded, 0xe79c84},
+  {0xedee, 0xe79c8d},
+  {0xedef, 0xe79bb9},
+  {0xedf0, 0xe79c87},
+  {0xedf1, 0xe79c88},
+  {0xedf2, 0xe79c9a},
+  {0xedf3, 0xe79ca2},
+  {0xedf4, 0xe79c99},
+  {0xedf5, 0xe79cad},
+  {0xedf6, 0xe79ca6},
+  {0xedf7, 0xe79cb5},
+  {0xedf8, 0xe79cb8},
+  {0xedf9, 0xe79d90},
+  {0xedfa, 0xe79d91},
+  {0xedfb, 0xe79d87},
+  {0xedfc, 0xe79d83},
+  {0xedfd, 0xe79d9a},
+  {0xedfe, 0xe79da8},
+  {0xee40, 0xe9a08f},
+  {0xee41, 0xe9a090},
+  {0xee42, 0xe9a091},
+  {0xee43, 0xe9a092},
+  {0xee44, 0xe9a093},
+  {0xee45, 0xe9a094},
+  {0xee46, 0xe9a095},
+  {0xee47, 0xe9a096},
+  {0xee48, 0xe9a097},
+  {0xee49, 0xe9a098},
+  {0xee4a, 0xe9a099},
+  {0xee4b, 0xe9a09a},
+  {0xee4c, 0xe9a09b},
+  {0xee4d, 0xe9a09c},
+  {0xee4e, 0xe9a09d},
+  {0xee4f, 0xe9a09e},
+  {0xee50, 0xe9a09f},
+  {0xee51, 0xe9a0a0},
+  {0xee52, 0xe9a0a1},
+  {0xee53, 0xe9a0a2},
+  {0xee54, 0xe9a0a3},
+  {0xee55, 0xe9a0a4},
+  {0xee56, 0xe9a0a5},
+  {0xee57, 0xe9a0a6},
+  {0xee58, 0xe9a0a7},
+  {0xee59, 0xe9a0a8},
+  {0xee5a, 0xe9a0a9},
+  {0xee5b, 0xe9a0aa},
+  {0xee5c, 0xe9a0ab},
+  {0xee5d, 0xe9a0ac},
+  {0xee5e, 0xe9a0ad},
+  {0xee5f, 0xe9a0ae},
+  {0xee60, 0xe9a0af},
+  {0xee61, 0xe9a0b0},
+  {0xee62, 0xe9a0b1},
+  {0xee63, 0xe9a0b2},
+  {0xee64, 0xe9a0b3},
+  {0xee65, 0xe9a0b4},
+  {0xee66, 0xe9a0b5},
+  {0xee67, 0xe9a0b6},
+  {0xee68, 0xe9a0b7},
+  {0xee69, 0xe9a0b8},
+  {0xee6a, 0xe9a0b9},
+  {0xee6b, 0xe9a0ba},
+  {0xee6c, 0xe9a0bb},
+  {0xee6d, 0xe9a0bc},
+  {0xee6e, 0xe9a0bd},
+  {0xee6f, 0xe9a0be},
+  {0xee70, 0xe9a0bf},
+  {0xee71, 0xe9a180},
+  {0xee72, 0xe9a181},
+  {0xee73, 0xe9a182},
+  {0xee74, 0xe9a183},
+  {0xee75, 0xe9a184},
+  {0xee76, 0xe9a185},
+  {0xee77, 0xe9a186},
+  {0xee78, 0xe9a187},
+  {0xee79, 0xe9a188},
+  {0xee7a, 0xe9a189},
+  {0xee7b, 0xe9a18a},
+  {0xee7c, 0xe9a18b},
+  {0xee7d, 0xe9a18c},
+  {0xee7e, 0xe9a18d},
+  {0xee80, 0xe9a18e},
+  {0xee81, 0xe9a18f},
+  {0xee82, 0xe9a190},
+  {0xee83, 0xe9a191},
+  {0xee84, 0xe9a192},
+  {0xee85, 0xe9a193},
+  {0xee86, 0xe9a194},
+  {0xee87, 0xe9a195},
+  {0xee88, 0xe9a196},
+  {0xee89, 0xe9a197},
+  {0xee8a, 0xe9a198},
+  {0xee8b, 0xe9a199},
+  {0xee8c, 0xe9a19a},
+  {0xee8d, 0xe9a19b},
+  {0xee8e, 0xe9a19c},
+  {0xee8f, 0xe9a19d},
+  {0xee90, 0xe9a19e},
+  {0xee91, 0xe9a19f},
+  {0xee92, 0xe9a1a0},
+  {0xee93, 0xe9a1a1},
+  {0xee94, 0xe9a1a2},
+  {0xee95, 0xe9a1a3},
+  {0xee96, 0xe9a1a4},
+  {0xee97, 0xe9a1a5},
+  {0xee98, 0xe9a1a6},
+  {0xee99, 0xe9a1a7},
+  {0xee9a, 0xe9a1a8},
+  {0xee9b, 0xe9a1a9},
+  {0xee9c, 0xe9a1aa},
+  {0xee9d, 0xe9a1ab},
+  {0xee9e, 0xe9a1ac},
+  {0xee9f, 0xe9a1ad},
+  {0xeea0, 0xe9a1ae},
+  {0xeea1, 0xe79da2},
+  {0xeea2, 0xe79da5},
+  {0xeea3, 0xe79dbf},
+  {0xeea4, 0xe79e8d},
+  {0xeea5, 0xe79dbd},
+  {0xeea6, 0xe79e80},
+  {0xeea7, 0xe79e8c},
+  {0xeea8, 0xe79e91},
+  {0xeea9, 0xe79e9f},
+  {0xeeaa, 0xe79ea0},
+  {0xeeab, 0xe79eb0},
+  {0xeeac, 0xe79eb5},
+  {0xeead, 0xe79ebd},
+  {0xeeae, 0xe794ba},
+  {0xeeaf, 0xe79580},
+  {0xeeb0, 0xe7958e},
+  {0xeeb1, 0xe7958b},
+  {0xeeb2, 0xe79588},
+  {0xeeb3, 0xe7959b},
+  {0xeeb4, 0xe795b2},
+  {0xeeb5, 0xe795b9},
+  {0xeeb6, 0xe79683},
+  {0xeeb7, 0xe7bd98},
+  {0xeeb8, 0xe7bda1},
+  {0xeeb9, 0xe7bd9f},
+  {0xeeba, 0xe8a988},
+  {0xeebb, 0xe7bda8},
+  {0xeebc, 0xe7bdb4},
+  {0xeebd, 0xe7bdb1},
+  {0xeebe, 0xe7bdb9},
+  {0xeebf, 0xe7be81},
+  {0xeec0, 0xe7bdbe},
+  {0xeec1, 0xe79b8d},
+  {0xeec2, 0xe79ba5},
+  {0xeec3, 0xe8a0b2},
+  {0xeec4, 0xe99285},
+  {0xeec5, 0xe99286},
+  {0xeec6, 0xe99287},
+  {0xeec7, 0xe9928b},
+  {0xeec8, 0xe9928a},
+  {0xeec9, 0xe9928c},
+  {0xeeca, 0xe9928d},
+  {0xeecb, 0xe9928f},
+  {0xeecc, 0xe99290},
+  {0xeecd, 0xe99294},
+  {0xeece, 0xe99297},
+  {0xeecf, 0xe99295},
+  {0xeed0, 0xe9929a},
+  {0xeed1, 0xe9929b},
+  {0xeed2, 0xe9929c},
+  {0xeed3, 0xe992a3},
+  {0xeed4, 0xe992a4},
+  {0xeed5, 0xe992ab},
+  {0xeed6, 0xe992aa},
+  {0xeed7, 0xe992ad},
+  {0xeed8, 0xe992ac},
+  {0xeed9, 0xe992af},
+  {0xeeda, 0xe992b0},
+  {0xeedb, 0xe992b2},
+  {0xeedc, 0xe992b4},
+  {0xeedd, 0xe992b6},
+  {0xeede, 0xe992b7},
+  {0xeedf, 0xe992b8},
+  {0xeee0, 0xe992b9},
+  {0xeee1, 0xe992ba},
+  {0xeee2, 0xe992bc},
+  {0xeee3, 0xe992bd},
+  {0xeee4, 0xe992bf},
+  {0xeee5, 0xe99384},
+  {0xeee6, 0xe99388},
+  {0xeee7, 0xe99389},
+  {0xeee8, 0xe9938a},
+  {0xeee9, 0xe9938b},
+  {0xeeea, 0xe9938c},
+  {0xeeeb, 0xe9938d},
+  {0xeeec, 0xe9938e},
+  {0xeeed, 0xe99390},
+  {0xeeee, 0xe99391},
+  {0xeeef, 0xe99392},
+  {0xeef0, 0xe99395},
+  {0xeef1, 0xe99396},
+  {0xeef2, 0xe99397},
+  {0xeef3, 0xe99399},
+  {0xeef4, 0xe99398},
+  {0xeef5, 0xe9939b},
+  {0xeef6, 0xe9939e},
+  {0xeef7, 0xe9939f},
+  {0xeef8, 0xe993a0},
+  {0xeef9, 0xe993a2},
+  {0xeefa, 0xe993a4},
+  {0xeefb, 0xe993a5},
+  {0xeefc, 0xe993a7},
+  {0xeefd, 0xe993a8},
+  {0xeefe, 0xe993aa},
+  {0xef40, 0xe9a1af},
+  {0xef41, 0xe9a1b0},
+  {0xef42, 0xe9a1b1},
+  {0xef43, 0xe9a1b2},
+  {0xef44, 0xe9a1b3},
+  {0xef45, 0xe9a1b4},
+  {0xef46, 0xe9a28b},
+  {0xef47, 0xe9a28e},
+  {0xef48, 0xe9a292},
+  {0xef49, 0xe9a295},
+  {0xef4a, 0xe9a299},
+  {0xef4b, 0xe9a2a3},
+  {0xef4c, 0xe9a2a8},
+  {0xef4d, 0xe9a2a9},
+  {0xef4e, 0xe9a2aa},
+  {0xef4f, 0xe9a2ab},
+  {0xef50, 0xe9a2ac},
+  {0xef51, 0xe9a2ad},
+  {0xef52, 0xe9a2ae},
+  {0xef53, 0xe9a2af},
+  {0xef54, 0xe9a2b0},
+  {0xef55, 0xe9a2b1},
+  {0xef56, 0xe9a2b2},
+  {0xef57, 0xe9a2b3},
+  {0xef58, 0xe9a2b4},
+  {0xef59, 0xe9a2b5},
+  {0xef5a, 0xe9a2b6},
+  {0xef5b, 0xe9a2b7},
+  {0xef5c, 0xe9a2b8},
+  {0xef5d, 0xe9a2b9},
+  {0xef5e, 0xe9a2ba},
+  {0xef5f, 0xe9a2bb},
+  {0xef60, 0xe9a2bc},
+  {0xef61, 0xe9a2bd},
+  {0xef62, 0xe9a2be},
+  {0xef63, 0xe9a2bf},
+  {0xef64, 0xe9a380},
+  {0xef65, 0xe9a381},
+  {0xef66, 0xe9a382},
+  {0xef67, 0xe9a383},
+  {0xef68, 0xe9a384},
+  {0xef69, 0xe9a385},
+  {0xef6a, 0xe9a386},
+  {0xef6b, 0xe9a387},
+  {0xef6c, 0xe9a388},
+  {0xef6d, 0xe9a389},
+  {0xef6e, 0xe9a38a},
+  {0xef6f, 0xe9a38b},
+  {0xef70, 0xe9a38c},
+  {0xef71, 0xe9a38d},
+  {0xef72, 0xe9a38f},
+  {0xef73, 0xe9a390},
+  {0xef74, 0xe9a394},
+  {0xef75, 0xe9a396},
+  {0xef76, 0xe9a397},
+  {0xef77, 0xe9a39b},
+  {0xef78, 0xe9a39c},
+  {0xef79, 0xe9a39d},
+  {0xef7a, 0xe9a3a0},
+  {0xef7b, 0xe9a3a1},
+  {0xef7c, 0xe9a3a2},
+  {0xef7d, 0xe9a3a3},
+  {0xef7e, 0xe9a3a4},
+  {0xef80, 0xe9a3a5},
+  {0xef81, 0xe9a3a6},
+  {0xef82, 0xe9a3a9},
+  {0xef83, 0xe9a3aa},
+  {0xef84, 0xe9a3ab},
+  {0xef85, 0xe9a3ac},
+  {0xef86, 0xe9a3ad},
+  {0xef87, 0xe9a3ae},
+  {0xef88, 0xe9a3af},
+  {0xef89, 0xe9a3b0},
+  {0xef8a, 0xe9a3b1},
+  {0xef8b, 0xe9a3b2},
+  {0xef8c, 0xe9a3b3},
+  {0xef8d, 0xe9a3b4},
+  {0xef8e, 0xe9a3b5},
+  {0xef8f, 0xe9a3b6},
+  {0xef90, 0xe9a3b7},
+  {0xef91, 0xe9a3b8},
+  {0xef92, 0xe9a3b9},
+  {0xef93, 0xe9a3ba},
+  {0xef94, 0xe9a3bb},
+  {0xef95, 0xe9a3bc},
+  {0xef96, 0xe9a3bd},
+  {0xef97, 0xe9a3be},
+  {0xef98, 0xe9a3bf},
+  {0xef99, 0xe9a480},
+  {0xef9a, 0xe9a481},
+  {0xef9b, 0xe9a482},
+  {0xef9c, 0xe9a483},
+  {0xef9d, 0xe9a484},
+  {0xef9e, 0xe9a485},
+  {0xef9f, 0xe9a486},
+  {0xefa0, 0xe9a487},
+  {0xefa1, 0xe993a9},
+  {0xefa2, 0xe993ab},
+  {0xefa3, 0xe993ae},
+  {0xefa4, 0xe993af},
+  {0xefa5, 0xe993b3},
+  {0xefa6, 0xe993b4},
+  {0xefa7, 0xe993b5},
+  {0xefa8, 0xe993b7},
+  {0xefa9, 0xe993b9},
+  {0xefaa, 0xe993bc},
+  {0xefab, 0xe993bd},
+  {0xefac, 0xe993bf},
+  {0xefad, 0xe99483},
+  {0xefae, 0xe99482},
+  {0xefaf, 0xe99486},
+  {0xefb0, 0xe99487},
+  {0xefb1, 0xe99489},
+  {0xefb2, 0xe9948a},
+  {0xefb3, 0xe9948d},
+  {0xefb4, 0xe9948e},
+  {0xefb5, 0xe9948f},
+  {0xefb6, 0xe99492},
+  {0xefb7, 0xe99493},
+  {0xefb8, 0xe99494},
+  {0xefb9, 0xe99495},
+  {0xefba, 0xe99496},
+  {0xefbb, 0xe99498},
+  {0xefbc, 0xe9949b},
+  {0xefbd, 0xe9949d},
+  {0xefbe, 0xe9949e},
+  {0xefbf, 0xe9949f},
+  {0xefc0, 0xe994a2},
+  {0xefc1, 0xe994aa},
+  {0xefc2, 0xe994ab},
+  {0xefc3, 0xe994a9},
+  {0xefc4, 0xe994ac},
+  {0xefc5, 0xe994b1},
+  {0xefc6, 0xe994b2},
+  {0xefc7, 0xe994b4},
+  {0xefc8, 0xe994b6},
+  {0xefc9, 0xe994b7},
+  {0xefca, 0xe994b8},
+  {0xefcb, 0xe994bc},
+  {0xefcc, 0xe994be},
+  {0xefcd, 0xe994bf},
+  {0xefce, 0xe99582},
+  {0xefcf, 0xe994b5},
+  {0xefd0, 0xe99584},
+  {0xefd1, 0xe99585},
+  {0xefd2, 0xe99586},
+  {0xefd3, 0xe99589},
+  {0xefd4, 0xe9958c},
+  {0xefd5, 0xe9958e},
+  {0xefd6, 0xe9958f},
+  {0xefd7, 0xe99592},
+  {0xefd8, 0xe99593},
+  {0xefd9, 0xe99594},
+  {0xefda, 0xe99596},
+  {0xefdb, 0xe99597},
+  {0xefdc, 0xe99598},
+  {0xefdd, 0xe99599},
+  {0xefde, 0xe9959b},
+  {0xefdf, 0xe9959e},
+  {0xefe0, 0xe9959f},
+  {0xefe1, 0xe9959d},
+  {0xefe2, 0xe995a1},
+  {0xefe3, 0xe995a2},
+  {0xefe4, 0xe995a4},
+  {0xefe5, 0xe995a5},
+  {0xefe6, 0xe995a6},
+  {0xefe7, 0xe995a7},
+  {0xefe8, 0xe995a8},
+  {0xefe9, 0xe995a9},
+  {0xefea, 0xe995aa},
+  {0xefeb, 0xe995ab},
+  {0xefec, 0xe995ac},
+  {0xefed, 0xe995af},
+  {0xefee, 0xe995b1},
+  {0xefef, 0xe995b2},
+  {0xeff0, 0xe995b3},
+  {0xeff1, 0xe994ba},
+  {0xeff2, 0xe79fa7},
+  {0xeff3, 0xe79fac},
+  {0xeff4, 0xe99b89},
+  {0xeff5, 0xe7a795},
+  {0xeff6, 0xe7a7ad},
+  {0xeff7, 0xe7a7a3},
+  {0xeff8, 0xe7a7ab},
+  {0xeff9, 0xe7a886},
+  {0xeffa, 0xe5b587},
+  {0xeffb, 0xe7a883},
+  {0xeffc, 0xe7a882},
+  {0xeffd, 0xe7a89e},
+  {0xeffe, 0xe7a894},
+  {0xf040, 0xe9a488},
+  {0xf041, 0xe9a489},
+  {0xf042, 0xe9a48a},
+  {0xf043, 0xe9a48b},
+  {0xf044, 0xe9a48c},
+  {0xf045, 0xe9a48e},
+  {0xf046, 0xe9a48f},
+  {0xf047, 0xe9a491},
+  {0xf048, 0xe9a492},
+  {0xf049, 0xe9a493},
+  {0xf04a, 0xe9a494},
+  {0xf04b, 0xe9a495},
+  {0xf04c, 0xe9a496},
+  {0xf04d, 0xe9a497},
+  {0xf04e, 0xe9a498},
+  {0xf04f, 0xe9a499},
+  {0xf050, 0xe9a49a},
+  {0xf051, 0xe9a49b},
+  {0xf052, 0xe9a49c},
+  {0xf053, 0xe9a49d},
+  {0xf054, 0xe9a49e},
+  {0xf055, 0xe9a49f},
+  {0xf056, 0xe9a4a0},
+  {0xf057, 0xe9a4a1},
+  {0xf058, 0xe9a4a2},
+  {0xf059, 0xe9a4a3},
+  {0xf05a, 0xe9a4a4},
+  {0xf05b, 0xe9a4a5},
+  {0xf05c, 0xe9a4a6},
+  {0xf05d, 0xe9a4a7},
+  {0xf05e, 0xe9a4a8},
+  {0xf05f, 0xe9a4a9},
+  {0xf060, 0xe9a4aa},
+  {0xf061, 0xe9a4ab},
+  {0xf062, 0xe9a4ac},
+  {0xf063, 0xe9a4ad},
+  {0xf064, 0xe9a4af},
+  {0xf065, 0xe9a4b0},
+  {0xf066, 0xe9a4b1},
+  {0xf067, 0xe9a4b2},
+  {0xf068, 0xe9a4b3},
+  {0xf069, 0xe9a4b4},
+  {0xf06a, 0xe9a4b5},
+  {0xf06b, 0xe9a4b6},
+  {0xf06c, 0xe9a4b7},
+  {0xf06d, 0xe9a4b8},
+  {0xf06e, 0xe9a4b9},
+  {0xf06f, 0xe9a4ba},
+  {0xf070, 0xe9a4bb},
+  {0xf071, 0xe9a4bc},
+  {0xf072, 0xe9a4bd},
+  {0xf073, 0xe9a4be},
+  {0xf074, 0xe9a4bf},
+  {0xf075, 0xe9a580},
+  {0xf076, 0xe9a581},
+  {0xf077, 0xe9a582},
+  {0xf078, 0xe9a583},
+  {0xf079, 0xe9a584},
+  {0xf07a, 0xe9a585},
+  {0xf07b, 0xe9a586},
+  {0xf07c, 0xe9a587},
+  {0xf07d, 0xe9a588},
+  {0xf07e, 0xe9a589},
+  {0xf080, 0xe9a58a},
+  {0xf081, 0xe9a58b},
+  {0xf082, 0xe9a58c},
+  {0xf083, 0xe9a58d},
+  {0xf084, 0xe9a58e},
+  {0xf085, 0xe9a58f},
+  {0xf086, 0xe9a590},
+  {0xf087, 0xe9a591},
+  {0xf088, 0xe9a592},
+  {0xf089, 0xe9a593},
+  {0xf08a, 0xe9a596},
+  {0xf08b, 0xe9a597},
+  {0xf08c, 0xe9a598},
+  {0xf08d, 0xe9a599},
+  {0xf08e, 0xe9a59a},
+  {0xf08f, 0xe9a59b},
+  {0xf090, 0xe9a59c},
+  {0xf091, 0xe9a59d},
+  {0xf092, 0xe9a59e},
+  {0xf093, 0xe9a59f},
+  {0xf094, 0xe9a5a0},
+  {0xf095, 0xe9a5a1},
+  {0xf096, 0xe9a5a2},
+  {0xf097, 0xe9a5a4},
+  {0xf098, 0xe9a5a6},
+  {0xf099, 0xe9a5b3},
+  {0xf09a, 0xe9a5b8},
+  {0xf09b, 0xe9a5b9},
+  {0xf09c, 0xe9a5bb},
+  {0xf09d, 0xe9a5be},
+  {0xf09e, 0xe9a682},
+  {0xf09f, 0xe9a683},
+  {0xf0a0, 0xe9a689},
+  {0xf0a1, 0xe7a8b9},
+  {0xf0a2, 0xe7a8b7},
+  {0xf0a3, 0xe7a991},
+  {0xf0a4, 0xe9bb8f},
+  {0xf0a5, 0xe9a6a5},
+  {0xf0a6, 0xe7a9b0},
+  {0xf0a7, 0xe79a88},
+  {0xf0a8, 0xe79a8e},
+  {0xf0a9, 0xe79a93},
+  {0xf0aa, 0xe79a99},
+  {0xf0ab, 0xe79aa4},
+  {0xf0ac, 0xe7939e},
+  {0xf0ad, 0xe793a0},
+  {0xf0ae, 0xe794ac},
+  {0xf0af, 0xe9b8a0},
+  {0xf0b0, 0xe9b8a2},
+  {0xf0b1, 0xe9b8a8},
+  {0xf0b2, 0xe9b8a9},
+  {0xf0b3, 0xe9b8aa},
+  {0xf0b4, 0xe9b8ab},
+  {0xf0b5, 0xe9b8ac},
+  {0xf0b6, 0xe9b8b2},
+  {0xf0b7, 0xe9b8b1},
+  {0xf0b8, 0xe9b8b6},
+  {0xf0b9, 0xe9b8b8},
+  {0xf0ba, 0xe9b8b7},
+  {0xf0bb, 0xe9b8b9},
+  {0xf0bc, 0xe9b8ba},
+  {0xf0bd, 0xe9b8be},
+  {0xf0be, 0xe9b981},
+  {0xf0bf, 0xe9b982},
+  {0xf0c0, 0xe9b984},
+  {0xf0c1, 0xe9b986},
+  {0xf0c2, 0xe9b987},
+  {0xf0c3, 0xe9b988},
+  {0xf0c4, 0xe9b989},
+  {0xf0c5, 0xe9b98b},
+  {0xf0c6, 0xe9b98c},
+  {0xf0c7, 0xe9b98e},
+  {0xf0c8, 0xe9b991},
+  {0xf0c9, 0xe9b995},
+  {0xf0ca, 0xe9b997},
+  {0xf0cb, 0xe9b99a},
+  {0xf0cc, 0xe9b99b},
+  {0xf0cd, 0xe9b99c},
+  {0xf0ce, 0xe9b99e},
+  {0xf0cf, 0xe9b9a3},
+  {0xf0d0, 0xe9b9a6},
+  {0xf0d1, 0xe9b9a7},
+  {0xf0d2, 0xe9b9a8},
+  {0xf0d3, 0xe9b9a9},
+  {0xf0d4, 0xe9b9aa},
+  {0xf0d5, 0xe9b9ab},
+  {0xf0d6, 0xe9b9ac},
+  {0xf0d7, 0xe9b9b1},
+  {0xf0d8, 0xe9b9ad},
+  {0xf0d9, 0xe9b9b3},
+  {0xf0da, 0xe79692},
+  {0xf0db, 0xe79694},
+  {0xf0dc, 0xe79696},
+  {0xf0dd, 0xe796a0},
+  {0xf0de, 0xe7969d},
+  {0xf0df, 0xe796ac},
+  {0xf0e0, 0xe796a3},
+  {0xf0e1, 0xe796b3},
+  {0xf0e2, 0xe796b4},
+  {0xf0e3, 0xe796b8},
+  {0xf0e4, 0xe79784},
+  {0xf0e5, 0xe796b1},
+  {0xf0e6, 0xe796b0},
+  {0xf0e7, 0xe79783},
+  {0xf0e8, 0xe79782},
+  {0xf0e9, 0xe79796},
+  {0xf0ea, 0xe7978d},
+  {0xf0eb, 0xe797a3},
+  {0xf0ec, 0xe797a8},
+  {0xf0ed, 0xe797a6},
+  {0xf0ee, 0xe797a4},
+  {0xf0ef, 0xe797ab},
+  {0xf0f0, 0xe797a7},
+  {0xf0f1, 0xe79883},
+  {0xf0f2, 0xe797b1},
+  {0xf0f3, 0xe797bc},
+  {0xf0f4, 0xe797bf},
+  {0xf0f5, 0xe79890},
+  {0xf0f6, 0xe79880},
+  {0xf0f7, 0xe79885},
+  {0xf0f8, 0xe7988c},
+  {0xf0f9, 0xe79897},
+  {0xf0fa, 0xe7988a},
+  {0xf0fb, 0xe798a5},
+  {0xf0fc, 0xe79898},
+  {0xf0fd, 0xe79895},
+  {0xf0fe, 0xe79899},
+  {0xf140, 0xe9a68c},
+  {0xf141, 0xe9a68e},
+  {0xf142, 0xe9a69a},
+  {0xf143, 0xe9a69b},
+  {0xf144, 0xe9a69c},
+  {0xf145, 0xe9a69d},
+  {0xf146, 0xe9a69e},
+  {0xf147, 0xe9a69f},
+  {0xf148, 0xe9a6a0},
+  {0xf149, 0xe9a6a1},
+  {0xf14a, 0xe9a6a2},
+  {0xf14b, 0xe9a6a3},
+  {0xf14c, 0xe9a6a4},
+  {0xf14d, 0xe9a6a6},
+  {0xf14e, 0xe9a6a7},
+  {0xf14f, 0xe9a6a9},
+  {0xf150, 0xe9a6aa},
+  {0xf151, 0xe9a6ab},
+  {0xf152, 0xe9a6ac},
+  {0xf153, 0xe9a6ad},
+  {0xf154, 0xe9a6ae},
+  {0xf155, 0xe9a6af},
+  {0xf156, 0xe9a6b0},
+  {0xf157, 0xe9a6b1},
+  {0xf158, 0xe9a6b2},
+  {0xf159, 0xe9a6b3},
+  {0xf15a, 0xe9a6b4},
+  {0xf15b, 0xe9a6b5},
+  {0xf15c, 0xe9a6b6},
+  {0xf15d, 0xe9a6b7},
+  {0xf15e, 0xe9a6b8},
+  {0xf15f, 0xe9a6b9},
+  {0xf160, 0xe9a6ba},
+  {0xf161, 0xe9a6bb},
+  {0xf162, 0xe9a6bc},
+  {0xf163, 0xe9a6bd},
+  {0xf164, 0xe9a6be},
+  {0xf165, 0xe9a6bf},
+  {0xf166, 0xe9a780},
+  {0xf167, 0xe9a781},
+  {0xf168, 0xe9a782},
+  {0xf169, 0xe9a783},
+  {0xf16a, 0xe9a784},
+  {0xf16b, 0xe9a785},
+  {0xf16c, 0xe9a786},
+  {0xf16d, 0xe9a787},
+  {0xf16e, 0xe9a788},
+  {0xf16f, 0xe9a789},
+  {0xf170, 0xe9a78a},
+  {0xf171, 0xe9a78b},
+  {0xf172, 0xe9a78c},
+  {0xf173, 0xe9a78d},
+  {0xf174, 0xe9a78e},
+  {0xf175, 0xe9a78f},
+  {0xf176, 0xe9a790},
+  {0xf177, 0xe9a791},
+  {0xf178, 0xe9a792},
+  {0xf179, 0xe9a793},
+  {0xf17a, 0xe9a794},
+  {0xf17b, 0xe9a795},
+  {0xf17c, 0xe9a796},
+  {0xf17d, 0xe9a797},
+  {0xf17e, 0xe9a798},
+  {0xf180, 0xe9a799},
+  {0xf181, 0xe9a79a},
+  {0xf182, 0xe9a79b},
+  {0xf183, 0xe9a79c},
+  {0xf184, 0xe9a79d},
+  {0xf185, 0xe9a79e},
+  {0xf186, 0xe9a79f},
+  {0xf187, 0xe9a7a0},
+  {0xf188, 0xe9a7a1},
+  {0xf189, 0xe9a7a2},
+  {0xf18a, 0xe9a7a3},
+  {0xf18b, 0xe9a7a4},
+  {0xf18c, 0xe9a7a5},
+  {0xf18d, 0xe9a7a6},
+  {0xf18e, 0xe9a7a7},
+  {0xf18f, 0xe9a7a8},
+  {0xf190, 0xe9a7a9},
+  {0xf191, 0xe9a7aa},
+  {0xf192, 0xe9a7ab},
+  {0xf193, 0xe9a7ac},
+  {0xf194, 0xe9a7ad},
+  {0xf195, 0xe9a7ae},
+  {0xf196, 0xe9a7af},
+  {0xf197, 0xe9a7b0},
+  {0xf198, 0xe9a7b1},
+  {0xf199, 0xe9a7b2},
+  {0xf19a, 0xe9a7b3},
+  {0xf19b, 0xe9a7b4},
+  {0xf19c, 0xe9a7b5},
+  {0xf19d, 0xe9a7b6},
+  {0xf19e, 0xe9a7b7},
+  {0xf19f, 0xe9a7b8},
+  {0xf1a0, 0xe9a7b9},
+  {0xf1a1, 0xe7989b},
+  {0xf1a2, 0xe798bc},
+  {0xf1a3, 0xe798a2},
+  {0xf1a4, 0xe798a0},
+  {0xf1a5, 0xe79980},
+  {0xf1a6, 0xe798ad},
+  {0xf1a7, 0xe798b0},
+  {0xf1a8, 0xe798bf},
+  {0xf1a9, 0xe798b5},
+  {0xf1aa, 0xe79983},
+  {0xf1ab, 0xe798be},
+  {0xf1ac, 0xe798b3},
+  {0xf1ad, 0xe7998d},
+  {0xf1ae, 0xe7999e},
+  {0xf1af, 0xe79994},
+  {0xf1b0, 0xe7999c},
+  {0xf1b1, 0xe79996},
+  {0xf1b2, 0xe799ab},
+  {0xf1b3, 0xe799af},
+  {0xf1b4, 0xe7bf8a},
+  {0xf1b5, 0xe7aba6},
+  {0xf1b6, 0xe7a9b8},
+  {0xf1b7, 0xe7a9b9},
+  {0xf1b8, 0xe7aa80},
+  {0xf1b9, 0xe7aa86},
+  {0xf1ba, 0xe7aa88},
+  {0xf1bb, 0xe7aa95},
+  {0xf1bc, 0xe7aaa6},
+  {0xf1bd, 0xe7aaa0},
+  {0xf1be, 0xe7aaac},
+  {0xf1bf, 0xe7aaa8},
+  {0xf1c0, 0xe7aaad},
+  {0xf1c1, 0xe7aab3},
+  {0xf1c2, 0xe8a1a4},
+  {0xf1c3, 0xe8a1a9},
+  {0xf1c4, 0xe8a1b2},
+  {0xf1c5, 0xe8a1bd},
+  {0xf1c6, 0xe8a1bf},
+  {0xf1c7, 0xe8a282},
+  {0xf1c8, 0xe8a2a2},
+  {0xf1c9, 0xe8a386},
+  {0xf1ca, 0xe8a2b7},
+  {0xf1cb, 0xe8a2bc},
+  {0xf1cc, 0xe8a389},
+  {0xf1cd, 0xe8a3a2},
+  {0xf1ce, 0xe8a38e},
+  {0xf1cf, 0xe8a3a3},
+  {0xf1d0, 0xe8a3a5},
+  {0xf1d1, 0xe8a3b1},
+  {0xf1d2, 0xe8a49a},
+  {0xf1d3, 0xe8a3bc},
+  {0xf1d4, 0xe8a3a8},
+  {0xf1d5, 0xe8a3be},
+  {0xf1d6, 0xe8a3b0},
+  {0xf1d7, 0xe8a4a1},
+  {0xf1d8, 0xe8a499},
+  {0xf1d9, 0xe8a493},
+  {0xf1da, 0xe8a49b},
+  {0xf1db, 0xe8a48a},
+  {0xf1dc, 0xe8a4b4},
+  {0xf1dd, 0xe8a4ab},
+  {0xf1de, 0xe8a4b6},
+  {0xf1df, 0xe8a581},
+  {0xf1e0, 0xe8a5a6},
+  {0xf1e1, 0xe8a5bb},
+  {0xf1e2, 0xe7968b},
+  {0xf1e3, 0xe883a5},
+  {0xf1e4, 0xe79ab2},
+  {0xf1e5, 0xe79ab4},
+  {0xf1e6, 0xe79f9c},
+  {0xf1e7, 0xe88092},
+  {0xf1e8, 0xe88094},
+  {0xf1e9, 0xe88096},
+  {0xf1ea, 0xe8809c},
+  {0xf1eb, 0xe880a0},
+  {0xf1ec, 0xe880a2},
+  {0xf1ed, 0xe880a5},
+  {0xf1ee, 0xe880a6},
+  {0xf1ef, 0xe880a7},
+  {0xf1f0, 0xe880a9},
+  {0xf1f1, 0xe880a8},
+  {0xf1f2, 0xe880b1},
+  {0xf1f3, 0xe8808b},
+  {0xf1f4, 0xe880b5},
+  {0xf1f5, 0xe88183},
+  {0xf1f6, 0xe88186},
+  {0xf1f7, 0xe8818d},
+  {0xf1f8, 0xe88192},
+  {0xf1f9, 0xe881a9},
+  {0xf1fa, 0xe881b1},
+  {0xf1fb, 0xe8a683},
+  {0xf1fc, 0xe9a1b8},
+  {0xf1fd, 0xe9a280},
+  {0xf1fe, 0xe9a283},
+  {0xf240, 0xe9a7ba},
+  {0xf241, 0xe9a7bb},
+  {0xf242, 0xe9a7bc},
+  {0xf243, 0xe9a7bd},
+  {0xf244, 0xe9a7be},
+  {0xf245, 0xe9a7bf},
+  {0xf246, 0xe9a880},
+  {0xf247, 0xe9a881},
+  {0xf248, 0xe9a882},
+  {0xf249, 0xe9a883},
+  {0xf24a, 0xe9a884},
+  {0xf24b, 0xe9a885},
+  {0xf24c, 0xe9a886},
+  {0xf24d, 0xe9a887},
+  {0xf24e, 0xe9a888},
+  {0xf24f, 0xe9a889},
+  {0xf250, 0xe9a88a},
+  {0xf251, 0xe9a88b},
+  {0xf252, 0xe9a88c},
+  {0xf253, 0xe9a88d},
+  {0xf254, 0xe9a88e},
+  {0xf255, 0xe9a88f},
+  {0xf256, 0xe9a890},
+  {0xf257, 0xe9a891},
+  {0xf258, 0xe9a892},
+  {0xf259, 0xe9a893},
+  {0xf25a, 0xe9a894},
+  {0xf25b, 0xe9a895},
+  {0xf25c, 0xe9a896},
+  {0xf25d, 0xe9a897},
+  {0xf25e, 0xe9a898},
+  {0xf25f, 0xe9a899},
+  {0xf260, 0xe9a89a},
+  {0xf261, 0xe9a89b},
+  {0xf262, 0xe9a89c},
+  {0xf263, 0xe9a89d},
+  {0xf264, 0xe9a89e},
+  {0xf265, 0xe9a89f},
+  {0xf266, 0xe9a8a0},
+  {0xf267, 0xe9a8a1},
+  {0xf268, 0xe9a8a2},
+  {0xf269, 0xe9a8a3},
+  {0xf26a, 0xe9a8a4},
+  {0xf26b, 0xe9a8a5},
+  {0xf26c, 0xe9a8a6},
+  {0xf26d, 0xe9a8a7},
+  {0xf26e, 0xe9a8a8},
+  {0xf26f, 0xe9a8a9},
+  {0xf270, 0xe9a8aa},
+  {0xf271, 0xe9a8ab},
+  {0xf272, 0xe9a8ac},
+  {0xf273, 0xe9a8ad},
+  {0xf274, 0xe9a8ae},
+  {0xf275, 0xe9a8af},
+  {0xf276, 0xe9a8b0},
+  {0xf277, 0xe9a8b1},
+  {0xf278, 0xe9a8b2},
+  {0xf279, 0xe9a8b3},
+  {0xf27a, 0xe9a8b4},
+  {0xf27b, 0xe9a8b5},
+  {0xf27c, 0xe9a8b6},
+  {0xf27d, 0xe9a8b7},
+  {0xf27e, 0xe9a8b8},
+  {0xf280, 0xe9a8b9},
+  {0xf281, 0xe9a8ba},
+  {0xf282, 0xe9a8bb},
+  {0xf283, 0xe9a8bc},
+  {0xf284, 0xe9a8bd},
+  {0xf285, 0xe9a8be},
+  {0xf286, 0xe9a8bf},
+  {0xf287, 0xe9a980},
+  {0xf288, 0xe9a981},
+  {0xf289, 0xe9a982},
+  {0xf28a, 0xe9a983},
+  {0xf28b, 0xe9a984},
+  {0xf28c, 0xe9a985},
+  {0xf28d, 0xe9a986},
+  {0xf28e, 0xe9a987},
+  {0xf28f, 0xe9a988},
+  {0xf290, 0xe9a989},
+  {0xf291, 0xe9a98a},
+  {0xf292, 0xe9a98b},
+  {0xf293, 0xe9a98c},
+  {0xf294, 0xe9a98d},
+  {0xf295, 0xe9a98e},
+  {0xf296, 0xe9a98f},
+  {0xf297, 0xe9a990},
+  {0xf298, 0xe9a991},
+  {0xf299, 0xe9a992},
+  {0xf29a, 0xe9a993},
+  {0xf29b, 0xe9a994},
+  {0xf29c, 0xe9a995},
+  {0xf29d, 0xe9a996},
+  {0xf29e, 0xe9a997},
+  {0xf29f, 0xe9a998},
+  {0xf2a0, 0xe9a999},
+  {0xf2a1, 0xe9a289},
+  {0xf2a2, 0xe9a28c},
+  {0xf2a3, 0xe9a28d},
+  {0xf2a4, 0xe9a28f},
+  {0xf2a5, 0xe9a294},
+  {0xf2a6, 0xe9a29a},
+  {0xf2a7, 0xe9a29b},
+  {0xf2a8, 0xe9a29e},
+  {0xf2a9, 0xe9a29f},
+  {0xf2aa, 0xe9a2a1},
+  {0xf2ab, 0xe9a2a2},
+  {0xf2ac, 0xe9a2a5},
+  {0xf2ad, 0xe9a2a6},
+  {0xf2ae, 0xe8998d},
+  {0xf2af, 0xe89994},
+  {0xf2b0, 0xe899ac},
+  {0xf2b1, 0xe899ae},
+  {0xf2b2, 0xe899bf},
+  {0xf2b3, 0xe899ba},
+  {0xf2b4, 0xe899bc},
+  {0xf2b5, 0xe899bb},
+  {0xf2b6, 0xe89aa8},
+  {0xf2b7, 0xe89a8d},
+  {0xf2b8, 0xe89a8b},
+  {0xf2b9, 0xe89aac},
+  {0xf2ba, 0xe89a9d},
+  {0xf2bb, 0xe89aa7},
+  {0xf2bc, 0xe89aa3},
+  {0xf2bd, 0xe89aaa},
+  {0xf2be, 0xe89a93},
+  {0xf2bf, 0xe89aa9},
+  {0xf2c0, 0xe89ab6},
+  {0xf2c1, 0xe89b84},
+  {0xf2c2, 0xe89ab5},
+  {0xf2c3, 0xe89b8e},
+  {0xf2c4, 0xe89ab0},
+  {0xf2c5, 0xe89aba},
+  {0xf2c6, 0xe89ab1},
+  {0xf2c7, 0xe89aaf},
+  {0xf2c8, 0xe89b89},
+  {0xf2c9, 0xe89b8f},
+  {0xf2ca, 0xe89ab4},
+  {0xf2cb, 0xe89ba9},
+  {0xf2cc, 0xe89bb1},
+  {0xf2cd, 0xe89bb2},
+  {0xf2ce, 0xe89bad},
+  {0xf2cf, 0xe89bb3},
+  {0xf2d0, 0xe89b90},
+  {0xf2d1, 0xe89c93},
+  {0xf2d2, 0xe89b9e},
+  {0xf2d3, 0xe89bb4},
+  {0xf2d4, 0xe89b9f},
+  {0xf2d5, 0xe89b98},
+  {0xf2d6, 0xe89b91},
+  {0xf2d7, 0xe89c83},
+  {0xf2d8, 0xe89c87},
+  {0xf2d9, 0xe89bb8},
+  {0xf2da, 0xe89c88},
+  {0xf2db, 0xe89c8a},
+  {0xf2dc, 0xe89c8d},
+  {0xf2dd, 0xe89c89},
+  {0xf2de, 0xe89ca3},
+  {0xf2df, 0xe89cbb},
+  {0xf2e0, 0xe89c9e},
+  {0xf2e1, 0xe89ca5},
+  {0xf2e2, 0xe89cae},
+  {0xf2e3, 0xe89c9a},
+  {0xf2e4, 0xe89cbe},
+  {0xf2e5, 0xe89d88},
+  {0xf2e6, 0xe89cb4},
+  {0xf2e7, 0xe89cb1},
+  {0xf2e8, 0xe89ca9},
+  {0xf2e9, 0xe89cb7},
+  {0xf2ea, 0xe89cbf},
+  {0xf2eb, 0xe89e82},
+  {0xf2ec, 0xe89ca2},
+  {0xf2ed, 0xe89dbd},
+  {0xf2ee, 0xe89dbe},
+  {0xf2ef, 0xe89dbb},
+  {0xf2f0, 0xe89da0},
+  {0xf2f1, 0xe89db0},
+  {0xf2f2, 0xe89d8c},
+  {0xf2f3, 0xe89dae},
+  {0xf2f4, 0xe89e8b},
+  {0xf2f5, 0xe89d93},
+  {0xf2f6, 0xe89da3},
+  {0xf2f7, 0xe89dbc},
+  {0xf2f8, 0xe89da4},
+  {0xf2f9, 0xe89d99},
+  {0xf2fa, 0xe89da5},
+  {0xf2fb, 0xe89e93},
+  {0xf2fc, 0xe89eaf},
+  {0xf2fd, 0xe89ea8},
+  {0xf2fe, 0xe89f92},
+  {0xf340, 0xe9a99a},
+  {0xf341, 0xe9a99b},
+  {0xf342, 0xe9a99c},
+  {0xf343, 0xe9a99d},
+  {0xf344, 0xe9a99e},
+  {0xf345, 0xe9a99f},
+  {0xf346, 0xe9a9a0},
+  {0xf347, 0xe9a9a1},
+  {0xf348, 0xe9a9a2},
+  {0xf349, 0xe9a9a3},
+  {0xf34a, 0xe9a9a4},
+  {0xf34b, 0xe9a9a5},
+  {0xf34c, 0xe9a9a6},
+  {0xf34d, 0xe9a9a7},
+  {0xf34e, 0xe9a9a8},
+  {0xf34f, 0xe9a9a9},
+  {0xf350, 0xe9a9aa},
+  {0xf351, 0xe9a9ab},
+  {0xf352, 0xe9a9b2},
+  {0xf353, 0xe9aa83},
+  {0xf354, 0xe9aa89},
+  {0xf355, 0xe9aa8d},
+  {0xf356, 0xe9aa8e},
+  {0xf357, 0xe9aa94},
+  {0xf358, 0xe9aa95},
+  {0xf359, 0xe9aa99},
+  {0xf35a, 0xe9aaa6},
+  {0xf35b, 0xe9aaa9},
+  {0xf35c, 0xe9aaaa},
+  {0xf35d, 0xe9aaab},
+  {0xf35e, 0xe9aaac},
+  {0xf35f, 0xe9aaad},
+  {0xf360, 0xe9aaae},
+  {0xf361, 0xe9aaaf},
+  {0xf362, 0xe9aab2},
+  {0xf363, 0xe9aab3},
+  {0xf364, 0xe9aab4},
+  {0xf365, 0xe9aab5},
+  {0xf366, 0xe9aab9},
+  {0xf367, 0xe9aabb},
+  {0xf368, 0xe9aabd},
+  {0xf369, 0xe9aabe},
+  {0xf36a, 0xe9aabf},
+  {0xf36b, 0xe9ab83},
+  {0xf36c, 0xe9ab84},
+  {0xf36d, 0xe9ab86},
+  {0xf36e, 0xe9ab87},
+  {0xf36f, 0xe9ab88},
+  {0xf370, 0xe9ab89},
+  {0xf371, 0xe9ab8a},
+  {0xf372, 0xe9ab8d},
+  {0xf373, 0xe9ab8e},
+  {0xf374, 0xe9ab8f},
+  {0xf375, 0xe9ab90},
+  {0xf376, 0xe9ab92},
+  {0xf377, 0xe9ab94},
+  {0xf378, 0xe9ab95},
+  {0xf379, 0xe9ab96},
+  {0xf37a, 0xe9ab97},
+  {0xf37b, 0xe9ab99},
+  {0xf37c, 0xe9ab9a},
+  {0xf37d, 0xe9ab9b},
+  {0xf37e, 0xe9ab9c},
+  {0xf380, 0xe9ab9d},
+  {0xf381, 0xe9ab9e},
+  {0xf382, 0xe9aba0},
+  {0xf383, 0xe9aba2},
+  {0xf384, 0xe9aba3},
+  {0xf385, 0xe9aba4},
+  {0xf386, 0xe9aba5},
+  {0xf387, 0xe9aba7},
+  {0xf388, 0xe9aba8},
+  {0xf389, 0xe9aba9},
+  {0xf38a, 0xe9abaa},
+  {0xf38b, 0xe9abac},
+  {0xf38c, 0xe9abae},
+  {0xf38d, 0xe9abb0},
+  {0xf38e, 0xe9abb1},
+  {0xf38f, 0xe9abb2},
+  {0xf390, 0xe9abb3},
+  {0xf391, 0xe9abb4},
+  {0xf392, 0xe9abb5},
+  {0xf393, 0xe9abb6},
+  {0xf394, 0xe9abb7},
+  {0xf395, 0xe9abb8},
+  {0xf396, 0xe9abba},
+  {0xf397, 0xe9abbc},
+  {0xf398, 0xe9abbd},
+  {0xf399, 0xe9abbe},
+  {0xf39a, 0xe9abbf},
+  {0xf39b, 0xe9ac80},
+  {0xf39c, 0xe9ac81},
+  {0xf39d, 0xe9ac82},
+  {0xf39e, 0xe9ac84},
+  {0xf39f, 0xe9ac85},
+  {0xf3a0, 0xe9ac86},
+  {0xf3a1, 0xe89f86},
+  {0xf3a2, 0xe89e88},
+  {0xf3a3, 0xe89e85},
+  {0xf3a4, 0xe89ead},
+  {0xf3a5, 0xe89e97},
+  {0xf3a6, 0xe89e83},
+  {0xf3a7, 0xe89eab},
+  {0xf3a8, 0xe89fa5},
+  {0xf3a9, 0xe89eac},
+  {0xf3aa, 0xe89eb5},
+  {0xf3ab, 0xe89eb3},
+  {0xf3ac, 0xe89f8b},
+  {0xf3ad, 0xe89f93},
+  {0xf3ae, 0xe89ebd},
+  {0xf3af, 0xe89f91},
+  {0xf3b0, 0xe89f80},
+  {0xf3b1, 0xe89f8a},
+  {0xf3b2, 0xe89f9b},
+  {0xf3b3, 0xe89faa},
+  {0xf3b4, 0xe89fa0},
+  {0xf3b5, 0xe89fae},
+  {0xf3b6, 0xe8a096},
+  {0xf3b7, 0xe8a093},
+  {0xf3b8, 0xe89fbe},
+  {0xf3b9, 0xe8a08a},
+  {0xf3ba, 0xe8a09b},
+  {0xf3bb, 0xe8a0a1},
+  {0xf3bc, 0xe8a0b9},
+  {0xf3bd, 0xe8a0bc},
+  {0xf3be, 0xe7bcb6},
+  {0xf3bf, 0xe7bd82},
+  {0xf3c0, 0xe7bd84},
+  {0xf3c1, 0xe7bd85},
+  {0xf3c2, 0xe88890},
+  {0xf3c3, 0xe7abba},
+  {0xf3c4, 0xe7abbd},
+  {0xf3c5, 0xe7ac88},
+  {0xf3c6, 0xe7ac83},
+  {0xf3c7, 0xe7ac84},
+  {0xf3c8, 0xe7ac95},
+  {0xf3c9, 0xe7ac8a},
+  {0xf3ca, 0xe7acab},
+  {0xf3cb, 0xe7ac8f},
+  {0xf3cc, 0xe7ad87},
+  {0xf3cd, 0xe7acb8},
+  {0xf3ce, 0xe7acaa},
+  {0xf3cf, 0xe7ac99},
+  {0xf3d0, 0xe7acae},
+  {0xf3d1, 0xe7acb1},
+  {0xf3d2, 0xe7aca0},
+  {0xf3d3, 0xe7aca5},
+  {0xf3d4, 0xe7aca4},
+  {0xf3d5, 0xe7acb3},
+  {0xf3d6, 0xe7acbe},
+  {0xf3d7, 0xe7ac9e},
+  {0xf3d8, 0xe7ad98},
+  {0xf3d9, 0xe7ad9a},
+  {0xf3da, 0xe7ad85},
+  {0xf3db, 0xe7adb5},
+  {0xf3dc, 0xe7ad8c},
+  {0xf3dd, 0xe7ad9d},
+  {0xf3de, 0xe7ada0},
+  {0xf3df, 0xe7adae},
+  {0xf3e0, 0xe7adbb},
+  {0xf3e1, 0xe7ada2},
+  {0xf3e2, 0xe7adb2},
+  {0xf3e3, 0xe7adb1},
+  {0xf3e4, 0xe7ae90},
+  {0xf3e5, 0xe7aea6},
+  {0xf3e6, 0xe7aea7},
+  {0xf3e7, 0xe7aeb8},
+  {0xf3e8, 0xe7aeac},
+  {0xf3e9, 0xe7ae9d},
+  {0xf3ea, 0xe7aea8},
+  {0xf3eb, 0xe7ae85},
+  {0xf3ec, 0xe7aeaa},
+  {0xf3ed, 0xe7ae9c},
+  {0xf3ee, 0xe7aea2},
+  {0xf3ef, 0xe7aeab},
+  {0xf3f0, 0xe7aeb4},
+  {0xf3f1, 0xe7af91},
+  {0xf3f2, 0xe7af81},
+  {0xf3f3, 0xe7af8c},
+  {0xf3f4, 0xe7af9d},
+  {0xf3f5, 0xe7af9a},
+  {0xf3f6, 0xe7afa5},
+  {0xf3f7, 0xe7afa6},
+  {0xf3f8, 0xe7afaa},
+  {0xf3f9, 0xe7b08c},
+  {0xf3fa, 0xe7afbe},
+  {0xf3fb, 0xe7afbc},
+  {0xf3fc, 0xe7b08f},
+  {0xf3fd, 0xe7b096},
+  {0xf3fe, 0xe7b08b},
+  {0xf440, 0xe9ac87},
+  {0xf441, 0xe9ac89},
+  {0xf442, 0xe9ac8a},
+  {0xf443, 0xe9ac8b},
+  {0xf444, 0xe9ac8c},
+  {0xf445, 0xe9ac8d},
+  {0xf446, 0xe9ac8e},
+  {0xf447, 0xe9ac90},
+  {0xf448, 0xe9ac91},
+  {0xf449, 0xe9ac92},
+  {0xf44a, 0xe9ac94},
+  {0xf44b, 0xe9ac95},
+  {0xf44c, 0xe9ac96},
+  {0xf44d, 0xe9ac97},
+  {0xf44e, 0xe9ac98},
+  {0xf44f, 0xe9ac99},
+  {0xf450, 0xe9ac9a},
+  {0xf451, 0xe9ac9b},
+  {0xf452, 0xe9ac9c},
+  {0xf453, 0xe9ac9d},
+  {0xf454, 0xe9ac9e},
+  {0xf455, 0xe9aca0},
+  {0xf456, 0xe9aca1},
+  {0xf457, 0xe9aca2},
+  {0xf458, 0xe9aca4},
+  {0xf459, 0xe9aca5},
+  {0xf45a, 0xe9aca6},
+  {0xf45b, 0xe9aca7},
+  {0xf45c, 0xe9aca8},
+  {0xf45d, 0xe9aca9},
+  {0xf45e, 0xe9acaa},
+  {0xf45f, 0xe9acab},
+  {0xf460, 0xe9acac},
+  {0xf461, 0xe9acad},
+  {0xf462, 0xe9acae},
+  {0xf463, 0xe9acb0},
+  {0xf464, 0xe9acb1},
+  {0xf465, 0xe9acb3},
+  {0xf466, 0xe9acb4},
+  {0xf467, 0xe9acb5},
+  {0xf468, 0xe9acb6},
+  {0xf469, 0xe9acb7},
+  {0xf46a, 0xe9acb8},
+  {0xf46b, 0xe9acb9},
+  {0xf46c, 0xe9acba},
+  {0xf46d, 0xe9acbd},
+  {0xf46e, 0xe9acbe},
+  {0xf46f, 0xe9acbf},
+  {0xf470, 0xe9ad80},
+  {0xf471, 0xe9ad86},
+  {0xf472, 0xe9ad8a},
+  {0xf473, 0xe9ad8b},
+  {0xf474, 0xe9ad8c},
+  {0xf475, 0xe9ad8e},
+  {0xf476, 0xe9ad90},
+  {0xf477, 0xe9ad92},
+  {0xf478, 0xe9ad93},
+  {0xf479, 0xe9ad95},
+  {0xf47a, 0xe9ad96},
+  {0xf47b, 0xe9ad97},
+  {0xf47c, 0xe9ad98},
+  {0xf47d, 0xe9ad99},
+  {0xf47e, 0xe9ad9a},
+  {0xf480, 0xe9ad9b},
+  {0xf481, 0xe9ad9c},
+  {0xf482, 0xe9ad9d},
+  {0xf483, 0xe9ad9e},
+  {0xf484, 0xe9ad9f},
+  {0xf485, 0xe9ada0},
+  {0xf486, 0xe9ada1},
+  {0xf487, 0xe9ada2},
+  {0xf488, 0xe9ada3},
+  {0xf489, 0xe9ada4},
+  {0xf48a, 0xe9ada5},
+  {0xf48b, 0xe9ada6},
+  {0xf48c, 0xe9ada7},
+  {0xf48d, 0xe9ada8},
+  {0xf48e, 0xe9ada9},
+  {0xf48f, 0xe9adaa},
+  {0xf490, 0xe9adab},
+  {0xf491, 0xe9adac},
+  {0xf492, 0xe9adad},
+  {0xf493, 0xe9adae},
+  {0xf494, 0xe9adaf},
+  {0xf495, 0xe9adb0},
+  {0xf496, 0xe9adb1},
+  {0xf497, 0xe9adb2},
+  {0xf498, 0xe9adb3},
+  {0xf499, 0xe9adb4},
+  {0xf49a, 0xe9adb5},
+  {0xf49b, 0xe9adb6},
+  {0xf49c, 0xe9adb7},
+  {0xf49d, 0xe9adb8},
+  {0xf49e, 0xe9adb9},
+  {0xf49f, 0xe9adba},
+  {0xf4a0, 0xe9adbb},
+  {0xf4a1, 0xe7b09f},
+  {0xf4a2, 0xe7b0aa},
+  {0xf4a3, 0xe7b0a6},
+  {0xf4a4, 0xe7b0b8},
+  {0xf4a5, 0xe7b181},
+  {0xf4a6, 0xe7b180},
+  {0xf4a7, 0xe887be},
+  {0xf4a8, 0xe88881},
+  {0xf4a9, 0xe88882},
+  {0xf4aa, 0xe88884},
+  {0xf4ab, 0xe887ac},
+  {0xf4ac, 0xe8a184},
+  {0xf4ad, 0xe888a1},
+  {0xf4ae, 0xe888a2},
+  {0xf4af, 0xe888a3},
+  {0xf4b0, 0xe888ad},
+  {0xf4b1, 0xe888af},
+  {0xf4b2, 0xe888a8},
+  {0xf4b3, 0xe888ab},
+  {0xf4b4, 0xe888b8},
+  {0xf4b5, 0xe888bb},
+  {0xf4b6, 0xe888b3},
+  {0xf4b7, 0xe888b4},
+  {0xf4b8, 0xe888be},
+  {0xf4b9, 0xe88984},
+  {0xf4ba, 0xe88989},
+  {0xf4bb, 0xe8898b},
+  {0xf4bc, 0xe8898f},
+  {0xf4bd, 0xe8899a},
+  {0xf4be, 0xe8899f},
+  {0xf4bf, 0xe889a8},
+  {0xf4c0, 0xe8a1be},
+  {0xf4c1, 0xe8a285},
+  {0xf4c2, 0xe8a288},
+  {0xf4c3, 0xe8a398},
+  {0xf4c4, 0xe8a39f},
+  {0xf4c5, 0xe8a59e},
+  {0xf4c6, 0xe7be9d},
+  {0xf4c7, 0xe7be9f},
+  {0xf4c8, 0xe7bea7},
+  {0xf4c9, 0xe7beaf},
+  {0xf4ca, 0xe7beb0},
+  {0xf4cb, 0xe7beb2},
+  {0xf4cc, 0xe7b1bc},
+  {0xf4cd, 0xe69589},
+  {0xf4ce, 0xe7b291},
+  {0xf4cf, 0xe7b29d},
+  {0xf4d0, 0xe7b29c},
+  {0xf4d1, 0xe7b29e},
+  {0xf4d2, 0xe7b2a2},
+  {0xf4d3, 0xe7b2b2},
+  {0xf4d4, 0xe7b2bc},
+  {0xf4d5, 0xe7b2bd},
+  {0xf4d6, 0xe7b381},
+  {0xf4d7, 0xe7b387},
+  {0xf4d8, 0xe7b38c},
+  {0xf4d9, 0xe7b38d},
+  {0xf4da, 0xe7b388},
+  {0xf4db, 0xe7b385},
+  {0xf4dc, 0xe7b397},
+  {0xf4dd, 0xe7b3a8},
+  {0xf4de, 0xe889ae},
+  {0xf4df, 0xe69aa8},
+  {0xf4e0, 0xe7bebf},
+  {0xf4e1, 0xe7bf8e},
+  {0xf4e2, 0xe7bf95},
+  {0xf4e3, 0xe7bfa5},
+  {0xf4e4, 0xe7bfa1},
+  {0xf4e5, 0xe7bfa6},
+  {0xf4e6, 0xe7bfa9},
+  {0xf4e7, 0xe7bfae},
+  {0xf4e8, 0xe7bfb3},
+  {0xf4e9, 0xe7b3b8},
+  {0xf4ea, 0xe7b5b7},
+  {0xf4eb, 0xe7b6a6},
+  {0xf4ec, 0xe7b6ae},
+  {0xf4ed, 0xe7b987},
+  {0xf4ee, 0xe7ba9b},
+  {0xf4ef, 0xe9bab8},
+  {0xf4f0, 0xe9bab4},
+  {0xf4f1, 0xe8b5b3},
+  {0xf4f2, 0xe8b684},
+  {0xf4f3, 0xe8b694},
+  {0xf4f4, 0xe8b691},
+  {0xf4f5, 0xe8b6b1},
+  {0xf4f6, 0xe8b5a7},
+  {0xf4f7, 0xe8b5ad},
+  {0xf4f8, 0xe8b187},
+  {0xf4f9, 0xe8b189},
+  {0xf4fa, 0xe9858a},
+  {0xf4fb, 0xe98590},
+  {0xf4fc, 0xe9858e},
+  {0xf4fd, 0xe9858f},
+  {0xf4fe, 0xe985a4},
+  {0xf540, 0xe9adbc},
+  {0xf541, 0xe9adbd},
+  {0xf542, 0xe9adbe},
+  {0xf543, 0xe9adbf},
+  {0xf544, 0xe9ae80},
+  {0xf545, 0xe9ae81},
+  {0xf546, 0xe9ae82},
+  {0xf547, 0xe9ae83},
+  {0xf548, 0xe9ae84},
+  {0xf549, 0xe9ae85},
+  {0xf54a, 0xe9ae86},
+  {0xf54b, 0xe9ae87},
+  {0xf54c, 0xe9ae88},
+  {0xf54d, 0xe9ae89},
+  {0xf54e, 0xe9ae8a},
+  {0xf54f, 0xe9ae8b},
+  {0xf550, 0xe9ae8c},
+  {0xf551, 0xe9ae8d},
+  {0xf552, 0xe9ae8e},
+  {0xf553, 0xe9ae8f},
+  {0xf554, 0xe9ae90},
+  {0xf555, 0xe9ae91},
+  {0xf556, 0xe9ae92},
+  {0xf557, 0xe9ae93},
+  {0xf558, 0xe9ae94},
+  {0xf559, 0xe9ae95},
+  {0xf55a, 0xe9ae96},
+  {0xf55b, 0xe9ae97},
+  {0xf55c, 0xe9ae98},
+  {0xf55d, 0xe9ae99},
+  {0xf55e, 0xe9ae9a},
+  {0xf55f, 0xe9ae9b},
+  {0xf560, 0xe9ae9c},
+  {0xf561, 0xe9ae9d},
+  {0xf562, 0xe9ae9e},
+  {0xf563, 0xe9ae9f},
+  {0xf564, 0xe9aea0},
+  {0xf565, 0xe9aea1},
+  {0xf566, 0xe9aea2},
+  {0xf567, 0xe9aea3},
+  {0xf568, 0xe9aea4},
+  {0xf569, 0xe9aea5},
+  {0xf56a, 0xe9aea6},
+  {0xf56b, 0xe9aea7},
+  {0xf56c, 0xe9aea8},
+  {0xf56d, 0xe9aea9},
+  {0xf56e, 0xe9aeaa},
+  {0xf56f, 0xe9aeab},
+  {0xf570, 0xe9aeac},
+  {0xf571, 0xe9aead},
+  {0xf572, 0xe9aeae},
+  {0xf573, 0xe9aeaf},
+  {0xf574, 0xe9aeb0},
+  {0xf575, 0xe9aeb1},
+  {0xf576, 0xe9aeb2},
+  {0xf577, 0xe9aeb3},
+  {0xf578, 0xe9aeb4},
+  {0xf579, 0xe9aeb5},
+  {0xf57a, 0xe9aeb6},
+  {0xf57b, 0xe9aeb7},
+  {0xf57c, 0xe9aeb8},
+  {0xf57d, 0xe9aeb9},
+  {0xf57e, 0xe9aeba},
+  {0xf580, 0xe9aebb},
+  {0xf581, 0xe9aebc},
+  {0xf582, 0xe9aebd},
+  {0xf583, 0xe9aebe},
+  {0xf584, 0xe9aebf},
+  {0xf585, 0xe9af80},
+  {0xf586, 0xe9af81},
+  {0xf587, 0xe9af82},
+  {0xf588, 0xe9af83},
+  {0xf589, 0xe9af84},
+  {0xf58a, 0xe9af85},
+  {0xf58b, 0xe9af86},
+  {0xf58c, 0xe9af87},
+  {0xf58d, 0xe9af88},
+  {0xf58e, 0xe9af89},
+  {0xf58f, 0xe9af8a},
+  {0xf590, 0xe9af8b},
+  {0xf591, 0xe9af8c},
+  {0xf592, 0xe9af8d},
+  {0xf593, 0xe9af8e},
+  {0xf594, 0xe9af8f},
+  {0xf595, 0xe9af90},
+  {0xf596, 0xe9af91},
+  {0xf597, 0xe9af92},
+  {0xf598, 0xe9af93},
+  {0xf599, 0xe9af94},
+  {0xf59a, 0xe9af95},
+  {0xf59b, 0xe9af96},
+  {0xf59c, 0xe9af97},
+  {0xf59d, 0xe9af98},
+  {0xf59e, 0xe9af99},
+  {0xf59f, 0xe9af9a},
+  {0xf5a0, 0xe9af9b},
+  {0xf5a1, 0xe985a2},
+  {0xf5a2, 0xe985a1},
+  {0xf5a3, 0xe985b0},
+  {0xf5a4, 0xe985a9},
+  {0xf5a5, 0xe985af},
+  {0xf5a6, 0xe985bd},
+  {0xf5a7, 0xe985be},
+  {0xf5a8, 0xe985b2},
+  {0xf5a9, 0xe985b4},
+  {0xf5aa, 0xe985b9},
+  {0xf5ab, 0xe9868c},
+  {0xf5ac, 0xe98685},
+  {0xf5ad, 0xe98690},
+  {0xf5ae, 0xe9868d},
+  {0xf5af, 0xe98691},
+  {0xf5b0, 0xe986a2},
+  {0xf5b1, 0xe986a3},
+  {0xf5b2, 0xe986aa},
+  {0xf5b3, 0xe986ad},
+  {0xf5b4, 0xe986ae},
+  {0xf5b5, 0xe986af},
+  {0xf5b6, 0xe986b5},
+  {0xf5b7, 0xe986b4},
+  {0xf5b8, 0xe986ba},
+  {0xf5b9, 0xe8b195},
+  {0xf5ba, 0xe9b9be},
+  {0xf5bb, 0xe8b6b8},
+  {0xf5bc, 0xe8b7ab},
+  {0xf5bd, 0xe8b885},
+  {0xf5be, 0xe8b999},
+  {0xf5bf, 0xe8b9a9},
+  {0xf5c0, 0xe8b6b5},
+  {0xf5c1, 0xe8b6bf},
+  {0xf5c2, 0xe8b6bc},
+  {0xf5c3, 0xe8b6ba},
+  {0xf5c4, 0xe8b784},
+  {0xf5c5, 0xe8b796},
+  {0xf5c6, 0xe8b797},
+  {0xf5c7, 0xe8b79a},
+  {0xf5c8, 0xe8b79e},
+  {0xf5c9, 0xe8b78e},
+  {0xf5ca, 0xe8b78f},
+  {0xf5cb, 0xe8b79b},
+  {0xf5cc, 0xe8b786},
+  {0xf5cd, 0xe8b7ac},
+  {0xf5ce, 0xe8b7b7},
+  {0xf5cf, 0xe8b7b8},
+  {0xf5d0, 0xe8b7a3},
+  {0xf5d1, 0xe8b7b9},
+  {0xf5d2, 0xe8b7bb},
+  {0xf5d3, 0xe8b7a4},
+  {0xf5d4, 0xe8b889},
+  {0xf5d5, 0xe8b7bd},
+  {0xf5d6, 0xe8b894},
+  {0xf5d7, 0xe8b89d},
+  {0xf5d8, 0xe8b89f},
+  {0xf5d9, 0xe8b8ac},
+  {0xf5da, 0xe8b8ae},
+  {0xf5db, 0xe8b8a3},
+  {0xf5dc, 0xe8b8af},
+  {0xf5dd, 0xe8b8ba},
+  {0xf5de, 0xe8b980},
+  {0xf5df, 0xe8b8b9},
+  {0xf5e0, 0xe8b8b5},
+  {0xf5e1, 0xe8b8bd},
+  {0xf5e2, 0xe8b8b1},
+  {0xf5e3, 0xe8b989},
+  {0xf5e4, 0xe8b981},
+  {0xf5e5, 0xe8b982},
+  {0xf5e6, 0xe8b991},
+  {0xf5e7, 0xe8b992},
+  {0xf5e8, 0xe8b98a},
+  {0xf5e9, 0xe8b9b0},
+  {0xf5ea, 0xe8b9b6},
+  {0xf5eb, 0xe8b9bc},
+  {0xf5ec, 0xe8b9af},
+  {0xf5ed, 0xe8b9b4},
+  {0xf5ee, 0xe8ba85},
+  {0xf5ef, 0xe8ba8f},
+  {0xf5f0, 0xe8ba94},
+  {0xf5f1, 0xe8ba90},
+  {0xf5f2, 0xe8ba9c},
+  {0xf5f3, 0xe8ba9e},
+  {0xf5f4, 0xe8b1b8},
+  {0xf5f5, 0xe8b282},
+  {0xf5f6, 0xe8b28a},
+  {0xf5f7, 0xe8b285},
+  {0xf5f8, 0xe8b298},
+  {0xf5f9, 0xe8b294},
+  {0xf5fa, 0xe6969b},
+  {0xf5fb, 0xe8a796},
+  {0xf5fc, 0xe8a79e},
+  {0xf5fd, 0xe8a79a},
+  {0xf5fe, 0xe8a79c},
+  {0xf640, 0xe9af9c},
+  {0xf641, 0xe9af9d},
+  {0xf642, 0xe9af9e},
+  {0xf643, 0xe9af9f},
+  {0xf644, 0xe9afa0},
+  {0xf645, 0xe9afa1},
+  {0xf646, 0xe9afa2},
+  {0xf647, 0xe9afa3},
+  {0xf648, 0xe9afa4},
+  {0xf649, 0xe9afa5},
+  {0xf64a, 0xe9afa6},
+  {0xf64b, 0xe9afa7},
+  {0xf64c, 0xe9afa8},
+  {0xf64d, 0xe9afa9},
+  {0xf64e, 0xe9afaa},
+  {0xf64f, 0xe9afab},
+  {0xf650, 0xe9afac},
+  {0xf651, 0xe9afad},
+  {0xf652, 0xe9afae},
+  {0xf653, 0xe9afaf},
+  {0xf654, 0xe9afb0},
+  {0xf655, 0xe9afb1},
+  {0xf656, 0xe9afb2},
+  {0xf657, 0xe9afb3},
+  {0xf658, 0xe9afb4},
+  {0xf659, 0xe9afb5},
+  {0xf65a, 0xe9afb6},
+  {0xf65b, 0xe9afb7},
+  {0xf65c, 0xe9afb8},
+  {0xf65d, 0xe9afb9},
+  {0xf65e, 0xe9afba},
+  {0xf65f, 0xe9afbb},
+  {0xf660, 0xe9afbc},
+  {0xf661, 0xe9afbd},
+  {0xf662, 0xe9afbe},
+  {0xf663, 0xe9afbf},
+  {0xf664, 0xe9b080},
+  {0xf665, 0xe9b081},
+  {0xf666, 0xe9b082},
+  {0xf667, 0xe9b083},
+  {0xf668, 0xe9b084},
+  {0xf669, 0xe9b085},
+  {0xf66a, 0xe9b086},
+  {0xf66b, 0xe9b087},
+  {0xf66c, 0xe9b088},
+  {0xf66d, 0xe9b089},
+  {0xf66e, 0xe9b08a},
+  {0xf66f, 0xe9b08b},
+  {0xf670, 0xe9b08c},
+  {0xf671, 0xe9b08d},
+  {0xf672, 0xe9b08e},
+  {0xf673, 0xe9b08f},
+  {0xf674, 0xe9b090},
+  {0xf675, 0xe9b091},
+  {0xf676, 0xe9b092},
+  {0xf677, 0xe9b093},
+  {0xf678, 0xe9b094},
+  {0xf679, 0xe9b095},
+  {0xf67a, 0xe9b096},
+  {0xf67b, 0xe9b097},
+  {0xf67c, 0xe9b098},
+  {0xf67d, 0xe9b099},
+  {0xf67e, 0xe9b09a},
+  {0xf680, 0xe9b09b},
+  {0xf681, 0xe9b09c},
+  {0xf682, 0xe9b09d},
+  {0xf683, 0xe9b09e},
+  {0xf684, 0xe9b09f},
+  {0xf685, 0xe9b0a0},
+  {0xf686, 0xe9b0a1},
+  {0xf687, 0xe9b0a2},
+  {0xf688, 0xe9b0a3},
+  {0xf689, 0xe9b0a4},
+  {0xf68a, 0xe9b0a5},
+  {0xf68b, 0xe9b0a6},
+  {0xf68c, 0xe9b0a7},
+  {0xf68d, 0xe9b0a8},
+  {0xf68e, 0xe9b0a9},
+  {0xf68f, 0xe9b0aa},
+  {0xf690, 0xe9b0ab},
+  {0xf691, 0xe9b0ac},
+  {0xf692, 0xe9b0ad},
+  {0xf693, 0xe9b0ae},
+  {0xf694, 0xe9b0af},
+  {0xf695, 0xe9b0b0},
+  {0xf696, 0xe9b0b1},
+  {0xf697, 0xe9b0b2},
+  {0xf698, 0xe9b0b3},
+  {0xf699, 0xe9b0b4},
+  {0xf69a, 0xe9b0b5},
+  {0xf69b, 0xe9b0b6},
+  {0xf69c, 0xe9b0b7},
+  {0xf69d, 0xe9b0b8},
+  {0xf69e, 0xe9b0b9},
+  {0xf69f, 0xe9b0ba},
+  {0xf6a0, 0xe9b0bb},
+  {0xf6a1, 0xe8a7a5},
+  {0xf6a2, 0xe8a7ab},
+  {0xf6a3, 0xe8a7af},
+  {0xf6a4, 0xe8a8be},
+  {0xf6a5, 0xe8aca6},
+  {0xf6a6, 0xe99d93},
+  {0xf6a7, 0xe99ba9},
+  {0xf6a8, 0xe99bb3},
+  {0xf6a9, 0xe99baf},
+  {0xf6aa, 0xe99c86},
+  {0xf6ab, 0xe99c81},
+  {0xf6ac, 0xe99c88},
+  {0xf6ad, 0xe99c8f},
+  {0xf6ae, 0xe99c8e},
+  {0xf6af, 0xe99caa},
+  {0xf6b0, 0xe99cad},
+  {0xf6b1, 0xe99cb0},
+  {0xf6b2, 0xe99cbe},
+  {0xf6b3, 0xe9be80},
+  {0xf6b4, 0xe9be83},
+  {0xf6b5, 0xe9be85},
+  {0xf6b6, 0xe9be86},
+  {0xf6b7, 0xe9be87},
+  {0xf6b8, 0xe9be88},
+  {0xf6b9, 0xe9be89},
+  {0xf6ba, 0xe9be8a},
+  {0xf6bb, 0xe9be8c},
+  {0xf6bc, 0xe9bbbe},
+  {0xf6bd, 0xe9bc8b},
+  {0xf6be, 0xe9bc8d},
+  {0xf6bf, 0xe99ab9},
+  {0xf6c0, 0xe99abc},
+  {0xf6c1, 0xe99abd},
+  {0xf6c2, 0xe99b8e},
+  {0xf6c3, 0xe99b92},
+  {0xf6c4, 0xe79ebf},
+  {0xf6c5, 0xe99ba0},
+  {0xf6c6, 0xe98a8e},
+  {0xf6c7, 0xe98aae},
+  {0xf6c8, 0xe98b88},
+  {0xf6c9, 0xe98cbe},
+  {0xf6ca, 0xe98daa},
+  {0xf6cb, 0xe98f8a},
+  {0xf6cc, 0xe98e8f},
+  {0xf6cd, 0xe990be},
+  {0xf6ce, 0xe991ab},
+  {0xf6cf, 0xe9b1bf},
+  {0xf6d0, 0xe9b282},
+  {0xf6d1, 0xe9b285},
+  {0xf6d2, 0xe9b286},
+  {0xf6d3, 0xe9b287},
+  {0xf6d4, 0xe9b288},
+  {0xf6d5, 0xe7a8a3},
+  {0xf6d6, 0xe9b28b},
+  {0xf6d7, 0xe9b28e},
+  {0xf6d8, 0xe9b290},
+  {0xf6d9, 0xe9b291},
+  {0xf6da, 0xe9b292},
+  {0xf6db, 0xe9b294},
+  {0xf6dc, 0xe9b295},
+  {0xf6dd, 0xe9b29a},
+  {0xf6de, 0xe9b29b},
+  {0xf6df, 0xe9b29e},
+  {0xf6e0, 0xe9b29f},
+  {0xf6e1, 0xe9b2a0},
+  {0xf6e2, 0xe9b2a1},
+  {0xf6e3, 0xe9b2a2},
+  {0xf6e4, 0xe9b2a3},
+  {0xf6e5, 0xe9b2a5},
+  {0xf6e6, 0xe9b2a6},
+  {0xf6e7, 0xe9b2a7},
+  {0xf6e8, 0xe9b2a8},
+  {0xf6e9, 0xe9b2a9},
+  {0xf6ea, 0xe9b2ab},
+  {0xf6eb, 0xe9b2ad},
+  {0xf6ec, 0xe9b2ae},
+  {0xf6ed, 0xe9b2b0},
+  {0xf6ee, 0xe9b2b1},
+  {0xf6ef, 0xe9b2b2},
+  {0xf6f0, 0xe9b2b3},
+  {0xf6f1, 0xe9b2b4},
+  {0xf6f2, 0xe9b2b5},
+  {0xf6f3, 0xe9b2b6},
+  {0xf6f4, 0xe9b2b7},
+  {0xf6f5, 0xe9b2ba},
+  {0xf6f6, 0xe9b2bb},
+  {0xf6f7, 0xe9b2bc},
+  {0xf6f8, 0xe9b2bd},
+  {0xf6f9, 0xe9b384},
+  {0xf6fa, 0xe9b385},
+  {0xf6fb, 0xe9b386},
+  {0xf6fc, 0xe9b387},
+  {0xf6fd, 0xe9b38a},
+  {0xf6fe, 0xe9b38b},
+  {0xf740, 0xe9b0bc},
+  {0xf741, 0xe9b0bd},
+  {0xf742, 0xe9b0be},
+  {0xf743, 0xe9b0bf},
+  {0xf744, 0xe9b180},
+  {0xf745, 0xe9b181},
+  {0xf746, 0xe9b182},
+  {0xf747, 0xe9b183},
+  {0xf748, 0xe9b184},
+  {0xf749, 0xe9b185},
+  {0xf74a, 0xe9b186},
+  {0xf74b, 0xe9b187},
+  {0xf74c, 0xe9b188},
+  {0xf74d, 0xe9b189},
+  {0xf74e, 0xe9b18a},
+  {0xf74f, 0xe9b18b},
+  {0xf750, 0xe9b18c},
+  {0xf751, 0xe9b18d},
+  {0xf752, 0xe9b18e},
+  {0xf753, 0xe9b18f},
+  {0xf754, 0xe9b190},
+  {0xf755, 0xe9b191},
+  {0xf756, 0xe9b192},
+  {0xf757, 0xe9b193},
+  {0xf758, 0xe9b194},
+  {0xf759, 0xe9b195},
+  {0xf75a, 0xe9b196},
+  {0xf75b, 0xe9b197},
+  {0xf75c, 0xe9b198},
+  {0xf75d, 0xe9b199},
+  {0xf75e, 0xe9b19a},
+  {0xf75f, 0xe9b19b},
+  {0xf760, 0xe9b19c},
+  {0xf761, 0xe9b19d},
+  {0xf762, 0xe9b19e},
+  {0xf763, 0xe9b19f},
+  {0xf764, 0xe9b1a0},
+  {0xf765, 0xe9b1a1},
+  {0xf766, 0xe9b1a2},
+  {0xf767, 0xe9b1a3},
+  {0xf768, 0xe9b1a4},
+  {0xf769, 0xe9b1a5},
+  {0xf76a, 0xe9b1a6},
+  {0xf76b, 0xe9b1a7},
+  {0xf76c, 0xe9b1a8},
+  {0xf76d, 0xe9b1a9},
+  {0xf76e, 0xe9b1aa},
+  {0xf76f, 0xe9b1ab},
+  {0xf770, 0xe9b1ac},
+  {0xf771, 0xe9b1ad},
+  {0xf772, 0xe9b1ae},
+  {0xf773, 0xe9b1af},
+  {0xf774, 0xe9b1b0},
+  {0xf775, 0xe9b1b1},
+  {0xf776, 0xe9b1b2},
+  {0xf777, 0xe9b1b3},
+  {0xf778, 0xe9b1b4},
+  {0xf779, 0xe9b1b5},
+  {0xf77a, 0xe9b1b6},
+  {0xf77b, 0xe9b1b7},
+  {0xf77c, 0xe9b1b8},
+  {0xf77d, 0xe9b1b9},
+  {0xf77e, 0xe9b1ba},
+  {0xf780, 0xe9b1bb},
+  {0xf781, 0xe9b1bd},
+  {0xf782, 0xe9b1be},
+  {0xf783, 0xe9b280},
+  {0xf784, 0xe9b283},
+  {0xf785, 0xe9b284},
+  {0xf786, 0xe9b289},
+  {0xf787, 0xe9b28a},
+  {0xf788, 0xe9b28c},
+  {0xf789, 0xe9b28f},
+  {0xf78a, 0xe9b293},
+  {0xf78b, 0xe9b296},
+  {0xf78c, 0xe9b297},
+  {0xf78d, 0xe9b298},
+  {0xf78e, 0xe9b299},
+  {0xf78f, 0xe9b29d},
+  {0xf790, 0xe9b2aa},
+  {0xf791, 0xe9b2ac},
+  {0xf792, 0xe9b2af},
+  {0xf793, 0xe9b2b9},
+  {0xf794, 0xe9b2be},
+  {0xf795, 0xe9b2bf},
+  {0xf796, 0xe9b380},
+  {0xf797, 0xe9b381},
+  {0xf798, 0xe9b382},
+  {0xf799, 0xe9b388},
+  {0xf79a, 0xe9b389},
+  {0xf79b, 0xe9b391},
+  {0xf79c, 0xe9b392},
+  {0xf79d, 0xe9b39a},
+  {0xf79e, 0xe9b39b},
+  {0xf79f, 0xe9b3a0},
+  {0xf7a0, 0xe9b3a1},
+  {0xf7a1, 0xe9b38c},
+  {0xf7a2, 0xe9b38d},
+  {0xf7a3, 0xe9b38e},
+  {0xf7a4, 0xe9b38f},
+  {0xf7a5, 0xe9b390},
+  {0xf7a6, 0xe9b393},
+  {0xf7a7, 0xe9b394},
+  {0xf7a8, 0xe9b395},
+  {0xf7a9, 0xe9b397},
+  {0xf7aa, 0xe9b398},
+  {0xf7ab, 0xe9b399},
+  {0xf7ac, 0xe9b39c},
+  {0xf7ad, 0xe9b39d},
+  {0xf7ae, 0xe9b39f},
+  {0xf7af, 0xe9b3a2},
+  {0xf7b0, 0xe99dbc},
+  {0xf7b1, 0xe99e85},
+  {0xf7b2, 0xe99e91},
+  {0xf7b3, 0xe99e92},
+  {0xf7b4, 0xe99e94},
+  {0xf7b5, 0xe99eaf},
+  {0xf7b6, 0xe99eab},
+  {0xf7b7, 0xe99ea3},
+  {0xf7b8, 0xe99eb2},
+  {0xf7b9, 0xe99eb4},
+  {0xf7ba, 0xe9aab1},
+  {0xf7bb, 0xe9aab0},
+  {0xf7bc, 0xe9aab7},
+  {0xf7bd, 0xe9b998},
+  {0xf7be, 0xe9aab6},
+  {0xf7bf, 0xe9aaba},
+  {0xf7c0, 0xe9aabc},
+  {0xf7c1, 0xe9ab81},
+  {0xf7c2, 0xe9ab80},
+  {0xf7c3, 0xe9ab85},
+  {0xf7c4, 0xe9ab82},
+  {0xf7c5, 0xe9ab8b},
+  {0xf7c6, 0xe9ab8c},
+  {0xf7c7, 0xe9ab91},
+  {0xf7c8, 0xe9ad85},
+  {0xf7c9, 0xe9ad83},
+  {0xf7ca, 0xe9ad87},
+  {0xf7cb, 0xe9ad89},
+  {0xf7cc, 0xe9ad88},
+  {0xf7cd, 0xe9ad8d},
+  {0xf7ce, 0xe9ad91},
+  {0xf7cf, 0xe9a3a8},
+  {0xf7d0, 0xe9a48d},
+  {0xf7d1, 0xe9a4ae},
+  {0xf7d2, 0xe9a595},
+  {0xf7d3, 0xe9a594},
+  {0xf7d4, 0xe9ab9f},
+  {0xf7d5, 0xe9aba1},
+  {0xf7d6, 0xe9aba6},
+  {0xf7d7, 0xe9abaf},
+  {0xf7d8, 0xe9abab},
+  {0xf7d9, 0xe9abbb},
+  {0xf7da, 0xe9abad},
+  {0xf7db, 0xe9abb9},
+  {0xf7dc, 0xe9ac88},
+  {0xf7dd, 0xe9ac8f},
+  {0xf7de, 0xe9ac93},
+  {0xf7df, 0xe9ac9f},
+  {0xf7e0, 0xe9aca3},
+  {0xf7e1, 0xe9babd},
+  {0xf7e2, 0xe9babe},
+  {0xf7e3, 0xe7b8bb},
+  {0xf7e4, 0xe9ba82},
+  {0xf7e5, 0xe9ba87},
+  {0xf7e6, 0xe9ba88},
+  {0xf7e7, 0xe9ba8b},
+  {0xf7e8, 0xe9ba92},
+  {0xf7e9, 0xe98f96},
+  {0xf7ea, 0xe9ba9d},
+  {0xf7eb, 0xe9ba9f},
+  {0xf7ec, 0xe9bb9b},
+  {0xf7ed, 0xe9bb9c},
+  {0xf7ee, 0xe9bb9d},
+  {0xf7ef, 0xe9bba0},
+  {0xf7f0, 0xe9bb9f},
+  {0xf7f1, 0xe9bba2},
+  {0xf7f2, 0xe9bba9},
+  {0xf7f3, 0xe9bba7},
+  {0xf7f4, 0xe9bba5},
+  {0xf7f5, 0xe9bbaa},
+  {0xf7f6, 0xe9bbaf},
+  {0xf7f7, 0xe9bca2},
+  {0xf7f8, 0xe9bcac},
+  {0xf7f9, 0xe9bcaf},
+  {0xf7fa, 0xe9bcb9},
+  {0xf7fb, 0xe9bcb7},
+  {0xf7fc, 0xe9bcbd},
+  {0xf7fd, 0xe9bcbe},
+  {0xf7fe, 0xe9bd84},
+  {0xf840, 0xe9b3a3},
+  {0xf841, 0xe9b3a4},
+  {0xf842, 0xe9b3a5},
+  {0xf843, 0xe9b3a6},
+  {0xf844, 0xe9b3a7},
+  {0xf845, 0xe9b3a8},
+  {0xf846, 0xe9b3a9},
+  {0xf847, 0xe9b3aa},
+  {0xf848, 0xe9b3ab},
+  {0xf849, 0xe9b3ac},
+  {0xf84a, 0xe9b3ad},
+  {0xf84b, 0xe9b3ae},
+  {0xf84c, 0xe9b3af},
+  {0xf84d, 0xe9b3b0},
+  {0xf84e, 0xe9b3b1},
+  {0xf84f, 0xe9b3b2},
+  {0xf850, 0xe9b3b3},
+  {0xf851, 0xe9b3b4},
+  {0xf852, 0xe9b3b5},
+  {0xf853, 0xe9b3b6},
+  {0xf854, 0xe9b3b7},
+  {0xf855, 0xe9b3b8},
+  {0xf856, 0xe9b3b9},
+  {0xf857, 0xe9b3ba},
+  {0xf858, 0xe9b3bb},
+  {0xf859, 0xe9b3bc},
+  {0xf85a, 0xe9b3bd},
+  {0xf85b, 0xe9b3be},
+  {0xf85c, 0xe9b3bf},
+  {0xf85d, 0xe9b480},
+  {0xf85e, 0xe9b481},
+  {0xf85f, 0xe9b482},
+  {0xf860, 0xe9b483},
+  {0xf861, 0xe9b484},
+  {0xf862, 0xe9b485},
+  {0xf863, 0xe9b486},
+  {0xf864, 0xe9b487},
+  {0xf865, 0xe9b488},
+  {0xf866, 0xe9b489},
+  {0xf867, 0xe9b48a},
+  {0xf868, 0xe9b48b},
+  {0xf869, 0xe9b48c},
+  {0xf86a, 0xe9b48d},
+  {0xf86b, 0xe9b48e},
+  {0xf86c, 0xe9b48f},
+  {0xf86d, 0xe9b490},
+  {0xf86e, 0xe9b491},
+  {0xf86f, 0xe9b492},
+  {0xf870, 0xe9b493},
+  {0xf871, 0xe9b494},
+  {0xf872, 0xe9b495},
+  {0xf873, 0xe9b496},
+  {0xf874, 0xe9b497},
+  {0xf875, 0xe9b498},
+  {0xf876, 0xe9b499},
+  {0xf877, 0xe9b49a},
+  {0xf878, 0xe9b49b},
+  {0xf879, 0xe9b49c},
+  {0xf87a, 0xe9b49d},
+  {0xf87b, 0xe9b49e},
+  {0xf87c, 0xe9b49f},
+  {0xf87d, 0xe9b4a0},
+  {0xf87e, 0xe9b4a1},
+  {0xf880, 0xe9b4a2},
+  {0xf881, 0xe9b4a3},
+  {0xf882, 0xe9b4a4},
+  {0xf883, 0xe9b4a5},
+  {0xf884, 0xe9b4a6},
+  {0xf885, 0xe9b4a7},
+  {0xf886, 0xe9b4a8},
+  {0xf887, 0xe9b4a9},
+  {0xf888, 0xe9b4aa},
+  {0xf889, 0xe9b4ab},
+  {0xf88a, 0xe9b4ac},
+  {0xf88b, 0xe9b4ad},
+  {0xf88c, 0xe9b4ae},
+  {0xf88d, 0xe9b4af},
+  {0xf88e, 0xe9b4b0},
+  {0xf88f, 0xe9b4b1},
+  {0xf890, 0xe9b4b2},
+  {0xf891, 0xe9b4b3},
+  {0xf892, 0xe9b4b4},
+  {0xf893, 0xe9b4b5},
+  {0xf894, 0xe9b4b6},
+  {0xf895, 0xe9b4b7},
+  {0xf896, 0xe9b4b8},
+  {0xf897, 0xe9b4b9},
+  {0xf898, 0xe9b4ba},
+  {0xf899, 0xe9b4bb},
+  {0xf89a, 0xe9b4bc},
+  {0xf89b, 0xe9b4bd},
+  {0xf89c, 0xe9b4be},
+  {0xf89d, 0xe9b4bf},
+  {0xf89e, 0xe9b580},
+  {0xf89f, 0xe9b581},
+  {0xf8a0, 0xe9b582},
+  {0xf8a1, 0xee88b4},
+  {0xf8a2, 0xee88b5},
+  {0xf8a3, 0xee88b6},
+  {0xf8a4, 0xee88b7},
+  {0xf8a5, 0xee88b8},
+  {0xf8a6, 0xee88b9},
+  {0xf8a7, 0xee88ba},
+  {0xf8a8, 0xee88bb},
+  {0xf8a9, 0xee88bc},
+  {0xf8aa, 0xee88bd},
+  {0xf8ab, 0xee88be},
+  {0xf8ac, 0xee88bf},
+  {0xf8ad, 0xee8980},
+  {0xf8ae, 0xee8981},
+  {0xf8af, 0xee8982},
+  {0xf8b0, 0xee8983},
+  {0xf8b1, 0xee8984},
+  {0xf8b2, 0xee8985},
+  {0xf8b3, 0xee8986},
+  {0xf8b4, 0xee8987},
+  {0xf8b5, 0xee8988},
+  {0xf8b6, 0xee8989},
+  {0xf8b7, 0xee898a},
+  {0xf8b8, 0xee898b},
+  {0xf8b9, 0xee898c},
+  {0xf8ba, 0xee898d},
+  {0xf8bb, 0xee898e},
+  {0xf8bc, 0xee898f},
+  {0xf8bd, 0xee8990},
+  {0xf8be, 0xee8991},
+  {0xf8bf, 0xee8992},
+  {0xf8c0, 0xee8993},
+  {0xf8c1, 0xee8994},
+  {0xf8c2, 0xee8995},
+  {0xf8c3, 0xee8996},
+  {0xf8c4, 0xee8997},
+  {0xf8c5, 0xee8998},
+  {0xf8c6, 0xee8999},
+  {0xf8c7, 0xee899a},
+  {0xf8c8, 0xee899b},
+  {0xf8c9, 0xee899c},
+  {0xf8ca, 0xee899d},
+  {0xf8cb, 0xee899e},
+  {0xf8cc, 0xee899f},
+  {0xf8cd, 0xee89a0},
+  {0xf8ce, 0xee89a1},
+  {0xf8cf, 0xee89a2},
+  {0xf8d0, 0xee89a3},
+  {0xf8d1, 0xee89a4},
+  {0xf8d2, 0xee89a5},
+  {0xf8d3, 0xee89a6},
+  {0xf8d4, 0xee89a7},
+  {0xf8d5, 0xee89a8},
+  {0xf8d6, 0xee89a9},
+  {0xf8d7, 0xee89aa},
+  {0xf8d8, 0xee89ab},
+  {0xf8d9, 0xee89ac},
+  {0xf8da, 0xee89ad},
+  {0xf8db, 0xee89ae},
+  {0xf8dc, 0xee89af},
+  {0xf8dd, 0xee89b0},
+  {0xf8de, 0xee89b1},
+  {0xf8df, 0xee89b2},
+  {0xf8e0, 0xee89b3},
+  {0xf8e1, 0xee89b4},
+  {0xf8e2, 0xee89b5},
+  {0xf8e3, 0xee89b6},
+  {0xf8e4, 0xee89b7},
+  {0xf8e5, 0xee89b8},
+  {0xf8e6, 0xee89b9},
+  {0xf8e7, 0xee89ba},
+  {0xf8e8, 0xee89bb},
+  {0xf8e9, 0xee89bc},
+  {0xf8ea, 0xee89bd},
+  {0xf8eb, 0xee89be},
+  {0xf8ec, 0xee89bf},
+  {0xf8ed, 0xee8a80},
+  {0xf8ee, 0xee8a81},
+  {0xf8ef, 0xee8a82},
+  {0xf8f0, 0xee8a83},
+  {0xf8f1, 0xee8a84},
+  {0xf8f2, 0xee8a85},
+  {0xf8f3, 0xee8a86},
+  {0xf8f4, 0xee8a87},
+  {0xf8f5, 0xee8a88},
+  {0xf8f6, 0xee8a89},
+  {0xf8f7, 0xee8a8a},
+  {0xf8f8, 0xee8a8b},
+  {0xf8f9, 0xee8a8c},
+  {0xf8fa, 0xee8a8d},
+  {0xf8fb, 0xee8a8e},
+  {0xf8fc, 0xee8a8f},
+  {0xf8fd, 0xee8a90},
+  {0xf8fe, 0xee8a91},
+  {0xf940, 0xe9b583},
+  {0xf941, 0xe9b584},
+  {0xf942, 0xe9b585},
+  {0xf943, 0xe9b586},
+  {0xf944, 0xe9b587},
+  {0xf945, 0xe9b588},
+  {0xf946, 0xe9b589},
+  {0xf947, 0xe9b58a},
+  {0xf948, 0xe9b58b},
+  {0xf949, 0xe9b58c},
+  {0xf94a, 0xe9b58d},
+  {0xf94b, 0xe9b58e},
+  {0xf94c, 0xe9b58f},
+  {0xf94d, 0xe9b590},
+  {0xf94e, 0xe9b591},
+  {0xf94f, 0xe9b592},
+  {0xf950, 0xe9b593},
+  {0xf951, 0xe9b594},
+  {0xf952, 0xe9b595},
+  {0xf953, 0xe9b596},
+  {0xf954, 0xe9b597},
+  {0xf955, 0xe9b598},
+  {0xf956, 0xe9b599},
+  {0xf957, 0xe9b59a},
+  {0xf958, 0xe9b59b},
+  {0xf959, 0xe9b59c},
+  {0xf95a, 0xe9b59d},
+  {0xf95b, 0xe9b59e},
+  {0xf95c, 0xe9b59f},
+  {0xf95d, 0xe9b5a0},
+  {0xf95e, 0xe9b5a1},
+  {0xf95f, 0xe9b5a2},
+  {0xf960, 0xe9b5a3},
+  {0xf961, 0xe9b5a4},
+  {0xf962, 0xe9b5a5},
+  {0xf963, 0xe9b5a6},
+  {0xf964, 0xe9b5a7},
+  {0xf965, 0xe9b5a8},
+  {0xf966, 0xe9b5a9},
+  {0xf967, 0xe9b5aa},
+  {0xf968, 0xe9b5ab},
+  {0xf969, 0xe9b5ac},
+  {0xf96a, 0xe9b5ad},
+  {0xf96b, 0xe9b5ae},
+  {0xf96c, 0xe9b5af},
+  {0xf96d, 0xe9b5b0},
+  {0xf96e, 0xe9b5b1},
+  {0xf96f, 0xe9b5b2},
+  {0xf970, 0xe9b5b3},
+  {0xf971, 0xe9b5b4},
+  {0xf972, 0xe9b5b5},
+  {0xf973, 0xe9b5b6},
+  {0xf974, 0xe9b5b7},
+  {0xf975, 0xe9b5b8},
+  {0xf976, 0xe9b5b9},
+  {0xf977, 0xe9b5ba},
+  {0xf978, 0xe9b5bb},
+  {0xf979, 0xe9b5bc},
+  {0xf97a, 0xe9b5bd},
+  {0xf97b, 0xe9b5be},
+  {0xf97c, 0xe9b5bf},
+  {0xf97d, 0xe9b680},
+  {0xf97e, 0xe9b681},
+  {0xf980, 0xe9b682},
+  {0xf981, 0xe9b683},
+  {0xf982, 0xe9b684},
+  {0xf983, 0xe9b685},
+  {0xf984, 0xe9b686},
+  {0xf985, 0xe9b687},
+  {0xf986, 0xe9b688},
+  {0xf987, 0xe9b689},
+  {0xf988, 0xe9b68a},
+  {0xf989, 0xe9b68b},
+  {0xf98a, 0xe9b68c},
+  {0xf98b, 0xe9b68d},
+  {0xf98c, 0xe9b68e},
+  {0xf98d, 0xe9b68f},
+  {0xf98e, 0xe9b690},
+  {0xf98f, 0xe9b691},
+  {0xf990, 0xe9b692},
+  {0xf991, 0xe9b693},
+  {0xf992, 0xe9b694},
+  {0xf993, 0xe9b695},
+  {0xf994, 0xe9b696},
+  {0xf995, 0xe9b697},
+  {0xf996, 0xe9b698},
+  {0xf997, 0xe9b699},
+  {0xf998, 0xe9b69a},
+  {0xf999, 0xe9b69b},
+  {0xf99a, 0xe9b69c},
+  {0xf99b, 0xe9b69d},
+  {0xf99c, 0xe9b69e},
+  {0xf99d, 0xe9b69f},
+  {0xf99e, 0xe9b6a0},
+  {0xf99f, 0xe9b6a1},
+  {0xf9a0, 0xe9b6a2},
+  {0xf9a1, 0xee8a92},
+  {0xf9a2, 0xee8a93},
+  {0xf9a3, 0xee8a94},
+  {0xf9a4, 0xee8a95},
+  {0xf9a5, 0xee8a96},
+  {0xf9a6, 0xee8a97},
+  {0xf9a7, 0xee8a98},
+  {0xf9a8, 0xee8a99},
+  {0xf9a9, 0xee8a9a},
+  {0xf9aa, 0xee8a9b},
+  {0xf9ab, 0xee8a9c},
+  {0xf9ac, 0xee8a9d},
+  {0xf9ad, 0xee8a9e},
+  {0xf9ae, 0xee8a9f},
+  {0xf9af, 0xee8aa0},
+  {0xf9b0, 0xee8aa1},
+  {0xf9b1, 0xee8aa2},
+  {0xf9b2, 0xee8aa3},
+  {0xf9b3, 0xee8aa4},
+  {0xf9b4, 0xee8aa5},
+  {0xf9b5, 0xee8aa6},
+  {0xf9b6, 0xee8aa7},
+  {0xf9b7, 0xee8aa8},
+  {0xf9b8, 0xee8aa9},
+  {0xf9b9, 0xee8aaa},
+  {0xf9ba, 0xee8aab},
+  {0xf9bb, 0xee8aac},
+  {0xf9bc, 0xee8aad},
+  {0xf9bd, 0xee8aae},
+  {0xf9be, 0xee8aaf},
+  {0xf9bf, 0xee8ab0},
+  {0xf9c0, 0xee8ab1},
+  {0xf9c1, 0xee8ab2},
+  {0xf9c2, 0xee8ab3},
+  {0xf9c3, 0xee8ab4},
+  {0xf9c4, 0xee8ab5},
+  {0xf9c5, 0xee8ab6},
+  {0xf9c6, 0xee8ab7},
+  {0xf9c7, 0xee8ab8},
+  {0xf9c8, 0xee8ab9},
+  {0xf9c9, 0xee8aba},
+  {0xf9ca, 0xee8abb},
+  {0xf9cb, 0xee8abc},
+  {0xf9cc, 0xee8abd},
+  {0xf9cd, 0xee8abe},
+  {0xf9ce, 0xee8abf},
+  {0xf9cf, 0xee8b80},
+  {0xf9d0, 0xee8b81},
+  {0xf9d1, 0xee8b82},
+  {0xf9d2, 0xee8b83},
+  {0xf9d3, 0xee8b84},
+  {0xf9d4, 0xee8b85},
+  {0xf9d5, 0xee8b86},
+  {0xf9d6, 0xee8b87},
+  {0xf9d7, 0xee8b88},
+  {0xf9d8, 0xee8b89},
+  {0xf9d9, 0xee8b8a},
+  {0xf9da, 0xee8b8b},
+  {0xf9db, 0xee8b8c},
+  {0xf9dc, 0xee8b8d},
+  {0xf9dd, 0xee8b8e},
+  {0xf9de, 0xee8b8f},
+  {0xf9df, 0xee8b90},
+  {0xf9e0, 0xee8b91},
+  {0xf9e1, 0xee8b92},
+  {0xf9e2, 0xee8b93},
+  {0xf9e3, 0xee8b94},
+  {0xf9e4, 0xee8b95},
+  {0xf9e5, 0xee8b96},
+  {0xf9e6, 0xee8b97},
+  {0xf9e7, 0xee8b98},
+  {0xf9e8, 0xee8b99},
+  {0xf9e9, 0xee8b9a},
+  {0xf9ea, 0xee8b9b},
+  {0xf9eb, 0xee8b9c},
+  {0xf9ec, 0xee8b9d},
+  {0xf9ed, 0xee8b9e},
+  {0xf9ee, 0xee8b9f},
+  {0xf9ef, 0xee8ba0},
+  {0xf9f0, 0xee8ba1},
+  {0xf9f1, 0xee8ba2},
+  {0xf9f2, 0xee8ba3},
+  {0xf9f3, 0xee8ba4},
+  {0xf9f4, 0xee8ba5},
+  {0xf9f5, 0xee8ba6},
+  {0xf9f6, 0xee8ba7},
+  {0xf9f7, 0xee8ba8},
+  {0xf9f8, 0xee8ba9},
+  {0xf9f9, 0xee8baa},
+  {0xf9fa, 0xee8bab},
+  {0xf9fb, 0xee8bac},
+  {0xf9fc, 0xee8bad},
+  {0xf9fd, 0xee8bae},
+  {0xf9fe, 0xee8baf},
+  {0xfa40, 0xe9b6a3},
+  {0xfa41, 0xe9b6a4},
+  {0xfa42, 0xe9b6a5},
+  {0xfa43, 0xe9b6a6},
+  {0xfa44, 0xe9b6a7},
+  {0xfa45, 0xe9b6a8},
+  {0xfa46, 0xe9b6a9},
+  {0xfa47, 0xe9b6aa},
+  {0xfa48, 0xe9b6ab},
+  {0xfa49, 0xe9b6ac},
+  {0xfa4a, 0xe9b6ad},
+  {0xfa4b, 0xe9b6ae},
+  {0xfa4c, 0xe9b6af},
+  {0xfa4d, 0xe9b6b0},
+  {0xfa4e, 0xe9b6b1},
+  {0xfa4f, 0xe9b6b2},
+  {0xfa50, 0xe9b6b3},
+  {0xfa51, 0xe9b6b4},
+  {0xfa52, 0xe9b6b5},
+  {0xfa53, 0xe9b6b6},
+  {0xfa54, 0xe9b6b7},
+  {0xfa55, 0xe9b6b8},
+  {0xfa56, 0xe9b6b9},
+  {0xfa57, 0xe9b6ba},
+  {0xfa58, 0xe9b6bb},
+  {0xfa59, 0xe9b6bc},
+  {0xfa5a, 0xe9b6bd},
+  {0xfa5b, 0xe9b6be},
+  {0xfa5c, 0xe9b6bf},
+  {0xfa5d, 0xe9b780},
+  {0xfa5e, 0xe9b781},
+  {0xfa5f, 0xe9b782},
+  {0xfa60, 0xe9b783},
+  {0xfa61, 0xe9b784},
+  {0xfa62, 0xe9b785},
+  {0xfa63, 0xe9b786},
+  {0xfa64, 0xe9b787},
+  {0xfa65, 0xe9b788},
+  {0xfa66, 0xe9b789},
+  {0xfa67, 0xe9b78a},
+  {0xfa68, 0xe9b78b},
+  {0xfa69, 0xe9b78c},
+  {0xfa6a, 0xe9b78d},
+  {0xfa6b, 0xe9b78e},
+  {0xfa6c, 0xe9b78f},
+  {0xfa6d, 0xe9b790},
+  {0xfa6e, 0xe9b791},
+  {0xfa6f, 0xe9b792},
+  {0xfa70, 0xe9b793},
+  {0xfa71, 0xe9b794},
+  {0xfa72, 0xe9b795},
+  {0xfa73, 0xe9b796},
+  {0xfa74, 0xe9b797},
+  {0xfa75, 0xe9b798},
+  {0xfa76, 0xe9b799},
+  {0xfa77, 0xe9b79a},
+  {0xfa78, 0xe9b79b},
+  {0xfa79, 0xe9b79c},
+  {0xfa7a, 0xe9b79d},
+  {0xfa7b, 0xe9b79e},
+  {0xfa7c, 0xe9b79f},
+  {0xfa7d, 0xe9b7a0},
+  {0xfa7e, 0xe9b7a1},
+  {0xfa80, 0xe9b7a2},
+  {0xfa81, 0xe9b7a3},
+  {0xfa82, 0xe9b7a4},
+  {0xfa83, 0xe9b7a5},
+  {0xfa84, 0xe9b7a6},
+  {0xfa85, 0xe9b7a7},
+  {0xfa86, 0xe9b7a8},
+  {0xfa87, 0xe9b7a9},
+  {0xfa88, 0xe9b7aa},
+  {0xfa89, 0xe9b7ab},
+  {0xfa8a, 0xe9b7ac},
+  {0xfa8b, 0xe9b7ad},
+  {0xfa8c, 0xe9b7ae},
+  {0xfa8d, 0xe9b7af},
+  {0xfa8e, 0xe9b7b0},
+  {0xfa8f, 0xe9b7b1},
+  {0xfa90, 0xe9b7b2},
+  {0xfa91, 0xe9b7b3},
+  {0xfa92, 0xe9b7b4},
+  {0xfa93, 0xe9b7b5},
+  {0xfa94, 0xe9b7b6},
+  {0xfa95, 0xe9b7b7},
+  {0xfa96, 0xe9b7b8},
+  {0xfa97, 0xe9b7b9},
+  {0xfa98, 0xe9b7ba},
+  {0xfa99, 0xe9b7bb},
+  {0xfa9a, 0xe9b7bc},
+  {0xfa9b, 0xe9b7bd},
+  {0xfa9c, 0xe9b7be},
+  {0xfa9d, 0xe9b7bf},
+  {0xfa9e, 0xe9b880},
+  {0xfa9f, 0xe9b881},
+  {0xfaa0, 0xe9b882},
+  {0xfaa1, 0xee8bb0},
+  {0xfaa2, 0xee8bb1},
+  {0xfaa3, 0xee8bb2},
+  {0xfaa4, 0xee8bb3},
+  {0xfaa5, 0xee8bb4},
+  {0xfaa6, 0xee8bb5},
+  {0xfaa7, 0xee8bb6},
+  {0xfaa8, 0xee8bb7},
+  {0xfaa9, 0xee8bb8},
+  {0xfaaa, 0xee8bb9},
+  {0xfaab, 0xee8bba},
+  {0xfaac, 0xee8bbb},
+  {0xfaad, 0xee8bbc},
+  {0xfaae, 0xee8bbd},
+  {0xfaaf, 0xee8bbe},
+  {0xfab0, 0xee8bbf},
+  {0xfab1, 0xee8c80},
+  {0xfab2, 0xee8c81},
+  {0xfab3, 0xee8c82},
+  {0xfab4, 0xee8c83},
+  {0xfab5, 0xee8c84},
+  {0xfab6, 0xee8c85},
+  {0xfab7, 0xee8c86},
+  {0xfab8, 0xee8c87},
+  {0xfab9, 0xee8c88},
+  {0xfaba, 0xee8c89},
+  {0xfabb, 0xee8c8a},
+  {0xfabc, 0xee8c8b},
+  {0xfabd, 0xee8c8c},
+  {0xfabe, 0xee8c8d},
+  {0xfabf, 0xee8c8e},
+  {0xfac0, 0xee8c8f},
+  {0xfac1, 0xee8c90},
+  {0xfac2, 0xee8c91},
+  {0xfac3, 0xee8c92},
+  {0xfac4, 0xee8c93},
+  {0xfac5, 0xee8c94},
+  {0xfac6, 0xee8c95},
+  {0xfac7, 0xee8c96},
+  {0xfac8, 0xee8c97},
+  {0xfac9, 0xee8c98},
+  {0xfaca, 0xee8c99},
+  {0xfacb, 0xee8c9a},
+  {0xfacc, 0xee8c9b},
+  {0xfacd, 0xee8c9c},
+  {0xface, 0xee8c9d},
+  {0xfacf, 0xee8c9e},
+  {0xfad0, 0xee8c9f},
+  {0xfad1, 0xee8ca0},
+  {0xfad2, 0xee8ca1},
+  {0xfad3, 0xee8ca2},
+  {0xfad4, 0xee8ca3},
+  {0xfad5, 0xee8ca4},
+  {0xfad6, 0xee8ca5},
+  {0xfad7, 0xee8ca6},
+  {0xfad8, 0xee8ca7},
+  {0xfad9, 0xee8ca8},
+  {0xfada, 0xee8ca9},
+  {0xfadb, 0xee8caa},
+  {0xfadc, 0xee8cab},
+  {0xfadd, 0xee8cac},
+  {0xfade, 0xee8cad},
+  {0xfadf, 0xee8cae},
+  {0xfae0, 0xee8caf},
+  {0xfae1, 0xee8cb0},
+  {0xfae2, 0xee8cb1},
+  {0xfae3, 0xee8cb2},
+  {0xfae4, 0xee8cb3},
+  {0xfae5, 0xee8cb4},
+  {0xfae6, 0xee8cb5},
+  {0xfae7, 0xee8cb6},
+  {0xfae8, 0xee8cb7},
+  {0xfae9, 0xee8cb8},
+  {0xfaea, 0xee8cb9},
+  {0xfaeb, 0xee8cba},
+  {0xfaec, 0xee8cbb},
+  {0xfaed, 0xee8cbc},
+  {0xfaee, 0xee8cbd},
+  {0xfaef, 0xee8cbe},
+  {0xfaf0, 0xee8cbf},
+  {0xfaf1, 0xee8d80},
+  {0xfaf2, 0xee8d81},
+  {0xfaf3, 0xee8d82},
+  {0xfaf4, 0xee8d83},
+  {0xfaf5, 0xee8d84},
+  {0xfaf6, 0xee8d85},
+  {0xfaf7, 0xee8d86},
+  {0xfaf8, 0xee8d87},
+  {0xfaf9, 0xee8d88},
+  {0xfafa, 0xee8d89},
+  {0xfafb, 0xee8d8a},
+  {0xfafc, 0xee8d8b},
+  {0xfafd, 0xee8d8c},
+  {0xfafe, 0xee8d8d},
+  {0xfb40, 0xe9b883},
+  {0xfb41, 0xe9b884},
+  {0xfb42, 0xe9b885},
+  {0xfb43, 0xe9b886},
+  {0xfb44, 0xe9b887},
+  {0xfb45, 0xe9b888},
+  {0xfb46, 0xe9b889},
+  {0xfb47, 0xe9b88a},
+  {0xfb48, 0xe9b88b},
+  {0xfb49, 0xe9b88c},
+  {0xfb4a, 0xe9b88d},
+  {0xfb4b, 0xe9b88e},
+  {0xfb4c, 0xe9b88f},
+  {0xfb4d, 0xe9b890},
+  {0xfb4e, 0xe9b891},
+  {0xfb4f, 0xe9b892},
+  {0xfb50, 0xe9b893},
+  {0xfb51, 0xe9b894},
+  {0xfb52, 0xe9b895},
+  {0xfb53, 0xe9b896},
+  {0xfb54, 0xe9b897},
+  {0xfb55, 0xe9b898},
+  {0xfb56, 0xe9b899},
+  {0xfb57, 0xe9b89a},
+  {0xfb58, 0xe9b89b},
+  {0xfb59, 0xe9b89c},
+  {0xfb5a, 0xe9b89d},
+  {0xfb5b, 0xe9b89e},
+  {0xfb5c, 0xe9b8a4},
+  {0xfb5d, 0xe9b8a7},
+  {0xfb5e, 0xe9b8ae},
+  {0xfb5f, 0xe9b8b0},
+  {0xfb60, 0xe9b8b4},
+  {0xfb61, 0xe9b8bb},
+  {0xfb62, 0xe9b8bc},
+  {0xfb63, 0xe9b980},
+  {0xfb64, 0xe9b98d},
+  {0xfb65, 0xe9b990},
+  {0xfb66, 0xe9b992},
+  {0xfb67, 0xe9b993},
+  {0xfb68, 0xe9b994},
+  {0xfb69, 0xe9b996},
+  {0xfb6a, 0xe9b999},
+  {0xfb6b, 0xe9b99d},
+  {0xfb6c, 0xe9b99f},
+  {0xfb6d, 0xe9b9a0},
+  {0xfb6e, 0xe9b9a1},
+  {0xfb6f, 0xe9b9a2},
+  {0xfb70, 0xe9b9a5},
+  {0xfb71, 0xe9b9ae},
+  {0xfb72, 0xe9b9af},
+  {0xfb73, 0xe9b9b2},
+  {0xfb74, 0xe9b9b4},
+  {0xfb75, 0xe9b9b5},
+  {0xfb76, 0xe9b9b6},
+  {0xfb77, 0xe9b9b7},
+  {0xfb78, 0xe9b9b8},
+  {0xfb79, 0xe9b9b9},
+  {0xfb7a, 0xe9b9ba},
+  {0xfb7b, 0xe9b9bb},
+  {0xfb7c, 0xe9b9bc},
+  {0xfb7d, 0xe9b9bd},
+  {0xfb7e, 0xe9ba80},
+  {0xfb80, 0xe9ba81},
+  {0xfb81, 0xe9ba83},
+  {0xfb82, 0xe9ba84},
+  {0xfb83, 0xe9ba85},
+  {0xfb84, 0xe9ba86},
+  {0xfb85, 0xe9ba89},
+  {0xfb86, 0xe9ba8a},
+  {0xfb87, 0xe9ba8c},
+  {0xfb88, 0xe9ba8d},
+  {0xfb89, 0xe9ba8e},
+  {0xfb8a, 0xe9ba8f},
+  {0xfb8b, 0xe9ba90},
+  {0xfb8c, 0xe9ba91},
+  {0xfb8d, 0xe9ba94},
+  {0xfb8e, 0xe9ba95},
+  {0xfb8f, 0xe9ba96},
+  {0xfb90, 0xe9ba97},
+  {0xfb91, 0xe9ba98},
+  {0xfb92, 0xe9ba99},
+  {0xfb93, 0xe9ba9a},
+  {0xfb94, 0xe9ba9b},
+  {0xfb95, 0xe9ba9c},
+  {0xfb96, 0xe9ba9e},
+  {0xfb97, 0xe9baa0},
+  {0xfb98, 0xe9baa1},
+  {0xfb99, 0xe9baa2},
+  {0xfb9a, 0xe9baa3},
+  {0xfb9b, 0xe9baa4},
+  {0xfb9c, 0xe9baa5},
+  {0xfb9d, 0xe9baa7},
+  {0xfb9e, 0xe9baa8},
+  {0xfb9f, 0xe9baa9},
+  {0xfba0, 0xe9baaa},
+  {0xfba1, 0xee8d8e},
+  {0xfba2, 0xee8d8f},
+  {0xfba3, 0xee8d90},
+  {0xfba4, 0xee8d91},
+  {0xfba5, 0xee8d92},
+  {0xfba6, 0xee8d93},
+  {0xfba7, 0xee8d94},
+  {0xfba8, 0xee8d95},
+  {0xfba9, 0xee8d96},
+  {0xfbaa, 0xee8d97},
+  {0xfbab, 0xee8d98},
+  {0xfbac, 0xee8d99},
+  {0xfbad, 0xee8d9a},
+  {0xfbae, 0xee8d9b},
+  {0xfbaf, 0xee8d9c},
+  {0xfbb0, 0xee8d9d},
+  {0xfbb1, 0xee8d9e},
+  {0xfbb2, 0xee8d9f},
+  {0xfbb3, 0xee8da0},
+  {0xfbb4, 0xee8da1},
+  {0xfbb5, 0xee8da2},
+  {0xfbb6, 0xee8da3},
+  {0xfbb7, 0xee8da4},
+  {0xfbb8, 0xee8da5},
+  {0xfbb9, 0xee8da6},
+  {0xfbba, 0xee8da7},
+  {0xfbbb, 0xee8da8},
+  {0xfbbc, 0xee8da9},
+  {0xfbbd, 0xee8daa},
+  {0xfbbe, 0xee8dab},
+  {0xfbbf, 0xee8dac},
+  {0xfbc0, 0xee8dad},
+  {0xfbc1, 0xee8dae},
+  {0xfbc2, 0xee8daf},
+  {0xfbc3, 0xee8db0},
+  {0xfbc4, 0xee8db1},
+  {0xfbc5, 0xee8db2},
+  {0xfbc6, 0xee8db3},
+  {0xfbc7, 0xee8db4},
+  {0xfbc8, 0xee8db5},
+  {0xfbc9, 0xee8db6},
+  {0xfbca, 0xee8db7},
+  {0xfbcb, 0xee8db8},
+  {0xfbcc, 0xee8db9},
+  {0xfbcd, 0xee8dba},
+  {0xfbce, 0xee8dbb},
+  {0xfbcf, 0xee8dbc},
+  {0xfbd0, 0xee8dbd},
+  {0xfbd1, 0xee8dbe},
+  {0xfbd2, 0xee8dbf},
+  {0xfbd3, 0xee8e80},
+  {0xfbd4, 0xee8e81},
+  {0xfbd5, 0xee8e82},
+  {0xfbd6, 0xee8e83},
+  {0xfbd7, 0xee8e84},
+  {0xfbd8, 0xee8e85},
+  {0xfbd9, 0xee8e86},
+  {0xfbda, 0xee8e87},
+  {0xfbdb, 0xee8e88},
+  {0xfbdc, 0xee8e89},
+  {0xfbdd, 0xee8e8a},
+  {0xfbde, 0xee8e8b},
+  {0xfbdf, 0xee8e8c},
+  {0xfbe0, 0xee8e8d},
+  {0xfbe1, 0xee8e8e},
+  {0xfbe2, 0xee8e8f},
+  {0xfbe3, 0xee8e90},
+  {0xfbe4, 0xee8e91},
+  {0xfbe5, 0xee8e92},
+  {0xfbe6, 0xee8e93},
+  {0xfbe7, 0xee8e94},
+  {0xfbe8, 0xee8e95},
+  {0xfbe9, 0xee8e96},
+  {0xfbea, 0xee8e97},
+  {0xfbeb, 0xee8e98},
+  {0xfbec, 0xee8e99},
+  {0xfbed, 0xee8e9a},
+  {0xfbee, 0xee8e9b},
+  {0xfbef, 0xee8e9c},
+  {0xfbf0, 0xee8e9d},
+  {0xfbf1, 0xee8e9e},
+  {0xfbf2, 0xee8e9f},
+  {0xfbf3, 0xee8ea0},
+  {0xfbf4, 0xee8ea1},
+  {0xfbf5, 0xee8ea2},
+  {0xfbf6, 0xee8ea3},
+  {0xfbf7, 0xee8ea4},
+  {0xfbf8, 0xee8ea5},
+  {0xfbf9, 0xee8ea6},
+  {0xfbfa, 0xee8ea7},
+  {0xfbfb, 0xee8ea8},
+  {0xfbfc, 0xee8ea9},
+  {0xfbfd, 0xee8eaa},
+  {0xfbfe, 0xee8eab},
+  {0xfc40, 0xe9baab},
+  {0xfc41, 0xe9baac},
+  {0xfc42, 0xe9baad},
+  {0xfc43, 0xe9baae},
+  {0xfc44, 0xe9baaf},
+  {0xfc45, 0xe9bab0},
+  {0xfc46, 0xe9bab1},
+  {0xfc47, 0xe9bab2},
+  {0xfc48, 0xe9bab3},
+  {0xfc49, 0xe9bab5},
+  {0xfc4a, 0xe9bab6},
+  {0xfc4b, 0xe9bab7},
+  {0xfc4c, 0xe9bab9},
+  {0xfc4d, 0xe9baba},
+  {0xfc4e, 0xe9babc},
+  {0xfc4f, 0xe9babf},
+  {0xfc50, 0xe9bb80},
+  {0xfc51, 0xe9bb81},
+  {0xfc52, 0xe9bb82},
+  {0xfc53, 0xe9bb83},
+  {0xfc54, 0xe9bb85},
+  {0xfc55, 0xe9bb86},
+  {0xfc56, 0xe9bb87},
+  {0xfc57, 0xe9bb88},
+  {0xfc58, 0xe9bb8a},
+  {0xfc59, 0xe9bb8b},
+  {0xfc5a, 0xe9bb8c},
+  {0xfc5b, 0xe9bb90},
+  {0xfc5c, 0xe9bb92},
+  {0xfc5d, 0xe9bb93},
+  {0xfc5e, 0xe9bb95},
+  {0xfc5f, 0xe9bb96},
+  {0xfc60, 0xe9bb97},
+  {0xfc61, 0xe9bb99},
+  {0xfc62, 0xe9bb9a},
+  {0xfc63, 0xe9bb9e},
+  {0xfc64, 0xe9bba1},
+  {0xfc65, 0xe9bba3},
+  {0xfc66, 0xe9bba4},
+  {0xfc67, 0xe9bba6},
+  {0xfc68, 0xe9bba8},
+  {0xfc69, 0xe9bbab},
+  {0xfc6a, 0xe9bbac},
+  {0xfc6b, 0xe9bbad},
+  {0xfc6c, 0xe9bbae},
+  {0xfc6d, 0xe9bbb0},
+  {0xfc6e, 0xe9bbb1},
+  {0xfc6f, 0xe9bbb2},
+  {0xfc70, 0xe9bbb3},
+  {0xfc71, 0xe9bbb4},
+  {0xfc72, 0xe9bbb5},
+  {0xfc73, 0xe9bbb6},
+  {0xfc74, 0xe9bbb7},
+  {0xfc75, 0xe9bbb8},
+  {0xfc76, 0xe9bbba},
+  {0xfc77, 0xe9bbbd},
+  {0xfc78, 0xe9bbbf},
+  {0xfc79, 0xe9bc80},
+  {0xfc7a, 0xe9bc81},
+  {0xfc7b, 0xe9bc82},
+  {0xfc7c, 0xe9bc83},
+  {0xfc7d, 0xe9bc84},
+  {0xfc7e, 0xe9bc85},
+  {0xfc80, 0xe9bc86},
+  {0xfc81, 0xe9bc87},
+  {0xfc82, 0xe9bc88},
+  {0xfc83, 0xe9bc89},
+  {0xfc84, 0xe9bc8a},
+  {0xfc85, 0xe9bc8c},
+  {0xfc86, 0xe9bc8f},
+  {0xfc87, 0xe9bc91},
+  {0xfc88, 0xe9bc92},
+  {0xfc89, 0xe9bc94},
+  {0xfc8a, 0xe9bc95},
+  {0xfc8b, 0xe9bc96},
+  {0xfc8c, 0xe9bc98},
+  {0xfc8d, 0xe9bc9a},
+  {0xfc8e, 0xe9bc9b},
+  {0xfc8f, 0xe9bc9c},
+  {0xfc90, 0xe9bc9d},
+  {0xfc91, 0xe9bc9e},
+  {0xfc92, 0xe9bc9f},
+  {0xfc93, 0xe9bca1},
+  {0xfc94, 0xe9bca3},
+  {0xfc95, 0xe9bca4},
+  {0xfc96, 0xe9bca5},
+  {0xfc97, 0xe9bca6},
+  {0xfc98, 0xe9bca7},
+  {0xfc99, 0xe9bca8},
+  {0xfc9a, 0xe9bca9},
+  {0xfc9b, 0xe9bcaa},
+  {0xfc9c, 0xe9bcab},
+  {0xfc9d, 0xe9bcad},
+  {0xfc9e, 0xe9bcae},
+  {0xfc9f, 0xe9bcb0},
+  {0xfca0, 0xe9bcb1},
+  {0xfca1, 0xee8eac},
+  {0xfca2, 0xee8ead},
+  {0xfca3, 0xee8eae},
+  {0xfca4, 0xee8eaf},
+  {0xfca5, 0xee8eb0},
+  {0xfca6, 0xee8eb1},
+  {0xfca7, 0xee8eb2},
+  {0xfca8, 0xee8eb3},
+  {0xfca9, 0xee8eb4},
+  {0xfcaa, 0xee8eb5},
+  {0xfcab, 0xee8eb6},
+  {0xfcac, 0xee8eb7},
+  {0xfcad, 0xee8eb8},
+  {0xfcae, 0xee8eb9},
+  {0xfcaf, 0xee8eba},
+  {0xfcb0, 0xee8ebb},
+  {0xfcb1, 0xee8ebc},
+  {0xfcb2, 0xee8ebd},
+  {0xfcb3, 0xee8ebe},
+  {0xfcb4, 0xee8ebf},
+  {0xfcb5, 0xee8f80},
+  {0xfcb6, 0xee8f81},
+  {0xfcb7, 0xee8f82},
+  {0xfcb8, 0xee8f83},
+  {0xfcb9, 0xee8f84},
+  {0xfcba, 0xee8f85},
+  {0xfcbb, 0xee8f86},
+  {0xfcbc, 0xee8f87},
+  {0xfcbd, 0xee8f88},
+  {0xfcbe, 0xee8f89},
+  {0xfcbf, 0xee8f8a},
+  {0xfcc0, 0xee8f8b},
+  {0xfcc1, 0xee8f8c},
+  {0xfcc2, 0xee8f8d},
+  {0xfcc3, 0xee8f8e},
+  {0xfcc4, 0xee8f8f},
+  {0xfcc5, 0xee8f90},
+  {0xfcc6, 0xee8f91},
+  {0xfcc7, 0xee8f92},
+  {0xfcc8, 0xee8f93},
+  {0xfcc9, 0xee8f94},
+  {0xfcca, 0xee8f95},
+  {0xfccb, 0xee8f96},
+  {0xfccc, 0xee8f97},
+  {0xfccd, 0xee8f98},
+  {0xfcce, 0xee8f99},
+  {0xfccf, 0xee8f9a},
+  {0xfcd0, 0xee8f9b},
+  {0xfcd1, 0xee8f9c},
+  {0xfcd2, 0xee8f9d},
+  {0xfcd3, 0xee8f9e},
+  {0xfcd4, 0xee8f9f},
+  {0xfcd5, 0xee8fa0},
+  {0xfcd6, 0xee8fa1},
+  {0xfcd7, 0xee8fa2},
+  {0xfcd8, 0xee8fa3},
+  {0xfcd9, 0xee8fa4},
+  {0xfcda, 0xee8fa5},
+  {0xfcdb, 0xee8fa6},
+  {0xfcdc, 0xee8fa7},
+  {0xfcdd, 0xee8fa8},
+  {0xfcde, 0xee8fa9},
+  {0xfcdf, 0xee8faa},
+  {0xfce0, 0xee8fab},
+  {0xfce1, 0xee8fac},
+  {0xfce2, 0xee8fad},
+  {0xfce3, 0xee8fae},
+  {0xfce4, 0xee8faf},
+  {0xfce5, 0xee8fb0},
+  {0xfce6, 0xee8fb1},
+  {0xfce7, 0xee8fb2},
+  {0xfce8, 0xee8fb3},
+  {0xfce9, 0xee8fb4},
+  {0xfcea, 0xee8fb5},
+  {0xfceb, 0xee8fb6},
+  {0xfcec, 0xee8fb7},
+  {0xfced, 0xee8fb8},
+  {0xfcee, 0xee8fb9},
+  {0xfcef, 0xee8fba},
+  {0xfcf0, 0xee8fbb},
+  {0xfcf1, 0xee8fbc},
+  {0xfcf2, 0xee8fbd},
+  {0xfcf3, 0xee8fbe},
+  {0xfcf4, 0xee8fbf},
+  {0xfcf5, 0xee9080},
+  {0xfcf6, 0xee9081},
+  {0xfcf7, 0xee9082},
+  {0xfcf8, 0xee9083},
+  {0xfcf9, 0xee9084},
+  {0xfcfa, 0xee9085},
+  {0xfcfb, 0xee9086},
+  {0xfcfc, 0xee9087},
+  {0xfcfd, 0xee9088},
+  {0xfcfe, 0xee9089},
+  {0xfd40, 0xe9bcb2},
+  {0xfd41, 0xe9bcb3},
+  {0xfd42, 0xe9bcb4},
+  {0xfd43, 0xe9bcb5},
+  {0xfd44, 0xe9bcb6},
+  {0xfd45, 0xe9bcb8},
+  {0xfd46, 0xe9bcba},
+  {0xfd47, 0xe9bcbc},
+  {0xfd48, 0xe9bcbf},
+  {0xfd49, 0xe9bd80},
+  {0xfd4a, 0xe9bd81},
+  {0xfd4b, 0xe9bd82},
+  {0xfd4c, 0xe9bd83},
+  {0xfd4d, 0xe9bd85},
+  {0xfd4e, 0xe9bd86},
+  {0xfd4f, 0xe9bd87},
+  {0xfd50, 0xe9bd88},
+  {0xfd51, 0xe9bd89},
+  {0xfd52, 0xe9bd8a},
+  {0xfd53, 0xe9bd8b},
+  {0xfd54, 0xe9bd8c},
+  {0xfd55, 0xe9bd8d},
+  {0xfd56, 0xe9bd8e},
+  {0xfd57, 0xe9bd8f},
+  {0xfd58, 0xe9bd92},
+  {0xfd59, 0xe9bd93},
+  {0xfd5a, 0xe9bd94},
+  {0xfd5b, 0xe9bd95},
+  {0xfd5c, 0xe9bd96},
+  {0xfd5d, 0xe9bd97},
+  {0xfd5e, 0xe9bd98},
+  {0xfd5f, 0xe9bd99},
+  {0xfd60, 0xe9bd9a},
+  {0xfd61, 0xe9bd9b},
+  {0xfd62, 0xe9bd9c},
+  {0xfd63, 0xe9bd9d},
+  {0xfd64, 0xe9bd9e},
+  {0xfd65, 0xe9bd9f},
+  {0xfd66, 0xe9bda0},
+  {0xfd67, 0xe9bda1},
+  {0xfd68, 0xe9bda2},
+  {0xfd69, 0xe9bda3},
+  {0xfd6a, 0xe9bda4},
+  {0xfd6b, 0xe9bda5},
+  {0xfd6c, 0xe9bda6},
+  {0xfd6d, 0xe9bda7},
+  {0xfd6e, 0xe9bda8},
+  {0xfd6f, 0xe9bda9},
+  {0xfd70, 0xe9bdaa},
+  {0xfd71, 0xe9bdab},
+  {0xfd72, 0xe9bdac},
+  {0xfd73, 0xe9bdad},
+  {0xfd74, 0xe9bdae},
+  {0xfd75, 0xe9bdaf},
+  {0xfd76, 0xe9bdb0},
+  {0xfd77, 0xe9bdb1},
+  {0xfd78, 0xe9bdb2},
+  {0xfd79, 0xe9bdb3},
+  {0xfd7a, 0xe9bdb4},
+  {0xfd7b, 0xe9bdb5},
+  {0xfd7c, 0xe9bdb6},
+  {0xfd7d, 0xe9bdb7},
+  {0xfd7e, 0xe9bdb8},
+  {0xfd80, 0xe9bdb9},
+  {0xfd81, 0xe9bdba},
+  {0xfd82, 0xe9bdbb},
+  {0xfd83, 0xe9bdbc},
+  {0xfd84, 0xe9bdbd},
+  {0xfd85, 0xe9bdbe},
+  {0xfd86, 0xe9be81},
+  {0xfd87, 0xe9be82},
+  {0xfd88, 0xe9be8d},
+  {0xfd89, 0xe9be8e},
+  {0xfd8a, 0xe9be8f},
+  {0xfd8b, 0xe9be90},
+  {0xfd8c, 0xe9be91},
+  {0xfd8d, 0xe9be92},
+  {0xfd8e, 0xe9be93},
+  {0xfd8f, 0xe9be94},
+  {0xfd90, 0xe9be95},
+  {0xfd91, 0xe9be96},
+  {0xfd92, 0xe9be97},
+  {0xfd93, 0xe9be98},
+  {0xfd94, 0xe9be9c},
+  {0xfd95, 0xe9be9d},
+  {0xfd96, 0xe9be9e},
+  {0xfd97, 0xe9bea1},
+  {0xfd98, 0xe9bea2},
+  {0xfd99, 0xe9bea3},
+  {0xfd9a, 0xe9bea4},
+  {0xfd9b, 0xe9bea5},
+  {0xfd9c, 0xefa4ac},
+  {0xfd9d, 0xefa5b9},
+  {0xfd9e, 0xefa695},
+  {0xfd9f, 0xefa7a7},
+  {0xfda0, 0xefa7b1},
+  {0xfda1, 0xee908a},
+  {0xfda2, 0xee908b},
+  {0xfda3, 0xee908c},
+  {0xfda4, 0xee908d},
+  {0xfda5, 0xee908e},
+  {0xfda6, 0xee908f},
+  {0xfda7, 0xee9090},
+  {0xfda8, 0xee9091},
+  {0xfda9, 0xee9092},
+  {0xfdaa, 0xee9093},
+  {0xfdab, 0xee9094},
+  {0xfdac, 0xee9095},
+  {0xfdad, 0xee9096},
+  {0xfdae, 0xee9097},
+  {0xfdaf, 0xee9098},
+  {0xfdb0, 0xee9099},
+  {0xfdb1, 0xee909a},
+  {0xfdb2, 0xee909b},
+  {0xfdb3, 0xee909c},
+  {0xfdb4, 0xee909d},
+  {0xfdb5, 0xee909e},
+  {0xfdb6, 0xee909f},
+  {0xfdb7, 0xee90a0},
+  {0xfdb8, 0xee90a1},
+  {0xfdb9, 0xee90a2},
+  {0xfdba, 0xee90a3},
+  {0xfdbb, 0xee90a4},
+  {0xfdbc, 0xee90a5},
+  {0xfdbd, 0xee90a6},
+  {0xfdbe, 0xee90a7},
+  {0xfdbf, 0xee90a8},
+  {0xfdc0, 0xee90a9},
+  {0xfdc1, 0xee90aa},
+  {0xfdc2, 0xee90ab},
+  {0xfdc3, 0xee90ac},
+  {0xfdc4, 0xee90ad},
+  {0xfdc5, 0xee90ae},
+  {0xfdc6, 0xee90af},
+  {0xfdc7, 0xee90b0},
+  {0xfdc8, 0xee90b1},
+  {0xfdc9, 0xee90b2},
+  {0xfdca, 0xee90b3},
+  {0xfdcb, 0xee90b4},
+  {0xfdcc, 0xee90b5},
+  {0xfdcd, 0xee90b6},
+  {0xfdce, 0xee90b7},
+  {0xfdcf, 0xee90b8},
+  {0xfdd0, 0xee90b9},
+  {0xfdd1, 0xee90ba},
+  {0xfdd2, 0xee90bb},
+  {0xfdd3, 0xee90bc},
+  {0xfdd4, 0xee90bd},
+  {0xfdd5, 0xee90be},
+  {0xfdd6, 0xee90bf},
+  {0xfdd7, 0xee9180},
+  {0xfdd8, 0xee9181},
+  {0xfdd9, 0xee9182},
+  {0xfdda, 0xee9183},
+  {0xfddb, 0xee9184},
+  {0xfddc, 0xee9185},
+  {0xfddd, 0xee9186},
+  {0xfdde, 0xee9187},
+  {0xfddf, 0xee9188},
+  {0xfde0, 0xee9189},
+  {0xfde1, 0xee918a},
+  {0xfde2, 0xee918b},
+  {0xfde3, 0xee918c},
+  {0xfde4, 0xee918d},
+  {0xfde5, 0xee918e},
+  {0xfde6, 0xee918f},
+  {0xfde7, 0xee9190},
+  {0xfde8, 0xee9191},
+  {0xfde9, 0xee9192},
+  {0xfdea, 0xee9193},
+  {0xfdeb, 0xee9194},
+  {0xfdec, 0xee9195},
+  {0xfded, 0xee9196},
+  {0xfdee, 0xee9197},
+  {0xfdef, 0xee9198},
+  {0xfdf0, 0xee9199},
+  {0xfdf1, 0xee919a},
+  {0xfdf2, 0xee919b},
+  {0xfdf3, 0xee919c},
+  {0xfdf4, 0xee919d},
+  {0xfdf5, 0xee919e},
+  {0xfdf6, 0xee919f},
+  {0xfdf7, 0xee91a0},
+  {0xfdf8, 0xee91a1},
+  {0xfdf9, 0xee91a2},
+  {0xfdfa, 0xee91a3},
+  {0xfdfb, 0xee91a4},
+  {0xfdfc, 0xee91a5},
+  {0xfdfd, 0xee91a6},
+  {0xfdfe, 0xee91a7},
+  {0xfe40, 0xefa88c},
+  {0xfe41, 0xefa88d},
+  {0xfe42, 0xefa88e},
+  {0xfe43, 0xefa88f},
+  {0xfe44, 0xefa891},
+  {0xfe45, 0xefa893},
+  {0xfe46, 0xefa894},
+  {0xfe47, 0xefa898},
+  {0xfe48, 0xefa89f},
+  {0xfe49, 0xefa8a0},
+  {0xfe4a, 0xefa8a1},
+  {0xfe4b, 0xefa8a3},
+  {0xfe4c, 0xefa8a4},
+  {0xfe4d, 0xefa8a7},
+  {0xfe4e, 0xefa8a8},
+  {0xfe4f, 0xefa8a9},
+  {0xfe50, 0xe2ba81},
+  {0xfe51, 0xeea096},
+  {0xfe52, 0xeea097},
+  {0xfe53, 0xeea098},
+  {0xfe54, 0xe2ba84},
+  {0xfe55, 0xe391b3},
+  {0xfe56, 0xe39187},
+  {0xfe57, 0xe2ba88},
+  {0xfe58, 0xe2ba8b},
+  {0xfe59, 0xeea09e},
+  {0xfe5a, 0xe3969e},
+  {0xfe5b, 0xe3989a},
+  {0xfe5c, 0xe3988e},
+  {0xfe5d, 0xe2ba8c},
+  {0xfe5e, 0xe2ba97},
+  {0xfe5f, 0xe3a5ae},
+  {0xfe60, 0xe3a498},
+  {0xfe61, 0xeea0a6},
+  {0xfe62, 0xe3a78f},
+  {0xfe63, 0xe3a79f},
+  {0xfe64, 0xe3a9b3},
+  {0xfe65, 0xe3a790},
+  {0xfe66, 0xeea0ab},
+  {0xfe67, 0xeea0ac},
+  {0xfe68, 0xe3ad8e},
+  {0xfe69, 0xe3b1ae},
+  {0xfe6a, 0xe3b3a0},
+  {0xfe6b, 0xe2baa7},
+  {0xfe6c, 0xeea0b1},
+  {0xfe6d, 0xeea0b2},
+  {0xfe6e, 0xe2baaa},
+  {0xfe6f, 0xe48196},
+  {0xfe70, 0xe4859f},
+  {0xfe71, 0xe2baae},
+  {0xfe72, 0xe48cb7},
+  {0xfe73, 0xe2bab3},
+  {0xfe74, 0xe2bab6},
+  {0xfe75, 0xe2bab7},
+  {0xfe76, 0xeea0bb},
+  {0xfe77, 0xe48eb1},
+  {0xfe78, 0xe48eac},
+  {0xfe79, 0xe2babb},
+  {0xfe7a, 0xe48f9d},
+  {0xfe7b, 0xe49396},
+  {0xfe7c, 0xe499a1},
+  {0xfe7d, 0xe4998c},
+  {0xfe7e, 0xeea183},
+  {0xfe80, 0xe49ca3},
+  {0xfe81, 0xe49ca9},
+  {0xfe82, 0xe49dbc},
+  {0xfe83, 0xe49e8d},
+  {0xfe84, 0xe2bb8a},
+  {0xfe85, 0xe4a587},
+  {0xfe86, 0xe4a5ba},
+  {0xfe87, 0xe4a5bd},
+  {0xfe88, 0xe4a682},
+  {0xfe89, 0xe4a683},
+  {0xfe8a, 0xe4a685},
+  {0xfe8b, 0xe4a686},
+  {0xfe8c, 0xe4a69f},
+  {0xfe8d, 0xe4a69b},
+  {0xfe8e, 0xe4a6b7},
+  {0xfe8f, 0xe4a6b6},
+  {0xfe90, 0xeea194},
+  {0xfe91, 0xeea195},
+  {0xfe92, 0xe4b2a3},
+  {0xfe93, 0xe4b29f},
+  {0xfe94, 0xe4b2a0},
+  {0xfe95, 0xe4b2a1},
+  {0xfe96, 0xe4b1b7},
+  {0xfe97, 0xe4b2a2},
+  {0xfe98, 0xe4b493},
+  {0xfe99, 0xe4b494},
+  {0xfe9a, 0xe4b495},
+  {0xfe9b, 0xe4b496},
+  {0xfe9c, 0xe4b497},
+  {0xfe9d, 0xe4b498},
+  {0xfe9e, 0xe4b499},
+  {0xfe9f, 0xe4b6ae},
+  {0xfea0, 0xeea1a4},
+  {0xfea1, 0xee91a8},
+  {0xfea2, 0xee91a9},
+  {0xfea3, 0xee91aa},
+  {0xfea4, 0xee91ab},
+  {0xfea5, 0xee91ac},
+  {0xfea6, 0xee91ad},
+  {0xfea7, 0xee91ae},
+  {0xfea8, 0xee91af},
+  {0xfea9, 0xee91b0},
+  {0xfeaa, 0xee91b1},
+  {0xfeab, 0xee91b2},
+  {0xfeac, 0xee91b3},
+  {0xfead, 0xee91b4},
+  {0xfeae, 0xee91b5},
+  {0xfeaf, 0xee91b6},
+  {0xfeb0, 0xee91b7},
+  {0xfeb1, 0xee91b8},
+  {0xfeb2, 0xee91b9},
+  {0xfeb3, 0xee91ba},
+  {0xfeb4, 0xee91bb},
+  {0xfeb5, 0xee91bc},
+  {0xfeb6, 0xee91bd},
+  {0xfeb7, 0xee91be},
+  {0xfeb8, 0xee91bf},
+  {0xfeb9, 0xee9280},
+  {0xfeba, 0xee9281},
+  {0xfebb, 0xee9282},
+  {0xfebc, 0xee9283},
+  {0xfebd, 0xee9284},
+  {0xfebe, 0xee9285},
+  {0xfebf, 0xee9286},
+  {0xfec0, 0xee9287},
+  {0xfec1, 0xee9288},
+  {0xfec2, 0xee9289},
+  {0xfec3, 0xee928a},
+  {0xfec4, 0xee928b},
+  {0xfec5, 0xee928c},
+  {0xfec6, 0xee928d},
+  {0xfec7, 0xee928e},
+  {0xfec8, 0xee928f},
+  {0xfec9, 0xee9290},
+  {0xfeca, 0xee9291},
+  {0xfecb, 0xee9292},
+  {0xfecc, 0xee9293},
+  {0xfecd, 0xee9294},
+  {0xfece, 0xee9295},
+  {0xfecf, 0xee9296},
+  {0xfed0, 0xee9297},
+  {0xfed1, 0xee9298},
+  {0xfed2, 0xee9299},
+  {0xfed3, 0xee929a},
+  {0xfed4, 0xee929b},
+  {0xfed5, 0xee929c},
+  {0xfed6, 0xee929d},
+  {0xfed7, 0xee929e},
+  {0xfed8, 0xee929f},
+  {0xfed9, 0xee92a0},
+  {0xfeda, 0xee92a1},
+  {0xfedb, 0xee92a2},
+  {0xfedc, 0xee92a3},
+  {0xfedd, 0xee92a4},
+  {0xfede, 0xee92a5},
+  {0xfedf, 0xee92a6},
+  {0xfee0, 0xee92a7},
+  {0xfee1, 0xee92a8},
+  {0xfee2, 0xee92a9},
+  {0xfee3, 0xee92aa},
+  {0xfee4, 0xee92ab},
+  {0xfee5, 0xee92ac},
+  {0xfee6, 0xee92ad},
+  {0xfee7, 0xee92ae},
+  {0xfee8, 0xee92af},
+  {0xfee9, 0xee92b0},
+  {0xfeea, 0xee92b1},
+  {0xfeeb, 0xee92b2},
+  {0xfeec, 0xee92b3},
+  {0xfeed, 0xee92b4},
+  {0xfeee, 0xee92b5},
+  {0xfeef, 0xee92b6},
+  {0xfef0, 0xee92b7},
+  {0xfef1, 0xee92b8},
+  {0xfef2, 0xee92b9},
+  {0xfef3, 0xee92ba},
+  {0xfef4, 0xee92bb},
+  {0xfef5, 0xee92bc},
+  {0xfef6, 0xee92bd},
+  {0xfef7, 0xee92be},
+  {0xfef8, 0xee92bf},
+  {0xfef9, 0xee9380},
+  {0xfefa, 0xee9381},
+  {0xfefb, 0xee9382},
+  {0xfefc, 0xee9383},
+  {0xfefd, 0xee9384},
+  {0xfefe, 0xee9385},
+  {0x81308130, 0xc280},
+  {0x81308131, 0xc281},
+  {0x81308132, 0xc282},
+  {0x81308133, 0xc283},
+  {0x81308134, 0xc284},
+  {0x81308135, 0xc285},
+  {0x81308136, 0xc286},
+  {0x81308137, 0xc287},
+  {0x81308138, 0xc288},
+  {0x81308139, 0xc289},
+  {0x81308230, 0xc28a},
+  {0x81308231, 0xc28b},
+  {0x81308232, 0xc28c},
+  {0x81308233, 0xc28d},
+  {0x81308234, 0xc28e},
+  {0x81308235, 0xc28f},
+  {0x81308236, 0xc290},
+  {0x81308237, 0xc291},
+  {0x81308238, 0xc292},
+  {0x81308239, 0xc293},
+  {0x81308330, 0xc294},
+  {0x81308331, 0xc295},
+  {0x81308332, 0xc296},
+  {0x81308333, 0xc297},
+  {0x81308334, 0xc298},
+  {0x81308335, 0xc299},
+  {0x81308336, 0xc29a},
+  {0x81308337, 0xc29b},
+  {0x81308338, 0xc29c},
+  {0x81308339, 0xc29d},
+  {0x81308430, 0xc29e},
+  {0x81308431, 0xc29f},
+  {0x81308432, 0xc2a0},
+  {0x81308433, 0xc2a1},
+  {0x81308434, 0xc2a2},
+  {0x81308435, 0xc2a3},
+  {0x81308436, 0xc2a5},
+  {0x81308437, 0xc2a6},
+  {0x81308438, 0xc2a9},
+  {0x81308439, 0xc2aa},
+  {0x81308530, 0xc2ab},
+  {0x81308531, 0xc2ac},
+  {0x81308532, 0xc2ad},
+  {0x81308533, 0xc2ae},
+  {0x81308534, 0xc2af},
+  {0x81308535, 0xc2b2},
+  {0x81308536, 0xc2b3},
+  {0x81308537, 0xc2b4},
+  {0x81308538, 0xc2b5},
+  {0x81308539, 0xc2b6},
+  {0x81308630, 0xc2b8},
+  {0x81308631, 0xc2b9},
+  {0x81308632, 0xc2ba},
+  {0x81308633, 0xc2bb},
+  {0x81308634, 0xc2bc},
+  {0x81308635, 0xc2bd},
+  {0x81308636, 0xc2be},
+  {0x81308637, 0xc2bf},
+  {0x81308638, 0xc380},
+  {0x81308639, 0xc381},
+  {0x81308730, 0xc382},
+  {0x81308731, 0xc383},
+  {0x81308732, 0xc384},
+  {0x81308733, 0xc385},
+  {0x81308734, 0xc386},
+  {0x81308735, 0xc387},
+  {0x81308736, 0xc388},
+  {0x81308737, 0xc389},
+  {0x81308738, 0xc38a},
+  {0x81308739, 0xc38b},
+  {0x81308830, 0xc38c},
+  {0x81308831, 0xc38d},
+  {0x81308832, 0xc38e},
+  {0x81308833, 0xc38f},
+  {0x81308834, 0xc390},
+  {0x81308835, 0xc391},
+  {0x81308836, 0xc392},
+  {0x81308837, 0xc393},
+  {0x81308838, 0xc394},
+  {0x81308839, 0xc395},
+  {0x81308930, 0xc396},
+  {0x81308931, 0xc398},
+  {0x81308932, 0xc399},
+  {0x81308933, 0xc39a},
+  {0x81308934, 0xc39b},
+  {0x81308935, 0xc39c},
+  {0x81308936, 0xc39d},
+  {0x81308937, 0xc39e},
+  {0x81308938, 0xc39f},
+  {0x81308939, 0xc3a2},
+  {0x81308a30, 0xc3a3},
+  {0x81308a31, 0xc3a4},
+  {0x81308a32, 0xc3a5},
+  {0x81308a33, 0xc3a6},
+  {0x81308a34, 0xc3a7},
+  {0x81308a35, 0xc3ab},
+  {0x81308a36, 0xc3ae},
+  {0x81308a37, 0xc3af},
+  {0x81308a38, 0xc3b0},
+  {0x81308a39, 0xc3b1},
+  {0x81308b30, 0xc3b4},
+  {0x81308b31, 0xc3b5},
+  {0x81308b32, 0xc3b6},
+  {0x81308b33, 0xc3b8},
+  {0x81308b34, 0xc3bb},
+  {0x81308b35, 0xc3bd},
+  {0x81308b36, 0xc3be},
+  {0x81308b37, 0xc3bf},
+  {0x81308b38, 0xc480},
+  {0x81308b39, 0xc482},
+  {0x81308c30, 0xc483},
+  {0x81308c31, 0xc484},
+  {0x81308c32, 0xc485},
+  {0x81308c33, 0xc486},
+  {0x81308c34, 0xc487},
+  {0x81308c35, 0xc488},
+  {0x81308c36, 0xc489},
+  {0x81308c37, 0xc48a},
+  {0x81308c38, 0xc48b},
+  {0x81308c39, 0xc48c},
+  {0x81308d30, 0xc48d},
+  {0x81308d31, 0xc48e},
+  {0x81308d32, 0xc48f},
+  {0x81308d33, 0xc490},
+  {0x81308d34, 0xc491},
+  {0x81308d35, 0xc492},
+  {0x81308d36, 0xc494},
+  {0x81308d37, 0xc495},
+  {0x81308d38, 0xc496},
+  {0x81308d39, 0xc497},
+  {0x81308e30, 0xc498},
+  {0x81308e31, 0xc499},
+  {0x81308e32, 0xc49a},
+  {0x81308e33, 0xc49c},
+  {0x81308e34, 0xc49d},
+  {0x81308e35, 0xc49e},
+  {0x81308e36, 0xc49f},
+  {0x81308e37, 0xc4a0},
+  {0x81308e38, 0xc4a1},
+  {0x81308e39, 0xc4a2},
+  {0x81308f30, 0xc4a3},
+  {0x81308f31, 0xc4a4},
+  {0x81308f32, 0xc4a5},
+  {0x81308f33, 0xc4a6},
+  {0x81308f34, 0xc4a7},
+  {0x81308f35, 0xc4a8},
+  {0x81308f36, 0xc4a9},
+  {0x81308f37, 0xc4aa},
+  {0x81308f38, 0xc4ac},
+  {0x81308f39, 0xc4ad},
+  {0x81309030, 0xc4ae},
+  {0x81309031, 0xc4af},
+  {0x81309032, 0xc4b0},
+  {0x81309033, 0xc4b1},
+  {0x81309034, 0xc4b2},
+  {0x81309035, 0xc4b3},
+  {0x81309036, 0xc4b4},
+  {0x81309037, 0xc4b5},
+  {0x81309038, 0xc4b6},
+  {0x81309039, 0xc4b7},
+  {0x81309130, 0xc4b8},
+  {0x81309131, 0xc4b9},
+  {0x81309132, 0xc4ba},
+  {0x81309133, 0xc4bb},
+  {0x81309134, 0xc4bc},
+  {0x81309135, 0xc4bd},
+  {0x81309136, 0xc4be},
+  {0x81309137, 0xc4bf},
+  {0x81309138, 0xc580},
+  {0x81309139, 0xc581},
+  {0x81309230, 0xc582},
+  {0x81309231, 0xc583},
+  {0x81309232, 0xc585},
+  {0x81309233, 0xc586},
+  {0x81309234, 0xc587},
+  {0x81309235, 0xc589},
+  {0x81309236, 0xc58a},
+  {0x81309237, 0xc58b},
+  {0x81309238, 0xc58c},
+  {0x81309239, 0xc58e},
+  {0x81309330, 0xc58f},
+  {0x81309331, 0xc590},
+  {0x81309332, 0xc591},
+  {0x81309333, 0xc592},
+  {0x81309334, 0xc593},
+  {0x81309335, 0xc594},
+  {0x81309336, 0xc595},
+  {0x81309337, 0xc596},
+  {0x81309338, 0xc597},
+  {0x81309339, 0xc598},
+  {0x81309430, 0xc599},
+  {0x81309431, 0xc59a},
+  {0x81309432, 0xc59b},
+  {0x81309433, 0xc59c},
+  {0x81309434, 0xc59d},
+  {0x81309435, 0xc59e},
+  {0x81309436, 0xc59f},
+  {0x81309437, 0xc5a0},
+  {0x81309438, 0xc5a1},
+  {0x81309439, 0xc5a2},
+  {0x81309530, 0xc5a3},
+  {0x81309531, 0xc5a4},
+  {0x81309532, 0xc5a5},
+  {0x81309533, 0xc5a6},
+  {0x81309534, 0xc5a7},
+  {0x81309535, 0xc5a8},
+  {0x81309536, 0xc5a9},
+  {0x81309537, 0xc5aa},
+  {0x81309538, 0xc5ac},
+  {0x81309539, 0xc5ad},
+  {0x81309630, 0xc5ae},
+  {0x81309631, 0xc5af},
+  {0x81309632, 0xc5b0},
+  {0x81309633, 0xc5b1},
+  {0x81309634, 0xc5b2},
+  {0x81309635, 0xc5b3},
+  {0x81309636, 0xc5b4},
+  {0x81309637, 0xc5b5},
+  {0x81309638, 0xc5b6},
+  {0x81309639, 0xc5b7},
+  {0x81309730, 0xc5b8},
+  {0x81309731, 0xc5b9},
+  {0x81309732, 0xc5ba},
+  {0x81309733, 0xc5bb},
+  {0x81309734, 0xc5bc},
+  {0x81309735, 0xc5bd},
+  {0x81309736, 0xc5be},
+  {0x81309737, 0xc5bf},
+  {0x81309738, 0xc680},
+  {0x81309739, 0xc681},
+  {0x81309830, 0xc682},
+  {0x81309831, 0xc683},
+  {0x81309832, 0xc684},
+  {0x81309833, 0xc685},
+  {0x81309834, 0xc686},
+  {0x81309835, 0xc687},
+  {0x81309836, 0xc688},
+  {0x81309837, 0xc689},
+  {0x81309838, 0xc68a},
+  {0x81309839, 0xc68b},
+  {0x81309930, 0xc68c},
+  {0x81309931, 0xc68d},
+  {0x81309932, 0xc68e},
+  {0x81309933, 0xc68f},
+  {0x81309934, 0xc690},
+  {0x81309935, 0xc691},
+  {0x81309936, 0xc692},
+  {0x81309937, 0xc693},
+  {0x81309938, 0xc694},
+  {0x81309939, 0xc695},
+  {0x81309a30, 0xc696},
+  {0x81309a31, 0xc697},
+  {0x81309a32, 0xc698},
+  {0x81309a33, 0xc699},
+  {0x81309a34, 0xc69a},
+  {0x81309a35, 0xc69b},
+  {0x81309a36, 0xc69c},
+  {0x81309a37, 0xc69d},
+  {0x81309a38, 0xc69e},
+  {0x81309a39, 0xc69f},
+  {0x81309b30, 0xc6a0},
+  {0x81309b31, 0xc6a1},
+  {0x81309b32, 0xc6a2},
+  {0x81309b33, 0xc6a3},
+  {0x81309b34, 0xc6a4},
+  {0x81309b35, 0xc6a5},
+  {0x81309b36, 0xc6a6},
+  {0x81309b37, 0xc6a7},
+  {0x81309b38, 0xc6a8},
+  {0x81309b39, 0xc6a9},
+  {0x81309c30, 0xc6aa},
+  {0x81309c31, 0xc6ab},
+  {0x81309c32, 0xc6ac},
+  {0x81309c33, 0xc6ad},
+  {0x81309c34, 0xc6ae},
+  {0x81309c35, 0xc6af},
+  {0x81309c36, 0xc6b0},
+  {0x81309c37, 0xc6b1},
+  {0x81309c38, 0xc6b2},
+  {0x81309c39, 0xc6b3},
+  {0x81309d30, 0xc6b4},
+  {0x81309d31, 0xc6b5},
+  {0x81309d32, 0xc6b6},
+  {0x81309d33, 0xc6b7},
+  {0x81309d34, 0xc6b8},
+  {0x81309d35, 0xc6b9},
+  {0x81309d36, 0xc6ba},
+  {0x81309d37, 0xc6bb},
+  {0x81309d38, 0xc6bc},
+  {0x81309d39, 0xc6bd},
+  {0x81309e30, 0xc6be},
+  {0x81309e31, 0xc6bf},
+  {0x81309e32, 0xc780},
+  {0x81309e33, 0xc781},
+  {0x81309e34, 0xc782},
+  {0x81309e35, 0xc783},
+  {0x81309e36, 0xc784},
+  {0x81309e37, 0xc785},
+  {0x81309e38, 0xc786},
+  {0x81309e39, 0xc787},
+  {0x81309f30, 0xc788},
+  {0x81309f31, 0xc789},
+  {0x81309f32, 0xc78a},
+  {0x81309f33, 0xc78b},
+  {0x81309f34, 0xc78c},
+  {0x81309f35, 0xc78d},
+  {0x81309f36, 0xc78f},
+  {0x81309f37, 0xc791},
+  {0x81309f38, 0xc793},
+  {0x81309f39, 0xc795},
+  {0x8130a030, 0xc797},
+  {0x8130a031, 0xc799},
+  {0x8130a032, 0xc79b},
+  {0x8130a033, 0xc79d},
+  {0x8130a034, 0xc79e},
+  {0x8130a035, 0xc79f},
+  {0x8130a036, 0xc7a0},
+  {0x8130a037, 0xc7a1},
+  {0x8130a038, 0xc7a2},
+  {0x8130a039, 0xc7a3},
+  {0x8130a130, 0xc7a4},
+  {0x8130a131, 0xc7a5},
+  {0x8130a132, 0xc7a6},
+  {0x8130a133, 0xc7a7},
+  {0x8130a134, 0xc7a8},
+  {0x8130a135, 0xc7a9},
+  {0x8130a136, 0xc7aa},
+  {0x8130a137, 0xc7ab},
+  {0x8130a138, 0xc7ac},
+  {0x8130a139, 0xc7ad},
+  {0x8130a230, 0xc7ae},
+  {0x8130a231, 0xc7af},
+  {0x8130a232, 0xc7b0},
+  {0x8130a233, 0xc7b1},
+  {0x8130a234, 0xc7b2},
+  {0x8130a235, 0xc7b3},
+  {0x8130a236, 0xc7b4},
+  {0x8130a237, 0xc7b5},
+  {0x8130a238, 0xc7b6},
+  {0x8130a239, 0xc7b7},
+  {0x8130a330, 0xc7b8},
+  {0x8130a331, 0xc7ba},
+  {0x8130a332, 0xc7bb},
+  {0x8130a333, 0xc7bc},
+  {0x8130a334, 0xc7bd},
+  {0x8130a335, 0xc7be},
+  {0x8130a336, 0xc7bf},
+  {0x8130a337, 0xc880},
+  {0x8130a338, 0xc881},
+  {0x8130a339, 0xc882},
+  {0x8130a430, 0xc883},
+  {0x8130a431, 0xc884},
+  {0x8130a432, 0xc885},
+  {0x8130a433, 0xc886},
+  {0x8130a434, 0xc887},
+  {0x8130a435, 0xc888},
+  {0x8130a436, 0xc889},
+  {0x8130a437, 0xc88a},
+  {0x8130a438, 0xc88b},
+  {0x8130a439, 0xc88c},
+  {0x8130a530, 0xc88d},
+  {0x8130a531, 0xc88e},
+  {0x8130a532, 0xc88f},
+  {0x8130a533, 0xc890},
+  {0x8130a534, 0xc891},
+  {0x8130a535, 0xc892},
+  {0x8130a536, 0xc893},
+  {0x8130a537, 0xc894},
+  {0x8130a538, 0xc895},
+  {0x8130a539, 0xc896},
+  {0x8130a630, 0xc897},
+  {0x8130a631, 0xc898},
+  {0x8130a632, 0xc899},
+  {0x8130a633, 0xc89a},
+  {0x8130a634, 0xc89b},
+  {0x8130a635, 0xc89c},
+  {0x8130a636, 0xc89d},
+  {0x8130a637, 0xc89e},
+  {0x8130a638, 0xc89f},
+  {0x8130a639, 0xc8a0},
+  {0x8130a730, 0xc8a1},
+  {0x8130a731, 0xc8a2},
+  {0x8130a732, 0xc8a3},
+  {0x8130a733, 0xc8a4},
+  {0x8130a734, 0xc8a5},
+  {0x8130a735, 0xc8a6},
+  {0x8130a736, 0xc8a7},
+  {0x8130a737, 0xc8a8},
+  {0x8130a738, 0xc8a9},
+  {0x8130a739, 0xc8aa},
+  {0x8130a830, 0xc8ab},
+  {0x8130a831, 0xc8ac},
+  {0x8130a832, 0xc8ad},
+  {0x8130a833, 0xc8ae},
+  {0x8130a834, 0xc8af},
+  {0x8130a835, 0xc8b0},
+  {0x8130a836, 0xc8b1},
+  {0x8130a837, 0xc8b2},
+  {0x8130a838, 0xc8b3},
+  {0x8130a839, 0xc8b4},
+  {0x8130a930, 0xc8b5},
+  {0x8130a931, 0xc8b6},
+  {0x8130a932, 0xc8b7},
+  {0x8130a933, 0xc8b8},
+  {0x8130a934, 0xc8b9},
+  {0x8130a935, 0xc8ba},
+  {0x8130a936, 0xc8bb},
+  {0x8130a937, 0xc8bc},
+  {0x8130a938, 0xc8bd},
+  {0x8130a939, 0xc8be},
+  {0x8130aa30, 0xc8bf},
+  {0x8130aa31, 0xc980},
+  {0x8130aa32, 0xc981},
+  {0x8130aa33, 0xc982},
+  {0x8130aa34, 0xc983},
+  {0x8130aa35, 0xc984},
+  {0x8130aa36, 0xc985},
+  {0x8130aa37, 0xc986},
+  {0x8130aa38, 0xc987},
+  {0x8130aa39, 0xc988},
+  {0x8130ab30, 0xc989},
+  {0x8130ab31, 0xc98a},
+  {0x8130ab32, 0xc98b},
+  {0x8130ab33, 0xc98c},
+  {0x8130ab34, 0xc98d},
+  {0x8130ab35, 0xc98e},
+  {0x8130ab36, 0xc98f},
+  {0x8130ab37, 0xc990},
+  {0x8130ab38, 0xc992},
+  {0x8130ab39, 0xc993},
+  {0x8130ac30, 0xc994},
+  {0x8130ac31, 0xc995},
+  {0x8130ac32, 0xc996},
+  {0x8130ac33, 0xc997},
+  {0x8130ac34, 0xc998},
+  {0x8130ac35, 0xc999},
+  {0x8130ac36, 0xc99a},
+  {0x8130ac37, 0xc99b},
+  {0x8130ac38, 0xc99c},
+  {0x8130ac39, 0xc99d},
+  {0x8130ad30, 0xc99e},
+  {0x8130ad31, 0xc99f},
+  {0x8130ad32, 0xc9a0},
+  {0x8130ad33, 0xc9a2},
+  {0x8130ad34, 0xc9a3},
+  {0x8130ad35, 0xc9a4},
+  {0x8130ad36, 0xc9a5},
+  {0x8130ad37, 0xc9a6},
+  {0x8130ad38, 0xc9a7},
+  {0x8130ad39, 0xc9a8},
+  {0x8130ae30, 0xc9a9},
+  {0x8130ae31, 0xc9aa},
+  {0x8130ae32, 0xc9ab},
+  {0x8130ae33, 0xc9ac},
+  {0x8130ae34, 0xc9ad},
+  {0x8130ae35, 0xc9ae},
+  {0x8130ae36, 0xc9af},
+  {0x8130ae37, 0xc9b0},
+  {0x8130ae38, 0xc9b1},
+  {0x8130ae39, 0xc9b2},
+  {0x8130af30, 0xc9b3},
+  {0x8130af31, 0xc9b4},
+  {0x8130af32, 0xc9b5},
+  {0x8130af33, 0xc9b6},
+  {0x8130af34, 0xc9b7},
+  {0x8130af35, 0xc9b8},
+  {0x8130af36, 0xc9b9},
+  {0x8130af37, 0xc9ba},
+  {0x8130af38, 0xc9bb},
+  {0x8130af39, 0xc9bc},
+  {0x8130b030, 0xc9bd},
+  {0x8130b031, 0xc9be},
+  {0x8130b032, 0xc9bf},
+  {0x8130b033, 0xca80},
+  {0x8130b034, 0xca81},
+  {0x8130b035, 0xca82},
+  {0x8130b036, 0xca83},
+  {0x8130b037, 0xca84},
+  {0x8130b038, 0xca85},
+  {0x8130b039, 0xca86},
+  {0x8130b130, 0xca87},
+  {0x8130b131, 0xca88},
+  {0x8130b132, 0xca89},
+  {0x8130b133, 0xca8a},
+  {0x8130b134, 0xca8b},
+  {0x8130b135, 0xca8c},
+  {0x8130b136, 0xca8d},
+  {0x8130b137, 0xca8e},
+  {0x8130b138, 0xca8f},
+  {0x8130b139, 0xca90},
+  {0x8130b230, 0xca91},
+  {0x8130b231, 0xca92},
+  {0x8130b232, 0xca93},
+  {0x8130b233, 0xca94},
+  {0x8130b234, 0xca95},
+  {0x8130b235, 0xca96},
+  {0x8130b236, 0xca97},
+  {0x8130b237, 0xca98},
+  {0x8130b238, 0xca99},
+  {0x8130b239, 0xca9a},
+  {0x8130b330, 0xca9b},
+  {0x8130b331, 0xca9c},
+  {0x8130b332, 0xca9d},
+  {0x8130b333, 0xca9e},
+  {0x8130b334, 0xca9f},
+  {0x8130b335, 0xcaa0},
+  {0x8130b336, 0xcaa1},
+  {0x8130b337, 0xcaa2},
+  {0x8130b338, 0xcaa3},
+  {0x8130b339, 0xcaa4},
+  {0x8130b430, 0xcaa5},
+  {0x8130b431, 0xcaa6},
+  {0x8130b432, 0xcaa7},
+  {0x8130b433, 0xcaa8},
+  {0x8130b434, 0xcaa9},
+  {0x8130b435, 0xcaaa},
+  {0x8130b436, 0xcaab},
+  {0x8130b437, 0xcaac},
+  {0x8130b438, 0xcaad},
+  {0x8130b439, 0xcaae},
+  {0x8130b530, 0xcaaf},
+  {0x8130b531, 0xcab0},
+  {0x8130b532, 0xcab1},
+  {0x8130b533, 0xcab2},
+  {0x8130b534, 0xcab3},
+  {0x8130b535, 0xcab4},
+  {0x8130b536, 0xcab5},
+  {0x8130b537, 0xcab6},
+  {0x8130b538, 0xcab7},
+  {0x8130b539, 0xcab8},
+  {0x8130b630, 0xcab9},
+  {0x8130b631, 0xcaba},
+  {0x8130b632, 0xcabb},
+  {0x8130b633, 0xcabc},
+  {0x8130b634, 0xcabd},
+  {0x8130b635, 0xcabe},
+  {0x8130b636, 0xcabf},
+  {0x8130b637, 0xcb80},
+  {0x8130b638, 0xcb81},
+  {0x8130b639, 0xcb82},
+  {0x8130b730, 0xcb83},
+  {0x8130b731, 0xcb84},
+  {0x8130b732, 0xcb85},
+  {0x8130b733, 0xcb86},
+  {0x8130b734, 0xcb88},
+  {0x8130b735, 0xcb8c},
+  {0x8130b736, 0xcb8d},
+  {0x8130b737, 0xcb8e},
+  {0x8130b738, 0xcb8f},
+  {0x8130b739, 0xcb90},
+  {0x8130b830, 0xcb91},
+  {0x8130b831, 0xcb92},
+  {0x8130b832, 0xcb93},
+  {0x8130b833, 0xcb94},
+  {0x8130b834, 0xcb95},
+  {0x8130b835, 0xcb96},
+  {0x8130b836, 0xcb97},
+  {0x8130b837, 0xcb98},
+  {0x8130b838, 0xcb9a},
+  {0x8130b839, 0xcb9b},
+  {0x8130b930, 0xcb9c},
+  {0x8130b931, 0xcb9d},
+  {0x8130b932, 0xcb9e},
+  {0x8130b933, 0xcb9f},
+  {0x8130b934, 0xcba0},
+  {0x8130b935, 0xcba1},
+  {0x8130b936, 0xcba2},
+  {0x8130b937, 0xcba3},
+  {0x8130b938, 0xcba4},
+  {0x8130b939, 0xcba5},
+  {0x8130ba30, 0xcba6},
+  {0x8130ba31, 0xcba7},
+  {0x8130ba32, 0xcba8},
+  {0x8130ba33, 0xcba9},
+  {0x8130ba34, 0xcbaa},
+  {0x8130ba35, 0xcbab},
+  {0x8130ba36, 0xcbac},
+  {0x8130ba37, 0xcbad},
+  {0x8130ba38, 0xcbae},
+  {0x8130ba39, 0xcbaf},
+  {0x8130bb30, 0xcbb0},
+  {0x8130bb31, 0xcbb1},
+  {0x8130bb32, 0xcbb2},
+  {0x8130bb33, 0xcbb3},
+  {0x8130bb34, 0xcbb4},
+  {0x8130bb35, 0xcbb5},
+  {0x8130bb36, 0xcbb6},
+  {0x8130bb37, 0xcbb7},
+  {0x8130bb38, 0xcbb8},
+  {0x8130bb39, 0xcbb9},
+  {0x8130bc30, 0xcbba},
+  {0x8130bc31, 0xcbbb},
+  {0x8130bc32, 0xcbbc},
+  {0x8130bc33, 0xcbbd},
+  {0x8130bc34, 0xcbbe},
+  {0x8130bc35, 0xcbbf},
+  {0x8130bc36, 0xcc80},
+  {0x8130bc37, 0xcc81},
+  {0x8130bc38, 0xcc82},
+  {0x8130bc39, 0xcc83},
+  {0x8130bd30, 0xcc84},
+  {0x8130bd31, 0xcc85},
+  {0x8130bd32, 0xcc86},
+  {0x8130bd33, 0xcc87},
+  {0x8130bd34, 0xcc88},
+  {0x8130bd35, 0xcc89},
+  {0x8130bd36, 0xcc8a},
+  {0x8130bd37, 0xcc8b},
+  {0x8130bd38, 0xcc8c},
+  {0x8130bd39, 0xcc8d},
+  {0x8130be30, 0xcc8e},
+  {0x8130be31, 0xcc8f},
+  {0x8130be32, 0xcc90},
+  {0x8130be33, 0xcc91},
+  {0x8130be34, 0xcc92},
+  {0x8130be35, 0xcc93},
+  {0x8130be36, 0xcc94},
+  {0x8130be37, 0xcc95},
+  {0x8130be38, 0xcc96},
+  {0x8130be39, 0xcc97},
+  {0x8130bf30, 0xcc98},
+  {0x8130bf31, 0xcc99},
+  {0x8130bf32, 0xcc9a},
+  {0x8130bf33, 0xcc9b},
+  {0x8130bf34, 0xcc9c},
+  {0x8130bf35, 0xcc9d},
+  {0x8130bf36, 0xcc9e},
+  {0x8130bf37, 0xcc9f},
+  {0x8130bf38, 0xcca0},
+  {0x8130bf39, 0xcca1},
+  {0x8130c030, 0xcca2},
+  {0x8130c031, 0xcca3},
+  {0x8130c032, 0xcca4},
+  {0x8130c033, 0xcca5},
+  {0x8130c034, 0xcca6},
+  {0x8130c035, 0xcca7},
+  {0x8130c036, 0xcca8},
+  {0x8130c037, 0xcca9},
+  {0x8130c038, 0xccaa},
+  {0x8130c039, 0xccab},
+  {0x8130c130, 0xccac},
+  {0x8130c131, 0xccad},
+  {0x8130c132, 0xccae},
+  {0x8130c133, 0xccaf},
+  {0x8130c134, 0xccb0},
+  {0x8130c135, 0xccb1},
+  {0x8130c136, 0xccb2},
+  {0x8130c137, 0xccb3},
+  {0x8130c138, 0xccb4},
+  {0x8130c139, 0xccb5},
+  {0x8130c230, 0xccb6},
+  {0x8130c231, 0xccb7},
+  {0x8130c232, 0xccb8},
+  {0x8130c233, 0xccb9},
+  {0x8130c234, 0xccba},
+  {0x8130c235, 0xccbb},
+  {0x8130c236, 0xccbc},
+  {0x8130c237, 0xccbd},
+  {0x8130c238, 0xccbe},
+  {0x8130c239, 0xccbf},
+  {0x8130c330, 0xcd80},
+  {0x8130c331, 0xcd81},
+  {0x8130c332, 0xcd82},
+  {0x8130c333, 0xcd83},
+  {0x8130c334, 0xcd84},
+  {0x8130c335, 0xcd85},
+  {0x8130c336, 0xcd86},
+  {0x8130c337, 0xcd87},
+  {0x8130c338, 0xcd88},
+  {0x8130c339, 0xcd89},
+  {0x8130c430, 0xcd8a},
+  {0x8130c431, 0xcd8b},
+  {0x8130c432, 0xcd8c},
+  {0x8130c433, 0xcd8d},
+  {0x8130c434, 0xcd8e},
+  {0x8130c435, 0xcd8f},
+  {0x8130c436, 0xcd90},
+  {0x8130c437, 0xcd91},
+  {0x8130c438, 0xcd92},
+  {0x8130c439, 0xcd93},
+  {0x8130c530, 0xcd94},
+  {0x8130c531, 0xcd95},
+  {0x8130c532, 0xcd96},
+  {0x8130c533, 0xcd97},
+  {0x8130c534, 0xcd98},
+  {0x8130c535, 0xcd99},
+  {0x8130c536, 0xcd9a},
+  {0x8130c537, 0xcd9b},
+  {0x8130c538, 0xcd9c},
+  {0x8130c539, 0xcd9d},
+  {0x8130c630, 0xcd9e},
+  {0x8130c631, 0xcd9f},
+  {0x8130c632, 0xcda0},
+  {0x8130c633, 0xcda1},
+  {0x8130c634, 0xcda2},
+  {0x8130c635, 0xcda3},
+  {0x8130c636, 0xcda4},
+  {0x8130c637, 0xcda5},
+  {0x8130c638, 0xcda6},
+  {0x8130c639, 0xcda7},
+  {0x8130c730, 0xcda8},
+  {0x8130c731, 0xcda9},
+  {0x8130c732, 0xcdaa},
+  {0x8130c733, 0xcdab},
+  {0x8130c734, 0xcdac},
+  {0x8130c735, 0xcdad},
+  {0x8130c736, 0xcdae},
+  {0x8130c737, 0xcdaf},
+  {0x8130c738, 0xcdb0},
+  {0x8130c739, 0xcdb1},
+  {0x8130c830, 0xcdb2},
+  {0x8130c831, 0xcdb3},
+  {0x8130c832, 0xcdb4},
+  {0x8130c833, 0xcdb5},
+  {0x8130c834, 0xcdb6},
+  {0x8130c835, 0xcdb7},
+  {0x8130c836, 0xcdb8},
+  {0x8130c837, 0xcdb9},
+  {0x8130c838, 0xcdba},
+  {0x8130c839, 0xcdbb},
+  {0x8130c930, 0xcdbc},
+  {0x8130c931, 0xcdbd},
+  {0x8130c932, 0xcdbe},
+  {0x8130c933, 0xcdbf},
+  {0x8130c934, 0xce80},
+  {0x8130c935, 0xce81},
+  {0x8130c936, 0xce82},
+  {0x8130c937, 0xce83},
+  {0x8130c938, 0xce84},
+  {0x8130c939, 0xce85},
+  {0x8130ca30, 0xce86},
+  {0x8130ca31, 0xce87},
+  {0x8130ca32, 0xce88},
+  {0x8130ca33, 0xce89},
+  {0x8130ca34, 0xce8a},
+  {0x8130ca35, 0xce8b},
+  {0x8130ca36, 0xce8c},
+  {0x8130ca37, 0xce8d},
+  {0x8130ca38, 0xce8e},
+  {0x8130ca39, 0xce8f},
+  {0x8130cb30, 0xce90},
+  {0x8130cb31, 0xcea2},
+  {0x8130cb32, 0xceaa},
+  {0x8130cb33, 0xceab},
+  {0x8130cb34, 0xceac},
+  {0x8130cb35, 0xcead},
+  {0x8130cb36, 0xceae},
+  {0x8130cb37, 0xceaf},
+  {0x8130cb38, 0xceb0},
+  {0x8130cb39, 0xcf82},
+  {0x8130cc30, 0xcf8a},
+  {0x8130cc31, 0xcf8b},
+  {0x8130cc32, 0xcf8c},
+  {0x8130cc33, 0xcf8d},
+  {0x8130cc34, 0xcf8e},
+  {0x8130cc35, 0xcf8f},
+  {0x8130cc36, 0xcf90},
+  {0x8130cc37, 0xcf91},
+  {0x8130cc38, 0xcf92},
+  {0x8130cc39, 0xcf93},
+  {0x8130cd30, 0xcf94},
+  {0x8130cd31, 0xcf95},
+  {0x8130cd32, 0xcf96},
+  {0x8130cd33, 0xcf97},
+  {0x8130cd34, 0xcf98},
+  {0x8130cd35, 0xcf99},
+  {0x8130cd36, 0xcf9a},
+  {0x8130cd37, 0xcf9b},
+  {0x8130cd38, 0xcf9c},
+  {0x8130cd39, 0xcf9d},
+  {0x8130ce30, 0xcf9e},
+  {0x8130ce31, 0xcf9f},
+  {0x8130ce32, 0xcfa0},
+  {0x8130ce33, 0xcfa1},
+  {0x8130ce34, 0xcfa2},
+  {0x8130ce35, 0xcfa3},
+  {0x8130ce36, 0xcfa4},
+  {0x8130ce37, 0xcfa5},
+  {0x8130ce38, 0xcfa6},
+  {0x8130ce39, 0xcfa7},
+  {0x8130cf30, 0xcfa8},
+  {0x8130cf31, 0xcfa9},
+  {0x8130cf32, 0xcfaa},
+  {0x8130cf33, 0xcfab},
+  {0x8130cf34, 0xcfac},
+  {0x8130cf35, 0xcfad},
+  {0x8130cf36, 0xcfae},
+  {0x8130cf37, 0xcfaf},
+  {0x8130cf38, 0xcfb0},
+  {0x8130cf39, 0xcfb1},
+  {0x8130d030, 0xcfb2},
+  {0x8130d031, 0xcfb3},
+  {0x8130d032, 0xcfb4},
+  {0x8130d033, 0xcfb5},
+  {0x8130d034, 0xcfb6},
+  {0x8130d035, 0xcfb7},
+  {0x8130d036, 0xcfb8},
+  {0x8130d037, 0xcfb9},
+  {0x8130d038, 0xcfba},
+  {0x8130d039, 0xcfbb},
+  {0x8130d130, 0xcfbc},
+  {0x8130d131, 0xcfbd},
+  {0x8130d132, 0xcfbe},
+  {0x8130d133, 0xcfbf},
+  {0x8130d134, 0xd080},
+  {0x8130d135, 0xd082},
+  {0x8130d136, 0xd083},
+  {0x8130d137, 0xd084},
+  {0x8130d138, 0xd085},
+  {0x8130d139, 0xd086},
+  {0x8130d230, 0xd087},
+  {0x8130d231, 0xd088},
+  {0x8130d232, 0xd089},
+  {0x8130d233, 0xd08a},
+  {0x8130d234, 0xd08b},
+  {0x8130d235, 0xd08c},
+  {0x8130d236, 0xd08d},
+  {0x8130d237, 0xd08e},
+  {0x8130d238, 0xd08f},
+  {0x8130d239, 0xd190},
+  {0x8130d330, 0xd192},
+  {0x8130d331, 0xd193},
+  {0x8130d332, 0xd194},
+  {0x8130d333, 0xd195},
+  {0x8130d334, 0xd196},
+  {0x8130d335, 0xd197},
+  {0x8130d336, 0xd198},
+  {0x8130d337, 0xd199},
+  {0x8130d338, 0xd19a},
+  {0x8130d339, 0xd19b},
+  {0x8130d430, 0xd19c},
+  {0x8130d431, 0xd19d},
+  {0x8130d432, 0xd19e},
+  {0x8130d433, 0xd19f},
+  {0x8130d434, 0xd1a0},
+  {0x8130d435, 0xd1a1},
+  {0x8130d436, 0xd1a2},
+  {0x8130d437, 0xd1a3},
+  {0x8130d438, 0xd1a4},
+  {0x8130d439, 0xd1a5},
+  {0x8130d530, 0xd1a6},
+  {0x8130d531, 0xd1a7},
+  {0x8130d532, 0xd1a8},
+  {0x8130d533, 0xd1a9},
+  {0x8130d534, 0xd1aa},
+  {0x8130d535, 0xd1ab},
+  {0x8130d536, 0xd1ac},
+  {0x8130d537, 0xd1ad},
+  {0x8130d538, 0xd1ae},
+  {0x8130d539, 0xd1af},
+  {0x8130d630, 0xd1b0},
+  {0x8130d631, 0xd1b1},
+  {0x8130d632, 0xd1b2},
+  {0x8130d633, 0xd1b3},
+  {0x8130d634, 0xd1b4},
+  {0x8130d635, 0xd1b5},
+  {0x8130d636, 0xd1b6},
+  {0x8130d637, 0xd1b7},
+  {0x8130d638, 0xd1b8},
+  {0x8130d639, 0xd1b9},
+  {0x8130d730, 0xd1ba},
+  {0x8130d731, 0xd1bb},
+  {0x8130d732, 0xd1bc},
+  {0x8130d733, 0xd1bd},
+  {0x8130d734, 0xd1be},
+  {0x8130d735, 0xd1bf},
+  {0x8130d736, 0xd280},
+  {0x8130d737, 0xd281},
+  {0x8130d738, 0xd282},
+  {0x8130d739, 0xd283},
+  {0x8130d830, 0xd284},
+  {0x8130d831, 0xd285},
+  {0x8130d832, 0xd286},
+  {0x8130d833, 0xd287},
+  {0x8130d834, 0xd288},
+  {0x8130d835, 0xd289},
+  {0x8130d836, 0xd28a},
+  {0x8130d837, 0xd28b},
+  {0x8130d838, 0xd28c},
+  {0x8130d839, 0xd28d},
+  {0x8130d930, 0xd28e},
+  {0x8130d931, 0xd28f},
+  {0x8130d932, 0xd290},
+  {0x8130d933, 0xd291},
+  {0x8130d934, 0xd292},
+  {0x8130d935, 0xd293},
+  {0x8130d936, 0xd294},
+  {0x8130d937, 0xd295},
+  {0x8130d938, 0xd296},
+  {0x8130d939, 0xd297},
+  {0x8130da30, 0xd298},
+  {0x8130da31, 0xd299},
+  {0x8130da32, 0xd29a},
+  {0x8130da33, 0xd29b},
+  {0x8130da34, 0xd29c},
+  {0x8130da35, 0xd29d},
+  {0x8130da36, 0xd29e},
+  {0x8130da37, 0xd29f},
+  {0x8130da38, 0xd2a0},
+  {0x8130da39, 0xd2a1},
+  {0x8130db30, 0xd2a2},
+  {0x8130db31, 0xd2a3},
+  {0x8130db32, 0xd2a4},
+  {0x8130db33, 0xd2a5},
+  {0x8130db34, 0xd2a6},
+  {0x8130db35, 0xd2a7},
+  {0x8130db36, 0xd2a8},
+  {0x8130db37, 0xd2a9},
+  {0x8130db38, 0xd2aa},
+  {0x8130db39, 0xd2ab},
+  {0x8130dc30, 0xd2ac},
+  {0x8130dc31, 0xd2ad},
+  {0x8130dc32, 0xd2ae},
+  {0x8130dc33, 0xd2af},
+  {0x8130dc34, 0xd2b0},
+  {0x8130dc35, 0xd2b1},
+  {0x8130dc36, 0xd2b2},
+  {0x8130dc37, 0xd2b3},
+  {0x8130dc38, 0xd2b4},
+  {0x8130dc39, 0xd2b5},
+  {0x8130dd30, 0xd2b6},
+  {0x8130dd31, 0xd2b7},
+  {0x8130dd32, 0xd2b8},
+  {0x8130dd33, 0xd2b9},
+  {0x8130dd34, 0xd2ba},
+  {0x8130dd35, 0xd2bb},
+  {0x8130dd36, 0xd2bc},
+  {0x8130dd37, 0xd2bd},
+  {0x8130dd38, 0xd2be},
+  {0x8130dd39, 0xd2bf},
+  {0x8130de30, 0xd380},
+  {0x8130de31, 0xd381},
+  {0x8130de32, 0xd382},
+  {0x8130de33, 0xd383},
+  {0x8130de34, 0xd384},
+  {0x8130de35, 0xd385},
+  {0x8130de36, 0xd386},
+  {0x8130de37, 0xd387},
+  {0x8130de38, 0xd388},
+  {0x8130de39, 0xd389},
+  {0x8130df30, 0xd38a},
+  {0x8130df31, 0xd38b},
+  {0x8130df32, 0xd38c},
+  {0x8130df33, 0xd38d},
+  {0x8130df34, 0xd38e},
+  {0x8130df35, 0xd38f},
+  {0x8130df36, 0xd390},
+  {0x8130df37, 0xd391},
+  {0x8130df38, 0xd392},
+  {0x8130df39, 0xd393},
+  {0x8130e030, 0xd394},
+  {0x8130e031, 0xd395},
+  {0x8130e032, 0xd396},
+  {0x8130e033, 0xd397},
+  {0x8130e034, 0xd398},
+  {0x8130e035, 0xd399},
+  {0x8130e036, 0xd39a},
+  {0x8130e037, 0xd39b},
+  {0x8130e038, 0xd39c},
+  {0x8130e039, 0xd39d},
+  {0x8130e130, 0xd39e},
+  {0x8130e131, 0xd39f},
+  {0x8130e132, 0xd3a0},
+  {0x8130e133, 0xd3a1},
+  {0x8130e134, 0xd3a2},
+  {0x8130e135, 0xd3a3},
+  {0x8130e136, 0xd3a4},
+  {0x8130e137, 0xd3a5},
+  {0x8130e138, 0xd3a6},
+  {0x8130e139, 0xd3a7},
+  {0x8130e230, 0xd3a8},
+  {0x8130e231, 0xd3a9},
+  {0x8130e232, 0xd3aa},
+  {0x8130e233, 0xd3ab},
+  {0x8130e234, 0xd3ac},
+  {0x8130e235, 0xd3ad},
+  {0x8130e236, 0xd3ae},
+  {0x8130e237, 0xd3af},
+  {0x8130e238, 0xd3b0},
+  {0x8130e239, 0xd3b1},
+  {0x8130e330, 0xd3b2},
+  {0x8130e331, 0xd3b3},
+  {0x8130e332, 0xd3b4},
+  {0x8130e333, 0xd3b5},
+  {0x8130e334, 0xd3b6},
+  {0x8130e335, 0xd3b7},
+  {0x8130e336, 0xd3b8},
+  {0x8130e337, 0xd3b9},
+  {0x8130e338, 0xd3ba},
+  {0x8130e339, 0xd3bb},
+  {0x8130e430, 0xd3bc},
+  {0x8130e431, 0xd3bd},
+  {0x8130e432, 0xd3be},
+  {0x8130e433, 0xd3bf},
+  {0x8130e434, 0xd480},
+  {0x8130e435, 0xd481},
+  {0x8130e436, 0xd482},
+  {0x8130e437, 0xd483},
+  {0x8130e438, 0xd484},
+  {0x8130e439, 0xd485},
+  {0x8130e530, 0xd486},
+  {0x8130e531, 0xd487},
+  {0x8130e532, 0xd488},
+  {0x8130e533, 0xd489},
+  {0x8130e534, 0xd48a},
+  {0x8130e535, 0xd48b},
+  {0x8130e536, 0xd48c},
+  {0x8130e537, 0xd48d},
+  {0x8130e538, 0xd48e},
+  {0x8130e539, 0xd48f},
+  {0x8130e630, 0xd490},
+  {0x8130e631, 0xd491},
+  {0x8130e632, 0xd492},
+  {0x8130e633, 0xd493},
+  {0x8130e634, 0xd494},
+  {0x8130e635, 0xd495},
+  {0x8130e636, 0xd496},
+  {0x8130e637, 0xd497},
+  {0x8130e638, 0xd498},
+  {0x8130e639, 0xd499},
+  {0x8130e730, 0xd49a},
+  {0x8130e731, 0xd49b},
+  {0x8130e732, 0xd49c},
+  {0x8130e733, 0xd49d},
+  {0x8130e734, 0xd49e},
+  {0x8130e735, 0xd49f},
+  {0x8130e736, 0xd4a0},
+  {0x8130e737, 0xd4a1},
+  {0x8130e738, 0xd4a2},
+  {0x8130e739, 0xd4a3},
+  {0x8130e830, 0xd4a4},
+  {0x8130e831, 0xd4a5},
+  {0x8130e832, 0xd4a6},
+  {0x8130e833, 0xd4a7},
+  {0x8130e834, 0xd4a8},
+  {0x8130e835, 0xd4a9},
+  {0x8130e836, 0xd4aa},
+  {0x8130e837, 0xd4ab},
+  {0x8130e838, 0xd4ac},
+  {0x8130e839, 0xd4ad},
+  {0x8130e930, 0xd4ae},
+  {0x8130e931, 0xd4af},
+  {0x8130e932, 0xd4b0},
+  {0x8130e933, 0xd4b1},
+  {0x8130e934, 0xd4b2},
+  {0x8130e935, 0xd4b3},
+  {0x8130e936, 0xd4b4},
+  {0x8130e937, 0xd4b5},
+  {0x8130e938, 0xd4b6},
+  {0x8130e939, 0xd4b7},
+  {0x8130ea30, 0xd4b8},
+  {0x8130ea31, 0xd4b9},
+  {0x8130ea32, 0xd4ba},
+  {0x8130ea33, 0xd4bb},
+  {0x8130ea34, 0xd4bc},
+  {0x8130ea35, 0xd4bd},
+  {0x8130ea36, 0xd4be},
+  {0x8130ea37, 0xd4bf},
+  {0x8130ea38, 0xd580},
+  {0x8130ea39, 0xd581},
+  {0x8130eb30, 0xd582},
+  {0x8130eb31, 0xd583},
+  {0x8130eb32, 0xd584},
+  {0x8130eb33, 0xd585},
+  {0x8130eb34, 0xd586},
+  {0x8130eb35, 0xd587},
+  {0x8130eb36, 0xd588},
+  {0x8130eb37, 0xd589},
+  {0x8130eb38, 0xd58a},
+  {0x8130eb39, 0xd58b},
+  {0x8130ec30, 0xd58c},
+  {0x8130ec31, 0xd58d},
+  {0x8130ec32, 0xd58e},
+  {0x8130ec33, 0xd58f},
+  {0x8130ec34, 0xd590},
+  {0x8130ec35, 0xd591},
+  {0x8130ec36, 0xd592},
+  {0x8130ec37, 0xd593},
+  {0x8130ec38, 0xd594},
+  {0x8130ec39, 0xd595},
+  {0x8130ed30, 0xd596},
+  {0x8130ed31, 0xd597},
+  {0x8130ed32, 0xd598},
+  {0x8130ed33, 0xd599},
+  {0x8130ed34, 0xd59a},
+  {0x8130ed35, 0xd59b},
+  {0x8130ed36, 0xd59c},
+  {0x8130ed37, 0xd59d},
+  {0x8130ed38, 0xd59e},
+  {0x8130ed39, 0xd59f},
+  {0x8130ee30, 0xd5a0},
+  {0x8130ee31, 0xd5a1},
+  {0x8130ee32, 0xd5a2},
+  {0x8130ee33, 0xd5a3},
+  {0x8130ee34, 0xd5a4},
+  {0x8130ee35, 0xd5a5},
+  {0x8130ee36, 0xd5a6},
+  {0x8130ee37, 0xd5a7},
+  {0x8130ee38, 0xd5a8},
+  {0x8130ee39, 0xd5a9},
+  {0x8130ef30, 0xd5aa},
+  {0x8130ef31, 0xd5ab},
+  {0x8130ef32, 0xd5ac},
+  {0x8130ef33, 0xd5ad},
+  {0x8130ef34, 0xd5ae},
+  {0x8130ef35, 0xd5af},
+  {0x8130ef36, 0xd5b0},
+  {0x8130ef37, 0xd5b1},
+  {0x8130ef38, 0xd5b2},
+  {0x8130ef39, 0xd5b3},
+  {0x8130f030, 0xd5b4},
+  {0x8130f031, 0xd5b5},
+  {0x8130f032, 0xd5b6},
+  {0x8130f033, 0xd5b7},
+  {0x8130f034, 0xd5b8},
+  {0x8130f035, 0xd5b9},
+  {0x8130f036, 0xd5ba},
+  {0x8130f037, 0xd5bb},
+  {0x8130f038, 0xd5bc},
+  {0x8130f039, 0xd5bd},
+  {0x8130f130, 0xd5be},
+  {0x8130f131, 0xd5bf},
+  {0x8130f132, 0xd680},
+  {0x8130f133, 0xd681},
+  {0x8130f134, 0xd682},
+  {0x8130f135, 0xd683},
+  {0x8130f136, 0xd684},
+  {0x8130f137, 0xd685},
+  {0x8130f138, 0xd686},
+  {0x8130f139, 0xd687},
+  {0x8130f230, 0xd688},
+  {0x8130f231, 0xd689},
+  {0x8130f232, 0xd68a},
+  {0x8130f233, 0xd68b},
+  {0x8130f234, 0xd68c},
+  {0x8130f235, 0xd68d},
+  {0x8130f236, 0xd68e},
+  {0x8130f237, 0xd68f},
+  {0x8130f238, 0xd690},
+  {0x8130f239, 0xd691},
+  {0x8130f330, 0xd692},
+  {0x8130f331, 0xd693},
+  {0x8130f332, 0xd694},
+  {0x8130f333, 0xd695},
+  {0x8130f334, 0xd696},
+  {0x8130f335, 0xd697},
+  {0x8130f336, 0xd698},
+  {0x8130f337, 0xd699},
+  {0x8130f338, 0xd69a},
+  {0x8130f339, 0xd69b},
+  {0x8130f430, 0xd69c},
+  {0x8130f431, 0xd69d},
+  {0x8130f432, 0xd69e},
+  {0x8130f433, 0xd69f},
+  {0x8130f434, 0xd6a0},
+  {0x8130f435, 0xd6a1},
+  {0x8130f436, 0xd6a2},
+  {0x8130f437, 0xd6a3},
+  {0x8130f438, 0xd6a4},
+  {0x8130f439, 0xd6a5},
+  {0x8130f530, 0xd6a6},
+  {0x8130f531, 0xd6a7},
+  {0x8130f532, 0xd6a8},
+  {0x8130f533, 0xd6a9},
+  {0x8130f534, 0xd6aa},
+  {0x8130f535, 0xd6ab},
+  {0x8130f536, 0xd6ac},
+  {0x8130f537, 0xd6ad},
+  {0x8130f538, 0xd6ae},
+  {0x8130f539, 0xd6af},
+  {0x8130f630, 0xd6b0},
+  {0x8130f631, 0xd6b1},
+  {0x8130f632, 0xd6b2},
+  {0x8130f633, 0xd6b3},
+  {0x8130f634, 0xd6b4},
+  {0x8130f635, 0xd6b5},
+  {0x8130f636, 0xd6b6},
+  {0x8130f637, 0xd6b7},
+  {0x8130f638, 0xd6b8},
+  {0x8130f639, 0xd6b9},
+  {0x8130f730, 0xd6ba},
+  {0x8130f731, 0xd6bb},
+  {0x8130f732, 0xd6bc},
+  {0x8130f733, 0xd6bd},
+  {0x8130f734, 0xd6be},
+  {0x8130f735, 0xd6bf},
+  {0x8130f736, 0xd780},
+  {0x8130f737, 0xd781},
+  {0x8130f738, 0xd782},
+  {0x8130f739, 0xd783},
+  {0x8130f830, 0xd784},
+  {0x8130f831, 0xd785},
+  {0x8130f832, 0xd786},
+  {0x8130f833, 0xd787},
+  {0x8130f834, 0xd788},
+  {0x8130f835, 0xd789},
+  {0x8130f836, 0xd78a},
+  {0x8130f837, 0xd78b},
+  {0x8130f838, 0xd78c},
+  {0x8130f839, 0xd78d},
+  {0x8130f930, 0xd78e},
+  {0x8130f931, 0xd78f},
+  {0x8130f932, 0xd790},
+  {0x8130f933, 0xd791},
+  {0x8130f934, 0xd792},
+  {0x8130f935, 0xd793},
+  {0x8130f936, 0xd794},
+  {0x8130f937, 0xd795},
+  {0x8130f938, 0xd796},
+  {0x8130f939, 0xd797},
+  {0x8130fa30, 0xd798},
+  {0x8130fa31, 0xd799},
+  {0x8130fa32, 0xd79a},
+  {0x8130fa33, 0xd79b},
+  {0x8130fa34, 0xd79c},
+  {0x8130fa35, 0xd79d},
+  {0x8130fa36, 0xd79e},
+  {0x8130fa37, 0xd79f},
+  {0x8130fa38, 0xd7a0},
+  {0x8130fa39, 0xd7a1},
+  {0x8130fb30, 0xd7a2},
+  {0x8130fb31, 0xd7a3},
+  {0x8130fb32, 0xd7a4},
+  {0x8130fb33, 0xd7a5},
+  {0x8130fb34, 0xd7a6},
+  {0x8130fb35, 0xd7a7},
+  {0x8130fb36, 0xd7a8},
+  {0x8130fb37, 0xd7a9},
+  {0x8130fb38, 0xd7aa},
+  {0x8130fb39, 0xd7ab},
+  {0x8130fc30, 0xd7ac},
+  {0x8130fc31, 0xd7ad},
+  {0x8130fc32, 0xd7ae},
+  {0x8130fc33, 0xd7af},
+  {0x8130fc34, 0xd7b0},
+  {0x8130fc35, 0xd7b1},
+  {0x8130fc36, 0xd7b2},
+  {0x8130fc37, 0xd7b3},
+  {0x8130fc38, 0xd7b4},
+  {0x8130fc39, 0xd7b5},
+  {0x8130fd30, 0xd7b6},
+  {0x8130fd31, 0xd7b7},
+  {0x8130fd32, 0xd7b8},
+  {0x8130fd33, 0xd7b9},
+  {0x8130fd34, 0xd7ba},
+  {0x8130fd35, 0xd7bb},
+  {0x8130fd36, 0xd7bc},
+  {0x8130fd37, 0xd7bd},
+  {0x8130fd38, 0xd7be},
+  {0x8130fd39, 0xd7bf},
+  {0x8130fe30, 0xd880},
+  {0x8130fe31, 0xd881},
+  {0x8130fe32, 0xd882},
+  {0x8130fe33, 0xd883},
+  {0x8130fe34, 0xd884},
+  {0x8130fe35, 0xd885},
+  {0x8130fe36, 0xd886},
+  {0x8130fe37, 0xd887},
+  {0x8130fe38, 0xd888},
+  {0x8130fe39, 0xd889},
+  {0x81318130, 0xd88a},
+  {0x81318131, 0xd88b},
+  {0x81318132, 0xd88c},
+  {0x81318133, 0xd88d},
+  {0x81318134, 0xd88e},
+  {0x81318135, 0xd88f},
+  {0x81318136, 0xd890},
+  {0x81318137, 0xd891},
+  {0x81318138, 0xd892},
+  {0x81318139, 0xd893},
+  {0x81318230, 0xd894},
+  {0x81318231, 0xd895},
+  {0x81318232, 0xd896},
+  {0x81318233, 0xd897},
+  {0x81318234, 0xd898},
+  {0x81318235, 0xd899},
+  {0x81318236, 0xd89a},
+  {0x81318237, 0xd89b},
+  {0x81318238, 0xd89c},
+  {0x81318239, 0xd89d},
+  {0x81318330, 0xd89e},
+  {0x81318331, 0xd89f},
+  {0x81318332, 0xd8a0},
+  {0x81318333, 0xd8a1},
+  {0x81318334, 0xd8a2},
+  {0x81318335, 0xd8a3},
+  {0x81318336, 0xd8a4},
+  {0x81318337, 0xd8a5},
+  {0x81318338, 0xd8a6},
+  {0x81318339, 0xd8a7},
+  {0x81318430, 0xd8a8},
+  {0x81318431, 0xd8a9},
+  {0x81318432, 0xd8aa},
+  {0x81318433, 0xd8ab},
+  {0x81318434, 0xd8ac},
+  {0x81318435, 0xd8ad},
+  {0x81318436, 0xd8ae},
+  {0x81318437, 0xd8af},
+  {0x81318438, 0xd8b0},
+  {0x81318439, 0xd8b1},
+  {0x81318530, 0xd8b2},
+  {0x81318531, 0xd8b3},
+  {0x81318532, 0xd8b4},
+  {0x81318533, 0xd8b5},
+  {0x81318534, 0xd8b6},
+  {0x81318535, 0xd8b7},
+  {0x81318536, 0xd8b8},
+  {0x81318537, 0xd8b9},
+  {0x81318538, 0xd8ba},
+  {0x81318539, 0xd8bb},
+  {0x81318630, 0xd8bc},
+  {0x81318631, 0xd8bd},
+  {0x81318632, 0xd8be},
+  {0x81318633, 0xd8bf},
+  {0x81318634, 0xd980},
+  {0x81318635, 0xd981},
+  {0x81318636, 0xd982},
+  {0x81318637, 0xd983},
+  {0x81318638, 0xd984},
+  {0x81318639, 0xd985},
+  {0x81318730, 0xd986},
+  {0x81318731, 0xd987},
+  {0x81318732, 0xd988},
+  {0x81318733, 0xd989},
+  {0x81318734, 0xd98a},
+  {0x81318735, 0xd98b},
+  {0x81318736, 0xd98c},
+  {0x81318737, 0xd98d},
+  {0x81318738, 0xd98e},
+  {0x81318739, 0xd98f},
+  {0x81318830, 0xd990},
+  {0x81318831, 0xd991},
+  {0x81318832, 0xd992},
+  {0x81318833, 0xd993},
+  {0x81318834, 0xd994},
+  {0x81318835, 0xd995},
+  {0x81318836, 0xd996},
+  {0x81318837, 0xd997},
+  {0x81318838, 0xd998},
+  {0x81318839, 0xd999},
+  {0x81318930, 0xd99a},
+  {0x81318931, 0xd99b},
+  {0x81318932, 0xd99c},
+  {0x81318933, 0xd99d},
+  {0x81318934, 0xd99e},
+  {0x81318935, 0xd99f},
+  {0x81318936, 0xd9a0},
+  {0x81318937, 0xd9a1},
+  {0x81318938, 0xd9a2},
+  {0x81318939, 0xd9a3},
+  {0x81318a30, 0xd9a4},
+  {0x81318a31, 0xd9a5},
+  {0x81318a32, 0xd9a6},
+  {0x81318a33, 0xd9a7},
+  {0x81318a34, 0xd9a8},
+  {0x81318a35, 0xd9a9},
+  {0x81318a36, 0xd9aa},
+  {0x81318a37, 0xd9ab},
+  {0x81318a38, 0xd9ac},
+  {0x81318a39, 0xd9ad},
+  {0x81318b30, 0xd9ae},
+  {0x81318b31, 0xd9af},
+  {0x81318b32, 0xd9b0},
+  {0x81318b33, 0xd9b1},
+  {0x81318b34, 0xd9b2},
+  {0x81318b35, 0xd9b3},
+  {0x81318b36, 0xd9b4},
+  {0x81318b37, 0xd9b5},
+  {0x81318b38, 0xd9b6},
+  {0x81318b39, 0xd9b7},
+  {0x81318c30, 0xd9b8},
+  {0x81318c31, 0xd9b9},
+  {0x81318c32, 0xd9ba},
+  {0x81318c33, 0xd9bb},
+  {0x81318c34, 0xd9bc},
+  {0x81318c35, 0xd9bd},
+  {0x81318c36, 0xd9be},
+  {0x81318c37, 0xd9bf},
+  {0x81318c38, 0xda80},
+  {0x81318c39, 0xda81},
+  {0x81318d30, 0xda82},
+  {0x81318d31, 0xda83},
+  {0x81318d32, 0xda84},
+  {0x81318d33, 0xda85},
+  {0x81318d34, 0xda86},
+  {0x81318d35, 0xda87},
+  {0x81318d36, 0xda88},
+  {0x81318d37, 0xda89},
+  {0x81318d38, 0xda8a},
+  {0x81318d39, 0xda8b},
+  {0x81318e30, 0xda8c},
+  {0x81318e31, 0xda8d},
+  {0x81318e32, 0xda8e},
+  {0x81318e33, 0xda8f},
+  {0x81318e34, 0xda90},
+  {0x81318e35, 0xda91},
+  {0x81318e36, 0xda92},
+  {0x81318e37, 0xda93},
+  {0x81318e38, 0xda94},
+  {0x81318e39, 0xda95},
+  {0x81318f30, 0xda96},
+  {0x81318f31, 0xda97},
+  {0x81318f32, 0xda98},
+  {0x81318f33, 0xda99},
+  {0x81318f34, 0xda9a},
+  {0x81318f35, 0xda9b},
+  {0x81318f36, 0xda9c},
+  {0x81318f37, 0xda9d},
+  {0x81318f38, 0xda9e},
+  {0x81318f39, 0xda9f},
+  {0x81319030, 0xdaa0},
+  {0x81319031, 0xdaa1},
+  {0x81319032, 0xdaa2},
+  {0x81319033, 0xdaa3},
+  {0x81319034, 0xdaa4},
+  {0x81319035, 0xdaa5},
+  {0x81319036, 0xdaa6},
+  {0x81319037, 0xdaa7},
+  {0x81319038, 0xdaa8},
+  {0x81319039, 0xdaa9},
+  {0x81319130, 0xdaaa},
+  {0x81319131, 0xdaab},
+  {0x81319132, 0xdaac},
+  {0x81319133, 0xdaad},
+  {0x81319134, 0xdaae},
+  {0x81319135, 0xdaaf},
+  {0x81319136, 0xdab0},
+  {0x81319137, 0xdab1},
+  {0x81319138, 0xdab2},
+  {0x81319139, 0xdab3},
+  {0x81319230, 0xdab4},
+  {0x81319231, 0xdab5},
+  {0x81319232, 0xdab6},
+  {0x81319233, 0xdab7},
+  {0x81319234, 0xdab8},
+  {0x81319235, 0xdab9},
+  {0x81319236, 0xdaba},
+  {0x81319237, 0xdabb},
+  {0x81319238, 0xdabc},
+  {0x81319239, 0xdabd},
+  {0x81319330, 0xdabe},
+  {0x81319331, 0xdabf},
+  {0x81319332, 0xdb80},
+  {0x81319333, 0xdb81},
+  {0x81319334, 0xdb82},
+  {0x81319335, 0xdb83},
+  {0x81319336, 0xdb84},
+  {0x81319337, 0xdb85},
+  {0x81319338, 0xdb86},
+  {0x81319339, 0xdb87},
+  {0x81319430, 0xdb88},
+  {0x81319431, 0xdb89},
+  {0x81319432, 0xdb8a},
+  {0x81319433, 0xdb8b},
+  {0x81319434, 0xdb8c},
+  {0x81319435, 0xdb8d},
+  {0x81319436, 0xdb8e},
+  {0x81319437, 0xdb8f},
+  {0x81319438, 0xdb90},
+  {0x81319439, 0xdb91},
+  {0x81319530, 0xdb92},
+  {0x81319531, 0xdb93},
+  {0x81319532, 0xdb94},
+  {0x81319533, 0xdb95},
+  {0x81319534, 0xdb96},
+  {0x81319535, 0xdb97},
+  {0x81319536, 0xdb98},
+  {0x81319537, 0xdb99},
+  {0x81319538, 0xdb9a},
+  {0x81319539, 0xdb9b},
+  {0x81319630, 0xdb9c},
+  {0x81319631, 0xdb9d},
+  {0x81319632, 0xdb9e},
+  {0x81319633, 0xdb9f},
+  {0x81319634, 0xdba0},
+  {0x81319635, 0xdba1},
+  {0x81319636, 0xdba2},
+  {0x81319637, 0xdba3},
+  {0x81319638, 0xdba4},
+  {0x81319639, 0xdba5},
+  {0x81319730, 0xdba6},
+  {0x81319731, 0xdba7},
+  {0x81319732, 0xdba8},
+  {0x81319733, 0xdba9},
+  {0x81319734, 0xdbaa},
+  {0x81319735, 0xdbab},
+  {0x81319736, 0xdbac},
+  {0x81319737, 0xdbad},
+  {0x81319738, 0xdbae},
+  {0x81319739, 0xdbaf},
+  {0x81319830, 0xdbb0},
+  {0x81319831, 0xdbb1},
+  {0x81319832, 0xdbb2},
+  {0x81319833, 0xdbb3},
+  {0x81319834, 0xdbb4},
+  {0x81319835, 0xdbb5},
+  {0x81319836, 0xdbb6},
+  {0x81319837, 0xdbb7},
+  {0x81319838, 0xdbb8},
+  {0x81319839, 0xdbb9},
+  {0x81319930, 0xdbba},
+  {0x81319931, 0xdbbb},
+  {0x81319932, 0xdbbc},
+  {0x81319933, 0xdbbd},
+  {0x81319934, 0xdbbe},
+  {0x81319935, 0xdbbf},
+  {0x81319936, 0xdc80},
+  {0x81319937, 0xdc81},
+  {0x81319938, 0xdc82},
+  {0x81319939, 0xdc83},
+  {0x81319a30, 0xdc84},
+  {0x81319a31, 0xdc85},
+  {0x81319a32, 0xdc86},
+  {0x81319a33, 0xdc87},
+  {0x81319a34, 0xdc88},
+  {0x81319a35, 0xdc89},
+  {0x81319a36, 0xdc8a},
+  {0x81319a37, 0xdc8b},
+  {0x81319a38, 0xdc8c},
+  {0x81319a39, 0xdc8d},
+  {0x81319b30, 0xdc8e},
+  {0x81319b31, 0xdc8f},
+  {0x81319b32, 0xdc90},
+  {0x81319b33, 0xdc91},
+  {0x81319b34, 0xdc92},
+  {0x81319b35, 0xdc93},
+  {0x81319b36, 0xdc94},
+  {0x81319b37, 0xdc95},
+  {0x81319b38, 0xdc96},
+  {0x81319b39, 0xdc97},
+  {0x81319c30, 0xdc98},
+  {0x81319c31, 0xdc99},
+  {0x81319c32, 0xdc9a},
+  {0x81319c33, 0xdc9b},
+  {0x81319c34, 0xdc9c},
+  {0x81319c35, 0xdc9d},
+  {0x81319c36, 0xdc9e},
+  {0x81319c37, 0xdc9f},
+  {0x81319c38, 0xdca0},
+  {0x81319c39, 0xdca1},
+  {0x81319d30, 0xdca2},
+  {0x81319d31, 0xdca3},
+  {0x81319d32, 0xdca4},
+  {0x81319d33, 0xdca5},
+  {0x81319d34, 0xdca6},
+  {0x81319d35, 0xdca7},
+  {0x81319d36, 0xdca8},
+  {0x81319d37, 0xdca9},
+  {0x81319d38, 0xdcaa},
+  {0x81319d39, 0xdcab},
+  {0x81319e30, 0xdcac},
+  {0x81319e31, 0xdcad},
+  {0x81319e32, 0xdcae},
+  {0x81319e33, 0xdcaf},
+  {0x81319e34, 0xdcb0},
+  {0x81319e35, 0xdcb1},
+  {0x81319e36, 0xdcb2},
+  {0x81319e37, 0xdcb3},
+  {0x81319e38, 0xdcb4},
+  {0x81319e39, 0xdcb5},
+  {0x81319f30, 0xdcb6},
+  {0x81319f31, 0xdcb7},
+  {0x81319f32, 0xdcb8},
+  {0x81319f33, 0xdcb9},
+  {0x81319f34, 0xdcba},
+  {0x81319f35, 0xdcbb},
+  {0x81319f36, 0xdcbc},
+  {0x81319f37, 0xdcbd},
+  {0x81319f38, 0xdcbe},
+  {0x81319f39, 0xdcbf},
+  {0x8131a030, 0xdd80},
+  {0x8131a031, 0xdd81},
+  {0x8131a032, 0xdd82},
+  {0x8131a033, 0xdd83},
+  {0x8131a034, 0xdd84},
+  {0x8131a035, 0xdd85},
+  {0x8131a036, 0xdd86},
+  {0x8131a037, 0xdd87},
+  {0x8131a038, 0xdd88},
+  {0x8131a039, 0xdd89},
+  {0x8131a130, 0xdd8a},
+  {0x8131a131, 0xdd8b},
+  {0x8131a132, 0xdd8c},
+  {0x8131a133, 0xdd8d},
+  {0x8131a134, 0xdd8e},
+  {0x8131a135, 0xdd8f},
+  {0x8131a136, 0xdd90},
+  {0x8131a137, 0xdd91},
+  {0x8131a138, 0xdd92},
+  {0x8131a139, 0xdd93},
+  {0x8131a230, 0xdd94},
+  {0x8131a231, 0xdd95},
+  {0x8131a232, 0xdd96},
+  {0x8131a233, 0xdd97},
+  {0x8131a234, 0xdd98},
+  {0x8131a235, 0xdd99},
+  {0x8131a236, 0xdd9a},
+  {0x8131a237, 0xdd9b},
+  {0x8131a238, 0xdd9c},
+  {0x8131a239, 0xdd9d},
+  {0x8131a330, 0xdd9e},
+  {0x8131a331, 0xdd9f},
+  {0x8131a332, 0xdda0},
+  {0x8131a333, 0xdda1},
+  {0x8131a334, 0xdda2},
+  {0x8131a335, 0xdda3},
+  {0x8131a336, 0xdda4},
+  {0x8131a337, 0xdda5},
+  {0x8131a338, 0xdda6},
+  {0x8131a339, 0xdda7},
+  {0x8131a430, 0xdda8},
+  {0x8131a431, 0xdda9},
+  {0x8131a432, 0xddaa},
+  {0x8131a433, 0xddab},
+  {0x8131a434, 0xddac},
+  {0x8131a435, 0xddad},
+  {0x8131a436, 0xddae},
+  {0x8131a437, 0xddaf},
+  {0x8131a438, 0xddb0},
+  {0x8131a439, 0xddb1},
+  {0x8131a530, 0xddb2},
+  {0x8131a531, 0xddb3},
+  {0x8131a532, 0xddb4},
+  {0x8131a533, 0xddb5},
+  {0x8131a534, 0xddb6},
+  {0x8131a535, 0xddb7},
+  {0x8131a536, 0xddb8},
+  {0x8131a537, 0xddb9},
+  {0x8131a538, 0xddba},
+  {0x8131a539, 0xddbb},
+  {0x8131a630, 0xddbc},
+  {0x8131a631, 0xddbd},
+  {0x8131a632, 0xddbe},
+  {0x8131a633, 0xddbf},
+  {0x8131a634, 0xde80},
+  {0x8131a635, 0xde81},
+  {0x8131a636, 0xde82},
+  {0x8131a637, 0xde83},
+  {0x8131a638, 0xde84},
+  {0x8131a639, 0xde85},
+  {0x8131a730, 0xde86},
+  {0x8131a731, 0xde87},
+  {0x8131a732, 0xde88},
+  {0x8131a733, 0xde89},
+  {0x8131a734, 0xde8a},
+  {0x8131a735, 0xde8b},
+  {0x8131a736, 0xde8c},
+  {0x8131a737, 0xde8d},
+  {0x8131a738, 0xde8e},
+  {0x8131a739, 0xde8f},
+  {0x8131a830, 0xde90},
+  {0x8131a831, 0xde91},
+  {0x8131a832, 0xde92},
+  {0x8131a833, 0xde93},
+  {0x8131a834, 0xde94},
+  {0x8131a835, 0xde95},
+  {0x8131a836, 0xde96},
+  {0x8131a837, 0xde97},
+  {0x8131a838, 0xde98},
+  {0x8131a839, 0xde99},
+  {0x8131a930, 0xde9a},
+  {0x8131a931, 0xde9b},
+  {0x8131a932, 0xde9c},
+  {0x8131a933, 0xde9d},
+  {0x8131a934, 0xde9e},
+  {0x8131a935, 0xde9f},
+  {0x8131a936, 0xdea0},
+  {0x8131a937, 0xdea1},
+  {0x8131a938, 0xdea2},
+  {0x8131a939, 0xdea3},
+  {0x8131aa30, 0xdea4},
+  {0x8131aa31, 0xdea5},
+  {0x8131aa32, 0xdea6},
+  {0x8131aa33, 0xdea7},
+  {0x8131aa34, 0xdea8},
+  {0x8131aa35, 0xdea9},
+  {0x8131aa36, 0xdeaa},
+  {0x8131aa37, 0xdeab},
+  {0x8131aa38, 0xdeac},
+  {0x8131aa39, 0xdead},
+  {0x8131ab30, 0xdeae},
+  {0x8131ab31, 0xdeaf},
+  {0x8131ab32, 0xdeb0},
+  {0x8131ab33, 0xdeb1},
+  {0x8131ab34, 0xdeb2},
+  {0x8131ab35, 0xdeb3},
+  {0x8131ab36, 0xdeb4},
+  {0x8131ab37, 0xdeb5},
+  {0x8131ab38, 0xdeb6},
+  {0x8131ab39, 0xdeb7},
+  {0x8131ac30, 0xdeb8},
+  {0x8131ac31, 0xdeb9},
+  {0x8131ac32, 0xdeba},
+  {0x8131ac33, 0xdebb},
+  {0x8131ac34, 0xdebc},
+  {0x8131ac35, 0xdebd},
+  {0x8131ac36, 0xdebe},
+  {0x8131ac37, 0xdebf},
+  {0x8131ac38, 0xdf80},
+  {0x8131ac39, 0xdf81},
+  {0x8131ad30, 0xdf82},
+  {0x8131ad31, 0xdf83},
+  {0x8131ad32, 0xdf84},
+  {0x8131ad33, 0xdf85},
+  {0x8131ad34, 0xdf86},
+  {0x8131ad35, 0xdf87},
+  {0x8131ad36, 0xdf88},
+  {0x8131ad37, 0xdf89},
+  {0x8131ad38, 0xdf8a},
+  {0x8131ad39, 0xdf8b},
+  {0x8131ae30, 0xdf8c},
+  {0x8131ae31, 0xdf8d},
+  {0x8131ae32, 0xdf8e},
+  {0x8131ae33, 0xdf8f},
+  {0x8131ae34, 0xdf90},
+  {0x8131ae35, 0xdf91},
+  {0x8131ae36, 0xdf92},
+  {0x8131ae37, 0xdf93},
+  {0x8131ae38, 0xdf94},
+  {0x8131ae39, 0xdf95},
+  {0x8131af30, 0xdf96},
+  {0x8131af31, 0xdf97},
+  {0x8131af32, 0xdf98},
+  {0x8131af33, 0xdf99},
+  {0x8131af34, 0xdf9a},
+  {0x8131af35, 0xdf9b},
+  {0x8131af36, 0xdf9c},
+  {0x8131af37, 0xdf9d},
+  {0x8131af38, 0xdf9e},
+  {0x8131af39, 0xdf9f},
+  {0x8131b030, 0xdfa0},
+  {0x8131b031, 0xdfa1},
+  {0x8131b032, 0xdfa2},
+  {0x8131b033, 0xdfa3},
+  {0x8131b034, 0xdfa4},
+  {0x8131b035, 0xdfa5},
+  {0x8131b036, 0xdfa6},
+  {0x8131b037, 0xdfa7},
+  {0x8131b038, 0xdfa8},
+  {0x8131b039, 0xdfa9},
+  {0x8131b130, 0xdfaa},
+  {0x8131b131, 0xdfab},
+  {0x8131b132, 0xdfac},
+  {0x8131b133, 0xdfad},
+  {0x8131b134, 0xdfae},
+  {0x8131b135, 0xdfaf},
+  {0x8131b136, 0xdfb0},
+  {0x8131b137, 0xdfb1},
+  {0x8131b138, 0xdfb2},
+  {0x8131b139, 0xdfb3},
+  {0x8131b230, 0xdfb4},
+  {0x8131b231, 0xdfb5},
+  {0x8131b232, 0xdfb6},
+  {0x8131b233, 0xdfb7},
+  {0x8131b234, 0xdfb8},
+  {0x8131b235, 0xdfb9},
+  {0x8131b236, 0xdfba},
+  {0x8131b237, 0xdfbb},
+  {0x8131b238, 0xdfbc},
+  {0x8131b239, 0xdfbd},
+  {0x8131b330, 0xdfbe},
+  {0x8131b331, 0xdfbf},
+  {0x8131b332, 0xe0a080},
+  {0x8131b333, 0xe0a081},
+  {0x8131b334, 0xe0a082},
+  {0x8131b335, 0xe0a083},
+  {0x8131b336, 0xe0a084},
+  {0x8131b337, 0xe0a085},
+  {0x8131b338, 0xe0a086},
+  {0x8131b339, 0xe0a087},
+  {0x8131b430, 0xe0a088},
+  {0x8131b431, 0xe0a089},
+  {0x8131b432, 0xe0a08a},
+  {0x8131b433, 0xe0a08b},
+  {0x8131b434, 0xe0a08c},
+  {0x8131b435, 0xe0a08d},
+  {0x8131b436, 0xe0a08e},
+  {0x8131b437, 0xe0a08f},
+  {0x8131b438, 0xe0a090},
+  {0x8131b439, 0xe0a091},
+  {0x8131b530, 0xe0a092},
+  {0x8131b531, 0xe0a093},
+  {0x8131b532, 0xe0a094},
+  {0x8131b533, 0xe0a095},
+  {0x8131b534, 0xe0a096},
+  {0x8131b535, 0xe0a097},
+  {0x8131b536, 0xe0a098},
+  {0x8131b537, 0xe0a099},
+  {0x8131b538, 0xe0a09a},
+  {0x8131b539, 0xe0a09b},
+  {0x8131b630, 0xe0a09c},
+  {0x8131b631, 0xe0a09d},
+  {0x8131b632, 0xe0a09e},
+  {0x8131b633, 0xe0a09f},
+  {0x8131b634, 0xe0a0a0},
+  {0x8131b635, 0xe0a0a1},
+  {0x8131b636, 0xe0a0a2},
+  {0x8131b637, 0xe0a0a3},
+  {0x8131b638, 0xe0a0a4},
+  {0x8131b639, 0xe0a0a5},
+  {0x8131b730, 0xe0a0a6},
+  {0x8131b731, 0xe0a0a7},
+  {0x8131b732, 0xe0a0a8},
+  {0x8131b733, 0xe0a0a9},
+  {0x8131b734, 0xe0a0aa},
+  {0x8131b735, 0xe0a0ab},
+  {0x8131b736, 0xe0a0ac},
+  {0x8131b737, 0xe0a0ad},
+  {0x8131b738, 0xe0a0ae},
+  {0x8131b739, 0xe0a0af},
+  {0x8131b830, 0xe0a0b0},
+  {0x8131b831, 0xe0a0b1},
+  {0x8131b832, 0xe0a0b2},
+  {0x8131b833, 0xe0a0b3},
+  {0x8131b834, 0xe0a0b4},
+  {0x8131b835, 0xe0a0b5},
+  {0x8131b836, 0xe0a0b6},
+  {0x8131b837, 0xe0a0b7},
+  {0x8131b838, 0xe0a0b8},
+  {0x8131b839, 0xe0a0b9},
+  {0x8131b930, 0xe0a0ba},
+  {0x8131b931, 0xe0a0bb},
+  {0x8131b932, 0xe0a0bc},
+  {0x8131b933, 0xe0a0bd},
+  {0x8131b934, 0xe0a0be},
+  {0x8131b935, 0xe0a0bf},
+  {0x8131b936, 0xe0a180},
+  {0x8131b937, 0xe0a181},
+  {0x8131b938, 0xe0a182},
+  {0x8131b939, 0xe0a183},
+  {0x8131ba30, 0xe0a184},
+  {0x8131ba31, 0xe0a185},
+  {0x8131ba32, 0xe0a186},
+  {0x8131ba33, 0xe0a187},
+  {0x8131ba34, 0xe0a188},
+  {0x8131ba35, 0xe0a189},
+  {0x8131ba36, 0xe0a18a},
+  {0x8131ba37, 0xe0a18b},
+  {0x8131ba38, 0xe0a18c},
+  {0x8131ba39, 0xe0a18d},
+  {0x8131bb30, 0xe0a18e},
+  {0x8131bb31, 0xe0a18f},
+  {0x8131bb32, 0xe0a190},
+  {0x8131bb33, 0xe0a191},
+  {0x8131bb34, 0xe0a192},
+  {0x8131bb35, 0xe0a193},
+  {0x8131bb36, 0xe0a194},
+  {0x8131bb37, 0xe0a195},
+  {0x8131bb38, 0xe0a196},
+  {0x8131bb39, 0xe0a197},
+  {0x8131bc30, 0xe0a198},
+  {0x8131bc31, 0xe0a199},
+  {0x8131bc32, 0xe0a19a},
+  {0x8131bc33, 0xe0a19b},
+  {0x8131bc34, 0xe0a19c},
+  {0x8131bc35, 0xe0a19d},
+  {0x8131bc36, 0xe0a19e},
+  {0x8131bc37, 0xe0a19f},
+  {0x8131bc38, 0xe0a1a0},
+  {0x8131bc39, 0xe0a1a1},
+  {0x8131bd30, 0xe0a1a2},
+  {0x8131bd31, 0xe0a1a3},
+  {0x8131bd32, 0xe0a1a4},
+  {0x8131bd33, 0xe0a1a5},
+  {0x8131bd34, 0xe0a1a6},
+  {0x8131bd35, 0xe0a1a7},
+  {0x8131bd36, 0xe0a1a8},
+  {0x8131bd37, 0xe0a1a9},
+  {0x8131bd38, 0xe0a1aa},
+  {0x8131bd39, 0xe0a1ab},
+  {0x8131be30, 0xe0a1ac},
+  {0x8131be31, 0xe0a1ad},
+  {0x8131be32, 0xe0a1ae},
+  {0x8131be33, 0xe0a1af},
+  {0x8131be34, 0xe0a1b0},
+  {0x8131be35, 0xe0a1b1},
+  {0x8131be36, 0xe0a1b2},
+  {0x8131be37, 0xe0a1b3},
+  {0x8131be38, 0xe0a1b4},
+  {0x8131be39, 0xe0a1b5},
+  {0x8131bf30, 0xe0a1b6},
+  {0x8131bf31, 0xe0a1b7},
+  {0x8131bf32, 0xe0a1b8},
+  {0x8131bf33, 0xe0a1b9},
+  {0x8131bf34, 0xe0a1ba},
+  {0x8131bf35, 0xe0a1bb},
+  {0x8131bf36, 0xe0a1bc},
+  {0x8131bf37, 0xe0a1bd},
+  {0x8131bf38, 0xe0a1be},
+  {0x8131bf39, 0xe0a1bf},
+  {0x8131c030, 0xe0a280},
+  {0x8131c031, 0xe0a281},
+  {0x8131c032, 0xe0a282},
+  {0x8131c033, 0xe0a283},
+  {0x8131c034, 0xe0a284},
+  {0x8131c035, 0xe0a285},
+  {0x8131c036, 0xe0a286},
+  {0x8131c037, 0xe0a287},
+  {0x8131c038, 0xe0a288},
+  {0x8131c039, 0xe0a289},
+  {0x8131c130, 0xe0a28a},
+  {0x8131c131, 0xe0a28b},
+  {0x8131c132, 0xe0a28c},
+  {0x8131c133, 0xe0a28d},
+  {0x8131c134, 0xe0a28e},
+  {0x8131c135, 0xe0a28f},
+  {0x8131c136, 0xe0a290},
+  {0x8131c137, 0xe0a291},
+  {0x8131c138, 0xe0a292},
+  {0x8131c139, 0xe0a293},
+  {0x8131c230, 0xe0a294},
+  {0x8131c231, 0xe0a295},
+  {0x8131c232, 0xe0a296},
+  {0x8131c233, 0xe0a297},
+  {0x8131c234, 0xe0a298},
+  {0x8131c235, 0xe0a299},
+  {0x8131c236, 0xe0a29a},
+  {0x8131c237, 0xe0a29b},
+  {0x8131c238, 0xe0a29c},
+  {0x8131c239, 0xe0a29d},
+  {0x8131c330, 0xe0a29e},
+  {0x8131c331, 0xe0a29f},
+  {0x8131c332, 0xe0a2a0},
+  {0x8131c333, 0xe0a2a1},
+  {0x8131c334, 0xe0a2a2},
+  {0x8131c335, 0xe0a2a3},
+  {0x8131c336, 0xe0a2a4},
+  {0x8131c337, 0xe0a2a5},
+  {0x8131c338, 0xe0a2a6},
+  {0x8131c339, 0xe0a2a7},
+  {0x8131c430, 0xe0a2a8},
+  {0x8131c431, 0xe0a2a9},
+  {0x8131c432, 0xe0a2aa},
+  {0x8131c433, 0xe0a2ab},
+  {0x8131c434, 0xe0a2ac},
+  {0x8131c435, 0xe0a2ad},
+  {0x8131c436, 0xe0a2ae},
+  {0x8131c437, 0xe0a2af},
+  {0x8131c438, 0xe0a2b0},
+  {0x8131c439, 0xe0a2b1},
+  {0x8131c530, 0xe0a2b2},
+  {0x8131c531, 0xe0a2b3},
+  {0x8131c532, 0xe0a2b4},
+  {0x8131c533, 0xe0a2b5},
+  {0x8131c534, 0xe0a2b6},
+  {0x8131c535, 0xe0a2b7},
+  {0x8131c536, 0xe0a2b8},
+  {0x8131c537, 0xe0a2b9},
+  {0x8131c538, 0xe0a2ba},
+  {0x8131c539, 0xe0a2bb},
+  {0x8131c630, 0xe0a2bc},
+  {0x8131c631, 0xe0a2bd},
+  {0x8131c632, 0xe0a2be},
+  {0x8131c633, 0xe0a2bf},
+  {0x8131c634, 0xe0a380},
+  {0x8131c635, 0xe0a381},
+  {0x8131c636, 0xe0a382},
+  {0x8131c637, 0xe0a383},
+  {0x8131c638, 0xe0a384},
+  {0x8131c639, 0xe0a385},
+  {0x8131c730, 0xe0a386},
+  {0x8131c731, 0xe0a387},
+  {0x8131c732, 0xe0a388},
+  {0x8131c733, 0xe0a389},
+  {0x8131c734, 0xe0a38a},
+  {0x8131c735, 0xe0a38b},
+  {0x8131c736, 0xe0a38c},
+  {0x8131c737, 0xe0a38d},
+  {0x8131c738, 0xe0a38e},
+  {0x8131c739, 0xe0a38f},
+  {0x8131c830, 0xe0a390},
+  {0x8131c831, 0xe0a391},
+  {0x8131c832, 0xe0a392},
+  {0x8131c833, 0xe0a393},
+  {0x8131c834, 0xe0a394},
+  {0x8131c835, 0xe0a395},
+  {0x8131c836, 0xe0a396},
+  {0x8131c837, 0xe0a397},
+  {0x8131c838, 0xe0a398},
+  {0x8131c839, 0xe0a399},
+  {0x8131c930, 0xe0a39a},
+  {0x8131c931, 0xe0a39b},
+  {0x8131c932, 0xe0a39c},
+  {0x8131c933, 0xe0a39d},
+  {0x8131c934, 0xe0a39e},
+  {0x8131c935, 0xe0a39f},
+  {0x8131c936, 0xe0a3a0},
+  {0x8131c937, 0xe0a3a1},
+  {0x8131c938, 0xe0a3a2},
+  {0x8131c939, 0xe0a3a3},
+  {0x8131ca30, 0xe0a3a4},
+  {0x8131ca31, 0xe0a3a5},
+  {0x8131ca32, 0xe0a3a6},
+  {0x8131ca33, 0xe0a3a7},
+  {0x8131ca34, 0xe0a3a8},
+  {0x8131ca35, 0xe0a3a9},
+  {0x8131ca36, 0xe0a3aa},
+  {0x8131ca37, 0xe0a3ab},
+  {0x8131ca38, 0xe0a3ac},
+  {0x8131ca39, 0xe0a3ad},
+  {0x8131cb30, 0xe0a3ae},
+  {0x8131cb31, 0xe0a3af},
+  {0x8131cb32, 0xe0a3b0},
+  {0x8131cb33, 0xe0a3b1},
+  {0x8131cb34, 0xe0a3b2},
+  {0x8131cb35, 0xe0a3b3},
+  {0x8131cb36, 0xe0a3b4},
+  {0x8131cb37, 0xe0a3b5},
+  {0x8131cb38, 0xe0a3b6},
+  {0x8131cb39, 0xe0a3b7},
+  {0x8131cc30, 0xe0a3b8},
+  {0x8131cc31, 0xe0a3b9},
+  {0x8131cc32, 0xe0a3ba},
+  {0x8131cc33, 0xe0a3bb},
+  {0x8131cc34, 0xe0a3bc},
+  {0x8131cc35, 0xe0a3bd},
+  {0x8131cc36, 0xe0a3be},
+  {0x8131cc37, 0xe0a3bf},
+  {0x8131cc38, 0xe0a480},
+  {0x8131cc39, 0xe0a481},
+  {0x8131cd30, 0xe0a482},
+  {0x8131cd31, 0xe0a483},
+  {0x8131cd32, 0xe0a484},
+  {0x8131cd33, 0xe0a485},
+  {0x8131cd34, 0xe0a486},
+  {0x8131cd35, 0xe0a487},
+  {0x8131cd36, 0xe0a488},
+  {0x8131cd37, 0xe0a489},
+  {0x8131cd38, 0xe0a48a},
+  {0x8131cd39, 0xe0a48b},
+  {0x8131ce30, 0xe0a48c},
+  {0x8131ce31, 0xe0a48d},
+  {0x8131ce32, 0xe0a48e},
+  {0x8131ce33, 0xe0a48f},
+  {0x8131ce34, 0xe0a490},
+  {0x8131ce35, 0xe0a491},
+  {0x8131ce36, 0xe0a492},
+  {0x8131ce37, 0xe0a493},
+  {0x8131ce38, 0xe0a494},
+  {0x8131ce39, 0xe0a495},
+  {0x8131cf30, 0xe0a496},
+  {0x8131cf31, 0xe0a497},
+  {0x8131cf32, 0xe0a498},
+  {0x8131cf33, 0xe0a499},
+  {0x8131cf34, 0xe0a49a},
+  {0x8131cf35, 0xe0a49b},
+  {0x8131cf36, 0xe0a49c},
+  {0x8131cf37, 0xe0a49d},
+  {0x8131cf38, 0xe0a49e},
+  {0x8131cf39, 0xe0a49f},
+  {0x8131d030, 0xe0a4a0},
+  {0x8131d031, 0xe0a4a1},
+  {0x8131d032, 0xe0a4a2},
+  {0x8131d033, 0xe0a4a3},
+  {0x8131d034, 0xe0a4a4},
+  {0x8131d035, 0xe0a4a5},
+  {0x8131d036, 0xe0a4a6},
+  {0x8131d037, 0xe0a4a7},
+  {0x8131d038, 0xe0a4a8},
+  {0x8131d039, 0xe0a4a9},
+  {0x8131d130, 0xe0a4aa},
+  {0x8131d131, 0xe0a4ab},
+  {0x8131d132, 0xe0a4ac},
+  {0x8131d133, 0xe0a4ad},
+  {0x8131d134, 0xe0a4ae},
+  {0x8131d135, 0xe0a4af},
+  {0x8131d136, 0xe0a4b0},
+  {0x8131d137, 0xe0a4b1},
+  {0x8131d138, 0xe0a4b2},
+  {0x8131d139, 0xe0a4b3},
+  {0x8131d230, 0xe0a4b4},
+  {0x8131d231, 0xe0a4b5},
+  {0x8131d232, 0xe0a4b6},
+  {0x8131d233, 0xe0a4b7},
+  {0x8131d234, 0xe0a4b8},
+  {0x8131d235, 0xe0a4b9},
+  {0x8131d236, 0xe0a4ba},
+  {0x8131d237, 0xe0a4bb},
+  {0x8131d238, 0xe0a4bc},
+  {0x8131d239, 0xe0a4bd},
+  {0x8131d330, 0xe0a4be},
+  {0x8131d331, 0xe0a4bf},
+  {0x8131d332, 0xe0a580},
+  {0x8131d333, 0xe0a581},
+  {0x8131d334, 0xe0a582},
+  {0x8131d335, 0xe0a583},
+  {0x8131d336, 0xe0a584},
+  {0x8131d337, 0xe0a585},
+  {0x8131d338, 0xe0a586},
+  {0x8131d339, 0xe0a587},
+  {0x8131d430, 0xe0a588},
+  {0x8131d431, 0xe0a589},
+  {0x8131d432, 0xe0a58a},
+  {0x8131d433, 0xe0a58b},
+  {0x8131d434, 0xe0a58c},
+  {0x8131d435, 0xe0a58d},
+  {0x8131d436, 0xe0a58e},
+  {0x8131d437, 0xe0a58f},
+  {0x8131d438, 0xe0a590},
+  {0x8131d439, 0xe0a591},
+  {0x8131d530, 0xe0a592},
+  {0x8131d531, 0xe0a593},
+  {0x8131d532, 0xe0a594},
+  {0x8131d533, 0xe0a595},
+  {0x8131d534, 0xe0a596},
+  {0x8131d535, 0xe0a597},
+  {0x8131d536, 0xe0a598},
+  {0x8131d537, 0xe0a599},
+  {0x8131d538, 0xe0a59a},
+  {0x8131d539, 0xe0a59b},
+  {0x8131d630, 0xe0a59c},
+  {0x8131d631, 0xe0a59d},
+  {0x8131d632, 0xe0a59e},
+  {0x8131d633, 0xe0a59f},
+  {0x8131d634, 0xe0a5a0},
+  {0x8131d635, 0xe0a5a1},
+  {0x8131d636, 0xe0a5a2},
+  {0x8131d637, 0xe0a5a3},
+  {0x8131d638, 0xe0a5a4},
+  {0x8131d639, 0xe0a5a5},
+  {0x8131d730, 0xe0a5a6},
+  {0x8131d731, 0xe0a5a7},
+  {0x8131d732, 0xe0a5a8},
+  {0x8131d733, 0xe0a5a9},
+  {0x8131d734, 0xe0a5aa},
+  {0x8131d735, 0xe0a5ab},
+  {0x8131d736, 0xe0a5ac},
+  {0x8131d737, 0xe0a5ad},
+  {0x8131d738, 0xe0a5ae},
+  {0x8131d739, 0xe0a5af},
+  {0x8131d830, 0xe0a5b0},
+  {0x8131d831, 0xe0a5b1},
+  {0x8131d832, 0xe0a5b2},
+  {0x8131d833, 0xe0a5b3},
+  {0x8131d834, 0xe0a5b4},
+  {0x8131d835, 0xe0a5b5},
+  {0x8131d836, 0xe0a5b6},
+  {0x8131d837, 0xe0a5b7},
+  {0x8131d838, 0xe0a5b8},
+  {0x8131d839, 0xe0a5b9},
+  {0x8131d930, 0xe0a5ba},
+  {0x8131d931, 0xe0a5bb},
+  {0x8131d932, 0xe0a5bc},
+  {0x8131d933, 0xe0a5bd},
+  {0x8131d934, 0xe0a5be},
+  {0x8131d935, 0xe0a5bf},
+  {0x8131d936, 0xe0a680},
+  {0x8131d937, 0xe0a681},
+  {0x8131d938, 0xe0a682},
+  {0x8131d939, 0xe0a683},
+  {0x8131da30, 0xe0a684},
+  {0x8131da31, 0xe0a685},
+  {0x8131da32, 0xe0a686},
+  {0x8131da33, 0xe0a687},
+  {0x8131da34, 0xe0a688},
+  {0x8131da35, 0xe0a689},
+  {0x8131da36, 0xe0a68a},
+  {0x8131da37, 0xe0a68b},
+  {0x8131da38, 0xe0a68c},
+  {0x8131da39, 0xe0a68d},
+  {0x8131db30, 0xe0a68e},
+  {0x8131db31, 0xe0a68f},
+  {0x8131db32, 0xe0a690},
+  {0x8131db33, 0xe0a691},
+  {0x8131db34, 0xe0a692},
+  {0x8131db35, 0xe0a693},
+  {0x8131db36, 0xe0a694},
+  {0x8131db37, 0xe0a695},
+  {0x8131db38, 0xe0a696},
+  {0x8131db39, 0xe0a697},
+  {0x8131dc30, 0xe0a698},
+  {0x8131dc31, 0xe0a699},
+  {0x8131dc32, 0xe0a69a},
+  {0x8131dc33, 0xe0a69b},
+  {0x8131dc34, 0xe0a69c},
+  {0x8131dc35, 0xe0a69d},
+  {0x8131dc36, 0xe0a69e},
+  {0x8131dc37, 0xe0a69f},
+  {0x8131dc38, 0xe0a6a0},
+  {0x8131dc39, 0xe0a6a1},
+  {0x8131dd30, 0xe0a6a2},
+  {0x8131dd31, 0xe0a6a3},
+  {0x8131dd32, 0xe0a6a4},
+  {0x8131dd33, 0xe0a6a5},
+  {0x8131dd34, 0xe0a6a6},
+  {0x8131dd35, 0xe0a6a7},
+  {0x8131dd36, 0xe0a6a8},
+  {0x8131dd37, 0xe0a6a9},
+  {0x8131dd38, 0xe0a6aa},
+  {0x8131dd39, 0xe0a6ab},
+  {0x8131de30, 0xe0a6ac},
+  {0x8131de31, 0xe0a6ad},
+  {0x8131de32, 0xe0a6ae},
+  {0x8131de33, 0xe0a6af},
+  {0x8131de34, 0xe0a6b0},
+  {0x8131de35, 0xe0a6b1},
+  {0x8131de36, 0xe0a6b2},
+  {0x8131de37, 0xe0a6b3},
+  {0x8131de38, 0xe0a6b4},
+  {0x8131de39, 0xe0a6b5},
+  {0x8131df30, 0xe0a6b6},
+  {0x8131df31, 0xe0a6b7},
+  {0x8131df32, 0xe0a6b8},
+  {0x8131df33, 0xe0a6b9},
+  {0x8131df34, 0xe0a6ba},
+  {0x8131df35, 0xe0a6bb},
+  {0x8131df36, 0xe0a6bc},
+  {0x8131df37, 0xe0a6bd},
+  {0x8131df38, 0xe0a6be},
+  {0x8131df39, 0xe0a6bf},
+  {0x8131e030, 0xe0a780},
+  {0x8131e031, 0xe0a781},
+  {0x8131e032, 0xe0a782},
+  {0x8131e033, 0xe0a783},
+  {0x8131e034, 0xe0a784},
+  {0x8131e035, 0xe0a785},
+  {0x8131e036, 0xe0a786},
+  {0x8131e037, 0xe0a787},
+  {0x8131e038, 0xe0a788},
+  {0x8131e039, 0xe0a789},
+  {0x8131e130, 0xe0a78a},
+  {0x8131e131, 0xe0a78b},
+  {0x8131e132, 0xe0a78c},
+  {0x8131e133, 0xe0a78d},
+  {0x8131e134, 0xe0a78e},
+  {0x8131e135, 0xe0a78f},
+  {0x8131e136, 0xe0a790},
+  {0x8131e137, 0xe0a791},
+  {0x8131e138, 0xe0a792},
+  {0x8131e139, 0xe0a793},
+  {0x8131e230, 0xe0a794},
+  {0x8131e231, 0xe0a795},
+  {0x8131e232, 0xe0a796},
+  {0x8131e233, 0xe0a797},
+  {0x8131e234, 0xe0a798},
+  {0x8131e235, 0xe0a799},
+  {0x8131e236, 0xe0a79a},
+  {0x8131e237, 0xe0a79b},
+  {0x8131e238, 0xe0a79c},
+  {0x8131e239, 0xe0a79d},
+  {0x8131e330, 0xe0a79e},
+  {0x8131e331, 0xe0a79f},
+  {0x8131e332, 0xe0a7a0},
+  {0x8131e333, 0xe0a7a1},
+  {0x8131e334, 0xe0a7a2},
+  {0x8131e335, 0xe0a7a3},
+  {0x8131e336, 0xe0a7a4},
+  {0x8131e337, 0xe0a7a5},
+  {0x8131e338, 0xe0a7a6},
+  {0x8131e339, 0xe0a7a7},
+  {0x8131e430, 0xe0a7a8},
+  {0x8131e431, 0xe0a7a9},
+  {0x8131e432, 0xe0a7aa},
+  {0x8131e433, 0xe0a7ab},
+  {0x8131e434, 0xe0a7ac},
+  {0x8131e435, 0xe0a7ad},
+  {0x8131e436, 0xe0a7ae},
+  {0x8131e437, 0xe0a7af},
+  {0x8131e438, 0xe0a7b0},
+  {0x8131e439, 0xe0a7b1},
+  {0x8131e530, 0xe0a7b2},
+  {0x8131e531, 0xe0a7b3},
+  {0x8131e532, 0xe0a7b4},
+  {0x8131e533, 0xe0a7b5},
+  {0x8131e534, 0xe0a7b6},
+  {0x8131e535, 0xe0a7b7},
+  {0x8131e536, 0xe0a7b8},
+  {0x8131e537, 0xe0a7b9},
+  {0x8131e538, 0xe0a7ba},
+  {0x8131e539, 0xe0a7bb},
+  {0x8131e630, 0xe0a7bc},
+  {0x8131e631, 0xe0a7bd},
+  {0x8131e632, 0xe0a7be},
+  {0x8131e633, 0xe0a7bf},
+  {0x8131e634, 0xe0a880},
+  {0x8131e635, 0xe0a881},
+  {0x8131e636, 0xe0a882},
+  {0x8131e637, 0xe0a883},
+  {0x8131e638, 0xe0a884},
+  {0x8131e639, 0xe0a885},
+  {0x8131e730, 0xe0a886},
+  {0x8131e731, 0xe0a887},
+  {0x8131e732, 0xe0a888},
+  {0x8131e733, 0xe0a889},
+  {0x8131e734, 0xe0a88a},
+  {0x8131e735, 0xe0a88b},
+  {0x8131e736, 0xe0a88c},
+  {0x8131e737, 0xe0a88d},
+  {0x8131e738, 0xe0a88e},
+  {0x8131e739, 0xe0a88f},
+  {0x8131e830, 0xe0a890},
+  {0x8131e831, 0xe0a891},
+  {0x8131e832, 0xe0a892},
+  {0x8131e833, 0xe0a893},
+  {0x8131e834, 0xe0a894},
+  {0x8131e835, 0xe0a895},
+  {0x8131e836, 0xe0a896},
+  {0x8131e837, 0xe0a897},
+  {0x8131e838, 0xe0a898},
+  {0x8131e839, 0xe0a899},
+  {0x8131e930, 0xe0a89a},
+  {0x8131e931, 0xe0a89b},
+  {0x8131e932, 0xe0a89c},
+  {0x8131e933, 0xe0a89d},
+  {0x8131e934, 0xe0a89e},
+  {0x8131e935, 0xe0a89f},
+  {0x8131e936, 0xe0a8a0},
+  {0x8131e937, 0xe0a8a1},
+  {0x8131e938, 0xe0a8a2},
+  {0x8131e939, 0xe0a8a3},
+  {0x8131ea30, 0xe0a8a4},
+  {0x8131ea31, 0xe0a8a5},
+  {0x8131ea32, 0xe0a8a6},
+  {0x8131ea33, 0xe0a8a7},
+  {0x8131ea34, 0xe0a8a8},
+  {0x8131ea35, 0xe0a8a9},
+  {0x8131ea36, 0xe0a8aa},
+  {0x8131ea37, 0xe0a8ab},
+  {0x8131ea38, 0xe0a8ac},
+  {0x8131ea39, 0xe0a8ad},
+  {0x8131eb30, 0xe0a8ae},
+  {0x8131eb31, 0xe0a8af},
+  {0x8131eb32, 0xe0a8b0},
+  {0x8131eb33, 0xe0a8b1},
+  {0x8131eb34, 0xe0a8b2},
+  {0x8131eb35, 0xe0a8b3},
+  {0x8131eb36, 0xe0a8b4},
+  {0x8131eb37, 0xe0a8b5},
+  {0x8131eb38, 0xe0a8b6},
+  {0x8131eb39, 0xe0a8b7},
+  {0x8131ec30, 0xe0a8b8},
+  {0x8131ec31, 0xe0a8b9},
+  {0x8131ec32, 0xe0a8ba},
+  {0x8131ec33, 0xe0a8bb},
+  {0x8131ec34, 0xe0a8bc},
+  {0x8131ec35, 0xe0a8bd},
+  {0x8131ec36, 0xe0a8be},
+  {0x8131ec37, 0xe0a8bf},
+  {0x8131ec38, 0xe0a980},
+  {0x8131ec39, 0xe0a981},
+  {0x8131ed30, 0xe0a982},
+  {0x8131ed31, 0xe0a983},
+  {0x8131ed32, 0xe0a984},
+  {0x8131ed33, 0xe0a985},
+  {0x8131ed34, 0xe0a986},
+  {0x8131ed35, 0xe0a987},
+  {0x8131ed36, 0xe0a988},
+  {0x8131ed37, 0xe0a989},
+  {0x8131ed38, 0xe0a98a},
+  {0x8131ed39, 0xe0a98b},
+  {0x8131ee30, 0xe0a98c},
+  {0x8131ee31, 0xe0a98d},
+  {0x8131ee32, 0xe0a98e},
+  {0x8131ee33, 0xe0a98f},
+  {0x8131ee34, 0xe0a990},
+  {0x8131ee35, 0xe0a991},
+  {0x8131ee36, 0xe0a992},
+  {0x8131ee37, 0xe0a993},
+  {0x8131ee38, 0xe0a994},
+  {0x8131ee39, 0xe0a995},
+  {0x8131ef30, 0xe0a996},
+  {0x8131ef31, 0xe0a997},
+  {0x8131ef32, 0xe0a998},
+  {0x8131ef33, 0xe0a999},
+  {0x8131ef34, 0xe0a99a},
+  {0x8131ef35, 0xe0a99b},
+  {0x8131ef36, 0xe0a99c},
+  {0x8131ef37, 0xe0a99d},
+  {0x8131ef38, 0xe0a99e},
+  {0x8131ef39, 0xe0a99f},
+  {0x8131f030, 0xe0a9a0},
+  {0x8131f031, 0xe0a9a1},
+  {0x8131f032, 0xe0a9a2},
+  {0x8131f033, 0xe0a9a3},
+  {0x8131f034, 0xe0a9a4},
+  {0x8131f035, 0xe0a9a5},
+  {0x8131f036, 0xe0a9a6},
+  {0x8131f037, 0xe0a9a7},
+  {0x8131f038, 0xe0a9a8},
+  {0x8131f039, 0xe0a9a9},
+  {0x8131f130, 0xe0a9aa},
+  {0x8131f131, 0xe0a9ab},
+  {0x8131f132, 0xe0a9ac},
+  {0x8131f133, 0xe0a9ad},
+  {0x8131f134, 0xe0a9ae},
+  {0x8131f135, 0xe0a9af},
+  {0x8131f136, 0xe0a9b0},
+  {0x8131f137, 0xe0a9b1},
+  {0x8131f138, 0xe0a9b2},
+  {0x8131f139, 0xe0a9b3},
+  {0x8131f230, 0xe0a9b4},
+  {0x8131f231, 0xe0a9b5},
+  {0x8131f232, 0xe0a9b6},
+  {0x8131f233, 0xe0a9b7},
+  {0x8131f234, 0xe0a9b8},
+  {0x8131f235, 0xe0a9b9},
+  {0x8131f236, 0xe0a9ba},
+  {0x8131f237, 0xe0a9bb},
+  {0x8131f238, 0xe0a9bc},
+  {0x8131f239, 0xe0a9bd},
+  {0x8131f330, 0xe0a9be},
+  {0x8131f331, 0xe0a9bf},
+  {0x8131f332, 0xe0aa80},
+  {0x8131f333, 0xe0aa81},
+  {0x8131f334, 0xe0aa82},
+  {0x8131f335, 0xe0aa83},
+  {0x8131f336, 0xe0aa84},
+  {0x8131f337, 0xe0aa85},
+  {0x8131f338, 0xe0aa86},
+  {0x8131f339, 0xe0aa87},
+  {0x8131f430, 0xe0aa88},
+  {0x8131f431, 0xe0aa89},
+  {0x8131f432, 0xe0aa8a},
+  {0x8131f433, 0xe0aa8b},
+  {0x8131f434, 0xe0aa8c},
+  {0x8131f435, 0xe0aa8d},
+  {0x8131f436, 0xe0aa8e},
+  {0x8131f437, 0xe0aa8f},
+  {0x8131f438, 0xe0aa90},
+  {0x8131f439, 0xe0aa91},
+  {0x8131f530, 0xe0aa92},
+  {0x8131f531, 0xe0aa93},
+  {0x8131f532, 0xe0aa94},
+  {0x8131f533, 0xe0aa95},
+  {0x8131f534, 0xe0aa96},
+  {0x8131f535, 0xe0aa97},
+  {0x8131f536, 0xe0aa98},
+  {0x8131f537, 0xe0aa99},
+  {0x8131f538, 0xe0aa9a},
+  {0x8131f539, 0xe0aa9b},
+  {0x8131f630, 0xe0aa9c},
+  {0x8131f631, 0xe0aa9d},
+  {0x8131f632, 0xe0aa9e},
+  {0x8131f633, 0xe0aa9f},
+  {0x8131f634, 0xe0aaa0},
+  {0x8131f635, 0xe0aaa1},
+  {0x8131f636, 0xe0aaa2},
+  {0x8131f637, 0xe0aaa3},
+  {0x8131f638, 0xe0aaa4},
+  {0x8131f639, 0xe0aaa5},
+  {0x8131f730, 0xe0aaa6},
+  {0x8131f731, 0xe0aaa7},
+  {0x8131f732, 0xe0aaa8},
+  {0x8131f733, 0xe0aaa9},
+  {0x8131f734, 0xe0aaaa},
+  {0x8131f735, 0xe0aaab},
+  {0x8131f736, 0xe0aaac},
+  {0x8131f737, 0xe0aaad},
+  {0x8131f738, 0xe0aaae},
+  {0x8131f739, 0xe0aaaf},
+  {0x8131f830, 0xe0aab0},
+  {0x8131f831, 0xe0aab1},
+  {0x8131f832, 0xe0aab2},
+  {0x8131f833, 0xe0aab3},
+  {0x8131f834, 0xe0aab4},
+  {0x8131f835, 0xe0aab5},
+  {0x8131f836, 0xe0aab6},
+  {0x8131f837, 0xe0aab7},
+  {0x8131f838, 0xe0aab8},
+  {0x8131f839, 0xe0aab9},
+  {0x8131f930, 0xe0aaba},
+  {0x8131f931, 0xe0aabb},
+  {0x8131f932, 0xe0aabc},
+  {0x8131f933, 0xe0aabd},
+  {0x8131f934, 0xe0aabe},
+  {0x8131f935, 0xe0aabf},
+  {0x8131f936, 0xe0ab80},
+  {0x8131f937, 0xe0ab81},
+  {0x8131f938, 0xe0ab82},
+  {0x8131f939, 0xe0ab83},
+  {0x8131fa30, 0xe0ab84},
+  {0x8131fa31, 0xe0ab85},
+  {0x8131fa32, 0xe0ab86},
+  {0x8131fa33, 0xe0ab87},
+  {0x8131fa34, 0xe0ab88},
+  {0x8131fa35, 0xe0ab89},
+  {0x8131fa36, 0xe0ab8a},
+  {0x8131fa37, 0xe0ab8b},
+  {0x8131fa38, 0xe0ab8c},
+  {0x8131fa39, 0xe0ab8d},
+  {0x8131fb30, 0xe0ab8e},
+  {0x8131fb31, 0xe0ab8f},
+  {0x8131fb32, 0xe0ab90},
+  {0x8131fb33, 0xe0ab91},
+  {0x8131fb34, 0xe0ab92},
+  {0x8131fb35, 0xe0ab93},
+  {0x8131fb36, 0xe0ab94},
+  {0x8131fb37, 0xe0ab95},
+  {0x8131fb38, 0xe0ab96},
+  {0x8131fb39, 0xe0ab97},
+  {0x8131fc30, 0xe0ab98},
+  {0x8131fc31, 0xe0ab99},
+  {0x8131fc32, 0xe0ab9a},
+  {0x8131fc33, 0xe0ab9b},
+  {0x8131fc34, 0xe0ab9c},
+  {0x8131fc35, 0xe0ab9d},
+  {0x8131fc36, 0xe0ab9e},
+  {0x8131fc37, 0xe0ab9f},
+  {0x8131fc38, 0xe0aba0},
+  {0x8131fc39, 0xe0aba1},
+  {0x8131fd30, 0xe0aba2},
+  {0x8131fd31, 0xe0aba3},
+  {0x8131fd32, 0xe0aba4},
+  {0x8131fd33, 0xe0aba5},
+  {0x8131fd34, 0xe0aba6},
+  {0x8131fd35, 0xe0aba7},
+  {0x8131fd36, 0xe0aba8},
+  {0x8131fd37, 0xe0aba9},
+  {0x8131fd38, 0xe0abaa},
+  {0x8131fd39, 0xe0abab},
+  {0x8131fe30, 0xe0abac},
+  {0x8131fe31, 0xe0abad},
+  {0x8131fe32, 0xe0abae},
+  {0x8131fe33, 0xe0abaf},
+  {0x8131fe34, 0xe0abb0},
+  {0x8131fe35, 0xe0abb1},
+  {0x8131fe36, 0xe0abb2},
+  {0x8131fe37, 0xe0abb3},
+  {0x8131fe38, 0xe0abb4},
+  {0x8131fe39, 0xe0abb5},
+  {0x81328130, 0xe0abb6},
+  {0x81328131, 0xe0abb7},
+  {0x81328132, 0xe0abb8},
+  {0x81328133, 0xe0abb9},
+  {0x81328134, 0xe0abba},
+  {0x81328135, 0xe0abbb},
+  {0x81328136, 0xe0abbc},
+  {0x81328137, 0xe0abbd},
+  {0x81328138, 0xe0abbe},
+  {0x81328139, 0xe0abbf},
+  {0x81328230, 0xe0ac80},
+  {0x81328231, 0xe0ac81},
+  {0x81328232, 0xe0ac82},
+  {0x81328233, 0xe0ac83},
+  {0x81328234, 0xe0ac84},
+  {0x81328235, 0xe0ac85},
+  {0x81328236, 0xe0ac86},
+  {0x81328237, 0xe0ac87},
+  {0x81328238, 0xe0ac88},
+  {0x81328239, 0xe0ac89},
+  {0x81328330, 0xe0ac8a},
+  {0x81328331, 0xe0ac8b},
+  {0x81328332, 0xe0ac8c},
+  {0x81328333, 0xe0ac8d},
+  {0x81328334, 0xe0ac8e},
+  {0x81328335, 0xe0ac8f},
+  {0x81328336, 0xe0ac90},
+  {0x81328337, 0xe0ac91},
+  {0x81328338, 0xe0ac92},
+  {0x81328339, 0xe0ac93},
+  {0x81328430, 0xe0ac94},
+  {0x81328431, 0xe0ac95},
+  {0x81328432, 0xe0ac96},
+  {0x81328433, 0xe0ac97},
+  {0x81328434, 0xe0ac98},
+  {0x81328435, 0xe0ac99},
+  {0x81328436, 0xe0ac9a},
+  {0x81328437, 0xe0ac9b},
+  {0x81328438, 0xe0ac9c},
+  {0x81328439, 0xe0ac9d},
+  {0x81328530, 0xe0ac9e},
+  {0x81328531, 0xe0ac9f},
+  {0x81328532, 0xe0aca0},
+  {0x81328533, 0xe0aca1},
+  {0x81328534, 0xe0aca2},
+  {0x81328535, 0xe0aca3},
+  {0x81328536, 0xe0aca4},
+  {0x81328537, 0xe0aca5},
+  {0x81328538, 0xe0aca6},
+  {0x81328539, 0xe0aca7},
+  {0x81328630, 0xe0aca8},
+  {0x81328631, 0xe0aca9},
+  {0x81328632, 0xe0acaa},
+  {0x81328633, 0xe0acab},
+  {0x81328634, 0xe0acac},
+  {0x81328635, 0xe0acad},
+  {0x81328636, 0xe0acae},
+  {0x81328637, 0xe0acaf},
+  {0x81328638, 0xe0acb0},
+  {0x81328639, 0xe0acb1},
+  {0x81328730, 0xe0acb2},
+  {0x81328731, 0xe0acb3},
+  {0x81328732, 0xe0acb4},
+  {0x81328733, 0xe0acb5},
+  {0x81328734, 0xe0acb6},
+  {0x81328735, 0xe0acb7},
+  {0x81328736, 0xe0acb8},
+  {0x81328737, 0xe0acb9},
+  {0x81328738, 0xe0acba},
+  {0x81328739, 0xe0acbb},
+  {0x81328830, 0xe0acbc},
+  {0x81328831, 0xe0acbd},
+  {0x81328832, 0xe0acbe},
+  {0x81328833, 0xe0acbf},
+  {0x81328834, 0xe0ad80},
+  {0x81328835, 0xe0ad81},
+  {0x81328836, 0xe0ad82},
+  {0x81328837, 0xe0ad83},
+  {0x81328838, 0xe0ad84},
+  {0x81328839, 0xe0ad85},
+  {0x81328930, 0xe0ad86},
+  {0x81328931, 0xe0ad87},
+  {0x81328932, 0xe0ad88},
+  {0x81328933, 0xe0ad89},
+  {0x81328934, 0xe0ad8a},
+  {0x81328935, 0xe0ad8b},
+  {0x81328936, 0xe0ad8c},
+  {0x81328937, 0xe0ad8d},
+  {0x81328938, 0xe0ad8e},
+  {0x81328939, 0xe0ad8f},
+  {0x81328a30, 0xe0ad90},
+  {0x81328a31, 0xe0ad91},
+  {0x81328a32, 0xe0ad92},
+  {0x81328a33, 0xe0ad93},
+  {0x81328a34, 0xe0ad94},
+  {0x81328a35, 0xe0ad95},
+  {0x81328a36, 0xe0ad96},
+  {0x81328a37, 0xe0ad97},
+  {0x81328a38, 0xe0ad98},
+  {0x81328a39, 0xe0ad99},
+  {0x81328b30, 0xe0ad9a},
+  {0x81328b31, 0xe0ad9b},
+  {0x81328b32, 0xe0ad9c},
+  {0x81328b33, 0xe0ad9d},
+  {0x81328b34, 0xe0ad9e},
+  {0x81328b35, 0xe0ad9f},
+  {0x81328b36, 0xe0ada0},
+  {0x81328b37, 0xe0ada1},
+  {0x81328b38, 0xe0ada2},
+  {0x81328b39, 0xe0ada3},
+  {0x81328c30, 0xe0ada4},
+  {0x81328c31, 0xe0ada5},
+  {0x81328c32, 0xe0ada6},
+  {0x81328c33, 0xe0ada7},
+  {0x81328c34, 0xe0ada8},
+  {0x81328c35, 0xe0ada9},
+  {0x81328c36, 0xe0adaa},
+  {0x81328c37, 0xe0adab},
+  {0x81328c38, 0xe0adac},
+  {0x81328c39, 0xe0adad},
+  {0x81328d30, 0xe0adae},
+  {0x81328d31, 0xe0adaf},
+  {0x81328d32, 0xe0adb0},
+  {0x81328d33, 0xe0adb1},
+  {0x81328d34, 0xe0adb2},
+  {0x81328d35, 0xe0adb3},
+  {0x81328d36, 0xe0adb4},
+  {0x81328d37, 0xe0adb5},
+  {0x81328d38, 0xe0adb6},
+  {0x81328d39, 0xe0adb7},
+  {0x81328e30, 0xe0adb8},
+  {0x81328e31, 0xe0adb9},
+  {0x81328e32, 0xe0adba},
+  {0x81328e33, 0xe0adbb},
+  {0x81328e34, 0xe0adbc},
+  {0x81328e35, 0xe0adbd},
+  {0x81328e36, 0xe0adbe},
+  {0x81328e37, 0xe0adbf},
+  {0x81328e38, 0xe0ae80},
+  {0x81328e39, 0xe0ae81},
+  {0x81328f30, 0xe0ae82},
+  {0x81328f31, 0xe0ae83},
+  {0x81328f32, 0xe0ae84},
+  {0x81328f33, 0xe0ae85},
+  {0x81328f34, 0xe0ae86},
+  {0x81328f35, 0xe0ae87},
+  {0x81328f36, 0xe0ae88},
+  {0x81328f37, 0xe0ae89},
+  {0x81328f38, 0xe0ae8a},
+  {0x81328f39, 0xe0ae8b},
+  {0x81329030, 0xe0ae8c},
+  {0x81329031, 0xe0ae8d},
+  {0x81329032, 0xe0ae8e},
+  {0x81329033, 0xe0ae8f},
+  {0x81329034, 0xe0ae90},
+  {0x81329035, 0xe0ae91},
+  {0x81329036, 0xe0ae92},
+  {0x81329037, 0xe0ae93},
+  {0x81329038, 0xe0ae94},
+  {0x81329039, 0xe0ae95},
+  {0x81329130, 0xe0ae96},
+  {0x81329131, 0xe0ae97},
+  {0x81329132, 0xe0ae98},
+  {0x81329133, 0xe0ae99},
+  {0x81329134, 0xe0ae9a},
+  {0x81329135, 0xe0ae9b},
+  {0x81329136, 0xe0ae9c},
+  {0x81329137, 0xe0ae9d},
+  {0x81329138, 0xe0ae9e},
+  {0x81329139, 0xe0ae9f},
+  {0x81329230, 0xe0aea0},
+  {0x81329231, 0xe0aea1},
+  {0x81329232, 0xe0aea2},
+  {0x81329233, 0xe0aea3},
+  {0x81329234, 0xe0aea4},
+  {0x81329235, 0xe0aea5},
+  {0x81329236, 0xe0aea6},
+  {0x81329237, 0xe0aea7},
+  {0x81329238, 0xe0aea8},
+  {0x81329239, 0xe0aea9},
+  {0x81329330, 0xe0aeaa},
+  {0x81329331, 0xe0aeab},
+  {0x81329332, 0xe0aeac},
+  {0x81329333, 0xe0aead},
+  {0x81329334, 0xe0aeae},
+  {0x81329335, 0xe0aeaf},
+  {0x81329336, 0xe0aeb0},
+  {0x81329337, 0xe0aeb1},
+  {0x81329338, 0xe0aeb2},
+  {0x81329339, 0xe0aeb3},
+  {0x81329430, 0xe0aeb4},
+  {0x81329431, 0xe0aeb5},
+  {0x81329432, 0xe0aeb6},
+  {0x81329433, 0xe0aeb7},
+  {0x81329434, 0xe0aeb8},
+  {0x81329435, 0xe0aeb9},
+  {0x81329436, 0xe0aeba},
+  {0x81329437, 0xe0aebb},
+  {0x81329438, 0xe0aebc},
+  {0x81329439, 0xe0aebd},
+  {0x81329530, 0xe0aebe},
+  {0x81329531, 0xe0aebf},
+  {0x81329532, 0xe0af80},
+  {0x81329533, 0xe0af81},
+  {0x81329534, 0xe0af82},
+  {0x81329535, 0xe0af83},
+  {0x81329536, 0xe0af84},
+  {0x81329537, 0xe0af85},
+  {0x81329538, 0xe0af86},
+  {0x81329539, 0xe0af87},
+  {0x81329630, 0xe0af88},
+  {0x81329631, 0xe0af89},
+  {0x81329632, 0xe0af8a},
+  {0x81329633, 0xe0af8b},
+  {0x81329634, 0xe0af8c},
+  {0x81329635, 0xe0af8d},
+  {0x81329636, 0xe0af8e},
+  {0x81329637, 0xe0af8f},
+  {0x81329638, 0xe0af90},
+  {0x81329639, 0xe0af91},
+  {0x81329730, 0xe0af92},
+  {0x81329731, 0xe0af93},
+  {0x81329732, 0xe0af94},
+  {0x81329733, 0xe0af95},
+  {0x81329734, 0xe0af96},
+  {0x81329735, 0xe0af97},
+  {0x81329736, 0xe0af98},
+  {0x81329737, 0xe0af99},
+  {0x81329738, 0xe0af9a},
+  {0x81329739, 0xe0af9b},
+  {0x81329830, 0xe0af9c},
+  {0x81329831, 0xe0af9d},
+  {0x81329832, 0xe0af9e},
+  {0x81329833, 0xe0af9f},
+  {0x81329834, 0xe0afa0},
+  {0x81329835, 0xe0afa1},
+  {0x81329836, 0xe0afa2},
+  {0x81329837, 0xe0afa3},
+  {0x81329838, 0xe0afa4},
+  {0x81329839, 0xe0afa5},
+  {0x81329930, 0xe0afa6},
+  {0x81329931, 0xe0afa7},
+  {0x81329932, 0xe0afa8},
+  {0x81329933, 0xe0afa9},
+  {0x81329934, 0xe0afaa},
+  {0x81329935, 0xe0afab},
+  {0x81329936, 0xe0afac},
+  {0x81329937, 0xe0afad},
+  {0x81329938, 0xe0afae},
+  {0x81329939, 0xe0afaf},
+  {0x81329a30, 0xe0afb0},
+  {0x81329a31, 0xe0afb1},
+  {0x81329a32, 0xe0afb2},
+  {0x81329a33, 0xe0afb3},
+  {0x81329a34, 0xe0afb4},
+  {0x81329a35, 0xe0afb5},
+  {0x81329a36, 0xe0afb6},
+  {0x81329a37, 0xe0afb7},
+  {0x81329a38, 0xe0afb8},
+  {0x81329a39, 0xe0afb9},
+  {0x81329b30, 0xe0afba},
+  {0x81329b31, 0xe0afbb},
+  {0x81329b32, 0xe0afbc},
+  {0x81329b33, 0xe0afbd},
+  {0x81329b34, 0xe0afbe},
+  {0x81329b35, 0xe0afbf},
+  {0x81329b36, 0xe0b080},
+  {0x81329b37, 0xe0b081},
+  {0x81329b38, 0xe0b082},
+  {0x81329b39, 0xe0b083},
+  {0x81329c30, 0xe0b084},
+  {0x81329c31, 0xe0b085},
+  {0x81329c32, 0xe0b086},
+  {0x81329c33, 0xe0b087},
+  {0x81329c34, 0xe0b088},
+  {0x81329c35, 0xe0b089},
+  {0x81329c36, 0xe0b08a},
+  {0x81329c37, 0xe0b08b},
+  {0x81329c38, 0xe0b08c},
+  {0x81329c39, 0xe0b08d},
+  {0x81329d30, 0xe0b08e},
+  {0x81329d31, 0xe0b08f},
+  {0x81329d32, 0xe0b090},
+  {0x81329d33, 0xe0b091},
+  {0x81329d34, 0xe0b092},
+  {0x81329d35, 0xe0b093},
+  {0x81329d36, 0xe0b094},
+  {0x81329d37, 0xe0b095},
+  {0x81329d38, 0xe0b096},
+  {0x81329d39, 0xe0b097},
+  {0x81329e30, 0xe0b098},
+  {0x81329e31, 0xe0b099},
+  {0x81329e32, 0xe0b09a},
+  {0x81329e33, 0xe0b09b},
+  {0x81329e34, 0xe0b09c},
+  {0x81329e35, 0xe0b09d},
+  {0x81329e36, 0xe0b09e},
+  {0x81329e37, 0xe0b09f},
+  {0x81329e38, 0xe0b0a0},
+  {0x81329e39, 0xe0b0a1},
+  {0x81329f30, 0xe0b0a2},
+  {0x81329f31, 0xe0b0a3},
+  {0x81329f32, 0xe0b0a4},
+  {0x81329f33, 0xe0b0a5},
+  {0x81329f34, 0xe0b0a6},
+  {0x81329f35, 0xe0b0a7},
+  {0x81329f36, 0xe0b0a8},
+  {0x81329f37, 0xe0b0a9},
+  {0x81329f38, 0xe0b0aa},
+  {0x81329f39, 0xe0b0ab},
+  {0x8132a030, 0xe0b0ac},
+  {0x8132a031, 0xe0b0ad},
+  {0x8132a032, 0xe0b0ae},
+  {0x8132a033, 0xe0b0af},
+  {0x8132a034, 0xe0b0b0},
+  {0x8132a035, 0xe0b0b1},
+  {0x8132a036, 0xe0b0b2},
+  {0x8132a037, 0xe0b0b3},
+  {0x8132a038, 0xe0b0b4},
+  {0x8132a039, 0xe0b0b5},
+  {0x8132a130, 0xe0b0b6},
+  {0x8132a131, 0xe0b0b7},
+  {0x8132a132, 0xe0b0b8},
+  {0x8132a133, 0xe0b0b9},
+  {0x8132a134, 0xe0b0ba},
+  {0x8132a135, 0xe0b0bb},
+  {0x8132a136, 0xe0b0bc},
+  {0x8132a137, 0xe0b0bd},
+  {0x8132a138, 0xe0b0be},
+  {0x8132a139, 0xe0b0bf},
+  {0x8132a230, 0xe0b180},
+  {0x8132a231, 0xe0b181},
+  {0x8132a232, 0xe0b182},
+  {0x8132a233, 0xe0b183},
+  {0x8132a234, 0xe0b184},
+  {0x8132a235, 0xe0b185},
+  {0x8132a236, 0xe0b186},
+  {0x8132a237, 0xe0b187},
+  {0x8132a238, 0xe0b188},
+  {0x8132a239, 0xe0b189},
+  {0x8132a330, 0xe0b18a},
+  {0x8132a331, 0xe0b18b},
+  {0x8132a332, 0xe0b18c},
+  {0x8132a333, 0xe0b18d},
+  {0x8132a334, 0xe0b18e},
+  {0x8132a335, 0xe0b18f},
+  {0x8132a336, 0xe0b190},
+  {0x8132a337, 0xe0b191},
+  {0x8132a338, 0xe0b192},
+  {0x8132a339, 0xe0b193},
+  {0x8132a430, 0xe0b194},
+  {0x8132a431, 0xe0b195},
+  {0x8132a432, 0xe0b196},
+  {0x8132a433, 0xe0b197},
+  {0x8132a434, 0xe0b198},
+  {0x8132a435, 0xe0b199},
+  {0x8132a436, 0xe0b19a},
+  {0x8132a437, 0xe0b19b},
+  {0x8132a438, 0xe0b19c},
+  {0x8132a439, 0xe0b19d},
+  {0x8132a530, 0xe0b19e},
+  {0x8132a531, 0xe0b19f},
+  {0x8132a532, 0xe0b1a0},
+  {0x8132a533, 0xe0b1a1},
+  {0x8132a534, 0xe0b1a2},
+  {0x8132a535, 0xe0b1a3},
+  {0x8132a536, 0xe0b1a4},
+  {0x8132a537, 0xe0b1a5},
+  {0x8132a538, 0xe0b1a6},
+  {0x8132a539, 0xe0b1a7},
+  {0x8132a630, 0xe0b1a8},
+  {0x8132a631, 0xe0b1a9},
+  {0x8132a632, 0xe0b1aa},
+  {0x8132a633, 0xe0b1ab},
+  {0x8132a634, 0xe0b1ac},
+  {0x8132a635, 0xe0b1ad},
+  {0x8132a636, 0xe0b1ae},
+  {0x8132a637, 0xe0b1af},
+  {0x8132a638, 0xe0b1b0},
+  {0x8132a639, 0xe0b1b1},
+  {0x8132a730, 0xe0b1b2},
+  {0x8132a731, 0xe0b1b3},
+  {0x8132a732, 0xe0b1b4},
+  {0x8132a733, 0xe0b1b5},
+  {0x8132a734, 0xe0b1b6},
+  {0x8132a735, 0xe0b1b7},
+  {0x8132a736, 0xe0b1b8},
+  {0x8132a737, 0xe0b1b9},
+  {0x8132a738, 0xe0b1ba},
+  {0x8132a739, 0xe0b1bb},
+  {0x8132a830, 0xe0b1bc},
+  {0x8132a831, 0xe0b1bd},
+  {0x8132a832, 0xe0b1be},
+  {0x8132a833, 0xe0b1bf},
+  {0x8132a834, 0xe0b280},
+  {0x8132a835, 0xe0b281},
+  {0x8132a836, 0xe0b282},
+  {0x8132a837, 0xe0b283},
+  {0x8132a838, 0xe0b284},
+  {0x8132a839, 0xe0b285},
+  {0x8132a930, 0xe0b286},
+  {0x8132a931, 0xe0b287},
+  {0x8132a932, 0xe0b288},
+  {0x8132a933, 0xe0b289},
+  {0x8132a934, 0xe0b28a},
+  {0x8132a935, 0xe0b28b},
+  {0x8132a936, 0xe0b28c},
+  {0x8132a937, 0xe0b28d},
+  {0x8132a938, 0xe0b28e},
+  {0x8132a939, 0xe0b28f},
+  {0x8132aa30, 0xe0b290},
+  {0x8132aa31, 0xe0b291},
+  {0x8132aa32, 0xe0b292},
+  {0x8132aa33, 0xe0b293},
+  {0x8132aa34, 0xe0b294},
+  {0x8132aa35, 0xe0b295},
+  {0x8132aa36, 0xe0b296},
+  {0x8132aa37, 0xe0b297},
+  {0x8132aa38, 0xe0b298},
+  {0x8132aa39, 0xe0b299},
+  {0x8132ab30, 0xe0b29a},
+  {0x8132ab31, 0xe0b29b},
+  {0x8132ab32, 0xe0b29c},
+  {0x8132ab33, 0xe0b29d},
+  {0x8132ab34, 0xe0b29e},
+  {0x8132ab35, 0xe0b29f},
+  {0x8132ab36, 0xe0b2a0},
+  {0x8132ab37, 0xe0b2a1},
+  {0x8132ab38, 0xe0b2a2},
+  {0x8132ab39, 0xe0b2a3},
+  {0x8132ac30, 0xe0b2a4},
+  {0x8132ac31, 0xe0b2a5},
+  {0x8132ac32, 0xe0b2a6},
+  {0x8132ac33, 0xe0b2a7},
+  {0x8132ac34, 0xe0b2a8},
+  {0x8132ac35, 0xe0b2a9},
+  {0x8132ac36, 0xe0b2aa},
+  {0x8132ac37, 0xe0b2ab},
+  {0x8132ac38, 0xe0b2ac},
+  {0x8132ac39, 0xe0b2ad},
+  {0x8132ad30, 0xe0b2ae},
+  {0x8132ad31, 0xe0b2af},
+  {0x8132ad32, 0xe0b2b0},
+  {0x8132ad33, 0xe0b2b1},
+  {0x8132ad34, 0xe0b2b2},
+  {0x8132ad35, 0xe0b2b3},
+  {0x8132ad36, 0xe0b2b4},
+  {0x8132ad37, 0xe0b2b5},
+  {0x8132ad38, 0xe0b2b6},
+  {0x8132ad39, 0xe0b2b7},
+  {0x8132ae30, 0xe0b2b8},
+  {0x8132ae31, 0xe0b2b9},
+  {0x8132ae32, 0xe0b2ba},
+  {0x8132ae33, 0xe0b2bb},
+  {0x8132ae34, 0xe0b2bc},
+  {0x8132ae35, 0xe0b2bd},
+  {0x8132ae36, 0xe0b2be},
+  {0x8132ae37, 0xe0b2bf},
+  {0x8132ae38, 0xe0b380},
+  {0x8132ae39, 0xe0b381},
+  {0x8132af30, 0xe0b382},
+  {0x8132af31, 0xe0b383},
+  {0x8132af32, 0xe0b384},
+  {0x8132af33, 0xe0b385},
+  {0x8132af34, 0xe0b386},
+  {0x8132af35, 0xe0b387},
+  {0x8132af36, 0xe0b388},
+  {0x8132af37, 0xe0b389},
+  {0x8132af38, 0xe0b38a},
+  {0x8132af39, 0xe0b38b},
+  {0x8132b030, 0xe0b38c},
+  {0x8132b031, 0xe0b38d},
+  {0x8132b032, 0xe0b38e},
+  {0x8132b033, 0xe0b38f},
+  {0x8132b034, 0xe0b390},
+  {0x8132b035, 0xe0b391},
+  {0x8132b036, 0xe0b392},
+  {0x8132b037, 0xe0b393},
+  {0x8132b038, 0xe0b394},
+  {0x8132b039, 0xe0b395},
+  {0x8132b130, 0xe0b396},
+  {0x8132b131, 0xe0b397},
+  {0x8132b132, 0xe0b398},
+  {0x8132b133, 0xe0b399},
+  {0x8132b134, 0xe0b39a},
+  {0x8132b135, 0xe0b39b},
+  {0x8132b136, 0xe0b39c},
+  {0x8132b137, 0xe0b39d},
+  {0x8132b138, 0xe0b39e},
+  {0x8132b139, 0xe0b39f},
+  {0x8132b230, 0xe0b3a0},
+  {0x8132b231, 0xe0b3a1},
+  {0x8132b232, 0xe0b3a2},
+  {0x8132b233, 0xe0b3a3},
+  {0x8132b234, 0xe0b3a4},
+  {0x8132b235, 0xe0b3a5},
+  {0x8132b236, 0xe0b3a6},
+  {0x8132b237, 0xe0b3a7},
+  {0x8132b238, 0xe0b3a8},
+  {0x8132b239, 0xe0b3a9},
+  {0x8132b330, 0xe0b3aa},
+  {0x8132b331, 0xe0b3ab},
+  {0x8132b332, 0xe0b3ac},
+  {0x8132b333, 0xe0b3ad},
+  {0x8132b334, 0xe0b3ae},
+  {0x8132b335, 0xe0b3af},
+  {0x8132b336, 0xe0b3b0},
+  {0x8132b337, 0xe0b3b1},
+  {0x8132b338, 0xe0b3b2},
+  {0x8132b339, 0xe0b3b3},
+  {0x8132b430, 0xe0b3b4},
+  {0x8132b431, 0xe0b3b5},
+  {0x8132b432, 0xe0b3b6},
+  {0x8132b433, 0xe0b3b7},
+  {0x8132b434, 0xe0b3b8},
+  {0x8132b435, 0xe0b3b9},
+  {0x8132b436, 0xe0b3ba},
+  {0x8132b437, 0xe0b3bb},
+  {0x8132b438, 0xe0b3bc},
+  {0x8132b439, 0xe0b3bd},
+  {0x8132b530, 0xe0b3be},
+  {0x8132b531, 0xe0b3bf},
+  {0x8132b532, 0xe0b480},
+  {0x8132b533, 0xe0b481},
+  {0x8132b534, 0xe0b482},
+  {0x8132b535, 0xe0b483},
+  {0x8132b536, 0xe0b484},
+  {0x8132b537, 0xe0b485},
+  {0x8132b538, 0xe0b486},
+  {0x8132b539, 0xe0b487},
+  {0x8132b630, 0xe0b488},
+  {0x8132b631, 0xe0b489},
+  {0x8132b632, 0xe0b48a},
+  {0x8132b633, 0xe0b48b},
+  {0x8132b634, 0xe0b48c},
+  {0x8132b635, 0xe0b48d},
+  {0x8132b636, 0xe0b48e},
+  {0x8132b637, 0xe0b48f},
+  {0x8132b638, 0xe0b490},
+  {0x8132b639, 0xe0b491},
+  {0x8132b730, 0xe0b492},
+  {0x8132b731, 0xe0b493},
+  {0x8132b732, 0xe0b494},
+  {0x8132b733, 0xe0b495},
+  {0x8132b734, 0xe0b496},
+  {0x8132b735, 0xe0b497},
+  {0x8132b736, 0xe0b498},
+  {0x8132b737, 0xe0b499},
+  {0x8132b738, 0xe0b49a},
+  {0x8132b739, 0xe0b49b},
+  {0x8132b830, 0xe0b49c},
+  {0x8132b831, 0xe0b49d},
+  {0x8132b832, 0xe0b49e},
+  {0x8132b833, 0xe0b49f},
+  {0x8132b834, 0xe0b4a0},
+  {0x8132b835, 0xe0b4a1},
+  {0x8132b836, 0xe0b4a2},
+  {0x8132b837, 0xe0b4a3},
+  {0x8132b838, 0xe0b4a4},
+  {0x8132b839, 0xe0b4a5},
+  {0x8132b930, 0xe0b4a6},
+  {0x8132b931, 0xe0b4a7},
+  {0x8132b932, 0xe0b4a8},
+  {0x8132b933, 0xe0b4a9},
+  {0x8132b934, 0xe0b4aa},
+  {0x8132b935, 0xe0b4ab},
+  {0x8132b936, 0xe0b4ac},
+  {0x8132b937, 0xe0b4ad},
+  {0x8132b938, 0xe0b4ae},
+  {0x8132b939, 0xe0b4af},
+  {0x8132ba30, 0xe0b4b0},
+  {0x8132ba31, 0xe0b4b1},
+  {0x8132ba32, 0xe0b4b2},
+  {0x8132ba33, 0xe0b4b3},
+  {0x8132ba34, 0xe0b4b4},
+  {0x8132ba35, 0xe0b4b5},
+  {0x8132ba36, 0xe0b4b6},
+  {0x8132ba37, 0xe0b4b7},
+  {0x8132ba38, 0xe0b4b8},
+  {0x8132ba39, 0xe0b4b9},
+  {0x8132bb30, 0xe0b4ba},
+  {0x8132bb31, 0xe0b4bb},
+  {0x8132bb32, 0xe0b4bc},
+  {0x8132bb33, 0xe0b4bd},
+  {0x8132bb34, 0xe0b4be},
+  {0x8132bb35, 0xe0b4bf},
+  {0x8132bb36, 0xe0b580},
+  {0x8132bb37, 0xe0b581},
+  {0x8132bb38, 0xe0b582},
+  {0x8132bb39, 0xe0b583},
+  {0x8132bc30, 0xe0b584},
+  {0x8132bc31, 0xe0b585},
+  {0x8132bc32, 0xe0b586},
+  {0x8132bc33, 0xe0b587},
+  {0x8132bc34, 0xe0b588},
+  {0x8132bc35, 0xe0b589},
+  {0x8132bc36, 0xe0b58a},
+  {0x8132bc37, 0xe0b58b},
+  {0x8132bc38, 0xe0b58c},
+  {0x8132bc39, 0xe0b58d},
+  {0x8132bd30, 0xe0b58e},
+  {0x8132bd31, 0xe0b58f},
+  {0x8132bd32, 0xe0b590},
+  {0x8132bd33, 0xe0b591},
+  {0x8132bd34, 0xe0b592},
+  {0x8132bd35, 0xe0b593},
+  {0x8132bd36, 0xe0b594},
+  {0x8132bd37, 0xe0b595},
+  {0x8132bd38, 0xe0b596},
+  {0x8132bd39, 0xe0b597},
+  {0x8132be30, 0xe0b598},
+  {0x8132be31, 0xe0b599},
+  {0x8132be32, 0xe0b59a},
+  {0x8132be33, 0xe0b59b},
+  {0x8132be34, 0xe0b59c},
+  {0x8132be35, 0xe0b59d},
+  {0x8132be36, 0xe0b59e},
+  {0x8132be37, 0xe0b59f},
+  {0x8132be38, 0xe0b5a0},
+  {0x8132be39, 0xe0b5a1},
+  {0x8132bf30, 0xe0b5a2},
+  {0x8132bf31, 0xe0b5a3},
+  {0x8132bf32, 0xe0b5a4},
+  {0x8132bf33, 0xe0b5a5},
+  {0x8132bf34, 0xe0b5a6},
+  {0x8132bf35, 0xe0b5a7},
+  {0x8132bf36, 0xe0b5a8},
+  {0x8132bf37, 0xe0b5a9},
+  {0x8132bf38, 0xe0b5aa},
+  {0x8132bf39, 0xe0b5ab},
+  {0x8132c030, 0xe0b5ac},
+  {0x8132c031, 0xe0b5ad},
+  {0x8132c032, 0xe0b5ae},
+  {0x8132c033, 0xe0b5af},
+  {0x8132c034, 0xe0b5b0},
+  {0x8132c035, 0xe0b5b1},
+  {0x8132c036, 0xe0b5b2},
+  {0x8132c037, 0xe0b5b3},
+  {0x8132c038, 0xe0b5b4},
+  {0x8132c039, 0xe0b5b5},
+  {0x8132c130, 0xe0b5b6},
+  {0x8132c131, 0xe0b5b7},
+  {0x8132c132, 0xe0b5b8},
+  {0x8132c133, 0xe0b5b9},
+  {0x8132c134, 0xe0b5ba},
+  {0x8132c135, 0xe0b5bb},
+  {0x8132c136, 0xe0b5bc},
+  {0x8132c137, 0xe0b5bd},
+  {0x8132c138, 0xe0b5be},
+  {0x8132c139, 0xe0b5bf},
+  {0x8132c230, 0xe0b680},
+  {0x8132c231, 0xe0b681},
+  {0x8132c232, 0xe0b682},
+  {0x8132c233, 0xe0b683},
+  {0x8132c234, 0xe0b684},
+  {0x8132c235, 0xe0b685},
+  {0x8132c236, 0xe0b686},
+  {0x8132c237, 0xe0b687},
+  {0x8132c238, 0xe0b688},
+  {0x8132c239, 0xe0b689},
+  {0x8132c330, 0xe0b68a},
+  {0x8132c331, 0xe0b68b},
+  {0x8132c332, 0xe0b68c},
+  {0x8132c333, 0xe0b68d},
+  {0x8132c334, 0xe0b68e},
+  {0x8132c335, 0xe0b68f},
+  {0x8132c336, 0xe0b690},
+  {0x8132c337, 0xe0b691},
+  {0x8132c338, 0xe0b692},
+  {0x8132c339, 0xe0b693},
+  {0x8132c430, 0xe0b694},
+  {0x8132c431, 0xe0b695},
+  {0x8132c432, 0xe0b696},
+  {0x8132c433, 0xe0b697},
+  {0x8132c434, 0xe0b698},
+  {0x8132c435, 0xe0b699},
+  {0x8132c436, 0xe0b69a},
+  {0x8132c437, 0xe0b69b},
+  {0x8132c438, 0xe0b69c},
+  {0x8132c439, 0xe0b69d},
+  {0x8132c530, 0xe0b69e},
+  {0x8132c531, 0xe0b69f},
+  {0x8132c532, 0xe0b6a0},
+  {0x8132c533, 0xe0b6a1},
+  {0x8132c534, 0xe0b6a2},
+  {0x8132c535, 0xe0b6a3},
+  {0x8132c536, 0xe0b6a4},
+  {0x8132c537, 0xe0b6a5},
+  {0x8132c538, 0xe0b6a6},
+  {0x8132c539, 0xe0b6a7},
+  {0x8132c630, 0xe0b6a8},
+  {0x8132c631, 0xe0b6a9},
+  {0x8132c632, 0xe0b6aa},
+  {0x8132c633, 0xe0b6ab},
+  {0x8132c634, 0xe0b6ac},
+  {0x8132c635, 0xe0b6ad},
+  {0x8132c636, 0xe0b6ae},
+  {0x8132c637, 0xe0b6af},
+  {0x8132c638, 0xe0b6b0},
+  {0x8132c639, 0xe0b6b1},
+  {0x8132c730, 0xe0b6b2},
+  {0x8132c731, 0xe0b6b3},
+  {0x8132c732, 0xe0b6b4},
+  {0x8132c733, 0xe0b6b5},
+  {0x8132c734, 0xe0b6b6},
+  {0x8132c735, 0xe0b6b7},
+  {0x8132c736, 0xe0b6b8},
+  {0x8132c737, 0xe0b6b9},
+  {0x8132c738, 0xe0b6ba},
+  {0x8132c739, 0xe0b6bb},
+  {0x8132c830, 0xe0b6bc},
+  {0x8132c831, 0xe0b6bd},
+  {0x8132c832, 0xe0b6be},
+  {0x8132c833, 0xe0b6bf},
+  {0x8132c834, 0xe0b780},
+  {0x8132c835, 0xe0b781},
+  {0x8132c836, 0xe0b782},
+  {0x8132c837, 0xe0b783},
+  {0x8132c838, 0xe0b784},
+  {0x8132c839, 0xe0b785},
+  {0x8132c930, 0xe0b786},
+  {0x8132c931, 0xe0b787},
+  {0x8132c932, 0xe0b788},
+  {0x8132c933, 0xe0b789},
+  {0x8132c934, 0xe0b78a},
+  {0x8132c935, 0xe0b78b},
+  {0x8132c936, 0xe0b78c},
+  {0x8132c937, 0xe0b78d},
+  {0x8132c938, 0xe0b78e},
+  {0x8132c939, 0xe0b78f},
+  {0x8132ca30, 0xe0b790},
+  {0x8132ca31, 0xe0b791},
+  {0x8132ca32, 0xe0b792},
+  {0x8132ca33, 0xe0b793},
+  {0x8132ca34, 0xe0b794},
+  {0x8132ca35, 0xe0b795},
+  {0x8132ca36, 0xe0b796},
+  {0x8132ca37, 0xe0b797},
+  {0x8132ca38, 0xe0b798},
+  {0x8132ca39, 0xe0b799},
+  {0x8132cb30, 0xe0b79a},
+  {0x8132cb31, 0xe0b79b},
+  {0x8132cb32, 0xe0b79c},
+  {0x8132cb33, 0xe0b79d},
+  {0x8132cb34, 0xe0b79e},
+  {0x8132cb35, 0xe0b79f},
+  {0x8132cb36, 0xe0b7a0},
+  {0x8132cb37, 0xe0b7a1},
+  {0x8132cb38, 0xe0b7a2},
+  {0x8132cb39, 0xe0b7a3},
+  {0x8132cc30, 0xe0b7a4},
+  {0x8132cc31, 0xe0b7a5},
+  {0x8132cc32, 0xe0b7a6},
+  {0x8132cc33, 0xe0b7a7},
+  {0x8132cc34, 0xe0b7a8},
+  {0x8132cc35, 0xe0b7a9},
+  {0x8132cc36, 0xe0b7aa},
+  {0x8132cc37, 0xe0b7ab},
+  {0x8132cc38, 0xe0b7ac},
+  {0x8132cc39, 0xe0b7ad},
+  {0x8132cd30, 0xe0b7ae},
+  {0x8132cd31, 0xe0b7af},
+  {0x8132cd32, 0xe0b7b0},
+  {0x8132cd33, 0xe0b7b1},
+  {0x8132cd34, 0xe0b7b2},
+  {0x8132cd35, 0xe0b7b3},
+  {0x8132cd36, 0xe0b7b4},
+  {0x8132cd37, 0xe0b7b5},
+  {0x8132cd38, 0xe0b7b6},
+  {0x8132cd39, 0xe0b7b7},
+  {0x8132ce30, 0xe0b7b8},
+  {0x8132ce31, 0xe0b7b9},
+  {0x8132ce32, 0xe0b7ba},
+  {0x8132ce33, 0xe0b7bb},
+  {0x8132ce34, 0xe0b7bc},
+  {0x8132ce35, 0xe0b7bd},
+  {0x8132ce36, 0xe0b7be},
+  {0x8132ce37, 0xe0b7bf},
+  {0x8132ce38, 0xe0b880},
+  {0x8132ce39, 0xe0b881},
+  {0x8132cf30, 0xe0b882},
+  {0x8132cf31, 0xe0b883},
+  {0x8132cf32, 0xe0b884},
+  {0x8132cf33, 0xe0b885},
+  {0x8132cf34, 0xe0b886},
+  {0x8132cf35, 0xe0b887},
+  {0x8132cf36, 0xe0b888},
+  {0x8132cf37, 0xe0b889},
+  {0x8132cf38, 0xe0b88a},
+  {0x8132cf39, 0xe0b88b},
+  {0x8132d030, 0xe0b88c},
+  {0x8132d031, 0xe0b88d},
+  {0x8132d032, 0xe0b88e},
+  {0x8132d033, 0xe0b88f},
+  {0x8132d034, 0xe0b890},
+  {0x8132d035, 0xe0b891},
+  {0x8132d036, 0xe0b892},
+  {0x8132d037, 0xe0b893},
+  {0x8132d038, 0xe0b894},
+  {0x8132d039, 0xe0b895},
+  {0x8132d130, 0xe0b896},
+  {0x8132d131, 0xe0b897},
+  {0x8132d132, 0xe0b898},
+  {0x8132d133, 0xe0b899},
+  {0x8132d134, 0xe0b89a},
+  {0x8132d135, 0xe0b89b},
+  {0x8132d136, 0xe0b89c},
+  {0x8132d137, 0xe0b89d},
+  {0x8132d138, 0xe0b89e},
+  {0x8132d139, 0xe0b89f},
+  {0x8132d230, 0xe0b8a0},
+  {0x8132d231, 0xe0b8a1},
+  {0x8132d232, 0xe0b8a2},
+  {0x8132d233, 0xe0b8a3},
+  {0x8132d234, 0xe0b8a4},
+  {0x8132d235, 0xe0b8a5},
+  {0x8132d236, 0xe0b8a6},
+  {0x8132d237, 0xe0b8a7},
+  {0x8132d238, 0xe0b8a8},
+  {0x8132d239, 0xe0b8a9},
+  {0x8132d330, 0xe0b8aa},
+  {0x8132d331, 0xe0b8ab},
+  {0x8132d332, 0xe0b8ac},
+  {0x8132d333, 0xe0b8ad},
+  {0x8132d334, 0xe0b8ae},
+  {0x8132d335, 0xe0b8af},
+  {0x8132d336, 0xe0b8b0},
+  {0x8132d337, 0xe0b8b1},
+  {0x8132d338, 0xe0b8b2},
+  {0x8132d339, 0xe0b8b3},
+  {0x8132d430, 0xe0b8b4},
+  {0x8132d431, 0xe0b8b5},
+  {0x8132d432, 0xe0b8b6},
+  {0x8132d433, 0xe0b8b7},
+  {0x8132d434, 0xe0b8b8},
+  {0x8132d435, 0xe0b8b9},
+  {0x8132d436, 0xe0b8ba},
+  {0x8132d437, 0xe0b8bb},
+  {0x8132d438, 0xe0b8bc},
+  {0x8132d439, 0xe0b8bd},
+  {0x8132d530, 0xe0b8be},
+  {0x8132d531, 0xe0b8bf},
+  {0x8132d532, 0xe0b980},
+  {0x8132d533, 0xe0b981},
+  {0x8132d534, 0xe0b982},
+  {0x8132d535, 0xe0b983},
+  {0x8132d536, 0xe0b984},
+  {0x8132d537, 0xe0b985},
+  {0x8132d538, 0xe0b986},
+  {0x8132d539, 0xe0b987},
+  {0x8132d630, 0xe0b988},
+  {0x8132d631, 0xe0b989},
+  {0x8132d632, 0xe0b98a},
+  {0x8132d633, 0xe0b98b},
+  {0x8132d634, 0xe0b98c},
+  {0x8132d635, 0xe0b98d},
+  {0x8132d636, 0xe0b98e},
+  {0x8132d637, 0xe0b98f},
+  {0x8132d638, 0xe0b990},
+  {0x8132d639, 0xe0b991},
+  {0x8132d730, 0xe0b992},
+  {0x8132d731, 0xe0b993},
+  {0x8132d732, 0xe0b994},
+  {0x8132d733, 0xe0b995},
+  {0x8132d734, 0xe0b996},
+  {0x8132d735, 0xe0b997},
+  {0x8132d736, 0xe0b998},
+  {0x8132d737, 0xe0b999},
+  {0x8132d738, 0xe0b99a},
+  {0x8132d739, 0xe0b99b},
+  {0x8132d830, 0xe0b99c},
+  {0x8132d831, 0xe0b99d},
+  {0x8132d832, 0xe0b99e},
+  {0x8132d833, 0xe0b99f},
+  {0x8132d834, 0xe0b9a0},
+  {0x8132d835, 0xe0b9a1},
+  {0x8132d836, 0xe0b9a2},
+  {0x8132d837, 0xe0b9a3},
+  {0x8132d838, 0xe0b9a4},
+  {0x8132d839, 0xe0b9a5},
+  {0x8132d930, 0xe0b9a6},
+  {0x8132d931, 0xe0b9a7},
+  {0x8132d932, 0xe0b9a8},
+  {0x8132d933, 0xe0b9a9},
+  {0x8132d934, 0xe0b9aa},
+  {0x8132d935, 0xe0b9ab},
+  {0x8132d936, 0xe0b9ac},
+  {0x8132d937, 0xe0b9ad},
+  {0x8132d938, 0xe0b9ae},
+  {0x8132d939, 0xe0b9af},
+  {0x8132da30, 0xe0b9b0},
+  {0x8132da31, 0xe0b9b1},
+  {0x8132da32, 0xe0b9b2},
+  {0x8132da33, 0xe0b9b3},
+  {0x8132da34, 0xe0b9b4},
+  {0x8132da35, 0xe0b9b5},
+  {0x8132da36, 0xe0b9b6},
+  {0x8132da37, 0xe0b9b7},
+  {0x8132da38, 0xe0b9b8},
+  {0x8132da39, 0xe0b9b9},
+  {0x8132db30, 0xe0b9ba},
+  {0x8132db31, 0xe0b9bb},
+  {0x8132db32, 0xe0b9bc},
+  {0x8132db33, 0xe0b9bd},
+  {0x8132db34, 0xe0b9be},
+  {0x8132db35, 0xe0b9bf},
+  {0x8132db36, 0xe0ba80},
+  {0x8132db37, 0xe0ba81},
+  {0x8132db38, 0xe0ba82},
+  {0x8132db39, 0xe0ba83},
+  {0x8132dc30, 0xe0ba84},
+  {0x8132dc31, 0xe0ba85},
+  {0x8132dc32, 0xe0ba86},
+  {0x8132dc33, 0xe0ba87},
+  {0x8132dc34, 0xe0ba88},
+  {0x8132dc35, 0xe0ba89},
+  {0x8132dc36, 0xe0ba8a},
+  {0x8132dc37, 0xe0ba8b},
+  {0x8132dc38, 0xe0ba8c},
+  {0x8132dc39, 0xe0ba8d},
+  {0x8132dd30, 0xe0ba8e},
+  {0x8132dd31, 0xe0ba8f},
+  {0x8132dd32, 0xe0ba90},
+  {0x8132dd33, 0xe0ba91},
+  {0x8132dd34, 0xe0ba92},
+  {0x8132dd35, 0xe0ba93},
+  {0x8132dd36, 0xe0ba94},
+  {0x8132dd37, 0xe0ba95},
+  {0x8132dd38, 0xe0ba96},
+  {0x8132dd39, 0xe0ba97},
+  {0x8132de30, 0xe0ba98},
+  {0x8132de31, 0xe0ba99},
+  {0x8132de32, 0xe0ba9a},
+  {0x8132de33, 0xe0ba9b},
+  {0x8132de34, 0xe0ba9c},
+  {0x8132de35, 0xe0ba9d},
+  {0x8132de36, 0xe0ba9e},
+  {0x8132de37, 0xe0ba9f},
+  {0x8132de38, 0xe0baa0},
+  {0x8132de39, 0xe0baa1},
+  {0x8132df30, 0xe0baa2},
+  {0x8132df31, 0xe0baa3},
+  {0x8132df32, 0xe0baa4},
+  {0x8132df33, 0xe0baa5},
+  {0x8132df34, 0xe0baa6},
+  {0x8132df35, 0xe0baa7},
+  {0x8132df36, 0xe0baa8},
+  {0x8132df37, 0xe0baa9},
+  {0x8132df38, 0xe0baaa},
+  {0x8132df39, 0xe0baab},
+  {0x8132e030, 0xe0baac},
+  {0x8132e031, 0xe0baad},
+  {0x8132e032, 0xe0baae},
+  {0x8132e033, 0xe0baaf},
+  {0x8132e034, 0xe0bab0},
+  {0x8132e035, 0xe0bab1},
+  {0x8132e036, 0xe0bab2},
+  {0x8132e037, 0xe0bab3},
+  {0x8132e038, 0xe0bab4},
+  {0x8132e039, 0xe0bab5},
+  {0x8132e130, 0xe0bab6},
+  {0x8132e131, 0xe0bab7},
+  {0x8132e132, 0xe0bab8},
+  {0x8132e133, 0xe0bab9},
+  {0x8132e134, 0xe0baba},
+  {0x8132e135, 0xe0babb},
+  {0x8132e136, 0xe0babc},
+  {0x8132e137, 0xe0babd},
+  {0x8132e138, 0xe0babe},
+  {0x8132e139, 0xe0babf},
+  {0x8132e230, 0xe0bb80},
+  {0x8132e231, 0xe0bb81},
+  {0x8132e232, 0xe0bb82},
+  {0x8132e233, 0xe0bb83},
+  {0x8132e234, 0xe0bb84},
+  {0x8132e235, 0xe0bb85},
+  {0x8132e236, 0xe0bb86},
+  {0x8132e237, 0xe0bb87},
+  {0x8132e238, 0xe0bb88},
+  {0x8132e239, 0xe0bb89},
+  {0x8132e330, 0xe0bb8a},
+  {0x8132e331, 0xe0bb8b},
+  {0x8132e332, 0xe0bb8c},
+  {0x8132e333, 0xe0bb8d},
+  {0x8132e334, 0xe0bb8e},
+  {0x8132e335, 0xe0bb8f},
+  {0x8132e336, 0xe0bb90},
+  {0x8132e337, 0xe0bb91},
+  {0x8132e338, 0xe0bb92},
+  {0x8132e339, 0xe0bb93},
+  {0x8132e430, 0xe0bb94},
+  {0x8132e431, 0xe0bb95},
+  {0x8132e432, 0xe0bb96},
+  {0x8132e433, 0xe0bb97},
+  {0x8132e434, 0xe0bb98},
+  {0x8132e435, 0xe0bb99},
+  {0x8132e436, 0xe0bb9a},
+  {0x8132e437, 0xe0bb9b},
+  {0x8132e438, 0xe0bb9c},
+  {0x8132e439, 0xe0bb9d},
+  {0x8132e530, 0xe0bb9e},
+  {0x8132e531, 0xe0bb9f},
+  {0x8132e532, 0xe0bba0},
+  {0x8132e533, 0xe0bba1},
+  {0x8132e534, 0xe0bba2},
+  {0x8132e535, 0xe0bba3},
+  {0x8132e536, 0xe0bba4},
+  {0x8132e537, 0xe0bba5},
+  {0x8132e538, 0xe0bba6},
+  {0x8132e539, 0xe0bba7},
+  {0x8132e630, 0xe0bba8},
+  {0x8132e631, 0xe0bba9},
+  {0x8132e632, 0xe0bbaa},
+  {0x8132e633, 0xe0bbab},
+  {0x8132e634, 0xe0bbac},
+  {0x8132e635, 0xe0bbad},
+  {0x8132e636, 0xe0bbae},
+  {0x8132e637, 0xe0bbaf},
+  {0x8132e638, 0xe0bbb0},
+  {0x8132e639, 0xe0bbb1},
+  {0x8132e730, 0xe0bbb2},
+  {0x8132e731, 0xe0bbb3},
+  {0x8132e732, 0xe0bbb4},
+  {0x8132e733, 0xe0bbb5},
+  {0x8132e734, 0xe0bbb6},
+  {0x8132e735, 0xe0bbb7},
+  {0x8132e736, 0xe0bbb8},
+  {0x8132e737, 0xe0bbb9},
+  {0x8132e738, 0xe0bbba},
+  {0x8132e739, 0xe0bbbb},
+  {0x8132e830, 0xe0bbbc},
+  {0x8132e831, 0xe0bbbd},
+  {0x8132e832, 0xe0bbbe},
+  {0x8132e833, 0xe0bbbf},
+  {0x8132e834, 0xe0bc80},
+  {0x8132e835, 0xe0bc81},
+  {0x8132e836, 0xe0bc82},
+  {0x8132e837, 0xe0bc83},
+  {0x8132e838, 0xe0bc84},
+  {0x8132e839, 0xe0bc85},
+  {0x8132e930, 0xe0bc86},
+  {0x8132e931, 0xe0bc87},
+  {0x8132e932, 0xe0bc88},
+  {0x8132e933, 0xe0bc89},
+  {0x8132e934, 0xe0bc8a},
+  {0x8132e935, 0xe0bc8b},
+  {0x8132e936, 0xe0bc8c},
+  {0x8132e937, 0xe0bc8d},
+  {0x8132e938, 0xe0bc8e},
+  {0x8132e939, 0xe0bc8f},
+  {0x8132ea30, 0xe0bc90},
+  {0x8132ea31, 0xe0bc91},
+  {0x8132ea32, 0xe0bc92},
+  {0x8132ea33, 0xe0bc93},
+  {0x8132ea34, 0xe0bc94},
+  {0x8132ea35, 0xe0bc95},
+  {0x8132ea36, 0xe0bc96},
+  {0x8132ea37, 0xe0bc97},
+  {0x8132ea38, 0xe0bc98},
+  {0x8132ea39, 0xe0bc99},
+  {0x8132eb30, 0xe0bc9a},
+  {0x8132eb31, 0xe0bc9b},
+  {0x8132eb32, 0xe0bc9c},
+  {0x8132eb33, 0xe0bc9d},
+  {0x8132eb34, 0xe0bc9e},
+  {0x8132eb35, 0xe0bc9f},
+  {0x8132eb36, 0xe0bca0},
+  {0x8132eb37, 0xe0bca1},
+  {0x8132eb38, 0xe0bca2},
+  {0x8132eb39, 0xe0bca3},
+  {0x8132ec30, 0xe0bca4},
+  {0x8132ec31, 0xe0bca5},
+  {0x8132ec32, 0xe0bca6},
+  {0x8132ec33, 0xe0bca7},
+  {0x8132ec34, 0xe0bca8},
+  {0x8132ec35, 0xe0bca9},
+  {0x8132ec36, 0xe0bcaa},
+  {0x8132ec37, 0xe0bcab},
+  {0x8132ec38, 0xe0bcac},
+  {0x8132ec39, 0xe0bcad},
+  {0x8132ed30, 0xe0bcae},
+  {0x8132ed31, 0xe0bcaf},
+  {0x8132ed32, 0xe0bcb0},
+  {0x8132ed33, 0xe0bcb1},
+  {0x8132ed34, 0xe0bcb2},
+  {0x8132ed35, 0xe0bcb3},
+  {0x8132ed36, 0xe0bcb4},
+  {0x8132ed37, 0xe0bcb5},
+  {0x8132ed38, 0xe0bcb6},
+  {0x8132ed39, 0xe0bcb7},
+  {0x8132ee30, 0xe0bcb8},
+  {0x8132ee31, 0xe0bcb9},
+  {0x8132ee32, 0xe0bcba},
+  {0x8132ee33, 0xe0bcbb},
+  {0x8132ee34, 0xe0bcbc},
+  {0x8132ee35, 0xe0bcbd},
+  {0x8132ee36, 0xe0bcbe},
+  {0x8132ee37, 0xe0bcbf},
+  {0x8132ee38, 0xe0bd80},
+  {0x8132ee39, 0xe0bd81},
+  {0x8132ef30, 0xe0bd82},
+  {0x8132ef31, 0xe0bd83},
+  {0x8132ef32, 0xe0bd84},
+  {0x8132ef33, 0xe0bd85},
+  {0x8132ef34, 0xe0bd86},
+  {0x8132ef35, 0xe0bd87},
+  {0x8132ef36, 0xe0bd88},
+  {0x8132ef37, 0xe0bd89},
+  {0x8132ef38, 0xe0bd8a},
+  {0x8132ef39, 0xe0bd8b},
+  {0x8132f030, 0xe0bd8c},
+  {0x8132f031, 0xe0bd8d},
+  {0x8132f032, 0xe0bd8e},
+  {0x8132f033, 0xe0bd8f},
+  {0x8132f034, 0xe0bd90},
+  {0x8132f035, 0xe0bd91},
+  {0x8132f036, 0xe0bd92},
+  {0x8132f037, 0xe0bd93},
+  {0x8132f038, 0xe0bd94},
+  {0x8132f039, 0xe0bd95},
+  {0x8132f130, 0xe0bd96},
+  {0x8132f131, 0xe0bd97},
+  {0x8132f132, 0xe0bd98},
+  {0x8132f133, 0xe0bd99},
+  {0x8132f134, 0xe0bd9a},
+  {0x8132f135, 0xe0bd9b},
+  {0x8132f136, 0xe0bd9c},
+  {0x8132f137, 0xe0bd9d},
+  {0x8132f138, 0xe0bd9e},
+  {0x8132f139, 0xe0bd9f},
+  {0x8132f230, 0xe0bda0},
+  {0x8132f231, 0xe0bda1},
+  {0x8132f232, 0xe0bda2},
+  {0x8132f233, 0xe0bda3},
+  {0x8132f234, 0xe0bda4},
+  {0x8132f235, 0xe0bda5},
+  {0x8132f236, 0xe0bda6},
+  {0x8132f237, 0xe0bda7},
+  {0x8132f238, 0xe0bda8},
+  {0x8132f239, 0xe0bda9},
+  {0x8132f330, 0xe0bdaa},
+  {0x8132f331, 0xe0bdab},
+  {0x8132f332, 0xe0bdac},
+  {0x8132f333, 0xe0bdad},
+  {0x8132f334, 0xe0bdae},
+  {0x8132f335, 0xe0bdaf},
+  {0x8132f336, 0xe0bdb0},
+  {0x8132f337, 0xe0bdb1},
+  {0x8132f338, 0xe0bdb2},
+  {0x8132f339, 0xe0bdb3},
+  {0x8132f430, 0xe0bdb4},
+  {0x8132f431, 0xe0bdb5},
+  {0x8132f432, 0xe0bdb6},
+  {0x8132f433, 0xe0bdb7},
+  {0x8132f434, 0xe0bdb8},
+  {0x8132f435, 0xe0bdb9},
+  {0x8132f436, 0xe0bdba},
+  {0x8132f437, 0xe0bdbb},
+  {0x8132f438, 0xe0bdbc},
+  {0x8132f439, 0xe0bdbd},
+  {0x8132f530, 0xe0bdbe},
+  {0x8132f531, 0xe0bdbf},
+  {0x8132f532, 0xe0be80},
+  {0x8132f533, 0xe0be81},
+  {0x8132f534, 0xe0be82},
+  {0x8132f535, 0xe0be83},
+  {0x8132f536, 0xe0be84},
+  {0x8132f537, 0xe0be85},
+  {0x8132f538, 0xe0be86},
+  {0x8132f539, 0xe0be87},
+  {0x8132f630, 0xe0be88},
+  {0x8132f631, 0xe0be89},
+  {0x8132f632, 0xe0be8a},
+  {0x8132f633, 0xe0be8b},
+  {0x8132f634, 0xe0be8c},
+  {0x8132f635, 0xe0be8d},
+  {0x8132f636, 0xe0be8e},
+  {0x8132f637, 0xe0be8f},
+  {0x8132f638, 0xe0be90},
+  {0x8132f639, 0xe0be91},
+  {0x8132f730, 0xe0be92},
+  {0x8132f731, 0xe0be93},
+  {0x8132f732, 0xe0be94},
+  {0x8132f733, 0xe0be95},
+  {0x8132f734, 0xe0be96},
+  {0x8132f735, 0xe0be97},
+  {0x8132f736, 0xe0be98},
+  {0x8132f737, 0xe0be99},
+  {0x8132f738, 0xe0be9a},
+  {0x8132f739, 0xe0be9b},
+  {0x8132f830, 0xe0be9c},
+  {0x8132f831, 0xe0be9d},
+  {0x8132f832, 0xe0be9e},
+  {0x8132f833, 0xe0be9f},
+  {0x8132f834, 0xe0bea0},
+  {0x8132f835, 0xe0bea1},
+  {0x8132f836, 0xe0bea2},
+  {0x8132f837, 0xe0bea3},
+  {0x8132f838, 0xe0bea4},
+  {0x8132f839, 0xe0bea5},
+  {0x8132f930, 0xe0bea6},
+  {0x8132f931, 0xe0bea7},
+  {0x8132f932, 0xe0bea8},
+  {0x8132f933, 0xe0bea9},
+  {0x8132f934, 0xe0beaa},
+  {0x8132f935, 0xe0beab},
+  {0x8132f936, 0xe0beac},
+  {0x8132f937, 0xe0bead},
+  {0x8132f938, 0xe0beae},
+  {0x8132f939, 0xe0beaf},
+  {0x8132fa30, 0xe0beb0},
+  {0x8132fa31, 0xe0beb1},
+  {0x8132fa32, 0xe0beb2},
+  {0x8132fa33, 0xe0beb3},
+  {0x8132fa34, 0xe0beb4},
+  {0x8132fa35, 0xe0beb5},
+  {0x8132fa36, 0xe0beb6},
+  {0x8132fa37, 0xe0beb7},
+  {0x8132fa38, 0xe0beb8},
+  {0x8132fa39, 0xe0beb9},
+  {0x8132fb30, 0xe0beba},
+  {0x8132fb31, 0xe0bebb},
+  {0x8132fb32, 0xe0bebc},
+  {0x8132fb33, 0xe0bebd},
+  {0x8132fb34, 0xe0bebe},
+  {0x8132fb35, 0xe0bebf},
+  {0x8132fb36, 0xe0bf80},
+  {0x8132fb37, 0xe0bf81},
+  {0x8132fb38, 0xe0bf82},
+  {0x8132fb39, 0xe0bf83},
+  {0x8132fc30, 0xe0bf84},
+  {0x8132fc31, 0xe0bf85},
+  {0x8132fc32, 0xe0bf86},
+  {0x8132fc33, 0xe0bf87},
+  {0x8132fc34, 0xe0bf88},
+  {0x8132fc35, 0xe0bf89},
+  {0x8132fc36, 0xe0bf8a},
+  {0x8132fc37, 0xe0bf8b},
+  {0x8132fc38, 0xe0bf8c},
+  {0x8132fc39, 0xe0bf8d},
+  {0x8132fd30, 0xe0bf8e},
+  {0x8132fd31, 0xe0bf8f},
+  {0x8132fd32, 0xe0bf90},
+  {0x8132fd33, 0xe0bf91},
+  {0x8132fd34, 0xe0bf92},
+  {0x8132fd35, 0xe0bf93},
+  {0x8132fd36, 0xe0bf94},
+  {0x8132fd37, 0xe0bf95},
+  {0x8132fd38, 0xe0bf96},
+  {0x8132fd39, 0xe0bf97},
+  {0x8132fe30, 0xe0bf98},
+  {0x8132fe31, 0xe0bf99},
+  {0x8132fe32, 0xe0bf9a},
+  {0x8132fe33, 0xe0bf9b},
+  {0x8132fe34, 0xe0bf9c},
+  {0x8132fe35, 0xe0bf9d},
+  {0x8132fe36, 0xe0bf9e},
+  {0x8132fe37, 0xe0bf9f},
+  {0x8132fe38, 0xe0bfa0},
+  {0x8132fe39, 0xe0bfa1},
+  {0x81338130, 0xe0bfa2},
+  {0x81338131, 0xe0bfa3},
+  {0x81338132, 0xe0bfa4},
+  {0x81338133, 0xe0bfa5},
+  {0x81338134, 0xe0bfa6},
+  {0x81338135, 0xe0bfa7},
+  {0x81338136, 0xe0bfa8},
+  {0x81338137, 0xe0bfa9},
+  {0x81338138, 0xe0bfaa},
+  {0x81338139, 0xe0bfab},
+  {0x81338230, 0xe0bfac},
+  {0x81338231, 0xe0bfad},
+  {0x81338232, 0xe0bfae},
+  {0x81338233, 0xe0bfaf},
+  {0x81338234, 0xe0bfb0},
+  {0x81338235, 0xe0bfb1},
+  {0x81338236, 0xe0bfb2},
+  {0x81338237, 0xe0bfb3},
+  {0x81338238, 0xe0bfb4},
+  {0x81338239, 0xe0bfb5},
+  {0x81338330, 0xe0bfb6},
+  {0x81338331, 0xe0bfb7},
+  {0x81338332, 0xe0bfb8},
+  {0x81338333, 0xe0bfb9},
+  {0x81338334, 0xe0bfba},
+  {0x81338335, 0xe0bfbb},
+  {0x81338336, 0xe0bfbc},
+  {0x81338337, 0xe0bfbd},
+  {0x81338338, 0xe0bfbe},
+  {0x81338339, 0xe0bfbf},
+  {0x81338430, 0xe18080},
+  {0x81338431, 0xe18081},
+  {0x81338432, 0xe18082},
+  {0x81338433, 0xe18083},
+  {0x81338434, 0xe18084},
+  {0x81338435, 0xe18085},
+  {0x81338436, 0xe18086},
+  {0x81338437, 0xe18087},
+  {0x81338438, 0xe18088},
+  {0x81338439, 0xe18089},
+  {0x81338530, 0xe1808a},
+  {0x81338531, 0xe1808b},
+  {0x81338532, 0xe1808c},
+  {0x81338533, 0xe1808d},
+  {0x81338534, 0xe1808e},
+  {0x81338535, 0xe1808f},
+  {0x81338536, 0xe18090},
+  {0x81338537, 0xe18091},
+  {0x81338538, 0xe18092},
+  {0x81338539, 0xe18093},
+  {0x81338630, 0xe18094},
+  {0x81338631, 0xe18095},
+  {0x81338632, 0xe18096},
+  {0x81338633, 0xe18097},
+  {0x81338634, 0xe18098},
+  {0x81338635, 0xe18099},
+  {0x81338636, 0xe1809a},
+  {0x81338637, 0xe1809b},
+  {0x81338638, 0xe1809c},
+  {0x81338639, 0xe1809d},
+  {0x81338730, 0xe1809e},
+  {0x81338731, 0xe1809f},
+  {0x81338732, 0xe180a0},
+  {0x81338733, 0xe180a1},
+  {0x81338734, 0xe180a2},
+  {0x81338735, 0xe180a3},
+  {0x81338736, 0xe180a4},
+  {0x81338737, 0xe180a5},
+  {0x81338738, 0xe180a6},
+  {0x81338739, 0xe180a7},
+  {0x81338830, 0xe180a8},
+  {0x81338831, 0xe180a9},
+  {0x81338832, 0xe180aa},
+  {0x81338833, 0xe180ab},
+  {0x81338834, 0xe180ac},
+  {0x81338835, 0xe180ad},
+  {0x81338836, 0xe180ae},
+  {0x81338837, 0xe180af},
+  {0x81338838, 0xe180b0},
+  {0x81338839, 0xe180b1},
+  {0x81338930, 0xe180b2},
+  {0x81338931, 0xe180b3},
+  {0x81338932, 0xe180b4},
+  {0x81338933, 0xe180b5},
+  {0x81338934, 0xe180b6},
+  {0x81338935, 0xe180b7},
+  {0x81338936, 0xe180b8},
+  {0x81338937, 0xe180b9},
+  {0x81338938, 0xe180ba},
+  {0x81338939, 0xe180bb},
+  {0x81338a30, 0xe180bc},
+  {0x81338a31, 0xe180bd},
+  {0x81338a32, 0xe180be},
+  {0x81338a33, 0xe180bf},
+  {0x81338a34, 0xe18180},
+  {0x81338a35, 0xe18181},
+  {0x81338a36, 0xe18182},
+  {0x81338a37, 0xe18183},
+  {0x81338a38, 0xe18184},
+  {0x81338a39, 0xe18185},
+  {0x81338b30, 0xe18186},
+  {0x81338b31, 0xe18187},
+  {0x81338b32, 0xe18188},
+  {0x81338b33, 0xe18189},
+  {0x81338b34, 0xe1818a},
+  {0x81338b35, 0xe1818b},
+  {0x81338b36, 0xe1818c},
+  {0x81338b37, 0xe1818d},
+  {0x81338b38, 0xe1818e},
+  {0x81338b39, 0xe1818f},
+  {0x81338c30, 0xe18190},
+  {0x81338c31, 0xe18191},
+  {0x81338c32, 0xe18192},
+  {0x81338c33, 0xe18193},
+  {0x81338c34, 0xe18194},
+  {0x81338c35, 0xe18195},
+  {0x81338c36, 0xe18196},
+  {0x81338c37, 0xe18197},
+  {0x81338c38, 0xe18198},
+  {0x81338c39, 0xe18199},
+  {0x81338d30, 0xe1819a},
+  {0x81338d31, 0xe1819b},
+  {0x81338d32, 0xe1819c},
+  {0x81338d33, 0xe1819d},
+  {0x81338d34, 0xe1819e},
+  {0x81338d35, 0xe1819f},
+  {0x81338d36, 0xe181a0},
+  {0x81338d37, 0xe181a1},
+  {0x81338d38, 0xe181a2},
+  {0x81338d39, 0xe181a3},
+  {0x81338e30, 0xe181a4},
+  {0x81338e31, 0xe181a5},
+  {0x81338e32, 0xe181a6},
+  {0x81338e33, 0xe181a7},
+  {0x81338e34, 0xe181a8},
+  {0x81338e35, 0xe181a9},
+  {0x81338e36, 0xe181aa},
+  {0x81338e37, 0xe181ab},
+  {0x81338e38, 0xe181ac},
+  {0x81338e39, 0xe181ad},
+  {0x81338f30, 0xe181ae},
+  {0x81338f31, 0xe181af},
+  {0x81338f32, 0xe181b0},
+  {0x81338f33, 0xe181b1},
+  {0x81338f34, 0xe181b2},
+  {0x81338f35, 0xe181b3},
+  {0x81338f36, 0xe181b4},
+  {0x81338f37, 0xe181b5},
+  {0x81338f38, 0xe181b6},
+  {0x81338f39, 0xe181b7},
+  {0x81339030, 0xe181b8},
+  {0x81339031, 0xe181b9},
+  {0x81339032, 0xe181ba},
+  {0x81339033, 0xe181bb},
+  {0x81339034, 0xe181bc},
+  {0x81339035, 0xe181bd},
+  {0x81339036, 0xe181be},
+  {0x81339037, 0xe181bf},
+  {0x81339038, 0xe18280},
+  {0x81339039, 0xe18281},
+  {0x81339130, 0xe18282},
+  {0x81339131, 0xe18283},
+  {0x81339132, 0xe18284},
+  {0x81339133, 0xe18285},
+  {0x81339134, 0xe18286},
+  {0x81339135, 0xe18287},
+  {0x81339136, 0xe18288},
+  {0x81339137, 0xe18289},
+  {0x81339138, 0xe1828a},
+  {0x81339139, 0xe1828b},
+  {0x81339230, 0xe1828c},
+  {0x81339231, 0xe1828d},
+  {0x81339232, 0xe1828e},
+  {0x81339233, 0xe1828f},
+  {0x81339234, 0xe18290},
+  {0x81339235, 0xe18291},
+  {0x81339236, 0xe18292},
+  {0x81339237, 0xe18293},
+  {0x81339238, 0xe18294},
+  {0x81339239, 0xe18295},
+  {0x81339330, 0xe18296},
+  {0x81339331, 0xe18297},
+  {0x81339332, 0xe18298},
+  {0x81339333, 0xe18299},
+  {0x81339334, 0xe1829a},
+  {0x81339335, 0xe1829b},
+  {0x81339336, 0xe1829c},
+  {0x81339337, 0xe1829d},
+  {0x81339338, 0xe1829e},
+  {0x81339339, 0xe1829f},
+  {0x81339430, 0xe182a0},
+  {0x81339431, 0xe182a1},
+  {0x81339432, 0xe182a2},
+  {0x81339433, 0xe182a3},
+  {0x81339434, 0xe182a4},
+  {0x81339435, 0xe182a5},
+  {0x81339436, 0xe182a6},
+  {0x81339437, 0xe182a7},
+  {0x81339438, 0xe182a8},
+  {0x81339439, 0xe182a9},
+  {0x81339530, 0xe182aa},
+  {0x81339531, 0xe182ab},
+  {0x81339532, 0xe182ac},
+  {0x81339533, 0xe182ad},
+  {0x81339534, 0xe182ae},
+  {0x81339535, 0xe182af},
+  {0x81339536, 0xe182b0},
+  {0x81339537, 0xe182b1},
+  {0x81339538, 0xe182b2},
+  {0x81339539, 0xe182b3},
+  {0x81339630, 0xe182b4},
+  {0x81339631, 0xe182b5},
+  {0x81339632, 0xe182b6},
+  {0x81339633, 0xe182b7},
+  {0x81339634, 0xe182b8},
+  {0x81339635, 0xe182b9},
+  {0x81339636, 0xe182ba},
+  {0x81339637, 0xe182bb},
+  {0x81339638, 0xe182bc},
+  {0x81339639, 0xe182bd},
+  {0x81339730, 0xe182be},
+  {0x81339731, 0xe182bf},
+  {0x81339732, 0xe18380},
+  {0x81339733, 0xe18381},
+  {0x81339734, 0xe18382},
+  {0x81339735, 0xe18383},
+  {0x81339736, 0xe18384},
+  {0x81339737, 0xe18385},
+  {0x81339738, 0xe18386},
+  {0x81339739, 0xe18387},
+  {0x81339830, 0xe18388},
+  {0x81339831, 0xe18389},
+  {0x81339832, 0xe1838a},
+  {0x81339833, 0xe1838b},
+  {0x81339834, 0xe1838c},
+  {0x81339835, 0xe1838d},
+  {0x81339836, 0xe1838e},
+  {0x81339837, 0xe1838f},
+  {0x81339838, 0xe18390},
+  {0x81339839, 0xe18391},
+  {0x81339930, 0xe18392},
+  {0x81339931, 0xe18393},
+  {0x81339932, 0xe18394},
+  {0x81339933, 0xe18395},
+  {0x81339934, 0xe18396},
+  {0x81339935, 0xe18397},
+  {0x81339936, 0xe18398},
+  {0x81339937, 0xe18399},
+  {0x81339938, 0xe1839a},
+  {0x81339939, 0xe1839b},
+  {0x81339a30, 0xe1839c},
+  {0x81339a31, 0xe1839d},
+  {0x81339a32, 0xe1839e},
+  {0x81339a33, 0xe1839f},
+  {0x81339a34, 0xe183a0},
+  {0x81339a35, 0xe183a1},
+  {0x81339a36, 0xe183a2},
+  {0x81339a37, 0xe183a3},
+  {0x81339a38, 0xe183a4},
+  {0x81339a39, 0xe183a5},
+  {0x81339b30, 0xe183a6},
+  {0x81339b31, 0xe183a7},
+  {0x81339b32, 0xe183a8},
+  {0x81339b33, 0xe183a9},
+  {0x81339b34, 0xe183aa},
+  {0x81339b35, 0xe183ab},
+  {0x81339b36, 0xe183ac},
+  {0x81339b37, 0xe183ad},
+  {0x81339b38, 0xe183ae},
+  {0x81339b39, 0xe183af},
+  {0x81339c30, 0xe183b0},
+  {0x81339c31, 0xe183b1},
+  {0x81339c32, 0xe183b2},
+  {0x81339c33, 0xe183b3},
+  {0x81339c34, 0xe183b4},
+  {0x81339c35, 0xe183b5},
+  {0x81339c36, 0xe183b6},
+  {0x81339c37, 0xe183b7},
+  {0x81339c38, 0xe183b8},
+  {0x81339c39, 0xe183b9},
+  {0x81339d30, 0xe183ba},
+  {0x81339d31, 0xe183bb},
+  {0x81339d32, 0xe183bc},
+  {0x81339d33, 0xe183bd},
+  {0x81339d34, 0xe183be},
+  {0x81339d35, 0xe183bf},
+  {0x81339d36, 0xe18480},
+  {0x81339d37, 0xe18481},
+  {0x81339d38, 0xe18482},
+  {0x81339d39, 0xe18483},
+  {0x81339e30, 0xe18484},
+  {0x81339e31, 0xe18485},
+  {0x81339e32, 0xe18486},
+  {0x81339e33, 0xe18487},
+  {0x81339e34, 0xe18488},
+  {0x81339e35, 0xe18489},
+  {0x81339e36, 0xe1848a},
+  {0x81339e37, 0xe1848b},
+  {0x81339e38, 0xe1848c},
+  {0x81339e39, 0xe1848d},
+  {0x81339f30, 0xe1848e},
+  {0x81339f31, 0xe1848f},
+  {0x81339f32, 0xe18490},
+  {0x81339f33, 0xe18491},
+  {0x81339f34, 0xe18492},
+  {0x81339f35, 0xe18493},
+  {0x81339f36, 0xe18494},
+  {0x81339f37, 0xe18495},
+  {0x81339f38, 0xe18496},
+  {0x81339f39, 0xe18497},
+  {0x8133a030, 0xe18498},
+  {0x8133a031, 0xe18499},
+  {0x8133a032, 0xe1849a},
+  {0x8133a033, 0xe1849b},
+  {0x8133a034, 0xe1849c},
+  {0x8133a035, 0xe1849d},
+  {0x8133a036, 0xe1849e},
+  {0x8133a037, 0xe1849f},
+  {0x8133a038, 0xe184a0},
+  {0x8133a039, 0xe184a1},
+  {0x8133a130, 0xe184a2},
+  {0x8133a131, 0xe184a3},
+  {0x8133a132, 0xe184a4},
+  {0x8133a133, 0xe184a5},
+  {0x8133a134, 0xe184a6},
+  {0x8133a135, 0xe184a7},
+  {0x8133a136, 0xe184a8},
+  {0x8133a137, 0xe184a9},
+  {0x8133a138, 0xe184aa},
+  {0x8133a139, 0xe184ab},
+  {0x8133a230, 0xe184ac},
+  {0x8133a231, 0xe184ad},
+  {0x8133a232, 0xe184ae},
+  {0x8133a233, 0xe184af},
+  {0x8133a234, 0xe184b0},
+  {0x8133a235, 0xe184b1},
+  {0x8133a236, 0xe184b2},
+  {0x8133a237, 0xe184b3},
+  {0x8133a238, 0xe184b4},
+  {0x8133a239, 0xe184b5},
+  {0x8133a330, 0xe184b6},
+  {0x8133a331, 0xe184b7},
+  {0x8133a332, 0xe184b8},
+  {0x8133a333, 0xe184b9},
+  {0x8133a334, 0xe184ba},
+  {0x8133a335, 0xe184bb},
+  {0x8133a336, 0xe184bc},
+  {0x8133a337, 0xe184bd},
+  {0x8133a338, 0xe184be},
+  {0x8133a339, 0xe184bf},
+  {0x8133a430, 0xe18580},
+  {0x8133a431, 0xe18581},
+  {0x8133a432, 0xe18582},
+  {0x8133a433, 0xe18583},
+  {0x8133a434, 0xe18584},
+  {0x8133a435, 0xe18585},
+  {0x8133a436, 0xe18586},
+  {0x8133a437, 0xe18587},
+  {0x8133a438, 0xe18588},
+  {0x8133a439, 0xe18589},
+  {0x8133a530, 0xe1858a},
+  {0x8133a531, 0xe1858b},
+  {0x8133a532, 0xe1858c},
+  {0x8133a533, 0xe1858d},
+  {0x8133a534, 0xe1858e},
+  {0x8133a535, 0xe1858f},
+  {0x8133a536, 0xe18590},
+  {0x8133a537, 0xe18591},
+  {0x8133a538, 0xe18592},
+  {0x8133a539, 0xe18593},
+  {0x8133a630, 0xe18594},
+  {0x8133a631, 0xe18595},
+  {0x8133a632, 0xe18596},
+  {0x8133a633, 0xe18597},
+  {0x8133a634, 0xe18598},
+  {0x8133a635, 0xe18599},
+  {0x8133a636, 0xe1859a},
+  {0x8133a637, 0xe1859b},
+  {0x8133a638, 0xe1859c},
+  {0x8133a639, 0xe1859d},
+  {0x8133a730, 0xe1859e},
+  {0x8133a731, 0xe1859f},
+  {0x8133a732, 0xe185a0},
+  {0x8133a733, 0xe185a1},
+  {0x8133a734, 0xe185a2},
+  {0x8133a735, 0xe185a3},
+  {0x8133a736, 0xe185a4},
+  {0x8133a737, 0xe185a5},
+  {0x8133a738, 0xe185a6},
+  {0x8133a739, 0xe185a7},
+  {0x8133a830, 0xe185a8},
+  {0x8133a831, 0xe185a9},
+  {0x8133a832, 0xe185aa},
+  {0x8133a833, 0xe185ab},
+  {0x8133a834, 0xe185ac},
+  {0x8133a835, 0xe185ad},
+  {0x8133a836, 0xe185ae},
+  {0x8133a837, 0xe185af},
+  {0x8133a838, 0xe185b0},
+  {0x8133a839, 0xe185b1},
+  {0x8133a930, 0xe185b2},
+  {0x8133a931, 0xe185b3},
+  {0x8133a932, 0xe185b4},
+  {0x8133a933, 0xe185b5},
+  {0x8133a934, 0xe185b6},
+  {0x8133a935, 0xe185b7},
+  {0x8133a936, 0xe185b8},
+  {0x8133a937, 0xe185b9},
+  {0x8133a938, 0xe185ba},
+  {0x8133a939, 0xe185bb},
+  {0x8133aa30, 0xe185bc},
+  {0x8133aa31, 0xe185bd},
+  {0x8133aa32, 0xe185be},
+  {0x8133aa33, 0xe185bf},
+  {0x8133aa34, 0xe18680},
+  {0x8133aa35, 0xe18681},
+  {0x8133aa36, 0xe18682},
+  {0x8133aa37, 0xe18683},
+  {0x8133aa38, 0xe18684},
+  {0x8133aa39, 0xe18685},
+  {0x8133ab30, 0xe18686},
+  {0x8133ab31, 0xe18687},
+  {0x8133ab32, 0xe18688},
+  {0x8133ab33, 0xe18689},
+  {0x8133ab34, 0xe1868a},
+  {0x8133ab35, 0xe1868b},
+  {0x8133ab36, 0xe1868c},
+  {0x8133ab37, 0xe1868d},
+  {0x8133ab38, 0xe1868e},
+  {0x8133ab39, 0xe1868f},
+  {0x8133ac30, 0xe18690},
+  {0x8133ac31, 0xe18691},
+  {0x8133ac32, 0xe18692},
+  {0x8133ac33, 0xe18693},
+  {0x8133ac34, 0xe18694},
+  {0x8133ac35, 0xe18695},
+  {0x8133ac36, 0xe18696},
+  {0x8133ac37, 0xe18697},
+  {0x8133ac38, 0xe18698},
+  {0x8133ac39, 0xe18699},
+  {0x8133ad30, 0xe1869a},
+  {0x8133ad31, 0xe1869b},
+  {0x8133ad32, 0xe1869c},
+  {0x8133ad33, 0xe1869d},
+  {0x8133ad34, 0xe1869e},
+  {0x8133ad35, 0xe1869f},
+  {0x8133ad36, 0xe186a0},
+  {0x8133ad37, 0xe186a1},
+  {0x8133ad38, 0xe186a2},
+  {0x8133ad39, 0xe186a3},
+  {0x8133ae30, 0xe186a4},
+  {0x8133ae31, 0xe186a5},
+  {0x8133ae32, 0xe186a6},
+  {0x8133ae33, 0xe186a7},
+  {0x8133ae34, 0xe186a8},
+  {0x8133ae35, 0xe186a9},
+  {0x8133ae36, 0xe186aa},
+  {0x8133ae37, 0xe186ab},
+  {0x8133ae38, 0xe186ac},
+  {0x8133ae39, 0xe186ad},
+  {0x8133af30, 0xe186ae},
+  {0x8133af31, 0xe186af},
+  {0x8133af32, 0xe186b0},
+  {0x8133af33, 0xe186b1},
+  {0x8133af34, 0xe186b2},
+  {0x8133af35, 0xe186b3},
+  {0x8133af36, 0xe186b4},
+  {0x8133af37, 0xe186b5},
+  {0x8133af38, 0xe186b6},
+  {0x8133af39, 0xe186b7},
+  {0x8133b030, 0xe186b8},
+  {0x8133b031, 0xe186b9},
+  {0x8133b032, 0xe186ba},
+  {0x8133b033, 0xe186bb},
+  {0x8133b034, 0xe186bc},
+  {0x8133b035, 0xe186bd},
+  {0x8133b036, 0xe186be},
+  {0x8133b037, 0xe186bf},
+  {0x8133b038, 0xe18780},
+  {0x8133b039, 0xe18781},
+  {0x8133b130, 0xe18782},
+  {0x8133b131, 0xe18783},
+  {0x8133b132, 0xe18784},
+  {0x8133b133, 0xe18785},
+  {0x8133b134, 0xe18786},
+  {0x8133b135, 0xe18787},
+  {0x8133b136, 0xe18788},
+  {0x8133b137, 0xe18789},
+  {0x8133b138, 0xe1878a},
+  {0x8133b139, 0xe1878b},
+  {0x8133b230, 0xe1878c},
+  {0x8133b231, 0xe1878d},
+  {0x8133b232, 0xe1878e},
+  {0x8133b233, 0xe1878f},
+  {0x8133b234, 0xe18790},
+  {0x8133b235, 0xe18791},
+  {0x8133b236, 0xe18792},
+  {0x8133b237, 0xe18793},
+  {0x8133b238, 0xe18794},
+  {0x8133b239, 0xe18795},
+  {0x8133b330, 0xe18796},
+  {0x8133b331, 0xe18797},
+  {0x8133b332, 0xe18798},
+  {0x8133b333, 0xe18799},
+  {0x8133b334, 0xe1879a},
+  {0x8133b335, 0xe1879b},
+  {0x8133b336, 0xe1879c},
+  {0x8133b337, 0xe1879d},
+  {0x8133b338, 0xe1879e},
+  {0x8133b339, 0xe1879f},
+  {0x8133b430, 0xe187a0},
+  {0x8133b431, 0xe187a1},
+  {0x8133b432, 0xe187a2},
+  {0x8133b433, 0xe187a3},
+  {0x8133b434, 0xe187a4},
+  {0x8133b435, 0xe187a5},
+  {0x8133b436, 0xe187a6},
+  {0x8133b437, 0xe187a7},
+  {0x8133b438, 0xe187a8},
+  {0x8133b439, 0xe187a9},
+  {0x8133b530, 0xe187aa},
+  {0x8133b531, 0xe187ab},
+  {0x8133b532, 0xe187ac},
+  {0x8133b533, 0xe187ad},
+  {0x8133b534, 0xe187ae},
+  {0x8133b535, 0xe187af},
+  {0x8133b536, 0xe187b0},
+  {0x8133b537, 0xe187b1},
+  {0x8133b538, 0xe187b2},
+  {0x8133b539, 0xe187b3},
+  {0x8133b630, 0xe187b4},
+  {0x8133b631, 0xe187b5},
+  {0x8133b632, 0xe187b6},
+  {0x8133b633, 0xe187b7},
+  {0x8133b634, 0xe187b8},
+  {0x8133b635, 0xe187b9},
+  {0x8133b636, 0xe187ba},
+  {0x8133b637, 0xe187bb},
+  {0x8133b638, 0xe187bc},
+  {0x8133b639, 0xe187bd},
+  {0x8133b730, 0xe187be},
+  {0x8133b731, 0xe187bf},
+  {0x8133b732, 0xe18880},
+  {0x8133b733, 0xe18881},
+  {0x8133b734, 0xe18882},
+  {0x8133b735, 0xe18883},
+  {0x8133b736, 0xe18884},
+  {0x8133b737, 0xe18885},
+  {0x8133b738, 0xe18886},
+  {0x8133b739, 0xe18887},
+  {0x8133b830, 0xe18888},
+  {0x8133b831, 0xe18889},
+  {0x8133b832, 0xe1888a},
+  {0x8133b833, 0xe1888b},
+  {0x8133b834, 0xe1888c},
+  {0x8133b835, 0xe1888d},
+  {0x8133b836, 0xe1888e},
+  {0x8133b837, 0xe1888f},
+  {0x8133b838, 0xe18890},
+  {0x8133b839, 0xe18891},
+  {0x8133b930, 0xe18892},
+  {0x8133b931, 0xe18893},
+  {0x8133b932, 0xe18894},
+  {0x8133b933, 0xe18895},
+  {0x8133b934, 0xe18896},
+  {0x8133b935, 0xe18897},
+  {0x8133b936, 0xe18898},
+  {0x8133b937, 0xe18899},
+  {0x8133b938, 0xe1889a},
+  {0x8133b939, 0xe1889b},
+  {0x8133ba30, 0xe1889c},
+  {0x8133ba31, 0xe1889d},
+  {0x8133ba32, 0xe1889e},
+  {0x8133ba33, 0xe1889f},
+  {0x8133ba34, 0xe188a0},
+  {0x8133ba35, 0xe188a1},
+  {0x8133ba36, 0xe188a2},
+  {0x8133ba37, 0xe188a3},
+  {0x8133ba38, 0xe188a4},
+  {0x8133ba39, 0xe188a5},
+  {0x8133bb30, 0xe188a6},
+  {0x8133bb31, 0xe188a7},
+  {0x8133bb32, 0xe188a8},
+  {0x8133bb33, 0xe188a9},
+  {0x8133bb34, 0xe188aa},
+  {0x8133bb35, 0xe188ab},
+  {0x8133bb36, 0xe188ac},
+  {0x8133bb37, 0xe188ad},
+  {0x8133bb38, 0xe188ae},
+  {0x8133bb39, 0xe188af},
+  {0x8133bc30, 0xe188b0},
+  {0x8133bc31, 0xe188b1},
+  {0x8133bc32, 0xe188b2},
+  {0x8133bc33, 0xe188b3},
+  {0x8133bc34, 0xe188b4},
+  {0x8133bc35, 0xe188b5},
+  {0x8133bc36, 0xe188b6},
+  {0x8133bc37, 0xe188b7},
+  {0x8133bc38, 0xe188b8},
+  {0x8133bc39, 0xe188b9},
+  {0x8133bd30, 0xe188ba},
+  {0x8133bd31, 0xe188bb},
+  {0x8133bd32, 0xe188bc},
+  {0x8133bd33, 0xe188bd},
+  {0x8133bd34, 0xe188be},
+  {0x8133bd35, 0xe188bf},
+  {0x8133bd36, 0xe18980},
+  {0x8133bd37, 0xe18981},
+  {0x8133bd38, 0xe18982},
+  {0x8133bd39, 0xe18983},
+  {0x8133be30, 0xe18984},
+  {0x8133be31, 0xe18985},
+  {0x8133be32, 0xe18986},
+  {0x8133be33, 0xe18987},
+  {0x8133be34, 0xe18988},
+  {0x8133be35, 0xe18989},
+  {0x8133be36, 0xe1898a},
+  {0x8133be37, 0xe1898b},
+  {0x8133be38, 0xe1898c},
+  {0x8133be39, 0xe1898d},
+  {0x8133bf30, 0xe1898e},
+  {0x8133bf31, 0xe1898f},
+  {0x8133bf32, 0xe18990},
+  {0x8133bf33, 0xe18991},
+  {0x8133bf34, 0xe18992},
+  {0x8133bf35, 0xe18993},
+  {0x8133bf36, 0xe18994},
+  {0x8133bf37, 0xe18995},
+  {0x8133bf38, 0xe18996},
+  {0x8133bf39, 0xe18997},
+  {0x8133c030, 0xe18998},
+  {0x8133c031, 0xe18999},
+  {0x8133c032, 0xe1899a},
+  {0x8133c033, 0xe1899b},
+  {0x8133c034, 0xe1899c},
+  {0x8133c035, 0xe1899d},
+  {0x8133c036, 0xe1899e},
+  {0x8133c037, 0xe1899f},
+  {0x8133c038, 0xe189a0},
+  {0x8133c039, 0xe189a1},
+  {0x8133c130, 0xe189a2},
+  {0x8133c131, 0xe189a3},
+  {0x8133c132, 0xe189a4},
+  {0x8133c133, 0xe189a5},
+  {0x8133c134, 0xe189a6},
+  {0x8133c135, 0xe189a7},
+  {0x8133c136, 0xe189a8},
+  {0x8133c137, 0xe189a9},
+  {0x8133c138, 0xe189aa},
+  {0x8133c139, 0xe189ab},
+  {0x8133c230, 0xe189ac},
+  {0x8133c231, 0xe189ad},
+  {0x8133c232, 0xe189ae},
+  {0x8133c233, 0xe189af},
+  {0x8133c234, 0xe189b0},
+  {0x8133c235, 0xe189b1},
+  {0x8133c236, 0xe189b2},
+  {0x8133c237, 0xe189b3},
+  {0x8133c238, 0xe189b4},
+  {0x8133c239, 0xe189b5},
+  {0x8133c330, 0xe189b6},
+  {0x8133c331, 0xe189b7},
+  {0x8133c332, 0xe189b8},
+  {0x8133c333, 0xe189b9},
+  {0x8133c334, 0xe189ba},
+  {0x8133c335, 0xe189bb},
+  {0x8133c336, 0xe189bc},
+  {0x8133c337, 0xe189bd},
+  {0x8133c338, 0xe189be},
+  {0x8133c339, 0xe189bf},
+  {0x8133c430, 0xe18a80},
+  {0x8133c431, 0xe18a81},
+  {0x8133c432, 0xe18a82},
+  {0x8133c433, 0xe18a83},
+  {0x8133c434, 0xe18a84},
+  {0x8133c435, 0xe18a85},
+  {0x8133c436, 0xe18a86},
+  {0x8133c437, 0xe18a87},
+  {0x8133c438, 0xe18a88},
+  {0x8133c439, 0xe18a89},
+  {0x8133c530, 0xe18a8a},
+  {0x8133c531, 0xe18a8b},
+  {0x8133c532, 0xe18a8c},
+  {0x8133c533, 0xe18a8d},
+  {0x8133c534, 0xe18a8e},
+  {0x8133c535, 0xe18a8f},
+  {0x8133c536, 0xe18a90},
+  {0x8133c537, 0xe18a91},
+  {0x8133c538, 0xe18a92},
+  {0x8133c539, 0xe18a93},
+  {0x8133c630, 0xe18a94},
+  {0x8133c631, 0xe18a95},
+  {0x8133c632, 0xe18a96},
+  {0x8133c633, 0xe18a97},
+  {0x8133c634, 0xe18a98},
+  {0x8133c635, 0xe18a99},
+  {0x8133c636, 0xe18a9a},
+  {0x8133c637, 0xe18a9b},
+  {0x8133c638, 0xe18a9c},
+  {0x8133c639, 0xe18a9d},
+  {0x8133c730, 0xe18a9e},
+  {0x8133c731, 0xe18a9f},
+  {0x8133c732, 0xe18aa0},
+  {0x8133c733, 0xe18aa1},
+  {0x8133c734, 0xe18aa2},
+  {0x8133c735, 0xe18aa3},
+  {0x8133c736, 0xe18aa4},
+  {0x8133c737, 0xe18aa5},
+  {0x8133c738, 0xe18aa6},
+  {0x8133c739, 0xe18aa7},
+  {0x8133c830, 0xe18aa8},
+  {0x8133c831, 0xe18aa9},
+  {0x8133c832, 0xe18aaa},
+  {0x8133c833, 0xe18aab},
+  {0x8133c834, 0xe18aac},
+  {0x8133c835, 0xe18aad},
+  {0x8133c836, 0xe18aae},
+  {0x8133c837, 0xe18aaf},
+  {0x8133c838, 0xe18ab0},
+  {0x8133c839, 0xe18ab1},
+  {0x8133c930, 0xe18ab2},
+  {0x8133c931, 0xe18ab3},
+  {0x8133c932, 0xe18ab4},
+  {0x8133c933, 0xe18ab5},
+  {0x8133c934, 0xe18ab6},
+  {0x8133c935, 0xe18ab7},
+  {0x8133c936, 0xe18ab8},
+  {0x8133c937, 0xe18ab9},
+  {0x8133c938, 0xe18aba},
+  {0x8133c939, 0xe18abb},
+  {0x8133ca30, 0xe18abc},
+  {0x8133ca31, 0xe18abd},
+  {0x8133ca32, 0xe18abe},
+  {0x8133ca33, 0xe18abf},
+  {0x8133ca34, 0xe18b80},
+  {0x8133ca35, 0xe18b81},
+  {0x8133ca36, 0xe18b82},
+  {0x8133ca37, 0xe18b83},
+  {0x8133ca38, 0xe18b84},
+  {0x8133ca39, 0xe18b85},
+  {0x8133cb30, 0xe18b86},
+  {0x8133cb31, 0xe18b87},
+  {0x8133cb32, 0xe18b88},
+  {0x8133cb33, 0xe18b89},
+  {0x8133cb34, 0xe18b8a},
+  {0x8133cb35, 0xe18b8b},
+  {0x8133cb36, 0xe18b8c},
+  {0x8133cb37, 0xe18b8d},
+  {0x8133cb38, 0xe18b8e},
+  {0x8133cb39, 0xe18b8f},
+  {0x8133cc30, 0xe18b90},
+  {0x8133cc31, 0xe18b91},
+  {0x8133cc32, 0xe18b92},
+  {0x8133cc33, 0xe18b93},
+  {0x8133cc34, 0xe18b94},
+  {0x8133cc35, 0xe18b95},
+  {0x8133cc36, 0xe18b96},
+  {0x8133cc37, 0xe18b97},
+  {0x8133cc38, 0xe18b98},
+  {0x8133cc39, 0xe18b99},
+  {0x8133cd30, 0xe18b9a},
+  {0x8133cd31, 0xe18b9b},
+  {0x8133cd32, 0xe18b9c},
+  {0x8133cd33, 0xe18b9d},
+  {0x8133cd34, 0xe18b9e},
+  {0x8133cd35, 0xe18b9f},
+  {0x8133cd36, 0xe18ba0},
+  {0x8133cd37, 0xe18ba1},
+  {0x8133cd38, 0xe18ba2},
+  {0x8133cd39, 0xe18ba3},
+  {0x8133ce30, 0xe18ba4},
+  {0x8133ce31, 0xe18ba5},
+  {0x8133ce32, 0xe18ba6},
+  {0x8133ce33, 0xe18ba7},
+  {0x8133ce34, 0xe18ba8},
+  {0x8133ce35, 0xe18ba9},
+  {0x8133ce36, 0xe18baa},
+  {0x8133ce37, 0xe18bab},
+  {0x8133ce38, 0xe18bac},
+  {0x8133ce39, 0xe18bad},
+  {0x8133cf30, 0xe18bae},
+  {0x8133cf31, 0xe18baf},
+  {0x8133cf32, 0xe18bb0},
+  {0x8133cf33, 0xe18bb1},
+  {0x8133cf34, 0xe18bb2},
+  {0x8133cf35, 0xe18bb3},
+  {0x8133cf36, 0xe18bb4},
+  {0x8133cf37, 0xe18bb5},
+  {0x8133cf38, 0xe18bb6},
+  {0x8133cf39, 0xe18bb7},
+  {0x8133d030, 0xe18bb8},
+  {0x8133d031, 0xe18bb9},
+  {0x8133d032, 0xe18bba},
+  {0x8133d033, 0xe18bbb},
+  {0x8133d034, 0xe18bbc},
+  {0x8133d035, 0xe18bbd},
+  {0x8133d036, 0xe18bbe},
+  {0x8133d037, 0xe18bbf},
+  {0x8133d038, 0xe18c80},
+  {0x8133d039, 0xe18c81},
+  {0x8133d130, 0xe18c82},
+  {0x8133d131, 0xe18c83},
+  {0x8133d132, 0xe18c84},
+  {0x8133d133, 0xe18c85},
+  {0x8133d134, 0xe18c86},
+  {0x8133d135, 0xe18c87},
+  {0x8133d136, 0xe18c88},
+  {0x8133d137, 0xe18c89},
+  {0x8133d138, 0xe18c8a},
+  {0x8133d139, 0xe18c8b},
+  {0x8133d230, 0xe18c8c},
+  {0x8133d231, 0xe18c8d},
+  {0x8133d232, 0xe18c8e},
+  {0x8133d233, 0xe18c8f},
+  {0x8133d234, 0xe18c90},
+  {0x8133d235, 0xe18c91},
+  {0x8133d236, 0xe18c92},
+  {0x8133d237, 0xe18c93},
+  {0x8133d238, 0xe18c94},
+  {0x8133d239, 0xe18c95},
+  {0x8133d330, 0xe18c96},
+  {0x8133d331, 0xe18c97},
+  {0x8133d332, 0xe18c98},
+  {0x8133d333, 0xe18c99},
+  {0x8133d334, 0xe18c9a},
+  {0x8133d335, 0xe18c9b},
+  {0x8133d336, 0xe18c9c},
+  {0x8133d337, 0xe18c9d},
+  {0x8133d338, 0xe18c9e},
+  {0x8133d339, 0xe18c9f},
+  {0x8133d430, 0xe18ca0},
+  {0x8133d431, 0xe18ca1},
+  {0x8133d432, 0xe18ca2},
+  {0x8133d433, 0xe18ca3},
+  {0x8133d434, 0xe18ca4},
+  {0x8133d435, 0xe18ca5},
+  {0x8133d436, 0xe18ca6},
+  {0x8133d437, 0xe18ca7},
+  {0x8133d438, 0xe18ca8},
+  {0x8133d439, 0xe18ca9},
+  {0x8133d530, 0xe18caa},
+  {0x8133d531, 0xe18cab},
+  {0x8133d532, 0xe18cac},
+  {0x8133d533, 0xe18cad},
+  {0x8133d534, 0xe18cae},
+  {0x8133d535, 0xe18caf},
+  {0x8133d536, 0xe18cb0},
+  {0x8133d537, 0xe18cb1},
+  {0x8133d538, 0xe18cb2},
+  {0x8133d539, 0xe18cb3},
+  {0x8133d630, 0xe18cb4},
+  {0x8133d631, 0xe18cb5},
+  {0x8133d632, 0xe18cb6},
+  {0x8133d633, 0xe18cb7},
+  {0x8133d634, 0xe18cb8},
+  {0x8133d635, 0xe18cb9},
+  {0x8133d636, 0xe18cba},
+  {0x8133d637, 0xe18cbb},
+  {0x8133d638, 0xe18cbc},
+  {0x8133d639, 0xe18cbd},
+  {0x8133d730, 0xe18cbe},
+  {0x8133d731, 0xe18cbf},
+  {0x8133d732, 0xe18d80},
+  {0x8133d733, 0xe18d81},
+  {0x8133d734, 0xe18d82},
+  {0x8133d735, 0xe18d83},
+  {0x8133d736, 0xe18d84},
+  {0x8133d737, 0xe18d85},
+  {0x8133d738, 0xe18d86},
+  {0x8133d739, 0xe18d87},
+  {0x8133d830, 0xe18d88},
+  {0x8133d831, 0xe18d89},
+  {0x8133d832, 0xe18d8a},
+  {0x8133d833, 0xe18d8b},
+  {0x8133d834, 0xe18d8c},
+  {0x8133d835, 0xe18d8d},
+  {0x8133d836, 0xe18d8e},
+  {0x8133d837, 0xe18d8f},
+  {0x8133d838, 0xe18d90},
+  {0x8133d839, 0xe18d91},
+  {0x8133d930, 0xe18d92},
+  {0x8133d931, 0xe18d93},
+  {0x8133d932, 0xe18d94},
+  {0x8133d933, 0xe18d95},
+  {0x8133d934, 0xe18d96},
+  {0x8133d935, 0xe18d97},
+  {0x8133d936, 0xe18d98},
+  {0x8133d937, 0xe18d99},
+  {0x8133d938, 0xe18d9a},
+  {0x8133d939, 0xe18d9b},
+  {0x8133da30, 0xe18d9c},
+  {0x8133da31, 0xe18d9d},
+  {0x8133da32, 0xe18d9e},
+  {0x8133da33, 0xe18d9f},
+  {0x8133da34, 0xe18da0},
+  {0x8133da35, 0xe18da1},
+  {0x8133da36, 0xe18da2},
+  {0x8133da37, 0xe18da3},
+  {0x8133da38, 0xe18da4},
+  {0x8133da39, 0xe18da5},
+  {0x8133db30, 0xe18da6},
+  {0x8133db31, 0xe18da7},
+  {0x8133db32, 0xe18da8},
+  {0x8133db33, 0xe18da9},
+  {0x8133db34, 0xe18daa},
+  {0x8133db35, 0xe18dab},
+  {0x8133db36, 0xe18dac},
+  {0x8133db37, 0xe18dad},
+  {0x8133db38, 0xe18dae},
+  {0x8133db39, 0xe18daf},
+  {0x8133dc30, 0xe18db0},
+  {0x8133dc31, 0xe18db1},
+  {0x8133dc32, 0xe18db2},
+  {0x8133dc33, 0xe18db3},
+  {0x8133dc34, 0xe18db4},
+  {0x8133dc35, 0xe18db5},
+  {0x8133dc36, 0xe18db6},
+  {0x8133dc37, 0xe18db7},
+  {0x8133dc38, 0xe18db8},
+  {0x8133dc39, 0xe18db9},
+  {0x8133dd30, 0xe18dba},
+  {0x8133dd31, 0xe18dbb},
+  {0x8133dd32, 0xe18dbc},
+  {0x8133dd33, 0xe18dbd},
+  {0x8133dd34, 0xe18dbe},
+  {0x8133dd35, 0xe18dbf},
+  {0x8133dd36, 0xe18e80},
+  {0x8133dd37, 0xe18e81},
+  {0x8133dd38, 0xe18e82},
+  {0x8133dd39, 0xe18e83},
+  {0x8133de30, 0xe18e84},
+  {0x8133de31, 0xe18e85},
+  {0x8133de32, 0xe18e86},
+  {0x8133de33, 0xe18e87},
+  {0x8133de34, 0xe18e88},
+  {0x8133de35, 0xe18e89},
+  {0x8133de36, 0xe18e8a},
+  {0x8133de37, 0xe18e8b},
+  {0x8133de38, 0xe18e8c},
+  {0x8133de39, 0xe18e8d},
+  {0x8133df30, 0xe18e8e},
+  {0x8133df31, 0xe18e8f},
+  {0x8133df32, 0xe18e90},
+  {0x8133df33, 0xe18e91},
+  {0x8133df34, 0xe18e92},
+  {0x8133df35, 0xe18e93},
+  {0x8133df36, 0xe18e94},
+  {0x8133df37, 0xe18e95},
+  {0x8133df38, 0xe18e96},
+  {0x8133df39, 0xe18e97},
+  {0x8133e030, 0xe18e98},
+  {0x8133e031, 0xe18e99},
+  {0x8133e032, 0xe18e9a},
+  {0x8133e033, 0xe18e9b},
+  {0x8133e034, 0xe18e9c},
+  {0x8133e035, 0xe18e9d},
+  {0x8133e036, 0xe18e9e},
+  {0x8133e037, 0xe18e9f},
+  {0x8133e038, 0xe18ea0},
+  {0x8133e039, 0xe18ea1},
+  {0x8133e130, 0xe18ea2},
+  {0x8133e131, 0xe18ea3},
+  {0x8133e132, 0xe18ea4},
+  {0x8133e133, 0xe18ea5},
+  {0x8133e134, 0xe18ea6},
+  {0x8133e135, 0xe18ea7},
+  {0x8133e136, 0xe18ea8},
+  {0x8133e137, 0xe18ea9},
+  {0x8133e138, 0xe18eaa},
+  {0x8133e139, 0xe18eab},
+  {0x8133e230, 0xe18eac},
+  {0x8133e231, 0xe18ead},
+  {0x8133e232, 0xe18eae},
+  {0x8133e233, 0xe18eaf},
+  {0x8133e234, 0xe18eb0},
+  {0x8133e235, 0xe18eb1},
+  {0x8133e236, 0xe18eb2},
+  {0x8133e237, 0xe18eb3},
+  {0x8133e238, 0xe18eb4},
+  {0x8133e239, 0xe18eb5},
+  {0x8133e330, 0xe18eb6},
+  {0x8133e331, 0xe18eb7},
+  {0x8133e332, 0xe18eb8},
+  {0x8133e333, 0xe18eb9},
+  {0x8133e334, 0xe18eba},
+  {0x8133e335, 0xe18ebb},
+  {0x8133e336, 0xe18ebc},
+  {0x8133e337, 0xe18ebd},
+  {0x8133e338, 0xe18ebe},
+  {0x8133e339, 0xe18ebf},
+  {0x8133e430, 0xe18f80},
+  {0x8133e431, 0xe18f81},
+  {0x8133e432, 0xe18f82},
+  {0x8133e433, 0xe18f83},
+  {0x8133e434, 0xe18f84},
+  {0x8133e435, 0xe18f85},
+  {0x8133e436, 0xe18f86},
+  {0x8133e437, 0xe18f87},
+  {0x8133e438, 0xe18f88},
+  {0x8133e439, 0xe18f89},
+  {0x8133e530, 0xe18f8a},
+  {0x8133e531, 0xe18f8b},
+  {0x8133e532, 0xe18f8c},
+  {0x8133e533, 0xe18f8d},
+  {0x8133e534, 0xe18f8e},
+  {0x8133e535, 0xe18f8f},
+  {0x8133e536, 0xe18f90},
+  {0x8133e537, 0xe18f91},
+  {0x8133e538, 0xe18f92},
+  {0x8133e539, 0xe18f93},
+  {0x8133e630, 0xe18f94},
+  {0x8133e631, 0xe18f95},
+  {0x8133e632, 0xe18f96},
+  {0x8133e633, 0xe18f97},
+  {0x8133e634, 0xe18f98},
+  {0x8133e635, 0xe18f99},
+  {0x8133e636, 0xe18f9a},
+  {0x8133e637, 0xe18f9b},
+  {0x8133e638, 0xe18f9c},
+  {0x8133e639, 0xe18f9d},
+  {0x8133e730, 0xe18f9e},
+  {0x8133e731, 0xe18f9f},
+  {0x8133e732, 0xe18fa0},
+  {0x8133e733, 0xe18fa1},
+  {0x8133e734, 0xe18fa2},
+  {0x8133e735, 0xe18fa3},
+  {0x8133e736, 0xe18fa4},
+  {0x8133e737, 0xe18fa5},
+  {0x8133e738, 0xe18fa6},
+  {0x8133e739, 0xe18fa7},
+  {0x8133e830, 0xe18fa8},
+  {0x8133e831, 0xe18fa9},
+  {0x8133e832, 0xe18faa},
+  {0x8133e833, 0xe18fab},
+  {0x8133e834, 0xe18fac},
+  {0x8133e835, 0xe18fad},
+  {0x8133e836, 0xe18fae},
+  {0x8133e837, 0xe18faf},
+  {0x8133e838, 0xe18fb0},
+  {0x8133e839, 0xe18fb1},
+  {0x8133e930, 0xe18fb2},
+  {0x8133e931, 0xe18fb3},
+  {0x8133e932, 0xe18fb4},
+  {0x8133e933, 0xe18fb5},
+  {0x8133e934, 0xe18fb6},
+  {0x8133e935, 0xe18fb7},
+  {0x8133e936, 0xe18fb8},
+  {0x8133e937, 0xe18fb9},
+  {0x8133e938, 0xe18fba},
+  {0x8133e939, 0xe18fbb},
+  {0x8133ea30, 0xe18fbc},
+  {0x8133ea31, 0xe18fbd},
+  {0x8133ea32, 0xe18fbe},
+  {0x8133ea33, 0xe18fbf},
+  {0x8133ea34, 0xe19080},
+  {0x8133ea35, 0xe19081},
+  {0x8133ea36, 0xe19082},
+  {0x8133ea37, 0xe19083},
+  {0x8133ea38, 0xe19084},
+  {0x8133ea39, 0xe19085},
+  {0x8133eb30, 0xe19086},
+  {0x8133eb31, 0xe19087},
+  {0x8133eb32, 0xe19088},
+  {0x8133eb33, 0xe19089},
+  {0x8133eb34, 0xe1908a},
+  {0x8133eb35, 0xe1908b},
+  {0x8133eb36, 0xe1908c},
+  {0x8133eb37, 0xe1908d},
+  {0x8133eb38, 0xe1908e},
+  {0x8133eb39, 0xe1908f},
+  {0x8133ec30, 0xe19090},
+  {0x8133ec31, 0xe19091},
+  {0x8133ec32, 0xe19092},
+  {0x8133ec33, 0xe19093},
+  {0x8133ec34, 0xe19094},
+  {0x8133ec35, 0xe19095},
+  {0x8133ec36, 0xe19096},
+  {0x8133ec37, 0xe19097},
+  {0x8133ec38, 0xe19098},
+  {0x8133ec39, 0xe19099},
+  {0x8133ed30, 0xe1909a},
+  {0x8133ed31, 0xe1909b},
+  {0x8133ed32, 0xe1909c},
+  {0x8133ed33, 0xe1909d},
+  {0x8133ed34, 0xe1909e},
+  {0x8133ed35, 0xe1909f},
+  {0x8133ed36, 0xe190a0},
+  {0x8133ed37, 0xe190a1},
+  {0x8133ed38, 0xe190a2},
+  {0x8133ed39, 0xe190a3},
+  {0x8133ee30, 0xe190a4},
+  {0x8133ee31, 0xe190a5},
+  {0x8133ee32, 0xe190a6},
+  {0x8133ee33, 0xe190a7},
+  {0x8133ee34, 0xe190a8},
+  {0x8133ee35, 0xe190a9},
+  {0x8133ee36, 0xe190aa},
+  {0x8133ee37, 0xe190ab},
+  {0x8133ee38, 0xe190ac},
+  {0x8133ee39, 0xe190ad},
+  {0x8133ef30, 0xe190ae},
+  {0x8133ef31, 0xe190af},
+  {0x8133ef32, 0xe190b0},
+  {0x8133ef33, 0xe190b1},
+  {0x8133ef34, 0xe190b2},
+  {0x8133ef35, 0xe190b3},
+  {0x8133ef36, 0xe190b4},
+  {0x8133ef37, 0xe190b5},
+  {0x8133ef38, 0xe190b6},
+  {0x8133ef39, 0xe190b7},
+  {0x8133f030, 0xe190b8},
+  {0x8133f031, 0xe190b9},
+  {0x8133f032, 0xe190ba},
+  {0x8133f033, 0xe190bb},
+  {0x8133f034, 0xe190bc},
+  {0x8133f035, 0xe190bd},
+  {0x8133f036, 0xe190be},
+  {0x8133f037, 0xe190bf},
+  {0x8133f038, 0xe19180},
+  {0x8133f039, 0xe19181},
+  {0x8133f130, 0xe19182},
+  {0x8133f131, 0xe19183},
+  {0x8133f132, 0xe19184},
+  {0x8133f133, 0xe19185},
+  {0x8133f134, 0xe19186},
+  {0x8133f135, 0xe19187},
+  {0x8133f136, 0xe19188},
+  {0x8133f137, 0xe19189},
+  {0x8133f138, 0xe1918a},
+  {0x8133f139, 0xe1918b},
+  {0x8133f230, 0xe1918c},
+  {0x8133f231, 0xe1918d},
+  {0x8133f232, 0xe1918e},
+  {0x8133f233, 0xe1918f},
+  {0x8133f234, 0xe19190},
+  {0x8133f235, 0xe19191},
+  {0x8133f236, 0xe19192},
+  {0x8133f237, 0xe19193},
+  {0x8133f238, 0xe19194},
+  {0x8133f239, 0xe19195},
+  {0x8133f330, 0xe19196},
+  {0x8133f331, 0xe19197},
+  {0x8133f332, 0xe19198},
+  {0x8133f333, 0xe19199},
+  {0x8133f334, 0xe1919a},
+  {0x8133f335, 0xe1919b},
+  {0x8133f336, 0xe1919c},
+  {0x8133f337, 0xe1919d},
+  {0x8133f338, 0xe1919e},
+  {0x8133f339, 0xe1919f},
+  {0x8133f430, 0xe191a0},
+  {0x8133f431, 0xe191a1},
+  {0x8133f432, 0xe191a2},
+  {0x8133f433, 0xe191a3},
+  {0x8133f434, 0xe191a4},
+  {0x8133f435, 0xe191a5},
+  {0x8133f436, 0xe191a6},
+  {0x8133f437, 0xe191a7},
+  {0x8133f438, 0xe191a8},
+  {0x8133f439, 0xe191a9},
+  {0x8133f530, 0xe191aa},
+  {0x8133f531, 0xe191ab},
+  {0x8133f532, 0xe191ac},
+  {0x8133f533, 0xe191ad},
+  {0x8133f534, 0xe191ae},
+  {0x8133f535, 0xe191af},
+  {0x8133f536, 0xe191b0},
+  {0x8133f537, 0xe191b1},
+  {0x8133f538, 0xe191b2},
+  {0x8133f539, 0xe191b3},
+  {0x8133f630, 0xe191b4},
+  {0x8133f631, 0xe191b5},
+  {0x8133f632, 0xe191b6},
+  {0x8133f633, 0xe191b7},
+  {0x8133f634, 0xe191b8},
+  {0x8133f635, 0xe191b9},
+  {0x8133f636, 0xe191ba},
+  {0x8133f637, 0xe191bb},
+  {0x8133f638, 0xe191bc},
+  {0x8133f639, 0xe191bd},
+  {0x8133f730, 0xe191be},
+  {0x8133f731, 0xe191bf},
+  {0x8133f732, 0xe19280},
+  {0x8133f733, 0xe19281},
+  {0x8133f734, 0xe19282},
+  {0x8133f735, 0xe19283},
+  {0x8133f736, 0xe19284},
+  {0x8133f737, 0xe19285},
+  {0x8133f738, 0xe19286},
+  {0x8133f739, 0xe19287},
+  {0x8133f830, 0xe19288},
+  {0x8133f831, 0xe19289},
+  {0x8133f832, 0xe1928a},
+  {0x8133f833, 0xe1928b},
+  {0x8133f834, 0xe1928c},
+  {0x8133f835, 0xe1928d},
+  {0x8133f836, 0xe1928e},
+  {0x8133f837, 0xe1928f},
+  {0x8133f838, 0xe19290},
+  {0x8133f839, 0xe19291},
+  {0x8133f930, 0xe19292},
+  {0x8133f931, 0xe19293},
+  {0x8133f932, 0xe19294},
+  {0x8133f933, 0xe19295},
+  {0x8133f934, 0xe19296},
+  {0x8133f935, 0xe19297},
+  {0x8133f936, 0xe19298},
+  {0x8133f937, 0xe19299},
+  {0x8133f938, 0xe1929a},
+  {0x8133f939, 0xe1929b},
+  {0x8133fa30, 0xe1929c},
+  {0x8133fa31, 0xe1929d},
+  {0x8133fa32, 0xe1929e},
+  {0x8133fa33, 0xe1929f},
+  {0x8133fa34, 0xe192a0},
+  {0x8133fa35, 0xe192a1},
+  {0x8133fa36, 0xe192a2},
+  {0x8133fa37, 0xe192a3},
+  {0x8133fa38, 0xe192a4},
+  {0x8133fa39, 0xe192a5},
+  {0x8133fb30, 0xe192a6},
+  {0x8133fb31, 0xe192a7},
+  {0x8133fb32, 0xe192a8},
+  {0x8133fb33, 0xe192a9},
+  {0x8133fb34, 0xe192aa},
+  {0x8133fb35, 0xe192ab},
+  {0x8133fb36, 0xe192ac},
+  {0x8133fb37, 0xe192ad},
+  {0x8133fb38, 0xe192ae},
+  {0x8133fb39, 0xe192af},
+  {0x8133fc30, 0xe192b0},
+  {0x8133fc31, 0xe192b1},
+  {0x8133fc32, 0xe192b2},
+  {0x8133fc33, 0xe192b3},
+  {0x8133fc34, 0xe192b4},
+  {0x8133fc35, 0xe192b5},
+  {0x8133fc36, 0xe192b6},
+  {0x8133fc37, 0xe192b7},
+  {0x8133fc38, 0xe192b8},
+  {0x8133fc39, 0xe192b9},
+  {0x8133fd30, 0xe192ba},
+  {0x8133fd31, 0xe192bb},
+  {0x8133fd32, 0xe192bc},
+  {0x8133fd33, 0xe192bd},
+  {0x8133fd34, 0xe192be},
+  {0x8133fd35, 0xe192bf},
+  {0x8133fd36, 0xe19380},
+  {0x8133fd37, 0xe19381},
+  {0x8133fd38, 0xe19382},
+  {0x8133fd39, 0xe19383},
+  {0x8133fe30, 0xe19384},
+  {0x8133fe31, 0xe19385},
+  {0x8133fe32, 0xe19386},
+  {0x8133fe33, 0xe19387},
+  {0x8133fe34, 0xe19388},
+  {0x8133fe35, 0xe19389},
+  {0x8133fe36, 0xe1938a},
+  {0x8133fe37, 0xe1938b},
+  {0x8133fe38, 0xe1938c},
+  {0x8133fe39, 0xe1938d},
+  {0x81348130, 0xe1938e},
+  {0x81348131, 0xe1938f},
+  {0x81348132, 0xe19390},
+  {0x81348133, 0xe19391},
+  {0x81348134, 0xe19392},
+  {0x81348135, 0xe19393},
+  {0x81348136, 0xe19394},
+  {0x81348137, 0xe19395},
+  {0x81348138, 0xe19396},
+  {0x81348139, 0xe19397},
+  {0x81348230, 0xe19398},
+  {0x81348231, 0xe19399},
+  {0x81348232, 0xe1939a},
+  {0x81348233, 0xe1939b},
+  {0x81348234, 0xe1939c},
+  {0x81348235, 0xe1939d},
+  {0x81348236, 0xe1939e},
+  {0x81348237, 0xe1939f},
+  {0x81348238, 0xe193a0},
+  {0x81348239, 0xe193a1},
+  {0x81348330, 0xe193a2},
+  {0x81348331, 0xe193a3},
+  {0x81348332, 0xe193a4},
+  {0x81348333, 0xe193a5},
+  {0x81348334, 0xe193a6},
+  {0x81348335, 0xe193a7},
+  {0x81348336, 0xe193a8},
+  {0x81348337, 0xe193a9},
+  {0x81348338, 0xe193aa},
+  {0x81348339, 0xe193ab},
+  {0x81348430, 0xe193ac},
+  {0x81348431, 0xe193ad},
+  {0x81348432, 0xe193ae},
+  {0x81348433, 0xe193af},
+  {0x81348434, 0xe193b0},
+  {0x81348435, 0xe193b1},
+  {0x81348436, 0xe193b2},
+  {0x81348437, 0xe193b3},
+  {0x81348438, 0xe193b4},
+  {0x81348439, 0xe193b5},
+  {0x81348530, 0xe193b6},
+  {0x81348531, 0xe193b7},
+  {0x81348532, 0xe193b8},
+  {0x81348533, 0xe193b9},
+  {0x81348534, 0xe193ba},
+  {0x81348535, 0xe193bb},
+  {0x81348536, 0xe193bc},
+  {0x81348537, 0xe193bd},
+  {0x81348538, 0xe193be},
+  {0x81348539, 0xe193bf},
+  {0x81348630, 0xe19480},
+  {0x81348631, 0xe19481},
+  {0x81348632, 0xe19482},
+  {0x81348633, 0xe19483},
+  {0x81348634, 0xe19484},
+  {0x81348635, 0xe19485},
+  {0x81348636, 0xe19486},
+  {0x81348637, 0xe19487},
+  {0x81348638, 0xe19488},
+  {0x81348639, 0xe19489},
+  {0x81348730, 0xe1948a},
+  {0x81348731, 0xe1948b},
+  {0x81348732, 0xe1948c},
+  {0x81348733, 0xe1948d},
+  {0x81348734, 0xe1948e},
+  {0x81348735, 0xe1948f},
+  {0x81348736, 0xe19490},
+  {0x81348737, 0xe19491},
+  {0x81348738, 0xe19492},
+  {0x81348739, 0xe19493},
+  {0x81348830, 0xe19494},
+  {0x81348831, 0xe19495},
+  {0x81348832, 0xe19496},
+  {0x81348833, 0xe19497},
+  {0x81348834, 0xe19498},
+  {0x81348835, 0xe19499},
+  {0x81348836, 0xe1949a},
+  {0x81348837, 0xe1949b},
+  {0x81348838, 0xe1949c},
+  {0x81348839, 0xe1949d},
+  {0x81348930, 0xe1949e},
+  {0x81348931, 0xe1949f},
+  {0x81348932, 0xe194a0},
+  {0x81348933, 0xe194a1},
+  {0x81348934, 0xe194a2},
+  {0x81348935, 0xe194a3},
+  {0x81348936, 0xe194a4},
+  {0x81348937, 0xe194a5},
+  {0x81348938, 0xe194a6},
+  {0x81348939, 0xe194a7},
+  {0x81348a30, 0xe194a8},
+  {0x81348a31, 0xe194a9},
+  {0x81348a32, 0xe194aa},
+  {0x81348a33, 0xe194ab},
+  {0x81348a34, 0xe194ac},
+  {0x81348a35, 0xe194ad},
+  {0x81348a36, 0xe194ae},
+  {0x81348a37, 0xe194af},
+  {0x81348a38, 0xe194b0},
+  {0x81348a39, 0xe194b1},
+  {0x81348b30, 0xe194b2},
+  {0x81348b31, 0xe194b3},
+  {0x81348b32, 0xe194b4},
+  {0x81348b33, 0xe194b5},
+  {0x81348b34, 0xe194b6},
+  {0x81348b35, 0xe194b7},
+  {0x81348b36, 0xe194b8},
+  {0x81348b37, 0xe194b9},
+  {0x81348b38, 0xe194ba},
+  {0x81348b39, 0xe194bb},
+  {0x81348c30, 0xe194bc},
+  {0x81348c31, 0xe194bd},
+  {0x81348c32, 0xe194be},
+  {0x81348c33, 0xe194bf},
+  {0x81348c34, 0xe19580},
+  {0x81348c35, 0xe19581},
+  {0x81348c36, 0xe19582},
+  {0x81348c37, 0xe19583},
+  {0x81348c38, 0xe19584},
+  {0x81348c39, 0xe19585},
+  {0x81348d30, 0xe19586},
+  {0x81348d31, 0xe19587},
+  {0x81348d32, 0xe19588},
+  {0x81348d33, 0xe19589},
+  {0x81348d34, 0xe1958a},
+  {0x81348d35, 0xe1958b},
+  {0x81348d36, 0xe1958c},
+  {0x81348d37, 0xe1958d},
+  {0x81348d38, 0xe1958e},
+  {0x81348d39, 0xe1958f},
+  {0x81348e30, 0xe19590},
+  {0x81348e31, 0xe19591},
+  {0x81348e32, 0xe19592},
+  {0x81348e33, 0xe19593},
+  {0x81348e34, 0xe19594},
+  {0x81348e35, 0xe19595},
+  {0x81348e36, 0xe19596},
+  {0x81348e37, 0xe19597},
+  {0x81348e38, 0xe19598},
+  {0x81348e39, 0xe19599},
+  {0x81348f30, 0xe1959a},
+  {0x81348f31, 0xe1959b},
+  {0x81348f32, 0xe1959c},
+  {0x81348f33, 0xe1959d},
+  {0x81348f34, 0xe1959e},
+  {0x81348f35, 0xe1959f},
+  {0x81348f36, 0xe195a0},
+  {0x81348f37, 0xe195a1},
+  {0x81348f38, 0xe195a2},
+  {0x81348f39, 0xe195a3},
+  {0x81349030, 0xe195a4},
+  {0x81349031, 0xe195a5},
+  {0x81349032, 0xe195a6},
+  {0x81349033, 0xe195a7},
+  {0x81349034, 0xe195a8},
+  {0x81349035, 0xe195a9},
+  {0x81349036, 0xe195aa},
+  {0x81349037, 0xe195ab},
+  {0x81349038, 0xe195ac},
+  {0x81349039, 0xe195ad},
+  {0x81349130, 0xe195ae},
+  {0x81349131, 0xe195af},
+  {0x81349132, 0xe195b0},
+  {0x81349133, 0xe195b1},
+  {0x81349134, 0xe195b2},
+  {0x81349135, 0xe195b3},
+  {0x81349136, 0xe195b4},
+  {0x81349137, 0xe195b5},
+  {0x81349138, 0xe195b6},
+  {0x81349139, 0xe195b7},
+  {0x81349230, 0xe195b8},
+  {0x81349231, 0xe195b9},
+  {0x81349232, 0xe195ba},
+  {0x81349233, 0xe195bb},
+  {0x81349234, 0xe195bc},
+  {0x81349235, 0xe195bd},
+  {0x81349236, 0xe195be},
+  {0x81349237, 0xe195bf},
+  {0x81349238, 0xe19680},
+  {0x81349239, 0xe19681},
+  {0x81349330, 0xe19682},
+  {0x81349331, 0xe19683},
+  {0x81349332, 0xe19684},
+  {0x81349333, 0xe19685},
+  {0x81349334, 0xe19686},
+  {0x81349335, 0xe19687},
+  {0x81349336, 0xe19688},
+  {0x81349337, 0xe19689},
+  {0x81349338, 0xe1968a},
+  {0x81349339, 0xe1968b},
+  {0x81349430, 0xe1968c},
+  {0x81349431, 0xe1968d},
+  {0x81349432, 0xe1968e},
+  {0x81349433, 0xe1968f},
+  {0x81349434, 0xe19690},
+  {0x81349435, 0xe19691},
+  {0x81349436, 0xe19692},
+  {0x81349437, 0xe19693},
+  {0x81349438, 0xe19694},
+  {0x81349439, 0xe19695},
+  {0x81349530, 0xe19696},
+  {0x81349531, 0xe19697},
+  {0x81349532, 0xe19698},
+  {0x81349533, 0xe19699},
+  {0x81349534, 0xe1969a},
+  {0x81349535, 0xe1969b},
+  {0x81349536, 0xe1969c},
+  {0x81349537, 0xe1969d},
+  {0x81349538, 0xe1969e},
+  {0x81349539, 0xe1969f},
+  {0x81349630, 0xe196a0},
+  {0x81349631, 0xe196a1},
+  {0x81349632, 0xe196a2},
+  {0x81349633, 0xe196a3},
+  {0x81349634, 0xe196a4},
+  {0x81349635, 0xe196a5},
+  {0x81349636, 0xe196a6},
+  {0x81349637, 0xe196a7},
+  {0x81349638, 0xe196a8},
+  {0x81349639, 0xe196a9},
+  {0x81349730, 0xe196aa},
+  {0x81349731, 0xe196ab},
+  {0x81349732, 0xe196ac},
+  {0x81349733, 0xe196ad},
+  {0x81349734, 0xe196ae},
+  {0x81349735, 0xe196af},
+  {0x81349736, 0xe196b0},
+  {0x81349737, 0xe196b1},
+  {0x81349738, 0xe196b2},
+  {0x81349739, 0xe196b3},
+  {0x81349830, 0xe196b4},
+  {0x81349831, 0xe196b5},
+  {0x81349832, 0xe196b6},
+  {0x81349833, 0xe196b7},
+  {0x81349834, 0xe196b8},
+  {0x81349835, 0xe196b9},
+  {0x81349836, 0xe196ba},
+  {0x81349837, 0xe196bb},
+  {0x81349838, 0xe196bc},
+  {0x81349839, 0xe196bd},
+  {0x81349930, 0xe196be},
+  {0x81349931, 0xe196bf},
+  {0x81349932, 0xe19780},
+  {0x81349933, 0xe19781},
+  {0x81349934, 0xe19782},
+  {0x81349935, 0xe19783},
+  {0x81349936, 0xe19784},
+  {0x81349937, 0xe19785},
+  {0x81349938, 0xe19786},
+  {0x81349939, 0xe19787},
+  {0x81349a30, 0xe19788},
+  {0x81349a31, 0xe19789},
+  {0x81349a32, 0xe1978a},
+  {0x81349a33, 0xe1978b},
+  {0x81349a34, 0xe1978c},
+  {0x81349a35, 0xe1978d},
+  {0x81349a36, 0xe1978e},
+  {0x81349a37, 0xe1978f},
+  {0x81349a38, 0xe19790},
+  {0x81349a39, 0xe19791},
+  {0x81349b30, 0xe19792},
+  {0x81349b31, 0xe19793},
+  {0x81349b32, 0xe19794},
+  {0x81349b33, 0xe19795},
+  {0x81349b34, 0xe19796},
+  {0x81349b35, 0xe19797},
+  {0x81349b36, 0xe19798},
+  {0x81349b37, 0xe19799},
+  {0x81349b38, 0xe1979a},
+  {0x81349b39, 0xe1979b},
+  {0x81349c30, 0xe1979c},
+  {0x81349c31, 0xe1979d},
+  {0x81349c32, 0xe1979e},
+  {0x81349c33, 0xe1979f},
+  {0x81349c34, 0xe197a0},
+  {0x81349c35, 0xe197a1},
+  {0x81349c36, 0xe197a2},
+  {0x81349c37, 0xe197a3},
+  {0x81349c38, 0xe197a4},
+  {0x81349c39, 0xe197a5},
+  {0x81349d30, 0xe197a6},
+  {0x81349d31, 0xe197a7},
+  {0x81349d32, 0xe197a8},
+  {0x81349d33, 0xe197a9},
+  {0x81349d34, 0xe197aa},
+  {0x81349d35, 0xe197ab},
+  {0x81349d36, 0xe197ac},
+  {0x81349d37, 0xe197ad},
+  {0x81349d38, 0xe197ae},
+  {0x81349d39, 0xe197af},
+  {0x81349e30, 0xe197b0},
+  {0x81349e31, 0xe197b1},
+  {0x81349e32, 0xe197b2},
+  {0x81349e33, 0xe197b3},
+  {0x81349e34, 0xe197b4},
+  {0x81349e35, 0xe197b5},
+  {0x81349e36, 0xe197b6},
+  {0x81349e37, 0xe197b7},
+  {0x81349e38, 0xe197b8},
+  {0x81349e39, 0xe197b9},
+  {0x81349f30, 0xe197ba},
+  {0x81349f31, 0xe197bb},
+  {0x81349f32, 0xe197bc},
+  {0x81349f33, 0xe197bd},
+  {0x81349f34, 0xe197be},
+  {0x81349f35, 0xe197bf},
+  {0x81349f36, 0xe19880},
+  {0x81349f37, 0xe19881},
+  {0x81349f38, 0xe19882},
+  {0x81349f39, 0xe19883},
+  {0x8134a030, 0xe19884},
+  {0x8134a031, 0xe19885},
+  {0x8134a032, 0xe19886},
+  {0x8134a033, 0xe19887},
+  {0x8134a034, 0xe19888},
+  {0x8134a035, 0xe19889},
+  {0x8134a036, 0xe1988a},
+  {0x8134a037, 0xe1988b},
+  {0x8134a038, 0xe1988c},
+  {0x8134a039, 0xe1988d},
+  {0x8134a130, 0xe1988e},
+  {0x8134a131, 0xe1988f},
+  {0x8134a132, 0xe19890},
+  {0x8134a133, 0xe19891},
+  {0x8134a134, 0xe19892},
+  {0x8134a135, 0xe19893},
+  {0x8134a136, 0xe19894},
+  {0x8134a137, 0xe19895},
+  {0x8134a138, 0xe19896},
+  {0x8134a139, 0xe19897},
+  {0x8134a230, 0xe19898},
+  {0x8134a231, 0xe19899},
+  {0x8134a232, 0xe1989a},
+  {0x8134a233, 0xe1989b},
+  {0x8134a234, 0xe1989c},
+  {0x8134a235, 0xe1989d},
+  {0x8134a236, 0xe1989e},
+  {0x8134a237, 0xe1989f},
+  {0x8134a238, 0xe198a0},
+  {0x8134a239, 0xe198a1},
+  {0x8134a330, 0xe198a2},
+  {0x8134a331, 0xe198a3},
+  {0x8134a332, 0xe198a4},
+  {0x8134a333, 0xe198a5},
+  {0x8134a334, 0xe198a6},
+  {0x8134a335, 0xe198a7},
+  {0x8134a336, 0xe198a8},
+  {0x8134a337, 0xe198a9},
+  {0x8134a338, 0xe198aa},
+  {0x8134a339, 0xe198ab},
+  {0x8134a430, 0xe198ac},
+  {0x8134a431, 0xe198ad},
+  {0x8134a432, 0xe198ae},
+  {0x8134a433, 0xe198af},
+  {0x8134a434, 0xe198b0},
+  {0x8134a435, 0xe198b1},
+  {0x8134a436, 0xe198b2},
+  {0x8134a437, 0xe198b3},
+  {0x8134a438, 0xe198b4},
+  {0x8134a439, 0xe198b5},
+  {0x8134a530, 0xe198b6},
+  {0x8134a531, 0xe198b7},
+  {0x8134a532, 0xe198b8},
+  {0x8134a533, 0xe198b9},
+  {0x8134a534, 0xe198ba},
+  {0x8134a535, 0xe198bb},
+  {0x8134a536, 0xe198bc},
+  {0x8134a537, 0xe198bd},
+  {0x8134a538, 0xe198be},
+  {0x8134a539, 0xe198bf},
+  {0x8134a630, 0xe19980},
+  {0x8134a631, 0xe19981},
+  {0x8134a632, 0xe19982},
+  {0x8134a633, 0xe19983},
+  {0x8134a634, 0xe19984},
+  {0x8134a635, 0xe19985},
+  {0x8134a636, 0xe19986},
+  {0x8134a637, 0xe19987},
+  {0x8134a638, 0xe19988},
+  {0x8134a639, 0xe19989},
+  {0x8134a730, 0xe1998a},
+  {0x8134a731, 0xe1998b},
+  {0x8134a732, 0xe1998c},
+  {0x8134a733, 0xe1998d},
+  {0x8134a734, 0xe1998e},
+  {0x8134a735, 0xe1998f},
+  {0x8134a736, 0xe19990},
+  {0x8134a737, 0xe19991},
+  {0x8134a738, 0xe19992},
+  {0x8134a739, 0xe19993},
+  {0x8134a830, 0xe19994},
+  {0x8134a831, 0xe19995},
+  {0x8134a832, 0xe19996},
+  {0x8134a833, 0xe19997},
+  {0x8134a834, 0xe19998},
+  {0x8134a835, 0xe19999},
+  {0x8134a836, 0xe1999a},
+  {0x8134a837, 0xe1999b},
+  {0x8134a838, 0xe1999c},
+  {0x8134a839, 0xe1999d},
+  {0x8134a930, 0xe1999e},
+  {0x8134a931, 0xe1999f},
+  {0x8134a932, 0xe199a0},
+  {0x8134a933, 0xe199a1},
+  {0x8134a934, 0xe199a2},
+  {0x8134a935, 0xe199a3},
+  {0x8134a936, 0xe199a4},
+  {0x8134a937, 0xe199a5},
+  {0x8134a938, 0xe199a6},
+  {0x8134a939, 0xe199a7},
+  {0x8134aa30, 0xe199a8},
+  {0x8134aa31, 0xe199a9},
+  {0x8134aa32, 0xe199aa},
+  {0x8134aa33, 0xe199ab},
+  {0x8134aa34, 0xe199ac},
+  {0x8134aa35, 0xe199ad},
+  {0x8134aa36, 0xe199ae},
+  {0x8134aa37, 0xe199af},
+  {0x8134aa38, 0xe199b0},
+  {0x8134aa39, 0xe199b1},
+  {0x8134ab30, 0xe199b2},
+  {0x8134ab31, 0xe199b3},
+  {0x8134ab32, 0xe199b4},
+  {0x8134ab33, 0xe199b5},
+  {0x8134ab34, 0xe199b6},
+  {0x8134ab35, 0xe199b7},
+  {0x8134ab36, 0xe199b8},
+  {0x8134ab37, 0xe199b9},
+  {0x8134ab38, 0xe199ba},
+  {0x8134ab39, 0xe199bb},
+  {0x8134ac30, 0xe199bc},
+  {0x8134ac31, 0xe199bd},
+  {0x8134ac32, 0xe199be},
+  {0x8134ac33, 0xe199bf},
+  {0x8134ac34, 0xe19a80},
+  {0x8134ac35, 0xe19a81},
+  {0x8134ac36, 0xe19a82},
+  {0x8134ac37, 0xe19a83},
+  {0x8134ac38, 0xe19a84},
+  {0x8134ac39, 0xe19a85},
+  {0x8134ad30, 0xe19a86},
+  {0x8134ad31, 0xe19a87},
+  {0x8134ad32, 0xe19a88},
+  {0x8134ad33, 0xe19a89},
+  {0x8134ad34, 0xe19a8a},
+  {0x8134ad35, 0xe19a8b},
+  {0x8134ad36, 0xe19a8c},
+  {0x8134ad37, 0xe19a8d},
+  {0x8134ad38, 0xe19a8e},
+  {0x8134ad39, 0xe19a8f},
+  {0x8134ae30, 0xe19a90},
+  {0x8134ae31, 0xe19a91},
+  {0x8134ae32, 0xe19a92},
+  {0x8134ae33, 0xe19a93},
+  {0x8134ae34, 0xe19a94},
+  {0x8134ae35, 0xe19a95},
+  {0x8134ae36, 0xe19a96},
+  {0x8134ae37, 0xe19a97},
+  {0x8134ae38, 0xe19a98},
+  {0x8134ae39, 0xe19a99},
+  {0x8134af30, 0xe19a9a},
+  {0x8134af31, 0xe19a9b},
+  {0x8134af32, 0xe19a9c},
+  {0x8134af33, 0xe19a9d},
+  {0x8134af34, 0xe19a9e},
+  {0x8134af35, 0xe19a9f},
+  {0x8134af36, 0xe19aa0},
+  {0x8134af37, 0xe19aa1},
+  {0x8134af38, 0xe19aa2},
+  {0x8134af39, 0xe19aa3},
+  {0x8134b030, 0xe19aa4},
+  {0x8134b031, 0xe19aa5},
+  {0x8134b032, 0xe19aa6},
+  {0x8134b033, 0xe19aa7},
+  {0x8134b034, 0xe19aa8},
+  {0x8134b035, 0xe19aa9},
+  {0x8134b036, 0xe19aaa},
+  {0x8134b037, 0xe19aab},
+  {0x8134b038, 0xe19aac},
+  {0x8134b039, 0xe19aad},
+  {0x8134b130, 0xe19aae},
+  {0x8134b131, 0xe19aaf},
+  {0x8134b132, 0xe19ab0},
+  {0x8134b133, 0xe19ab1},
+  {0x8134b134, 0xe19ab2},
+  {0x8134b135, 0xe19ab3},
+  {0x8134b136, 0xe19ab4},
+  {0x8134b137, 0xe19ab5},
+  {0x8134b138, 0xe19ab6},
+  {0x8134b139, 0xe19ab7},
+  {0x8134b230, 0xe19ab8},
+  {0x8134b231, 0xe19ab9},
+  {0x8134b232, 0xe19aba},
+  {0x8134b233, 0xe19abb},
+  {0x8134b234, 0xe19abc},
+  {0x8134b235, 0xe19abd},
+  {0x8134b236, 0xe19abe},
+  {0x8134b237, 0xe19abf},
+  {0x8134b238, 0xe19b80},
+  {0x8134b239, 0xe19b81},
+  {0x8134b330, 0xe19b82},
+  {0x8134b331, 0xe19b83},
+  {0x8134b332, 0xe19b84},
+  {0x8134b333, 0xe19b85},
+  {0x8134b334, 0xe19b86},
+  {0x8134b335, 0xe19b87},
+  {0x8134b336, 0xe19b88},
+  {0x8134b337, 0xe19b89},
+  {0x8134b338, 0xe19b8a},
+  {0x8134b339, 0xe19b8b},
+  {0x8134b430, 0xe19b8c},
+  {0x8134b431, 0xe19b8d},
+  {0x8134b432, 0xe19b8e},
+  {0x8134b433, 0xe19b8f},
+  {0x8134b434, 0xe19b90},
+  {0x8134b435, 0xe19b91},
+  {0x8134b436, 0xe19b92},
+  {0x8134b437, 0xe19b93},
+  {0x8134b438, 0xe19b94},
+  {0x8134b439, 0xe19b95},
+  {0x8134b530, 0xe19b96},
+  {0x8134b531, 0xe19b97},
+  {0x8134b532, 0xe19b98},
+  {0x8134b533, 0xe19b99},
+  {0x8134b534, 0xe19b9a},
+  {0x8134b535, 0xe19b9b},
+  {0x8134b536, 0xe19b9c},
+  {0x8134b537, 0xe19b9d},
+  {0x8134b538, 0xe19b9e},
+  {0x8134b539, 0xe19b9f},
+  {0x8134b630, 0xe19ba0},
+  {0x8134b631, 0xe19ba1},
+  {0x8134b632, 0xe19ba2},
+  {0x8134b633, 0xe19ba3},
+  {0x8134b634, 0xe19ba4},
+  {0x8134b635, 0xe19ba5},
+  {0x8134b636, 0xe19ba6},
+  {0x8134b637, 0xe19ba7},
+  {0x8134b638, 0xe19ba8},
+  {0x8134b639, 0xe19ba9},
+  {0x8134b730, 0xe19baa},
+  {0x8134b731, 0xe19bab},
+  {0x8134b732, 0xe19bac},
+  {0x8134b733, 0xe19bad},
+  {0x8134b734, 0xe19bae},
+  {0x8134b735, 0xe19baf},
+  {0x8134b736, 0xe19bb0},
+  {0x8134b737, 0xe19bb1},
+  {0x8134b738, 0xe19bb2},
+  {0x8134b739, 0xe19bb3},
+  {0x8134b830, 0xe19bb4},
+  {0x8134b831, 0xe19bb5},
+  {0x8134b832, 0xe19bb6},
+  {0x8134b833, 0xe19bb7},
+  {0x8134b834, 0xe19bb8},
+  {0x8134b835, 0xe19bb9},
+  {0x8134b836, 0xe19bba},
+  {0x8134b837, 0xe19bbb},
+  {0x8134b838, 0xe19bbc},
+  {0x8134b839, 0xe19bbd},
+  {0x8134b930, 0xe19bbe},
+  {0x8134b931, 0xe19bbf},
+  {0x8134b932, 0xe19c80},
+  {0x8134b933, 0xe19c81},
+  {0x8134b934, 0xe19c82},
+  {0x8134b935, 0xe19c83},
+  {0x8134b936, 0xe19c84},
+  {0x8134b937, 0xe19c85},
+  {0x8134b938, 0xe19c86},
+  {0x8134b939, 0xe19c87},
+  {0x8134ba30, 0xe19c88},
+  {0x8134ba31, 0xe19c89},
+  {0x8134ba32, 0xe19c8a},
+  {0x8134ba33, 0xe19c8b},
+  {0x8134ba34, 0xe19c8c},
+  {0x8134ba35, 0xe19c8d},
+  {0x8134ba36, 0xe19c8e},
+  {0x8134ba37, 0xe19c8f},
+  {0x8134ba38, 0xe19c90},
+  {0x8134ba39, 0xe19c91},
+  {0x8134bb30, 0xe19c92},
+  {0x8134bb31, 0xe19c93},
+  {0x8134bb32, 0xe19c94},
+  {0x8134bb33, 0xe19c95},
+  {0x8134bb34, 0xe19c96},
+  {0x8134bb35, 0xe19c97},
+  {0x8134bb36, 0xe19c98},
+  {0x8134bb37, 0xe19c99},
+  {0x8134bb38, 0xe19c9a},
+  {0x8134bb39, 0xe19c9b},
+  {0x8134bc30, 0xe19c9c},
+  {0x8134bc31, 0xe19c9d},
+  {0x8134bc32, 0xe19c9e},
+  {0x8134bc33, 0xe19c9f},
+  {0x8134bc34, 0xe19ca0},
+  {0x8134bc35, 0xe19ca1},
+  {0x8134bc36, 0xe19ca2},
+  {0x8134bc37, 0xe19ca3},
+  {0x8134bc38, 0xe19ca4},
+  {0x8134bc39, 0xe19ca5},
+  {0x8134bd30, 0xe19ca6},
+  {0x8134bd31, 0xe19ca7},
+  {0x8134bd32, 0xe19ca8},
+  {0x8134bd33, 0xe19ca9},
+  {0x8134bd34, 0xe19caa},
+  {0x8134bd35, 0xe19cab},
+  {0x8134bd36, 0xe19cac},
+  {0x8134bd37, 0xe19cad},
+  {0x8134bd38, 0xe19cae},
+  {0x8134bd39, 0xe19caf},
+  {0x8134be30, 0xe19cb0},
+  {0x8134be31, 0xe19cb1},
+  {0x8134be32, 0xe19cb2},
+  {0x8134be33, 0xe19cb3},
+  {0x8134be34, 0xe19cb4},
+  {0x8134be35, 0xe19cb5},
+  {0x8134be36, 0xe19cb6},
+  {0x8134be37, 0xe19cb7},
+  {0x8134be38, 0xe19cb8},
+  {0x8134be39, 0xe19cb9},
+  {0x8134bf30, 0xe19cba},
+  {0x8134bf31, 0xe19cbb},
+  {0x8134bf32, 0xe19cbc},
+  {0x8134bf33, 0xe19cbd},
+  {0x8134bf34, 0xe19cbe},
+  {0x8134bf35, 0xe19cbf},
+  {0x8134bf36, 0xe19d80},
+  {0x8134bf37, 0xe19d81},
+  {0x8134bf38, 0xe19d82},
+  {0x8134bf39, 0xe19d83},
+  {0x8134c030, 0xe19d84},
+  {0x8134c031, 0xe19d85},
+  {0x8134c032, 0xe19d86},
+  {0x8134c033, 0xe19d87},
+  {0x8134c034, 0xe19d88},
+  {0x8134c035, 0xe19d89},
+  {0x8134c036, 0xe19d8a},
+  {0x8134c037, 0xe19d8b},
+  {0x8134c038, 0xe19d8c},
+  {0x8134c039, 0xe19d8d},
+  {0x8134c130, 0xe19d8e},
+  {0x8134c131, 0xe19d8f},
+  {0x8134c132, 0xe19d90},
+  {0x8134c133, 0xe19d91},
+  {0x8134c134, 0xe19d92},
+  {0x8134c135, 0xe19d93},
+  {0x8134c136, 0xe19d94},
+  {0x8134c137, 0xe19d95},
+  {0x8134c138, 0xe19d96},
+  {0x8134c139, 0xe19d97},
+  {0x8134c230, 0xe19d98},
+  {0x8134c231, 0xe19d99},
+  {0x8134c232, 0xe19d9a},
+  {0x8134c233, 0xe19d9b},
+  {0x8134c234, 0xe19d9c},
+  {0x8134c235, 0xe19d9d},
+  {0x8134c236, 0xe19d9e},
+  {0x8134c237, 0xe19d9f},
+  {0x8134c238, 0xe19da0},
+  {0x8134c239, 0xe19da1},
+  {0x8134c330, 0xe19da2},
+  {0x8134c331, 0xe19da3},
+  {0x8134c332, 0xe19da4},
+  {0x8134c333, 0xe19da5},
+  {0x8134c334, 0xe19da6},
+  {0x8134c335, 0xe19da7},
+  {0x8134c336, 0xe19da8},
+  {0x8134c337, 0xe19da9},
+  {0x8134c338, 0xe19daa},
+  {0x8134c339, 0xe19dab},
+  {0x8134c430, 0xe19dac},
+  {0x8134c431, 0xe19dad},
+  {0x8134c432, 0xe19dae},
+  {0x8134c433, 0xe19daf},
+  {0x8134c434, 0xe19db0},
+  {0x8134c435, 0xe19db1},
+  {0x8134c436, 0xe19db2},
+  {0x8134c437, 0xe19db3},
+  {0x8134c438, 0xe19db4},
+  {0x8134c439, 0xe19db5},
+  {0x8134c530, 0xe19db6},
+  {0x8134c531, 0xe19db7},
+  {0x8134c532, 0xe19db8},
+  {0x8134c533, 0xe19db9},
+  {0x8134c534, 0xe19dba},
+  {0x8134c535, 0xe19dbb},
+  {0x8134c536, 0xe19dbc},
+  {0x8134c537, 0xe19dbd},
+  {0x8134c538, 0xe19dbe},
+  {0x8134c539, 0xe19dbf},
+  {0x8134c630, 0xe19e80},
+  {0x8134c631, 0xe19e81},
+  {0x8134c632, 0xe19e82},
+  {0x8134c633, 0xe19e83},
+  {0x8134c634, 0xe19e84},
+  {0x8134c635, 0xe19e85},
+  {0x8134c636, 0xe19e86},
+  {0x8134c637, 0xe19e87},
+  {0x8134c638, 0xe19e88},
+  {0x8134c639, 0xe19e89},
+  {0x8134c730, 0xe19e8a},
+  {0x8134c731, 0xe19e8b},
+  {0x8134c732, 0xe19e8c},
+  {0x8134c733, 0xe19e8d},
+  {0x8134c734, 0xe19e8e},
+  {0x8134c735, 0xe19e8f},
+  {0x8134c736, 0xe19e90},
+  {0x8134c737, 0xe19e91},
+  {0x8134c738, 0xe19e92},
+  {0x8134c739, 0xe19e93},
+  {0x8134c830, 0xe19e94},
+  {0x8134c831, 0xe19e95},
+  {0x8134c832, 0xe19e96},
+  {0x8134c833, 0xe19e97},
+  {0x8134c834, 0xe19e98},
+  {0x8134c835, 0xe19e99},
+  {0x8134c836, 0xe19e9a},
+  {0x8134c837, 0xe19e9b},
+  {0x8134c838, 0xe19e9c},
+  {0x8134c839, 0xe19e9d},
+  {0x8134c930, 0xe19e9e},
+  {0x8134c931, 0xe19e9f},
+  {0x8134c932, 0xe19ea0},
+  {0x8134c933, 0xe19ea1},
+  {0x8134c934, 0xe19ea2},
+  {0x8134c935, 0xe19ea3},
+  {0x8134c936, 0xe19ea4},
+  {0x8134c937, 0xe19ea5},
+  {0x8134c938, 0xe19ea6},
+  {0x8134c939, 0xe19ea7},
+  {0x8134ca30, 0xe19ea8},
+  {0x8134ca31, 0xe19ea9},
+  {0x8134ca32, 0xe19eaa},
+  {0x8134ca33, 0xe19eab},
+  {0x8134ca34, 0xe19eac},
+  {0x8134ca35, 0xe19ead},
+  {0x8134ca36, 0xe19eae},
+  {0x8134ca37, 0xe19eaf},
+  {0x8134ca38, 0xe19eb0},
+  {0x8134ca39, 0xe19eb1},
+  {0x8134cb30, 0xe19eb2},
+  {0x8134cb31, 0xe19eb3},
+  {0x8134cb32, 0xe19eb4},
+  {0x8134cb33, 0xe19eb5},
+  {0x8134cb34, 0xe19eb6},
+  {0x8134cb35, 0xe19eb7},
+  {0x8134cb36, 0xe19eb8},
+  {0x8134cb37, 0xe19eb9},
+  {0x8134cb38, 0xe19eba},
+  {0x8134cb39, 0xe19ebb},
+  {0x8134cc30, 0xe19ebc},
+  {0x8134cc31, 0xe19ebd},
+  {0x8134cc32, 0xe19ebe},
+  {0x8134cc33, 0xe19ebf},
+  {0x8134cc34, 0xe19f80},
+  {0x8134cc35, 0xe19f81},
+  {0x8134cc36, 0xe19f82},
+  {0x8134cc37, 0xe19f83},
+  {0x8134cc38, 0xe19f84},
+  {0x8134cc39, 0xe19f85},
+  {0x8134cd30, 0xe19f86},
+  {0x8134cd31, 0xe19f87},
+  {0x8134cd32, 0xe19f88},
+  {0x8134cd33, 0xe19f89},
+  {0x8134cd34, 0xe19f8a},
+  {0x8134cd35, 0xe19f8b},
+  {0x8134cd36, 0xe19f8c},
+  {0x8134cd37, 0xe19f8d},
+  {0x8134cd38, 0xe19f8e},
+  {0x8134cd39, 0xe19f8f},
+  {0x8134ce30, 0xe19f90},
+  {0x8134ce31, 0xe19f91},
+  {0x8134ce32, 0xe19f92},
+  {0x8134ce33, 0xe19f93},
+  {0x8134ce34, 0xe19f94},
+  {0x8134ce35, 0xe19f95},
+  {0x8134ce36, 0xe19f96},
+  {0x8134ce37, 0xe19f97},
+  {0x8134ce38, 0xe19f98},
+  {0x8134ce39, 0xe19f99},
+  {0x8134cf30, 0xe19f9a},
+  {0x8134cf31, 0xe19f9b},
+  {0x8134cf32, 0xe19f9c},
+  {0x8134cf33, 0xe19f9d},
+  {0x8134cf34, 0xe19f9e},
+  {0x8134cf35, 0xe19f9f},
+  {0x8134cf36, 0xe19fa0},
+  {0x8134cf37, 0xe19fa1},
+  {0x8134cf38, 0xe19fa2},
+  {0x8134cf39, 0xe19fa3},
+  {0x8134d030, 0xe19fa4},
+  {0x8134d031, 0xe19fa5},
+  {0x8134d032, 0xe19fa6},
+  {0x8134d033, 0xe19fa7},
+  {0x8134d034, 0xe19fa8},
+  {0x8134d035, 0xe19fa9},
+  {0x8134d036, 0xe19faa},
+  {0x8134d037, 0xe19fab},
+  {0x8134d038, 0xe19fac},
+  {0x8134d039, 0xe19fad},
+  {0x8134d130, 0xe19fae},
+  {0x8134d131, 0xe19faf},
+  {0x8134d132, 0xe19fb0},
+  {0x8134d133, 0xe19fb1},
+  {0x8134d134, 0xe19fb2},
+  {0x8134d135, 0xe19fb3},
+  {0x8134d136, 0xe19fb4},
+  {0x8134d137, 0xe19fb5},
+  {0x8134d138, 0xe19fb6},
+  {0x8134d139, 0xe19fb7},
+  {0x8134d230, 0xe19fb8},
+  {0x8134d231, 0xe19fb9},
+  {0x8134d232, 0xe19fba},
+  {0x8134d233, 0xe19fbb},
+  {0x8134d234, 0xe19fbc},
+  {0x8134d235, 0xe19fbd},
+  {0x8134d236, 0xe19fbe},
+  {0x8134d237, 0xe19fbf},
+  {0x8134d238, 0xe1a080},
+  {0x8134d239, 0xe1a081},
+  {0x8134d330, 0xe1a082},
+  {0x8134d331, 0xe1a083},
+  {0x8134d332, 0xe1a084},
+  {0x8134d333, 0xe1a085},
+  {0x8134d334, 0xe1a086},
+  {0x8134d335, 0xe1a087},
+  {0x8134d336, 0xe1a088},
+  {0x8134d337, 0xe1a089},
+  {0x8134d338, 0xe1a08a},
+  {0x8134d339, 0xe1a08b},
+  {0x8134d430, 0xe1a08c},
+  {0x8134d431, 0xe1a08d},
+  {0x8134d432, 0xe1a08e},
+  {0x8134d433, 0xe1a08f},
+  {0x8134d434, 0xe1a090},
+  {0x8134d435, 0xe1a091},
+  {0x8134d436, 0xe1a092},
+  {0x8134d437, 0xe1a093},
+  {0x8134d438, 0xe1a094},
+  {0x8134d439, 0xe1a095},
+  {0x8134d530, 0xe1a096},
+  {0x8134d531, 0xe1a097},
+  {0x8134d532, 0xe1a098},
+  {0x8134d533, 0xe1a099},
+  {0x8134d534, 0xe1a09a},
+  {0x8134d535, 0xe1a09b},
+  {0x8134d536, 0xe1a09c},
+  {0x8134d537, 0xe1a09d},
+  {0x8134d538, 0xe1a09e},
+  {0x8134d539, 0xe1a09f},
+  {0x8134d630, 0xe1a0a0},
+  {0x8134d631, 0xe1a0a1},
+  {0x8134d632, 0xe1a0a2},
+  {0x8134d633, 0xe1a0a3},
+  {0x8134d634, 0xe1a0a4},
+  {0x8134d635, 0xe1a0a5},
+  {0x8134d636, 0xe1a0a6},
+  {0x8134d637, 0xe1a0a7},
+  {0x8134d638, 0xe1a0a8},
+  {0x8134d639, 0xe1a0a9},
+  {0x8134d730, 0xe1a0aa},
+  {0x8134d731, 0xe1a0ab},
+  {0x8134d732, 0xe1a0ac},
+  {0x8134d733, 0xe1a0ad},
+  {0x8134d734, 0xe1a0ae},
+  {0x8134d735, 0xe1a0af},
+  {0x8134d736, 0xe1a0b0},
+  {0x8134d737, 0xe1a0b1},
+  {0x8134d738, 0xe1a0b2},
+  {0x8134d739, 0xe1a0b3},
+  {0x8134d830, 0xe1a0b4},
+  {0x8134d831, 0xe1a0b5},
+  {0x8134d832, 0xe1a0b6},
+  {0x8134d833, 0xe1a0b7},
+  {0x8134d834, 0xe1a0b8},
+  {0x8134d835, 0xe1a0b9},
+  {0x8134d836, 0xe1a0ba},
+  {0x8134d837, 0xe1a0bb},
+  {0x8134d838, 0xe1a0bc},
+  {0x8134d839, 0xe1a0bd},
+  {0x8134d930, 0xe1a0be},
+  {0x8134d931, 0xe1a0bf},
+  {0x8134d932, 0xe1a180},
+  {0x8134d933, 0xe1a181},
+  {0x8134d934, 0xe1a182},
+  {0x8134d935, 0xe1a183},
+  {0x8134d936, 0xe1a184},
+  {0x8134d937, 0xe1a185},
+  {0x8134d938, 0xe1a186},
+  {0x8134d939, 0xe1a187},
+  {0x8134da30, 0xe1a188},
+  {0x8134da31, 0xe1a189},
+  {0x8134da32, 0xe1a18a},
+  {0x8134da33, 0xe1a18b},
+  {0x8134da34, 0xe1a18c},
+  {0x8134da35, 0xe1a18d},
+  {0x8134da36, 0xe1a18e},
+  {0x8134da37, 0xe1a18f},
+  {0x8134da38, 0xe1a190},
+  {0x8134da39, 0xe1a191},
+  {0x8134db30, 0xe1a192},
+  {0x8134db31, 0xe1a193},
+  {0x8134db32, 0xe1a194},
+  {0x8134db33, 0xe1a195},
+  {0x8134db34, 0xe1a196},
+  {0x8134db35, 0xe1a197},
+  {0x8134db36, 0xe1a198},
+  {0x8134db37, 0xe1a199},
+  {0x8134db38, 0xe1a19a},
+  {0x8134db39, 0xe1a19b},
+  {0x8134dc30, 0xe1a19c},
+  {0x8134dc31, 0xe1a19d},
+  {0x8134dc32, 0xe1a19e},
+  {0x8134dc33, 0xe1a19f},
+  {0x8134dc34, 0xe1a1a0},
+  {0x8134dc35, 0xe1a1a1},
+  {0x8134dc36, 0xe1a1a2},
+  {0x8134dc37, 0xe1a1a3},
+  {0x8134dc38, 0xe1a1a4},
+  {0x8134dc39, 0xe1a1a5},
+  {0x8134dd30, 0xe1a1a6},
+  {0x8134dd31, 0xe1a1a7},
+  {0x8134dd32, 0xe1a1a8},
+  {0x8134dd33, 0xe1a1a9},
+  {0x8134dd34, 0xe1a1aa},
+  {0x8134dd35, 0xe1a1ab},
+  {0x8134dd36, 0xe1a1ac},
+  {0x8134dd37, 0xe1a1ad},
+  {0x8134dd38, 0xe1a1ae},
+  {0x8134dd39, 0xe1a1af},
+  {0x8134de30, 0xe1a1b0},
+  {0x8134de31, 0xe1a1b1},
+  {0x8134de32, 0xe1a1b2},
+  {0x8134de33, 0xe1a1b3},
+  {0x8134de34, 0xe1a1b4},
+  {0x8134de35, 0xe1a1b5},
+  {0x8134de36, 0xe1a1b6},
+  {0x8134de37, 0xe1a1b7},
+  {0x8134de38, 0xe1a1b8},
+  {0x8134de39, 0xe1a1b9},
+  {0x8134df30, 0xe1a1ba},
+  {0x8134df31, 0xe1a1bb},
+  {0x8134df32, 0xe1a1bc},
+  {0x8134df33, 0xe1a1bd},
+  {0x8134df34, 0xe1a1be},
+  {0x8134df35, 0xe1a1bf},
+  {0x8134df36, 0xe1a280},
+  {0x8134df37, 0xe1a281},
+  {0x8134df38, 0xe1a282},
+  {0x8134df39, 0xe1a283},
+  {0x8134e030, 0xe1a284},
+  {0x8134e031, 0xe1a285},
+  {0x8134e032, 0xe1a286},
+  {0x8134e033, 0xe1a287},
+  {0x8134e034, 0xe1a288},
+  {0x8134e035, 0xe1a289},
+  {0x8134e036, 0xe1a28a},
+  {0x8134e037, 0xe1a28b},
+  {0x8134e038, 0xe1a28c},
+  {0x8134e039, 0xe1a28d},
+  {0x8134e130, 0xe1a28e},
+  {0x8134e131, 0xe1a28f},
+  {0x8134e132, 0xe1a290},
+  {0x8134e133, 0xe1a291},
+  {0x8134e134, 0xe1a292},
+  {0x8134e135, 0xe1a293},
+  {0x8134e136, 0xe1a294},
+  {0x8134e137, 0xe1a295},
+  {0x8134e138, 0xe1a296},
+  {0x8134e139, 0xe1a297},
+  {0x8134e230, 0xe1a298},
+  {0x8134e231, 0xe1a299},
+  {0x8134e232, 0xe1a29a},
+  {0x8134e233, 0xe1a29b},
+  {0x8134e234, 0xe1a29c},
+  {0x8134e235, 0xe1a29d},
+  {0x8134e236, 0xe1a29e},
+  {0x8134e237, 0xe1a29f},
+  {0x8134e238, 0xe1a2a0},
+  {0x8134e239, 0xe1a2a1},
+  {0x8134e330, 0xe1a2a2},
+  {0x8134e331, 0xe1a2a3},
+  {0x8134e332, 0xe1a2a4},
+  {0x8134e333, 0xe1a2a5},
+  {0x8134e334, 0xe1a2a6},
+  {0x8134e335, 0xe1a2a7},
+  {0x8134e336, 0xe1a2a8},
+  {0x8134e337, 0xe1a2a9},
+  {0x8134e338, 0xe1a2aa},
+  {0x8134e339, 0xe1a2ab},
+  {0x8134e430, 0xe1a2ac},
+  {0x8134e431, 0xe1a2ad},
+  {0x8134e432, 0xe1a2ae},
+  {0x8134e433, 0xe1a2af},
+  {0x8134e434, 0xe1a2b0},
+  {0x8134e435, 0xe1a2b1},
+  {0x8134e436, 0xe1a2b2},
+  {0x8134e437, 0xe1a2b3},
+  {0x8134e438, 0xe1a2b4},
+  {0x8134e439, 0xe1a2b5},
+  {0x8134e530, 0xe1a2b6},
+  {0x8134e531, 0xe1a2b7},
+  {0x8134e532, 0xe1a2b8},
+  {0x8134e533, 0xe1a2b9},
+  {0x8134e534, 0xe1a2ba},
+  {0x8134e535, 0xe1a2bb},
+  {0x8134e536, 0xe1a2bc},
+  {0x8134e537, 0xe1a2bd},
+  {0x8134e538, 0xe1a2be},
+  {0x8134e539, 0xe1a2bf},
+  {0x8134e630, 0xe1a380},
+  {0x8134e631, 0xe1a381},
+  {0x8134e632, 0xe1a382},
+  {0x8134e633, 0xe1a383},
+  {0x8134e634, 0xe1a384},
+  {0x8134e635, 0xe1a385},
+  {0x8134e636, 0xe1a386},
+  {0x8134e637, 0xe1a387},
+  {0x8134e638, 0xe1a388},
+  {0x8134e639, 0xe1a389},
+  {0x8134e730, 0xe1a38a},
+  {0x8134e731, 0xe1a38b},
+  {0x8134e732, 0xe1a38c},
+  {0x8134e733, 0xe1a38d},
+  {0x8134e734, 0xe1a38e},
+  {0x8134e735, 0xe1a38f},
+  {0x8134e736, 0xe1a390},
+  {0x8134e737, 0xe1a391},
+  {0x8134e738, 0xe1a392},
+  {0x8134e739, 0xe1a393},
+  {0x8134e830, 0xe1a394},
+  {0x8134e831, 0xe1a395},
+  {0x8134e832, 0xe1a396},
+  {0x8134e833, 0xe1a397},
+  {0x8134e834, 0xe1a398},
+  {0x8134e835, 0xe1a399},
+  {0x8134e836, 0xe1a39a},
+  {0x8134e837, 0xe1a39b},
+  {0x8134e838, 0xe1a39c},
+  {0x8134e839, 0xe1a39d},
+  {0x8134e930, 0xe1a39e},
+  {0x8134e931, 0xe1a39f},
+  {0x8134e932, 0xe1a3a0},
+  {0x8134e933, 0xe1a3a1},
+  {0x8134e934, 0xe1a3a2},
+  {0x8134e935, 0xe1a3a3},
+  {0x8134e936, 0xe1a3a4},
+  {0x8134e937, 0xe1a3a5},
+  {0x8134e938, 0xe1a3a6},
+  {0x8134e939, 0xe1a3a7},
+  {0x8134ea30, 0xe1a3a8},
+  {0x8134ea31, 0xe1a3a9},
+  {0x8134ea32, 0xe1a3aa},
+  {0x8134ea33, 0xe1a3ab},
+  {0x8134ea34, 0xe1a3ac},
+  {0x8134ea35, 0xe1a3ad},
+  {0x8134ea36, 0xe1a3ae},
+  {0x8134ea37, 0xe1a3af},
+  {0x8134ea38, 0xe1a3b0},
+  {0x8134ea39, 0xe1a3b1},
+  {0x8134eb30, 0xe1a3b2},
+  {0x8134eb31, 0xe1a3b3},
+  {0x8134eb32, 0xe1a3b4},
+  {0x8134eb33, 0xe1a3b5},
+  {0x8134eb34, 0xe1a3b6},
+  {0x8134eb35, 0xe1a3b7},
+  {0x8134eb36, 0xe1a3b8},
+  {0x8134eb37, 0xe1a3b9},
+  {0x8134eb38, 0xe1a3ba},
+  {0x8134eb39, 0xe1a3bb},
+  {0x8134ec30, 0xe1a3bc},
+  {0x8134ec31, 0xe1a3bd},
+  {0x8134ec32, 0xe1a3be},
+  {0x8134ec33, 0xe1a3bf},
+  {0x8134ec34, 0xe1a480},
+  {0x8134ec35, 0xe1a481},
+  {0x8134ec36, 0xe1a482},
+  {0x8134ec37, 0xe1a483},
+  {0x8134ec38, 0xe1a484},
+  {0x8134ec39, 0xe1a485},
+  {0x8134ed30, 0xe1a486},
+  {0x8134ed31, 0xe1a487},
+  {0x8134ed32, 0xe1a488},
+  {0x8134ed33, 0xe1a489},
+  {0x8134ed34, 0xe1a48a},
+  {0x8134ed35, 0xe1a48b},
+  {0x8134ed36, 0xe1a48c},
+  {0x8134ed37, 0xe1a48d},
+  {0x8134ed38, 0xe1a48e},
+  {0x8134ed39, 0xe1a48f},
+  {0x8134ee30, 0xe1a490},
+  {0x8134ee31, 0xe1a491},
+  {0x8134ee32, 0xe1a492},
+  {0x8134ee33, 0xe1a493},
+  {0x8134ee34, 0xe1a494},
+  {0x8134ee35, 0xe1a495},
+  {0x8134ee36, 0xe1a496},
+  {0x8134ee37, 0xe1a497},
+  {0x8134ee38, 0xe1a498},
+  {0x8134ee39, 0xe1a499},
+  {0x8134ef30, 0xe1a49a},
+  {0x8134ef31, 0xe1a49b},
+  {0x8134ef32, 0xe1a49c},
+  {0x8134ef33, 0xe1a49d},
+  {0x8134ef34, 0xe1a49e},
+  {0x8134ef35, 0xe1a49f},
+  {0x8134ef36, 0xe1a4a0},
+  {0x8134ef37, 0xe1a4a1},
+  {0x8134ef38, 0xe1a4a2},
+  {0x8134ef39, 0xe1a4a3},
+  {0x8134f030, 0xe1a4a4},
+  {0x8134f031, 0xe1a4a5},
+  {0x8134f032, 0xe1a4a6},
+  {0x8134f033, 0xe1a4a7},
+  {0x8134f034, 0xe1a4a8},
+  {0x8134f035, 0xe1a4a9},
+  {0x8134f036, 0xe1a4aa},
+  {0x8134f037, 0xe1a4ab},
+  {0x8134f038, 0xe1a4ac},
+  {0x8134f039, 0xe1a4ad},
+  {0x8134f130, 0xe1a4ae},
+  {0x8134f131, 0xe1a4af},
+  {0x8134f132, 0xe1a4b0},
+  {0x8134f133, 0xe1a4b1},
+  {0x8134f134, 0xe1a4b2},
+  {0x8134f135, 0xe1a4b3},
+  {0x8134f136, 0xe1a4b4},
+  {0x8134f137, 0xe1a4b5},
+  {0x8134f138, 0xe1a4b6},
+  {0x8134f139, 0xe1a4b7},
+  {0x8134f230, 0xe1a4b8},
+  {0x8134f231, 0xe1a4b9},
+  {0x8134f232, 0xe1a4ba},
+  {0x8134f233, 0xe1a4bb},
+  {0x8134f234, 0xe1a4bc},
+  {0x8134f235, 0xe1a4bd},
+  {0x8134f236, 0xe1a4be},
+  {0x8134f237, 0xe1a4bf},
+  {0x8134f238, 0xe1a580},
+  {0x8134f239, 0xe1a581},
+  {0x8134f330, 0xe1a582},
+  {0x8134f331, 0xe1a583},
+  {0x8134f332, 0xe1a584},
+  {0x8134f333, 0xe1a585},
+  {0x8134f334, 0xe1a586},
+  {0x8134f335, 0xe1a587},
+  {0x8134f336, 0xe1a588},
+  {0x8134f337, 0xe1a589},
+  {0x8134f338, 0xe1a58a},
+  {0x8134f339, 0xe1a58b},
+  {0x8134f430, 0xe1a58c},
+  {0x8134f431, 0xe1a58d},
+  {0x8134f432, 0xe1a58e},
+  {0x8134f433, 0xe1a58f},
+  {0x8134f434, 0xe1a590},
+  {0x8134f435, 0xe1a591},
+  {0x8134f436, 0xe1a592},
+  {0x8134f437, 0xe1a593},
+  {0x8134f438, 0xe1a594},
+  {0x8134f439, 0xe1a595},
+  {0x8134f530, 0xe1a596},
+  {0x8134f531, 0xe1a597},
+  {0x8134f532, 0xe1a598},
+  {0x8134f533, 0xe1a599},
+  {0x8134f534, 0xe1a59a},
+  {0x8134f535, 0xe1a59b},
+  {0x8134f536, 0xe1a59c},
+  {0x8134f537, 0xe1a59d},
+  {0x8134f538, 0xe1a59e},
+  {0x8134f539, 0xe1a59f},
+  {0x8134f630, 0xe1a5a0},
+  {0x8134f631, 0xe1a5a1},
+  {0x8134f632, 0xe1a5a2},
+  {0x8134f633, 0xe1a5a3},
+  {0x8134f634, 0xe1a5a4},
+  {0x8134f635, 0xe1a5a5},
+  {0x8134f636, 0xe1a5a6},
+  {0x8134f637, 0xe1a5a7},
+  {0x8134f638, 0xe1a5a8},
+  {0x8134f639, 0xe1a5a9},
+  {0x8134f730, 0xe1a5aa},
+  {0x8134f731, 0xe1a5ab},
+  {0x8134f732, 0xe1a5ac},
+  {0x8134f733, 0xe1a5ad},
+  {0x8134f734, 0xe1a5ae},
+  {0x8134f735, 0xe1a5af},
+  {0x8134f736, 0xe1a5b0},
+  {0x8134f737, 0xe1a5b1},
+  {0x8134f738, 0xe1a5b2},
+  {0x8134f739, 0xe1a5b3},
+  {0x8134f830, 0xe1a5b4},
+  {0x8134f831, 0xe1a5b5},
+  {0x8134f832, 0xe1a5b6},
+  {0x8134f833, 0xe1a5b7},
+  {0x8134f834, 0xe1a5b8},
+  {0x8134f835, 0xe1a5b9},
+  {0x8134f836, 0xe1a5ba},
+  {0x8134f837, 0xe1a5bb},
+  {0x8134f838, 0xe1a5bc},
+  {0x8134f839, 0xe1a5bd},
+  {0x8134f930, 0xe1a5be},
+  {0x8134f931, 0xe1a5bf},
+  {0x8134f932, 0xe1a680},
+  {0x8134f933, 0xe1a681},
+  {0x8134f934, 0xe1a682},
+  {0x8134f935, 0xe1a683},
+  {0x8134f936, 0xe1a684},
+  {0x8134f937, 0xe1a685},
+  {0x8134f938, 0xe1a686},
+  {0x8134f939, 0xe1a687},
+  {0x8134fa30, 0xe1a688},
+  {0x8134fa31, 0xe1a689},
+  {0x8134fa32, 0xe1a68a},
+  {0x8134fa33, 0xe1a68b},
+  {0x8134fa34, 0xe1a68c},
+  {0x8134fa35, 0xe1a68d},
+  {0x8134fa36, 0xe1a68e},
+  {0x8134fa37, 0xe1a68f},
+  {0x8134fa38, 0xe1a690},
+  {0x8134fa39, 0xe1a691},
+  {0x8134fb30, 0xe1a692},
+  {0x8134fb31, 0xe1a693},
+  {0x8134fb32, 0xe1a694},
+  {0x8134fb33, 0xe1a695},
+  {0x8134fb34, 0xe1a696},
+  {0x8134fb35, 0xe1a697},
+  {0x8134fb36, 0xe1a698},
+  {0x8134fb37, 0xe1a699},
+  {0x8134fb38, 0xe1a69a},
+  {0x8134fb39, 0xe1a69b},
+  {0x8134fc30, 0xe1a69c},
+  {0x8134fc31, 0xe1a69d},
+  {0x8134fc32, 0xe1a69e},
+  {0x8134fc33, 0xe1a69f},
+  {0x8134fc34, 0xe1a6a0},
+  {0x8134fc35, 0xe1a6a1},
+  {0x8134fc36, 0xe1a6a2},
+  {0x8134fc37, 0xe1a6a3},
+  {0x8134fc38, 0xe1a6a4},
+  {0x8134fc39, 0xe1a6a5},
+  {0x8134fd30, 0xe1a6a6},
+  {0x8134fd31, 0xe1a6a7},
+  {0x8134fd32, 0xe1a6a8},
+  {0x8134fd33, 0xe1a6a9},
+  {0x8134fd34, 0xe1a6aa},
+  {0x8134fd35, 0xe1a6ab},
+  {0x8134fd36, 0xe1a6ac},
+  {0x8134fd37, 0xe1a6ad},
+  {0x8134fd38, 0xe1a6ae},
+  {0x8134fd39, 0xe1a6af},
+  {0x8134fe30, 0xe1a6b0},
+  {0x8134fe31, 0xe1a6b1},
+  {0x8134fe32, 0xe1a6b2},
+  {0x8134fe33, 0xe1a6b3},
+  {0x8134fe34, 0xe1a6b4},
+  {0x8134fe35, 0xe1a6b5},
+  {0x8134fe36, 0xe1a6b6},
+  {0x8134fe37, 0xe1a6b7},
+  {0x8134fe38, 0xe1a6b8},
+  {0x8134fe39, 0xe1a6b9},
+  {0x81358130, 0xe1a6ba},
+  {0x81358131, 0xe1a6bb},
+  {0x81358132, 0xe1a6bc},
+  {0x81358133, 0xe1a6bd},
+  {0x81358134, 0xe1a6be},
+  {0x81358135, 0xe1a6bf},
+  {0x81358136, 0xe1a780},
+  {0x81358137, 0xe1a781},
+  {0x81358138, 0xe1a782},
+  {0x81358139, 0xe1a783},
+  {0x81358230, 0xe1a784},
+  {0x81358231, 0xe1a785},
+  {0x81358232, 0xe1a786},
+  {0x81358233, 0xe1a787},
+  {0x81358234, 0xe1a788},
+  {0x81358235, 0xe1a789},
+  {0x81358236, 0xe1a78a},
+  {0x81358237, 0xe1a78b},
+  {0x81358238, 0xe1a78c},
+  {0x81358239, 0xe1a78d},
+  {0x81358330, 0xe1a78e},
+  {0x81358331, 0xe1a78f},
+  {0x81358332, 0xe1a790},
+  {0x81358333, 0xe1a791},
+  {0x81358334, 0xe1a792},
+  {0x81358335, 0xe1a793},
+  {0x81358336, 0xe1a794},
+  {0x81358337, 0xe1a795},
+  {0x81358338, 0xe1a796},
+  {0x81358339, 0xe1a797},
+  {0x81358430, 0xe1a798},
+  {0x81358431, 0xe1a799},
+  {0x81358432, 0xe1a79a},
+  {0x81358433, 0xe1a79b},
+  {0x81358434, 0xe1a79c},
+  {0x81358435, 0xe1a79d},
+  {0x81358436, 0xe1a79e},
+  {0x81358437, 0xe1a79f},
+  {0x81358438, 0xe1a7a0},
+  {0x81358439, 0xe1a7a1},
+  {0x81358530, 0xe1a7a2},
+  {0x81358531, 0xe1a7a3},
+  {0x81358532, 0xe1a7a4},
+  {0x81358533, 0xe1a7a5},
+  {0x81358534, 0xe1a7a6},
+  {0x81358535, 0xe1a7a7},
+  {0x81358536, 0xe1a7a8},
+  {0x81358537, 0xe1a7a9},
+  {0x81358538, 0xe1a7aa},
+  {0x81358539, 0xe1a7ab},
+  {0x81358630, 0xe1a7ac},
+  {0x81358631, 0xe1a7ad},
+  {0x81358632, 0xe1a7ae},
+  {0x81358633, 0xe1a7af},
+  {0x81358634, 0xe1a7b0},
+  {0x81358635, 0xe1a7b1},
+  {0x81358636, 0xe1a7b2},
+  {0x81358637, 0xe1a7b3},
+  {0x81358638, 0xe1a7b4},
+  {0x81358639, 0xe1a7b5},
+  {0x81358730, 0xe1a7b6},
+  {0x81358731, 0xe1a7b7},
+  {0x81358732, 0xe1a7b8},
+  {0x81358733, 0xe1a7b9},
+  {0x81358734, 0xe1a7ba},
+  {0x81358735, 0xe1a7bb},
+  {0x81358736, 0xe1a7bc},
+  {0x81358737, 0xe1a7bd},
+  {0x81358738, 0xe1a7be},
+  {0x81358739, 0xe1a7bf},
+  {0x81358830, 0xe1a880},
+  {0x81358831, 0xe1a881},
+  {0x81358832, 0xe1a882},
+  {0x81358833, 0xe1a883},
+  {0x81358834, 0xe1a884},
+  {0x81358835, 0xe1a885},
+  {0x81358836, 0xe1a886},
+  {0x81358837, 0xe1a887},
+  {0x81358838, 0xe1a888},
+  {0x81358839, 0xe1a889},
+  {0x81358930, 0xe1a88a},
+  {0x81358931, 0xe1a88b},
+  {0x81358932, 0xe1a88c},
+  {0x81358933, 0xe1a88d},
+  {0x81358934, 0xe1a88e},
+  {0x81358935, 0xe1a88f},
+  {0x81358936, 0xe1a890},
+  {0x81358937, 0xe1a891},
+  {0x81358938, 0xe1a892},
+  {0x81358939, 0xe1a893},
+  {0x81358a30, 0xe1a894},
+  {0x81358a31, 0xe1a895},
+  {0x81358a32, 0xe1a896},
+  {0x81358a33, 0xe1a897},
+  {0x81358a34, 0xe1a898},
+  {0x81358a35, 0xe1a899},
+  {0x81358a36, 0xe1a89a},
+  {0x81358a37, 0xe1a89b},
+  {0x81358a38, 0xe1a89c},
+  {0x81358a39, 0xe1a89d},
+  {0x81358b30, 0xe1a89e},
+  {0x81358b31, 0xe1a89f},
+  {0x81358b32, 0xe1a8a0},
+  {0x81358b33, 0xe1a8a1},
+  {0x81358b34, 0xe1a8a2},
+  {0x81358b35, 0xe1a8a3},
+  {0x81358b36, 0xe1a8a4},
+  {0x81358b37, 0xe1a8a5},
+  {0x81358b38, 0xe1a8a6},
+  {0x81358b39, 0xe1a8a7},
+  {0x81358c30, 0xe1a8a8},
+  {0x81358c31, 0xe1a8a9},
+  {0x81358c32, 0xe1a8aa},
+  {0x81358c33, 0xe1a8ab},
+  {0x81358c34, 0xe1a8ac},
+  {0x81358c35, 0xe1a8ad},
+  {0x81358c36, 0xe1a8ae},
+  {0x81358c37, 0xe1a8af},
+  {0x81358c38, 0xe1a8b0},
+  {0x81358c39, 0xe1a8b1},
+  {0x81358d30, 0xe1a8b2},
+  {0x81358d31, 0xe1a8b3},
+  {0x81358d32, 0xe1a8b4},
+  {0x81358d33, 0xe1a8b5},
+  {0x81358d34, 0xe1a8b6},
+  {0x81358d35, 0xe1a8b7},
+  {0x81358d36, 0xe1a8b8},
+  {0x81358d37, 0xe1a8b9},
+  {0x81358d38, 0xe1a8ba},
+  {0x81358d39, 0xe1a8bb},
+  {0x81358e30, 0xe1a8bc},
+  {0x81358e31, 0xe1a8bd},
+  {0x81358e32, 0xe1a8be},
+  {0x81358e33, 0xe1a8bf},
+  {0x81358e34, 0xe1a980},
+  {0x81358e35, 0xe1a981},
+  {0x81358e36, 0xe1a982},
+  {0x81358e37, 0xe1a983},
+  {0x81358e38, 0xe1a984},
+  {0x81358e39, 0xe1a985},
+  {0x81358f30, 0xe1a986},
+  {0x81358f31, 0xe1a987},
+  {0x81358f32, 0xe1a988},
+  {0x81358f33, 0xe1a989},
+  {0x81358f34, 0xe1a98a},
+  {0x81358f35, 0xe1a98b},
+  {0x81358f36, 0xe1a98c},
+  {0x81358f37, 0xe1a98d},
+  {0x81358f38, 0xe1a98e},
+  {0x81358f39, 0xe1a98f},
+  {0x81359030, 0xe1a990},
+  {0x81359031, 0xe1a991},
+  {0x81359032, 0xe1a992},
+  {0x81359033, 0xe1a993},
+  {0x81359034, 0xe1a994},
+  {0x81359035, 0xe1a995},
+  {0x81359036, 0xe1a996},
+  {0x81359037, 0xe1a997},
+  {0x81359038, 0xe1a998},
+  {0x81359039, 0xe1a999},
+  {0x81359130, 0xe1a99a},
+  {0x81359131, 0xe1a99b},
+  {0x81359132, 0xe1a99c},
+  {0x81359133, 0xe1a99d},
+  {0x81359134, 0xe1a99e},
+  {0x81359135, 0xe1a99f},
+  {0x81359136, 0xe1a9a0},
+  {0x81359137, 0xe1a9a1},
+  {0x81359138, 0xe1a9a2},
+  {0x81359139, 0xe1a9a3},
+  {0x81359230, 0xe1a9a4},
+  {0x81359231, 0xe1a9a5},
+  {0x81359232, 0xe1a9a6},
+  {0x81359233, 0xe1a9a7},
+  {0x81359234, 0xe1a9a8},
+  {0x81359235, 0xe1a9a9},
+  {0x81359236, 0xe1a9aa},
+  {0x81359237, 0xe1a9ab},
+  {0x81359238, 0xe1a9ac},
+  {0x81359239, 0xe1a9ad},
+  {0x81359330, 0xe1a9ae},
+  {0x81359331, 0xe1a9af},
+  {0x81359332, 0xe1a9b0},
+  {0x81359333, 0xe1a9b1},
+  {0x81359334, 0xe1a9b2},
+  {0x81359335, 0xe1a9b3},
+  {0x81359336, 0xe1a9b4},
+  {0x81359337, 0xe1a9b5},
+  {0x81359338, 0xe1a9b6},
+  {0x81359339, 0xe1a9b7},
+  {0x81359430, 0xe1a9b8},
+  {0x81359431, 0xe1a9b9},
+  {0x81359432, 0xe1a9ba},
+  {0x81359433, 0xe1a9bb},
+  {0x81359434, 0xe1a9bc},
+  {0x81359435, 0xe1a9bd},
+  {0x81359436, 0xe1a9be},
+  {0x81359437, 0xe1a9bf},
+  {0x81359438, 0xe1aa80},
+  {0x81359439, 0xe1aa81},
+  {0x81359530, 0xe1aa82},
+  {0x81359531, 0xe1aa83},
+  {0x81359532, 0xe1aa84},
+  {0x81359533, 0xe1aa85},
+  {0x81359534, 0xe1aa86},
+  {0x81359535, 0xe1aa87},
+  {0x81359536, 0xe1aa88},
+  {0x81359537, 0xe1aa89},
+  {0x81359538, 0xe1aa8a},
+  {0x81359539, 0xe1aa8b},
+  {0x81359630, 0xe1aa8c},
+  {0x81359631, 0xe1aa8d},
+  {0x81359632, 0xe1aa8e},
+  {0x81359633, 0xe1aa8f},
+  {0x81359634, 0xe1aa90},
+  {0x81359635, 0xe1aa91},
+  {0x81359636, 0xe1aa92},
+  {0x81359637, 0xe1aa93},
+  {0x81359638, 0xe1aa94},
+  {0x81359639, 0xe1aa95},
+  {0x81359730, 0xe1aa96},
+  {0x81359731, 0xe1aa97},
+  {0x81359732, 0xe1aa98},
+  {0x81359733, 0xe1aa99},
+  {0x81359734, 0xe1aa9a},
+  {0x81359735, 0xe1aa9b},
+  {0x81359736, 0xe1aa9c},
+  {0x81359737, 0xe1aa9d},
+  {0x81359738, 0xe1aa9e},
+  {0x81359739, 0xe1aa9f},
+  {0x81359830, 0xe1aaa0},
+  {0x81359831, 0xe1aaa1},
+  {0x81359832, 0xe1aaa2},
+  {0x81359833, 0xe1aaa3},
+  {0x81359834, 0xe1aaa4},
+  {0x81359835, 0xe1aaa5},
+  {0x81359836, 0xe1aaa6},
+  {0x81359837, 0xe1aaa7},
+  {0x81359838, 0xe1aaa8},
+  {0x81359839, 0xe1aaa9},
+  {0x81359930, 0xe1aaaa},
+  {0x81359931, 0xe1aaab},
+  {0x81359932, 0xe1aaac},
+  {0x81359933, 0xe1aaad},
+  {0x81359934, 0xe1aaae},
+  {0x81359935, 0xe1aaaf},
+  {0x81359936, 0xe1aab0},
+  {0x81359937, 0xe1aab1},
+  {0x81359938, 0xe1aab2},
+  {0x81359939, 0xe1aab3},
+  {0x81359a30, 0xe1aab4},
+  {0x81359a31, 0xe1aab5},
+  {0x81359a32, 0xe1aab6},
+  {0x81359a33, 0xe1aab7},
+  {0x81359a34, 0xe1aab8},
+  {0x81359a35, 0xe1aab9},
+  {0x81359a36, 0xe1aaba},
+  {0x81359a37, 0xe1aabb},
+  {0x81359a38, 0xe1aabc},
+  {0x81359a39, 0xe1aabd},
+  {0x81359b30, 0xe1aabe},
+  {0x81359b31, 0xe1aabf},
+  {0x81359b32, 0xe1ab80},
+  {0x81359b33, 0xe1ab81},
+  {0x81359b34, 0xe1ab82},
+  {0x81359b35, 0xe1ab83},
+  {0x81359b36, 0xe1ab84},
+  {0x81359b37, 0xe1ab85},
+  {0x81359b38, 0xe1ab86},
+  {0x81359b39, 0xe1ab87},
+  {0x81359c30, 0xe1ab88},
+  {0x81359c31, 0xe1ab89},
+  {0x81359c32, 0xe1ab8a},
+  {0x81359c33, 0xe1ab8b},
+  {0x81359c34, 0xe1ab8c},
+  {0x81359c35, 0xe1ab8d},
+  {0x81359c36, 0xe1ab8e},
+  {0x81359c37, 0xe1ab8f},
+  {0x81359c38, 0xe1ab90},
+  {0x81359c39, 0xe1ab91},
+  {0x81359d30, 0xe1ab92},
+  {0x81359d31, 0xe1ab93},
+  {0x81359d32, 0xe1ab94},
+  {0x81359d33, 0xe1ab95},
+  {0x81359d34, 0xe1ab96},
+  {0x81359d35, 0xe1ab97},
+  {0x81359d36, 0xe1ab98},
+  {0x81359d37, 0xe1ab99},
+  {0x81359d38, 0xe1ab9a},
+  {0x81359d39, 0xe1ab9b},
+  {0x81359e30, 0xe1ab9c},
+  {0x81359e31, 0xe1ab9d},
+  {0x81359e32, 0xe1ab9e},
+  {0x81359e33, 0xe1ab9f},
+  {0x81359e34, 0xe1aba0},
+  {0x81359e35, 0xe1aba1},
+  {0x81359e36, 0xe1aba2},
+  {0x81359e37, 0xe1aba3},
+  {0x81359e38, 0xe1aba4},
+  {0x81359e39, 0xe1aba5},
+  {0x81359f30, 0xe1aba6},
+  {0x81359f31, 0xe1aba7},
+  {0x81359f32, 0xe1aba8},
+  {0x81359f33, 0xe1aba9},
+  {0x81359f34, 0xe1abaa},
+  {0x81359f35, 0xe1abab},
+  {0x81359f36, 0xe1abac},
+  {0x81359f37, 0xe1abad},
+  {0x81359f38, 0xe1abae},
+  {0x81359f39, 0xe1abaf},
+  {0x8135a030, 0xe1abb0},
+  {0x8135a031, 0xe1abb1},
+  {0x8135a032, 0xe1abb2},
+  {0x8135a033, 0xe1abb3},
+  {0x8135a034, 0xe1abb4},
+  {0x8135a035, 0xe1abb5},
+  {0x8135a036, 0xe1abb6},
+  {0x8135a037, 0xe1abb7},
+  {0x8135a038, 0xe1abb8},
+  {0x8135a039, 0xe1abb9},
+  {0x8135a130, 0xe1abba},
+  {0x8135a131, 0xe1abbb},
+  {0x8135a132, 0xe1abbc},
+  {0x8135a133, 0xe1abbd},
+  {0x8135a134, 0xe1abbe},
+  {0x8135a135, 0xe1abbf},
+  {0x8135a136, 0xe1ac80},
+  {0x8135a137, 0xe1ac81},
+  {0x8135a138, 0xe1ac82},
+  {0x8135a139, 0xe1ac83},
+  {0x8135a230, 0xe1ac84},
+  {0x8135a231, 0xe1ac85},
+  {0x8135a232, 0xe1ac86},
+  {0x8135a233, 0xe1ac87},
+  {0x8135a234, 0xe1ac88},
+  {0x8135a235, 0xe1ac89},
+  {0x8135a236, 0xe1ac8a},
+  {0x8135a237, 0xe1ac8b},
+  {0x8135a238, 0xe1ac8c},
+  {0x8135a239, 0xe1ac8d},
+  {0x8135a330, 0xe1ac8e},
+  {0x8135a331, 0xe1ac8f},
+  {0x8135a332, 0xe1ac90},
+  {0x8135a333, 0xe1ac91},
+  {0x8135a334, 0xe1ac92},
+  {0x8135a335, 0xe1ac93},
+  {0x8135a336, 0xe1ac94},
+  {0x8135a337, 0xe1ac95},
+  {0x8135a338, 0xe1ac96},
+  {0x8135a339, 0xe1ac97},
+  {0x8135a430, 0xe1ac98},
+  {0x8135a431, 0xe1ac99},
+  {0x8135a432, 0xe1ac9a},
+  {0x8135a433, 0xe1ac9b},
+  {0x8135a434, 0xe1ac9c},
+  {0x8135a435, 0xe1ac9d},
+  {0x8135a436, 0xe1ac9e},
+  {0x8135a437, 0xe1ac9f},
+  {0x8135a438, 0xe1aca0},
+  {0x8135a439, 0xe1aca1},
+  {0x8135a530, 0xe1aca2},
+  {0x8135a531, 0xe1aca3},
+  {0x8135a532, 0xe1aca4},
+  {0x8135a533, 0xe1aca5},
+  {0x8135a534, 0xe1aca6},
+  {0x8135a535, 0xe1aca7},
+  {0x8135a536, 0xe1aca8},
+  {0x8135a537, 0xe1aca9},
+  {0x8135a538, 0xe1acaa},
+  {0x8135a539, 0xe1acab},
+  {0x8135a630, 0xe1acac},
+  {0x8135a631, 0xe1acad},
+  {0x8135a632, 0xe1acae},
+  {0x8135a633, 0xe1acaf},
+  {0x8135a634, 0xe1acb0},
+  {0x8135a635, 0xe1acb1},
+  {0x8135a636, 0xe1acb2},
+  {0x8135a637, 0xe1acb3},
+  {0x8135a638, 0xe1acb4},
+  {0x8135a639, 0xe1acb5},
+  {0x8135a730, 0xe1acb6},
+  {0x8135a731, 0xe1acb7},
+  {0x8135a732, 0xe1acb8},
+  {0x8135a733, 0xe1acb9},
+  {0x8135a734, 0xe1acba},
+  {0x8135a735, 0xe1acbb},
+  {0x8135a736, 0xe1acbc},
+  {0x8135a737, 0xe1acbd},
+  {0x8135a738, 0xe1acbe},
+  {0x8135a739, 0xe1acbf},
+  {0x8135a830, 0xe1ad80},
+  {0x8135a831, 0xe1ad81},
+  {0x8135a832, 0xe1ad82},
+  {0x8135a833, 0xe1ad83},
+  {0x8135a834, 0xe1ad84},
+  {0x8135a835, 0xe1ad85},
+  {0x8135a836, 0xe1ad86},
+  {0x8135a837, 0xe1ad87},
+  {0x8135a838, 0xe1ad88},
+  {0x8135a839, 0xe1ad89},
+  {0x8135a930, 0xe1ad8a},
+  {0x8135a931, 0xe1ad8b},
+  {0x8135a932, 0xe1ad8c},
+  {0x8135a933, 0xe1ad8d},
+  {0x8135a934, 0xe1ad8e},
+  {0x8135a935, 0xe1ad8f},
+  {0x8135a936, 0xe1ad90},
+  {0x8135a937, 0xe1ad91},
+  {0x8135a938, 0xe1ad92},
+  {0x8135a939, 0xe1ad93},
+  {0x8135aa30, 0xe1ad94},
+  {0x8135aa31, 0xe1ad95},
+  {0x8135aa32, 0xe1ad96},
+  {0x8135aa33, 0xe1ad97},
+  {0x8135aa34, 0xe1ad98},
+  {0x8135aa35, 0xe1ad99},
+  {0x8135aa36, 0xe1ad9a},
+  {0x8135aa37, 0xe1ad9b},
+  {0x8135aa38, 0xe1ad9c},
+  {0x8135aa39, 0xe1ad9d},
+  {0x8135ab30, 0xe1ad9e},
+  {0x8135ab31, 0xe1ad9f},
+  {0x8135ab32, 0xe1ada0},
+  {0x8135ab33, 0xe1ada1},
+  {0x8135ab34, 0xe1ada2},
+  {0x8135ab35, 0xe1ada3},
+  {0x8135ab36, 0xe1ada4},
+  {0x8135ab37, 0xe1ada5},
+  {0x8135ab38, 0xe1ada6},
+  {0x8135ab39, 0xe1ada7},
+  {0x8135ac30, 0xe1ada8},
+  {0x8135ac31, 0xe1ada9},
+  {0x8135ac32, 0xe1adaa},
+  {0x8135ac33, 0xe1adab},
+  {0x8135ac34, 0xe1adac},
+  {0x8135ac35, 0xe1adad},
+  {0x8135ac36, 0xe1adae},
+  {0x8135ac37, 0xe1adaf},
+  {0x8135ac38, 0xe1adb0},
+  {0x8135ac39, 0xe1adb1},
+  {0x8135ad30, 0xe1adb2},
+  {0x8135ad31, 0xe1adb3},
+  {0x8135ad32, 0xe1adb4},
+  {0x8135ad33, 0xe1adb5},
+  {0x8135ad34, 0xe1adb6},
+  {0x8135ad35, 0xe1adb7},
+  {0x8135ad36, 0xe1adb8},
+  {0x8135ad37, 0xe1adb9},
+  {0x8135ad38, 0xe1adba},
+  {0x8135ad39, 0xe1adbb},
+  {0x8135ae30, 0xe1adbc},
+  {0x8135ae31, 0xe1adbd},
+  {0x8135ae32, 0xe1adbe},
+  {0x8135ae33, 0xe1adbf},
+  {0x8135ae34, 0xe1ae80},
+  {0x8135ae35, 0xe1ae81},
+  {0x8135ae36, 0xe1ae82},
+  {0x8135ae37, 0xe1ae83},
+  {0x8135ae38, 0xe1ae84},
+  {0x8135ae39, 0xe1ae85},
+  {0x8135af30, 0xe1ae86},
+  {0x8135af31, 0xe1ae87},
+  {0x8135af32, 0xe1ae88},
+  {0x8135af33, 0xe1ae89},
+  {0x8135af34, 0xe1ae8a},
+  {0x8135af35, 0xe1ae8b},
+  {0x8135af36, 0xe1ae8c},
+  {0x8135af37, 0xe1ae8d},
+  {0x8135af38, 0xe1ae8e},
+  {0x8135af39, 0xe1ae8f},
+  {0x8135b030, 0xe1ae90},
+  {0x8135b031, 0xe1ae91},
+  {0x8135b032, 0xe1ae92},
+  {0x8135b033, 0xe1ae93},
+  {0x8135b034, 0xe1ae94},
+  {0x8135b035, 0xe1ae95},
+  {0x8135b036, 0xe1ae96},
+  {0x8135b037, 0xe1ae97},
+  {0x8135b038, 0xe1ae98},
+  {0x8135b039, 0xe1ae99},
+  {0x8135b130, 0xe1ae9a},
+  {0x8135b131, 0xe1ae9b},
+  {0x8135b132, 0xe1ae9c},
+  {0x8135b133, 0xe1ae9d},
+  {0x8135b134, 0xe1ae9e},
+  {0x8135b135, 0xe1ae9f},
+  {0x8135b136, 0xe1aea0},
+  {0x8135b137, 0xe1aea1},
+  {0x8135b138, 0xe1aea2},
+  {0x8135b139, 0xe1aea3},
+  {0x8135b230, 0xe1aea4},
+  {0x8135b231, 0xe1aea5},
+  {0x8135b232, 0xe1aea6},
+  {0x8135b233, 0xe1aea7},
+  {0x8135b234, 0xe1aea8},
+  {0x8135b235, 0xe1aea9},
+  {0x8135b236, 0xe1aeaa},
+  {0x8135b237, 0xe1aeab},
+  {0x8135b238, 0xe1aeac},
+  {0x8135b239, 0xe1aead},
+  {0x8135b330, 0xe1aeae},
+  {0x8135b331, 0xe1aeaf},
+  {0x8135b332, 0xe1aeb0},
+  {0x8135b333, 0xe1aeb1},
+  {0x8135b334, 0xe1aeb2},
+  {0x8135b335, 0xe1aeb3},
+  {0x8135b336, 0xe1aeb4},
+  {0x8135b337, 0xe1aeb5},
+  {0x8135b338, 0xe1aeb6},
+  {0x8135b339, 0xe1aeb7},
+  {0x8135b430, 0xe1aeb8},
+  {0x8135b431, 0xe1aeb9},
+  {0x8135b432, 0xe1aeba},
+  {0x8135b433, 0xe1aebb},
+  {0x8135b434, 0xe1aebc},
+  {0x8135b435, 0xe1aebd},
+  {0x8135b436, 0xe1aebe},
+  {0x8135b437, 0xe1aebf},
+  {0x8135b438, 0xe1af80},
+  {0x8135b439, 0xe1af81},
+  {0x8135b530, 0xe1af82},
+  {0x8135b531, 0xe1af83},
+  {0x8135b532, 0xe1af84},
+  {0x8135b533, 0xe1af85},
+  {0x8135b534, 0xe1af86},
+  {0x8135b535, 0xe1af87},
+  {0x8135b536, 0xe1af88},
+  {0x8135b537, 0xe1af89},
+  {0x8135b538, 0xe1af8a},
+  {0x8135b539, 0xe1af8b},
+  {0x8135b630, 0xe1af8c},
+  {0x8135b631, 0xe1af8d},
+  {0x8135b632, 0xe1af8e},
+  {0x8135b633, 0xe1af8f},
+  {0x8135b634, 0xe1af90},
+  {0x8135b635, 0xe1af91},
+  {0x8135b636, 0xe1af92},
+  {0x8135b637, 0xe1af93},
+  {0x8135b638, 0xe1af94},
+  {0x8135b639, 0xe1af95},
+  {0x8135b730, 0xe1af96},
+  {0x8135b731, 0xe1af97},
+  {0x8135b732, 0xe1af98},
+  {0x8135b733, 0xe1af99},
+  {0x8135b734, 0xe1af9a},
+  {0x8135b735, 0xe1af9b},
+  {0x8135b736, 0xe1af9c},
+  {0x8135b737, 0xe1af9d},
+  {0x8135b738, 0xe1af9e},
+  {0x8135b739, 0xe1af9f},
+  {0x8135b830, 0xe1afa0},
+  {0x8135b831, 0xe1afa1},
+  {0x8135b832, 0xe1afa2},
+  {0x8135b833, 0xe1afa3},
+  {0x8135b834, 0xe1afa4},
+  {0x8135b835, 0xe1afa5},
+  {0x8135b836, 0xe1afa6},
+  {0x8135b837, 0xe1afa7},
+  {0x8135b838, 0xe1afa8},
+  {0x8135b839, 0xe1afa9},
+  {0x8135b930, 0xe1afaa},
+  {0x8135b931, 0xe1afab},
+  {0x8135b932, 0xe1afac},
+  {0x8135b933, 0xe1afad},
+  {0x8135b934, 0xe1afae},
+  {0x8135b935, 0xe1afaf},
+  {0x8135b936, 0xe1afb0},
+  {0x8135b937, 0xe1afb1},
+  {0x8135b938, 0xe1afb2},
+  {0x8135b939, 0xe1afb3},
+  {0x8135ba30, 0xe1afb4},
+  {0x8135ba31, 0xe1afb5},
+  {0x8135ba32, 0xe1afb6},
+  {0x8135ba33, 0xe1afb7},
+  {0x8135ba34, 0xe1afb8},
+  {0x8135ba35, 0xe1afb9},
+  {0x8135ba36, 0xe1afba},
+  {0x8135ba37, 0xe1afbb},
+  {0x8135ba38, 0xe1afbc},
+  {0x8135ba39, 0xe1afbd},
+  {0x8135bb30, 0xe1afbe},
+  {0x8135bb31, 0xe1afbf},
+  {0x8135bb32, 0xe1b080},
+  {0x8135bb33, 0xe1b081},
+  {0x8135bb34, 0xe1b082},
+  {0x8135bb35, 0xe1b083},
+  {0x8135bb36, 0xe1b084},
+  {0x8135bb37, 0xe1b085},
+  {0x8135bb38, 0xe1b086},
+  {0x8135bb39, 0xe1b087},
+  {0x8135bc30, 0xe1b088},
+  {0x8135bc31, 0xe1b089},
+  {0x8135bc32, 0xe1b08a},
+  {0x8135bc33, 0xe1b08b},
+  {0x8135bc34, 0xe1b08c},
+  {0x8135bc35, 0xe1b08d},
+  {0x8135bc36, 0xe1b08e},
+  {0x8135bc37, 0xe1b08f},
+  {0x8135bc38, 0xe1b090},
+  {0x8135bc39, 0xe1b091},
+  {0x8135bd30, 0xe1b092},
+  {0x8135bd31, 0xe1b093},
+  {0x8135bd32, 0xe1b094},
+  {0x8135bd33, 0xe1b095},
+  {0x8135bd34, 0xe1b096},
+  {0x8135bd35, 0xe1b097},
+  {0x8135bd36, 0xe1b098},
+  {0x8135bd37, 0xe1b099},
+  {0x8135bd38, 0xe1b09a},
+  {0x8135bd39, 0xe1b09b},
+  {0x8135be30, 0xe1b09c},
+  {0x8135be31, 0xe1b09d},
+  {0x8135be32, 0xe1b09e},
+  {0x8135be33, 0xe1b09f},
+  {0x8135be34, 0xe1b0a0},
+  {0x8135be35, 0xe1b0a1},
+  {0x8135be36, 0xe1b0a2},
+  {0x8135be37, 0xe1b0a3},
+  {0x8135be38, 0xe1b0a4},
+  {0x8135be39, 0xe1b0a5},
+  {0x8135bf30, 0xe1b0a6},
+  {0x8135bf31, 0xe1b0a7},
+  {0x8135bf32, 0xe1b0a8},
+  {0x8135bf33, 0xe1b0a9},
+  {0x8135bf34, 0xe1b0aa},
+  {0x8135bf35, 0xe1b0ab},
+  {0x8135bf36, 0xe1b0ac},
+  {0x8135bf37, 0xe1b0ad},
+  {0x8135bf38, 0xe1b0ae},
+  {0x8135bf39, 0xe1b0af},
+  {0x8135c030, 0xe1b0b0},
+  {0x8135c031, 0xe1b0b1},
+  {0x8135c032, 0xe1b0b2},
+  {0x8135c033, 0xe1b0b3},
+  {0x8135c034, 0xe1b0b4},
+  {0x8135c035, 0xe1b0b5},
+  {0x8135c036, 0xe1b0b6},
+  {0x8135c037, 0xe1b0b7},
+  {0x8135c038, 0xe1b0b8},
+  {0x8135c039, 0xe1b0b9},
+  {0x8135c130, 0xe1b0ba},
+  {0x8135c131, 0xe1b0bb},
+  {0x8135c132, 0xe1b0bc},
+  {0x8135c133, 0xe1b0bd},
+  {0x8135c134, 0xe1b0be},
+  {0x8135c135, 0xe1b0bf},
+  {0x8135c136, 0xe1b180},
+  {0x8135c137, 0xe1b181},
+  {0x8135c138, 0xe1b182},
+  {0x8135c139, 0xe1b183},
+  {0x8135c230, 0xe1b184},
+  {0x8135c231, 0xe1b185},
+  {0x8135c232, 0xe1b186},
+  {0x8135c233, 0xe1b187},
+  {0x8135c234, 0xe1b188},
+  {0x8135c235, 0xe1b189},
+  {0x8135c236, 0xe1b18a},
+  {0x8135c237, 0xe1b18b},
+  {0x8135c238, 0xe1b18c},
+  {0x8135c239, 0xe1b18d},
+  {0x8135c330, 0xe1b18e},
+  {0x8135c331, 0xe1b18f},
+  {0x8135c332, 0xe1b190},
+  {0x8135c333, 0xe1b191},
+  {0x8135c334, 0xe1b192},
+  {0x8135c335, 0xe1b193},
+  {0x8135c336, 0xe1b194},
+  {0x8135c337, 0xe1b195},
+  {0x8135c338, 0xe1b196},
+  {0x8135c339, 0xe1b197},
+  {0x8135c430, 0xe1b198},
+  {0x8135c431, 0xe1b199},
+  {0x8135c432, 0xe1b19a},
+  {0x8135c433, 0xe1b19b},
+  {0x8135c434, 0xe1b19c},
+  {0x8135c435, 0xe1b19d},
+  {0x8135c436, 0xe1b19e},
+  {0x8135c437, 0xe1b19f},
+  {0x8135c438, 0xe1b1a0},
+  {0x8135c439, 0xe1b1a1},
+  {0x8135c530, 0xe1b1a2},
+  {0x8135c531, 0xe1b1a3},
+  {0x8135c532, 0xe1b1a4},
+  {0x8135c533, 0xe1b1a5},
+  {0x8135c534, 0xe1b1a6},
+  {0x8135c535, 0xe1b1a7},
+  {0x8135c536, 0xe1b1a8},
+  {0x8135c537, 0xe1b1a9},
+  {0x8135c538, 0xe1b1aa},
+  {0x8135c539, 0xe1b1ab},
+  {0x8135c630, 0xe1b1ac},
+  {0x8135c631, 0xe1b1ad},
+  {0x8135c632, 0xe1b1ae},
+  {0x8135c633, 0xe1b1af},
+  {0x8135c634, 0xe1b1b0},
+  {0x8135c635, 0xe1b1b1},
+  {0x8135c636, 0xe1b1b2},
+  {0x8135c637, 0xe1b1b3},
+  {0x8135c638, 0xe1b1b4},
+  {0x8135c639, 0xe1b1b5},
+  {0x8135c730, 0xe1b1b6},
+  {0x8135c731, 0xe1b1b7},
+  {0x8135c732, 0xe1b1b8},
+  {0x8135c733, 0xe1b1b9},
+  {0x8135c734, 0xe1b1ba},
+  {0x8135c735, 0xe1b1bb},
+  {0x8135c736, 0xe1b1bc},
+  {0x8135c737, 0xe1b1bd},
+  {0x8135c738, 0xe1b1be},
+  {0x8135c739, 0xe1b1bf},
+  {0x8135c830, 0xe1b280},
+  {0x8135c831, 0xe1b281},
+  {0x8135c832, 0xe1b282},
+  {0x8135c833, 0xe1b283},
+  {0x8135c834, 0xe1b284},
+  {0x8135c835, 0xe1b285},
+  {0x8135c836, 0xe1b286},
+  {0x8135c837, 0xe1b287},
+  {0x8135c838, 0xe1b288},
+  {0x8135c839, 0xe1b289},
+  {0x8135c930, 0xe1b28a},
+  {0x8135c931, 0xe1b28b},
+  {0x8135c932, 0xe1b28c},
+  {0x8135c933, 0xe1b28d},
+  {0x8135c934, 0xe1b28e},
+  {0x8135c935, 0xe1b28f},
+  {0x8135c936, 0xe1b290},
+  {0x8135c937, 0xe1b291},
+  {0x8135c938, 0xe1b292},
+  {0x8135c939, 0xe1b293},
+  {0x8135ca30, 0xe1b294},
+  {0x8135ca31, 0xe1b295},
+  {0x8135ca32, 0xe1b296},
+  {0x8135ca33, 0xe1b297},
+  {0x8135ca34, 0xe1b298},
+  {0x8135ca35, 0xe1b299},
+  {0x8135ca36, 0xe1b29a},
+  {0x8135ca37, 0xe1b29b},
+  {0x8135ca38, 0xe1b29c},
+  {0x8135ca39, 0xe1b29d},
+  {0x8135cb30, 0xe1b29e},
+  {0x8135cb31, 0xe1b29f},
+  {0x8135cb32, 0xe1b2a0},
+  {0x8135cb33, 0xe1b2a1},
+  {0x8135cb34, 0xe1b2a2},
+  {0x8135cb35, 0xe1b2a3},
+  {0x8135cb36, 0xe1b2a4},
+  {0x8135cb37, 0xe1b2a5},
+  {0x8135cb38, 0xe1b2a6},
+  {0x8135cb39, 0xe1b2a7},
+  {0x8135cc30, 0xe1b2a8},
+  {0x8135cc31, 0xe1b2a9},
+  {0x8135cc32, 0xe1b2aa},
+  {0x8135cc33, 0xe1b2ab},
+  {0x8135cc34, 0xe1b2ac},
+  {0x8135cc35, 0xe1b2ad},
+  {0x8135cc36, 0xe1b2ae},
+  {0x8135cc37, 0xe1b2af},
+  {0x8135cc38, 0xe1b2b0},
+  {0x8135cc39, 0xe1b2b1},
+  {0x8135cd30, 0xe1b2b2},
+  {0x8135cd31, 0xe1b2b3},
+  {0x8135cd32, 0xe1b2b4},
+  {0x8135cd33, 0xe1b2b5},
+  {0x8135cd34, 0xe1b2b6},
+  {0x8135cd35, 0xe1b2b7},
+  {0x8135cd36, 0xe1b2b8},
+  {0x8135cd37, 0xe1b2b9},
+  {0x8135cd38, 0xe1b2ba},
+  {0x8135cd39, 0xe1b2bb},
+  {0x8135ce30, 0xe1b2bc},
+  {0x8135ce31, 0xe1b2bd},
+  {0x8135ce32, 0xe1b2be},
+  {0x8135ce33, 0xe1b2bf},
+  {0x8135ce34, 0xe1b380},
+  {0x8135ce35, 0xe1b381},
+  {0x8135ce36, 0xe1b382},
+  {0x8135ce37, 0xe1b383},
+  {0x8135ce38, 0xe1b384},
+  {0x8135ce39, 0xe1b385},
+  {0x8135cf30, 0xe1b386},
+  {0x8135cf31, 0xe1b387},
+  {0x8135cf32, 0xe1b388},
+  {0x8135cf33, 0xe1b389},
+  {0x8135cf34, 0xe1b38a},
+  {0x8135cf35, 0xe1b38b},
+  {0x8135cf36, 0xe1b38c},
+  {0x8135cf37, 0xe1b38d},
+  {0x8135cf38, 0xe1b38e},
+  {0x8135cf39, 0xe1b38f},
+  {0x8135d030, 0xe1b390},
+  {0x8135d031, 0xe1b391},
+  {0x8135d032, 0xe1b392},
+  {0x8135d033, 0xe1b393},
+  {0x8135d034, 0xe1b394},
+  {0x8135d035, 0xe1b395},
+  {0x8135d036, 0xe1b396},
+  {0x8135d037, 0xe1b397},
+  {0x8135d038, 0xe1b398},
+  {0x8135d039, 0xe1b399},
+  {0x8135d130, 0xe1b39a},
+  {0x8135d131, 0xe1b39b},
+  {0x8135d132, 0xe1b39c},
+  {0x8135d133, 0xe1b39d},
+  {0x8135d134, 0xe1b39e},
+  {0x8135d135, 0xe1b39f},
+  {0x8135d136, 0xe1b3a0},
+  {0x8135d137, 0xe1b3a1},
+  {0x8135d138, 0xe1b3a2},
+  {0x8135d139, 0xe1b3a3},
+  {0x8135d230, 0xe1b3a4},
+  {0x8135d231, 0xe1b3a5},
+  {0x8135d232, 0xe1b3a6},
+  {0x8135d233, 0xe1b3a7},
+  {0x8135d234, 0xe1b3a8},
+  {0x8135d235, 0xe1b3a9},
+  {0x8135d236, 0xe1b3aa},
+  {0x8135d237, 0xe1b3ab},
+  {0x8135d238, 0xe1b3ac},
+  {0x8135d239, 0xe1b3ad},
+  {0x8135d330, 0xe1b3ae},
+  {0x8135d331, 0xe1b3af},
+  {0x8135d332, 0xe1b3b0},
+  {0x8135d333, 0xe1b3b1},
+  {0x8135d334, 0xe1b3b2},
+  {0x8135d335, 0xe1b3b3},
+  {0x8135d336, 0xe1b3b4},
+  {0x8135d337, 0xe1b3b5},
+  {0x8135d338, 0xe1b3b6},
+  {0x8135d339, 0xe1b3b7},
+  {0x8135d430, 0xe1b3b8},
+  {0x8135d431, 0xe1b3b9},
+  {0x8135d432, 0xe1b3ba},
+  {0x8135d433, 0xe1b3bb},
+  {0x8135d434, 0xe1b3bc},
+  {0x8135d435, 0xe1b3bd},
+  {0x8135d436, 0xe1b3be},
+  {0x8135d437, 0xe1b3bf},
+  {0x8135d438, 0xe1b480},
+  {0x8135d439, 0xe1b481},
+  {0x8135d530, 0xe1b482},
+  {0x8135d531, 0xe1b483},
+  {0x8135d532, 0xe1b484},
+  {0x8135d533, 0xe1b485},
+  {0x8135d534, 0xe1b486},
+  {0x8135d535, 0xe1b487},
+  {0x8135d536, 0xe1b488},
+  {0x8135d537, 0xe1b489},
+  {0x8135d538, 0xe1b48a},
+  {0x8135d539, 0xe1b48b},
+  {0x8135d630, 0xe1b48c},
+  {0x8135d631, 0xe1b48d},
+  {0x8135d632, 0xe1b48e},
+  {0x8135d633, 0xe1b48f},
+  {0x8135d634, 0xe1b490},
+  {0x8135d635, 0xe1b491},
+  {0x8135d636, 0xe1b492},
+  {0x8135d637, 0xe1b493},
+  {0x8135d638, 0xe1b494},
+  {0x8135d639, 0xe1b495},
+  {0x8135d730, 0xe1b496},
+  {0x8135d731, 0xe1b497},
+  {0x8135d732, 0xe1b498},
+  {0x8135d733, 0xe1b499},
+  {0x8135d734, 0xe1b49a},
+  {0x8135d735, 0xe1b49b},
+  {0x8135d736, 0xe1b49c},
+  {0x8135d737, 0xe1b49d},
+  {0x8135d738, 0xe1b49e},
+  {0x8135d739, 0xe1b49f},
+  {0x8135d830, 0xe1b4a0},
+  {0x8135d831, 0xe1b4a1},
+  {0x8135d832, 0xe1b4a2},
+  {0x8135d833, 0xe1b4a3},
+  {0x8135d834, 0xe1b4a4},
+  {0x8135d835, 0xe1b4a5},
+  {0x8135d836, 0xe1b4a6},
+  {0x8135d837, 0xe1b4a7},
+  {0x8135d838, 0xe1b4a8},
+  {0x8135d839, 0xe1b4a9},
+  {0x8135d930, 0xe1b4aa},
+  {0x8135d931, 0xe1b4ab},
+  {0x8135d932, 0xe1b4ac},
+  {0x8135d933, 0xe1b4ad},
+  {0x8135d934, 0xe1b4ae},
+  {0x8135d935, 0xe1b4af},
+  {0x8135d936, 0xe1b4b0},
+  {0x8135d937, 0xe1b4b1},
+  {0x8135d938, 0xe1b4b2},
+  {0x8135d939, 0xe1b4b3},
+  {0x8135da30, 0xe1b4b4},
+  {0x8135da31, 0xe1b4b5},
+  {0x8135da32, 0xe1b4b6},
+  {0x8135da33, 0xe1b4b7},
+  {0x8135da34, 0xe1b4b8},
+  {0x8135da35, 0xe1b4b9},
+  {0x8135da36, 0xe1b4ba},
+  {0x8135da37, 0xe1b4bb},
+  {0x8135da38, 0xe1b4bc},
+  {0x8135da39, 0xe1b4bd},
+  {0x8135db30, 0xe1b4be},
+  {0x8135db31, 0xe1b4bf},
+  {0x8135db32, 0xe1b580},
+  {0x8135db33, 0xe1b581},
+  {0x8135db34, 0xe1b582},
+  {0x8135db35, 0xe1b583},
+  {0x8135db36, 0xe1b584},
+  {0x8135db37, 0xe1b585},
+  {0x8135db38, 0xe1b586},
+  {0x8135db39, 0xe1b587},
+  {0x8135dc30, 0xe1b588},
+  {0x8135dc31, 0xe1b589},
+  {0x8135dc32, 0xe1b58a},
+  {0x8135dc33, 0xe1b58b},
+  {0x8135dc34, 0xe1b58c},
+  {0x8135dc35, 0xe1b58d},
+  {0x8135dc36, 0xe1b58e},
+  {0x8135dc37, 0xe1b58f},
+  {0x8135dc38, 0xe1b590},
+  {0x8135dc39, 0xe1b591},
+  {0x8135dd30, 0xe1b592},
+  {0x8135dd31, 0xe1b593},
+  {0x8135dd32, 0xe1b594},
+  {0x8135dd33, 0xe1b595},
+  {0x8135dd34, 0xe1b596},
+  {0x8135dd35, 0xe1b597},
+  {0x8135dd36, 0xe1b598},
+  {0x8135dd37, 0xe1b599},
+  {0x8135dd38, 0xe1b59a},
+  {0x8135dd39, 0xe1b59b},
+  {0x8135de30, 0xe1b59c},
+  {0x8135de31, 0xe1b59d},
+  {0x8135de32, 0xe1b59e},
+  {0x8135de33, 0xe1b59f},
+  {0x8135de34, 0xe1b5a0},
+  {0x8135de35, 0xe1b5a1},
+  {0x8135de36, 0xe1b5a2},
+  {0x8135de37, 0xe1b5a3},
+  {0x8135de38, 0xe1b5a4},
+  {0x8135de39, 0xe1b5a5},
+  {0x8135df30, 0xe1b5a6},
+  {0x8135df31, 0xe1b5a7},
+  {0x8135df32, 0xe1b5a8},
+  {0x8135df33, 0xe1b5a9},
+  {0x8135df34, 0xe1b5aa},
+  {0x8135df35, 0xe1b5ab},
+  {0x8135df36, 0xe1b5ac},
+  {0x8135df37, 0xe1b5ad},
+  {0x8135df38, 0xe1b5ae},
+  {0x8135df39, 0xe1b5af},
+  {0x8135e030, 0xe1b5b0},
+  {0x8135e031, 0xe1b5b1},
+  {0x8135e032, 0xe1b5b2},
+  {0x8135e033, 0xe1b5b3},
+  {0x8135e034, 0xe1b5b4},
+  {0x8135e035, 0xe1b5b5},
+  {0x8135e036, 0xe1b5b6},
+  {0x8135e037, 0xe1b5b7},
+  {0x8135e038, 0xe1b5b8},
+  {0x8135e039, 0xe1b5b9},
+  {0x8135e130, 0xe1b5ba},
+  {0x8135e131, 0xe1b5bb},
+  {0x8135e132, 0xe1b5bc},
+  {0x8135e133, 0xe1b5bd},
+  {0x8135e134, 0xe1b5be},
+  {0x8135e135, 0xe1b5bf},
+  {0x8135e136, 0xe1b680},
+  {0x8135e137, 0xe1b681},
+  {0x8135e138, 0xe1b682},
+  {0x8135e139, 0xe1b683},
+  {0x8135e230, 0xe1b684},
+  {0x8135e231, 0xe1b685},
+  {0x8135e232, 0xe1b686},
+  {0x8135e233, 0xe1b687},
+  {0x8135e234, 0xe1b688},
+  {0x8135e235, 0xe1b689},
+  {0x8135e236, 0xe1b68a},
+  {0x8135e237, 0xe1b68b},
+  {0x8135e238, 0xe1b68c},
+  {0x8135e239, 0xe1b68d},
+  {0x8135e330, 0xe1b68e},
+  {0x8135e331, 0xe1b68f},
+  {0x8135e332, 0xe1b690},
+  {0x8135e333, 0xe1b691},
+  {0x8135e334, 0xe1b692},
+  {0x8135e335, 0xe1b693},
+  {0x8135e336, 0xe1b694},
+  {0x8135e337, 0xe1b695},
+  {0x8135e338, 0xe1b696},
+  {0x8135e339, 0xe1b697},
+  {0x8135e430, 0xe1b698},
+  {0x8135e431, 0xe1b699},
+  {0x8135e432, 0xe1b69a},
+  {0x8135e433, 0xe1b69b},
+  {0x8135e434, 0xe1b69c},
+  {0x8135e435, 0xe1b69d},
+  {0x8135e436, 0xe1b69e},
+  {0x8135e437, 0xe1b69f},
+  {0x8135e438, 0xe1b6a0},
+  {0x8135e439, 0xe1b6a1},
+  {0x8135e530, 0xe1b6a2},
+  {0x8135e531, 0xe1b6a3},
+  {0x8135e532, 0xe1b6a4},
+  {0x8135e533, 0xe1b6a5},
+  {0x8135e534, 0xe1b6a6},
+  {0x8135e535, 0xe1b6a7},
+  {0x8135e536, 0xe1b6a8},
+  {0x8135e537, 0xe1b6a9},
+  {0x8135e538, 0xe1b6aa},
+  {0x8135e539, 0xe1b6ab},
+  {0x8135e630, 0xe1b6ac},
+  {0x8135e631, 0xe1b6ad},
+  {0x8135e632, 0xe1b6ae},
+  {0x8135e633, 0xe1b6af},
+  {0x8135e634, 0xe1b6b0},
+  {0x8135e635, 0xe1b6b1},
+  {0x8135e636, 0xe1b6b2},
+  {0x8135e637, 0xe1b6b3},
+  {0x8135e638, 0xe1b6b4},
+  {0x8135e639, 0xe1b6b5},
+  {0x8135e730, 0xe1b6b6},
+  {0x8135e731, 0xe1b6b7},
+  {0x8135e732, 0xe1b6b8},
+  {0x8135e733, 0xe1b6b9},
+  {0x8135e734, 0xe1b6ba},
+  {0x8135e735, 0xe1b6bb},
+  {0x8135e736, 0xe1b6bc},
+  {0x8135e737, 0xe1b6bd},
+  {0x8135e738, 0xe1b6be},
+  {0x8135e739, 0xe1b6bf},
+  {0x8135e830, 0xe1b780},
+  {0x8135e831, 0xe1b781},
+  {0x8135e832, 0xe1b782},
+  {0x8135e833, 0xe1b783},
+  {0x8135e834, 0xe1b784},
+  {0x8135e835, 0xe1b785},
+  {0x8135e836, 0xe1b786},
+  {0x8135e837, 0xe1b787},
+  {0x8135e838, 0xe1b788},
+  {0x8135e839, 0xe1b789},
+  {0x8135e930, 0xe1b78a},
+  {0x8135e931, 0xe1b78b},
+  {0x8135e932, 0xe1b78c},
+  {0x8135e933, 0xe1b78d},
+  {0x8135e934, 0xe1b78e},
+  {0x8135e935, 0xe1b78f},
+  {0x8135e936, 0xe1b790},
+  {0x8135e937, 0xe1b791},
+  {0x8135e938, 0xe1b792},
+  {0x8135e939, 0xe1b793},
+  {0x8135ea30, 0xe1b794},
+  {0x8135ea31, 0xe1b795},
+  {0x8135ea32, 0xe1b796},
+  {0x8135ea33, 0xe1b797},
+  {0x8135ea34, 0xe1b798},
+  {0x8135ea35, 0xe1b799},
+  {0x8135ea36, 0xe1b79a},
+  {0x8135ea37, 0xe1b79b},
+  {0x8135ea38, 0xe1b79c},
+  {0x8135ea39, 0xe1b79d},
+  {0x8135eb30, 0xe1b79e},
+  {0x8135eb31, 0xe1b79f},
+  {0x8135eb32, 0xe1b7a0},
+  {0x8135eb33, 0xe1b7a1},
+  {0x8135eb34, 0xe1b7a2},
+  {0x8135eb35, 0xe1b7a3},
+  {0x8135eb36, 0xe1b7a4},
+  {0x8135eb37, 0xe1b7a5},
+  {0x8135eb38, 0xe1b7a6},
+  {0x8135eb39, 0xe1b7a7},
+  {0x8135ec30, 0xe1b7a8},
+  {0x8135ec31, 0xe1b7a9},
+  {0x8135ec32, 0xe1b7aa},
+  {0x8135ec33, 0xe1b7ab},
+  {0x8135ec34, 0xe1b7ac},
+  {0x8135ec35, 0xe1b7ad},
+  {0x8135ec36, 0xe1b7ae},
+  {0x8135ec37, 0xe1b7af},
+  {0x8135ec38, 0xe1b7b0},
+  {0x8135ec39, 0xe1b7b1},
+  {0x8135ed30, 0xe1b7b2},
+  {0x8135ed31, 0xe1b7b3},
+  {0x8135ed32, 0xe1b7b4},
+  {0x8135ed33, 0xe1b7b5},
+  {0x8135ed34, 0xe1b7b6},
+  {0x8135ed35, 0xe1b7b7},
+  {0x8135ed36, 0xe1b7b8},
+  {0x8135ed37, 0xe1b7b9},
+  {0x8135ed38, 0xe1b7ba},
+  {0x8135ed39, 0xe1b7bb},
+  {0x8135ee30, 0xe1b7bc},
+  {0x8135ee31, 0xe1b7bd},
+  {0x8135ee32, 0xe1b7be},
+  {0x8135ee33, 0xe1b7bf},
+  {0x8135ee34, 0xe1b880},
+  {0x8135ee35, 0xe1b881},
+  {0x8135ee36, 0xe1b882},
+  {0x8135ee37, 0xe1b883},
+  {0x8135ee38, 0xe1b884},
+  {0x8135ee39, 0xe1b885},
+  {0x8135ef30, 0xe1b886},
+  {0x8135ef31, 0xe1b887},
+  {0x8135ef32, 0xe1b888},
+  {0x8135ef33, 0xe1b889},
+  {0x8135ef34, 0xe1b88a},
+  {0x8135ef35, 0xe1b88b},
+  {0x8135ef36, 0xe1b88c},
+  {0x8135ef37, 0xe1b88d},
+  {0x8135ef38, 0xe1b88e},
+  {0x8135ef39, 0xe1b88f},
+  {0x8135f030, 0xe1b890},
+  {0x8135f031, 0xe1b891},
+  {0x8135f032, 0xe1b892},
+  {0x8135f033, 0xe1b893},
+  {0x8135f034, 0xe1b894},
+  {0x8135f035, 0xe1b895},
+  {0x8135f036, 0xe1b896},
+  {0x8135f037, 0xe1b897},
+  {0x8135f038, 0xe1b898},
+  {0x8135f039, 0xe1b899},
+  {0x8135f130, 0xe1b89a},
+  {0x8135f131, 0xe1b89b},
+  {0x8135f132, 0xe1b89c},
+  {0x8135f133, 0xe1b89d},
+  {0x8135f134, 0xe1b89e},
+  {0x8135f135, 0xe1b89f},
+  {0x8135f136, 0xe1b8a0},
+  {0x8135f137, 0xe1b8a1},
+  {0x8135f138, 0xe1b8a2},
+  {0x8135f139, 0xe1b8a3},
+  {0x8135f230, 0xe1b8a4},
+  {0x8135f231, 0xe1b8a5},
+  {0x8135f232, 0xe1b8a6},
+  {0x8135f233, 0xe1b8a7},
+  {0x8135f234, 0xe1b8a8},
+  {0x8135f235, 0xe1b8a9},
+  {0x8135f236, 0xe1b8aa},
+  {0x8135f237, 0xe1b8ab},
+  {0x8135f238, 0xe1b8ac},
+  {0x8135f239, 0xe1b8ad},
+  {0x8135f330, 0xe1b8ae},
+  {0x8135f331, 0xe1b8af},
+  {0x8135f332, 0xe1b8b0},
+  {0x8135f333, 0xe1b8b1},
+  {0x8135f334, 0xe1b8b2},
+  {0x8135f335, 0xe1b8b3},
+  {0x8135f336, 0xe1b8b4},
+  {0x8135f337, 0xe1b8b5},
+  {0x8135f338, 0xe1b8b6},
+  {0x8135f339, 0xe1b8b7},
+  {0x8135f430, 0xe1b8b8},
+  {0x8135f431, 0xe1b8b9},
+  {0x8135f432, 0xe1b8ba},
+  {0x8135f433, 0xe1b8bb},
+  {0x8135f434, 0xe1b8bc},
+  {0x8135f435, 0xe1b8bd},
+  {0x8135f436, 0xe1b8be},
+  {0x8135f437, 0xe1b8bf},
+  {0x8135f438, 0xe1b980},
+  {0x8135f439, 0xe1b981},
+  {0x8135f530, 0xe1b982},
+  {0x8135f531, 0xe1b983},
+  {0x8135f532, 0xe1b984},
+  {0x8135f533, 0xe1b985},
+  {0x8135f534, 0xe1b986},
+  {0x8135f535, 0xe1b987},
+  {0x8135f536, 0xe1b988},
+  {0x8135f537, 0xe1b989},
+  {0x8135f538, 0xe1b98a},
+  {0x8135f539, 0xe1b98b},
+  {0x8135f630, 0xe1b98c},
+  {0x8135f631, 0xe1b98d},
+  {0x8135f632, 0xe1b98e},
+  {0x8135f633, 0xe1b98f},
+  {0x8135f634, 0xe1b990},
+  {0x8135f635, 0xe1b991},
+  {0x8135f636, 0xe1b992},
+  {0x8135f637, 0xe1b993},
+  {0x8135f638, 0xe1b994},
+  {0x8135f639, 0xe1b995},
+  {0x8135f730, 0xe1b996},
+  {0x8135f731, 0xe1b997},
+  {0x8135f732, 0xe1b998},
+  {0x8135f733, 0xe1b999},
+  {0x8135f734, 0xe1b99a},
+  {0x8135f735, 0xe1b99b},
+  {0x8135f736, 0xe1b99c},
+  {0x8135f737, 0xe1b99d},
+  {0x8135f738, 0xe1b99e},
+  {0x8135f739, 0xe1b99f},
+  {0x8135f830, 0xe1b9a0},
+  {0x8135f831, 0xe1b9a1},
+  {0x8135f832, 0xe1b9a2},
+  {0x8135f833, 0xe1b9a3},
+  {0x8135f834, 0xe1b9a4},
+  {0x8135f835, 0xe1b9a5},
+  {0x8135f836, 0xe1b9a6},
+  {0x8135f837, 0xe1b9a7},
+  {0x8135f838, 0xe1b9a8},
+  {0x8135f839, 0xe1b9a9},
+  {0x8135f930, 0xe1b9aa},
+  {0x8135f931, 0xe1b9ab},
+  {0x8135f932, 0xe1b9ac},
+  {0x8135f933, 0xe1b9ad},
+  {0x8135f934, 0xe1b9ae},
+  {0x8135f935, 0xe1b9af},
+  {0x8135f936, 0xe1b9b0},
+  {0x8135f937, 0xe1b9b1},
+  {0x8135f938, 0xe1b9b2},
+  {0x8135f939, 0xe1b9b3},
+  {0x8135fa30, 0xe1b9b4},
+  {0x8135fa31, 0xe1b9b5},
+  {0x8135fa32, 0xe1b9b6},
+  {0x8135fa33, 0xe1b9b7},
+  {0x8135fa34, 0xe1b9b8},
+  {0x8135fa35, 0xe1b9b9},
+  {0x8135fa36, 0xe1b9ba},
+  {0x8135fa37, 0xe1b9bb},
+  {0x8135fa38, 0xe1b9bc},
+  {0x8135fa39, 0xe1b9bd},
+  {0x8135fb30, 0xe1b9be},
+  {0x8135fb31, 0xe1b9bf},
+  {0x8135fb32, 0xe1ba80},
+  {0x8135fb33, 0xe1ba81},
+  {0x8135fb34, 0xe1ba82},
+  {0x8135fb35, 0xe1ba83},
+  {0x8135fb36, 0xe1ba84},
+  {0x8135fb37, 0xe1ba85},
+  {0x8135fb38, 0xe1ba86},
+  {0x8135fb39, 0xe1ba87},
+  {0x8135fc30, 0xe1ba88},
+  {0x8135fc31, 0xe1ba89},
+  {0x8135fc32, 0xe1ba8a},
+  {0x8135fc33, 0xe1ba8b},
+  {0x8135fc34, 0xe1ba8c},
+  {0x8135fc35, 0xe1ba8d},
+  {0x8135fc36, 0xe1ba8e},
+  {0x8135fc37, 0xe1ba8f},
+  {0x8135fc38, 0xe1ba90},
+  {0x8135fc39, 0xe1ba91},
+  {0x8135fd30, 0xe1ba92},
+  {0x8135fd31, 0xe1ba93},
+  {0x8135fd32, 0xe1ba94},
+  {0x8135fd33, 0xe1ba95},
+  {0x8135fd34, 0xe1ba96},
+  {0x8135fd35, 0xe1ba97},
+  {0x8135fd36, 0xe1ba98},
+  {0x8135fd37, 0xe1ba99},
+  {0x8135fd38, 0xe1ba9a},
+  {0x8135fd39, 0xe1ba9b},
+  {0x8135fe30, 0xe1ba9c},
+  {0x8135fe31, 0xe1ba9d},
+  {0x8135fe32, 0xe1ba9e},
+  {0x8135fe33, 0xe1ba9f},
+  {0x8135fe34, 0xe1baa0},
+  {0x8135fe35, 0xe1baa1},
+  {0x8135fe36, 0xe1baa2},
+  {0x8135fe37, 0xe1baa3},
+  {0x8135fe38, 0xe1baa4},
+  {0x8135fe39, 0xe1baa5},
+  {0x81368130, 0xe1baa6},
+  {0x81368131, 0xe1baa7},
+  {0x81368132, 0xe1baa8},
+  {0x81368133, 0xe1baa9},
+  {0x81368134, 0xe1baaa},
+  {0x81368135, 0xe1baab},
+  {0x81368136, 0xe1baac},
+  {0x81368137, 0xe1baad},
+  {0x81368138, 0xe1baae},
+  {0x81368139, 0xe1baaf},
+  {0x81368230, 0xe1bab0},
+  {0x81368231, 0xe1bab1},
+  {0x81368232, 0xe1bab2},
+  {0x81368233, 0xe1bab3},
+  {0x81368234, 0xe1bab4},
+  {0x81368235, 0xe1bab5},
+  {0x81368236, 0xe1bab6},
+  {0x81368237, 0xe1bab7},
+  {0x81368238, 0xe1bab8},
+  {0x81368239, 0xe1bab9},
+  {0x81368330, 0xe1baba},
+  {0x81368331, 0xe1babb},
+  {0x81368332, 0xe1babc},
+  {0x81368333, 0xe1babd},
+  {0x81368334, 0xe1babe},
+  {0x81368335, 0xe1babf},
+  {0x81368336, 0xe1bb80},
+  {0x81368337, 0xe1bb81},
+  {0x81368338, 0xe1bb82},
+  {0x81368339, 0xe1bb83},
+  {0x81368430, 0xe1bb84},
+  {0x81368431, 0xe1bb85},
+  {0x81368432, 0xe1bb86},
+  {0x81368433, 0xe1bb87},
+  {0x81368434, 0xe1bb88},
+  {0x81368435, 0xe1bb89},
+  {0x81368436, 0xe1bb8a},
+  {0x81368437, 0xe1bb8b},
+  {0x81368438, 0xe1bb8c},
+  {0x81368439, 0xe1bb8d},
+  {0x81368530, 0xe1bb8e},
+  {0x81368531, 0xe1bb8f},
+  {0x81368532, 0xe1bb90},
+  {0x81368533, 0xe1bb91},
+  {0x81368534, 0xe1bb92},
+  {0x81368535, 0xe1bb93},
+  {0x81368536, 0xe1bb94},
+  {0x81368537, 0xe1bb95},
+  {0x81368538, 0xe1bb96},
+  {0x81368539, 0xe1bb97},
+  {0x81368630, 0xe1bb98},
+  {0x81368631, 0xe1bb99},
+  {0x81368632, 0xe1bb9a},
+  {0x81368633, 0xe1bb9b},
+  {0x81368634, 0xe1bb9c},
+  {0x81368635, 0xe1bb9d},
+  {0x81368636, 0xe1bb9e},
+  {0x81368637, 0xe1bb9f},
+  {0x81368638, 0xe1bba0},
+  {0x81368639, 0xe1bba1},
+  {0x81368730, 0xe1bba2},
+  {0x81368731, 0xe1bba3},
+  {0x81368732, 0xe1bba4},
+  {0x81368733, 0xe1bba5},
+  {0x81368734, 0xe1bba6},
+  {0x81368735, 0xe1bba7},
+  {0x81368736, 0xe1bba8},
+  {0x81368737, 0xe1bba9},
+  {0x81368738, 0xe1bbaa},
+  {0x81368739, 0xe1bbab},
+  {0x81368830, 0xe1bbac},
+  {0x81368831, 0xe1bbad},
+  {0x81368832, 0xe1bbae},
+  {0x81368833, 0xe1bbaf},
+  {0x81368834, 0xe1bbb0},
+  {0x81368835, 0xe1bbb1},
+  {0x81368836, 0xe1bbb2},
+  {0x81368837, 0xe1bbb3},
+  {0x81368838, 0xe1bbb4},
+  {0x81368839, 0xe1bbb5},
+  {0x81368930, 0xe1bbb6},
+  {0x81368931, 0xe1bbb7},
+  {0x81368932, 0xe1bbb8},
+  {0x81368933, 0xe1bbb9},
+  {0x81368934, 0xe1bbba},
+  {0x81368935, 0xe1bbbb},
+  {0x81368936, 0xe1bbbc},
+  {0x81368937, 0xe1bbbd},
+  {0x81368938, 0xe1bbbe},
+  {0x81368939, 0xe1bbbf},
+  {0x81368a30, 0xe1bc80},
+  {0x81368a31, 0xe1bc81},
+  {0x81368a32, 0xe1bc82},
+  {0x81368a33, 0xe1bc83},
+  {0x81368a34, 0xe1bc84},
+  {0x81368a35, 0xe1bc85},
+  {0x81368a36, 0xe1bc86},
+  {0x81368a37, 0xe1bc87},
+  {0x81368a38, 0xe1bc88},
+  {0x81368a39, 0xe1bc89},
+  {0x81368b30, 0xe1bc8a},
+  {0x81368b31, 0xe1bc8b},
+  {0x81368b32, 0xe1bc8c},
+  {0x81368b33, 0xe1bc8d},
+  {0x81368b34, 0xe1bc8e},
+  {0x81368b35, 0xe1bc8f},
+  {0x81368b36, 0xe1bc90},
+  {0x81368b37, 0xe1bc91},
+  {0x81368b38, 0xe1bc92},
+  {0x81368b39, 0xe1bc93},
+  {0x81368c30, 0xe1bc94},
+  {0x81368c31, 0xe1bc95},
+  {0x81368c32, 0xe1bc96},
+  {0x81368c33, 0xe1bc97},
+  {0x81368c34, 0xe1bc98},
+  {0x81368c35, 0xe1bc99},
+  {0x81368c36, 0xe1bc9a},
+  {0x81368c37, 0xe1bc9b},
+  {0x81368c38, 0xe1bc9c},
+  {0x81368c39, 0xe1bc9d},
+  {0x81368d30, 0xe1bc9e},
+  {0x81368d31, 0xe1bc9f},
+  {0x81368d32, 0xe1bca0},
+  {0x81368d33, 0xe1bca1},
+  {0x81368d34, 0xe1bca2},
+  {0x81368d35, 0xe1bca3},
+  {0x81368d36, 0xe1bca4},
+  {0x81368d37, 0xe1bca5},
+  {0x81368d38, 0xe1bca6},
+  {0x81368d39, 0xe1bca7},
+  {0x81368e30, 0xe1bca8},
+  {0x81368e31, 0xe1bca9},
+  {0x81368e32, 0xe1bcaa},
+  {0x81368e33, 0xe1bcab},
+  {0x81368e34, 0xe1bcac},
+  {0x81368e35, 0xe1bcad},
+  {0x81368e36, 0xe1bcae},
+  {0x81368e37, 0xe1bcaf},
+  {0x81368e38, 0xe1bcb0},
+  {0x81368e39, 0xe1bcb1},
+  {0x81368f30, 0xe1bcb2},
+  {0x81368f31, 0xe1bcb3},
+  {0x81368f32, 0xe1bcb4},
+  {0x81368f33, 0xe1bcb5},
+  {0x81368f34, 0xe1bcb6},
+  {0x81368f35, 0xe1bcb7},
+  {0x81368f36, 0xe1bcb8},
+  {0x81368f37, 0xe1bcb9},
+  {0x81368f38, 0xe1bcba},
+  {0x81368f39, 0xe1bcbb},
+  {0x81369030, 0xe1bcbc},
+  {0x81369031, 0xe1bcbd},
+  {0x81369032, 0xe1bcbe},
+  {0x81369033, 0xe1bcbf},
+  {0x81369034, 0xe1bd80},
+  {0x81369035, 0xe1bd81},
+  {0x81369036, 0xe1bd82},
+  {0x81369037, 0xe1bd83},
+  {0x81369038, 0xe1bd84},
+  {0x81369039, 0xe1bd85},
+  {0x81369130, 0xe1bd86},
+  {0x81369131, 0xe1bd87},
+  {0x81369132, 0xe1bd88},
+  {0x81369133, 0xe1bd89},
+  {0x81369134, 0xe1bd8a},
+  {0x81369135, 0xe1bd8b},
+  {0x81369136, 0xe1bd8c},
+  {0x81369137, 0xe1bd8d},
+  {0x81369138, 0xe1bd8e},
+  {0x81369139, 0xe1bd8f},
+  {0x81369230, 0xe1bd90},
+  {0x81369231, 0xe1bd91},
+  {0x81369232, 0xe1bd92},
+  {0x81369233, 0xe1bd93},
+  {0x81369234, 0xe1bd94},
+  {0x81369235, 0xe1bd95},
+  {0x81369236, 0xe1bd96},
+  {0x81369237, 0xe1bd97},
+  {0x81369238, 0xe1bd98},
+  {0x81369239, 0xe1bd99},
+  {0x81369330, 0xe1bd9a},
+  {0x81369331, 0xe1bd9b},
+  {0x81369332, 0xe1bd9c},
+  {0x81369333, 0xe1bd9d},
+  {0x81369334, 0xe1bd9e},
+  {0x81369335, 0xe1bd9f},
+  {0x81369336, 0xe1bda0},
+  {0x81369337, 0xe1bda1},
+  {0x81369338, 0xe1bda2},
+  {0x81369339, 0xe1bda3},
+  {0x81369430, 0xe1bda4},
+  {0x81369431, 0xe1bda5},
+  {0x81369432, 0xe1bda6},
+  {0x81369433, 0xe1bda7},
+  {0x81369434, 0xe1bda8},
+  {0x81369435, 0xe1bda9},
+  {0x81369436, 0xe1bdaa},
+  {0x81369437, 0xe1bdab},
+  {0x81369438, 0xe1bdac},
+  {0x81369439, 0xe1bdad},
+  {0x81369530, 0xe1bdae},
+  {0x81369531, 0xe1bdaf},
+  {0x81369532, 0xe1bdb0},
+  {0x81369533, 0xe1bdb1},
+  {0x81369534, 0xe1bdb2},
+  {0x81369535, 0xe1bdb3},
+  {0x81369536, 0xe1bdb4},
+  {0x81369537, 0xe1bdb5},
+  {0x81369538, 0xe1bdb6},
+  {0x81369539, 0xe1bdb7},
+  {0x81369630, 0xe1bdb8},
+  {0x81369631, 0xe1bdb9},
+  {0x81369632, 0xe1bdba},
+  {0x81369633, 0xe1bdbb},
+  {0x81369634, 0xe1bdbc},
+  {0x81369635, 0xe1bdbd},
+  {0x81369636, 0xe1bdbe},
+  {0x81369637, 0xe1bdbf},
+  {0x81369638, 0xe1be80},
+  {0x81369639, 0xe1be81},
+  {0x81369730, 0xe1be82},
+  {0x81369731, 0xe1be83},
+  {0x81369732, 0xe1be84},
+  {0x81369733, 0xe1be85},
+  {0x81369734, 0xe1be86},
+  {0x81369735, 0xe1be87},
+  {0x81369736, 0xe1be88},
+  {0x81369737, 0xe1be89},
+  {0x81369738, 0xe1be8a},
+  {0x81369739, 0xe1be8b},
+  {0x81369830, 0xe1be8c},
+  {0x81369831, 0xe1be8d},
+  {0x81369832, 0xe1be8e},
+  {0x81369833, 0xe1be8f},
+  {0x81369834, 0xe1be90},
+  {0x81369835, 0xe1be91},
+  {0x81369836, 0xe1be92},
+  {0x81369837, 0xe1be93},
+  {0x81369838, 0xe1be94},
+  {0x81369839, 0xe1be95},
+  {0x81369930, 0xe1be96},
+  {0x81369931, 0xe1be97},
+  {0x81369932, 0xe1be98},
+  {0x81369933, 0xe1be99},
+  {0x81369934, 0xe1be9a},
+  {0x81369935, 0xe1be9b},
+  {0x81369936, 0xe1be9c},
+  {0x81369937, 0xe1be9d},
+  {0x81369938, 0xe1be9e},
+  {0x81369939, 0xe1be9f},
+  {0x81369a30, 0xe1bea0},
+  {0x81369a31, 0xe1bea1},
+  {0x81369a32, 0xe1bea2},
+  {0x81369a33, 0xe1bea3},
+  {0x81369a34, 0xe1bea4},
+  {0x81369a35, 0xe1bea5},
+  {0x81369a36, 0xe1bea6},
+  {0x81369a37, 0xe1bea7},
+  {0x81369a38, 0xe1bea8},
+  {0x81369a39, 0xe1bea9},
+  {0x81369b30, 0xe1beaa},
+  {0x81369b31, 0xe1beab},
+  {0x81369b32, 0xe1beac},
+  {0x81369b33, 0xe1bead},
+  {0x81369b34, 0xe1beae},
+  {0x81369b35, 0xe1beaf},
+  {0x81369b36, 0xe1beb0},
+  {0x81369b37, 0xe1beb1},
+  {0x81369b38, 0xe1beb2},
+  {0x81369b39, 0xe1beb3},
+  {0x81369c30, 0xe1beb4},
+  {0x81369c31, 0xe1beb5},
+  {0x81369c32, 0xe1beb6},
+  {0x81369c33, 0xe1beb7},
+  {0x81369c34, 0xe1beb8},
+  {0x81369c35, 0xe1beb9},
+  {0x81369c36, 0xe1beba},
+  {0x81369c37, 0xe1bebb},
+  {0x81369c38, 0xe1bebc},
+  {0x81369c39, 0xe1bebd},
+  {0x81369d30, 0xe1bebe},
+  {0x81369d31, 0xe1bebf},
+  {0x81369d32, 0xe1bf80},
+  {0x81369d33, 0xe1bf81},
+  {0x81369d34, 0xe1bf82},
+  {0x81369d35, 0xe1bf83},
+  {0x81369d36, 0xe1bf84},
+  {0x81369d37, 0xe1bf85},
+  {0x81369d38, 0xe1bf86},
+  {0x81369d39, 0xe1bf87},
+  {0x81369e30, 0xe1bf88},
+  {0x81369e31, 0xe1bf89},
+  {0x81369e32, 0xe1bf8a},
+  {0x81369e33, 0xe1bf8b},
+  {0x81369e34, 0xe1bf8c},
+  {0x81369e35, 0xe1bf8d},
+  {0x81369e36, 0xe1bf8e},
+  {0x81369e37, 0xe1bf8f},
+  {0x81369e38, 0xe1bf90},
+  {0x81369e39, 0xe1bf91},
+  {0x81369f30, 0xe1bf92},
+  {0x81369f31, 0xe1bf93},
+  {0x81369f32, 0xe1bf94},
+  {0x81369f33, 0xe1bf95},
+  {0x81369f34, 0xe1bf96},
+  {0x81369f35, 0xe1bf97},
+  {0x81369f36, 0xe1bf98},
+  {0x81369f37, 0xe1bf99},
+  {0x81369f38, 0xe1bf9a},
+  {0x81369f39, 0xe1bf9b},
+  {0x8136a030, 0xe1bf9c},
+  {0x8136a031, 0xe1bf9d},
+  {0x8136a032, 0xe1bf9e},
+  {0x8136a033, 0xe1bf9f},
+  {0x8136a034, 0xe1bfa0},
+  {0x8136a035, 0xe1bfa1},
+  {0x8136a036, 0xe1bfa2},
+  {0x8136a037, 0xe1bfa3},
+  {0x8136a038, 0xe1bfa4},
+  {0x8136a039, 0xe1bfa5},
+  {0x8136a130, 0xe1bfa6},
+  {0x8136a131, 0xe1bfa7},
+  {0x8136a132, 0xe1bfa8},
+  {0x8136a133, 0xe1bfa9},
+  {0x8136a134, 0xe1bfaa},
+  {0x8136a135, 0xe1bfab},
+  {0x8136a136, 0xe1bfac},
+  {0x8136a137, 0xe1bfad},
+  {0x8136a138, 0xe1bfae},
+  {0x8136a139, 0xe1bfaf},
+  {0x8136a230, 0xe1bfb0},
+  {0x8136a231, 0xe1bfb1},
+  {0x8136a232, 0xe1bfb2},
+  {0x8136a233, 0xe1bfb3},
+  {0x8136a234, 0xe1bfb4},
+  {0x8136a235, 0xe1bfb5},
+  {0x8136a236, 0xe1bfb6},
+  {0x8136a237, 0xe1bfb7},
+  {0x8136a238, 0xe1bfb8},
+  {0x8136a239, 0xe1bfb9},
+  {0x8136a330, 0xe1bfba},
+  {0x8136a331, 0xe1bfbb},
+  {0x8136a332, 0xe1bfbc},
+  {0x8136a333, 0xe1bfbd},
+  {0x8136a334, 0xe1bfbe},
+  {0x8136a335, 0xe1bfbf},
+  {0x8136a336, 0xe28080},
+  {0x8136a337, 0xe28081},
+  {0x8136a338, 0xe28082},
+  {0x8136a339, 0xe28083},
+  {0x8136a430, 0xe28084},
+  {0x8136a431, 0xe28085},
+  {0x8136a432, 0xe28086},
+  {0x8136a433, 0xe28087},
+  {0x8136a434, 0xe28088},
+  {0x8136a435, 0xe28089},
+  {0x8136a436, 0xe2808a},
+  {0x8136a437, 0xe2808b},
+  {0x8136a438, 0xe2808c},
+  {0x8136a439, 0xe2808d},
+  {0x8136a530, 0xe2808e},
+  {0x8136a531, 0xe2808f},
+  {0x8136a532, 0xe28091},
+  {0x8136a533, 0xe28092},
+  {0x8136a534, 0xe28097},
+  {0x8136a535, 0xe2809a},
+  {0x8136a536, 0xe2809b},
+  {0x8136a537, 0xe2809e},
+  {0x8136a538, 0xe2809f},
+  {0x8136a539, 0xe280a0},
+  {0x8136a630, 0xe280a1},
+  {0x8136a631, 0xe280a2},
+  {0x8136a632, 0xe280a3},
+  {0x8136a633, 0xe280a4},
+  {0x8136a634, 0xe280a7},
+  {0x8136a635, 0xe280a8},
+  {0x8136a636, 0xe280a9},
+  {0x8136a637, 0xe280aa},
+  {0x8136a638, 0xe280ab},
+  {0x8136a639, 0xe280ac},
+  {0x8136a730, 0xe280ad},
+  {0x8136a731, 0xe280ae},
+  {0x8136a732, 0xe280af},
+  {0x8136a733, 0xe280b1},
+  {0x8136a734, 0xe280b4},
+  {0x8136a735, 0xe280b6},
+  {0x8136a736, 0xe280b7},
+  {0x8136a737, 0xe280b8},
+  {0x8136a738, 0xe280b9},
+  {0x8136a739, 0xe280ba},
+  {0x8136a830, 0xe280bc},
+  {0x8136a831, 0xe280bd},
+  {0x8136a832, 0xe280be},
+  {0x8136a833, 0xe280bf},
+  {0x8136a834, 0xe28180},
+  {0x8136a835, 0xe28181},
+  {0x8136a836, 0xe28182},
+  {0x8136a837, 0xe28183},
+  {0x8136a838, 0xe28184},
+  {0x8136a839, 0xe28185},
+  {0x8136a930, 0xe28186},
+  {0x8136a931, 0xe28187},
+  {0x8136a932, 0xe28188},
+  {0x8136a933, 0xe28189},
+  {0x8136a934, 0xe2818a},
+  {0x8136a935, 0xe2818b},
+  {0x8136a936, 0xe2818c},
+  {0x8136a937, 0xe2818d},
+  {0x8136a938, 0xe2818e},
+  {0x8136a939, 0xe2818f},
+  {0x8136aa30, 0xe28190},
+  {0x8136aa31, 0xe28191},
+  {0x8136aa32, 0xe28192},
+  {0x8136aa33, 0xe28193},
+  {0x8136aa34, 0xe28194},
+  {0x8136aa35, 0xe28195},
+  {0x8136aa36, 0xe28196},
+  {0x8136aa37, 0xe28197},
+  {0x8136aa38, 0xe28198},
+  {0x8136aa39, 0xe28199},
+  {0x8136ab30, 0xe2819a},
+  {0x8136ab31, 0xe2819b},
+  {0x8136ab32, 0xe2819c},
+  {0x8136ab33, 0xe2819d},
+  {0x8136ab34, 0xe2819e},
+  {0x8136ab35, 0xe2819f},
+  {0x8136ab36, 0xe281a0},
+  {0x8136ab37, 0xe281a1},
+  {0x8136ab38, 0xe281a2},
+  {0x8136ab39, 0xe281a3},
+  {0x8136ac30, 0xe281a4},
+  {0x8136ac31, 0xe281a5},
+  {0x8136ac32, 0xe281a6},
+  {0x8136ac33, 0xe281a7},
+  {0x8136ac34, 0xe281a8},
+  {0x8136ac35, 0xe281a9},
+  {0x8136ac36, 0xe281aa},
+  {0x8136ac37, 0xe281ab},
+  {0x8136ac38, 0xe281ac},
+  {0x8136ac39, 0xe281ad},
+  {0x8136ad30, 0xe281ae},
+  {0x8136ad31, 0xe281af},
+  {0x8136ad32, 0xe281b0},
+  {0x8136ad33, 0xe281b1},
+  {0x8136ad34, 0xe281b2},
+  {0x8136ad35, 0xe281b3},
+  {0x8136ad36, 0xe281b4},
+  {0x8136ad37, 0xe281b5},
+  {0x8136ad38, 0xe281b6},
+  {0x8136ad39, 0xe281b7},
+  {0x8136ae30, 0xe281b8},
+  {0x8136ae31, 0xe281b9},
+  {0x8136ae32, 0xe281ba},
+  {0x8136ae33, 0xe281bb},
+  {0x8136ae34, 0xe281bc},
+  {0x8136ae35, 0xe281bd},
+  {0x8136ae36, 0xe281be},
+  {0x8136ae37, 0xe281bf},
+  {0x8136ae38, 0xe28280},
+  {0x8136ae39, 0xe28281},
+  {0x8136af30, 0xe28282},
+  {0x8136af31, 0xe28283},
+  {0x8136af32, 0xe28284},
+  {0x8136af33, 0xe28285},
+  {0x8136af34, 0xe28286},
+  {0x8136af35, 0xe28287},
+  {0x8136af36, 0xe28288},
+  {0x8136af37, 0xe28289},
+  {0x8136af38, 0xe2828a},
+  {0x8136af39, 0xe2828b},
+  {0x8136b030, 0xe2828c},
+  {0x8136b031, 0xe2828d},
+  {0x8136b032, 0xe2828e},
+  {0x8136b033, 0xe2828f},
+  {0x8136b034, 0xe28290},
+  {0x8136b035, 0xe28291},
+  {0x8136b036, 0xe28292},
+  {0x8136b037, 0xe28293},
+  {0x8136b038, 0xe28294},
+  {0x8136b039, 0xe28295},
+  {0x8136b130, 0xe28296},
+  {0x8136b131, 0xe28297},
+  {0x8136b132, 0xe28298},
+  {0x8136b133, 0xe28299},
+  {0x8136b134, 0xe2829a},
+  {0x8136b135, 0xe2829b},
+  {0x8136b136, 0xe2829c},
+  {0x8136b137, 0xe2829d},
+  {0x8136b138, 0xe2829e},
+  {0x8136b139, 0xe2829f},
+  {0x8136b230, 0xe282a0},
+  {0x8136b231, 0xe282a1},
+  {0x8136b232, 0xe282a2},
+  {0x8136b233, 0xe282a3},
+  {0x8136b234, 0xe282a4},
+  {0x8136b235, 0xe282a5},
+  {0x8136b236, 0xe282a6},
+  {0x8136b237, 0xe282a7},
+  {0x8136b238, 0xe282a8},
+  {0x8136b239, 0xe282a9},
+  {0x8136b330, 0xe282aa},
+  {0x8136b331, 0xe282ab},
+  {0x8136b332, 0xe282ad},
+  {0x8136b333, 0xe282ae},
+  {0x8136b334, 0xe282af},
+  {0x8136b335, 0xe282b0},
+  {0x8136b336, 0xe282b1},
+  {0x8136b337, 0xe282b2},
+  {0x8136b338, 0xe282b3},
+  {0x8136b339, 0xe282b4},
+  {0x8136b430, 0xe282b5},
+  {0x8136b431, 0xe282b6},
+  {0x8136b432, 0xe282b7},
+  {0x8136b433, 0xe282b8},
+  {0x8136b434, 0xe282b9},
+  {0x8136b435, 0xe282ba},
+  {0x8136b436, 0xe282bb},
+  {0x8136b437, 0xe282bc},
+  {0x8136b438, 0xe282bd},
+  {0x8136b439, 0xe282be},
+  {0x8136b530, 0xe282bf},
+  {0x8136b531, 0xe28380},
+  {0x8136b532, 0xe28381},
+  {0x8136b533, 0xe28382},
+  {0x8136b534, 0xe28383},
+  {0x8136b535, 0xe28384},
+  {0x8136b536, 0xe28385},
+  {0x8136b537, 0xe28386},
+  {0x8136b538, 0xe28387},
+  {0x8136b539, 0xe28388},
+  {0x8136b630, 0xe28389},
+  {0x8136b631, 0xe2838a},
+  {0x8136b632, 0xe2838b},
+  {0x8136b633, 0xe2838c},
+  {0x8136b634, 0xe2838d},
+  {0x8136b635, 0xe2838e},
+  {0x8136b636, 0xe2838f},
+  {0x8136b637, 0xe28390},
+  {0x8136b638, 0xe28391},
+  {0x8136b639, 0xe28392},
+  {0x8136b730, 0xe28393},
+  {0x8136b731, 0xe28394},
+  {0x8136b732, 0xe28395},
+  {0x8136b733, 0xe28396},
+  {0x8136b734, 0xe28397},
+  {0x8136b735, 0xe28398},
+  {0x8136b736, 0xe28399},
+  {0x8136b737, 0xe2839a},
+  {0x8136b738, 0xe2839b},
+  {0x8136b739, 0xe2839c},
+  {0x8136b830, 0xe2839d},
+  {0x8136b831, 0xe2839e},
+  {0x8136b832, 0xe2839f},
+  {0x8136b833, 0xe283a0},
+  {0x8136b834, 0xe283a1},
+  {0x8136b835, 0xe283a2},
+  {0x8136b836, 0xe283a3},
+  {0x8136b837, 0xe283a4},
+  {0x8136b838, 0xe283a5},
+  {0x8136b839, 0xe283a6},
+  {0x8136b930, 0xe283a7},
+  {0x8136b931, 0xe283a8},
+  {0x8136b932, 0xe283a9},
+  {0x8136b933, 0xe283aa},
+  {0x8136b934, 0xe283ab},
+  {0x8136b935, 0xe283ac},
+  {0x8136b936, 0xe283ad},
+  {0x8136b937, 0xe283ae},
+  {0x8136b938, 0xe283af},
+  {0x8136b939, 0xe283b0},
+  {0x8136ba30, 0xe283b1},
+  {0x8136ba31, 0xe283b2},
+  {0x8136ba32, 0xe283b3},
+  {0x8136ba33, 0xe283b4},
+  {0x8136ba34, 0xe283b5},
+  {0x8136ba35, 0xe283b6},
+  {0x8136ba36, 0xe283b7},
+  {0x8136ba37, 0xe283b8},
+  {0x8136ba38, 0xe283b9},
+  {0x8136ba39, 0xe283ba},
+  {0x8136bb30, 0xe283bb},
+  {0x8136bb31, 0xe283bc},
+  {0x8136bb32, 0xe283bd},
+  {0x8136bb33, 0xe283be},
+  {0x8136bb34, 0xe283bf},
+  {0x8136bb35, 0xe28480},
+  {0x8136bb36, 0xe28481},
+  {0x8136bb37, 0xe28482},
+  {0x8136bb38, 0xe28484},
+  {0x8136bb39, 0xe28486},
+  {0x8136bc30, 0xe28487},
+  {0x8136bc31, 0xe28488},
+  {0x8136bc32, 0xe2848a},
+  {0x8136bc33, 0xe2848b},
+  {0x8136bc34, 0xe2848c},
+  {0x8136bc35, 0xe2848d},
+  {0x8136bc36, 0xe2848e},
+  {0x8136bc37, 0xe2848f},
+  {0x8136bc38, 0xe28490},
+  {0x8136bc39, 0xe28491},
+  {0x8136bd30, 0xe28492},
+  {0x8136bd31, 0xe28493},
+  {0x8136bd32, 0xe28494},
+  {0x8136bd33, 0xe28495},
+  {0x8136bd34, 0xe28497},
+  {0x8136bd35, 0xe28498},
+  {0x8136bd36, 0xe28499},
+  {0x8136bd37, 0xe2849a},
+  {0x8136bd38, 0xe2849b},
+  {0x8136bd39, 0xe2849c},
+  {0x8136be30, 0xe2849d},
+  {0x8136be31, 0xe2849e},
+  {0x8136be32, 0xe2849f},
+  {0x8136be33, 0xe284a0},
+  {0x8136be34, 0xe284a2},
+  {0x8136be35, 0xe284a3},
+  {0x8136be36, 0xe284a4},
+  {0x8136be37, 0xe284a5},
+  {0x8136be38, 0xe284a6},
+  {0x8136be39, 0xe284a7},
+  {0x8136bf30, 0xe284a8},
+  {0x8136bf31, 0xe284a9},
+  {0x8136bf32, 0xe284aa},
+  {0x8136bf33, 0xe284ab},
+  {0x8136bf34, 0xe284ac},
+  {0x8136bf35, 0xe284ad},
+  {0x8136bf36, 0xe284ae},
+  {0x8136bf37, 0xe284af},
+  {0x8136bf38, 0xe284b0},
+  {0x8136bf39, 0xe284b1},
+  {0x8136c030, 0xe284b2},
+  {0x8136c031, 0xe284b3},
+  {0x8136c032, 0xe284b4},
+  {0x8136c033, 0xe284b5},
+  {0x8136c034, 0xe284b6},
+  {0x8136c035, 0xe284b7},
+  {0x8136c036, 0xe284b8},
+  {0x8136c037, 0xe284b9},
+  {0x8136c038, 0xe284ba},
+  {0x8136c039, 0xe284bb},
+  {0x8136c130, 0xe284bc},
+  {0x8136c131, 0xe284bd},
+  {0x8136c132, 0xe284be},
+  {0x8136c133, 0xe284bf},
+  {0x8136c134, 0xe28580},
+  {0x8136c135, 0xe28581},
+  {0x8136c136, 0xe28582},
+  {0x8136c137, 0xe28583},
+  {0x8136c138, 0xe28584},
+  {0x8136c139, 0xe28585},
+  {0x8136c230, 0xe28586},
+  {0x8136c231, 0xe28587},
+  {0x8136c232, 0xe28588},
+  {0x8136c233, 0xe28589},
+  {0x8136c234, 0xe2858a},
+  {0x8136c235, 0xe2858b},
+  {0x8136c236, 0xe2858c},
+  {0x8136c237, 0xe2858d},
+  {0x8136c238, 0xe2858e},
+  {0x8136c239, 0xe2858f},
+  {0x8136c330, 0xe28590},
+  {0x8136c331, 0xe28591},
+  {0x8136c332, 0xe28592},
+  {0x8136c333, 0xe28593},
+  {0x8136c334, 0xe28594},
+  {0x8136c335, 0xe28595},
+  {0x8136c336, 0xe28596},
+  {0x8136c337, 0xe28597},
+  {0x8136c338, 0xe28598},
+  {0x8136c339, 0xe28599},
+  {0x8136c430, 0xe2859a},
+  {0x8136c431, 0xe2859b},
+  {0x8136c432, 0xe2859c},
+  {0x8136c433, 0xe2859d},
+  {0x8136c434, 0xe2859e},
+  {0x8136c435, 0xe2859f},
+  {0x8136c436, 0xe285ac},
+  {0x8136c437, 0xe285ad},
+  {0x8136c438, 0xe285ae},
+  {0x8136c439, 0xe285af},
+  {0x8136c530, 0xe285ba},
+  {0x8136c531, 0xe285bb},
+  {0x8136c532, 0xe285bc},
+  {0x8136c533, 0xe285bd},
+  {0x8136c534, 0xe285be},
+  {0x8136c535, 0xe285bf},
+  {0x8136c536, 0xe28680},
+  {0x8136c537, 0xe28681},
+  {0x8136c538, 0xe28682},
+  {0x8136c539, 0xe28683},
+  {0x8136c630, 0xe28684},
+  {0x8136c631, 0xe28685},
+  {0x8136c632, 0xe28686},
+  {0x8136c633, 0xe28687},
+  {0x8136c634, 0xe28688},
+  {0x8136c635, 0xe28689},
+  {0x8136c636, 0xe2868a},
+  {0x8136c637, 0xe2868b},
+  {0x8136c638, 0xe2868c},
+  {0x8136c639, 0xe2868d},
+  {0x8136c730, 0xe2868e},
+  {0x8136c731, 0xe2868f},
+  {0x8136c732, 0xe28694},
+  {0x8136c733, 0xe28695},
+  {0x8136c734, 0xe2869a},
+  {0x8136c735, 0xe2869b},
+  {0x8136c736, 0xe2869c},
+  {0x8136c737, 0xe2869d},
+  {0x8136c738, 0xe2869e},
+  {0x8136c739, 0xe2869f},
+  {0x8136c830, 0xe286a0},
+  {0x8136c831, 0xe286a1},
+  {0x8136c832, 0xe286a2},
+  {0x8136c833, 0xe286a3},
+  {0x8136c834, 0xe286a4},
+  {0x8136c835, 0xe286a5},
+  {0x8136c836, 0xe286a6},
+  {0x8136c837, 0xe286a7},
+  {0x8136c838, 0xe286a8},
+  {0x8136c839, 0xe286a9},
+  {0x8136c930, 0xe286aa},
+  {0x8136c931, 0xe286ab},
+  {0x8136c932, 0xe286ac},
+  {0x8136c933, 0xe286ad},
+  {0x8136c934, 0xe286ae},
+  {0x8136c935, 0xe286af},
+  {0x8136c936, 0xe286b0},
+  {0x8136c937, 0xe286b1},
+  {0x8136c938, 0xe286b2},
+  {0x8136c939, 0xe286b3},
+  {0x8136ca30, 0xe286b4},
+  {0x8136ca31, 0xe286b5},
+  {0x8136ca32, 0xe286b6},
+  {0x8136ca33, 0xe286b7},
+  {0x8136ca34, 0xe286b8},
+  {0x8136ca35, 0xe286b9},
+  {0x8136ca36, 0xe286ba},
+  {0x8136ca37, 0xe286bb},
+  {0x8136ca38, 0xe286bc},
+  {0x8136ca39, 0xe286bd},
+  {0x8136cb30, 0xe286be},
+  {0x8136cb31, 0xe286bf},
+  {0x8136cb32, 0xe28780},
+  {0x8136cb33, 0xe28781},
+  {0x8136cb34, 0xe28782},
+  {0x8136cb35, 0xe28783},
+  {0x8136cb36, 0xe28784},
+  {0x8136cb37, 0xe28785},
+  {0x8136cb38, 0xe28786},
+  {0x8136cb39, 0xe28787},
+  {0x8136cc30, 0xe28788},
+  {0x8136cc31, 0xe28789},
+  {0x8136cc32, 0xe2878a},
+  {0x8136cc33, 0xe2878b},
+  {0x8136cc34, 0xe2878c},
+  {0x8136cc35, 0xe2878d},
+  {0x8136cc36, 0xe2878e},
+  {0x8136cc37, 0xe2878f},
+  {0x8136cc38, 0xe28790},
+  {0x8136cc39, 0xe28791},
+  {0x8136cd30, 0xe28792},
+  {0x8136cd31, 0xe28793},
+  {0x8136cd32, 0xe28794},
+  {0x8136cd33, 0xe28795},
+  {0x8136cd34, 0xe28796},
+  {0x8136cd35, 0xe28797},
+  {0x8136cd36, 0xe28798},
+  {0x8136cd37, 0xe28799},
+  {0x8136cd38, 0xe2879a},
+  {0x8136cd39, 0xe2879b},
+  {0x8136ce30, 0xe2879c},
+  {0x8136ce31, 0xe2879d},
+  {0x8136ce32, 0xe2879e},
+  {0x8136ce33, 0xe2879f},
+  {0x8136ce34, 0xe287a0},
+  {0x8136ce35, 0xe287a1},
+  {0x8136ce36, 0xe287a2},
+  {0x8136ce37, 0xe287a3},
+  {0x8136ce38, 0xe287a4},
+  {0x8136ce39, 0xe287a5},
+  {0x8136cf30, 0xe287a6},
+  {0x8136cf31, 0xe287a7},
+  {0x8136cf32, 0xe287a8},
+  {0x8136cf33, 0xe287a9},
+  {0x8136cf34, 0xe287aa},
+  {0x8136cf35, 0xe287ab},
+  {0x8136cf36, 0xe287ac},
+  {0x8136cf37, 0xe287ad},
+  {0x8136cf38, 0xe287ae},
+  {0x8136cf39, 0xe287af},
+  {0x8136d030, 0xe287b0},
+  {0x8136d031, 0xe287b1},
+  {0x8136d032, 0xe287b2},
+  {0x8136d033, 0xe287b3},
+  {0x8136d034, 0xe287b4},
+  {0x8136d035, 0xe287b5},
+  {0x8136d036, 0xe287b6},
+  {0x8136d037, 0xe287b7},
+  {0x8136d038, 0xe287b8},
+  {0x8136d039, 0xe287b9},
+  {0x8136d130, 0xe287ba},
+  {0x8136d131, 0xe287bb},
+  {0x8136d132, 0xe287bc},
+  {0x8136d133, 0xe287bd},
+  {0x8136d134, 0xe287be},
+  {0x8136d135, 0xe287bf},
+  {0x8136d136, 0xe28880},
+  {0x8136d137, 0xe28881},
+  {0x8136d138, 0xe28882},
+  {0x8136d139, 0xe28883},
+  {0x8136d230, 0xe28884},
+  {0x8136d231, 0xe28885},
+  {0x8136d232, 0xe28886},
+  {0x8136d233, 0xe28887},
+  {0x8136d234, 0xe28889},
+  {0x8136d235, 0xe2888a},
+  {0x8136d236, 0xe2888b},
+  {0x8136d237, 0xe2888c},
+  {0x8136d238, 0xe2888d},
+  {0x8136d239, 0xe2888e},
+  {0x8136d330, 0xe28890},
+  {0x8136d331, 0xe28892},
+  {0x8136d332, 0xe28893},
+  {0x8136d333, 0xe28894},
+  {0x8136d334, 0xe28896},
+  {0x8136d335, 0xe28897},
+  {0x8136d336, 0xe28898},
+  {0x8136d337, 0xe28899},
+  {0x8136d338, 0xe2889b},
+  {0x8136d339, 0xe2889c},
+  {0x8136d430, 0xe288a1},
+  {0x8136d431, 0xe288a2},
+  {0x8136d432, 0xe288a4},
+  {0x8136d433, 0xe288a6},
+  {0x8136d434, 0xe288ac},
+  {0x8136d435, 0xe288ad},
+  {0x8136d436, 0xe288af},
+  {0x8136d437, 0xe288b0},
+  {0x8136d438, 0xe288b1},
+  {0x8136d439, 0xe288b2},
+  {0x8136d530, 0xe288b3},
+  {0x8136d531, 0xe288b8},
+  {0x8136d532, 0xe288b9},
+  {0x8136d533, 0xe288ba},
+  {0x8136d534, 0xe288bb},
+  {0x8136d535, 0xe288bc},
+  {0x8136d536, 0xe288be},
+  {0x8136d537, 0xe288bf},
+  {0x8136d538, 0xe28980},
+  {0x8136d539, 0xe28981},
+  {0x8136d630, 0xe28982},
+  {0x8136d631, 0xe28983},
+  {0x8136d632, 0xe28984},
+  {0x8136d633, 0xe28985},
+  {0x8136d634, 0xe28986},
+  {0x8136d635, 0xe28987},
+  {0x8136d636, 0xe28989},
+  {0x8136d637, 0xe2898a},
+  {0x8136d638, 0xe2898b},
+  {0x8136d639, 0xe2898d},
+  {0x8136d730, 0xe2898e},
+  {0x8136d731, 0xe2898f},
+  {0x8136d732, 0xe28990},
+  {0x8136d733, 0xe28991},
+  {0x8136d734, 0xe28993},
+  {0x8136d735, 0xe28994},
+  {0x8136d736, 0xe28995},
+  {0x8136d737, 0xe28996},
+  {0x8136d738, 0xe28997},
+  {0x8136d739, 0xe28998},
+  {0x8136d830, 0xe28999},
+  {0x8136d831, 0xe2899a},
+  {0x8136d832, 0xe2899b},
+  {0x8136d833, 0xe2899c},
+  {0x8136d834, 0xe2899d},
+  {0x8136d835, 0xe2899e},
+  {0x8136d836, 0xe2899f},
+  {0x8136d837, 0xe289a2},
+  {0x8136d838, 0xe289a3},
+  {0x8136d839, 0xe289a8},
+  {0x8136d930, 0xe289a9},
+  {0x8136d931, 0xe289aa},
+  {0x8136d932, 0xe289ab},
+  {0x8136d933, 0xe289ac},
+  {0x8136d934, 0xe289ad},
+  {0x8136d935, 0xe289b0},
+  {0x8136d936, 0xe289b1},
+  {0x8136d937, 0xe289b2},
+  {0x8136d938, 0xe289b3},
+  {0x8136d939, 0xe289b4},
+  {0x8136da30, 0xe289b5},
+  {0x8136da31, 0xe289b6},
+  {0x8136da32, 0xe289b7},
+  {0x8136da33, 0xe289b8},
+  {0x8136da34, 0xe289b9},
+  {0x8136da35, 0xe289ba},
+  {0x8136da36, 0xe289bb},
+  {0x8136da37, 0xe289bc},
+  {0x8136da38, 0xe289bd},
+  {0x8136da39, 0xe289be},
+  {0x8136db30, 0xe289bf},
+  {0x8136db31, 0xe28a80},
+  {0x8136db32, 0xe28a81},
+  {0x8136db33, 0xe28a82},
+  {0x8136db34, 0xe28a83},
+  {0x8136db35, 0xe28a84},
+  {0x8136db36, 0xe28a85},
+  {0x8136db37, 0xe28a86},
+  {0x8136db38, 0xe28a87},
+  {0x8136db39, 0xe28a88},
+  {0x8136dc30, 0xe28a89},
+  {0x8136dc31, 0xe28a8a},
+  {0x8136dc32, 0xe28a8b},
+  {0x8136dc33, 0xe28a8c},
+  {0x8136dc34, 0xe28a8d},
+  {0x8136dc35, 0xe28a8e},
+  {0x8136dc36, 0xe28a8f},
+  {0x8136dc37, 0xe28a90},
+  {0x8136dc38, 0xe28a91},
+  {0x8136dc39, 0xe28a92},
+  {0x8136dd30, 0xe28a93},
+  {0x8136dd31, 0xe28a94},
+  {0x8136dd32, 0xe28a96},
+  {0x8136dd33, 0xe28a97},
+  {0x8136dd34, 0xe28a98},
+  {0x8136dd35, 0xe28a9a},
+  {0x8136dd36, 0xe28a9b},
+  {0x8136dd37, 0xe28a9c},
+  {0x8136dd38, 0xe28a9d},
+  {0x8136dd39, 0xe28a9e},
+  {0x8136de30, 0xe28a9f},
+  {0x8136de31, 0xe28aa0},
+  {0x8136de32, 0xe28aa1},
+  {0x8136de33, 0xe28aa2},
+  {0x8136de34, 0xe28aa3},
+  {0x8136de35, 0xe28aa4},
+  {0x8136de36, 0xe28aa6},
+  {0x8136de37, 0xe28aa7},
+  {0x8136de38, 0xe28aa8},
+  {0x8136de39, 0xe28aa9},
+  {0x8136df30, 0xe28aaa},
+  {0x8136df31, 0xe28aab},
+  {0x8136df32, 0xe28aac},
+  {0x8136df33, 0xe28aad},
+  {0x8136df34, 0xe28aae},
+  {0x8136df35, 0xe28aaf},
+  {0x8136df36, 0xe28ab0},
+  {0x8136df37, 0xe28ab1},
+  {0x8136df38, 0xe28ab2},
+  {0x8136df39, 0xe28ab3},
+  {0x8136e030, 0xe28ab4},
+  {0x8136e031, 0xe28ab5},
+  {0x8136e032, 0xe28ab6},
+  {0x8136e033, 0xe28ab7},
+  {0x8136e034, 0xe28ab8},
+  {0x8136e035, 0xe28ab9},
+  {0x8136e036, 0xe28aba},
+  {0x8136e037, 0xe28abb},
+  {0x8136e038, 0xe28abc},
+  {0x8136e039, 0xe28abd},
+  {0x8136e130, 0xe28abe},
+  {0x8136e131, 0xe28b80},
+  {0x8136e132, 0xe28b81},
+  {0x8136e133, 0xe28b82},
+  {0x8136e134, 0xe28b83},
+  {0x8136e135, 0xe28b84},
+  {0x8136e136, 0xe28b85},
+  {0x8136e137, 0xe28b86},
+  {0x8136e138, 0xe28b87},
+  {0x8136e139, 0xe28b88},
+  {0x8136e230, 0xe28b89},
+  {0x8136e231, 0xe28b8a},
+  {0x8136e232, 0xe28b8b},
+  {0x8136e233, 0xe28b8c},
+  {0x8136e234, 0xe28b8d},
+  {0x8136e235, 0xe28b8e},
+  {0x8136e236, 0xe28b8f},
+  {0x8136e237, 0xe28b90},
+  {0x8136e238, 0xe28b91},
+  {0x8136e239, 0xe28b92},
+  {0x8136e330, 0xe28b93},
+  {0x8136e331, 0xe28b94},
+  {0x8136e332, 0xe28b95},
+  {0x8136e333, 0xe28b96},
+  {0x8136e334, 0xe28b97},
+  {0x8136e335, 0xe28b98},
+  {0x8136e336, 0xe28b99},
+  {0x8136e337, 0xe28b9a},
+  {0x8136e338, 0xe28b9b},
+  {0x8136e339, 0xe28b9c},
+  {0x8136e430, 0xe28b9d},
+  {0x8136e431, 0xe28b9e},
+  {0x8136e432, 0xe28b9f},
+  {0x8136e433, 0xe28ba0},
+  {0x8136e434, 0xe28ba1},
+  {0x8136e435, 0xe28ba2},
+  {0x8136e436, 0xe28ba3},
+  {0x8136e437, 0xe28ba4},
+  {0x8136e438, 0xe28ba5},
+  {0x8136e439, 0xe28ba6},
+  {0x8136e530, 0xe28ba7},
+  {0x8136e531, 0xe28ba8},
+  {0x8136e532, 0xe28ba9},
+  {0x8136e533, 0xe28baa},
+  {0x8136e534, 0xe28bab},
+  {0x8136e535, 0xe28bac},
+  {0x8136e536, 0xe28bad},
+  {0x8136e537, 0xe28bae},
+  {0x8136e538, 0xe28baf},
+  {0x8136e539, 0xe28bb0},
+  {0x8136e630, 0xe28bb1},
+  {0x8136e631, 0xe28bb2},
+  {0x8136e632, 0xe28bb3},
+  {0x8136e633, 0xe28bb4},
+  {0x8136e634, 0xe28bb5},
+  {0x8136e635, 0xe28bb6},
+  {0x8136e636, 0xe28bb7},
+  {0x8136e637, 0xe28bb8},
+  {0x8136e638, 0xe28bb9},
+  {0x8136e639, 0xe28bba},
+  {0x8136e730, 0xe28bbb},
+  {0x8136e731, 0xe28bbc},
+  {0x8136e732, 0xe28bbd},
+  {0x8136e733, 0xe28bbe},
+  {0x8136e734, 0xe28bbf},
+  {0x8136e735, 0xe28c80},
+  {0x8136e736, 0xe28c81},
+  {0x8136e737, 0xe28c82},
+  {0x8136e738, 0xe28c83},
+  {0x8136e739, 0xe28c84},
+  {0x8136e830, 0xe28c85},
+  {0x8136e831, 0xe28c86},
+  {0x8136e832, 0xe28c87},
+  {0x8136e833, 0xe28c88},
+  {0x8136e834, 0xe28c89},
+  {0x8136e835, 0xe28c8a},
+  {0x8136e836, 0xe28c8b},
+  {0x8136e837, 0xe28c8c},
+  {0x8136e838, 0xe28c8d},
+  {0x8136e839, 0xe28c8e},
+  {0x8136e930, 0xe28c8f},
+  {0x8136e931, 0xe28c90},
+  {0x8136e932, 0xe28c91},
+  {0x8136e933, 0xe28c93},
+  {0x8136e934, 0xe28c94},
+  {0x8136e935, 0xe28c95},
+  {0x8136e936, 0xe28c96},
+  {0x8136e937, 0xe28c97},
+  {0x8136e938, 0xe28c98},
+  {0x8136e939, 0xe28c99},
+  {0x8136ea30, 0xe28c9a},
+  {0x8136ea31, 0xe28c9b},
+  {0x8136ea32, 0xe28c9c},
+  {0x8136ea33, 0xe28c9d},
+  {0x8136ea34, 0xe28c9e},
+  {0x8136ea35, 0xe28c9f},
+  {0x8136ea36, 0xe28ca0},
+  {0x8136ea37, 0xe28ca1},
+  {0x8136ea38, 0xe28ca2},
+  {0x8136ea39, 0xe28ca3},
+  {0x8136eb30, 0xe28ca4},
+  {0x8136eb31, 0xe28ca5},
+  {0x8136eb32, 0xe28ca6},
+  {0x8136eb33, 0xe28ca7},
+  {0x8136eb34, 0xe28ca8},
+  {0x8136eb35, 0xe28ca9},
+  {0x8136eb36, 0xe28caa},
+  {0x8136eb37, 0xe28cab},
+  {0x8136eb38, 0xe28cac},
+  {0x8136eb39, 0xe28cad},
+  {0x8136ec30, 0xe28cae},
+  {0x8136ec31, 0xe28caf},
+  {0x8136ec32, 0xe28cb0},
+  {0x8136ec33, 0xe28cb1},
+  {0x8136ec34, 0xe28cb2},
+  {0x8136ec35, 0xe28cb3},
+  {0x8136ec36, 0xe28cb4},
+  {0x8136ec37, 0xe28cb5},
+  {0x8136ec38, 0xe28cb6},
+  {0x8136ec39, 0xe28cb7},
+  {0x8136ed30, 0xe28cb8},
+  {0x8136ed31, 0xe28cb9},
+  {0x8136ed32, 0xe28cba},
+  {0x8136ed33, 0xe28cbb},
+  {0x8136ed34, 0xe28cbc},
+  {0x8136ed35, 0xe28cbd},
+  {0x8136ed36, 0xe28cbe},
+  {0x8136ed37, 0xe28cbf},
+  {0x8136ed38, 0xe28d80},
+  {0x8136ed39, 0xe28d81},
+  {0x8136ee30, 0xe28d82},
+  {0x8136ee31, 0xe28d83},
+  {0x8136ee32, 0xe28d84},
+  {0x8136ee33, 0xe28d85},
+  {0x8136ee34, 0xe28d86},
+  {0x8136ee35, 0xe28d87},
+  {0x8136ee36, 0xe28d88},
+  {0x8136ee37, 0xe28d89},
+  {0x8136ee38, 0xe28d8a},
+  {0x8136ee39, 0xe28d8b},
+  {0x8136ef30, 0xe28d8c},
+  {0x8136ef31, 0xe28d8d},
+  {0x8136ef32, 0xe28d8e},
+  {0x8136ef33, 0xe28d8f},
+  {0x8136ef34, 0xe28d90},
+  {0x8136ef35, 0xe28d91},
+  {0x8136ef36, 0xe28d92},
+  {0x8136ef37, 0xe28d93},
+  {0x8136ef38, 0xe28d94},
+  {0x8136ef39, 0xe28d95},
+  {0x8136f030, 0xe28d96},
+  {0x8136f031, 0xe28d97},
+  {0x8136f032, 0xe28d98},
+  {0x8136f033, 0xe28d99},
+  {0x8136f034, 0xe28d9a},
+  {0x8136f035, 0xe28d9b},
+  {0x8136f036, 0xe28d9c},
+  {0x8136f037, 0xe28d9d},
+  {0x8136f038, 0xe28d9e},
+  {0x8136f039, 0xe28d9f},
+  {0x8136f130, 0xe28da0},
+  {0x8136f131, 0xe28da1},
+  {0x8136f132, 0xe28da2},
+  {0x8136f133, 0xe28da3},
+  {0x8136f134, 0xe28da4},
+  {0x8136f135, 0xe28da5},
+  {0x8136f136, 0xe28da6},
+  {0x8136f137, 0xe28da7},
+  {0x8136f138, 0xe28da8},
+  {0x8136f139, 0xe28da9},
+  {0x8136f230, 0xe28daa},
+  {0x8136f231, 0xe28dab},
+  {0x8136f232, 0xe28dac},
+  {0x8136f233, 0xe28dad},
+  {0x8136f234, 0xe28dae},
+  {0x8136f235, 0xe28daf},
+  {0x8136f236, 0xe28db0},
+  {0x8136f237, 0xe28db1},
+  {0x8136f238, 0xe28db2},
+  {0x8136f239, 0xe28db3},
+  {0x8136f330, 0xe28db4},
+  {0x8136f331, 0xe28db5},
+  {0x8136f332, 0xe28db6},
+  {0x8136f333, 0xe28db7},
+  {0x8136f334, 0xe28db8},
+  {0x8136f335, 0xe28db9},
+  {0x8136f336, 0xe28dba},
+  {0x8136f337, 0xe28dbb},
+  {0x8136f338, 0xe28dbc},
+  {0x8136f339, 0xe28dbd},
+  {0x8136f430, 0xe28dbe},
+  {0x8136f431, 0xe28dbf},
+  {0x8136f432, 0xe28e80},
+  {0x8136f433, 0xe28e81},
+  {0x8136f434, 0xe28e82},
+  {0x8136f435, 0xe28e83},
+  {0x8136f436, 0xe28e84},
+  {0x8136f437, 0xe28e85},
+  {0x8136f438, 0xe28e86},
+  {0x8136f439, 0xe28e87},
+  {0x8136f530, 0xe28e88},
+  {0x8136f531, 0xe28e89},
+  {0x8136f532, 0xe28e8a},
+  {0x8136f533, 0xe28e8b},
+  {0x8136f534, 0xe28e8c},
+  {0x8136f535, 0xe28e8d},
+  {0x8136f536, 0xe28e8e},
+  {0x8136f537, 0xe28e8f},
+  {0x8136f538, 0xe28e90},
+  {0x8136f539, 0xe28e91},
+  {0x8136f630, 0xe28e92},
+  {0x8136f631, 0xe28e93},
+  {0x8136f632, 0xe28e94},
+  {0x8136f633, 0xe28e95},
+  {0x8136f634, 0xe28e96},
+  {0x8136f635, 0xe28e97},
+  {0x8136f636, 0xe28e98},
+  {0x8136f637, 0xe28e99},
+  {0x8136f638, 0xe28e9a},
+  {0x8136f639, 0xe28e9b},
+  {0x8136f730, 0xe28e9c},
+  {0x8136f731, 0xe28e9d},
+  {0x8136f732, 0xe28e9e},
+  {0x8136f733, 0xe28e9f},
+  {0x8136f734, 0xe28ea0},
+  {0x8136f735, 0xe28ea1},
+  {0x8136f736, 0xe28ea2},
+  {0x8136f737, 0xe28ea3},
+  {0x8136f738, 0xe28ea4},
+  {0x8136f739, 0xe28ea5},
+  {0x8136f830, 0xe28ea6},
+  {0x8136f831, 0xe28ea7},
+  {0x8136f832, 0xe28ea8},
+  {0x8136f833, 0xe28ea9},
+  {0x8136f834, 0xe28eaa},
+  {0x8136f835, 0xe28eab},
+  {0x8136f836, 0xe28eac},
+  {0x8136f837, 0xe28ead},
+  {0x8136f838, 0xe28eae},
+  {0x8136f839, 0xe28eaf},
+  {0x8136f930, 0xe28eb0},
+  {0x8136f931, 0xe28eb1},
+  {0x8136f932, 0xe28eb2},
+  {0x8136f933, 0xe28eb3},
+  {0x8136f934, 0xe28eb4},
+  {0x8136f935, 0xe28eb5},
+  {0x8136f936, 0xe28eb6},
+  {0x8136f937, 0xe28eb7},
+  {0x8136f938, 0xe28eb8},
+  {0x8136f939, 0xe28eb9},
+  {0x8136fa30, 0xe28eba},
+  {0x8136fa31, 0xe28ebb},
+  {0x8136fa32, 0xe28ebc},
+  {0x8136fa33, 0xe28ebd},
+  {0x8136fa34, 0xe28ebe},
+  {0x8136fa35, 0xe28ebf},
+  {0x8136fa36, 0xe28f80},
+  {0x8136fa37, 0xe28f81},
+  {0x8136fa38, 0xe28f82},
+  {0x8136fa39, 0xe28f83},
+  {0x8136fb30, 0xe28f84},
+  {0x8136fb31, 0xe28f85},
+  {0x8136fb32, 0xe28f86},
+  {0x8136fb33, 0xe28f87},
+  {0x8136fb34, 0xe28f88},
+  {0x8136fb35, 0xe28f89},
+  {0x8136fb36, 0xe28f8a},
+  {0x8136fb37, 0xe28f8b},
+  {0x8136fb38, 0xe28f8c},
+  {0x8136fb39, 0xe28f8d},
+  {0x8136fc30, 0xe28f8e},
+  {0x8136fc31, 0xe28f8f},
+  {0x8136fc32, 0xe28f90},
+  {0x8136fc33, 0xe28f91},
+  {0x8136fc34, 0xe28f92},
+  {0x8136fc35, 0xe28f93},
+  {0x8136fc36, 0xe28f94},
+  {0x8136fc37, 0xe28f95},
+  {0x8136fc38, 0xe28f96},
+  {0x8136fc39, 0xe28f97},
+  {0x8136fd30, 0xe28f98},
+  {0x8136fd31, 0xe28f99},
+  {0x8136fd32, 0xe28f9a},
+  {0x8136fd33, 0xe28f9b},
+  {0x8136fd34, 0xe28f9c},
+  {0x8136fd35, 0xe28f9d},
+  {0x8136fd36, 0xe28f9e},
+  {0x8136fd37, 0xe28f9f},
+  {0x8136fd38, 0xe28fa0},
+  {0x8136fd39, 0xe28fa1},
+  {0x8136fe30, 0xe28fa2},
+  {0x8136fe31, 0xe28fa3},
+  {0x8136fe32, 0xe28fa4},
+  {0x8136fe33, 0xe28fa5},
+  {0x8136fe34, 0xe28fa6},
+  {0x8136fe35, 0xe28fa7},
+  {0x8136fe36, 0xe28fa8},
+  {0x8136fe37, 0xe28fa9},
+  {0x8136fe38, 0xe28faa},
+  {0x8136fe39, 0xe28fab},
+  {0x81378130, 0xe28fac},
+  {0x81378131, 0xe28fad},
+  {0x81378132, 0xe28fae},
+  {0x81378133, 0xe28faf},
+  {0x81378134, 0xe28fb0},
+  {0x81378135, 0xe28fb1},
+  {0x81378136, 0xe28fb2},
+  {0x81378137, 0xe28fb3},
+  {0x81378138, 0xe28fb4},
+  {0x81378139, 0xe28fb5},
+  {0x81378230, 0xe28fb6},
+  {0x81378231, 0xe28fb7},
+  {0x81378232, 0xe28fb8},
+  {0x81378233, 0xe28fb9},
+  {0x81378234, 0xe28fba},
+  {0x81378235, 0xe28fbb},
+  {0x81378236, 0xe28fbc},
+  {0x81378237, 0xe28fbd},
+  {0x81378238, 0xe28fbe},
+  {0x81378239, 0xe28fbf},
+  {0x81378330, 0xe29080},
+  {0x81378331, 0xe29081},
+  {0x81378332, 0xe29082},
+  {0x81378333, 0xe29083},
+  {0x81378334, 0xe29084},
+  {0x81378335, 0xe29085},
+  {0x81378336, 0xe29086},
+  {0x81378337, 0xe29087},
+  {0x81378338, 0xe29088},
+  {0x81378339, 0xe29089},
+  {0x81378430, 0xe2908a},
+  {0x81378431, 0xe2908b},
+  {0x81378432, 0xe2908c},
+  {0x81378433, 0xe2908d},
+  {0x81378434, 0xe2908e},
+  {0x81378435, 0xe2908f},
+  {0x81378436, 0xe29090},
+  {0x81378437, 0xe29091},
+  {0x81378438, 0xe29092},
+  {0x81378439, 0xe29093},
+  {0x81378530, 0xe29094},
+  {0x81378531, 0xe29095},
+  {0x81378532, 0xe29096},
+  {0x81378533, 0xe29097},
+  {0x81378534, 0xe29098},
+  {0x81378535, 0xe29099},
+  {0x81378536, 0xe2909a},
+  {0x81378537, 0xe2909b},
+  {0x81378538, 0xe2909c},
+  {0x81378539, 0xe2909d},
+  {0x81378630, 0xe2909e},
+  {0x81378631, 0xe2909f},
+  {0x81378632, 0xe290a0},
+  {0x81378633, 0xe290a1},
+  {0x81378634, 0xe290a2},
+  {0x81378635, 0xe290a3},
+  {0x81378636, 0xe290a4},
+  {0x81378637, 0xe290a5},
+  {0x81378638, 0xe290a6},
+  {0x81378639, 0xe290a7},
+  {0x81378730, 0xe290a8},
+  {0x81378731, 0xe290a9},
+  {0x81378732, 0xe290aa},
+  {0x81378733, 0xe290ab},
+  {0x81378734, 0xe290ac},
+  {0x81378735, 0xe290ad},
+  {0x81378736, 0xe290ae},
+  {0x81378737, 0xe290af},
+  {0x81378738, 0xe290b0},
+  {0x81378739, 0xe290b1},
+  {0x81378830, 0xe290b2},
+  {0x81378831, 0xe290b3},
+  {0x81378832, 0xe290b4},
+  {0x81378833, 0xe290b5},
+  {0x81378834, 0xe290b6},
+  {0x81378835, 0xe290b7},
+  {0x81378836, 0xe290b8},
+  {0x81378837, 0xe290b9},
+  {0x81378838, 0xe290ba},
+  {0x81378839, 0xe290bb},
+  {0x81378930, 0xe290bc},
+  {0x81378931, 0xe290bd},
+  {0x81378932, 0xe290be},
+  {0x81378933, 0xe290bf},
+  {0x81378934, 0xe29180},
+  {0x81378935, 0xe29181},
+  {0x81378936, 0xe29182},
+  {0x81378937, 0xe29183},
+  {0x81378938, 0xe29184},
+  {0x81378939, 0xe29185},
+  {0x81378a30, 0xe29186},
+  {0x81378a31, 0xe29187},
+  {0x81378a32, 0xe29188},
+  {0x81378a33, 0xe29189},
+  {0x81378a34, 0xe2918a},
+  {0x81378a35, 0xe2918b},
+  {0x81378a36, 0xe2918c},
+  {0x81378a37, 0xe2918d},
+  {0x81378a38, 0xe2918e},
+  {0x81378a39, 0xe2918f},
+  {0x81378b30, 0xe29190},
+  {0x81378b31, 0xe29191},
+  {0x81378b32, 0xe29192},
+  {0x81378b33, 0xe29193},
+  {0x81378b34, 0xe29194},
+  {0x81378b35, 0xe29195},
+  {0x81378b36, 0xe29196},
+  {0x81378b37, 0xe29197},
+  {0x81378b38, 0xe29198},
+  {0x81378b39, 0xe29199},
+  {0x81378c30, 0xe2919a},
+  {0x81378c31, 0xe2919b},
+  {0x81378c32, 0xe2919c},
+  {0x81378c33, 0xe2919d},
+  {0x81378c34, 0xe2919e},
+  {0x81378c35, 0xe2919f},
+  {0x81378c36, 0xe291aa},
+  {0x81378c37, 0xe291ab},
+  {0x81378c38, 0xe291ac},
+  {0x81378c39, 0xe291ad},
+  {0x81378d30, 0xe291ae},
+  {0x81378d31, 0xe291af},
+  {0x81378d32, 0xe291b0},
+  {0x81378d33, 0xe291b1},
+  {0x81378d34, 0xe291b2},
+  {0x81378d35, 0xe291b3},
+  {0x81378d36, 0xe2929c},
+  {0x81378d37, 0xe2929d},
+  {0x81378d38, 0xe2929e},
+  {0x81378d39, 0xe2929f},
+  {0x81378e30, 0xe292a0},
+  {0x81378e31, 0xe292a1},
+  {0x81378e32, 0xe292a2},
+  {0x81378e33, 0xe292a3},
+  {0x81378e34, 0xe292a4},
+  {0x81378e35, 0xe292a5},
+  {0x81378e36, 0xe292a6},
+  {0x81378e37, 0xe292a7},
+  {0x81378e38, 0xe292a8},
+  {0x81378e39, 0xe292a9},
+  {0x81378f30, 0xe292aa},
+  {0x81378f31, 0xe292ab},
+  {0x81378f32, 0xe292ac},
+  {0x81378f33, 0xe292ad},
+  {0x81378f34, 0xe292ae},
+  {0x81378f35, 0xe292af},
+  {0x81378f36, 0xe292b0},
+  {0x81378f37, 0xe292b1},
+  {0x81378f38, 0xe292b2},
+  {0x81378f39, 0xe292b3},
+  {0x81379030, 0xe292b4},
+  {0x81379031, 0xe292b5},
+  {0x81379032, 0xe292b6},
+  {0x81379033, 0xe292b7},
+  {0x81379034, 0xe292b8},
+  {0x81379035, 0xe292b9},
+  {0x81379036, 0xe292ba},
+  {0x81379037, 0xe292bb},
+  {0x81379038, 0xe292bc},
+  {0x81379039, 0xe292bd},
+  {0x81379130, 0xe292be},
+  {0x81379131, 0xe292bf},
+  {0x81379132, 0xe29380},
+  {0x81379133, 0xe29381},
+  {0x81379134, 0xe29382},
+  {0x81379135, 0xe29383},
+  {0x81379136, 0xe29384},
+  {0x81379137, 0xe29385},
+  {0x81379138, 0xe29386},
+  {0x81379139, 0xe29387},
+  {0x81379230, 0xe29388},
+  {0x81379231, 0xe29389},
+  {0x81379232, 0xe2938a},
+  {0x81379233, 0xe2938b},
+  {0x81379234, 0xe2938c},
+  {0x81379235, 0xe2938d},
+  {0x81379236, 0xe2938e},
+  {0x81379237, 0xe2938f},
+  {0x81379238, 0xe29390},
+  {0x81379239, 0xe29391},
+  {0x81379330, 0xe29392},
+  {0x81379331, 0xe29393},
+  {0x81379332, 0xe29394},
+  {0x81379333, 0xe29395},
+  {0x81379334, 0xe29396},
+  {0x81379335, 0xe29397},
+  {0x81379336, 0xe29398},
+  {0x81379337, 0xe29399},
+  {0x81379338, 0xe2939a},
+  {0x81379339, 0xe2939b},
+  {0x81379430, 0xe2939c},
+  {0x81379431, 0xe2939d},
+  {0x81379432, 0xe2939e},
+  {0x81379433, 0xe2939f},
+  {0x81379434, 0xe293a0},
+  {0x81379435, 0xe293a1},
+  {0x81379436, 0xe293a2},
+  {0x81379437, 0xe293a3},
+  {0x81379438, 0xe293a4},
+  {0x81379439, 0xe293a5},
+  {0x81379530, 0xe293a6},
+  {0x81379531, 0xe293a7},
+  {0x81379532, 0xe293a8},
+  {0x81379533, 0xe293a9},
+  {0x81379534, 0xe293aa},
+  {0x81379535, 0xe293ab},
+  {0x81379536, 0xe293ac},
+  {0x81379537, 0xe293ad},
+  {0x81379538, 0xe293ae},
+  {0x81379539, 0xe293af},
+  {0x81379630, 0xe293b0},
+  {0x81379631, 0xe293b1},
+  {0x81379632, 0xe293b2},
+  {0x81379633, 0xe293b3},
+  {0x81379634, 0xe293b4},
+  {0x81379635, 0xe293b5},
+  {0x81379636, 0xe293b6},
+  {0x81379637, 0xe293b7},
+  {0x81379638, 0xe293b8},
+  {0x81379639, 0xe293b9},
+  {0x81379730, 0xe293ba},
+  {0x81379731, 0xe293bb},
+  {0x81379732, 0xe293bc},
+  {0x81379733, 0xe293bd},
+  {0x81379734, 0xe293be},
+  {0x81379735, 0xe293bf},
+  {0x81379736, 0xe2958c},
+  {0x81379737, 0xe2958d},
+  {0x81379738, 0xe2958e},
+  {0x81379739, 0xe2958f},
+  {0x81379830, 0xe295b4},
+  {0x81379831, 0xe295b5},
+  {0x81379832, 0xe295b6},
+  {0x81379833, 0xe295b7},
+  {0x81379834, 0xe295b8},
+  {0x81379835, 0xe295b9},
+  {0x81379836, 0xe295ba},
+  {0x81379837, 0xe295bb},
+  {0x81379838, 0xe295bc},
+  {0x81379839, 0xe295bd},
+  {0x81379930, 0xe295be},
+  {0x81379931, 0xe295bf},
+  {0x81379932, 0xe29680},
+  {0x81379933, 0xe29690},
+  {0x81379934, 0xe29691},
+  {0x81379935, 0xe29692},
+  {0x81379936, 0xe29696},
+  {0x81379937, 0xe29697},
+  {0x81379938, 0xe29698},
+  {0x81379939, 0xe29699},
+  {0x81379a30, 0xe2969a},
+  {0x81379a31, 0xe2969b},
+  {0x81379a32, 0xe2969c},
+  {0x81379a33, 0xe2969d},
+  {0x81379a34, 0xe2969e},
+  {0x81379a35, 0xe2969f},
+  {0x81379a36, 0xe296a2},
+  {0x81379a37, 0xe296a3},
+  {0x81379a38, 0xe296a4},
+  {0x81379a39, 0xe296a5},
+  {0x81379b30, 0xe296a6},
+  {0x81379b31, 0xe296a7},
+  {0x81379b32, 0xe296a8},
+  {0x81379b33, 0xe296a9},
+  {0x81379b34, 0xe296aa},
+  {0x81379b35, 0xe296ab},
+  {0x81379b36, 0xe296ac},
+  {0x81379b37, 0xe296ad},
+  {0x81379b38, 0xe296ae},
+  {0x81379b39, 0xe296af},
+  {0x81379c30, 0xe296b0},
+  {0x81379c31, 0xe296b1},
+  {0x81379c32, 0xe296b4},
+  {0x81379c33, 0xe296b5},
+  {0x81379c34, 0xe296b6},
+  {0x81379c35, 0xe296b7},
+  {0x81379c36, 0xe296b8},
+  {0x81379c37, 0xe296b9},
+  {0x81379c38, 0xe296ba},
+  {0x81379c39, 0xe296bb},
+  {0x81379d30, 0xe296be},
+  {0x81379d31, 0xe296bf},
+  {0x81379d32, 0xe29780},
+  {0x81379d33, 0xe29781},
+  {0x81379d34, 0xe29782},
+  {0x81379d35, 0xe29783},
+  {0x81379d36, 0xe29784},
+  {0x81379d37, 0xe29785},
+  {0x81379d38, 0xe29788},
+  {0x81379d39, 0xe29789},
+  {0x81379e30, 0xe2978a},
+  {0x81379e31, 0xe2978c},
+  {0x81379e32, 0xe2978d},
+  {0x81379e33, 0xe29790},
+  {0x81379e34, 0xe29791},
+  {0x81379e35, 0xe29792},
+  {0x81379e36, 0xe29793},
+  {0x81379e37, 0xe29794},
+  {0x81379e38, 0xe29795},
+  {0x81379e39, 0xe29796},
+  {0x81379f30, 0xe29797},
+  {0x81379f31, 0xe29798},
+  {0x81379f32, 0xe29799},
+  {0x81379f33, 0xe2979a},
+  {0x81379f34, 0xe2979b},
+  {0x81379f35, 0xe2979c},
+  {0x81379f36, 0xe2979d},
+  {0x81379f37, 0xe2979e},
+  {0x81379f38, 0xe2979f},
+  {0x81379f39, 0xe297a0},
+  {0x8137a030, 0xe297a1},
+  {0x8137a031, 0xe297a6},
+  {0x8137a032, 0xe297a7},
+  {0x8137a033, 0xe297a8},
+  {0x8137a034, 0xe297a9},
+  {0x8137a035, 0xe297aa},
+  {0x8137a036, 0xe297ab},
+  {0x8137a037, 0xe297ac},
+  {0x8137a038, 0xe297ad},
+  {0x8137a039, 0xe297ae},
+  {0x8137a130, 0xe297af},
+  {0x8137a131, 0xe297b0},
+  {0x8137a132, 0xe297b1},
+  {0x8137a133, 0xe297b2},
+  {0x8137a134, 0xe297b3},
+  {0x8137a135, 0xe297b4},
+  {0x8137a136, 0xe297b5},
+  {0x8137a137, 0xe297b6},
+  {0x8137a138, 0xe297b7},
+  {0x8137a139, 0xe297b8},
+  {0x8137a230, 0xe297b9},
+  {0x8137a231, 0xe297ba},
+  {0x8137a232, 0xe297bb},
+  {0x8137a233, 0xe297bc},
+  {0x8137a234, 0xe297bd},
+  {0x8137a235, 0xe297be},
+  {0x8137a236, 0xe297bf},
+  {0x8137a237, 0xe29880},
+  {0x8137a238, 0xe29881},
+  {0x8137a239, 0xe29882},
+  {0x8137a330, 0xe29883},
+  {0x8137a331, 0xe29884},
+  {0x8137a332, 0xe29887},
+  {0x8137a333, 0xe29888},
+  {0x8137a334, 0xe2988a},
+  {0x8137a335, 0xe2988b},
+  {0x8137a336, 0xe2988c},
+  {0x8137a337, 0xe2988d},
+  {0x8137a338, 0xe2988e},
+  {0x8137a339, 0xe2988f},
+  {0x8137a430, 0xe29890},
+  {0x8137a431, 0xe29891},
+  {0x8137a432, 0xe29892},
+  {0x8137a433, 0xe29893},
+  {0x8137a434, 0xe29894},
+  {0x8137a435, 0xe29895},
+  {0x8137a436, 0xe29896},
+  {0x8137a437, 0xe29897},
+  {0x8137a438, 0xe29898},
+  {0x8137a439, 0xe29899},
+  {0x8137a530, 0xe2989a},
+  {0x8137a531, 0xe2989b},
+  {0x8137a532, 0xe2989c},
+  {0x8137a533, 0xe2989d},
+  {0x8137a534, 0xe2989e},
+  {0x8137a535, 0xe2989f},
+  {0x8137a536, 0xe298a0},
+  {0x8137a537, 0xe298a1},
+  {0x8137a538, 0xe298a2},
+  {0x8137a539, 0xe298a3},
+  {0x8137a630, 0xe298a4},
+  {0x8137a631, 0xe298a5},
+  {0x8137a632, 0xe298a6},
+  {0x8137a633, 0xe298a7},
+  {0x8137a634, 0xe298a8},
+  {0x8137a635, 0xe298a9},
+  {0x8137a636, 0xe298aa},
+  {0x8137a637, 0xe298ab},
+  {0x8137a638, 0xe298ac},
+  {0x8137a639, 0xe298ad},
+  {0x8137a730, 0xe298ae},
+  {0x8137a731, 0xe298af},
+  {0x8137a732, 0xe298b0},
+  {0x8137a733, 0xe298b1},
+  {0x8137a734, 0xe298b2},
+  {0x8137a735, 0xe298b3},
+  {0x8137a736, 0xe298b4},
+  {0x8137a737, 0xe298b5},
+  {0x8137a738, 0xe298b6},
+  {0x8137a739, 0xe298b7},
+  {0x8137a830, 0xe298b8},
+  {0x8137a831, 0xe298b9},
+  {0x8137a832, 0xe298ba},
+  {0x8137a833, 0xe298bb},
+  {0x8137a834, 0xe298bc},
+  {0x8137a835, 0xe298bd},
+  {0x8137a836, 0xe298be},
+  {0x8137a837, 0xe298bf},
+  {0x8137a838, 0xe29981},
+  {0x8137a839, 0xe29983},
+  {0x8137a930, 0xe29984},
+  {0x8137a931, 0xe29985},
+  {0x8137a932, 0xe29986},
+  {0x8137a933, 0xe29987},
+  {0x8137a934, 0xe29988},
+  {0x8137a935, 0xe29989},
+  {0x8137a936, 0xe2998a},
+  {0x8137a937, 0xe2998b},
+  {0x8137a938, 0xe2998c},
+  {0x8137a939, 0xe2998d},
+  {0x8137aa30, 0xe2998e},
+  {0x8137aa31, 0xe2998f},
+  {0x8137aa32, 0xe29990},
+  {0x8137aa33, 0xe29991},
+  {0x8137aa34, 0xe29992},
+  {0x8137aa35, 0xe29993},
+  {0x8137aa36, 0xe29994},
+  {0x8137aa37, 0xe29995},
+  {0x8137aa38, 0xe29996},
+  {0x8137aa39, 0xe29997},
+  {0x8137ab30, 0xe29998},
+  {0x8137ab31, 0xe29999},
+  {0x8137ab32, 0xe2999a},
+  {0x8137ab33, 0xe2999b},
+  {0x8137ab34, 0xe2999c},
+  {0x8137ab35, 0xe2999d},
+  {0x8137ab36, 0xe2999e},
+  {0x8137ab37, 0xe2999f},
+  {0x8137ab38, 0xe299a0},
+  {0x8137ab39, 0xe299a1},
+  {0x8137ac30, 0xe299a2},
+  {0x8137ac31, 0xe299a3},
+  {0x8137ac32, 0xe299a4},
+  {0x8137ac33, 0xe299a5},
+  {0x8137ac34, 0xe299a6},
+  {0x8137ac35, 0xe299a7},
+  {0x8137ac36, 0xe299a8},
+  {0x8137ac37, 0xe299a9},
+  {0x8137ac38, 0xe299aa},
+  {0x8137ac39, 0xe299ab},
+  {0x8137ad30, 0xe299ac},
+  {0x8137ad31, 0xe299ad},
+  {0x8137ad32, 0xe299ae},
+  {0x8137ad33, 0xe299af},
+  {0x8137ad34, 0xe299b0},
+  {0x8137ad35, 0xe299b1},
+  {0x8137ad36, 0xe299b2},
+  {0x8137ad37, 0xe299b3},
+  {0x8137ad38, 0xe299b4},
+  {0x8137ad39, 0xe299b5},
+  {0x8137ae30, 0xe299b6},
+  {0x8137ae31, 0xe299b7},
+  {0x8137ae32, 0xe299b8},
+  {0x8137ae33, 0xe299b9},
+  {0x8137ae34, 0xe299ba},
+  {0x8137ae35, 0xe299bb},
+  {0x8137ae36, 0xe299bc},
+  {0x8137ae37, 0xe299bd},
+  {0x8137ae38, 0xe299be},
+  {0x8137ae39, 0xe299bf},
+  {0x8137af30, 0xe29a80},
+  {0x8137af31, 0xe29a81},
+  {0x8137af32, 0xe29a82},
+  {0x8137af33, 0xe29a83},
+  {0x8137af34, 0xe29a84},
+  {0x8137af35, 0xe29a85},
+  {0x8137af36, 0xe29a86},
+  {0x8137af37, 0xe29a87},
+  {0x8137af38, 0xe29a88},
+  {0x8137af39, 0xe29a89},
+  {0x8137b030, 0xe29a8a},
+  {0x8137b031, 0xe29a8b},
+  {0x8137b032, 0xe29a8c},
+  {0x8137b033, 0xe29a8d},
+  {0x8137b034, 0xe29a8e},
+  {0x8137b035, 0xe29a8f},
+  {0x8137b036, 0xe29a90},
+  {0x8137b037, 0xe29a91},
+  {0x8137b038, 0xe29a92},
+  {0x8137b039, 0xe29a93},
+  {0x8137b130, 0xe29a94},
+  {0x8137b131, 0xe29a95},
+  {0x8137b132, 0xe29a96},
+  {0x8137b133, 0xe29a97},
+  {0x8137b134, 0xe29a98},
+  {0x8137b135, 0xe29a99},
+  {0x8137b136, 0xe29a9a},
+  {0x8137b137, 0xe29a9b},
+  {0x8137b138, 0xe29a9c},
+  {0x8137b139, 0xe29a9d},
+  {0x8137b230, 0xe29a9e},
+  {0x8137b231, 0xe29a9f},
+  {0x8137b232, 0xe29aa0},
+  {0x8137b233, 0xe29aa1},
+  {0x8137b234, 0xe29aa2},
+  {0x8137b235, 0xe29aa3},
+  {0x8137b236, 0xe29aa4},
+  {0x8137b237, 0xe29aa5},
+  {0x8137b238, 0xe29aa6},
+  {0x8137b239, 0xe29aa7},
+  {0x8137b330, 0xe29aa8},
+  {0x8137b331, 0xe29aa9},
+  {0x8137b332, 0xe29aaa},
+  {0x8137b333, 0xe29aab},
+  {0x8137b334, 0xe29aac},
+  {0x8137b335, 0xe29aad},
+  {0x8137b336, 0xe29aae},
+  {0x8137b337, 0xe29aaf},
+  {0x8137b338, 0xe29ab0},
+  {0x8137b339, 0xe29ab1},
+  {0x8137b430, 0xe29ab2},
+  {0x8137b431, 0xe29ab3},
+  {0x8137b432, 0xe29ab4},
+  {0x8137b433, 0xe29ab5},
+  {0x8137b434, 0xe29ab6},
+  {0x8137b435, 0xe29ab7},
+  {0x8137b436, 0xe29ab8},
+  {0x8137b437, 0xe29ab9},
+  {0x8137b438, 0xe29aba},
+  {0x8137b439, 0xe29abb},
+  {0x8137b530, 0xe29abc},
+  {0x8137b531, 0xe29abd},
+  {0x8137b532, 0xe29abe},
+  {0x8137b533, 0xe29abf},
+  {0x8137b534, 0xe29b80},
+  {0x8137b535, 0xe29b81},
+  {0x8137b536, 0xe29b82},
+  {0x8137b537, 0xe29b83},
+  {0x8137b538, 0xe29b84},
+  {0x8137b539, 0xe29b85},
+  {0x8137b630, 0xe29b86},
+  {0x8137b631, 0xe29b87},
+  {0x8137b632, 0xe29b88},
+  {0x8137b633, 0xe29b89},
+  {0x8137b634, 0xe29b8a},
+  {0x8137b635, 0xe29b8b},
+  {0x8137b636, 0xe29b8c},
+  {0x8137b637, 0xe29b8d},
+  {0x8137b638, 0xe29b8e},
+  {0x8137b639, 0xe29b8f},
+  {0x8137b730, 0xe29b90},
+  {0x8137b731, 0xe29b91},
+  {0x8137b732, 0xe29b92},
+  {0x8137b733, 0xe29b93},
+  {0x8137b734, 0xe29b94},
+  {0x8137b735, 0xe29b95},
+  {0x8137b736, 0xe29b96},
+  {0x8137b737, 0xe29b97},
+  {0x8137b738, 0xe29b98},
+  {0x8137b739, 0xe29b99},
+  {0x8137b830, 0xe29b9a},
+  {0x8137b831, 0xe29b9b},
+  {0x8137b832, 0xe29b9c},
+  {0x8137b833, 0xe29b9d},
+  {0x8137b834, 0xe29b9e},
+  {0x8137b835, 0xe29b9f},
+  {0x8137b836, 0xe29ba0},
+  {0x8137b837, 0xe29ba1},
+  {0x8137b838, 0xe29ba2},
+  {0x8137b839, 0xe29ba3},
+  {0x8137b930, 0xe29ba4},
+  {0x8137b931, 0xe29ba5},
+  {0x8137b932, 0xe29ba6},
+  {0x8137b933, 0xe29ba7},
+  {0x8137b934, 0xe29ba8},
+  {0x8137b935, 0xe29ba9},
+  {0x8137b936, 0xe29baa},
+  {0x8137b937, 0xe29bab},
+  {0x8137b938, 0xe29bac},
+  {0x8137b939, 0xe29bad},
+  {0x8137ba30, 0xe29bae},
+  {0x8137ba31, 0xe29baf},
+  {0x8137ba32, 0xe29bb0},
+  {0x8137ba33, 0xe29bb1},
+  {0x8137ba34, 0xe29bb2},
+  {0x8137ba35, 0xe29bb3},
+  {0x8137ba36, 0xe29bb4},
+  {0x8137ba37, 0xe29bb5},
+  {0x8137ba38, 0xe29bb6},
+  {0x8137ba39, 0xe29bb7},
+  {0x8137bb30, 0xe29bb8},
+  {0x8137bb31, 0xe29bb9},
+  {0x8137bb32, 0xe29bba},
+  {0x8137bb33, 0xe29bbb},
+  {0x8137bb34, 0xe29bbc},
+  {0x8137bb35, 0xe29bbd},
+  {0x8137bb36, 0xe29bbe},
+  {0x8137bb37, 0xe29bbf},
+  {0x8137bb38, 0xe29c80},
+  {0x8137bb39, 0xe29c81},
+  {0x8137bc30, 0xe29c82},
+  {0x8137bc31, 0xe29c83},
+  {0x8137bc32, 0xe29c84},
+  {0x8137bc33, 0xe29c85},
+  {0x8137bc34, 0xe29c86},
+  {0x8137bc35, 0xe29c87},
+  {0x8137bc36, 0xe29c88},
+  {0x8137bc37, 0xe29c89},
+  {0x8137bc38, 0xe29c8a},
+  {0x8137bc39, 0xe29c8b},
+  {0x8137bd30, 0xe29c8c},
+  {0x8137bd31, 0xe29c8d},
+  {0x8137bd32, 0xe29c8e},
+  {0x8137bd33, 0xe29c8f},
+  {0x8137bd34, 0xe29c90},
+  {0x8137bd35, 0xe29c91},
+  {0x8137bd36, 0xe29c92},
+  {0x8137bd37, 0xe29c93},
+  {0x8137bd38, 0xe29c94},
+  {0x8137bd39, 0xe29c95},
+  {0x8137be30, 0xe29c96},
+  {0x8137be31, 0xe29c97},
+  {0x8137be32, 0xe29c98},
+  {0x8137be33, 0xe29c99},
+  {0x8137be34, 0xe29c9a},
+  {0x8137be35, 0xe29c9b},
+  {0x8137be36, 0xe29c9c},
+  {0x8137be37, 0xe29c9d},
+  {0x8137be38, 0xe29c9e},
+  {0x8137be39, 0xe29c9f},
+  {0x8137bf30, 0xe29ca0},
+  {0x8137bf31, 0xe29ca1},
+  {0x8137bf32, 0xe29ca2},
+  {0x8137bf33, 0xe29ca3},
+  {0x8137bf34, 0xe29ca4},
+  {0x8137bf35, 0xe29ca5},
+  {0x8137bf36, 0xe29ca6},
+  {0x8137bf37, 0xe29ca7},
+  {0x8137bf38, 0xe29ca8},
+  {0x8137bf39, 0xe29ca9},
+  {0x8137c030, 0xe29caa},
+  {0x8137c031, 0xe29cab},
+  {0x8137c032, 0xe29cac},
+  {0x8137c033, 0xe29cad},
+  {0x8137c034, 0xe29cae},
+  {0x8137c035, 0xe29caf},
+  {0x8137c036, 0xe29cb0},
+  {0x8137c037, 0xe29cb1},
+  {0x8137c038, 0xe29cb2},
+  {0x8137c039, 0xe29cb3},
+  {0x8137c130, 0xe29cb4},
+  {0x8137c131, 0xe29cb5},
+  {0x8137c132, 0xe29cb6},
+  {0x8137c133, 0xe29cb7},
+  {0x8137c134, 0xe29cb8},
+  {0x8137c135, 0xe29cb9},
+  {0x8137c136, 0xe29cba},
+  {0x8137c137, 0xe29cbb},
+  {0x8137c138, 0xe29cbc},
+  {0x8137c139, 0xe29cbd},
+  {0x8137c230, 0xe29cbe},
+  {0x8137c231, 0xe29cbf},
+  {0x8137c232, 0xe29d80},
+  {0x8137c233, 0xe29d81},
+  {0x8137c234, 0xe29d82},
+  {0x8137c235, 0xe29d83},
+  {0x8137c236, 0xe29d84},
+  {0x8137c237, 0xe29d85},
+  {0x8137c238, 0xe29d86},
+  {0x8137c239, 0xe29d87},
+  {0x8137c330, 0xe29d88},
+  {0x8137c331, 0xe29d89},
+  {0x8137c332, 0xe29d8a},
+  {0x8137c333, 0xe29d8b},
+  {0x8137c334, 0xe29d8c},
+  {0x8137c335, 0xe29d8d},
+  {0x8137c336, 0xe29d8e},
+  {0x8137c337, 0xe29d8f},
+  {0x8137c338, 0xe29d90},
+  {0x8137c339, 0xe29d91},
+  {0x8137c430, 0xe29d92},
+  {0x8137c431, 0xe29d93},
+  {0x8137c432, 0xe29d94},
+  {0x8137c433, 0xe29d95},
+  {0x8137c434, 0xe29d96},
+  {0x8137c435, 0xe29d97},
+  {0x8137c436, 0xe29d98},
+  {0x8137c437, 0xe29d99},
+  {0x8137c438, 0xe29d9a},
+  {0x8137c439, 0xe29d9b},
+  {0x8137c530, 0xe29d9c},
+  {0x8137c531, 0xe29d9d},
+  {0x8137c532, 0xe29d9e},
+  {0x8137c533, 0xe29d9f},
+  {0x8137c534, 0xe29da0},
+  {0x8137c535, 0xe29da1},
+  {0x8137c536, 0xe29da2},
+  {0x8137c537, 0xe29da3},
+  {0x8137c538, 0xe29da4},
+  {0x8137c539, 0xe29da5},
+  {0x8137c630, 0xe29da6},
+  {0x8137c631, 0xe29da7},
+  {0x8137c632, 0xe29da8},
+  {0x8137c633, 0xe29da9},
+  {0x8137c634, 0xe29daa},
+  {0x8137c635, 0xe29dab},
+  {0x8137c636, 0xe29dac},
+  {0x8137c637, 0xe29dad},
+  {0x8137c638, 0xe29dae},
+  {0x8137c639, 0xe29daf},
+  {0x8137c730, 0xe29db0},
+  {0x8137c731, 0xe29db1},
+  {0x8137c732, 0xe29db2},
+  {0x8137c733, 0xe29db3},
+  {0x8137c734, 0xe29db4},
+  {0x8137c735, 0xe29db5},
+  {0x8137c736, 0xe29db6},
+  {0x8137c737, 0xe29db7},
+  {0x8137c738, 0xe29db8},
+  {0x8137c739, 0xe29db9},
+  {0x8137c830, 0xe29dba},
+  {0x8137c831, 0xe29dbb},
+  {0x8137c832, 0xe29dbc},
+  {0x8137c833, 0xe29dbd},
+  {0x8137c834, 0xe29dbe},
+  {0x8137c835, 0xe29dbf},
+  {0x8137c836, 0xe29e80},
+  {0x8137c837, 0xe29e81},
+  {0x8137c838, 0xe29e82},
+  {0x8137c839, 0xe29e83},
+  {0x8137c930, 0xe29e84},
+  {0x8137c931, 0xe29e85},
+  {0x8137c932, 0xe29e86},
+  {0x8137c933, 0xe29e87},
+  {0x8137c934, 0xe29e88},
+  {0x8137c935, 0xe29e89},
+  {0x8137c936, 0xe29e8a},
+  {0x8137c937, 0xe29e8b},
+  {0x8137c938, 0xe29e8c},
+  {0x8137c939, 0xe29e8d},
+  {0x8137ca30, 0xe29e8e},
+  {0x8137ca31, 0xe29e8f},
+  {0x8137ca32, 0xe29e90},
+  {0x8137ca33, 0xe29e91},
+  {0x8137ca34, 0xe29e92},
+  {0x8137ca35, 0xe29e93},
+  {0x8137ca36, 0xe29e94},
+  {0x8137ca37, 0xe29e95},
+  {0x8137ca38, 0xe29e96},
+  {0x8137ca39, 0xe29e97},
+  {0x8137cb30, 0xe29e98},
+  {0x8137cb31, 0xe29e99},
+  {0x8137cb32, 0xe29e9a},
+  {0x8137cb33, 0xe29e9b},
+  {0x8137cb34, 0xe29e9c},
+  {0x8137cb35, 0xe29e9d},
+  {0x8137cb36, 0xe29e9e},
+  {0x8137cb37, 0xe29e9f},
+  {0x8137cb38, 0xe29ea0},
+  {0x8137cb39, 0xe29ea1},
+  {0x8137cc30, 0xe29ea2},
+  {0x8137cc31, 0xe29ea3},
+  {0x8137cc32, 0xe29ea4},
+  {0x8137cc33, 0xe29ea5},
+  {0x8137cc34, 0xe29ea6},
+  {0x8137cc35, 0xe29ea7},
+  {0x8137cc36, 0xe29ea8},
+  {0x8137cc37, 0xe29ea9},
+  {0x8137cc38, 0xe29eaa},
+  {0x8137cc39, 0xe29eab},
+  {0x8137cd30, 0xe29eac},
+  {0x8137cd31, 0xe29ead},
+  {0x8137cd32, 0xe29eae},
+  {0x8137cd33, 0xe29eaf},
+  {0x8137cd34, 0xe29eb0},
+  {0x8137cd35, 0xe29eb1},
+  {0x8137cd36, 0xe29eb2},
+  {0x8137cd37, 0xe29eb3},
+  {0x8137cd38, 0xe29eb4},
+  {0x8137cd39, 0xe29eb5},
+  {0x8137ce30, 0xe29eb6},
+  {0x8137ce31, 0xe29eb7},
+  {0x8137ce32, 0xe29eb8},
+  {0x8137ce33, 0xe29eb9},
+  {0x8137ce34, 0xe29eba},
+  {0x8137ce35, 0xe29ebb},
+  {0x8137ce36, 0xe29ebc},
+  {0x8137ce37, 0xe29ebd},
+  {0x8137ce38, 0xe29ebe},
+  {0x8137ce39, 0xe29ebf},
+  {0x8137cf30, 0xe29f80},
+  {0x8137cf31, 0xe29f81},
+  {0x8137cf32, 0xe29f82},
+  {0x8137cf33, 0xe29f83},
+  {0x8137cf34, 0xe29f84},
+  {0x8137cf35, 0xe29f85},
+  {0x8137cf36, 0xe29f86},
+  {0x8137cf37, 0xe29f87},
+  {0x8137cf38, 0xe29f88},
+  {0x8137cf39, 0xe29f89},
+  {0x8137d030, 0xe29f8a},
+  {0x8137d031, 0xe29f8b},
+  {0x8137d032, 0xe29f8c},
+  {0x8137d033, 0xe29f8d},
+  {0x8137d034, 0xe29f8e},
+  {0x8137d035, 0xe29f8f},
+  {0x8137d036, 0xe29f90},
+  {0x8137d037, 0xe29f91},
+  {0x8137d038, 0xe29f92},
+  {0x8137d039, 0xe29f93},
+  {0x8137d130, 0xe29f94},
+  {0x8137d131, 0xe29f95},
+  {0x8137d132, 0xe29f96},
+  {0x8137d133, 0xe29f97},
+  {0x8137d134, 0xe29f98},
+  {0x8137d135, 0xe29f99},
+  {0x8137d136, 0xe29f9a},
+  {0x8137d137, 0xe29f9b},
+  {0x8137d138, 0xe29f9c},
+  {0x8137d139, 0xe29f9d},
+  {0x8137d230, 0xe29f9e},
+  {0x8137d231, 0xe29f9f},
+  {0x8137d232, 0xe29fa0},
+  {0x8137d233, 0xe29fa1},
+  {0x8137d234, 0xe29fa2},
+  {0x8137d235, 0xe29fa3},
+  {0x8137d236, 0xe29fa4},
+  {0x8137d237, 0xe29fa5},
+  {0x8137d238, 0xe29fa6},
+  {0x8137d239, 0xe29fa7},
+  {0x8137d330, 0xe29fa8},
+  {0x8137d331, 0xe29fa9},
+  {0x8137d332, 0xe29faa},
+  {0x8137d333, 0xe29fab},
+  {0x8137d334, 0xe29fac},
+  {0x8137d335, 0xe29fad},
+  {0x8137d336, 0xe29fae},
+  {0x8137d337, 0xe29faf},
+  {0x8137d338, 0xe29fb0},
+  {0x8137d339, 0xe29fb1},
+  {0x8137d430, 0xe29fb2},
+  {0x8137d431, 0xe29fb3},
+  {0x8137d432, 0xe29fb4},
+  {0x8137d433, 0xe29fb5},
+  {0x8137d434, 0xe29fb6},
+  {0x8137d435, 0xe29fb7},
+  {0x8137d436, 0xe29fb8},
+  {0x8137d437, 0xe29fb9},
+  {0x8137d438, 0xe29fba},
+  {0x8137d439, 0xe29fbb},
+  {0x8137d530, 0xe29fbc},
+  {0x8137d531, 0xe29fbd},
+  {0x8137d532, 0xe29fbe},
+  {0x8137d533, 0xe29fbf},
+  {0x8137d534, 0xe2a080},
+  {0x8137d535, 0xe2a081},
+  {0x8137d536, 0xe2a082},
+  {0x8137d537, 0xe2a083},
+  {0x8137d538, 0xe2a084},
+  {0x8137d539, 0xe2a085},
+  {0x8137d630, 0xe2a086},
+  {0x8137d631, 0xe2a087},
+  {0x8137d632, 0xe2a088},
+  {0x8137d633, 0xe2a089},
+  {0x8137d634, 0xe2a08a},
+  {0x8137d635, 0xe2a08b},
+  {0x8137d636, 0xe2a08c},
+  {0x8137d637, 0xe2a08d},
+  {0x8137d638, 0xe2a08e},
+  {0x8137d639, 0xe2a08f},
+  {0x8137d730, 0xe2a090},
+  {0x8137d731, 0xe2a091},
+  {0x8137d732, 0xe2a092},
+  {0x8137d733, 0xe2a093},
+  {0x8137d734, 0xe2a094},
+  {0x8137d735, 0xe2a095},
+  {0x8137d736, 0xe2a096},
+  {0x8137d737, 0xe2a097},
+  {0x8137d738, 0xe2a098},
+  {0x8137d739, 0xe2a099},
+  {0x8137d830, 0xe2a09a},
+  {0x8137d831, 0xe2a09b},
+  {0x8137d832, 0xe2a09c},
+  {0x8137d833, 0xe2a09d},
+  {0x8137d834, 0xe2a09e},
+  {0x8137d835, 0xe2a09f},
+  {0x8137d836, 0xe2a0a0},
+  {0x8137d837, 0xe2a0a1},
+  {0x8137d838, 0xe2a0a2},
+  {0x8137d839, 0xe2a0a3},
+  {0x8137d930, 0xe2a0a4},
+  {0x8137d931, 0xe2a0a5},
+  {0x8137d932, 0xe2a0a6},
+  {0x8137d933, 0xe2a0a7},
+  {0x8137d934, 0xe2a0a8},
+  {0x8137d935, 0xe2a0a9},
+  {0x8137d936, 0xe2a0aa},
+  {0x8137d937, 0xe2a0ab},
+  {0x8137d938, 0xe2a0ac},
+  {0x8137d939, 0xe2a0ad},
+  {0x8137da30, 0xe2a0ae},
+  {0x8137da31, 0xe2a0af},
+  {0x8137da32, 0xe2a0b0},
+  {0x8137da33, 0xe2a0b1},
+  {0x8137da34, 0xe2a0b2},
+  {0x8137da35, 0xe2a0b3},
+  {0x8137da36, 0xe2a0b4},
+  {0x8137da37, 0xe2a0b5},
+  {0x8137da38, 0xe2a0b6},
+  {0x8137da39, 0xe2a0b7},
+  {0x8137db30, 0xe2a0b8},
+  {0x8137db31, 0xe2a0b9},
+  {0x8137db32, 0xe2a0ba},
+  {0x8137db33, 0xe2a0bb},
+  {0x8137db34, 0xe2a0bc},
+  {0x8137db35, 0xe2a0bd},
+  {0x8137db36, 0xe2a0be},
+  {0x8137db37, 0xe2a0bf},
+  {0x8137db38, 0xe2a180},
+  {0x8137db39, 0xe2a181},
+  {0x8137dc30, 0xe2a182},
+  {0x8137dc31, 0xe2a183},
+  {0x8137dc32, 0xe2a184},
+  {0x8137dc33, 0xe2a185},
+  {0x8137dc34, 0xe2a186},
+  {0x8137dc35, 0xe2a187},
+  {0x8137dc36, 0xe2a188},
+  {0x8137dc37, 0xe2a189},
+  {0x8137dc38, 0xe2a18a},
+  {0x8137dc39, 0xe2a18b},
+  {0x8137dd30, 0xe2a18c},
+  {0x8137dd31, 0xe2a18d},
+  {0x8137dd32, 0xe2a18e},
+  {0x8137dd33, 0xe2a18f},
+  {0x8137dd34, 0xe2a190},
+  {0x8137dd35, 0xe2a191},
+  {0x8137dd36, 0xe2a192},
+  {0x8137dd37, 0xe2a193},
+  {0x8137dd38, 0xe2a194},
+  {0x8137dd39, 0xe2a195},
+  {0x8137de30, 0xe2a196},
+  {0x8137de31, 0xe2a197},
+  {0x8137de32, 0xe2a198},
+  {0x8137de33, 0xe2a199},
+  {0x8137de34, 0xe2a19a},
+  {0x8137de35, 0xe2a19b},
+  {0x8137de36, 0xe2a19c},
+  {0x8137de37, 0xe2a19d},
+  {0x8137de38, 0xe2a19e},
+  {0x8137de39, 0xe2a19f},
+  {0x8137df30, 0xe2a1a0},
+  {0x8137df31, 0xe2a1a1},
+  {0x8137df32, 0xe2a1a2},
+  {0x8137df33, 0xe2a1a3},
+  {0x8137df34, 0xe2a1a4},
+  {0x8137df35, 0xe2a1a5},
+  {0x8137df36, 0xe2a1a6},
+  {0x8137df37, 0xe2a1a7},
+  {0x8137df38, 0xe2a1a8},
+  {0x8137df39, 0xe2a1a9},
+  {0x8137e030, 0xe2a1aa},
+  {0x8137e031, 0xe2a1ab},
+  {0x8137e032, 0xe2a1ac},
+  {0x8137e033, 0xe2a1ad},
+  {0x8137e034, 0xe2a1ae},
+  {0x8137e035, 0xe2a1af},
+  {0x8137e036, 0xe2a1b0},
+  {0x8137e037, 0xe2a1b1},
+  {0x8137e038, 0xe2a1b2},
+  {0x8137e039, 0xe2a1b3},
+  {0x8137e130, 0xe2a1b4},
+  {0x8137e131, 0xe2a1b5},
+  {0x8137e132, 0xe2a1b6},
+  {0x8137e133, 0xe2a1b7},
+  {0x8137e134, 0xe2a1b8},
+  {0x8137e135, 0xe2a1b9},
+  {0x8137e136, 0xe2a1ba},
+  {0x8137e137, 0xe2a1bb},
+  {0x8137e138, 0xe2a1bc},
+  {0x8137e139, 0xe2a1bd},
+  {0x8137e230, 0xe2a1be},
+  {0x8137e231, 0xe2a1bf},
+  {0x8137e232, 0xe2a280},
+  {0x8137e233, 0xe2a281},
+  {0x8137e234, 0xe2a282},
+  {0x8137e235, 0xe2a283},
+  {0x8137e236, 0xe2a284},
+  {0x8137e237, 0xe2a285},
+  {0x8137e238, 0xe2a286},
+  {0x8137e239, 0xe2a287},
+  {0x8137e330, 0xe2a288},
+  {0x8137e331, 0xe2a289},
+  {0x8137e332, 0xe2a28a},
+  {0x8137e333, 0xe2a28b},
+  {0x8137e334, 0xe2a28c},
+  {0x8137e335, 0xe2a28d},
+  {0x8137e336, 0xe2a28e},
+  {0x8137e337, 0xe2a28f},
+  {0x8137e338, 0xe2a290},
+  {0x8137e339, 0xe2a291},
+  {0x8137e430, 0xe2a292},
+  {0x8137e431, 0xe2a293},
+  {0x8137e432, 0xe2a294},
+  {0x8137e433, 0xe2a295},
+  {0x8137e434, 0xe2a296},
+  {0x8137e435, 0xe2a297},
+  {0x8137e436, 0xe2a298},
+  {0x8137e437, 0xe2a299},
+  {0x8137e438, 0xe2a29a},
+  {0x8137e439, 0xe2a29b},
+  {0x8137e530, 0xe2a29c},
+  {0x8137e531, 0xe2a29d},
+  {0x8137e532, 0xe2a29e},
+  {0x8137e533, 0xe2a29f},
+  {0x8137e534, 0xe2a2a0},
+  {0x8137e535, 0xe2a2a1},
+  {0x8137e536, 0xe2a2a2},
+  {0x8137e537, 0xe2a2a3},
+  {0x8137e538, 0xe2a2a4},
+  {0x8137e539, 0xe2a2a5},
+  {0x8137e630, 0xe2a2a6},
+  {0x8137e631, 0xe2a2a7},
+  {0x8137e632, 0xe2a2a8},
+  {0x8137e633, 0xe2a2a9},
+  {0x8137e634, 0xe2a2aa},
+  {0x8137e635, 0xe2a2ab},
+  {0x8137e636, 0xe2a2ac},
+  {0x8137e637, 0xe2a2ad},
+  {0x8137e638, 0xe2a2ae},
+  {0x8137e639, 0xe2a2af},
+  {0x8137e730, 0xe2a2b0},
+  {0x8137e731, 0xe2a2b1},
+  {0x8137e732, 0xe2a2b2},
+  {0x8137e733, 0xe2a2b3},
+  {0x8137e734, 0xe2a2b4},
+  {0x8137e735, 0xe2a2b5},
+  {0x8137e736, 0xe2a2b6},
+  {0x8137e737, 0xe2a2b7},
+  {0x8137e738, 0xe2a2b8},
+  {0x8137e739, 0xe2a2b9},
+  {0x8137e830, 0xe2a2ba},
+  {0x8137e831, 0xe2a2bb},
+  {0x8137e832, 0xe2a2bc},
+  {0x8137e833, 0xe2a2bd},
+  {0x8137e834, 0xe2a2be},
+  {0x8137e835, 0xe2a2bf},
+  {0x8137e836, 0xe2a380},
+  {0x8137e837, 0xe2a381},
+  {0x8137e838, 0xe2a382},
+  {0x8137e839, 0xe2a383},
+  {0x8137e930, 0xe2a384},
+  {0x8137e931, 0xe2a385},
+  {0x8137e932, 0xe2a386},
+  {0x8137e933, 0xe2a387},
+  {0x8137e934, 0xe2a388},
+  {0x8137e935, 0xe2a389},
+  {0x8137e936, 0xe2a38a},
+  {0x8137e937, 0xe2a38b},
+  {0x8137e938, 0xe2a38c},
+  {0x8137e939, 0xe2a38d},
+  {0x8137ea30, 0xe2a38e},
+  {0x8137ea31, 0xe2a38f},
+  {0x8137ea32, 0xe2a390},
+  {0x8137ea33, 0xe2a391},
+  {0x8137ea34, 0xe2a392},
+  {0x8137ea35, 0xe2a393},
+  {0x8137ea36, 0xe2a394},
+  {0x8137ea37, 0xe2a395},
+  {0x8137ea38, 0xe2a396},
+  {0x8137ea39, 0xe2a397},
+  {0x8137eb30, 0xe2a398},
+  {0x8137eb31, 0xe2a399},
+  {0x8137eb32, 0xe2a39a},
+  {0x8137eb33, 0xe2a39b},
+  {0x8137eb34, 0xe2a39c},
+  {0x8137eb35, 0xe2a39d},
+  {0x8137eb36, 0xe2a39e},
+  {0x8137eb37, 0xe2a39f},
+  {0x8137eb38, 0xe2a3a0},
+  {0x8137eb39, 0xe2a3a1},
+  {0x8137ec30, 0xe2a3a2},
+  {0x8137ec31, 0xe2a3a3},
+  {0x8137ec32, 0xe2a3a4},
+  {0x8137ec33, 0xe2a3a5},
+  {0x8137ec34, 0xe2a3a6},
+  {0x8137ec35, 0xe2a3a7},
+  {0x8137ec36, 0xe2a3a8},
+  {0x8137ec37, 0xe2a3a9},
+  {0x8137ec38, 0xe2a3aa},
+  {0x8137ec39, 0xe2a3ab},
+  {0x8137ed30, 0xe2a3ac},
+  {0x8137ed31, 0xe2a3ad},
+  {0x8137ed32, 0xe2a3ae},
+  {0x8137ed33, 0xe2a3af},
+  {0x8137ed34, 0xe2a3b0},
+  {0x8137ed35, 0xe2a3b1},
+  {0x8137ed36, 0xe2a3b2},
+  {0x8137ed37, 0xe2a3b3},
+  {0x8137ed38, 0xe2a3b4},
+  {0x8137ed39, 0xe2a3b5},
+  {0x8137ee30, 0xe2a3b6},
+  {0x8137ee31, 0xe2a3b7},
+  {0x8137ee32, 0xe2a3b8},
+  {0x8137ee33, 0xe2a3b9},
+  {0x8137ee34, 0xe2a3ba},
+  {0x8137ee35, 0xe2a3bb},
+  {0x8137ee36, 0xe2a3bc},
+  {0x8137ee37, 0xe2a3bd},
+  {0x8137ee38, 0xe2a3be},
+  {0x8137ee39, 0xe2a3bf},
+  {0x8137ef30, 0xe2a480},
+  {0x8137ef31, 0xe2a481},
+  {0x8137ef32, 0xe2a482},
+  {0x8137ef33, 0xe2a483},
+  {0x8137ef34, 0xe2a484},
+  {0x8137ef35, 0xe2a485},
+  {0x8137ef36, 0xe2a486},
+  {0x8137ef37, 0xe2a487},
+  {0x8137ef38, 0xe2a488},
+  {0x8137ef39, 0xe2a489},
+  {0x8137f030, 0xe2a48a},
+  {0x8137f031, 0xe2a48b},
+  {0x8137f032, 0xe2a48c},
+  {0x8137f033, 0xe2a48d},
+  {0x8137f034, 0xe2a48e},
+  {0x8137f035, 0xe2a48f},
+  {0x8137f036, 0xe2a490},
+  {0x8137f037, 0xe2a491},
+  {0x8137f038, 0xe2a492},
+  {0x8137f039, 0xe2a493},
+  {0x8137f130, 0xe2a494},
+  {0x8137f131, 0xe2a495},
+  {0x8137f132, 0xe2a496},
+  {0x8137f133, 0xe2a497},
+  {0x8137f134, 0xe2a498},
+  {0x8137f135, 0xe2a499},
+  {0x8137f136, 0xe2a49a},
+  {0x8137f137, 0xe2a49b},
+  {0x8137f138, 0xe2a49c},
+  {0x8137f139, 0xe2a49d},
+  {0x8137f230, 0xe2a49e},
+  {0x8137f231, 0xe2a49f},
+  {0x8137f232, 0xe2a4a0},
+  {0x8137f233, 0xe2a4a1},
+  {0x8137f234, 0xe2a4a2},
+  {0x8137f235, 0xe2a4a3},
+  {0x8137f236, 0xe2a4a4},
+  {0x8137f237, 0xe2a4a5},
+  {0x8137f238, 0xe2a4a6},
+  {0x8137f239, 0xe2a4a7},
+  {0x8137f330, 0xe2a4a8},
+  {0x8137f331, 0xe2a4a9},
+  {0x8137f332, 0xe2a4aa},
+  {0x8137f333, 0xe2a4ab},
+  {0x8137f334, 0xe2a4ac},
+  {0x8137f335, 0xe2a4ad},
+  {0x8137f336, 0xe2a4ae},
+  {0x8137f337, 0xe2a4af},
+  {0x8137f338, 0xe2a4b0},
+  {0x8137f339, 0xe2a4b1},
+  {0x8137f430, 0xe2a4b2},
+  {0x8137f431, 0xe2a4b3},
+  {0x8137f432, 0xe2a4b4},
+  {0x8137f433, 0xe2a4b5},
+  {0x8137f434, 0xe2a4b6},
+  {0x8137f435, 0xe2a4b7},
+  {0x8137f436, 0xe2a4b8},
+  {0x8137f437, 0xe2a4b9},
+  {0x8137f438, 0xe2a4ba},
+  {0x8137f439, 0xe2a4bb},
+  {0x8137f530, 0xe2a4bc},
+  {0x8137f531, 0xe2a4bd},
+  {0x8137f532, 0xe2a4be},
+  {0x8137f533, 0xe2a4bf},
+  {0x8137f534, 0xe2a580},
+  {0x8137f535, 0xe2a581},
+  {0x8137f536, 0xe2a582},
+  {0x8137f537, 0xe2a583},
+  {0x8137f538, 0xe2a584},
+  {0x8137f539, 0xe2a585},
+  {0x8137f630, 0xe2a586},
+  {0x8137f631, 0xe2a587},
+  {0x8137f632, 0xe2a588},
+  {0x8137f633, 0xe2a589},
+  {0x8137f634, 0xe2a58a},
+  {0x8137f635, 0xe2a58b},
+  {0x8137f636, 0xe2a58c},
+  {0x8137f637, 0xe2a58d},
+  {0x8137f638, 0xe2a58e},
+  {0x8137f639, 0xe2a58f},
+  {0x8137f730, 0xe2a590},
+  {0x8137f731, 0xe2a591},
+  {0x8137f732, 0xe2a592},
+  {0x8137f733, 0xe2a593},
+  {0x8137f734, 0xe2a594},
+  {0x8137f735, 0xe2a595},
+  {0x8137f736, 0xe2a596},
+  {0x8137f737, 0xe2a597},
+  {0x8137f738, 0xe2a598},
+  {0x8137f739, 0xe2a599},
+  {0x8137f830, 0xe2a59a},
+  {0x8137f831, 0xe2a59b},
+  {0x8137f832, 0xe2a59c},
+  {0x8137f833, 0xe2a59d},
+  {0x8137f834, 0xe2a59e},
+  {0x8137f835, 0xe2a59f},
+  {0x8137f836, 0xe2a5a0},
+  {0x8137f837, 0xe2a5a1},
+  {0x8137f838, 0xe2a5a2},
+  {0x8137f839, 0xe2a5a3},
+  {0x8137f930, 0xe2a5a4},
+  {0x8137f931, 0xe2a5a5},
+  {0x8137f932, 0xe2a5a6},
+  {0x8137f933, 0xe2a5a7},
+  {0x8137f934, 0xe2a5a8},
+  {0x8137f935, 0xe2a5a9},
+  {0x8137f936, 0xe2a5aa},
+  {0x8137f937, 0xe2a5ab},
+  {0x8137f938, 0xe2a5ac},
+  {0x8137f939, 0xe2a5ad},
+  {0x8137fa30, 0xe2a5ae},
+  {0x8137fa31, 0xe2a5af},
+  {0x8137fa32, 0xe2a5b0},
+  {0x8137fa33, 0xe2a5b1},
+  {0x8137fa34, 0xe2a5b2},
+  {0x8137fa35, 0xe2a5b3},
+  {0x8137fa36, 0xe2a5b4},
+  {0x8137fa37, 0xe2a5b5},
+  {0x8137fa38, 0xe2a5b6},
+  {0x8137fa39, 0xe2a5b7},
+  {0x8137fb30, 0xe2a5b8},
+  {0x8137fb31, 0xe2a5b9},
+  {0x8137fb32, 0xe2a5ba},
+  {0x8137fb33, 0xe2a5bb},
+  {0x8137fb34, 0xe2a5bc},
+  {0x8137fb35, 0xe2a5bd},
+  {0x8137fb36, 0xe2a5be},
+  {0x8137fb37, 0xe2a5bf},
+  {0x8137fb38, 0xe2a680},
+  {0x8137fb39, 0xe2a681},
+  {0x8137fc30, 0xe2a682},
+  {0x8137fc31, 0xe2a683},
+  {0x8137fc32, 0xe2a684},
+  {0x8137fc33, 0xe2a685},
+  {0x8137fc34, 0xe2a686},
+  {0x8137fc35, 0xe2a687},
+  {0x8137fc36, 0xe2a688},
+  {0x8137fc37, 0xe2a689},
+  {0x8137fc38, 0xe2a68a},
+  {0x8137fc39, 0xe2a68b},
+  {0x8137fd30, 0xe2a68c},
+  {0x8137fd31, 0xe2a68d},
+  {0x8137fd32, 0xe2a68e},
+  {0x8137fd33, 0xe2a68f},
+  {0x8137fd34, 0xe2a690},
+  {0x8137fd35, 0xe2a691},
+  {0x8137fd36, 0xe2a692},
+  {0x8137fd37, 0xe2a693},
+  {0x8137fd38, 0xe2a694},
+  {0x8137fd39, 0xe2a695},
+  {0x8137fe30, 0xe2a696},
+  {0x8137fe31, 0xe2a697},
+  {0x8137fe32, 0xe2a698},
+  {0x8137fe33, 0xe2a699},
+  {0x8137fe34, 0xe2a69a},
+  {0x8137fe35, 0xe2a69b},
+  {0x8137fe36, 0xe2a69c},
+  {0x8137fe37, 0xe2a69d},
+  {0x8137fe38, 0xe2a69e},
+  {0x8137fe39, 0xe2a69f},
+  {0x81388130, 0xe2a6a0},
+  {0x81388131, 0xe2a6a1},
+  {0x81388132, 0xe2a6a2},
+  {0x81388133, 0xe2a6a3},
+  {0x81388134, 0xe2a6a4},
+  {0x81388135, 0xe2a6a5},
+  {0x81388136, 0xe2a6a6},
+  {0x81388137, 0xe2a6a7},
+  {0x81388138, 0xe2a6a8},
+  {0x81388139, 0xe2a6a9},
+  {0x81388230, 0xe2a6aa},
+  {0x81388231, 0xe2a6ab},
+  {0x81388232, 0xe2a6ac},
+  {0x81388233, 0xe2a6ad},
+  {0x81388234, 0xe2a6ae},
+  {0x81388235, 0xe2a6af},
+  {0x81388236, 0xe2a6b0},
+  {0x81388237, 0xe2a6b1},
+  {0x81388238, 0xe2a6b2},
+  {0x81388239, 0xe2a6b3},
+  {0x81388330, 0xe2a6b4},
+  {0x81388331, 0xe2a6b5},
+  {0x81388332, 0xe2a6b6},
+  {0x81388333, 0xe2a6b7},
+  {0x81388334, 0xe2a6b8},
+  {0x81388335, 0xe2a6b9},
+  {0x81388336, 0xe2a6ba},
+  {0x81388337, 0xe2a6bb},
+  {0x81388338, 0xe2a6bc},
+  {0x81388339, 0xe2a6bd},
+  {0x81388430, 0xe2a6be},
+  {0x81388431, 0xe2a6bf},
+  {0x81388432, 0xe2a780},
+  {0x81388433, 0xe2a781},
+  {0x81388434, 0xe2a782},
+  {0x81388435, 0xe2a783},
+  {0x81388436, 0xe2a784},
+  {0x81388437, 0xe2a785},
+  {0x81388438, 0xe2a786},
+  {0x81388439, 0xe2a787},
+  {0x81388530, 0xe2a788},
+  {0x81388531, 0xe2a789},
+  {0x81388532, 0xe2a78a},
+  {0x81388533, 0xe2a78b},
+  {0x81388534, 0xe2a78c},
+  {0x81388535, 0xe2a78d},
+  {0x81388536, 0xe2a78e},
+  {0x81388537, 0xe2a78f},
+  {0x81388538, 0xe2a790},
+  {0x81388539, 0xe2a791},
+  {0x81388630, 0xe2a792},
+  {0x81388631, 0xe2a793},
+  {0x81388632, 0xe2a794},
+  {0x81388633, 0xe2a795},
+  {0x81388634, 0xe2a796},
+  {0x81388635, 0xe2a797},
+  {0x81388636, 0xe2a798},
+  {0x81388637, 0xe2a799},
+  {0x81388638, 0xe2a79a},
+  {0x81388639, 0xe2a79b},
+  {0x81388730, 0xe2a79c},
+  {0x81388731, 0xe2a79d},
+  {0x81388732, 0xe2a79e},
+  {0x81388733, 0xe2a79f},
+  {0x81388734, 0xe2a7a0},
+  {0x81388735, 0xe2a7a1},
+  {0x81388736, 0xe2a7a2},
+  {0x81388737, 0xe2a7a3},
+  {0x81388738, 0xe2a7a4},
+  {0x81388739, 0xe2a7a5},
+  {0x81388830, 0xe2a7a6},
+  {0x81388831, 0xe2a7a7},
+  {0x81388832, 0xe2a7a8},
+  {0x81388833, 0xe2a7a9},
+  {0x81388834, 0xe2a7aa},
+  {0x81388835, 0xe2a7ab},
+  {0x81388836, 0xe2a7ac},
+  {0x81388837, 0xe2a7ad},
+  {0x81388838, 0xe2a7ae},
+  {0x81388839, 0xe2a7af},
+  {0x81388930, 0xe2a7b0},
+  {0x81388931, 0xe2a7b1},
+  {0x81388932, 0xe2a7b2},
+  {0x81388933, 0xe2a7b3},
+  {0x81388934, 0xe2a7b4},
+  {0x81388935, 0xe2a7b5},
+  {0x81388936, 0xe2a7b6},
+  {0x81388937, 0xe2a7b7},
+  {0x81388938, 0xe2a7b8},
+  {0x81388939, 0xe2a7b9},
+  {0x81388a30, 0xe2a7ba},
+  {0x81388a31, 0xe2a7bb},
+  {0x81388a32, 0xe2a7bc},
+  {0x81388a33, 0xe2a7bd},
+  {0x81388a34, 0xe2a7be},
+  {0x81388a35, 0xe2a7bf},
+  {0x81388a36, 0xe2a880},
+  {0x81388a37, 0xe2a881},
+  {0x81388a38, 0xe2a882},
+  {0x81388a39, 0xe2a883},
+  {0x81388b30, 0xe2a884},
+  {0x81388b31, 0xe2a885},
+  {0x81388b32, 0xe2a886},
+  {0x81388b33, 0xe2a887},
+  {0x81388b34, 0xe2a888},
+  {0x81388b35, 0xe2a889},
+  {0x81388b36, 0xe2a88a},
+  {0x81388b37, 0xe2a88b},
+  {0x81388b38, 0xe2a88c},
+  {0x81388b39, 0xe2a88d},
+  {0x81388c30, 0xe2a88e},
+  {0x81388c31, 0xe2a88f},
+  {0x81388c32, 0xe2a890},
+  {0x81388c33, 0xe2a891},
+  {0x81388c34, 0xe2a892},
+  {0x81388c35, 0xe2a893},
+  {0x81388c36, 0xe2a894},
+  {0x81388c37, 0xe2a895},
+  {0x81388c38, 0xe2a896},
+  {0x81388c39, 0xe2a897},
+  {0x81388d30, 0xe2a898},
+  {0x81388d31, 0xe2a899},
+  {0x81388d32, 0xe2a89a},
+  {0x81388d33, 0xe2a89b},
+  {0x81388d34, 0xe2a89c},
+  {0x81388d35, 0xe2a89d},
+  {0x81388d36, 0xe2a89e},
+  {0x81388d37, 0xe2a89f},
+  {0x81388d38, 0xe2a8a0},
+  {0x81388d39, 0xe2a8a1},
+  {0x81388e30, 0xe2a8a2},
+  {0x81388e31, 0xe2a8a3},
+  {0x81388e32, 0xe2a8a4},
+  {0x81388e33, 0xe2a8a5},
+  {0x81388e34, 0xe2a8a6},
+  {0x81388e35, 0xe2a8a7},
+  {0x81388e36, 0xe2a8a8},
+  {0x81388e37, 0xe2a8a9},
+  {0x81388e38, 0xe2a8aa},
+  {0x81388e39, 0xe2a8ab},
+  {0x81388f30, 0xe2a8ac},
+  {0x81388f31, 0xe2a8ad},
+  {0x81388f32, 0xe2a8ae},
+  {0x81388f33, 0xe2a8af},
+  {0x81388f34, 0xe2a8b0},
+  {0x81388f35, 0xe2a8b1},
+  {0x81388f36, 0xe2a8b2},
+  {0x81388f37, 0xe2a8b3},
+  {0x81388f38, 0xe2a8b4},
+  {0x81388f39, 0xe2a8b5},
+  {0x81389030, 0xe2a8b6},
+  {0x81389031, 0xe2a8b7},
+  {0x81389032, 0xe2a8b8},
+  {0x81389033, 0xe2a8b9},
+  {0x81389034, 0xe2a8ba},
+  {0x81389035, 0xe2a8bb},
+  {0x81389036, 0xe2a8bc},
+  {0x81389037, 0xe2a8bd},
+  {0x81389038, 0xe2a8be},
+  {0x81389039, 0xe2a8bf},
+  {0x81389130, 0xe2a980},
+  {0x81389131, 0xe2a981},
+  {0x81389132, 0xe2a982},
+  {0x81389133, 0xe2a983},
+  {0x81389134, 0xe2a984},
+  {0x81389135, 0xe2a985},
+  {0x81389136, 0xe2a986},
+  {0x81389137, 0xe2a987},
+  {0x81389138, 0xe2a988},
+  {0x81389139, 0xe2a989},
+  {0x81389230, 0xe2a98a},
+  {0x81389231, 0xe2a98b},
+  {0x81389232, 0xe2a98c},
+  {0x81389233, 0xe2a98d},
+  {0x81389234, 0xe2a98e},
+  {0x81389235, 0xe2a98f},
+  {0x81389236, 0xe2a990},
+  {0x81389237, 0xe2a991},
+  {0x81389238, 0xe2a992},
+  {0x81389239, 0xe2a993},
+  {0x81389330, 0xe2a994},
+  {0x81389331, 0xe2a995},
+  {0x81389332, 0xe2a996},
+  {0x81389333, 0xe2a997},
+  {0x81389334, 0xe2a998},
+  {0x81389335, 0xe2a999},
+  {0x81389336, 0xe2a99a},
+  {0x81389337, 0xe2a99b},
+  {0x81389338, 0xe2a99c},
+  {0x81389339, 0xe2a99d},
+  {0x81389430, 0xe2a99e},
+  {0x81389431, 0xe2a99f},
+  {0x81389432, 0xe2a9a0},
+  {0x81389433, 0xe2a9a1},
+  {0x81389434, 0xe2a9a2},
+  {0x81389435, 0xe2a9a3},
+  {0x81389436, 0xe2a9a4},
+  {0x81389437, 0xe2a9a5},
+  {0x81389438, 0xe2a9a6},
+  {0x81389439, 0xe2a9a7},
+  {0x81389530, 0xe2a9a8},
+  {0x81389531, 0xe2a9a9},
+  {0x81389532, 0xe2a9aa},
+  {0x81389533, 0xe2a9ab},
+  {0x81389534, 0xe2a9ac},
+  {0x81389535, 0xe2a9ad},
+  {0x81389536, 0xe2a9ae},
+  {0x81389537, 0xe2a9af},
+  {0x81389538, 0xe2a9b0},
+  {0x81389539, 0xe2a9b1},
+  {0x81389630, 0xe2a9b2},
+  {0x81389631, 0xe2a9b3},
+  {0x81389632, 0xe2a9b4},
+  {0x81389633, 0xe2a9b5},
+  {0x81389634, 0xe2a9b6},
+  {0x81389635, 0xe2a9b7},
+  {0x81389636, 0xe2a9b8},
+  {0x81389637, 0xe2a9b9},
+  {0x81389638, 0xe2a9ba},
+  {0x81389639, 0xe2a9bb},
+  {0x81389730, 0xe2a9bc},
+  {0x81389731, 0xe2a9bd},
+  {0x81389732, 0xe2a9be},
+  {0x81389733, 0xe2a9bf},
+  {0x81389734, 0xe2aa80},
+  {0x81389735, 0xe2aa81},
+  {0x81389736, 0xe2aa82},
+  {0x81389737, 0xe2aa83},
+  {0x81389738, 0xe2aa84},
+  {0x81389739, 0xe2aa85},
+  {0x81389830, 0xe2aa86},
+  {0x81389831, 0xe2aa87},
+  {0x81389832, 0xe2aa88},
+  {0x81389833, 0xe2aa89},
+  {0x81389834, 0xe2aa8a},
+  {0x81389835, 0xe2aa8b},
+  {0x81389836, 0xe2aa8c},
+  {0x81389837, 0xe2aa8d},
+  {0x81389838, 0xe2aa8e},
+  {0x81389839, 0xe2aa8f},
+  {0x81389930, 0xe2aa90},
+  {0x81389931, 0xe2aa91},
+  {0x81389932, 0xe2aa92},
+  {0x81389933, 0xe2aa93},
+  {0x81389934, 0xe2aa94},
+  {0x81389935, 0xe2aa95},
+  {0x81389936, 0xe2aa96},
+  {0x81389937, 0xe2aa97},
+  {0x81389938, 0xe2aa98},
+  {0x81389939, 0xe2aa99},
+  {0x81389a30, 0xe2aa9a},
+  {0x81389a31, 0xe2aa9b},
+  {0x81389a32, 0xe2aa9c},
+  {0x81389a33, 0xe2aa9d},
+  {0x81389a34, 0xe2aa9e},
+  {0x81389a35, 0xe2aa9f},
+  {0x81389a36, 0xe2aaa0},
+  {0x81389a37, 0xe2aaa1},
+  {0x81389a38, 0xe2aaa2},
+  {0x81389a39, 0xe2aaa3},
+  {0x81389b30, 0xe2aaa4},
+  {0x81389b31, 0xe2aaa5},
+  {0x81389b32, 0xe2aaa6},
+  {0x81389b33, 0xe2aaa7},
+  {0x81389b34, 0xe2aaa8},
+  {0x81389b35, 0xe2aaa9},
+  {0x81389b36, 0xe2aaaa},
+  {0x81389b37, 0xe2aaab},
+  {0x81389b38, 0xe2aaac},
+  {0x81389b39, 0xe2aaad},
+  {0x81389c30, 0xe2aaae},
+  {0x81389c31, 0xe2aaaf},
+  {0x81389c32, 0xe2aab0},
+  {0x81389c33, 0xe2aab1},
+  {0x81389c34, 0xe2aab2},
+  {0x81389c35, 0xe2aab3},
+  {0x81389c36, 0xe2aab4},
+  {0x81389c37, 0xe2aab5},
+  {0x81389c38, 0xe2aab6},
+  {0x81389c39, 0xe2aab7},
+  {0x81389d30, 0xe2aab8},
+  {0x81389d31, 0xe2aab9},
+  {0x81389d32, 0xe2aaba},
+  {0x81389d33, 0xe2aabb},
+  {0x81389d34, 0xe2aabc},
+  {0x81389d35, 0xe2aabd},
+  {0x81389d36, 0xe2aabe},
+  {0x81389d37, 0xe2aabf},
+  {0x81389d38, 0xe2ab80},
+  {0x81389d39, 0xe2ab81},
+  {0x81389e30, 0xe2ab82},
+  {0x81389e31, 0xe2ab83},
+  {0x81389e32, 0xe2ab84},
+  {0x81389e33, 0xe2ab85},
+  {0x81389e34, 0xe2ab86},
+  {0x81389e35, 0xe2ab87},
+  {0x81389e36, 0xe2ab88},
+  {0x81389e37, 0xe2ab89},
+  {0x81389e38, 0xe2ab8a},
+  {0x81389e39, 0xe2ab8b},
+  {0x81389f30, 0xe2ab8c},
+  {0x81389f31, 0xe2ab8d},
+  {0x81389f32, 0xe2ab8e},
+  {0x81389f33, 0xe2ab8f},
+  {0x81389f34, 0xe2ab90},
+  {0x81389f35, 0xe2ab91},
+  {0x81389f36, 0xe2ab92},
+  {0x81389f37, 0xe2ab93},
+  {0x81389f38, 0xe2ab94},
+  {0x81389f39, 0xe2ab95},
+  {0x8138a030, 0xe2ab96},
+  {0x8138a031, 0xe2ab97},
+  {0x8138a032, 0xe2ab98},
+  {0x8138a033, 0xe2ab99},
+  {0x8138a034, 0xe2ab9a},
+  {0x8138a035, 0xe2ab9b},
+  {0x8138a036, 0xe2ab9c},
+  {0x8138a037, 0xe2ab9d},
+  {0x8138a038, 0xe2ab9e},
+  {0x8138a039, 0xe2ab9f},
+  {0x8138a130, 0xe2aba0},
+  {0x8138a131, 0xe2aba1},
+  {0x8138a132, 0xe2aba2},
+  {0x8138a133, 0xe2aba3},
+  {0x8138a134, 0xe2aba4},
+  {0x8138a135, 0xe2aba5},
+  {0x8138a136, 0xe2aba6},
+  {0x8138a137, 0xe2aba7},
+  {0x8138a138, 0xe2aba8},
+  {0x8138a139, 0xe2aba9},
+  {0x8138a230, 0xe2abaa},
+  {0x8138a231, 0xe2abab},
+  {0x8138a232, 0xe2abac},
+  {0x8138a233, 0xe2abad},
+  {0x8138a234, 0xe2abae},
+  {0x8138a235, 0xe2abaf},
+  {0x8138a236, 0xe2abb0},
+  {0x8138a237, 0xe2abb1},
+  {0x8138a238, 0xe2abb2},
+  {0x8138a239, 0xe2abb3},
+  {0x8138a330, 0xe2abb4},
+  {0x8138a331, 0xe2abb5},
+  {0x8138a332, 0xe2abb6},
+  {0x8138a333, 0xe2abb7},
+  {0x8138a334, 0xe2abb8},
+  {0x8138a335, 0xe2abb9},
+  {0x8138a336, 0xe2abba},
+  {0x8138a337, 0xe2abbb},
+  {0x8138a338, 0xe2abbc},
+  {0x8138a339, 0xe2abbd},
+  {0x8138a430, 0xe2abbe},
+  {0x8138a431, 0xe2abbf},
+  {0x8138a432, 0xe2ac80},
+  {0x8138a433, 0xe2ac81},
+  {0x8138a434, 0xe2ac82},
+  {0x8138a435, 0xe2ac83},
+  {0x8138a436, 0xe2ac84},
+  {0x8138a437, 0xe2ac85},
+  {0x8138a438, 0xe2ac86},
+  {0x8138a439, 0xe2ac87},
+  {0x8138a530, 0xe2ac88},
+  {0x8138a531, 0xe2ac89},
+  {0x8138a532, 0xe2ac8a},
+  {0x8138a533, 0xe2ac8b},
+  {0x8138a534, 0xe2ac8c},
+  {0x8138a535, 0xe2ac8d},
+  {0x8138a536, 0xe2ac8e},
+  {0x8138a537, 0xe2ac8f},
+  {0x8138a538, 0xe2ac90},
+  {0x8138a539, 0xe2ac91},
+  {0x8138a630, 0xe2ac92},
+  {0x8138a631, 0xe2ac93},
+  {0x8138a632, 0xe2ac94},
+  {0x8138a633, 0xe2ac95},
+  {0x8138a634, 0xe2ac96},
+  {0x8138a635, 0xe2ac97},
+  {0x8138a636, 0xe2ac98},
+  {0x8138a637, 0xe2ac99},
+  {0x8138a638, 0xe2ac9a},
+  {0x8138a639, 0xe2ac9b},
+  {0x8138a730, 0xe2ac9c},
+  {0x8138a731, 0xe2ac9d},
+  {0x8138a732, 0xe2ac9e},
+  {0x8138a733, 0xe2ac9f},
+  {0x8138a734, 0xe2aca0},
+  {0x8138a735, 0xe2aca1},
+  {0x8138a736, 0xe2aca2},
+  {0x8138a737, 0xe2aca3},
+  {0x8138a738, 0xe2aca4},
+  {0x8138a739, 0xe2aca5},
+  {0x8138a830, 0xe2aca6},
+  {0x8138a831, 0xe2aca7},
+  {0x8138a832, 0xe2aca8},
+  {0x8138a833, 0xe2aca9},
+  {0x8138a834, 0xe2acaa},
+  {0x8138a835, 0xe2acab},
+  {0x8138a836, 0xe2acac},
+  {0x8138a837, 0xe2acad},
+  {0x8138a838, 0xe2acae},
+  {0x8138a839, 0xe2acaf},
+  {0x8138a930, 0xe2acb0},
+  {0x8138a931, 0xe2acb1},
+  {0x8138a932, 0xe2acb2},
+  {0x8138a933, 0xe2acb3},
+  {0x8138a934, 0xe2acb4},
+  {0x8138a935, 0xe2acb5},
+  {0x8138a936, 0xe2acb6},
+  {0x8138a937, 0xe2acb7},
+  {0x8138a938, 0xe2acb8},
+  {0x8138a939, 0xe2acb9},
+  {0x8138aa30, 0xe2acba},
+  {0x8138aa31, 0xe2acbb},
+  {0x8138aa32, 0xe2acbc},
+  {0x8138aa33, 0xe2acbd},
+  {0x8138aa34, 0xe2acbe},
+  {0x8138aa35, 0xe2acbf},
+  {0x8138aa36, 0xe2ad80},
+  {0x8138aa37, 0xe2ad81},
+  {0x8138aa38, 0xe2ad82},
+  {0x8138aa39, 0xe2ad83},
+  {0x8138ab30, 0xe2ad84},
+  {0x8138ab31, 0xe2ad85},
+  {0x8138ab32, 0xe2ad86},
+  {0x8138ab33, 0xe2ad87},
+  {0x8138ab34, 0xe2ad88},
+  {0x8138ab35, 0xe2ad89},
+  {0x8138ab36, 0xe2ad8a},
+  {0x8138ab37, 0xe2ad8b},
+  {0x8138ab38, 0xe2ad8c},
+  {0x8138ab39, 0xe2ad8d},
+  {0x8138ac30, 0xe2ad8e},
+  {0x8138ac31, 0xe2ad8f},
+  {0x8138ac32, 0xe2ad90},
+  {0x8138ac33, 0xe2ad91},
+  {0x8138ac34, 0xe2ad92},
+  {0x8138ac35, 0xe2ad93},
+  {0x8138ac36, 0xe2ad94},
+  {0x8138ac37, 0xe2ad95},
+  {0x8138ac38, 0xe2ad96},
+  {0x8138ac39, 0xe2ad97},
+  {0x8138ad30, 0xe2ad98},
+  {0x8138ad31, 0xe2ad99},
+  {0x8138ad32, 0xe2ad9a},
+  {0x8138ad33, 0xe2ad9b},
+  {0x8138ad34, 0xe2ad9c},
+  {0x8138ad35, 0xe2ad9d},
+  {0x8138ad36, 0xe2ad9e},
+  {0x8138ad37, 0xe2ad9f},
+  {0x8138ad38, 0xe2ada0},
+  {0x8138ad39, 0xe2ada1},
+  {0x8138ae30, 0xe2ada2},
+  {0x8138ae31, 0xe2ada3},
+  {0x8138ae32, 0xe2ada4},
+  {0x8138ae33, 0xe2ada5},
+  {0x8138ae34, 0xe2ada6},
+  {0x8138ae35, 0xe2ada7},
+  {0x8138ae36, 0xe2ada8},
+  {0x8138ae37, 0xe2ada9},
+  {0x8138ae38, 0xe2adaa},
+  {0x8138ae39, 0xe2adab},
+  {0x8138af30, 0xe2adac},
+  {0x8138af31, 0xe2adad},
+  {0x8138af32, 0xe2adae},
+  {0x8138af33, 0xe2adaf},
+  {0x8138af34, 0xe2adb0},
+  {0x8138af35, 0xe2adb1},
+  {0x8138af36, 0xe2adb2},
+  {0x8138af37, 0xe2adb3},
+  {0x8138af38, 0xe2adb4},
+  {0x8138af39, 0xe2adb5},
+  {0x8138b030, 0xe2adb6},
+  {0x8138b031, 0xe2adb7},
+  {0x8138b032, 0xe2adb8},
+  {0x8138b033, 0xe2adb9},
+  {0x8138b034, 0xe2adba},
+  {0x8138b035, 0xe2adbb},
+  {0x8138b036, 0xe2adbc},
+  {0x8138b037, 0xe2adbd},
+  {0x8138b038, 0xe2adbe},
+  {0x8138b039, 0xe2adbf},
+  {0x8138b130, 0xe2ae80},
+  {0x8138b131, 0xe2ae81},
+  {0x8138b132, 0xe2ae82},
+  {0x8138b133, 0xe2ae83},
+  {0x8138b134, 0xe2ae84},
+  {0x8138b135, 0xe2ae85},
+  {0x8138b136, 0xe2ae86},
+  {0x8138b137, 0xe2ae87},
+  {0x8138b138, 0xe2ae88},
+  {0x8138b139, 0xe2ae89},
+  {0x8138b230, 0xe2ae8a},
+  {0x8138b231, 0xe2ae8b},
+  {0x8138b232, 0xe2ae8c},
+  {0x8138b233, 0xe2ae8d},
+  {0x8138b234, 0xe2ae8e},
+  {0x8138b235, 0xe2ae8f},
+  {0x8138b236, 0xe2ae90},
+  {0x8138b237, 0xe2ae91},
+  {0x8138b238, 0xe2ae92},
+  {0x8138b239, 0xe2ae93},
+  {0x8138b330, 0xe2ae94},
+  {0x8138b331, 0xe2ae95},
+  {0x8138b332, 0xe2ae96},
+  {0x8138b333, 0xe2ae97},
+  {0x8138b334, 0xe2ae98},
+  {0x8138b335, 0xe2ae99},
+  {0x8138b336, 0xe2ae9a},
+  {0x8138b337, 0xe2ae9b},
+  {0x8138b338, 0xe2ae9c},
+  {0x8138b339, 0xe2ae9d},
+  {0x8138b430, 0xe2ae9e},
+  {0x8138b431, 0xe2ae9f},
+  {0x8138b432, 0xe2aea0},
+  {0x8138b433, 0xe2aea1},
+  {0x8138b434, 0xe2aea2},
+  {0x8138b435, 0xe2aea3},
+  {0x8138b436, 0xe2aea4},
+  {0x8138b437, 0xe2aea5},
+  {0x8138b438, 0xe2aea6},
+  {0x8138b439, 0xe2aea7},
+  {0x8138b530, 0xe2aea8},
+  {0x8138b531, 0xe2aea9},
+  {0x8138b532, 0xe2aeaa},
+  {0x8138b533, 0xe2aeab},
+  {0x8138b534, 0xe2aeac},
+  {0x8138b535, 0xe2aead},
+  {0x8138b536, 0xe2aeae},
+  {0x8138b537, 0xe2aeaf},
+  {0x8138b538, 0xe2aeb0},
+  {0x8138b539, 0xe2aeb1},
+  {0x8138b630, 0xe2aeb2},
+  {0x8138b631, 0xe2aeb3},
+  {0x8138b632, 0xe2aeb4},
+  {0x8138b633, 0xe2aeb5},
+  {0x8138b634, 0xe2aeb6},
+  {0x8138b635, 0xe2aeb7},
+  {0x8138b636, 0xe2aeb8},
+  {0x8138b637, 0xe2aeb9},
+  {0x8138b638, 0xe2aeba},
+  {0x8138b639, 0xe2aebb},
+  {0x8138b730, 0xe2aebc},
+  {0x8138b731, 0xe2aebd},
+  {0x8138b732, 0xe2aebe},
+  {0x8138b733, 0xe2aebf},
+  {0x8138b734, 0xe2af80},
+  {0x8138b735, 0xe2af81},
+  {0x8138b736, 0xe2af82},
+  {0x8138b737, 0xe2af83},
+  {0x8138b738, 0xe2af84},
+  {0x8138b739, 0xe2af85},
+  {0x8138b830, 0xe2af86},
+  {0x8138b831, 0xe2af87},
+  {0x8138b832, 0xe2af88},
+  {0x8138b833, 0xe2af89},
+  {0x8138b834, 0xe2af8a},
+  {0x8138b835, 0xe2af8b},
+  {0x8138b836, 0xe2af8c},
+  {0x8138b837, 0xe2af8d},
+  {0x8138b838, 0xe2af8e},
+  {0x8138b839, 0xe2af8f},
+  {0x8138b930, 0xe2af90},
+  {0x8138b931, 0xe2af91},
+  {0x8138b932, 0xe2af92},
+  {0x8138b933, 0xe2af93},
+  {0x8138b934, 0xe2af94},
+  {0x8138b935, 0xe2af95},
+  {0x8138b936, 0xe2af96},
+  {0x8138b937, 0xe2af97},
+  {0x8138b938, 0xe2af98},
+  {0x8138b939, 0xe2af99},
+  {0x8138ba30, 0xe2af9a},
+  {0x8138ba31, 0xe2af9b},
+  {0x8138ba32, 0xe2af9c},
+  {0x8138ba33, 0xe2af9d},
+  {0x8138ba34, 0xe2af9e},
+  {0x8138ba35, 0xe2af9f},
+  {0x8138ba36, 0xe2afa0},
+  {0x8138ba37, 0xe2afa1},
+  {0x8138ba38, 0xe2afa2},
+  {0x8138ba39, 0xe2afa3},
+  {0x8138bb30, 0xe2afa4},
+  {0x8138bb31, 0xe2afa5},
+  {0x8138bb32, 0xe2afa6},
+  {0x8138bb33, 0xe2afa7},
+  {0x8138bb34, 0xe2afa8},
+  {0x8138bb35, 0xe2afa9},
+  {0x8138bb36, 0xe2afaa},
+  {0x8138bb37, 0xe2afab},
+  {0x8138bb38, 0xe2afac},
+  {0x8138bb39, 0xe2afad},
+  {0x8138bc30, 0xe2afae},
+  {0x8138bc31, 0xe2afaf},
+  {0x8138bc32, 0xe2afb0},
+  {0x8138bc33, 0xe2afb1},
+  {0x8138bc34, 0xe2afb2},
+  {0x8138bc35, 0xe2afb3},
+  {0x8138bc36, 0xe2afb4},
+  {0x8138bc37, 0xe2afb5},
+  {0x8138bc38, 0xe2afb6},
+  {0x8138bc39, 0xe2afb7},
+  {0x8138bd30, 0xe2afb8},
+  {0x8138bd31, 0xe2afb9},
+  {0x8138bd32, 0xe2afba},
+  {0x8138bd33, 0xe2afbb},
+  {0x8138bd34, 0xe2afbc},
+  {0x8138bd35, 0xe2afbd},
+  {0x8138bd36, 0xe2afbe},
+  {0x8138bd37, 0xe2afbf},
+  {0x8138bd38, 0xe2b080},
+  {0x8138bd39, 0xe2b081},
+  {0x8138be30, 0xe2b082},
+  {0x8138be31, 0xe2b083},
+  {0x8138be32, 0xe2b084},
+  {0x8138be33, 0xe2b085},
+  {0x8138be34, 0xe2b086},
+  {0x8138be35, 0xe2b087},
+  {0x8138be36, 0xe2b088},
+  {0x8138be37, 0xe2b089},
+  {0x8138be38, 0xe2b08a},
+  {0x8138be39, 0xe2b08b},
+  {0x8138bf30, 0xe2b08c},
+  {0x8138bf31, 0xe2b08d},
+  {0x8138bf32, 0xe2b08e},
+  {0x8138bf33, 0xe2b08f},
+  {0x8138bf34, 0xe2b090},
+  {0x8138bf35, 0xe2b091},
+  {0x8138bf36, 0xe2b092},
+  {0x8138bf37, 0xe2b093},
+  {0x8138bf38, 0xe2b094},
+  {0x8138bf39, 0xe2b095},
+  {0x8138c030, 0xe2b096},
+  {0x8138c031, 0xe2b097},
+  {0x8138c032, 0xe2b098},
+  {0x8138c033, 0xe2b099},
+  {0x8138c034, 0xe2b09a},
+  {0x8138c035, 0xe2b09b},
+  {0x8138c036, 0xe2b09c},
+  {0x8138c037, 0xe2b09d},
+  {0x8138c038, 0xe2b09e},
+  {0x8138c039, 0xe2b09f},
+  {0x8138c130, 0xe2b0a0},
+  {0x8138c131, 0xe2b0a1},
+  {0x8138c132, 0xe2b0a2},
+  {0x8138c133, 0xe2b0a3},
+  {0x8138c134, 0xe2b0a4},
+  {0x8138c135, 0xe2b0a5},
+  {0x8138c136, 0xe2b0a6},
+  {0x8138c137, 0xe2b0a7},
+  {0x8138c138, 0xe2b0a8},
+  {0x8138c139, 0xe2b0a9},
+  {0x8138c230, 0xe2b0aa},
+  {0x8138c231, 0xe2b0ab},
+  {0x8138c232, 0xe2b0ac},
+  {0x8138c233, 0xe2b0ad},
+  {0x8138c234, 0xe2b0ae},
+  {0x8138c235, 0xe2b0af},
+  {0x8138c236, 0xe2b0b0},
+  {0x8138c237, 0xe2b0b1},
+  {0x8138c238, 0xe2b0b2},
+  {0x8138c239, 0xe2b0b3},
+  {0x8138c330, 0xe2b0b4},
+  {0x8138c331, 0xe2b0b5},
+  {0x8138c332, 0xe2b0b6},
+  {0x8138c333, 0xe2b0b7},
+  {0x8138c334, 0xe2b0b8},
+  {0x8138c335, 0xe2b0b9},
+  {0x8138c336, 0xe2b0ba},
+  {0x8138c337, 0xe2b0bb},
+  {0x8138c338, 0xe2b0bc},
+  {0x8138c339, 0xe2b0bd},
+  {0x8138c430, 0xe2b0be},
+  {0x8138c431, 0xe2b0bf},
+  {0x8138c432, 0xe2b180},
+  {0x8138c433, 0xe2b181},
+  {0x8138c434, 0xe2b182},
+  {0x8138c435, 0xe2b183},
+  {0x8138c436, 0xe2b184},
+  {0x8138c437, 0xe2b185},
+  {0x8138c438, 0xe2b186},
+  {0x8138c439, 0xe2b187},
+  {0x8138c530, 0xe2b188},
+  {0x8138c531, 0xe2b189},
+  {0x8138c532, 0xe2b18a},
+  {0x8138c533, 0xe2b18b},
+  {0x8138c534, 0xe2b18c},
+  {0x8138c535, 0xe2b18d},
+  {0x8138c536, 0xe2b18e},
+  {0x8138c537, 0xe2b18f},
+  {0x8138c538, 0xe2b190},
+  {0x8138c539, 0xe2b191},
+  {0x8138c630, 0xe2b192},
+  {0x8138c631, 0xe2b193},
+  {0x8138c632, 0xe2b194},
+  {0x8138c633, 0xe2b195},
+  {0x8138c634, 0xe2b196},
+  {0x8138c635, 0xe2b197},
+  {0x8138c636, 0xe2b198},
+  {0x8138c637, 0xe2b199},
+  {0x8138c638, 0xe2b19a},
+  {0x8138c639, 0xe2b19b},
+  {0x8138c730, 0xe2b19c},
+  {0x8138c731, 0xe2b19d},
+  {0x8138c732, 0xe2b19e},
+  {0x8138c733, 0xe2b19f},
+  {0x8138c734, 0xe2b1a0},
+  {0x8138c735, 0xe2b1a1},
+  {0x8138c736, 0xe2b1a2},
+  {0x8138c737, 0xe2b1a3},
+  {0x8138c738, 0xe2b1a4},
+  {0x8138c739, 0xe2b1a5},
+  {0x8138c830, 0xe2b1a6},
+  {0x8138c831, 0xe2b1a7},
+  {0x8138c832, 0xe2b1a8},
+  {0x8138c833, 0xe2b1a9},
+  {0x8138c834, 0xe2b1aa},
+  {0x8138c835, 0xe2b1ab},
+  {0x8138c836, 0xe2b1ac},
+  {0x8138c837, 0xe2b1ad},
+  {0x8138c838, 0xe2b1ae},
+  {0x8138c839, 0xe2b1af},
+  {0x8138c930, 0xe2b1b0},
+  {0x8138c931, 0xe2b1b1},
+  {0x8138c932, 0xe2b1b2},
+  {0x8138c933, 0xe2b1b3},
+  {0x8138c934, 0xe2b1b4},
+  {0x8138c935, 0xe2b1b5},
+  {0x8138c936, 0xe2b1b6},
+  {0x8138c937, 0xe2b1b7},
+  {0x8138c938, 0xe2b1b8},
+  {0x8138c939, 0xe2b1b9},
+  {0x8138ca30, 0xe2b1ba},
+  {0x8138ca31, 0xe2b1bb},
+  {0x8138ca32, 0xe2b1bc},
+  {0x8138ca33, 0xe2b1bd},
+  {0x8138ca34, 0xe2b1be},
+  {0x8138ca35, 0xe2b1bf},
+  {0x8138ca36, 0xe2b280},
+  {0x8138ca37, 0xe2b281},
+  {0x8138ca38, 0xe2b282},
+  {0x8138ca39, 0xe2b283},
+  {0x8138cb30, 0xe2b284},
+  {0x8138cb31, 0xe2b285},
+  {0x8138cb32, 0xe2b286},
+  {0x8138cb33, 0xe2b287},
+  {0x8138cb34, 0xe2b288},
+  {0x8138cb35, 0xe2b289},
+  {0x8138cb36, 0xe2b28a},
+  {0x8138cb37, 0xe2b28b},
+  {0x8138cb38, 0xe2b28c},
+  {0x8138cb39, 0xe2b28d},
+  {0x8138cc30, 0xe2b28e},
+  {0x8138cc31, 0xe2b28f},
+  {0x8138cc32, 0xe2b290},
+  {0x8138cc33, 0xe2b291},
+  {0x8138cc34, 0xe2b292},
+  {0x8138cc35, 0xe2b293},
+  {0x8138cc36, 0xe2b294},
+  {0x8138cc37, 0xe2b295},
+  {0x8138cc38, 0xe2b296},
+  {0x8138cc39, 0xe2b297},
+  {0x8138cd30, 0xe2b298},
+  {0x8138cd31, 0xe2b299},
+  {0x8138cd32, 0xe2b29a},
+  {0x8138cd33, 0xe2b29b},
+  {0x8138cd34, 0xe2b29c},
+  {0x8138cd35, 0xe2b29d},
+  {0x8138cd36, 0xe2b29e},
+  {0x8138cd37, 0xe2b29f},
+  {0x8138cd38, 0xe2b2a0},
+  {0x8138cd39, 0xe2b2a1},
+  {0x8138ce30, 0xe2b2a2},
+  {0x8138ce31, 0xe2b2a3},
+  {0x8138ce32, 0xe2b2a4},
+  {0x8138ce33, 0xe2b2a5},
+  {0x8138ce34, 0xe2b2a6},
+  {0x8138ce35, 0xe2b2a7},
+  {0x8138ce36, 0xe2b2a8},
+  {0x8138ce37, 0xe2b2a9},
+  {0x8138ce38, 0xe2b2aa},
+  {0x8138ce39, 0xe2b2ab},
+  {0x8138cf30, 0xe2b2ac},
+  {0x8138cf31, 0xe2b2ad},
+  {0x8138cf32, 0xe2b2ae},
+  {0x8138cf33, 0xe2b2af},
+  {0x8138cf34, 0xe2b2b0},
+  {0x8138cf35, 0xe2b2b1},
+  {0x8138cf36, 0xe2b2b2},
+  {0x8138cf37, 0xe2b2b3},
+  {0x8138cf38, 0xe2b2b4},
+  {0x8138cf39, 0xe2b2b5},
+  {0x8138d030, 0xe2b2b6},
+  {0x8138d031, 0xe2b2b7},
+  {0x8138d032, 0xe2b2b8},
+  {0x8138d033, 0xe2b2b9},
+  {0x8138d034, 0xe2b2ba},
+  {0x8138d035, 0xe2b2bb},
+  {0x8138d036, 0xe2b2bc},
+  {0x8138d037, 0xe2b2bd},
+  {0x8138d038, 0xe2b2be},
+  {0x8138d039, 0xe2b2bf},
+  {0x8138d130, 0xe2b380},
+  {0x8138d131, 0xe2b381},
+  {0x8138d132, 0xe2b382},
+  {0x8138d133, 0xe2b383},
+  {0x8138d134, 0xe2b384},
+  {0x8138d135, 0xe2b385},
+  {0x8138d136, 0xe2b386},
+  {0x8138d137, 0xe2b387},
+  {0x8138d138, 0xe2b388},
+  {0x8138d139, 0xe2b389},
+  {0x8138d230, 0xe2b38a},
+  {0x8138d231, 0xe2b38b},
+  {0x8138d232, 0xe2b38c},
+  {0x8138d233, 0xe2b38d},
+  {0x8138d234, 0xe2b38e},
+  {0x8138d235, 0xe2b38f},
+  {0x8138d236, 0xe2b390},
+  {0x8138d237, 0xe2b391},
+  {0x8138d238, 0xe2b392},
+  {0x8138d239, 0xe2b393},
+  {0x8138d330, 0xe2b394},
+  {0x8138d331, 0xe2b395},
+  {0x8138d332, 0xe2b396},
+  {0x8138d333, 0xe2b397},
+  {0x8138d334, 0xe2b398},
+  {0x8138d335, 0xe2b399},
+  {0x8138d336, 0xe2b39a},
+  {0x8138d337, 0xe2b39b},
+  {0x8138d338, 0xe2b39c},
+  {0x8138d339, 0xe2b39d},
+  {0x8138d430, 0xe2b39e},
+  {0x8138d431, 0xe2b39f},
+  {0x8138d432, 0xe2b3a0},
+  {0x8138d433, 0xe2b3a1},
+  {0x8138d434, 0xe2b3a2},
+  {0x8138d435, 0xe2b3a3},
+  {0x8138d436, 0xe2b3a4},
+  {0x8138d437, 0xe2b3a5},
+  {0x8138d438, 0xe2b3a6},
+  {0x8138d439, 0xe2b3a7},
+  {0x8138d530, 0xe2b3a8},
+  {0x8138d531, 0xe2b3a9},
+  {0x8138d532, 0xe2b3aa},
+  {0x8138d533, 0xe2b3ab},
+  {0x8138d534, 0xe2b3ac},
+  {0x8138d535, 0xe2b3ad},
+  {0x8138d536, 0xe2b3ae},
+  {0x8138d537, 0xe2b3af},
+  {0x8138d538, 0xe2b3b0},
+  {0x8138d539, 0xe2b3b1},
+  {0x8138d630, 0xe2b3b2},
+  {0x8138d631, 0xe2b3b3},
+  {0x8138d632, 0xe2b3b4},
+  {0x8138d633, 0xe2b3b5},
+  {0x8138d634, 0xe2b3b6},
+  {0x8138d635, 0xe2b3b7},
+  {0x8138d636, 0xe2b3b8},
+  {0x8138d637, 0xe2b3b9},
+  {0x8138d638, 0xe2b3ba},
+  {0x8138d639, 0xe2b3bb},
+  {0x8138d730, 0xe2b3bc},
+  {0x8138d731, 0xe2b3bd},
+  {0x8138d732, 0xe2b3be},
+  {0x8138d733, 0xe2b3bf},
+  {0x8138d734, 0xe2b480},
+  {0x8138d735, 0xe2b481},
+  {0x8138d736, 0xe2b482},
+  {0x8138d737, 0xe2b483},
+  {0x8138d738, 0xe2b484},
+  {0x8138d739, 0xe2b485},
+  {0x8138d830, 0xe2b486},
+  {0x8138d831, 0xe2b487},
+  {0x8138d832, 0xe2b488},
+  {0x8138d833, 0xe2b489},
+  {0x8138d834, 0xe2b48a},
+  {0x8138d835, 0xe2b48b},
+  {0x8138d836, 0xe2b48c},
+  {0x8138d837, 0xe2b48d},
+  {0x8138d838, 0xe2b48e},
+  {0x8138d839, 0xe2b48f},
+  {0x8138d930, 0xe2b490},
+  {0x8138d931, 0xe2b491},
+  {0x8138d932, 0xe2b492},
+  {0x8138d933, 0xe2b493},
+  {0x8138d934, 0xe2b494},
+  {0x8138d935, 0xe2b495},
+  {0x8138d936, 0xe2b496},
+  {0x8138d937, 0xe2b497},
+  {0x8138d938, 0xe2b498},
+  {0x8138d939, 0xe2b499},
+  {0x8138da30, 0xe2b49a},
+  {0x8138da31, 0xe2b49b},
+  {0x8138da32, 0xe2b49c},
+  {0x8138da33, 0xe2b49d},
+  {0x8138da34, 0xe2b49e},
+  {0x8138da35, 0xe2b49f},
+  {0x8138da36, 0xe2b4a0},
+  {0x8138da37, 0xe2b4a1},
+  {0x8138da38, 0xe2b4a2},
+  {0x8138da39, 0xe2b4a3},
+  {0x8138db30, 0xe2b4a4},
+  {0x8138db31, 0xe2b4a5},
+  {0x8138db32, 0xe2b4a6},
+  {0x8138db33, 0xe2b4a7},
+  {0x8138db34, 0xe2b4a8},
+  {0x8138db35, 0xe2b4a9},
+  {0x8138db36, 0xe2b4aa},
+  {0x8138db37, 0xe2b4ab},
+  {0x8138db38, 0xe2b4ac},
+  {0x8138db39, 0xe2b4ad},
+  {0x8138dc30, 0xe2b4ae},
+  {0x8138dc31, 0xe2b4af},
+  {0x8138dc32, 0xe2b4b0},
+  {0x8138dc33, 0xe2b4b1},
+  {0x8138dc34, 0xe2b4b2},
+  {0x8138dc35, 0xe2b4b3},
+  {0x8138dc36, 0xe2b4b4},
+  {0x8138dc37, 0xe2b4b5},
+  {0x8138dc38, 0xe2b4b6},
+  {0x8138dc39, 0xe2b4b7},
+  {0x8138dd30, 0xe2b4b8},
+  {0x8138dd31, 0xe2b4b9},
+  {0x8138dd32, 0xe2b4ba},
+  {0x8138dd33, 0xe2b4bb},
+  {0x8138dd34, 0xe2b4bc},
+  {0x8138dd35, 0xe2b4bd},
+  {0x8138dd36, 0xe2b4be},
+  {0x8138dd37, 0xe2b4bf},
+  {0x8138dd38, 0xe2b580},
+  {0x8138dd39, 0xe2b581},
+  {0x8138de30, 0xe2b582},
+  {0x8138de31, 0xe2b583},
+  {0x8138de32, 0xe2b584},
+  {0x8138de33, 0xe2b585},
+  {0x8138de34, 0xe2b586},
+  {0x8138de35, 0xe2b587},
+  {0x8138de36, 0xe2b588},
+  {0x8138de37, 0xe2b589},
+  {0x8138de38, 0xe2b58a},
+  {0x8138de39, 0xe2b58b},
+  {0x8138df30, 0xe2b58c},
+  {0x8138df31, 0xe2b58d},
+  {0x8138df32, 0xe2b58e},
+  {0x8138df33, 0xe2b58f},
+  {0x8138df34, 0xe2b590},
+  {0x8138df35, 0xe2b591},
+  {0x8138df36, 0xe2b592},
+  {0x8138df37, 0xe2b593},
+  {0x8138df38, 0xe2b594},
+  {0x8138df39, 0xe2b595},
+  {0x8138e030, 0xe2b596},
+  {0x8138e031, 0xe2b597},
+  {0x8138e032, 0xe2b598},
+  {0x8138e033, 0xe2b599},
+  {0x8138e034, 0xe2b59a},
+  {0x8138e035, 0xe2b59b},
+  {0x8138e036, 0xe2b59c},
+  {0x8138e037, 0xe2b59d},
+  {0x8138e038, 0xe2b59e},
+  {0x8138e039, 0xe2b59f},
+  {0x8138e130, 0xe2b5a0},
+  {0x8138e131, 0xe2b5a1},
+  {0x8138e132, 0xe2b5a2},
+  {0x8138e133, 0xe2b5a3},
+  {0x8138e134, 0xe2b5a4},
+  {0x8138e135, 0xe2b5a5},
+  {0x8138e136, 0xe2b5a6},
+  {0x8138e137, 0xe2b5a7},
+  {0x8138e138, 0xe2b5a8},
+  {0x8138e139, 0xe2b5a9},
+  {0x8138e230, 0xe2b5aa},
+  {0x8138e231, 0xe2b5ab},
+  {0x8138e232, 0xe2b5ac},
+  {0x8138e233, 0xe2b5ad},
+  {0x8138e234, 0xe2b5ae},
+  {0x8138e235, 0xe2b5af},
+  {0x8138e236, 0xe2b5b0},
+  {0x8138e237, 0xe2b5b1},
+  {0x8138e238, 0xe2b5b2},
+  {0x8138e239, 0xe2b5b3},
+  {0x8138e330, 0xe2b5b4},
+  {0x8138e331, 0xe2b5b5},
+  {0x8138e332, 0xe2b5b6},
+  {0x8138e333, 0xe2b5b7},
+  {0x8138e334, 0xe2b5b8},
+  {0x8138e335, 0xe2b5b9},
+  {0x8138e336, 0xe2b5ba},
+  {0x8138e337, 0xe2b5bb},
+  {0x8138e338, 0xe2b5bc},
+  {0x8138e339, 0xe2b5bd},
+  {0x8138e430, 0xe2b5be},
+  {0x8138e431, 0xe2b5bf},
+  {0x8138e432, 0xe2b680},
+  {0x8138e433, 0xe2b681},
+  {0x8138e434, 0xe2b682},
+  {0x8138e435, 0xe2b683},
+  {0x8138e436, 0xe2b684},
+  {0x8138e437, 0xe2b685},
+  {0x8138e438, 0xe2b686},
+  {0x8138e439, 0xe2b687},
+  {0x8138e530, 0xe2b688},
+  {0x8138e531, 0xe2b689},
+  {0x8138e532, 0xe2b68a},
+  {0x8138e533, 0xe2b68b},
+  {0x8138e534, 0xe2b68c},
+  {0x8138e535, 0xe2b68d},
+  {0x8138e536, 0xe2b68e},
+  {0x8138e537, 0xe2b68f},
+  {0x8138e538, 0xe2b690},
+  {0x8138e539, 0xe2b691},
+  {0x8138e630, 0xe2b692},
+  {0x8138e631, 0xe2b693},
+  {0x8138e632, 0xe2b694},
+  {0x8138e633, 0xe2b695},
+  {0x8138e634, 0xe2b696},
+  {0x8138e635, 0xe2b697},
+  {0x8138e636, 0xe2b698},
+  {0x8138e637, 0xe2b699},
+  {0x8138e638, 0xe2b69a},
+  {0x8138e639, 0xe2b69b},
+  {0x8138e730, 0xe2b69c},
+  {0x8138e731, 0xe2b69d},
+  {0x8138e732, 0xe2b69e},
+  {0x8138e733, 0xe2b69f},
+  {0x8138e734, 0xe2b6a0},
+  {0x8138e735, 0xe2b6a1},
+  {0x8138e736, 0xe2b6a2},
+  {0x8138e737, 0xe2b6a3},
+  {0x8138e738, 0xe2b6a4},
+  {0x8138e739, 0xe2b6a5},
+  {0x8138e830, 0xe2b6a6},
+  {0x8138e831, 0xe2b6a7},
+  {0x8138e832, 0xe2b6a8},
+  {0x8138e833, 0xe2b6a9},
+  {0x8138e834, 0xe2b6aa},
+  {0x8138e835, 0xe2b6ab},
+  {0x8138e836, 0xe2b6ac},
+  {0x8138e837, 0xe2b6ad},
+  {0x8138e838, 0xe2b6ae},
+  {0x8138e839, 0xe2b6af},
+  {0x8138e930, 0xe2b6b0},
+  {0x8138e931, 0xe2b6b1},
+  {0x8138e932, 0xe2b6b2},
+  {0x8138e933, 0xe2b6b3},
+  {0x8138e934, 0xe2b6b4},
+  {0x8138e935, 0xe2b6b5},
+  {0x8138e936, 0xe2b6b6},
+  {0x8138e937, 0xe2b6b7},
+  {0x8138e938, 0xe2b6b8},
+  {0x8138e939, 0xe2b6b9},
+  {0x8138ea30, 0xe2b6ba},
+  {0x8138ea31, 0xe2b6bb},
+  {0x8138ea32, 0xe2b6bc},
+  {0x8138ea33, 0xe2b6bd},
+  {0x8138ea34, 0xe2b6be},
+  {0x8138ea35, 0xe2b6bf},
+  {0x8138ea36, 0xe2b780},
+  {0x8138ea37, 0xe2b781},
+  {0x8138ea38, 0xe2b782},
+  {0x8138ea39, 0xe2b783},
+  {0x8138eb30, 0xe2b784},
+  {0x8138eb31, 0xe2b785},
+  {0x8138eb32, 0xe2b786},
+  {0x8138eb33, 0xe2b787},
+  {0x8138eb34, 0xe2b788},
+  {0x8138eb35, 0xe2b789},
+  {0x8138eb36, 0xe2b78a},
+  {0x8138eb37, 0xe2b78b},
+  {0x8138eb38, 0xe2b78c},
+  {0x8138eb39, 0xe2b78d},
+  {0x8138ec30, 0xe2b78e},
+  {0x8138ec31, 0xe2b78f},
+  {0x8138ec32, 0xe2b790},
+  {0x8138ec33, 0xe2b791},
+  {0x8138ec34, 0xe2b792},
+  {0x8138ec35, 0xe2b793},
+  {0x8138ec36, 0xe2b794},
+  {0x8138ec37, 0xe2b795},
+  {0x8138ec38, 0xe2b796},
+  {0x8138ec39, 0xe2b797},
+  {0x8138ed30, 0xe2b798},
+  {0x8138ed31, 0xe2b799},
+  {0x8138ed32, 0xe2b79a},
+  {0x8138ed33, 0xe2b79b},
+  {0x8138ed34, 0xe2b79c},
+  {0x8138ed35, 0xe2b79d},
+  {0x8138ed36, 0xe2b79e},
+  {0x8138ed37, 0xe2b79f},
+  {0x8138ed38, 0xe2b7a0},
+  {0x8138ed39, 0xe2b7a1},
+  {0x8138ee30, 0xe2b7a2},
+  {0x8138ee31, 0xe2b7a3},
+  {0x8138ee32, 0xe2b7a4},
+  {0x8138ee33, 0xe2b7a5},
+  {0x8138ee34, 0xe2b7a6},
+  {0x8138ee35, 0xe2b7a7},
+  {0x8138ee36, 0xe2b7a8},
+  {0x8138ee37, 0xe2b7a9},
+  {0x8138ee38, 0xe2b7aa},
+  {0x8138ee39, 0xe2b7ab},
+  {0x8138ef30, 0xe2b7ac},
+  {0x8138ef31, 0xe2b7ad},
+  {0x8138ef32, 0xe2b7ae},
+  {0x8138ef33, 0xe2b7af},
+  {0x8138ef34, 0xe2b7b0},
+  {0x8138ef35, 0xe2b7b1},
+  {0x8138ef36, 0xe2b7b2},
+  {0x8138ef37, 0xe2b7b3},
+  {0x8138ef38, 0xe2b7b4},
+  {0x8138ef39, 0xe2b7b5},
+  {0x8138f030, 0xe2b7b6},
+  {0x8138f031, 0xe2b7b7},
+  {0x8138f032, 0xe2b7b8},
+  {0x8138f033, 0xe2b7b9},
+  {0x8138f034, 0xe2b7ba},
+  {0x8138f035, 0xe2b7bb},
+  {0x8138f036, 0xe2b7bc},
+  {0x8138f037, 0xe2b7bd},
+  {0x8138f038, 0xe2b7be},
+  {0x8138f039, 0xe2b7bf},
+  {0x8138f130, 0xe2b880},
+  {0x8138f131, 0xe2b881},
+  {0x8138f132, 0xe2b882},
+  {0x8138f133, 0xe2b883},
+  {0x8138f134, 0xe2b884},
+  {0x8138f135, 0xe2b885},
+  {0x8138f136, 0xe2b886},
+  {0x8138f137, 0xe2b887},
+  {0x8138f138, 0xe2b888},
+  {0x8138f139, 0xe2b889},
+  {0x8138f230, 0xe2b88a},
+  {0x8138f231, 0xe2b88b},
+  {0x8138f232, 0xe2b88c},
+  {0x8138f233, 0xe2b88d},
+  {0x8138f234, 0xe2b88e},
+  {0x8138f235, 0xe2b88f},
+  {0x8138f236, 0xe2b890},
+  {0x8138f237, 0xe2b891},
+  {0x8138f238, 0xe2b892},
+  {0x8138f239, 0xe2b893},
+  {0x8138f330, 0xe2b894},
+  {0x8138f331, 0xe2b895},
+  {0x8138f332, 0xe2b896},
+  {0x8138f333, 0xe2b897},
+  {0x8138f334, 0xe2b898},
+  {0x8138f335, 0xe2b899},
+  {0x8138f336, 0xe2b89a},
+  {0x8138f337, 0xe2b89b},
+  {0x8138f338, 0xe2b89c},
+  {0x8138f339, 0xe2b89d},
+  {0x8138f430, 0xe2b89e},
+  {0x8138f431, 0xe2b89f},
+  {0x8138f432, 0xe2b8a0},
+  {0x8138f433, 0xe2b8a1},
+  {0x8138f434, 0xe2b8a2},
+  {0x8138f435, 0xe2b8a3},
+  {0x8138f436, 0xe2b8a4},
+  {0x8138f437, 0xe2b8a5},
+  {0x8138f438, 0xe2b8a6},
+  {0x8138f439, 0xe2b8a7},
+  {0x8138f530, 0xe2b8a8},
+  {0x8138f531, 0xe2b8a9},
+  {0x8138f532, 0xe2b8aa},
+  {0x8138f533, 0xe2b8ab},
+  {0x8138f534, 0xe2b8ac},
+  {0x8138f535, 0xe2b8ad},
+  {0x8138f536, 0xe2b8ae},
+  {0x8138f537, 0xe2b8af},
+  {0x8138f538, 0xe2b8b0},
+  {0x8138f539, 0xe2b8b1},
+  {0x8138f630, 0xe2b8b2},
+  {0x8138f631, 0xe2b8b3},
+  {0x8138f632, 0xe2b8b4},
+  {0x8138f633, 0xe2b8b5},
+  {0x8138f634, 0xe2b8b6},
+  {0x8138f635, 0xe2b8b7},
+  {0x8138f636, 0xe2b8b8},
+  {0x8138f637, 0xe2b8b9},
+  {0x8138f638, 0xe2b8ba},
+  {0x8138f639, 0xe2b8bb},
+  {0x8138f730, 0xe2b8bc},
+  {0x8138f731, 0xe2b8bd},
+  {0x8138f732, 0xe2b8be},
+  {0x8138f733, 0xe2b8bf},
+  {0x8138f734, 0xe2b980},
+  {0x8138f735, 0xe2b981},
+  {0x8138f736, 0xe2b982},
+  {0x8138f737, 0xe2b983},
+  {0x8138f738, 0xe2b984},
+  {0x8138f739, 0xe2b985},
+  {0x8138f830, 0xe2b986},
+  {0x8138f831, 0xe2b987},
+  {0x8138f832, 0xe2b988},
+  {0x8138f833, 0xe2b989},
+  {0x8138f834, 0xe2b98a},
+  {0x8138f835, 0xe2b98b},
+  {0x8138f836, 0xe2b98c},
+  {0x8138f837, 0xe2b98d},
+  {0x8138f838, 0xe2b98e},
+  {0x8138f839, 0xe2b98f},
+  {0x8138f930, 0xe2b990},
+  {0x8138f931, 0xe2b991},
+  {0x8138f932, 0xe2b992},
+  {0x8138f933, 0xe2b993},
+  {0x8138f934, 0xe2b994},
+  {0x8138f935, 0xe2b995},
+  {0x8138f936, 0xe2b996},
+  {0x8138f937, 0xe2b997},
+  {0x8138f938, 0xe2b998},
+  {0x8138f939, 0xe2b999},
+  {0x8138fa30, 0xe2b99a},
+  {0x8138fa31, 0xe2b99b},
+  {0x8138fa32, 0xe2b99c},
+  {0x8138fa33, 0xe2b99d},
+  {0x8138fa34, 0xe2b99e},
+  {0x8138fa35, 0xe2b99f},
+  {0x8138fa36, 0xe2b9a0},
+  {0x8138fa37, 0xe2b9a1},
+  {0x8138fa38, 0xe2b9a2},
+  {0x8138fa39, 0xe2b9a3},
+  {0x8138fb30, 0xe2b9a4},
+  {0x8138fb31, 0xe2b9a5},
+  {0x8138fb32, 0xe2b9a6},
+  {0x8138fb33, 0xe2b9a7},
+  {0x8138fb34, 0xe2b9a8},
+  {0x8138fb35, 0xe2b9a9},
+  {0x8138fb36, 0xe2b9aa},
+  {0x8138fb37, 0xe2b9ab},
+  {0x8138fb38, 0xe2b9ac},
+  {0x8138fb39, 0xe2b9ad},
+  {0x8138fc30, 0xe2b9ae},
+  {0x8138fc31, 0xe2b9af},
+  {0x8138fc32, 0xe2b9b0},
+  {0x8138fc33, 0xe2b9b1},
+  {0x8138fc34, 0xe2b9b2},
+  {0x8138fc35, 0xe2b9b3},
+  {0x8138fc36, 0xe2b9b4},
+  {0x8138fc37, 0xe2b9b5},
+  {0x8138fc38, 0xe2b9b6},
+  {0x8138fc39, 0xe2b9b7},
+  {0x8138fd30, 0xe2b9b8},
+  {0x8138fd31, 0xe2b9b9},
+  {0x8138fd32, 0xe2b9ba},
+  {0x8138fd33, 0xe2b9bb},
+  {0x8138fd34, 0xe2b9bc},
+  {0x8138fd35, 0xe2b9bd},
+  {0x8138fd36, 0xe2b9be},
+  {0x8138fd37, 0xe2b9bf},
+  {0x8138fd38, 0xe2ba80},
+  {0x8138fd39, 0xe2ba82},
+  {0x8138fe30, 0xe2ba83},
+  {0x8138fe31, 0xe2ba85},
+  {0x8138fe32, 0xe2ba86},
+  {0x8138fe33, 0xe2ba87},
+  {0x8138fe34, 0xe2ba89},
+  {0x8138fe35, 0xe2ba8a},
+  {0x8138fe36, 0xe2ba8d},
+  {0x8138fe37, 0xe2ba8e},
+  {0x8138fe38, 0xe2ba8f},
+  {0x8138fe39, 0xe2ba90},
+  {0x81398130, 0xe2ba91},
+  {0x81398131, 0xe2ba92},
+  {0x81398132, 0xe2ba93},
+  {0x81398133, 0xe2ba94},
+  {0x81398134, 0xe2ba95},
+  {0x81398135, 0xe2ba96},
+  {0x81398136, 0xe2ba98},
+  {0x81398137, 0xe2ba99},
+  {0x81398138, 0xe2ba9a},
+  {0x81398139, 0xe2ba9b},
+  {0x81398230, 0xe2ba9c},
+  {0x81398231, 0xe2ba9d},
+  {0x81398232, 0xe2ba9e},
+  {0x81398233, 0xe2ba9f},
+  {0x81398234, 0xe2baa0},
+  {0x81398235, 0xe2baa1},
+  {0x81398236, 0xe2baa2},
+  {0x81398237, 0xe2baa3},
+  {0x81398238, 0xe2baa4},
+  {0x81398239, 0xe2baa5},
+  {0x81398330, 0xe2baa6},
+  {0x81398331, 0xe2baa8},
+  {0x81398332, 0xe2baa9},
+  {0x81398333, 0xe2baab},
+  {0x81398334, 0xe2baac},
+  {0x81398335, 0xe2baad},
+  {0x81398336, 0xe2baaf},
+  {0x81398337, 0xe2bab0},
+  {0x81398338, 0xe2bab1},
+  {0x81398339, 0xe2bab2},
+  {0x81398430, 0xe2bab4},
+  {0x81398431, 0xe2bab5},
+  {0x81398432, 0xe2bab8},
+  {0x81398433, 0xe2bab9},
+  {0x81398434, 0xe2baba},
+  {0x81398435, 0xe2babc},
+  {0x81398436, 0xe2babd},
+  {0x81398437, 0xe2babe},
+  {0x81398438, 0xe2babf},
+  {0x81398439, 0xe2bb80},
+  {0x81398530, 0xe2bb81},
+  {0x81398531, 0xe2bb82},
+  {0x81398532, 0xe2bb83},
+  {0x81398533, 0xe2bb84},
+  {0x81398534, 0xe2bb85},
+  {0x81398535, 0xe2bb86},
+  {0x81398536, 0xe2bb87},
+  {0x81398537, 0xe2bb88},
+  {0x81398538, 0xe2bb89},
+  {0x81398539, 0xe2bb8b},
+  {0x81398630, 0xe2bb8c},
+  {0x81398631, 0xe2bb8d},
+  {0x81398632, 0xe2bb8e},
+  {0x81398633, 0xe2bb8f},
+  {0x81398634, 0xe2bb90},
+  {0x81398635, 0xe2bb91},
+  {0x81398636, 0xe2bb92},
+  {0x81398637, 0xe2bb93},
+  {0x81398638, 0xe2bb94},
+  {0x81398639, 0xe2bb95},
+  {0x81398730, 0xe2bb96},
+  {0x81398731, 0xe2bb97},
+  {0x81398732, 0xe2bb98},
+  {0x81398733, 0xe2bb99},
+  {0x81398734, 0xe2bb9a},
+  {0x81398735, 0xe2bb9b},
+  {0x81398736, 0xe2bb9c},
+  {0x81398737, 0xe2bb9d},
+  {0x81398738, 0xe2bb9e},
+  {0x81398739, 0xe2bb9f},
+  {0x81398830, 0xe2bba0},
+  {0x81398831, 0xe2bba1},
+  {0x81398832, 0xe2bba2},
+  {0x81398833, 0xe2bba3},
+  {0x81398834, 0xe2bba4},
+  {0x81398835, 0xe2bba5},
+  {0x81398836, 0xe2bba6},
+  {0x81398837, 0xe2bba7},
+  {0x81398838, 0xe2bba8},
+  {0x81398839, 0xe2bba9},
+  {0x81398930, 0xe2bbaa},
+  {0x81398931, 0xe2bbab},
+  {0x81398932, 0xe2bbac},
+  {0x81398933, 0xe2bbad},
+  {0x81398934, 0xe2bbae},
+  {0x81398935, 0xe2bbaf},
+  {0x81398936, 0xe2bbb0},
+  {0x81398937, 0xe2bbb1},
+  {0x81398938, 0xe2bbb2},
+  {0x81398939, 0xe2bbb3},
+  {0x81398a30, 0xe2bbb4},
+  {0x81398a31, 0xe2bbb5},
+  {0x81398a32, 0xe2bbb6},
+  {0x81398a33, 0xe2bbb7},
+  {0x81398a34, 0xe2bbb8},
+  {0x81398a35, 0xe2bbb9},
+  {0x81398a36, 0xe2bbba},
+  {0x81398a37, 0xe2bbbb},
+  {0x81398a38, 0xe2bbbc},
+  {0x81398a39, 0xe2bbbd},
+  {0x81398b30, 0xe2bbbe},
+  {0x81398b31, 0xe2bbbf},
+  {0x81398b32, 0xe2bc80},
+  {0x81398b33, 0xe2bc81},
+  {0x81398b34, 0xe2bc82},
+  {0x81398b35, 0xe2bc83},
+  {0x81398b36, 0xe2bc84},
+  {0x81398b37, 0xe2bc85},
+  {0x81398b38, 0xe2bc86},
+  {0x81398b39, 0xe2bc87},
+  {0x81398c30, 0xe2bc88},
+  {0x81398c31, 0xe2bc89},
+  {0x81398c32, 0xe2bc8a},
+  {0x81398c33, 0xe2bc8b},
+  {0x81398c34, 0xe2bc8c},
+  {0x81398c35, 0xe2bc8d},
+  {0x81398c36, 0xe2bc8e},
+  {0x81398c37, 0xe2bc8f},
+  {0x81398c38, 0xe2bc90},
+  {0x81398c39, 0xe2bc91},
+  {0x81398d30, 0xe2bc92},
+  {0x81398d31, 0xe2bc93},
+  {0x81398d32, 0xe2bc94},
+  {0x81398d33, 0xe2bc95},
+  {0x81398d34, 0xe2bc96},
+  {0x81398d35, 0xe2bc97},
+  {0x81398d36, 0xe2bc98},
+  {0x81398d37, 0xe2bc99},
+  {0x81398d38, 0xe2bc9a},
+  {0x81398d39, 0xe2bc9b},
+  {0x81398e30, 0xe2bc9c},
+  {0x81398e31, 0xe2bc9d},
+  {0x81398e32, 0xe2bc9e},
+  {0x81398e33, 0xe2bc9f},
+  {0x81398e34, 0xe2bca0},
+  {0x81398e35, 0xe2bca1},
+  {0x81398e36, 0xe2bca2},
+  {0x81398e37, 0xe2bca3},
+  {0x81398e38, 0xe2bca4},
+  {0x81398e39, 0xe2bca5},
+  {0x81398f30, 0xe2bca6},
+  {0x81398f31, 0xe2bca7},
+  {0x81398f32, 0xe2bca8},
+  {0x81398f33, 0xe2bca9},
+  {0x81398f34, 0xe2bcaa},
+  {0x81398f35, 0xe2bcab},
+  {0x81398f36, 0xe2bcac},
+  {0x81398f37, 0xe2bcad},
+  {0x81398f38, 0xe2bcae},
+  {0x81398f39, 0xe2bcaf},
+  {0x81399030, 0xe2bcb0},
+  {0x81399031, 0xe2bcb1},
+  {0x81399032, 0xe2bcb2},
+  {0x81399033, 0xe2bcb3},
+  {0x81399034, 0xe2bcb4},
+  {0x81399035, 0xe2bcb5},
+  {0x81399036, 0xe2bcb6},
+  {0x81399037, 0xe2bcb7},
+  {0x81399038, 0xe2bcb8},
+  {0x81399039, 0xe2bcb9},
+  {0x81399130, 0xe2bcba},
+  {0x81399131, 0xe2bcbb},
+  {0x81399132, 0xe2bcbc},
+  {0x81399133, 0xe2bcbd},
+  {0x81399134, 0xe2bcbe},
+  {0x81399135, 0xe2bcbf},
+  {0x81399136, 0xe2bd80},
+  {0x81399137, 0xe2bd81},
+  {0x81399138, 0xe2bd82},
+  {0x81399139, 0xe2bd83},
+  {0x81399230, 0xe2bd84},
+  {0x81399231, 0xe2bd85},
+  {0x81399232, 0xe2bd86},
+  {0x81399233, 0xe2bd87},
+  {0x81399234, 0xe2bd88},
+  {0x81399235, 0xe2bd89},
+  {0x81399236, 0xe2bd8a},
+  {0x81399237, 0xe2bd8b},
+  {0x81399238, 0xe2bd8c},
+  {0x81399239, 0xe2bd8d},
+  {0x81399330, 0xe2bd8e},
+  {0x81399331, 0xe2bd8f},
+  {0x81399332, 0xe2bd90},
+  {0x81399333, 0xe2bd91},
+  {0x81399334, 0xe2bd92},
+  {0x81399335, 0xe2bd93},
+  {0x81399336, 0xe2bd94},
+  {0x81399337, 0xe2bd95},
+  {0x81399338, 0xe2bd96},
+  {0x81399339, 0xe2bd97},
+  {0x81399430, 0xe2bd98},
+  {0x81399431, 0xe2bd99},
+  {0x81399432, 0xe2bd9a},
+  {0x81399433, 0xe2bd9b},
+  {0x81399434, 0xe2bd9c},
+  {0x81399435, 0xe2bd9d},
+  {0x81399436, 0xe2bd9e},
+  {0x81399437, 0xe2bd9f},
+  {0x81399438, 0xe2bda0},
+  {0x81399439, 0xe2bda1},
+  {0x81399530, 0xe2bda2},
+  {0x81399531, 0xe2bda3},
+  {0x81399532, 0xe2bda4},
+  {0x81399533, 0xe2bda5},
+  {0x81399534, 0xe2bda6},
+  {0x81399535, 0xe2bda7},
+  {0x81399536, 0xe2bda8},
+  {0x81399537, 0xe2bda9},
+  {0x81399538, 0xe2bdaa},
+  {0x81399539, 0xe2bdab},
+  {0x81399630, 0xe2bdac},
+  {0x81399631, 0xe2bdad},
+  {0x81399632, 0xe2bdae},
+  {0x81399633, 0xe2bdaf},
+  {0x81399634, 0xe2bdb0},
+  {0x81399635, 0xe2bdb1},
+  {0x81399636, 0xe2bdb2},
+  {0x81399637, 0xe2bdb3},
+  {0x81399638, 0xe2bdb4},
+  {0x81399639, 0xe2bdb5},
+  {0x81399730, 0xe2bdb6},
+  {0x81399731, 0xe2bdb7},
+  {0x81399732, 0xe2bdb8},
+  {0x81399733, 0xe2bdb9},
+  {0x81399734, 0xe2bdba},
+  {0x81399735, 0xe2bdbb},
+  {0x81399736, 0xe2bdbc},
+  {0x81399737, 0xe2bdbd},
+  {0x81399738, 0xe2bdbe},
+  {0x81399739, 0xe2bdbf},
+  {0x81399830, 0xe2be80},
+  {0x81399831, 0xe2be81},
+  {0x81399832, 0xe2be82},
+  {0x81399833, 0xe2be83},
+  {0x81399834, 0xe2be84},
+  {0x81399835, 0xe2be85},
+  {0x81399836, 0xe2be86},
+  {0x81399837, 0xe2be87},
+  {0x81399838, 0xe2be88},
+  {0x81399839, 0xe2be89},
+  {0x81399930, 0xe2be8a},
+  {0x81399931, 0xe2be8b},
+  {0x81399932, 0xe2be8c},
+  {0x81399933, 0xe2be8d},
+  {0x81399934, 0xe2be8e},
+  {0x81399935, 0xe2be8f},
+  {0x81399936, 0xe2be90},
+  {0x81399937, 0xe2be91},
+  {0x81399938, 0xe2be92},
+  {0x81399939, 0xe2be93},
+  {0x81399a30, 0xe2be94},
+  {0x81399a31, 0xe2be95},
+  {0x81399a32, 0xe2be96},
+  {0x81399a33, 0xe2be97},
+  {0x81399a34, 0xe2be98},
+  {0x81399a35, 0xe2be99},
+  {0x81399a36, 0xe2be9a},
+  {0x81399a37, 0xe2be9b},
+  {0x81399a38, 0xe2be9c},
+  {0x81399a39, 0xe2be9d},
+  {0x81399b30, 0xe2be9e},
+  {0x81399b31, 0xe2be9f},
+  {0x81399b32, 0xe2bea0},
+  {0x81399b33, 0xe2bea1},
+  {0x81399b34, 0xe2bea2},
+  {0x81399b35, 0xe2bea3},
+  {0x81399b36, 0xe2bea4},
+  {0x81399b37, 0xe2bea5},
+  {0x81399b38, 0xe2bea6},
+  {0x81399b39, 0xe2bea7},
+  {0x81399c30, 0xe2bea8},
+  {0x81399c31, 0xe2bea9},
+  {0x81399c32, 0xe2beaa},
+  {0x81399c33, 0xe2beab},
+  {0x81399c34, 0xe2beac},
+  {0x81399c35, 0xe2bead},
+  {0x81399c36, 0xe2beae},
+  {0x81399c37, 0xe2beaf},
+  {0x81399c38, 0xe2beb0},
+  {0x81399c39, 0xe2beb1},
+  {0x81399d30, 0xe2beb2},
+  {0x81399d31, 0xe2beb3},
+  {0x81399d32, 0xe2beb4},
+  {0x81399d33, 0xe2beb5},
+  {0x81399d34, 0xe2beb6},
+  {0x81399d35, 0xe2beb7},
+  {0x81399d36, 0xe2beb8},
+  {0x81399d37, 0xe2beb9},
+  {0x81399d38, 0xe2beba},
+  {0x81399d39, 0xe2bebb},
+  {0x81399e30, 0xe2bebc},
+  {0x81399e31, 0xe2bebd},
+  {0x81399e32, 0xe2bebe},
+  {0x81399e33, 0xe2bebf},
+  {0x81399e34, 0xe2bf80},
+  {0x81399e35, 0xe2bf81},
+  {0x81399e36, 0xe2bf82},
+  {0x81399e37, 0xe2bf83},
+  {0x81399e38, 0xe2bf84},
+  {0x81399e39, 0xe2bf85},
+  {0x81399f30, 0xe2bf86},
+  {0x81399f31, 0xe2bf87},
+  {0x81399f32, 0xe2bf88},
+  {0x81399f33, 0xe2bf89},
+  {0x81399f34, 0xe2bf8a},
+  {0x81399f35, 0xe2bf8b},
+  {0x81399f36, 0xe2bf8c},
+  {0x81399f37, 0xe2bf8d},
+  {0x81399f38, 0xe2bf8e},
+  {0x81399f39, 0xe2bf8f},
+  {0x8139a030, 0xe2bf90},
+  {0x8139a031, 0xe2bf91},
+  {0x8139a032, 0xe2bf92},
+  {0x8139a033, 0xe2bf93},
+  {0x8139a034, 0xe2bf94},
+  {0x8139a035, 0xe2bf95},
+  {0x8139a036, 0xe2bf96},
+  {0x8139a037, 0xe2bf97},
+  {0x8139a038, 0xe2bf98},
+  {0x8139a039, 0xe2bf99},
+  {0x8139a130, 0xe2bf9a},
+  {0x8139a131, 0xe2bf9b},
+  {0x8139a132, 0xe2bf9c},
+  {0x8139a133, 0xe2bf9d},
+  {0x8139a134, 0xe2bf9e},
+  {0x8139a135, 0xe2bf9f},
+  {0x8139a136, 0xe2bfa0},
+  {0x8139a137, 0xe2bfa1},
+  {0x8139a138, 0xe2bfa2},
+  {0x8139a139, 0xe2bfa3},
+  {0x8139a230, 0xe2bfa4},
+  {0x8139a231, 0xe2bfa5},
+  {0x8139a232, 0xe2bfa6},
+  {0x8139a233, 0xe2bfa7},
+  {0x8139a234, 0xe2bfa8},
+  {0x8139a235, 0xe2bfa9},
+  {0x8139a236, 0xe2bfaa},
+  {0x8139a237, 0xe2bfab},
+  {0x8139a238, 0xe2bfac},
+  {0x8139a239, 0xe2bfad},
+  {0x8139a330, 0xe2bfae},
+  {0x8139a331, 0xe2bfaf},
+  {0x8139a332, 0xe2bfbc},
+  {0x8139a333, 0xe2bfbd},
+  {0x8139a334, 0xe2bfbe},
+  {0x8139a335, 0xe2bfbf},
+  {0x8139a336, 0xe38084},
+  {0x8139a337, 0xe38098},
+  {0x8139a338, 0xe38099},
+  {0x8139a339, 0xe3809a},
+  {0x8139a430, 0xe3809b},
+  {0x8139a431, 0xe3809c},
+  {0x8139a432, 0xe3809f},
+  {0x8139a433, 0xe380a0},
+  {0x8139a434, 0xe380aa},
+  {0x8139a435, 0xe380ab},
+  {0x8139a436, 0xe380ac},
+  {0x8139a437, 0xe380ad},
+  {0x8139a438, 0xe380ae},
+  {0x8139a439, 0xe380af},
+  {0x8139a530, 0xe380b0},
+  {0x8139a531, 0xe380b1},
+  {0x8139a532, 0xe380b2},
+  {0x8139a533, 0xe380b3},
+  {0x8139a534, 0xe380b4},
+  {0x8139a535, 0xe380b5},
+  {0x8139a536, 0xe380b6},
+  {0x8139a537, 0xe380b7},
+  {0x8139a538, 0xe380b8},
+  {0x8139a539, 0xe380b9},
+  {0x8139a630, 0xe380ba},
+  {0x8139a631, 0xe380bb},
+  {0x8139a632, 0xe380bc},
+  {0x8139a633, 0xe380bd},
+  {0x8139a634, 0xe380bf},
+  {0x8139a635, 0xe38180},
+  {0x8139a636, 0xe38294},
+  {0x8139a637, 0xe38295},
+  {0x8139a638, 0xe38296},
+  {0x8139a639, 0xe38297},
+  {0x8139a730, 0xe38298},
+  {0x8139a731, 0xe38299},
+  {0x8139a732, 0xe3829a},
+  {0x8139a733, 0xe3829f},
+  {0x8139a734, 0xe382a0},
+  {0x8139a735, 0xe383b7},
+  {0x8139a736, 0xe383b8},
+  {0x8139a737, 0xe383b9},
+  {0x8139a738, 0xe383ba},
+  {0x8139a739, 0xe383bb},
+  {0x8139a830, 0xe383bf},
+  {0x8139a831, 0xe38480},
+  {0x8139a832, 0xe38481},
+  {0x8139a833, 0xe38482},
+  {0x8139a834, 0xe38483},
+  {0x8139a835, 0xe38484},
+  {0x8139a836, 0xe384aa},
+  {0x8139a837, 0xe384ab},
+  {0x8139a838, 0xe384ac},
+  {0x8139a839, 0xe384ad},
+  {0x8139a930, 0xe384ae},
+  {0x8139a931, 0xe384af},
+  {0x8139a932, 0xe384b0},
+  {0x8139a933, 0xe384b1},
+  {0x8139a934, 0xe384b2},
+  {0x8139a935, 0xe384b3},
+  {0x8139a936, 0xe384b4},
+  {0x8139a937, 0xe384b5},
+  {0x8139a938, 0xe384b6},
+  {0x8139a939, 0xe384b7},
+  {0x8139aa30, 0xe384b8},
+  {0x8139aa31, 0xe384b9},
+  {0x8139aa32, 0xe384ba},
+  {0x8139aa33, 0xe384bb},
+  {0x8139aa34, 0xe384bc},
+  {0x8139aa35, 0xe384bd},
+  {0x8139aa36, 0xe384be},
+  {0x8139aa37, 0xe384bf},
+  {0x8139aa38, 0xe38580},
+  {0x8139aa39, 0xe38581},
+  {0x8139ab30, 0xe38582},
+  {0x8139ab31, 0xe38583},
+  {0x8139ab32, 0xe38584},
+  {0x8139ab33, 0xe38585},
+  {0x8139ab34, 0xe38586},
+  {0x8139ab35, 0xe38587},
+  {0x8139ab36, 0xe38588},
+  {0x8139ab37, 0xe38589},
+  {0x8139ab38, 0xe3858a},
+  {0x8139ab39, 0xe3858b},
+  {0x8139ac30, 0xe3858c},
+  {0x8139ac31, 0xe3858d},
+  {0x8139ac32, 0xe3858e},
+  {0x8139ac33, 0xe3858f},
+  {0x8139ac34, 0xe38590},
+  {0x8139ac35, 0xe38591},
+  {0x8139ac36, 0xe38592},
+  {0x8139ac37, 0xe38593},
+  {0x8139ac38, 0xe38594},
+  {0x8139ac39, 0xe38595},
+  {0x8139ad30, 0xe38596},
+  {0x8139ad31, 0xe38597},
+  {0x8139ad32, 0xe38598},
+  {0x8139ad33, 0xe38599},
+  {0x8139ad34, 0xe3859a},
+  {0x8139ad35, 0xe3859b},
+  {0x8139ad36, 0xe3859c},
+  {0x8139ad37, 0xe3859d},
+  {0x8139ad38, 0xe3859e},
+  {0x8139ad39, 0xe3859f},
+  {0x8139ae30, 0xe385a0},
+  {0x8139ae31, 0xe385a1},
+  {0x8139ae32, 0xe385a2},
+  {0x8139ae33, 0xe385a3},
+  {0x8139ae34, 0xe385a4},
+  {0x8139ae35, 0xe385a5},
+  {0x8139ae36, 0xe385a6},
+  {0x8139ae37, 0xe385a7},
+  {0x8139ae38, 0xe385a8},
+  {0x8139ae39, 0xe385a9},
+  {0x8139af30, 0xe385aa},
+  {0x8139af31, 0xe385ab},
+  {0x8139af32, 0xe385ac},
+  {0x8139af33, 0xe385ad},
+  {0x8139af34, 0xe385ae},
+  {0x8139af35, 0xe385af},
+  {0x8139af36, 0xe385b0},
+  {0x8139af37, 0xe385b1},
+  {0x8139af38, 0xe385b2},
+  {0x8139af39, 0xe385b3},
+  {0x8139b030, 0xe385b4},
+  {0x8139b031, 0xe385b5},
+  {0x8139b032, 0xe385b6},
+  {0x8139b033, 0xe385b7},
+  {0x8139b034, 0xe385b8},
+  {0x8139b035, 0xe385b9},
+  {0x8139b036, 0xe385ba},
+  {0x8139b037, 0xe385bb},
+  {0x8139b038, 0xe385bc},
+  {0x8139b039, 0xe385bd},
+  {0x8139b130, 0xe385be},
+  {0x8139b131, 0xe385bf},
+  {0x8139b132, 0xe38680},
+  {0x8139b133, 0xe38681},
+  {0x8139b134, 0xe38682},
+  {0x8139b135, 0xe38683},
+  {0x8139b136, 0xe38684},
+  {0x8139b137, 0xe38685},
+  {0x8139b138, 0xe38686},
+  {0x8139b139, 0xe38687},
+  {0x8139b230, 0xe38688},
+  {0x8139b231, 0xe38689},
+  {0x8139b232, 0xe3868a},
+  {0x8139b233, 0xe3868b},
+  {0x8139b234, 0xe3868c},
+  {0x8139b235, 0xe3868d},
+  {0x8139b236, 0xe3868e},
+  {0x8139b237, 0xe3868f},
+  {0x8139b238, 0xe38690},
+  {0x8139b239, 0xe38691},
+  {0x8139b330, 0xe38692},
+  {0x8139b331, 0xe38693},
+  {0x8139b332, 0xe38694},
+  {0x8139b333, 0xe38695},
+  {0x8139b334, 0xe38696},
+  {0x8139b335, 0xe38697},
+  {0x8139b336, 0xe38698},
+  {0x8139b337, 0xe38699},
+  {0x8139b338, 0xe3869a},
+  {0x8139b339, 0xe3869b},
+  {0x8139b430, 0xe3869c},
+  {0x8139b431, 0xe3869d},
+  {0x8139b432, 0xe3869e},
+  {0x8139b433, 0xe3869f},
+  {0x8139b434, 0xe386a0},
+  {0x8139b435, 0xe386a1},
+  {0x8139b436, 0xe386a2},
+  {0x8139b437, 0xe386a3},
+  {0x8139b438, 0xe386a4},
+  {0x8139b439, 0xe386a5},
+  {0x8139b530, 0xe386a6},
+  {0x8139b531, 0xe386a7},
+  {0x8139b532, 0xe386a8},
+  {0x8139b533, 0xe386a9},
+  {0x8139b534, 0xe386aa},
+  {0x8139b535, 0xe386ab},
+  {0x8139b536, 0xe386ac},
+  {0x8139b537, 0xe386ad},
+  {0x8139b538, 0xe386ae},
+  {0x8139b539, 0xe386af},
+  {0x8139b630, 0xe386b0},
+  {0x8139b631, 0xe386b1},
+  {0x8139b632, 0xe386b2},
+  {0x8139b633, 0xe386b3},
+  {0x8139b634, 0xe386b4},
+  {0x8139b635, 0xe386b5},
+  {0x8139b636, 0xe386b6},
+  {0x8139b637, 0xe386b7},
+  {0x8139b638, 0xe386b8},
+  {0x8139b639, 0xe386b9},
+  {0x8139b730, 0xe386ba},
+  {0x8139b731, 0xe386bb},
+  {0x8139b732, 0xe386bc},
+  {0x8139b733, 0xe386bd},
+  {0x8139b734, 0xe386be},
+  {0x8139b735, 0xe386bf},
+  {0x8139b736, 0xe38780},
+  {0x8139b737, 0xe38781},
+  {0x8139b738, 0xe38782},
+  {0x8139b739, 0xe38783},
+  {0x8139b830, 0xe38784},
+  {0x8139b831, 0xe38785},
+  {0x8139b832, 0xe38786},
+  {0x8139b833, 0xe38787},
+  {0x8139b834, 0xe38788},
+  {0x8139b835, 0xe38789},
+  {0x8139b836, 0xe3878a},
+  {0x8139b837, 0xe3878b},
+  {0x8139b838, 0xe3878c},
+  {0x8139b839, 0xe3878d},
+  {0x8139b930, 0xe3878e},
+  {0x8139b931, 0xe3878f},
+  {0x8139b932, 0xe38790},
+  {0x8139b933, 0xe38791},
+  {0x8139b934, 0xe38792},
+  {0x8139b935, 0xe38793},
+  {0x8139b936, 0xe38794},
+  {0x8139b937, 0xe38795},
+  {0x8139b938, 0xe38796},
+  {0x8139b939, 0xe38797},
+  {0x8139ba30, 0xe38798},
+  {0x8139ba31, 0xe38799},
+  {0x8139ba32, 0xe3879a},
+  {0x8139ba33, 0xe3879b},
+  {0x8139ba34, 0xe3879c},
+  {0x8139ba35, 0xe3879d},
+  {0x8139ba36, 0xe3879e},
+  {0x8139ba37, 0xe3879f},
+  {0x8139ba38, 0xe387a0},
+  {0x8139ba39, 0xe387a1},
+  {0x8139bb30, 0xe387a2},
+  {0x8139bb31, 0xe387a3},
+  {0x8139bb32, 0xe387a4},
+  {0x8139bb33, 0xe387a5},
+  {0x8139bb34, 0xe387a6},
+  {0x8139bb35, 0xe387a7},
+  {0x8139bb36, 0xe387a8},
+  {0x8139bb37, 0xe387a9},
+  {0x8139bb38, 0xe387aa},
+  {0x8139bb39, 0xe387ab},
+  {0x8139bc30, 0xe387ac},
+  {0x8139bc31, 0xe387ad},
+  {0x8139bc32, 0xe387ae},
+  {0x8139bc33, 0xe387af},
+  {0x8139bc34, 0xe387b0},
+  {0x8139bc35, 0xe387b1},
+  {0x8139bc36, 0xe387b2},
+  {0x8139bc37, 0xe387b3},
+  {0x8139bc38, 0xe387b4},
+  {0x8139bc39, 0xe387b5},
+  {0x8139bd30, 0xe387b6},
+  {0x8139bd31, 0xe387b7},
+  {0x8139bd32, 0xe387b8},
+  {0x8139bd33, 0xe387b9},
+  {0x8139bd34, 0xe387ba},
+  {0x8139bd35, 0xe387bb},
+  {0x8139bd36, 0xe387bc},
+  {0x8139bd37, 0xe387bd},
+  {0x8139bd38, 0xe387be},
+  {0x8139bd39, 0xe387bf},
+  {0x8139be30, 0xe38880},
+  {0x8139be31, 0xe38881},
+  {0x8139be32, 0xe38882},
+  {0x8139be33, 0xe38883},
+  {0x8139be34, 0xe38884},
+  {0x8139be35, 0xe38885},
+  {0x8139be36, 0xe38886},
+  {0x8139be37, 0xe38887},
+  {0x8139be38, 0xe38888},
+  {0x8139be39, 0xe38889},
+  {0x8139bf30, 0xe3888a},
+  {0x8139bf31, 0xe3888b},
+  {0x8139bf32, 0xe3888c},
+  {0x8139bf33, 0xe3888d},
+  {0x8139bf34, 0xe3888e},
+  {0x8139bf35, 0xe3888f},
+  {0x8139bf36, 0xe38890},
+  {0x8139bf37, 0xe38891},
+  {0x8139bf38, 0xe38892},
+  {0x8139bf39, 0xe38893},
+  {0x8139c030, 0xe38894},
+  {0x8139c031, 0xe38895},
+  {0x8139c032, 0xe38896},
+  {0x8139c033, 0xe38897},
+  {0x8139c034, 0xe38898},
+  {0x8139c035, 0xe38899},
+  {0x8139c036, 0xe3889a},
+  {0x8139c037, 0xe3889b},
+  {0x8139c038, 0xe3889c},
+  {0x8139c039, 0xe3889d},
+  {0x8139c130, 0xe3889e},
+  {0x8139c131, 0xe3889f},
+  {0x8139c132, 0xe388aa},
+  {0x8139c133, 0xe388ab},
+  {0x8139c134, 0xe388ac},
+  {0x8139c135, 0xe388ad},
+  {0x8139c136, 0xe388ae},
+  {0x8139c137, 0xe388af},
+  {0x8139c138, 0xe388b0},
+  {0x8139c139, 0xe388b2},
+  {0x8139c230, 0xe388b3},
+  {0x8139c231, 0xe388b4},
+  {0x8139c232, 0xe388b5},
+  {0x8139c233, 0xe388b6},
+  {0x8139c234, 0xe388b7},
+  {0x8139c235, 0xe388b8},
+  {0x8139c236, 0xe388b9},
+  {0x8139c237, 0xe388ba},
+  {0x8139c238, 0xe388bb},
+  {0x8139c239, 0xe388bc},
+  {0x8139c330, 0xe388bd},
+  {0x8139c331, 0xe388be},
+  {0x8139c332, 0xe388bf},
+  {0x8139c333, 0xe38980},
+  {0x8139c334, 0xe38981},
+  {0x8139c335, 0xe38982},
+  {0x8139c336, 0xe38983},
+  {0x8139c337, 0xe38984},
+  {0x8139c338, 0xe38985},
+  {0x8139c339, 0xe38986},
+  {0x8139c430, 0xe38987},
+  {0x8139c431, 0xe38988},
+  {0x8139c432, 0xe38989},
+  {0x8139c433, 0xe3898a},
+  {0x8139c434, 0xe3898b},
+  {0x8139c435, 0xe3898c},
+  {0x8139c436, 0xe3898d},
+  {0x8139c437, 0xe3898e},
+  {0x8139c438, 0xe3898f},
+  {0x8139c439, 0xe38990},
+  {0x8139c530, 0xe38991},
+  {0x8139c531, 0xe38992},
+  {0x8139c532, 0xe38993},
+  {0x8139c533, 0xe38994},
+  {0x8139c534, 0xe38995},
+  {0x8139c535, 0xe38996},
+  {0x8139c536, 0xe38997},
+  {0x8139c537, 0xe38998},
+  {0x8139c538, 0xe38999},
+  {0x8139c539, 0xe3899a},
+  {0x8139c630, 0xe3899b},
+  {0x8139c631, 0xe3899c},
+  {0x8139c632, 0xe3899d},
+  {0x8139c633, 0xe3899e},
+  {0x8139c634, 0xe3899f},
+  {0x8139c635, 0xe389a0},
+  {0x8139c636, 0xe389a1},
+  {0x8139c637, 0xe389a2},
+  {0x8139c638, 0xe389a3},
+  {0x8139c639, 0xe389a4},
+  {0x8139c730, 0xe389a5},
+  {0x8139c731, 0xe389a6},
+  {0x8139c732, 0xe389a7},
+  {0x8139c733, 0xe389a8},
+  {0x8139c734, 0xe389a9},
+  {0x8139c735, 0xe389aa},
+  {0x8139c736, 0xe389ab},
+  {0x8139c737, 0xe389ac},
+  {0x8139c738, 0xe389ad},
+  {0x8139c739, 0xe389ae},
+  {0x8139c830, 0xe389af},
+  {0x8139c831, 0xe389b0},
+  {0x8139c832, 0xe389b1},
+  {0x8139c833, 0xe389b2},
+  {0x8139c834, 0xe389b3},
+  {0x8139c835, 0xe389b4},
+  {0x8139c836, 0xe389b5},
+  {0x8139c837, 0xe389b6},
+  {0x8139c838, 0xe389b7},
+  {0x8139c839, 0xe389b8},
+  {0x8139c930, 0xe389b9},
+  {0x8139c931, 0xe389ba},
+  {0x8139c932, 0xe389bb},
+  {0x8139c933, 0xe389bc},
+  {0x8139c934, 0xe389bd},
+  {0x8139c935, 0xe389be},
+  {0x8139c936, 0xe389bf},
+  {0x8139c937, 0xe38a80},
+  {0x8139c938, 0xe38a81},
+  {0x8139c939, 0xe38a82},
+  {0x8139ca30, 0xe38a83},
+  {0x8139ca31, 0xe38a84},
+  {0x8139ca32, 0xe38a85},
+  {0x8139ca33, 0xe38a86},
+  {0x8139ca34, 0xe38a87},
+  {0x8139ca35, 0xe38a88},
+  {0x8139ca36, 0xe38a89},
+  {0x8139ca37, 0xe38a8a},
+  {0x8139ca38, 0xe38a8b},
+  {0x8139ca39, 0xe38a8c},
+  {0x8139cb30, 0xe38a8d},
+  {0x8139cb31, 0xe38a8e},
+  {0x8139cb32, 0xe38a8f},
+  {0x8139cb33, 0xe38a90},
+  {0x8139cb34, 0xe38a91},
+  {0x8139cb35, 0xe38a92},
+  {0x8139cb36, 0xe38a93},
+  {0x8139cb37, 0xe38a94},
+  {0x8139cb38, 0xe38a95},
+  {0x8139cb39, 0xe38a96},
+  {0x8139cc30, 0xe38a97},
+  {0x8139cc31, 0xe38a98},
+  {0x8139cc32, 0xe38a99},
+  {0x8139cc33, 0xe38a9a},
+  {0x8139cc34, 0xe38a9b},
+  {0x8139cc35, 0xe38a9c},
+  {0x8139cc36, 0xe38a9d},
+  {0x8139cc37, 0xe38a9e},
+  {0x8139cc38, 0xe38a9f},
+  {0x8139cc39, 0xe38aa0},
+  {0x8139cd30, 0xe38aa1},
+  {0x8139cd31, 0xe38aa2},
+  {0x8139cd32, 0xe38aa4},
+  {0x8139cd33, 0xe38aa5},
+  {0x8139cd34, 0xe38aa6},
+  {0x8139cd35, 0xe38aa7},
+  {0x8139cd36, 0xe38aa8},
+  {0x8139cd37, 0xe38aa9},
+  {0x8139cd38, 0xe38aaa},
+  {0x8139cd39, 0xe38aab},
+  {0x8139ce30, 0xe38aac},
+  {0x8139ce31, 0xe38aad},
+  {0x8139ce32, 0xe38aae},
+  {0x8139ce33, 0xe38aaf},
+  {0x8139ce34, 0xe38ab0},
+  {0x8139ce35, 0xe38ab1},
+  {0x8139ce36, 0xe38ab2},
+  {0x8139ce37, 0xe38ab3},
+  {0x8139ce38, 0xe38ab4},
+  {0x8139ce39, 0xe38ab5},
+  {0x8139cf30, 0xe38ab6},
+  {0x8139cf31, 0xe38ab7},
+  {0x8139cf32, 0xe38ab8},
+  {0x8139cf33, 0xe38ab9},
+  {0x8139cf34, 0xe38aba},
+  {0x8139cf35, 0xe38abb},
+  {0x8139cf36, 0xe38abc},
+  {0x8139cf37, 0xe38abd},
+  {0x8139cf38, 0xe38abe},
+  {0x8139cf39, 0xe38abf},
+  {0x8139d030, 0xe38b80},
+  {0x8139d031, 0xe38b81},
+  {0x8139d032, 0xe38b82},
+  {0x8139d033, 0xe38b83},
+  {0x8139d034, 0xe38b84},
+  {0x8139d035, 0xe38b85},
+  {0x8139d036, 0xe38b86},
+  {0x8139d037, 0xe38b87},
+  {0x8139d038, 0xe38b88},
+  {0x8139d039, 0xe38b89},
+  {0x8139d130, 0xe38b8a},
+  {0x8139d131, 0xe38b8b},
+  {0x8139d132, 0xe38b8c},
+  {0x8139d133, 0xe38b8d},
+  {0x8139d134, 0xe38b8e},
+  {0x8139d135, 0xe38b8f},
+  {0x8139d136, 0xe38b90},
+  {0x8139d137, 0xe38b91},
+  {0x8139d138, 0xe38b92},
+  {0x8139d139, 0xe38b93},
+  {0x8139d230, 0xe38b94},
+  {0x8139d231, 0xe38b95},
+  {0x8139d232, 0xe38b96},
+  {0x8139d233, 0xe38b97},
+  {0x8139d234, 0xe38b98},
+  {0x8139d235, 0xe38b99},
+  {0x8139d236, 0xe38b9a},
+  {0x8139d237, 0xe38b9b},
+  {0x8139d238, 0xe38b9c},
+  {0x8139d239, 0xe38b9d},
+  {0x8139d330, 0xe38b9e},
+  {0x8139d331, 0xe38b9f},
+  {0x8139d332, 0xe38ba0},
+  {0x8139d333, 0xe38ba1},
+  {0x8139d334, 0xe38ba2},
+  {0x8139d335, 0xe38ba3},
+  {0x8139d336, 0xe38ba4},
+  {0x8139d337, 0xe38ba5},
+  {0x8139d338, 0xe38ba6},
+  {0x8139d339, 0xe38ba7},
+  {0x8139d430, 0xe38ba8},
+  {0x8139d431, 0xe38ba9},
+  {0x8139d432, 0xe38baa},
+  {0x8139d433, 0xe38bab},
+  {0x8139d434, 0xe38bac},
+  {0x8139d435, 0xe38bad},
+  {0x8139d436, 0xe38bae},
+  {0x8139d437, 0xe38baf},
+  {0x8139d438, 0xe38bb0},
+  {0x8139d439, 0xe38bb1},
+  {0x8139d530, 0xe38bb2},
+  {0x8139d531, 0xe38bb3},
+  {0x8139d532, 0xe38bb4},
+  {0x8139d533, 0xe38bb5},
+  {0x8139d534, 0xe38bb6},
+  {0x8139d535, 0xe38bb7},
+  {0x8139d536, 0xe38bb8},
+  {0x8139d537, 0xe38bb9},
+  {0x8139d538, 0xe38bba},
+  {0x8139d539, 0xe38bbb},
+  {0x8139d630, 0xe38bbc},
+  {0x8139d631, 0xe38bbd},
+  {0x8139d632, 0xe38bbe},
+  {0x8139d633, 0xe38bbf},
+  {0x8139d634, 0xe38c80},
+  {0x8139d635, 0xe38c81},
+  {0x8139d636, 0xe38c82},
+  {0x8139d637, 0xe38c83},
+  {0x8139d638, 0xe38c84},
+  {0x8139d639, 0xe38c85},
+  {0x8139d730, 0xe38c86},
+  {0x8139d731, 0xe38c87},
+  {0x8139d732, 0xe38c88},
+  {0x8139d733, 0xe38c89},
+  {0x8139d734, 0xe38c8a},
+  {0x8139d735, 0xe38c8b},
+  {0x8139d736, 0xe38c8c},
+  {0x8139d737, 0xe38c8d},
+  {0x8139d738, 0xe38c8e},
+  {0x8139d739, 0xe38c8f},
+  {0x8139d830, 0xe38c90},
+  {0x8139d831, 0xe38c91},
+  {0x8139d832, 0xe38c92},
+  {0x8139d833, 0xe38c93},
+  {0x8139d834, 0xe38c94},
+  {0x8139d835, 0xe38c95},
+  {0x8139d836, 0xe38c96},
+  {0x8139d837, 0xe38c97},
+  {0x8139d838, 0xe38c98},
+  {0x8139d839, 0xe38c99},
+  {0x8139d930, 0xe38c9a},
+  {0x8139d931, 0xe38c9b},
+  {0x8139d932, 0xe38c9c},
+  {0x8139d933, 0xe38c9d},
+  {0x8139d934, 0xe38c9e},
+  {0x8139d935, 0xe38c9f},
+  {0x8139d936, 0xe38ca0},
+  {0x8139d937, 0xe38ca1},
+  {0x8139d938, 0xe38ca2},
+  {0x8139d939, 0xe38ca3},
+  {0x8139da30, 0xe38ca4},
+  {0x8139da31, 0xe38ca5},
+  {0x8139da32, 0xe38ca6},
+  {0x8139da33, 0xe38ca7},
+  {0x8139da34, 0xe38ca8},
+  {0x8139da35, 0xe38ca9},
+  {0x8139da36, 0xe38caa},
+  {0x8139da37, 0xe38cab},
+  {0x8139da38, 0xe38cac},
+  {0x8139da39, 0xe38cad},
+  {0x8139db30, 0xe38cae},
+  {0x8139db31, 0xe38caf},
+  {0x8139db32, 0xe38cb0},
+  {0x8139db33, 0xe38cb1},
+  {0x8139db34, 0xe38cb2},
+  {0x8139db35, 0xe38cb3},
+  {0x8139db36, 0xe38cb4},
+  {0x8139db37, 0xe38cb5},
+  {0x8139db38, 0xe38cb6},
+  {0x8139db39, 0xe38cb7},
+  {0x8139dc30, 0xe38cb8},
+  {0x8139dc31, 0xe38cb9},
+  {0x8139dc32, 0xe38cba},
+  {0x8139dc33, 0xe38cbb},
+  {0x8139dc34, 0xe38cbc},
+  {0x8139dc35, 0xe38cbd},
+  {0x8139dc36, 0xe38cbe},
+  {0x8139dc37, 0xe38cbf},
+  {0x8139dc38, 0xe38d80},
+  {0x8139dc39, 0xe38d81},
+  {0x8139dd30, 0xe38d82},
+  {0x8139dd31, 0xe38d83},
+  {0x8139dd32, 0xe38d84},
+  {0x8139dd33, 0xe38d85},
+  {0x8139dd34, 0xe38d86},
+  {0x8139dd35, 0xe38d87},
+  {0x8139dd36, 0xe38d88},
+  {0x8139dd37, 0xe38d89},
+  {0x8139dd38, 0xe38d8a},
+  {0x8139dd39, 0xe38d8b},
+  {0x8139de30, 0xe38d8c},
+  {0x8139de31, 0xe38d8d},
+  {0x8139de32, 0xe38d8e},
+  {0x8139de33, 0xe38d8f},
+  {0x8139de34, 0xe38d90},
+  {0x8139de35, 0xe38d91},
+  {0x8139de36, 0xe38d92},
+  {0x8139de37, 0xe38d93},
+  {0x8139de38, 0xe38d94},
+  {0x8139de39, 0xe38d95},
+  {0x8139df30, 0xe38d96},
+  {0x8139df31, 0xe38d97},
+  {0x8139df32, 0xe38d98},
+  {0x8139df33, 0xe38d99},
+  {0x8139df34, 0xe38d9a},
+  {0x8139df35, 0xe38d9b},
+  {0x8139df36, 0xe38d9c},
+  {0x8139df37, 0xe38d9d},
+  {0x8139df38, 0xe38d9e},
+  {0x8139df39, 0xe38d9f},
+  {0x8139e030, 0xe38da0},
+  {0x8139e031, 0xe38da1},
+  {0x8139e032, 0xe38da2},
+  {0x8139e033, 0xe38da3},
+  {0x8139e034, 0xe38da4},
+  {0x8139e035, 0xe38da5},
+  {0x8139e036, 0xe38da6},
+  {0x8139e037, 0xe38da7},
+  {0x8139e038, 0xe38da8},
+  {0x8139e039, 0xe38da9},
+  {0x8139e130, 0xe38daa},
+  {0x8139e131, 0xe38dab},
+  {0x8139e132, 0xe38dac},
+  {0x8139e133, 0xe38dad},
+  {0x8139e134, 0xe38dae},
+  {0x8139e135, 0xe38daf},
+  {0x8139e136, 0xe38db0},
+  {0x8139e137, 0xe38db1},
+  {0x8139e138, 0xe38db2},
+  {0x8139e139, 0xe38db3},
+  {0x8139e230, 0xe38db4},
+  {0x8139e231, 0xe38db5},
+  {0x8139e232, 0xe38db6},
+  {0x8139e233, 0xe38db7},
+  {0x8139e234, 0xe38db8},
+  {0x8139e235, 0xe38db9},
+  {0x8139e236, 0xe38dba},
+  {0x8139e237, 0xe38dbb},
+  {0x8139e238, 0xe38dbc},
+  {0x8139e239, 0xe38dbd},
+  {0x8139e330, 0xe38dbe},
+  {0x8139e331, 0xe38dbf},
+  {0x8139e332, 0xe38e80},
+  {0x8139e333, 0xe38e81},
+  {0x8139e334, 0xe38e82},
+  {0x8139e335, 0xe38e83},
+  {0x8139e336, 0xe38e84},
+  {0x8139e337, 0xe38e85},
+  {0x8139e338, 0xe38e86},
+  {0x8139e339, 0xe38e87},
+  {0x8139e430, 0xe38e88},
+  {0x8139e431, 0xe38e89},
+  {0x8139e432, 0xe38e8a},
+  {0x8139e433, 0xe38e8b},
+  {0x8139e434, 0xe38e8c},
+  {0x8139e435, 0xe38e8d},
+  {0x8139e436, 0xe38e90},
+  {0x8139e437, 0xe38e91},
+  {0x8139e438, 0xe38e92},
+  {0x8139e439, 0xe38e93},
+  {0x8139e530, 0xe38e94},
+  {0x8139e531, 0xe38e95},
+  {0x8139e532, 0xe38e96},
+  {0x8139e533, 0xe38e97},
+  {0x8139e534, 0xe38e98},
+  {0x8139e535, 0xe38e99},
+  {0x8139e536, 0xe38e9a},
+  {0x8139e537, 0xe38e9b},
+  {0x8139e538, 0xe38e9f},
+  {0x8139e539, 0xe38ea0},
+  {0x8139e630, 0xe38ea2},
+  {0x8139e631, 0xe38ea3},
+  {0x8139e632, 0xe38ea4},
+  {0x8139e633, 0xe38ea5},
+  {0x8139e634, 0xe38ea6},
+  {0x8139e635, 0xe38ea7},
+  {0x8139e636, 0xe38ea8},
+  {0x8139e637, 0xe38ea9},
+  {0x8139e638, 0xe38eaa},
+  {0x8139e639, 0xe38eab},
+  {0x8139e730, 0xe38eac},
+  {0x8139e731, 0xe38ead},
+  {0x8139e732, 0xe38eae},
+  {0x8139e733, 0xe38eaf},
+  {0x8139e734, 0xe38eb0},
+  {0x8139e735, 0xe38eb1},
+  {0x8139e736, 0xe38eb2},
+  {0x8139e737, 0xe38eb3},
+  {0x8139e738, 0xe38eb4},
+  {0x8139e739, 0xe38eb5},
+  {0x8139e830, 0xe38eb6},
+  {0x8139e831, 0xe38eb7},
+  {0x8139e832, 0xe38eb8},
+  {0x8139e833, 0xe38eb9},
+  {0x8139e834, 0xe38eba},
+  {0x8139e835, 0xe38ebb},
+  {0x8139e836, 0xe38ebc},
+  {0x8139e837, 0xe38ebd},
+  {0x8139e838, 0xe38ebe},
+  {0x8139e839, 0xe38ebf},
+  {0x8139e930, 0xe38f80},
+  {0x8139e931, 0xe38f81},
+  {0x8139e932, 0xe38f82},
+  {0x8139e933, 0xe38f83},
+  {0x8139e934, 0xe38f85},
+  {0x8139e935, 0xe38f86},
+  {0x8139e936, 0xe38f87},
+  {0x8139e937, 0xe38f88},
+  {0x8139e938, 0xe38f89},
+  {0x8139e939, 0xe38f8a},
+  {0x8139ea30, 0xe38f8b},
+  {0x8139ea31, 0xe38f8c},
+  {0x8139ea32, 0xe38f8d},
+  {0x8139ea33, 0xe38f8f},
+  {0x8139ea34, 0xe38f90},
+  {0x8139ea35, 0xe38f93},
+  {0x8139ea36, 0xe38f94},
+  {0x8139ea37, 0xe38f96},
+  {0x8139ea38, 0xe38f97},
+  {0x8139ea39, 0xe38f98},
+  {0x8139eb30, 0xe38f99},
+  {0x8139eb31, 0xe38f9a},
+  {0x8139eb32, 0xe38f9b},
+  {0x8139eb33, 0xe38f9c},
+  {0x8139eb34, 0xe38f9d},
+  {0x8139eb35, 0xe38f9e},
+  {0x8139eb36, 0xe38f9f},
+  {0x8139eb37, 0xe38fa0},
+  {0x8139eb38, 0xe38fa1},
+  {0x8139eb39, 0xe38fa2},
+  {0x8139ec30, 0xe38fa3},
+  {0x8139ec31, 0xe38fa4},
+  {0x8139ec32, 0xe38fa5},
+  {0x8139ec33, 0xe38fa6},
+  {0x8139ec34, 0xe38fa7},
+  {0x8139ec35, 0xe38fa8},
+  {0x8139ec36, 0xe38fa9},
+  {0x8139ec37, 0xe38faa},
+  {0x8139ec38, 0xe38fab},
+  {0x8139ec39, 0xe38fac},
+  {0x8139ed30, 0xe38fad},
+  {0x8139ed31, 0xe38fae},
+  {0x8139ed32, 0xe38faf},
+  {0x8139ed33, 0xe38fb0},
+  {0x8139ed34, 0xe38fb1},
+  {0x8139ed35, 0xe38fb2},
+  {0x8139ed36, 0xe38fb3},
+  {0x8139ed37, 0xe38fb4},
+  {0x8139ed38, 0xe38fb5},
+  {0x8139ed39, 0xe38fb6},
+  {0x8139ee30, 0xe38fb7},
+  {0x8139ee31, 0xe38fb8},
+  {0x8139ee32, 0xe38fb9},
+  {0x8139ee33, 0xe38fba},
+  {0x8139ee34, 0xe38fbb},
+  {0x8139ee35, 0xe38fbc},
+  {0x8139ee36, 0xe38fbd},
+  {0x8139ee37, 0xe38fbe},
+  {0x8139ee38, 0xe38fbf},
+  {0x8139ee39, 0xe39080},
+  {0x8139ef30, 0xe39081},
+  {0x8139ef31, 0xe39082},
+  {0x8139ef32, 0xe39083},
+  {0x8139ef33, 0xe39084},
+  {0x8139ef34, 0xe39085},
+  {0x8139ef35, 0xe39086},
+  {0x8139ef36, 0xe39087},
+  {0x8139ef37, 0xe39088},
+  {0x8139ef38, 0xe39089},
+  {0x8139ef39, 0xe3908a},
+  {0x8139f030, 0xe3908b},
+  {0x8139f031, 0xe3908c},
+  {0x8139f032, 0xe3908d},
+  {0x8139f033, 0xe3908e},
+  {0x8139f034, 0xe3908f},
+  {0x8139f035, 0xe39090},
+  {0x8139f036, 0xe39091},
+  {0x8139f037, 0xe39092},
+  {0x8139f038, 0xe39093},
+  {0x8139f039, 0xe39094},
+  {0x8139f130, 0xe39095},
+  {0x8139f131, 0xe39096},
+  {0x8139f132, 0xe39097},
+  {0x8139f133, 0xe39098},
+  {0x8139f134, 0xe39099},
+  {0x8139f135, 0xe3909a},
+  {0x8139f136, 0xe3909b},
+  {0x8139f137, 0xe3909c},
+  {0x8139f138, 0xe3909d},
+  {0x8139f139, 0xe3909e},
+  {0x8139f230, 0xe3909f},
+  {0x8139f231, 0xe390a0},
+  {0x8139f232, 0xe390a1},
+  {0x8139f233, 0xe390a2},
+  {0x8139f234, 0xe390a3},
+  {0x8139f235, 0xe390a4},
+  {0x8139f236, 0xe390a5},
+  {0x8139f237, 0xe390a6},
+  {0x8139f238, 0xe390a7},
+  {0x8139f239, 0xe390a8},
+  {0x8139f330, 0xe390a9},
+  {0x8139f331, 0xe390aa},
+  {0x8139f332, 0xe390ab},
+  {0x8139f333, 0xe390ac},
+  {0x8139f334, 0xe390ad},
+  {0x8139f335, 0xe390ae},
+  {0x8139f336, 0xe390af},
+  {0x8139f337, 0xe390b0},
+  {0x8139f338, 0xe390b1},
+  {0x8139f339, 0xe390b2},
+  {0x8139f430, 0xe390b3},
+  {0x8139f431, 0xe390b4},
+  {0x8139f432, 0xe390b5},
+  {0x8139f433, 0xe390b6},
+  {0x8139f434, 0xe390b7},
+  {0x8139f435, 0xe390b8},
+  {0x8139f436, 0xe390b9},
+  {0x8139f437, 0xe390ba},
+  {0x8139f438, 0xe390bb},
+  {0x8139f439, 0xe390bc},
+  {0x8139f530, 0xe390bd},
+  {0x8139f531, 0xe390be},
+  {0x8139f532, 0xe390bf},
+  {0x8139f533, 0xe39180},
+  {0x8139f534, 0xe39181},
+  {0x8139f535, 0xe39182},
+  {0x8139f536, 0xe39183},
+  {0x8139f537, 0xe39184},
+  {0x8139f538, 0xe39185},
+  {0x8139f539, 0xe39186},
+  {0x8139f630, 0xe39188},
+  {0x8139f631, 0xe39189},
+  {0x8139f632, 0xe3918a},
+  {0x8139f633, 0xe3918b},
+  {0x8139f634, 0xe3918c},
+  {0x8139f635, 0xe3918d},
+  {0x8139f636, 0xe3918e},
+  {0x8139f637, 0xe3918f},
+  {0x8139f638, 0xe39190},
+  {0x8139f639, 0xe39191},
+  {0x8139f730, 0xe39192},
+  {0x8139f731, 0xe39193},
+  {0x8139f732, 0xe39194},
+  {0x8139f733, 0xe39195},
+  {0x8139f734, 0xe39196},
+  {0x8139f735, 0xe39197},
+  {0x8139f736, 0xe39198},
+  {0x8139f737, 0xe39199},
+  {0x8139f738, 0xe3919a},
+  {0x8139f739, 0xe3919b},
+  {0x8139f830, 0xe3919c},
+  {0x8139f831, 0xe3919d},
+  {0x8139f832, 0xe3919e},
+  {0x8139f833, 0xe3919f},
+  {0x8139f834, 0xe391a0},
+  {0x8139f835, 0xe391a1},
+  {0x8139f836, 0xe391a2},
+  {0x8139f837, 0xe391a3},
+  {0x8139f838, 0xe391a4},
+  {0x8139f839, 0xe391a5},
+  {0x8139f930, 0xe391a6},
+  {0x8139f931, 0xe391a7},
+  {0x8139f932, 0xe391a8},
+  {0x8139f933, 0xe391a9},
+  {0x8139f934, 0xe391aa},
+  {0x8139f935, 0xe391ab},
+  {0x8139f936, 0xe391ac},
+  {0x8139f937, 0xe391ad},
+  {0x8139f938, 0xe391ae},
+  {0x8139f939, 0xe391af},
+  {0x8139fa30, 0xe391b0},
+  {0x8139fa31, 0xe391b1},
+  {0x8139fa32, 0xe391b2},
+  {0x8139fa33, 0xe391b4},
+  {0x8139fa34, 0xe391b5},
+  {0x8139fa35, 0xe391b6},
+  {0x8139fa36, 0xe391b7},
+  {0x8139fa37, 0xe391b8},
+  {0x8139fa38, 0xe391b9},
+  {0x8139fa39, 0xe391ba},
+  {0x8139fb30, 0xe391bb},
+  {0x8139fb31, 0xe391bc},
+  {0x8139fb32, 0xe391bd},
+  {0x8139fb33, 0xe391be},
+  {0x8139fb34, 0xe391bf},
+  {0x8139fb35, 0xe39280},
+  {0x8139fb36, 0xe39281},
+  {0x8139fb37, 0xe39282},
+  {0x8139fb38, 0xe39283},
+  {0x8139fb39, 0xe39284},
+  {0x8139fc30, 0xe39285},
+  {0x8139fc31, 0xe39286},
+  {0x8139fc32, 0xe39287},
+  {0x8139fc33, 0xe39288},
+  {0x8139fc34, 0xe39289},
+  {0x8139fc35, 0xe3928a},
+  {0x8139fc36, 0xe3928b},
+  {0x8139fc37, 0xe3928c},
+  {0x8139fc38, 0xe3928d},
+  {0x8139fc39, 0xe3928e},
+  {0x8139fd30, 0xe3928f},
+  {0x8139fd31, 0xe39290},
+  {0x8139fd32, 0xe39291},
+  {0x8139fd33, 0xe39292},
+  {0x8139fd34, 0xe39293},
+  {0x8139fd35, 0xe39294},
+  {0x8139fd36, 0xe39295},
+  {0x8139fd37, 0xe39296},
+  {0x8139fd38, 0xe39297},
+  {0x8139fd39, 0xe39298},
+  {0x8139fe30, 0xe39299},
+  {0x8139fe31, 0xe3929a},
+  {0x8139fe32, 0xe3929b},
+  {0x8139fe33, 0xe3929c},
+  {0x8139fe34, 0xe3929d},
+  {0x8139fe35, 0xe3929e},
+  {0x8139fe36, 0xe3929f},
+  {0x8139fe37, 0xe392a0},
+  {0x8139fe38, 0xe392a1},
+  {0x8139fe39, 0xe392a2},
+  {0x82308130, 0xe392a3},
+  {0x82308131, 0xe392a4},
+  {0x82308132, 0xe392a5},
+  {0x82308133, 0xe392a6},
+  {0x82308134, 0xe392a7},
+  {0x82308135, 0xe392a8},
+  {0x82308136, 0xe392a9},
+  {0x82308137, 0xe392aa},
+  {0x82308138, 0xe392ab},
+  {0x82308139, 0xe392ac},
+  {0x82308230, 0xe392ad},
+  {0x82308231, 0xe392ae},
+  {0x82308232, 0xe392af},
+  {0x82308233, 0xe392b0},
+  {0x82308234, 0xe392b1},
+  {0x82308235, 0xe392b2},
+  {0x82308236, 0xe392b3},
+  {0x82308237, 0xe392b4},
+  {0x82308238, 0xe392b5},
+  {0x82308239, 0xe392b6},
+  {0x82308330, 0xe392b7},
+  {0x82308331, 0xe392b8},
+  {0x82308332, 0xe392b9},
+  {0x82308333, 0xe392ba},
+  {0x82308334, 0xe392bb},
+  {0x82308335, 0xe392bc},
+  {0x82308336, 0xe392bd},
+  {0x82308337, 0xe392be},
+  {0x82308338, 0xe392bf},
+  {0x82308339, 0xe39380},
+  {0x82308430, 0xe39381},
+  {0x82308431, 0xe39382},
+  {0x82308432, 0xe39383},
+  {0x82308433, 0xe39384},
+  {0x82308434, 0xe39385},
+  {0x82308435, 0xe39386},
+  {0x82308436, 0xe39387},
+  {0x82308437, 0xe39388},
+  {0x82308438, 0xe39389},
+  {0x82308439, 0xe3938a},
+  {0x82308530, 0xe3938b},
+  {0x82308531, 0xe3938c},
+  {0x82308532, 0xe3938d},
+  {0x82308533, 0xe3938e},
+  {0x82308534, 0xe3938f},
+  {0x82308535, 0xe39390},
+  {0x82308536, 0xe39391},
+  {0x82308537, 0xe39392},
+  {0x82308538, 0xe39393},
+  {0x82308539, 0xe39394},
+  {0x82308630, 0xe39395},
+  {0x82308631, 0xe39396},
+  {0x82308632, 0xe39397},
+  {0x82308633, 0xe39398},
+  {0x82308634, 0xe39399},
+  {0x82308635, 0xe3939a},
+  {0x82308636, 0xe3939b},
+  {0x82308637, 0xe3939c},
+  {0x82308638, 0xe3939d},
+  {0x82308639, 0xe3939e},
+  {0x82308730, 0xe3939f},
+  {0x82308731, 0xe393a0},
+  {0x82308732, 0xe393a1},
+  {0x82308733, 0xe393a2},
+  {0x82308734, 0xe393a3},
+  {0x82308735, 0xe393a4},
+  {0x82308736, 0xe393a5},
+  {0x82308737, 0xe393a6},
+  {0x82308738, 0xe393a7},
+  {0x82308739, 0xe393a8},
+  {0x82308830, 0xe393a9},
+  {0x82308831, 0xe393aa},
+  {0x82308832, 0xe393ab},
+  {0x82308833, 0xe393ac},
+  {0x82308834, 0xe393ad},
+  {0x82308835, 0xe393ae},
+  {0x82308836, 0xe393af},
+  {0x82308837, 0xe393b0},
+  {0x82308838, 0xe393b1},
+  {0x82308839, 0xe393b2},
+  {0x82308930, 0xe393b3},
+  {0x82308931, 0xe393b4},
+  {0x82308932, 0xe393b5},
+  {0x82308933, 0xe393b6},
+  {0x82308934, 0xe393b7},
+  {0x82308935, 0xe393b8},
+  {0x82308936, 0xe393b9},
+  {0x82308937, 0xe393ba},
+  {0x82308938, 0xe393bb},
+  {0x82308939, 0xe393bc},
+  {0x82308a30, 0xe393bd},
+  {0x82308a31, 0xe393be},
+  {0x82308a32, 0xe393bf},
+  {0x82308a33, 0xe39480},
+  {0x82308a34, 0xe39481},
+  {0x82308a35, 0xe39482},
+  {0x82308a36, 0xe39483},
+  {0x82308a37, 0xe39484},
+  {0x82308a38, 0xe39485},
+  {0x82308a39, 0xe39486},
+  {0x82308b30, 0xe39487},
+  {0x82308b31, 0xe39488},
+  {0x82308b32, 0xe39489},
+  {0x82308b33, 0xe3948a},
+  {0x82308b34, 0xe3948b},
+  {0x82308b35, 0xe3948c},
+  {0x82308b36, 0xe3948d},
+  {0x82308b37, 0xe3948e},
+  {0x82308b38, 0xe3948f},
+  {0x82308b39, 0xe39490},
+  {0x82308c30, 0xe39491},
+  {0x82308c31, 0xe39492},
+  {0x82308c32, 0xe39493},
+  {0x82308c33, 0xe39494},
+  {0x82308c34, 0xe39495},
+  {0x82308c35, 0xe39496},
+  {0x82308c36, 0xe39497},
+  {0x82308c37, 0xe39498},
+  {0x82308c38, 0xe39499},
+  {0x82308c39, 0xe3949a},
+  {0x82308d30, 0xe3949b},
+  {0x82308d31, 0xe3949c},
+  {0x82308d32, 0xe3949d},
+  {0x82308d33, 0xe3949e},
+  {0x82308d34, 0xe3949f},
+  {0x82308d35, 0xe394a0},
+  {0x82308d36, 0xe394a1},
+  {0x82308d37, 0xe394a2},
+  {0x82308d38, 0xe394a3},
+  {0x82308d39, 0xe394a4},
+  {0x82308e30, 0xe394a5},
+  {0x82308e31, 0xe394a6},
+  {0x82308e32, 0xe394a7},
+  {0x82308e33, 0xe394a8},
+  {0x82308e34, 0xe394a9},
+  {0x82308e35, 0xe394aa},
+  {0x82308e36, 0xe394ab},
+  {0x82308e37, 0xe394ac},
+  {0x82308e38, 0xe394ad},
+  {0x82308e39, 0xe394ae},
+  {0x82308f30, 0xe394af},
+  {0x82308f31, 0xe394b0},
+  {0x82308f32, 0xe394b1},
+  {0x82308f33, 0xe394b2},
+  {0x82308f34, 0xe394b3},
+  {0x82308f35, 0xe394b4},
+  {0x82308f36, 0xe394b5},
+  {0x82308f37, 0xe394b6},
+  {0x82308f38, 0xe394b7},
+  {0x82308f39, 0xe394b8},
+  {0x82309030, 0xe394b9},
+  {0x82309031, 0xe394ba},
+  {0x82309032, 0xe394bb},
+  {0x82309033, 0xe394bc},
+  {0x82309034, 0xe394bd},
+  {0x82309035, 0xe394be},
+  {0x82309036, 0xe394bf},
+  {0x82309037, 0xe39580},
+  {0x82309038, 0xe39581},
+  {0x82309039, 0xe39582},
+  {0x82309130, 0xe39583},
+  {0x82309131, 0xe39584},
+  {0x82309132, 0xe39585},
+  {0x82309133, 0xe39586},
+  {0x82309134, 0xe39587},
+  {0x82309135, 0xe39588},
+  {0x82309136, 0xe39589},
+  {0x82309137, 0xe3958a},
+  {0x82309138, 0xe3958b},
+  {0x82309139, 0xe3958c},
+  {0x82309230, 0xe3958d},
+  {0x82309231, 0xe3958e},
+  {0x82309232, 0xe3958f},
+  {0x82309233, 0xe39590},
+  {0x82309234, 0xe39591},
+  {0x82309235, 0xe39592},
+  {0x82309236, 0xe39593},
+  {0x82309237, 0xe39594},
+  {0x82309238, 0xe39595},
+  {0x82309239, 0xe39596},
+  {0x82309330, 0xe39597},
+  {0x82309331, 0xe39598},
+  {0x82309332, 0xe39599},
+  {0x82309333, 0xe3959a},
+  {0x82309334, 0xe3959b},
+  {0x82309335, 0xe3959c},
+  {0x82309336, 0xe3959d},
+  {0x82309337, 0xe3959e},
+  {0x82309338, 0xe3959f},
+  {0x82309339, 0xe395a0},
+  {0x82309430, 0xe395a1},
+  {0x82309431, 0xe395a2},
+  {0x82309432, 0xe395a3},
+  {0x82309433, 0xe395a4},
+  {0x82309434, 0xe395a5},
+  {0x82309435, 0xe395a6},
+  {0x82309436, 0xe395a7},
+  {0x82309437, 0xe395a8},
+  {0x82309438, 0xe395a9},
+  {0x82309439, 0xe395aa},
+  {0x82309530, 0xe395ab},
+  {0x82309531, 0xe395ac},
+  {0x82309532, 0xe395ad},
+  {0x82309533, 0xe395ae},
+  {0x82309534, 0xe395af},
+  {0x82309535, 0xe395b0},
+  {0x82309536, 0xe395b1},
+  {0x82309537, 0xe395b2},
+  {0x82309538, 0xe395b3},
+  {0x82309539, 0xe395b4},
+  {0x82309630, 0xe395b5},
+  {0x82309631, 0xe395b6},
+  {0x82309632, 0xe395b7},
+  {0x82309633, 0xe395b8},
+  {0x82309634, 0xe395b9},
+  {0x82309635, 0xe395ba},
+  {0x82309636, 0xe395bb},
+  {0x82309637, 0xe395bc},
+  {0x82309638, 0xe395bd},
+  {0x82309639, 0xe395be},
+  {0x82309730, 0xe395bf},
+  {0x82309731, 0xe39680},
+  {0x82309732, 0xe39681},
+  {0x82309733, 0xe39682},
+  {0x82309734, 0xe39683},
+  {0x82309735, 0xe39684},
+  {0x82309736, 0xe39685},
+  {0x82309737, 0xe39686},
+  {0x82309738, 0xe39687},
+  {0x82309739, 0xe39688},
+  {0x82309830, 0xe39689},
+  {0x82309831, 0xe3968a},
+  {0x82309832, 0xe3968b},
+  {0x82309833, 0xe3968c},
+  {0x82309834, 0xe3968d},
+  {0x82309835, 0xe3968e},
+  {0x82309836, 0xe3968f},
+  {0x82309837, 0xe39690},
+  {0x82309838, 0xe39691},
+  {0x82309839, 0xe39692},
+  {0x82309930, 0xe39693},
+  {0x82309931, 0xe39694},
+  {0x82309932, 0xe39695},
+  {0x82309933, 0xe39696},
+  {0x82309934, 0xe39697},
+  {0x82309935, 0xe39698},
+  {0x82309936, 0xe39699},
+  {0x82309937, 0xe3969a},
+  {0x82309938, 0xe3969b},
+  {0x82309939, 0xe3969c},
+  {0x82309a30, 0xe3969d},
+  {0x82309a31, 0xe3969f},
+  {0x82309a32, 0xe396a0},
+  {0x82309a33, 0xe396a1},
+  {0x82309a34, 0xe396a2},
+  {0x82309a35, 0xe396a3},
+  {0x82309a36, 0xe396a4},
+  {0x82309a37, 0xe396a5},
+  {0x82309a38, 0xe396a6},
+  {0x82309a39, 0xe396a7},
+  {0x82309b30, 0xe396a8},
+  {0x82309b31, 0xe396a9},
+  {0x82309b32, 0xe396aa},
+  {0x82309b33, 0xe396ab},
+  {0x82309b34, 0xe396ac},
+  {0x82309b35, 0xe396ad},
+  {0x82309b36, 0xe396ae},
+  {0x82309b37, 0xe396af},
+  {0x82309b38, 0xe396b0},
+  {0x82309b39, 0xe396b1},
+  {0x82309c30, 0xe396b2},
+  {0x82309c31, 0xe396b3},
+  {0x82309c32, 0xe396b4},
+  {0x82309c33, 0xe396b5},
+  {0x82309c34, 0xe396b6},
+  {0x82309c35, 0xe396b7},
+  {0x82309c36, 0xe396b8},
+  {0x82309c37, 0xe396b9},
+  {0x82309c38, 0xe396ba},
+  {0x82309c39, 0xe396bb},
+  {0x82309d30, 0xe396bc},
+  {0x82309d31, 0xe396bd},
+  {0x82309d32, 0xe396be},
+  {0x82309d33, 0xe396bf},
+  {0x82309d34, 0xe39780},
+  {0x82309d35, 0xe39781},
+  {0x82309d36, 0xe39782},
+  {0x82309d37, 0xe39783},
+  {0x82309d38, 0xe39784},
+  {0x82309d39, 0xe39785},
+  {0x82309e30, 0xe39786},
+  {0x82309e31, 0xe39787},
+  {0x82309e32, 0xe39788},
+  {0x82309e33, 0xe39789},
+  {0x82309e34, 0xe3978a},
+  {0x82309e35, 0xe3978b},
+  {0x82309e36, 0xe3978c},
+  {0x82309e37, 0xe3978d},
+  {0x82309e38, 0xe3978e},
+  {0x82309e39, 0xe3978f},
+  {0x82309f30, 0xe39790},
+  {0x82309f31, 0xe39791},
+  {0x82309f32, 0xe39792},
+  {0x82309f33, 0xe39793},
+  {0x82309f34, 0xe39794},
+  {0x82309f35, 0xe39795},
+  {0x82309f36, 0xe39796},
+  {0x82309f37, 0xe39797},
+  {0x82309f38, 0xe39798},
+  {0x82309f39, 0xe39799},
+  {0x8230a030, 0xe3979a},
+  {0x8230a031, 0xe3979b},
+  {0x8230a032, 0xe3979c},
+  {0x8230a033, 0xe3979d},
+  {0x8230a034, 0xe3979e},
+  {0x8230a035, 0xe3979f},
+  {0x8230a036, 0xe397a0},
+  {0x8230a037, 0xe397a1},
+  {0x8230a038, 0xe397a2},
+  {0x8230a039, 0xe397a3},
+  {0x8230a130, 0xe397a4},
+  {0x8230a131, 0xe397a5},
+  {0x8230a132, 0xe397a6},
+  {0x8230a133, 0xe397a7},
+  {0x8230a134, 0xe397a8},
+  {0x8230a135, 0xe397a9},
+  {0x8230a136, 0xe397aa},
+  {0x8230a137, 0xe397ab},
+  {0x8230a138, 0xe397ac},
+  {0x8230a139, 0xe397ad},
+  {0x8230a230, 0xe397ae},
+  {0x8230a231, 0xe397af},
+  {0x8230a232, 0xe397b0},
+  {0x8230a233, 0xe397b1},
+  {0x8230a234, 0xe397b2},
+  {0x8230a235, 0xe397b3},
+  {0x8230a236, 0xe397b4},
+  {0x8230a237, 0xe397b5},
+  {0x8230a238, 0xe397b6},
+  {0x8230a239, 0xe397b7},
+  {0x8230a330, 0xe397b8},
+  {0x8230a331, 0xe397b9},
+  {0x8230a332, 0xe397ba},
+  {0x8230a333, 0xe397bb},
+  {0x8230a334, 0xe397bc},
+  {0x8230a335, 0xe397bd},
+  {0x8230a336, 0xe397be},
+  {0x8230a337, 0xe397bf},
+  {0x8230a338, 0xe39880},
+  {0x8230a339, 0xe39881},
+  {0x8230a430, 0xe39882},
+  {0x8230a431, 0xe39883},
+  {0x8230a432, 0xe39884},
+  {0x8230a433, 0xe39885},
+  {0x8230a434, 0xe39886},
+  {0x8230a435, 0xe39887},
+  {0x8230a436, 0xe39888},
+  {0x8230a437, 0xe39889},
+  {0x8230a438, 0xe3988a},
+  {0x8230a439, 0xe3988b},
+  {0x8230a530, 0xe3988c},
+  {0x8230a531, 0xe3988d},
+  {0x8230a532, 0xe3988f},
+  {0x8230a533, 0xe39890},
+  {0x8230a534, 0xe39891},
+  {0x8230a535, 0xe39892},
+  {0x8230a536, 0xe39893},
+  {0x8230a537, 0xe39894},
+  {0x8230a538, 0xe39895},
+  {0x8230a539, 0xe39896},
+  {0x8230a630, 0xe39897},
+  {0x8230a631, 0xe39898},
+  {0x8230a632, 0xe39899},
+  {0x8230a633, 0xe3989b},
+  {0x8230a634, 0xe3989c},
+  {0x8230a635, 0xe3989d},
+  {0x8230a636, 0xe3989e},
+  {0x8230a637, 0xe3989f},
+  {0x8230a638, 0xe398a0},
+  {0x8230a639, 0xe398a1},
+  {0x8230a730, 0xe398a2},
+  {0x8230a731, 0xe398a3},
+  {0x8230a732, 0xe398a4},
+  {0x8230a733, 0xe398a5},
+  {0x8230a734, 0xe398a6},
+  {0x8230a735, 0xe398a7},
+  {0x8230a736, 0xe398a8},
+  {0x8230a737, 0xe398a9},
+  {0x8230a738, 0xe398aa},
+  {0x8230a739, 0xe398ab},
+  {0x8230a830, 0xe398ac},
+  {0x8230a831, 0xe398ad},
+  {0x8230a832, 0xe398ae},
+  {0x8230a833, 0xe398af},
+  {0x8230a834, 0xe398b0},
+  {0x8230a835, 0xe398b1},
+  {0x8230a836, 0xe398b2},
+  {0x8230a837, 0xe398b3},
+  {0x8230a838, 0xe398b4},
+  {0x8230a839, 0xe398b5},
+  {0x8230a930, 0xe398b6},
+  {0x8230a931, 0xe398b7},
+  {0x8230a932, 0xe398b8},
+  {0x8230a933, 0xe398b9},
+  {0x8230a934, 0xe398ba},
+  {0x8230a935, 0xe398bb},
+  {0x8230a936, 0xe398bc},
+  {0x8230a937, 0xe398bd},
+  {0x8230a938, 0xe398be},
+  {0x8230a939, 0xe398bf},
+  {0x8230aa30, 0xe39980},
+  {0x8230aa31, 0xe39981},
+  {0x8230aa32, 0xe39982},
+  {0x8230aa33, 0xe39983},
+  {0x8230aa34, 0xe39984},
+  {0x8230aa35, 0xe39985},
+  {0x8230aa36, 0xe39986},
+  {0x8230aa37, 0xe39987},
+  {0x8230aa38, 0xe39988},
+  {0x8230aa39, 0xe39989},
+  {0x8230ab30, 0xe3998a},
+  {0x8230ab31, 0xe3998b},
+  {0x8230ab32, 0xe3998c},
+  {0x8230ab33, 0xe3998d},
+  {0x8230ab34, 0xe3998e},
+  {0x8230ab35, 0xe3998f},
+  {0x8230ab36, 0xe39990},
+  {0x8230ab37, 0xe39991},
+  {0x8230ab38, 0xe39992},
+  {0x8230ab39, 0xe39993},
+  {0x8230ac30, 0xe39994},
+  {0x8230ac31, 0xe39995},
+  {0x8230ac32, 0xe39996},
+  {0x8230ac33, 0xe39997},
+  {0x8230ac34, 0xe39998},
+  {0x8230ac35, 0xe39999},
+  {0x8230ac36, 0xe3999a},
+  {0x8230ac37, 0xe3999b},
+  {0x8230ac38, 0xe3999c},
+  {0x8230ac39, 0xe3999d},
+  {0x8230ad30, 0xe3999e},
+  {0x8230ad31, 0xe3999f},
+  {0x8230ad32, 0xe399a0},
+  {0x8230ad33, 0xe399a1},
+  {0x8230ad34, 0xe399a2},
+  {0x8230ad35, 0xe399a3},
+  {0x8230ad36, 0xe399a4},
+  {0x8230ad37, 0xe399a5},
+  {0x8230ad38, 0xe399a6},
+  {0x8230ad39, 0xe399a7},
+  {0x8230ae30, 0xe399a8},
+  {0x8230ae31, 0xe399a9},
+  {0x8230ae32, 0xe399aa},
+  {0x8230ae33, 0xe399ab},
+  {0x8230ae34, 0xe399ac},
+  {0x8230ae35, 0xe399ad},
+  {0x8230ae36, 0xe399ae},
+  {0x8230ae37, 0xe399af},
+  {0x8230ae38, 0xe399b0},
+  {0x8230ae39, 0xe399b1},
+  {0x8230af30, 0xe399b2},
+  {0x8230af31, 0xe399b3},
+  {0x8230af32, 0xe399b4},
+  {0x8230af33, 0xe399b5},
+  {0x8230af34, 0xe399b6},
+  {0x8230af35, 0xe399b7},
+  {0x8230af36, 0xe399b8},
+  {0x8230af37, 0xe399b9},
+  {0x8230af38, 0xe399ba},
+  {0x8230af39, 0xe399bb},
+  {0x8230b030, 0xe399bc},
+  {0x8230b031, 0xe399bd},
+  {0x8230b032, 0xe399be},
+  {0x8230b033, 0xe399bf},
+  {0x8230b034, 0xe39a80},
+  {0x8230b035, 0xe39a81},
+  {0x8230b036, 0xe39a82},
+  {0x8230b037, 0xe39a83},
+  {0x8230b038, 0xe39a84},
+  {0x8230b039, 0xe39a85},
+  {0x8230b130, 0xe39a86},
+  {0x8230b131, 0xe39a87},
+  {0x8230b132, 0xe39a88},
+  {0x8230b133, 0xe39a89},
+  {0x8230b134, 0xe39a8a},
+  {0x8230b135, 0xe39a8b},
+  {0x8230b136, 0xe39a8c},
+  {0x8230b137, 0xe39a8d},
+  {0x8230b138, 0xe39a8e},
+  {0x8230b139, 0xe39a8f},
+  {0x8230b230, 0xe39a90},
+  {0x8230b231, 0xe39a91},
+  {0x8230b232, 0xe39a92},
+  {0x8230b233, 0xe39a93},
+  {0x8230b234, 0xe39a94},
+  {0x8230b235, 0xe39a95},
+  {0x8230b236, 0xe39a96},
+  {0x8230b237, 0xe39a97},
+  {0x8230b238, 0xe39a98},
+  {0x8230b239, 0xe39a99},
+  {0x8230b330, 0xe39a9a},
+  {0x8230b331, 0xe39a9b},
+  {0x8230b332, 0xe39a9c},
+  {0x8230b333, 0xe39a9d},
+  {0x8230b334, 0xe39a9e},
+  {0x8230b335, 0xe39a9f},
+  {0x8230b336, 0xe39aa0},
+  {0x8230b337, 0xe39aa1},
+  {0x8230b338, 0xe39aa2},
+  {0x8230b339, 0xe39aa3},
+  {0x8230b430, 0xe39aa4},
+  {0x8230b431, 0xe39aa5},
+  {0x8230b432, 0xe39aa6},
+  {0x8230b433, 0xe39aa7},
+  {0x8230b434, 0xe39aa8},
+  {0x8230b435, 0xe39aa9},
+  {0x8230b436, 0xe39aaa},
+  {0x8230b437, 0xe39aab},
+  {0x8230b438, 0xe39aac},
+  {0x8230b439, 0xe39aad},
+  {0x8230b530, 0xe39aae},
+  {0x8230b531, 0xe39aaf},
+  {0x8230b532, 0xe39ab0},
+  {0x8230b533, 0xe39ab1},
+  {0x8230b534, 0xe39ab2},
+  {0x8230b535, 0xe39ab3},
+  {0x8230b536, 0xe39ab4},
+  {0x8230b537, 0xe39ab5},
+  {0x8230b538, 0xe39ab6},
+  {0x8230b539, 0xe39ab7},
+  {0x8230b630, 0xe39ab8},
+  {0x8230b631, 0xe39ab9},
+  {0x8230b632, 0xe39aba},
+  {0x8230b633, 0xe39abb},
+  {0x8230b634, 0xe39abc},
+  {0x8230b635, 0xe39abd},
+  {0x8230b636, 0xe39abe},
+  {0x8230b637, 0xe39abf},
+  {0x8230b638, 0xe39b80},
+  {0x8230b639, 0xe39b81},
+  {0x8230b730, 0xe39b82},
+  {0x8230b731, 0xe39b83},
+  {0x8230b732, 0xe39b84},
+  {0x8230b733, 0xe39b85},
+  {0x8230b734, 0xe39b86},
+  {0x8230b735, 0xe39b87},
+  {0x8230b736, 0xe39b88},
+  {0x8230b737, 0xe39b89},
+  {0x8230b738, 0xe39b8a},
+  {0x8230b739, 0xe39b8b},
+  {0x8230b830, 0xe39b8c},
+  {0x8230b831, 0xe39b8d},
+  {0x8230b832, 0xe39b8e},
+  {0x8230b833, 0xe39b8f},
+  {0x8230b834, 0xe39b90},
+  {0x8230b835, 0xe39b91},
+  {0x8230b836, 0xe39b92},
+  {0x8230b837, 0xe39b93},
+  {0x8230b838, 0xe39b94},
+  {0x8230b839, 0xe39b95},
+  {0x8230b930, 0xe39b96},
+  {0x8230b931, 0xe39b97},
+  {0x8230b932, 0xe39b98},
+  {0x8230b933, 0xe39b99},
+  {0x8230b934, 0xe39b9a},
+  {0x8230b935, 0xe39b9b},
+  {0x8230b936, 0xe39b9c},
+  {0x8230b937, 0xe39b9d},
+  {0x8230b938, 0xe39b9e},
+  {0x8230b939, 0xe39b9f},
+  {0x8230ba30, 0xe39ba0},
+  {0x8230ba31, 0xe39ba1},
+  {0x8230ba32, 0xe39ba2},
+  {0x8230ba33, 0xe39ba3},
+  {0x8230ba34, 0xe39ba4},
+  {0x8230ba35, 0xe39ba5},
+  {0x8230ba36, 0xe39ba6},
+  {0x8230ba37, 0xe39ba7},
+  {0x8230ba38, 0xe39ba8},
+  {0x8230ba39, 0xe39ba9},
+  {0x8230bb30, 0xe39baa},
+  {0x8230bb31, 0xe39bab},
+  {0x8230bb32, 0xe39bac},
+  {0x8230bb33, 0xe39bad},
+  {0x8230bb34, 0xe39bae},
+  {0x8230bb35, 0xe39baf},
+  {0x8230bb36, 0xe39bb0},
+  {0x8230bb37, 0xe39bb1},
+  {0x8230bb38, 0xe39bb2},
+  {0x8230bb39, 0xe39bb3},
+  {0x8230bc30, 0xe39bb4},
+  {0x8230bc31, 0xe39bb5},
+  {0x8230bc32, 0xe39bb6},
+  {0x8230bc33, 0xe39bb7},
+  {0x8230bc34, 0xe39bb8},
+  {0x8230bc35, 0xe39bb9},
+  {0x8230bc36, 0xe39bba},
+  {0x8230bc37, 0xe39bbb},
+  {0x8230bc38, 0xe39bbc},
+  {0x8230bc39, 0xe39bbd},
+  {0x8230bd30, 0xe39bbe},
+  {0x8230bd31, 0xe39bbf},
+  {0x8230bd32, 0xe39c80},
+  {0x8230bd33, 0xe39c81},
+  {0x8230bd34, 0xe39c82},
+  {0x8230bd35, 0xe39c83},
+  {0x8230bd36, 0xe39c84},
+  {0x8230bd37, 0xe39c85},
+  {0x8230bd38, 0xe39c86},
+  {0x8230bd39, 0xe39c87},
+  {0x8230be30, 0xe39c88},
+  {0x8230be31, 0xe39c89},
+  {0x8230be32, 0xe39c8a},
+  {0x8230be33, 0xe39c8b},
+  {0x8230be34, 0xe39c8c},
+  {0x8230be35, 0xe39c8d},
+  {0x8230be36, 0xe39c8e},
+  {0x8230be37, 0xe39c8f},
+  {0x8230be38, 0xe39c90},
+  {0x8230be39, 0xe39c91},
+  {0x8230bf30, 0xe39c92},
+  {0x8230bf31, 0xe39c93},
+  {0x8230bf32, 0xe39c94},
+  {0x8230bf33, 0xe39c95},
+  {0x8230bf34, 0xe39c96},
+  {0x8230bf35, 0xe39c97},
+  {0x8230bf36, 0xe39c98},
+  {0x8230bf37, 0xe39c99},
+  {0x8230bf38, 0xe39c9a},
+  {0x8230bf39, 0xe39c9b},
+  {0x8230c030, 0xe39c9c},
+  {0x8230c031, 0xe39c9d},
+  {0x8230c032, 0xe39c9e},
+  {0x8230c033, 0xe39c9f},
+  {0x8230c034, 0xe39ca0},
+  {0x8230c035, 0xe39ca1},
+  {0x8230c036, 0xe39ca2},
+  {0x8230c037, 0xe39ca3},
+  {0x8230c038, 0xe39ca4},
+  {0x8230c039, 0xe39ca5},
+  {0x8230c130, 0xe39ca6},
+  {0x8230c131, 0xe39ca7},
+  {0x8230c132, 0xe39ca8},
+  {0x8230c133, 0xe39ca9},
+  {0x8230c134, 0xe39caa},
+  {0x8230c135, 0xe39cab},
+  {0x8230c136, 0xe39cac},
+  {0x8230c137, 0xe39cad},
+  {0x8230c138, 0xe39cae},
+  {0x8230c139, 0xe39caf},
+  {0x8230c230, 0xe39cb0},
+  {0x8230c231, 0xe39cb1},
+  {0x8230c232, 0xe39cb2},
+  {0x8230c233, 0xe39cb3},
+  {0x8230c234, 0xe39cb4},
+  {0x8230c235, 0xe39cb5},
+  {0x8230c236, 0xe39cb6},
+  {0x8230c237, 0xe39cb7},
+  {0x8230c238, 0xe39cb8},
+  {0x8230c239, 0xe39cb9},
+  {0x8230c330, 0xe39cba},
+  {0x8230c331, 0xe39cbb},
+  {0x8230c332, 0xe39cbc},
+  {0x8230c333, 0xe39cbd},
+  {0x8230c334, 0xe39cbe},
+  {0x8230c335, 0xe39cbf},
+  {0x8230c336, 0xe39d80},
+  {0x8230c337, 0xe39d81},
+  {0x8230c338, 0xe39d82},
+  {0x8230c339, 0xe39d83},
+  {0x8230c430, 0xe39d84},
+  {0x8230c431, 0xe39d85},
+  {0x8230c432, 0xe39d86},
+  {0x8230c433, 0xe39d87},
+  {0x8230c434, 0xe39d88},
+  {0x8230c435, 0xe39d89},
+  {0x8230c436, 0xe39d8a},
+  {0x8230c437, 0xe39d8b},
+  {0x8230c438, 0xe39d8c},
+  {0x8230c439, 0xe39d8d},
+  {0x8230c530, 0xe39d8e},
+  {0x8230c531, 0xe39d8f},
+  {0x8230c532, 0xe39d90},
+  {0x8230c533, 0xe39d91},
+  {0x8230c534, 0xe39d92},
+  {0x8230c535, 0xe39d93},
+  {0x8230c536, 0xe39d94},
+  {0x8230c537, 0xe39d95},
+  {0x8230c538, 0xe39d96},
+  {0x8230c539, 0xe39d97},
+  {0x8230c630, 0xe39d98},
+  {0x8230c631, 0xe39d99},
+  {0x8230c632, 0xe39d9a},
+  {0x8230c633, 0xe39d9b},
+  {0x8230c634, 0xe39d9c},
+  {0x8230c635, 0xe39d9d},
+  {0x8230c636, 0xe39d9e},
+  {0x8230c637, 0xe39d9f},
+  {0x8230c638, 0xe39da0},
+  {0x8230c639, 0xe39da1},
+  {0x8230c730, 0xe39da2},
+  {0x8230c731, 0xe39da3},
+  {0x8230c732, 0xe39da4},
+  {0x8230c733, 0xe39da5},
+  {0x8230c734, 0xe39da6},
+  {0x8230c735, 0xe39da7},
+  {0x8230c736, 0xe39da8},
+  {0x8230c737, 0xe39da9},
+  {0x8230c738, 0xe39daa},
+  {0x8230c739, 0xe39dab},
+  {0x8230c830, 0xe39dac},
+  {0x8230c831, 0xe39dad},
+  {0x8230c832, 0xe39dae},
+  {0x8230c833, 0xe39daf},
+  {0x8230c834, 0xe39db0},
+  {0x8230c835, 0xe39db1},
+  {0x8230c836, 0xe39db2},
+  {0x8230c837, 0xe39db3},
+  {0x8230c838, 0xe39db4},
+  {0x8230c839, 0xe39db5},
+  {0x8230c930, 0xe39db6},
+  {0x8230c931, 0xe39db7},
+  {0x8230c932, 0xe39db8},
+  {0x8230c933, 0xe39db9},
+  {0x8230c934, 0xe39dba},
+  {0x8230c935, 0xe39dbb},
+  {0x8230c936, 0xe39dbc},
+  {0x8230c937, 0xe39dbd},
+  {0x8230c938, 0xe39dbe},
+  {0x8230c939, 0xe39dbf},
+  {0x8230ca30, 0xe39e80},
+  {0x8230ca31, 0xe39e81},
+  {0x8230ca32, 0xe39e82},
+  {0x8230ca33, 0xe39e83},
+  {0x8230ca34, 0xe39e84},
+  {0x8230ca35, 0xe39e85},
+  {0x8230ca36, 0xe39e86},
+  {0x8230ca37, 0xe39e87},
+  {0x8230ca38, 0xe39e88},
+  {0x8230ca39, 0xe39e89},
+  {0x8230cb30, 0xe39e8a},
+  {0x8230cb31, 0xe39e8b},
+  {0x8230cb32, 0xe39e8c},
+  {0x8230cb33, 0xe39e8d},
+  {0x8230cb34, 0xe39e8e},
+  {0x8230cb35, 0xe39e8f},
+  {0x8230cb36, 0xe39e90},
+  {0x8230cb37, 0xe39e91},
+  {0x8230cb38, 0xe39e92},
+  {0x8230cb39, 0xe39e93},
+  {0x8230cc30, 0xe39e94},
+  {0x8230cc31, 0xe39e95},
+  {0x8230cc32, 0xe39e96},
+  {0x8230cc33, 0xe39e97},
+  {0x8230cc34, 0xe39e98},
+  {0x8230cc35, 0xe39e99},
+  {0x8230cc36, 0xe39e9a},
+  {0x8230cc37, 0xe39e9b},
+  {0x8230cc38, 0xe39e9c},
+  {0x8230cc39, 0xe39e9d},
+  {0x8230cd30, 0xe39e9e},
+  {0x8230cd31, 0xe39e9f},
+  {0x8230cd32, 0xe39ea0},
+  {0x8230cd33, 0xe39ea1},
+  {0x8230cd34, 0xe39ea2},
+  {0x8230cd35, 0xe39ea3},
+  {0x8230cd36, 0xe39ea4},
+  {0x8230cd37, 0xe39ea5},
+  {0x8230cd38, 0xe39ea6},
+  {0x8230cd39, 0xe39ea7},
+  {0x8230ce30, 0xe39ea8},
+  {0x8230ce31, 0xe39ea9},
+  {0x8230ce32, 0xe39eaa},
+  {0x8230ce33, 0xe39eab},
+  {0x8230ce34, 0xe39eac},
+  {0x8230ce35, 0xe39ead},
+  {0x8230ce36, 0xe39eae},
+  {0x8230ce37, 0xe39eaf},
+  {0x8230ce38, 0xe39eb0},
+  {0x8230ce39, 0xe39eb1},
+  {0x8230cf30, 0xe39eb2},
+  {0x8230cf31, 0xe39eb3},
+  {0x8230cf32, 0xe39eb4},
+  {0x8230cf33, 0xe39eb5},
+  {0x8230cf34, 0xe39eb6},
+  {0x8230cf35, 0xe39eb7},
+  {0x8230cf36, 0xe39eb8},
+  {0x8230cf37, 0xe39eb9},
+  {0x8230cf38, 0xe39eba},
+  {0x8230cf39, 0xe39ebb},
+  {0x8230d030, 0xe39ebc},
+  {0x8230d031, 0xe39ebd},
+  {0x8230d032, 0xe39ebe},
+  {0x8230d033, 0xe39ebf},
+  {0x8230d034, 0xe39f80},
+  {0x8230d035, 0xe39f81},
+  {0x8230d036, 0xe39f82},
+  {0x8230d037, 0xe39f83},
+  {0x8230d038, 0xe39f84},
+  {0x8230d039, 0xe39f85},
+  {0x8230d130, 0xe39f86},
+  {0x8230d131, 0xe39f87},
+  {0x8230d132, 0xe39f88},
+  {0x8230d133, 0xe39f89},
+  {0x8230d134, 0xe39f8a},
+  {0x8230d135, 0xe39f8b},
+  {0x8230d136, 0xe39f8c},
+  {0x8230d137, 0xe39f8d},
+  {0x8230d138, 0xe39f8e},
+  {0x8230d139, 0xe39f8f},
+  {0x8230d230, 0xe39f90},
+  {0x8230d231, 0xe39f91},
+  {0x8230d232, 0xe39f92},
+  {0x8230d233, 0xe39f93},
+  {0x8230d234, 0xe39f94},
+  {0x8230d235, 0xe39f95},
+  {0x8230d236, 0xe39f96},
+  {0x8230d237, 0xe39f97},
+  {0x8230d238, 0xe39f98},
+  {0x8230d239, 0xe39f99},
+  {0x8230d330, 0xe39f9a},
+  {0x8230d331, 0xe39f9b},
+  {0x8230d332, 0xe39f9c},
+  {0x8230d333, 0xe39f9d},
+  {0x8230d334, 0xe39f9e},
+  {0x8230d335, 0xe39f9f},
+  {0x8230d336, 0xe39fa0},
+  {0x8230d337, 0xe39fa1},
+  {0x8230d338, 0xe39fa2},
+  {0x8230d339, 0xe39fa3},
+  {0x8230d430, 0xe39fa4},
+  {0x8230d431, 0xe39fa5},
+  {0x8230d432, 0xe39fa6},
+  {0x8230d433, 0xe39fa7},
+  {0x8230d434, 0xe39fa8},
+  {0x8230d435, 0xe39fa9},
+  {0x8230d436, 0xe39faa},
+  {0x8230d437, 0xe39fab},
+  {0x8230d438, 0xe39fac},
+  {0x8230d439, 0xe39fad},
+  {0x8230d530, 0xe39fae},
+  {0x8230d531, 0xe39faf},
+  {0x8230d532, 0xe39fb0},
+  {0x8230d533, 0xe39fb1},
+  {0x8230d534, 0xe39fb2},
+  {0x8230d535, 0xe39fb3},
+  {0x8230d536, 0xe39fb4},
+  {0x8230d537, 0xe39fb5},
+  {0x8230d538, 0xe39fb6},
+  {0x8230d539, 0xe39fb7},
+  {0x8230d630, 0xe39fb8},
+  {0x8230d631, 0xe39fb9},
+  {0x8230d632, 0xe39fba},
+  {0x8230d633, 0xe39fbb},
+  {0x8230d634, 0xe39fbc},
+  {0x8230d635, 0xe39fbd},
+  {0x8230d636, 0xe39fbe},
+  {0x8230d637, 0xe39fbf},
+  {0x8230d638, 0xe3a080},
+  {0x8230d639, 0xe3a081},
+  {0x8230d730, 0xe3a082},
+  {0x8230d731, 0xe3a083},
+  {0x8230d732, 0xe3a084},
+  {0x8230d733, 0xe3a085},
+  {0x8230d734, 0xe3a086},
+  {0x8230d735, 0xe3a087},
+  {0x8230d736, 0xe3a088},
+  {0x8230d737, 0xe3a089},
+  {0x8230d738, 0xe3a08a},
+  {0x8230d739, 0xe3a08b},
+  {0x8230d830, 0xe3a08c},
+  {0x8230d831, 0xe3a08d},
+  {0x8230d832, 0xe3a08e},
+  {0x8230d833, 0xe3a08f},
+  {0x8230d834, 0xe3a090},
+  {0x8230d835, 0xe3a091},
+  {0x8230d836, 0xe3a092},
+  {0x8230d837, 0xe3a093},
+  {0x8230d838, 0xe3a094},
+  {0x8230d839, 0xe3a095},
+  {0x8230d930, 0xe3a096},
+  {0x8230d931, 0xe3a097},
+  {0x8230d932, 0xe3a098},
+  {0x8230d933, 0xe3a099},
+  {0x8230d934, 0xe3a09a},
+  {0x8230d935, 0xe3a09b},
+  {0x8230d936, 0xe3a09c},
+  {0x8230d937, 0xe3a09d},
+  {0x8230d938, 0xe3a09e},
+  {0x8230d939, 0xe3a09f},
+  {0x8230da30, 0xe3a0a0},
+  {0x8230da31, 0xe3a0a1},
+  {0x8230da32, 0xe3a0a2},
+  {0x8230da33, 0xe3a0a3},
+  {0x8230da34, 0xe3a0a4},
+  {0x8230da35, 0xe3a0a5},
+  {0x8230da36, 0xe3a0a6},
+  {0x8230da37, 0xe3a0a7},
+  {0x8230da38, 0xe3a0a8},
+  {0x8230da39, 0xe3a0a9},
+  {0x8230db30, 0xe3a0aa},
+  {0x8230db31, 0xe3a0ab},
+  {0x8230db32, 0xe3a0ac},
+  {0x8230db33, 0xe3a0ad},
+  {0x8230db34, 0xe3a0ae},
+  {0x8230db35, 0xe3a0af},
+  {0x8230db36, 0xe3a0b0},
+  {0x8230db37, 0xe3a0b1},
+  {0x8230db38, 0xe3a0b2},
+  {0x8230db39, 0xe3a0b3},
+  {0x8230dc30, 0xe3a0b4},
+  {0x8230dc31, 0xe3a0b5},
+  {0x8230dc32, 0xe3a0b6},
+  {0x8230dc33, 0xe3a0b7},
+  {0x8230dc34, 0xe3a0b8},
+  {0x8230dc35, 0xe3a0b9},
+  {0x8230dc36, 0xe3a0ba},
+  {0x8230dc37, 0xe3a0bb},
+  {0x8230dc38, 0xe3a0bc},
+  {0x8230dc39, 0xe3a0bd},
+  {0x8230dd30, 0xe3a0be},
+  {0x8230dd31, 0xe3a0bf},
+  {0x8230dd32, 0xe3a180},
+  {0x8230dd33, 0xe3a181},
+  {0x8230dd34, 0xe3a182},
+  {0x8230dd35, 0xe3a183},
+  {0x8230dd36, 0xe3a184},
+  {0x8230dd37, 0xe3a185},
+  {0x8230dd38, 0xe3a186},
+  {0x8230dd39, 0xe3a187},
+  {0x8230de30, 0xe3a188},
+  {0x8230de31, 0xe3a189},
+  {0x8230de32, 0xe3a18a},
+  {0x8230de33, 0xe3a18b},
+  {0x8230de34, 0xe3a18c},
+  {0x8230de35, 0xe3a18d},
+  {0x8230de36, 0xe3a18e},
+  {0x8230de37, 0xe3a18f},
+  {0x8230de38, 0xe3a190},
+  {0x8230de39, 0xe3a191},
+  {0x8230df30, 0xe3a192},
+  {0x8230df31, 0xe3a193},
+  {0x8230df32, 0xe3a194},
+  {0x8230df33, 0xe3a195},
+  {0x8230df34, 0xe3a196},
+  {0x8230df35, 0xe3a197},
+  {0x8230df36, 0xe3a198},
+  {0x8230df37, 0xe3a199},
+  {0x8230df38, 0xe3a19a},
+  {0x8230df39, 0xe3a19b},
+  {0x8230e030, 0xe3a19c},
+  {0x8230e031, 0xe3a19d},
+  {0x8230e032, 0xe3a19e},
+  {0x8230e033, 0xe3a19f},
+  {0x8230e034, 0xe3a1a0},
+  {0x8230e035, 0xe3a1a1},
+  {0x8230e036, 0xe3a1a2},
+  {0x8230e037, 0xe3a1a3},
+  {0x8230e038, 0xe3a1a4},
+  {0x8230e039, 0xe3a1a5},
+  {0x8230e130, 0xe3a1a6},
+  {0x8230e131, 0xe3a1a7},
+  {0x8230e132, 0xe3a1a8},
+  {0x8230e133, 0xe3a1a9},
+  {0x8230e134, 0xe3a1aa},
+  {0x8230e135, 0xe3a1ab},
+  {0x8230e136, 0xe3a1ac},
+  {0x8230e137, 0xe3a1ad},
+  {0x8230e138, 0xe3a1ae},
+  {0x8230e139, 0xe3a1af},
+  {0x8230e230, 0xe3a1b0},
+  {0x8230e231, 0xe3a1b1},
+  {0x8230e232, 0xe3a1b2},
+  {0x8230e233, 0xe3a1b3},
+  {0x8230e234, 0xe3a1b4},
+  {0x8230e235, 0xe3a1b5},
+  {0x8230e236, 0xe3a1b6},
+  {0x8230e237, 0xe3a1b7},
+  {0x8230e238, 0xe3a1b8},
+  {0x8230e239, 0xe3a1b9},
+  {0x8230e330, 0xe3a1ba},
+  {0x8230e331, 0xe3a1bb},
+  {0x8230e332, 0xe3a1bc},
+  {0x8230e333, 0xe3a1bd},
+  {0x8230e334, 0xe3a1be},
+  {0x8230e335, 0xe3a1bf},
+  {0x8230e336, 0xe3a280},
+  {0x8230e337, 0xe3a281},
+  {0x8230e338, 0xe3a282},
+  {0x8230e339, 0xe3a283},
+  {0x8230e430, 0xe3a284},
+  {0x8230e431, 0xe3a285},
+  {0x8230e432, 0xe3a286},
+  {0x8230e433, 0xe3a287},
+  {0x8230e434, 0xe3a288},
+  {0x8230e435, 0xe3a289},
+  {0x8230e436, 0xe3a28a},
+  {0x8230e437, 0xe3a28b},
+  {0x8230e438, 0xe3a28c},
+  {0x8230e439, 0xe3a28d},
+  {0x8230e530, 0xe3a28e},
+  {0x8230e531, 0xe3a28f},
+  {0x8230e532, 0xe3a290},
+  {0x8230e533, 0xe3a291},
+  {0x8230e534, 0xe3a292},
+  {0x8230e535, 0xe3a293},
+  {0x8230e536, 0xe3a294},
+  {0x8230e537, 0xe3a295},
+  {0x8230e538, 0xe3a296},
+  {0x8230e539, 0xe3a297},
+  {0x8230e630, 0xe3a298},
+  {0x8230e631, 0xe3a299},
+  {0x8230e632, 0xe3a29a},
+  {0x8230e633, 0xe3a29b},
+  {0x8230e634, 0xe3a29c},
+  {0x8230e635, 0xe3a29d},
+  {0x8230e636, 0xe3a29e},
+  {0x8230e637, 0xe3a29f},
+  {0x8230e638, 0xe3a2a0},
+  {0x8230e639, 0xe3a2a1},
+  {0x8230e730, 0xe3a2a2},
+  {0x8230e731, 0xe3a2a3},
+  {0x8230e732, 0xe3a2a4},
+  {0x8230e733, 0xe3a2a5},
+  {0x8230e734, 0xe3a2a6},
+  {0x8230e735, 0xe3a2a7},
+  {0x8230e736, 0xe3a2a8},
+  {0x8230e737, 0xe3a2a9},
+  {0x8230e738, 0xe3a2aa},
+  {0x8230e739, 0xe3a2ab},
+  {0x8230e830, 0xe3a2ac},
+  {0x8230e831, 0xe3a2ad},
+  {0x8230e832, 0xe3a2ae},
+  {0x8230e833, 0xe3a2af},
+  {0x8230e834, 0xe3a2b0},
+  {0x8230e835, 0xe3a2b1},
+  {0x8230e836, 0xe3a2b2},
+  {0x8230e837, 0xe3a2b3},
+  {0x8230e838, 0xe3a2b4},
+  {0x8230e839, 0xe3a2b5},
+  {0x8230e930, 0xe3a2b6},
+  {0x8230e931, 0xe3a2b7},
+  {0x8230e932, 0xe3a2b8},
+  {0x8230e933, 0xe3a2b9},
+  {0x8230e934, 0xe3a2ba},
+  {0x8230e935, 0xe3a2bb},
+  {0x8230e936, 0xe3a2bc},
+  {0x8230e937, 0xe3a2bd},
+  {0x8230e938, 0xe3a2be},
+  {0x8230e939, 0xe3a2bf},
+  {0x8230ea30, 0xe3a380},
+  {0x8230ea31, 0xe3a381},
+  {0x8230ea32, 0xe3a382},
+  {0x8230ea33, 0xe3a383},
+  {0x8230ea34, 0xe3a384},
+  {0x8230ea35, 0xe3a385},
+  {0x8230ea36, 0xe3a386},
+  {0x8230ea37, 0xe3a387},
+  {0x8230ea38, 0xe3a388},
+  {0x8230ea39, 0xe3a389},
+  {0x8230eb30, 0xe3a38a},
+  {0x8230eb31, 0xe3a38b},
+  {0x8230eb32, 0xe3a38c},
+  {0x8230eb33, 0xe3a38d},
+  {0x8230eb34, 0xe3a38e},
+  {0x8230eb35, 0xe3a38f},
+  {0x8230eb36, 0xe3a390},
+  {0x8230eb37, 0xe3a391},
+  {0x8230eb38, 0xe3a392},
+  {0x8230eb39, 0xe3a393},
+  {0x8230ec30, 0xe3a394},
+  {0x8230ec31, 0xe3a395},
+  {0x8230ec32, 0xe3a396},
+  {0x8230ec33, 0xe3a397},
+  {0x8230ec34, 0xe3a398},
+  {0x8230ec35, 0xe3a399},
+  {0x8230ec36, 0xe3a39a},
+  {0x8230ec37, 0xe3a39b},
+  {0x8230ec38, 0xe3a39c},
+  {0x8230ec39, 0xe3a39d},
+  {0x8230ed30, 0xe3a39e},
+  {0x8230ed31, 0xe3a39f},
+  {0x8230ed32, 0xe3a3a0},
+  {0x8230ed33, 0xe3a3a1},
+  {0x8230ed34, 0xe3a3a2},
+  {0x8230ed35, 0xe3a3a3},
+  {0x8230ed36, 0xe3a3a4},
+  {0x8230ed37, 0xe3a3a5},
+  {0x8230ed38, 0xe3a3a6},
+  {0x8230ed39, 0xe3a3a7},
+  {0x8230ee30, 0xe3a3a8},
+  {0x8230ee31, 0xe3a3a9},
+  {0x8230ee32, 0xe3a3aa},
+  {0x8230ee33, 0xe3a3ab},
+  {0x8230ee34, 0xe3a3ac},
+  {0x8230ee35, 0xe3a3ad},
+  {0x8230ee36, 0xe3a3ae},
+  {0x8230ee37, 0xe3a3af},
+  {0x8230ee38, 0xe3a3b0},
+  {0x8230ee39, 0xe3a3b1},
+  {0x8230ef30, 0xe3a3b2},
+  {0x8230ef31, 0xe3a3b3},
+  {0x8230ef32, 0xe3a3b4},
+  {0x8230ef33, 0xe3a3b5},
+  {0x8230ef34, 0xe3a3b6},
+  {0x8230ef35, 0xe3a3b7},
+  {0x8230ef36, 0xe3a3b8},
+  {0x8230ef37, 0xe3a3b9},
+  {0x8230ef38, 0xe3a3ba},
+  {0x8230ef39, 0xe3a3bb},
+  {0x8230f030, 0xe3a3bc},
+  {0x8230f031, 0xe3a3bd},
+  {0x8230f032, 0xe3a3be},
+  {0x8230f033, 0xe3a3bf},
+  {0x8230f034, 0xe3a480},
+  {0x8230f035, 0xe3a481},
+  {0x8230f036, 0xe3a482},
+  {0x8230f037, 0xe3a483},
+  {0x8230f038, 0xe3a484},
+  {0x8230f039, 0xe3a485},
+  {0x8230f130, 0xe3a486},
+  {0x8230f131, 0xe3a487},
+  {0x8230f132, 0xe3a488},
+  {0x8230f133, 0xe3a489},
+  {0x8230f134, 0xe3a48a},
+  {0x8230f135, 0xe3a48b},
+  {0x8230f136, 0xe3a48c},
+  {0x8230f137, 0xe3a48d},
+  {0x8230f138, 0xe3a48e},
+  {0x8230f139, 0xe3a48f},
+  {0x8230f230, 0xe3a490},
+  {0x8230f231, 0xe3a491},
+  {0x8230f232, 0xe3a492},
+  {0x8230f233, 0xe3a493},
+  {0x8230f234, 0xe3a494},
+  {0x8230f235, 0xe3a495},
+  {0x8230f236, 0xe3a496},
+  {0x8230f237, 0xe3a497},
+  {0x8230f238, 0xe3a499},
+  {0x8230f239, 0xe3a49a},
+  {0x8230f330, 0xe3a49b},
+  {0x8230f331, 0xe3a49c},
+  {0x8230f332, 0xe3a49d},
+  {0x8230f333, 0xe3a49e},
+  {0x8230f334, 0xe3a49f},
+  {0x8230f335, 0xe3a4a0},
+  {0x8230f336, 0xe3a4a1},
+  {0x8230f337, 0xe3a4a2},
+  {0x8230f338, 0xe3a4a3},
+  {0x8230f339, 0xe3a4a4},
+  {0x8230f430, 0xe3a4a5},
+  {0x8230f431, 0xe3a4a6},
+  {0x8230f432, 0xe3a4a7},
+  {0x8230f433, 0xe3a4a8},
+  {0x8230f434, 0xe3a4a9},
+  {0x8230f435, 0xe3a4aa},
+  {0x8230f436, 0xe3a4ab},
+  {0x8230f437, 0xe3a4ac},
+  {0x8230f438, 0xe3a4ad},
+  {0x8230f439, 0xe3a4ae},
+  {0x8230f530, 0xe3a4af},
+  {0x8230f531, 0xe3a4b0},
+  {0x8230f532, 0xe3a4b1},
+  {0x8230f533, 0xe3a4b2},
+  {0x8230f534, 0xe3a4b3},
+  {0x8230f535, 0xe3a4b4},
+  {0x8230f536, 0xe3a4b5},
+  {0x8230f537, 0xe3a4b6},
+  {0x8230f538, 0xe3a4b7},
+  {0x8230f539, 0xe3a4b8},
+  {0x8230f630, 0xe3a4b9},
+  {0x8230f631, 0xe3a4ba},
+  {0x8230f632, 0xe3a4bb},
+  {0x8230f633, 0xe3a4bc},
+  {0x8230f634, 0xe3a4bd},
+  {0x8230f635, 0xe3a4be},
+  {0x8230f636, 0xe3a4bf},
+  {0x8230f637, 0xe3a580},
+  {0x8230f638, 0xe3a581},
+  {0x8230f639, 0xe3a582},
+  {0x8230f730, 0xe3a583},
+  {0x8230f731, 0xe3a584},
+  {0x8230f732, 0xe3a585},
+  {0x8230f733, 0xe3a586},
+  {0x8230f734, 0xe3a587},
+  {0x8230f735, 0xe3a588},
+  {0x8230f736, 0xe3a589},
+  {0x8230f737, 0xe3a58a},
+  {0x8230f738, 0xe3a58b},
+  {0x8230f739, 0xe3a58c},
+  {0x8230f830, 0xe3a58d},
+  {0x8230f831, 0xe3a58e},
+  {0x8230f832, 0xe3a58f},
+  {0x8230f833, 0xe3a590},
+  {0x8230f834, 0xe3a591},
+  {0x8230f835, 0xe3a592},
+  {0x8230f836, 0xe3a593},
+  {0x8230f837, 0xe3a594},
+  {0x8230f838, 0xe3a595},
+  {0x8230f839, 0xe3a596},
+  {0x8230f930, 0xe3a597},
+  {0x8230f931, 0xe3a598},
+  {0x8230f932, 0xe3a599},
+  {0x8230f933, 0xe3a59a},
+  {0x8230f934, 0xe3a59b},
+  {0x8230f935, 0xe3a59c},
+  {0x8230f936, 0xe3a59d},
+  {0x8230f937, 0xe3a59e},
+  {0x8230f938, 0xe3a59f},
+  {0x8230f939, 0xe3a5a0},
+  {0x8230fa30, 0xe3a5a1},
+  {0x8230fa31, 0xe3a5a2},
+  {0x8230fa32, 0xe3a5a3},
+  {0x8230fa33, 0xe3a5a4},
+  {0x8230fa34, 0xe3a5a5},
+  {0x8230fa35, 0xe3a5a6},
+  {0x8230fa36, 0xe3a5a7},
+  {0x8230fa37, 0xe3a5a8},
+  {0x8230fa38, 0xe3a5a9},
+  {0x8230fa39, 0xe3a5aa},
+  {0x8230fb30, 0xe3a5ab},
+  {0x8230fb31, 0xe3a5ac},
+  {0x8230fb32, 0xe3a5ad},
+  {0x8230fb33, 0xe3a5af},
+  {0x8230fb34, 0xe3a5b0},
+  {0x8230fb35, 0xe3a5b1},
+  {0x8230fb36, 0xe3a5b2},
+  {0x8230fb37, 0xe3a5b3},
+  {0x8230fb38, 0xe3a5b4},
+  {0x8230fb39, 0xe3a5b5},
+  {0x8230fc30, 0xe3a5b6},
+  {0x8230fc31, 0xe3a5b7},
+  {0x8230fc32, 0xe3a5b8},
+  {0x8230fc33, 0xe3a5b9},
+  {0x8230fc34, 0xe3a5ba},
+  {0x8230fc35, 0xe3a5bb},
+  {0x8230fc36, 0xe3a5bc},
+  {0x8230fc37, 0xe3a5bd},
+  {0x8230fc38, 0xe3a5be},
+  {0x8230fc39, 0xe3a5bf},
+  {0x8230fd30, 0xe3a680},
+  {0x8230fd31, 0xe3a681},
+  {0x8230fd32, 0xe3a682},
+  {0x8230fd33, 0xe3a683},
+  {0x8230fd34, 0xe3a684},
+  {0x8230fd35, 0xe3a685},
+  {0x8230fd36, 0xe3a686},
+  {0x8230fd37, 0xe3a687},
+  {0x8230fd38, 0xe3a688},
+  {0x8230fd39, 0xe3a689},
+  {0x8230fe30, 0xe3a68a},
+  {0x8230fe31, 0xe3a68b},
+  {0x8230fe32, 0xe3a68c},
+  {0x8230fe33, 0xe3a68d},
+  {0x8230fe34, 0xe3a68e},
+  {0x8230fe35, 0xe3a68f},
+  {0x8230fe36, 0xe3a690},
+  {0x8230fe37, 0xe3a691},
+  {0x8230fe38, 0xe3a692},
+  {0x8230fe39, 0xe3a693},
+  {0x82318130, 0xe3a694},
+  {0x82318131, 0xe3a695},
+  {0x82318132, 0xe3a696},
+  {0x82318133, 0xe3a697},
+  {0x82318134, 0xe3a698},
+  {0x82318135, 0xe3a699},
+  {0x82318136, 0xe3a69a},
+  {0x82318137, 0xe3a69b},
+  {0x82318138, 0xe3a69c},
+  {0x82318139, 0xe3a69d},
+  {0x82318230, 0xe3a69e},
+  {0x82318231, 0xe3a69f},
+  {0x82318232, 0xe3a6a0},
+  {0x82318233, 0xe3a6a1},
+  {0x82318234, 0xe3a6a2},
+  {0x82318235, 0xe3a6a3},
+  {0x82318236, 0xe3a6a4},
+  {0x82318237, 0xe3a6a5},
+  {0x82318238, 0xe3a6a6},
+  {0x82318239, 0xe3a6a7},
+  {0x82318330, 0xe3a6a8},
+  {0x82318331, 0xe3a6a9},
+  {0x82318332, 0xe3a6aa},
+  {0x82318333, 0xe3a6ab},
+  {0x82318334, 0xe3a6ac},
+  {0x82318335, 0xe3a6ad},
+  {0x82318336, 0xe3a6ae},
+  {0x82318337, 0xe3a6af},
+  {0x82318338, 0xe3a6b0},
+  {0x82318339, 0xe3a6b1},
+  {0x82318430, 0xe3a6b2},
+  {0x82318431, 0xe3a6b3},
+  {0x82318432, 0xe3a6b4},
+  {0x82318433, 0xe3a6b5},
+  {0x82318434, 0xe3a6b6},
+  {0x82318435, 0xe3a6b7},
+  {0x82318436, 0xe3a6b8},
+  {0x82318437, 0xe3a6b9},
+  {0x82318438, 0xe3a6ba},
+  {0x82318439, 0xe3a6bb},
+  {0x82318530, 0xe3a6bc},
+  {0x82318531, 0xe3a6bd},
+  {0x82318532, 0xe3a6be},
+  {0x82318533, 0xe3a6bf},
+  {0x82318534, 0xe3a780},
+  {0x82318535, 0xe3a781},
+  {0x82318536, 0xe3a782},
+  {0x82318537, 0xe3a783},
+  {0x82318538, 0xe3a784},
+  {0x82318539, 0xe3a785},
+  {0x82318630, 0xe3a786},
+  {0x82318631, 0xe3a787},
+  {0x82318632, 0xe3a788},
+  {0x82318633, 0xe3a789},
+  {0x82318634, 0xe3a78a},
+  {0x82318635, 0xe3a78b},
+  {0x82318636, 0xe3a78c},
+  {0x82318637, 0xe3a78d},
+  {0x82318638, 0xe3a78e},
+  {0x82318639, 0xe3a791},
+  {0x82318730, 0xe3a792},
+  {0x82318731, 0xe3a793},
+  {0x82318732, 0xe3a794},
+  {0x82318733, 0xe3a795},
+  {0x82318734, 0xe3a796},
+  {0x82318735, 0xe3a797},
+  {0x82318736, 0xe3a798},
+  {0x82318737, 0xe3a799},
+  {0x82318738, 0xe3a79a},
+  {0x82318739, 0xe3a79b},
+  {0x82318830, 0xe3a79c},
+  {0x82318831, 0xe3a79d},
+  {0x82318832, 0xe3a79e},
+  {0x82318833, 0xe3a7a0},
+  {0x82318834, 0xe3a7a1},
+  {0x82318835, 0xe3a7a2},
+  {0x82318836, 0xe3a7a3},
+  {0x82318837, 0xe3a7a4},
+  {0x82318838, 0xe3a7a5},
+  {0x82318839, 0xe3a7a6},
+  {0x82318930, 0xe3a7a7},
+  {0x82318931, 0xe3a7a8},
+  {0x82318932, 0xe3a7a9},
+  {0x82318933, 0xe3a7aa},
+  {0x82318934, 0xe3a7ab},
+  {0x82318935, 0xe3a7ac},
+  {0x82318936, 0xe3a7ad},
+  {0x82318937, 0xe3a7ae},
+  {0x82318938, 0xe3a7af},
+  {0x82318939, 0xe3a7b0},
+  {0x82318a30, 0xe3a7b1},
+  {0x82318a31, 0xe3a7b2},
+  {0x82318a32, 0xe3a7b3},
+  {0x82318a33, 0xe3a7b4},
+  {0x82318a34, 0xe3a7b5},
+  {0x82318a35, 0xe3a7b6},
+  {0x82318a36, 0xe3a7b7},
+  {0x82318a37, 0xe3a7b8},
+  {0x82318a38, 0xe3a7b9},
+  {0x82318a39, 0xe3a7ba},
+  {0x82318b30, 0xe3a7bb},
+  {0x82318b31, 0xe3a7bc},
+  {0x82318b32, 0xe3a7bd},
+  {0x82318b33, 0xe3a7be},
+  {0x82318b34, 0xe3a7bf},
+  {0x82318b35, 0xe3a880},
+  {0x82318b36, 0xe3a881},
+  {0x82318b37, 0xe3a882},
+  {0x82318b38, 0xe3a883},
+  {0x82318b39, 0xe3a884},
+  {0x82318c30, 0xe3a885},
+  {0x82318c31, 0xe3a886},
+  {0x82318c32, 0xe3a887},
+  {0x82318c33, 0xe3a888},
+  {0x82318c34, 0xe3a889},
+  {0x82318c35, 0xe3a88a},
+  {0x82318c36, 0xe3a88b},
+  {0x82318c37, 0xe3a88c},
+  {0x82318c38, 0xe3a88d},
+  {0x82318c39, 0xe3a88e},
+  {0x82318d30, 0xe3a88f},
+  {0x82318d31, 0xe3a890},
+  {0x82318d32, 0xe3a891},
+  {0x82318d33, 0xe3a892},
+  {0x82318d34, 0xe3a893},
+  {0x82318d35, 0xe3a894},
+  {0x82318d36, 0xe3a895},
+  {0x82318d37, 0xe3a896},
+  {0x82318d38, 0xe3a897},
+  {0x82318d39, 0xe3a898},
+  {0x82318e30, 0xe3a899},
+  {0x82318e31, 0xe3a89a},
+  {0x82318e32, 0xe3a89b},
+  {0x82318e33, 0xe3a89c},
+  {0x82318e34, 0xe3a89d},
+  {0x82318e35, 0xe3a89e},
+  {0x82318e36, 0xe3a89f},
+  {0x82318e37, 0xe3a8a0},
+  {0x82318e38, 0xe3a8a1},
+  {0x82318e39, 0xe3a8a2},
+  {0x82318f30, 0xe3a8a3},
+  {0x82318f31, 0xe3a8a4},
+  {0x82318f32, 0xe3a8a5},
+  {0x82318f33, 0xe3a8a6},
+  {0x82318f34, 0xe3a8a7},
+  {0x82318f35, 0xe3a8a8},
+  {0x82318f36, 0xe3a8a9},
+  {0x82318f37, 0xe3a8aa},
+  {0x82318f38, 0xe3a8ab},
+  {0x82318f39, 0xe3a8ac},
+  {0x82319030, 0xe3a8ad},
+  {0x82319031, 0xe3a8ae},
+  {0x82319032, 0xe3a8af},
+  {0x82319033, 0xe3a8b0},
+  {0x82319034, 0xe3a8b1},
+  {0x82319035, 0xe3a8b2},
+  {0x82319036, 0xe3a8b3},
+  {0x82319037, 0xe3a8b4},
+  {0x82319038, 0xe3a8b5},
+  {0x82319039, 0xe3a8b6},
+  {0x82319130, 0xe3a8b7},
+  {0x82319131, 0xe3a8b8},
+  {0x82319132, 0xe3a8b9},
+  {0x82319133, 0xe3a8ba},
+  {0x82319134, 0xe3a8bb},
+  {0x82319135, 0xe3a8bc},
+  {0x82319136, 0xe3a8bd},
+  {0x82319137, 0xe3a8be},
+  {0x82319138, 0xe3a8bf},
+  {0x82319139, 0xe3a980},
+  {0x82319230, 0xe3a981},
+  {0x82319231, 0xe3a982},
+  {0x82319232, 0xe3a983},
+  {0x82319233, 0xe3a984},
+  {0x82319234, 0xe3a985},
+  {0x82319235, 0xe3a986},
+  {0x82319236, 0xe3a987},
+  {0x82319237, 0xe3a988},
+  {0x82319238, 0xe3a989},
+  {0x82319239, 0xe3a98a},
+  {0x82319330, 0xe3a98b},
+  {0x82319331, 0xe3a98c},
+  {0x82319332, 0xe3a98d},
+  {0x82319333, 0xe3a98e},
+  {0x82319334, 0xe3a98f},
+  {0x82319335, 0xe3a990},
+  {0x82319336, 0xe3a991},
+  {0x82319337, 0xe3a992},
+  {0x82319338, 0xe3a993},
+  {0x82319339, 0xe3a994},
+  {0x82319430, 0xe3a995},
+  {0x82319431, 0xe3a996},
+  {0x82319432, 0xe3a997},
+  {0x82319433, 0xe3a998},
+  {0x82319434, 0xe3a999},
+  {0x82319435, 0xe3a99a},
+  {0x82319436, 0xe3a99b},
+  {0x82319437, 0xe3a99c},
+  {0x82319438, 0xe3a99d},
+  {0x82319439, 0xe3a99e},
+  {0x82319530, 0xe3a99f},
+  {0x82319531, 0xe3a9a0},
+  {0x82319532, 0xe3a9a1},
+  {0x82319533, 0xe3a9a2},
+  {0x82319534, 0xe3a9a3},
+  {0x82319535, 0xe3a9a4},
+  {0x82319536, 0xe3a9a5},
+  {0x82319537, 0xe3a9a6},
+  {0x82319538, 0xe3a9a7},
+  {0x82319539, 0xe3a9a8},
+  {0x82319630, 0xe3a9a9},
+  {0x82319631, 0xe3a9aa},
+  {0x82319632, 0xe3a9ab},
+  {0x82319633, 0xe3a9ac},
+  {0x82319634, 0xe3a9ad},
+  {0x82319635, 0xe3a9ae},
+  {0x82319636, 0xe3a9af},
+  {0x82319637, 0xe3a9b0},
+  {0x82319638, 0xe3a9b1},
+  {0x82319639, 0xe3a9b2},
+  {0x82319730, 0xe3a9b4},
+  {0x82319731, 0xe3a9b5},
+  {0x82319732, 0xe3a9b6},
+  {0x82319733, 0xe3a9b7},
+  {0x82319734, 0xe3a9b8},
+  {0x82319735, 0xe3a9b9},
+  {0x82319736, 0xe3a9ba},
+  {0x82319737, 0xe3a9bb},
+  {0x82319738, 0xe3a9bc},
+  {0x82319739, 0xe3a9bd},
+  {0x82319830, 0xe3a9be},
+  {0x82319831, 0xe3a9bf},
+  {0x82319832, 0xe3aa80},
+  {0x82319833, 0xe3aa81},
+  {0x82319834, 0xe3aa82},
+  {0x82319835, 0xe3aa83},
+  {0x82319836, 0xe3aa84},
+  {0x82319837, 0xe3aa85},
+  {0x82319838, 0xe3aa86},
+  {0x82319839, 0xe3aa87},
+  {0x82319930, 0xe3aa88},
+  {0x82319931, 0xe3aa89},
+  {0x82319932, 0xe3aa8a},
+  {0x82319933, 0xe3aa8b},
+  {0x82319934, 0xe3aa8c},
+  {0x82319935, 0xe3aa8d},
+  {0x82319936, 0xe3aa8e},
+  {0x82319937, 0xe3aa8f},
+  {0x82319938, 0xe3aa90},
+  {0x82319939, 0xe3aa91},
+  {0x82319a30, 0xe3aa92},
+  {0x82319a31, 0xe3aa93},
+  {0x82319a32, 0xe3aa94},
+  {0x82319a33, 0xe3aa95},
+  {0x82319a34, 0xe3aa96},
+  {0x82319a35, 0xe3aa97},
+  {0x82319a36, 0xe3aa98},
+  {0x82319a37, 0xe3aa99},
+  {0x82319a38, 0xe3aa9a},
+  {0x82319a39, 0xe3aa9b},
+  {0x82319b30, 0xe3aa9c},
+  {0x82319b31, 0xe3aa9d},
+  {0x82319b32, 0xe3aa9e},
+  {0x82319b33, 0xe3aa9f},
+  {0x82319b34, 0xe3aaa0},
+  {0x82319b35, 0xe3aaa1},
+  {0x82319b36, 0xe3aaa2},
+  {0x82319b37, 0xe3aaa3},
+  {0x82319b38, 0xe3aaa4},
+  {0x82319b39, 0xe3aaa5},
+  {0x82319c30, 0xe3aaa6},
+  {0x82319c31, 0xe3aaa7},
+  {0x82319c32, 0xe3aaa8},
+  {0x82319c33, 0xe3aaa9},
+  {0x82319c34, 0xe3aaaa},
+  {0x82319c35, 0xe3aaab},
+  {0x82319c36, 0xe3aaac},
+  {0x82319c37, 0xe3aaad},
+  {0x82319c38, 0xe3aaae},
+  {0x82319c39, 0xe3aaaf},
+  {0x82319d30, 0xe3aab0},
+  {0x82319d31, 0xe3aab1},
+  {0x82319d32, 0xe3aab2},
+  {0x82319d33, 0xe3aab3},
+  {0x82319d34, 0xe3aab4},
+  {0x82319d35, 0xe3aab5},
+  {0x82319d36, 0xe3aab6},
+  {0x82319d37, 0xe3aab7},
+  {0x82319d38, 0xe3aab8},
+  {0x82319d39, 0xe3aab9},
+  {0x82319e30, 0xe3aaba},
+  {0x82319e31, 0xe3aabb},
+  {0x82319e32, 0xe3aabc},
+  {0x82319e33, 0xe3aabd},
+  {0x82319e34, 0xe3aabe},
+  {0x82319e35, 0xe3aabf},
+  {0x82319e36, 0xe3ab80},
+  {0x82319e37, 0xe3ab81},
+  {0x82319e38, 0xe3ab82},
+  {0x82319e39, 0xe3ab83},
+  {0x82319f30, 0xe3ab84},
+  {0x82319f31, 0xe3ab85},
+  {0x82319f32, 0xe3ab86},
+  {0x82319f33, 0xe3ab87},
+  {0x82319f34, 0xe3ab88},
+  {0x82319f35, 0xe3ab89},
+  {0x82319f36, 0xe3ab8a},
+  {0x82319f37, 0xe3ab8b},
+  {0x82319f38, 0xe3ab8c},
+  {0x82319f39, 0xe3ab8d},
+  {0x8231a030, 0xe3ab8e},
+  {0x8231a031, 0xe3ab8f},
+  {0x8231a032, 0xe3ab90},
+  {0x8231a033, 0xe3ab91},
+  {0x8231a034, 0xe3ab92},
+  {0x8231a035, 0xe3ab93},
+  {0x8231a036, 0xe3ab94},
+  {0x8231a037, 0xe3ab95},
+  {0x8231a038, 0xe3ab96},
+  {0x8231a039, 0xe3ab97},
+  {0x8231a130, 0xe3ab98},
+  {0x8231a131, 0xe3ab99},
+  {0x8231a132, 0xe3ab9a},
+  {0x8231a133, 0xe3ab9b},
+  {0x8231a134, 0xe3ab9c},
+  {0x8231a135, 0xe3ab9d},
+  {0x8231a136, 0xe3ab9e},
+  {0x8231a137, 0xe3ab9f},
+  {0x8231a138, 0xe3aba0},
+  {0x8231a139, 0xe3aba1},
+  {0x8231a230, 0xe3aba2},
+  {0x8231a231, 0xe3aba3},
+  {0x8231a232, 0xe3aba4},
+  {0x8231a233, 0xe3aba5},
+  {0x8231a234, 0xe3aba6},
+  {0x8231a235, 0xe3aba7},
+  {0x8231a236, 0xe3aba8},
+  {0x8231a237, 0xe3aba9},
+  {0x8231a238, 0xe3abaa},
+  {0x8231a239, 0xe3abab},
+  {0x8231a330, 0xe3abac},
+  {0x8231a331, 0xe3abad},
+  {0x8231a332, 0xe3abae},
+  {0x8231a333, 0xe3abaf},
+  {0x8231a334, 0xe3abb0},
+  {0x8231a335, 0xe3abb1},
+  {0x8231a336, 0xe3abb2},
+  {0x8231a337, 0xe3abb3},
+  {0x8231a338, 0xe3abb4},
+  {0x8231a339, 0xe3abb5},
+  {0x8231a430, 0xe3abb6},
+  {0x8231a431, 0xe3abb7},
+  {0x8231a432, 0xe3abb8},
+  {0x8231a433, 0xe3abb9},
+  {0x8231a434, 0xe3abba},
+  {0x8231a435, 0xe3abbb},
+  {0x8231a436, 0xe3abbc},
+  {0x8231a437, 0xe3abbd},
+  {0x8231a438, 0xe3abbe},
+  {0x8231a439, 0xe3abbf},
+  {0x8231a530, 0xe3ac80},
+  {0x8231a531, 0xe3ac81},
+  {0x8231a532, 0xe3ac82},
+  {0x8231a533, 0xe3ac83},
+  {0x8231a534, 0xe3ac84},
+  {0x8231a535, 0xe3ac85},
+  {0x8231a536, 0xe3ac86},
+  {0x8231a537, 0xe3ac87},
+  {0x8231a538, 0xe3ac88},
+  {0x8231a539, 0xe3ac89},
+  {0x8231a630, 0xe3ac8a},
+  {0x8231a631, 0xe3ac8b},
+  {0x8231a632, 0xe3ac8c},
+  {0x8231a633, 0xe3ac8d},
+  {0x8231a634, 0xe3ac8e},
+  {0x8231a635, 0xe3ac8f},
+  {0x8231a636, 0xe3ac90},
+  {0x8231a637, 0xe3ac91},
+  {0x8231a638, 0xe3ac92},
+  {0x8231a639, 0xe3ac93},
+  {0x8231a730, 0xe3ac94},
+  {0x8231a731, 0xe3ac95},
+  {0x8231a732, 0xe3ac96},
+  {0x8231a733, 0xe3ac97},
+  {0x8231a734, 0xe3ac98},
+  {0x8231a735, 0xe3ac99},
+  {0x8231a736, 0xe3ac9a},
+  {0x8231a737, 0xe3ac9b},
+  {0x8231a738, 0xe3ac9c},
+  {0x8231a739, 0xe3ac9d},
+  {0x8231a830, 0xe3ac9e},
+  {0x8231a831, 0xe3ac9f},
+  {0x8231a832, 0xe3aca0},
+  {0x8231a833, 0xe3aca1},
+  {0x8231a834, 0xe3aca2},
+  {0x8231a835, 0xe3aca3},
+  {0x8231a836, 0xe3aca4},
+  {0x8231a837, 0xe3aca5},
+  {0x8231a838, 0xe3aca6},
+  {0x8231a839, 0xe3aca7},
+  {0x8231a930, 0xe3aca8},
+  {0x8231a931, 0xe3aca9},
+  {0x8231a932, 0xe3acaa},
+  {0x8231a933, 0xe3acab},
+  {0x8231a934, 0xe3acac},
+  {0x8231a935, 0xe3acad},
+  {0x8231a936, 0xe3acae},
+  {0x8231a937, 0xe3acaf},
+  {0x8231a938, 0xe3acb0},
+  {0x8231a939, 0xe3acb1},
+  {0x8231aa30, 0xe3acb2},
+  {0x8231aa31, 0xe3acb3},
+  {0x8231aa32, 0xe3acb4},
+  {0x8231aa33, 0xe3acb5},
+  {0x8231aa34, 0xe3acb6},
+  {0x8231aa35, 0xe3acb7},
+  {0x8231aa36, 0xe3acb8},
+  {0x8231aa37, 0xe3acb9},
+  {0x8231aa38, 0xe3acba},
+  {0x8231aa39, 0xe3acbb},
+  {0x8231ab30, 0xe3acbc},
+  {0x8231ab31, 0xe3acbd},
+  {0x8231ab32, 0xe3acbe},
+  {0x8231ab33, 0xe3acbf},
+  {0x8231ab34, 0xe3ad80},
+  {0x8231ab35, 0xe3ad81},
+  {0x8231ab36, 0xe3ad82},
+  {0x8231ab37, 0xe3ad83},
+  {0x8231ab38, 0xe3ad84},
+  {0x8231ab39, 0xe3ad85},
+  {0x8231ac30, 0xe3ad86},
+  {0x8231ac31, 0xe3ad87},
+  {0x8231ac32, 0xe3ad88},
+  {0x8231ac33, 0xe3ad89},
+  {0x8231ac34, 0xe3ad8a},
+  {0x8231ac35, 0xe3ad8b},
+  {0x8231ac36, 0xe3ad8c},
+  {0x8231ac37, 0xe3ad8d},
+  {0x8231ac38, 0xe3ad8f},
+  {0x8231ac39, 0xe3ad90},
+  {0x8231ad30, 0xe3ad91},
+  {0x8231ad31, 0xe3ad92},
+  {0x8231ad32, 0xe3ad93},
+  {0x8231ad33, 0xe3ad94},
+  {0x8231ad34, 0xe3ad95},
+  {0x8231ad35, 0xe3ad96},
+  {0x8231ad36, 0xe3ad97},
+  {0x8231ad37, 0xe3ad98},
+  {0x8231ad38, 0xe3ad99},
+  {0x8231ad39, 0xe3ad9a},
+  {0x8231ae30, 0xe3ad9b},
+  {0x8231ae31, 0xe3ad9c},
+  {0x8231ae32, 0xe3ad9d},
+  {0x8231ae33, 0xe3ad9e},
+  {0x8231ae34, 0xe3ad9f},
+  {0x8231ae35, 0xe3ada0},
+  {0x8231ae36, 0xe3ada1},
+  {0x8231ae37, 0xe3ada2},
+  {0x8231ae38, 0xe3ada3},
+  {0x8231ae39, 0xe3ada4},
+  {0x8231af30, 0xe3ada5},
+  {0x8231af31, 0xe3ada6},
+  {0x8231af32, 0xe3ada7},
+  {0x8231af33, 0xe3ada8},
+  {0x8231af34, 0xe3ada9},
+  {0x8231af35, 0xe3adaa},
+  {0x8231af36, 0xe3adab},
+  {0x8231af37, 0xe3adac},
+  {0x8231af38, 0xe3adad},
+  {0x8231af39, 0xe3adae},
+  {0x8231b030, 0xe3adaf},
+  {0x8231b031, 0xe3adb0},
+  {0x8231b032, 0xe3adb1},
+  {0x8231b033, 0xe3adb2},
+  {0x8231b034, 0xe3adb3},
+  {0x8231b035, 0xe3adb4},
+  {0x8231b036, 0xe3adb5},
+  {0x8231b037, 0xe3adb6},
+  {0x8231b038, 0xe3adb7},
+  {0x8231b039, 0xe3adb8},
+  {0x8231b130, 0xe3adb9},
+  {0x8231b131, 0xe3adba},
+  {0x8231b132, 0xe3adbb},
+  {0x8231b133, 0xe3adbc},
+  {0x8231b134, 0xe3adbd},
+  {0x8231b135, 0xe3adbe},
+  {0x8231b136, 0xe3adbf},
+  {0x8231b137, 0xe3ae80},
+  {0x8231b138, 0xe3ae81},
+  {0x8231b139, 0xe3ae82},
+  {0x8231b230, 0xe3ae83},
+  {0x8231b231, 0xe3ae84},
+  {0x8231b232, 0xe3ae85},
+  {0x8231b233, 0xe3ae86},
+  {0x8231b234, 0xe3ae87},
+  {0x8231b235, 0xe3ae88},
+  {0x8231b236, 0xe3ae89},
+  {0x8231b237, 0xe3ae8a},
+  {0x8231b238, 0xe3ae8b},
+  {0x8231b239, 0xe3ae8c},
+  {0x8231b330, 0xe3ae8d},
+  {0x8231b331, 0xe3ae8e},
+  {0x8231b332, 0xe3ae8f},
+  {0x8231b333, 0xe3ae90},
+  {0x8231b334, 0xe3ae91},
+  {0x8231b335, 0xe3ae92},
+  {0x8231b336, 0xe3ae93},
+  {0x8231b337, 0xe3ae94},
+  {0x8231b338, 0xe3ae95},
+  {0x8231b339, 0xe3ae96},
+  {0x8231b430, 0xe3ae97},
+  {0x8231b431, 0xe3ae98},
+  {0x8231b432, 0xe3ae99},
+  {0x8231b433, 0xe3ae9a},
+  {0x8231b434, 0xe3ae9b},
+  {0x8231b435, 0xe3ae9c},
+  {0x8231b436, 0xe3ae9d},
+  {0x8231b437, 0xe3ae9e},
+  {0x8231b438, 0xe3ae9f},
+  {0x8231b439, 0xe3aea0},
+  {0x8231b530, 0xe3aea1},
+  {0x8231b531, 0xe3aea2},
+  {0x8231b532, 0xe3aea3},
+  {0x8231b533, 0xe3aea4},
+  {0x8231b534, 0xe3aea5},
+  {0x8231b535, 0xe3aea6},
+  {0x8231b536, 0xe3aea7},
+  {0x8231b537, 0xe3aea8},
+  {0x8231b538, 0xe3aea9},
+  {0x8231b539, 0xe3aeaa},
+  {0x8231b630, 0xe3aeab},
+  {0x8231b631, 0xe3aeac},
+  {0x8231b632, 0xe3aead},
+  {0x8231b633, 0xe3aeae},
+  {0x8231b634, 0xe3aeaf},
+  {0x8231b635, 0xe3aeb0},
+  {0x8231b636, 0xe3aeb1},
+  {0x8231b637, 0xe3aeb2},
+  {0x8231b638, 0xe3aeb3},
+  {0x8231b639, 0xe3aeb4},
+  {0x8231b730, 0xe3aeb5},
+  {0x8231b731, 0xe3aeb6},
+  {0x8231b732, 0xe3aeb7},
+  {0x8231b733, 0xe3aeb8},
+  {0x8231b734, 0xe3aeb9},
+  {0x8231b735, 0xe3aeba},
+  {0x8231b736, 0xe3aebb},
+  {0x8231b737, 0xe3aebc},
+  {0x8231b738, 0xe3aebd},
+  {0x8231b739, 0xe3aebe},
+  {0x8231b830, 0xe3aebf},
+  {0x8231b831, 0xe3af80},
+  {0x8231b832, 0xe3af81},
+  {0x8231b833, 0xe3af82},
+  {0x8231b834, 0xe3af83},
+  {0x8231b835, 0xe3af84},
+  {0x8231b836, 0xe3af85},
+  {0x8231b837, 0xe3af86},
+  {0x8231b838, 0xe3af87},
+  {0x8231b839, 0xe3af88},
+  {0x8231b930, 0xe3af89},
+  {0x8231b931, 0xe3af8a},
+  {0x8231b932, 0xe3af8b},
+  {0x8231b933, 0xe3af8c},
+  {0x8231b934, 0xe3af8d},
+  {0x8231b935, 0xe3af8e},
+  {0x8231b936, 0xe3af8f},
+  {0x8231b937, 0xe3af90},
+  {0x8231b938, 0xe3af91},
+  {0x8231b939, 0xe3af92},
+  {0x8231ba30, 0xe3af93},
+  {0x8231ba31, 0xe3af94},
+  {0x8231ba32, 0xe3af95},
+  {0x8231ba33, 0xe3af96},
+  {0x8231ba34, 0xe3af97},
+  {0x8231ba35, 0xe3af98},
+  {0x8231ba36, 0xe3af99},
+  {0x8231ba37, 0xe3af9a},
+  {0x8231ba38, 0xe3af9b},
+  {0x8231ba39, 0xe3af9c},
+  {0x8231bb30, 0xe3af9d},
+  {0x8231bb31, 0xe3af9e},
+  {0x8231bb32, 0xe3af9f},
+  {0x8231bb33, 0xe3afa0},
+  {0x8231bb34, 0xe3afa1},
+  {0x8231bb35, 0xe3afa2},
+  {0x8231bb36, 0xe3afa3},
+  {0x8231bb37, 0xe3afa4},
+  {0x8231bb38, 0xe3afa5},
+  {0x8231bb39, 0xe3afa6},
+  {0x8231bc30, 0xe3afa7},
+  {0x8231bc31, 0xe3afa8},
+  {0x8231bc32, 0xe3afa9},
+  {0x8231bc33, 0xe3afaa},
+  {0x8231bc34, 0xe3afab},
+  {0x8231bc35, 0xe3afac},
+  {0x8231bc36, 0xe3afad},
+  {0x8231bc37, 0xe3afae},
+  {0x8231bc38, 0xe3afaf},
+  {0x8231bc39, 0xe3afb0},
+  {0x8231bd30, 0xe3afb1},
+  {0x8231bd31, 0xe3afb2},
+  {0x8231bd32, 0xe3afb3},
+  {0x8231bd33, 0xe3afb4},
+  {0x8231bd34, 0xe3afb5},
+  {0x8231bd35, 0xe3afb6},
+  {0x8231bd36, 0xe3afb7},
+  {0x8231bd37, 0xe3afb8},
+  {0x8231bd38, 0xe3afb9},
+  {0x8231bd39, 0xe3afba},
+  {0x8231be30, 0xe3afbb},
+  {0x8231be31, 0xe3afbc},
+  {0x8231be32, 0xe3afbd},
+  {0x8231be33, 0xe3afbe},
+  {0x8231be34, 0xe3afbf},
+  {0x8231be35, 0xe3b080},
+  {0x8231be36, 0xe3b081},
+  {0x8231be37, 0xe3b082},
+  {0x8231be38, 0xe3b083},
+  {0x8231be39, 0xe3b084},
+  {0x8231bf30, 0xe3b085},
+  {0x8231bf31, 0xe3b086},
+  {0x8231bf32, 0xe3b087},
+  {0x8231bf33, 0xe3b088},
+  {0x8231bf34, 0xe3b089},
+  {0x8231bf35, 0xe3b08a},
+  {0x8231bf36, 0xe3b08b},
+  {0x8231bf37, 0xe3b08c},
+  {0x8231bf38, 0xe3b08d},
+  {0x8231bf39, 0xe3b08e},
+  {0x8231c030, 0xe3b08f},
+  {0x8231c031, 0xe3b090},
+  {0x8231c032, 0xe3b091},
+  {0x8231c033, 0xe3b092},
+  {0x8231c034, 0xe3b093},
+  {0x8231c035, 0xe3b094},
+  {0x8231c036, 0xe3b095},
+  {0x8231c037, 0xe3b096},
+  {0x8231c038, 0xe3b097},
+  {0x8231c039, 0xe3b098},
+  {0x8231c130, 0xe3b099},
+  {0x8231c131, 0xe3b09a},
+  {0x8231c132, 0xe3b09b},
+  {0x8231c133, 0xe3b09c},
+  {0x8231c134, 0xe3b09d},
+  {0x8231c135, 0xe3b09e},
+  {0x8231c136, 0xe3b09f},
+  {0x8231c137, 0xe3b0a0},
+  {0x8231c138, 0xe3b0a1},
+  {0x8231c139, 0xe3b0a2},
+  {0x8231c230, 0xe3b0a3},
+  {0x8231c231, 0xe3b0a4},
+  {0x8231c232, 0xe3b0a5},
+  {0x8231c233, 0xe3b0a6},
+  {0x8231c234, 0xe3b0a7},
+  {0x8231c235, 0xe3b0a8},
+  {0x8231c236, 0xe3b0a9},
+  {0x8231c237, 0xe3b0aa},
+  {0x8231c238, 0xe3b0ab},
+  {0x8231c239, 0xe3b0ac},
+  {0x8231c330, 0xe3b0ad},
+  {0x8231c331, 0xe3b0ae},
+  {0x8231c332, 0xe3b0af},
+  {0x8231c333, 0xe3b0b0},
+  {0x8231c334, 0xe3b0b1},
+  {0x8231c335, 0xe3b0b2},
+  {0x8231c336, 0xe3b0b3},
+  {0x8231c337, 0xe3b0b4},
+  {0x8231c338, 0xe3b0b5},
+  {0x8231c339, 0xe3b0b6},
+  {0x8231c430, 0xe3b0b7},
+  {0x8231c431, 0xe3b0b8},
+  {0x8231c432, 0xe3b0b9},
+  {0x8231c433, 0xe3b0ba},
+  {0x8231c434, 0xe3b0bb},
+  {0x8231c435, 0xe3b0bc},
+  {0x8231c436, 0xe3b0bd},
+  {0x8231c437, 0xe3b0be},
+  {0x8231c438, 0xe3b0bf},
+  {0x8231c439, 0xe3b180},
+  {0x8231c530, 0xe3b181},
+  {0x8231c531, 0xe3b182},
+  {0x8231c532, 0xe3b183},
+  {0x8231c533, 0xe3b184},
+  {0x8231c534, 0xe3b185},
+  {0x8231c535, 0xe3b186},
+  {0x8231c536, 0xe3b187},
+  {0x8231c537, 0xe3b188},
+  {0x8231c538, 0xe3b189},
+  {0x8231c539, 0xe3b18a},
+  {0x8231c630, 0xe3b18b},
+  {0x8231c631, 0xe3b18c},
+  {0x8231c632, 0xe3b18d},
+  {0x8231c633, 0xe3b18e},
+  {0x8231c634, 0xe3b18f},
+  {0x8231c635, 0xe3b190},
+  {0x8231c636, 0xe3b191},
+  {0x8231c637, 0xe3b192},
+  {0x8231c638, 0xe3b193},
+  {0x8231c639, 0xe3b194},
+  {0x8231c730, 0xe3b195},
+  {0x8231c731, 0xe3b196},
+  {0x8231c732, 0xe3b197},
+  {0x8231c733, 0xe3b198},
+  {0x8231c734, 0xe3b199},
+  {0x8231c735, 0xe3b19a},
+  {0x8231c736, 0xe3b19b},
+  {0x8231c737, 0xe3b19c},
+  {0x8231c738, 0xe3b19d},
+  {0x8231c739, 0xe3b19e},
+  {0x8231c830, 0xe3b19f},
+  {0x8231c831, 0xe3b1a0},
+  {0x8231c832, 0xe3b1a1},
+  {0x8231c833, 0xe3b1a2},
+  {0x8231c834, 0xe3b1a3},
+  {0x8231c835, 0xe3b1a4},
+  {0x8231c836, 0xe3b1a5},
+  {0x8231c837, 0xe3b1a6},
+  {0x8231c838, 0xe3b1a7},
+  {0x8231c839, 0xe3b1a8},
+  {0x8231c930, 0xe3b1a9},
+  {0x8231c931, 0xe3b1aa},
+  {0x8231c932, 0xe3b1ab},
+  {0x8231c933, 0xe3b1ac},
+  {0x8231c934, 0xe3b1ad},
+  {0x8231c935, 0xe3b1af},
+  {0x8231c936, 0xe3b1b0},
+  {0x8231c937, 0xe3b1b1},
+  {0x8231c938, 0xe3b1b2},
+  {0x8231c939, 0xe3b1b3},
+  {0x8231ca30, 0xe3b1b4},
+  {0x8231ca31, 0xe3b1b5},
+  {0x8231ca32, 0xe3b1b6},
+  {0x8231ca33, 0xe3b1b7},
+  {0x8231ca34, 0xe3b1b8},
+  {0x8231ca35, 0xe3b1b9},
+  {0x8231ca36, 0xe3b1ba},
+  {0x8231ca37, 0xe3b1bb},
+  {0x8231ca38, 0xe3b1bc},
+  {0x8231ca39, 0xe3b1bd},
+  {0x8231cb30, 0xe3b1be},
+  {0x8231cb31, 0xe3b1bf},
+  {0x8231cb32, 0xe3b280},
+  {0x8231cb33, 0xe3b281},
+  {0x8231cb34, 0xe3b282},
+  {0x8231cb35, 0xe3b283},
+  {0x8231cb36, 0xe3b284},
+  {0x8231cb37, 0xe3b285},
+  {0x8231cb38, 0xe3b286},
+  {0x8231cb39, 0xe3b287},
+  {0x8231cc30, 0xe3b288},
+  {0x8231cc31, 0xe3b289},
+  {0x8231cc32, 0xe3b28a},
+  {0x8231cc33, 0xe3b28b},
+  {0x8231cc34, 0xe3b28c},
+  {0x8231cc35, 0xe3b28d},
+  {0x8231cc36, 0xe3b28e},
+  {0x8231cc37, 0xe3b28f},
+  {0x8231cc38, 0xe3b290},
+  {0x8231cc39, 0xe3b291},
+  {0x8231cd30, 0xe3b292},
+  {0x8231cd31, 0xe3b293},
+  {0x8231cd32, 0xe3b294},
+  {0x8231cd33, 0xe3b295},
+  {0x8231cd34, 0xe3b296},
+  {0x8231cd35, 0xe3b297},
+  {0x8231cd36, 0xe3b298},
+  {0x8231cd37, 0xe3b299},
+  {0x8231cd38, 0xe3b29a},
+  {0x8231cd39, 0xe3b29b},
+  {0x8231ce30, 0xe3b29c},
+  {0x8231ce31, 0xe3b29d},
+  {0x8231ce32, 0xe3b29e},
+  {0x8231ce33, 0xe3b29f},
+  {0x8231ce34, 0xe3b2a0},
+  {0x8231ce35, 0xe3b2a1},
+  {0x8231ce36, 0xe3b2a2},
+  {0x8231ce37, 0xe3b2a3},
+  {0x8231ce38, 0xe3b2a4},
+  {0x8231ce39, 0xe3b2a5},
+  {0x8231cf30, 0xe3b2a6},
+  {0x8231cf31, 0xe3b2a7},
+  {0x8231cf32, 0xe3b2a8},
+  {0x8231cf33, 0xe3b2a9},
+  {0x8231cf34, 0xe3b2aa},
+  {0x8231cf35, 0xe3b2ab},
+  {0x8231cf36, 0xe3b2ac},
+  {0x8231cf37, 0xe3b2ad},
+  {0x8231cf38, 0xe3b2ae},
+  {0x8231cf39, 0xe3b2af},
+  {0x8231d030, 0xe3b2b0},
+  {0x8231d031, 0xe3b2b1},
+  {0x8231d032, 0xe3b2b2},
+  {0x8231d033, 0xe3b2b3},
+  {0x8231d034, 0xe3b2b4},
+  {0x8231d035, 0xe3b2b5},
+  {0x8231d036, 0xe3b2b6},
+  {0x8231d037, 0xe3b2b7},
+  {0x8231d038, 0xe3b2b8},
+  {0x8231d039, 0xe3b2b9},
+  {0x8231d130, 0xe3b2ba},
+  {0x8231d131, 0xe3b2bb},
+  {0x8231d132, 0xe3b2bc},
+  {0x8231d133, 0xe3b2bd},
+  {0x8231d134, 0xe3b2be},
+  {0x8231d135, 0xe3b2bf},
+  {0x8231d136, 0xe3b380},
+  {0x8231d137, 0xe3b381},
+  {0x8231d138, 0xe3b382},
+  {0x8231d139, 0xe3b383},
+  {0x8231d230, 0xe3b384},
+  {0x8231d231, 0xe3b385},
+  {0x8231d232, 0xe3b386},
+  {0x8231d233, 0xe3b387},
+  {0x8231d234, 0xe3b388},
+  {0x8231d235, 0xe3b389},
+  {0x8231d236, 0xe3b38a},
+  {0x8231d237, 0xe3b38b},
+  {0x8231d238, 0xe3b38c},
+  {0x8231d239, 0xe3b38d},
+  {0x8231d330, 0xe3b38e},
+  {0x8231d331, 0xe3b38f},
+  {0x8231d332, 0xe3b390},
+  {0x8231d333, 0xe3b391},
+  {0x8231d334, 0xe3b392},
+  {0x8231d335, 0xe3b393},
+  {0x8231d336, 0xe3b394},
+  {0x8231d337, 0xe3b395},
+  {0x8231d338, 0xe3b396},
+  {0x8231d339, 0xe3b397},
+  {0x8231d430, 0xe3b398},
+  {0x8231d431, 0xe3b399},
+  {0x8231d432, 0xe3b39a},
+  {0x8231d433, 0xe3b39b},
+  {0x8231d434, 0xe3b39c},
+  {0x8231d435, 0xe3b39d},
+  {0x8231d436, 0xe3b39e},
+  {0x8231d437, 0xe3b39f},
+  {0x8231d438, 0xe3b3a1},
+  {0x8231d439, 0xe3b3a2},
+  {0x8231d530, 0xe3b3a3},
+  {0x8231d531, 0xe3b3a4},
+  {0x8231d532, 0xe3b3a5},
+  {0x8231d533, 0xe3b3a6},
+  {0x8231d534, 0xe3b3a7},
+  {0x8231d535, 0xe3b3a8},
+  {0x8231d536, 0xe3b3a9},
+  {0x8231d537, 0xe3b3aa},
+  {0x8231d538, 0xe3b3ab},
+  {0x8231d539, 0xe3b3ac},
+  {0x8231d630, 0xe3b3ad},
+  {0x8231d631, 0xe3b3ae},
+  {0x8231d632, 0xe3b3af},
+  {0x8231d633, 0xe3b3b0},
+  {0x8231d634, 0xe3b3b1},
+  {0x8231d635, 0xe3b3b2},
+  {0x8231d636, 0xe3b3b3},
+  {0x8231d637, 0xe3b3b4},
+  {0x8231d638, 0xe3b3b5},
+  {0x8231d639, 0xe3b3b6},
+  {0x8231d730, 0xe3b3b7},
+  {0x8231d731, 0xe3b3b8},
+  {0x8231d732, 0xe3b3b9},
+  {0x8231d733, 0xe3b3ba},
+  {0x8231d734, 0xe3b3bb},
+  {0x8231d735, 0xe3b3bc},
+  {0x8231d736, 0xe3b3bd},
+  {0x8231d737, 0xe3b3be},
+  {0x8231d738, 0xe3b3bf},
+  {0x8231d739, 0xe3b480},
+  {0x8231d830, 0xe3b481},
+  {0x8231d831, 0xe3b482},
+  {0x8231d832, 0xe3b483},
+  {0x8231d833, 0xe3b484},
+  {0x8231d834, 0xe3b485},
+  {0x8231d835, 0xe3b486},
+  {0x8231d836, 0xe3b487},
+  {0x8231d837, 0xe3b488},
+  {0x8231d838, 0xe3b489},
+  {0x8231d839, 0xe3b48a},
+  {0x8231d930, 0xe3b48b},
+  {0x8231d931, 0xe3b48c},
+  {0x8231d932, 0xe3b48d},
+  {0x8231d933, 0xe3b48e},
+  {0x8231d934, 0xe3b48f},
+  {0x8231d935, 0xe3b490},
+  {0x8231d936, 0xe3b491},
+  {0x8231d937, 0xe3b492},
+  {0x8231d938, 0xe3b493},
+  {0x8231d939, 0xe3b494},
+  {0x8231da30, 0xe3b495},
+  {0x8231da31, 0xe3b496},
+  {0x8231da32, 0xe3b497},
+  {0x8231da33, 0xe3b498},
+  {0x8231da34, 0xe3b499},
+  {0x8231da35, 0xe3b49a},
+  {0x8231da36, 0xe3b49b},
+  {0x8231da37, 0xe3b49c},
+  {0x8231da38, 0xe3b49d},
+  {0x8231da39, 0xe3b49e},
+  {0x8231db30, 0xe3b49f},
+  {0x8231db31, 0xe3b4a0},
+  {0x8231db32, 0xe3b4a1},
+  {0x8231db33, 0xe3b4a2},
+  {0x8231db34, 0xe3b4a3},
+  {0x8231db35, 0xe3b4a4},
+  {0x8231db36, 0xe3b4a5},
+  {0x8231db37, 0xe3b4a6},
+  {0x8231db38, 0xe3b4a7},
+  {0x8231db39, 0xe3b4a8},
+  {0x8231dc30, 0xe3b4a9},
+  {0x8231dc31, 0xe3b4aa},
+  {0x8231dc32, 0xe3b4ab},
+  {0x8231dc33, 0xe3b4ac},
+  {0x8231dc34, 0xe3b4ad},
+  {0x8231dc35, 0xe3b4ae},
+  {0x8231dc36, 0xe3b4af},
+  {0x8231dc37, 0xe3b4b0},
+  {0x8231dc38, 0xe3b4b1},
+  {0x8231dc39, 0xe3b4b2},
+  {0x8231dd30, 0xe3b4b3},
+  {0x8231dd31, 0xe3b4b4},
+  {0x8231dd32, 0xe3b4b5},
+  {0x8231dd33, 0xe3b4b6},
+  {0x8231dd34, 0xe3b4b7},
+  {0x8231dd35, 0xe3b4b8},
+  {0x8231dd36, 0xe3b4b9},
+  {0x8231dd37, 0xe3b4ba},
+  {0x8231dd38, 0xe3b4bb},
+  {0x8231dd39, 0xe3b4bc},
+  {0x8231de30, 0xe3b4bd},
+  {0x8231de31, 0xe3b4be},
+  {0x8231de32, 0xe3b4bf},
+  {0x8231de33, 0xe3b580},
+  {0x8231de34, 0xe3b581},
+  {0x8231de35, 0xe3b582},
+  {0x8231de36, 0xe3b583},
+  {0x8231de37, 0xe3b584},
+  {0x8231de38, 0xe3b585},
+  {0x8231de39, 0xe3b586},
+  {0x8231df30, 0xe3b587},
+  {0x8231df31, 0xe3b588},
+  {0x8231df32, 0xe3b589},
+  {0x8231df33, 0xe3b58a},
+  {0x8231df34, 0xe3b58b},
+  {0x8231df35, 0xe3b58c},
+  {0x8231df36, 0xe3b58d},
+  {0x8231df37, 0xe3b58e},
+  {0x8231df38, 0xe3b58f},
+  {0x8231df39, 0xe3b590},
+  {0x8231e030, 0xe3b591},
+  {0x8231e031, 0xe3b592},
+  {0x8231e032, 0xe3b593},
+  {0x8231e033, 0xe3b594},
+  {0x8231e034, 0xe3b595},
+  {0x8231e035, 0xe3b596},
+  {0x8231e036, 0xe3b597},
+  {0x8231e037, 0xe3b598},
+  {0x8231e038, 0xe3b599},
+  {0x8231e039, 0xe3b59a},
+  {0x8231e130, 0xe3b59b},
+  {0x8231e131, 0xe3b59c},
+  {0x8231e132, 0xe3b59d},
+  {0x8231e133, 0xe3b59e},
+  {0x8231e134, 0xe3b59f},
+  {0x8231e135, 0xe3b5a0},
+  {0x8231e136, 0xe3b5a1},
+  {0x8231e137, 0xe3b5a2},
+  {0x8231e138, 0xe3b5a3},
+  {0x8231e139, 0xe3b5a4},
+  {0x8231e230, 0xe3b5a5},
+  {0x8231e231, 0xe3b5a6},
+  {0x8231e232, 0xe3b5a7},
+  {0x8231e233, 0xe3b5a8},
+  {0x8231e234, 0xe3b5a9},
+  {0x8231e235, 0xe3b5aa},
+  {0x8231e236, 0xe3b5ab},
+  {0x8231e237, 0xe3b5ac},
+  {0x8231e238, 0xe3b5ad},
+  {0x8231e239, 0xe3b5ae},
+  {0x8231e330, 0xe3b5af},
+  {0x8231e331, 0xe3b5b0},
+  {0x8231e332, 0xe3b5b1},
+  {0x8231e333, 0xe3b5b2},
+  {0x8231e334, 0xe3b5b3},
+  {0x8231e335, 0xe3b5b4},
+  {0x8231e336, 0xe3b5b5},
+  {0x8231e337, 0xe3b5b6},
+  {0x8231e338, 0xe3b5b7},
+  {0x8231e339, 0xe3b5b8},
+  {0x8231e430, 0xe3b5b9},
+  {0x8231e431, 0xe3b5ba},
+  {0x8231e432, 0xe3b5bb},
+  {0x8231e433, 0xe3b5bc},
+  {0x8231e434, 0xe3b5bd},
+  {0x8231e435, 0xe3b5be},
+  {0x8231e436, 0xe3b5bf},
+  {0x8231e437, 0xe3b680},
+  {0x8231e438, 0xe3b681},
+  {0x8231e439, 0xe3b682},
+  {0x8231e530, 0xe3b683},
+  {0x8231e531, 0xe3b684},
+  {0x8231e532, 0xe3b685},
+  {0x8231e533, 0xe3b686},
+  {0x8231e534, 0xe3b687},
+  {0x8231e535, 0xe3b688},
+  {0x8231e536, 0xe3b689},
+  {0x8231e537, 0xe3b68a},
+  {0x8231e538, 0xe3b68b},
+  {0x8231e539, 0xe3b68c},
+  {0x8231e630, 0xe3b68d},
+  {0x8231e631, 0xe3b68e},
+  {0x8231e632, 0xe3b68f},
+  {0x8231e633, 0xe3b690},
+  {0x8231e634, 0xe3b691},
+  {0x8231e635, 0xe3b692},
+  {0x8231e636, 0xe3b693},
+  {0x8231e637, 0xe3b694},
+  {0x8231e638, 0xe3b695},
+  {0x8231e639, 0xe3b696},
+  {0x8231e730, 0xe3b697},
+  {0x8231e731, 0xe3b698},
+  {0x8231e732, 0xe3b699},
+  {0x8231e733, 0xe3b69a},
+  {0x8231e734, 0xe3b69b},
+  {0x8231e735, 0xe3b69c},
+  {0x8231e736, 0xe3b69d},
+  {0x8231e737, 0xe3b69e},
+  {0x8231e738, 0xe3b69f},
+  {0x8231e739, 0xe3b6a0},
+  {0x8231e830, 0xe3b6a1},
+  {0x8231e831, 0xe3b6a2},
+  {0x8231e832, 0xe3b6a3},
+  {0x8231e833, 0xe3b6a4},
+  {0x8231e834, 0xe3b6a5},
+  {0x8231e835, 0xe3b6a6},
+  {0x8231e836, 0xe3b6a7},
+  {0x8231e837, 0xe3b6a8},
+  {0x8231e838, 0xe3b6a9},
+  {0x8231e839, 0xe3b6aa},
+  {0x8231e930, 0xe3b6ab},
+  {0x8231e931, 0xe3b6ac},
+  {0x8231e932, 0xe3b6ad},
+  {0x8231e933, 0xe3b6ae},
+  {0x8231e934, 0xe3b6af},
+  {0x8231e935, 0xe3b6b0},
+  {0x8231e936, 0xe3b6b1},
+  {0x8231e937, 0xe3b6b2},
+  {0x8231e938, 0xe3b6b3},
+  {0x8231e939, 0xe3b6b4},
+  {0x8231ea30, 0xe3b6b5},
+  {0x8231ea31, 0xe3b6b6},
+  {0x8231ea32, 0xe3b6b7},
+  {0x8231ea33, 0xe3b6b8},
+  {0x8231ea34, 0xe3b6b9},
+  {0x8231ea35, 0xe3b6ba},
+  {0x8231ea36, 0xe3b6bb},
+  {0x8231ea37, 0xe3b6bc},
+  {0x8231ea38, 0xe3b6bd},
+  {0x8231ea39, 0xe3b6be},
+  {0x8231eb30, 0xe3b6bf},
+  {0x8231eb31, 0xe3b780},
+  {0x8231eb32, 0xe3b781},
+  {0x8231eb33, 0xe3b782},
+  {0x8231eb34, 0xe3b783},
+  {0x8231eb35, 0xe3b784},
+  {0x8231eb36, 0xe3b785},
+  {0x8231eb37, 0xe3b786},
+  {0x8231eb38, 0xe3b787},
+  {0x8231eb39, 0xe3b788},
+  {0x8231ec30, 0xe3b789},
+  {0x8231ec31, 0xe3b78a},
+  {0x8231ec32, 0xe3b78b},
+  {0x8231ec33, 0xe3b78c},
+  {0x8231ec34, 0xe3b78d},
+  {0x8231ec35, 0xe3b78e},
+  {0x8231ec36, 0xe3b78f},
+  {0x8231ec37, 0xe3b790},
+  {0x8231ec38, 0xe3b791},
+  {0x8231ec39, 0xe3b792},
+  {0x8231ed30, 0xe3b793},
+  {0x8231ed31, 0xe3b794},
+  {0x8231ed32, 0xe3b795},
+  {0x8231ed33, 0xe3b796},
+  {0x8231ed34, 0xe3b797},
+  {0x8231ed35, 0xe3b798},
+  {0x8231ed36, 0xe3b799},
+  {0x8231ed37, 0xe3b79a},
+  {0x8231ed38, 0xe3b79b},
+  {0x8231ed39, 0xe3b79c},
+  {0x8231ee30, 0xe3b79d},
+  {0x8231ee31, 0xe3b79e},
+  {0x8231ee32, 0xe3b79f},
+  {0x8231ee33, 0xe3b7a0},
+  {0x8231ee34, 0xe3b7a1},
+  {0x8231ee35, 0xe3b7a2},
+  {0x8231ee36, 0xe3b7a3},
+  {0x8231ee37, 0xe3b7a4},
+  {0x8231ee38, 0xe3b7a5},
+  {0x8231ee39, 0xe3b7a6},
+  {0x8231ef30, 0xe3b7a7},
+  {0x8231ef31, 0xe3b7a8},
+  {0x8231ef32, 0xe3b7a9},
+  {0x8231ef33, 0xe3b7aa},
+  {0x8231ef34, 0xe3b7ab},
+  {0x8231ef35, 0xe3b7ac},
+  {0x8231ef36, 0xe3b7ad},
+  {0x8231ef37, 0xe3b7ae},
+  {0x8231ef38, 0xe3b7af},
+  {0x8231ef39, 0xe3b7b0},
+  {0x8231f030, 0xe3b7b1},
+  {0x8231f031, 0xe3b7b2},
+  {0x8231f032, 0xe3b7b3},
+  {0x8231f033, 0xe3b7b4},
+  {0x8231f034, 0xe3b7b5},
+  {0x8231f035, 0xe3b7b6},
+  {0x8231f036, 0xe3b7b7},
+  {0x8231f037, 0xe3b7b8},
+  {0x8231f038, 0xe3b7b9},
+  {0x8231f039, 0xe3b7ba},
+  {0x8231f130, 0xe3b7bb},
+  {0x8231f131, 0xe3b7bc},
+  {0x8231f132, 0xe3b7bd},
+  {0x8231f133, 0xe3b7be},
+  {0x8231f134, 0xe3b7bf},
+  {0x8231f135, 0xe3b880},
+  {0x8231f136, 0xe3b881},
+  {0x8231f137, 0xe3b882},
+  {0x8231f138, 0xe3b883},
+  {0x8231f139, 0xe3b884},
+  {0x8231f230, 0xe3b885},
+  {0x8231f231, 0xe3b886},
+  {0x8231f232, 0xe3b887},
+  {0x8231f233, 0xe3b888},
+  {0x8231f234, 0xe3b889},
+  {0x8231f235, 0xe3b88a},
+  {0x8231f236, 0xe3b88b},
+  {0x8231f237, 0xe3b88c},
+  {0x8231f238, 0xe3b88d},
+  {0x8231f239, 0xe3b88e},
+  {0x8231f330, 0xe3b88f},
+  {0x8231f331, 0xe3b890},
+  {0x8231f332, 0xe3b891},
+  {0x8231f333, 0xe3b892},
+  {0x8231f334, 0xe3b893},
+  {0x8231f335, 0xe3b894},
+  {0x8231f336, 0xe3b895},
+  {0x8231f337, 0xe3b896},
+  {0x8231f338, 0xe3b897},
+  {0x8231f339, 0xe3b898},
+  {0x8231f430, 0xe3b899},
+  {0x8231f431, 0xe3b89a},
+  {0x8231f432, 0xe3b89b},
+  {0x8231f433, 0xe3b89c},
+  {0x8231f434, 0xe3b89d},
+  {0x8231f435, 0xe3b89e},
+  {0x8231f436, 0xe3b89f},
+  {0x8231f437, 0xe3b8a0},
+  {0x8231f438, 0xe3b8a1},
+  {0x8231f439, 0xe3b8a2},
+  {0x8231f530, 0xe3b8a3},
+  {0x8231f531, 0xe3b8a4},
+  {0x8231f532, 0xe3b8a5},
+  {0x8231f533, 0xe3b8a6},
+  {0x8231f534, 0xe3b8a7},
+  {0x8231f535, 0xe3b8a8},
+  {0x8231f536, 0xe3b8a9},
+  {0x8231f537, 0xe3b8aa},
+  {0x8231f538, 0xe3b8ab},
+  {0x8231f539, 0xe3b8ac},
+  {0x8231f630, 0xe3b8ad},
+  {0x8231f631, 0xe3b8ae},
+  {0x8231f632, 0xe3b8af},
+  {0x8231f633, 0xe3b8b0},
+  {0x8231f634, 0xe3b8b1},
+  {0x8231f635, 0xe3b8b2},
+  {0x8231f636, 0xe3b8b3},
+  {0x8231f637, 0xe3b8b4},
+  {0x8231f638, 0xe3b8b5},
+  {0x8231f639, 0xe3b8b6},
+  {0x8231f730, 0xe3b8b7},
+  {0x8231f731, 0xe3b8b8},
+  {0x8231f732, 0xe3b8b9},
+  {0x8231f733, 0xe3b8ba},
+  {0x8231f734, 0xe3b8bb},
+  {0x8231f735, 0xe3b8bc},
+  {0x8231f736, 0xe3b8bd},
+  {0x8231f737, 0xe3b8be},
+  {0x8231f738, 0xe3b8bf},
+  {0x8231f739, 0xe3b980},
+  {0x8231f830, 0xe3b981},
+  {0x8231f831, 0xe3b982},
+  {0x8231f832, 0xe3b983},
+  {0x8231f833, 0xe3b984},
+  {0x8231f834, 0xe3b985},
+  {0x8231f835, 0xe3b986},
+  {0x8231f836, 0xe3b987},
+  {0x8231f837, 0xe3b988},
+  {0x8231f838, 0xe3b989},
+  {0x8231f839, 0xe3b98a},
+  {0x8231f930, 0xe3b98b},
+  {0x8231f931, 0xe3b98c},
+  {0x8231f932, 0xe3b98d},
+  {0x8231f933, 0xe3b98e},
+  {0x8231f934, 0xe3b98f},
+  {0x8231f935, 0xe3b990},
+  {0x8231f936, 0xe3b991},
+  {0x8231f937, 0xe3b992},
+  {0x8231f938, 0xe3b993},
+  {0x8231f939, 0xe3b994},
+  {0x8231fa30, 0xe3b995},
+  {0x8231fa31, 0xe3b996},
+  {0x8231fa32, 0xe3b997},
+  {0x8231fa33, 0xe3b998},
+  {0x8231fa34, 0xe3b999},
+  {0x8231fa35, 0xe3b99a},
+  {0x8231fa36, 0xe3b99b},
+  {0x8231fa37, 0xe3b99c},
+  {0x8231fa38, 0xe3b99d},
+  {0x8231fa39, 0xe3b99e},
+  {0x8231fb30, 0xe3b99f},
+  {0x8231fb31, 0xe3b9a0},
+  {0x8231fb32, 0xe3b9a1},
+  {0x8231fb33, 0xe3b9a2},
+  {0x8231fb34, 0xe3b9a3},
+  {0x8231fb35, 0xe3b9a4},
+  {0x8231fb36, 0xe3b9a5},
+  {0x8231fb37, 0xe3b9a6},
+  {0x8231fb38, 0xe3b9a7},
+  {0x8231fb39, 0xe3b9a8},
+  {0x8231fc30, 0xe3b9a9},
+  {0x8231fc31, 0xe3b9aa},
+  {0x8231fc32, 0xe3b9ab},
+  {0x8231fc33, 0xe3b9ac},
+  {0x8231fc34, 0xe3b9ad},
+  {0x8231fc35, 0xe3b9ae},
+  {0x8231fc36, 0xe3b9af},
+  {0x8231fc37, 0xe3b9b0},
+  {0x8231fc38, 0xe3b9b1},
+  {0x8231fc39, 0xe3b9b2},
+  {0x8231fd30, 0xe3b9b3},
+  {0x8231fd31, 0xe3b9b4},
+  {0x8231fd32, 0xe3b9b5},
+  {0x8231fd33, 0xe3b9b6},
+  {0x8231fd34, 0xe3b9b7},
+  {0x8231fd35, 0xe3b9b8},
+  {0x8231fd36, 0xe3b9b9},
+  {0x8231fd37, 0xe3b9ba},
+  {0x8231fd38, 0xe3b9bb},
+  {0x8231fd39, 0xe3b9bc},
+  {0x8231fe30, 0xe3b9bd},
+  {0x8231fe31, 0xe3b9be},
+  {0x8231fe32, 0xe3b9bf},
+  {0x8231fe33, 0xe3ba80},
+  {0x8231fe34, 0xe3ba81},
+  {0x8231fe35, 0xe3ba82},
+  {0x8231fe36, 0xe3ba83},
+  {0x8231fe37, 0xe3ba84},
+  {0x8231fe38, 0xe3ba85},
+  {0x8231fe39, 0xe3ba86},
+  {0x82328130, 0xe3ba87},
+  {0x82328131, 0xe3ba88},
+  {0x82328132, 0xe3ba89},
+  {0x82328133, 0xe3ba8a},
+  {0x82328134, 0xe3ba8b},
+  {0x82328135, 0xe3ba8c},
+  {0x82328136, 0xe3ba8d},
+  {0x82328137, 0xe3ba8e},
+  {0x82328138, 0xe3ba8f},
+  {0x82328139, 0xe3ba90},
+  {0x82328230, 0xe3ba91},
+  {0x82328231, 0xe3ba92},
+  {0x82328232, 0xe3ba93},
+  {0x82328233, 0xe3ba94},
+  {0x82328234, 0xe3ba95},
+  {0x82328235, 0xe3ba96},
+  {0x82328236, 0xe3ba97},
+  {0x82328237, 0xe3ba98},
+  {0x82328238, 0xe3ba99},
+  {0x82328239, 0xe3ba9a},
+  {0x82328330, 0xe3ba9b},
+  {0x82328331, 0xe3ba9c},
+  {0x82328332, 0xe3ba9d},
+  {0x82328333, 0xe3ba9e},
+  {0x82328334, 0xe3ba9f},
+  {0x82328335, 0xe3baa0},
+  {0x82328336, 0xe3baa1},
+  {0x82328337, 0xe3baa2},
+  {0x82328338, 0xe3baa3},
+  {0x82328339, 0xe3baa4},
+  {0x82328430, 0xe3baa5},
+  {0x82328431, 0xe3baa6},
+  {0x82328432, 0xe3baa7},
+  {0x82328433, 0xe3baa8},
+  {0x82328434, 0xe3baa9},
+  {0x82328435, 0xe3baaa},
+  {0x82328436, 0xe3baab},
+  {0x82328437, 0xe3baac},
+  {0x82328438, 0xe3baad},
+  {0x82328439, 0xe3baae},
+  {0x82328530, 0xe3baaf},
+  {0x82328531, 0xe3bab0},
+  {0x82328532, 0xe3bab1},
+  {0x82328533, 0xe3bab2},
+  {0x82328534, 0xe3bab3},
+  {0x82328535, 0xe3bab4},
+  {0x82328536, 0xe3bab5},
+  {0x82328537, 0xe3bab6},
+  {0x82328538, 0xe3bab7},
+  {0x82328539, 0xe3bab8},
+  {0x82328630, 0xe3bab9},
+  {0x82328631, 0xe3baba},
+  {0x82328632, 0xe3babb},
+  {0x82328633, 0xe3babc},
+  {0x82328634, 0xe3babd},
+  {0x82328635, 0xe3babe},
+  {0x82328636, 0xe3babf},
+  {0x82328637, 0xe3bb80},
+  {0x82328638, 0xe3bb81},
+  {0x82328639, 0xe3bb82},
+  {0x82328730, 0xe3bb83},
+  {0x82328731, 0xe3bb84},
+  {0x82328732, 0xe3bb85},
+  {0x82328733, 0xe3bb86},
+  {0x82328734, 0xe3bb87},
+  {0x82328735, 0xe3bb88},
+  {0x82328736, 0xe3bb89},
+  {0x82328737, 0xe3bb8a},
+  {0x82328738, 0xe3bb8b},
+  {0x82328739, 0xe3bb8c},
+  {0x82328830, 0xe3bb8d},
+  {0x82328831, 0xe3bb8e},
+  {0x82328832, 0xe3bb8f},
+  {0x82328833, 0xe3bb90},
+  {0x82328834, 0xe3bb91},
+  {0x82328835, 0xe3bb92},
+  {0x82328836, 0xe3bb93},
+  {0x82328837, 0xe3bb94},
+  {0x82328838, 0xe3bb95},
+  {0x82328839, 0xe3bb96},
+  {0x82328930, 0xe3bb97},
+  {0x82328931, 0xe3bb98},
+  {0x82328932, 0xe3bb99},
+  {0x82328933, 0xe3bb9a},
+  {0x82328934, 0xe3bb9b},
+  {0x82328935, 0xe3bb9c},
+  {0x82328936, 0xe3bb9d},
+  {0x82328937, 0xe3bb9e},
+  {0x82328938, 0xe3bb9f},
+  {0x82328939, 0xe3bba0},
+  {0x82328a30, 0xe3bba1},
+  {0x82328a31, 0xe3bba2},
+  {0x82328a32, 0xe3bba3},
+  {0x82328a33, 0xe3bba4},
+  {0x82328a34, 0xe3bba5},
+  {0x82328a35, 0xe3bba6},
+  {0x82328a36, 0xe3bba7},
+  {0x82328a37, 0xe3bba8},
+  {0x82328a38, 0xe3bba9},
+  {0x82328a39, 0xe3bbaa},
+  {0x82328b30, 0xe3bbab},
+  {0x82328b31, 0xe3bbac},
+  {0x82328b32, 0xe3bbad},
+  {0x82328b33, 0xe3bbae},
+  {0x82328b34, 0xe3bbaf},
+  {0x82328b35, 0xe3bbb0},
+  {0x82328b36, 0xe3bbb1},
+  {0x82328b37, 0xe3bbb2},
+  {0x82328b38, 0xe3bbb3},
+  {0x82328b39, 0xe3bbb4},
+  {0x82328c30, 0xe3bbb5},
+  {0x82328c31, 0xe3bbb6},
+  {0x82328c32, 0xe3bbb7},
+  {0x82328c33, 0xe3bbb8},
+  {0x82328c34, 0xe3bbb9},
+  {0x82328c35, 0xe3bbba},
+  {0x82328c36, 0xe3bbbb},
+  {0x82328c37, 0xe3bbbc},
+  {0x82328c38, 0xe3bbbd},
+  {0x82328c39, 0xe3bbbe},
+  {0x82328d30, 0xe3bbbf},
+  {0x82328d31, 0xe3bc80},
+  {0x82328d32, 0xe3bc81},
+  {0x82328d33, 0xe3bc82},
+  {0x82328d34, 0xe3bc83},
+  {0x82328d35, 0xe3bc84},
+  {0x82328d36, 0xe3bc85},
+  {0x82328d37, 0xe3bc86},
+  {0x82328d38, 0xe3bc87},
+  {0x82328d39, 0xe3bc88},
+  {0x82328e30, 0xe3bc89},
+  {0x82328e31, 0xe3bc8a},
+  {0x82328e32, 0xe3bc8b},
+  {0x82328e33, 0xe3bc8c},
+  {0x82328e34, 0xe3bc8d},
+  {0x82328e35, 0xe3bc8e},
+  {0x82328e36, 0xe3bc8f},
+  {0x82328e37, 0xe3bc90},
+  {0x82328e38, 0xe3bc91},
+  {0x82328e39, 0xe3bc92},
+  {0x82328f30, 0xe3bc93},
+  {0x82328f31, 0xe3bc94},
+  {0x82328f32, 0xe3bc95},
+  {0x82328f33, 0xe3bc96},
+  {0x82328f34, 0xe3bc97},
+  {0x82328f35, 0xe3bc98},
+  {0x82328f36, 0xe3bc99},
+  {0x82328f37, 0xe3bc9a},
+  {0x82328f38, 0xe3bc9b},
+  {0x82328f39, 0xe3bc9c},
+  {0x82329030, 0xe3bc9d},
+  {0x82329031, 0xe3bc9e},
+  {0x82329032, 0xe3bc9f},
+  {0x82329033, 0xe3bca0},
+  {0x82329034, 0xe3bca1},
+  {0x82329035, 0xe3bca2},
+  {0x82329036, 0xe3bca3},
+  {0x82329037, 0xe3bca4},
+  {0x82329038, 0xe3bca5},
+  {0x82329039, 0xe3bca6},
+  {0x82329130, 0xe3bca7},
+  {0x82329131, 0xe3bca8},
+  {0x82329132, 0xe3bca9},
+  {0x82329133, 0xe3bcaa},
+  {0x82329134, 0xe3bcab},
+  {0x82329135, 0xe3bcac},
+  {0x82329136, 0xe3bcad},
+  {0x82329137, 0xe3bcae},
+  {0x82329138, 0xe3bcaf},
+  {0x82329139, 0xe3bcb0},
+  {0x82329230, 0xe3bcb1},
+  {0x82329231, 0xe3bcb2},
+  {0x82329232, 0xe3bcb3},
+  {0x82329233, 0xe3bcb4},
+  {0x82329234, 0xe3bcb5},
+  {0x82329235, 0xe3bcb6},
+  {0x82329236, 0xe3bcb7},
+  {0x82329237, 0xe3bcb8},
+  {0x82329238, 0xe3bcb9},
+  {0x82329239, 0xe3bcba},
+  {0x82329330, 0xe3bcbb},
+  {0x82329331, 0xe3bcbc},
+  {0x82329332, 0xe3bcbd},
+  {0x82329333, 0xe3bcbe},
+  {0x82329334, 0xe3bcbf},
+  {0x82329335, 0xe3bd80},
+  {0x82329336, 0xe3bd81},
+  {0x82329337, 0xe3bd82},
+  {0x82329338, 0xe3bd83},
+  {0x82329339, 0xe3bd84},
+  {0x82329430, 0xe3bd85},
+  {0x82329431, 0xe3bd86},
+  {0x82329432, 0xe3bd87},
+  {0x82329433, 0xe3bd88},
+  {0x82329434, 0xe3bd89},
+  {0x82329435, 0xe3bd8a},
+  {0x82329436, 0xe3bd8b},
+  {0x82329437, 0xe3bd8c},
+  {0x82329438, 0xe3bd8d},
+  {0x82329439, 0xe3bd8e},
+  {0x82329530, 0xe3bd8f},
+  {0x82329531, 0xe3bd90},
+  {0x82329532, 0xe3bd91},
+  {0x82329533, 0xe3bd92},
+  {0x82329534, 0xe3bd93},
+  {0x82329535, 0xe3bd94},
+  {0x82329536, 0xe3bd95},
+  {0x82329537, 0xe3bd96},
+  {0x82329538, 0xe3bd97},
+  {0x82329539, 0xe3bd98},
+  {0x82329630, 0xe3bd99},
+  {0x82329631, 0xe3bd9a},
+  {0x82329632, 0xe3bd9b},
+  {0x82329633, 0xe3bd9c},
+  {0x82329634, 0xe3bd9d},
+  {0x82329635, 0xe3bd9e},
+  {0x82329636, 0xe3bd9f},
+  {0x82329637, 0xe3bda0},
+  {0x82329638, 0xe3bda1},
+  {0x82329639, 0xe3bda2},
+  {0x82329730, 0xe3bda3},
+  {0x82329731, 0xe3bda4},
+  {0x82329732, 0xe3bda5},
+  {0x82329733, 0xe3bda6},
+  {0x82329734, 0xe3bda7},
+  {0x82329735, 0xe3bda8},
+  {0x82329736, 0xe3bda9},
+  {0x82329737, 0xe3bdaa},
+  {0x82329738, 0xe3bdab},
+  {0x82329739, 0xe3bdac},
+  {0x82329830, 0xe3bdad},
+  {0x82329831, 0xe3bdae},
+  {0x82329832, 0xe3bdaf},
+  {0x82329833, 0xe3bdb0},
+  {0x82329834, 0xe3bdb1},
+  {0x82329835, 0xe3bdb2},
+  {0x82329836, 0xe3bdb3},
+  {0x82329837, 0xe3bdb4},
+  {0x82329838, 0xe3bdb5},
+  {0x82329839, 0xe3bdb6},
+  {0x82329930, 0xe3bdb7},
+  {0x82329931, 0xe3bdb8},
+  {0x82329932, 0xe3bdb9},
+  {0x82329933, 0xe3bdba},
+  {0x82329934, 0xe3bdbb},
+  {0x82329935, 0xe3bdbc},
+  {0x82329936, 0xe3bdbd},
+  {0x82329937, 0xe3bdbe},
+  {0x82329938, 0xe3bdbf},
+  {0x82329939, 0xe3be80},
+  {0x82329a30, 0xe3be81},
+  {0x82329a31, 0xe3be82},
+  {0x82329a32, 0xe3be83},
+  {0x82329a33, 0xe3be84},
+  {0x82329a34, 0xe3be85},
+  {0x82329a35, 0xe3be86},
+  {0x82329a36, 0xe3be87},
+  {0x82329a37, 0xe3be88},
+  {0x82329a38, 0xe3be89},
+  {0x82329a39, 0xe3be8a},
+  {0x82329b30, 0xe3be8b},
+  {0x82329b31, 0xe3be8c},
+  {0x82329b32, 0xe3be8d},
+  {0x82329b33, 0xe3be8e},
+  {0x82329b34, 0xe3be8f},
+  {0x82329b35, 0xe3be90},
+  {0x82329b36, 0xe3be91},
+  {0x82329b37, 0xe3be92},
+  {0x82329b38, 0xe3be93},
+  {0x82329b39, 0xe3be94},
+  {0x82329c30, 0xe3be95},
+  {0x82329c31, 0xe3be96},
+  {0x82329c32, 0xe3be97},
+  {0x82329c33, 0xe3be98},
+  {0x82329c34, 0xe3be99},
+  {0x82329c35, 0xe3be9a},
+  {0x82329c36, 0xe3be9b},
+  {0x82329c37, 0xe3be9c},
+  {0x82329c38, 0xe3be9d},
+  {0x82329c39, 0xe3be9e},
+  {0x82329d30, 0xe3be9f},
+  {0x82329d31, 0xe3bea0},
+  {0x82329d32, 0xe3bea1},
+  {0x82329d33, 0xe3bea2},
+  {0x82329d34, 0xe3bea3},
+  {0x82329d35, 0xe3bea4},
+  {0x82329d36, 0xe3bea5},
+  {0x82329d37, 0xe3bea6},
+  {0x82329d38, 0xe3bea7},
+  {0x82329d39, 0xe3bea8},
+  {0x82329e30, 0xe3bea9},
+  {0x82329e31, 0xe3beaa},
+  {0x82329e32, 0xe3beab},
+  {0x82329e33, 0xe3beac},
+  {0x82329e34, 0xe3bead},
+  {0x82329e35, 0xe3beae},
+  {0x82329e36, 0xe3beaf},
+  {0x82329e37, 0xe3beb0},
+  {0x82329e38, 0xe3beb1},
+  {0x82329e39, 0xe3beb2},
+  {0x82329f30, 0xe3beb3},
+  {0x82329f31, 0xe3beb4},
+  {0x82329f32, 0xe3beb5},
+  {0x82329f33, 0xe3beb6},
+  {0x82329f34, 0xe3beb7},
+  {0x82329f35, 0xe3beb8},
+  {0x82329f36, 0xe3beb9},
+  {0x82329f37, 0xe3beba},
+  {0x82329f38, 0xe3bebb},
+  {0x82329f39, 0xe3bebc},
+  {0x8232a030, 0xe3bebd},
+  {0x8232a031, 0xe3bebe},
+  {0x8232a032, 0xe3bebf},
+  {0x8232a033, 0xe3bf80},
+  {0x8232a034, 0xe3bf81},
+  {0x8232a035, 0xe3bf82},
+  {0x8232a036, 0xe3bf83},
+  {0x8232a037, 0xe3bf84},
+  {0x8232a038, 0xe3bf85},
+  {0x8232a039, 0xe3bf86},
+  {0x8232a130, 0xe3bf87},
+  {0x8232a131, 0xe3bf88},
+  {0x8232a132, 0xe3bf89},
+  {0x8232a133, 0xe3bf8a},
+  {0x8232a134, 0xe3bf8b},
+  {0x8232a135, 0xe3bf8c},
+  {0x8232a136, 0xe3bf8d},
+  {0x8232a137, 0xe3bf8e},
+  {0x8232a138, 0xe3bf8f},
+  {0x8232a139, 0xe3bf90},
+  {0x8232a230, 0xe3bf91},
+  {0x8232a231, 0xe3bf92},
+  {0x8232a232, 0xe3bf93},
+  {0x8232a233, 0xe3bf94},
+  {0x8232a234, 0xe3bf95},
+  {0x8232a235, 0xe3bf96},
+  {0x8232a236, 0xe3bf97},
+  {0x8232a237, 0xe3bf98},
+  {0x8232a238, 0xe3bf99},
+  {0x8232a239, 0xe3bf9a},
+  {0x8232a330, 0xe3bf9b},
+  {0x8232a331, 0xe3bf9c},
+  {0x8232a332, 0xe3bf9d},
+  {0x8232a333, 0xe3bf9e},
+  {0x8232a334, 0xe3bf9f},
+  {0x8232a335, 0xe3bfa0},
+  {0x8232a336, 0xe3bfa1},
+  {0x8232a337, 0xe3bfa2},
+  {0x8232a338, 0xe3bfa3},
+  {0x8232a339, 0xe3bfa4},
+  {0x8232a430, 0xe3bfa5},
+  {0x8232a431, 0xe3bfa6},
+  {0x8232a432, 0xe3bfa7},
+  {0x8232a433, 0xe3bfa8},
+  {0x8232a434, 0xe3bfa9},
+  {0x8232a435, 0xe3bfaa},
+  {0x8232a436, 0xe3bfab},
+  {0x8232a437, 0xe3bfac},
+  {0x8232a438, 0xe3bfad},
+  {0x8232a439, 0xe3bfae},
+  {0x8232a530, 0xe3bfaf},
+  {0x8232a531, 0xe3bfb0},
+  {0x8232a532, 0xe3bfb1},
+  {0x8232a533, 0xe3bfb2},
+  {0x8232a534, 0xe3bfb3},
+  {0x8232a535, 0xe3bfb4},
+  {0x8232a536, 0xe3bfb5},
+  {0x8232a537, 0xe3bfb6},
+  {0x8232a538, 0xe3bfb7},
+  {0x8232a539, 0xe3bfb8},
+  {0x8232a630, 0xe3bfb9},
+  {0x8232a631, 0xe3bfba},
+  {0x8232a632, 0xe3bfbb},
+  {0x8232a633, 0xe3bfbc},
+  {0x8232a634, 0xe3bfbd},
+  {0x8232a635, 0xe3bfbe},
+  {0x8232a636, 0xe3bfbf},
+  {0x8232a637, 0xe48080},
+  {0x8232a638, 0xe48081},
+  {0x8232a639, 0xe48082},
+  {0x8232a730, 0xe48083},
+  {0x8232a731, 0xe48084},
+  {0x8232a732, 0xe48085},
+  {0x8232a733, 0xe48086},
+  {0x8232a734, 0xe48087},
+  {0x8232a735, 0xe48088},
+  {0x8232a736, 0xe48089},
+  {0x8232a737, 0xe4808a},
+  {0x8232a738, 0xe4808b},
+  {0x8232a739, 0xe4808c},
+  {0x8232a830, 0xe4808d},
+  {0x8232a831, 0xe4808e},
+  {0x8232a832, 0xe4808f},
+  {0x8232a833, 0xe48090},
+  {0x8232a834, 0xe48091},
+  {0x8232a835, 0xe48092},
+  {0x8232a836, 0xe48093},
+  {0x8232a837, 0xe48094},
+  {0x8232a838, 0xe48095},
+  {0x8232a839, 0xe48096},
+  {0x8232a930, 0xe48097},
+  {0x8232a931, 0xe48098},
+  {0x8232a932, 0xe48099},
+  {0x8232a933, 0xe4809a},
+  {0x8232a934, 0xe4809b},
+  {0x8232a935, 0xe4809c},
+  {0x8232a936, 0xe4809d},
+  {0x8232a937, 0xe4809e},
+  {0x8232a938, 0xe4809f},
+  {0x8232a939, 0xe480a0},
+  {0x8232aa30, 0xe480a1},
+  {0x8232aa31, 0xe480a2},
+  {0x8232aa32, 0xe480a3},
+  {0x8232aa33, 0xe480a4},
+  {0x8232aa34, 0xe480a5},
+  {0x8232aa35, 0xe480a6},
+  {0x8232aa36, 0xe480a7},
+  {0x8232aa37, 0xe480a8},
+  {0x8232aa38, 0xe480a9},
+  {0x8232aa39, 0xe480aa},
+  {0x8232ab30, 0xe480ab},
+  {0x8232ab31, 0xe480ac},
+  {0x8232ab32, 0xe480ad},
+  {0x8232ab33, 0xe480ae},
+  {0x8232ab34, 0xe480af},
+  {0x8232ab35, 0xe480b0},
+  {0x8232ab36, 0xe480b1},
+  {0x8232ab37, 0xe480b2},
+  {0x8232ab38, 0xe480b3},
+  {0x8232ab39, 0xe480b4},
+  {0x8232ac30, 0xe480b5},
+  {0x8232ac31, 0xe480b6},
+  {0x8232ac32, 0xe480b7},
+  {0x8232ac33, 0xe480b8},
+  {0x8232ac34, 0xe480b9},
+  {0x8232ac35, 0xe480ba},
+  {0x8232ac36, 0xe480bb},
+  {0x8232ac37, 0xe480bc},
+  {0x8232ac38, 0xe480bd},
+  {0x8232ac39, 0xe480be},
+  {0x8232ad30, 0xe480bf},
+  {0x8232ad31, 0xe48180},
+  {0x8232ad32, 0xe48181},
+  {0x8232ad33, 0xe48182},
+  {0x8232ad34, 0xe48183},
+  {0x8232ad35, 0xe48184},
+  {0x8232ad36, 0xe48185},
+  {0x8232ad37, 0xe48186},
+  {0x8232ad38, 0xe48187},
+  {0x8232ad39, 0xe48188},
+  {0x8232ae30, 0xe48189},
+  {0x8232ae31, 0xe4818a},
+  {0x8232ae32, 0xe4818b},
+  {0x8232ae33, 0xe4818c},
+  {0x8232ae34, 0xe4818d},
+  {0x8232ae35, 0xe4818e},
+  {0x8232ae36, 0xe4818f},
+  {0x8232ae37, 0xe48190},
+  {0x8232ae38, 0xe48191},
+  {0x8232ae39, 0xe48192},
+  {0x8232af30, 0xe48193},
+  {0x8232af31, 0xe48194},
+  {0x8232af32, 0xe48195},
+  {0x8232af33, 0xe48197},
+  {0x8232af34, 0xe48198},
+  {0x8232af35, 0xe48199},
+  {0x8232af36, 0xe4819a},
+  {0x8232af37, 0xe4819b},
+  {0x8232af38, 0xe4819c},
+  {0x8232af39, 0xe4819d},
+  {0x8232b030, 0xe4819e},
+  {0x8232b031, 0xe4819f},
+  {0x8232b032, 0xe481a0},
+  {0x8232b033, 0xe481a1},
+  {0x8232b034, 0xe481a2},
+  {0x8232b035, 0xe481a3},
+  {0x8232b036, 0xe481a4},
+  {0x8232b037, 0xe481a5},
+  {0x8232b038, 0xe481a6},
+  {0x8232b039, 0xe481a7},
+  {0x8232b130, 0xe481a8},
+  {0x8232b131, 0xe481a9},
+  {0x8232b132, 0xe481aa},
+  {0x8232b133, 0xe481ab},
+  {0x8232b134, 0xe481ac},
+  {0x8232b135, 0xe481ad},
+  {0x8232b136, 0xe481ae},
+  {0x8232b137, 0xe481af},
+  {0x8232b138, 0xe481b0},
+  {0x8232b139, 0xe481b1},
+  {0x8232b230, 0xe481b2},
+  {0x8232b231, 0xe481b3},
+  {0x8232b232, 0xe481b4},
+  {0x8232b233, 0xe481b5},
+  {0x8232b234, 0xe481b6},
+  {0x8232b235, 0xe481b7},
+  {0x8232b236, 0xe481b8},
+  {0x8232b237, 0xe481b9},
+  {0x8232b238, 0xe481ba},
+  {0x8232b239, 0xe481bb},
+  {0x8232b330, 0xe481bc},
+  {0x8232b331, 0xe481bd},
+  {0x8232b332, 0xe481be},
+  {0x8232b333, 0xe481bf},
+  {0x8232b334, 0xe48280},
+  {0x8232b335, 0xe48281},
+  {0x8232b336, 0xe48282},
+  {0x8232b337, 0xe48283},
+  {0x8232b338, 0xe48284},
+  {0x8232b339, 0xe48285},
+  {0x8232b430, 0xe48286},
+  {0x8232b431, 0xe48287},
+  {0x8232b432, 0xe48288},
+  {0x8232b433, 0xe48289},
+  {0x8232b434, 0xe4828a},
+  {0x8232b435, 0xe4828b},
+  {0x8232b436, 0xe4828c},
+  {0x8232b437, 0xe4828d},
+  {0x8232b438, 0xe4828e},
+  {0x8232b439, 0xe4828f},
+  {0x8232b530, 0xe48290},
+  {0x8232b531, 0xe48291},
+  {0x8232b532, 0xe48292},
+  {0x8232b533, 0xe48293},
+  {0x8232b534, 0xe48294},
+  {0x8232b535, 0xe48295},
+  {0x8232b536, 0xe48296},
+  {0x8232b537, 0xe48297},
+  {0x8232b538, 0xe48298},
+  {0x8232b539, 0xe48299},
+  {0x8232b630, 0xe4829a},
+  {0x8232b631, 0xe4829b},
+  {0x8232b632, 0xe4829c},
+  {0x8232b633, 0xe4829d},
+  {0x8232b634, 0xe4829e},
+  {0x8232b635, 0xe4829f},
+  {0x8232b636, 0xe482a0},
+  {0x8232b637, 0xe482a1},
+  {0x8232b638, 0xe482a2},
+  {0x8232b639, 0xe482a3},
+  {0x8232b730, 0xe482a4},
+  {0x8232b731, 0xe482a5},
+  {0x8232b732, 0xe482a6},
+  {0x8232b733, 0xe482a7},
+  {0x8232b734, 0xe482a8},
+  {0x8232b735, 0xe482a9},
+  {0x8232b736, 0xe482aa},
+  {0x8232b737, 0xe482ab},
+  {0x8232b738, 0xe482ac},
+  {0x8232b739, 0xe482ad},
+  {0x8232b830, 0xe482ae},
+  {0x8232b831, 0xe482af},
+  {0x8232b832, 0xe482b0},
+  {0x8232b833, 0xe482b1},
+  {0x8232b834, 0xe482b2},
+  {0x8232b835, 0xe482b3},
+  {0x8232b836, 0xe482b4},
+  {0x8232b837, 0xe482b5},
+  {0x8232b838, 0xe482b6},
+  {0x8232b839, 0xe482b7},
+  {0x8232b930, 0xe482b8},
+  {0x8232b931, 0xe482b9},
+  {0x8232b932, 0xe482ba},
+  {0x8232b933, 0xe482bb},
+  {0x8232b934, 0xe482bc},
+  {0x8232b935, 0xe482bd},
+  {0x8232b936, 0xe482be},
+  {0x8232b937, 0xe482bf},
+  {0x8232b938, 0xe48380},
+  {0x8232b939, 0xe48381},
+  {0x8232ba30, 0xe48382},
+  {0x8232ba31, 0xe48383},
+  {0x8232ba32, 0xe48384},
+  {0x8232ba33, 0xe48385},
+  {0x8232ba34, 0xe48386},
+  {0x8232ba35, 0xe48387},
+  {0x8232ba36, 0xe48388},
+  {0x8232ba37, 0xe48389},
+  {0x8232ba38, 0xe4838a},
+  {0x8232ba39, 0xe4838b},
+  {0x8232bb30, 0xe4838c},
+  {0x8232bb31, 0xe4838d},
+  {0x8232bb32, 0xe4838e},
+  {0x8232bb33, 0xe4838f},
+  {0x8232bb34, 0xe48390},
+  {0x8232bb35, 0xe48391},
+  {0x8232bb36, 0xe48392},
+  {0x8232bb37, 0xe48393},
+  {0x8232bb38, 0xe48394},
+  {0x8232bb39, 0xe48395},
+  {0x8232bc30, 0xe48396},
+  {0x8232bc31, 0xe48397},
+  {0x8232bc32, 0xe48398},
+  {0x8232bc33, 0xe48399},
+  {0x8232bc34, 0xe4839a},
+  {0x8232bc35, 0xe4839b},
+  {0x8232bc36, 0xe4839c},
+  {0x8232bc37, 0xe4839d},
+  {0x8232bc38, 0xe4839e},
+  {0x8232bc39, 0xe4839f},
+  {0x8232bd30, 0xe483a0},
+  {0x8232bd31, 0xe483a1},
+  {0x8232bd32, 0xe483a2},
+  {0x8232bd33, 0xe483a3},
+  {0x8232bd34, 0xe483a4},
+  {0x8232bd35, 0xe483a5},
+  {0x8232bd36, 0xe483a6},
+  {0x8232bd37, 0xe483a7},
+  {0x8232bd38, 0xe483a8},
+  {0x8232bd39, 0xe483a9},
+  {0x8232be30, 0xe483aa},
+  {0x8232be31, 0xe483ab},
+  {0x8232be32, 0xe483ac},
+  {0x8232be33, 0xe483ad},
+  {0x8232be34, 0xe483ae},
+  {0x8232be35, 0xe483af},
+  {0x8232be36, 0xe483b0},
+  {0x8232be37, 0xe483b1},
+  {0x8232be38, 0xe483b2},
+  {0x8232be39, 0xe483b3},
+  {0x8232bf30, 0xe483b4},
+  {0x8232bf31, 0xe483b5},
+  {0x8232bf32, 0xe483b6},
+  {0x8232bf33, 0xe483b7},
+  {0x8232bf34, 0xe483b8},
+  {0x8232bf35, 0xe483b9},
+  {0x8232bf36, 0xe483ba},
+  {0x8232bf37, 0xe483bb},
+  {0x8232bf38, 0xe483bc},
+  {0x8232bf39, 0xe483bd},
+  {0x8232c030, 0xe483be},
+  {0x8232c031, 0xe483bf},
+  {0x8232c032, 0xe48480},
+  {0x8232c033, 0xe48481},
+  {0x8232c034, 0xe48482},
+  {0x8232c035, 0xe48483},
+  {0x8232c036, 0xe48484},
+  {0x8232c037, 0xe48485},
+  {0x8232c038, 0xe48486},
+  {0x8232c039, 0xe48487},
+  {0x8232c130, 0xe48488},
+  {0x8232c131, 0xe48489},
+  {0x8232c132, 0xe4848a},
+  {0x8232c133, 0xe4848b},
+  {0x8232c134, 0xe4848c},
+  {0x8232c135, 0xe4848d},
+  {0x8232c136, 0xe4848e},
+  {0x8232c137, 0xe4848f},
+  {0x8232c138, 0xe48490},
+  {0x8232c139, 0xe48491},
+  {0x8232c230, 0xe48492},
+  {0x8232c231, 0xe48493},
+  {0x8232c232, 0xe48494},
+  {0x8232c233, 0xe48495},
+  {0x8232c234, 0xe48496},
+  {0x8232c235, 0xe48497},
+  {0x8232c236, 0xe48498},
+  {0x8232c237, 0xe48499},
+  {0x8232c238, 0xe4849a},
+  {0x8232c239, 0xe4849b},
+  {0x8232c330, 0xe4849c},
+  {0x8232c331, 0xe4849d},
+  {0x8232c332, 0xe4849e},
+  {0x8232c333, 0xe4849f},
+  {0x8232c334, 0xe484a0},
+  {0x8232c335, 0xe484a1},
+  {0x8232c336, 0xe484a2},
+  {0x8232c337, 0xe484a3},
+  {0x8232c338, 0xe484a4},
+  {0x8232c339, 0xe484a5},
+  {0x8232c430, 0xe484a6},
+  {0x8232c431, 0xe484a7},
+  {0x8232c432, 0xe484a8},
+  {0x8232c433, 0xe484a9},
+  {0x8232c434, 0xe484aa},
+  {0x8232c435, 0xe484ab},
+  {0x8232c436, 0xe484ac},
+  {0x8232c437, 0xe484ad},
+  {0x8232c438, 0xe484ae},
+  {0x8232c439, 0xe484af},
+  {0x8232c530, 0xe484b0},
+  {0x8232c531, 0xe484b1},
+  {0x8232c532, 0xe484b2},
+  {0x8232c533, 0xe484b3},
+  {0x8232c534, 0xe484b4},
+  {0x8232c535, 0xe484b5},
+  {0x8232c536, 0xe484b6},
+  {0x8232c537, 0xe484b7},
+  {0x8232c538, 0xe484b8},
+  {0x8232c539, 0xe484b9},
+  {0x8232c630, 0xe484ba},
+  {0x8232c631, 0xe484bb},
+  {0x8232c632, 0xe484bc},
+  {0x8232c633, 0xe484bd},
+  {0x8232c634, 0xe484be},
+  {0x8232c635, 0xe484bf},
+  {0x8232c636, 0xe48580},
+  {0x8232c637, 0xe48581},
+  {0x8232c638, 0xe48582},
+  {0x8232c639, 0xe48583},
+  {0x8232c730, 0xe48584},
+  {0x8232c731, 0xe48585},
+  {0x8232c732, 0xe48586},
+  {0x8232c733, 0xe48587},
+  {0x8232c734, 0xe48588},
+  {0x8232c735, 0xe48589},
+  {0x8232c736, 0xe4858a},
+  {0x8232c737, 0xe4858b},
+  {0x8232c738, 0xe4858c},
+  {0x8232c739, 0xe4858d},
+  {0x8232c830, 0xe4858e},
+  {0x8232c831, 0xe4858f},
+  {0x8232c832, 0xe48590},
+  {0x8232c833, 0xe48591},
+  {0x8232c834, 0xe48592},
+  {0x8232c835, 0xe48593},
+  {0x8232c836, 0xe48594},
+  {0x8232c837, 0xe48595},
+  {0x8232c838, 0xe48596},
+  {0x8232c839, 0xe48597},
+  {0x8232c930, 0xe48598},
+  {0x8232c931, 0xe48599},
+  {0x8232c932, 0xe4859a},
+  {0x8232c933, 0xe4859b},
+  {0x8232c934, 0xe4859c},
+  {0x8232c935, 0xe4859d},
+  {0x8232c936, 0xe4859e},
+  {0x8232c937, 0xe485a0},
+  {0x8232c938, 0xe485a1},
+  {0x8232c939, 0xe485a2},
+  {0x8232ca30, 0xe485a3},
+  {0x8232ca31, 0xe485a4},
+  {0x8232ca32, 0xe485a5},
+  {0x8232ca33, 0xe485a6},
+  {0x8232ca34, 0xe485a7},
+  {0x8232ca35, 0xe485a8},
+  {0x8232ca36, 0xe485a9},
+  {0x8232ca37, 0xe485aa},
+  {0x8232ca38, 0xe485ab},
+  {0x8232ca39, 0xe485ac},
+  {0x8232cb30, 0xe485ad},
+  {0x8232cb31, 0xe485ae},
+  {0x8232cb32, 0xe485af},
+  {0x8232cb33, 0xe485b0},
+  {0x8232cb34, 0xe485b1},
+  {0x8232cb35, 0xe485b2},
+  {0x8232cb36, 0xe485b3},
+  {0x8232cb37, 0xe485b4},
+  {0x8232cb38, 0xe485b5},
+  {0x8232cb39, 0xe485b6},
+  {0x8232cc30, 0xe485b7},
+  {0x8232cc31, 0xe485b8},
+  {0x8232cc32, 0xe485b9},
+  {0x8232cc33, 0xe485ba},
+  {0x8232cc34, 0xe485bb},
+  {0x8232cc35, 0xe485bc},
+  {0x8232cc36, 0xe485bd},
+  {0x8232cc37, 0xe485be},
+  {0x8232cc38, 0xe485bf},
+  {0x8232cc39, 0xe48680},
+  {0x8232cd30, 0xe48681},
+  {0x8232cd31, 0xe48682},
+  {0x8232cd32, 0xe48683},
+  {0x8232cd33, 0xe48684},
+  {0x8232cd34, 0xe48685},
+  {0x8232cd35, 0xe48686},
+  {0x8232cd36, 0xe48687},
+  {0x8232cd37, 0xe48688},
+  {0x8232cd38, 0xe48689},
+  {0x8232cd39, 0xe4868a},
+  {0x8232ce30, 0xe4868b},
+  {0x8232ce31, 0xe4868c},
+  {0x8232ce32, 0xe4868d},
+  {0x8232ce33, 0xe4868e},
+  {0x8232ce34, 0xe4868f},
+  {0x8232ce35, 0xe48690},
+  {0x8232ce36, 0xe48691},
+  {0x8232ce37, 0xe48692},
+  {0x8232ce38, 0xe48693},
+  {0x8232ce39, 0xe48694},
+  {0x8232cf30, 0xe48695},
+  {0x8232cf31, 0xe48696},
+  {0x8232cf32, 0xe48697},
+  {0x8232cf33, 0xe48698},
+  {0x8232cf34, 0xe48699},
+  {0x8232cf35, 0xe4869a},
+  {0x8232cf36, 0xe4869b},
+  {0x8232cf37, 0xe4869c},
+  {0x8232cf38, 0xe4869d},
+  {0x8232cf39, 0xe4869e},
+  {0x8232d030, 0xe4869f},
+  {0x8232d031, 0xe486a0},
+  {0x8232d032, 0xe486a1},
+  {0x8232d033, 0xe486a2},
+  {0x8232d034, 0xe486a3},
+  {0x8232d035, 0xe486a4},
+  {0x8232d036, 0xe486a5},
+  {0x8232d037, 0xe486a6},
+  {0x8232d038, 0xe486a7},
+  {0x8232d039, 0xe486a8},
+  {0x8232d130, 0xe486a9},
+  {0x8232d131, 0xe486aa},
+  {0x8232d132, 0xe486ab},
+  {0x8232d133, 0xe486ac},
+  {0x8232d134, 0xe486ad},
+  {0x8232d135, 0xe486ae},
+  {0x8232d136, 0xe486af},
+  {0x8232d137, 0xe486b0},
+  {0x8232d138, 0xe486b1},
+  {0x8232d139, 0xe486b2},
+  {0x8232d230, 0xe486b3},
+  {0x8232d231, 0xe486b4},
+  {0x8232d232, 0xe486b5},
+  {0x8232d233, 0xe486b6},
+  {0x8232d234, 0xe486b7},
+  {0x8232d235, 0xe486b8},
+  {0x8232d236, 0xe486b9},
+  {0x8232d237, 0xe486ba},
+  {0x8232d238, 0xe486bb},
+  {0x8232d239, 0xe486bc},
+  {0x8232d330, 0xe486bd},
+  {0x8232d331, 0xe486be},
+  {0x8232d332, 0xe486bf},
+  {0x8232d333, 0xe48780},
+  {0x8232d334, 0xe48781},
+  {0x8232d335, 0xe48782},
+  {0x8232d336, 0xe48783},
+  {0x8232d337, 0xe48784},
+  {0x8232d338, 0xe48785},
+  {0x8232d339, 0xe48786},
+  {0x8232d430, 0xe48787},
+  {0x8232d431, 0xe48788},
+  {0x8232d432, 0xe48789},
+  {0x8232d433, 0xe4878a},
+  {0x8232d434, 0xe4878b},
+  {0x8232d435, 0xe4878c},
+  {0x8232d436, 0xe4878d},
+  {0x8232d437, 0xe4878e},
+  {0x8232d438, 0xe4878f},
+  {0x8232d439, 0xe48790},
+  {0x8232d530, 0xe48791},
+  {0x8232d531, 0xe48792},
+  {0x8232d532, 0xe48793},
+  {0x8232d533, 0xe48794},
+  {0x8232d534, 0xe48795},
+  {0x8232d535, 0xe48796},
+  {0x8232d536, 0xe48797},
+  {0x8232d537, 0xe48798},
+  {0x8232d538, 0xe48799},
+  {0x8232d539, 0xe4879a},
+  {0x8232d630, 0xe4879b},
+  {0x8232d631, 0xe4879c},
+  {0x8232d632, 0xe4879d},
+  {0x8232d633, 0xe4879e},
+  {0x8232d634, 0xe4879f},
+  {0x8232d635, 0xe487a0},
+  {0x8232d636, 0xe487a1},
+  {0x8232d637, 0xe487a2},
+  {0x8232d638, 0xe487a3},
+  {0x8232d639, 0xe487a4},
+  {0x8232d730, 0xe487a5},
+  {0x8232d731, 0xe487a6},
+  {0x8232d732, 0xe487a7},
+  {0x8232d733, 0xe487a8},
+  {0x8232d734, 0xe487a9},
+  {0x8232d735, 0xe487aa},
+  {0x8232d736, 0xe487ab},
+  {0x8232d737, 0xe487ac},
+  {0x8232d738, 0xe487ad},
+  {0x8232d739, 0xe487ae},
+  {0x8232d830, 0xe487af},
+  {0x8232d831, 0xe487b0},
+  {0x8232d832, 0xe487b1},
+  {0x8232d833, 0xe487b2},
+  {0x8232d834, 0xe487b3},
+  {0x8232d835, 0xe487b4},
+  {0x8232d836, 0xe487b5},
+  {0x8232d837, 0xe487b6},
+  {0x8232d838, 0xe487b7},
+  {0x8232d839, 0xe487b8},
+  {0x8232d930, 0xe487b9},
+  {0x8232d931, 0xe487ba},
+  {0x8232d932, 0xe487bb},
+  {0x8232d933, 0xe487bc},
+  {0x8232d934, 0xe487bd},
+  {0x8232d935, 0xe487be},
+  {0x8232d936, 0xe487bf},
+  {0x8232d937, 0xe48880},
+  {0x8232d938, 0xe48881},
+  {0x8232d939, 0xe48882},
+  {0x8232da30, 0xe48883},
+  {0x8232da31, 0xe48884},
+  {0x8232da32, 0xe48885},
+  {0x8232da33, 0xe48886},
+  {0x8232da34, 0xe48887},
+  {0x8232da35, 0xe48888},
+  {0x8232da36, 0xe48889},
+  {0x8232da37, 0xe4888a},
+  {0x8232da38, 0xe4888b},
+  {0x8232da39, 0xe4888c},
+  {0x8232db30, 0xe4888d},
+  {0x8232db31, 0xe4888e},
+  {0x8232db32, 0xe4888f},
+  {0x8232db33, 0xe48890},
+  {0x8232db34, 0xe48891},
+  {0x8232db35, 0xe48892},
+  {0x8232db36, 0xe48893},
+  {0x8232db37, 0xe48894},
+  {0x8232db38, 0xe48895},
+  {0x8232db39, 0xe48896},
+  {0x8232dc30, 0xe48897},
+  {0x8232dc31, 0xe48898},
+  {0x8232dc32, 0xe48899},
+  {0x8232dc33, 0xe4889a},
+  {0x8232dc34, 0xe4889b},
+  {0x8232dc35, 0xe4889c},
+  {0x8232dc36, 0xe4889d},
+  {0x8232dc37, 0xe4889e},
+  {0x8232dc38, 0xe4889f},
+  {0x8232dc39, 0xe488a0},
+  {0x8232dd30, 0xe488a1},
+  {0x8232dd31, 0xe488a2},
+  {0x8232dd32, 0xe488a3},
+  {0x8232dd33, 0xe488a4},
+  {0x8232dd34, 0xe488a5},
+  {0x8232dd35, 0xe488a6},
+  {0x8232dd36, 0xe488a7},
+  {0x8232dd37, 0xe488a8},
+  {0x8232dd38, 0xe488a9},
+  {0x8232dd39, 0xe488aa},
+  {0x8232de30, 0xe488ab},
+  {0x8232de31, 0xe488ac},
+  {0x8232de32, 0xe488ad},
+  {0x8232de33, 0xe488ae},
+  {0x8232de34, 0xe488af},
+  {0x8232de35, 0xe488b0},
+  {0x8232de36, 0xe488b1},
+  {0x8232de37, 0xe488b2},
+  {0x8232de38, 0xe488b3},
+  {0x8232de39, 0xe488b4},
+  {0x8232df30, 0xe488b5},
+  {0x8232df31, 0xe488b6},
+  {0x8232df32, 0xe488b7},
+  {0x8232df33, 0xe488b8},
+  {0x8232df34, 0xe488b9},
+  {0x8232df35, 0xe488ba},
+  {0x8232df36, 0xe488bb},
+  {0x8232df37, 0xe488bc},
+  {0x8232df38, 0xe488bd},
+  {0x8232df39, 0xe488be},
+  {0x8232e030, 0xe488bf},
+  {0x8232e031, 0xe48980},
+  {0x8232e032, 0xe48981},
+  {0x8232e033, 0xe48982},
+  {0x8232e034, 0xe48983},
+  {0x8232e035, 0xe48984},
+  {0x8232e036, 0xe48985},
+  {0x8232e037, 0xe48986},
+  {0x8232e038, 0xe48987},
+  {0x8232e039, 0xe48988},
+  {0x8232e130, 0xe48989},
+  {0x8232e131, 0xe4898a},
+  {0x8232e132, 0xe4898b},
+  {0x8232e133, 0xe4898c},
+  {0x8232e134, 0xe4898d},
+  {0x8232e135, 0xe4898e},
+  {0x8232e136, 0xe4898f},
+  {0x8232e137, 0xe48990},
+  {0x8232e138, 0xe48991},
+  {0x8232e139, 0xe48992},
+  {0x8232e230, 0xe48993},
+  {0x8232e231, 0xe48994},
+  {0x8232e232, 0xe48995},
+  {0x8232e233, 0xe48996},
+  {0x8232e234, 0xe48997},
+  {0x8232e235, 0xe48998},
+  {0x8232e236, 0xe48999},
+  {0x8232e237, 0xe4899a},
+  {0x8232e238, 0xe4899b},
+  {0x8232e239, 0xe4899c},
+  {0x8232e330, 0xe4899d},
+  {0x8232e331, 0xe4899e},
+  {0x8232e332, 0xe4899f},
+  {0x8232e333, 0xe489a0},
+  {0x8232e334, 0xe489a1},
+  {0x8232e335, 0xe489a2},
+  {0x8232e336, 0xe489a3},
+  {0x8232e337, 0xe489a4},
+  {0x8232e338, 0xe489a5},
+  {0x8232e339, 0xe489a6},
+  {0x8232e430, 0xe489a7},
+  {0x8232e431, 0xe489a8},
+  {0x8232e432, 0xe489a9},
+  {0x8232e433, 0xe489aa},
+  {0x8232e434, 0xe489ab},
+  {0x8232e435, 0xe489ac},
+  {0x8232e436, 0xe489ad},
+  {0x8232e437, 0xe489ae},
+  {0x8232e438, 0xe489af},
+  {0x8232e439, 0xe489b0},
+  {0x8232e530, 0xe489b1},
+  {0x8232e531, 0xe489b2},
+  {0x8232e532, 0xe489b3},
+  {0x8232e533, 0xe489b4},
+  {0x8232e534, 0xe489b5},
+  {0x8232e535, 0xe489b6},
+  {0x8232e536, 0xe489b7},
+  {0x8232e537, 0xe489b8},
+  {0x8232e538, 0xe489b9},
+  {0x8232e539, 0xe489ba},
+  {0x8232e630, 0xe489bb},
+  {0x8232e631, 0xe489bc},
+  {0x8232e632, 0xe489bd},
+  {0x8232e633, 0xe489be},
+  {0x8232e634, 0xe489bf},
+  {0x8232e635, 0xe48a80},
+  {0x8232e636, 0xe48a81},
+  {0x8232e637, 0xe48a82},
+  {0x8232e638, 0xe48a83},
+  {0x8232e639, 0xe48a84},
+  {0x8232e730, 0xe48a85},
+  {0x8232e731, 0xe48a86},
+  {0x8232e732, 0xe48a87},
+  {0x8232e733, 0xe48a88},
+  {0x8232e734, 0xe48a89},
+  {0x8232e735, 0xe48a8a},
+  {0x8232e736, 0xe48a8b},
+  {0x8232e737, 0xe48a8c},
+  {0x8232e738, 0xe48a8d},
+  {0x8232e739, 0xe48a8e},
+  {0x8232e830, 0xe48a8f},
+  {0x8232e831, 0xe48a90},
+  {0x8232e832, 0xe48a91},
+  {0x8232e833, 0xe48a92},
+  {0x8232e834, 0xe48a93},
+  {0x8232e835, 0xe48a94},
+  {0x8232e836, 0xe48a95},
+  {0x8232e837, 0xe48a96},
+  {0x8232e838, 0xe48a97},
+  {0x8232e839, 0xe48a98},
+  {0x8232e930, 0xe48a99},
+  {0x8232e931, 0xe48a9a},
+  {0x8232e932, 0xe48a9b},
+  {0x8232e933, 0xe48a9c},
+  {0x8232e934, 0xe48a9d},
+  {0x8232e935, 0xe48a9e},
+  {0x8232e936, 0xe48a9f},
+  {0x8232e937, 0xe48aa0},
+  {0x8232e938, 0xe48aa1},
+  {0x8232e939, 0xe48aa2},
+  {0x8232ea30, 0xe48aa3},
+  {0x8232ea31, 0xe48aa4},
+  {0x8232ea32, 0xe48aa5},
+  {0x8232ea33, 0xe48aa6},
+  {0x8232ea34, 0xe48aa7},
+  {0x8232ea35, 0xe48aa8},
+  {0x8232ea36, 0xe48aa9},
+  {0x8232ea37, 0xe48aaa},
+  {0x8232ea38, 0xe48aab},
+  {0x8232ea39, 0xe48aac},
+  {0x8232eb30, 0xe48aad},
+  {0x8232eb31, 0xe48aae},
+  {0x8232eb32, 0xe48aaf},
+  {0x8232eb33, 0xe48ab0},
+  {0x8232eb34, 0xe48ab1},
+  {0x8232eb35, 0xe48ab2},
+  {0x8232eb36, 0xe48ab3},
+  {0x8232eb37, 0xe48ab4},
+  {0x8232eb38, 0xe48ab5},
+  {0x8232eb39, 0xe48ab6},
+  {0x8232ec30, 0xe48ab7},
+  {0x8232ec31, 0xe48ab8},
+  {0x8232ec32, 0xe48ab9},
+  {0x8232ec33, 0xe48aba},
+  {0x8232ec34, 0xe48abb},
+  {0x8232ec35, 0xe48abc},
+  {0x8232ec36, 0xe48abd},
+  {0x8232ec37, 0xe48abe},
+  {0x8232ec38, 0xe48abf},
+  {0x8232ec39, 0xe48b80},
+  {0x8232ed30, 0xe48b81},
+  {0x8232ed31, 0xe48b82},
+  {0x8232ed32, 0xe48b83},
+  {0x8232ed33, 0xe48b84},
+  {0x8232ed34, 0xe48b85},
+  {0x8232ed35, 0xe48b86},
+  {0x8232ed36, 0xe48b87},
+  {0x8232ed37, 0xe48b88},
+  {0x8232ed38, 0xe48b89},
+  {0x8232ed39, 0xe48b8a},
+  {0x8232ee30, 0xe48b8b},
+  {0x8232ee31, 0xe48b8c},
+  {0x8232ee32, 0xe48b8d},
+  {0x8232ee33, 0xe48b8e},
+  {0x8232ee34, 0xe48b8f},
+  {0x8232ee35, 0xe48b90},
+  {0x8232ee36, 0xe48b91},
+  {0x8232ee37, 0xe48b92},
+  {0x8232ee38, 0xe48b93},
+  {0x8232ee39, 0xe48b94},
+  {0x8232ef30, 0xe48b95},
+  {0x8232ef31, 0xe48b96},
+  {0x8232ef32, 0xe48b97},
+  {0x8232ef33, 0xe48b98},
+  {0x8232ef34, 0xe48b99},
+  {0x8232ef35, 0xe48b9a},
+  {0x8232ef36, 0xe48b9b},
+  {0x8232ef37, 0xe48b9c},
+  {0x8232ef38, 0xe48b9d},
+  {0x8232ef39, 0xe48b9e},
+  {0x8232f030, 0xe48b9f},
+  {0x8232f031, 0xe48ba0},
+  {0x8232f032, 0xe48ba1},
+  {0x8232f033, 0xe48ba2},
+  {0x8232f034, 0xe48ba3},
+  {0x8232f035, 0xe48ba4},
+  {0x8232f036, 0xe48ba5},
+  {0x8232f037, 0xe48ba6},
+  {0x8232f038, 0xe48ba7},
+  {0x8232f039, 0xe48ba8},
+  {0x8232f130, 0xe48ba9},
+  {0x8232f131, 0xe48baa},
+  {0x8232f132, 0xe48bab},
+  {0x8232f133, 0xe48bac},
+  {0x8232f134, 0xe48bad},
+  {0x8232f135, 0xe48bae},
+  {0x8232f136, 0xe48baf},
+  {0x8232f137, 0xe48bb0},
+  {0x8232f138, 0xe48bb1},
+  {0x8232f139, 0xe48bb2},
+  {0x8232f230, 0xe48bb3},
+  {0x8232f231, 0xe48bb4},
+  {0x8232f232, 0xe48bb5},
+  {0x8232f233, 0xe48bb6},
+  {0x8232f234, 0xe48bb7},
+  {0x8232f235, 0xe48bb8},
+  {0x8232f236, 0xe48bb9},
+  {0x8232f237, 0xe48bba},
+  {0x8232f238, 0xe48bbb},
+  {0x8232f239, 0xe48bbc},
+  {0x8232f330, 0xe48bbd},
+  {0x8232f331, 0xe48bbe},
+  {0x8232f332, 0xe48bbf},
+  {0x8232f333, 0xe48c80},
+  {0x8232f334, 0xe48c81},
+  {0x8232f335, 0xe48c82},
+  {0x8232f336, 0xe48c83},
+  {0x8232f337, 0xe48c84},
+  {0x8232f338, 0xe48c85},
+  {0x8232f339, 0xe48c86},
+  {0x8232f430, 0xe48c87},
+  {0x8232f431, 0xe48c88},
+  {0x8232f432, 0xe48c89},
+  {0x8232f433, 0xe48c8a},
+  {0x8232f434, 0xe48c8b},
+  {0x8232f435, 0xe48c8c},
+  {0x8232f436, 0xe48c8d},
+  {0x8232f437, 0xe48c8e},
+  {0x8232f438, 0xe48c8f},
+  {0x8232f439, 0xe48c90},
+  {0x8232f530, 0xe48c91},
+  {0x8232f531, 0xe48c92},
+  {0x8232f532, 0xe48c93},
+  {0x8232f533, 0xe48c94},
+  {0x8232f534, 0xe48c95},
+  {0x8232f535, 0xe48c96},
+  {0x8232f536, 0xe48c97},
+  {0x8232f537, 0xe48c98},
+  {0x8232f538, 0xe48c99},
+  {0x8232f539, 0xe48c9a},
+  {0x8232f630, 0xe48c9b},
+  {0x8232f631, 0xe48c9c},
+  {0x8232f632, 0xe48c9d},
+  {0x8232f633, 0xe48c9e},
+  {0x8232f634, 0xe48c9f},
+  {0x8232f635, 0xe48ca0},
+  {0x8232f636, 0xe48ca1},
+  {0x8232f637, 0xe48ca2},
+  {0x8232f638, 0xe48ca3},
+  {0x8232f639, 0xe48ca4},
+  {0x8232f730, 0xe48ca5},
+  {0x8232f731, 0xe48ca6},
+  {0x8232f732, 0xe48ca7},
+  {0x8232f733, 0xe48ca8},
+  {0x8232f734, 0xe48ca9},
+  {0x8232f735, 0xe48caa},
+  {0x8232f736, 0xe48cab},
+  {0x8232f737, 0xe48cac},
+  {0x8232f738, 0xe48cad},
+  {0x8232f739, 0xe48cae},
+  {0x8232f830, 0xe48caf},
+  {0x8232f831, 0xe48cb0},
+  {0x8232f832, 0xe48cb1},
+  {0x8232f833, 0xe48cb2},
+  {0x8232f834, 0xe48cb3},
+  {0x8232f835, 0xe48cb4},
+  {0x8232f836, 0xe48cb5},
+  {0x8232f837, 0xe48cb6},
+  {0x8232f838, 0xe48cb8},
+  {0x8232f839, 0xe48cb9},
+  {0x8232f930, 0xe48cba},
+  {0x8232f931, 0xe48cbb},
+  {0x8232f932, 0xe48cbc},
+  {0x8232f933, 0xe48cbd},
+  {0x8232f934, 0xe48cbe},
+  {0x8232f935, 0xe48cbf},
+  {0x8232f936, 0xe48d80},
+  {0x8232f937, 0xe48d81},
+  {0x8232f938, 0xe48d82},
+  {0x8232f939, 0xe48d83},
+  {0x8232fa30, 0xe48d84},
+  {0x8232fa31, 0xe48d85},
+  {0x8232fa32, 0xe48d86},
+  {0x8232fa33, 0xe48d87},
+  {0x8232fa34, 0xe48d88},
+  {0x8232fa35, 0xe48d89},
+  {0x8232fa36, 0xe48d8a},
+  {0x8232fa37, 0xe48d8b},
+  {0x8232fa38, 0xe48d8c},
+  {0x8232fa39, 0xe48d8d},
+  {0x8232fb30, 0xe48d8e},
+  {0x8232fb31, 0xe48d8f},
+  {0x8232fb32, 0xe48d90},
+  {0x8232fb33, 0xe48d91},
+  {0x8232fb34, 0xe48d92},
+  {0x8232fb35, 0xe48d93},
+  {0x8232fb36, 0xe48d94},
+  {0x8232fb37, 0xe48d95},
+  {0x8232fb38, 0xe48d96},
+  {0x8232fb39, 0xe48d97},
+  {0x8232fc30, 0xe48d98},
+  {0x8232fc31, 0xe48d99},
+  {0x8232fc32, 0xe48d9a},
+  {0x8232fc33, 0xe48d9b},
+  {0x8232fc34, 0xe48d9c},
+  {0x8232fc35, 0xe48d9d},
+  {0x8232fc36, 0xe48d9e},
+  {0x8232fc37, 0xe48d9f},
+  {0x8232fc38, 0xe48da0},
+  {0x8232fc39, 0xe48da1},
+  {0x8232fd30, 0xe48da2},
+  {0x8232fd31, 0xe48da3},
+  {0x8232fd32, 0xe48da4},
+  {0x8232fd33, 0xe48da5},
+  {0x8232fd34, 0xe48da6},
+  {0x8232fd35, 0xe48da7},
+  {0x8232fd36, 0xe48da8},
+  {0x8232fd37, 0xe48da9},
+  {0x8232fd38, 0xe48daa},
+  {0x8232fd39, 0xe48dab},
+  {0x8232fe30, 0xe48dac},
+  {0x8232fe31, 0xe48dad},
+  {0x8232fe32, 0xe48dae},
+  {0x8232fe33, 0xe48daf},
+  {0x8232fe34, 0xe48db0},
+  {0x8232fe35, 0xe48db1},
+  {0x8232fe36, 0xe48db2},
+  {0x8232fe37, 0xe48db3},
+  {0x8232fe38, 0xe48db4},
+  {0x8232fe39, 0xe48db5},
+  {0x82338130, 0xe48db6},
+  {0x82338131, 0xe48db7},
+  {0x82338132, 0xe48db8},
+  {0x82338133, 0xe48db9},
+  {0x82338134, 0xe48dba},
+  {0x82338135, 0xe48dbb},
+  {0x82338136, 0xe48dbc},
+  {0x82338137, 0xe48dbd},
+  {0x82338138, 0xe48dbe},
+  {0x82338139, 0xe48dbf},
+  {0x82338230, 0xe48e80},
+  {0x82338231, 0xe48e81},
+  {0x82338232, 0xe48e82},
+  {0x82338233, 0xe48e83},
+  {0x82338234, 0xe48e84},
+  {0x82338235, 0xe48e85},
+  {0x82338236, 0xe48e86},
+  {0x82338237, 0xe48e87},
+  {0x82338238, 0xe48e88},
+  {0x82338239, 0xe48e89},
+  {0x82338330, 0xe48e8a},
+  {0x82338331, 0xe48e8b},
+  {0x82338332, 0xe48e8c},
+  {0x82338333, 0xe48e8d},
+  {0x82338334, 0xe48e8e},
+  {0x82338335, 0xe48e8f},
+  {0x82338336, 0xe48e90},
+  {0x82338337, 0xe48e91},
+  {0x82338338, 0xe48e92},
+  {0x82338339, 0xe48e93},
+  {0x82338430, 0xe48e94},
+  {0x82338431, 0xe48e95},
+  {0x82338432, 0xe48e96},
+  {0x82338433, 0xe48e97},
+  {0x82338434, 0xe48e98},
+  {0x82338435, 0xe48e99},
+  {0x82338436, 0xe48e9a},
+  {0x82338437, 0xe48e9b},
+  {0x82338438, 0xe48e9c},
+  {0x82338439, 0xe48e9d},
+  {0x82338530, 0xe48e9e},
+  {0x82338531, 0xe48e9f},
+  {0x82338532, 0xe48ea0},
+  {0x82338533, 0xe48ea1},
+  {0x82338534, 0xe48ea2},
+  {0x82338535, 0xe48ea3},
+  {0x82338536, 0xe48ea4},
+  {0x82338537, 0xe48ea5},
+  {0x82338538, 0xe48ea6},
+  {0x82338539, 0xe48ea7},
+  {0x82338630, 0xe48ea8},
+  {0x82338631, 0xe48ea9},
+  {0x82338632, 0xe48eaa},
+  {0x82338633, 0xe48eab},
+  {0x82338634, 0xe48ead},
+  {0x82338635, 0xe48eae},
+  {0x82338636, 0xe48eaf},
+  {0x82338637, 0xe48eb0},
+  {0x82338638, 0xe48eb2},
+  {0x82338639, 0xe48eb3},
+  {0x82338730, 0xe48eb4},
+  {0x82338731, 0xe48eb5},
+  {0x82338732, 0xe48eb6},
+  {0x82338733, 0xe48eb7},
+  {0x82338734, 0xe48eb8},
+  {0x82338735, 0xe48eb9},
+  {0x82338736, 0xe48eba},
+  {0x82338737, 0xe48ebb},
+  {0x82338738, 0xe48ebc},
+  {0x82338739, 0xe48ebd},
+  {0x82338830, 0xe48ebe},
+  {0x82338831, 0xe48ebf},
+  {0x82338832, 0xe48f80},
+  {0x82338833, 0xe48f81},
+  {0x82338834, 0xe48f82},
+  {0x82338835, 0xe48f83},
+  {0x82338836, 0xe48f84},
+  {0x82338837, 0xe48f85},
+  {0x82338838, 0xe48f86},
+  {0x82338839, 0xe48f87},
+  {0x82338930, 0xe48f88},
+  {0x82338931, 0xe48f89},
+  {0x82338932, 0xe48f8a},
+  {0x82338933, 0xe48f8b},
+  {0x82338934, 0xe48f8c},
+  {0x82338935, 0xe48f8d},
+  {0x82338936, 0xe48f8e},
+  {0x82338937, 0xe48f8f},
+  {0x82338938, 0xe48f90},
+  {0x82338939, 0xe48f91},
+  {0x82338a30, 0xe48f92},
+  {0x82338a31, 0xe48f93},
+  {0x82338a32, 0xe48f94},
+  {0x82338a33, 0xe48f95},
+  {0x82338a34, 0xe48f96},
+  {0x82338a35, 0xe48f97},
+  {0x82338a36, 0xe48f98},
+  {0x82338a37, 0xe48f99},
+  {0x82338a38, 0xe48f9a},
+  {0x82338a39, 0xe48f9b},
+  {0x82338b30, 0xe48f9c},
+  {0x82338b31, 0xe48f9e},
+  {0x82338b32, 0xe48f9f},
+  {0x82338b33, 0xe48fa0},
+  {0x82338b34, 0xe48fa1},
+  {0x82338b35, 0xe48fa2},
+  {0x82338b36, 0xe48fa3},
+  {0x82338b37, 0xe48fa4},
+  {0x82338b38, 0xe48fa5},
+  {0x82338b39, 0xe48fa6},
+  {0x82338c30, 0xe48fa7},
+  {0x82338c31, 0xe48fa8},
+  {0x82338c32, 0xe48fa9},
+  {0x82338c33, 0xe48faa},
+  {0x82338c34, 0xe48fab},
+  {0x82338c35, 0xe48fac},
+  {0x82338c36, 0xe48fad},
+  {0x82338c37, 0xe48fae},
+  {0x82338c38, 0xe48faf},
+  {0x82338c39, 0xe48fb0},
+  {0x82338d30, 0xe48fb1},
+  {0x82338d31, 0xe48fb2},
+  {0x82338d32, 0xe48fb3},
+  {0x82338d33, 0xe48fb4},
+  {0x82338d34, 0xe48fb5},
+  {0x82338d35, 0xe48fb6},
+  {0x82338d36, 0xe48fb7},
+  {0x82338d37, 0xe48fb8},
+  {0x82338d38, 0xe48fb9},
+  {0x82338d39, 0xe48fba},
+  {0x82338e30, 0xe48fbb},
+  {0x82338e31, 0xe48fbc},
+  {0x82338e32, 0xe48fbd},
+  {0x82338e33, 0xe48fbe},
+  {0x82338e34, 0xe48fbf},
+  {0x82338e35, 0xe49080},
+  {0x82338e36, 0xe49081},
+  {0x82338e37, 0xe49082},
+  {0x82338e38, 0xe49083},
+  {0x82338e39, 0xe49084},
+  {0x82338f30, 0xe49085},
+  {0x82338f31, 0xe49086},
+  {0x82338f32, 0xe49087},
+  {0x82338f33, 0xe49088},
+  {0x82338f34, 0xe49089},
+  {0x82338f35, 0xe4908a},
+  {0x82338f36, 0xe4908b},
+  {0x82338f37, 0xe4908c},
+  {0x82338f38, 0xe4908d},
+  {0x82338f39, 0xe4908e},
+  {0x82339030, 0xe4908f},
+  {0x82339031, 0xe49090},
+  {0x82339032, 0xe49091},
+  {0x82339033, 0xe49092},
+  {0x82339034, 0xe49093},
+  {0x82339035, 0xe49094},
+  {0x82339036, 0xe49095},
+  {0x82339037, 0xe49096},
+  {0x82339038, 0xe49097},
+  {0x82339039, 0xe49098},
+  {0x82339130, 0xe49099},
+  {0x82339131, 0xe4909a},
+  {0x82339132, 0xe4909b},
+  {0x82339133, 0xe4909c},
+  {0x82339134, 0xe4909d},
+  {0x82339135, 0xe4909e},
+  {0x82339136, 0xe4909f},
+  {0x82339137, 0xe490a0},
+  {0x82339138, 0xe490a1},
+  {0x82339139, 0xe490a2},
+  {0x82339230, 0xe490a3},
+  {0x82339231, 0xe490a4},
+  {0x82339232, 0xe490a5},
+  {0x82339233, 0xe490a6},
+  {0x82339234, 0xe490a7},
+  {0x82339235, 0xe490a8},
+  {0x82339236, 0xe490a9},
+  {0x82339237, 0xe490aa},
+  {0x82339238, 0xe490ab},
+  {0x82339239, 0xe490ac},
+  {0x82339330, 0xe490ad},
+  {0x82339331, 0xe490ae},
+  {0x82339332, 0xe490af},
+  {0x82339333, 0xe490b0},
+  {0x82339334, 0xe490b1},
+  {0x82339335, 0xe490b2},
+  {0x82339336, 0xe490b3},
+  {0x82339337, 0xe490b4},
+  {0x82339338, 0xe490b5},
+  {0x82339339, 0xe490b6},
+  {0x82339430, 0xe490b7},
+  {0x82339431, 0xe490b8},
+  {0x82339432, 0xe490b9},
+  {0x82339433, 0xe490ba},
+  {0x82339434, 0xe490bb},
+  {0x82339435, 0xe490bc},
+  {0x82339436, 0xe490bd},
+  {0x82339437, 0xe490be},
+  {0x82339438, 0xe490bf},
+  {0x82339439, 0xe49180},
+  {0x82339530, 0xe49181},
+  {0x82339531, 0xe49182},
+  {0x82339532, 0xe49183},
+  {0x82339533, 0xe49184},
+  {0x82339534, 0xe49185},
+  {0x82339535, 0xe49186},
+  {0x82339536, 0xe49187},
+  {0x82339537, 0xe49188},
+  {0x82339538, 0xe49189},
+  {0x82339539, 0xe4918a},
+  {0x82339630, 0xe4918b},
+  {0x82339631, 0xe4918c},
+  {0x82339632, 0xe4918d},
+  {0x82339633, 0xe4918e},
+  {0x82339634, 0xe4918f},
+  {0x82339635, 0xe49190},
+  {0x82339636, 0xe49191},
+  {0x82339637, 0xe49192},
+  {0x82339638, 0xe49193},
+  {0x82339639, 0xe49194},
+  {0x82339730, 0xe49195},
+  {0x82339731, 0xe49196},
+  {0x82339732, 0xe49197},
+  {0x82339733, 0xe49198},
+  {0x82339734, 0xe49199},
+  {0x82339735, 0xe4919a},
+  {0x82339736, 0xe4919b},
+  {0x82339737, 0xe4919c},
+  {0x82339738, 0xe4919d},
+  {0x82339739, 0xe4919e},
+  {0x82339830, 0xe4919f},
+  {0x82339831, 0xe491a0},
+  {0x82339832, 0xe491a1},
+  {0x82339833, 0xe491a2},
+  {0x82339834, 0xe491a3},
+  {0x82339835, 0xe491a4},
+  {0x82339836, 0xe491a5},
+  {0x82339837, 0xe491a6},
+  {0x82339838, 0xe491a7},
+  {0x82339839, 0xe491a8},
+  {0x82339930, 0xe491a9},
+  {0x82339931, 0xe491aa},
+  {0x82339932, 0xe491ab},
+  {0x82339933, 0xe491ac},
+  {0x82339934, 0xe491ad},
+  {0x82339935, 0xe491ae},
+  {0x82339936, 0xe491af},
+  {0x82339937, 0xe491b0},
+  {0x82339938, 0xe491b1},
+  {0x82339939, 0xe491b2},
+  {0x82339a30, 0xe491b3},
+  {0x82339a31, 0xe491b4},
+  {0x82339a32, 0xe491b5},
+  {0x82339a33, 0xe491b6},
+  {0x82339a34, 0xe491b7},
+  {0x82339a35, 0xe491b8},
+  {0x82339a36, 0xe491b9},
+  {0x82339a37, 0xe491ba},
+  {0x82339a38, 0xe491bb},
+  {0x82339a39, 0xe491bc},
+  {0x82339b30, 0xe491bd},
+  {0x82339b31, 0xe491be},
+  {0x82339b32, 0xe491bf},
+  {0x82339b33, 0xe49280},
+  {0x82339b34, 0xe49281},
+  {0x82339b35, 0xe49282},
+  {0x82339b36, 0xe49283},
+  {0x82339b37, 0xe49284},
+  {0x82339b38, 0xe49285},
+  {0x82339b39, 0xe49286},
+  {0x82339c30, 0xe49287},
+  {0x82339c31, 0xe49288},
+  {0x82339c32, 0xe49289},
+  {0x82339c33, 0xe4928a},
+  {0x82339c34, 0xe4928b},
+  {0x82339c35, 0xe4928c},
+  {0x82339c36, 0xe4928d},
+  {0x82339c37, 0xe4928e},
+  {0x82339c38, 0xe4928f},
+  {0x82339c39, 0xe49290},
+  {0x82339d30, 0xe49291},
+  {0x82339d31, 0xe49292},
+  {0x82339d32, 0xe49293},
+  {0x82339d33, 0xe49294},
+  {0x82339d34, 0xe49295},
+  {0x82339d35, 0xe49296},
+  {0x82339d36, 0xe49297},
+  {0x82339d37, 0xe49298},
+  {0x82339d38, 0xe49299},
+  {0x82339d39, 0xe4929a},
+  {0x82339e30, 0xe4929b},
+  {0x82339e31, 0xe4929c},
+  {0x82339e32, 0xe4929d},
+  {0x82339e33, 0xe4929e},
+  {0x82339e34, 0xe4929f},
+  {0x82339e35, 0xe492a0},
+  {0x82339e36, 0xe492a1},
+  {0x82339e37, 0xe492a2},
+  {0x82339e38, 0xe492a3},
+  {0x82339e39, 0xe492a4},
+  {0x82339f30, 0xe492a5},
+  {0x82339f31, 0xe492a6},
+  {0x82339f32, 0xe492a7},
+  {0x82339f33, 0xe492a8},
+  {0x82339f34, 0xe492a9},
+  {0x82339f35, 0xe492aa},
+  {0x82339f36, 0xe492ab},
+  {0x82339f37, 0xe492ac},
+  {0x82339f38, 0xe492ad},
+  {0x82339f39, 0xe492ae},
+  {0x8233a030, 0xe492af},
+  {0x8233a031, 0xe492b0},
+  {0x8233a032, 0xe492b1},
+  {0x8233a033, 0xe492b2},
+  {0x8233a034, 0xe492b3},
+  {0x8233a035, 0xe492b4},
+  {0x8233a036, 0xe492b5},
+  {0x8233a037, 0xe492b6},
+  {0x8233a038, 0xe492b7},
+  {0x8233a039, 0xe492b8},
+  {0x8233a130, 0xe492b9},
+  {0x8233a131, 0xe492ba},
+  {0x8233a132, 0xe492bb},
+  {0x8233a133, 0xe492bc},
+  {0x8233a134, 0xe492bd},
+  {0x8233a135, 0xe492be},
+  {0x8233a136, 0xe492bf},
+  {0x8233a137, 0xe49380},
+  {0x8233a138, 0xe49381},
+  {0x8233a139, 0xe49382},
+  {0x8233a230, 0xe49383},
+  {0x8233a231, 0xe49384},
+  {0x8233a232, 0xe49385},
+  {0x8233a233, 0xe49386},
+  {0x8233a234, 0xe49387},
+  {0x8233a235, 0xe49388},
+  {0x8233a236, 0xe49389},
+  {0x8233a237, 0xe4938a},
+  {0x8233a238, 0xe4938b},
+  {0x8233a239, 0xe4938c},
+  {0x8233a330, 0xe4938d},
+  {0x8233a331, 0xe4938e},
+  {0x8233a332, 0xe4938f},
+  {0x8233a333, 0xe49390},
+  {0x8233a334, 0xe49391},
+  {0x8233a335, 0xe49392},
+  {0x8233a336, 0xe49393},
+  {0x8233a337, 0xe49394},
+  {0x8233a338, 0xe49395},
+  {0x8233a339, 0xe49397},
+  {0x8233a430, 0xe49398},
+  {0x8233a431, 0xe49399},
+  {0x8233a432, 0xe4939a},
+  {0x8233a433, 0xe4939b},
+  {0x8233a434, 0xe4939c},
+  {0x8233a435, 0xe4939d},
+  {0x8233a436, 0xe4939e},
+  {0x8233a437, 0xe4939f},
+  {0x8233a438, 0xe493a0},
+  {0x8233a439, 0xe493a1},
+  {0x8233a530, 0xe493a2},
+  {0x8233a531, 0xe493a3},
+  {0x8233a532, 0xe493a4},
+  {0x8233a533, 0xe493a5},
+  {0x8233a534, 0xe493a6},
+  {0x8233a535, 0xe493a7},
+  {0x8233a536, 0xe493a8},
+  {0x8233a537, 0xe493a9},
+  {0x8233a538, 0xe493aa},
+  {0x8233a539, 0xe493ab},
+  {0x8233a630, 0xe493ac},
+  {0x8233a631, 0xe493ad},
+  {0x8233a632, 0xe493ae},
+  {0x8233a633, 0xe493af},
+  {0x8233a634, 0xe493b0},
+  {0x8233a635, 0xe493b1},
+  {0x8233a636, 0xe493b2},
+  {0x8233a637, 0xe493b3},
+  {0x8233a638, 0xe493b4},
+  {0x8233a639, 0xe493b5},
+  {0x8233a730, 0xe493b6},
+  {0x8233a731, 0xe493b7},
+  {0x8233a732, 0xe493b8},
+  {0x8233a733, 0xe493b9},
+  {0x8233a734, 0xe493ba},
+  {0x8233a735, 0xe493bb},
+  {0x8233a736, 0xe493bc},
+  {0x8233a737, 0xe493bd},
+  {0x8233a738, 0xe493be},
+  {0x8233a739, 0xe493bf},
+  {0x8233a830, 0xe49480},
+  {0x8233a831, 0xe49481},
+  {0x8233a832, 0xe49482},
+  {0x8233a833, 0xe49483},
+  {0x8233a834, 0xe49484},
+  {0x8233a835, 0xe49485},
+  {0x8233a836, 0xe49486},
+  {0x8233a837, 0xe49487},
+  {0x8233a838, 0xe49488},
+  {0x8233a839, 0xe49489},
+  {0x8233a930, 0xe4948a},
+  {0x8233a931, 0xe4948b},
+  {0x8233a932, 0xe4948c},
+  {0x8233a933, 0xe4948d},
+  {0x8233a934, 0xe4948e},
+  {0x8233a935, 0xe4948f},
+  {0x8233a936, 0xe49490},
+  {0x8233a937, 0xe49491},
+  {0x8233a938, 0xe49492},
+  {0x8233a939, 0xe49493},
+  {0x8233aa30, 0xe49494},
+  {0x8233aa31, 0xe49495},
+  {0x8233aa32, 0xe49496},
+  {0x8233aa33, 0xe49497},
+  {0x8233aa34, 0xe49498},
+  {0x8233aa35, 0xe49499},
+  {0x8233aa36, 0xe4949a},
+  {0x8233aa37, 0xe4949b},
+  {0x8233aa38, 0xe4949c},
+  {0x8233aa39, 0xe4949d},
+  {0x8233ab30, 0xe4949e},
+  {0x8233ab31, 0xe4949f},
+  {0x8233ab32, 0xe494a0},
+  {0x8233ab33, 0xe494a1},
+  {0x8233ab34, 0xe494a2},
+  {0x8233ab35, 0xe494a3},
+  {0x8233ab36, 0xe494a4},
+  {0x8233ab37, 0xe494a5},
+  {0x8233ab38, 0xe494a6},
+  {0x8233ab39, 0xe494a7},
+  {0x8233ac30, 0xe494a8},
+  {0x8233ac31, 0xe494a9},
+  {0x8233ac32, 0xe494aa},
+  {0x8233ac33, 0xe494ab},
+  {0x8233ac34, 0xe494ac},
+  {0x8233ac35, 0xe494ad},
+  {0x8233ac36, 0xe494ae},
+  {0x8233ac37, 0xe494af},
+  {0x8233ac38, 0xe494b0},
+  {0x8233ac39, 0xe494b1},
+  {0x8233ad30, 0xe494b2},
+  {0x8233ad31, 0xe494b3},
+  {0x8233ad32, 0xe494b4},
+  {0x8233ad33, 0xe494b5},
+  {0x8233ad34, 0xe494b6},
+  {0x8233ad35, 0xe494b7},
+  {0x8233ad36, 0xe494b8},
+  {0x8233ad37, 0xe494b9},
+  {0x8233ad38, 0xe494ba},
+  {0x8233ad39, 0xe494bb},
+  {0x8233ae30, 0xe494bc},
+  {0x8233ae31, 0xe494bd},
+  {0x8233ae32, 0xe494be},
+  {0x8233ae33, 0xe494bf},
+  {0x8233ae34, 0xe49580},
+  {0x8233ae35, 0xe49581},
+  {0x8233ae36, 0xe49582},
+  {0x8233ae37, 0xe49583},
+  {0x8233ae38, 0xe49584},
+  {0x8233ae39, 0xe49585},
+  {0x8233af30, 0xe49586},
+  {0x8233af31, 0xe49587},
+  {0x8233af32, 0xe49588},
+  {0x8233af33, 0xe49589},
+  {0x8233af34, 0xe4958a},
+  {0x8233af35, 0xe4958b},
+  {0x8233af36, 0xe4958c},
+  {0x8233af37, 0xe4958d},
+  {0x8233af38, 0xe4958e},
+  {0x8233af39, 0xe4958f},
+  {0x8233b030, 0xe49590},
+  {0x8233b031, 0xe49591},
+  {0x8233b032, 0xe49592},
+  {0x8233b033, 0xe49593},
+  {0x8233b034, 0xe49594},
+  {0x8233b035, 0xe49595},
+  {0x8233b036, 0xe49596},
+  {0x8233b037, 0xe49597},
+  {0x8233b038, 0xe49598},
+  {0x8233b039, 0xe49599},
+  {0x8233b130, 0xe4959a},
+  {0x8233b131, 0xe4959b},
+  {0x8233b132, 0xe4959c},
+  {0x8233b133, 0xe4959d},
+  {0x8233b134, 0xe4959e},
+  {0x8233b135, 0xe4959f},
+  {0x8233b136, 0xe495a0},
+  {0x8233b137, 0xe495a1},
+  {0x8233b138, 0xe495a2},
+  {0x8233b139, 0xe495a3},
+  {0x8233b230, 0xe495a4},
+  {0x8233b231, 0xe495a5},
+  {0x8233b232, 0xe495a6},
+  {0x8233b233, 0xe495a7},
+  {0x8233b234, 0xe495a8},
+  {0x8233b235, 0xe495a9},
+  {0x8233b236, 0xe495aa},
+  {0x8233b237, 0xe495ab},
+  {0x8233b238, 0xe495ac},
+  {0x8233b239, 0xe495ad},
+  {0x8233b330, 0xe495ae},
+  {0x8233b331, 0xe495af},
+  {0x8233b332, 0xe495b0},
+  {0x8233b333, 0xe495b1},
+  {0x8233b334, 0xe495b2},
+  {0x8233b335, 0xe495b3},
+  {0x8233b336, 0xe495b4},
+  {0x8233b337, 0xe495b5},
+  {0x8233b338, 0xe495b6},
+  {0x8233b339, 0xe495b7},
+  {0x8233b430, 0xe495b8},
+  {0x8233b431, 0xe495b9},
+  {0x8233b432, 0xe495ba},
+  {0x8233b433, 0xe495bb},
+  {0x8233b434, 0xe495bc},
+  {0x8233b435, 0xe495bd},
+  {0x8233b436, 0xe495be},
+  {0x8233b437, 0xe495bf},
+  {0x8233b438, 0xe49680},
+  {0x8233b439, 0xe49681},
+  {0x8233b530, 0xe49682},
+  {0x8233b531, 0xe49683},
+  {0x8233b532, 0xe49684},
+  {0x8233b533, 0xe49685},
+  {0x8233b534, 0xe49686},
+  {0x8233b535, 0xe49687},
+  {0x8233b536, 0xe49688},
+  {0x8233b537, 0xe49689},
+  {0x8233b538, 0xe4968a},
+  {0x8233b539, 0xe4968b},
+  {0x8233b630, 0xe4968c},
+  {0x8233b631, 0xe4968d},
+  {0x8233b632, 0xe4968e},
+  {0x8233b633, 0xe4968f},
+  {0x8233b634, 0xe49690},
+  {0x8233b635, 0xe49691},
+  {0x8233b636, 0xe49692},
+  {0x8233b637, 0xe49693},
+  {0x8233b638, 0xe49694},
+  {0x8233b639, 0xe49695},
+  {0x8233b730, 0xe49696},
+  {0x8233b731, 0xe49697},
+  {0x8233b732, 0xe49698},
+  {0x8233b733, 0xe49699},
+  {0x8233b734, 0xe4969a},
+  {0x8233b735, 0xe4969b},
+  {0x8233b736, 0xe4969c},
+  {0x8233b737, 0xe4969d},
+  {0x8233b738, 0xe4969e},
+  {0x8233b739, 0xe4969f},
+  {0x8233b830, 0xe496a0},
+  {0x8233b831, 0xe496a1},
+  {0x8233b832, 0xe496a2},
+  {0x8233b833, 0xe496a3},
+  {0x8233b834, 0xe496a4},
+  {0x8233b835, 0xe496a5},
+  {0x8233b836, 0xe496a6},
+  {0x8233b837, 0xe496a7},
+  {0x8233b838, 0xe496a8},
+  {0x8233b839, 0xe496a9},
+  {0x8233b930, 0xe496aa},
+  {0x8233b931, 0xe496ab},
+  {0x8233b932, 0xe496ac},
+  {0x8233b933, 0xe496ad},
+  {0x8233b934, 0xe496ae},
+  {0x8233b935, 0xe496af},
+  {0x8233b936, 0xe496b0},
+  {0x8233b937, 0xe496b1},
+  {0x8233b938, 0xe496b2},
+  {0x8233b939, 0xe496b3},
+  {0x8233ba30, 0xe496b4},
+  {0x8233ba31, 0xe496b5},
+  {0x8233ba32, 0xe496b6},
+  {0x8233ba33, 0xe496b7},
+  {0x8233ba34, 0xe496b8},
+  {0x8233ba35, 0xe496b9},
+  {0x8233ba36, 0xe496ba},
+  {0x8233ba37, 0xe496bb},
+  {0x8233ba38, 0xe496bc},
+  {0x8233ba39, 0xe496bd},
+  {0x8233bb30, 0xe496be},
+  {0x8233bb31, 0xe496bf},
+  {0x8233bb32, 0xe49780},
+  {0x8233bb33, 0xe49781},
+  {0x8233bb34, 0xe49782},
+  {0x8233bb35, 0xe49783},
+  {0x8233bb36, 0xe49784},
+  {0x8233bb37, 0xe49785},
+  {0x8233bb38, 0xe49786},
+  {0x8233bb39, 0xe49787},
+  {0x8233bc30, 0xe49788},
+  {0x8233bc31, 0xe49789},
+  {0x8233bc32, 0xe4978a},
+  {0x8233bc33, 0xe4978b},
+  {0x8233bc34, 0xe4978c},
+  {0x8233bc35, 0xe4978d},
+  {0x8233bc36, 0xe4978e},
+  {0x8233bc37, 0xe4978f},
+  {0x8233bc38, 0xe49790},
+  {0x8233bc39, 0xe49791},
+  {0x8233bd30, 0xe49792},
+  {0x8233bd31, 0xe49793},
+  {0x8233bd32, 0xe49794},
+  {0x8233bd33, 0xe49795},
+  {0x8233bd34, 0xe49796},
+  {0x8233bd35, 0xe49797},
+  {0x8233bd36, 0xe49798},
+  {0x8233bd37, 0xe49799},
+  {0x8233bd38, 0xe4979a},
+  {0x8233bd39, 0xe4979b},
+  {0x8233be30, 0xe4979c},
+  {0x8233be31, 0xe4979d},
+  {0x8233be32, 0xe4979e},
+  {0x8233be33, 0xe4979f},
+  {0x8233be34, 0xe497a0},
+  {0x8233be35, 0xe497a1},
+  {0x8233be36, 0xe497a2},
+  {0x8233be37, 0xe497a3},
+  {0x8233be38, 0xe497a4},
+  {0x8233be39, 0xe497a5},
+  {0x8233bf30, 0xe497a6},
+  {0x8233bf31, 0xe497a7},
+  {0x8233bf32, 0xe497a8},
+  {0x8233bf33, 0xe497a9},
+  {0x8233bf34, 0xe497aa},
+  {0x8233bf35, 0xe497ab},
+  {0x8233bf36, 0xe497ac},
+  {0x8233bf37, 0xe497ad},
+  {0x8233bf38, 0xe497ae},
+  {0x8233bf39, 0xe497af},
+  {0x8233c030, 0xe497b0},
+  {0x8233c031, 0xe497b1},
+  {0x8233c032, 0xe497b2},
+  {0x8233c033, 0xe497b3},
+  {0x8233c034, 0xe497b4},
+  {0x8233c035, 0xe497b5},
+  {0x8233c036, 0xe497b6},
+  {0x8233c037, 0xe497b7},
+  {0x8233c038, 0xe497b8},
+  {0x8233c039, 0xe497b9},
+  {0x8233c130, 0xe497ba},
+  {0x8233c131, 0xe497bb},
+  {0x8233c132, 0xe497bc},
+  {0x8233c133, 0xe497bd},
+  {0x8233c134, 0xe497be},
+  {0x8233c135, 0xe497bf},
+  {0x8233c136, 0xe49880},
+  {0x8233c137, 0xe49881},
+  {0x8233c138, 0xe49882},
+  {0x8233c139, 0xe49883},
+  {0x8233c230, 0xe49884},
+  {0x8233c231, 0xe49885},
+  {0x8233c232, 0xe49886},
+  {0x8233c233, 0xe49887},
+  {0x8233c234, 0xe49888},
+  {0x8233c235, 0xe49889},
+  {0x8233c236, 0xe4988a},
+  {0x8233c237, 0xe4988b},
+  {0x8233c238, 0xe4988c},
+  {0x8233c239, 0xe4988d},
+  {0x8233c330, 0xe4988e},
+  {0x8233c331, 0xe4988f},
+  {0x8233c332, 0xe49890},
+  {0x8233c333, 0xe49891},
+  {0x8233c334, 0xe49892},
+  {0x8233c335, 0xe49893},
+  {0x8233c336, 0xe49894},
+  {0x8233c337, 0xe49895},
+  {0x8233c338, 0xe49896},
+  {0x8233c339, 0xe49897},
+  {0x8233c430, 0xe49898},
+  {0x8233c431, 0xe49899},
+  {0x8233c432, 0xe4989a},
+  {0x8233c433, 0xe4989b},
+  {0x8233c434, 0xe4989c},
+  {0x8233c435, 0xe4989d},
+  {0x8233c436, 0xe4989e},
+  {0x8233c437, 0xe4989f},
+  {0x8233c438, 0xe498a0},
+  {0x8233c439, 0xe498a1},
+  {0x8233c530, 0xe498a2},
+  {0x8233c531, 0xe498a3},
+  {0x8233c532, 0xe498a4},
+  {0x8233c533, 0xe498a5},
+  {0x8233c534, 0xe498a6},
+  {0x8233c535, 0xe498a7},
+  {0x8233c536, 0xe498a8},
+  {0x8233c537, 0xe498a9},
+  {0x8233c538, 0xe498aa},
+  {0x8233c539, 0xe498ab},
+  {0x8233c630, 0xe498ac},
+  {0x8233c631, 0xe498ad},
+  {0x8233c632, 0xe498ae},
+  {0x8233c633, 0xe498af},
+  {0x8233c634, 0xe498b0},
+  {0x8233c635, 0xe498b1},
+  {0x8233c636, 0xe498b2},
+  {0x8233c637, 0xe498b3},
+  {0x8233c638, 0xe498b4},
+  {0x8233c639, 0xe498b5},
+  {0x8233c730, 0xe498b6},
+  {0x8233c731, 0xe498b7},
+  {0x8233c732, 0xe498b8},
+  {0x8233c733, 0xe498b9},
+  {0x8233c734, 0xe498ba},
+  {0x8233c735, 0xe498bb},
+  {0x8233c736, 0xe498bc},
+  {0x8233c737, 0xe498bd},
+  {0x8233c738, 0xe498be},
+  {0x8233c739, 0xe498bf},
+  {0x8233c830, 0xe49980},
+  {0x8233c831, 0xe49981},
+  {0x8233c832, 0xe49982},
+  {0x8233c833, 0xe49983},
+  {0x8233c834, 0xe49984},
+  {0x8233c835, 0xe49985},
+  {0x8233c836, 0xe49986},
+  {0x8233c837, 0xe49987},
+  {0x8233c838, 0xe49988},
+  {0x8233c839, 0xe49989},
+  {0x8233c930, 0xe4998a},
+  {0x8233c931, 0xe4998b},
+  {0x8233c932, 0xe4998d},
+  {0x8233c933, 0xe4998e},
+  {0x8233c934, 0xe4998f},
+  {0x8233c935, 0xe49990},
+  {0x8233c936, 0xe49991},
+  {0x8233c937, 0xe49992},
+  {0x8233c938, 0xe49993},
+  {0x8233c939, 0xe49994},
+  {0x8233ca30, 0xe49995},
+  {0x8233ca31, 0xe49996},
+  {0x8233ca32, 0xe49997},
+  {0x8233ca33, 0xe49998},
+  {0x8233ca34, 0xe49999},
+  {0x8233ca35, 0xe4999a},
+  {0x8233ca36, 0xe4999b},
+  {0x8233ca37, 0xe4999c},
+  {0x8233ca38, 0xe4999d},
+  {0x8233ca39, 0xe4999e},
+  {0x8233cb30, 0xe4999f},
+  {0x8233cb31, 0xe499a0},
+  {0x8233cb32, 0xe499a2},
+  {0x8233cb33, 0xe499a3},
+  {0x8233cb34, 0xe499a4},
+  {0x8233cb35, 0xe499a5},
+  {0x8233cb36, 0xe499a6},
+  {0x8233cb37, 0xe499a7},
+  {0x8233cb38, 0xe499a8},
+  {0x8233cb39, 0xe499a9},
+  {0x8233cc30, 0xe499aa},
+  {0x8233cc31, 0xe499ab},
+  {0x8233cc32, 0xe499ac},
+  {0x8233cc33, 0xe499ad},
+  {0x8233cc34, 0xe499ae},
+  {0x8233cc35, 0xe499af},
+  {0x8233cc36, 0xe499b0},
+  {0x8233cc37, 0xe499b1},
+  {0x8233cc38, 0xe499b2},
+  {0x8233cc39, 0xe499b3},
+  {0x8233cd30, 0xe499b4},
+  {0x8233cd31, 0xe499b5},
+  {0x8233cd32, 0xe499b6},
+  {0x8233cd33, 0xe499b7},
+  {0x8233cd34, 0xe499b8},
+  {0x8233cd35, 0xe499b9},
+  {0x8233cd36, 0xe499ba},
+  {0x8233cd37, 0xe499bb},
+  {0x8233cd38, 0xe499bc},
+  {0x8233cd39, 0xe499bd},
+  {0x8233ce30, 0xe499be},
+  {0x8233ce31, 0xe499bf},
+  {0x8233ce32, 0xe49a80},
+  {0x8233ce33, 0xe49a81},
+  {0x8233ce34, 0xe49a82},
+  {0x8233ce35, 0xe49a83},
+  {0x8233ce36, 0xe49a84},
+  {0x8233ce37, 0xe49a85},
+  {0x8233ce38, 0xe49a86},
+  {0x8233ce39, 0xe49a87},
+  {0x8233cf30, 0xe49a88},
+  {0x8233cf31, 0xe49a89},
+  {0x8233cf32, 0xe49a8a},
+  {0x8233cf33, 0xe49a8b},
+  {0x8233cf34, 0xe49a8c},
+  {0x8233cf35, 0xe49a8d},
+  {0x8233cf36, 0xe49a8e},
+  {0x8233cf37, 0xe49a8f},
+  {0x8233cf38, 0xe49a90},
+  {0x8233cf39, 0xe49a91},
+  {0x8233d030, 0xe49a92},
+  {0x8233d031, 0xe49a93},
+  {0x8233d032, 0xe49a94},
+  {0x8233d033, 0xe49a95},
+  {0x8233d034, 0xe49a96},
+  {0x8233d035, 0xe49a97},
+  {0x8233d036, 0xe49a98},
+  {0x8233d037, 0xe49a99},
+  {0x8233d038, 0xe49a9a},
+  {0x8233d039, 0xe49a9b},
+  {0x8233d130, 0xe49a9c},
+  {0x8233d131, 0xe49a9d},
+  {0x8233d132, 0xe49a9e},
+  {0x8233d133, 0xe49a9f},
+  {0x8233d134, 0xe49aa0},
+  {0x8233d135, 0xe49aa1},
+  {0x8233d136, 0xe49aa2},
+  {0x8233d137, 0xe49aa3},
+  {0x8233d138, 0xe49aa4},
+  {0x8233d139, 0xe49aa5},
+  {0x8233d230, 0xe49aa6},
+  {0x8233d231, 0xe49aa7},
+  {0x8233d232, 0xe49aa8},
+  {0x8233d233, 0xe49aa9},
+  {0x8233d234, 0xe49aaa},
+  {0x8233d235, 0xe49aab},
+  {0x8233d236, 0xe49aac},
+  {0x8233d237, 0xe49aad},
+  {0x8233d238, 0xe49aae},
+  {0x8233d239, 0xe49aaf},
+  {0x8233d330, 0xe49ab0},
+  {0x8233d331, 0xe49ab1},
+  {0x8233d332, 0xe49ab2},
+  {0x8233d333, 0xe49ab3},
+  {0x8233d334, 0xe49ab4},
+  {0x8233d335, 0xe49ab5},
+  {0x8233d336, 0xe49ab6},
+  {0x8233d337, 0xe49ab7},
+  {0x8233d338, 0xe49ab8},
+  {0x8233d339, 0xe49ab9},
+  {0x8233d430, 0xe49aba},
+  {0x8233d431, 0xe49abb},
+  {0x8233d432, 0xe49abc},
+  {0x8233d433, 0xe49abd},
+  {0x8233d434, 0xe49abe},
+  {0x8233d435, 0xe49abf},
+  {0x8233d436, 0xe49b80},
+  {0x8233d437, 0xe49b81},
+  {0x8233d438, 0xe49b82},
+  {0x8233d439, 0xe49b83},
+  {0x8233d530, 0xe49b84},
+  {0x8233d531, 0xe49b85},
+  {0x8233d532, 0xe49b86},
+  {0x8233d533, 0xe49b87},
+  {0x8233d534, 0xe49b88},
+  {0x8233d535, 0xe49b89},
+  {0x8233d536, 0xe49b8a},
+  {0x8233d537, 0xe49b8b},
+  {0x8233d538, 0xe49b8c},
+  {0x8233d539, 0xe49b8d},
+  {0x8233d630, 0xe49b8e},
+  {0x8233d631, 0xe49b8f},
+  {0x8233d632, 0xe49b90},
+  {0x8233d633, 0xe49b91},
+  {0x8233d634, 0xe49b92},
+  {0x8233d635, 0xe49b93},
+  {0x8233d636, 0xe49b94},
+  {0x8233d637, 0xe49b95},
+  {0x8233d638, 0xe49b96},
+  {0x8233d639, 0xe49b97},
+  {0x8233d730, 0xe49b98},
+  {0x8233d731, 0xe49b99},
+  {0x8233d732, 0xe49b9a},
+  {0x8233d733, 0xe49b9b},
+  {0x8233d734, 0xe49b9c},
+  {0x8233d735, 0xe49b9d},
+  {0x8233d736, 0xe49b9e},
+  {0x8233d737, 0xe49b9f},
+  {0x8233d738, 0xe49ba0},
+  {0x8233d739, 0xe49ba1},
+  {0x8233d830, 0xe49ba2},
+  {0x8233d831, 0xe49ba3},
+  {0x8233d832, 0xe49ba4},
+  {0x8233d833, 0xe49ba5},
+  {0x8233d834, 0xe49ba6},
+  {0x8233d835, 0xe49ba7},
+  {0x8233d836, 0xe49ba8},
+  {0x8233d837, 0xe49ba9},
+  {0x8233d838, 0xe49baa},
+  {0x8233d839, 0xe49bab},
+  {0x8233d930, 0xe49bac},
+  {0x8233d931, 0xe49bad},
+  {0x8233d932, 0xe49bae},
+  {0x8233d933, 0xe49baf},
+  {0x8233d934, 0xe49bb0},
+  {0x8233d935, 0xe49bb1},
+  {0x8233d936, 0xe49bb2},
+  {0x8233d937, 0xe49bb3},
+  {0x8233d938, 0xe49bb4},
+  {0x8233d939, 0xe49bb5},
+  {0x8233da30, 0xe49bb6},
+  {0x8233da31, 0xe49bb7},
+  {0x8233da32, 0xe49bb8},
+  {0x8233da33, 0xe49bb9},
+  {0x8233da34, 0xe49bba},
+  {0x8233da35, 0xe49bbb},
+  {0x8233da36, 0xe49bbc},
+  {0x8233da37, 0xe49bbd},
+  {0x8233da38, 0xe49bbe},
+  {0x8233da39, 0xe49bbf},
+  {0x8233db30, 0xe49c80},
+  {0x8233db31, 0xe49c81},
+  {0x8233db32, 0xe49c82},
+  {0x8233db33, 0xe49c83},
+  {0x8233db34, 0xe49c84},
+  {0x8233db35, 0xe49c85},
+  {0x8233db36, 0xe49c86},
+  {0x8233db37, 0xe49c87},
+  {0x8233db38, 0xe49c88},
+  {0x8233db39, 0xe49c89},
+  {0x8233dc30, 0xe49c8a},
+  {0x8233dc31, 0xe49c8b},
+  {0x8233dc32, 0xe49c8c},
+  {0x8233dc33, 0xe49c8d},
+  {0x8233dc34, 0xe49c8e},
+  {0x8233dc35, 0xe49c8f},
+  {0x8233dc36, 0xe49c90},
+  {0x8233dc37, 0xe49c91},
+  {0x8233dc38, 0xe49c92},
+  {0x8233dc39, 0xe49c93},
+  {0x8233dd30, 0xe49c94},
+  {0x8233dd31, 0xe49c95},
+  {0x8233dd32, 0xe49c96},
+  {0x8233dd33, 0xe49c97},
+  {0x8233dd34, 0xe49c98},
+  {0x8233dd35, 0xe49c99},
+  {0x8233dd36, 0xe49c9a},
+  {0x8233dd37, 0xe49c9b},
+  {0x8233dd38, 0xe49c9c},
+  {0x8233dd39, 0xe49c9d},
+  {0x8233de30, 0xe49c9e},
+  {0x8233de31, 0xe49c9f},
+  {0x8233de32, 0xe49ca0},
+  {0x8233de33, 0xe49ca1},
+  {0x8233de34, 0xe49ca2},
+  {0x8233de35, 0xe49ca4},
+  {0x8233de36, 0xe49ca5},
+  {0x8233de37, 0xe49ca6},
+  {0x8233de38, 0xe49ca7},
+  {0x8233de39, 0xe49ca8},
+  {0x8233df30, 0xe49caa},
+  {0x8233df31, 0xe49cab},
+  {0x8233df32, 0xe49cac},
+  {0x8233df33, 0xe49cad},
+  {0x8233df34, 0xe49cae},
+  {0x8233df35, 0xe49caf},
+  {0x8233df36, 0xe49cb0},
+  {0x8233df37, 0xe49cb1},
+  {0x8233df38, 0xe49cb2},
+  {0x8233df39, 0xe49cb3},
+  {0x8233e030, 0xe49cb4},
+  {0x8233e031, 0xe49cb5},
+  {0x8233e032, 0xe49cb6},
+  {0x8233e033, 0xe49cb7},
+  {0x8233e034, 0xe49cb8},
+  {0x8233e035, 0xe49cb9},
+  {0x8233e036, 0xe49cba},
+  {0x8233e037, 0xe49cbb},
+  {0x8233e038, 0xe49cbc},
+  {0x8233e039, 0xe49cbd},
+  {0x8233e130, 0xe49cbe},
+  {0x8233e131, 0xe49cbf},
+  {0x8233e132, 0xe49d80},
+  {0x8233e133, 0xe49d81},
+  {0x8233e134, 0xe49d82},
+  {0x8233e135, 0xe49d83},
+  {0x8233e136, 0xe49d84},
+  {0x8233e137, 0xe49d85},
+  {0x8233e138, 0xe49d86},
+  {0x8233e139, 0xe49d87},
+  {0x8233e230, 0xe49d88},
+  {0x8233e231, 0xe49d89},
+  {0x8233e232, 0xe49d8a},
+  {0x8233e233, 0xe49d8b},
+  {0x8233e234, 0xe49d8c},
+  {0x8233e235, 0xe49d8d},
+  {0x8233e236, 0xe49d8e},
+  {0x8233e237, 0xe49d8f},
+  {0x8233e238, 0xe49d90},
+  {0x8233e239, 0xe49d91},
+  {0x8233e330, 0xe49d92},
+  {0x8233e331, 0xe49d93},
+  {0x8233e332, 0xe49d94},
+  {0x8233e333, 0xe49d95},
+  {0x8233e334, 0xe49d96},
+  {0x8233e335, 0xe49d97},
+  {0x8233e336, 0xe49d98},
+  {0x8233e337, 0xe49d99},
+  {0x8233e338, 0xe49d9a},
+  {0x8233e339, 0xe49d9b},
+  {0x8233e430, 0xe49d9c},
+  {0x8233e431, 0xe49d9d},
+  {0x8233e432, 0xe49d9e},
+  {0x8233e433, 0xe49d9f},
+  {0x8233e434, 0xe49da0},
+  {0x8233e435, 0xe49da1},
+  {0x8233e436, 0xe49da2},
+  {0x8233e437, 0xe49da3},
+  {0x8233e438, 0xe49da4},
+  {0x8233e439, 0xe49da5},
+  {0x8233e530, 0xe49da6},
+  {0x8233e531, 0xe49da7},
+  {0x8233e532, 0xe49da8},
+  {0x8233e533, 0xe49da9},
+  {0x8233e534, 0xe49daa},
+  {0x8233e535, 0xe49dab},
+  {0x8233e536, 0xe49dac},
+  {0x8233e537, 0xe49dad},
+  {0x8233e538, 0xe49dae},
+  {0x8233e539, 0xe49daf},
+  {0x8233e630, 0xe49db0},
+  {0x8233e631, 0xe49db1},
+  {0x8233e632, 0xe49db2},
+  {0x8233e633, 0xe49db3},
+  {0x8233e634, 0xe49db4},
+  {0x8233e635, 0xe49db5},
+  {0x8233e636, 0xe49db6},
+  {0x8233e637, 0xe49db7},
+  {0x8233e638, 0xe49db8},
+  {0x8233e639, 0xe49db9},
+  {0x8233e730, 0xe49dba},
+  {0x8233e731, 0xe49dbb},
+  {0x8233e732, 0xe49dbd},
+  {0x8233e733, 0xe49dbe},
+  {0x8233e734, 0xe49dbf},
+  {0x8233e735, 0xe49e80},
+  {0x8233e736, 0xe49e81},
+  {0x8233e737, 0xe49e82},
+  {0x8233e738, 0xe49e83},
+  {0x8233e739, 0xe49e84},
+  {0x8233e830, 0xe49e85},
+  {0x8233e831, 0xe49e86},
+  {0x8233e832, 0xe49e87},
+  {0x8233e833, 0xe49e88},
+  {0x8233e834, 0xe49e89},
+  {0x8233e835, 0xe49e8a},
+  {0x8233e836, 0xe49e8b},
+  {0x8233e837, 0xe49e8c},
+  {0x8233e838, 0xe49e8e},
+  {0x8233e839, 0xe49e8f},
+  {0x8233e930, 0xe49e90},
+  {0x8233e931, 0xe49e91},
+  {0x8233e932, 0xe49e92},
+  {0x8233e933, 0xe49e93},
+  {0x8233e934, 0xe49e94},
+  {0x8233e935, 0xe49e95},
+  {0x8233e936, 0xe49e96},
+  {0x8233e937, 0xe49e97},
+  {0x8233e938, 0xe49e98},
+  {0x8233e939, 0xe49e99},
+  {0x8233ea30, 0xe49e9a},
+  {0x8233ea31, 0xe49e9b},
+  {0x8233ea32, 0xe49e9c},
+  {0x8233ea33, 0xe49e9d},
+  {0x8233ea34, 0xe49e9e},
+  {0x8233ea35, 0xe49e9f},
+  {0x8233ea36, 0xe49ea0},
+  {0x8233ea37, 0xe49ea1},
+  {0x8233ea38, 0xe49ea2},
+  {0x8233ea39, 0xe49ea3},
+  {0x8233eb30, 0xe49ea4},
+  {0x8233eb31, 0xe49ea5},
+  {0x8233eb32, 0xe49ea6},
+  {0x8233eb33, 0xe49ea7},
+  {0x8233eb34, 0xe49ea8},
+  {0x8233eb35, 0xe49ea9},
+  {0x8233eb36, 0xe49eaa},
+  {0x8233eb37, 0xe49eab},
+  {0x8233eb38, 0xe49eac},
+  {0x8233eb39, 0xe49ead},
+  {0x8233ec30, 0xe49eae},
+  {0x8233ec31, 0xe49eaf},
+  {0x8233ec32, 0xe49eb0},
+  {0x8233ec33, 0xe49eb1},
+  {0x8233ec34, 0xe49eb2},
+  {0x8233ec35, 0xe49eb3},
+  {0x8233ec36, 0xe49eb4},
+  {0x8233ec37, 0xe49eb5},
+  {0x8233ec38, 0xe49eb6},
+  {0x8233ec39, 0xe49eb7},
+  {0x8233ed30, 0xe49eb8},
+  {0x8233ed31, 0xe49eb9},
+  {0x8233ed32, 0xe49eba},
+  {0x8233ed33, 0xe49ebb},
+  {0x8233ed34, 0xe49ebc},
+  {0x8233ed35, 0xe49ebd},
+  {0x8233ed36, 0xe49ebe},
+  {0x8233ed37, 0xe49ebf},
+  {0x8233ed38, 0xe49f80},
+  {0x8233ed39, 0xe49f81},
+  {0x8233ee30, 0xe49f82},
+  {0x8233ee31, 0xe49f83},
+  {0x8233ee32, 0xe49f84},
+  {0x8233ee33, 0xe49f85},
+  {0x8233ee34, 0xe49f86},
+  {0x8233ee35, 0xe49f87},
+  {0x8233ee36, 0xe49f88},
+  {0x8233ee37, 0xe49f89},
+  {0x8233ee38, 0xe49f8a},
+  {0x8233ee39, 0xe49f8b},
+  {0x8233ef30, 0xe49f8c},
+  {0x8233ef31, 0xe49f8d},
+  {0x8233ef32, 0xe49f8e},
+  {0x8233ef33, 0xe49f8f},
+  {0x8233ef34, 0xe49f90},
+  {0x8233ef35, 0xe49f91},
+  {0x8233ef36, 0xe49f92},
+  {0x8233ef37, 0xe49f93},
+  {0x8233ef38, 0xe49f94},
+  {0x8233ef39, 0xe49f95},
+  {0x8233f030, 0xe49f96},
+  {0x8233f031, 0xe49f97},
+  {0x8233f032, 0xe49f98},
+  {0x8233f033, 0xe49f99},
+  {0x8233f034, 0xe49f9a},
+  {0x8233f035, 0xe49f9b},
+  {0x8233f036, 0xe49f9c},
+  {0x8233f037, 0xe49f9d},
+  {0x8233f038, 0xe49f9e},
+  {0x8233f039, 0xe49f9f},
+  {0x8233f130, 0xe49fa0},
+  {0x8233f131, 0xe49fa1},
+  {0x8233f132, 0xe49fa2},
+  {0x8233f133, 0xe49fa3},
+  {0x8233f134, 0xe49fa4},
+  {0x8233f135, 0xe49fa5},
+  {0x8233f136, 0xe49fa6},
+  {0x8233f137, 0xe49fa7},
+  {0x8233f138, 0xe49fa8},
+  {0x8233f139, 0xe49fa9},
+  {0x8233f230, 0xe49faa},
+  {0x8233f231, 0xe49fab},
+  {0x8233f232, 0xe49fac},
+  {0x8233f233, 0xe49fad},
+  {0x8233f234, 0xe49fae},
+  {0x8233f235, 0xe49faf},
+  {0x8233f236, 0xe49fb0},
+  {0x8233f237, 0xe49fb1},
+  {0x8233f238, 0xe49fb2},
+  {0x8233f239, 0xe49fb3},
+  {0x8233f330, 0xe49fb4},
+  {0x8233f331, 0xe49fb5},
+  {0x8233f332, 0xe49fb6},
+  {0x8233f333, 0xe49fb7},
+  {0x8233f334, 0xe49fb8},
+  {0x8233f335, 0xe49fb9},
+  {0x8233f336, 0xe49fba},
+  {0x8233f337, 0xe49fbb},
+  {0x8233f338, 0xe49fbc},
+  {0x8233f339, 0xe49fbd},
+  {0x8233f430, 0xe49fbe},
+  {0x8233f431, 0xe49fbf},
+  {0x8233f432, 0xe4a080},
+  {0x8233f433, 0xe4a081},
+  {0x8233f434, 0xe4a082},
+  {0x8233f435, 0xe4a083},
+  {0x8233f436, 0xe4a084},
+  {0x8233f437, 0xe4a085},
+  {0x8233f438, 0xe4a086},
+  {0x8233f439, 0xe4a087},
+  {0x8233f530, 0xe4a088},
+  {0x8233f531, 0xe4a089},
+  {0x8233f532, 0xe4a08a},
+  {0x8233f533, 0xe4a08b},
+  {0x8233f534, 0xe4a08c},
+  {0x8233f535, 0xe4a08d},
+  {0x8233f536, 0xe4a08e},
+  {0x8233f537, 0xe4a08f},
+  {0x8233f538, 0xe4a090},
+  {0x8233f539, 0xe4a091},
+  {0x8233f630, 0xe4a092},
+  {0x8233f631, 0xe4a093},
+  {0x8233f632, 0xe4a094},
+  {0x8233f633, 0xe4a095},
+  {0x8233f634, 0xe4a096},
+  {0x8233f635, 0xe4a097},
+  {0x8233f636, 0xe4a098},
+  {0x8233f637, 0xe4a099},
+  {0x8233f638, 0xe4a09a},
+  {0x8233f639, 0xe4a09b},
+  {0x8233f730, 0xe4a09c},
+  {0x8233f731, 0xe4a09d},
+  {0x8233f732, 0xe4a09e},
+  {0x8233f733, 0xe4a09f},
+  {0x8233f734, 0xe4a0a0},
+  {0x8233f735, 0xe4a0a1},
+  {0x8233f736, 0xe4a0a2},
+  {0x8233f737, 0xe4a0a3},
+  {0x8233f738, 0xe4a0a4},
+  {0x8233f739, 0xe4a0a5},
+  {0x8233f830, 0xe4a0a6},
+  {0x8233f831, 0xe4a0a7},
+  {0x8233f832, 0xe4a0a8},
+  {0x8233f833, 0xe4a0a9},
+  {0x8233f834, 0xe4a0aa},
+  {0x8233f835, 0xe4a0ab},
+  {0x8233f836, 0xe4a0ac},
+  {0x8233f837, 0xe4a0ad},
+  {0x8233f838, 0xe4a0ae},
+  {0x8233f839, 0xe4a0af},
+  {0x8233f930, 0xe4a0b0},
+  {0x8233f931, 0xe4a0b1},
+  {0x8233f932, 0xe4a0b2},
+  {0x8233f933, 0xe4a0b3},
+  {0x8233f934, 0xe4a0b4},
+  {0x8233f935, 0xe4a0b5},
+  {0x8233f936, 0xe4a0b6},
+  {0x8233f937, 0xe4a0b7},
+  {0x8233f938, 0xe4a0b8},
+  {0x8233f939, 0xe4a0b9},
+  {0x8233fa30, 0xe4a0ba},
+  {0x8233fa31, 0xe4a0bb},
+  {0x8233fa32, 0xe4a0bc},
+  {0x8233fa33, 0xe4a0bd},
+  {0x8233fa34, 0xe4a0be},
+  {0x8233fa35, 0xe4a0bf},
+  {0x8233fa36, 0xe4a180},
+  {0x8233fa37, 0xe4a181},
+  {0x8233fa38, 0xe4a182},
+  {0x8233fa39, 0xe4a183},
+  {0x8233fb30, 0xe4a184},
+  {0x8233fb31, 0xe4a185},
+  {0x8233fb32, 0xe4a186},
+  {0x8233fb33, 0xe4a187},
+  {0x8233fb34, 0xe4a188},
+  {0x8233fb35, 0xe4a189},
+  {0x8233fb36, 0xe4a18a},
+  {0x8233fb37, 0xe4a18b},
+  {0x8233fb38, 0xe4a18c},
+  {0x8233fb39, 0xe4a18d},
+  {0x8233fc30, 0xe4a18e},
+  {0x8233fc31, 0xe4a18f},
+  {0x8233fc32, 0xe4a190},
+  {0x8233fc33, 0xe4a191},
+  {0x8233fc34, 0xe4a192},
+  {0x8233fc35, 0xe4a193},
+  {0x8233fc36, 0xe4a194},
+  {0x8233fc37, 0xe4a195},
+  {0x8233fc38, 0xe4a196},
+  {0x8233fc39, 0xe4a197},
+  {0x8233fd30, 0xe4a198},
+  {0x8233fd31, 0xe4a199},
+  {0x8233fd32, 0xe4a19a},
+  {0x8233fd33, 0xe4a19b},
+  {0x8233fd34, 0xe4a19c},
+  {0x8233fd35, 0xe4a19d},
+  {0x8233fd36, 0xe4a19e},
+  {0x8233fd37, 0xe4a19f},
+  {0x8233fd38, 0xe4a1a0},
+  {0x8233fd39, 0xe4a1a1},
+  {0x8233fe30, 0xe4a1a2},
+  {0x8233fe31, 0xe4a1a3},
+  {0x8233fe32, 0xe4a1a4},
+  {0x8233fe33, 0xe4a1a5},
+  {0x8233fe34, 0xe4a1a6},
+  {0x8233fe35, 0xe4a1a7},
+  {0x8233fe36, 0xe4a1a8},
+  {0x8233fe37, 0xe4a1a9},
+  {0x8233fe38, 0xe4a1aa},
+  {0x8233fe39, 0xe4a1ab},
+  {0x82348130, 0xe4a1ac},
+  {0x82348131, 0xe4a1ad},
+  {0x82348132, 0xe4a1ae},
+  {0x82348133, 0xe4a1af},
+  {0x82348134, 0xe4a1b0},
+  {0x82348135, 0xe4a1b1},
+  {0x82348136, 0xe4a1b2},
+  {0x82348137, 0xe4a1b3},
+  {0x82348138, 0xe4a1b4},
+  {0x82348139, 0xe4a1b5},
+  {0x82348230, 0xe4a1b6},
+  {0x82348231, 0xe4a1b7},
+  {0x82348232, 0xe4a1b8},
+  {0x82348233, 0xe4a1b9},
+  {0x82348234, 0xe4a1ba},
+  {0x82348235, 0xe4a1bb},
+  {0x82348236, 0xe4a1bc},
+  {0x82348237, 0xe4a1bd},
+  {0x82348238, 0xe4a1be},
+  {0x82348239, 0xe4a1bf},
+  {0x82348330, 0xe4a280},
+  {0x82348331, 0xe4a281},
+  {0x82348332, 0xe4a282},
+  {0x82348333, 0xe4a283},
+  {0x82348334, 0xe4a284},
+  {0x82348335, 0xe4a285},
+  {0x82348336, 0xe4a286},
+  {0x82348337, 0xe4a287},
+  {0x82348338, 0xe4a288},
+  {0x82348339, 0xe4a289},
+  {0x82348430, 0xe4a28a},
+  {0x82348431, 0xe4a28b},
+  {0x82348432, 0xe4a28c},
+  {0x82348433, 0xe4a28d},
+  {0x82348434, 0xe4a28e},
+  {0x82348435, 0xe4a28f},
+  {0x82348436, 0xe4a290},
+  {0x82348437, 0xe4a291},
+  {0x82348438, 0xe4a292},
+  {0x82348439, 0xe4a293},
+  {0x82348530, 0xe4a294},
+  {0x82348531, 0xe4a295},
+  {0x82348532, 0xe4a296},
+  {0x82348533, 0xe4a297},
+  {0x82348534, 0xe4a298},
+  {0x82348535, 0xe4a299},
+  {0x82348536, 0xe4a29a},
+  {0x82348537, 0xe4a29b},
+  {0x82348538, 0xe4a29c},
+  {0x82348539, 0xe4a29d},
+  {0x82348630, 0xe4a29e},
+  {0x82348631, 0xe4a29f},
+  {0x82348632, 0xe4a2a0},
+  {0x82348633, 0xe4a2a1},
+  {0x82348634, 0xe4a2a2},
+  {0x82348635, 0xe4a2a3},
+  {0x82348636, 0xe4a2a4},
+  {0x82348637, 0xe4a2a5},
+  {0x82348638, 0xe4a2a6},
+  {0x82348639, 0xe4a2a7},
+  {0x82348730, 0xe4a2a8},
+  {0x82348731, 0xe4a2a9},
+  {0x82348732, 0xe4a2aa},
+  {0x82348733, 0xe4a2ab},
+  {0x82348734, 0xe4a2ac},
+  {0x82348735, 0xe4a2ad},
+  {0x82348736, 0xe4a2ae},
+  {0x82348737, 0xe4a2af},
+  {0x82348738, 0xe4a2b0},
+  {0x82348739, 0xe4a2b1},
+  {0x82348830, 0xe4a2b2},
+  {0x82348831, 0xe4a2b3},
+  {0x82348832, 0xe4a2b4},
+  {0x82348833, 0xe4a2b5},
+  {0x82348834, 0xe4a2b6},
+  {0x82348835, 0xe4a2b7},
+  {0x82348836, 0xe4a2b8},
+  {0x82348837, 0xe4a2b9},
+  {0x82348838, 0xe4a2ba},
+  {0x82348839, 0xe4a2bb},
+  {0x82348930, 0xe4a2bc},
+  {0x82348931, 0xe4a2bd},
+  {0x82348932, 0xe4a2be},
+  {0x82348933, 0xe4a2bf},
+  {0x82348934, 0xe4a380},
+  {0x82348935, 0xe4a381},
+  {0x82348936, 0xe4a382},
+  {0x82348937, 0xe4a383},
+  {0x82348938, 0xe4a384},
+  {0x82348939, 0xe4a385},
+  {0x82348a30, 0xe4a386},
+  {0x82348a31, 0xe4a387},
+  {0x82348a32, 0xe4a388},
+  {0x82348a33, 0xe4a389},
+  {0x82348a34, 0xe4a38a},
+  {0x82348a35, 0xe4a38b},
+  {0x82348a36, 0xe4a38c},
+  {0x82348a37, 0xe4a38d},
+  {0x82348a38, 0xe4a38e},
+  {0x82348a39, 0xe4a38f},
+  {0x82348b30, 0xe4a390},
+  {0x82348b31, 0xe4a391},
+  {0x82348b32, 0xe4a392},
+  {0x82348b33, 0xe4a393},
+  {0x82348b34, 0xe4a394},
+  {0x82348b35, 0xe4a395},
+  {0x82348b36, 0xe4a396},
+  {0x82348b37, 0xe4a397},
+  {0x82348b38, 0xe4a398},
+  {0x82348b39, 0xe4a399},
+  {0x82348c30, 0xe4a39a},
+  {0x82348c31, 0xe4a39b},
+  {0x82348c32, 0xe4a39c},
+  {0x82348c33, 0xe4a39d},
+  {0x82348c34, 0xe4a39e},
+  {0x82348c35, 0xe4a39f},
+  {0x82348c36, 0xe4a3a0},
+  {0x82348c37, 0xe4a3a1},
+  {0x82348c38, 0xe4a3a2},
+  {0x82348c39, 0xe4a3a3},
+  {0x82348d30, 0xe4a3a4},
+  {0x82348d31, 0xe4a3a5},
+  {0x82348d32, 0xe4a3a6},
+  {0x82348d33, 0xe4a3a7},
+  {0x82348d34, 0xe4a3a8},
+  {0x82348d35, 0xe4a3a9},
+  {0x82348d36, 0xe4a3aa},
+  {0x82348d37, 0xe4a3ab},
+  {0x82348d38, 0xe4a3ac},
+  {0x82348d39, 0xe4a3ad},
+  {0x82348e30, 0xe4a3ae},
+  {0x82348e31, 0xe4a3af},
+  {0x82348e32, 0xe4a3b0},
+  {0x82348e33, 0xe4a3b1},
+  {0x82348e34, 0xe4a3b2},
+  {0x82348e35, 0xe4a3b3},
+  {0x82348e36, 0xe4a3b4},
+  {0x82348e37, 0xe4a3b5},
+  {0x82348e38, 0xe4a3b6},
+  {0x82348e39, 0xe4a3b7},
+  {0x82348f30, 0xe4a3b8},
+  {0x82348f31, 0xe4a3b9},
+  {0x82348f32, 0xe4a3ba},
+  {0x82348f33, 0xe4a3bb},
+  {0x82348f34, 0xe4a3bc},
+  {0x82348f35, 0xe4a3bd},
+  {0x82348f36, 0xe4a3be},
+  {0x82348f37, 0xe4a3bf},
+  {0x82348f38, 0xe4a480},
+  {0x82348f39, 0xe4a481},
+  {0x82349030, 0xe4a482},
+  {0x82349031, 0xe4a483},
+  {0x82349032, 0xe4a484},
+  {0x82349033, 0xe4a485},
+  {0x82349034, 0xe4a486},
+  {0x82349035, 0xe4a487},
+  {0x82349036, 0xe4a488},
+  {0x82349037, 0xe4a489},
+  {0x82349038, 0xe4a48a},
+  {0x82349039, 0xe4a48b},
+  {0x82349130, 0xe4a48c},
+  {0x82349131, 0xe4a48d},
+  {0x82349132, 0xe4a48e},
+  {0x82349133, 0xe4a48f},
+  {0x82349134, 0xe4a490},
+  {0x82349135, 0xe4a491},
+  {0x82349136, 0xe4a492},
+  {0x82349137, 0xe4a493},
+  {0x82349138, 0xe4a494},
+  {0x82349139, 0xe4a495},
+  {0x82349230, 0xe4a496},
+  {0x82349231, 0xe4a497},
+  {0x82349232, 0xe4a498},
+  {0x82349233, 0xe4a499},
+  {0x82349234, 0xe4a49a},
+  {0x82349235, 0xe4a49b},
+  {0x82349236, 0xe4a49c},
+  {0x82349237, 0xe4a49d},
+  {0x82349238, 0xe4a49e},
+  {0x82349239, 0xe4a49f},
+  {0x82349330, 0xe4a4a0},
+  {0x82349331, 0xe4a4a1},
+  {0x82349332, 0xe4a4a2},
+  {0x82349333, 0xe4a4a3},
+  {0x82349334, 0xe4a4a4},
+  {0x82349335, 0xe4a4a5},
+  {0x82349336, 0xe4a4a6},
+  {0x82349337, 0xe4a4a7},
+  {0x82349338, 0xe4a4a8},
+  {0x82349339, 0xe4a4a9},
+  {0x82349430, 0xe4a4aa},
+  {0x82349431, 0xe4a4ab},
+  {0x82349432, 0xe4a4ac},
+  {0x82349433, 0xe4a4ad},
+  {0x82349434, 0xe4a4ae},
+  {0x82349435, 0xe4a4af},
+  {0x82349436, 0xe4a4b0},
+  {0x82349437, 0xe4a4b1},
+  {0x82349438, 0xe4a4b2},
+  {0x82349439, 0xe4a4b3},
+  {0x82349530, 0xe4a4b4},
+  {0x82349531, 0xe4a4b5},
+  {0x82349532, 0xe4a4b6},
+  {0x82349533, 0xe4a4b7},
+  {0x82349534, 0xe4a4b8},
+  {0x82349535, 0xe4a4b9},
+  {0x82349536, 0xe4a4ba},
+  {0x82349537, 0xe4a4bb},
+  {0x82349538, 0xe4a4bc},
+  {0x82349539, 0xe4a4bd},
+  {0x82349630, 0xe4a4be},
+  {0x82349631, 0xe4a4bf},
+  {0x82349632, 0xe4a580},
+  {0x82349633, 0xe4a581},
+  {0x82349634, 0xe4a582},
+  {0x82349635, 0xe4a583},
+  {0x82349636, 0xe4a584},
+  {0x82349637, 0xe4a585},
+  {0x82349638, 0xe4a586},
+  {0x82349639, 0xe4a588},
+  {0x82349730, 0xe4a589},
+  {0x82349731, 0xe4a58a},
+  {0x82349732, 0xe4a58b},
+  {0x82349733, 0xe4a58c},
+  {0x82349734, 0xe4a58d},
+  {0x82349735, 0xe4a58e},
+  {0x82349736, 0xe4a58f},
+  {0x82349737, 0xe4a590},
+  {0x82349738, 0xe4a591},
+  {0x82349739, 0xe4a592},
+  {0x82349830, 0xe4a593},
+  {0x82349831, 0xe4a594},
+  {0x82349832, 0xe4a595},
+  {0x82349833, 0xe4a596},
+  {0x82349834, 0xe4a597},
+  {0x82349835, 0xe4a598},
+  {0x82349836, 0xe4a599},
+  {0x82349837, 0xe4a59a},
+  {0x82349838, 0xe4a59b},
+  {0x82349839, 0xe4a59c},
+  {0x82349930, 0xe4a59d},
+  {0x82349931, 0xe4a59e},
+  {0x82349932, 0xe4a59f},
+  {0x82349933, 0xe4a5a0},
+  {0x82349934, 0xe4a5a1},
+  {0x82349935, 0xe4a5a2},
+  {0x82349936, 0xe4a5a3},
+  {0x82349937, 0xe4a5a4},
+  {0x82349938, 0xe4a5a5},
+  {0x82349939, 0xe4a5a6},
+  {0x82349a30, 0xe4a5a7},
+  {0x82349a31, 0xe4a5a8},
+  {0x82349a32, 0xe4a5a9},
+  {0x82349a33, 0xe4a5aa},
+  {0x82349a34, 0xe4a5ab},
+  {0x82349a35, 0xe4a5ac},
+  {0x82349a36, 0xe4a5ad},
+  {0x82349a37, 0xe4a5ae},
+  {0x82349a38, 0xe4a5af},
+  {0x82349a39, 0xe4a5b0},
+  {0x82349b30, 0xe4a5b1},
+  {0x82349b31, 0xe4a5b2},
+  {0x82349b32, 0xe4a5b3},
+  {0x82349b33, 0xe4a5b4},
+  {0x82349b34, 0xe4a5b5},
+  {0x82349b35, 0xe4a5b6},
+  {0x82349b36, 0xe4a5b7},
+  {0x82349b37, 0xe4a5b8},
+  {0x82349b38, 0xe4a5b9},
+  {0x82349b39, 0xe4a5bb},
+  {0x82349c30, 0xe4a5bc},
+  {0x82349c31, 0xe4a5be},
+  {0x82349c32, 0xe4a5bf},
+  {0x82349c33, 0xe4a680},
+  {0x82349c34, 0xe4a681},
+  {0x82349c35, 0xe4a684},
+  {0x82349c36, 0xe4a687},
+  {0x82349c37, 0xe4a688},
+  {0x82349c38, 0xe4a689},
+  {0x82349c39, 0xe4a68a},
+  {0x82349d30, 0xe4a68b},
+  {0x82349d31, 0xe4a68c},
+  {0x82349d32, 0xe4a68d},
+  {0x82349d33, 0xe4a68e},
+  {0x82349d34, 0xe4a68f},
+  {0x82349d35, 0xe4a690},
+  {0x82349d36, 0xe4a691},
+  {0x82349d37, 0xe4a692},
+  {0x82349d38, 0xe4a693},
+  {0x82349d39, 0xe4a694},
+  {0x82349e30, 0xe4a695},
+  {0x82349e31, 0xe4a696},
+  {0x82349e32, 0xe4a697},
+  {0x82349e33, 0xe4a698},
+  {0x82349e34, 0xe4a699},
+  {0x82349e35, 0xe4a69a},
+  {0x82349e36, 0xe4a69c},
+  {0x82349e37, 0xe4a69d},
+  {0x82349e38, 0xe4a69e},
+  {0x82349e39, 0xe4a6a0},
+  {0x82349f30, 0xe4a6a1},
+  {0x82349f31, 0xe4a6a2},
+  {0x82349f32, 0xe4a6a3},
+  {0x82349f33, 0xe4a6a4},
+  {0x82349f34, 0xe4a6a5},
+  {0x82349f35, 0xe4a6a6},
+  {0x82349f36, 0xe4a6a7},
+  {0x82349f37, 0xe4a6a8},
+  {0x82349f38, 0xe4a6a9},
+  {0x82349f39, 0xe4a6aa},
+  {0x8234a030, 0xe4a6ab},
+  {0x8234a031, 0xe4a6ac},
+  {0x8234a032, 0xe4a6ad},
+  {0x8234a033, 0xe4a6ae},
+  {0x8234a034, 0xe4a6af},
+  {0x8234a035, 0xe4a6b0},
+  {0x8234a036, 0xe4a6b1},
+  {0x8234a037, 0xe4a6b2},
+  {0x8234a038, 0xe4a6b3},
+  {0x8234a039, 0xe4a6b4},
+  {0x8234a130, 0xe4a6b5},
+  {0x8234a131, 0xe4a6b8},
+  {0x8234a132, 0xe4a6b9},
+  {0x8234a133, 0xe4a6ba},
+  {0x8234a134, 0xe4a6bb},
+  {0x8234a135, 0xe4a6bc},
+  {0x8234a136, 0xe4a6bd},
+  {0x8234a137, 0xe4a6be},
+  {0x8234a138, 0xe4a6bf},
+  {0x8234a139, 0xe4a780},
+  {0x8234a230, 0xe4a781},
+  {0x8234a231, 0xe4a782},
+  {0x8234a232, 0xe4a783},
+  {0x8234a233, 0xe4a784},
+  {0x8234a234, 0xe4a785},
+  {0x8234a235, 0xe4a786},
+  {0x8234a236, 0xe4a787},
+  {0x8234a237, 0xe4a788},
+  {0x8234a238, 0xe4a789},
+  {0x8234a239, 0xe4a78a},
+  {0x8234a330, 0xe4a78b},
+  {0x8234a331, 0xe4a78c},
+  {0x8234a332, 0xe4a78d},
+  {0x8234a333, 0xe4a78e},
+  {0x8234a334, 0xe4a78f},
+  {0x8234a335, 0xe4a790},
+  {0x8234a336, 0xe4a791},
+  {0x8234a337, 0xe4a792},
+  {0x8234a338, 0xe4a793},
+  {0x8234a339, 0xe4a794},
+  {0x8234a430, 0xe4a795},
+  {0x8234a431, 0xe4a796},
+  {0x8234a432, 0xe4a797},
+  {0x8234a433, 0xe4a798},
+  {0x8234a434, 0xe4a799},
+  {0x8234a435, 0xe4a79a},
+  {0x8234a436, 0xe4a79b},
+  {0x8234a437, 0xe4a79c},
+  {0x8234a438, 0xe4a79d},
+  {0x8234a439, 0xe4a79e},
+  {0x8234a530, 0xe4a79f},
+  {0x8234a531, 0xe4a7a0},
+  {0x8234a532, 0xe4a7a1},
+  {0x8234a533, 0xe4a7a2},
+  {0x8234a534, 0xe4a7a3},
+  {0x8234a535, 0xe4a7a4},
+  {0x8234a536, 0xe4a7a5},
+  {0x8234a537, 0xe4a7a6},
+  {0x8234a538, 0xe4a7a7},
+  {0x8234a539, 0xe4a7a8},
+  {0x8234a630, 0xe4a7a9},
+  {0x8234a631, 0xe4a7aa},
+  {0x8234a632, 0xe4a7ab},
+  {0x8234a633, 0xe4a7ac},
+  {0x8234a634, 0xe4a7ad},
+  {0x8234a635, 0xe4a7ae},
+  {0x8234a636, 0xe4a7af},
+  {0x8234a637, 0xe4a7b0},
+  {0x8234a638, 0xe4a7b1},
+  {0x8234a639, 0xe4a7b2},
+  {0x8234a730, 0xe4a7b3},
+  {0x8234a731, 0xe4a7b4},
+  {0x8234a732, 0xe4a7b5},
+  {0x8234a733, 0xe4a7b6},
+  {0x8234a734, 0xe4a7b7},
+  {0x8234a735, 0xe4a7b8},
+  {0x8234a736, 0xe4a7b9},
+  {0x8234a737, 0xe4a7ba},
+  {0x8234a738, 0xe4a7bb},
+  {0x8234a739, 0xe4a7bc},
+  {0x8234a830, 0xe4a7bd},
+  {0x8234a831, 0xe4a7be},
+  {0x8234a832, 0xe4a7bf},
+  {0x8234a833, 0xe4a880},
+  {0x8234a834, 0xe4a881},
+  {0x8234a835, 0xe4a882},
+  {0x8234a836, 0xe4a883},
+  {0x8234a837, 0xe4a884},
+  {0x8234a838, 0xe4a885},
+  {0x8234a839, 0xe4a886},
+  {0x8234a930, 0xe4a887},
+  {0x8234a931, 0xe4a888},
+  {0x8234a932, 0xe4a889},
+  {0x8234a933, 0xe4a88a},
+  {0x8234a934, 0xe4a88b},
+  {0x8234a935, 0xe4a88c},
+  {0x8234a936, 0xe4a88d},
+  {0x8234a937, 0xe4a88e},
+  {0x8234a938, 0xe4a88f},
+  {0x8234a939, 0xe4a890},
+  {0x8234aa30, 0xe4a891},
+  {0x8234aa31, 0xe4a892},
+  {0x8234aa32, 0xe4a893},
+  {0x8234aa33, 0xe4a894},
+  {0x8234aa34, 0xe4a895},
+  {0x8234aa35, 0xe4a896},
+  {0x8234aa36, 0xe4a897},
+  {0x8234aa37, 0xe4a898},
+  {0x8234aa38, 0xe4a899},
+  {0x8234aa39, 0xe4a89a},
+  {0x8234ab30, 0xe4a89b},
+  {0x8234ab31, 0xe4a89c},
+  {0x8234ab32, 0xe4a89d},
+  {0x8234ab33, 0xe4a89e},
+  {0x8234ab34, 0xe4a89f},
+  {0x8234ab35, 0xe4a8a0},
+  {0x8234ab36, 0xe4a8a1},
+  {0x8234ab37, 0xe4a8a2},
+  {0x8234ab38, 0xe4a8a3},
+  {0x8234ab39, 0xe4a8a4},
+  {0x8234ac30, 0xe4a8a5},
+  {0x8234ac31, 0xe4a8a6},
+  {0x8234ac32, 0xe4a8a7},
+  {0x8234ac33, 0xe4a8a8},
+  {0x8234ac34, 0xe4a8a9},
+  {0x8234ac35, 0xe4a8aa},
+  {0x8234ac36, 0xe4a8ab},
+  {0x8234ac37, 0xe4a8ac},
+  {0x8234ac38, 0xe4a8ad},
+  {0x8234ac39, 0xe4a8ae},
+  {0x8234ad30, 0xe4a8af},
+  {0x8234ad31, 0xe4a8b0},
+  {0x8234ad32, 0xe4a8b1},
+  {0x8234ad33, 0xe4a8b2},
+  {0x8234ad34, 0xe4a8b3},
+  {0x8234ad35, 0xe4a8b4},
+  {0x8234ad36, 0xe4a8b5},
+  {0x8234ad37, 0xe4a8b6},
+  {0x8234ad38, 0xe4a8b7},
+  {0x8234ad39, 0xe4a8b8},
+  {0x8234ae30, 0xe4a8b9},
+  {0x8234ae31, 0xe4a8ba},
+  {0x8234ae32, 0xe4a8bb},
+  {0x8234ae33, 0xe4a8bc},
+  {0x8234ae34, 0xe4a8bd},
+  {0x8234ae35, 0xe4a8be},
+  {0x8234ae36, 0xe4a8bf},
+  {0x8234ae37, 0xe4a980},
+  {0x8234ae38, 0xe4a981},
+  {0x8234ae39, 0xe4a982},
+  {0x8234af30, 0xe4a983},
+  {0x8234af31, 0xe4a984},
+  {0x8234af32, 0xe4a985},
+  {0x8234af33, 0xe4a986},
+  {0x8234af34, 0xe4a987},
+  {0x8234af35, 0xe4a988},
+  {0x8234af36, 0xe4a989},
+  {0x8234af37, 0xe4a98a},
+  {0x8234af38, 0xe4a98b},
+  {0x8234af39, 0xe4a98c},
+  {0x8234b030, 0xe4a98d},
+  {0x8234b031, 0xe4a98e},
+  {0x8234b032, 0xe4a98f},
+  {0x8234b033, 0xe4a990},
+  {0x8234b034, 0xe4a991},
+  {0x8234b035, 0xe4a992},
+  {0x8234b036, 0xe4a993},
+  {0x8234b037, 0xe4a994},
+  {0x8234b038, 0xe4a995},
+  {0x8234b039, 0xe4a996},
+  {0x8234b130, 0xe4a997},
+  {0x8234b131, 0xe4a998},
+  {0x8234b132, 0xe4a999},
+  {0x8234b133, 0xe4a99a},
+  {0x8234b134, 0xe4a99b},
+  {0x8234b135, 0xe4a99c},
+  {0x8234b136, 0xe4a99d},
+  {0x8234b137, 0xe4a99e},
+  {0x8234b138, 0xe4a99f},
+  {0x8234b139, 0xe4a9a0},
+  {0x8234b230, 0xe4a9a1},
+  {0x8234b231, 0xe4a9a2},
+  {0x8234b232, 0xe4a9a3},
+  {0x8234b233, 0xe4a9a4},
+  {0x8234b234, 0xe4a9a5},
+  {0x8234b235, 0xe4a9a6},
+  {0x8234b236, 0xe4a9a7},
+  {0x8234b237, 0xe4a9a8},
+  {0x8234b238, 0xe4a9a9},
+  {0x8234b239, 0xe4a9aa},
+  {0x8234b330, 0xe4a9ab},
+  {0x8234b331, 0xe4a9ac},
+  {0x8234b332, 0xe4a9ad},
+  {0x8234b333, 0xe4a9ae},
+  {0x8234b334, 0xe4a9af},
+  {0x8234b335, 0xe4a9b0},
+  {0x8234b336, 0xe4a9b1},
+  {0x8234b337, 0xe4a9b2},
+  {0x8234b338, 0xe4a9b3},
+  {0x8234b339, 0xe4a9b4},
+  {0x8234b430, 0xe4a9b5},
+  {0x8234b431, 0xe4a9b6},
+  {0x8234b432, 0xe4a9b7},
+  {0x8234b433, 0xe4a9b8},
+  {0x8234b434, 0xe4a9b9},
+  {0x8234b435, 0xe4a9ba},
+  {0x8234b436, 0xe4a9bb},
+  {0x8234b437, 0xe4a9bc},
+  {0x8234b438, 0xe4a9bd},
+  {0x8234b439, 0xe4a9be},
+  {0x8234b530, 0xe4a9bf},
+  {0x8234b531, 0xe4aa80},
+  {0x8234b532, 0xe4aa81},
+  {0x8234b533, 0xe4aa82},
+  {0x8234b534, 0xe4aa83},
+  {0x8234b535, 0xe4aa84},
+  {0x8234b536, 0xe4aa85},
+  {0x8234b537, 0xe4aa86},
+  {0x8234b538, 0xe4aa87},
+  {0x8234b539, 0xe4aa88},
+  {0x8234b630, 0xe4aa89},
+  {0x8234b631, 0xe4aa8a},
+  {0x8234b632, 0xe4aa8b},
+  {0x8234b633, 0xe4aa8c},
+  {0x8234b634, 0xe4aa8d},
+  {0x8234b635, 0xe4aa8e},
+  {0x8234b636, 0xe4aa8f},
+  {0x8234b637, 0xe4aa90},
+  {0x8234b638, 0xe4aa91},
+  {0x8234b639, 0xe4aa92},
+  {0x8234b730, 0xe4aa93},
+  {0x8234b731, 0xe4aa94},
+  {0x8234b732, 0xe4aa95},
+  {0x8234b733, 0xe4aa96},
+  {0x8234b734, 0xe4aa97},
+  {0x8234b735, 0xe4aa98},
+  {0x8234b736, 0xe4aa99},
+  {0x8234b737, 0xe4aa9a},
+  {0x8234b738, 0xe4aa9b},
+  {0x8234b739, 0xe4aa9c},
+  {0x8234b830, 0xe4aa9d},
+  {0x8234b831, 0xe4aa9e},
+  {0x8234b832, 0xe4aa9f},
+  {0x8234b833, 0xe4aaa0},
+  {0x8234b834, 0xe4aaa1},
+  {0x8234b835, 0xe4aaa2},
+  {0x8234b836, 0xe4aaa3},
+  {0x8234b837, 0xe4aaa4},
+  {0x8234b838, 0xe4aaa5},
+  {0x8234b839, 0xe4aaa6},
+  {0x8234b930, 0xe4aaa7},
+  {0x8234b931, 0xe4aaa8},
+  {0x8234b932, 0xe4aaa9},
+  {0x8234b933, 0xe4aaaa},
+  {0x8234b934, 0xe4aaab},
+  {0x8234b935, 0xe4aaac},
+  {0x8234b936, 0xe4aaad},
+  {0x8234b937, 0xe4aaae},
+  {0x8234b938, 0xe4aaaf},
+  {0x8234b939, 0xe4aab0},
+  {0x8234ba30, 0xe4aab1},
+  {0x8234ba31, 0xe4aab2},
+  {0x8234ba32, 0xe4aab3},
+  {0x8234ba33, 0xe4aab4},
+  {0x8234ba34, 0xe4aab5},
+  {0x8234ba35, 0xe4aab6},
+  {0x8234ba36, 0xe4aab7},
+  {0x8234ba37, 0xe4aab8},
+  {0x8234ba38, 0xe4aab9},
+  {0x8234ba39, 0xe4aaba},
+  {0x8234bb30, 0xe4aabb},
+  {0x8234bb31, 0xe4aabc},
+  {0x8234bb32, 0xe4aabd},
+  {0x8234bb33, 0xe4aabe},
+  {0x8234bb34, 0xe4aabf},
+  {0x8234bb35, 0xe4ab80},
+  {0x8234bb36, 0xe4ab81},
+  {0x8234bb37, 0xe4ab82},
+  {0x8234bb38, 0xe4ab83},
+  {0x8234bb39, 0xe4ab84},
+  {0x8234bc30, 0xe4ab85},
+  {0x8234bc31, 0xe4ab86},
+  {0x8234bc32, 0xe4ab87},
+  {0x8234bc33, 0xe4ab88},
+  {0x8234bc34, 0xe4ab89},
+  {0x8234bc35, 0xe4ab8a},
+  {0x8234bc36, 0xe4ab8b},
+  {0x8234bc37, 0xe4ab8c},
+  {0x8234bc38, 0xe4ab8d},
+  {0x8234bc39, 0xe4ab8e},
+  {0x8234bd30, 0xe4ab8f},
+  {0x8234bd31, 0xe4ab90},
+  {0x8234bd32, 0xe4ab91},
+  {0x8234bd33, 0xe4ab92},
+  {0x8234bd34, 0xe4ab93},
+  {0x8234bd35, 0xe4ab94},
+  {0x8234bd36, 0xe4ab95},
+  {0x8234bd37, 0xe4ab96},
+  {0x8234bd38, 0xe4ab97},
+  {0x8234bd39, 0xe4ab98},
+  {0x8234be30, 0xe4ab99},
+  {0x8234be31, 0xe4ab9a},
+  {0x8234be32, 0xe4ab9b},
+  {0x8234be33, 0xe4ab9c},
+  {0x8234be34, 0xe4ab9d},
+  {0x8234be35, 0xe4ab9e},
+  {0x8234be36, 0xe4ab9f},
+  {0x8234be37, 0xe4aba0},
+  {0x8234be38, 0xe4aba1},
+  {0x8234be39, 0xe4aba2},
+  {0x8234bf30, 0xe4aba3},
+  {0x8234bf31, 0xe4aba4},
+  {0x8234bf32, 0xe4aba5},
+  {0x8234bf33, 0xe4aba6},
+  {0x8234bf34, 0xe4aba7},
+  {0x8234bf35, 0xe4aba8},
+  {0x8234bf36, 0xe4aba9},
+  {0x8234bf37, 0xe4abaa},
+  {0x8234bf38, 0xe4abab},
+  {0x8234bf39, 0xe4abac},
+  {0x8234c030, 0xe4abad},
+  {0x8234c031, 0xe4abae},
+  {0x8234c032, 0xe4abaf},
+  {0x8234c033, 0xe4abb0},
+  {0x8234c034, 0xe4abb1},
+  {0x8234c035, 0xe4abb2},
+  {0x8234c036, 0xe4abb3},
+  {0x8234c037, 0xe4abb4},
+  {0x8234c038, 0xe4abb5},
+  {0x8234c039, 0xe4abb6},
+  {0x8234c130, 0xe4abb7},
+  {0x8234c131, 0xe4abb8},
+  {0x8234c132, 0xe4abb9},
+  {0x8234c133, 0xe4abba},
+  {0x8234c134, 0xe4abbb},
+  {0x8234c135, 0xe4abbc},
+  {0x8234c136, 0xe4abbd},
+  {0x8234c137, 0xe4abbe},
+  {0x8234c138, 0xe4abbf},
+  {0x8234c139, 0xe4ac80},
+  {0x8234c230, 0xe4ac81},
+  {0x8234c231, 0xe4ac82},
+  {0x8234c232, 0xe4ac83},
+  {0x8234c233, 0xe4ac84},
+  {0x8234c234, 0xe4ac85},
+  {0x8234c235, 0xe4ac86},
+  {0x8234c236, 0xe4ac87},
+  {0x8234c237, 0xe4ac88},
+  {0x8234c238, 0xe4ac89},
+  {0x8234c239, 0xe4ac8a},
+  {0x8234c330, 0xe4ac8b},
+  {0x8234c331, 0xe4ac8c},
+  {0x8234c332, 0xe4ac8d},
+  {0x8234c333, 0xe4ac8e},
+  {0x8234c334, 0xe4ac8f},
+  {0x8234c335, 0xe4ac90},
+  {0x8234c336, 0xe4ac91},
+  {0x8234c337, 0xe4ac92},
+  {0x8234c338, 0xe4ac93},
+  {0x8234c339, 0xe4ac94},
+  {0x8234c430, 0xe4ac95},
+  {0x8234c431, 0xe4ac96},
+  {0x8234c432, 0xe4ac97},
+  {0x8234c433, 0xe4ac98},
+  {0x8234c434, 0xe4ac99},
+  {0x8234c435, 0xe4ac9a},
+  {0x8234c436, 0xe4ac9b},
+  {0x8234c437, 0xe4ac9c},
+  {0x8234c438, 0xe4ac9d},
+  {0x8234c439, 0xe4ac9e},
+  {0x8234c530, 0xe4ac9f},
+  {0x8234c531, 0xe4aca0},
+  {0x8234c532, 0xe4aca1},
+  {0x8234c533, 0xe4aca2},
+  {0x8234c534, 0xe4aca3},
+  {0x8234c535, 0xe4aca4},
+  {0x8234c536, 0xe4aca5},
+  {0x8234c537, 0xe4aca6},
+  {0x8234c538, 0xe4aca7},
+  {0x8234c539, 0xe4aca8},
+  {0x8234c630, 0xe4aca9},
+  {0x8234c631, 0xe4acaa},
+  {0x8234c632, 0xe4acab},
+  {0x8234c633, 0xe4acac},
+  {0x8234c634, 0xe4acad},
+  {0x8234c635, 0xe4acae},
+  {0x8234c636, 0xe4acaf},
+  {0x8234c637, 0xe4acb0},
+  {0x8234c638, 0xe4acb1},
+  {0x8234c639, 0xe4acb2},
+  {0x8234c730, 0xe4acb3},
+  {0x8234c731, 0xe4acb4},
+  {0x8234c732, 0xe4acb5},
+  {0x8234c733, 0xe4acb6},
+  {0x8234c734, 0xe4acb7},
+  {0x8234c735, 0xe4acb8},
+  {0x8234c736, 0xe4acb9},
+  {0x8234c737, 0xe4acba},
+  {0x8234c738, 0xe4acbb},
+  {0x8234c739, 0xe4acbc},
+  {0x8234c830, 0xe4acbd},
+  {0x8234c831, 0xe4acbe},
+  {0x8234c832, 0xe4acbf},
+  {0x8234c833, 0xe4ad80},
+  {0x8234c834, 0xe4ad81},
+  {0x8234c835, 0xe4ad82},
+  {0x8234c836, 0xe4ad83},
+  {0x8234c837, 0xe4ad84},
+  {0x8234c838, 0xe4ad85},
+  {0x8234c839, 0xe4ad86},
+  {0x8234c930, 0xe4ad87},
+  {0x8234c931, 0xe4ad88},
+  {0x8234c932, 0xe4ad89},
+  {0x8234c933, 0xe4ad8a},
+  {0x8234c934, 0xe4ad8b},
+  {0x8234c935, 0xe4ad8c},
+  {0x8234c936, 0xe4ad8d},
+  {0x8234c937, 0xe4ad8e},
+  {0x8234c938, 0xe4ad8f},
+  {0x8234c939, 0xe4ad90},
+  {0x8234ca30, 0xe4ad91},
+  {0x8234ca31, 0xe4ad92},
+  {0x8234ca32, 0xe4ad93},
+  {0x8234ca33, 0xe4ad94},
+  {0x8234ca34, 0xe4ad95},
+  {0x8234ca35, 0xe4ad96},
+  {0x8234ca36, 0xe4ad97},
+  {0x8234ca37, 0xe4ad98},
+  {0x8234ca38, 0xe4ad99},
+  {0x8234ca39, 0xe4ad9a},
+  {0x8234cb30, 0xe4ad9b},
+  {0x8234cb31, 0xe4ad9c},
+  {0x8234cb32, 0xe4ad9d},
+  {0x8234cb33, 0xe4ad9e},
+  {0x8234cb34, 0xe4ad9f},
+  {0x8234cb35, 0xe4ada0},
+  {0x8234cb36, 0xe4ada1},
+  {0x8234cb37, 0xe4ada2},
+  {0x8234cb38, 0xe4ada3},
+  {0x8234cb39, 0xe4ada4},
+  {0x8234cc30, 0xe4ada5},
+  {0x8234cc31, 0xe4ada6},
+  {0x8234cc32, 0xe4ada7},
+  {0x8234cc33, 0xe4ada8},
+  {0x8234cc34, 0xe4ada9},
+  {0x8234cc35, 0xe4adaa},
+  {0x8234cc36, 0xe4adab},
+  {0x8234cc37, 0xe4adac},
+  {0x8234cc38, 0xe4adad},
+  {0x8234cc39, 0xe4adae},
+  {0x8234cd30, 0xe4adaf},
+  {0x8234cd31, 0xe4adb0},
+  {0x8234cd32, 0xe4adb1},
+  {0x8234cd33, 0xe4adb2},
+  {0x8234cd34, 0xe4adb3},
+  {0x8234cd35, 0xe4adb4},
+  {0x8234cd36, 0xe4adb5},
+  {0x8234cd37, 0xe4adb6},
+  {0x8234cd38, 0xe4adb7},
+  {0x8234cd39, 0xe4adb8},
+  {0x8234ce30, 0xe4adb9},
+  {0x8234ce31, 0xe4adba},
+  {0x8234ce32, 0xe4adbb},
+  {0x8234ce33, 0xe4adbc},
+  {0x8234ce34, 0xe4adbd},
+  {0x8234ce35, 0xe4adbe},
+  {0x8234ce36, 0xe4adbf},
+  {0x8234ce37, 0xe4ae80},
+  {0x8234ce38, 0xe4ae81},
+  {0x8234ce39, 0xe4ae82},
+  {0x8234cf30, 0xe4ae83},
+  {0x8234cf31, 0xe4ae84},
+  {0x8234cf32, 0xe4ae85},
+  {0x8234cf33, 0xe4ae86},
+  {0x8234cf34, 0xe4ae87},
+  {0x8234cf35, 0xe4ae88},
+  {0x8234cf36, 0xe4ae89},
+  {0x8234cf37, 0xe4ae8a},
+  {0x8234cf38, 0xe4ae8b},
+  {0x8234cf39, 0xe4ae8c},
+  {0x8234d030, 0xe4ae8d},
+  {0x8234d031, 0xe4ae8e},
+  {0x8234d032, 0xe4ae8f},
+  {0x8234d033, 0xe4ae90},
+  {0x8234d034, 0xe4ae91},
+  {0x8234d035, 0xe4ae92},
+  {0x8234d036, 0xe4ae93},
+  {0x8234d037, 0xe4ae94},
+  {0x8234d038, 0xe4ae95},
+  {0x8234d039, 0xe4ae96},
+  {0x8234d130, 0xe4ae97},
+  {0x8234d131, 0xe4ae98},
+  {0x8234d132, 0xe4ae99},
+  {0x8234d133, 0xe4ae9a},
+  {0x8234d134, 0xe4ae9b},
+  {0x8234d135, 0xe4ae9c},
+  {0x8234d136, 0xe4ae9d},
+  {0x8234d137, 0xe4ae9e},
+  {0x8234d138, 0xe4ae9f},
+  {0x8234d139, 0xe4aea0},
+  {0x8234d230, 0xe4aea1},
+  {0x8234d231, 0xe4aea2},
+  {0x8234d232, 0xe4aea3},
+  {0x8234d233, 0xe4aea4},
+  {0x8234d234, 0xe4aea5},
+  {0x8234d235, 0xe4aea6},
+  {0x8234d236, 0xe4aea7},
+  {0x8234d237, 0xe4aea8},
+  {0x8234d238, 0xe4aea9},
+  {0x8234d239, 0xe4aeaa},
+  {0x8234d330, 0xe4aeab},
+  {0x8234d331, 0xe4aeac},
+  {0x8234d332, 0xe4aead},
+  {0x8234d333, 0xe4aeae},
+  {0x8234d334, 0xe4aeaf},
+  {0x8234d335, 0xe4aeb0},
+  {0x8234d336, 0xe4aeb1},
+  {0x8234d337, 0xe4aeb2},
+  {0x8234d338, 0xe4aeb3},
+  {0x8234d339, 0xe4aeb4},
+  {0x8234d430, 0xe4aeb5},
+  {0x8234d431, 0xe4aeb6},
+  {0x8234d432, 0xe4aeb7},
+  {0x8234d433, 0xe4aeb8},
+  {0x8234d434, 0xe4aeb9},
+  {0x8234d435, 0xe4aeba},
+  {0x8234d436, 0xe4aebb},
+  {0x8234d437, 0xe4aebc},
+  {0x8234d438, 0xe4aebd},
+  {0x8234d439, 0xe4aebe},
+  {0x8234d530, 0xe4aebf},
+  {0x8234d531, 0xe4af80},
+  {0x8234d532, 0xe4af81},
+  {0x8234d533, 0xe4af82},
+  {0x8234d534, 0xe4af83},
+  {0x8234d535, 0xe4af84},
+  {0x8234d536, 0xe4af85},
+  {0x8234d537, 0xe4af86},
+  {0x8234d538, 0xe4af87},
+  {0x8234d539, 0xe4af88},
+  {0x8234d630, 0xe4af89},
+  {0x8234d631, 0xe4af8a},
+  {0x8234d632, 0xe4af8b},
+  {0x8234d633, 0xe4af8c},
+  {0x8234d634, 0xe4af8d},
+  {0x8234d635, 0xe4af8e},
+  {0x8234d636, 0xe4af8f},
+  {0x8234d637, 0xe4af90},
+  {0x8234d638, 0xe4af91},
+  {0x8234d639, 0xe4af92},
+  {0x8234d730, 0xe4af93},
+  {0x8234d731, 0xe4af94},
+  {0x8234d732, 0xe4af95},
+  {0x8234d733, 0xe4af96},
+  {0x8234d734, 0xe4af97},
+  {0x8234d735, 0xe4af98},
+  {0x8234d736, 0xe4af99},
+  {0x8234d737, 0xe4af9a},
+  {0x8234d738, 0xe4af9b},
+  {0x8234d739, 0xe4af9c},
+  {0x8234d830, 0xe4af9d},
+  {0x8234d831, 0xe4af9e},
+  {0x8234d832, 0xe4af9f},
+  {0x8234d833, 0xe4afa0},
+  {0x8234d834, 0xe4afa1},
+  {0x8234d835, 0xe4afa2},
+  {0x8234d836, 0xe4afa3},
+  {0x8234d837, 0xe4afa4},
+  {0x8234d838, 0xe4afa5},
+  {0x8234d839, 0xe4afa6},
+  {0x8234d930, 0xe4afa7},
+  {0x8234d931, 0xe4afa8},
+  {0x8234d932, 0xe4afa9},
+  {0x8234d933, 0xe4afaa},
+  {0x8234d934, 0xe4afab},
+  {0x8234d935, 0xe4afac},
+  {0x8234d936, 0xe4afad},
+  {0x8234d937, 0xe4afae},
+  {0x8234d938, 0xe4afaf},
+  {0x8234d939, 0xe4afb0},
+  {0x8234da30, 0xe4afb1},
+  {0x8234da31, 0xe4afb2},
+  {0x8234da32, 0xe4afb3},
+  {0x8234da33, 0xe4afb4},
+  {0x8234da34, 0xe4afb5},
+  {0x8234da35, 0xe4afb6},
+  {0x8234da36, 0xe4afb7},
+  {0x8234da37, 0xe4afb8},
+  {0x8234da38, 0xe4afb9},
+  {0x8234da39, 0xe4afba},
+  {0x8234db30, 0xe4afbb},
+  {0x8234db31, 0xe4afbc},
+  {0x8234db32, 0xe4afbd},
+  {0x8234db33, 0xe4afbe},
+  {0x8234db34, 0xe4afbf},
+  {0x8234db35, 0xe4b080},
+  {0x8234db36, 0xe4b081},
+  {0x8234db37, 0xe4b082},
+  {0x8234db38, 0xe4b083},
+  {0x8234db39, 0xe4b084},
+  {0x8234dc30, 0xe4b085},
+  {0x8234dc31, 0xe4b086},
+  {0x8234dc32, 0xe4b087},
+  {0x8234dc33, 0xe4b088},
+  {0x8234dc34, 0xe4b089},
+  {0x8234dc35, 0xe4b08a},
+  {0x8234dc36, 0xe4b08b},
+  {0x8234dc37, 0xe4b08c},
+  {0x8234dc38, 0xe4b08d},
+  {0x8234dc39, 0xe4b08e},
+  {0x8234dd30, 0xe4b08f},
+  {0x8234dd31, 0xe4b090},
+  {0x8234dd32, 0xe4b091},
+  {0x8234dd33, 0xe4b092},
+  {0x8234dd34, 0xe4b093},
+  {0x8234dd35, 0xe4b094},
+  {0x8234dd36, 0xe4b095},
+  {0x8234dd37, 0xe4b096},
+  {0x8234dd38, 0xe4b097},
+  {0x8234dd39, 0xe4b098},
+  {0x8234de30, 0xe4b099},
+  {0x8234de31, 0xe4b09a},
+  {0x8234de32, 0xe4b09b},
+  {0x8234de33, 0xe4b09c},
+  {0x8234de34, 0xe4b09d},
+  {0x8234de35, 0xe4b09e},
+  {0x8234de36, 0xe4b09f},
+  {0x8234de37, 0xe4b0a0},
+  {0x8234de38, 0xe4b0a1},
+  {0x8234de39, 0xe4b0a2},
+  {0x8234df30, 0xe4b0a3},
+  {0x8234df31, 0xe4b0a4},
+  {0x8234df32, 0xe4b0a5},
+  {0x8234df33, 0xe4b0a6},
+  {0x8234df34, 0xe4b0a7},
+  {0x8234df35, 0xe4b0a8},
+  {0x8234df36, 0xe4b0a9},
+  {0x8234df37, 0xe4b0aa},
+  {0x8234df38, 0xe4b0ab},
+  {0x8234df39, 0xe4b0ac},
+  {0x8234e030, 0xe4b0ad},
+  {0x8234e031, 0xe4b0ae},
+  {0x8234e032, 0xe4b0af},
+  {0x8234e033, 0xe4b0b0},
+  {0x8234e034, 0xe4b0b1},
+  {0x8234e035, 0xe4b0b2},
+  {0x8234e036, 0xe4b0b3},
+  {0x8234e037, 0xe4b0b4},
+  {0x8234e038, 0xe4b0b5},
+  {0x8234e039, 0xe4b0b6},
+  {0x8234e130, 0xe4b0b7},
+  {0x8234e131, 0xe4b0b8},
+  {0x8234e132, 0xe4b0b9},
+  {0x8234e133, 0xe4b0ba},
+  {0x8234e134, 0xe4b0bb},
+  {0x8234e135, 0xe4b0bc},
+  {0x8234e136, 0xe4b0bd},
+  {0x8234e137, 0xe4b0be},
+  {0x8234e138, 0xe4b0bf},
+  {0x8234e139, 0xe4b180},
+  {0x8234e230, 0xe4b181},
+  {0x8234e231, 0xe4b182},
+  {0x8234e232, 0xe4b183},
+  {0x8234e233, 0xe4b184},
+  {0x8234e234, 0xe4b185},
+  {0x8234e235, 0xe4b186},
+  {0x8234e236, 0xe4b187},
+  {0x8234e237, 0xe4b188},
+  {0x8234e238, 0xe4b189},
+  {0x8234e239, 0xe4b18a},
+  {0x8234e330, 0xe4b18b},
+  {0x8234e331, 0xe4b18c},
+  {0x8234e332, 0xe4b18d},
+  {0x8234e333, 0xe4b18e},
+  {0x8234e334, 0xe4b18f},
+  {0x8234e335, 0xe4b190},
+  {0x8234e336, 0xe4b191},
+  {0x8234e337, 0xe4b192},
+  {0x8234e338, 0xe4b193},
+  {0x8234e339, 0xe4b194},
+  {0x8234e430, 0xe4b195},
+  {0x8234e431, 0xe4b196},
+  {0x8234e432, 0xe4b197},
+  {0x8234e433, 0xe4b198},
+  {0x8234e434, 0xe4b199},
+  {0x8234e435, 0xe4b19a},
+  {0x8234e436, 0xe4b19b},
+  {0x8234e437, 0xe4b19c},
+  {0x8234e438, 0xe4b19d},
+  {0x8234e439, 0xe4b19e},
+  {0x8234e530, 0xe4b19f},
+  {0x8234e531, 0xe4b1a0},
+  {0x8234e532, 0xe4b1a1},
+  {0x8234e533, 0xe4b1a2},
+  {0x8234e534, 0xe4b1a3},
+  {0x8234e535, 0xe4b1a4},
+  {0x8234e536, 0xe4b1a5},
+  {0x8234e537, 0xe4b1a6},
+  {0x8234e538, 0xe4b1a7},
+  {0x8234e539, 0xe4b1a8},
+  {0x8234e630, 0xe4b1a9},
+  {0x8234e631, 0xe4b1aa},
+  {0x8234e632, 0xe4b1ab},
+  {0x8234e633, 0xe4b1ac},
+  {0x8234e634, 0xe4b1ad},
+  {0x8234e635, 0xe4b1ae},
+  {0x8234e636, 0xe4b1af},
+  {0x8234e637, 0xe4b1b0},
+  {0x8234e638, 0xe4b1b1},
+  {0x8234e639, 0xe4b1b2},
+  {0x8234e730, 0xe4b1b3},
+  {0x8234e731, 0xe4b1b4},
+  {0x8234e732, 0xe4b1b5},
+  {0x8234e733, 0xe4b1b6},
+  {0x8234e734, 0xe4b1b8},
+  {0x8234e735, 0xe4b1b9},
+  {0x8234e736, 0xe4b1ba},
+  {0x8234e737, 0xe4b1bb},
+  {0x8234e738, 0xe4b1bc},
+  {0x8234e739, 0xe4b1bd},
+  {0x8234e830, 0xe4b1be},
+  {0x8234e831, 0xe4b1bf},
+  {0x8234e832, 0xe4b280},
+  {0x8234e833, 0xe4b281},
+  {0x8234e834, 0xe4b282},
+  {0x8234e835, 0xe4b283},
+  {0x8234e836, 0xe4b284},
+  {0x8234e837, 0xe4b285},
+  {0x8234e838, 0xe4b286},
+  {0x8234e839, 0xe4b287},
+  {0x8234e930, 0xe4b288},
+  {0x8234e931, 0xe4b289},
+  {0x8234e932, 0xe4b28a},
+  {0x8234e933, 0xe4b28b},
+  {0x8234e934, 0xe4b28c},
+  {0x8234e935, 0xe4b28d},
+  {0x8234e936, 0xe4b28e},
+  {0x8234e937, 0xe4b28f},
+  {0x8234e938, 0xe4b290},
+  {0x8234e939, 0xe4b291},
+  {0x8234ea30, 0xe4b292},
+  {0x8234ea31, 0xe4b293},
+  {0x8234ea32, 0xe4b294},
+  {0x8234ea33, 0xe4b295},
+  {0x8234ea34, 0xe4b296},
+  {0x8234ea35, 0xe4b297},
+  {0x8234ea36, 0xe4b298},
+  {0x8234ea37, 0xe4b299},
+  {0x8234ea38, 0xe4b29a},
+  {0x8234ea39, 0xe4b29b},
+  {0x8234eb30, 0xe4b29c},
+  {0x8234eb31, 0xe4b29d},
+  {0x8234eb32, 0xe4b29e},
+  {0x8234eb33, 0xe4b2a4},
+  {0x8234eb34, 0xe4b2a5},
+  {0x8234eb35, 0xe4b2a6},
+  {0x8234eb36, 0xe4b2a7},
+  {0x8234eb37, 0xe4b2a8},
+  {0x8234eb38, 0xe4b2a9},
+  {0x8234eb39, 0xe4b2aa},
+  {0x8234ec30, 0xe4b2ab},
+  {0x8234ec31, 0xe4b2ac},
+  {0x8234ec32, 0xe4b2ad},
+  {0x8234ec33, 0xe4b2ae},
+  {0x8234ec34, 0xe4b2af},
+  {0x8234ec35, 0xe4b2b0},
+  {0x8234ec36, 0xe4b2b1},
+  {0x8234ec37, 0xe4b2b2},
+  {0x8234ec38, 0xe4b2b3},
+  {0x8234ec39, 0xe4b2b4},
+  {0x8234ed30, 0xe4b2b5},
+  {0x8234ed31, 0xe4b2b6},
+  {0x8234ed32, 0xe4b2b7},
+  {0x8234ed33, 0xe4b2b8},
+  {0x8234ed34, 0xe4b2b9},
+  {0x8234ed35, 0xe4b2ba},
+  {0x8234ed36, 0xe4b2bb},
+  {0x8234ed37, 0xe4b2bc},
+  {0x8234ed38, 0xe4b2bd},
+  {0x8234ed39, 0xe4b2be},
+  {0x8234ee30, 0xe4b2bf},
+  {0x8234ee31, 0xe4b380},
+  {0x8234ee32, 0xe4b381},
+  {0x8234ee33, 0xe4b382},
+  {0x8234ee34, 0xe4b383},
+  {0x8234ee35, 0xe4b384},
+  {0x8234ee36, 0xe4b385},
+  {0x8234ee37, 0xe4b386},
+  {0x8234ee38, 0xe4b387},
+  {0x8234ee39, 0xe4b388},
+  {0x8234ef30, 0xe4b389},
+  {0x8234ef31, 0xe4b38a},
+  {0x8234ef32, 0xe4b38b},
+  {0x8234ef33, 0xe4b38c},
+  {0x8234ef34, 0xe4b38d},
+  {0x8234ef35, 0xe4b38e},
+  {0x8234ef36, 0xe4b38f},
+  {0x8234ef37, 0xe4b390},
+  {0x8234ef38, 0xe4b391},
+  {0x8234ef39, 0xe4b392},
+  {0x8234f030, 0xe4b393},
+  {0x8234f031, 0xe4b394},
+  {0x8234f032, 0xe4b395},
+  {0x8234f033, 0xe4b396},
+  {0x8234f034, 0xe4b397},
+  {0x8234f035, 0xe4b398},
+  {0x8234f036, 0xe4b399},
+  {0x8234f037, 0xe4b39a},
+  {0x8234f038, 0xe4b39b},
+  {0x8234f039, 0xe4b39c},
+  {0x8234f130, 0xe4b39d},
+  {0x8234f131, 0xe4b39e},
+  {0x8234f132, 0xe4b39f},
+  {0x8234f133, 0xe4b3a0},
+  {0x8234f134, 0xe4b3a1},
+  {0x8234f135, 0xe4b3a2},
+  {0x8234f136, 0xe4b3a3},
+  {0x8234f137, 0xe4b3a4},
+  {0x8234f138, 0xe4b3a5},
+  {0x8234f139, 0xe4b3a6},
+  {0x8234f230, 0xe4b3a7},
+  {0x8234f231, 0xe4b3a8},
+  {0x8234f232, 0xe4b3a9},
+  {0x8234f233, 0xe4b3aa},
+  {0x8234f234, 0xe4b3ab},
+  {0x8234f235, 0xe4b3ac},
+  {0x8234f236, 0xe4b3ad},
+  {0x8234f237, 0xe4b3ae},
+  {0x8234f238, 0xe4b3af},
+  {0x8234f239, 0xe4b3b0},
+  {0x8234f330, 0xe4b3b1},
+  {0x8234f331, 0xe4b3b2},
+  {0x8234f332, 0xe4b3b3},
+  {0x8234f333, 0xe4b3b4},
+  {0x8234f334, 0xe4b3b5},
+  {0x8234f335, 0xe4b3b6},
+  {0x8234f336, 0xe4b3b7},
+  {0x8234f337, 0xe4b3b8},
+  {0x8234f338, 0xe4b3b9},
+  {0x8234f339, 0xe4b3ba},
+  {0x8234f430, 0xe4b3bb},
+  {0x8234f431, 0xe4b3bc},
+  {0x8234f432, 0xe4b3bd},
+  {0x8234f433, 0xe4b3be},
+  {0x8234f434, 0xe4b3bf},
+  {0x8234f435, 0xe4b480},
+  {0x8234f436, 0xe4b481},
+  {0x8234f437, 0xe4b482},
+  {0x8234f438, 0xe4b483},
+  {0x8234f439, 0xe4b484},
+  {0x8234f530, 0xe4b485},
+  {0x8234f531, 0xe4b486},
+  {0x8234f532, 0xe4b487},
+  {0x8234f533, 0xe4b488},
+  {0x8234f534, 0xe4b489},
+  {0x8234f535, 0xe4b48a},
+  {0x8234f536, 0xe4b48b},
+  {0x8234f537, 0xe4b48c},
+  {0x8234f538, 0xe4b48d},
+  {0x8234f539, 0xe4b48e},
+  {0x8234f630, 0xe4b48f},
+  {0x8234f631, 0xe4b490},
+  {0x8234f632, 0xe4b491},
+  {0x8234f633, 0xe4b492},
+  {0x8234f634, 0xe4b49a},
+  {0x8234f635, 0xe4b49b},
+  {0x8234f636, 0xe4b49c},
+  {0x8234f637, 0xe4b49d},
+  {0x8234f638, 0xe4b49e},
+  {0x8234f639, 0xe4b49f},
+  {0x8234f730, 0xe4b4a0},
+  {0x8234f731, 0xe4b4a1},
+  {0x8234f732, 0xe4b4a2},
+  {0x8234f733, 0xe4b4a3},
+  {0x8234f734, 0xe4b4a4},
+  {0x8234f735, 0xe4b4a5},
+  {0x8234f736, 0xe4b4a6},
+  {0x8234f737, 0xe4b4a7},
+  {0x8234f738, 0xe4b4a8},
+  {0x8234f739, 0xe4b4a9},
+  {0x8234f830, 0xe4b4aa},
+  {0x8234f831, 0xe4b4ab},
+  {0x8234f832, 0xe4b4ac},
+  {0x8234f833, 0xe4b4ad},
+  {0x8234f834, 0xe4b4ae},
+  {0x8234f835, 0xe4b4af},
+  {0x8234f836, 0xe4b4b0},
+  {0x8234f837, 0xe4b4b1},
+  {0x8234f838, 0xe4b4b2},
+  {0x8234f839, 0xe4b4b3},
+  {0x8234f930, 0xe4b4b4},
+  {0x8234f931, 0xe4b4b5},
+  {0x8234f932, 0xe4b4b6},
+  {0x8234f933, 0xe4b4b7},
+  {0x8234f934, 0xe4b4b8},
+  {0x8234f935, 0xe4b4b9},
+  {0x8234f936, 0xe4b4ba},
+  {0x8234f937, 0xe4b4bb},
+  {0x8234f938, 0xe4b4bc},
+  {0x8234f939, 0xe4b4bd},
+  {0x8234fa30, 0xe4b4be},
+  {0x8234fa31, 0xe4b4bf},
+  {0x8234fa32, 0xe4b580},
+  {0x8234fa33, 0xe4b581},
+  {0x8234fa34, 0xe4b582},
+  {0x8234fa35, 0xe4b583},
+  {0x8234fa36, 0xe4b584},
+  {0x8234fa37, 0xe4b585},
+  {0x8234fa38, 0xe4b586},
+  {0x8234fa39, 0xe4b587},
+  {0x8234fb30, 0xe4b588},
+  {0x8234fb31, 0xe4b589},
+  {0x8234fb32, 0xe4b58a},
+  {0x8234fb33, 0xe4b58b},
+  {0x8234fb34, 0xe4b58c},
+  {0x8234fb35, 0xe4b58d},
+  {0x8234fb36, 0xe4b58e},
+  {0x8234fb37, 0xe4b58f},
+  {0x8234fb38, 0xe4b590},
+  {0x8234fb39, 0xe4b591},
+  {0x8234fc30, 0xe4b592},
+  {0x8234fc31, 0xe4b593},
+  {0x8234fc32, 0xe4b594},
+  {0x8234fc33, 0xe4b595},
+  {0x8234fc34, 0xe4b596},
+  {0x8234fc35, 0xe4b597},
+  {0x8234fc36, 0xe4b598},
+  {0x8234fc37, 0xe4b599},
+  {0x8234fc38, 0xe4b59a},
+  {0x8234fc39, 0xe4b59b},
+  {0x8234fd30, 0xe4b59c},
+  {0x8234fd31, 0xe4b59d},
+  {0x8234fd32, 0xe4b59e},
+  {0x8234fd33, 0xe4b59f},
+  {0x8234fd34, 0xe4b5a0},
+  {0x8234fd35, 0xe4b5a1},
+  {0x8234fd36, 0xe4b5a2},
+  {0x8234fd37, 0xe4b5a3},
+  {0x8234fd38, 0xe4b5a4},
+  {0x8234fd39, 0xe4b5a5},
+  {0x8234fe30, 0xe4b5a6},
+  {0x8234fe31, 0xe4b5a7},
+  {0x8234fe32, 0xe4b5a8},
+  {0x8234fe33, 0xe4b5a9},
+  {0x8234fe34, 0xe4b5aa},
+  {0x8234fe35, 0xe4b5ab},
+  {0x8234fe36, 0xe4b5ac},
+  {0x8234fe37, 0xe4b5ad},
+  {0x8234fe38, 0xe4b5ae},
+  {0x8234fe39, 0xe4b5af},
+  {0x82358130, 0xe4b5b0},
+  {0x82358131, 0xe4b5b1},
+  {0x82358132, 0xe4b5b2},
+  {0x82358133, 0xe4b5b3},
+  {0x82358134, 0xe4b5b4},
+  {0x82358135, 0xe4b5b5},
+  {0x82358136, 0xe4b5b6},
+  {0x82358137, 0xe4b5b7},
+  {0x82358138, 0xe4b5b8},
+  {0x82358139, 0xe4b5b9},
+  {0x82358230, 0xe4b5ba},
+  {0x82358231, 0xe4b5bb},
+  {0x82358232, 0xe4b5bc},
+  {0x82358233, 0xe4b5bd},
+  {0x82358234, 0xe4b5be},
+  {0x82358235, 0xe4b5bf},
+  {0x82358236, 0xe4b680},
+  {0x82358237, 0xe4b681},
+  {0x82358238, 0xe4b682},
+  {0x82358239, 0xe4b683},
+  {0x82358330, 0xe4b684},
+  {0x82358331, 0xe4b685},
+  {0x82358332, 0xe4b686},
+  {0x82358333, 0xe4b687},
+  {0x82358334, 0xe4b688},
+  {0x82358335, 0xe4b689},
+  {0x82358336, 0xe4b68a},
+  {0x82358337, 0xe4b68b},
+  {0x82358338, 0xe4b68c},
+  {0x82358339, 0xe4b68d},
+  {0x82358430, 0xe4b68e},
+  {0x82358431, 0xe4b68f},
+  {0x82358432, 0xe4b690},
+  {0x82358433, 0xe4b691},
+  {0x82358434, 0xe4b692},
+  {0x82358435, 0xe4b693},
+  {0x82358436, 0xe4b694},
+  {0x82358437, 0xe4b695},
+  {0x82358438, 0xe4b696},
+  {0x82358439, 0xe4b697},
+  {0x82358530, 0xe4b698},
+  {0x82358531, 0xe4b699},
+  {0x82358532, 0xe4b69a},
+  {0x82358533, 0xe4b69b},
+  {0x82358534, 0xe4b69c},
+  {0x82358535, 0xe4b69d},
+  {0x82358536, 0xe4b69e},
+  {0x82358537, 0xe4b69f},
+  {0x82358538, 0xe4b6a0},
+  {0x82358539, 0xe4b6a1},
+  {0x82358630, 0xe4b6a2},
+  {0x82358631, 0xe4b6a3},
+  {0x82358632, 0xe4b6a4},
+  {0x82358633, 0xe4b6a5},
+  {0x82358634, 0xe4b6a6},
+  {0x82358635, 0xe4b6a7},
+  {0x82358636, 0xe4b6a8},
+  {0x82358637, 0xe4b6a9},
+  {0x82358638, 0xe4b6aa},
+  {0x82358639, 0xe4b6ab},
+  {0x82358730, 0xe4b6ac},
+  {0x82358731, 0xe4b6ad},
+  {0x82358732, 0xe4b6af},
+  {0x82358733, 0xe4b6b0},
+  {0x82358734, 0xe4b6b1},
+  {0x82358735, 0xe4b6b2},
+  {0x82358736, 0xe4b6b3},
+  {0x82358737, 0xe4b6b4},
+  {0x82358738, 0xe4b6b5},
+  {0x82358739, 0xe4b6b6},
+  {0x82358830, 0xe4b6b7},
+  {0x82358831, 0xe4b6b8},
+  {0x82358832, 0xe4b6b9},
+  {0x82358833, 0xe4b6ba},
+  {0x82358834, 0xe4b6bb},
+  {0x82358835, 0xe4b6bc},
+  {0x82358836, 0xe4b6bd},
+  {0x82358837, 0xe4b6be},
+  {0x82358838, 0xe4b6bf},
+  {0x82358839, 0xe4b780},
+  {0x82358930, 0xe4b781},
+  {0x82358931, 0xe4b782},
+  {0x82358932, 0xe4b783},
+  {0x82358933, 0xe4b784},
+  {0x82358934, 0xe4b785},
+  {0x82358935, 0xe4b786},
+  {0x82358936, 0xe4b787},
+  {0x82358937, 0xe4b788},
+  {0x82358938, 0xe4b789},
+  {0x82358939, 0xe4b78a},
+  {0x82358a30, 0xe4b78b},
+  {0x82358a31, 0xe4b78c},
+  {0x82358a32, 0xe4b78d},
+  {0x82358a33, 0xe4b78e},
+  {0x82358a34, 0xe4b78f},
+  {0x82358a35, 0xe4b790},
+  {0x82358a36, 0xe4b791},
+  {0x82358a37, 0xe4b792},
+  {0x82358a38, 0xe4b793},
+  {0x82358a39, 0xe4b794},
+  {0x82358b30, 0xe4b795},
+  {0x82358b31, 0xe4b796},
+  {0x82358b32, 0xe4b797},
+  {0x82358b33, 0xe4b798},
+  {0x82358b34, 0xe4b799},
+  {0x82358b35, 0xe4b79a},
+  {0x82358b36, 0xe4b79b},
+  {0x82358b37, 0xe4b79c},
+  {0x82358b38, 0xe4b79d},
+  {0x82358b39, 0xe4b79e},
+  {0x82358c30, 0xe4b79f},
+  {0x82358c31, 0xe4b7a0},
+  {0x82358c32, 0xe4b7a1},
+  {0x82358c33, 0xe4b7a2},
+  {0x82358c34, 0xe4b7a3},
+  {0x82358c35, 0xe4b7a4},
+  {0x82358c36, 0xe4b7a5},
+  {0x82358c37, 0xe4b7a6},
+  {0x82358c38, 0xe4b7a7},
+  {0x82358c39, 0xe4b7a8},
+  {0x82358d30, 0xe4b7a9},
+  {0x82358d31, 0xe4b7aa},
+  {0x82358d32, 0xe4b7ab},
+  {0x82358d33, 0xe4b7ac},
+  {0x82358d34, 0xe4b7ad},
+  {0x82358d35, 0xe4b7ae},
+  {0x82358d36, 0xe4b7af},
+  {0x82358d37, 0xe4b7b0},
+  {0x82358d38, 0xe4b7b1},
+  {0x82358d39, 0xe4b7b2},
+  {0x82358e30, 0xe4b7b3},
+  {0x82358e31, 0xe4b7b4},
+  {0x82358e32, 0xe4b7b5},
+  {0x82358e33, 0xe4b7b6},
+  {0x82358e34, 0xe4b7b7},
+  {0x82358e35, 0xe4b7b8},
+  {0x82358e36, 0xe4b7b9},
+  {0x82358e37, 0xe4b7ba},
+  {0x82358e38, 0xe4b7bb},
+  {0x82358e39, 0xe4b7bc},
+  {0x82358f30, 0xe4b7bd},
+  {0x82358f31, 0xe4b7be},
+  {0x82358f32, 0xe4b7bf},
+  {0x82358f33, 0xe9bea6},
+  {0x82358f34, 0xe9bea7},
+  {0x82358f35, 0xe9bea8},
+  {0x82358f36, 0xe9bea9},
+  {0x82358f37, 0xe9beaa},
+  {0x82358f38, 0xe9beab},
+  {0x82358f39, 0xe9beac},
+  {0x82359030, 0xe9bead},
+  {0x82359031, 0xe9beae},
+  {0x82359032, 0xe9beaf},
+  {0x82359033, 0xe9beb0},
+  {0x82359034, 0xe9beb1},
+  {0x82359035, 0xe9beb2},
+  {0x82359036, 0xe9beb3},
+  {0x82359037, 0xe9beb4},
+  {0x82359038, 0xe9beb5},
+  {0x82359039, 0xe9beb6},
+  {0x82359130, 0xe9beb7},
+  {0x82359131, 0xe9beb8},
+  {0x82359132, 0xe9beb9},
+  {0x82359133, 0xe9beba},
+  {0x82359134, 0xe9bebb},
+  {0x82359135, 0xe9bebc},
+  {0x82359136, 0xe9bebd},
+  {0x82359137, 0xe9bebe},
+  {0x82359138, 0xe9bebf},
+  {0x82359139, 0xe9bf80},
+  {0x82359230, 0xe9bf81},
+  {0x82359231, 0xe9bf82},
+  {0x82359232, 0xe9bf83},
+  {0x82359233, 0xe9bf84},
+  {0x82359234, 0xe9bf85},
+  {0x82359235, 0xe9bf86},
+  {0x82359236, 0xe9bf87},
+  {0x82359237, 0xe9bf88},
+  {0x82359238, 0xe9bf89},
+  {0x82359239, 0xe9bf8a},
+  {0x82359330, 0xe9bf8b},
+  {0x82359331, 0xe9bf8c},
+  {0x82359332, 0xe9bf8d},
+  {0x82359333, 0xe9bf8e},
+  {0x82359334, 0xe9bf8f},
+  {0x82359335, 0xe9bf90},
+  {0x82359336, 0xe9bf91},
+  {0x82359337, 0xe9bf92},
+  {0x82359338, 0xe9bf93},
+  {0x82359339, 0xe9bf94},
+  {0x82359430, 0xe9bf95},
+  {0x82359431, 0xe9bf96},
+  {0x82359432, 0xe9bf97},
+  {0x82359433, 0xe9bf98},
+  {0x82359434, 0xe9bf99},
+  {0x82359435, 0xe9bf9a},
+  {0x82359436, 0xe9bf9b},
+  {0x82359437, 0xe9bf9c},
+  {0x82359438, 0xe9bf9d},
+  {0x82359439, 0xe9bf9e},
+  {0x82359530, 0xe9bf9f},
+  {0x82359531, 0xe9bfa0},
+  {0x82359532, 0xe9bfa1},
+  {0x82359533, 0xe9bfa2},
+  {0x82359534, 0xe9bfa3},
+  {0x82359535, 0xe9bfa4},
+  {0x82359536, 0xe9bfa5},
+  {0x82359537, 0xe9bfa6},
+  {0x82359538, 0xe9bfa7},
+  {0x82359539, 0xe9bfa8},
+  {0x82359630, 0xe9bfa9},
+  {0x82359631, 0xe9bfaa},
+  {0x82359632, 0xe9bfab},
+  {0x82359633, 0xe9bfac},
+  {0x82359634, 0xe9bfad},
+  {0x82359635, 0xe9bfae},
+  {0x82359636, 0xe9bfaf},
+  {0x82359637, 0xe9bfb0},
+  {0x82359638, 0xe9bfb1},
+  {0x82359639, 0xe9bfb2},
+  {0x82359730, 0xe9bfb3},
+  {0x82359731, 0xe9bfb4},
+  {0x82359732, 0xe9bfb5},
+  {0x82359733, 0xe9bfb6},
+  {0x82359734, 0xe9bfb7},
+  {0x82359735, 0xe9bfb8},
+  {0x82359736, 0xe9bfb9},
+  {0x82359737, 0xe9bfba},
+  {0x82359738, 0xe9bfbb},
+  {0x82359739, 0xe9bfbc},
+  {0x82359830, 0xe9bfbd},
+  {0x82359831, 0xe9bfbe},
+  {0x82359832, 0xe9bfbf},
+  {0x82359833, 0xea8080},
+  {0x82359834, 0xea8081},
+  {0x82359835, 0xea8082},
+  {0x82359836, 0xea8083},
+  {0x82359837, 0xea8084},
+  {0x82359838, 0xea8085},
+  {0x82359839, 0xea8086},
+  {0x82359930, 0xea8087},
+  {0x82359931, 0xea8088},
+  {0x82359932, 0xea8089},
+  {0x82359933, 0xea808a},
+  {0x82359934, 0xea808b},
+  {0x82359935, 0xea808c},
+  {0x82359936, 0xea808d},
+  {0x82359937, 0xea808e},
+  {0x82359938, 0xea808f},
+  {0x82359939, 0xea8090},
+  {0x82359a30, 0xea8091},
+  {0x82359a31, 0xea8092},
+  {0x82359a32, 0xea8093},
+  {0x82359a33, 0xea8094},
+  {0x82359a34, 0xea8095},
+  {0x82359a35, 0xea8096},
+  {0x82359a36, 0xea8097},
+  {0x82359a37, 0xea8098},
+  {0x82359a38, 0xea8099},
+  {0x82359a39, 0xea809a},
+  {0x82359b30, 0xea809b},
+  {0x82359b31, 0xea809c},
+  {0x82359b32, 0xea809d},
+  {0x82359b33, 0xea809e},
+  {0x82359b34, 0xea809f},
+  {0x82359b35, 0xea80a0},
+  {0x82359b36, 0xea80a1},
+  {0x82359b37, 0xea80a2},
+  {0x82359b38, 0xea80a3},
+  {0x82359b39, 0xea80a4},
+  {0x82359c30, 0xea80a5},
+  {0x82359c31, 0xea80a6},
+  {0x82359c32, 0xea80a7},
+  {0x82359c33, 0xea80a8},
+  {0x82359c34, 0xea80a9},
+  {0x82359c35, 0xea80aa},
+  {0x82359c36, 0xea80ab},
+  {0x82359c37, 0xea80ac},
+  {0x82359c38, 0xea80ad},
+  {0x82359c39, 0xea80ae},
+  {0x82359d30, 0xea80af},
+  {0x82359d31, 0xea80b0},
+  {0x82359d32, 0xea80b1},
+  {0x82359d33, 0xea80b2},
+  {0x82359d34, 0xea80b3},
+  {0x82359d35, 0xea80b4},
+  {0x82359d36, 0xea80b5},
+  {0x82359d37, 0xea80b6},
+  {0x82359d38, 0xea80b7},
+  {0x82359d39, 0xea80b8},
+  {0x82359e30, 0xea80b9},
+  {0x82359e31, 0xea80ba},
+  {0x82359e32, 0xea80bb},
+  {0x82359e33, 0xea80bc},
+  {0x82359e34, 0xea80bd},
+  {0x82359e35, 0xea80be},
+  {0x82359e36, 0xea80bf},
+  {0x82359e37, 0xea8180},
+  {0x82359e38, 0xea8181},
+  {0x82359e39, 0xea8182},
+  {0x82359f30, 0xea8183},
+  {0x82359f31, 0xea8184},
+  {0x82359f32, 0xea8185},
+  {0x82359f33, 0xea8186},
+  {0x82359f34, 0xea8187},
+  {0x82359f35, 0xea8188},
+  {0x82359f36, 0xea8189},
+  {0x82359f37, 0xea818a},
+  {0x82359f38, 0xea818b},
+  {0x82359f39, 0xea818c},
+  {0x8235a030, 0xea818d},
+  {0x8235a031, 0xea818e},
+  {0x8235a032, 0xea818f},
+  {0x8235a033, 0xea8190},
+  {0x8235a034, 0xea8191},
+  {0x8235a035, 0xea8192},
+  {0x8235a036, 0xea8193},
+  {0x8235a037, 0xea8194},
+  {0x8235a038, 0xea8195},
+  {0x8235a039, 0xea8196},
+  {0x8235a130, 0xea8197},
+  {0x8235a131, 0xea8198},
+  {0x8235a132, 0xea8199},
+  {0x8235a133, 0xea819a},
+  {0x8235a134, 0xea819b},
+  {0x8235a135, 0xea819c},
+  {0x8235a136, 0xea819d},
+  {0x8235a137, 0xea819e},
+  {0x8235a138, 0xea819f},
+  {0x8235a139, 0xea81a0},
+  {0x8235a230, 0xea81a1},
+  {0x8235a231, 0xea81a2},
+  {0x8235a232, 0xea81a3},
+  {0x8235a233, 0xea81a4},
+  {0x8235a234, 0xea81a5},
+  {0x8235a235, 0xea81a6},
+  {0x8235a236, 0xea81a7},
+  {0x8235a237, 0xea81a8},
+  {0x8235a238, 0xea81a9},
+  {0x8235a239, 0xea81aa},
+  {0x8235a330, 0xea81ab},
+  {0x8235a331, 0xea81ac},
+  {0x8235a332, 0xea81ad},
+  {0x8235a333, 0xea81ae},
+  {0x8235a334, 0xea81af},
+  {0x8235a335, 0xea81b0},
+  {0x8235a336, 0xea81b1},
+  {0x8235a337, 0xea81b2},
+  {0x8235a338, 0xea81b3},
+  {0x8235a339, 0xea81b4},
+  {0x8235a430, 0xea81b5},
+  {0x8235a431, 0xea81b6},
+  {0x8235a432, 0xea81b7},
+  {0x8235a433, 0xea81b8},
+  {0x8235a434, 0xea81b9},
+  {0x8235a435, 0xea81ba},
+  {0x8235a436, 0xea81bb},
+  {0x8235a437, 0xea81bc},
+  {0x8235a438, 0xea81bd},
+  {0x8235a439, 0xea81be},
+  {0x8235a530, 0xea81bf},
+  {0x8235a531, 0xea8280},
+  {0x8235a532, 0xea8281},
+  {0x8235a533, 0xea8282},
+  {0x8235a534, 0xea8283},
+  {0x8235a535, 0xea8284},
+  {0x8235a536, 0xea8285},
+  {0x8235a537, 0xea8286},
+  {0x8235a538, 0xea8287},
+  {0x8235a539, 0xea8288},
+  {0x8235a630, 0xea8289},
+  {0x8235a631, 0xea828a},
+  {0x8235a632, 0xea828b},
+  {0x8235a633, 0xea828c},
+  {0x8235a634, 0xea828d},
+  {0x8235a635, 0xea828e},
+  {0x8235a636, 0xea828f},
+  {0x8235a637, 0xea8290},
+  {0x8235a638, 0xea8291},
+  {0x8235a639, 0xea8292},
+  {0x8235a730, 0xea8293},
+  {0x8235a731, 0xea8294},
+  {0x8235a732, 0xea8295},
+  {0x8235a733, 0xea8296},
+  {0x8235a734, 0xea8297},
+  {0x8235a735, 0xea8298},
+  {0x8235a736, 0xea8299},
+  {0x8235a737, 0xea829a},
+  {0x8235a738, 0xea829b},
+  {0x8235a739, 0xea829c},
+  {0x8235a830, 0xea829d},
+  {0x8235a831, 0xea829e},
+  {0x8235a832, 0xea829f},
+  {0x8235a833, 0xea82a0},
+  {0x8235a834, 0xea82a1},
+  {0x8235a835, 0xea82a2},
+  {0x8235a836, 0xea82a3},
+  {0x8235a837, 0xea82a4},
+  {0x8235a838, 0xea82a5},
+  {0x8235a839, 0xea82a6},
+  {0x8235a930, 0xea82a7},
+  {0x8235a931, 0xea82a8},
+  {0x8235a932, 0xea82a9},
+  {0x8235a933, 0xea82aa},
+  {0x8235a934, 0xea82ab},
+  {0x8235a935, 0xea82ac},
+  {0x8235a936, 0xea82ad},
+  {0x8235a937, 0xea82ae},
+  {0x8235a938, 0xea82af},
+  {0x8235a939, 0xea82b0},
+  {0x8235aa30, 0xea82b1},
+  {0x8235aa31, 0xea82b2},
+  {0x8235aa32, 0xea82b3},
+  {0x8235aa33, 0xea82b4},
+  {0x8235aa34, 0xea82b5},
+  {0x8235aa35, 0xea82b6},
+  {0x8235aa36, 0xea82b7},
+  {0x8235aa37, 0xea82b8},
+  {0x8235aa38, 0xea82b9},
+  {0x8235aa39, 0xea82ba},
+  {0x8235ab30, 0xea82bb},
+  {0x8235ab31, 0xea82bc},
+  {0x8235ab32, 0xea82bd},
+  {0x8235ab33, 0xea82be},
+  {0x8235ab34, 0xea82bf},
+  {0x8235ab35, 0xea8380},
+  {0x8235ab36, 0xea8381},
+  {0x8235ab37, 0xea8382},
+  {0x8235ab38, 0xea8383},
+  {0x8235ab39, 0xea8384},
+  {0x8235ac30, 0xea8385},
+  {0x8235ac31, 0xea8386},
+  {0x8235ac32, 0xea8387},
+  {0x8235ac33, 0xea8388},
+  {0x8235ac34, 0xea8389},
+  {0x8235ac35, 0xea838a},
+  {0x8235ac36, 0xea838b},
+  {0x8235ac37, 0xea838c},
+  {0x8235ac38, 0xea838d},
+  {0x8235ac39, 0xea838e},
+  {0x8235ad30, 0xea838f},
+  {0x8235ad31, 0xea8390},
+  {0x8235ad32, 0xea8391},
+  {0x8235ad33, 0xea8392},
+  {0x8235ad34, 0xea8393},
+  {0x8235ad35, 0xea8394},
+  {0x8235ad36, 0xea8395},
+  {0x8235ad37, 0xea8396},
+  {0x8235ad38, 0xea8397},
+  {0x8235ad39, 0xea8398},
+  {0x8235ae30, 0xea8399},
+  {0x8235ae31, 0xea839a},
+  {0x8235ae32, 0xea839b},
+  {0x8235ae33, 0xea839c},
+  {0x8235ae34, 0xea839d},
+  {0x8235ae35, 0xea839e},
+  {0x8235ae36, 0xea839f},
+  {0x8235ae37, 0xea83a0},
+  {0x8235ae38, 0xea83a1},
+  {0x8235ae39, 0xea83a2},
+  {0x8235af30, 0xea83a3},
+  {0x8235af31, 0xea83a4},
+  {0x8235af32, 0xea83a5},
+  {0x8235af33, 0xea83a6},
+  {0x8235af34, 0xea83a7},
+  {0x8235af35, 0xea83a8},
+  {0x8235af36, 0xea83a9},
+  {0x8235af37, 0xea83aa},
+  {0x8235af38, 0xea83ab},
+  {0x8235af39, 0xea83ac},
+  {0x8235b030, 0xea83ad},
+  {0x8235b031, 0xea83ae},
+  {0x8235b032, 0xea83af},
+  {0x8235b033, 0xea83b0},
+  {0x8235b034, 0xea83b1},
+  {0x8235b035, 0xea83b2},
+  {0x8235b036, 0xea83b3},
+  {0x8235b037, 0xea83b4},
+  {0x8235b038, 0xea83b5},
+  {0x8235b039, 0xea83b6},
+  {0x8235b130, 0xea83b7},
+  {0x8235b131, 0xea83b8},
+  {0x8235b132, 0xea83b9},
+  {0x8235b133, 0xea83ba},
+  {0x8235b134, 0xea83bb},
+  {0x8235b135, 0xea83bc},
+  {0x8235b136, 0xea83bd},
+  {0x8235b137, 0xea83be},
+  {0x8235b138, 0xea83bf},
+  {0x8235b139, 0xea8480},
+  {0x8235b230, 0xea8481},
+  {0x8235b231, 0xea8482},
+  {0x8235b232, 0xea8483},
+  {0x8235b233, 0xea8484},
+  {0x8235b234, 0xea8485},
+  {0x8235b235, 0xea8486},
+  {0x8235b236, 0xea8487},
+  {0x8235b237, 0xea8488},
+  {0x8235b238, 0xea8489},
+  {0x8235b239, 0xea848a},
+  {0x8235b330, 0xea848b},
+  {0x8235b331, 0xea848c},
+  {0x8235b332, 0xea848d},
+  {0x8235b333, 0xea848e},
+  {0x8235b334, 0xea848f},
+  {0x8235b335, 0xea8490},
+  {0x8235b336, 0xea8491},
+  {0x8235b337, 0xea8492},
+  {0x8235b338, 0xea8493},
+  {0x8235b339, 0xea8494},
+  {0x8235b430, 0xea8495},
+  {0x8235b431, 0xea8496},
+  {0x8235b432, 0xea8497},
+  {0x8235b433, 0xea8498},
+  {0x8235b434, 0xea8499},
+  {0x8235b435, 0xea849a},
+  {0x8235b436, 0xea849b},
+  {0x8235b437, 0xea849c},
+  {0x8235b438, 0xea849d},
+  {0x8235b439, 0xea849e},
+  {0x8235b530, 0xea849f},
+  {0x8235b531, 0xea84a0},
+  {0x8235b532, 0xea84a1},
+  {0x8235b533, 0xea84a2},
+  {0x8235b534, 0xea84a3},
+  {0x8235b535, 0xea84a4},
+  {0x8235b536, 0xea84a5},
+  {0x8235b537, 0xea84a6},
+  {0x8235b538, 0xea84a7},
+  {0x8235b539, 0xea84a8},
+  {0x8235b630, 0xea84a9},
+  {0x8235b631, 0xea84aa},
+  {0x8235b632, 0xea84ab},
+  {0x8235b633, 0xea84ac},
+  {0x8235b634, 0xea84ad},
+  {0x8235b635, 0xea84ae},
+  {0x8235b636, 0xea84af},
+  {0x8235b637, 0xea84b0},
+  {0x8235b638, 0xea84b1},
+  {0x8235b639, 0xea84b2},
+  {0x8235b730, 0xea84b3},
+  {0x8235b731, 0xea84b4},
+  {0x8235b732, 0xea84b5},
+  {0x8235b733, 0xea84b6},
+  {0x8235b734, 0xea84b7},
+  {0x8235b735, 0xea84b8},
+  {0x8235b736, 0xea84b9},
+  {0x8235b737, 0xea84ba},
+  {0x8235b738, 0xea84bb},
+  {0x8235b739, 0xea84bc},
+  {0x8235b830, 0xea84bd},
+  {0x8235b831, 0xea84be},
+  {0x8235b832, 0xea84bf},
+  {0x8235b833, 0xea8580},
+  {0x8235b834, 0xea8581},
+  {0x8235b835, 0xea8582},
+  {0x8235b836, 0xea8583},
+  {0x8235b837, 0xea8584},
+  {0x8235b838, 0xea8585},
+  {0x8235b839, 0xea8586},
+  {0x8235b930, 0xea8587},
+  {0x8235b931, 0xea8588},
+  {0x8235b932, 0xea8589},
+  {0x8235b933, 0xea858a},
+  {0x8235b934, 0xea858b},
+  {0x8235b935, 0xea858c},
+  {0x8235b936, 0xea858d},
+  {0x8235b937, 0xea858e},
+  {0x8235b938, 0xea858f},
+  {0x8235b939, 0xea8590},
+  {0x8235ba30, 0xea8591},
+  {0x8235ba31, 0xea8592},
+  {0x8235ba32, 0xea8593},
+  {0x8235ba33, 0xea8594},
+  {0x8235ba34, 0xea8595},
+  {0x8235ba35, 0xea8596},
+  {0x8235ba36, 0xea8597},
+  {0x8235ba37, 0xea8598},
+  {0x8235ba38, 0xea8599},
+  {0x8235ba39, 0xea859a},
+  {0x8235bb30, 0xea859b},
+  {0x8235bb31, 0xea859c},
+  {0x8235bb32, 0xea859d},
+  {0x8235bb33, 0xea859e},
+  {0x8235bb34, 0xea859f},
+  {0x8235bb35, 0xea85a0},
+  {0x8235bb36, 0xea85a1},
+  {0x8235bb37, 0xea85a2},
+  {0x8235bb38, 0xea85a3},
+  {0x8235bb39, 0xea85a4},
+  {0x8235bc30, 0xea85a5},
+  {0x8235bc31, 0xea85a6},
+  {0x8235bc32, 0xea85a7},
+  {0x8235bc33, 0xea85a8},
+  {0x8235bc34, 0xea85a9},
+  {0x8235bc35, 0xea85aa},
+  {0x8235bc36, 0xea85ab},
+  {0x8235bc37, 0xea85ac},
+  {0x8235bc38, 0xea85ad},
+  {0x8235bc39, 0xea85ae},
+  {0x8235bd30, 0xea85af},
+  {0x8235bd31, 0xea85b0},
+  {0x8235bd32, 0xea85b1},
+  {0x8235bd33, 0xea85b2},
+  {0x8235bd34, 0xea85b3},
+  {0x8235bd35, 0xea85b4},
+  {0x8235bd36, 0xea85b5},
+  {0x8235bd37, 0xea85b6},
+  {0x8235bd38, 0xea85b7},
+  {0x8235bd39, 0xea85b8},
+  {0x8235be30, 0xea85b9},
+  {0x8235be31, 0xea85ba},
+  {0x8235be32, 0xea85bb},
+  {0x8235be33, 0xea85bc},
+  {0x8235be34, 0xea85bd},
+  {0x8235be35, 0xea85be},
+  {0x8235be36, 0xea85bf},
+  {0x8235be37, 0xea8680},
+  {0x8235be38, 0xea8681},
+  {0x8235be39, 0xea8682},
+  {0x8235bf30, 0xea8683},
+  {0x8235bf31, 0xea8684},
+  {0x8235bf32, 0xea8685},
+  {0x8235bf33, 0xea8686},
+  {0x8235bf34, 0xea8687},
+  {0x8235bf35, 0xea8688},
+  {0x8235bf36, 0xea8689},
+  {0x8235bf37, 0xea868a},
+  {0x8235bf38, 0xea868b},
+  {0x8235bf39, 0xea868c},
+  {0x8235c030, 0xea868d},
+  {0x8235c031, 0xea868e},
+  {0x8235c032, 0xea868f},
+  {0x8235c033, 0xea8690},
+  {0x8235c034, 0xea8691},
+  {0x8235c035, 0xea8692},
+  {0x8235c036, 0xea8693},
+  {0x8235c037, 0xea8694},
+  {0x8235c038, 0xea8695},
+  {0x8235c039, 0xea8696},
+  {0x8235c130, 0xea8697},
+  {0x8235c131, 0xea8698},
+  {0x8235c132, 0xea8699},
+  {0x8235c133, 0xea869a},
+  {0x8235c134, 0xea869b},
+  {0x8235c135, 0xea869c},
+  {0x8235c136, 0xea869d},
+  {0x8235c137, 0xea869e},
+  {0x8235c138, 0xea869f},
+  {0x8235c139, 0xea86a0},
+  {0x8235c230, 0xea86a1},
+  {0x8235c231, 0xea86a2},
+  {0x8235c232, 0xea86a3},
+  {0x8235c233, 0xea86a4},
+  {0x8235c234, 0xea86a5},
+  {0x8235c235, 0xea86a6},
+  {0x8235c236, 0xea86a7},
+  {0x8235c237, 0xea86a8},
+  {0x8235c238, 0xea86a9},
+  {0x8235c239, 0xea86aa},
+  {0x8235c330, 0xea86ab},
+  {0x8235c331, 0xea86ac},
+  {0x8235c332, 0xea86ad},
+  {0x8235c333, 0xea86ae},
+  {0x8235c334, 0xea86af},
+  {0x8235c335, 0xea86b0},
+  {0x8235c336, 0xea86b1},
+  {0x8235c337, 0xea86b2},
+  {0x8235c338, 0xea86b3},
+  {0x8235c339, 0xea86b4},
+  {0x8235c430, 0xea86b5},
+  {0x8235c431, 0xea86b6},
+  {0x8235c432, 0xea86b7},
+  {0x8235c433, 0xea86b8},
+  {0x8235c434, 0xea86b9},
+  {0x8235c435, 0xea86ba},
+  {0x8235c436, 0xea86bb},
+  {0x8235c437, 0xea86bc},
+  {0x8235c438, 0xea86bd},
+  {0x8235c439, 0xea86be},
+  {0x8235c530, 0xea86bf},
+  {0x8235c531, 0xea8780},
+  {0x8235c532, 0xea8781},
+  {0x8235c533, 0xea8782},
+  {0x8235c534, 0xea8783},
+  {0x8235c535, 0xea8784},
+  {0x8235c536, 0xea8785},
+  {0x8235c537, 0xea8786},
+  {0x8235c538, 0xea8787},
+  {0x8235c539, 0xea8788},
+  {0x8235c630, 0xea8789},
+  {0x8235c631, 0xea878a},
+  {0x8235c632, 0xea878b},
+  {0x8235c633, 0xea878c},
+  {0x8235c634, 0xea878d},
+  {0x8235c635, 0xea878e},
+  {0x8235c636, 0xea878f},
+  {0x8235c637, 0xea8790},
+  {0x8235c638, 0xea8791},
+  {0x8235c639, 0xea8792},
+  {0x8235c730, 0xea8793},
+  {0x8235c731, 0xea8794},
+  {0x8235c732, 0xea8795},
+  {0x8235c733, 0xea8796},
+  {0x8235c734, 0xea8797},
+  {0x8235c735, 0xea8798},
+  {0x8235c736, 0xea8799},
+  {0x8235c737, 0xea879a},
+  {0x8235c738, 0xea879b},
+  {0x8235c739, 0xea879c},
+  {0x8235c830, 0xea879d},
+  {0x8235c831, 0xea879e},
+  {0x8235c832, 0xea879f},
+  {0x8235c833, 0xea87a0},
+  {0x8235c834, 0xea87a1},
+  {0x8235c835, 0xea87a2},
+  {0x8235c836, 0xea87a3},
+  {0x8235c837, 0xea87a4},
+  {0x8235c838, 0xea87a5},
+  {0x8235c839, 0xea87a6},
+  {0x8235c930, 0xea87a7},
+  {0x8235c931, 0xea87a8},
+  {0x8235c932, 0xea87a9},
+  {0x8235c933, 0xea87aa},
+  {0x8235c934, 0xea87ab},
+  {0x8235c935, 0xea87ac},
+  {0x8235c936, 0xea87ad},
+  {0x8235c937, 0xea87ae},
+  {0x8235c938, 0xea87af},
+  {0x8235c939, 0xea87b0},
+  {0x8235ca30, 0xea87b1},
+  {0x8235ca31, 0xea87b2},
+  {0x8235ca32, 0xea87b3},
+  {0x8235ca33, 0xea87b4},
+  {0x8235ca34, 0xea87b5},
+  {0x8235ca35, 0xea87b6},
+  {0x8235ca36, 0xea87b7},
+  {0x8235ca37, 0xea87b8},
+  {0x8235ca38, 0xea87b9},
+  {0x8235ca39, 0xea87ba},
+  {0x8235cb30, 0xea87bb},
+  {0x8235cb31, 0xea87bc},
+  {0x8235cb32, 0xea87bd},
+  {0x8235cb33, 0xea87be},
+  {0x8235cb34, 0xea87bf},
+  {0x8235cb35, 0xea8880},
+  {0x8235cb36, 0xea8881},
+  {0x8235cb37, 0xea8882},
+  {0x8235cb38, 0xea8883},
+  {0x8235cb39, 0xea8884},
+  {0x8235cc30, 0xea8885},
+  {0x8235cc31, 0xea8886},
+  {0x8235cc32, 0xea8887},
+  {0x8235cc33, 0xea8888},
+  {0x8235cc34, 0xea8889},
+  {0x8235cc35, 0xea888a},
+  {0x8235cc36, 0xea888b},
+  {0x8235cc37, 0xea888c},
+  {0x8235cc38, 0xea888d},
+  {0x8235cc39, 0xea888e},
+  {0x8235cd30, 0xea888f},
+  {0x8235cd31, 0xea8890},
+  {0x8235cd32, 0xea8891},
+  {0x8235cd33, 0xea8892},
+  {0x8235cd34, 0xea8893},
+  {0x8235cd35, 0xea8894},
+  {0x8235cd36, 0xea8895},
+  {0x8235cd37, 0xea8896},
+  {0x8235cd38, 0xea8897},
+  {0x8235cd39, 0xea8898},
+  {0x8235ce30, 0xea8899},
+  {0x8235ce31, 0xea889a},
+  {0x8235ce32, 0xea889b},
+  {0x8235ce33, 0xea889c},
+  {0x8235ce34, 0xea889d},
+  {0x8235ce35, 0xea889e},
+  {0x8235ce36, 0xea889f},
+  {0x8235ce37, 0xea88a0},
+  {0x8235ce38, 0xea88a1},
+  {0x8235ce39, 0xea88a2},
+  {0x8235cf30, 0xea88a3},
+  {0x8235cf31, 0xea88a4},
+  {0x8235cf32, 0xea88a5},
+  {0x8235cf33, 0xea88a6},
+  {0x8235cf34, 0xea88a7},
+  {0x8235cf35, 0xea88a8},
+  {0x8235cf36, 0xea88a9},
+  {0x8235cf37, 0xea88aa},
+  {0x8235cf38, 0xea88ab},
+  {0x8235cf39, 0xea88ac},
+  {0x8235d030, 0xea88ad},
+  {0x8235d031, 0xea88ae},
+  {0x8235d032, 0xea88af},
+  {0x8235d033, 0xea88b0},
+  {0x8235d034, 0xea88b1},
+  {0x8235d035, 0xea88b2},
+  {0x8235d036, 0xea88b3},
+  {0x8235d037, 0xea88b4},
+  {0x8235d038, 0xea88b5},
+  {0x8235d039, 0xea88b6},
+  {0x8235d130, 0xea88b7},
+  {0x8235d131, 0xea88b8},
+  {0x8235d132, 0xea88b9},
+  {0x8235d133, 0xea88ba},
+  {0x8235d134, 0xea88bb},
+  {0x8235d135, 0xea88bc},
+  {0x8235d136, 0xea88bd},
+  {0x8235d137, 0xea88be},
+  {0x8235d138, 0xea88bf},
+  {0x8235d139, 0xea8980},
+  {0x8235d230, 0xea8981},
+  {0x8235d231, 0xea8982},
+  {0x8235d232, 0xea8983},
+  {0x8235d233, 0xea8984},
+  {0x8235d234, 0xea8985},
+  {0x8235d235, 0xea8986},
+  {0x8235d236, 0xea8987},
+  {0x8235d237, 0xea8988},
+  {0x8235d238, 0xea8989},
+  {0x8235d239, 0xea898a},
+  {0x8235d330, 0xea898b},
+  {0x8235d331, 0xea898c},
+  {0x8235d332, 0xea898d},
+  {0x8235d333, 0xea898e},
+  {0x8235d334, 0xea898f},
+  {0x8235d335, 0xea8990},
+  {0x8235d336, 0xea8991},
+  {0x8235d337, 0xea8992},
+  {0x8235d338, 0xea8993},
+  {0x8235d339, 0xea8994},
+  {0x8235d430, 0xea8995},
+  {0x8235d431, 0xea8996},
+  {0x8235d432, 0xea8997},
+  {0x8235d433, 0xea8998},
+  {0x8235d434, 0xea8999},
+  {0x8235d435, 0xea899a},
+  {0x8235d436, 0xea899b},
+  {0x8235d437, 0xea899c},
+  {0x8235d438, 0xea899d},
+  {0x8235d439, 0xea899e},
+  {0x8235d530, 0xea899f},
+  {0x8235d531, 0xea89a0},
+  {0x8235d532, 0xea89a1},
+  {0x8235d533, 0xea89a2},
+  {0x8235d534, 0xea89a3},
+  {0x8235d535, 0xea89a4},
+  {0x8235d536, 0xea89a5},
+  {0x8235d537, 0xea89a6},
+  {0x8235d538, 0xea89a7},
+  {0x8235d539, 0xea89a8},
+  {0x8235d630, 0xea89a9},
+  {0x8235d631, 0xea89aa},
+  {0x8235d632, 0xea89ab},
+  {0x8235d633, 0xea89ac},
+  {0x8235d634, 0xea89ad},
+  {0x8235d635, 0xea89ae},
+  {0x8235d636, 0xea89af},
+  {0x8235d637, 0xea89b0},
+  {0x8235d638, 0xea89b1},
+  {0x8235d639, 0xea89b2},
+  {0x8235d730, 0xea89b3},
+  {0x8235d731, 0xea89b4},
+  {0x8235d732, 0xea89b5},
+  {0x8235d733, 0xea89b6},
+  {0x8235d734, 0xea89b7},
+  {0x8235d735, 0xea89b8},
+  {0x8235d736, 0xea89b9},
+  {0x8235d737, 0xea89ba},
+  {0x8235d738, 0xea89bb},
+  {0x8235d739, 0xea89bc},
+  {0x8235d830, 0xea89bd},
+  {0x8235d831, 0xea89be},
+  {0x8235d832, 0xea89bf},
+  {0x8235d833, 0xea8a80},
+  {0x8235d834, 0xea8a81},
+  {0x8235d835, 0xea8a82},
+  {0x8235d836, 0xea8a83},
+  {0x8235d837, 0xea8a84},
+  {0x8235d838, 0xea8a85},
+  {0x8235d839, 0xea8a86},
+  {0x8235d930, 0xea8a87},
+  {0x8235d931, 0xea8a88},
+  {0x8235d932, 0xea8a89},
+  {0x8235d933, 0xea8a8a},
+  {0x8235d934, 0xea8a8b},
+  {0x8235d935, 0xea8a8c},
+  {0x8235d936, 0xea8a8d},
+  {0x8235d937, 0xea8a8e},
+  {0x8235d938, 0xea8a8f},
+  {0x8235d939, 0xea8a90},
+  {0x8235da30, 0xea8a91},
+  {0x8235da31, 0xea8a92},
+  {0x8235da32, 0xea8a93},
+  {0x8235da33, 0xea8a94},
+  {0x8235da34, 0xea8a95},
+  {0x8235da35, 0xea8a96},
+  {0x8235da36, 0xea8a97},
+  {0x8235da37, 0xea8a98},
+  {0x8235da38, 0xea8a99},
+  {0x8235da39, 0xea8a9a},
+  {0x8235db30, 0xea8a9b},
+  {0x8235db31, 0xea8a9c},
+  {0x8235db32, 0xea8a9d},
+  {0x8235db33, 0xea8a9e},
+  {0x8235db34, 0xea8a9f},
+  {0x8235db35, 0xea8aa0},
+  {0x8235db36, 0xea8aa1},
+  {0x8235db37, 0xea8aa2},
+  {0x8235db38, 0xea8aa3},
+  {0x8235db39, 0xea8aa4},
+  {0x8235dc30, 0xea8aa5},
+  {0x8235dc31, 0xea8aa6},
+  {0x8235dc32, 0xea8aa7},
+  {0x8235dc33, 0xea8aa8},
+  {0x8235dc34, 0xea8aa9},
+  {0x8235dc35, 0xea8aaa},
+  {0x8235dc36, 0xea8aab},
+  {0x8235dc37, 0xea8aac},
+  {0x8235dc38, 0xea8aad},
+  {0x8235dc39, 0xea8aae},
+  {0x8235dd30, 0xea8aaf},
+  {0x8235dd31, 0xea8ab0},
+  {0x8235dd32, 0xea8ab1},
+  {0x8235dd33, 0xea8ab2},
+  {0x8235dd34, 0xea8ab3},
+  {0x8235dd35, 0xea8ab4},
+  {0x8235dd36, 0xea8ab5},
+  {0x8235dd37, 0xea8ab6},
+  {0x8235dd38, 0xea8ab7},
+  {0x8235dd39, 0xea8ab8},
+  {0x8235de30, 0xea8ab9},
+  {0x8235de31, 0xea8aba},
+  {0x8235de32, 0xea8abb},
+  {0x8235de33, 0xea8abc},
+  {0x8235de34, 0xea8abd},
+  {0x8235de35, 0xea8abe},
+  {0x8235de36, 0xea8abf},
+  {0x8235de37, 0xea8b80},
+  {0x8235de38, 0xea8b81},
+  {0x8235de39, 0xea8b82},
+  {0x8235df30, 0xea8b83},
+  {0x8235df31, 0xea8b84},
+  {0x8235df32, 0xea8b85},
+  {0x8235df33, 0xea8b86},
+  {0x8235df34, 0xea8b87},
+  {0x8235df35, 0xea8b88},
+  {0x8235df36, 0xea8b89},
+  {0x8235df37, 0xea8b8a},
+  {0x8235df38, 0xea8b8b},
+  {0x8235df39, 0xea8b8c},
+  {0x8235e030, 0xea8b8d},
+  {0x8235e031, 0xea8b8e},
+  {0x8235e032, 0xea8b8f},
+  {0x8235e033, 0xea8b90},
+  {0x8235e034, 0xea8b91},
+  {0x8235e035, 0xea8b92},
+  {0x8235e036, 0xea8b93},
+  {0x8235e037, 0xea8b94},
+  {0x8235e038, 0xea8b95},
+  {0x8235e039, 0xea8b96},
+  {0x8235e130, 0xea8b97},
+  {0x8235e131, 0xea8b98},
+  {0x8235e132, 0xea8b99},
+  {0x8235e133, 0xea8b9a},
+  {0x8235e134, 0xea8b9b},
+  {0x8235e135, 0xea8b9c},
+  {0x8235e136, 0xea8b9d},
+  {0x8235e137, 0xea8b9e},
+  {0x8235e138, 0xea8b9f},
+  {0x8235e139, 0xea8ba0},
+  {0x8235e230, 0xea8ba1},
+  {0x8235e231, 0xea8ba2},
+  {0x8235e232, 0xea8ba3},
+  {0x8235e233, 0xea8ba4},
+  {0x8235e234, 0xea8ba5},
+  {0x8235e235, 0xea8ba6},
+  {0x8235e236, 0xea8ba7},
+  {0x8235e237, 0xea8ba8},
+  {0x8235e238, 0xea8ba9},
+  {0x8235e239, 0xea8baa},
+  {0x8235e330, 0xea8bab},
+  {0x8235e331, 0xea8bac},
+  {0x8235e332, 0xea8bad},
+  {0x8235e333, 0xea8bae},
+  {0x8235e334, 0xea8baf},
+  {0x8235e335, 0xea8bb0},
+  {0x8235e336, 0xea8bb1},
+  {0x8235e337, 0xea8bb2},
+  {0x8235e338, 0xea8bb3},
+  {0x8235e339, 0xea8bb4},
+  {0x8235e430, 0xea8bb5},
+  {0x8235e431, 0xea8bb6},
+  {0x8235e432, 0xea8bb7},
+  {0x8235e433, 0xea8bb8},
+  {0x8235e434, 0xea8bb9},
+  {0x8235e435, 0xea8bba},
+  {0x8235e436, 0xea8bbb},
+  {0x8235e437, 0xea8bbc},
+  {0x8235e438, 0xea8bbd},
+  {0x8235e439, 0xea8bbe},
+  {0x8235e530, 0xea8bbf},
+  {0x8235e531, 0xea8c80},
+  {0x8235e532, 0xea8c81},
+  {0x8235e533, 0xea8c82},
+  {0x8235e534, 0xea8c83},
+  {0x8235e535, 0xea8c84},
+  {0x8235e536, 0xea8c85},
+  {0x8235e537, 0xea8c86},
+  {0x8235e538, 0xea8c87},
+  {0x8235e539, 0xea8c88},
+  {0x8235e630, 0xea8c89},
+  {0x8235e631, 0xea8c8a},
+  {0x8235e632, 0xea8c8b},
+  {0x8235e633, 0xea8c8c},
+  {0x8235e634, 0xea8c8d},
+  {0x8235e635, 0xea8c8e},
+  {0x8235e636, 0xea8c8f},
+  {0x8235e637, 0xea8c90},
+  {0x8235e638, 0xea8c91},
+  {0x8235e639, 0xea8c92},
+  {0x8235e730, 0xea8c93},
+  {0x8235e731, 0xea8c94},
+  {0x8235e732, 0xea8c95},
+  {0x8235e733, 0xea8c96},
+  {0x8235e734, 0xea8c97},
+  {0x8235e735, 0xea8c98},
+  {0x8235e736, 0xea8c99},
+  {0x8235e737, 0xea8c9a},
+  {0x8235e738, 0xea8c9b},
+  {0x8235e739, 0xea8c9c},
+  {0x8235e830, 0xea8c9d},
+  {0x8235e831, 0xea8c9e},
+  {0x8235e832, 0xea8c9f},
+  {0x8235e833, 0xea8ca0},
+  {0x8235e834, 0xea8ca1},
+  {0x8235e835, 0xea8ca2},
+  {0x8235e836, 0xea8ca3},
+  {0x8235e837, 0xea8ca4},
+  {0x8235e838, 0xea8ca5},
+  {0x8235e839, 0xea8ca6},
+  {0x8235e930, 0xea8ca7},
+  {0x8235e931, 0xea8ca8},
+  {0x8235e932, 0xea8ca9},
+  {0x8235e933, 0xea8caa},
+  {0x8235e934, 0xea8cab},
+  {0x8235e935, 0xea8cac},
+  {0x8235e936, 0xea8cad},
+  {0x8235e937, 0xea8cae},
+  {0x8235e938, 0xea8caf},
+  {0x8235e939, 0xea8cb0},
+  {0x8235ea30, 0xea8cb1},
+  {0x8235ea31, 0xea8cb2},
+  {0x8235ea32, 0xea8cb3},
+  {0x8235ea33, 0xea8cb4},
+  {0x8235ea34, 0xea8cb5},
+  {0x8235ea35, 0xea8cb6},
+  {0x8235ea36, 0xea8cb7},
+  {0x8235ea37, 0xea8cb8},
+  {0x8235ea38, 0xea8cb9},
+  {0x8235ea39, 0xea8cba},
+  {0x8235eb30, 0xea8cbb},
+  {0x8235eb31, 0xea8cbc},
+  {0x8235eb32, 0xea8cbd},
+  {0x8235eb33, 0xea8cbe},
+  {0x8235eb34, 0xea8cbf},
+  {0x8235eb35, 0xea8d80},
+  {0x8235eb36, 0xea8d81},
+  {0x8235eb37, 0xea8d82},
+  {0x8235eb38, 0xea8d83},
+  {0x8235eb39, 0xea8d84},
+  {0x8235ec30, 0xea8d85},
+  {0x8235ec31, 0xea8d86},
+  {0x8235ec32, 0xea8d87},
+  {0x8235ec33, 0xea8d88},
+  {0x8235ec34, 0xea8d89},
+  {0x8235ec35, 0xea8d8a},
+  {0x8235ec36, 0xea8d8b},
+  {0x8235ec37, 0xea8d8c},
+  {0x8235ec38, 0xea8d8d},
+  {0x8235ec39, 0xea8d8e},
+  {0x8235ed30, 0xea8d8f},
+  {0x8235ed31, 0xea8d90},
+  {0x8235ed32, 0xea8d91},
+  {0x8235ed33, 0xea8d92},
+  {0x8235ed34, 0xea8d93},
+  {0x8235ed35, 0xea8d94},
+  {0x8235ed36, 0xea8d95},
+  {0x8235ed37, 0xea8d96},
+  {0x8235ed38, 0xea8d97},
+  {0x8235ed39, 0xea8d98},
+  {0x8235ee30, 0xea8d99},
+  {0x8235ee31, 0xea8d9a},
+  {0x8235ee32, 0xea8d9b},
+  {0x8235ee33, 0xea8d9c},
+  {0x8235ee34, 0xea8d9d},
+  {0x8235ee35, 0xea8d9e},
+  {0x8235ee36, 0xea8d9f},
+  {0x8235ee37, 0xea8da0},
+  {0x8235ee38, 0xea8da1},
+  {0x8235ee39, 0xea8da2},
+  {0x8235ef30, 0xea8da3},
+  {0x8235ef31, 0xea8da4},
+  {0x8235ef32, 0xea8da5},
+  {0x8235ef33, 0xea8da6},
+  {0x8235ef34, 0xea8da7},
+  {0x8235ef35, 0xea8da8},
+  {0x8235ef36, 0xea8da9},
+  {0x8235ef37, 0xea8daa},
+  {0x8235ef38, 0xea8dab},
+  {0x8235ef39, 0xea8dac},
+  {0x8235f030, 0xea8dad},
+  {0x8235f031, 0xea8dae},
+  {0x8235f032, 0xea8daf},
+  {0x8235f033, 0xea8db0},
+  {0x8235f034, 0xea8db1},
+  {0x8235f035, 0xea8db2},
+  {0x8235f036, 0xea8db3},
+  {0x8235f037, 0xea8db4},
+  {0x8235f038, 0xea8db5},
+  {0x8235f039, 0xea8db6},
+  {0x8235f130, 0xea8db7},
+  {0x8235f131, 0xea8db8},
+  {0x8235f132, 0xea8db9},
+  {0x8235f133, 0xea8dba},
+  {0x8235f134, 0xea8dbb},
+  {0x8235f135, 0xea8dbc},
+  {0x8235f136, 0xea8dbd},
+  {0x8235f137, 0xea8dbe},
+  {0x8235f138, 0xea8dbf},
+  {0x8235f139, 0xea8e80},
+  {0x8235f230, 0xea8e81},
+  {0x8235f231, 0xea8e82},
+  {0x8235f232, 0xea8e83},
+  {0x8235f233, 0xea8e84},
+  {0x8235f234, 0xea8e85},
+  {0x8235f235, 0xea8e86},
+  {0x8235f236, 0xea8e87},
+  {0x8235f237, 0xea8e88},
+  {0x8235f238, 0xea8e89},
+  {0x8235f239, 0xea8e8a},
+  {0x8235f330, 0xea8e8b},
+  {0x8235f331, 0xea8e8c},
+  {0x8235f332, 0xea8e8d},
+  {0x8235f333, 0xea8e8e},
+  {0x8235f334, 0xea8e8f},
+  {0x8235f335, 0xea8e90},
+  {0x8235f336, 0xea8e91},
+  {0x8235f337, 0xea8e92},
+  {0x8235f338, 0xea8e93},
+  {0x8235f339, 0xea8e94},
+  {0x8235f430, 0xea8e95},
+  {0x8235f431, 0xea8e96},
+  {0x8235f432, 0xea8e97},
+  {0x8235f433, 0xea8e98},
+  {0x8235f434, 0xea8e99},
+  {0x8235f435, 0xea8e9a},
+  {0x8235f436, 0xea8e9b},
+  {0x8235f437, 0xea8e9c},
+  {0x8235f438, 0xea8e9d},
+  {0x8235f439, 0xea8e9e},
+  {0x8235f530, 0xea8e9f},
+  {0x8235f531, 0xea8ea0},
+  {0x8235f532, 0xea8ea1},
+  {0x8235f533, 0xea8ea2},
+  {0x8235f534, 0xea8ea3},
+  {0x8235f535, 0xea8ea4},
+  {0x8235f536, 0xea8ea5},
+  {0x8235f537, 0xea8ea6},
+  {0x8235f538, 0xea8ea7},
+  {0x8235f539, 0xea8ea8},
+  {0x8235f630, 0xea8ea9},
+  {0x8235f631, 0xea8eaa},
+  {0x8235f632, 0xea8eab},
+  {0x8235f633, 0xea8eac},
+  {0x8235f634, 0xea8ead},
+  {0x8235f635, 0xea8eae},
+  {0x8235f636, 0xea8eaf},
+  {0x8235f637, 0xea8eb0},
+  {0x8235f638, 0xea8eb1},
+  {0x8235f639, 0xea8eb2},
+  {0x8235f730, 0xea8eb3},
+  {0x8235f731, 0xea8eb4},
+  {0x8235f732, 0xea8eb5},
+  {0x8235f733, 0xea8eb6},
+  {0x8235f734, 0xea8eb7},
+  {0x8235f735, 0xea8eb8},
+  {0x8235f736, 0xea8eb9},
+  {0x8235f737, 0xea8eba},
+  {0x8235f738, 0xea8ebb},
+  {0x8235f739, 0xea8ebc},
+  {0x8235f830, 0xea8ebd},
+  {0x8235f831, 0xea8ebe},
+  {0x8235f832, 0xea8ebf},
+  {0x8235f833, 0xea8f80},
+  {0x8235f834, 0xea8f81},
+  {0x8235f835, 0xea8f82},
+  {0x8235f836, 0xea8f83},
+  {0x8235f837, 0xea8f84},
+  {0x8235f838, 0xea8f85},
+  {0x8235f839, 0xea8f86},
+  {0x8235f930, 0xea8f87},
+  {0x8235f931, 0xea8f88},
+  {0x8235f932, 0xea8f89},
+  {0x8235f933, 0xea8f8a},
+  {0x8235f934, 0xea8f8b},
+  {0x8235f935, 0xea8f8c},
+  {0x8235f936, 0xea8f8d},
+  {0x8235f937, 0xea8f8e},
+  {0x8235f938, 0xea8f8f},
+  {0x8235f939, 0xea8f90},
+  {0x8235fa30, 0xea8f91},
+  {0x8235fa31, 0xea8f92},
+  {0x8235fa32, 0xea8f93},
+  {0x8235fa33, 0xea8f94},
+  {0x8235fa34, 0xea8f95},
+  {0x8235fa35, 0xea8f96},
+  {0x8235fa36, 0xea8f97},
+  {0x8235fa37, 0xea8f98},
+  {0x8235fa38, 0xea8f99},
+  {0x8235fa39, 0xea8f9a},
+  {0x8235fb30, 0xea8f9b},
+  {0x8235fb31, 0xea8f9c},
+  {0x8235fb32, 0xea8f9d},
+  {0x8235fb33, 0xea8f9e},
+  {0x8235fb34, 0xea8f9f},
+  {0x8235fb35, 0xea8fa0},
+  {0x8235fb36, 0xea8fa1},
+  {0x8235fb37, 0xea8fa2},
+  {0x8235fb38, 0xea8fa3},
+  {0x8235fb39, 0xea8fa4},
+  {0x8235fc30, 0xea8fa5},
+  {0x8235fc31, 0xea8fa6},
+  {0x8235fc32, 0xea8fa7},
+  {0x8235fc33, 0xea8fa8},
+  {0x8235fc34, 0xea8fa9},
+  {0x8235fc35, 0xea8faa},
+  {0x8235fc36, 0xea8fab},
+  {0x8235fc37, 0xea8fac},
+  {0x8235fc38, 0xea8fad},
+  {0x8235fc39, 0xea8fae},
+  {0x8235fd30, 0xea8faf},
+  {0x8235fd31, 0xea8fb0},
+  {0x8235fd32, 0xea8fb1},
+  {0x8235fd33, 0xea8fb2},
+  {0x8235fd34, 0xea8fb3},
+  {0x8235fd35, 0xea8fb4},
+  {0x8235fd36, 0xea8fb5},
+  {0x8235fd37, 0xea8fb6},
+  {0x8235fd38, 0xea8fb7},
+  {0x8235fd39, 0xea8fb8},
+  {0x8235fe30, 0xea8fb9},
+  {0x8235fe31, 0xea8fba},
+  {0x8235fe32, 0xea8fbb},
+  {0x8235fe33, 0xea8fbc},
+  {0x8235fe34, 0xea8fbd},
+  {0x8235fe35, 0xea8fbe},
+  {0x8235fe36, 0xea8fbf},
+  {0x8235fe37, 0xea9080},
+  {0x8235fe38, 0xea9081},
+  {0x8235fe39, 0xea9082},
+  {0x82368130, 0xea9083},
+  {0x82368131, 0xea9084},
+  {0x82368132, 0xea9085},
+  {0x82368133, 0xea9086},
+  {0x82368134, 0xea9087},
+  {0x82368135, 0xea9088},
+  {0x82368136, 0xea9089},
+  {0x82368137, 0xea908a},
+  {0x82368138, 0xea908b},
+  {0x82368139, 0xea908c},
+  {0x82368230, 0xea908d},
+  {0x82368231, 0xea908e},
+  {0x82368232, 0xea908f},
+  {0x82368233, 0xea9090},
+  {0x82368234, 0xea9091},
+  {0x82368235, 0xea9092},
+  {0x82368236, 0xea9093},
+  {0x82368237, 0xea9094},
+  {0x82368238, 0xea9095},
+  {0x82368239, 0xea9096},
+  {0x82368330, 0xea9097},
+  {0x82368331, 0xea9098},
+  {0x82368332, 0xea9099},
+  {0x82368333, 0xea909a},
+  {0x82368334, 0xea909b},
+  {0x82368335, 0xea909c},
+  {0x82368336, 0xea909d},
+  {0x82368337, 0xea909e},
+  {0x82368338, 0xea909f},
+  {0x82368339, 0xea90a0},
+  {0x82368430, 0xea90a1},
+  {0x82368431, 0xea90a2},
+  {0x82368432, 0xea90a3},
+  {0x82368433, 0xea90a4},
+  {0x82368434, 0xea90a5},
+  {0x82368435, 0xea90a6},
+  {0x82368436, 0xea90a7},
+  {0x82368437, 0xea90a8},
+  {0x82368438, 0xea90a9},
+  {0x82368439, 0xea90aa},
+  {0x82368530, 0xea90ab},
+  {0x82368531, 0xea90ac},
+  {0x82368532, 0xea90ad},
+  {0x82368533, 0xea90ae},
+  {0x82368534, 0xea90af},
+  {0x82368535, 0xea90b0},
+  {0x82368536, 0xea90b1},
+  {0x82368537, 0xea90b2},
+  {0x82368538, 0xea90b3},
+  {0x82368539, 0xea90b4},
+  {0x82368630, 0xea90b5},
+  {0x82368631, 0xea90b6},
+  {0x82368632, 0xea90b7},
+  {0x82368633, 0xea90b8},
+  {0x82368634, 0xea90b9},
+  {0x82368635, 0xea90ba},
+  {0x82368636, 0xea90bb},
+  {0x82368637, 0xea90bc},
+  {0x82368638, 0xea90bd},
+  {0x82368639, 0xea90be},
+  {0x82368730, 0xea90bf},
+  {0x82368731, 0xea9180},
+  {0x82368732, 0xea9181},
+  {0x82368733, 0xea9182},
+  {0x82368734, 0xea9183},
+  {0x82368735, 0xea9184},
+  {0x82368736, 0xea9185},
+  {0x82368737, 0xea9186},
+  {0x82368738, 0xea9187},
+  {0x82368739, 0xea9188},
+  {0x82368830, 0xea9189},
+  {0x82368831, 0xea918a},
+  {0x82368832, 0xea918b},
+  {0x82368833, 0xea918c},
+  {0x82368834, 0xea918d},
+  {0x82368835, 0xea918e},
+  {0x82368836, 0xea918f},
+  {0x82368837, 0xea9190},
+  {0x82368838, 0xea9191},
+  {0x82368839, 0xea9192},
+  {0x82368930, 0xea9193},
+  {0x82368931, 0xea9194},
+  {0x82368932, 0xea9195},
+  {0x82368933, 0xea9196},
+  {0x82368934, 0xea9197},
+  {0x82368935, 0xea9198},
+  {0x82368936, 0xea9199},
+  {0x82368937, 0xea919a},
+  {0x82368938, 0xea919b},
+  {0x82368939, 0xea919c},
+  {0x82368a30, 0xea919d},
+  {0x82368a31, 0xea919e},
+  {0x82368a32, 0xea919f},
+  {0x82368a33, 0xea91a0},
+  {0x82368a34, 0xea91a1},
+  {0x82368a35, 0xea91a2},
+  {0x82368a36, 0xea91a3},
+  {0x82368a37, 0xea91a4},
+  {0x82368a38, 0xea91a5},
+  {0x82368a39, 0xea91a6},
+  {0x82368b30, 0xea91a7},
+  {0x82368b31, 0xea91a8},
+  {0x82368b32, 0xea91a9},
+  {0x82368b33, 0xea91aa},
+  {0x82368b34, 0xea91ab},
+  {0x82368b35, 0xea91ac},
+  {0x82368b36, 0xea91ad},
+  {0x82368b37, 0xea91ae},
+  {0x82368b38, 0xea91af},
+  {0x82368b39, 0xea91b0},
+  {0x82368c30, 0xea91b1},
+  {0x82368c31, 0xea91b2},
+  {0x82368c32, 0xea91b3},
+  {0x82368c33, 0xea91b4},
+  {0x82368c34, 0xea91b5},
+  {0x82368c35, 0xea91b6},
+  {0x82368c36, 0xea91b7},
+  {0x82368c37, 0xea91b8},
+  {0x82368c38, 0xea91b9},
+  {0x82368c39, 0xea91ba},
+  {0x82368d30, 0xea91bb},
+  {0x82368d31, 0xea91bc},
+  {0x82368d32, 0xea91bd},
+  {0x82368d33, 0xea91be},
+  {0x82368d34, 0xea91bf},
+  {0x82368d35, 0xea9280},
+  {0x82368d36, 0xea9281},
+  {0x82368d37, 0xea9282},
+  {0x82368d38, 0xea9283},
+  {0x82368d39, 0xea9284},
+  {0x82368e30, 0xea9285},
+  {0x82368e31, 0xea9286},
+  {0x82368e32, 0xea9287},
+  {0x82368e33, 0xea9288},
+  {0x82368e34, 0xea9289},
+  {0x82368e35, 0xea928a},
+  {0x82368e36, 0xea928b},
+  {0x82368e37, 0xea928c},
+  {0x82368e38, 0xea928d},
+  {0x82368e39, 0xea928e},
+  {0x82368f30, 0xea928f},
+  {0x82368f31, 0xea9290},
+  {0x82368f32, 0xea9291},
+  {0x82368f33, 0xea9292},
+  {0x82368f34, 0xea9293},
+  {0x82368f35, 0xea9294},
+  {0x82368f36, 0xea9295},
+  {0x82368f37, 0xea9296},
+  {0x82368f38, 0xea9297},
+  {0x82368f39, 0xea9298},
+  {0x82369030, 0xea9299},
+  {0x82369031, 0xea929a},
+  {0x82369032, 0xea929b},
+  {0x82369033, 0xea929c},
+  {0x82369034, 0xea929d},
+  {0x82369035, 0xea929e},
+  {0x82369036, 0xea929f},
+  {0x82369037, 0xea92a0},
+  {0x82369038, 0xea92a1},
+  {0x82369039, 0xea92a2},
+  {0x82369130, 0xea92a3},
+  {0x82369131, 0xea92a4},
+  {0x82369132, 0xea92a5},
+  {0x82369133, 0xea92a6},
+  {0x82369134, 0xea92a7},
+  {0x82369135, 0xea92a8},
+  {0x82369136, 0xea92a9},
+  {0x82369137, 0xea92aa},
+  {0x82369138, 0xea92ab},
+  {0x82369139, 0xea92ac},
+  {0x82369230, 0xea92ad},
+  {0x82369231, 0xea92ae},
+  {0x82369232, 0xea92af},
+  {0x82369233, 0xea92b0},
+  {0x82369234, 0xea92b1},
+  {0x82369235, 0xea92b2},
+  {0x82369236, 0xea92b3},
+  {0x82369237, 0xea92b4},
+  {0x82369238, 0xea92b5},
+  {0x82369239, 0xea92b6},
+  {0x82369330, 0xea92b7},
+  {0x82369331, 0xea92b8},
+  {0x82369332, 0xea92b9},
+  {0x82369333, 0xea92ba},
+  {0x82369334, 0xea92bb},
+  {0x82369335, 0xea92bc},
+  {0x82369336, 0xea92bd},
+  {0x82369337, 0xea92be},
+  {0x82369338, 0xea92bf},
+  {0x82369339, 0xea9380},
+  {0x82369430, 0xea9381},
+  {0x82369431, 0xea9382},
+  {0x82369432, 0xea9383},
+  {0x82369433, 0xea9384},
+  {0x82369434, 0xea9385},
+  {0x82369435, 0xea9386},
+  {0x82369436, 0xea9387},
+  {0x82369437, 0xea9388},
+  {0x82369438, 0xea9389},
+  {0x82369439, 0xea938a},
+  {0x82369530, 0xea938b},
+  {0x82369531, 0xea938c},
+  {0x82369532, 0xea938d},
+  {0x82369533, 0xea938e},
+  {0x82369534, 0xea938f},
+  {0x82369535, 0xea9390},
+  {0x82369536, 0xea9391},
+  {0x82369537, 0xea9392},
+  {0x82369538, 0xea9393},
+  {0x82369539, 0xea9394},
+  {0x82369630, 0xea9395},
+  {0x82369631, 0xea9396},
+  {0x82369632, 0xea9397},
+  {0x82369633, 0xea9398},
+  {0x82369634, 0xea9399},
+  {0x82369635, 0xea939a},
+  {0x82369636, 0xea939b},
+  {0x82369637, 0xea939c},
+  {0x82369638, 0xea939d},
+  {0x82369639, 0xea939e},
+  {0x82369730, 0xea939f},
+  {0x82369731, 0xea93a0},
+  {0x82369732, 0xea93a1},
+  {0x82369733, 0xea93a2},
+  {0x82369734, 0xea93a3},
+  {0x82369735, 0xea93a4},
+  {0x82369736, 0xea93a5},
+  {0x82369737, 0xea93a6},
+  {0x82369738, 0xea93a7},
+  {0x82369739, 0xea93a8},
+  {0x82369830, 0xea93a9},
+  {0x82369831, 0xea93aa},
+  {0x82369832, 0xea93ab},
+  {0x82369833, 0xea93ac},
+  {0x82369834, 0xea93ad},
+  {0x82369835, 0xea93ae},
+  {0x82369836, 0xea93af},
+  {0x82369837, 0xea93b0},
+  {0x82369838, 0xea93b1},
+  {0x82369839, 0xea93b2},
+  {0x82369930, 0xea93b3},
+  {0x82369931, 0xea93b4},
+  {0x82369932, 0xea93b5},
+  {0x82369933, 0xea93b6},
+  {0x82369934, 0xea93b7},
+  {0x82369935, 0xea93b8},
+  {0x82369936, 0xea93b9},
+  {0x82369937, 0xea93ba},
+  {0x82369938, 0xea93bb},
+  {0x82369939, 0xea93bc},
+  {0x82369a30, 0xea93bd},
+  {0x82369a31, 0xea93be},
+  {0x82369a32, 0xea93bf},
+  {0x82369a33, 0xea9480},
+  {0x82369a34, 0xea9481},
+  {0x82369a35, 0xea9482},
+  {0x82369a36, 0xea9483},
+  {0x82369a37, 0xea9484},
+  {0x82369a38, 0xea9485},
+  {0x82369a39, 0xea9486},
+  {0x82369b30, 0xea9487},
+  {0x82369b31, 0xea9488},
+  {0x82369b32, 0xea9489},
+  {0x82369b33, 0xea948a},
+  {0x82369b34, 0xea948b},
+  {0x82369b35, 0xea948c},
+  {0x82369b36, 0xea948d},
+  {0x82369b37, 0xea948e},
+  {0x82369b38, 0xea948f},
+  {0x82369b39, 0xea9490},
+  {0x82369c30, 0xea9491},
+  {0x82369c31, 0xea9492},
+  {0x82369c32, 0xea9493},
+  {0x82369c33, 0xea9494},
+  {0x82369c34, 0xea9495},
+  {0x82369c35, 0xea9496},
+  {0x82369c36, 0xea9497},
+  {0x82369c37, 0xea9498},
+  {0x82369c38, 0xea9499},
+  {0x82369c39, 0xea949a},
+  {0x82369d30, 0xea949b},
+  {0x82369d31, 0xea949c},
+  {0x82369d32, 0xea949d},
+  {0x82369d33, 0xea949e},
+  {0x82369d34, 0xea949f},
+  {0x82369d35, 0xea94a0},
+  {0x82369d36, 0xea94a1},
+  {0x82369d37, 0xea94a2},
+  {0x82369d38, 0xea94a3},
+  {0x82369d39, 0xea94a4},
+  {0x82369e30, 0xea94a5},
+  {0x82369e31, 0xea94a6},
+  {0x82369e32, 0xea94a7},
+  {0x82369e33, 0xea94a8},
+  {0x82369e34, 0xea94a9},
+  {0x82369e35, 0xea94aa},
+  {0x82369e36, 0xea94ab},
+  {0x82369e37, 0xea94ac},
+  {0x82369e38, 0xea94ad},
+  {0x82369e39, 0xea94ae},
+  {0x82369f30, 0xea94af},
+  {0x82369f31, 0xea94b0},
+  {0x82369f32, 0xea94b1},
+  {0x82369f33, 0xea94b2},
+  {0x82369f34, 0xea94b3},
+  {0x82369f35, 0xea94b4},
+  {0x82369f36, 0xea94b5},
+  {0x82369f37, 0xea94b6},
+  {0x82369f38, 0xea94b7},
+  {0x82369f39, 0xea94b8},
+  {0x8236a030, 0xea94b9},
+  {0x8236a031, 0xea94ba},
+  {0x8236a032, 0xea94bb},
+  {0x8236a033, 0xea94bc},
+  {0x8236a034, 0xea94bd},
+  {0x8236a035, 0xea94be},
+  {0x8236a036, 0xea94bf},
+  {0x8236a037, 0xea9580},
+  {0x8236a038, 0xea9581},
+  {0x8236a039, 0xea9582},
+  {0x8236a130, 0xea9583},
+  {0x8236a131, 0xea9584},
+  {0x8236a132, 0xea9585},
+  {0x8236a133, 0xea9586},
+  {0x8236a134, 0xea9587},
+  {0x8236a135, 0xea9588},
+  {0x8236a136, 0xea9589},
+  {0x8236a137, 0xea958a},
+  {0x8236a138, 0xea958b},
+  {0x8236a139, 0xea958c},
+  {0x8236a230, 0xea958d},
+  {0x8236a231, 0xea958e},
+  {0x8236a232, 0xea958f},
+  {0x8236a233, 0xea9590},
+  {0x8236a234, 0xea9591},
+  {0x8236a235, 0xea9592},
+  {0x8236a236, 0xea9593},
+  {0x8236a237, 0xea9594},
+  {0x8236a238, 0xea9595},
+  {0x8236a239, 0xea9596},
+  {0x8236a330, 0xea9597},
+  {0x8236a331, 0xea9598},
+  {0x8236a332, 0xea9599},
+  {0x8236a333, 0xea959a},
+  {0x8236a334, 0xea959b},
+  {0x8236a335, 0xea959c},
+  {0x8236a336, 0xea959d},
+  {0x8236a337, 0xea959e},
+  {0x8236a338, 0xea959f},
+  {0x8236a339, 0xea95a0},
+  {0x8236a430, 0xea95a1},
+  {0x8236a431, 0xea95a2},
+  {0x8236a432, 0xea95a3},
+  {0x8236a433, 0xea95a4},
+  {0x8236a434, 0xea95a5},
+  {0x8236a435, 0xea95a6},
+  {0x8236a436, 0xea95a7},
+  {0x8236a437, 0xea95a8},
+  {0x8236a438, 0xea95a9},
+  {0x8236a439, 0xea95aa},
+  {0x8236a530, 0xea95ab},
+  {0x8236a531, 0xea95ac},
+  {0x8236a532, 0xea95ad},
+  {0x8236a533, 0xea95ae},
+  {0x8236a534, 0xea95af},
+  {0x8236a535, 0xea95b0},
+  {0x8236a536, 0xea95b1},
+  {0x8236a537, 0xea95b2},
+  {0x8236a538, 0xea95b3},
+  {0x8236a539, 0xea95b4},
+  {0x8236a630, 0xea95b5},
+  {0x8236a631, 0xea95b6},
+  {0x8236a632, 0xea95b7},
+  {0x8236a633, 0xea95b8},
+  {0x8236a634, 0xea95b9},
+  {0x8236a635, 0xea95ba},
+  {0x8236a636, 0xea95bb},
+  {0x8236a637, 0xea95bc},
+  {0x8236a638, 0xea95bd},
+  {0x8236a639, 0xea95be},
+  {0x8236a730, 0xea95bf},
+  {0x8236a731, 0xea9680},
+  {0x8236a732, 0xea9681},
+  {0x8236a733, 0xea9682},
+  {0x8236a734, 0xea9683},
+  {0x8236a735, 0xea9684},
+  {0x8236a736, 0xea9685},
+  {0x8236a737, 0xea9686},
+  {0x8236a738, 0xea9687},
+  {0x8236a739, 0xea9688},
+  {0x8236a830, 0xea9689},
+  {0x8236a831, 0xea968a},
+  {0x8236a832, 0xea968b},
+  {0x8236a833, 0xea968c},
+  {0x8236a834, 0xea968d},
+  {0x8236a835, 0xea968e},
+  {0x8236a836, 0xea968f},
+  {0x8236a837, 0xea9690},
+  {0x8236a838, 0xea9691},
+  {0x8236a839, 0xea9692},
+  {0x8236a930, 0xea9693},
+  {0x8236a931, 0xea9694},
+  {0x8236a932, 0xea9695},
+  {0x8236a933, 0xea9696},
+  {0x8236a934, 0xea9697},
+  {0x8236a935, 0xea9698},
+  {0x8236a936, 0xea9699},
+  {0x8236a937, 0xea969a},
+  {0x8236a938, 0xea969b},
+  {0x8236a939, 0xea969c},
+  {0x8236aa30, 0xea969d},
+  {0x8236aa31, 0xea969e},
+  {0x8236aa32, 0xea969f},
+  {0x8236aa33, 0xea96a0},
+  {0x8236aa34, 0xea96a1},
+  {0x8236aa35, 0xea96a2},
+  {0x8236aa36, 0xea96a3},
+  {0x8236aa37, 0xea96a4},
+  {0x8236aa38, 0xea96a5},
+  {0x8236aa39, 0xea96a6},
+  {0x8236ab30, 0xea96a7},
+  {0x8236ab31, 0xea96a8},
+  {0x8236ab32, 0xea96a9},
+  {0x8236ab33, 0xea96aa},
+  {0x8236ab34, 0xea96ab},
+  {0x8236ab35, 0xea96ac},
+  {0x8236ab36, 0xea96ad},
+  {0x8236ab37, 0xea96ae},
+  {0x8236ab38, 0xea96af},
+  {0x8236ab39, 0xea96b0},
+  {0x8236ac30, 0xea96b1},
+  {0x8236ac31, 0xea96b2},
+  {0x8236ac32, 0xea96b3},
+  {0x8236ac33, 0xea96b4},
+  {0x8236ac34, 0xea96b5},
+  {0x8236ac35, 0xea96b6},
+  {0x8236ac36, 0xea96b7},
+  {0x8236ac37, 0xea96b8},
+  {0x8236ac38, 0xea96b9},
+  {0x8236ac39, 0xea96ba},
+  {0x8236ad30, 0xea96bb},
+  {0x8236ad31, 0xea96bc},
+  {0x8236ad32, 0xea96bd},
+  {0x8236ad33, 0xea96be},
+  {0x8236ad34, 0xea96bf},
+  {0x8236ad35, 0xea9780},
+  {0x8236ad36, 0xea9781},
+  {0x8236ad37, 0xea9782},
+  {0x8236ad38, 0xea9783},
+  {0x8236ad39, 0xea9784},
+  {0x8236ae30, 0xea9785},
+  {0x8236ae31, 0xea9786},
+  {0x8236ae32, 0xea9787},
+  {0x8236ae33, 0xea9788},
+  {0x8236ae34, 0xea9789},
+  {0x8236ae35, 0xea978a},
+  {0x8236ae36, 0xea978b},
+  {0x8236ae37, 0xea978c},
+  {0x8236ae38, 0xea978d},
+  {0x8236ae39, 0xea978e},
+  {0x8236af30, 0xea978f},
+  {0x8236af31, 0xea9790},
+  {0x8236af32, 0xea9791},
+  {0x8236af33, 0xea9792},
+  {0x8236af34, 0xea9793},
+  {0x8236af35, 0xea9794},
+  {0x8236af36, 0xea9795},
+  {0x8236af37, 0xea9796},
+  {0x8236af38, 0xea9797},
+  {0x8236af39, 0xea9798},
+  {0x8236b030, 0xea9799},
+  {0x8236b031, 0xea979a},
+  {0x8236b032, 0xea979b},
+  {0x8236b033, 0xea979c},
+  {0x8236b034, 0xea979d},
+  {0x8236b035, 0xea979e},
+  {0x8236b036, 0xea979f},
+  {0x8236b037, 0xea97a0},
+  {0x8236b038, 0xea97a1},
+  {0x8236b039, 0xea97a2},
+  {0x8236b130, 0xea97a3},
+  {0x8236b131, 0xea97a4},
+  {0x8236b132, 0xea97a5},
+  {0x8236b133, 0xea97a6},
+  {0x8236b134, 0xea97a7},
+  {0x8236b135, 0xea97a8},
+  {0x8236b136, 0xea97a9},
+  {0x8236b137, 0xea97aa},
+  {0x8236b138, 0xea97ab},
+  {0x8236b139, 0xea97ac},
+  {0x8236b230, 0xea97ad},
+  {0x8236b231, 0xea97ae},
+  {0x8236b232, 0xea97af},
+  {0x8236b233, 0xea97b0},
+  {0x8236b234, 0xea97b1},
+  {0x8236b235, 0xea97b2},
+  {0x8236b236, 0xea97b3},
+  {0x8236b237, 0xea97b4},
+  {0x8236b238, 0xea97b5},
+  {0x8236b239, 0xea97b6},
+  {0x8236b330, 0xea97b7},
+  {0x8236b331, 0xea97b8},
+  {0x8236b332, 0xea97b9},
+  {0x8236b333, 0xea97ba},
+  {0x8236b334, 0xea97bb},
+  {0x8236b335, 0xea97bc},
+  {0x8236b336, 0xea97bd},
+  {0x8236b337, 0xea97be},
+  {0x8236b338, 0xea97bf},
+  {0x8236b339, 0xea9880},
+  {0x8236b430, 0xea9881},
+  {0x8236b431, 0xea9882},
+  {0x8236b432, 0xea9883},
+  {0x8236b433, 0xea9884},
+  {0x8236b434, 0xea9885},
+  {0x8236b435, 0xea9886},
+  {0x8236b436, 0xea9887},
+  {0x8236b437, 0xea9888},
+  {0x8236b438, 0xea9889},
+  {0x8236b439, 0xea988a},
+  {0x8236b530, 0xea988b},
+  {0x8236b531, 0xea988c},
+  {0x8236b532, 0xea988d},
+  {0x8236b533, 0xea988e},
+  {0x8236b534, 0xea988f},
+  {0x8236b535, 0xea9890},
+  {0x8236b536, 0xea9891},
+  {0x8236b537, 0xea9892},
+  {0x8236b538, 0xea9893},
+  {0x8236b539, 0xea9894},
+  {0x8236b630, 0xea9895},
+  {0x8236b631, 0xea9896},
+  {0x8236b632, 0xea9897},
+  {0x8236b633, 0xea9898},
+  {0x8236b634, 0xea9899},
+  {0x8236b635, 0xea989a},
+  {0x8236b636, 0xea989b},
+  {0x8236b637, 0xea989c},
+  {0x8236b638, 0xea989d},
+  {0x8236b639, 0xea989e},
+  {0x8236b730, 0xea989f},
+  {0x8236b731, 0xea98a0},
+  {0x8236b732, 0xea98a1},
+  {0x8236b733, 0xea98a2},
+  {0x8236b734, 0xea98a3},
+  {0x8236b735, 0xea98a4},
+  {0x8236b736, 0xea98a5},
+  {0x8236b737, 0xea98a6},
+  {0x8236b738, 0xea98a7},
+  {0x8236b739, 0xea98a8},
+  {0x8236b830, 0xea98a9},
+  {0x8236b831, 0xea98aa},
+  {0x8236b832, 0xea98ab},
+  {0x8236b833, 0xea98ac},
+  {0x8236b834, 0xea98ad},
+  {0x8236b835, 0xea98ae},
+  {0x8236b836, 0xea98af},
+  {0x8236b837, 0xea98b0},
+  {0x8236b838, 0xea98b1},
+  {0x8236b839, 0xea98b2},
+  {0x8236b930, 0xea98b3},
+  {0x8236b931, 0xea98b4},
+  {0x8236b932, 0xea98b5},
+  {0x8236b933, 0xea98b6},
+  {0x8236b934, 0xea98b7},
+  {0x8236b935, 0xea98b8},
+  {0x8236b936, 0xea98b9},
+  {0x8236b937, 0xea98ba},
+  {0x8236b938, 0xea98bb},
+  {0x8236b939, 0xea98bc},
+  {0x8236ba30, 0xea98bd},
+  {0x8236ba31, 0xea98be},
+  {0x8236ba32, 0xea98bf},
+  {0x8236ba33, 0xea9980},
+  {0x8236ba34, 0xea9981},
+  {0x8236ba35, 0xea9982},
+  {0x8236ba36, 0xea9983},
+  {0x8236ba37, 0xea9984},
+  {0x8236ba38, 0xea9985},
+  {0x8236ba39, 0xea9986},
+  {0x8236bb30, 0xea9987},
+  {0x8236bb31, 0xea9988},
+  {0x8236bb32, 0xea9989},
+  {0x8236bb33, 0xea998a},
+  {0x8236bb34, 0xea998b},
+  {0x8236bb35, 0xea998c},
+  {0x8236bb36, 0xea998d},
+  {0x8236bb37, 0xea998e},
+  {0x8236bb38, 0xea998f},
+  {0x8236bb39, 0xea9990},
+  {0x8236bc30, 0xea9991},
+  {0x8236bc31, 0xea9992},
+  {0x8236bc32, 0xea9993},
+  {0x8236bc33, 0xea9994},
+  {0x8236bc34, 0xea9995},
+  {0x8236bc35, 0xea9996},
+  {0x8236bc36, 0xea9997},
+  {0x8236bc37, 0xea9998},
+  {0x8236bc38, 0xea9999},
+  {0x8236bc39, 0xea999a},
+  {0x8236bd30, 0xea999b},
+  {0x8236bd31, 0xea999c},
+  {0x8236bd32, 0xea999d},
+  {0x8236bd33, 0xea999e},
+  {0x8236bd34, 0xea999f},
+  {0x8236bd35, 0xea99a0},
+  {0x8236bd36, 0xea99a1},
+  {0x8236bd37, 0xea99a2},
+  {0x8236bd38, 0xea99a3},
+  {0x8236bd39, 0xea99a4},
+  {0x8236be30, 0xea99a5},
+  {0x8236be31, 0xea99a6},
+  {0x8236be32, 0xea99a7},
+  {0x8236be33, 0xea99a8},
+  {0x8236be34, 0xea99a9},
+  {0x8236be35, 0xea99aa},
+  {0x8236be36, 0xea99ab},
+  {0x8236be37, 0xea99ac},
+  {0x8236be38, 0xea99ad},
+  {0x8236be39, 0xea99ae},
+  {0x8236bf30, 0xea99af},
+  {0x8236bf31, 0xea99b0},
+  {0x8236bf32, 0xea99b1},
+  {0x8236bf33, 0xea99b2},
+  {0x8236bf34, 0xea99b3},
+  {0x8236bf35, 0xea99b4},
+  {0x8236bf36, 0xea99b5},
+  {0x8236bf37, 0xea99b6},
+  {0x8236bf38, 0xea99b7},
+  {0x8236bf39, 0xea99b8},
+  {0x8236c030, 0xea99b9},
+  {0x8236c031, 0xea99ba},
+  {0x8236c032, 0xea99bb},
+  {0x8236c033, 0xea99bc},
+  {0x8236c034, 0xea99bd},
+  {0x8236c035, 0xea99be},
+  {0x8236c036, 0xea99bf},
+  {0x8236c037, 0xea9a80},
+  {0x8236c038, 0xea9a81},
+  {0x8236c039, 0xea9a82},
+  {0x8236c130, 0xea9a83},
+  {0x8236c131, 0xea9a84},
+  {0x8236c132, 0xea9a85},
+  {0x8236c133, 0xea9a86},
+  {0x8236c134, 0xea9a87},
+  {0x8236c135, 0xea9a88},
+  {0x8236c136, 0xea9a89},
+  {0x8236c137, 0xea9a8a},
+  {0x8236c138, 0xea9a8b},
+  {0x8236c139, 0xea9a8c},
+  {0x8236c230, 0xea9a8d},
+  {0x8236c231, 0xea9a8e},
+  {0x8236c232, 0xea9a8f},
+  {0x8236c233, 0xea9a90},
+  {0x8236c234, 0xea9a91},
+  {0x8236c235, 0xea9a92},
+  {0x8236c236, 0xea9a93},
+  {0x8236c237, 0xea9a94},
+  {0x8236c238, 0xea9a95},
+  {0x8236c239, 0xea9a96},
+  {0x8236c330, 0xea9a97},
+  {0x8236c331, 0xea9a98},
+  {0x8236c332, 0xea9a99},
+  {0x8236c333, 0xea9a9a},
+  {0x8236c334, 0xea9a9b},
+  {0x8236c335, 0xea9a9c},
+  {0x8236c336, 0xea9a9d},
+  {0x8236c337, 0xea9a9e},
+  {0x8236c338, 0xea9a9f},
+  {0x8236c339, 0xea9aa0},
+  {0x8236c430, 0xea9aa1},
+  {0x8236c431, 0xea9aa2},
+  {0x8236c432, 0xea9aa3},
+  {0x8236c433, 0xea9aa4},
+  {0x8236c434, 0xea9aa5},
+  {0x8236c435, 0xea9aa6},
+  {0x8236c436, 0xea9aa7},
+  {0x8236c437, 0xea9aa8},
+  {0x8236c438, 0xea9aa9},
+  {0x8236c439, 0xea9aaa},
+  {0x8236c530, 0xea9aab},
+  {0x8236c531, 0xea9aac},
+  {0x8236c532, 0xea9aad},
+  {0x8236c533, 0xea9aae},
+  {0x8236c534, 0xea9aaf},
+  {0x8236c535, 0xea9ab0},
+  {0x8236c536, 0xea9ab1},
+  {0x8236c537, 0xea9ab2},
+  {0x8236c538, 0xea9ab3},
+  {0x8236c539, 0xea9ab4},
+  {0x8236c630, 0xea9ab5},
+  {0x8236c631, 0xea9ab6},
+  {0x8236c632, 0xea9ab7},
+  {0x8236c633, 0xea9ab8},
+  {0x8236c634, 0xea9ab9},
+  {0x8236c635, 0xea9aba},
+  {0x8236c636, 0xea9abb},
+  {0x8236c637, 0xea9abc},
+  {0x8236c638, 0xea9abd},
+  {0x8236c639, 0xea9abe},
+  {0x8236c730, 0xea9abf},
+  {0x8236c731, 0xea9b80},
+  {0x8236c732, 0xea9b81},
+  {0x8236c733, 0xea9b82},
+  {0x8236c734, 0xea9b83},
+  {0x8236c735, 0xea9b84},
+  {0x8236c736, 0xea9b85},
+  {0x8236c737, 0xea9b86},
+  {0x8236c738, 0xea9b87},
+  {0x8236c739, 0xea9b88},
+  {0x8236c830, 0xea9b89},
+  {0x8236c831, 0xea9b8a},
+  {0x8236c832, 0xea9b8b},
+  {0x8236c833, 0xea9b8c},
+  {0x8236c834, 0xea9b8d},
+  {0x8236c835, 0xea9b8e},
+  {0x8236c836, 0xea9b8f},
+  {0x8236c837, 0xea9b90},
+  {0x8236c838, 0xea9b91},
+  {0x8236c839, 0xea9b92},
+  {0x8236c930, 0xea9b93},
+  {0x8236c931, 0xea9b94},
+  {0x8236c932, 0xea9b95},
+  {0x8236c933, 0xea9b96},
+  {0x8236c934, 0xea9b97},
+  {0x8236c935, 0xea9b98},
+  {0x8236c936, 0xea9b99},
+  {0x8236c937, 0xea9b9a},
+  {0x8236c938, 0xea9b9b},
+  {0x8236c939, 0xea9b9c},
+  {0x8236ca30, 0xea9b9d},
+  {0x8236ca31, 0xea9b9e},
+  {0x8236ca32, 0xea9b9f},
+  {0x8236ca33, 0xea9ba0},
+  {0x8236ca34, 0xea9ba1},
+  {0x8236ca35, 0xea9ba2},
+  {0x8236ca36, 0xea9ba3},
+  {0x8236ca37, 0xea9ba4},
+  {0x8236ca38, 0xea9ba5},
+  {0x8236ca39, 0xea9ba6},
+  {0x8236cb30, 0xea9ba7},
+  {0x8236cb31, 0xea9ba8},
+  {0x8236cb32, 0xea9ba9},
+  {0x8236cb33, 0xea9baa},
+  {0x8236cb34, 0xea9bab},
+  {0x8236cb35, 0xea9bac},
+  {0x8236cb36, 0xea9bad},
+  {0x8236cb37, 0xea9bae},
+  {0x8236cb38, 0xea9baf},
+  {0x8236cb39, 0xea9bb0},
+  {0x8236cc30, 0xea9bb1},
+  {0x8236cc31, 0xea9bb2},
+  {0x8236cc32, 0xea9bb3},
+  {0x8236cc33, 0xea9bb4},
+  {0x8236cc34, 0xea9bb5},
+  {0x8236cc35, 0xea9bb6},
+  {0x8236cc36, 0xea9bb7},
+  {0x8236cc37, 0xea9bb8},
+  {0x8236cc38, 0xea9bb9},
+  {0x8236cc39, 0xea9bba},
+  {0x8236cd30, 0xea9bbb},
+  {0x8236cd31, 0xea9bbc},
+  {0x8236cd32, 0xea9bbd},
+  {0x8236cd33, 0xea9bbe},
+  {0x8236cd34, 0xea9bbf},
+  {0x8236cd35, 0xea9c80},
+  {0x8236cd36, 0xea9c81},
+  {0x8236cd37, 0xea9c82},
+  {0x8236cd38, 0xea9c83},
+  {0x8236cd39, 0xea9c84},
+  {0x8236ce30, 0xea9c85},
+  {0x8236ce31, 0xea9c86},
+  {0x8236ce32, 0xea9c87},
+  {0x8236ce33, 0xea9c88},
+  {0x8236ce34, 0xea9c89},
+  {0x8236ce35, 0xea9c8a},
+  {0x8236ce36, 0xea9c8b},
+  {0x8236ce37, 0xea9c8c},
+  {0x8236ce38, 0xea9c8d},
+  {0x8236ce39, 0xea9c8e},
+  {0x8236cf30, 0xea9c8f},
+  {0x8236cf31, 0xea9c90},
+  {0x8236cf32, 0xea9c91},
+  {0x8236cf33, 0xea9c92},
+  {0x8236cf34, 0xea9c93},
+  {0x8236cf35, 0xea9c94},
+  {0x8236cf36, 0xea9c95},
+  {0x8236cf37, 0xea9c96},
+  {0x8236cf38, 0xea9c97},
+  {0x8236cf39, 0xea9c98},
+  {0x8236d030, 0xea9c99},
+  {0x8236d031, 0xea9c9a},
+  {0x8236d032, 0xea9c9b},
+  {0x8236d033, 0xea9c9c},
+  {0x8236d034, 0xea9c9d},
+  {0x8236d035, 0xea9c9e},
+  {0x8236d036, 0xea9c9f},
+  {0x8236d037, 0xea9ca0},
+  {0x8236d038, 0xea9ca1},
+  {0x8236d039, 0xea9ca2},
+  {0x8236d130, 0xea9ca3},
+  {0x8236d131, 0xea9ca4},
+  {0x8236d132, 0xea9ca5},
+  {0x8236d133, 0xea9ca6},
+  {0x8236d134, 0xea9ca7},
+  {0x8236d135, 0xea9ca8},
+  {0x8236d136, 0xea9ca9},
+  {0x8236d137, 0xea9caa},
+  {0x8236d138, 0xea9cab},
+  {0x8236d139, 0xea9cac},
+  {0x8236d230, 0xea9cad},
+  {0x8236d231, 0xea9cae},
+  {0x8236d232, 0xea9caf},
+  {0x8236d233, 0xea9cb0},
+  {0x8236d234, 0xea9cb1},
+  {0x8236d235, 0xea9cb2},
+  {0x8236d236, 0xea9cb3},
+  {0x8236d237, 0xea9cb4},
+  {0x8236d238, 0xea9cb5},
+  {0x8236d239, 0xea9cb6},
+  {0x8236d330, 0xea9cb7},
+  {0x8236d331, 0xea9cb8},
+  {0x8236d332, 0xea9cb9},
+  {0x8236d333, 0xea9cba},
+  {0x8236d334, 0xea9cbb},
+  {0x8236d335, 0xea9cbc},
+  {0x8236d336, 0xea9cbd},
+  {0x8236d337, 0xea9cbe},
+  {0x8236d338, 0xea9cbf},
+  {0x8236d339, 0xea9d80},
+  {0x8236d430, 0xea9d81},
+  {0x8236d431, 0xea9d82},
+  {0x8236d432, 0xea9d83},
+  {0x8236d433, 0xea9d84},
+  {0x8236d434, 0xea9d85},
+  {0x8236d435, 0xea9d86},
+  {0x8236d436, 0xea9d87},
+  {0x8236d437, 0xea9d88},
+  {0x8236d438, 0xea9d89},
+  {0x8236d439, 0xea9d8a},
+  {0x8236d530, 0xea9d8b},
+  {0x8236d531, 0xea9d8c},
+  {0x8236d532, 0xea9d8d},
+  {0x8236d533, 0xea9d8e},
+  {0x8236d534, 0xea9d8f},
+  {0x8236d535, 0xea9d90},
+  {0x8236d536, 0xea9d91},
+  {0x8236d537, 0xea9d92},
+  {0x8236d538, 0xea9d93},
+  {0x8236d539, 0xea9d94},
+  {0x8236d630, 0xea9d95},
+  {0x8236d631, 0xea9d96},
+  {0x8236d632, 0xea9d97},
+  {0x8236d633, 0xea9d98},
+  {0x8236d634, 0xea9d99},
+  {0x8236d635, 0xea9d9a},
+  {0x8236d636, 0xea9d9b},
+  {0x8236d637, 0xea9d9c},
+  {0x8236d638, 0xea9d9d},
+  {0x8236d639, 0xea9d9e},
+  {0x8236d730, 0xea9d9f},
+  {0x8236d731, 0xea9da0},
+  {0x8236d732, 0xea9da1},
+  {0x8236d733, 0xea9da2},
+  {0x8236d734, 0xea9da3},
+  {0x8236d735, 0xea9da4},
+  {0x8236d736, 0xea9da5},
+  {0x8236d737, 0xea9da6},
+  {0x8236d738, 0xea9da7},
+  {0x8236d739, 0xea9da8},
+  {0x8236d830, 0xea9da9},
+  {0x8236d831, 0xea9daa},
+  {0x8236d832, 0xea9dab},
+  {0x8236d833, 0xea9dac},
+  {0x8236d834, 0xea9dad},
+  {0x8236d835, 0xea9dae},
+  {0x8236d836, 0xea9daf},
+  {0x8236d837, 0xea9db0},
+  {0x8236d838, 0xea9db1},
+  {0x8236d839, 0xea9db2},
+  {0x8236d930, 0xea9db3},
+  {0x8236d931, 0xea9db4},
+  {0x8236d932, 0xea9db5},
+  {0x8236d933, 0xea9db6},
+  {0x8236d934, 0xea9db7},
+  {0x8236d935, 0xea9db8},
+  {0x8236d936, 0xea9db9},
+  {0x8236d937, 0xea9dba},
+  {0x8236d938, 0xea9dbb},
+  {0x8236d939, 0xea9dbc},
+  {0x8236da30, 0xea9dbd},
+  {0x8236da31, 0xea9dbe},
+  {0x8236da32, 0xea9dbf},
+  {0x8236da33, 0xea9e80},
+  {0x8236da34, 0xea9e81},
+  {0x8236da35, 0xea9e82},
+  {0x8236da36, 0xea9e83},
+  {0x8236da37, 0xea9e84},
+  {0x8236da38, 0xea9e85},
+  {0x8236da39, 0xea9e86},
+  {0x8236db30, 0xea9e87},
+  {0x8236db31, 0xea9e88},
+  {0x8236db32, 0xea9e89},
+  {0x8236db33, 0xea9e8a},
+  {0x8236db34, 0xea9e8b},
+  {0x8236db35, 0xea9e8c},
+  {0x8236db36, 0xea9e8d},
+  {0x8236db37, 0xea9e8e},
+  {0x8236db38, 0xea9e8f},
+  {0x8236db39, 0xea9e90},
+  {0x8236dc30, 0xea9e91},
+  {0x8236dc31, 0xea9e92},
+  {0x8236dc32, 0xea9e93},
+  {0x8236dc33, 0xea9e94},
+  {0x8236dc34, 0xea9e95},
+  {0x8236dc35, 0xea9e96},
+  {0x8236dc36, 0xea9e97},
+  {0x8236dc37, 0xea9e98},
+  {0x8236dc38, 0xea9e99},
+  {0x8236dc39, 0xea9e9a},
+  {0x8236dd30, 0xea9e9b},
+  {0x8236dd31, 0xea9e9c},
+  {0x8236dd32, 0xea9e9d},
+  {0x8236dd33, 0xea9e9e},
+  {0x8236dd34, 0xea9e9f},
+  {0x8236dd35, 0xea9ea0},
+  {0x8236dd36, 0xea9ea1},
+  {0x8236dd37, 0xea9ea2},
+  {0x8236dd38, 0xea9ea3},
+  {0x8236dd39, 0xea9ea4},
+  {0x8236de30, 0xea9ea5},
+  {0x8236de31, 0xea9ea6},
+  {0x8236de32, 0xea9ea7},
+  {0x8236de33, 0xea9ea8},
+  {0x8236de34, 0xea9ea9},
+  {0x8236de35, 0xea9eaa},
+  {0x8236de36, 0xea9eab},
+  {0x8236de37, 0xea9eac},
+  {0x8236de38, 0xea9ead},
+  {0x8236de39, 0xea9eae},
+  {0x8236df30, 0xea9eaf},
+  {0x8236df31, 0xea9eb0},
+  {0x8236df32, 0xea9eb1},
+  {0x8236df33, 0xea9eb2},
+  {0x8236df34, 0xea9eb3},
+  {0x8236df35, 0xea9eb4},
+  {0x8236df36, 0xea9eb5},
+  {0x8236df37, 0xea9eb6},
+  {0x8236df38, 0xea9eb7},
+  {0x8236df39, 0xea9eb8},
+  {0x8236e030, 0xea9eb9},
+  {0x8236e031, 0xea9eba},
+  {0x8236e032, 0xea9ebb},
+  {0x8236e033, 0xea9ebc},
+  {0x8236e034, 0xea9ebd},
+  {0x8236e035, 0xea9ebe},
+  {0x8236e036, 0xea9ebf},
+  {0x8236e037, 0xea9f80},
+  {0x8236e038, 0xea9f81},
+  {0x8236e039, 0xea9f82},
+  {0x8236e130, 0xea9f83},
+  {0x8236e131, 0xea9f84},
+  {0x8236e132, 0xea9f85},
+  {0x8236e133, 0xea9f86},
+  {0x8236e134, 0xea9f87},
+  {0x8236e135, 0xea9f88},
+  {0x8236e136, 0xea9f89},
+  {0x8236e137, 0xea9f8a},
+  {0x8236e138, 0xea9f8b},
+  {0x8236e139, 0xea9f8c},
+  {0x8236e230, 0xea9f8d},
+  {0x8236e231, 0xea9f8e},
+  {0x8236e232, 0xea9f8f},
+  {0x8236e233, 0xea9f90},
+  {0x8236e234, 0xea9f91},
+  {0x8236e235, 0xea9f92},
+  {0x8236e236, 0xea9f93},
+  {0x8236e237, 0xea9f94},
+  {0x8236e238, 0xea9f95},
+  {0x8236e239, 0xea9f96},
+  {0x8236e330, 0xea9f97},
+  {0x8236e331, 0xea9f98},
+  {0x8236e332, 0xea9f99},
+  {0x8236e333, 0xea9f9a},
+  {0x8236e334, 0xea9f9b},
+  {0x8236e335, 0xea9f9c},
+  {0x8236e336, 0xea9f9d},
+  {0x8236e337, 0xea9f9e},
+  {0x8236e338, 0xea9f9f},
+  {0x8236e339, 0xea9fa0},
+  {0x8236e430, 0xea9fa1},
+  {0x8236e431, 0xea9fa2},
+  {0x8236e432, 0xea9fa3},
+  {0x8236e433, 0xea9fa4},
+  {0x8236e434, 0xea9fa5},
+  {0x8236e435, 0xea9fa6},
+  {0x8236e436, 0xea9fa7},
+  {0x8236e437, 0xea9fa8},
+  {0x8236e438, 0xea9fa9},
+  {0x8236e439, 0xea9faa},
+  {0x8236e530, 0xea9fab},
+  {0x8236e531, 0xea9fac},
+  {0x8236e532, 0xea9fad},
+  {0x8236e533, 0xea9fae},
+  {0x8236e534, 0xea9faf},
+  {0x8236e535, 0xea9fb0},
+  {0x8236e536, 0xea9fb1},
+  {0x8236e537, 0xea9fb2},
+  {0x8236e538, 0xea9fb3},
+  {0x8236e539, 0xea9fb4},
+  {0x8236e630, 0xea9fb5},
+  {0x8236e631, 0xea9fb6},
+  {0x8236e632, 0xea9fb7},
+  {0x8236e633, 0xea9fb8},
+  {0x8236e634, 0xea9fb9},
+  {0x8236e635, 0xea9fba},
+  {0x8236e636, 0xea9fbb},
+  {0x8236e637, 0xea9fbc},
+  {0x8236e638, 0xea9fbd},
+  {0x8236e639, 0xea9fbe},
+  {0x8236e730, 0xea9fbf},
+  {0x8236e731, 0xeaa080},
+  {0x8236e732, 0xeaa081},
+  {0x8236e733, 0xeaa082},
+  {0x8236e734, 0xeaa083},
+  {0x8236e735, 0xeaa084},
+  {0x8236e736, 0xeaa085},
+  {0x8236e737, 0xeaa086},
+  {0x8236e738, 0xeaa087},
+  {0x8236e739, 0xeaa088},
+  {0x8236e830, 0xeaa089},
+  {0x8236e831, 0xeaa08a},
+  {0x8236e832, 0xeaa08b},
+  {0x8236e833, 0xeaa08c},
+  {0x8236e834, 0xeaa08d},
+  {0x8236e835, 0xeaa08e},
+  {0x8236e836, 0xeaa08f},
+  {0x8236e837, 0xeaa090},
+  {0x8236e838, 0xeaa091},
+  {0x8236e839, 0xeaa092},
+  {0x8236e930, 0xeaa093},
+  {0x8236e931, 0xeaa094},
+  {0x8236e932, 0xeaa095},
+  {0x8236e933, 0xeaa096},
+  {0x8236e934, 0xeaa097},
+  {0x8236e935, 0xeaa098},
+  {0x8236e936, 0xeaa099},
+  {0x8236e937, 0xeaa09a},
+  {0x8236e938, 0xeaa09b},
+  {0x8236e939, 0xeaa09c},
+  {0x8236ea30, 0xeaa09d},
+  {0x8236ea31, 0xeaa09e},
+  {0x8236ea32, 0xeaa09f},
+  {0x8236ea33, 0xeaa0a0},
+  {0x8236ea34, 0xeaa0a1},
+  {0x8236ea35, 0xeaa0a2},
+  {0x8236ea36, 0xeaa0a3},
+  {0x8236ea37, 0xeaa0a4},
+  {0x8236ea38, 0xeaa0a5},
+  {0x8236ea39, 0xeaa0a6},
+  {0x8236eb30, 0xeaa0a7},
+  {0x8236eb31, 0xeaa0a8},
+  {0x8236eb32, 0xeaa0a9},
+  {0x8236eb33, 0xeaa0aa},
+  {0x8236eb34, 0xeaa0ab},
+  {0x8236eb35, 0xeaa0ac},
+  {0x8236eb36, 0xeaa0ad},
+  {0x8236eb37, 0xeaa0ae},
+  {0x8236eb38, 0xeaa0af},
+  {0x8236eb39, 0xeaa0b0},
+  {0x8236ec30, 0xeaa0b1},
+  {0x8236ec31, 0xeaa0b2},
+  {0x8236ec32, 0xeaa0b3},
+  {0x8236ec33, 0xeaa0b4},
+  {0x8236ec34, 0xeaa0b5},
+  {0x8236ec35, 0xeaa0b6},
+  {0x8236ec36, 0xeaa0b7},
+  {0x8236ec37, 0xeaa0b8},
+  {0x8236ec38, 0xeaa0b9},
+  {0x8236ec39, 0xeaa0ba},
+  {0x8236ed30, 0xeaa0bb},
+  {0x8236ed31, 0xeaa0bc},
+  {0x8236ed32, 0xeaa0bd},
+  {0x8236ed33, 0xeaa0be},
+  {0x8236ed34, 0xeaa0bf},
+  {0x8236ed35, 0xeaa180},
+  {0x8236ed36, 0xeaa181},
+  {0x8236ed37, 0xeaa182},
+  {0x8236ed38, 0xeaa183},
+  {0x8236ed39, 0xeaa184},
+  {0x8236ee30, 0xeaa185},
+  {0x8236ee31, 0xeaa186},
+  {0x8236ee32, 0xeaa187},
+  {0x8236ee33, 0xeaa188},
+  {0x8236ee34, 0xeaa189},
+  {0x8236ee35, 0xeaa18a},
+  {0x8236ee36, 0xeaa18b},
+  {0x8236ee37, 0xeaa18c},
+  {0x8236ee38, 0xeaa18d},
+  {0x8236ee39, 0xeaa18e},
+  {0x8236ef30, 0xeaa18f},
+  {0x8236ef31, 0xeaa190},
+  {0x8236ef32, 0xeaa191},
+  {0x8236ef33, 0xeaa192},
+  {0x8236ef34, 0xeaa193},
+  {0x8236ef35, 0xeaa194},
+  {0x8236ef36, 0xeaa195},
+  {0x8236ef37, 0xeaa196},
+  {0x8236ef38, 0xeaa197},
+  {0x8236ef39, 0xeaa198},
+  {0x8236f030, 0xeaa199},
+  {0x8236f031, 0xeaa19a},
+  {0x8236f032, 0xeaa19b},
+  {0x8236f033, 0xeaa19c},
+  {0x8236f034, 0xeaa19d},
+  {0x8236f035, 0xeaa19e},
+  {0x8236f036, 0xeaa19f},
+  {0x8236f037, 0xeaa1a0},
+  {0x8236f038, 0xeaa1a1},
+  {0x8236f039, 0xeaa1a2},
+  {0x8236f130, 0xeaa1a3},
+  {0x8236f131, 0xeaa1a4},
+  {0x8236f132, 0xeaa1a5},
+  {0x8236f133, 0xeaa1a6},
+  {0x8236f134, 0xeaa1a7},
+  {0x8236f135, 0xeaa1a8},
+  {0x8236f136, 0xeaa1a9},
+  {0x8236f137, 0xeaa1aa},
+  {0x8236f138, 0xeaa1ab},
+  {0x8236f139, 0xeaa1ac},
+  {0x8236f230, 0xeaa1ad},
+  {0x8236f231, 0xeaa1ae},
+  {0x8236f232, 0xeaa1af},
+  {0x8236f233, 0xeaa1b0},
+  {0x8236f234, 0xeaa1b1},
+  {0x8236f235, 0xeaa1b2},
+  {0x8236f236, 0xeaa1b3},
+  {0x8236f237, 0xeaa1b4},
+  {0x8236f238, 0xeaa1b5},
+  {0x8236f239, 0xeaa1b6},
+  {0x8236f330, 0xeaa1b7},
+  {0x8236f331, 0xeaa1b8},
+  {0x8236f332, 0xeaa1b9},
+  {0x8236f333, 0xeaa1ba},
+  {0x8236f334, 0xeaa1bb},
+  {0x8236f335, 0xeaa1bc},
+  {0x8236f336, 0xeaa1bd},
+  {0x8236f337, 0xeaa1be},
+  {0x8236f338, 0xeaa1bf},
+  {0x8236f339, 0xeaa280},
+  {0x8236f430, 0xeaa281},
+  {0x8236f431, 0xeaa282},
+  {0x8236f432, 0xeaa283},
+  {0x8236f433, 0xeaa284},
+  {0x8236f434, 0xeaa285},
+  {0x8236f435, 0xeaa286},
+  {0x8236f436, 0xeaa287},
+  {0x8236f437, 0xeaa288},
+  {0x8236f438, 0xeaa289},
+  {0x8236f439, 0xeaa28a},
+  {0x8236f530, 0xeaa28b},
+  {0x8236f531, 0xeaa28c},
+  {0x8236f532, 0xeaa28d},
+  {0x8236f533, 0xeaa28e},
+  {0x8236f534, 0xeaa28f},
+  {0x8236f535, 0xeaa290},
+  {0x8236f536, 0xeaa291},
+  {0x8236f537, 0xeaa292},
+  {0x8236f538, 0xeaa293},
+  {0x8236f539, 0xeaa294},
+  {0x8236f630, 0xeaa295},
+  {0x8236f631, 0xeaa296},
+  {0x8236f632, 0xeaa297},
+  {0x8236f633, 0xeaa298},
+  {0x8236f634, 0xeaa299},
+  {0x8236f635, 0xeaa29a},
+  {0x8236f636, 0xeaa29b},
+  {0x8236f637, 0xeaa29c},
+  {0x8236f638, 0xeaa29d},
+  {0x8236f639, 0xeaa29e},
+  {0x8236f730, 0xeaa29f},
+  {0x8236f731, 0xeaa2a0},
+  {0x8236f732, 0xeaa2a1},
+  {0x8236f733, 0xeaa2a2},
+  {0x8236f734, 0xeaa2a3},
+  {0x8236f735, 0xeaa2a4},
+  {0x8236f736, 0xeaa2a5},
+  {0x8236f737, 0xeaa2a6},
+  {0x8236f738, 0xeaa2a7},
+  {0x8236f739, 0xeaa2a8},
+  {0x8236f830, 0xeaa2a9},
+  {0x8236f831, 0xeaa2aa},
+  {0x8236f832, 0xeaa2ab},
+  {0x8236f833, 0xeaa2ac},
+  {0x8236f834, 0xeaa2ad},
+  {0x8236f835, 0xeaa2ae},
+  {0x8236f836, 0xeaa2af},
+  {0x8236f837, 0xeaa2b0},
+  {0x8236f838, 0xeaa2b1},
+  {0x8236f839, 0xeaa2b2},
+  {0x8236f930, 0xeaa2b3},
+  {0x8236f931, 0xeaa2b4},
+  {0x8236f932, 0xeaa2b5},
+  {0x8236f933, 0xeaa2b6},
+  {0x8236f934, 0xeaa2b7},
+  {0x8236f935, 0xeaa2b8},
+  {0x8236f936, 0xeaa2b9},
+  {0x8236f937, 0xeaa2ba},
+  {0x8236f938, 0xeaa2bb},
+  {0x8236f939, 0xeaa2bc},
+  {0x8236fa30, 0xeaa2bd},
+  {0x8236fa31, 0xeaa2be},
+  {0x8236fa32, 0xeaa2bf},
+  {0x8236fa33, 0xeaa380},
+  {0x8236fa34, 0xeaa381},
+  {0x8236fa35, 0xeaa382},
+  {0x8236fa36, 0xeaa383},
+  {0x8236fa37, 0xeaa384},
+  {0x8236fa38, 0xeaa385},
+  {0x8236fa39, 0xeaa386},
+  {0x8236fb30, 0xeaa387},
+  {0x8236fb31, 0xeaa388},
+  {0x8236fb32, 0xeaa389},
+  {0x8236fb33, 0xeaa38a},
+  {0x8236fb34, 0xeaa38b},
+  {0x8236fb35, 0xeaa38c},
+  {0x8236fb36, 0xeaa38d},
+  {0x8236fb37, 0xeaa38e},
+  {0x8236fb38, 0xeaa38f},
+  {0x8236fb39, 0xeaa390},
+  {0x8236fc30, 0xeaa391},
+  {0x8236fc31, 0xeaa392},
+  {0x8236fc32, 0xeaa393},
+  {0x8236fc33, 0xeaa394},
+  {0x8236fc34, 0xeaa395},
+  {0x8236fc35, 0xeaa396},
+  {0x8236fc36, 0xeaa397},
+  {0x8236fc37, 0xeaa398},
+  {0x8236fc38, 0xeaa399},
+  {0x8236fc39, 0xeaa39a},
+  {0x8236fd30, 0xeaa39b},
+  {0x8236fd31, 0xeaa39c},
+  {0x8236fd32, 0xeaa39d},
+  {0x8236fd33, 0xeaa39e},
+  {0x8236fd34, 0xeaa39f},
+  {0x8236fd35, 0xeaa3a0},
+  {0x8236fd36, 0xeaa3a1},
+  {0x8236fd37, 0xeaa3a2},
+  {0x8236fd38, 0xeaa3a3},
+  {0x8236fd39, 0xeaa3a4},
+  {0x8236fe30, 0xeaa3a5},
+  {0x8236fe31, 0xeaa3a6},
+  {0x8236fe32, 0xeaa3a7},
+  {0x8236fe33, 0xeaa3a8},
+  {0x8236fe34, 0xeaa3a9},
+  {0x8236fe35, 0xeaa3aa},
+  {0x8236fe36, 0xeaa3ab},
+  {0x8236fe37, 0xeaa3ac},
+  {0x8236fe38, 0xeaa3ad},
+  {0x8236fe39, 0xeaa3ae},
+  {0x82378130, 0xeaa3af},
+  {0x82378131, 0xeaa3b0},
+  {0x82378132, 0xeaa3b1},
+  {0x82378133, 0xeaa3b2},
+  {0x82378134, 0xeaa3b3},
+  {0x82378135, 0xeaa3b4},
+  {0x82378136, 0xeaa3b5},
+  {0x82378137, 0xeaa3b6},
+  {0x82378138, 0xeaa3b7},
+  {0x82378139, 0xeaa3b8},
+  {0x82378230, 0xeaa3b9},
+  {0x82378231, 0xeaa3ba},
+  {0x82378232, 0xeaa3bb},
+  {0x82378233, 0xeaa3bc},
+  {0x82378234, 0xeaa3bd},
+  {0x82378235, 0xeaa3be},
+  {0x82378236, 0xeaa3bf},
+  {0x82378237, 0xeaa480},
+  {0x82378238, 0xeaa481},
+  {0x82378239, 0xeaa482},
+  {0x82378330, 0xeaa483},
+  {0x82378331, 0xeaa484},
+  {0x82378332, 0xeaa485},
+  {0x82378333, 0xeaa486},
+  {0x82378334, 0xeaa487},
+  {0x82378335, 0xeaa488},
+  {0x82378336, 0xeaa489},
+  {0x82378337, 0xeaa48a},
+  {0x82378338, 0xeaa48b},
+  {0x82378339, 0xeaa48c},
+  {0x82378430, 0xeaa48d},
+  {0x82378431, 0xeaa48e},
+  {0x82378432, 0xeaa48f},
+  {0x82378433, 0xeaa490},
+  {0x82378434, 0xeaa491},
+  {0x82378435, 0xeaa492},
+  {0x82378436, 0xeaa493},
+  {0x82378437, 0xeaa494},
+  {0x82378438, 0xeaa495},
+  {0x82378439, 0xeaa496},
+  {0x82378530, 0xeaa497},
+  {0x82378531, 0xeaa498},
+  {0x82378532, 0xeaa499},
+  {0x82378533, 0xeaa49a},
+  {0x82378534, 0xeaa49b},
+  {0x82378535, 0xeaa49c},
+  {0x82378536, 0xeaa49d},
+  {0x82378537, 0xeaa49e},
+  {0x82378538, 0xeaa49f},
+  {0x82378539, 0xeaa4a0},
+  {0x82378630, 0xeaa4a1},
+  {0x82378631, 0xeaa4a2},
+  {0x82378632, 0xeaa4a3},
+  {0x82378633, 0xeaa4a4},
+  {0x82378634, 0xeaa4a5},
+  {0x82378635, 0xeaa4a6},
+  {0x82378636, 0xeaa4a7},
+  {0x82378637, 0xeaa4a8},
+  {0x82378638, 0xeaa4a9},
+  {0x82378639, 0xeaa4aa},
+  {0x82378730, 0xeaa4ab},
+  {0x82378731, 0xeaa4ac},
+  {0x82378732, 0xeaa4ad},
+  {0x82378733, 0xeaa4ae},
+  {0x82378734, 0xeaa4af},
+  {0x82378735, 0xeaa4b0},
+  {0x82378736, 0xeaa4b1},
+  {0x82378737, 0xeaa4b2},
+  {0x82378738, 0xeaa4b3},
+  {0x82378739, 0xeaa4b4},
+  {0x82378830, 0xeaa4b5},
+  {0x82378831, 0xeaa4b6},
+  {0x82378832, 0xeaa4b7},
+  {0x82378833, 0xeaa4b8},
+  {0x82378834, 0xeaa4b9},
+  {0x82378835, 0xeaa4ba},
+  {0x82378836, 0xeaa4bb},
+  {0x82378837, 0xeaa4bc},
+  {0x82378838, 0xeaa4bd},
+  {0x82378839, 0xeaa4be},
+  {0x82378930, 0xeaa4bf},
+  {0x82378931, 0xeaa580},
+  {0x82378932, 0xeaa581},
+  {0x82378933, 0xeaa582},
+  {0x82378934, 0xeaa583},
+  {0x82378935, 0xeaa584},
+  {0x82378936, 0xeaa585},
+  {0x82378937, 0xeaa586},
+  {0x82378938, 0xeaa587},
+  {0x82378939, 0xeaa588},
+  {0x82378a30, 0xeaa589},
+  {0x82378a31, 0xeaa58a},
+  {0x82378a32, 0xeaa58b},
+  {0x82378a33, 0xeaa58c},
+  {0x82378a34, 0xeaa58d},
+  {0x82378a35, 0xeaa58e},
+  {0x82378a36, 0xeaa58f},
+  {0x82378a37, 0xeaa590},
+  {0x82378a38, 0xeaa591},
+  {0x82378a39, 0xeaa592},
+  {0x82378b30, 0xeaa593},
+  {0x82378b31, 0xeaa594},
+  {0x82378b32, 0xeaa595},
+  {0x82378b33, 0xeaa596},
+  {0x82378b34, 0xeaa597},
+  {0x82378b35, 0xeaa598},
+  {0x82378b36, 0xeaa599},
+  {0x82378b37, 0xeaa59a},
+  {0x82378b38, 0xeaa59b},
+  {0x82378b39, 0xeaa59c},
+  {0x82378c30, 0xeaa59d},
+  {0x82378c31, 0xeaa59e},
+  {0x82378c32, 0xeaa59f},
+  {0x82378c33, 0xeaa5a0},
+  {0x82378c34, 0xeaa5a1},
+  {0x82378c35, 0xeaa5a2},
+  {0x82378c36, 0xeaa5a3},
+  {0x82378c37, 0xeaa5a4},
+  {0x82378c38, 0xeaa5a5},
+  {0x82378c39, 0xeaa5a6},
+  {0x82378d30, 0xeaa5a7},
+  {0x82378d31, 0xeaa5a8},
+  {0x82378d32, 0xeaa5a9},
+  {0x82378d33, 0xeaa5aa},
+  {0x82378d34, 0xeaa5ab},
+  {0x82378d35, 0xeaa5ac},
+  {0x82378d36, 0xeaa5ad},
+  {0x82378d37, 0xeaa5ae},
+  {0x82378d38, 0xeaa5af},
+  {0x82378d39, 0xeaa5b0},
+  {0x82378e30, 0xeaa5b1},
+  {0x82378e31, 0xeaa5b2},
+  {0x82378e32, 0xeaa5b3},
+  {0x82378e33, 0xeaa5b4},
+  {0x82378e34, 0xeaa5b5},
+  {0x82378e35, 0xeaa5b6},
+  {0x82378e36, 0xeaa5b7},
+  {0x82378e37, 0xeaa5b8},
+  {0x82378e38, 0xeaa5b9},
+  {0x82378e39, 0xeaa5ba},
+  {0x82378f30, 0xeaa5bb},
+  {0x82378f31, 0xeaa5bc},
+  {0x82378f32, 0xeaa5bd},
+  {0x82378f33, 0xeaa5be},
+  {0x82378f34, 0xeaa5bf},
+  {0x82378f35, 0xeaa680},
+  {0x82378f36, 0xeaa681},
+  {0x82378f37, 0xeaa682},
+  {0x82378f38, 0xeaa683},
+  {0x82378f39, 0xeaa684},
+  {0x82379030, 0xeaa685},
+  {0x82379031, 0xeaa686},
+  {0x82379032, 0xeaa687},
+  {0x82379033, 0xeaa688},
+  {0x82379034, 0xeaa689},
+  {0x82379035, 0xeaa68a},
+  {0x82379036, 0xeaa68b},
+  {0x82379037, 0xeaa68c},
+  {0x82379038, 0xeaa68d},
+  {0x82379039, 0xeaa68e},
+  {0x82379130, 0xeaa68f},
+  {0x82379131, 0xeaa690},
+  {0x82379132, 0xeaa691},
+  {0x82379133, 0xeaa692},
+  {0x82379134, 0xeaa693},
+  {0x82379135, 0xeaa694},
+  {0x82379136, 0xeaa695},
+  {0x82379137, 0xeaa696},
+  {0x82379138, 0xeaa697},
+  {0x82379139, 0xeaa698},
+  {0x82379230, 0xeaa699},
+  {0x82379231, 0xeaa69a},
+  {0x82379232, 0xeaa69b},
+  {0x82379233, 0xeaa69c},
+  {0x82379234, 0xeaa69d},
+  {0x82379235, 0xeaa69e},
+  {0x82379236, 0xeaa69f},
+  {0x82379237, 0xeaa6a0},
+  {0x82379238, 0xeaa6a1},
+  {0x82379239, 0xeaa6a2},
+  {0x82379330, 0xeaa6a3},
+  {0x82379331, 0xeaa6a4},
+  {0x82379332, 0xeaa6a5},
+  {0x82379333, 0xeaa6a6},
+  {0x82379334, 0xeaa6a7},
+  {0x82379335, 0xeaa6a8},
+  {0x82379336, 0xeaa6a9},
+  {0x82379337, 0xeaa6aa},
+  {0x82379338, 0xeaa6ab},
+  {0x82379339, 0xeaa6ac},
+  {0x82379430, 0xeaa6ad},
+  {0x82379431, 0xeaa6ae},
+  {0x82379432, 0xeaa6af},
+  {0x82379433, 0xeaa6b0},
+  {0x82379434, 0xeaa6b1},
+  {0x82379435, 0xeaa6b2},
+  {0x82379436, 0xeaa6b3},
+  {0x82379437, 0xeaa6b4},
+  {0x82379438, 0xeaa6b5},
+  {0x82379439, 0xeaa6b6},
+  {0x82379530, 0xeaa6b7},
+  {0x82379531, 0xeaa6b8},
+  {0x82379532, 0xeaa6b9},
+  {0x82379533, 0xeaa6ba},
+  {0x82379534, 0xeaa6bb},
+  {0x82379535, 0xeaa6bc},
+  {0x82379536, 0xeaa6bd},
+  {0x82379537, 0xeaa6be},
+  {0x82379538, 0xeaa6bf},
+  {0x82379539, 0xeaa780},
+  {0x82379630, 0xeaa781},
+  {0x82379631, 0xeaa782},
+  {0x82379632, 0xeaa783},
+  {0x82379633, 0xeaa784},
+  {0x82379634, 0xeaa785},
+  {0x82379635, 0xeaa786},
+  {0x82379636, 0xeaa787},
+  {0x82379637, 0xeaa788},
+  {0x82379638, 0xeaa789},
+  {0x82379639, 0xeaa78a},
+  {0x82379730, 0xeaa78b},
+  {0x82379731, 0xeaa78c},
+  {0x82379732, 0xeaa78d},
+  {0x82379733, 0xeaa78e},
+  {0x82379734, 0xeaa78f},
+  {0x82379735, 0xeaa790},
+  {0x82379736, 0xeaa791},
+  {0x82379737, 0xeaa792},
+  {0x82379738, 0xeaa793},
+  {0x82379739, 0xeaa794},
+  {0x82379830, 0xeaa795},
+  {0x82379831, 0xeaa796},
+  {0x82379832, 0xeaa797},
+  {0x82379833, 0xeaa798},
+  {0x82379834, 0xeaa799},
+  {0x82379835, 0xeaa79a},
+  {0x82379836, 0xeaa79b},
+  {0x82379837, 0xeaa79c},
+  {0x82379838, 0xeaa79d},
+  {0x82379839, 0xeaa79e},
+  {0x82379930, 0xeaa79f},
+  {0x82379931, 0xeaa7a0},
+  {0x82379932, 0xeaa7a1},
+  {0x82379933, 0xeaa7a2},
+  {0x82379934, 0xeaa7a3},
+  {0x82379935, 0xeaa7a4},
+  {0x82379936, 0xeaa7a5},
+  {0x82379937, 0xeaa7a6},
+  {0x82379938, 0xeaa7a7},
+  {0x82379939, 0xeaa7a8},
+  {0x82379a30, 0xeaa7a9},
+  {0x82379a31, 0xeaa7aa},
+  {0x82379a32, 0xeaa7ab},
+  {0x82379a33, 0xeaa7ac},
+  {0x82379a34, 0xeaa7ad},
+  {0x82379a35, 0xeaa7ae},
+  {0x82379a36, 0xeaa7af},
+  {0x82379a37, 0xeaa7b0},
+  {0x82379a38, 0xeaa7b1},
+  {0x82379a39, 0xeaa7b2},
+  {0x82379b30, 0xeaa7b3},
+  {0x82379b31, 0xeaa7b4},
+  {0x82379b32, 0xeaa7b5},
+  {0x82379b33, 0xeaa7b6},
+  {0x82379b34, 0xeaa7b7},
+  {0x82379b35, 0xeaa7b8},
+  {0x82379b36, 0xeaa7b9},
+  {0x82379b37, 0xeaa7ba},
+  {0x82379b38, 0xeaa7bb},
+  {0x82379b39, 0xeaa7bc},
+  {0x82379c30, 0xeaa7bd},
+  {0x82379c31, 0xeaa7be},
+  {0x82379c32, 0xeaa7bf},
+  {0x82379c33, 0xeaa880},
+  {0x82379c34, 0xeaa881},
+  {0x82379c35, 0xeaa882},
+  {0x82379c36, 0xeaa883},
+  {0x82379c37, 0xeaa884},
+  {0x82379c38, 0xeaa885},
+  {0x82379c39, 0xeaa886},
+  {0x82379d30, 0xeaa887},
+  {0x82379d31, 0xeaa888},
+  {0x82379d32, 0xeaa889},
+  {0x82379d33, 0xeaa88a},
+  {0x82379d34, 0xeaa88b},
+  {0x82379d35, 0xeaa88c},
+  {0x82379d36, 0xeaa88d},
+  {0x82379d37, 0xeaa88e},
+  {0x82379d38, 0xeaa88f},
+  {0x82379d39, 0xeaa890},
+  {0x82379e30, 0xeaa891},
+  {0x82379e31, 0xeaa892},
+  {0x82379e32, 0xeaa893},
+  {0x82379e33, 0xeaa894},
+  {0x82379e34, 0xeaa895},
+  {0x82379e35, 0xeaa896},
+  {0x82379e36, 0xeaa897},
+  {0x82379e37, 0xeaa898},
+  {0x82379e38, 0xeaa899},
+  {0x82379e39, 0xeaa89a},
+  {0x82379f30, 0xeaa89b},
+  {0x82379f31, 0xeaa89c},
+  {0x82379f32, 0xeaa89d},
+  {0x82379f33, 0xeaa89e},
+  {0x82379f34, 0xeaa89f},
+  {0x82379f35, 0xeaa8a0},
+  {0x82379f36, 0xeaa8a1},
+  {0x82379f37, 0xeaa8a2},
+  {0x82379f38, 0xeaa8a3},
+  {0x82379f39, 0xeaa8a4},
+  {0x8237a030, 0xeaa8a5},
+  {0x8237a031, 0xeaa8a6},
+  {0x8237a032, 0xeaa8a7},
+  {0x8237a033, 0xeaa8a8},
+  {0x8237a034, 0xeaa8a9},
+  {0x8237a035, 0xeaa8aa},
+  {0x8237a036, 0xeaa8ab},
+  {0x8237a037, 0xeaa8ac},
+  {0x8237a038, 0xeaa8ad},
+  {0x8237a039, 0xeaa8ae},
+  {0x8237a130, 0xeaa8af},
+  {0x8237a131, 0xeaa8b0},
+  {0x8237a132, 0xeaa8b1},
+  {0x8237a133, 0xeaa8b2},
+  {0x8237a134, 0xeaa8b3},
+  {0x8237a135, 0xeaa8b4},
+  {0x8237a136, 0xeaa8b5},
+  {0x8237a137, 0xeaa8b6},
+  {0x8237a138, 0xeaa8b7},
+  {0x8237a139, 0xeaa8b8},
+  {0x8237a230, 0xeaa8b9},
+  {0x8237a231, 0xeaa8ba},
+  {0x8237a232, 0xeaa8bb},
+  {0x8237a233, 0xeaa8bc},
+  {0x8237a234, 0xeaa8bd},
+  {0x8237a235, 0xeaa8be},
+  {0x8237a236, 0xeaa8bf},
+  {0x8237a237, 0xeaa980},
+  {0x8237a238, 0xeaa981},
+  {0x8237a239, 0xeaa982},
+  {0x8237a330, 0xeaa983},
+  {0x8237a331, 0xeaa984},
+  {0x8237a332, 0xeaa985},
+  {0x8237a333, 0xeaa986},
+  {0x8237a334, 0xeaa987},
+  {0x8237a335, 0xeaa988},
+  {0x8237a336, 0xeaa989},
+  {0x8237a337, 0xeaa98a},
+  {0x8237a338, 0xeaa98b},
+  {0x8237a339, 0xeaa98c},
+  {0x8237a430, 0xeaa98d},
+  {0x8237a431, 0xeaa98e},
+  {0x8237a432, 0xeaa98f},
+  {0x8237a433, 0xeaa990},
+  {0x8237a434, 0xeaa991},
+  {0x8237a435, 0xeaa992},
+  {0x8237a436, 0xeaa993},
+  {0x8237a437, 0xeaa994},
+  {0x8237a438, 0xeaa995},
+  {0x8237a439, 0xeaa996},
+  {0x8237a530, 0xeaa997},
+  {0x8237a531, 0xeaa998},
+  {0x8237a532, 0xeaa999},
+  {0x8237a533, 0xeaa99a},
+  {0x8237a534, 0xeaa99b},
+  {0x8237a535, 0xeaa99c},
+  {0x8237a536, 0xeaa99d},
+  {0x8237a537, 0xeaa99e},
+  {0x8237a538, 0xeaa99f},
+  {0x8237a539, 0xeaa9a0},
+  {0x8237a630, 0xeaa9a1},
+  {0x8237a631, 0xeaa9a2},
+  {0x8237a632, 0xeaa9a3},
+  {0x8237a633, 0xeaa9a4},
+  {0x8237a634, 0xeaa9a5},
+  {0x8237a635, 0xeaa9a6},
+  {0x8237a636, 0xeaa9a7},
+  {0x8237a637, 0xeaa9a8},
+  {0x8237a638, 0xeaa9a9},
+  {0x8237a639, 0xeaa9aa},
+  {0x8237a730, 0xeaa9ab},
+  {0x8237a731, 0xeaa9ac},
+  {0x8237a732, 0xeaa9ad},
+  {0x8237a733, 0xeaa9ae},
+  {0x8237a734, 0xeaa9af},
+  {0x8237a735, 0xeaa9b0},
+  {0x8237a736, 0xeaa9b1},
+  {0x8237a737, 0xeaa9b2},
+  {0x8237a738, 0xeaa9b3},
+  {0x8237a739, 0xeaa9b4},
+  {0x8237a830, 0xeaa9b5},
+  {0x8237a831, 0xeaa9b6},
+  {0x8237a832, 0xeaa9b7},
+  {0x8237a833, 0xeaa9b8},
+  {0x8237a834, 0xeaa9b9},
+  {0x8237a835, 0xeaa9ba},
+  {0x8237a836, 0xeaa9bb},
+  {0x8237a837, 0xeaa9bc},
+  {0x8237a838, 0xeaa9bd},
+  {0x8237a839, 0xeaa9be},
+  {0x8237a930, 0xeaa9bf},
+  {0x8237a931, 0xeaaa80},
+  {0x8237a932, 0xeaaa81},
+  {0x8237a933, 0xeaaa82},
+  {0x8237a934, 0xeaaa83},
+  {0x8237a935, 0xeaaa84},
+  {0x8237a936, 0xeaaa85},
+  {0x8237a937, 0xeaaa86},
+  {0x8237a938, 0xeaaa87},
+  {0x8237a939, 0xeaaa88},
+  {0x8237aa30, 0xeaaa89},
+  {0x8237aa31, 0xeaaa8a},
+  {0x8237aa32, 0xeaaa8b},
+  {0x8237aa33, 0xeaaa8c},
+  {0x8237aa34, 0xeaaa8d},
+  {0x8237aa35, 0xeaaa8e},
+  {0x8237aa36, 0xeaaa8f},
+  {0x8237aa37, 0xeaaa90},
+  {0x8237aa38, 0xeaaa91},
+  {0x8237aa39, 0xeaaa92},
+  {0x8237ab30, 0xeaaa93},
+  {0x8237ab31, 0xeaaa94},
+  {0x8237ab32, 0xeaaa95},
+  {0x8237ab33, 0xeaaa96},
+  {0x8237ab34, 0xeaaa97},
+  {0x8237ab35, 0xeaaa98},
+  {0x8237ab36, 0xeaaa99},
+  {0x8237ab37, 0xeaaa9a},
+  {0x8237ab38, 0xeaaa9b},
+  {0x8237ab39, 0xeaaa9c},
+  {0x8237ac30, 0xeaaa9d},
+  {0x8237ac31, 0xeaaa9e},
+  {0x8237ac32, 0xeaaa9f},
+  {0x8237ac33, 0xeaaaa0},
+  {0x8237ac34, 0xeaaaa1},
+  {0x8237ac35, 0xeaaaa2},
+  {0x8237ac36, 0xeaaaa3},
+  {0x8237ac37, 0xeaaaa4},
+  {0x8237ac38, 0xeaaaa5},
+  {0x8237ac39, 0xeaaaa6},
+  {0x8237ad30, 0xeaaaa7},
+  {0x8237ad31, 0xeaaaa8},
+  {0x8237ad32, 0xeaaaa9},
+  {0x8237ad33, 0xeaaaaa},
+  {0x8237ad34, 0xeaaaab},
+  {0x8237ad35, 0xeaaaac},
+  {0x8237ad36, 0xeaaaad},
+  {0x8237ad37, 0xeaaaae},
+  {0x8237ad38, 0xeaaaaf},
+  {0x8237ad39, 0xeaaab0},
+  {0x8237ae30, 0xeaaab1},
+  {0x8237ae31, 0xeaaab2},
+  {0x8237ae32, 0xeaaab3},
+  {0x8237ae33, 0xeaaab4},
+  {0x8237ae34, 0xeaaab5},
+  {0x8237ae35, 0xeaaab6},
+  {0x8237ae36, 0xeaaab7},
+  {0x8237ae37, 0xeaaab8},
+  {0x8237ae38, 0xeaaab9},
+  {0x8237ae39, 0xeaaaba},
+  {0x8237af30, 0xeaaabb},
+  {0x8237af31, 0xeaaabc},
+  {0x8237af32, 0xeaaabd},
+  {0x8237af33, 0xeaaabe},
+  {0x8237af34, 0xeaaabf},
+  {0x8237af35, 0xeaab80},
+  {0x8237af36, 0xeaab81},
+  {0x8237af37, 0xeaab82},
+  {0x8237af38, 0xeaab83},
+  {0x8237af39, 0xeaab84},
+  {0x8237b030, 0xeaab85},
+  {0x8237b031, 0xeaab86},
+  {0x8237b032, 0xeaab87},
+  {0x8237b033, 0xeaab88},
+  {0x8237b034, 0xeaab89},
+  {0x8237b035, 0xeaab8a},
+  {0x8237b036, 0xeaab8b},
+  {0x8237b037, 0xeaab8c},
+  {0x8237b038, 0xeaab8d},
+  {0x8237b039, 0xeaab8e},
+  {0x8237b130, 0xeaab8f},
+  {0x8237b131, 0xeaab90},
+  {0x8237b132, 0xeaab91},
+  {0x8237b133, 0xeaab92},
+  {0x8237b134, 0xeaab93},
+  {0x8237b135, 0xeaab94},
+  {0x8237b136, 0xeaab95},
+  {0x8237b137, 0xeaab96},
+  {0x8237b138, 0xeaab97},
+  {0x8237b139, 0xeaab98},
+  {0x8237b230, 0xeaab99},
+  {0x8237b231, 0xeaab9a},
+  {0x8237b232, 0xeaab9b},
+  {0x8237b233, 0xeaab9c},
+  {0x8237b234, 0xeaab9d},
+  {0x8237b235, 0xeaab9e},
+  {0x8237b236, 0xeaab9f},
+  {0x8237b237, 0xeaaba0},
+  {0x8237b238, 0xeaaba1},
+  {0x8237b239, 0xeaaba2},
+  {0x8237b330, 0xeaaba3},
+  {0x8237b331, 0xeaaba4},
+  {0x8237b332, 0xeaaba5},
+  {0x8237b333, 0xeaaba6},
+  {0x8237b334, 0xeaaba7},
+  {0x8237b335, 0xeaaba8},
+  {0x8237b336, 0xeaaba9},
+  {0x8237b337, 0xeaabaa},
+  {0x8237b338, 0xeaabab},
+  {0x8237b339, 0xeaabac},
+  {0x8237b430, 0xeaabad},
+  {0x8237b431, 0xeaabae},
+  {0x8237b432, 0xeaabaf},
+  {0x8237b433, 0xeaabb0},
+  {0x8237b434, 0xeaabb1},
+  {0x8237b435, 0xeaabb2},
+  {0x8237b436, 0xeaabb3},
+  {0x8237b437, 0xeaabb4},
+  {0x8237b438, 0xeaabb5},
+  {0x8237b439, 0xeaabb6},
+  {0x8237b530, 0xeaabb7},
+  {0x8237b531, 0xeaabb8},
+  {0x8237b532, 0xeaabb9},
+  {0x8237b533, 0xeaabba},
+  {0x8237b534, 0xeaabbb},
+  {0x8237b535, 0xeaabbc},
+  {0x8237b536, 0xeaabbd},
+  {0x8237b537, 0xeaabbe},
+  {0x8237b538, 0xeaabbf},
+  {0x8237b539, 0xeaac80},
+  {0x8237b630, 0xeaac81},
+  {0x8237b631, 0xeaac82},
+  {0x8237b632, 0xeaac83},
+  {0x8237b633, 0xeaac84},
+  {0x8237b634, 0xeaac85},
+  {0x8237b635, 0xeaac86},
+  {0x8237b636, 0xeaac87},
+  {0x8237b637, 0xeaac88},
+  {0x8237b638, 0xeaac89},
+  {0x8237b639, 0xeaac8a},
+  {0x8237b730, 0xeaac8b},
+  {0x8237b731, 0xeaac8c},
+  {0x8237b732, 0xeaac8d},
+  {0x8237b733, 0xeaac8e},
+  {0x8237b734, 0xeaac8f},
+  {0x8237b735, 0xeaac90},
+  {0x8237b736, 0xeaac91},
+  {0x8237b737, 0xeaac92},
+  {0x8237b738, 0xeaac93},
+  {0x8237b739, 0xeaac94},
+  {0x8237b830, 0xeaac95},
+  {0x8237b831, 0xeaac96},
+  {0x8237b832, 0xeaac97},
+  {0x8237b833, 0xeaac98},
+  {0x8237b834, 0xeaac99},
+  {0x8237b835, 0xeaac9a},
+  {0x8237b836, 0xeaac9b},
+  {0x8237b837, 0xeaac9c},
+  {0x8237b838, 0xeaac9d},
+  {0x8237b839, 0xeaac9e},
+  {0x8237b930, 0xeaac9f},
+  {0x8237b931, 0xeaaca0},
+  {0x8237b932, 0xeaaca1},
+  {0x8237b933, 0xeaaca2},
+  {0x8237b934, 0xeaaca3},
+  {0x8237b935, 0xeaaca4},
+  {0x8237b936, 0xeaaca5},
+  {0x8237b937, 0xeaaca6},
+  {0x8237b938, 0xeaaca7},
+  {0x8237b939, 0xeaaca8},
+  {0x8237ba30, 0xeaaca9},
+  {0x8237ba31, 0xeaacaa},
+  {0x8237ba32, 0xeaacab},
+  {0x8237ba33, 0xeaacac},
+  {0x8237ba34, 0xeaacad},
+  {0x8237ba35, 0xeaacae},
+  {0x8237ba36, 0xeaacaf},
+  {0x8237ba37, 0xeaacb0},
+  {0x8237ba38, 0xeaacb1},
+  {0x8237ba39, 0xeaacb2},
+  {0x8237bb30, 0xeaacb3},
+  {0x8237bb31, 0xeaacb4},
+  {0x8237bb32, 0xeaacb5},
+  {0x8237bb33, 0xeaacb6},
+  {0x8237bb34, 0xeaacb7},
+  {0x8237bb35, 0xeaacb8},
+  {0x8237bb36, 0xeaacb9},
+  {0x8237bb37, 0xeaacba},
+  {0x8237bb38, 0xeaacbb},
+  {0x8237bb39, 0xeaacbc},
+  {0x8237bc30, 0xeaacbd},
+  {0x8237bc31, 0xeaacbe},
+  {0x8237bc32, 0xeaacbf},
+  {0x8237bc33, 0xeaad80},
+  {0x8237bc34, 0xeaad81},
+  {0x8237bc35, 0xeaad82},
+  {0x8237bc36, 0xeaad83},
+  {0x8237bc37, 0xeaad84},
+  {0x8237bc38, 0xeaad85},
+  {0x8237bc39, 0xeaad86},
+  {0x8237bd30, 0xeaad87},
+  {0x8237bd31, 0xeaad88},
+  {0x8237bd32, 0xeaad89},
+  {0x8237bd33, 0xeaad8a},
+  {0x8237bd34, 0xeaad8b},
+  {0x8237bd35, 0xeaad8c},
+  {0x8237bd36, 0xeaad8d},
+  {0x8237bd37, 0xeaad8e},
+  {0x8237bd38, 0xeaad8f},
+  {0x8237bd39, 0xeaad90},
+  {0x8237be30, 0xeaad91},
+  {0x8237be31, 0xeaad92},
+  {0x8237be32, 0xeaad93},
+  {0x8237be33, 0xeaad94},
+  {0x8237be34, 0xeaad95},
+  {0x8237be35, 0xeaad96},
+  {0x8237be36, 0xeaad97},
+  {0x8237be37, 0xeaad98},
+  {0x8237be38, 0xeaad99},
+  {0x8237be39, 0xeaad9a},
+  {0x8237bf30, 0xeaad9b},
+  {0x8237bf31, 0xeaad9c},
+  {0x8237bf32, 0xeaad9d},
+  {0x8237bf33, 0xeaad9e},
+  {0x8237bf34, 0xeaad9f},
+  {0x8237bf35, 0xeaada0},
+  {0x8237bf36, 0xeaada1},
+  {0x8237bf37, 0xeaada2},
+  {0x8237bf38, 0xeaada3},
+  {0x8237bf39, 0xeaada4},
+  {0x8237c030, 0xeaada5},
+  {0x8237c031, 0xeaada6},
+  {0x8237c032, 0xeaada7},
+  {0x8237c033, 0xeaada8},
+  {0x8237c034, 0xeaada9},
+  {0x8237c035, 0xeaadaa},
+  {0x8237c036, 0xeaadab},
+  {0x8237c037, 0xeaadac},
+  {0x8237c038, 0xeaadad},
+  {0x8237c039, 0xeaadae},
+  {0x8237c130, 0xeaadaf},
+  {0x8237c131, 0xeaadb0},
+  {0x8237c132, 0xeaadb1},
+  {0x8237c133, 0xeaadb2},
+  {0x8237c134, 0xeaadb3},
+  {0x8237c135, 0xeaadb4},
+  {0x8237c136, 0xeaadb5},
+  {0x8237c137, 0xeaadb6},
+  {0x8237c138, 0xeaadb7},
+  {0x8237c139, 0xeaadb8},
+  {0x8237c230, 0xeaadb9},
+  {0x8237c231, 0xeaadba},
+  {0x8237c232, 0xeaadbb},
+  {0x8237c233, 0xeaadbc},
+  {0x8237c234, 0xeaadbd},
+  {0x8237c235, 0xeaadbe},
+  {0x8237c236, 0xeaadbf},
+  {0x8237c237, 0xeaae80},
+  {0x8237c238, 0xeaae81},
+  {0x8237c239, 0xeaae82},
+  {0x8237c330, 0xeaae83},
+  {0x8237c331, 0xeaae84},
+  {0x8237c332, 0xeaae85},
+  {0x8237c333, 0xeaae86},
+  {0x8237c334, 0xeaae87},
+  {0x8237c335, 0xeaae88},
+  {0x8237c336, 0xeaae89},
+  {0x8237c337, 0xeaae8a},
+  {0x8237c338, 0xeaae8b},
+  {0x8237c339, 0xeaae8c},
+  {0x8237c430, 0xeaae8d},
+  {0x8237c431, 0xeaae8e},
+  {0x8237c432, 0xeaae8f},
+  {0x8237c433, 0xeaae90},
+  {0x8237c434, 0xeaae91},
+  {0x8237c435, 0xeaae92},
+  {0x8237c436, 0xeaae93},
+  {0x8237c437, 0xeaae94},
+  {0x8237c438, 0xeaae95},
+  {0x8237c439, 0xeaae96},
+  {0x8237c530, 0xeaae97},
+  {0x8237c531, 0xeaae98},
+  {0x8237c532, 0xeaae99},
+  {0x8237c533, 0xeaae9a},
+  {0x8237c534, 0xeaae9b},
+  {0x8237c535, 0xeaae9c},
+  {0x8237c536, 0xeaae9d},
+  {0x8237c537, 0xeaae9e},
+  {0x8237c538, 0xeaae9f},
+  {0x8237c539, 0xeaaea0},
+  {0x8237c630, 0xeaaea1},
+  {0x8237c631, 0xeaaea2},
+  {0x8237c632, 0xeaaea3},
+  {0x8237c633, 0xeaaea4},
+  {0x8237c634, 0xeaaea5},
+  {0x8237c635, 0xeaaea6},
+  {0x8237c636, 0xeaaea7},
+  {0x8237c637, 0xeaaea8},
+  {0x8237c638, 0xeaaea9},
+  {0x8237c639, 0xeaaeaa},
+  {0x8237c730, 0xeaaeab},
+  {0x8237c731, 0xeaaeac},
+  {0x8237c732, 0xeaaead},
+  {0x8237c733, 0xeaaeae},
+  {0x8237c734, 0xeaaeaf},
+  {0x8237c735, 0xeaaeb0},
+  {0x8237c736, 0xeaaeb1},
+  {0x8237c737, 0xeaaeb2},
+  {0x8237c738, 0xeaaeb3},
+  {0x8237c739, 0xeaaeb4},
+  {0x8237c830, 0xeaaeb5},
+  {0x8237c831, 0xeaaeb6},
+  {0x8237c832, 0xeaaeb7},
+  {0x8237c833, 0xeaaeb8},
+  {0x8237c834, 0xeaaeb9},
+  {0x8237c835, 0xeaaeba},
+  {0x8237c836, 0xeaaebb},
+  {0x8237c837, 0xeaaebc},
+  {0x8237c838, 0xeaaebd},
+  {0x8237c839, 0xeaaebe},
+  {0x8237c930, 0xeaaebf},
+  {0x8237c931, 0xeaaf80},
+  {0x8237c932, 0xeaaf81},
+  {0x8237c933, 0xeaaf82},
+  {0x8237c934, 0xeaaf83},
+  {0x8237c935, 0xeaaf84},
+  {0x8237c936, 0xeaaf85},
+  {0x8237c937, 0xeaaf86},
+  {0x8237c938, 0xeaaf87},
+  {0x8237c939, 0xeaaf88},
+  {0x8237ca30, 0xeaaf89},
+  {0x8237ca31, 0xeaaf8a},
+  {0x8237ca32, 0xeaaf8b},
+  {0x8237ca33, 0xeaaf8c},
+  {0x8237ca34, 0xeaaf8d},
+  {0x8237ca35, 0xeaaf8e},
+  {0x8237ca36, 0xeaaf8f},
+  {0x8237ca37, 0xeaaf90},
+  {0x8237ca38, 0xeaaf91},
+  {0x8237ca39, 0xeaaf92},
+  {0x8237cb30, 0xeaaf93},
+  {0x8237cb31, 0xeaaf94},
+  {0x8237cb32, 0xeaaf95},
+  {0x8237cb33, 0xeaaf96},
+  {0x8237cb34, 0xeaaf97},
+  {0x8237cb35, 0xeaaf98},
+  {0x8237cb36, 0xeaaf99},
+  {0x8237cb37, 0xeaaf9a},
+  {0x8237cb38, 0xeaaf9b},
+  {0x8237cb39, 0xeaaf9c},
+  {0x8237cc30, 0xeaaf9d},
+  {0x8237cc31, 0xeaaf9e},
+  {0x8237cc32, 0xeaaf9f},
+  {0x8237cc33, 0xeaafa0},
+  {0x8237cc34, 0xeaafa1},
+  {0x8237cc35, 0xeaafa2},
+  {0x8237cc36, 0xeaafa3},
+  {0x8237cc37, 0xeaafa4},
+  {0x8237cc38, 0xeaafa5},
+  {0x8237cc39, 0xeaafa6},
+  {0x8237cd30, 0xeaafa7},
+  {0x8237cd31, 0xeaafa8},
+  {0x8237cd32, 0xeaafa9},
+  {0x8237cd33, 0xeaafaa},
+  {0x8237cd34, 0xeaafab},
+  {0x8237cd35, 0xeaafac},
+  {0x8237cd36, 0xeaafad},
+  {0x8237cd37, 0xeaafae},
+  {0x8237cd38, 0xeaafaf},
+  {0x8237cd39, 0xeaafb0},
+  {0x8237ce30, 0xeaafb1},
+  {0x8237ce31, 0xeaafb2},
+  {0x8237ce32, 0xeaafb3},
+  {0x8237ce33, 0xeaafb4},
+  {0x8237ce34, 0xeaafb5},
+  {0x8237ce35, 0xeaafb6},
+  {0x8237ce36, 0xeaafb7},
+  {0x8237ce37, 0xeaafb8},
+  {0x8237ce38, 0xeaafb9},
+  {0x8237ce39, 0xeaafba},
+  {0x8237cf30, 0xeaafbb},
+  {0x8237cf31, 0xeaafbc},
+  {0x8237cf32, 0xeaafbd},
+  {0x8237cf33, 0xeaafbe},
+  {0x8237cf34, 0xeaafbf},
+  {0x8237cf35, 0xeab080},
+  {0x8237cf36, 0xeab081},
+  {0x8237cf37, 0xeab082},
+  {0x8237cf38, 0xeab083},
+  {0x8237cf39, 0xeab084},
+  {0x8237d030, 0xeab085},
+  {0x8237d031, 0xeab086},
+  {0x8237d032, 0xeab087},
+  {0x8237d033, 0xeab088},
+  {0x8237d034, 0xeab089},
+  {0x8237d035, 0xeab08a},
+  {0x8237d036, 0xeab08b},
+  {0x8237d037, 0xeab08c},
+  {0x8237d038, 0xeab08d},
+  {0x8237d039, 0xeab08e},
+  {0x8237d130, 0xeab08f},
+  {0x8237d131, 0xeab090},
+  {0x8237d132, 0xeab091},
+  {0x8237d133, 0xeab092},
+  {0x8237d134, 0xeab093},
+  {0x8237d135, 0xeab094},
+  {0x8237d136, 0xeab095},
+  {0x8237d137, 0xeab096},
+  {0x8237d138, 0xeab097},
+  {0x8237d139, 0xeab098},
+  {0x8237d230, 0xeab099},
+  {0x8237d231, 0xeab09a},
+  {0x8237d232, 0xeab09b},
+  {0x8237d233, 0xeab09c},
+  {0x8237d234, 0xeab09d},
+  {0x8237d235, 0xeab09e},
+  {0x8237d236, 0xeab09f},
+  {0x8237d237, 0xeab0a0},
+  {0x8237d238, 0xeab0a1},
+  {0x8237d239, 0xeab0a2},
+  {0x8237d330, 0xeab0a3},
+  {0x8237d331, 0xeab0a4},
+  {0x8237d332, 0xeab0a5},
+  {0x8237d333, 0xeab0a6},
+  {0x8237d334, 0xeab0a7},
+  {0x8237d335, 0xeab0a8},
+  {0x8237d336, 0xeab0a9},
+  {0x8237d337, 0xeab0aa},
+  {0x8237d338, 0xeab0ab},
+  {0x8237d339, 0xeab0ac},
+  {0x8237d430, 0xeab0ad},
+  {0x8237d431, 0xeab0ae},
+  {0x8237d432, 0xeab0af},
+  {0x8237d433, 0xeab0b0},
+  {0x8237d434, 0xeab0b1},
+  {0x8237d435, 0xeab0b2},
+  {0x8237d436, 0xeab0b3},
+  {0x8237d437, 0xeab0b4},
+  {0x8237d438, 0xeab0b5},
+  {0x8237d439, 0xeab0b6},
+  {0x8237d530, 0xeab0b7},
+  {0x8237d531, 0xeab0b8},
+  {0x8237d532, 0xeab0b9},
+  {0x8237d533, 0xeab0ba},
+  {0x8237d534, 0xeab0bb},
+  {0x8237d535, 0xeab0bc},
+  {0x8237d536, 0xeab0bd},
+  {0x8237d537, 0xeab0be},
+  {0x8237d538, 0xeab0bf},
+  {0x8237d539, 0xeab180},
+  {0x8237d630, 0xeab181},
+  {0x8237d631, 0xeab182},
+  {0x8237d632, 0xeab183},
+  {0x8237d633, 0xeab184},
+  {0x8237d634, 0xeab185},
+  {0x8237d635, 0xeab186},
+  {0x8237d636, 0xeab187},
+  {0x8237d637, 0xeab188},
+  {0x8237d638, 0xeab189},
+  {0x8237d639, 0xeab18a},
+  {0x8237d730, 0xeab18b},
+  {0x8237d731, 0xeab18c},
+  {0x8237d732, 0xeab18d},
+  {0x8237d733, 0xeab18e},
+  {0x8237d734, 0xeab18f},
+  {0x8237d735, 0xeab190},
+  {0x8237d736, 0xeab191},
+  {0x8237d737, 0xeab192},
+  {0x8237d738, 0xeab193},
+  {0x8237d739, 0xeab194},
+  {0x8237d830, 0xeab195},
+  {0x8237d831, 0xeab196},
+  {0x8237d832, 0xeab197},
+  {0x8237d833, 0xeab198},
+  {0x8237d834, 0xeab199},
+  {0x8237d835, 0xeab19a},
+  {0x8237d836, 0xeab19b},
+  {0x8237d837, 0xeab19c},
+  {0x8237d838, 0xeab19d},
+  {0x8237d839, 0xeab19e},
+  {0x8237d930, 0xeab19f},
+  {0x8237d931, 0xeab1a0},
+  {0x8237d932, 0xeab1a1},
+  {0x8237d933, 0xeab1a2},
+  {0x8237d934, 0xeab1a3},
+  {0x8237d935, 0xeab1a4},
+  {0x8237d936, 0xeab1a5},
+  {0x8237d937, 0xeab1a6},
+  {0x8237d938, 0xeab1a7},
+  {0x8237d939, 0xeab1a8},
+  {0x8237da30, 0xeab1a9},
+  {0x8237da31, 0xeab1aa},
+  {0x8237da32, 0xeab1ab},
+  {0x8237da33, 0xeab1ac},
+  {0x8237da34, 0xeab1ad},
+  {0x8237da35, 0xeab1ae},
+  {0x8237da36, 0xeab1af},
+  {0x8237da37, 0xeab1b0},
+  {0x8237da38, 0xeab1b1},
+  {0x8237da39, 0xeab1b2},
+  {0x8237db30, 0xeab1b3},
+  {0x8237db31, 0xeab1b4},
+  {0x8237db32, 0xeab1b5},
+  {0x8237db33, 0xeab1b6},
+  {0x8237db34, 0xeab1b7},
+  {0x8237db35, 0xeab1b8},
+  {0x8237db36, 0xeab1b9},
+  {0x8237db37, 0xeab1ba},
+  {0x8237db38, 0xeab1bb},
+  {0x8237db39, 0xeab1bc},
+  {0x8237dc30, 0xeab1bd},
+  {0x8237dc31, 0xeab1be},
+  {0x8237dc32, 0xeab1bf},
+  {0x8237dc33, 0xeab280},
+  {0x8237dc34, 0xeab281},
+  {0x8237dc35, 0xeab282},
+  {0x8237dc36, 0xeab283},
+  {0x8237dc37, 0xeab284},
+  {0x8237dc38, 0xeab285},
+  {0x8237dc39, 0xeab286},
+  {0x8237dd30, 0xeab287},
+  {0x8237dd31, 0xeab288},
+  {0x8237dd32, 0xeab289},
+  {0x8237dd33, 0xeab28a},
+  {0x8237dd34, 0xeab28b},
+  {0x8237dd35, 0xeab28c},
+  {0x8237dd36, 0xeab28d},
+  {0x8237dd37, 0xeab28e},
+  {0x8237dd38, 0xeab28f},
+  {0x8237dd39, 0xeab290},
+  {0x8237de30, 0xeab291},
+  {0x8237de31, 0xeab292},
+  {0x8237de32, 0xeab293},
+  {0x8237de33, 0xeab294},
+  {0x8237de34, 0xeab295},
+  {0x8237de35, 0xeab296},
+  {0x8237de36, 0xeab297},
+  {0x8237de37, 0xeab298},
+  {0x8237de38, 0xeab299},
+  {0x8237de39, 0xeab29a},
+  {0x8237df30, 0xeab29b},
+  {0x8237df31, 0xeab29c},
+  {0x8237df32, 0xeab29d},
+  {0x8237df33, 0xeab29e},
+  {0x8237df34, 0xeab29f},
+  {0x8237df35, 0xeab2a0},
+  {0x8237df36, 0xeab2a1},
+  {0x8237df37, 0xeab2a2},
+  {0x8237df38, 0xeab2a3},
+  {0x8237df39, 0xeab2a4},
+  {0x8237e030, 0xeab2a5},
+  {0x8237e031, 0xeab2a6},
+  {0x8237e032, 0xeab2a7},
+  {0x8237e033, 0xeab2a8},
+  {0x8237e034, 0xeab2a9},
+  {0x8237e035, 0xeab2aa},
+  {0x8237e036, 0xeab2ab},
+  {0x8237e037, 0xeab2ac},
+  {0x8237e038, 0xeab2ad},
+  {0x8237e039, 0xeab2ae},
+  {0x8237e130, 0xeab2af},
+  {0x8237e131, 0xeab2b0},
+  {0x8237e132, 0xeab2b1},
+  {0x8237e133, 0xeab2b2},
+  {0x8237e134, 0xeab2b3},
+  {0x8237e135, 0xeab2b4},
+  {0x8237e136, 0xeab2b5},
+  {0x8237e137, 0xeab2b6},
+  {0x8237e138, 0xeab2b7},
+  {0x8237e139, 0xeab2b8},
+  {0x8237e230, 0xeab2b9},
+  {0x8237e231, 0xeab2ba},
+  {0x8237e232, 0xeab2bb},
+  {0x8237e233, 0xeab2bc},
+  {0x8237e234, 0xeab2bd},
+  {0x8237e235, 0xeab2be},
+  {0x8237e236, 0xeab2bf},
+  {0x8237e237, 0xeab380},
+  {0x8237e238, 0xeab381},
+  {0x8237e239, 0xeab382},
+  {0x8237e330, 0xeab383},
+  {0x8237e331, 0xeab384},
+  {0x8237e332, 0xeab385},
+  {0x8237e333, 0xeab386},
+  {0x8237e334, 0xeab387},
+  {0x8237e335, 0xeab388},
+  {0x8237e336, 0xeab389},
+  {0x8237e337, 0xeab38a},
+  {0x8237e338, 0xeab38b},
+  {0x8237e339, 0xeab38c},
+  {0x8237e430, 0xeab38d},
+  {0x8237e431, 0xeab38e},
+  {0x8237e432, 0xeab38f},
+  {0x8237e433, 0xeab390},
+  {0x8237e434, 0xeab391},
+  {0x8237e435, 0xeab392},
+  {0x8237e436, 0xeab393},
+  {0x8237e437, 0xeab394},
+  {0x8237e438, 0xeab395},
+  {0x8237e439, 0xeab396},
+  {0x8237e530, 0xeab397},
+  {0x8237e531, 0xeab398},
+  {0x8237e532, 0xeab399},
+  {0x8237e533, 0xeab39a},
+  {0x8237e534, 0xeab39b},
+  {0x8237e535, 0xeab39c},
+  {0x8237e536, 0xeab39d},
+  {0x8237e537, 0xeab39e},
+  {0x8237e538, 0xeab39f},
+  {0x8237e539, 0xeab3a0},
+  {0x8237e630, 0xeab3a1},
+  {0x8237e631, 0xeab3a2},
+  {0x8237e632, 0xeab3a3},
+  {0x8237e633, 0xeab3a4},
+  {0x8237e634, 0xeab3a5},
+  {0x8237e635, 0xeab3a6},
+  {0x8237e636, 0xeab3a7},
+  {0x8237e637, 0xeab3a8},
+  {0x8237e638, 0xeab3a9},
+  {0x8237e639, 0xeab3aa},
+  {0x8237e730, 0xeab3ab},
+  {0x8237e731, 0xeab3ac},
+  {0x8237e732, 0xeab3ad},
+  {0x8237e733, 0xeab3ae},
+  {0x8237e734, 0xeab3af},
+  {0x8237e735, 0xeab3b0},
+  {0x8237e736, 0xeab3b1},
+  {0x8237e737, 0xeab3b2},
+  {0x8237e738, 0xeab3b3},
+  {0x8237e739, 0xeab3b4},
+  {0x8237e830, 0xeab3b5},
+  {0x8237e831, 0xeab3b6},
+  {0x8237e832, 0xeab3b7},
+  {0x8237e833, 0xeab3b8},
+  {0x8237e834, 0xeab3b9},
+  {0x8237e835, 0xeab3ba},
+  {0x8237e836, 0xeab3bb},
+  {0x8237e837, 0xeab3bc},
+  {0x8237e838, 0xeab3bd},
+  {0x8237e839, 0xeab3be},
+  {0x8237e930, 0xeab3bf},
+  {0x8237e931, 0xeab480},
+  {0x8237e932, 0xeab481},
+  {0x8237e933, 0xeab482},
+  {0x8237e934, 0xeab483},
+  {0x8237e935, 0xeab484},
+  {0x8237e936, 0xeab485},
+  {0x8237e937, 0xeab486},
+  {0x8237e938, 0xeab487},
+  {0x8237e939, 0xeab488},
+  {0x8237ea30, 0xeab489},
+  {0x8237ea31, 0xeab48a},
+  {0x8237ea32, 0xeab48b},
+  {0x8237ea33, 0xeab48c},
+  {0x8237ea34, 0xeab48d},
+  {0x8237ea35, 0xeab48e},
+  {0x8237ea36, 0xeab48f},
+  {0x8237ea37, 0xeab490},
+  {0x8237ea38, 0xeab491},
+  {0x8237ea39, 0xeab492},
+  {0x8237eb30, 0xeab493},
+  {0x8237eb31, 0xeab494},
+  {0x8237eb32, 0xeab495},
+  {0x8237eb33, 0xeab496},
+  {0x8237eb34, 0xeab497},
+  {0x8237eb35, 0xeab498},
+  {0x8237eb36, 0xeab499},
+  {0x8237eb37, 0xeab49a},
+  {0x8237eb38, 0xeab49b},
+  {0x8237eb39, 0xeab49c},
+  {0x8237ec30, 0xeab49d},
+  {0x8237ec31, 0xeab49e},
+  {0x8237ec32, 0xeab49f},
+  {0x8237ec33, 0xeab4a0},
+  {0x8237ec34, 0xeab4a1},
+  {0x8237ec35, 0xeab4a2},
+  {0x8237ec36, 0xeab4a3},
+  {0x8237ec37, 0xeab4a4},
+  {0x8237ec38, 0xeab4a5},
+  {0x8237ec39, 0xeab4a6},
+  {0x8237ed30, 0xeab4a7},
+  {0x8237ed31, 0xeab4a8},
+  {0x8237ed32, 0xeab4a9},
+  {0x8237ed33, 0xeab4aa},
+  {0x8237ed34, 0xeab4ab},
+  {0x8237ed35, 0xeab4ac},
+  {0x8237ed36, 0xeab4ad},
+  {0x8237ed37, 0xeab4ae},
+  {0x8237ed38, 0xeab4af},
+  {0x8237ed39, 0xeab4b0},
+  {0x8237ee30, 0xeab4b1},
+  {0x8237ee31, 0xeab4b2},
+  {0x8237ee32, 0xeab4b3},
+  {0x8237ee33, 0xeab4b4},
+  {0x8237ee34, 0xeab4b5},
+  {0x8237ee35, 0xeab4b6},
+  {0x8237ee36, 0xeab4b7},
+  {0x8237ee37, 0xeab4b8},
+  {0x8237ee38, 0xeab4b9},
+  {0x8237ee39, 0xeab4ba},
+  {0x8237ef30, 0xeab4bb},
+  {0x8237ef31, 0xeab4bc},
+  {0x8237ef32, 0xeab4bd},
+  {0x8237ef33, 0xeab4be},
+  {0x8237ef34, 0xeab4bf},
+  {0x8237ef35, 0xeab580},
+  {0x8237ef36, 0xeab581},
+  {0x8237ef37, 0xeab582},
+  {0x8237ef38, 0xeab583},
+  {0x8237ef39, 0xeab584},
+  {0x8237f030, 0xeab585},
+  {0x8237f031, 0xeab586},
+  {0x8237f032, 0xeab587},
+  {0x8237f033, 0xeab588},
+  {0x8237f034, 0xeab589},
+  {0x8237f035, 0xeab58a},
+  {0x8237f036, 0xeab58b},
+  {0x8237f037, 0xeab58c},
+  {0x8237f038, 0xeab58d},
+  {0x8237f039, 0xeab58e},
+  {0x8237f130, 0xeab58f},
+  {0x8237f131, 0xeab590},
+  {0x8237f132, 0xeab591},
+  {0x8237f133, 0xeab592},
+  {0x8237f134, 0xeab593},
+  {0x8237f135, 0xeab594},
+  {0x8237f136, 0xeab595},
+  {0x8237f137, 0xeab596},
+  {0x8237f138, 0xeab597},
+  {0x8237f139, 0xeab598},
+  {0x8237f230, 0xeab599},
+  {0x8237f231, 0xeab59a},
+  {0x8237f232, 0xeab59b},
+  {0x8237f233, 0xeab59c},
+  {0x8237f234, 0xeab59d},
+  {0x8237f235, 0xeab59e},
+  {0x8237f236, 0xeab59f},
+  {0x8237f237, 0xeab5a0},
+  {0x8237f238, 0xeab5a1},
+  {0x8237f239, 0xeab5a2},
+  {0x8237f330, 0xeab5a3},
+  {0x8237f331, 0xeab5a4},
+  {0x8237f332, 0xeab5a5},
+  {0x8237f333, 0xeab5a6},
+  {0x8237f334, 0xeab5a7},
+  {0x8237f335, 0xeab5a8},
+  {0x8237f336, 0xeab5a9},
+  {0x8237f337, 0xeab5aa},
+  {0x8237f338, 0xeab5ab},
+  {0x8237f339, 0xeab5ac},
+  {0x8237f430, 0xeab5ad},
+  {0x8237f431, 0xeab5ae},
+  {0x8237f432, 0xeab5af},
+  {0x8237f433, 0xeab5b0},
+  {0x8237f434, 0xeab5b1},
+  {0x8237f435, 0xeab5b2},
+  {0x8237f436, 0xeab5b3},
+  {0x8237f437, 0xeab5b4},
+  {0x8237f438, 0xeab5b5},
+  {0x8237f439, 0xeab5b6},
+  {0x8237f530, 0xeab5b7},
+  {0x8237f531, 0xeab5b8},
+  {0x8237f532, 0xeab5b9},
+  {0x8237f533, 0xeab5ba},
+  {0x8237f534, 0xeab5bb},
+  {0x8237f535, 0xeab5bc},
+  {0x8237f536, 0xeab5bd},
+  {0x8237f537, 0xeab5be},
+  {0x8237f538, 0xeab5bf},
+  {0x8237f539, 0xeab680},
+  {0x8237f630, 0xeab681},
+  {0x8237f631, 0xeab682},
+  {0x8237f632, 0xeab683},
+  {0x8237f633, 0xeab684},
+  {0x8237f634, 0xeab685},
+  {0x8237f635, 0xeab686},
+  {0x8237f636, 0xeab687},
+  {0x8237f637, 0xeab688},
+  {0x8237f638, 0xeab689},
+  {0x8237f639, 0xeab68a},
+  {0x8237f730, 0xeab68b},
+  {0x8237f731, 0xeab68c},
+  {0x8237f732, 0xeab68d},
+  {0x8237f733, 0xeab68e},
+  {0x8237f734, 0xeab68f},
+  {0x8237f735, 0xeab690},
+  {0x8237f736, 0xeab691},
+  {0x8237f737, 0xeab692},
+  {0x8237f738, 0xeab693},
+  {0x8237f739, 0xeab694},
+  {0x8237f830, 0xeab695},
+  {0x8237f831, 0xeab696},
+  {0x8237f832, 0xeab697},
+  {0x8237f833, 0xeab698},
+  {0x8237f834, 0xeab699},
+  {0x8237f835, 0xeab69a},
+  {0x8237f836, 0xeab69b},
+  {0x8237f837, 0xeab69c},
+  {0x8237f838, 0xeab69d},
+  {0x8237f839, 0xeab69e},
+  {0x8237f930, 0xeab69f},
+  {0x8237f931, 0xeab6a0},
+  {0x8237f932, 0xeab6a1},
+  {0x8237f933, 0xeab6a2},
+  {0x8237f934, 0xeab6a3},
+  {0x8237f935, 0xeab6a4},
+  {0x8237f936, 0xeab6a5},
+  {0x8237f937, 0xeab6a6},
+  {0x8237f938, 0xeab6a7},
+  {0x8237f939, 0xeab6a8},
+  {0x8237fa30, 0xeab6a9},
+  {0x8237fa31, 0xeab6aa},
+  {0x8237fa32, 0xeab6ab},
+  {0x8237fa33, 0xeab6ac},
+  {0x8237fa34, 0xeab6ad},
+  {0x8237fa35, 0xeab6ae},
+  {0x8237fa36, 0xeab6af},
+  {0x8237fa37, 0xeab6b0},
+  {0x8237fa38, 0xeab6b1},
+  {0x8237fa39, 0xeab6b2},
+  {0x8237fb30, 0xeab6b3},
+  {0x8237fb31, 0xeab6b4},
+  {0x8237fb32, 0xeab6b5},
+  {0x8237fb33, 0xeab6b6},
+  {0x8237fb34, 0xeab6b7},
+  {0x8237fb35, 0xeab6b8},
+  {0x8237fb36, 0xeab6b9},
+  {0x8237fb37, 0xeab6ba},
+  {0x8237fb38, 0xeab6bb},
+  {0x8237fb39, 0xeab6bc},
+  {0x8237fc30, 0xeab6bd},
+  {0x8237fc31, 0xeab6be},
+  {0x8237fc32, 0xeab6bf},
+  {0x8237fc33, 0xeab780},
+  {0x8237fc34, 0xeab781},
+  {0x8237fc35, 0xeab782},
+  {0x8237fc36, 0xeab783},
+  {0x8237fc37, 0xeab784},
+  {0x8237fc38, 0xeab785},
+  {0x8237fc39, 0xeab786},
+  {0x8237fd30, 0xeab787},
+  {0x8237fd31, 0xeab788},
+  {0x8237fd32, 0xeab789},
+  {0x8237fd33, 0xeab78a},
+  {0x8237fd34, 0xeab78b},
+  {0x8237fd35, 0xeab78c},
+  {0x8237fd36, 0xeab78d},
+  {0x8237fd37, 0xeab78e},
+  {0x8237fd38, 0xeab78f},
+  {0x8237fd39, 0xeab790},
+  {0x8237fe30, 0xeab791},
+  {0x8237fe31, 0xeab792},
+  {0x8237fe32, 0xeab793},
+  {0x8237fe33, 0xeab794},
+  {0x8237fe34, 0xeab795},
+  {0x8237fe35, 0xeab796},
+  {0x8237fe36, 0xeab797},
+  {0x8237fe37, 0xeab798},
+  {0x8237fe38, 0xeab799},
+  {0x8237fe39, 0xeab79a},
+  {0x82388130, 0xeab79b},
+  {0x82388131, 0xeab79c},
+  {0x82388132, 0xeab79d},
+  {0x82388133, 0xeab79e},
+  {0x82388134, 0xeab79f},
+  {0x82388135, 0xeab7a0},
+  {0x82388136, 0xeab7a1},
+  {0x82388137, 0xeab7a2},
+  {0x82388138, 0xeab7a3},
+  {0x82388139, 0xeab7a4},
+  {0x82388230, 0xeab7a5},
+  {0x82388231, 0xeab7a6},
+  {0x82388232, 0xeab7a7},
+  {0x82388233, 0xeab7a8},
+  {0x82388234, 0xeab7a9},
+  {0x82388235, 0xeab7aa},
+  {0x82388236, 0xeab7ab},
+  {0x82388237, 0xeab7ac},
+  {0x82388238, 0xeab7ad},
+  {0x82388239, 0xeab7ae},
+  {0x82388330, 0xeab7af},
+  {0x82388331, 0xeab7b0},
+  {0x82388332, 0xeab7b1},
+  {0x82388333, 0xeab7b2},
+  {0x82388334, 0xeab7b3},
+  {0x82388335, 0xeab7b4},
+  {0x82388336, 0xeab7b5},
+  {0x82388337, 0xeab7b6},
+  {0x82388338, 0xeab7b7},
+  {0x82388339, 0xeab7b8},
+  {0x82388430, 0xeab7b9},
+  {0x82388431, 0xeab7ba},
+  {0x82388432, 0xeab7bb},
+  {0x82388433, 0xeab7bc},
+  {0x82388434, 0xeab7bd},
+  {0x82388435, 0xeab7be},
+  {0x82388436, 0xeab7bf},
+  {0x82388437, 0xeab880},
+  {0x82388438, 0xeab881},
+  {0x82388439, 0xeab882},
+  {0x82388530, 0xeab883},
+  {0x82388531, 0xeab884},
+  {0x82388532, 0xeab885},
+  {0x82388533, 0xeab886},
+  {0x82388534, 0xeab887},
+  {0x82388535, 0xeab888},
+  {0x82388536, 0xeab889},
+  {0x82388537, 0xeab88a},
+  {0x82388538, 0xeab88b},
+  {0x82388539, 0xeab88c},
+  {0x82388630, 0xeab88d},
+  {0x82388631, 0xeab88e},
+  {0x82388632, 0xeab88f},
+  {0x82388633, 0xeab890},
+  {0x82388634, 0xeab891},
+  {0x82388635, 0xeab892},
+  {0x82388636, 0xeab893},
+  {0x82388637, 0xeab894},
+  {0x82388638, 0xeab895},
+  {0x82388639, 0xeab896},
+  {0x82388730, 0xeab897},
+  {0x82388731, 0xeab898},
+  {0x82388732, 0xeab899},
+  {0x82388733, 0xeab89a},
+  {0x82388734, 0xeab89b},
+  {0x82388735, 0xeab89c},
+  {0x82388736, 0xeab89d},
+  {0x82388737, 0xeab89e},
+  {0x82388738, 0xeab89f},
+  {0x82388739, 0xeab8a0},
+  {0x82388830, 0xeab8a1},
+  {0x82388831, 0xeab8a2},
+  {0x82388832, 0xeab8a3},
+  {0x82388833, 0xeab8a4},
+  {0x82388834, 0xeab8a5},
+  {0x82388835, 0xeab8a6},
+  {0x82388836, 0xeab8a7},
+  {0x82388837, 0xeab8a8},
+  {0x82388838, 0xeab8a9},
+  {0x82388839, 0xeab8aa},
+  {0x82388930, 0xeab8ab},
+  {0x82388931, 0xeab8ac},
+  {0x82388932, 0xeab8ad},
+  {0x82388933, 0xeab8ae},
+  {0x82388934, 0xeab8af},
+  {0x82388935, 0xeab8b0},
+  {0x82388936, 0xeab8b1},
+  {0x82388937, 0xeab8b2},
+  {0x82388938, 0xeab8b3},
+  {0x82388939, 0xeab8b4},
+  {0x82388a30, 0xeab8b5},
+  {0x82388a31, 0xeab8b6},
+  {0x82388a32, 0xeab8b7},
+  {0x82388a33, 0xeab8b8},
+  {0x82388a34, 0xeab8b9},
+  {0x82388a35, 0xeab8ba},
+  {0x82388a36, 0xeab8bb},
+  {0x82388a37, 0xeab8bc},
+  {0x82388a38, 0xeab8bd},
+  {0x82388a39, 0xeab8be},
+  {0x82388b30, 0xeab8bf},
+  {0x82388b31, 0xeab980},
+  {0x82388b32, 0xeab981},
+  {0x82388b33, 0xeab982},
+  {0x82388b34, 0xeab983},
+  {0x82388b35, 0xeab984},
+  {0x82388b36, 0xeab985},
+  {0x82388b37, 0xeab986},
+  {0x82388b38, 0xeab987},
+  {0x82388b39, 0xeab988},
+  {0x82388c30, 0xeab989},
+  {0x82388c31, 0xeab98a},
+  {0x82388c32, 0xeab98b},
+  {0x82388c33, 0xeab98c},
+  {0x82388c34, 0xeab98d},
+  {0x82388c35, 0xeab98e},
+  {0x82388c36, 0xeab98f},
+  {0x82388c37, 0xeab990},
+  {0x82388c38, 0xeab991},
+  {0x82388c39, 0xeab992},
+  {0x82388d30, 0xeab993},
+  {0x82388d31, 0xeab994},
+  {0x82388d32, 0xeab995},
+  {0x82388d33, 0xeab996},
+  {0x82388d34, 0xeab997},
+  {0x82388d35, 0xeab998},
+  {0x82388d36, 0xeab999},
+  {0x82388d37, 0xeab99a},
+  {0x82388d38, 0xeab99b},
+  {0x82388d39, 0xeab99c},
+  {0x82388e30, 0xeab99d},
+  {0x82388e31, 0xeab99e},
+  {0x82388e32, 0xeab99f},
+  {0x82388e33, 0xeab9a0},
+  {0x82388e34, 0xeab9a1},
+  {0x82388e35, 0xeab9a2},
+  {0x82388e36, 0xeab9a3},
+  {0x82388e37, 0xeab9a4},
+  {0x82388e38, 0xeab9a5},
+  {0x82388e39, 0xeab9a6},
+  {0x82388f30, 0xeab9a7},
+  {0x82388f31, 0xeab9a8},
+  {0x82388f32, 0xeab9a9},
+  {0x82388f33, 0xeab9aa},
+  {0x82388f34, 0xeab9ab},
+  {0x82388f35, 0xeab9ac},
+  {0x82388f36, 0xeab9ad},
+  {0x82388f37, 0xeab9ae},
+  {0x82388f38, 0xeab9af},
+  {0x82388f39, 0xeab9b0},
+  {0x82389030, 0xeab9b1},
+  {0x82389031, 0xeab9b2},
+  {0x82389032, 0xeab9b3},
+  {0x82389033, 0xeab9b4},
+  {0x82389034, 0xeab9b5},
+  {0x82389035, 0xeab9b6},
+  {0x82389036, 0xeab9b7},
+  {0x82389037, 0xeab9b8},
+  {0x82389038, 0xeab9b9},
+  {0x82389039, 0xeab9ba},
+  {0x82389130, 0xeab9bb},
+  {0x82389131, 0xeab9bc},
+  {0x82389132, 0xeab9bd},
+  {0x82389133, 0xeab9be},
+  {0x82389134, 0xeab9bf},
+  {0x82389135, 0xeaba80},
+  {0x82389136, 0xeaba81},
+  {0x82389137, 0xeaba82},
+  {0x82389138, 0xeaba83},
+  {0x82389139, 0xeaba84},
+  {0x82389230, 0xeaba85},
+  {0x82389231, 0xeaba86},
+  {0x82389232, 0xeaba87},
+  {0x82389233, 0xeaba88},
+  {0x82389234, 0xeaba89},
+  {0x82389235, 0xeaba8a},
+  {0x82389236, 0xeaba8b},
+  {0x82389237, 0xeaba8c},
+  {0x82389238, 0xeaba8d},
+  {0x82389239, 0xeaba8e},
+  {0x82389330, 0xeaba8f},
+  {0x82389331, 0xeaba90},
+  {0x82389332, 0xeaba91},
+  {0x82389333, 0xeaba92},
+  {0x82389334, 0xeaba93},
+  {0x82389335, 0xeaba94},
+  {0x82389336, 0xeaba95},
+  {0x82389337, 0xeaba96},
+  {0x82389338, 0xeaba97},
+  {0x82389339, 0xeaba98},
+  {0x82389430, 0xeaba99},
+  {0x82389431, 0xeaba9a},
+  {0x82389432, 0xeaba9b},
+  {0x82389433, 0xeaba9c},
+  {0x82389434, 0xeaba9d},
+  {0x82389435, 0xeaba9e},
+  {0x82389436, 0xeaba9f},
+  {0x82389437, 0xeabaa0},
+  {0x82389438, 0xeabaa1},
+  {0x82389439, 0xeabaa2},
+  {0x82389530, 0xeabaa3},
+  {0x82389531, 0xeabaa4},
+  {0x82389532, 0xeabaa5},
+  {0x82389533, 0xeabaa6},
+  {0x82389534, 0xeabaa7},
+  {0x82389535, 0xeabaa8},
+  {0x82389536, 0xeabaa9},
+  {0x82389537, 0xeabaaa},
+  {0x82389538, 0xeabaab},
+  {0x82389539, 0xeabaac},
+  {0x82389630, 0xeabaad},
+  {0x82389631, 0xeabaae},
+  {0x82389632, 0xeabaaf},
+  {0x82389633, 0xeabab0},
+  {0x82389634, 0xeabab1},
+  {0x82389635, 0xeabab2},
+  {0x82389636, 0xeabab3},
+  {0x82389637, 0xeabab4},
+  {0x82389638, 0xeabab5},
+  {0x82389639, 0xeabab6},
+  {0x82389730, 0xeabab7},
+  {0x82389731, 0xeabab8},
+  {0x82389732, 0xeabab9},
+  {0x82389733, 0xeababa},
+  {0x82389734, 0xeababb},
+  {0x82389735, 0xeababc},
+  {0x82389736, 0xeababd},
+  {0x82389737, 0xeababe},
+  {0x82389738, 0xeababf},
+  {0x82389739, 0xeabb80},
+  {0x82389830, 0xeabb81},
+  {0x82389831, 0xeabb82},
+  {0x82389832, 0xeabb83},
+  {0x82389833, 0xeabb84},
+  {0x82389834, 0xeabb85},
+  {0x82389835, 0xeabb86},
+  {0x82389836, 0xeabb87},
+  {0x82389837, 0xeabb88},
+  {0x82389838, 0xeabb89},
+  {0x82389839, 0xeabb8a},
+  {0x82389930, 0xeabb8b},
+  {0x82389931, 0xeabb8c},
+  {0x82389932, 0xeabb8d},
+  {0x82389933, 0xeabb8e},
+  {0x82389934, 0xeabb8f},
+  {0x82389935, 0xeabb90},
+  {0x82389936, 0xeabb91},
+  {0x82389937, 0xeabb92},
+  {0x82389938, 0xeabb93},
+  {0x82389939, 0xeabb94},
+  {0x82389a30, 0xeabb95},
+  {0x82389a31, 0xeabb96},
+  {0x82389a32, 0xeabb97},
+  {0x82389a33, 0xeabb98},
+  {0x82389a34, 0xeabb99},
+  {0x82389a35, 0xeabb9a},
+  {0x82389a36, 0xeabb9b},
+  {0x82389a37, 0xeabb9c},
+  {0x82389a38, 0xeabb9d},
+  {0x82389a39, 0xeabb9e},
+  {0x82389b30, 0xeabb9f},
+  {0x82389b31, 0xeabba0},
+  {0x82389b32, 0xeabba1},
+  {0x82389b33, 0xeabba2},
+  {0x82389b34, 0xeabba3},
+  {0x82389b35, 0xeabba4},
+  {0x82389b36, 0xeabba5},
+  {0x82389b37, 0xeabba6},
+  {0x82389b38, 0xeabba7},
+  {0x82389b39, 0xeabba8},
+  {0x82389c30, 0xeabba9},
+  {0x82389c31, 0xeabbaa},
+  {0x82389c32, 0xeabbab},
+  {0x82389c33, 0xeabbac},
+  {0x82389c34, 0xeabbad},
+  {0x82389c35, 0xeabbae},
+  {0x82389c36, 0xeabbaf},
+  {0x82389c37, 0xeabbb0},
+  {0x82389c38, 0xeabbb1},
+  {0x82389c39, 0xeabbb2},
+  {0x82389d30, 0xeabbb3},
+  {0x82389d31, 0xeabbb4},
+  {0x82389d32, 0xeabbb5},
+  {0x82389d33, 0xeabbb6},
+  {0x82389d34, 0xeabbb7},
+  {0x82389d35, 0xeabbb8},
+  {0x82389d36, 0xeabbb9},
+  {0x82389d37, 0xeabbba},
+  {0x82389d38, 0xeabbbb},
+  {0x82389d39, 0xeabbbc},
+  {0x82389e30, 0xeabbbd},
+  {0x82389e31, 0xeabbbe},
+  {0x82389e32, 0xeabbbf},
+  {0x82389e33, 0xeabc80},
+  {0x82389e34, 0xeabc81},
+  {0x82389e35, 0xeabc82},
+  {0x82389e36, 0xeabc83},
+  {0x82389e37, 0xeabc84},
+  {0x82389e38, 0xeabc85},
+  {0x82389e39, 0xeabc86},
+  {0x82389f30, 0xeabc87},
+  {0x82389f31, 0xeabc88},
+  {0x82389f32, 0xeabc89},
+  {0x82389f33, 0xeabc8a},
+  {0x82389f34, 0xeabc8b},
+  {0x82389f35, 0xeabc8c},
+  {0x82389f36, 0xeabc8d},
+  {0x82389f37, 0xeabc8e},
+  {0x82389f38, 0xeabc8f},
+  {0x82389f39, 0xeabc90},
+  {0x8238a030, 0xeabc91},
+  {0x8238a031, 0xeabc92},
+  {0x8238a032, 0xeabc93},
+  {0x8238a033, 0xeabc94},
+  {0x8238a034, 0xeabc95},
+  {0x8238a035, 0xeabc96},
+  {0x8238a036, 0xeabc97},
+  {0x8238a037, 0xeabc98},
+  {0x8238a038, 0xeabc99},
+  {0x8238a039, 0xeabc9a},
+  {0x8238a130, 0xeabc9b},
+  {0x8238a131, 0xeabc9c},
+  {0x8238a132, 0xeabc9d},
+  {0x8238a133, 0xeabc9e},
+  {0x8238a134, 0xeabc9f},
+  {0x8238a135, 0xeabca0},
+  {0x8238a136, 0xeabca1},
+  {0x8238a137, 0xeabca2},
+  {0x8238a138, 0xeabca3},
+  {0x8238a139, 0xeabca4},
+  {0x8238a230, 0xeabca5},
+  {0x8238a231, 0xeabca6},
+  {0x8238a232, 0xeabca7},
+  {0x8238a233, 0xeabca8},
+  {0x8238a234, 0xeabca9},
+  {0x8238a235, 0xeabcaa},
+  {0x8238a236, 0xeabcab},
+  {0x8238a237, 0xeabcac},
+  {0x8238a238, 0xeabcad},
+  {0x8238a239, 0xeabcae},
+  {0x8238a330, 0xeabcaf},
+  {0x8238a331, 0xeabcb0},
+  {0x8238a332, 0xeabcb1},
+  {0x8238a333, 0xeabcb2},
+  {0x8238a334, 0xeabcb3},
+  {0x8238a335, 0xeabcb4},
+  {0x8238a336, 0xeabcb5},
+  {0x8238a337, 0xeabcb6},
+  {0x8238a338, 0xeabcb7},
+  {0x8238a339, 0xeabcb8},
+  {0x8238a430, 0xeabcb9},
+  {0x8238a431, 0xeabcba},
+  {0x8238a432, 0xeabcbb},
+  {0x8238a433, 0xeabcbc},
+  {0x8238a434, 0xeabcbd},
+  {0x8238a435, 0xeabcbe},
+  {0x8238a436, 0xeabcbf},
+  {0x8238a437, 0xeabd80},
+  {0x8238a438, 0xeabd81},
+  {0x8238a439, 0xeabd82},
+  {0x8238a530, 0xeabd83},
+  {0x8238a531, 0xeabd84},
+  {0x8238a532, 0xeabd85},
+  {0x8238a533, 0xeabd86},
+  {0x8238a534, 0xeabd87},
+  {0x8238a535, 0xeabd88},
+  {0x8238a536, 0xeabd89},
+  {0x8238a537, 0xeabd8a},
+  {0x8238a538, 0xeabd8b},
+  {0x8238a539, 0xeabd8c},
+  {0x8238a630, 0xeabd8d},
+  {0x8238a631, 0xeabd8e},
+  {0x8238a632, 0xeabd8f},
+  {0x8238a633, 0xeabd90},
+  {0x8238a634, 0xeabd91},
+  {0x8238a635, 0xeabd92},
+  {0x8238a636, 0xeabd93},
+  {0x8238a637, 0xeabd94},
+  {0x8238a638, 0xeabd95},
+  {0x8238a639, 0xeabd96},
+  {0x8238a730, 0xeabd97},
+  {0x8238a731, 0xeabd98},
+  {0x8238a732, 0xeabd99},
+  {0x8238a733, 0xeabd9a},
+  {0x8238a734, 0xeabd9b},
+  {0x8238a735, 0xeabd9c},
+  {0x8238a736, 0xeabd9d},
+  {0x8238a737, 0xeabd9e},
+  {0x8238a738, 0xeabd9f},
+  {0x8238a739, 0xeabda0},
+  {0x8238a830, 0xeabda1},
+  {0x8238a831, 0xeabda2},
+  {0x8238a832, 0xeabda3},
+  {0x8238a833, 0xeabda4},
+  {0x8238a834, 0xeabda5},
+  {0x8238a835, 0xeabda6},
+  {0x8238a836, 0xeabda7},
+  {0x8238a837, 0xeabda8},
+  {0x8238a838, 0xeabda9},
+  {0x8238a839, 0xeabdaa},
+  {0x8238a930, 0xeabdab},
+  {0x8238a931, 0xeabdac},
+  {0x8238a932, 0xeabdad},
+  {0x8238a933, 0xeabdae},
+  {0x8238a934, 0xeabdaf},
+  {0x8238a935, 0xeabdb0},
+  {0x8238a936, 0xeabdb1},
+  {0x8238a937, 0xeabdb2},
+  {0x8238a938, 0xeabdb3},
+  {0x8238a939, 0xeabdb4},
+  {0x8238aa30, 0xeabdb5},
+  {0x8238aa31, 0xeabdb6},
+  {0x8238aa32, 0xeabdb7},
+  {0x8238aa33, 0xeabdb8},
+  {0x8238aa34, 0xeabdb9},
+  {0x8238aa35, 0xeabdba},
+  {0x8238aa36, 0xeabdbb},
+  {0x8238aa37, 0xeabdbc},
+  {0x8238aa38, 0xeabdbd},
+  {0x8238aa39, 0xeabdbe},
+  {0x8238ab30, 0xeabdbf},
+  {0x8238ab31, 0xeabe80},
+  {0x8238ab32, 0xeabe81},
+  {0x8238ab33, 0xeabe82},
+  {0x8238ab34, 0xeabe83},
+  {0x8238ab35, 0xeabe84},
+  {0x8238ab36, 0xeabe85},
+  {0x8238ab37, 0xeabe86},
+  {0x8238ab38, 0xeabe87},
+  {0x8238ab39, 0xeabe88},
+  {0x8238ac30, 0xeabe89},
+  {0x8238ac31, 0xeabe8a},
+  {0x8238ac32, 0xeabe8b},
+  {0x8238ac33, 0xeabe8c},
+  {0x8238ac34, 0xeabe8d},
+  {0x8238ac35, 0xeabe8e},
+  {0x8238ac36, 0xeabe8f},
+  {0x8238ac37, 0xeabe90},
+  {0x8238ac38, 0xeabe91},
+  {0x8238ac39, 0xeabe92},
+  {0x8238ad30, 0xeabe93},
+  {0x8238ad31, 0xeabe94},
+  {0x8238ad32, 0xeabe95},
+  {0x8238ad33, 0xeabe96},
+  {0x8238ad34, 0xeabe97},
+  {0x8238ad35, 0xeabe98},
+  {0x8238ad36, 0xeabe99},
+  {0x8238ad37, 0xeabe9a},
+  {0x8238ad38, 0xeabe9b},
+  {0x8238ad39, 0xeabe9c},
+  {0x8238ae30, 0xeabe9d},
+  {0x8238ae31, 0xeabe9e},
+  {0x8238ae32, 0xeabe9f},
+  {0x8238ae33, 0xeabea0},
+  {0x8238ae34, 0xeabea1},
+  {0x8238ae35, 0xeabea2},
+  {0x8238ae36, 0xeabea3},
+  {0x8238ae37, 0xeabea4},
+  {0x8238ae38, 0xeabea5},
+  {0x8238ae39, 0xeabea6},
+  {0x8238af30, 0xeabea7},
+  {0x8238af31, 0xeabea8},
+  {0x8238af32, 0xeabea9},
+  {0x8238af33, 0xeabeaa},
+  {0x8238af34, 0xeabeab},
+  {0x8238af35, 0xeabeac},
+  {0x8238af36, 0xeabead},
+  {0x8238af37, 0xeabeae},
+  {0x8238af38, 0xeabeaf},
+  {0x8238af39, 0xeabeb0},
+  {0x8238b030, 0xeabeb1},
+  {0x8238b031, 0xeabeb2},
+  {0x8238b032, 0xeabeb3},
+  {0x8238b033, 0xeabeb4},
+  {0x8238b034, 0xeabeb5},
+  {0x8238b035, 0xeabeb6},
+  {0x8238b036, 0xeabeb7},
+  {0x8238b037, 0xeabeb8},
+  {0x8238b038, 0xeabeb9},
+  {0x8238b039, 0xeabeba},
+  {0x8238b130, 0xeabebb},
+  {0x8238b131, 0xeabebc},
+  {0x8238b132, 0xeabebd},
+  {0x8238b133, 0xeabebe},
+  {0x8238b134, 0xeabebf},
+  {0x8238b135, 0xeabf80},
+  {0x8238b136, 0xeabf81},
+  {0x8238b137, 0xeabf82},
+  {0x8238b138, 0xeabf83},
+  {0x8238b139, 0xeabf84},
+  {0x8238b230, 0xeabf85},
+  {0x8238b231, 0xeabf86},
+  {0x8238b232, 0xeabf87},
+  {0x8238b233, 0xeabf88},
+  {0x8238b234, 0xeabf89},
+  {0x8238b235, 0xeabf8a},
+  {0x8238b236, 0xeabf8b},
+  {0x8238b237, 0xeabf8c},
+  {0x8238b238, 0xeabf8d},
+  {0x8238b239, 0xeabf8e},
+  {0x8238b330, 0xeabf8f},
+  {0x8238b331, 0xeabf90},
+  {0x8238b332, 0xeabf91},
+  {0x8238b333, 0xeabf92},
+  {0x8238b334, 0xeabf93},
+  {0x8238b335, 0xeabf94},
+  {0x8238b336, 0xeabf95},
+  {0x8238b337, 0xeabf96},
+  {0x8238b338, 0xeabf97},
+  {0x8238b339, 0xeabf98},
+  {0x8238b430, 0xeabf99},
+  {0x8238b431, 0xeabf9a},
+  {0x8238b432, 0xeabf9b},
+  {0x8238b433, 0xeabf9c},
+  {0x8238b434, 0xeabf9d},
+  {0x8238b435, 0xeabf9e},
+  {0x8238b436, 0xeabf9f},
+  {0x8238b437, 0xeabfa0},
+  {0x8238b438, 0xeabfa1},
+  {0x8238b439, 0xeabfa2},
+  {0x8238b530, 0xeabfa3},
+  {0x8238b531, 0xeabfa4},
+  {0x8238b532, 0xeabfa5},
+  {0x8238b533, 0xeabfa6},
+  {0x8238b534, 0xeabfa7},
+  {0x8238b535, 0xeabfa8},
+  {0x8238b536, 0xeabfa9},
+  {0x8238b537, 0xeabfaa},
+  {0x8238b538, 0xeabfab},
+  {0x8238b539, 0xeabfac},
+  {0x8238b630, 0xeabfad},
+  {0x8238b631, 0xeabfae},
+  {0x8238b632, 0xeabfaf},
+  {0x8238b633, 0xeabfb0},
+  {0x8238b634, 0xeabfb1},
+  {0x8238b635, 0xeabfb2},
+  {0x8238b636, 0xeabfb3},
+  {0x8238b637, 0xeabfb4},
+  {0x8238b638, 0xeabfb5},
+  {0x8238b639, 0xeabfb6},
+  {0x8238b730, 0xeabfb7},
+  {0x8238b731, 0xeabfb8},
+  {0x8238b732, 0xeabfb9},
+  {0x8238b733, 0xeabfba},
+  {0x8238b734, 0xeabfbb},
+  {0x8238b735, 0xeabfbc},
+  {0x8238b736, 0xeabfbd},
+  {0x8238b737, 0xeabfbe},
+  {0x8238b738, 0xeabfbf},
+  {0x8238b739, 0xeb8080},
+  {0x8238b830, 0xeb8081},
+  {0x8238b831, 0xeb8082},
+  {0x8238b832, 0xeb8083},
+  {0x8238b833, 0xeb8084},
+  {0x8238b834, 0xeb8085},
+  {0x8238b835, 0xeb8086},
+  {0x8238b836, 0xeb8087},
+  {0x8238b837, 0xeb8088},
+  {0x8238b838, 0xeb8089},
+  {0x8238b839, 0xeb808a},
+  {0x8238b930, 0xeb808b},
+  {0x8238b931, 0xeb808c},
+  {0x8238b932, 0xeb808d},
+  {0x8238b933, 0xeb808e},
+  {0x8238b934, 0xeb808f},
+  {0x8238b935, 0xeb8090},
+  {0x8238b936, 0xeb8091},
+  {0x8238b937, 0xeb8092},
+  {0x8238b938, 0xeb8093},
+  {0x8238b939, 0xeb8094},
+  {0x8238ba30, 0xeb8095},
+  {0x8238ba31, 0xeb8096},
+  {0x8238ba32, 0xeb8097},
+  {0x8238ba33, 0xeb8098},
+  {0x8238ba34, 0xeb8099},
+  {0x8238ba35, 0xeb809a},
+  {0x8238ba36, 0xeb809b},
+  {0x8238ba37, 0xeb809c},
+  {0x8238ba38, 0xeb809d},
+  {0x8238ba39, 0xeb809e},
+  {0x8238bb30, 0xeb809f},
+  {0x8238bb31, 0xeb80a0},
+  {0x8238bb32, 0xeb80a1},
+  {0x8238bb33, 0xeb80a2},
+  {0x8238bb34, 0xeb80a3},
+  {0x8238bb35, 0xeb80a4},
+  {0x8238bb36, 0xeb80a5},
+  {0x8238bb37, 0xeb80a6},
+  {0x8238bb38, 0xeb80a7},
+  {0x8238bb39, 0xeb80a8},
+  {0x8238bc30, 0xeb80a9},
+  {0x8238bc31, 0xeb80aa},
+  {0x8238bc32, 0xeb80ab},
+  {0x8238bc33, 0xeb80ac},
+  {0x8238bc34, 0xeb80ad},
+  {0x8238bc35, 0xeb80ae},
+  {0x8238bc36, 0xeb80af},
+  {0x8238bc37, 0xeb80b0},
+  {0x8238bc38, 0xeb80b1},
+  {0x8238bc39, 0xeb80b2},
+  {0x8238bd30, 0xeb80b3},
+  {0x8238bd31, 0xeb80b4},
+  {0x8238bd32, 0xeb80b5},
+  {0x8238bd33, 0xeb80b6},
+  {0x8238bd34, 0xeb80b7},
+  {0x8238bd35, 0xeb80b8},
+  {0x8238bd36, 0xeb80b9},
+  {0x8238bd37, 0xeb80ba},
+  {0x8238bd38, 0xeb80bb},
+  {0x8238bd39, 0xeb80bc},
+  {0x8238be30, 0xeb80bd},
+  {0x8238be31, 0xeb80be},
+  {0x8238be32, 0xeb80bf},
+  {0x8238be33, 0xeb8180},
+  {0x8238be34, 0xeb8181},
+  {0x8238be35, 0xeb8182},
+  {0x8238be36, 0xeb8183},
+  {0x8238be37, 0xeb8184},
+  {0x8238be38, 0xeb8185},
+  {0x8238be39, 0xeb8186},
+  {0x8238bf30, 0xeb8187},
+  {0x8238bf31, 0xeb8188},
+  {0x8238bf32, 0xeb8189},
+  {0x8238bf33, 0xeb818a},
+  {0x8238bf34, 0xeb818b},
+  {0x8238bf35, 0xeb818c},
+  {0x8238bf36, 0xeb818d},
+  {0x8238bf37, 0xeb818e},
+  {0x8238bf38, 0xeb818f},
+  {0x8238bf39, 0xeb8190},
+  {0x8238c030, 0xeb8191},
+  {0x8238c031, 0xeb8192},
+  {0x8238c032, 0xeb8193},
+  {0x8238c033, 0xeb8194},
+  {0x8238c034, 0xeb8195},
+  {0x8238c035, 0xeb8196},
+  {0x8238c036, 0xeb8197},
+  {0x8238c037, 0xeb8198},
+  {0x8238c038, 0xeb8199},
+  {0x8238c039, 0xeb819a},
+  {0x8238c130, 0xeb819b},
+  {0x8238c131, 0xeb819c},
+  {0x8238c132, 0xeb819d},
+  {0x8238c133, 0xeb819e},
+  {0x8238c134, 0xeb819f},
+  {0x8238c135, 0xeb81a0},
+  {0x8238c136, 0xeb81a1},
+  {0x8238c137, 0xeb81a2},
+  {0x8238c138, 0xeb81a3},
+  {0x8238c139, 0xeb81a4},
+  {0x8238c230, 0xeb81a5},
+  {0x8238c231, 0xeb81a6},
+  {0x8238c232, 0xeb81a7},
+  {0x8238c233, 0xeb81a8},
+  {0x8238c234, 0xeb81a9},
+  {0x8238c235, 0xeb81aa},
+  {0x8238c236, 0xeb81ab},
+  {0x8238c237, 0xeb81ac},
+  {0x8238c238, 0xeb81ad},
+  {0x8238c239, 0xeb81ae},
+  {0x8238c330, 0xeb81af},
+  {0x8238c331, 0xeb81b0},
+  {0x8238c332, 0xeb81b1},
+  {0x8238c333, 0xeb81b2},
+  {0x8238c334, 0xeb81b3},
+  {0x8238c335, 0xeb81b4},
+  {0x8238c336, 0xeb81b5},
+  {0x8238c337, 0xeb81b6},
+  {0x8238c338, 0xeb81b7},
+  {0x8238c339, 0xeb81b8},
+  {0x8238c430, 0xeb81b9},
+  {0x8238c431, 0xeb81ba},
+  {0x8238c432, 0xeb81bb},
+  {0x8238c433, 0xeb81bc},
+  {0x8238c434, 0xeb81bd},
+  {0x8238c435, 0xeb81be},
+  {0x8238c436, 0xeb81bf},
+  {0x8238c437, 0xeb8280},
+  {0x8238c438, 0xeb8281},
+  {0x8238c439, 0xeb8282},
+  {0x8238c530, 0xeb8283},
+  {0x8238c531, 0xeb8284},
+  {0x8238c532, 0xeb8285},
+  {0x8238c533, 0xeb8286},
+  {0x8238c534, 0xeb8287},
+  {0x8238c535, 0xeb8288},
+  {0x8238c536, 0xeb8289},
+  {0x8238c537, 0xeb828a},
+  {0x8238c538, 0xeb828b},
+  {0x8238c539, 0xeb828c},
+  {0x8238c630, 0xeb828d},
+  {0x8238c631, 0xeb828e},
+  {0x8238c632, 0xeb828f},
+  {0x8238c633, 0xeb8290},
+  {0x8238c634, 0xeb8291},
+  {0x8238c635, 0xeb8292},
+  {0x8238c636, 0xeb8293},
+  {0x8238c637, 0xeb8294},
+  {0x8238c638, 0xeb8295},
+  {0x8238c639, 0xeb8296},
+  {0x8238c730, 0xeb8297},
+  {0x8238c731, 0xeb8298},
+  {0x8238c732, 0xeb8299},
+  {0x8238c733, 0xeb829a},
+  {0x8238c734, 0xeb829b},
+  {0x8238c735, 0xeb829c},
+  {0x8238c736, 0xeb829d},
+  {0x8238c737, 0xeb829e},
+  {0x8238c738, 0xeb829f},
+  {0x8238c739, 0xeb82a0},
+  {0x8238c830, 0xeb82a1},
+  {0x8238c831, 0xeb82a2},
+  {0x8238c832, 0xeb82a3},
+  {0x8238c833, 0xeb82a4},
+  {0x8238c834, 0xeb82a5},
+  {0x8238c835, 0xeb82a6},
+  {0x8238c836, 0xeb82a7},
+  {0x8238c837, 0xeb82a8},
+  {0x8238c838, 0xeb82a9},
+  {0x8238c839, 0xeb82aa},
+  {0x8238c930, 0xeb82ab},
+  {0x8238c931, 0xeb82ac},
+  {0x8238c932, 0xeb82ad},
+  {0x8238c933, 0xeb82ae},
+  {0x8238c934, 0xeb82af},
+  {0x8238c935, 0xeb82b0},
+  {0x8238c936, 0xeb82b1},
+  {0x8238c937, 0xeb82b2},
+  {0x8238c938, 0xeb82b3},
+  {0x8238c939, 0xeb82b4},
+  {0x8238ca30, 0xeb82b5},
+  {0x8238ca31, 0xeb82b6},
+  {0x8238ca32, 0xeb82b7},
+  {0x8238ca33, 0xeb82b8},
+  {0x8238ca34, 0xeb82b9},
+  {0x8238ca35, 0xeb82ba},
+  {0x8238ca36, 0xeb82bb},
+  {0x8238ca37, 0xeb82bc},
+  {0x8238ca38, 0xeb82bd},
+  {0x8238ca39, 0xeb82be},
+  {0x8238cb30, 0xeb82bf},
+  {0x8238cb31, 0xeb8380},
+  {0x8238cb32, 0xeb8381},
+  {0x8238cb33, 0xeb8382},
+  {0x8238cb34, 0xeb8383},
+  {0x8238cb35, 0xeb8384},
+  {0x8238cb36, 0xeb8385},
+  {0x8238cb37, 0xeb8386},
+  {0x8238cb38, 0xeb8387},
+  {0x8238cb39, 0xeb8388},
+  {0x8238cc30, 0xeb8389},
+  {0x8238cc31, 0xeb838a},
+  {0x8238cc32, 0xeb838b},
+  {0x8238cc33, 0xeb838c},
+  {0x8238cc34, 0xeb838d},
+  {0x8238cc35, 0xeb838e},
+  {0x8238cc36, 0xeb838f},
+  {0x8238cc37, 0xeb8390},
+  {0x8238cc38, 0xeb8391},
+  {0x8238cc39, 0xeb8392},
+  {0x8238cd30, 0xeb8393},
+  {0x8238cd31, 0xeb8394},
+  {0x8238cd32, 0xeb8395},
+  {0x8238cd33, 0xeb8396},
+  {0x8238cd34, 0xeb8397},
+  {0x8238cd35, 0xeb8398},
+  {0x8238cd36, 0xeb8399},
+  {0x8238cd37, 0xeb839a},
+  {0x8238cd38, 0xeb839b},
+  {0x8238cd39, 0xeb839c},
+  {0x8238ce30, 0xeb839d},
+  {0x8238ce31, 0xeb839e},
+  {0x8238ce32, 0xeb839f},
+  {0x8238ce33, 0xeb83a0},
+  {0x8238ce34, 0xeb83a1},
+  {0x8238ce35, 0xeb83a2},
+  {0x8238ce36, 0xeb83a3},
+  {0x8238ce37, 0xeb83a4},
+  {0x8238ce38, 0xeb83a5},
+  {0x8238ce39, 0xeb83a6},
+  {0x8238cf30, 0xeb83a7},
+  {0x8238cf31, 0xeb83a8},
+  {0x8238cf32, 0xeb83a9},
+  {0x8238cf33, 0xeb83aa},
+  {0x8238cf34, 0xeb83ab},
+  {0x8238cf35, 0xeb83ac},
+  {0x8238cf36, 0xeb83ad},
+  {0x8238cf37, 0xeb83ae},
+  {0x8238cf38, 0xeb83af},
+  {0x8238cf39, 0xeb83b0},
+  {0x8238d030, 0xeb83b1},
+  {0x8238d031, 0xeb83b2},
+  {0x8238d032, 0xeb83b3},
+  {0x8238d033, 0xeb83b4},
+  {0x8238d034, 0xeb83b5},
+  {0x8238d035, 0xeb83b6},
+  {0x8238d036, 0xeb83b7},
+  {0x8238d037, 0xeb83b8},
+  {0x8238d038, 0xeb83b9},
+  {0x8238d039, 0xeb83ba},
+  {0x8238d130, 0xeb83bb},
+  {0x8238d131, 0xeb83bc},
+  {0x8238d132, 0xeb83bd},
+  {0x8238d133, 0xeb83be},
+  {0x8238d134, 0xeb83bf},
+  {0x8238d135, 0xeb8480},
+  {0x8238d136, 0xeb8481},
+  {0x8238d137, 0xeb8482},
+  {0x8238d138, 0xeb8483},
+  {0x8238d139, 0xeb8484},
+  {0x8238d230, 0xeb8485},
+  {0x8238d231, 0xeb8486},
+  {0x8238d232, 0xeb8487},
+  {0x8238d233, 0xeb8488},
+  {0x8238d234, 0xeb8489},
+  {0x8238d235, 0xeb848a},
+  {0x8238d236, 0xeb848b},
+  {0x8238d237, 0xeb848c},
+  {0x8238d238, 0xeb848d},
+  {0x8238d239, 0xeb848e},
+  {0x8238d330, 0xeb848f},
+  {0x8238d331, 0xeb8490},
+  {0x8238d332, 0xeb8491},
+  {0x8238d333, 0xeb8492},
+  {0x8238d334, 0xeb8493},
+  {0x8238d335, 0xeb8494},
+  {0x8238d336, 0xeb8495},
+  {0x8238d337, 0xeb8496},
+  {0x8238d338, 0xeb8497},
+  {0x8238d339, 0xeb8498},
+  {0x8238d430, 0xeb8499},
+  {0x8238d431, 0xeb849a},
+  {0x8238d432, 0xeb849b},
+  {0x8238d433, 0xeb849c},
+  {0x8238d434, 0xeb849d},
+  {0x8238d435, 0xeb849e},
+  {0x8238d436, 0xeb849f},
+  {0x8238d437, 0xeb84a0},
+  {0x8238d438, 0xeb84a1},
+  {0x8238d439, 0xeb84a2},
+  {0x8238d530, 0xeb84a3},
+  {0x8238d531, 0xeb84a4},
+  {0x8238d532, 0xeb84a5},
+  {0x8238d533, 0xeb84a6},
+  {0x8238d534, 0xeb84a7},
+  {0x8238d535, 0xeb84a8},
+  {0x8238d536, 0xeb84a9},
+  {0x8238d537, 0xeb84aa},
+  {0x8238d538, 0xeb84ab},
+  {0x8238d539, 0xeb84ac},
+  {0x8238d630, 0xeb84ad},
+  {0x8238d631, 0xeb84ae},
+  {0x8238d632, 0xeb84af},
+  {0x8238d633, 0xeb84b0},
+  {0x8238d634, 0xeb84b1},
+  {0x8238d635, 0xeb84b2},
+  {0x8238d636, 0xeb84b3},
+  {0x8238d637, 0xeb84b4},
+  {0x8238d638, 0xeb84b5},
+  {0x8238d639, 0xeb84b6},
+  {0x8238d730, 0xeb84b7},
+  {0x8238d731, 0xeb84b8},
+  {0x8238d732, 0xeb84b9},
+  {0x8238d733, 0xeb84ba},
+  {0x8238d734, 0xeb84bb},
+  {0x8238d735, 0xeb84bc},
+  {0x8238d736, 0xeb84bd},
+  {0x8238d737, 0xeb84be},
+  {0x8238d738, 0xeb84bf},
+  {0x8238d739, 0xeb8580},
+  {0x8238d830, 0xeb8581},
+  {0x8238d831, 0xeb8582},
+  {0x8238d832, 0xeb8583},
+  {0x8238d833, 0xeb8584},
+  {0x8238d834, 0xeb8585},
+  {0x8238d835, 0xeb8586},
+  {0x8238d836, 0xeb8587},
+  {0x8238d837, 0xeb8588},
+  {0x8238d838, 0xeb8589},
+  {0x8238d839, 0xeb858a},
+  {0x8238d930, 0xeb858b},
+  {0x8238d931, 0xeb858c},
+  {0x8238d932, 0xeb858d},
+  {0x8238d933, 0xeb858e},
+  {0x8238d934, 0xeb858f},
+  {0x8238d935, 0xeb8590},
+  {0x8238d936, 0xeb8591},
+  {0x8238d937, 0xeb8592},
+  {0x8238d938, 0xeb8593},
+  {0x8238d939, 0xeb8594},
+  {0x8238da30, 0xeb8595},
+  {0x8238da31, 0xeb8596},
+  {0x8238da32, 0xeb8597},
+  {0x8238da33, 0xeb8598},
+  {0x8238da34, 0xeb8599},
+  {0x8238da35, 0xeb859a},
+  {0x8238da36, 0xeb859b},
+  {0x8238da37, 0xeb859c},
+  {0x8238da38, 0xeb859d},
+  {0x8238da39, 0xeb859e},
+  {0x8238db30, 0xeb859f},
+  {0x8238db31, 0xeb85a0},
+  {0x8238db32, 0xeb85a1},
+  {0x8238db33, 0xeb85a2},
+  {0x8238db34, 0xeb85a3},
+  {0x8238db35, 0xeb85a4},
+  {0x8238db36, 0xeb85a5},
+  {0x8238db37, 0xeb85a6},
+  {0x8238db38, 0xeb85a7},
+  {0x8238db39, 0xeb85a8},
+  {0x8238dc30, 0xeb85a9},
+  {0x8238dc31, 0xeb85aa},
+  {0x8238dc32, 0xeb85ab},
+  {0x8238dc33, 0xeb85ac},
+  {0x8238dc34, 0xeb85ad},
+  {0x8238dc35, 0xeb85ae},
+  {0x8238dc36, 0xeb85af},
+  {0x8238dc37, 0xeb85b0},
+  {0x8238dc38, 0xeb85b1},
+  {0x8238dc39, 0xeb85b2},
+  {0x8238dd30, 0xeb85b3},
+  {0x8238dd31, 0xeb85b4},
+  {0x8238dd32, 0xeb85b5},
+  {0x8238dd33, 0xeb85b6},
+  {0x8238dd34, 0xeb85b7},
+  {0x8238dd35, 0xeb85b8},
+  {0x8238dd36, 0xeb85b9},
+  {0x8238dd37, 0xeb85ba},
+  {0x8238dd38, 0xeb85bb},
+  {0x8238dd39, 0xeb85bc},
+  {0x8238de30, 0xeb85bd},
+  {0x8238de31, 0xeb85be},
+  {0x8238de32, 0xeb85bf},
+  {0x8238de33, 0xeb8680},
+  {0x8238de34, 0xeb8681},
+  {0x8238de35, 0xeb8682},
+  {0x8238de36, 0xeb8683},
+  {0x8238de37, 0xeb8684},
+  {0x8238de38, 0xeb8685},
+  {0x8238de39, 0xeb8686},
+  {0x8238df30, 0xeb8687},
+  {0x8238df31, 0xeb8688},
+  {0x8238df32, 0xeb8689},
+  {0x8238df33, 0xeb868a},
+  {0x8238df34, 0xeb868b},
+  {0x8238df35, 0xeb868c},
+  {0x8238df36, 0xeb868d},
+  {0x8238df37, 0xeb868e},
+  {0x8238df38, 0xeb868f},
+  {0x8238df39, 0xeb8690},
+  {0x8238e030, 0xeb8691},
+  {0x8238e031, 0xeb8692},
+  {0x8238e032, 0xeb8693},
+  {0x8238e033, 0xeb8694},
+  {0x8238e034, 0xeb8695},
+  {0x8238e035, 0xeb8696},
+  {0x8238e036, 0xeb8697},
+  {0x8238e037, 0xeb8698},
+  {0x8238e038, 0xeb8699},
+  {0x8238e039, 0xeb869a},
+  {0x8238e130, 0xeb869b},
+  {0x8238e131, 0xeb869c},
+  {0x8238e132, 0xeb869d},
+  {0x8238e133, 0xeb869e},
+  {0x8238e134, 0xeb869f},
+  {0x8238e135, 0xeb86a0},
+  {0x8238e136, 0xeb86a1},
+  {0x8238e137, 0xeb86a2},
+  {0x8238e138, 0xeb86a3},
+  {0x8238e139, 0xeb86a4},
+  {0x8238e230, 0xeb86a5},
+  {0x8238e231, 0xeb86a6},
+  {0x8238e232, 0xeb86a7},
+  {0x8238e233, 0xeb86a8},
+  {0x8238e234, 0xeb86a9},
+  {0x8238e235, 0xeb86aa},
+  {0x8238e236, 0xeb86ab},
+  {0x8238e237, 0xeb86ac},
+  {0x8238e238, 0xeb86ad},
+  {0x8238e239, 0xeb86ae},
+  {0x8238e330, 0xeb86af},
+  {0x8238e331, 0xeb86b0},
+  {0x8238e332, 0xeb86b1},
+  {0x8238e333, 0xeb86b2},
+  {0x8238e334, 0xeb86b3},
+  {0x8238e335, 0xeb86b4},
+  {0x8238e336, 0xeb86b5},
+  {0x8238e337, 0xeb86b6},
+  {0x8238e338, 0xeb86b7},
+  {0x8238e339, 0xeb86b8},
+  {0x8238e430, 0xeb86b9},
+  {0x8238e431, 0xeb86ba},
+  {0x8238e432, 0xeb86bb},
+  {0x8238e433, 0xeb86bc},
+  {0x8238e434, 0xeb86bd},
+  {0x8238e435, 0xeb86be},
+  {0x8238e436, 0xeb86bf},
+  {0x8238e437, 0xeb8780},
+  {0x8238e438, 0xeb8781},
+  {0x8238e439, 0xeb8782},
+  {0x8238e530, 0xeb8783},
+  {0x8238e531, 0xeb8784},
+  {0x8238e532, 0xeb8785},
+  {0x8238e533, 0xeb8786},
+  {0x8238e534, 0xeb8787},
+  {0x8238e535, 0xeb8788},
+  {0x8238e536, 0xeb8789},
+  {0x8238e537, 0xeb878a},
+  {0x8238e538, 0xeb878b},
+  {0x8238e539, 0xeb878c},
+  {0x8238e630, 0xeb878d},
+  {0x8238e631, 0xeb878e},
+  {0x8238e632, 0xeb878f},
+  {0x8238e633, 0xeb8790},
+  {0x8238e634, 0xeb8791},
+  {0x8238e635, 0xeb8792},
+  {0x8238e636, 0xeb8793},
+  {0x8238e637, 0xeb8794},
+  {0x8238e638, 0xeb8795},
+  {0x8238e639, 0xeb8796},
+  {0x8238e730, 0xeb8797},
+  {0x8238e731, 0xeb8798},
+  {0x8238e732, 0xeb8799},
+  {0x8238e733, 0xeb879a},
+  {0x8238e734, 0xeb879b},
+  {0x8238e735, 0xeb879c},
+  {0x8238e736, 0xeb879d},
+  {0x8238e737, 0xeb879e},
+  {0x8238e738, 0xeb879f},
+  {0x8238e739, 0xeb87a0},
+  {0x8238e830, 0xeb87a1},
+  {0x8238e831, 0xeb87a2},
+  {0x8238e832, 0xeb87a3},
+  {0x8238e833, 0xeb87a4},
+  {0x8238e834, 0xeb87a5},
+  {0x8238e835, 0xeb87a6},
+  {0x8238e836, 0xeb87a7},
+  {0x8238e837, 0xeb87a8},
+  {0x8238e838, 0xeb87a9},
+  {0x8238e839, 0xeb87aa},
+  {0x8238e930, 0xeb87ab},
+  {0x8238e931, 0xeb87ac},
+  {0x8238e932, 0xeb87ad},
+  {0x8238e933, 0xeb87ae},
+  {0x8238e934, 0xeb87af},
+  {0x8238e935, 0xeb87b0},
+  {0x8238e936, 0xeb87b1},
+  {0x8238e937, 0xeb87b2},
+  {0x8238e938, 0xeb87b3},
+  {0x8238e939, 0xeb87b4},
+  {0x8238ea30, 0xeb87b5},
+  {0x8238ea31, 0xeb87b6},
+  {0x8238ea32, 0xeb87b7},
+  {0x8238ea33, 0xeb87b8},
+  {0x8238ea34, 0xeb87b9},
+  {0x8238ea35, 0xeb87ba},
+  {0x8238ea36, 0xeb87bb},
+  {0x8238ea37, 0xeb87bc},
+  {0x8238ea38, 0xeb87bd},
+  {0x8238ea39, 0xeb87be},
+  {0x8238eb30, 0xeb87bf},
+  {0x8238eb31, 0xeb8880},
+  {0x8238eb32, 0xeb8881},
+  {0x8238eb33, 0xeb8882},
+  {0x8238eb34, 0xeb8883},
+  {0x8238eb35, 0xeb8884},
+  {0x8238eb36, 0xeb8885},
+  {0x8238eb37, 0xeb8886},
+  {0x8238eb38, 0xeb8887},
+  {0x8238eb39, 0xeb8888},
+  {0x8238ec30, 0xeb8889},
+  {0x8238ec31, 0xeb888a},
+  {0x8238ec32, 0xeb888b},
+  {0x8238ec33, 0xeb888c},
+  {0x8238ec34, 0xeb888d},
+  {0x8238ec35, 0xeb888e},
+  {0x8238ec36, 0xeb888f},
+  {0x8238ec37, 0xeb8890},
+  {0x8238ec38, 0xeb8891},
+  {0x8238ec39, 0xeb8892},
+  {0x8238ed30, 0xeb8893},
+  {0x8238ed31, 0xeb8894},
+  {0x8238ed32, 0xeb8895},
+  {0x8238ed33, 0xeb8896},
+  {0x8238ed34, 0xeb8897},
+  {0x8238ed35, 0xeb8898},
+  {0x8238ed36, 0xeb8899},
+  {0x8238ed37, 0xeb889a},
+  {0x8238ed38, 0xeb889b},
+  {0x8238ed39, 0xeb889c},
+  {0x8238ee30, 0xeb889d},
+  {0x8238ee31, 0xeb889e},
+  {0x8238ee32, 0xeb889f},
+  {0x8238ee33, 0xeb88a0},
+  {0x8238ee34, 0xeb88a1},
+  {0x8238ee35, 0xeb88a2},
+  {0x8238ee36, 0xeb88a3},
+  {0x8238ee37, 0xeb88a4},
+  {0x8238ee38, 0xeb88a5},
+  {0x8238ee39, 0xeb88a6},
+  {0x8238ef30, 0xeb88a7},
+  {0x8238ef31, 0xeb88a8},
+  {0x8238ef32, 0xeb88a9},
+  {0x8238ef33, 0xeb88aa},
+  {0x8238ef34, 0xeb88ab},
+  {0x8238ef35, 0xeb88ac},
+  {0x8238ef36, 0xeb88ad},
+  {0x8238ef37, 0xeb88ae},
+  {0x8238ef38, 0xeb88af},
+  {0x8238ef39, 0xeb88b0},
+  {0x8238f030, 0xeb88b1},
+  {0x8238f031, 0xeb88b2},
+  {0x8238f032, 0xeb88b3},
+  {0x8238f033, 0xeb88b4},
+  {0x8238f034, 0xeb88b5},
+  {0x8238f035, 0xeb88b6},
+  {0x8238f036, 0xeb88b7},
+  {0x8238f037, 0xeb88b8},
+  {0x8238f038, 0xeb88b9},
+  {0x8238f039, 0xeb88ba},
+  {0x8238f130, 0xeb88bb},
+  {0x8238f131, 0xeb88bc},
+  {0x8238f132, 0xeb88bd},
+  {0x8238f133, 0xeb88be},
+  {0x8238f134, 0xeb88bf},
+  {0x8238f135, 0xeb8980},
+  {0x8238f136, 0xeb8981},
+  {0x8238f137, 0xeb8982},
+  {0x8238f138, 0xeb8983},
+  {0x8238f139, 0xeb8984},
+  {0x8238f230, 0xeb8985},
+  {0x8238f231, 0xeb8986},
+  {0x8238f232, 0xeb8987},
+  {0x8238f233, 0xeb8988},
+  {0x8238f234, 0xeb8989},
+  {0x8238f235, 0xeb898a},
+  {0x8238f236, 0xeb898b},
+  {0x8238f237, 0xeb898c},
+  {0x8238f238, 0xeb898d},
+  {0x8238f239, 0xeb898e},
+  {0x8238f330, 0xeb898f},
+  {0x8238f331, 0xeb8990},
+  {0x8238f332, 0xeb8991},
+  {0x8238f333, 0xeb8992},
+  {0x8238f334, 0xeb8993},
+  {0x8238f335, 0xeb8994},
+  {0x8238f336, 0xeb8995},
+  {0x8238f337, 0xeb8996},
+  {0x8238f338, 0xeb8997},
+  {0x8238f339, 0xeb8998},
+  {0x8238f430, 0xeb8999},
+  {0x8238f431, 0xeb899a},
+  {0x8238f432, 0xeb899b},
+  {0x8238f433, 0xeb899c},
+  {0x8238f434, 0xeb899d},
+  {0x8238f435, 0xeb899e},
+  {0x8238f436, 0xeb899f},
+  {0x8238f437, 0xeb89a0},
+  {0x8238f438, 0xeb89a1},
+  {0x8238f439, 0xeb89a2},
+  {0x8238f530, 0xeb89a3},
+  {0x8238f531, 0xeb89a4},
+  {0x8238f532, 0xeb89a5},
+  {0x8238f533, 0xeb89a6},
+  {0x8238f534, 0xeb89a7},
+  {0x8238f535, 0xeb89a8},
+  {0x8238f536, 0xeb89a9},
+  {0x8238f537, 0xeb89aa},
+  {0x8238f538, 0xeb89ab},
+  {0x8238f539, 0xeb89ac},
+  {0x8238f630, 0xeb89ad},
+  {0x8238f631, 0xeb89ae},
+  {0x8238f632, 0xeb89af},
+  {0x8238f633, 0xeb89b0},
+  {0x8238f634, 0xeb89b1},
+  {0x8238f635, 0xeb89b2},
+  {0x8238f636, 0xeb89b3},
+  {0x8238f637, 0xeb89b4},
+  {0x8238f638, 0xeb89b5},
+  {0x8238f639, 0xeb89b6},
+  {0x8238f730, 0xeb89b7},
+  {0x8238f731, 0xeb89b8},
+  {0x8238f732, 0xeb89b9},
+  {0x8238f733, 0xeb89ba},
+  {0x8238f734, 0xeb89bb},
+  {0x8238f735, 0xeb89bc},
+  {0x8238f736, 0xeb89bd},
+  {0x8238f737, 0xeb89be},
+  {0x8238f738, 0xeb89bf},
+  {0x8238f739, 0xeb8a80},
+  {0x8238f830, 0xeb8a81},
+  {0x8238f831, 0xeb8a82},
+  {0x8238f832, 0xeb8a83},
+  {0x8238f833, 0xeb8a84},
+  {0x8238f834, 0xeb8a85},
+  {0x8238f835, 0xeb8a86},
+  {0x8238f836, 0xeb8a87},
+  {0x8238f837, 0xeb8a88},
+  {0x8238f838, 0xeb8a89},
+  {0x8238f839, 0xeb8a8a},
+  {0x8238f930, 0xeb8a8b},
+  {0x8238f931, 0xeb8a8c},
+  {0x8238f932, 0xeb8a8d},
+  {0x8238f933, 0xeb8a8e},
+  {0x8238f934, 0xeb8a8f},
+  {0x8238f935, 0xeb8a90},
+  {0x8238f936, 0xeb8a91},
+  {0x8238f937, 0xeb8a92},
+  {0x8238f938, 0xeb8a93},
+  {0x8238f939, 0xeb8a94},
+  {0x8238fa30, 0xeb8a95},
+  {0x8238fa31, 0xeb8a96},
+  {0x8238fa32, 0xeb8a97},
+  {0x8238fa33, 0xeb8a98},
+  {0x8238fa34, 0xeb8a99},
+  {0x8238fa35, 0xeb8a9a},
+  {0x8238fa36, 0xeb8a9b},
+  {0x8238fa37, 0xeb8a9c},
+  {0x8238fa38, 0xeb8a9d},
+  {0x8238fa39, 0xeb8a9e},
+  {0x8238fb30, 0xeb8a9f},
+  {0x8238fb31, 0xeb8aa0},
+  {0x8238fb32, 0xeb8aa1},
+  {0x8238fb33, 0xeb8aa2},
+  {0x8238fb34, 0xeb8aa3},
+  {0x8238fb35, 0xeb8aa4},
+  {0x8238fb36, 0xeb8aa5},
+  {0x8238fb37, 0xeb8aa6},
+  {0x8238fb38, 0xeb8aa7},
+  {0x8238fb39, 0xeb8aa8},
+  {0x8238fc30, 0xeb8aa9},
+  {0x8238fc31, 0xeb8aaa},
+  {0x8238fc32, 0xeb8aab},
+  {0x8238fc33, 0xeb8aac},
+  {0x8238fc34, 0xeb8aad},
+  {0x8238fc35, 0xeb8aae},
+  {0x8238fc36, 0xeb8aaf},
+  {0x8238fc37, 0xeb8ab0},
+  {0x8238fc38, 0xeb8ab1},
+  {0x8238fc39, 0xeb8ab2},
+  {0x8238fd30, 0xeb8ab3},
+  {0x8238fd31, 0xeb8ab4},
+  {0x8238fd32, 0xeb8ab5},
+  {0x8238fd33, 0xeb8ab6},
+  {0x8238fd34, 0xeb8ab7},
+  {0x8238fd35, 0xeb8ab8},
+  {0x8238fd36, 0xeb8ab9},
+  {0x8238fd37, 0xeb8aba},
+  {0x8238fd38, 0xeb8abb},
+  {0x8238fd39, 0xeb8abc},
+  {0x8238fe30, 0xeb8abd},
+  {0x8238fe31, 0xeb8abe},
+  {0x8238fe32, 0xeb8abf},
+  {0x8238fe33, 0xeb8b80},
+  {0x8238fe34, 0xeb8b81},
+  {0x8238fe35, 0xeb8b82},
+  {0x8238fe36, 0xeb8b83},
+  {0x8238fe37, 0xeb8b84},
+  {0x8238fe38, 0xeb8b85},
+  {0x8238fe39, 0xeb8b86},
+  {0x82398130, 0xeb8b87},
+  {0x82398131, 0xeb8b88},
+  {0x82398132, 0xeb8b89},
+  {0x82398133, 0xeb8b8a},
+  {0x82398134, 0xeb8b8b},
+  {0x82398135, 0xeb8b8c},
+  {0x82398136, 0xeb8b8d},
+  {0x82398137, 0xeb8b8e},
+  {0x82398138, 0xeb8b8f},
+  {0x82398139, 0xeb8b90},
+  {0x82398230, 0xeb8b91},
+  {0x82398231, 0xeb8b92},
+  {0x82398232, 0xeb8b93},
+  {0x82398233, 0xeb8b94},
+  {0x82398234, 0xeb8b95},
+  {0x82398235, 0xeb8b96},
+  {0x82398236, 0xeb8b97},
+  {0x82398237, 0xeb8b98},
+  {0x82398238, 0xeb8b99},
+  {0x82398239, 0xeb8b9a},
+  {0x82398330, 0xeb8b9b},
+  {0x82398331, 0xeb8b9c},
+  {0x82398332, 0xeb8b9d},
+  {0x82398333, 0xeb8b9e},
+  {0x82398334, 0xeb8b9f},
+  {0x82398335, 0xeb8ba0},
+  {0x82398336, 0xeb8ba1},
+  {0x82398337, 0xeb8ba2},
+  {0x82398338, 0xeb8ba3},
+  {0x82398339, 0xeb8ba4},
+  {0x82398430, 0xeb8ba5},
+  {0x82398431, 0xeb8ba6},
+  {0x82398432, 0xeb8ba7},
+  {0x82398433, 0xeb8ba8},
+  {0x82398434, 0xeb8ba9},
+  {0x82398435, 0xeb8baa},
+  {0x82398436, 0xeb8bab},
+  {0x82398437, 0xeb8bac},
+  {0x82398438, 0xeb8bad},
+  {0x82398439, 0xeb8bae},
+  {0x82398530, 0xeb8baf},
+  {0x82398531, 0xeb8bb0},
+  {0x82398532, 0xeb8bb1},
+  {0x82398533, 0xeb8bb2},
+  {0x82398534, 0xeb8bb3},
+  {0x82398535, 0xeb8bb4},
+  {0x82398536, 0xeb8bb5},
+  {0x82398537, 0xeb8bb6},
+  {0x82398538, 0xeb8bb7},
+  {0x82398539, 0xeb8bb8},
+  {0x82398630, 0xeb8bb9},
+  {0x82398631, 0xeb8bba},
+  {0x82398632, 0xeb8bbb},
+  {0x82398633, 0xeb8bbc},
+  {0x82398634, 0xeb8bbd},
+  {0x82398635, 0xeb8bbe},
+  {0x82398636, 0xeb8bbf},
+  {0x82398637, 0xeb8c80},
+  {0x82398638, 0xeb8c81},
+  {0x82398639, 0xeb8c82},
+  {0x82398730, 0xeb8c83},
+  {0x82398731, 0xeb8c84},
+  {0x82398732, 0xeb8c85},
+  {0x82398733, 0xeb8c86},
+  {0x82398734, 0xeb8c87},
+  {0x82398735, 0xeb8c88},
+  {0x82398736, 0xeb8c89},
+  {0x82398737, 0xeb8c8a},
+  {0x82398738, 0xeb8c8b},
+  {0x82398739, 0xeb8c8c},
+  {0x82398830, 0xeb8c8d},
+  {0x82398831, 0xeb8c8e},
+  {0x82398832, 0xeb8c8f},
+  {0x82398833, 0xeb8c90},
+  {0x82398834, 0xeb8c91},
+  {0x82398835, 0xeb8c92},
+  {0x82398836, 0xeb8c93},
+  {0x82398837, 0xeb8c94},
+  {0x82398838, 0xeb8c95},
+  {0x82398839, 0xeb8c96},
+  {0x82398930, 0xeb8c97},
+  {0x82398931, 0xeb8c98},
+  {0x82398932, 0xeb8c99},
+  {0x82398933, 0xeb8c9a},
+  {0x82398934, 0xeb8c9b},
+  {0x82398935, 0xeb8c9c},
+  {0x82398936, 0xeb8c9d},
+  {0x82398937, 0xeb8c9e},
+  {0x82398938, 0xeb8c9f},
+  {0x82398939, 0xeb8ca0},
+  {0x82398a30, 0xeb8ca1},
+  {0x82398a31, 0xeb8ca2},
+  {0x82398a32, 0xeb8ca3},
+  {0x82398a33, 0xeb8ca4},
+  {0x82398a34, 0xeb8ca5},
+  {0x82398a35, 0xeb8ca6},
+  {0x82398a36, 0xeb8ca7},
+  {0x82398a37, 0xeb8ca8},
+  {0x82398a38, 0xeb8ca9},
+  {0x82398a39, 0xeb8caa},
+  {0x82398b30, 0xeb8cab},
+  {0x82398b31, 0xeb8cac},
+  {0x82398b32, 0xeb8cad},
+  {0x82398b33, 0xeb8cae},
+  {0x82398b34, 0xeb8caf},
+  {0x82398b35, 0xeb8cb0},
+  {0x82398b36, 0xeb8cb1},
+  {0x82398b37, 0xeb8cb2},
+  {0x82398b38, 0xeb8cb3},
+  {0x82398b39, 0xeb8cb4},
+  {0x82398c30, 0xeb8cb5},
+  {0x82398c31, 0xeb8cb6},
+  {0x82398c32, 0xeb8cb7},
+  {0x82398c33, 0xeb8cb8},
+  {0x82398c34, 0xeb8cb9},
+  {0x82398c35, 0xeb8cba},
+  {0x82398c36, 0xeb8cbb},
+  {0x82398c37, 0xeb8cbc},
+  {0x82398c38, 0xeb8cbd},
+  {0x82398c39, 0xeb8cbe},
+  {0x82398d30, 0xeb8cbf},
+  {0x82398d31, 0xeb8d80},
+  {0x82398d32, 0xeb8d81},
+  {0x82398d33, 0xeb8d82},
+  {0x82398d34, 0xeb8d83},
+  {0x82398d35, 0xeb8d84},
+  {0x82398d36, 0xeb8d85},
+  {0x82398d37, 0xeb8d86},
+  {0x82398d38, 0xeb8d87},
+  {0x82398d39, 0xeb8d88},
+  {0x82398e30, 0xeb8d89},
+  {0x82398e31, 0xeb8d8a},
+  {0x82398e32, 0xeb8d8b},
+  {0x82398e33, 0xeb8d8c},
+  {0x82398e34, 0xeb8d8d},
+  {0x82398e35, 0xeb8d8e},
+  {0x82398e36, 0xeb8d8f},
+  {0x82398e37, 0xeb8d90},
+  {0x82398e38, 0xeb8d91},
+  {0x82398e39, 0xeb8d92},
+  {0x82398f30, 0xeb8d93},
+  {0x82398f31, 0xeb8d94},
+  {0x82398f32, 0xeb8d95},
+  {0x82398f33, 0xeb8d96},
+  {0x82398f34, 0xeb8d97},
+  {0x82398f35, 0xeb8d98},
+  {0x82398f36, 0xeb8d99},
+  {0x82398f37, 0xeb8d9a},
+  {0x82398f38, 0xeb8d9b},
+  {0x82398f39, 0xeb8d9c},
+  {0x82399030, 0xeb8d9d},
+  {0x82399031, 0xeb8d9e},
+  {0x82399032, 0xeb8d9f},
+  {0x82399033, 0xeb8da0},
+  {0x82399034, 0xeb8da1},
+  {0x82399035, 0xeb8da2},
+  {0x82399036, 0xeb8da3},
+  {0x82399037, 0xeb8da4},
+  {0x82399038, 0xeb8da5},
+  {0x82399039, 0xeb8da6},
+  {0x82399130, 0xeb8da7},
+  {0x82399131, 0xeb8da8},
+  {0x82399132, 0xeb8da9},
+  {0x82399133, 0xeb8daa},
+  {0x82399134, 0xeb8dab},
+  {0x82399135, 0xeb8dac},
+  {0x82399136, 0xeb8dad},
+  {0x82399137, 0xeb8dae},
+  {0x82399138, 0xeb8daf},
+  {0x82399139, 0xeb8db0},
+  {0x82399230, 0xeb8db1},
+  {0x82399231, 0xeb8db2},
+  {0x82399232, 0xeb8db3},
+  {0x82399233, 0xeb8db4},
+  {0x82399234, 0xeb8db5},
+  {0x82399235, 0xeb8db6},
+  {0x82399236, 0xeb8db7},
+  {0x82399237, 0xeb8db8},
+  {0x82399238, 0xeb8db9},
+  {0x82399239, 0xeb8dba},
+  {0x82399330, 0xeb8dbb},
+  {0x82399331, 0xeb8dbc},
+  {0x82399332, 0xeb8dbd},
+  {0x82399333, 0xeb8dbe},
+  {0x82399334, 0xeb8dbf},
+  {0x82399335, 0xeb8e80},
+  {0x82399336, 0xeb8e81},
+  {0x82399337, 0xeb8e82},
+  {0x82399338, 0xeb8e83},
+  {0x82399339, 0xeb8e84},
+  {0x82399430, 0xeb8e85},
+  {0x82399431, 0xeb8e86},
+  {0x82399432, 0xeb8e87},
+  {0x82399433, 0xeb8e88},
+  {0x82399434, 0xeb8e89},
+  {0x82399435, 0xeb8e8a},
+  {0x82399436, 0xeb8e8b},
+  {0x82399437, 0xeb8e8c},
+  {0x82399438, 0xeb8e8d},
+  {0x82399439, 0xeb8e8e},
+  {0x82399530, 0xeb8e8f},
+  {0x82399531, 0xeb8e90},
+  {0x82399532, 0xeb8e91},
+  {0x82399533, 0xeb8e92},
+  {0x82399534, 0xeb8e93},
+  {0x82399535, 0xeb8e94},
+  {0x82399536, 0xeb8e95},
+  {0x82399537, 0xeb8e96},
+  {0x82399538, 0xeb8e97},
+  {0x82399539, 0xeb8e98},
+  {0x82399630, 0xeb8e99},
+  {0x82399631, 0xeb8e9a},
+  {0x82399632, 0xeb8e9b},
+  {0x82399633, 0xeb8e9c},
+  {0x82399634, 0xeb8e9d},
+  {0x82399635, 0xeb8e9e},
+  {0x82399636, 0xeb8e9f},
+  {0x82399637, 0xeb8ea0},
+  {0x82399638, 0xeb8ea1},
+  {0x82399639, 0xeb8ea2},
+  {0x82399730, 0xeb8ea3},
+  {0x82399731, 0xeb8ea4},
+  {0x82399732, 0xeb8ea5},
+  {0x82399733, 0xeb8ea6},
+  {0x82399734, 0xeb8ea7},
+  {0x82399735, 0xeb8ea8},
+  {0x82399736, 0xeb8ea9},
+  {0x82399737, 0xeb8eaa},
+  {0x82399738, 0xeb8eab},
+  {0x82399739, 0xeb8eac},
+  {0x82399830, 0xeb8ead},
+  {0x82399831, 0xeb8eae},
+  {0x82399832, 0xeb8eaf},
+  {0x82399833, 0xeb8eb0},
+  {0x82399834, 0xeb8eb1},
+  {0x82399835, 0xeb8eb2},
+  {0x82399836, 0xeb8eb3},
+  {0x82399837, 0xeb8eb4},
+  {0x82399838, 0xeb8eb5},
+  {0x82399839, 0xeb8eb6},
+  {0x82399930, 0xeb8eb7},
+  {0x82399931, 0xeb8eb8},
+  {0x82399932, 0xeb8eb9},
+  {0x82399933, 0xeb8eba},
+  {0x82399934, 0xeb8ebb},
+  {0x82399935, 0xeb8ebc},
+  {0x82399936, 0xeb8ebd},
+  {0x82399937, 0xeb8ebe},
+  {0x82399938, 0xeb8ebf},
+  {0x82399939, 0xeb8f80},
+  {0x82399a30, 0xeb8f81},
+  {0x82399a31, 0xeb8f82},
+  {0x82399a32, 0xeb8f83},
+  {0x82399a33, 0xeb8f84},
+  {0x82399a34, 0xeb8f85},
+  {0x82399a35, 0xeb8f86},
+  {0x82399a36, 0xeb8f87},
+  {0x82399a37, 0xeb8f88},
+  {0x82399a38, 0xeb8f89},
+  {0x82399a39, 0xeb8f8a},
+  {0x82399b30, 0xeb8f8b},
+  {0x82399b31, 0xeb8f8c},
+  {0x82399b32, 0xeb8f8d},
+  {0x82399b33, 0xeb8f8e},
+  {0x82399b34, 0xeb8f8f},
+  {0x82399b35, 0xeb8f90},
+  {0x82399b36, 0xeb8f91},
+  {0x82399b37, 0xeb8f92},
+  {0x82399b38, 0xeb8f93},
+  {0x82399b39, 0xeb8f94},
+  {0x82399c30, 0xeb8f95},
+  {0x82399c31, 0xeb8f96},
+  {0x82399c32, 0xeb8f97},
+  {0x82399c33, 0xeb8f98},
+  {0x82399c34, 0xeb8f99},
+  {0x82399c35, 0xeb8f9a},
+  {0x82399c36, 0xeb8f9b},
+  {0x82399c37, 0xeb8f9c},
+  {0x82399c38, 0xeb8f9d},
+  {0x82399c39, 0xeb8f9e},
+  {0x82399d30, 0xeb8f9f},
+  {0x82399d31, 0xeb8fa0},
+  {0x82399d32, 0xeb8fa1},
+  {0x82399d33, 0xeb8fa2},
+  {0x82399d34, 0xeb8fa3},
+  {0x82399d35, 0xeb8fa4},
+  {0x82399d36, 0xeb8fa5},
+  {0x82399d37, 0xeb8fa6},
+  {0x82399d38, 0xeb8fa7},
+  {0x82399d39, 0xeb8fa8},
+  {0x82399e30, 0xeb8fa9},
+  {0x82399e31, 0xeb8faa},
+  {0x82399e32, 0xeb8fab},
+  {0x82399e33, 0xeb8fac},
+  {0x82399e34, 0xeb8fad},
+  {0x82399e35, 0xeb8fae},
+  {0x82399e36, 0xeb8faf},
+  {0x82399e37, 0xeb8fb0},
+  {0x82399e38, 0xeb8fb1},
+  {0x82399e39, 0xeb8fb2},
+  {0x82399f30, 0xeb8fb3},
+  {0x82399f31, 0xeb8fb4},
+  {0x82399f32, 0xeb8fb5},
+  {0x82399f33, 0xeb8fb6},
+  {0x82399f34, 0xeb8fb7},
+  {0x82399f35, 0xeb8fb8},
+  {0x82399f36, 0xeb8fb9},
+  {0x82399f37, 0xeb8fba},
+  {0x82399f38, 0xeb8fbb},
+  {0x82399f39, 0xeb8fbc},
+  {0x8239a030, 0xeb8fbd},
+  {0x8239a031, 0xeb8fbe},
+  {0x8239a032, 0xeb8fbf},
+  {0x8239a033, 0xeb9080},
+  {0x8239a034, 0xeb9081},
+  {0x8239a035, 0xeb9082},
+  {0x8239a036, 0xeb9083},
+  {0x8239a037, 0xeb9084},
+  {0x8239a038, 0xeb9085},
+  {0x8239a039, 0xeb9086},
+  {0x8239a130, 0xeb9087},
+  {0x8239a131, 0xeb9088},
+  {0x8239a132, 0xeb9089},
+  {0x8239a133, 0xeb908a},
+  {0x8239a134, 0xeb908b},
+  {0x8239a135, 0xeb908c},
+  {0x8239a136, 0xeb908d},
+  {0x8239a137, 0xeb908e},
+  {0x8239a138, 0xeb908f},
+  {0x8239a139, 0xeb9090},
+  {0x8239a230, 0xeb9091},
+  {0x8239a231, 0xeb9092},
+  {0x8239a232, 0xeb9093},
+  {0x8239a233, 0xeb9094},
+  {0x8239a234, 0xeb9095},
+  {0x8239a235, 0xeb9096},
+  {0x8239a236, 0xeb9097},
+  {0x8239a237, 0xeb9098},
+  {0x8239a238, 0xeb9099},
+  {0x8239a239, 0xeb909a},
+  {0x8239a330, 0xeb909b},
+  {0x8239a331, 0xeb909c},
+  {0x8239a332, 0xeb909d},
+  {0x8239a333, 0xeb909e},
+  {0x8239a334, 0xeb909f},
+  {0x8239a335, 0xeb90a0},
+  {0x8239a336, 0xeb90a1},
+  {0x8239a337, 0xeb90a2},
+  {0x8239a338, 0xeb90a3},
+  {0x8239a339, 0xeb90a4},
+  {0x8239a430, 0xeb90a5},
+  {0x8239a431, 0xeb90a6},
+  {0x8239a432, 0xeb90a7},
+  {0x8239a433, 0xeb90a8},
+  {0x8239a434, 0xeb90a9},
+  {0x8239a435, 0xeb90aa},
+  {0x8239a436, 0xeb90ab},
+  {0x8239a437, 0xeb90ac},
+  {0x8239a438, 0xeb90ad},
+  {0x8239a439, 0xeb90ae},
+  {0x8239a530, 0xeb90af},
+  {0x8239a531, 0xeb90b0},
+  {0x8239a532, 0xeb90b1},
+  {0x8239a533, 0xeb90b2},
+  {0x8239a534, 0xeb90b3},
+  {0x8239a535, 0xeb90b4},
+  {0x8239a536, 0xeb90b5},
+  {0x8239a537, 0xeb90b6},
+  {0x8239a538, 0xeb90b7},
+  {0x8239a539, 0xeb90b8},
+  {0x8239a630, 0xeb90b9},
+  {0x8239a631, 0xeb90ba},
+  {0x8239a632, 0xeb90bb},
+  {0x8239a633, 0xeb90bc},
+  {0x8239a634, 0xeb90bd},
+  {0x8239a635, 0xeb90be},
+  {0x8239a636, 0xeb90bf},
+  {0x8239a637, 0xeb9180},
+  {0x8239a638, 0xeb9181},
+  {0x8239a639, 0xeb9182},
+  {0x8239a730, 0xeb9183},
+  {0x8239a731, 0xeb9184},
+  {0x8239a732, 0xeb9185},
+  {0x8239a733, 0xeb9186},
+  {0x8239a734, 0xeb9187},
+  {0x8239a735, 0xeb9188},
+  {0x8239a736, 0xeb9189},
+  {0x8239a737, 0xeb918a},
+  {0x8239a738, 0xeb918b},
+  {0x8239a739, 0xeb918c},
+  {0x8239a830, 0xeb918d},
+  {0x8239a831, 0xeb918e},
+  {0x8239a832, 0xeb918f},
+  {0x8239a833, 0xeb9190},
+  {0x8239a834, 0xeb9191},
+  {0x8239a835, 0xeb9192},
+  {0x8239a836, 0xeb9193},
+  {0x8239a837, 0xeb9194},
+  {0x8239a838, 0xeb9195},
+  {0x8239a839, 0xeb9196},
+  {0x8239a930, 0xeb9197},
+  {0x8239a931, 0xeb9198},
+  {0x8239a932, 0xeb9199},
+  {0x8239a933, 0xeb919a},
+  {0x8239a934, 0xeb919b},
+  {0x8239a935, 0xeb919c},
+  {0x8239a936, 0xeb919d},
+  {0x8239a937, 0xeb919e},
+  {0x8239a938, 0xeb919f},
+  {0x8239a939, 0xeb91a0},
+  {0x8239aa30, 0xeb91a1},
+  {0x8239aa31, 0xeb91a2},
+  {0x8239aa32, 0xeb91a3},
+  {0x8239aa33, 0xeb91a4},
+  {0x8239aa34, 0xeb91a5},
+  {0x8239aa35, 0xeb91a6},
+  {0x8239aa36, 0xeb91a7},
+  {0x8239aa37, 0xeb91a8},
+  {0x8239aa38, 0xeb91a9},
+  {0x8239aa39, 0xeb91aa},
+  {0x8239ab30, 0xeb91ab},
+  {0x8239ab31, 0xeb91ac},
+  {0x8239ab32, 0xeb91ad},
+  {0x8239ab33, 0xeb91ae},
+  {0x8239ab34, 0xeb91af},
+  {0x8239ab35, 0xeb91b0},
+  {0x8239ab36, 0xeb91b1},
+  {0x8239ab37, 0xeb91b2},
+  {0x8239ab38, 0xeb91b3},
+  {0x8239ab39, 0xeb91b4},
+  {0x8239ac30, 0xeb91b5},
+  {0x8239ac31, 0xeb91b6},
+  {0x8239ac32, 0xeb91b7},
+  {0x8239ac33, 0xeb91b8},
+  {0x8239ac34, 0xeb91b9},
+  {0x8239ac35, 0xeb91ba},
+  {0x8239ac36, 0xeb91bb},
+  {0x8239ac37, 0xeb91bc},
+  {0x8239ac38, 0xeb91bd},
+  {0x8239ac39, 0xeb91be},
+  {0x8239ad30, 0xeb91bf},
+  {0x8239ad31, 0xeb9280},
+  {0x8239ad32, 0xeb9281},
+  {0x8239ad33, 0xeb9282},
+  {0x8239ad34, 0xeb9283},
+  {0x8239ad35, 0xeb9284},
+  {0x8239ad36, 0xeb9285},
+  {0x8239ad37, 0xeb9286},
+  {0x8239ad38, 0xeb9287},
+  {0x8239ad39, 0xeb9288},
+  {0x8239ae30, 0xeb9289},
+  {0x8239ae31, 0xeb928a},
+  {0x8239ae32, 0xeb928b},
+  {0x8239ae33, 0xeb928c},
+  {0x8239ae34, 0xeb928d},
+  {0x8239ae35, 0xeb928e},
+  {0x8239ae36, 0xeb928f},
+  {0x8239ae37, 0xeb9290},
+  {0x8239ae38, 0xeb9291},
+  {0x8239ae39, 0xeb9292},
+  {0x8239af30, 0xeb9293},
+  {0x8239af31, 0xeb9294},
+  {0x8239af32, 0xeb9295},
+  {0x8239af33, 0xeb9296},
+  {0x8239af34, 0xeb9297},
+  {0x8239af35, 0xeb9298},
+  {0x8239af36, 0xeb9299},
+  {0x8239af37, 0xeb929a},
+  {0x8239af38, 0xeb929b},
+  {0x8239af39, 0xeb929c},
+  {0x8239b030, 0xeb929d},
+  {0x8239b031, 0xeb929e},
+  {0x8239b032, 0xeb929f},
+  {0x8239b033, 0xeb92a0},
+  {0x8239b034, 0xeb92a1},
+  {0x8239b035, 0xeb92a2},
+  {0x8239b036, 0xeb92a3},
+  {0x8239b037, 0xeb92a4},
+  {0x8239b038, 0xeb92a5},
+  {0x8239b039, 0xeb92a6},
+  {0x8239b130, 0xeb92a7},
+  {0x8239b131, 0xeb92a8},
+  {0x8239b132, 0xeb92a9},
+  {0x8239b133, 0xeb92aa},
+  {0x8239b134, 0xeb92ab},
+  {0x8239b135, 0xeb92ac},
+  {0x8239b136, 0xeb92ad},
+  {0x8239b137, 0xeb92ae},
+  {0x8239b138, 0xeb92af},
+  {0x8239b139, 0xeb92b0},
+  {0x8239b230, 0xeb92b1},
+  {0x8239b231, 0xeb92b2},
+  {0x8239b232, 0xeb92b3},
+  {0x8239b233, 0xeb92b4},
+  {0x8239b234, 0xeb92b5},
+  {0x8239b235, 0xeb92b6},
+  {0x8239b236, 0xeb92b7},
+  {0x8239b237, 0xeb92b8},
+  {0x8239b238, 0xeb92b9},
+  {0x8239b239, 0xeb92ba},
+  {0x8239b330, 0xeb92bb},
+  {0x8239b331, 0xeb92bc},
+  {0x8239b332, 0xeb92bd},
+  {0x8239b333, 0xeb92be},
+  {0x8239b334, 0xeb92bf},
+  {0x8239b335, 0xeb9380},
+  {0x8239b336, 0xeb9381},
+  {0x8239b337, 0xeb9382},
+  {0x8239b338, 0xeb9383},
+  {0x8239b339, 0xeb9384},
+  {0x8239b430, 0xeb9385},
+  {0x8239b431, 0xeb9386},
+  {0x8239b432, 0xeb9387},
+  {0x8239b433, 0xeb9388},
+  {0x8239b434, 0xeb9389},
+  {0x8239b435, 0xeb938a},
+  {0x8239b436, 0xeb938b},
+  {0x8239b437, 0xeb938c},
+  {0x8239b438, 0xeb938d},
+  {0x8239b439, 0xeb938e},
+  {0x8239b530, 0xeb938f},
+  {0x8239b531, 0xeb9390},
+  {0x8239b532, 0xeb9391},
+  {0x8239b533, 0xeb9392},
+  {0x8239b534, 0xeb9393},
+  {0x8239b535, 0xeb9394},
+  {0x8239b536, 0xeb9395},
+  {0x8239b537, 0xeb9396},
+  {0x8239b538, 0xeb9397},
+  {0x8239b539, 0xeb9398},
+  {0x8239b630, 0xeb9399},
+  {0x8239b631, 0xeb939a},
+  {0x8239b632, 0xeb939b},
+  {0x8239b633, 0xeb939c},
+  {0x8239b634, 0xeb939d},
+  {0x8239b635, 0xeb939e},
+  {0x8239b636, 0xeb939f},
+  {0x8239b637, 0xeb93a0},
+  {0x8239b638, 0xeb93a1},
+  {0x8239b639, 0xeb93a2},
+  {0x8239b730, 0xeb93a3},
+  {0x8239b731, 0xeb93a4},
+  {0x8239b732, 0xeb93a5},
+  {0x8239b733, 0xeb93a6},
+  {0x8239b734, 0xeb93a7},
+  {0x8239b735, 0xeb93a8},
+  {0x8239b736, 0xeb93a9},
+  {0x8239b737, 0xeb93aa},
+  {0x8239b738, 0xeb93ab},
+  {0x8239b739, 0xeb93ac},
+  {0x8239b830, 0xeb93ad},
+  {0x8239b831, 0xeb93ae},
+  {0x8239b832, 0xeb93af},
+  {0x8239b833, 0xeb93b0},
+  {0x8239b834, 0xeb93b1},
+  {0x8239b835, 0xeb93b2},
+  {0x8239b836, 0xeb93b3},
+  {0x8239b837, 0xeb93b4},
+  {0x8239b838, 0xeb93b5},
+  {0x8239b839, 0xeb93b6},
+  {0x8239b930, 0xeb93b7},
+  {0x8239b931, 0xeb93b8},
+  {0x8239b932, 0xeb93b9},
+  {0x8239b933, 0xeb93ba},
+  {0x8239b934, 0xeb93bb},
+  {0x8239b935, 0xeb93bc},
+  {0x8239b936, 0xeb93bd},
+  {0x8239b937, 0xeb93be},
+  {0x8239b938, 0xeb93bf},
+  {0x8239b939, 0xeb9480},
+  {0x8239ba30, 0xeb9481},
+  {0x8239ba31, 0xeb9482},
+  {0x8239ba32, 0xeb9483},
+  {0x8239ba33, 0xeb9484},
+  {0x8239ba34, 0xeb9485},
+  {0x8239ba35, 0xeb9486},
+  {0x8239ba36, 0xeb9487},
+  {0x8239ba37, 0xeb9488},
+  {0x8239ba38, 0xeb9489},
+  {0x8239ba39, 0xeb948a},
+  {0x8239bb30, 0xeb948b},
+  {0x8239bb31, 0xeb948c},
+  {0x8239bb32, 0xeb948d},
+  {0x8239bb33, 0xeb948e},
+  {0x8239bb34, 0xeb948f},
+  {0x8239bb35, 0xeb9490},
+  {0x8239bb36, 0xeb9491},
+  {0x8239bb37, 0xeb9492},
+  {0x8239bb38, 0xeb9493},
+  {0x8239bb39, 0xeb9494},
+  {0x8239bc30, 0xeb9495},
+  {0x8239bc31, 0xeb9496},
+  {0x8239bc32, 0xeb9497},
+  {0x8239bc33, 0xeb9498},
+  {0x8239bc34, 0xeb9499},
+  {0x8239bc35, 0xeb949a},
+  {0x8239bc36, 0xeb949b},
+  {0x8239bc37, 0xeb949c},
+  {0x8239bc38, 0xeb949d},
+  {0x8239bc39, 0xeb949e},
+  {0x8239bd30, 0xeb949f},
+  {0x8239bd31, 0xeb94a0},
+  {0x8239bd32, 0xeb94a1},
+  {0x8239bd33, 0xeb94a2},
+  {0x8239bd34, 0xeb94a3},
+  {0x8239bd35, 0xeb94a4},
+  {0x8239bd36, 0xeb94a5},
+  {0x8239bd37, 0xeb94a6},
+  {0x8239bd38, 0xeb94a7},
+  {0x8239bd39, 0xeb94a8},
+  {0x8239be30, 0xeb94a9},
+  {0x8239be31, 0xeb94aa},
+  {0x8239be32, 0xeb94ab},
+  {0x8239be33, 0xeb94ac},
+  {0x8239be34, 0xeb94ad},
+  {0x8239be35, 0xeb94ae},
+  {0x8239be36, 0xeb94af},
+  {0x8239be37, 0xeb94b0},
+  {0x8239be38, 0xeb94b1},
+  {0x8239be39, 0xeb94b2},
+  {0x8239bf30, 0xeb94b3},
+  {0x8239bf31, 0xeb94b4},
+  {0x8239bf32, 0xeb94b5},
+  {0x8239bf33, 0xeb94b6},
+  {0x8239bf34, 0xeb94b7},
+  {0x8239bf35, 0xeb94b8},
+  {0x8239bf36, 0xeb94b9},
+  {0x8239bf37, 0xeb94ba},
+  {0x8239bf38, 0xeb94bb},
+  {0x8239bf39, 0xeb94bc},
+  {0x8239c030, 0xeb94bd},
+  {0x8239c031, 0xeb94be},
+  {0x8239c032, 0xeb94bf},
+  {0x8239c033, 0xeb9580},
+  {0x8239c034, 0xeb9581},
+  {0x8239c035, 0xeb9582},
+  {0x8239c036, 0xeb9583},
+  {0x8239c037, 0xeb9584},
+  {0x8239c038, 0xeb9585},
+  {0x8239c039, 0xeb9586},
+  {0x8239c130, 0xeb9587},
+  {0x8239c131, 0xeb9588},
+  {0x8239c132, 0xeb9589},
+  {0x8239c133, 0xeb958a},
+  {0x8239c134, 0xeb958b},
+  {0x8239c135, 0xeb958c},
+  {0x8239c136, 0xeb958d},
+  {0x8239c137, 0xeb958e},
+  {0x8239c138, 0xeb958f},
+  {0x8239c139, 0xeb9590},
+  {0x8239c230, 0xeb9591},
+  {0x8239c231, 0xeb9592},
+  {0x8239c232, 0xeb9593},
+  {0x8239c233, 0xeb9594},
+  {0x8239c234, 0xeb9595},
+  {0x8239c235, 0xeb9596},
+  {0x8239c236, 0xeb9597},
+  {0x8239c237, 0xeb9598},
+  {0x8239c238, 0xeb9599},
+  {0x8239c239, 0xeb959a},
+  {0x8239c330, 0xeb959b},
+  {0x8239c331, 0xeb959c},
+  {0x8239c332, 0xeb959d},
+  {0x8239c333, 0xeb959e},
+  {0x8239c334, 0xeb959f},
+  {0x8239c335, 0xeb95a0},
+  {0x8239c336, 0xeb95a1},
+  {0x8239c337, 0xeb95a2},
+  {0x8239c338, 0xeb95a3},
+  {0x8239c339, 0xeb95a4},
+  {0x8239c430, 0xeb95a5},
+  {0x8239c431, 0xeb95a6},
+  {0x8239c432, 0xeb95a7},
+  {0x8239c433, 0xeb95a8},
+  {0x8239c434, 0xeb95a9},
+  {0x8239c435, 0xeb95aa},
+  {0x8239c436, 0xeb95ab},
+  {0x8239c437, 0xeb95ac},
+  {0x8239c438, 0xeb95ad},
+  {0x8239c439, 0xeb95ae},
+  {0x8239c530, 0xeb95af},
+  {0x8239c531, 0xeb95b0},
+  {0x8239c532, 0xeb95b1},
+  {0x8239c533, 0xeb95b2},
+  {0x8239c534, 0xeb95b3},
+  {0x8239c535, 0xeb95b4},
+  {0x8239c536, 0xeb95b5},
+  {0x8239c537, 0xeb95b6},
+  {0x8239c538, 0xeb95b7},
+  {0x8239c539, 0xeb95b8},
+  {0x8239c630, 0xeb95b9},
+  {0x8239c631, 0xeb95ba},
+  {0x8239c632, 0xeb95bb},
+  {0x8239c633, 0xeb95bc},
+  {0x8239c634, 0xeb95bd},
+  {0x8239c635, 0xeb95be},
+  {0x8239c636, 0xeb95bf},
+  {0x8239c637, 0xeb9680},
+  {0x8239c638, 0xeb9681},
+  {0x8239c639, 0xeb9682},
+  {0x8239c730, 0xeb9683},
+  {0x8239c731, 0xeb9684},
+  {0x8239c732, 0xeb9685},
+  {0x8239c733, 0xeb9686},
+  {0x8239c734, 0xeb9687},
+  {0x8239c735, 0xeb9688},
+  {0x8239c736, 0xeb9689},
+  {0x8239c737, 0xeb968a},
+  {0x8239c738, 0xeb968b},
+  {0x8239c739, 0xeb968c},
+  {0x8239c830, 0xeb968d},
+  {0x8239c831, 0xeb968e},
+  {0x8239c832, 0xeb968f},
+  {0x8239c833, 0xeb9690},
+  {0x8239c834, 0xeb9691},
+  {0x8239c835, 0xeb9692},
+  {0x8239c836, 0xeb9693},
+  {0x8239c837, 0xeb9694},
+  {0x8239c838, 0xeb9695},
+  {0x8239c839, 0xeb9696},
+  {0x8239c930, 0xeb9697},
+  {0x8239c931, 0xeb9698},
+  {0x8239c932, 0xeb9699},
+  {0x8239c933, 0xeb969a},
+  {0x8239c934, 0xeb969b},
+  {0x8239c935, 0xeb969c},
+  {0x8239c936, 0xeb969d},
+  {0x8239c937, 0xeb969e},
+  {0x8239c938, 0xeb969f},
+  {0x8239c939, 0xeb96a0},
+  {0x8239ca30, 0xeb96a1},
+  {0x8239ca31, 0xeb96a2},
+  {0x8239ca32, 0xeb96a3},
+  {0x8239ca33, 0xeb96a4},
+  {0x8239ca34, 0xeb96a5},
+  {0x8239ca35, 0xeb96a6},
+  {0x8239ca36, 0xeb96a7},
+  {0x8239ca37, 0xeb96a8},
+  {0x8239ca38, 0xeb96a9},
+  {0x8239ca39, 0xeb96aa},
+  {0x8239cb30, 0xeb96ab},
+  {0x8239cb31, 0xeb96ac},
+  {0x8239cb32, 0xeb96ad},
+  {0x8239cb33, 0xeb96ae},
+  {0x8239cb34, 0xeb96af},
+  {0x8239cb35, 0xeb96b0},
+  {0x8239cb36, 0xeb96b1},
+  {0x8239cb37, 0xeb96b2},
+  {0x8239cb38, 0xeb96b3},
+  {0x8239cb39, 0xeb96b4},
+  {0x8239cc30, 0xeb96b5},
+  {0x8239cc31, 0xeb96b6},
+  {0x8239cc32, 0xeb96b7},
+  {0x8239cc33, 0xeb96b8},
+  {0x8239cc34, 0xeb96b9},
+  {0x8239cc35, 0xeb96ba},
+  {0x8239cc36, 0xeb96bb},
+  {0x8239cc37, 0xeb96bc},
+  {0x8239cc38, 0xeb96bd},
+  {0x8239cc39, 0xeb96be},
+  {0x8239cd30, 0xeb96bf},
+  {0x8239cd31, 0xeb9780},
+  {0x8239cd32, 0xeb9781},
+  {0x8239cd33, 0xeb9782},
+  {0x8239cd34, 0xeb9783},
+  {0x8239cd35, 0xeb9784},
+  {0x8239cd36, 0xeb9785},
+  {0x8239cd37, 0xeb9786},
+  {0x8239cd38, 0xeb9787},
+  {0x8239cd39, 0xeb9788},
+  {0x8239ce30, 0xeb9789},
+  {0x8239ce31, 0xeb978a},
+  {0x8239ce32, 0xeb978b},
+  {0x8239ce33, 0xeb978c},
+  {0x8239ce34, 0xeb978d},
+  {0x8239ce35, 0xeb978e},
+  {0x8239ce36, 0xeb978f},
+  {0x8239ce37, 0xeb9790},
+  {0x8239ce38, 0xeb9791},
+  {0x8239ce39, 0xeb9792},
+  {0x8239cf30, 0xeb9793},
+  {0x8239cf31, 0xeb9794},
+  {0x8239cf32, 0xeb9795},
+  {0x8239cf33, 0xeb9796},
+  {0x8239cf34, 0xeb9797},
+  {0x8239cf35, 0xeb9798},
+  {0x8239cf36, 0xeb9799},
+  {0x8239cf37, 0xeb979a},
+  {0x8239cf38, 0xeb979b},
+  {0x8239cf39, 0xeb979c},
+  {0x8239d030, 0xeb979d},
+  {0x8239d031, 0xeb979e},
+  {0x8239d032, 0xeb979f},
+  {0x8239d033, 0xeb97a0},
+  {0x8239d034, 0xeb97a1},
+  {0x8239d035, 0xeb97a2},
+  {0x8239d036, 0xeb97a3},
+  {0x8239d037, 0xeb97a4},
+  {0x8239d038, 0xeb97a5},
+  {0x8239d039, 0xeb97a6},
+  {0x8239d130, 0xeb97a7},
+  {0x8239d131, 0xeb97a8},
+  {0x8239d132, 0xeb97a9},
+  {0x8239d133, 0xeb97aa},
+  {0x8239d134, 0xeb97ab},
+  {0x8239d135, 0xeb97ac},
+  {0x8239d136, 0xeb97ad},
+  {0x8239d137, 0xeb97ae},
+  {0x8239d138, 0xeb97af},
+  {0x8239d139, 0xeb97b0},
+  {0x8239d230, 0xeb97b1},
+  {0x8239d231, 0xeb97b2},
+  {0x8239d232, 0xeb97b3},
+  {0x8239d233, 0xeb97b4},
+  {0x8239d234, 0xeb97b5},
+  {0x8239d235, 0xeb97b6},
+  {0x8239d236, 0xeb97b7},
+  {0x8239d237, 0xeb97b8},
+  {0x8239d238, 0xeb97b9},
+  {0x8239d239, 0xeb97ba},
+  {0x8239d330, 0xeb97bb},
+  {0x8239d331, 0xeb97bc},
+  {0x8239d332, 0xeb97bd},
+  {0x8239d333, 0xeb97be},
+  {0x8239d334, 0xeb97bf},
+  {0x8239d335, 0xeb9880},
+  {0x8239d336, 0xeb9881},
+  {0x8239d337, 0xeb9882},
+  {0x8239d338, 0xeb9883},
+  {0x8239d339, 0xeb9884},
+  {0x8239d430, 0xeb9885},
+  {0x8239d431, 0xeb9886},
+  {0x8239d432, 0xeb9887},
+  {0x8239d433, 0xeb9888},
+  {0x8239d434, 0xeb9889},
+  {0x8239d435, 0xeb988a},
+  {0x8239d436, 0xeb988b},
+  {0x8239d437, 0xeb988c},
+  {0x8239d438, 0xeb988d},
+  {0x8239d439, 0xeb988e},
+  {0x8239d530, 0xeb988f},
+  {0x8239d531, 0xeb9890},
+  {0x8239d532, 0xeb9891},
+  {0x8239d533, 0xeb9892},
+  {0x8239d534, 0xeb9893},
+  {0x8239d535, 0xeb9894},
+  {0x8239d536, 0xeb9895},
+  {0x8239d537, 0xeb9896},
+  {0x8239d538, 0xeb9897},
+  {0x8239d539, 0xeb9898},
+  {0x8239d630, 0xeb9899},
+  {0x8239d631, 0xeb989a},
+  {0x8239d632, 0xeb989b},
+  {0x8239d633, 0xeb989c},
+  {0x8239d634, 0xeb989d},
+  {0x8239d635, 0xeb989e},
+  {0x8239d636, 0xeb989f},
+  {0x8239d637, 0xeb98a0},
+  {0x8239d638, 0xeb98a1},
+  {0x8239d639, 0xeb98a2},
+  {0x8239d730, 0xeb98a3},
+  {0x8239d731, 0xeb98a4},
+  {0x8239d732, 0xeb98a5},
+  {0x8239d733, 0xeb98a6},
+  {0x8239d734, 0xeb98a7},
+  {0x8239d735, 0xeb98a8},
+  {0x8239d736, 0xeb98a9},
+  {0x8239d737, 0xeb98aa},
+  {0x8239d738, 0xeb98ab},
+  {0x8239d739, 0xeb98ac},
+  {0x8239d830, 0xeb98ad},
+  {0x8239d831, 0xeb98ae},
+  {0x8239d832, 0xeb98af},
+  {0x8239d833, 0xeb98b0},
+  {0x8239d834, 0xeb98b1},
+  {0x8239d835, 0xeb98b2},
+  {0x8239d836, 0xeb98b3},
+  {0x8239d837, 0xeb98b4},
+  {0x8239d838, 0xeb98b5},
+  {0x8239d839, 0xeb98b6},
+  {0x8239d930, 0xeb98b7},
+  {0x8239d931, 0xeb98b8},
+  {0x8239d932, 0xeb98b9},
+  {0x8239d933, 0xeb98ba},
+  {0x8239d934, 0xeb98bb},
+  {0x8239d935, 0xeb98bc},
+  {0x8239d936, 0xeb98bd},
+  {0x8239d937, 0xeb98be},
+  {0x8239d938, 0xeb98bf},
+  {0x8239d939, 0xeb9980},
+  {0x8239da30, 0xeb9981},
+  {0x8239da31, 0xeb9982},
+  {0x8239da32, 0xeb9983},
+  {0x8239da33, 0xeb9984},
+  {0x8239da34, 0xeb9985},
+  {0x8239da35, 0xeb9986},
+  {0x8239da36, 0xeb9987},
+  {0x8239da37, 0xeb9988},
+  {0x8239da38, 0xeb9989},
+  {0x8239da39, 0xeb998a},
+  {0x8239db30, 0xeb998b},
+  {0x8239db31, 0xeb998c},
+  {0x8239db32, 0xeb998d},
+  {0x8239db33, 0xeb998e},
+  {0x8239db34, 0xeb998f},
+  {0x8239db35, 0xeb9990},
+  {0x8239db36, 0xeb9991},
+  {0x8239db37, 0xeb9992},
+  {0x8239db38, 0xeb9993},
+  {0x8239db39, 0xeb9994},
+  {0x8239dc30, 0xeb9995},
+  {0x8239dc31, 0xeb9996},
+  {0x8239dc32, 0xeb9997},
+  {0x8239dc33, 0xeb9998},
+  {0x8239dc34, 0xeb9999},
+  {0x8239dc35, 0xeb999a},
+  {0x8239dc36, 0xeb999b},
+  {0x8239dc37, 0xeb999c},
+  {0x8239dc38, 0xeb999d},
+  {0x8239dc39, 0xeb999e},
+  {0x8239dd30, 0xeb999f},
+  {0x8239dd31, 0xeb99a0},
+  {0x8239dd32, 0xeb99a1},
+  {0x8239dd33, 0xeb99a2},
+  {0x8239dd34, 0xeb99a3},
+  {0x8239dd35, 0xeb99a4},
+  {0x8239dd36, 0xeb99a5},
+  {0x8239dd37, 0xeb99a6},
+  {0x8239dd38, 0xeb99a7},
+  {0x8239dd39, 0xeb99a8},
+  {0x8239de30, 0xeb99a9},
+  {0x8239de31, 0xeb99aa},
+  {0x8239de32, 0xeb99ab},
+  {0x8239de33, 0xeb99ac},
+  {0x8239de34, 0xeb99ad},
+  {0x8239de35, 0xeb99ae},
+  {0x8239de36, 0xeb99af},
+  {0x8239de37, 0xeb99b0},
+  {0x8239de38, 0xeb99b1},
+  {0x8239de39, 0xeb99b2},
+  {0x8239df30, 0xeb99b3},
+  {0x8239df31, 0xeb99b4},
+  {0x8239df32, 0xeb99b5},
+  {0x8239df33, 0xeb99b6},
+  {0x8239df34, 0xeb99b7},
+  {0x8239df35, 0xeb99b8},
+  {0x8239df36, 0xeb99b9},
+  {0x8239df37, 0xeb99ba},
+  {0x8239df38, 0xeb99bb},
+  {0x8239df39, 0xeb99bc},
+  {0x8239e030, 0xeb99bd},
+  {0x8239e031, 0xeb99be},
+  {0x8239e032, 0xeb99bf},
+  {0x8239e033, 0xeb9a80},
+  {0x8239e034, 0xeb9a81},
+  {0x8239e035, 0xeb9a82},
+  {0x8239e036, 0xeb9a83},
+  {0x8239e037, 0xeb9a84},
+  {0x8239e038, 0xeb9a85},
+  {0x8239e039, 0xeb9a86},
+  {0x8239e130, 0xeb9a87},
+  {0x8239e131, 0xeb9a88},
+  {0x8239e132, 0xeb9a89},
+  {0x8239e133, 0xeb9a8a},
+  {0x8239e134, 0xeb9a8b},
+  {0x8239e135, 0xeb9a8c},
+  {0x8239e136, 0xeb9a8d},
+  {0x8239e137, 0xeb9a8e},
+  {0x8239e138, 0xeb9a8f},
+  {0x8239e139, 0xeb9a90},
+  {0x8239e230, 0xeb9a91},
+  {0x8239e231, 0xeb9a92},
+  {0x8239e232, 0xeb9a93},
+  {0x8239e233, 0xeb9a94},
+  {0x8239e234, 0xeb9a95},
+  {0x8239e235, 0xeb9a96},
+  {0x8239e236, 0xeb9a97},
+  {0x8239e237, 0xeb9a98},
+  {0x8239e238, 0xeb9a99},
+  {0x8239e239, 0xeb9a9a},
+  {0x8239e330, 0xeb9a9b},
+  {0x8239e331, 0xeb9a9c},
+  {0x8239e332, 0xeb9a9d},
+  {0x8239e333, 0xeb9a9e},
+  {0x8239e334, 0xeb9a9f},
+  {0x8239e335, 0xeb9aa0},
+  {0x8239e336, 0xeb9aa1},
+  {0x8239e337, 0xeb9aa2},
+  {0x8239e338, 0xeb9aa3},
+  {0x8239e339, 0xeb9aa4},
+  {0x8239e430, 0xeb9aa5},
+  {0x8239e431, 0xeb9aa6},
+  {0x8239e432, 0xeb9aa7},
+  {0x8239e433, 0xeb9aa8},
+  {0x8239e434, 0xeb9aa9},
+  {0x8239e435, 0xeb9aaa},
+  {0x8239e436, 0xeb9aab},
+  {0x8239e437, 0xeb9aac},
+  {0x8239e438, 0xeb9aad},
+  {0x8239e439, 0xeb9aae},
+  {0x8239e530, 0xeb9aaf},
+  {0x8239e531, 0xeb9ab0},
+  {0x8239e532, 0xeb9ab1},
+  {0x8239e533, 0xeb9ab2},
+  {0x8239e534, 0xeb9ab3},
+  {0x8239e535, 0xeb9ab4},
+  {0x8239e536, 0xeb9ab5},
+  {0x8239e537, 0xeb9ab6},
+  {0x8239e538, 0xeb9ab7},
+  {0x8239e539, 0xeb9ab8},
+  {0x8239e630, 0xeb9ab9},
+  {0x8239e631, 0xeb9aba},
+  {0x8239e632, 0xeb9abb},
+  {0x8239e633, 0xeb9abc},
+  {0x8239e634, 0xeb9abd},
+  {0x8239e635, 0xeb9abe},
+  {0x8239e636, 0xeb9abf},
+  {0x8239e637, 0xeb9b80},
+  {0x8239e638, 0xeb9b81},
+  {0x8239e639, 0xeb9b82},
+  {0x8239e730, 0xeb9b83},
+  {0x8239e731, 0xeb9b84},
+  {0x8239e732, 0xeb9b85},
+  {0x8239e733, 0xeb9b86},
+  {0x8239e734, 0xeb9b87},
+  {0x8239e735, 0xeb9b88},
+  {0x8239e736, 0xeb9b89},
+  {0x8239e737, 0xeb9b8a},
+  {0x8239e738, 0xeb9b8b},
+  {0x8239e739, 0xeb9b8c},
+  {0x8239e830, 0xeb9b8d},
+  {0x8239e831, 0xeb9b8e},
+  {0x8239e832, 0xeb9b8f},
+  {0x8239e833, 0xeb9b90},
+  {0x8239e834, 0xeb9b91},
+  {0x8239e835, 0xeb9b92},
+  {0x8239e836, 0xeb9b93},
+  {0x8239e837, 0xeb9b94},
+  {0x8239e838, 0xeb9b95},
+  {0x8239e839, 0xeb9b96},
+  {0x8239e930, 0xeb9b97},
+  {0x8239e931, 0xeb9b98},
+  {0x8239e932, 0xeb9b99},
+  {0x8239e933, 0xeb9b9a},
+  {0x8239e934, 0xeb9b9b},
+  {0x8239e935, 0xeb9b9c},
+  {0x8239e936, 0xeb9b9d},
+  {0x8239e937, 0xeb9b9e},
+  {0x8239e938, 0xeb9b9f},
+  {0x8239e939, 0xeb9ba0},
+  {0x8239ea30, 0xeb9ba1},
+  {0x8239ea31, 0xeb9ba2},
+  {0x8239ea32, 0xeb9ba3},
+  {0x8239ea33, 0xeb9ba4},
+  {0x8239ea34, 0xeb9ba5},
+  {0x8239ea35, 0xeb9ba6},
+  {0x8239ea36, 0xeb9ba7},
+  {0x8239ea37, 0xeb9ba8},
+  {0x8239ea38, 0xeb9ba9},
+  {0x8239ea39, 0xeb9baa},
+  {0x8239eb30, 0xeb9bab},
+  {0x8239eb31, 0xeb9bac},
+  {0x8239eb32, 0xeb9bad},
+  {0x8239eb33, 0xeb9bae},
+  {0x8239eb34, 0xeb9baf},
+  {0x8239eb35, 0xeb9bb0},
+  {0x8239eb36, 0xeb9bb1},
+  {0x8239eb37, 0xeb9bb2},
+  {0x8239eb38, 0xeb9bb3},
+  {0x8239eb39, 0xeb9bb4},
+  {0x8239ec30, 0xeb9bb5},
+  {0x8239ec31, 0xeb9bb6},
+  {0x8239ec32, 0xeb9bb7},
+  {0x8239ec33, 0xeb9bb8},
+  {0x8239ec34, 0xeb9bb9},
+  {0x8239ec35, 0xeb9bba},
+  {0x8239ec36, 0xeb9bbb},
+  {0x8239ec37, 0xeb9bbc},
+  {0x8239ec38, 0xeb9bbd},
+  {0x8239ec39, 0xeb9bbe},
+  {0x8239ed30, 0xeb9bbf},
+  {0x8239ed31, 0xeb9c80},
+  {0x8239ed32, 0xeb9c81},
+  {0x8239ed33, 0xeb9c82},
+  {0x8239ed34, 0xeb9c83},
+  {0x8239ed35, 0xeb9c84},
+  {0x8239ed36, 0xeb9c85},
+  {0x8239ed37, 0xeb9c86},
+  {0x8239ed38, 0xeb9c87},
+  {0x8239ed39, 0xeb9c88},
+  {0x8239ee30, 0xeb9c89},
+  {0x8239ee31, 0xeb9c8a},
+  {0x8239ee32, 0xeb9c8b},
+  {0x8239ee33, 0xeb9c8c},
+  {0x8239ee34, 0xeb9c8d},
+  {0x8239ee35, 0xeb9c8e},
+  {0x8239ee36, 0xeb9c8f},
+  {0x8239ee37, 0xeb9c90},
+  {0x8239ee38, 0xeb9c91},
+  {0x8239ee39, 0xeb9c92},
+  {0x8239ef30, 0xeb9c93},
+  {0x8239ef31, 0xeb9c94},
+  {0x8239ef32, 0xeb9c95},
+  {0x8239ef33, 0xeb9c96},
+  {0x8239ef34, 0xeb9c97},
+  {0x8239ef35, 0xeb9c98},
+  {0x8239ef36, 0xeb9c99},
+  {0x8239ef37, 0xeb9c9a},
+  {0x8239ef38, 0xeb9c9b},
+  {0x8239ef39, 0xeb9c9c},
+  {0x8239f030, 0xeb9c9d},
+  {0x8239f031, 0xeb9c9e},
+  {0x8239f032, 0xeb9c9f},
+  {0x8239f033, 0xeb9ca0},
+  {0x8239f034, 0xeb9ca1},
+  {0x8239f035, 0xeb9ca2},
+  {0x8239f036, 0xeb9ca3},
+  {0x8239f037, 0xeb9ca4},
+  {0x8239f038, 0xeb9ca5},
+  {0x8239f039, 0xeb9ca6},
+  {0x8239f130, 0xeb9ca7},
+  {0x8239f131, 0xeb9ca8},
+  {0x8239f132, 0xeb9ca9},
+  {0x8239f133, 0xeb9caa},
+  {0x8239f134, 0xeb9cab},
+  {0x8239f135, 0xeb9cac},
+  {0x8239f136, 0xeb9cad},
+  {0x8239f137, 0xeb9cae},
+  {0x8239f138, 0xeb9caf},
+  {0x8239f139, 0xeb9cb0},
+  {0x8239f230, 0xeb9cb1},
+  {0x8239f231, 0xeb9cb2},
+  {0x8239f232, 0xeb9cb3},
+  {0x8239f233, 0xeb9cb4},
+  {0x8239f234, 0xeb9cb5},
+  {0x8239f235, 0xeb9cb6},
+  {0x8239f236, 0xeb9cb7},
+  {0x8239f237, 0xeb9cb8},
+  {0x8239f238, 0xeb9cb9},
+  {0x8239f239, 0xeb9cba},
+  {0x8239f330, 0xeb9cbb},
+  {0x8239f331, 0xeb9cbc},
+  {0x8239f332, 0xeb9cbd},
+  {0x8239f333, 0xeb9cbe},
+  {0x8239f334, 0xeb9cbf},
+  {0x8239f335, 0xeb9d80},
+  {0x8239f336, 0xeb9d81},
+  {0x8239f337, 0xeb9d82},
+  {0x8239f338, 0xeb9d83},
+  {0x8239f339, 0xeb9d84},
+  {0x8239f430, 0xeb9d85},
+  {0x8239f431, 0xeb9d86},
+  {0x8239f432, 0xeb9d87},
+  {0x8239f433, 0xeb9d88},
+  {0x8239f434, 0xeb9d89},
+  {0x8239f435, 0xeb9d8a},
+  {0x8239f436, 0xeb9d8b},
+  {0x8239f437, 0xeb9d8c},
+  {0x8239f438, 0xeb9d8d},
+  {0x8239f439, 0xeb9d8e},
+  {0x8239f530, 0xeb9d8f},
+  {0x8239f531, 0xeb9d90},
+  {0x8239f532, 0xeb9d91},
+  {0x8239f533, 0xeb9d92},
+  {0x8239f534, 0xeb9d93},
+  {0x8239f535, 0xeb9d94},
+  {0x8239f536, 0xeb9d95},
+  {0x8239f537, 0xeb9d96},
+  {0x8239f538, 0xeb9d97},
+  {0x8239f539, 0xeb9d98},
+  {0x8239f630, 0xeb9d99},
+  {0x8239f631, 0xeb9d9a},
+  {0x8239f632, 0xeb9d9b},
+  {0x8239f633, 0xeb9d9c},
+  {0x8239f634, 0xeb9d9d},
+  {0x8239f635, 0xeb9d9e},
+  {0x8239f636, 0xeb9d9f},
+  {0x8239f637, 0xeb9da0},
+  {0x8239f638, 0xeb9da1},
+  {0x8239f639, 0xeb9da2},
+  {0x8239f730, 0xeb9da3},
+  {0x8239f731, 0xeb9da4},
+  {0x8239f732, 0xeb9da5},
+  {0x8239f733, 0xeb9da6},
+  {0x8239f734, 0xeb9da7},
+  {0x8239f735, 0xeb9da8},
+  {0x8239f736, 0xeb9da9},
+  {0x8239f737, 0xeb9daa},
+  {0x8239f738, 0xeb9dab},
+  {0x8239f739, 0xeb9dac},
+  {0x8239f830, 0xeb9dad},
+  {0x8239f831, 0xeb9dae},
+  {0x8239f832, 0xeb9daf},
+  {0x8239f833, 0xeb9db0},
+  {0x8239f834, 0xeb9db1},
+  {0x8239f835, 0xeb9db2},
+  {0x8239f836, 0xeb9db3},
+  {0x8239f837, 0xeb9db4},
+  {0x8239f838, 0xeb9db5},
+  {0x8239f839, 0xeb9db6},
+  {0x8239f930, 0xeb9db7},
+  {0x8239f931, 0xeb9db8},
+  {0x8239f932, 0xeb9db9},
+  {0x8239f933, 0xeb9dba},
+  {0x8239f934, 0xeb9dbb},
+  {0x8239f935, 0xeb9dbc},
+  {0x8239f936, 0xeb9dbd},
+  {0x8239f937, 0xeb9dbe},
+  {0x8239f938, 0xeb9dbf},
+  {0x8239f939, 0xeb9e80},
+  {0x8239fa30, 0xeb9e81},
+  {0x8239fa31, 0xeb9e82},
+  {0x8239fa32, 0xeb9e83},
+  {0x8239fa33, 0xeb9e84},
+  {0x8239fa34, 0xeb9e85},
+  {0x8239fa35, 0xeb9e86},
+  {0x8239fa36, 0xeb9e87},
+  {0x8239fa37, 0xeb9e88},
+  {0x8239fa38, 0xeb9e89},
+  {0x8239fa39, 0xeb9e8a},
+  {0x8239fb30, 0xeb9e8b},
+  {0x8239fb31, 0xeb9e8c},
+  {0x8239fb32, 0xeb9e8d},
+  {0x8239fb33, 0xeb9e8e},
+  {0x8239fb34, 0xeb9e8f},
+  {0x8239fb35, 0xeb9e90},
+  {0x8239fb36, 0xeb9e91},
+  {0x8239fb37, 0xeb9e92},
+  {0x8239fb38, 0xeb9e93},
+  {0x8239fb39, 0xeb9e94},
+  {0x8239fc30, 0xeb9e95},
+  {0x8239fc31, 0xeb9e96},
+  {0x8239fc32, 0xeb9e97},
+  {0x8239fc33, 0xeb9e98},
+  {0x8239fc34, 0xeb9e99},
+  {0x8239fc35, 0xeb9e9a},
+  {0x8239fc36, 0xeb9e9b},
+  {0x8239fc37, 0xeb9e9c},
+  {0x8239fc38, 0xeb9e9d},
+  {0x8239fc39, 0xeb9e9e},
+  {0x8239fd30, 0xeb9e9f},
+  {0x8239fd31, 0xeb9ea0},
+  {0x8239fd32, 0xeb9ea1},
+  {0x8239fd33, 0xeb9ea2},
+  {0x8239fd34, 0xeb9ea3},
+  {0x8239fd35, 0xeb9ea4},
+  {0x8239fd36, 0xeb9ea5},
+  {0x8239fd37, 0xeb9ea6},
+  {0x8239fd38, 0xeb9ea7},
+  {0x8239fd39, 0xeb9ea8},
+  {0x8239fe30, 0xeb9ea9},
+  {0x8239fe31, 0xeb9eaa},
+  {0x8239fe32, 0xeb9eab},
+  {0x8239fe33, 0xeb9eac},
+  {0x8239fe34, 0xeb9ead},
+  {0x8239fe35, 0xeb9eae},
+  {0x8239fe36, 0xeb9eaf},
+  {0x8239fe37, 0xeb9eb0},
+  {0x8239fe38, 0xeb9eb1},
+  {0x8239fe39, 0xeb9eb2},
+  {0x83308130, 0xeb9eb3},
+  {0x83308131, 0xeb9eb4},
+  {0x83308132, 0xeb9eb5},
+  {0x83308133, 0xeb9eb6},
+  {0x83308134, 0xeb9eb7},
+  {0x83308135, 0xeb9eb8},
+  {0x83308136, 0xeb9eb9},
+  {0x83308137, 0xeb9eba},
+  {0x83308138, 0xeb9ebb},
+  {0x83308139, 0xeb9ebc},
+  {0x83308230, 0xeb9ebd},
+  {0x83308231, 0xeb9ebe},
+  {0x83308232, 0xeb9ebf},
+  {0x83308233, 0xeb9f80},
+  {0x83308234, 0xeb9f81},
+  {0x83308235, 0xeb9f82},
+  {0x83308236, 0xeb9f83},
+  {0x83308237, 0xeb9f84},
+  {0x83308238, 0xeb9f85},
+  {0x83308239, 0xeb9f86},
+  {0x83308330, 0xeb9f87},
+  {0x83308331, 0xeb9f88},
+  {0x83308332, 0xeb9f89},
+  {0x83308333, 0xeb9f8a},
+  {0x83308334, 0xeb9f8b},
+  {0x83308335, 0xeb9f8c},
+  {0x83308336, 0xeb9f8d},
+  {0x83308337, 0xeb9f8e},
+  {0x83308338, 0xeb9f8f},
+  {0x83308339, 0xeb9f90},
+  {0x83308430, 0xeb9f91},
+  {0x83308431, 0xeb9f92},
+  {0x83308432, 0xeb9f93},
+  {0x83308433, 0xeb9f94},
+  {0x83308434, 0xeb9f95},
+  {0x83308435, 0xeb9f96},
+  {0x83308436, 0xeb9f97},
+  {0x83308437, 0xeb9f98},
+  {0x83308438, 0xeb9f99},
+  {0x83308439, 0xeb9f9a},
+  {0x83308530, 0xeb9f9b},
+  {0x83308531, 0xeb9f9c},
+  {0x83308532, 0xeb9f9d},
+  {0x83308533, 0xeb9f9e},
+  {0x83308534, 0xeb9f9f},
+  {0x83308535, 0xeb9fa0},
+  {0x83308536, 0xeb9fa1},
+  {0x83308537, 0xeb9fa2},
+  {0x83308538, 0xeb9fa3},
+  {0x83308539, 0xeb9fa4},
+  {0x83308630, 0xeb9fa5},
+  {0x83308631, 0xeb9fa6},
+  {0x83308632, 0xeb9fa7},
+  {0x83308633, 0xeb9fa8},
+  {0x83308634, 0xeb9fa9},
+  {0x83308635, 0xeb9faa},
+  {0x83308636, 0xeb9fab},
+  {0x83308637, 0xeb9fac},
+  {0x83308638, 0xeb9fad},
+  {0x83308639, 0xeb9fae},
+  {0x83308730, 0xeb9faf},
+  {0x83308731, 0xeb9fb0},
+  {0x83308732, 0xeb9fb1},
+  {0x83308733, 0xeb9fb2},
+  {0x83308734, 0xeb9fb3},
+  {0x83308735, 0xeb9fb4},
+  {0x83308736, 0xeb9fb5},
+  {0x83308737, 0xeb9fb6},
+  {0x83308738, 0xeb9fb7},
+  {0x83308739, 0xeb9fb8},
+  {0x83308830, 0xeb9fb9},
+  {0x83308831, 0xeb9fba},
+  {0x83308832, 0xeb9fbb},
+  {0x83308833, 0xeb9fbc},
+  {0x83308834, 0xeb9fbd},
+  {0x83308835, 0xeb9fbe},
+  {0x83308836, 0xeb9fbf},
+  {0x83308837, 0xeba080},
+  {0x83308838, 0xeba081},
+  {0x83308839, 0xeba082},
+  {0x83308930, 0xeba083},
+  {0x83308931, 0xeba084},
+  {0x83308932, 0xeba085},
+  {0x83308933, 0xeba086},
+  {0x83308934, 0xeba087},
+  {0x83308935, 0xeba088},
+  {0x83308936, 0xeba089},
+  {0x83308937, 0xeba08a},
+  {0x83308938, 0xeba08b},
+  {0x83308939, 0xeba08c},
+  {0x83308a30, 0xeba08d},
+  {0x83308a31, 0xeba08e},
+  {0x83308a32, 0xeba08f},
+  {0x83308a33, 0xeba090},
+  {0x83308a34, 0xeba091},
+  {0x83308a35, 0xeba092},
+  {0x83308a36, 0xeba093},
+  {0x83308a37, 0xeba094},
+  {0x83308a38, 0xeba095},
+  {0x83308a39, 0xeba096},
+  {0x83308b30, 0xeba097},
+  {0x83308b31, 0xeba098},
+  {0x83308b32, 0xeba099},
+  {0x83308b33, 0xeba09a},
+  {0x83308b34, 0xeba09b},
+  {0x83308b35, 0xeba09c},
+  {0x83308b36, 0xeba09d},
+  {0x83308b37, 0xeba09e},
+  {0x83308b38, 0xeba09f},
+  {0x83308b39, 0xeba0a0},
+  {0x83308c30, 0xeba0a1},
+  {0x83308c31, 0xeba0a2},
+  {0x83308c32, 0xeba0a3},
+  {0x83308c33, 0xeba0a4},
+  {0x83308c34, 0xeba0a5},
+  {0x83308c35, 0xeba0a6},
+  {0x83308c36, 0xeba0a7},
+  {0x83308c37, 0xeba0a8},
+  {0x83308c38, 0xeba0a9},
+  {0x83308c39, 0xeba0aa},
+  {0x83308d30, 0xeba0ab},
+  {0x83308d31, 0xeba0ac},
+  {0x83308d32, 0xeba0ad},
+  {0x83308d33, 0xeba0ae},
+  {0x83308d34, 0xeba0af},
+  {0x83308d35, 0xeba0b0},
+  {0x83308d36, 0xeba0b1},
+  {0x83308d37, 0xeba0b2},
+  {0x83308d38, 0xeba0b3},
+  {0x83308d39, 0xeba0b4},
+  {0x83308e30, 0xeba0b5},
+  {0x83308e31, 0xeba0b6},
+  {0x83308e32, 0xeba0b7},
+  {0x83308e33, 0xeba0b8},
+  {0x83308e34, 0xeba0b9},
+  {0x83308e35, 0xeba0ba},
+  {0x83308e36, 0xeba0bb},
+  {0x83308e37, 0xeba0bc},
+  {0x83308e38, 0xeba0bd},
+  {0x83308e39, 0xeba0be},
+  {0x83308f30, 0xeba0bf},
+  {0x83308f31, 0xeba180},
+  {0x83308f32, 0xeba181},
+  {0x83308f33, 0xeba182},
+  {0x83308f34, 0xeba183},
+  {0x83308f35, 0xeba184},
+  {0x83308f36, 0xeba185},
+  {0x83308f37, 0xeba186},
+  {0x83308f38, 0xeba187},
+  {0x83308f39, 0xeba188},
+  {0x83309030, 0xeba189},
+  {0x83309031, 0xeba18a},
+  {0x83309032, 0xeba18b},
+  {0x83309033, 0xeba18c},
+  {0x83309034, 0xeba18d},
+  {0x83309035, 0xeba18e},
+  {0x83309036, 0xeba18f},
+  {0x83309037, 0xeba190},
+  {0x83309038, 0xeba191},
+  {0x83309039, 0xeba192},
+  {0x83309130, 0xeba193},
+  {0x83309131, 0xeba194},
+  {0x83309132, 0xeba195},
+  {0x83309133, 0xeba196},
+  {0x83309134, 0xeba197},
+  {0x83309135, 0xeba198},
+  {0x83309136, 0xeba199},
+  {0x83309137, 0xeba19a},
+  {0x83309138, 0xeba19b},
+  {0x83309139, 0xeba19c},
+  {0x83309230, 0xeba19d},
+  {0x83309231, 0xeba19e},
+  {0x83309232, 0xeba19f},
+  {0x83309233, 0xeba1a0},
+  {0x83309234, 0xeba1a1},
+  {0x83309235, 0xeba1a2},
+  {0x83309236, 0xeba1a3},
+  {0x83309237, 0xeba1a4},
+  {0x83309238, 0xeba1a5},
+  {0x83309239, 0xeba1a6},
+  {0x83309330, 0xeba1a7},
+  {0x83309331, 0xeba1a8},
+  {0x83309332, 0xeba1a9},
+  {0x83309333, 0xeba1aa},
+  {0x83309334, 0xeba1ab},
+  {0x83309335, 0xeba1ac},
+  {0x83309336, 0xeba1ad},
+  {0x83309337, 0xeba1ae},
+  {0x83309338, 0xeba1af},
+  {0x83309339, 0xeba1b0},
+  {0x83309430, 0xeba1b1},
+  {0x83309431, 0xeba1b2},
+  {0x83309432, 0xeba1b3},
+  {0x83309433, 0xeba1b4},
+  {0x83309434, 0xeba1b5},
+  {0x83309435, 0xeba1b6},
+  {0x83309436, 0xeba1b7},
+  {0x83309437, 0xeba1b8},
+  {0x83309438, 0xeba1b9},
+  {0x83309439, 0xeba1ba},
+  {0x83309530, 0xeba1bb},
+  {0x83309531, 0xeba1bc},
+  {0x83309532, 0xeba1bd},
+  {0x83309533, 0xeba1be},
+  {0x83309534, 0xeba1bf},
+  {0x83309535, 0xeba280},
+  {0x83309536, 0xeba281},
+  {0x83309537, 0xeba282},
+  {0x83309538, 0xeba283},
+  {0x83309539, 0xeba284},
+  {0x83309630, 0xeba285},
+  {0x83309631, 0xeba286},
+  {0x83309632, 0xeba287},
+  {0x83309633, 0xeba288},
+  {0x83309634, 0xeba289},
+  {0x83309635, 0xeba28a},
+  {0x83309636, 0xeba28b},
+  {0x83309637, 0xeba28c},
+  {0x83309638, 0xeba28d},
+  {0x83309639, 0xeba28e},
+  {0x83309730, 0xeba28f},
+  {0x83309731, 0xeba290},
+  {0x83309732, 0xeba291},
+  {0x83309733, 0xeba292},
+  {0x83309734, 0xeba293},
+  {0x83309735, 0xeba294},
+  {0x83309736, 0xeba295},
+  {0x83309737, 0xeba296},
+  {0x83309738, 0xeba297},
+  {0x83309739, 0xeba298},
+  {0x83309830, 0xeba299},
+  {0x83309831, 0xeba29a},
+  {0x83309832, 0xeba29b},
+  {0x83309833, 0xeba29c},
+  {0x83309834, 0xeba29d},
+  {0x83309835, 0xeba29e},
+  {0x83309836, 0xeba29f},
+  {0x83309837, 0xeba2a0},
+  {0x83309838, 0xeba2a1},
+  {0x83309839, 0xeba2a2},
+  {0x83309930, 0xeba2a3},
+  {0x83309931, 0xeba2a4},
+  {0x83309932, 0xeba2a5},
+  {0x83309933, 0xeba2a6},
+  {0x83309934, 0xeba2a7},
+  {0x83309935, 0xeba2a8},
+  {0x83309936, 0xeba2a9},
+  {0x83309937, 0xeba2aa},
+  {0x83309938, 0xeba2ab},
+  {0x83309939, 0xeba2ac},
+  {0x83309a30, 0xeba2ad},
+  {0x83309a31, 0xeba2ae},
+  {0x83309a32, 0xeba2af},
+  {0x83309a33, 0xeba2b0},
+  {0x83309a34, 0xeba2b1},
+  {0x83309a35, 0xeba2b2},
+  {0x83309a36, 0xeba2b3},
+  {0x83309a37, 0xeba2b4},
+  {0x83309a38, 0xeba2b5},
+  {0x83309a39, 0xeba2b6},
+  {0x83309b30, 0xeba2b7},
+  {0x83309b31, 0xeba2b8},
+  {0x83309b32, 0xeba2b9},
+  {0x83309b33, 0xeba2ba},
+  {0x83309b34, 0xeba2bb},
+  {0x83309b35, 0xeba2bc},
+  {0x83309b36, 0xeba2bd},
+  {0x83309b37, 0xeba2be},
+  {0x83309b38, 0xeba2bf},
+  {0x83309b39, 0xeba380},
+  {0x83309c30, 0xeba381},
+  {0x83309c31, 0xeba382},
+  {0x83309c32, 0xeba383},
+  {0x83309c33, 0xeba384},
+  {0x83309c34, 0xeba385},
+  {0x83309c35, 0xeba386},
+  {0x83309c36, 0xeba387},
+  {0x83309c37, 0xeba388},
+  {0x83309c38, 0xeba389},
+  {0x83309c39, 0xeba38a},
+  {0x83309d30, 0xeba38b},
+  {0x83309d31, 0xeba38c},
+  {0x83309d32, 0xeba38d},
+  {0x83309d33, 0xeba38e},
+  {0x83309d34, 0xeba38f},
+  {0x83309d35, 0xeba390},
+  {0x83309d36, 0xeba391},
+  {0x83309d37, 0xeba392},
+  {0x83309d38, 0xeba393},
+  {0x83309d39, 0xeba394},
+  {0x83309e30, 0xeba395},
+  {0x83309e31, 0xeba396},
+  {0x83309e32, 0xeba397},
+  {0x83309e33, 0xeba398},
+  {0x83309e34, 0xeba399},
+  {0x83309e35, 0xeba39a},
+  {0x83309e36, 0xeba39b},
+  {0x83309e37, 0xeba39c},
+  {0x83309e38, 0xeba39d},
+  {0x83309e39, 0xeba39e},
+  {0x83309f30, 0xeba39f},
+  {0x83309f31, 0xeba3a0},
+  {0x83309f32, 0xeba3a1},
+  {0x83309f33, 0xeba3a2},
+  {0x83309f34, 0xeba3a3},
+  {0x83309f35, 0xeba3a4},
+  {0x83309f36, 0xeba3a5},
+  {0x83309f37, 0xeba3a6},
+  {0x83309f38, 0xeba3a7},
+  {0x83309f39, 0xeba3a8},
+  {0x8330a030, 0xeba3a9},
+  {0x8330a031, 0xeba3aa},
+  {0x8330a032, 0xeba3ab},
+  {0x8330a033, 0xeba3ac},
+  {0x8330a034, 0xeba3ad},
+  {0x8330a035, 0xeba3ae},
+  {0x8330a036, 0xeba3af},
+  {0x8330a037, 0xeba3b0},
+  {0x8330a038, 0xeba3b1},
+  {0x8330a039, 0xeba3b2},
+  {0x8330a130, 0xeba3b3},
+  {0x8330a131, 0xeba3b4},
+  {0x8330a132, 0xeba3b5},
+  {0x8330a133, 0xeba3b6},
+  {0x8330a134, 0xeba3b7},
+  {0x8330a135, 0xeba3b8},
+  {0x8330a136, 0xeba3b9},
+  {0x8330a137, 0xeba3ba},
+  {0x8330a138, 0xeba3bb},
+  {0x8330a139, 0xeba3bc},
+  {0x8330a230, 0xeba3bd},
+  {0x8330a231, 0xeba3be},
+  {0x8330a232, 0xeba3bf},
+  {0x8330a233, 0xeba480},
+  {0x8330a234, 0xeba481},
+  {0x8330a235, 0xeba482},
+  {0x8330a236, 0xeba483},
+  {0x8330a237, 0xeba484},
+  {0x8330a238, 0xeba485},
+  {0x8330a239, 0xeba486},
+  {0x8330a330, 0xeba487},
+  {0x8330a331, 0xeba488},
+  {0x8330a332, 0xeba489},
+  {0x8330a333, 0xeba48a},
+  {0x8330a334, 0xeba48b},
+  {0x8330a335, 0xeba48c},
+  {0x8330a336, 0xeba48d},
+  {0x8330a337, 0xeba48e},
+  {0x8330a338, 0xeba48f},
+  {0x8330a339, 0xeba490},
+  {0x8330a430, 0xeba491},
+  {0x8330a431, 0xeba492},
+  {0x8330a432, 0xeba493},
+  {0x8330a433, 0xeba494},
+  {0x8330a434, 0xeba495},
+  {0x8330a435, 0xeba496},
+  {0x8330a436, 0xeba497},
+  {0x8330a437, 0xeba498},
+  {0x8330a438, 0xeba499},
+  {0x8330a439, 0xeba49a},
+  {0x8330a530, 0xeba49b},
+  {0x8330a531, 0xeba49c},
+  {0x8330a532, 0xeba49d},
+  {0x8330a533, 0xeba49e},
+  {0x8330a534, 0xeba49f},
+  {0x8330a535, 0xeba4a0},
+  {0x8330a536, 0xeba4a1},
+  {0x8330a537, 0xeba4a2},
+  {0x8330a538, 0xeba4a3},
+  {0x8330a539, 0xeba4a4},
+  {0x8330a630, 0xeba4a5},
+  {0x8330a631, 0xeba4a6},
+  {0x8330a632, 0xeba4a7},
+  {0x8330a633, 0xeba4a8},
+  {0x8330a634, 0xeba4a9},
+  {0x8330a635, 0xeba4aa},
+  {0x8330a636, 0xeba4ab},
+  {0x8330a637, 0xeba4ac},
+  {0x8330a638, 0xeba4ad},
+  {0x8330a639, 0xeba4ae},
+  {0x8330a730, 0xeba4af},
+  {0x8330a731, 0xeba4b0},
+  {0x8330a732, 0xeba4b1},
+  {0x8330a733, 0xeba4b2},
+  {0x8330a734, 0xeba4b3},
+  {0x8330a735, 0xeba4b4},
+  {0x8330a736, 0xeba4b5},
+  {0x8330a737, 0xeba4b6},
+  {0x8330a738, 0xeba4b7},
+  {0x8330a739, 0xeba4b8},
+  {0x8330a830, 0xeba4b9},
+  {0x8330a831, 0xeba4ba},
+  {0x8330a832, 0xeba4bb},
+  {0x8330a833, 0xeba4bc},
+  {0x8330a834, 0xeba4bd},
+  {0x8330a835, 0xeba4be},
+  {0x8330a836, 0xeba4bf},
+  {0x8330a837, 0xeba580},
+  {0x8330a838, 0xeba581},
+  {0x8330a839, 0xeba582},
+  {0x8330a930, 0xeba583},
+  {0x8330a931, 0xeba584},
+  {0x8330a932, 0xeba585},
+  {0x8330a933, 0xeba586},
+  {0x8330a934, 0xeba587},
+  {0x8330a935, 0xeba588},
+  {0x8330a936, 0xeba589},
+  {0x8330a937, 0xeba58a},
+  {0x8330a938, 0xeba58b},
+  {0x8330a939, 0xeba58c},
+  {0x8330aa30, 0xeba58d},
+  {0x8330aa31, 0xeba58e},
+  {0x8330aa32, 0xeba58f},
+  {0x8330aa33, 0xeba590},
+  {0x8330aa34, 0xeba591},
+  {0x8330aa35, 0xeba592},
+  {0x8330aa36, 0xeba593},
+  {0x8330aa37, 0xeba594},
+  {0x8330aa38, 0xeba595},
+  {0x8330aa39, 0xeba596},
+  {0x8330ab30, 0xeba597},
+  {0x8330ab31, 0xeba598},
+  {0x8330ab32, 0xeba599},
+  {0x8330ab33, 0xeba59a},
+  {0x8330ab34, 0xeba59b},
+  {0x8330ab35, 0xeba59c},
+  {0x8330ab36, 0xeba59d},
+  {0x8330ab37, 0xeba59e},
+  {0x8330ab38, 0xeba59f},
+  {0x8330ab39, 0xeba5a0},
+  {0x8330ac30, 0xeba5a1},
+  {0x8330ac31, 0xeba5a2},
+  {0x8330ac32, 0xeba5a3},
+  {0x8330ac33, 0xeba5a4},
+  {0x8330ac34, 0xeba5a5},
+  {0x8330ac35, 0xeba5a6},
+  {0x8330ac36, 0xeba5a7},
+  {0x8330ac37, 0xeba5a8},
+  {0x8330ac38, 0xeba5a9},
+  {0x8330ac39, 0xeba5aa},
+  {0x8330ad30, 0xeba5ab},
+  {0x8330ad31, 0xeba5ac},
+  {0x8330ad32, 0xeba5ad},
+  {0x8330ad33, 0xeba5ae},
+  {0x8330ad34, 0xeba5af},
+  {0x8330ad35, 0xeba5b0},
+  {0x8330ad36, 0xeba5b1},
+  {0x8330ad37, 0xeba5b2},
+  {0x8330ad38, 0xeba5b3},
+  {0x8330ad39, 0xeba5b4},
+  {0x8330ae30, 0xeba5b5},
+  {0x8330ae31, 0xeba5b6},
+  {0x8330ae32, 0xeba5b7},
+  {0x8330ae33, 0xeba5b8},
+  {0x8330ae34, 0xeba5b9},
+  {0x8330ae35, 0xeba5ba},
+  {0x8330ae36, 0xeba5bb},
+  {0x8330ae37, 0xeba5bc},
+  {0x8330ae38, 0xeba5bd},
+  {0x8330ae39, 0xeba5be},
+  {0x8330af30, 0xeba5bf},
+  {0x8330af31, 0xeba680},
+  {0x8330af32, 0xeba681},
+  {0x8330af33, 0xeba682},
+  {0x8330af34, 0xeba683},
+  {0x8330af35, 0xeba684},
+  {0x8330af36, 0xeba685},
+  {0x8330af37, 0xeba686},
+  {0x8330af38, 0xeba687},
+  {0x8330af39, 0xeba688},
+  {0x8330b030, 0xeba689},
+  {0x8330b031, 0xeba68a},
+  {0x8330b032, 0xeba68b},
+  {0x8330b033, 0xeba68c},
+  {0x8330b034, 0xeba68d},
+  {0x8330b035, 0xeba68e},
+  {0x8330b036, 0xeba68f},
+  {0x8330b037, 0xeba690},
+  {0x8330b038, 0xeba691},
+  {0x8330b039, 0xeba692},
+  {0x8330b130, 0xeba693},
+  {0x8330b131, 0xeba694},
+  {0x8330b132, 0xeba695},
+  {0x8330b133, 0xeba696},
+  {0x8330b134, 0xeba697},
+  {0x8330b135, 0xeba698},
+  {0x8330b136, 0xeba699},
+  {0x8330b137, 0xeba69a},
+  {0x8330b138, 0xeba69b},
+  {0x8330b139, 0xeba69c},
+  {0x8330b230, 0xeba69d},
+  {0x8330b231, 0xeba69e},
+  {0x8330b232, 0xeba69f},
+  {0x8330b233, 0xeba6a0},
+  {0x8330b234, 0xeba6a1},
+  {0x8330b235, 0xeba6a2},
+  {0x8330b236, 0xeba6a3},
+  {0x8330b237, 0xeba6a4},
+  {0x8330b238, 0xeba6a5},
+  {0x8330b239, 0xeba6a6},
+  {0x8330b330, 0xeba6a7},
+  {0x8330b331, 0xeba6a8},
+  {0x8330b332, 0xeba6a9},
+  {0x8330b333, 0xeba6aa},
+  {0x8330b334, 0xeba6ab},
+  {0x8330b335, 0xeba6ac},
+  {0x8330b336, 0xeba6ad},
+  {0x8330b337, 0xeba6ae},
+  {0x8330b338, 0xeba6af},
+  {0x8330b339, 0xeba6b0},
+  {0x8330b430, 0xeba6b1},
+  {0x8330b431, 0xeba6b2},
+  {0x8330b432, 0xeba6b3},
+  {0x8330b433, 0xeba6b4},
+  {0x8330b434, 0xeba6b5},
+  {0x8330b435, 0xeba6b6},
+  {0x8330b436, 0xeba6b7},
+  {0x8330b437, 0xeba6b8},
+  {0x8330b438, 0xeba6b9},
+  {0x8330b439, 0xeba6ba},
+  {0x8330b530, 0xeba6bb},
+  {0x8330b531, 0xeba6bc},
+  {0x8330b532, 0xeba6bd},
+  {0x8330b533, 0xeba6be},
+  {0x8330b534, 0xeba6bf},
+  {0x8330b535, 0xeba780},
+  {0x8330b536, 0xeba781},
+  {0x8330b537, 0xeba782},
+  {0x8330b538, 0xeba783},
+  {0x8330b539, 0xeba784},
+  {0x8330b630, 0xeba785},
+  {0x8330b631, 0xeba786},
+  {0x8330b632, 0xeba787},
+  {0x8330b633, 0xeba788},
+  {0x8330b634, 0xeba789},
+  {0x8330b635, 0xeba78a},
+  {0x8330b636, 0xeba78b},
+  {0x8330b637, 0xeba78c},
+  {0x8330b638, 0xeba78d},
+  {0x8330b639, 0xeba78e},
+  {0x8330b730, 0xeba78f},
+  {0x8330b731, 0xeba790},
+  {0x8330b732, 0xeba791},
+  {0x8330b733, 0xeba792},
+  {0x8330b734, 0xeba793},
+  {0x8330b735, 0xeba794},
+  {0x8330b736, 0xeba795},
+  {0x8330b737, 0xeba796},
+  {0x8330b738, 0xeba797},
+  {0x8330b739, 0xeba798},
+  {0x8330b830, 0xeba799},
+  {0x8330b831, 0xeba79a},
+  {0x8330b832, 0xeba79b},
+  {0x8330b833, 0xeba79c},
+  {0x8330b834, 0xeba79d},
+  {0x8330b835, 0xeba79e},
+  {0x8330b836, 0xeba79f},
+  {0x8330b837, 0xeba7a0},
+  {0x8330b838, 0xeba7a1},
+  {0x8330b839, 0xeba7a2},
+  {0x8330b930, 0xeba7a3},
+  {0x8330b931, 0xeba7a4},
+  {0x8330b932, 0xeba7a5},
+  {0x8330b933, 0xeba7a6},
+  {0x8330b934, 0xeba7a7},
+  {0x8330b935, 0xeba7a8},
+  {0x8330b936, 0xeba7a9},
+  {0x8330b937, 0xeba7aa},
+  {0x8330b938, 0xeba7ab},
+  {0x8330b939, 0xeba7ac},
+  {0x8330ba30, 0xeba7ad},
+  {0x8330ba31, 0xeba7ae},
+  {0x8330ba32, 0xeba7af},
+  {0x8330ba33, 0xeba7b0},
+  {0x8330ba34, 0xeba7b1},
+  {0x8330ba35, 0xeba7b2},
+  {0x8330ba36, 0xeba7b3},
+  {0x8330ba37, 0xeba7b4},
+  {0x8330ba38, 0xeba7b5},
+  {0x8330ba39, 0xeba7b6},
+  {0x8330bb30, 0xeba7b7},
+  {0x8330bb31, 0xeba7b8},
+  {0x8330bb32, 0xeba7b9},
+  {0x8330bb33, 0xeba7ba},
+  {0x8330bb34, 0xeba7bb},
+  {0x8330bb35, 0xeba7bc},
+  {0x8330bb36, 0xeba7bd},
+  {0x8330bb37, 0xeba7be},
+  {0x8330bb38, 0xeba7bf},
+  {0x8330bb39, 0xeba880},
+  {0x8330bc30, 0xeba881},
+  {0x8330bc31, 0xeba882},
+  {0x8330bc32, 0xeba883},
+  {0x8330bc33, 0xeba884},
+  {0x8330bc34, 0xeba885},
+  {0x8330bc35, 0xeba886},
+  {0x8330bc36, 0xeba887},
+  {0x8330bc37, 0xeba888},
+  {0x8330bc38, 0xeba889},
+  {0x8330bc39, 0xeba88a},
+  {0x8330bd30, 0xeba88b},
+  {0x8330bd31, 0xeba88c},
+  {0x8330bd32, 0xeba88d},
+  {0x8330bd33, 0xeba88e},
+  {0x8330bd34, 0xeba88f},
+  {0x8330bd35, 0xeba890},
+  {0x8330bd36, 0xeba891},
+  {0x8330bd37, 0xeba892},
+  {0x8330bd38, 0xeba893},
+  {0x8330bd39, 0xeba894},
+  {0x8330be30, 0xeba895},
+  {0x8330be31, 0xeba896},
+  {0x8330be32, 0xeba897},
+  {0x8330be33, 0xeba898},
+  {0x8330be34, 0xeba899},
+  {0x8330be35, 0xeba89a},
+  {0x8330be36, 0xeba89b},
+  {0x8330be37, 0xeba89c},
+  {0x8330be38, 0xeba89d},
+  {0x8330be39, 0xeba89e},
+  {0x8330bf30, 0xeba89f},
+  {0x8330bf31, 0xeba8a0},
+  {0x8330bf32, 0xeba8a1},
+  {0x8330bf33, 0xeba8a2},
+  {0x8330bf34, 0xeba8a3},
+  {0x8330bf35, 0xeba8a4},
+  {0x8330bf36, 0xeba8a5},
+  {0x8330bf37, 0xeba8a6},
+  {0x8330bf38, 0xeba8a7},
+  {0x8330bf39, 0xeba8a8},
+  {0x8330c030, 0xeba8a9},
+  {0x8330c031, 0xeba8aa},
+  {0x8330c032, 0xeba8ab},
+  {0x8330c033, 0xeba8ac},
+  {0x8330c034, 0xeba8ad},
+  {0x8330c035, 0xeba8ae},
+  {0x8330c036, 0xeba8af},
+  {0x8330c037, 0xeba8b0},
+  {0x8330c038, 0xeba8b1},
+  {0x8330c039, 0xeba8b2},
+  {0x8330c130, 0xeba8b3},
+  {0x8330c131, 0xeba8b4},
+  {0x8330c132, 0xeba8b5},
+  {0x8330c133, 0xeba8b6},
+  {0x8330c134, 0xeba8b7},
+  {0x8330c135, 0xeba8b8},
+  {0x8330c136, 0xeba8b9},
+  {0x8330c137, 0xeba8ba},
+  {0x8330c138, 0xeba8bb},
+  {0x8330c139, 0xeba8bc},
+  {0x8330c230, 0xeba8bd},
+  {0x8330c231, 0xeba8be},
+  {0x8330c232, 0xeba8bf},
+  {0x8330c233, 0xeba980},
+  {0x8330c234, 0xeba981},
+  {0x8330c235, 0xeba982},
+  {0x8330c236, 0xeba983},
+  {0x8330c237, 0xeba984},
+  {0x8330c238, 0xeba985},
+  {0x8330c239, 0xeba986},
+  {0x8330c330, 0xeba987},
+  {0x8330c331, 0xeba988},
+  {0x8330c332, 0xeba989},
+  {0x8330c333, 0xeba98a},
+  {0x8330c334, 0xeba98b},
+  {0x8330c335, 0xeba98c},
+  {0x8330c336, 0xeba98d},
+  {0x8330c337, 0xeba98e},
+  {0x8330c338, 0xeba98f},
+  {0x8330c339, 0xeba990},
+  {0x8330c430, 0xeba991},
+  {0x8330c431, 0xeba992},
+  {0x8330c432, 0xeba993},
+  {0x8330c433, 0xeba994},
+  {0x8330c434, 0xeba995},
+  {0x8330c435, 0xeba996},
+  {0x8330c436, 0xeba997},
+  {0x8330c437, 0xeba998},
+  {0x8330c438, 0xeba999},
+  {0x8330c439, 0xeba99a},
+  {0x8330c530, 0xeba99b},
+  {0x8330c531, 0xeba99c},
+  {0x8330c532, 0xeba99d},
+  {0x8330c533, 0xeba99e},
+  {0x8330c534, 0xeba99f},
+  {0x8330c535, 0xeba9a0},
+  {0x8330c536, 0xeba9a1},
+  {0x8330c537, 0xeba9a2},
+  {0x8330c538, 0xeba9a3},
+  {0x8330c539, 0xeba9a4},
+  {0x8330c630, 0xeba9a5},
+  {0x8330c631, 0xeba9a6},
+  {0x8330c632, 0xeba9a7},
+  {0x8330c633, 0xeba9a8},
+  {0x8330c634, 0xeba9a9},
+  {0x8330c635, 0xeba9aa},
+  {0x8330c636, 0xeba9ab},
+  {0x8330c637, 0xeba9ac},
+  {0x8330c638, 0xeba9ad},
+  {0x8330c639, 0xeba9ae},
+  {0x8330c730, 0xeba9af},
+  {0x8330c731, 0xeba9b0},
+  {0x8330c732, 0xeba9b1},
+  {0x8330c733, 0xeba9b2},
+  {0x8330c734, 0xeba9b3},
+  {0x8330c735, 0xeba9b4},
+  {0x8330c736, 0xeba9b5},
+  {0x8330c737, 0xeba9b6},
+  {0x8330c738, 0xeba9b7},
+  {0x8330c739, 0xeba9b8},
+  {0x8330c830, 0xeba9b9},
+  {0x8330c831, 0xeba9ba},
+  {0x8330c832, 0xeba9bb},
+  {0x8330c833, 0xeba9bc},
+  {0x8330c834, 0xeba9bd},
+  {0x8330c835, 0xeba9be},
+  {0x8330c836, 0xeba9bf},
+  {0x8330c837, 0xebaa80},
+  {0x8330c838, 0xebaa81},
+  {0x8330c839, 0xebaa82},
+  {0x8330c930, 0xebaa83},
+  {0x8330c931, 0xebaa84},
+  {0x8330c932, 0xebaa85},
+  {0x8330c933, 0xebaa86},
+  {0x8330c934, 0xebaa87},
+  {0x8330c935, 0xebaa88},
+  {0x8330c936, 0xebaa89},
+  {0x8330c937, 0xebaa8a},
+  {0x8330c938, 0xebaa8b},
+  {0x8330c939, 0xebaa8c},
+  {0x8330ca30, 0xebaa8d},
+  {0x8330ca31, 0xebaa8e},
+  {0x8330ca32, 0xebaa8f},
+  {0x8330ca33, 0xebaa90},
+  {0x8330ca34, 0xebaa91},
+  {0x8330ca35, 0xebaa92},
+  {0x8330ca36, 0xebaa93},
+  {0x8330ca37, 0xebaa94},
+  {0x8330ca38, 0xebaa95},
+  {0x8330ca39, 0xebaa96},
+  {0x8330cb30, 0xebaa97},
+  {0x8330cb31, 0xebaa98},
+  {0x8330cb32, 0xebaa99},
+  {0x8330cb33, 0xebaa9a},
+  {0x8330cb34, 0xebaa9b},
+  {0x8330cb35, 0xebaa9c},
+  {0x8330cb36, 0xebaa9d},
+  {0x8330cb37, 0xebaa9e},
+  {0x8330cb38, 0xebaa9f},
+  {0x8330cb39, 0xebaaa0},
+  {0x8330cc30, 0xebaaa1},
+  {0x8330cc31, 0xebaaa2},
+  {0x8330cc32, 0xebaaa3},
+  {0x8330cc33, 0xebaaa4},
+  {0x8330cc34, 0xebaaa5},
+  {0x8330cc35, 0xebaaa6},
+  {0x8330cc36, 0xebaaa7},
+  {0x8330cc37, 0xebaaa8},
+  {0x8330cc38, 0xebaaa9},
+  {0x8330cc39, 0xebaaaa},
+  {0x8330cd30, 0xebaaab},
+  {0x8330cd31, 0xebaaac},
+  {0x8330cd32, 0xebaaad},
+  {0x8330cd33, 0xebaaae},
+  {0x8330cd34, 0xebaaaf},
+  {0x8330cd35, 0xebaab0},
+  {0x8330cd36, 0xebaab1},
+  {0x8330cd37, 0xebaab2},
+  {0x8330cd38, 0xebaab3},
+  {0x8330cd39, 0xebaab4},
+  {0x8330ce30, 0xebaab5},
+  {0x8330ce31, 0xebaab6},
+  {0x8330ce32, 0xebaab7},
+  {0x8330ce33, 0xebaab8},
+  {0x8330ce34, 0xebaab9},
+  {0x8330ce35, 0xebaaba},
+  {0x8330ce36, 0xebaabb},
+  {0x8330ce37, 0xebaabc},
+  {0x8330ce38, 0xebaabd},
+  {0x8330ce39, 0xebaabe},
+  {0x8330cf30, 0xebaabf},
+  {0x8330cf31, 0xebab80},
+  {0x8330cf32, 0xebab81},
+  {0x8330cf33, 0xebab82},
+  {0x8330cf34, 0xebab83},
+  {0x8330cf35, 0xebab84},
+  {0x8330cf36, 0xebab85},
+  {0x8330cf37, 0xebab86},
+  {0x8330cf38, 0xebab87},
+  {0x8330cf39, 0xebab88},
+  {0x8330d030, 0xebab89},
+  {0x8330d031, 0xebab8a},
+  {0x8330d032, 0xebab8b},
+  {0x8330d033, 0xebab8c},
+  {0x8330d034, 0xebab8d},
+  {0x8330d035, 0xebab8e},
+  {0x8330d036, 0xebab8f},
+  {0x8330d037, 0xebab90},
+  {0x8330d038, 0xebab91},
+  {0x8330d039, 0xebab92},
+  {0x8330d130, 0xebab93},
+  {0x8330d131, 0xebab94},
+  {0x8330d132, 0xebab95},
+  {0x8330d133, 0xebab96},
+  {0x8330d134, 0xebab97},
+  {0x8330d135, 0xebab98},
+  {0x8330d136, 0xebab99},
+  {0x8330d137, 0xebab9a},
+  {0x8330d138, 0xebab9b},
+  {0x8330d139, 0xebab9c},
+  {0x8330d230, 0xebab9d},
+  {0x8330d231, 0xebab9e},
+  {0x8330d232, 0xebab9f},
+  {0x8330d233, 0xebaba0},
+  {0x8330d234, 0xebaba1},
+  {0x8330d235, 0xebaba2},
+  {0x8330d236, 0xebaba3},
+  {0x8330d237, 0xebaba4},
+  {0x8330d238, 0xebaba5},
+  {0x8330d239, 0xebaba6},
+  {0x8330d330, 0xebaba7},
+  {0x8330d331, 0xebaba8},
+  {0x8330d332, 0xebaba9},
+  {0x8330d333, 0xebabaa},
+  {0x8330d334, 0xebabab},
+  {0x8330d335, 0xebabac},
+  {0x8330d336, 0xebabad},
+  {0x8330d337, 0xebabae},
+  {0x8330d338, 0xebabaf},
+  {0x8330d339, 0xebabb0},
+  {0x8330d430, 0xebabb1},
+  {0x8330d431, 0xebabb2},
+  {0x8330d432, 0xebabb3},
+  {0x8330d433, 0xebabb4},
+  {0x8330d434, 0xebabb5},
+  {0x8330d435, 0xebabb6},
+  {0x8330d436, 0xebabb7},
+  {0x8330d437, 0xebabb8},
+  {0x8330d438, 0xebabb9},
+  {0x8330d439, 0xebabba},
+  {0x8330d530, 0xebabbb},
+  {0x8330d531, 0xebabbc},
+  {0x8330d532, 0xebabbd},
+  {0x8330d533, 0xebabbe},
+  {0x8330d534, 0xebabbf},
+  {0x8330d535, 0xebac80},
+  {0x8330d536, 0xebac81},
+  {0x8330d537, 0xebac82},
+  {0x8330d538, 0xebac83},
+  {0x8330d539, 0xebac84},
+  {0x8330d630, 0xebac85},
+  {0x8330d631, 0xebac86},
+  {0x8330d632, 0xebac87},
+  {0x8330d633, 0xebac88},
+  {0x8330d634, 0xebac89},
+  {0x8330d635, 0xebac8a},
+  {0x8330d636, 0xebac8b},
+  {0x8330d637, 0xebac8c},
+  {0x8330d638, 0xebac8d},
+  {0x8330d639, 0xebac8e},
+  {0x8330d730, 0xebac8f},
+  {0x8330d731, 0xebac90},
+  {0x8330d732, 0xebac91},
+  {0x8330d733, 0xebac92},
+  {0x8330d734, 0xebac93},
+  {0x8330d735, 0xebac94},
+  {0x8330d736, 0xebac95},
+  {0x8330d737, 0xebac96},
+  {0x8330d738, 0xebac97},
+  {0x8330d739, 0xebac98},
+  {0x8330d830, 0xebac99},
+  {0x8330d831, 0xebac9a},
+  {0x8330d832, 0xebac9b},
+  {0x8330d833, 0xebac9c},
+  {0x8330d834, 0xebac9d},
+  {0x8330d835, 0xebac9e},
+  {0x8330d836, 0xebac9f},
+  {0x8330d837, 0xebaca0},
+  {0x8330d838, 0xebaca1},
+  {0x8330d839, 0xebaca2},
+  {0x8330d930, 0xebaca3},
+  {0x8330d931, 0xebaca4},
+  {0x8330d932, 0xebaca5},
+  {0x8330d933, 0xebaca6},
+  {0x8330d934, 0xebaca7},
+  {0x8330d935, 0xebaca8},
+  {0x8330d936, 0xebaca9},
+  {0x8330d937, 0xebacaa},
+  {0x8330d938, 0xebacab},
+  {0x8330d939, 0xebacac},
+  {0x8330da30, 0xebacad},
+  {0x8330da31, 0xebacae},
+  {0x8330da32, 0xebacaf},
+  {0x8330da33, 0xebacb0},
+  {0x8330da34, 0xebacb1},
+  {0x8330da35, 0xebacb2},
+  {0x8330da36, 0xebacb3},
+  {0x8330da37, 0xebacb4},
+  {0x8330da38, 0xebacb5},
+  {0x8330da39, 0xebacb6},
+  {0x8330db30, 0xebacb7},
+  {0x8330db31, 0xebacb8},
+  {0x8330db32, 0xebacb9},
+  {0x8330db33, 0xebacba},
+  {0x8330db34, 0xebacbb},
+  {0x8330db35, 0xebacbc},
+  {0x8330db36, 0xebacbd},
+  {0x8330db37, 0xebacbe},
+  {0x8330db38, 0xebacbf},
+  {0x8330db39, 0xebad80},
+  {0x8330dc30, 0xebad81},
+  {0x8330dc31, 0xebad82},
+  {0x8330dc32, 0xebad83},
+  {0x8330dc33, 0xebad84},
+  {0x8330dc34, 0xebad85},
+  {0x8330dc35, 0xebad86},
+  {0x8330dc36, 0xebad87},
+  {0x8330dc37, 0xebad88},
+  {0x8330dc38, 0xebad89},
+  {0x8330dc39, 0xebad8a},
+  {0x8330dd30, 0xebad8b},
+  {0x8330dd31, 0xebad8c},
+  {0x8330dd32, 0xebad8d},
+  {0x8330dd33, 0xebad8e},
+  {0x8330dd34, 0xebad8f},
+  {0x8330dd35, 0xebad90},
+  {0x8330dd36, 0xebad91},
+  {0x8330dd37, 0xebad92},
+  {0x8330dd38, 0xebad93},
+  {0x8330dd39, 0xebad94},
+  {0x8330de30, 0xebad95},
+  {0x8330de31, 0xebad96},
+  {0x8330de32, 0xebad97},
+  {0x8330de33, 0xebad98},
+  {0x8330de34, 0xebad99},
+  {0x8330de35, 0xebad9a},
+  {0x8330de36, 0xebad9b},
+  {0x8330de37, 0xebad9c},
+  {0x8330de38, 0xebad9d},
+  {0x8330de39, 0xebad9e},
+  {0x8330df30, 0xebad9f},
+  {0x8330df31, 0xebada0},
+  {0x8330df32, 0xebada1},
+  {0x8330df33, 0xebada2},
+  {0x8330df34, 0xebada3},
+  {0x8330df35, 0xebada4},
+  {0x8330df36, 0xebada5},
+  {0x8330df37, 0xebada6},
+  {0x8330df38, 0xebada7},
+  {0x8330df39, 0xebada8},
+  {0x8330e030, 0xebada9},
+  {0x8330e031, 0xebadaa},
+  {0x8330e032, 0xebadab},
+  {0x8330e033, 0xebadac},
+  {0x8330e034, 0xebadad},
+  {0x8330e035, 0xebadae},
+  {0x8330e036, 0xebadaf},
+  {0x8330e037, 0xebadb0},
+  {0x8330e038, 0xebadb1},
+  {0x8330e039, 0xebadb2},
+  {0x8330e130, 0xebadb3},
+  {0x8330e131, 0xebadb4},
+  {0x8330e132, 0xebadb5},
+  {0x8330e133, 0xebadb6},
+  {0x8330e134, 0xebadb7},
+  {0x8330e135, 0xebadb8},
+  {0x8330e136, 0xebadb9},
+  {0x8330e137, 0xebadba},
+  {0x8330e138, 0xebadbb},
+  {0x8330e139, 0xebadbc},
+  {0x8330e230, 0xebadbd},
+  {0x8330e231, 0xebadbe},
+  {0x8330e232, 0xebadbf},
+  {0x8330e233, 0xebae80},
+  {0x8330e234, 0xebae81},
+  {0x8330e235, 0xebae82},
+  {0x8330e236, 0xebae83},
+  {0x8330e237, 0xebae84},
+  {0x8330e238, 0xebae85},
+  {0x8330e239, 0xebae86},
+  {0x8330e330, 0xebae87},
+  {0x8330e331, 0xebae88},
+  {0x8330e332, 0xebae89},
+  {0x8330e333, 0xebae8a},
+  {0x8330e334, 0xebae8b},
+  {0x8330e335, 0xebae8c},
+  {0x8330e336, 0xebae8d},
+  {0x8330e337, 0xebae8e},
+  {0x8330e338, 0xebae8f},
+  {0x8330e339, 0xebae90},
+  {0x8330e430, 0xebae91},
+  {0x8330e431, 0xebae92},
+  {0x8330e432, 0xebae93},
+  {0x8330e433, 0xebae94},
+  {0x8330e434, 0xebae95},
+  {0x8330e435, 0xebae96},
+  {0x8330e436, 0xebae97},
+  {0x8330e437, 0xebae98},
+  {0x8330e438, 0xebae99},
+  {0x8330e439, 0xebae9a},
+  {0x8330e530, 0xebae9b},
+  {0x8330e531, 0xebae9c},
+  {0x8330e532, 0xebae9d},
+  {0x8330e533, 0xebae9e},
+  {0x8330e534, 0xebae9f},
+  {0x8330e535, 0xebaea0},
+  {0x8330e536, 0xebaea1},
+  {0x8330e537, 0xebaea2},
+  {0x8330e538, 0xebaea3},
+  {0x8330e539, 0xebaea4},
+  {0x8330e630, 0xebaea5},
+  {0x8330e631, 0xebaea6},
+  {0x8330e632, 0xebaea7},
+  {0x8330e633, 0xebaea8},
+  {0x8330e634, 0xebaea9},
+  {0x8330e635, 0xebaeaa},
+  {0x8330e636, 0xebaeab},
+  {0x8330e637, 0xebaeac},
+  {0x8330e638, 0xebaead},
+  {0x8330e639, 0xebaeae},
+  {0x8330e730, 0xebaeaf},
+  {0x8330e731, 0xebaeb0},
+  {0x8330e732, 0xebaeb1},
+  {0x8330e733, 0xebaeb2},
+  {0x8330e734, 0xebaeb3},
+  {0x8330e735, 0xebaeb4},
+  {0x8330e736, 0xebaeb5},
+  {0x8330e737, 0xebaeb6},
+  {0x8330e738, 0xebaeb7},
+  {0x8330e739, 0xebaeb8},
+  {0x8330e830, 0xebaeb9},
+  {0x8330e831, 0xebaeba},
+  {0x8330e832, 0xebaebb},
+  {0x8330e833, 0xebaebc},
+  {0x8330e834, 0xebaebd},
+  {0x8330e835, 0xebaebe},
+  {0x8330e836, 0xebaebf},
+  {0x8330e837, 0xebaf80},
+  {0x8330e838, 0xebaf81},
+  {0x8330e839, 0xebaf82},
+  {0x8330e930, 0xebaf83},
+  {0x8330e931, 0xebaf84},
+  {0x8330e932, 0xebaf85},
+  {0x8330e933, 0xebaf86},
+  {0x8330e934, 0xebaf87},
+  {0x8330e935, 0xebaf88},
+  {0x8330e936, 0xebaf89},
+  {0x8330e937, 0xebaf8a},
+  {0x8330e938, 0xebaf8b},
+  {0x8330e939, 0xebaf8c},
+  {0x8330ea30, 0xebaf8d},
+  {0x8330ea31, 0xebaf8e},
+  {0x8330ea32, 0xebaf8f},
+  {0x8330ea33, 0xebaf90},
+  {0x8330ea34, 0xebaf91},
+  {0x8330ea35, 0xebaf92},
+  {0x8330ea36, 0xebaf93},
+  {0x8330ea37, 0xebaf94},
+  {0x8330ea38, 0xebaf95},
+  {0x8330ea39, 0xebaf96},
+  {0x8330eb30, 0xebaf97},
+  {0x8330eb31, 0xebaf98},
+  {0x8330eb32, 0xebaf99},
+  {0x8330eb33, 0xebaf9a},
+  {0x8330eb34, 0xebaf9b},
+  {0x8330eb35, 0xebaf9c},
+  {0x8330eb36, 0xebaf9d},
+  {0x8330eb37, 0xebaf9e},
+  {0x8330eb38, 0xebaf9f},
+  {0x8330eb39, 0xebafa0},
+  {0x8330ec30, 0xebafa1},
+  {0x8330ec31, 0xebafa2},
+  {0x8330ec32, 0xebafa3},
+  {0x8330ec33, 0xebafa4},
+  {0x8330ec34, 0xebafa5},
+  {0x8330ec35, 0xebafa6},
+  {0x8330ec36, 0xebafa7},
+  {0x8330ec37, 0xebafa8},
+  {0x8330ec38, 0xebafa9},
+  {0x8330ec39, 0xebafaa},
+  {0x8330ed30, 0xebafab},
+  {0x8330ed31, 0xebafac},
+  {0x8330ed32, 0xebafad},
+  {0x8330ed33, 0xebafae},
+  {0x8330ed34, 0xebafaf},
+  {0x8330ed35, 0xebafb0},
+  {0x8330ed36, 0xebafb1},
+  {0x8330ed37, 0xebafb2},
+  {0x8330ed38, 0xebafb3},
+  {0x8330ed39, 0xebafb4},
+  {0x8330ee30, 0xebafb5},
+  {0x8330ee31, 0xebafb6},
+  {0x8330ee32, 0xebafb7},
+  {0x8330ee33, 0xebafb8},
+  {0x8330ee34, 0xebafb9},
+  {0x8330ee35, 0xebafba},
+  {0x8330ee36, 0xebafbb},
+  {0x8330ee37, 0xebafbc},
+  {0x8330ee38, 0xebafbd},
+  {0x8330ee39, 0xebafbe},
+  {0x8330ef30, 0xebafbf},
+  {0x8330ef31, 0xebb080},
+  {0x8330ef32, 0xebb081},
+  {0x8330ef33, 0xebb082},
+  {0x8330ef34, 0xebb083},
+  {0x8330ef35, 0xebb084},
+  {0x8330ef36, 0xebb085},
+  {0x8330ef37, 0xebb086},
+  {0x8330ef38, 0xebb087},
+  {0x8330ef39, 0xebb088},
+  {0x8330f030, 0xebb089},
+  {0x8330f031, 0xebb08a},
+  {0x8330f032, 0xebb08b},
+  {0x8330f033, 0xebb08c},
+  {0x8330f034, 0xebb08d},
+  {0x8330f035, 0xebb08e},
+  {0x8330f036, 0xebb08f},
+  {0x8330f037, 0xebb090},
+  {0x8330f038, 0xebb091},
+  {0x8330f039, 0xebb092},
+  {0x8330f130, 0xebb093},
+  {0x8330f131, 0xebb094},
+  {0x8330f132, 0xebb095},
+  {0x8330f133, 0xebb096},
+  {0x8330f134, 0xebb097},
+  {0x8330f135, 0xebb098},
+  {0x8330f136, 0xebb099},
+  {0x8330f137, 0xebb09a},
+  {0x8330f138, 0xebb09b},
+  {0x8330f139, 0xebb09c},
+  {0x8330f230, 0xebb09d},
+  {0x8330f231, 0xebb09e},
+  {0x8330f232, 0xebb09f},
+  {0x8330f233, 0xebb0a0},
+  {0x8330f234, 0xebb0a1},
+  {0x8330f235, 0xebb0a2},
+  {0x8330f236, 0xebb0a3},
+  {0x8330f237, 0xebb0a4},
+  {0x8330f238, 0xebb0a5},
+  {0x8330f239, 0xebb0a6},
+  {0x8330f330, 0xebb0a7},
+  {0x8330f331, 0xebb0a8},
+  {0x8330f332, 0xebb0a9},
+  {0x8330f333, 0xebb0aa},
+  {0x8330f334, 0xebb0ab},
+  {0x8330f335, 0xebb0ac},
+  {0x8330f336, 0xebb0ad},
+  {0x8330f337, 0xebb0ae},
+  {0x8330f338, 0xebb0af},
+  {0x8330f339, 0xebb0b0},
+  {0x8330f430, 0xebb0b1},
+  {0x8330f431, 0xebb0b2},
+  {0x8330f432, 0xebb0b3},
+  {0x8330f433, 0xebb0b4},
+  {0x8330f434, 0xebb0b5},
+  {0x8330f435, 0xebb0b6},
+  {0x8330f436, 0xebb0b7},
+  {0x8330f437, 0xebb0b8},
+  {0x8330f438, 0xebb0b9},
+  {0x8330f439, 0xebb0ba},
+  {0x8330f530, 0xebb0bb},
+  {0x8330f531, 0xebb0bc},
+  {0x8330f532, 0xebb0bd},
+  {0x8330f533, 0xebb0be},
+  {0x8330f534, 0xebb0bf},
+  {0x8330f535, 0xebb180},
+  {0x8330f536, 0xebb181},
+  {0x8330f537, 0xebb182},
+  {0x8330f538, 0xebb183},
+  {0x8330f539, 0xebb184},
+  {0x8330f630, 0xebb185},
+  {0x8330f631, 0xebb186},
+  {0x8330f632, 0xebb187},
+  {0x8330f633, 0xebb188},
+  {0x8330f634, 0xebb189},
+  {0x8330f635, 0xebb18a},
+  {0x8330f636, 0xebb18b},
+  {0x8330f637, 0xebb18c},
+  {0x8330f638, 0xebb18d},
+  {0x8330f639, 0xebb18e},
+  {0x8330f730, 0xebb18f},
+  {0x8330f731, 0xebb190},
+  {0x8330f732, 0xebb191},
+  {0x8330f733, 0xebb192},
+  {0x8330f734, 0xebb193},
+  {0x8330f735, 0xebb194},
+  {0x8330f736, 0xebb195},
+  {0x8330f737, 0xebb196},
+  {0x8330f738, 0xebb197},
+  {0x8330f739, 0xebb198},
+  {0x8330f830, 0xebb199},
+  {0x8330f831, 0xebb19a},
+  {0x8330f832, 0xebb19b},
+  {0x8330f833, 0xebb19c},
+  {0x8330f834, 0xebb19d},
+  {0x8330f835, 0xebb19e},
+  {0x8330f836, 0xebb19f},
+  {0x8330f837, 0xebb1a0},
+  {0x8330f838, 0xebb1a1},
+  {0x8330f839, 0xebb1a2},
+  {0x8330f930, 0xebb1a3},
+  {0x8330f931, 0xebb1a4},
+  {0x8330f932, 0xebb1a5},
+  {0x8330f933, 0xebb1a6},
+  {0x8330f934, 0xebb1a7},
+  {0x8330f935, 0xebb1a8},
+  {0x8330f936, 0xebb1a9},
+  {0x8330f937, 0xebb1aa},
+  {0x8330f938, 0xebb1ab},
+  {0x8330f939, 0xebb1ac},
+  {0x8330fa30, 0xebb1ad},
+  {0x8330fa31, 0xebb1ae},
+  {0x8330fa32, 0xebb1af},
+  {0x8330fa33, 0xebb1b0},
+  {0x8330fa34, 0xebb1b1},
+  {0x8330fa35, 0xebb1b2},
+  {0x8330fa36, 0xebb1b3},
+  {0x8330fa37, 0xebb1b4},
+  {0x8330fa38, 0xebb1b5},
+  {0x8330fa39, 0xebb1b6},
+  {0x8330fb30, 0xebb1b7},
+  {0x8330fb31, 0xebb1b8},
+  {0x8330fb32, 0xebb1b9},
+  {0x8330fb33, 0xebb1ba},
+  {0x8330fb34, 0xebb1bb},
+  {0x8330fb35, 0xebb1bc},
+  {0x8330fb36, 0xebb1bd},
+  {0x8330fb37, 0xebb1be},
+  {0x8330fb38, 0xebb1bf},
+  {0x8330fb39, 0xebb280},
+  {0x8330fc30, 0xebb281},
+  {0x8330fc31, 0xebb282},
+  {0x8330fc32, 0xebb283},
+  {0x8330fc33, 0xebb284},
+  {0x8330fc34, 0xebb285},
+  {0x8330fc35, 0xebb286},
+  {0x8330fc36, 0xebb287},
+  {0x8330fc37, 0xebb288},
+  {0x8330fc38, 0xebb289},
+  {0x8330fc39, 0xebb28a},
+  {0x8330fd30, 0xebb28b},
+  {0x8330fd31, 0xebb28c},
+  {0x8330fd32, 0xebb28d},
+  {0x8330fd33, 0xebb28e},
+  {0x8330fd34, 0xebb28f},
+  {0x8330fd35, 0xebb290},
+  {0x8330fd36, 0xebb291},
+  {0x8330fd37, 0xebb292},
+  {0x8330fd38, 0xebb293},
+  {0x8330fd39, 0xebb294},
+  {0x8330fe30, 0xebb295},
+  {0x8330fe31, 0xebb296},
+  {0x8330fe32, 0xebb297},
+  {0x8330fe33, 0xebb298},
+  {0x8330fe34, 0xebb299},
+  {0x8330fe35, 0xebb29a},
+  {0x8330fe36, 0xebb29b},
+  {0x8330fe37, 0xebb29c},
+  {0x8330fe38, 0xebb29d},
+  {0x8330fe39, 0xebb29e},
+  {0x83318130, 0xebb29f},
+  {0x83318131, 0xebb2a0},
+  {0x83318132, 0xebb2a1},
+  {0x83318133, 0xebb2a2},
+  {0x83318134, 0xebb2a3},
+  {0x83318135, 0xebb2a4},
+  {0x83318136, 0xebb2a5},
+  {0x83318137, 0xebb2a6},
+  {0x83318138, 0xebb2a7},
+  {0x83318139, 0xebb2a8},
+  {0x83318230, 0xebb2a9},
+  {0x83318231, 0xebb2aa},
+  {0x83318232, 0xebb2ab},
+  {0x83318233, 0xebb2ac},
+  {0x83318234, 0xebb2ad},
+  {0x83318235, 0xebb2ae},
+  {0x83318236, 0xebb2af},
+  {0x83318237, 0xebb2b0},
+  {0x83318238, 0xebb2b1},
+  {0x83318239, 0xebb2b2},
+  {0x83318330, 0xebb2b3},
+  {0x83318331, 0xebb2b4},
+  {0x83318332, 0xebb2b5},
+  {0x83318333, 0xebb2b6},
+  {0x83318334, 0xebb2b7},
+  {0x83318335, 0xebb2b8},
+  {0x83318336, 0xebb2b9},
+  {0x83318337, 0xebb2ba},
+  {0x83318338, 0xebb2bb},
+  {0x83318339, 0xebb2bc},
+  {0x83318430, 0xebb2bd},
+  {0x83318431, 0xebb2be},
+  {0x83318432, 0xebb2bf},
+  {0x83318433, 0xebb380},
+  {0x83318434, 0xebb381},
+  {0x83318435, 0xebb382},
+  {0x83318436, 0xebb383},
+  {0x83318437, 0xebb384},
+  {0x83318438, 0xebb385},
+  {0x83318439, 0xebb386},
+  {0x83318530, 0xebb387},
+  {0x83318531, 0xebb388},
+  {0x83318532, 0xebb389},
+  {0x83318533, 0xebb38a},
+  {0x83318534, 0xebb38b},
+  {0x83318535, 0xebb38c},
+  {0x83318536, 0xebb38d},
+  {0x83318537, 0xebb38e},
+  {0x83318538, 0xebb38f},
+  {0x83318539, 0xebb390},
+  {0x83318630, 0xebb391},
+  {0x83318631, 0xebb392},
+  {0x83318632, 0xebb393},
+  {0x83318633, 0xebb394},
+  {0x83318634, 0xebb395},
+  {0x83318635, 0xebb396},
+  {0x83318636, 0xebb397},
+  {0x83318637, 0xebb398},
+  {0x83318638, 0xebb399},
+  {0x83318639, 0xebb39a},
+  {0x83318730, 0xebb39b},
+  {0x83318731, 0xebb39c},
+  {0x83318732, 0xebb39d},
+  {0x83318733, 0xebb39e},
+  {0x83318734, 0xebb39f},
+  {0x83318735, 0xebb3a0},
+  {0x83318736, 0xebb3a1},
+  {0x83318737, 0xebb3a2},
+  {0x83318738, 0xebb3a3},
+  {0x83318739, 0xebb3a4},
+  {0x83318830, 0xebb3a5},
+  {0x83318831, 0xebb3a6},
+  {0x83318832, 0xebb3a7},
+  {0x83318833, 0xebb3a8},
+  {0x83318834, 0xebb3a9},
+  {0x83318835, 0xebb3aa},
+  {0x83318836, 0xebb3ab},
+  {0x83318837, 0xebb3ac},
+  {0x83318838, 0xebb3ad},
+  {0x83318839, 0xebb3ae},
+  {0x83318930, 0xebb3af},
+  {0x83318931, 0xebb3b0},
+  {0x83318932, 0xebb3b1},
+  {0x83318933, 0xebb3b2},
+  {0x83318934, 0xebb3b3},
+  {0x83318935, 0xebb3b4},
+  {0x83318936, 0xebb3b5},
+  {0x83318937, 0xebb3b6},
+  {0x83318938, 0xebb3b7},
+  {0x83318939, 0xebb3b8},
+  {0x83318a30, 0xebb3b9},
+  {0x83318a31, 0xebb3ba},
+  {0x83318a32, 0xebb3bb},
+  {0x83318a33, 0xebb3bc},
+  {0x83318a34, 0xebb3bd},
+  {0x83318a35, 0xebb3be},
+  {0x83318a36, 0xebb3bf},
+  {0x83318a37, 0xebb480},
+  {0x83318a38, 0xebb481},
+  {0x83318a39, 0xebb482},
+  {0x83318b30, 0xebb483},
+  {0x83318b31, 0xebb484},
+  {0x83318b32, 0xebb485},
+  {0x83318b33, 0xebb486},
+  {0x83318b34, 0xebb487},
+  {0x83318b35, 0xebb488},
+  {0x83318b36, 0xebb489},
+  {0x83318b37, 0xebb48a},
+  {0x83318b38, 0xebb48b},
+  {0x83318b39, 0xebb48c},
+  {0x83318c30, 0xebb48d},
+  {0x83318c31, 0xebb48e},
+  {0x83318c32, 0xebb48f},
+  {0x83318c33, 0xebb490},
+  {0x83318c34, 0xebb491},
+  {0x83318c35, 0xebb492},
+  {0x83318c36, 0xebb493},
+  {0x83318c37, 0xebb494},
+  {0x83318c38, 0xebb495},
+  {0x83318c39, 0xebb496},
+  {0x83318d30, 0xebb497},
+  {0x83318d31, 0xebb498},
+  {0x83318d32, 0xebb499},
+  {0x83318d33, 0xebb49a},
+  {0x83318d34, 0xebb49b},
+  {0x83318d35, 0xebb49c},
+  {0x83318d36, 0xebb49d},
+  {0x83318d37, 0xebb49e},
+  {0x83318d38, 0xebb49f},
+  {0x83318d39, 0xebb4a0},
+  {0x83318e30, 0xebb4a1},
+  {0x83318e31, 0xebb4a2},
+  {0x83318e32, 0xebb4a3},
+  {0x83318e33, 0xebb4a4},
+  {0x83318e34, 0xebb4a5},
+  {0x83318e35, 0xebb4a6},
+  {0x83318e36, 0xebb4a7},
+  {0x83318e37, 0xebb4a8},
+  {0x83318e38, 0xebb4a9},
+  {0x83318e39, 0xebb4aa},
+  {0x83318f30, 0xebb4ab},
+  {0x83318f31, 0xebb4ac},
+  {0x83318f32, 0xebb4ad},
+  {0x83318f33, 0xebb4ae},
+  {0x83318f34, 0xebb4af},
+  {0x83318f35, 0xebb4b0},
+  {0x83318f36, 0xebb4b1},
+  {0x83318f37, 0xebb4b2},
+  {0x83318f38, 0xebb4b3},
+  {0x83318f39, 0xebb4b4},
+  {0x83319030, 0xebb4b5},
+  {0x83319031, 0xebb4b6},
+  {0x83319032, 0xebb4b7},
+  {0x83319033, 0xebb4b8},
+  {0x83319034, 0xebb4b9},
+  {0x83319035, 0xebb4ba},
+  {0x83319036, 0xebb4bb},
+  {0x83319037, 0xebb4bc},
+  {0x83319038, 0xebb4bd},
+  {0x83319039, 0xebb4be},
+  {0x83319130, 0xebb4bf},
+  {0x83319131, 0xebb580},
+  {0x83319132, 0xebb581},
+  {0x83319133, 0xebb582},
+  {0x83319134, 0xebb583},
+  {0x83319135, 0xebb584},
+  {0x83319136, 0xebb585},
+  {0x83319137, 0xebb586},
+  {0x83319138, 0xebb587},
+  {0x83319139, 0xebb588},
+  {0x83319230, 0xebb589},
+  {0x83319231, 0xebb58a},
+  {0x83319232, 0xebb58b},
+  {0x83319233, 0xebb58c},
+  {0x83319234, 0xebb58d},
+  {0x83319235, 0xebb58e},
+  {0x83319236, 0xebb58f},
+  {0x83319237, 0xebb590},
+  {0x83319238, 0xebb591},
+  {0x83319239, 0xebb592},
+  {0x83319330, 0xebb593},
+  {0x83319331, 0xebb594},
+  {0x83319332, 0xebb595},
+  {0x83319333, 0xebb596},
+  {0x83319334, 0xebb597},
+  {0x83319335, 0xebb598},
+  {0x83319336, 0xebb599},
+  {0x83319337, 0xebb59a},
+  {0x83319338, 0xebb59b},
+  {0x83319339, 0xebb59c},
+  {0x83319430, 0xebb59d},
+  {0x83319431, 0xebb59e},
+  {0x83319432, 0xebb59f},
+  {0x83319433, 0xebb5a0},
+  {0x83319434, 0xebb5a1},
+  {0x83319435, 0xebb5a2},
+  {0x83319436, 0xebb5a3},
+  {0x83319437, 0xebb5a4},
+  {0x83319438, 0xebb5a5},
+  {0x83319439, 0xebb5a6},
+  {0x83319530, 0xebb5a7},
+  {0x83319531, 0xebb5a8},
+  {0x83319532, 0xebb5a9},
+  {0x83319533, 0xebb5aa},
+  {0x83319534, 0xebb5ab},
+  {0x83319535, 0xebb5ac},
+  {0x83319536, 0xebb5ad},
+  {0x83319537, 0xebb5ae},
+  {0x83319538, 0xebb5af},
+  {0x83319539, 0xebb5b0},
+  {0x83319630, 0xebb5b1},
+  {0x83319631, 0xebb5b2},
+  {0x83319632, 0xebb5b3},
+  {0x83319633, 0xebb5b4},
+  {0x83319634, 0xebb5b5},
+  {0x83319635, 0xebb5b6},
+  {0x83319636, 0xebb5b7},
+  {0x83319637, 0xebb5b8},
+  {0x83319638, 0xebb5b9},
+  {0x83319639, 0xebb5ba},
+  {0x83319730, 0xebb5bb},
+  {0x83319731, 0xebb5bc},
+  {0x83319732, 0xebb5bd},
+  {0x83319733, 0xebb5be},
+  {0x83319734, 0xebb5bf},
+  {0x83319735, 0xebb680},
+  {0x83319736, 0xebb681},
+  {0x83319737, 0xebb682},
+  {0x83319738, 0xebb683},
+  {0x83319739, 0xebb684},
+  {0x83319830, 0xebb685},
+  {0x83319831, 0xebb686},
+  {0x83319832, 0xebb687},
+  {0x83319833, 0xebb688},
+  {0x83319834, 0xebb689},
+  {0x83319835, 0xebb68a},
+  {0x83319836, 0xebb68b},
+  {0x83319837, 0xebb68c},
+  {0x83319838, 0xebb68d},
+  {0x83319839, 0xebb68e},
+  {0x83319930, 0xebb68f},
+  {0x83319931, 0xebb690},
+  {0x83319932, 0xebb691},
+  {0x83319933, 0xebb692},
+  {0x83319934, 0xebb693},
+  {0x83319935, 0xebb694},
+  {0x83319936, 0xebb695},
+  {0x83319937, 0xebb696},
+  {0x83319938, 0xebb697},
+  {0x83319939, 0xebb698},
+  {0x83319a30, 0xebb699},
+  {0x83319a31, 0xebb69a},
+  {0x83319a32, 0xebb69b},
+  {0x83319a33, 0xebb69c},
+  {0x83319a34, 0xebb69d},
+  {0x83319a35, 0xebb69e},
+  {0x83319a36, 0xebb69f},
+  {0x83319a37, 0xebb6a0},
+  {0x83319a38, 0xebb6a1},
+  {0x83319a39, 0xebb6a2},
+  {0x83319b30, 0xebb6a3},
+  {0x83319b31, 0xebb6a4},
+  {0x83319b32, 0xebb6a5},
+  {0x83319b33, 0xebb6a6},
+  {0x83319b34, 0xebb6a7},
+  {0x83319b35, 0xebb6a8},
+  {0x83319b36, 0xebb6a9},
+  {0x83319b37, 0xebb6aa},
+  {0x83319b38, 0xebb6ab},
+  {0x83319b39, 0xebb6ac},
+  {0x83319c30, 0xebb6ad},
+  {0x83319c31, 0xebb6ae},
+  {0x83319c32, 0xebb6af},
+  {0x83319c33, 0xebb6b0},
+  {0x83319c34, 0xebb6b1},
+  {0x83319c35, 0xebb6b2},
+  {0x83319c36, 0xebb6b3},
+  {0x83319c37, 0xebb6b4},
+  {0x83319c38, 0xebb6b5},
+  {0x83319c39, 0xebb6b6},
+  {0x83319d30, 0xebb6b7},
+  {0x83319d31, 0xebb6b8},
+  {0x83319d32, 0xebb6b9},
+  {0x83319d33, 0xebb6ba},
+  {0x83319d34, 0xebb6bb},
+  {0x83319d35, 0xebb6bc},
+  {0x83319d36, 0xebb6bd},
+  {0x83319d37, 0xebb6be},
+  {0x83319d38, 0xebb6bf},
+  {0x83319d39, 0xebb780},
+  {0x83319e30, 0xebb781},
+  {0x83319e31, 0xebb782},
+  {0x83319e32, 0xebb783},
+  {0x83319e33, 0xebb784},
+  {0x83319e34, 0xebb785},
+  {0x83319e35, 0xebb786},
+  {0x83319e36, 0xebb787},
+  {0x83319e37, 0xebb788},
+  {0x83319e38, 0xebb789},
+  {0x83319e39, 0xebb78a},
+  {0x83319f30, 0xebb78b},
+  {0x83319f31, 0xebb78c},
+  {0x83319f32, 0xebb78d},
+  {0x83319f33, 0xebb78e},
+  {0x83319f34, 0xebb78f},
+  {0x83319f35, 0xebb790},
+  {0x83319f36, 0xebb791},
+  {0x83319f37, 0xebb792},
+  {0x83319f38, 0xebb793},
+  {0x83319f39, 0xebb794},
+  {0x8331a030, 0xebb795},
+  {0x8331a031, 0xebb796},
+  {0x8331a032, 0xebb797},
+  {0x8331a033, 0xebb798},
+  {0x8331a034, 0xebb799},
+  {0x8331a035, 0xebb79a},
+  {0x8331a036, 0xebb79b},
+  {0x8331a037, 0xebb79c},
+  {0x8331a038, 0xebb79d},
+  {0x8331a039, 0xebb79e},
+  {0x8331a130, 0xebb79f},
+  {0x8331a131, 0xebb7a0},
+  {0x8331a132, 0xebb7a1},
+  {0x8331a133, 0xebb7a2},
+  {0x8331a134, 0xebb7a3},
+  {0x8331a135, 0xebb7a4},
+  {0x8331a136, 0xebb7a5},
+  {0x8331a137, 0xebb7a6},
+  {0x8331a138, 0xebb7a7},
+  {0x8331a139, 0xebb7a8},
+  {0x8331a230, 0xebb7a9},
+  {0x8331a231, 0xebb7aa},
+  {0x8331a232, 0xebb7ab},
+  {0x8331a233, 0xebb7ac},
+  {0x8331a234, 0xebb7ad},
+  {0x8331a235, 0xebb7ae},
+  {0x8331a236, 0xebb7af},
+  {0x8331a237, 0xebb7b0},
+  {0x8331a238, 0xebb7b1},
+  {0x8331a239, 0xebb7b2},
+  {0x8331a330, 0xebb7b3},
+  {0x8331a331, 0xebb7b4},
+  {0x8331a332, 0xebb7b5},
+  {0x8331a333, 0xebb7b6},
+  {0x8331a334, 0xebb7b7},
+  {0x8331a335, 0xebb7b8},
+  {0x8331a336, 0xebb7b9},
+  {0x8331a337, 0xebb7ba},
+  {0x8331a338, 0xebb7bb},
+  {0x8331a339, 0xebb7bc},
+  {0x8331a430, 0xebb7bd},
+  {0x8331a431, 0xebb7be},
+  {0x8331a432, 0xebb7bf},
+  {0x8331a433, 0xebb880},
+  {0x8331a434, 0xebb881},
+  {0x8331a435, 0xebb882},
+  {0x8331a436, 0xebb883},
+  {0x8331a437, 0xebb884},
+  {0x8331a438, 0xebb885},
+  {0x8331a439, 0xebb886},
+  {0x8331a530, 0xebb887},
+  {0x8331a531, 0xebb888},
+  {0x8331a532, 0xebb889},
+  {0x8331a533, 0xebb88a},
+  {0x8331a534, 0xebb88b},
+  {0x8331a535, 0xebb88c},
+  {0x8331a536, 0xebb88d},
+  {0x8331a537, 0xebb88e},
+  {0x8331a538, 0xebb88f},
+  {0x8331a539, 0xebb890},
+  {0x8331a630, 0xebb891},
+  {0x8331a631, 0xebb892},
+  {0x8331a632, 0xebb893},
+  {0x8331a633, 0xebb894},
+  {0x8331a634, 0xebb895},
+  {0x8331a635, 0xebb896},
+  {0x8331a636, 0xebb897},
+  {0x8331a637, 0xebb898},
+  {0x8331a638, 0xebb899},
+  {0x8331a639, 0xebb89a},
+  {0x8331a730, 0xebb89b},
+  {0x8331a731, 0xebb89c},
+  {0x8331a732, 0xebb89d},
+  {0x8331a733, 0xebb89e},
+  {0x8331a734, 0xebb89f},
+  {0x8331a735, 0xebb8a0},
+  {0x8331a736, 0xebb8a1},
+  {0x8331a737, 0xebb8a2},
+  {0x8331a738, 0xebb8a3},
+  {0x8331a739, 0xebb8a4},
+  {0x8331a830, 0xebb8a5},
+  {0x8331a831, 0xebb8a6},
+  {0x8331a832, 0xebb8a7},
+  {0x8331a833, 0xebb8a8},
+  {0x8331a834, 0xebb8a9},
+  {0x8331a835, 0xebb8aa},
+  {0x8331a836, 0xebb8ab},
+  {0x8331a837, 0xebb8ac},
+  {0x8331a838, 0xebb8ad},
+  {0x8331a839, 0xebb8ae},
+  {0x8331a930, 0xebb8af},
+  {0x8331a931, 0xebb8b0},
+  {0x8331a932, 0xebb8b1},
+  {0x8331a933, 0xebb8b2},
+  {0x8331a934, 0xebb8b3},
+  {0x8331a935, 0xebb8b4},
+  {0x8331a936, 0xebb8b5},
+  {0x8331a937, 0xebb8b6},
+  {0x8331a938, 0xebb8b7},
+  {0x8331a939, 0xebb8b8},
+  {0x8331aa30, 0xebb8b9},
+  {0x8331aa31, 0xebb8ba},
+  {0x8331aa32, 0xebb8bb},
+  {0x8331aa33, 0xebb8bc},
+  {0x8331aa34, 0xebb8bd},
+  {0x8331aa35, 0xebb8be},
+  {0x8331aa36, 0xebb8bf},
+  {0x8331aa37, 0xebb980},
+  {0x8331aa38, 0xebb981},
+  {0x8331aa39, 0xebb982},
+  {0x8331ab30, 0xebb983},
+  {0x8331ab31, 0xebb984},
+  {0x8331ab32, 0xebb985},
+  {0x8331ab33, 0xebb986},
+  {0x8331ab34, 0xebb987},
+  {0x8331ab35, 0xebb988},
+  {0x8331ab36, 0xebb989},
+  {0x8331ab37, 0xebb98a},
+  {0x8331ab38, 0xebb98b},
+  {0x8331ab39, 0xebb98c},
+  {0x8331ac30, 0xebb98d},
+  {0x8331ac31, 0xebb98e},
+  {0x8331ac32, 0xebb98f},
+  {0x8331ac33, 0xebb990},
+  {0x8331ac34, 0xebb991},
+  {0x8331ac35, 0xebb992},
+  {0x8331ac36, 0xebb993},
+  {0x8331ac37, 0xebb994},
+  {0x8331ac38, 0xebb995},
+  {0x8331ac39, 0xebb996},
+  {0x8331ad30, 0xebb997},
+  {0x8331ad31, 0xebb998},
+  {0x8331ad32, 0xebb999},
+  {0x8331ad33, 0xebb99a},
+  {0x8331ad34, 0xebb99b},
+  {0x8331ad35, 0xebb99c},
+  {0x8331ad36, 0xebb99d},
+  {0x8331ad37, 0xebb99e},
+  {0x8331ad38, 0xebb99f},
+  {0x8331ad39, 0xebb9a0},
+  {0x8331ae30, 0xebb9a1},
+  {0x8331ae31, 0xebb9a2},
+  {0x8331ae32, 0xebb9a3},
+  {0x8331ae33, 0xebb9a4},
+  {0x8331ae34, 0xebb9a5},
+  {0x8331ae35, 0xebb9a6},
+  {0x8331ae36, 0xebb9a7},
+  {0x8331ae37, 0xebb9a8},
+  {0x8331ae38, 0xebb9a9},
+  {0x8331ae39, 0xebb9aa},
+  {0x8331af30, 0xebb9ab},
+  {0x8331af31, 0xebb9ac},
+  {0x8331af32, 0xebb9ad},
+  {0x8331af33, 0xebb9ae},
+  {0x8331af34, 0xebb9af},
+  {0x8331af35, 0xebb9b0},
+  {0x8331af36, 0xebb9b1},
+  {0x8331af37, 0xebb9b2},
+  {0x8331af38, 0xebb9b3},
+  {0x8331af39, 0xebb9b4},
+  {0x8331b030, 0xebb9b5},
+  {0x8331b031, 0xebb9b6},
+  {0x8331b032, 0xebb9b7},
+  {0x8331b033, 0xebb9b8},
+  {0x8331b034, 0xebb9b9},
+  {0x8331b035, 0xebb9ba},
+  {0x8331b036, 0xebb9bb},
+  {0x8331b037, 0xebb9bc},
+  {0x8331b038, 0xebb9bd},
+  {0x8331b039, 0xebb9be},
+  {0x8331b130, 0xebb9bf},
+  {0x8331b131, 0xebba80},
+  {0x8331b132, 0xebba81},
+  {0x8331b133, 0xebba82},
+  {0x8331b134, 0xebba83},
+  {0x8331b135, 0xebba84},
+  {0x8331b136, 0xebba85},
+  {0x8331b137, 0xebba86},
+  {0x8331b138, 0xebba87},
+  {0x8331b139, 0xebba88},
+  {0x8331b230, 0xebba89},
+  {0x8331b231, 0xebba8a},
+  {0x8331b232, 0xebba8b},
+  {0x8331b233, 0xebba8c},
+  {0x8331b234, 0xebba8d},
+  {0x8331b235, 0xebba8e},
+  {0x8331b236, 0xebba8f},
+  {0x8331b237, 0xebba90},
+  {0x8331b238, 0xebba91},
+  {0x8331b239, 0xebba92},
+  {0x8331b330, 0xebba93},
+  {0x8331b331, 0xebba94},
+  {0x8331b332, 0xebba95},
+  {0x8331b333, 0xebba96},
+  {0x8331b334, 0xebba97},
+  {0x8331b335, 0xebba98},
+  {0x8331b336, 0xebba99},
+  {0x8331b337, 0xebba9a},
+  {0x8331b338, 0xebba9b},
+  {0x8331b339, 0xebba9c},
+  {0x8331b430, 0xebba9d},
+  {0x8331b431, 0xebba9e},
+  {0x8331b432, 0xebba9f},
+  {0x8331b433, 0xebbaa0},
+  {0x8331b434, 0xebbaa1},
+  {0x8331b435, 0xebbaa2},
+  {0x8331b436, 0xebbaa3},
+  {0x8331b437, 0xebbaa4},
+  {0x8331b438, 0xebbaa5},
+  {0x8331b439, 0xebbaa6},
+  {0x8331b530, 0xebbaa7},
+  {0x8331b531, 0xebbaa8},
+  {0x8331b532, 0xebbaa9},
+  {0x8331b533, 0xebbaaa},
+  {0x8331b534, 0xebbaab},
+  {0x8331b535, 0xebbaac},
+  {0x8331b536, 0xebbaad},
+  {0x8331b537, 0xebbaae},
+  {0x8331b538, 0xebbaaf},
+  {0x8331b539, 0xebbab0},
+  {0x8331b630, 0xebbab1},
+  {0x8331b631, 0xebbab2},
+  {0x8331b632, 0xebbab3},
+  {0x8331b633, 0xebbab4},
+  {0x8331b634, 0xebbab5},
+  {0x8331b635, 0xebbab6},
+  {0x8331b636, 0xebbab7},
+  {0x8331b637, 0xebbab8},
+  {0x8331b638, 0xebbab9},
+  {0x8331b639, 0xebbaba},
+  {0x8331b730, 0xebbabb},
+  {0x8331b731, 0xebbabc},
+  {0x8331b732, 0xebbabd},
+  {0x8331b733, 0xebbabe},
+  {0x8331b734, 0xebbabf},
+  {0x8331b735, 0xebbb80},
+  {0x8331b736, 0xebbb81},
+  {0x8331b737, 0xebbb82},
+  {0x8331b738, 0xebbb83},
+  {0x8331b739, 0xebbb84},
+  {0x8331b830, 0xebbb85},
+  {0x8331b831, 0xebbb86},
+  {0x8331b832, 0xebbb87},
+  {0x8331b833, 0xebbb88},
+  {0x8331b834, 0xebbb89},
+  {0x8331b835, 0xebbb8a},
+  {0x8331b836, 0xebbb8b},
+  {0x8331b837, 0xebbb8c},
+  {0x8331b838, 0xebbb8d},
+  {0x8331b839, 0xebbb8e},
+  {0x8331b930, 0xebbb8f},
+  {0x8331b931, 0xebbb90},
+  {0x8331b932, 0xebbb91},
+  {0x8331b933, 0xebbb92},
+  {0x8331b934, 0xebbb93},
+  {0x8331b935, 0xebbb94},
+  {0x8331b936, 0xebbb95},
+  {0x8331b937, 0xebbb96},
+  {0x8331b938, 0xebbb97},
+  {0x8331b939, 0xebbb98},
+  {0x8331ba30, 0xebbb99},
+  {0x8331ba31, 0xebbb9a},
+  {0x8331ba32, 0xebbb9b},
+  {0x8331ba33, 0xebbb9c},
+  {0x8331ba34, 0xebbb9d},
+  {0x8331ba35, 0xebbb9e},
+  {0x8331ba36, 0xebbb9f},
+  {0x8331ba37, 0xebbba0},
+  {0x8331ba38, 0xebbba1},
+  {0x8331ba39, 0xebbba2},
+  {0x8331bb30, 0xebbba3},
+  {0x8331bb31, 0xebbba4},
+  {0x8331bb32, 0xebbba5},
+  {0x8331bb33, 0xebbba6},
+  {0x8331bb34, 0xebbba7},
+  {0x8331bb35, 0xebbba8},
+  {0x8331bb36, 0xebbba9},
+  {0x8331bb37, 0xebbbaa},
+  {0x8331bb38, 0xebbbab},
+  {0x8331bb39, 0xebbbac},
+  {0x8331bc30, 0xebbbad},
+  {0x8331bc31, 0xebbbae},
+  {0x8331bc32, 0xebbbaf},
+  {0x8331bc33, 0xebbbb0},
+  {0x8331bc34, 0xebbbb1},
+  {0x8331bc35, 0xebbbb2},
+  {0x8331bc36, 0xebbbb3},
+  {0x8331bc37, 0xebbbb4},
+  {0x8331bc38, 0xebbbb5},
+  {0x8331bc39, 0xebbbb6},
+  {0x8331bd30, 0xebbbb7},
+  {0x8331bd31, 0xebbbb8},
+  {0x8331bd32, 0xebbbb9},
+  {0x8331bd33, 0xebbbba},
+  {0x8331bd34, 0xebbbbb},
+  {0x8331bd35, 0xebbbbc},
+  {0x8331bd36, 0xebbbbd},
+  {0x8331bd37, 0xebbbbe},
+  {0x8331bd38, 0xebbbbf},
+  {0x8331bd39, 0xebbc80},
+  {0x8331be30, 0xebbc81},
+  {0x8331be31, 0xebbc82},
+  {0x8331be32, 0xebbc83},
+  {0x8331be33, 0xebbc84},
+  {0x8331be34, 0xebbc85},
+  {0x8331be35, 0xebbc86},
+  {0x8331be36, 0xebbc87},
+  {0x8331be37, 0xebbc88},
+  {0x8331be38, 0xebbc89},
+  {0x8331be39, 0xebbc8a},
+  {0x8331bf30, 0xebbc8b},
+  {0x8331bf31, 0xebbc8c},
+  {0x8331bf32, 0xebbc8d},
+  {0x8331bf33, 0xebbc8e},
+  {0x8331bf34, 0xebbc8f},
+  {0x8331bf35, 0xebbc90},
+  {0x8331bf36, 0xebbc91},
+  {0x8331bf37, 0xebbc92},
+  {0x8331bf38, 0xebbc93},
+  {0x8331bf39, 0xebbc94},
+  {0x8331c030, 0xebbc95},
+  {0x8331c031, 0xebbc96},
+  {0x8331c032, 0xebbc97},
+  {0x8331c033, 0xebbc98},
+  {0x8331c034, 0xebbc99},
+  {0x8331c035, 0xebbc9a},
+  {0x8331c036, 0xebbc9b},
+  {0x8331c037, 0xebbc9c},
+  {0x8331c038, 0xebbc9d},
+  {0x8331c039, 0xebbc9e},
+  {0x8331c130, 0xebbc9f},
+  {0x8331c131, 0xebbca0},
+  {0x8331c132, 0xebbca1},
+  {0x8331c133, 0xebbca2},
+  {0x8331c134, 0xebbca3},
+  {0x8331c135, 0xebbca4},
+  {0x8331c136, 0xebbca5},
+  {0x8331c137, 0xebbca6},
+  {0x8331c138, 0xebbca7},
+  {0x8331c139, 0xebbca8},
+  {0x8331c230, 0xebbca9},
+  {0x8331c231, 0xebbcaa},
+  {0x8331c232, 0xebbcab},
+  {0x8331c233, 0xebbcac},
+  {0x8331c234, 0xebbcad},
+  {0x8331c235, 0xebbcae},
+  {0x8331c236, 0xebbcaf},
+  {0x8331c237, 0xebbcb0},
+  {0x8331c238, 0xebbcb1},
+  {0x8331c239, 0xebbcb2},
+  {0x8331c330, 0xebbcb3},
+  {0x8331c331, 0xebbcb4},
+  {0x8331c332, 0xebbcb5},
+  {0x8331c333, 0xebbcb6},
+  {0x8331c334, 0xebbcb7},
+  {0x8331c335, 0xebbcb8},
+  {0x8331c336, 0xebbcb9},
+  {0x8331c337, 0xebbcba},
+  {0x8331c338, 0xebbcbb},
+  {0x8331c339, 0xebbcbc},
+  {0x8331c430, 0xebbcbd},
+  {0x8331c431, 0xebbcbe},
+  {0x8331c432, 0xebbcbf},
+  {0x8331c433, 0xebbd80},
+  {0x8331c434, 0xebbd81},
+  {0x8331c435, 0xebbd82},
+  {0x8331c436, 0xebbd83},
+  {0x8331c437, 0xebbd84},
+  {0x8331c438, 0xebbd85},
+  {0x8331c439, 0xebbd86},
+  {0x8331c530, 0xebbd87},
+  {0x8331c531, 0xebbd88},
+  {0x8331c532, 0xebbd89},
+  {0x8331c533, 0xebbd8a},
+  {0x8331c534, 0xebbd8b},
+  {0x8331c535, 0xebbd8c},
+  {0x8331c536, 0xebbd8d},
+  {0x8331c537, 0xebbd8e},
+  {0x8331c538, 0xebbd8f},
+  {0x8331c539, 0xebbd90},
+  {0x8331c630, 0xebbd91},
+  {0x8331c631, 0xebbd92},
+  {0x8331c632, 0xebbd93},
+  {0x8331c633, 0xebbd94},
+  {0x8331c634, 0xebbd95},
+  {0x8331c635, 0xebbd96},
+  {0x8331c636, 0xebbd97},
+  {0x8331c637, 0xebbd98},
+  {0x8331c638, 0xebbd99},
+  {0x8331c639, 0xebbd9a},
+  {0x8331c730, 0xebbd9b},
+  {0x8331c731, 0xebbd9c},
+  {0x8331c732, 0xebbd9d},
+  {0x8331c733, 0xebbd9e},
+  {0x8331c734, 0xebbd9f},
+  {0x8331c735, 0xebbda0},
+  {0x8331c736, 0xebbda1},
+  {0x8331c737, 0xebbda2},
+  {0x8331c738, 0xebbda3},
+  {0x8331c739, 0xebbda4},
+  {0x8331c830, 0xebbda5},
+  {0x8331c831, 0xebbda6},
+  {0x8331c832, 0xebbda7},
+  {0x8331c833, 0xebbda8},
+  {0x8331c834, 0xebbda9},
+  {0x8331c835, 0xebbdaa},
+  {0x8331c836, 0xebbdab},
+  {0x8331c837, 0xebbdac},
+  {0x8331c838, 0xebbdad},
+  {0x8331c839, 0xebbdae},
+  {0x8331c930, 0xebbdaf},
+  {0x8331c931, 0xebbdb0},
+  {0x8331c932, 0xebbdb1},
+  {0x8331c933, 0xebbdb2},
+  {0x8331c934, 0xebbdb3},
+  {0x8331c935, 0xebbdb4},
+  {0x8331c936, 0xebbdb5},
+  {0x8331c937, 0xebbdb6},
+  {0x8331c938, 0xebbdb7},
+  {0x8331c939, 0xebbdb8},
+  {0x8331ca30, 0xebbdb9},
+  {0x8331ca31, 0xebbdba},
+  {0x8331ca32, 0xebbdbb},
+  {0x8331ca33, 0xebbdbc},
+  {0x8331ca34, 0xebbdbd},
+  {0x8331ca35, 0xebbdbe},
+  {0x8331ca36, 0xebbdbf},
+  {0x8331ca37, 0xebbe80},
+  {0x8331ca38, 0xebbe81},
+  {0x8331ca39, 0xebbe82},
+  {0x8331cb30, 0xebbe83},
+  {0x8331cb31, 0xebbe84},
+  {0x8331cb32, 0xebbe85},
+  {0x8331cb33, 0xebbe86},
+  {0x8331cb34, 0xebbe87},
+  {0x8331cb35, 0xebbe88},
+  {0x8331cb36, 0xebbe89},
+  {0x8331cb37, 0xebbe8a},
+  {0x8331cb38, 0xebbe8b},
+  {0x8331cb39, 0xebbe8c},
+  {0x8331cc30, 0xebbe8d},
+  {0x8331cc31, 0xebbe8e},
+  {0x8331cc32, 0xebbe8f},
+  {0x8331cc33, 0xebbe90},
+  {0x8331cc34, 0xebbe91},
+  {0x8331cc35, 0xebbe92},
+  {0x8331cc36, 0xebbe93},
+  {0x8331cc37, 0xebbe94},
+  {0x8331cc38, 0xebbe95},
+  {0x8331cc39, 0xebbe96},
+  {0x8331cd30, 0xebbe97},
+  {0x8331cd31, 0xebbe98},
+  {0x8331cd32, 0xebbe99},
+  {0x8331cd33, 0xebbe9a},
+  {0x8331cd34, 0xebbe9b},
+  {0x8331cd35, 0xebbe9c},
+  {0x8331cd36, 0xebbe9d},
+  {0x8331cd37, 0xebbe9e},
+  {0x8331cd38, 0xebbe9f},
+  {0x8331cd39, 0xebbea0},
+  {0x8331ce30, 0xebbea1},
+  {0x8331ce31, 0xebbea2},
+  {0x8331ce32, 0xebbea3},
+  {0x8331ce33, 0xebbea4},
+  {0x8331ce34, 0xebbea5},
+  {0x8331ce35, 0xebbea6},
+  {0x8331ce36, 0xebbea7},
+  {0x8331ce37, 0xebbea8},
+  {0x8331ce38, 0xebbea9},
+  {0x8331ce39, 0xebbeaa},
+  {0x8331cf30, 0xebbeab},
+  {0x8331cf31, 0xebbeac},
+  {0x8331cf32, 0xebbead},
+  {0x8331cf33, 0xebbeae},
+  {0x8331cf34, 0xebbeaf},
+  {0x8331cf35, 0xebbeb0},
+  {0x8331cf36, 0xebbeb1},
+  {0x8331cf37, 0xebbeb2},
+  {0x8331cf38, 0xebbeb3},
+  {0x8331cf39, 0xebbeb4},
+  {0x8331d030, 0xebbeb5},
+  {0x8331d031, 0xebbeb6},
+  {0x8331d032, 0xebbeb7},
+  {0x8331d033, 0xebbeb8},
+  {0x8331d034, 0xebbeb9},
+  {0x8331d035, 0xebbeba},
+  {0x8331d036, 0xebbebb},
+  {0x8331d037, 0xebbebc},
+  {0x8331d038, 0xebbebd},
+  {0x8331d039, 0xebbebe},
+  {0x8331d130, 0xebbebf},
+  {0x8331d131, 0xebbf80},
+  {0x8331d132, 0xebbf81},
+  {0x8331d133, 0xebbf82},
+  {0x8331d134, 0xebbf83},
+  {0x8331d135, 0xebbf84},
+  {0x8331d136, 0xebbf85},
+  {0x8331d137, 0xebbf86},
+  {0x8331d138, 0xebbf87},
+  {0x8331d139, 0xebbf88},
+  {0x8331d230, 0xebbf89},
+  {0x8331d231, 0xebbf8a},
+  {0x8331d232, 0xebbf8b},
+  {0x8331d233, 0xebbf8c},
+  {0x8331d234, 0xebbf8d},
+  {0x8331d235, 0xebbf8e},
+  {0x8331d236, 0xebbf8f},
+  {0x8331d237, 0xebbf90},
+  {0x8331d238, 0xebbf91},
+  {0x8331d239, 0xebbf92},
+  {0x8331d330, 0xebbf93},
+  {0x8331d331, 0xebbf94},
+  {0x8331d332, 0xebbf95},
+  {0x8331d333, 0xebbf96},
+  {0x8331d334, 0xebbf97},
+  {0x8331d335, 0xebbf98},
+  {0x8331d336, 0xebbf99},
+  {0x8331d337, 0xebbf9a},
+  {0x8331d338, 0xebbf9b},
+  {0x8331d339, 0xebbf9c},
+  {0x8331d430, 0xebbf9d},
+  {0x8331d431, 0xebbf9e},
+  {0x8331d432, 0xebbf9f},
+  {0x8331d433, 0xebbfa0},
+  {0x8331d434, 0xebbfa1},
+  {0x8331d435, 0xebbfa2},
+  {0x8331d436, 0xebbfa3},
+  {0x8331d437, 0xebbfa4},
+  {0x8331d438, 0xebbfa5},
+  {0x8331d439, 0xebbfa6},
+  {0x8331d530, 0xebbfa7},
+  {0x8331d531, 0xebbfa8},
+  {0x8331d532, 0xebbfa9},
+  {0x8331d533, 0xebbfaa},
+  {0x8331d534, 0xebbfab},
+  {0x8331d535, 0xebbfac},
+  {0x8331d536, 0xebbfad},
+  {0x8331d537, 0xebbfae},
+  {0x8331d538, 0xebbfaf},
+  {0x8331d539, 0xebbfb0},
+  {0x8331d630, 0xebbfb1},
+  {0x8331d631, 0xebbfb2},
+  {0x8331d632, 0xebbfb3},
+  {0x8331d633, 0xebbfb4},
+  {0x8331d634, 0xebbfb5},
+  {0x8331d635, 0xebbfb6},
+  {0x8331d636, 0xebbfb7},
+  {0x8331d637, 0xebbfb8},
+  {0x8331d638, 0xebbfb9},
+  {0x8331d639, 0xebbfba},
+  {0x8331d730, 0xebbfbb},
+  {0x8331d731, 0xebbfbc},
+  {0x8331d732, 0xebbfbd},
+  {0x8331d733, 0xebbfbe},
+  {0x8331d734, 0xebbfbf},
+  {0x8331d735, 0xec8080},
+  {0x8331d736, 0xec8081},
+  {0x8331d737, 0xec8082},
+  {0x8331d738, 0xec8083},
+  {0x8331d739, 0xec8084},
+  {0x8331d830, 0xec8085},
+  {0x8331d831, 0xec8086},
+  {0x8331d832, 0xec8087},
+  {0x8331d833, 0xec8088},
+  {0x8331d834, 0xec8089},
+  {0x8331d835, 0xec808a},
+  {0x8331d836, 0xec808b},
+  {0x8331d837, 0xec808c},
+  {0x8331d838, 0xec808d},
+  {0x8331d839, 0xec808e},
+  {0x8331d930, 0xec808f},
+  {0x8331d931, 0xec8090},
+  {0x8331d932, 0xec8091},
+  {0x8331d933, 0xec8092},
+  {0x8331d934, 0xec8093},
+  {0x8331d935, 0xec8094},
+  {0x8331d936, 0xec8095},
+  {0x8331d937, 0xec8096},
+  {0x8331d938, 0xec8097},
+  {0x8331d939, 0xec8098},
+  {0x8331da30, 0xec8099},
+  {0x8331da31, 0xec809a},
+  {0x8331da32, 0xec809b},
+  {0x8331da33, 0xec809c},
+  {0x8331da34, 0xec809d},
+  {0x8331da35, 0xec809e},
+  {0x8331da36, 0xec809f},
+  {0x8331da37, 0xec80a0},
+  {0x8331da38, 0xec80a1},
+  {0x8331da39, 0xec80a2},
+  {0x8331db30, 0xec80a3},
+  {0x8331db31, 0xec80a4},
+  {0x8331db32, 0xec80a5},
+  {0x8331db33, 0xec80a6},
+  {0x8331db34, 0xec80a7},
+  {0x8331db35, 0xec80a8},
+  {0x8331db36, 0xec80a9},
+  {0x8331db37, 0xec80aa},
+  {0x8331db38, 0xec80ab},
+  {0x8331db39, 0xec80ac},
+  {0x8331dc30, 0xec80ad},
+  {0x8331dc31, 0xec80ae},
+  {0x8331dc32, 0xec80af},
+  {0x8331dc33, 0xec80b0},
+  {0x8331dc34, 0xec80b1},
+  {0x8331dc35, 0xec80b2},
+  {0x8331dc36, 0xec80b3},
+  {0x8331dc37, 0xec80b4},
+  {0x8331dc38, 0xec80b5},
+  {0x8331dc39, 0xec80b6},
+  {0x8331dd30, 0xec80b7},
+  {0x8331dd31, 0xec80b8},
+  {0x8331dd32, 0xec80b9},
+  {0x8331dd33, 0xec80ba},
+  {0x8331dd34, 0xec80bb},
+  {0x8331dd35, 0xec80bc},
+  {0x8331dd36, 0xec80bd},
+  {0x8331dd37, 0xec80be},
+  {0x8331dd38, 0xec80bf},
+  {0x8331dd39, 0xec8180},
+  {0x8331de30, 0xec8181},
+  {0x8331de31, 0xec8182},
+  {0x8331de32, 0xec8183},
+  {0x8331de33, 0xec8184},
+  {0x8331de34, 0xec8185},
+  {0x8331de35, 0xec8186},
+  {0x8331de36, 0xec8187},
+  {0x8331de37, 0xec8188},
+  {0x8331de38, 0xec8189},
+  {0x8331de39, 0xec818a},
+  {0x8331df30, 0xec818b},
+  {0x8331df31, 0xec818c},
+  {0x8331df32, 0xec818d},
+  {0x8331df33, 0xec818e},
+  {0x8331df34, 0xec818f},
+  {0x8331df35, 0xec8190},
+  {0x8331df36, 0xec8191},
+  {0x8331df37, 0xec8192},
+  {0x8331df38, 0xec8193},
+  {0x8331df39, 0xec8194},
+  {0x8331e030, 0xec8195},
+  {0x8331e031, 0xec8196},
+  {0x8331e032, 0xec8197},
+  {0x8331e033, 0xec8198},
+  {0x8331e034, 0xec8199},
+  {0x8331e035, 0xec819a},
+  {0x8331e036, 0xec819b},
+  {0x8331e037, 0xec819c},
+  {0x8331e038, 0xec819d},
+  {0x8331e039, 0xec819e},
+  {0x8331e130, 0xec819f},
+  {0x8331e131, 0xec81a0},
+  {0x8331e132, 0xec81a1},
+  {0x8331e133, 0xec81a2},
+  {0x8331e134, 0xec81a3},
+  {0x8331e135, 0xec81a4},
+  {0x8331e136, 0xec81a5},
+  {0x8331e137, 0xec81a6},
+  {0x8331e138, 0xec81a7},
+  {0x8331e139, 0xec81a8},
+  {0x8331e230, 0xec81a9},
+  {0x8331e231, 0xec81aa},
+  {0x8331e232, 0xec81ab},
+  {0x8331e233, 0xec81ac},
+  {0x8331e234, 0xec81ad},
+  {0x8331e235, 0xec81ae},
+  {0x8331e236, 0xec81af},
+  {0x8331e237, 0xec81b0},
+  {0x8331e238, 0xec81b1},
+  {0x8331e239, 0xec81b2},
+  {0x8331e330, 0xec81b3},
+  {0x8331e331, 0xec81b4},
+  {0x8331e332, 0xec81b5},
+  {0x8331e333, 0xec81b6},
+  {0x8331e334, 0xec81b7},
+  {0x8331e335, 0xec81b8},
+  {0x8331e336, 0xec81b9},
+  {0x8331e337, 0xec81ba},
+  {0x8331e338, 0xec81bb},
+  {0x8331e339, 0xec81bc},
+  {0x8331e430, 0xec81bd},
+  {0x8331e431, 0xec81be},
+  {0x8331e432, 0xec81bf},
+  {0x8331e433, 0xec8280},
+  {0x8331e434, 0xec8281},
+  {0x8331e435, 0xec8282},
+  {0x8331e436, 0xec8283},
+  {0x8331e437, 0xec8284},
+  {0x8331e438, 0xec8285},
+  {0x8331e439, 0xec8286},
+  {0x8331e530, 0xec8287},
+  {0x8331e531, 0xec8288},
+  {0x8331e532, 0xec8289},
+  {0x8331e533, 0xec828a},
+  {0x8331e534, 0xec828b},
+  {0x8331e535, 0xec828c},
+  {0x8331e536, 0xec828d},
+  {0x8331e537, 0xec828e},
+  {0x8331e538, 0xec828f},
+  {0x8331e539, 0xec8290},
+  {0x8331e630, 0xec8291},
+  {0x8331e631, 0xec8292},
+  {0x8331e632, 0xec8293},
+  {0x8331e633, 0xec8294},
+  {0x8331e634, 0xec8295},
+  {0x8331e635, 0xec8296},
+  {0x8331e636, 0xec8297},
+  {0x8331e637, 0xec8298},
+  {0x8331e638, 0xec8299},
+  {0x8331e639, 0xec829a},
+  {0x8331e730, 0xec829b},
+  {0x8331e731, 0xec829c},
+  {0x8331e732, 0xec829d},
+  {0x8331e733, 0xec829e},
+  {0x8331e734, 0xec829f},
+  {0x8331e735, 0xec82a0},
+  {0x8331e736, 0xec82a1},
+  {0x8331e737, 0xec82a2},
+  {0x8331e738, 0xec82a3},
+  {0x8331e739, 0xec82a4},
+  {0x8331e830, 0xec82a5},
+  {0x8331e831, 0xec82a6},
+  {0x8331e832, 0xec82a7},
+  {0x8331e833, 0xec82a8},
+  {0x8331e834, 0xec82a9},
+  {0x8331e835, 0xec82aa},
+  {0x8331e836, 0xec82ab},
+  {0x8331e837, 0xec82ac},
+  {0x8331e838, 0xec82ad},
+  {0x8331e839, 0xec82ae},
+  {0x8331e930, 0xec82af},
+  {0x8331e931, 0xec82b0},
+  {0x8331e932, 0xec82b1},
+  {0x8331e933, 0xec82b2},
+  {0x8331e934, 0xec82b3},
+  {0x8331e935, 0xec82b4},
+  {0x8331e936, 0xec82b5},
+  {0x8331e937, 0xec82b6},
+  {0x8331e938, 0xec82b7},
+  {0x8331e939, 0xec82b8},
+  {0x8331ea30, 0xec82b9},
+  {0x8331ea31, 0xec82ba},
+  {0x8331ea32, 0xec82bb},
+  {0x8331ea33, 0xec82bc},
+  {0x8331ea34, 0xec82bd},
+  {0x8331ea35, 0xec82be},
+  {0x8331ea36, 0xec82bf},
+  {0x8331ea37, 0xec8380},
+  {0x8331ea38, 0xec8381},
+  {0x8331ea39, 0xec8382},
+  {0x8331eb30, 0xec8383},
+  {0x8331eb31, 0xec8384},
+  {0x8331eb32, 0xec8385},
+  {0x8331eb33, 0xec8386},
+  {0x8331eb34, 0xec8387},
+  {0x8331eb35, 0xec8388},
+  {0x8331eb36, 0xec8389},
+  {0x8331eb37, 0xec838a},
+  {0x8331eb38, 0xec838b},
+  {0x8331eb39, 0xec838c},
+  {0x8331ec30, 0xec838d},
+  {0x8331ec31, 0xec838e},
+  {0x8331ec32, 0xec838f},
+  {0x8331ec33, 0xec8390},
+  {0x8331ec34, 0xec8391},
+  {0x8331ec35, 0xec8392},
+  {0x8331ec36, 0xec8393},
+  {0x8331ec37, 0xec8394},
+  {0x8331ec38, 0xec8395},
+  {0x8331ec39, 0xec8396},
+  {0x8331ed30, 0xec8397},
+  {0x8331ed31, 0xec8398},
+  {0x8331ed32, 0xec8399},
+  {0x8331ed33, 0xec839a},
+  {0x8331ed34, 0xec839b},
+  {0x8331ed35, 0xec839c},
+  {0x8331ed36, 0xec839d},
+  {0x8331ed37, 0xec839e},
+  {0x8331ed38, 0xec839f},
+  {0x8331ed39, 0xec83a0},
+  {0x8331ee30, 0xec83a1},
+  {0x8331ee31, 0xec83a2},
+  {0x8331ee32, 0xec83a3},
+  {0x8331ee33, 0xec83a4},
+  {0x8331ee34, 0xec83a5},
+  {0x8331ee35, 0xec83a6},
+  {0x8331ee36, 0xec83a7},
+  {0x8331ee37, 0xec83a8},
+  {0x8331ee38, 0xec83a9},
+  {0x8331ee39, 0xec83aa},
+  {0x8331ef30, 0xec83ab},
+  {0x8331ef31, 0xec83ac},
+  {0x8331ef32, 0xec83ad},
+  {0x8331ef33, 0xec83ae},
+  {0x8331ef34, 0xec83af},
+  {0x8331ef35, 0xec83b0},
+  {0x8331ef36, 0xec83b1},
+  {0x8331ef37, 0xec83b2},
+  {0x8331ef38, 0xec83b3},
+  {0x8331ef39, 0xec83b4},
+  {0x8331f030, 0xec83b5},
+  {0x8331f031, 0xec83b6},
+  {0x8331f032, 0xec83b7},
+  {0x8331f033, 0xec83b8},
+  {0x8331f034, 0xec83b9},
+  {0x8331f035, 0xec83ba},
+  {0x8331f036, 0xec83bb},
+  {0x8331f037, 0xec83bc},
+  {0x8331f038, 0xec83bd},
+  {0x8331f039, 0xec83be},
+  {0x8331f130, 0xec83bf},
+  {0x8331f131, 0xec8480},
+  {0x8331f132, 0xec8481},
+  {0x8331f133, 0xec8482},
+  {0x8331f134, 0xec8483},
+  {0x8331f135, 0xec8484},
+  {0x8331f136, 0xec8485},
+  {0x8331f137, 0xec8486},
+  {0x8331f138, 0xec8487},
+  {0x8331f139, 0xec8488},
+  {0x8331f230, 0xec8489},
+  {0x8331f231, 0xec848a},
+  {0x8331f232, 0xec848b},
+  {0x8331f233, 0xec848c},
+  {0x8331f234, 0xec848d},
+  {0x8331f235, 0xec848e},
+  {0x8331f236, 0xec848f},
+  {0x8331f237, 0xec8490},
+  {0x8331f238, 0xec8491},
+  {0x8331f239, 0xec8492},
+  {0x8331f330, 0xec8493},
+  {0x8331f331, 0xec8494},
+  {0x8331f332, 0xec8495},
+  {0x8331f333, 0xec8496},
+  {0x8331f334, 0xec8497},
+  {0x8331f335, 0xec8498},
+  {0x8331f336, 0xec8499},
+  {0x8331f337, 0xec849a},
+  {0x8331f338, 0xec849b},
+  {0x8331f339, 0xec849c},
+  {0x8331f430, 0xec849d},
+  {0x8331f431, 0xec849e},
+  {0x8331f432, 0xec849f},
+  {0x8331f433, 0xec84a0},
+  {0x8331f434, 0xec84a1},
+  {0x8331f435, 0xec84a2},
+  {0x8331f436, 0xec84a3},
+  {0x8331f437, 0xec84a4},
+  {0x8331f438, 0xec84a5},
+  {0x8331f439, 0xec84a6},
+  {0x8331f530, 0xec84a7},
+  {0x8331f531, 0xec84a8},
+  {0x8331f532, 0xec84a9},
+  {0x8331f533, 0xec84aa},
+  {0x8331f534, 0xec84ab},
+  {0x8331f535, 0xec84ac},
+  {0x8331f536, 0xec84ad},
+  {0x8331f537, 0xec84ae},
+  {0x8331f538, 0xec84af},
+  {0x8331f539, 0xec84b0},
+  {0x8331f630, 0xec84b1},
+  {0x8331f631, 0xec84b2},
+  {0x8331f632, 0xec84b3},
+  {0x8331f633, 0xec84b4},
+  {0x8331f634, 0xec84b5},
+  {0x8331f635, 0xec84b6},
+  {0x8331f636, 0xec84b7},
+  {0x8331f637, 0xec84b8},
+  {0x8331f638, 0xec84b9},
+  {0x8331f639, 0xec84ba},
+  {0x8331f730, 0xec84bb},
+  {0x8331f731, 0xec84bc},
+  {0x8331f732, 0xec84bd},
+  {0x8331f733, 0xec84be},
+  {0x8331f734, 0xec84bf},
+  {0x8331f735, 0xec8580},
+  {0x8331f736, 0xec8581},
+  {0x8331f737, 0xec8582},
+  {0x8331f738, 0xec8583},
+  {0x8331f739, 0xec8584},
+  {0x8331f830, 0xec8585},
+  {0x8331f831, 0xec8586},
+  {0x8331f832, 0xec8587},
+  {0x8331f833, 0xec8588},
+  {0x8331f834, 0xec8589},
+  {0x8331f835, 0xec858a},
+  {0x8331f836, 0xec858b},
+  {0x8331f837, 0xec858c},
+  {0x8331f838, 0xec858d},
+  {0x8331f839, 0xec858e},
+  {0x8331f930, 0xec858f},
+  {0x8331f931, 0xec8590},
+  {0x8331f932, 0xec8591},
+  {0x8331f933, 0xec8592},
+  {0x8331f934, 0xec8593},
+  {0x8331f935, 0xec8594},
+  {0x8331f936, 0xec8595},
+  {0x8331f937, 0xec8596},
+  {0x8331f938, 0xec8597},
+  {0x8331f939, 0xec8598},
+  {0x8331fa30, 0xec8599},
+  {0x8331fa31, 0xec859a},
+  {0x8331fa32, 0xec859b},
+  {0x8331fa33, 0xec859c},
+  {0x8331fa34, 0xec859d},
+  {0x8331fa35, 0xec859e},
+  {0x8331fa36, 0xec859f},
+  {0x8331fa37, 0xec85a0},
+  {0x8331fa38, 0xec85a1},
+  {0x8331fa39, 0xec85a2},
+  {0x8331fb30, 0xec85a3},
+  {0x8331fb31, 0xec85a4},
+  {0x8331fb32, 0xec85a5},
+  {0x8331fb33, 0xec85a6},
+  {0x8331fb34, 0xec85a7},
+  {0x8331fb35, 0xec85a8},
+  {0x8331fb36, 0xec85a9},
+  {0x8331fb37, 0xec85aa},
+  {0x8331fb38, 0xec85ab},
+  {0x8331fb39, 0xec85ac},
+  {0x8331fc30, 0xec85ad},
+  {0x8331fc31, 0xec85ae},
+  {0x8331fc32, 0xec85af},
+  {0x8331fc33, 0xec85b0},
+  {0x8331fc34, 0xec85b1},
+  {0x8331fc35, 0xec85b2},
+  {0x8331fc36, 0xec85b3},
+  {0x8331fc37, 0xec85b4},
+  {0x8331fc38, 0xec85b5},
+  {0x8331fc39, 0xec85b6},
+  {0x8331fd30, 0xec85b7},
+  {0x8331fd31, 0xec85b8},
+  {0x8331fd32, 0xec85b9},
+  {0x8331fd33, 0xec85ba},
+  {0x8331fd34, 0xec85bb},
+  {0x8331fd35, 0xec85bc},
+  {0x8331fd36, 0xec85bd},
+  {0x8331fd37, 0xec85be},
+  {0x8331fd38, 0xec85bf},
+  {0x8331fd39, 0xec8680},
+  {0x8331fe30, 0xec8681},
+  {0x8331fe31, 0xec8682},
+  {0x8331fe32, 0xec8683},
+  {0x8331fe33, 0xec8684},
+  {0x8331fe34, 0xec8685},
+  {0x8331fe35, 0xec8686},
+  {0x8331fe36, 0xec8687},
+  {0x8331fe37, 0xec8688},
+  {0x8331fe38, 0xec8689},
+  {0x8331fe39, 0xec868a},
+  {0x83328130, 0xec868b},
+  {0x83328131, 0xec868c},
+  {0x83328132, 0xec868d},
+  {0x83328133, 0xec868e},
+  {0x83328134, 0xec868f},
+  {0x83328135, 0xec8690},
+  {0x83328136, 0xec8691},
+  {0x83328137, 0xec8692},
+  {0x83328138, 0xec8693},
+  {0x83328139, 0xec8694},
+  {0x83328230, 0xec8695},
+  {0x83328231, 0xec8696},
+  {0x83328232, 0xec8697},
+  {0x83328233, 0xec8698},
+  {0x83328234, 0xec8699},
+  {0x83328235, 0xec869a},
+  {0x83328236, 0xec869b},
+  {0x83328237, 0xec869c},
+  {0x83328238, 0xec869d},
+  {0x83328239, 0xec869e},
+  {0x83328330, 0xec869f},
+  {0x83328331, 0xec86a0},
+  {0x83328332, 0xec86a1},
+  {0x83328333, 0xec86a2},
+  {0x83328334, 0xec86a3},
+  {0x83328335, 0xec86a4},
+  {0x83328336, 0xec86a5},
+  {0x83328337, 0xec86a6},
+  {0x83328338, 0xec86a7},
+  {0x83328339, 0xec86a8},
+  {0x83328430, 0xec86a9},
+  {0x83328431, 0xec86aa},
+  {0x83328432, 0xec86ab},
+  {0x83328433, 0xec86ac},
+  {0x83328434, 0xec86ad},
+  {0x83328435, 0xec86ae},
+  {0x83328436, 0xec86af},
+  {0x83328437, 0xec86b0},
+  {0x83328438, 0xec86b1},
+  {0x83328439, 0xec86b2},
+  {0x83328530, 0xec86b3},
+  {0x83328531, 0xec86b4},
+  {0x83328532, 0xec86b5},
+  {0x83328533, 0xec86b6},
+  {0x83328534, 0xec86b7},
+  {0x83328535, 0xec86b8},
+  {0x83328536, 0xec86b9},
+  {0x83328537, 0xec86ba},
+  {0x83328538, 0xec86bb},
+  {0x83328539, 0xec86bc},
+  {0x83328630, 0xec86bd},
+  {0x83328631, 0xec86be},
+  {0x83328632, 0xec86bf},
+  {0x83328633, 0xec8780},
+  {0x83328634, 0xec8781},
+  {0x83328635, 0xec8782},
+  {0x83328636, 0xec8783},
+  {0x83328637, 0xec8784},
+  {0x83328638, 0xec8785},
+  {0x83328639, 0xec8786},
+  {0x83328730, 0xec8787},
+  {0x83328731, 0xec8788},
+  {0x83328732, 0xec8789},
+  {0x83328733, 0xec878a},
+  {0x83328734, 0xec878b},
+  {0x83328735, 0xec878c},
+  {0x83328736, 0xec878d},
+  {0x83328737, 0xec878e},
+  {0x83328738, 0xec878f},
+  {0x83328739, 0xec8790},
+  {0x83328830, 0xec8791},
+  {0x83328831, 0xec8792},
+  {0x83328832, 0xec8793},
+  {0x83328833, 0xec8794},
+  {0x83328834, 0xec8795},
+  {0x83328835, 0xec8796},
+  {0x83328836, 0xec8797},
+  {0x83328837, 0xec8798},
+  {0x83328838, 0xec8799},
+  {0x83328839, 0xec879a},
+  {0x83328930, 0xec879b},
+  {0x83328931, 0xec879c},
+  {0x83328932, 0xec879d},
+  {0x83328933, 0xec879e},
+  {0x83328934, 0xec879f},
+  {0x83328935, 0xec87a0},
+  {0x83328936, 0xec87a1},
+  {0x83328937, 0xec87a2},
+  {0x83328938, 0xec87a3},
+  {0x83328939, 0xec87a4},
+  {0x83328a30, 0xec87a5},
+  {0x83328a31, 0xec87a6},
+  {0x83328a32, 0xec87a7},
+  {0x83328a33, 0xec87a8},
+  {0x83328a34, 0xec87a9},
+  {0x83328a35, 0xec87aa},
+  {0x83328a36, 0xec87ab},
+  {0x83328a37, 0xec87ac},
+  {0x83328a38, 0xec87ad},
+  {0x83328a39, 0xec87ae},
+  {0x83328b30, 0xec87af},
+  {0x83328b31, 0xec87b0},
+  {0x83328b32, 0xec87b1},
+  {0x83328b33, 0xec87b2},
+  {0x83328b34, 0xec87b3},
+  {0x83328b35, 0xec87b4},
+  {0x83328b36, 0xec87b5},
+  {0x83328b37, 0xec87b6},
+  {0x83328b38, 0xec87b7},
+  {0x83328b39, 0xec87b8},
+  {0x83328c30, 0xec87b9},
+  {0x83328c31, 0xec87ba},
+  {0x83328c32, 0xec87bb},
+  {0x83328c33, 0xec87bc},
+  {0x83328c34, 0xec87bd},
+  {0x83328c35, 0xec87be},
+  {0x83328c36, 0xec87bf},
+  {0x83328c37, 0xec8880},
+  {0x83328c38, 0xec8881},
+  {0x83328c39, 0xec8882},
+  {0x83328d30, 0xec8883},
+  {0x83328d31, 0xec8884},
+  {0x83328d32, 0xec8885},
+  {0x83328d33, 0xec8886},
+  {0x83328d34, 0xec8887},
+  {0x83328d35, 0xec8888},
+  {0x83328d36, 0xec8889},
+  {0x83328d37, 0xec888a},
+  {0x83328d38, 0xec888b},
+  {0x83328d39, 0xec888c},
+  {0x83328e30, 0xec888d},
+  {0x83328e31, 0xec888e},
+  {0x83328e32, 0xec888f},
+  {0x83328e33, 0xec8890},
+  {0x83328e34, 0xec8891},
+  {0x83328e35, 0xec8892},
+  {0x83328e36, 0xec8893},
+  {0x83328e37, 0xec8894},
+  {0x83328e38, 0xec8895},
+  {0x83328e39, 0xec8896},
+  {0x83328f30, 0xec8897},
+  {0x83328f31, 0xec8898},
+  {0x83328f32, 0xec8899},
+  {0x83328f33, 0xec889a},
+  {0x83328f34, 0xec889b},
+  {0x83328f35, 0xec889c},
+  {0x83328f36, 0xec889d},
+  {0x83328f37, 0xec889e},
+  {0x83328f38, 0xec889f},
+  {0x83328f39, 0xec88a0},
+  {0x83329030, 0xec88a1},
+  {0x83329031, 0xec88a2},
+  {0x83329032, 0xec88a3},
+  {0x83329033, 0xec88a4},
+  {0x83329034, 0xec88a5},
+  {0x83329035, 0xec88a6},
+  {0x83329036, 0xec88a7},
+  {0x83329037, 0xec88a8},
+  {0x83329038, 0xec88a9},
+  {0x83329039, 0xec88aa},
+  {0x83329130, 0xec88ab},
+  {0x83329131, 0xec88ac},
+  {0x83329132, 0xec88ad},
+  {0x83329133, 0xec88ae},
+  {0x83329134, 0xec88af},
+  {0x83329135, 0xec88b0},
+  {0x83329136, 0xec88b1},
+  {0x83329137, 0xec88b2},
+  {0x83329138, 0xec88b3},
+  {0x83329139, 0xec88b4},
+  {0x83329230, 0xec88b5},
+  {0x83329231, 0xec88b6},
+  {0x83329232, 0xec88b7},
+  {0x83329233, 0xec88b8},
+  {0x83329234, 0xec88b9},
+  {0x83329235, 0xec88ba},
+  {0x83329236, 0xec88bb},
+  {0x83329237, 0xec88bc},
+  {0x83329238, 0xec88bd},
+  {0x83329239, 0xec88be},
+  {0x83329330, 0xec88bf},
+  {0x83329331, 0xec8980},
+  {0x83329332, 0xec8981},
+  {0x83329333, 0xec8982},
+  {0x83329334, 0xec8983},
+  {0x83329335, 0xec8984},
+  {0x83329336, 0xec8985},
+  {0x83329337, 0xec8986},
+  {0x83329338, 0xec8987},
+  {0x83329339, 0xec8988},
+  {0x83329430, 0xec8989},
+  {0x83329431, 0xec898a},
+  {0x83329432, 0xec898b},
+  {0x83329433, 0xec898c},
+  {0x83329434, 0xec898d},
+  {0x83329435, 0xec898e},
+  {0x83329436, 0xec898f},
+  {0x83329437, 0xec8990},
+  {0x83329438, 0xec8991},
+  {0x83329439, 0xec8992},
+  {0x83329530, 0xec8993},
+  {0x83329531, 0xec8994},
+  {0x83329532, 0xec8995},
+  {0x83329533, 0xec8996},
+  {0x83329534, 0xec8997},
+  {0x83329535, 0xec8998},
+  {0x83329536, 0xec8999},
+  {0x83329537, 0xec899a},
+  {0x83329538, 0xec899b},
+  {0x83329539, 0xec899c},
+  {0x83329630, 0xec899d},
+  {0x83329631, 0xec899e},
+  {0x83329632, 0xec899f},
+  {0x83329633, 0xec89a0},
+  {0x83329634, 0xec89a1},
+  {0x83329635, 0xec89a2},
+  {0x83329636, 0xec89a3},
+  {0x83329637, 0xec89a4},
+  {0x83329638, 0xec89a5},
+  {0x83329639, 0xec89a6},
+  {0x83329730, 0xec89a7},
+  {0x83329731, 0xec89a8},
+  {0x83329732, 0xec89a9},
+  {0x83329733, 0xec89aa},
+  {0x83329734, 0xec89ab},
+  {0x83329735, 0xec89ac},
+  {0x83329736, 0xec89ad},
+  {0x83329737, 0xec89ae},
+  {0x83329738, 0xec89af},
+  {0x83329739, 0xec89b0},
+  {0x83329830, 0xec89b1},
+  {0x83329831, 0xec89b2},
+  {0x83329832, 0xec89b3},
+  {0x83329833, 0xec89b4},
+  {0x83329834, 0xec89b5},
+  {0x83329835, 0xec89b6},
+  {0x83329836, 0xec89b7},
+  {0x83329837, 0xec89b8},
+  {0x83329838, 0xec89b9},
+  {0x83329839, 0xec89ba},
+  {0x83329930, 0xec89bb},
+  {0x83329931, 0xec89bc},
+  {0x83329932, 0xec89bd},
+  {0x83329933, 0xec89be},
+  {0x83329934, 0xec89bf},
+  {0x83329935, 0xec8a80},
+  {0x83329936, 0xec8a81},
+  {0x83329937, 0xec8a82},
+  {0x83329938, 0xec8a83},
+  {0x83329939, 0xec8a84},
+  {0x83329a30, 0xec8a85},
+  {0x83329a31, 0xec8a86},
+  {0x83329a32, 0xec8a87},
+  {0x83329a33, 0xec8a88},
+  {0x83329a34, 0xec8a89},
+  {0x83329a35, 0xec8a8a},
+  {0x83329a36, 0xec8a8b},
+  {0x83329a37, 0xec8a8c},
+  {0x83329a38, 0xec8a8d},
+  {0x83329a39, 0xec8a8e},
+  {0x83329b30, 0xec8a8f},
+  {0x83329b31, 0xec8a90},
+  {0x83329b32, 0xec8a91},
+  {0x83329b33, 0xec8a92},
+  {0x83329b34, 0xec8a93},
+  {0x83329b35, 0xec8a94},
+  {0x83329b36, 0xec8a95},
+  {0x83329b37, 0xec8a96},
+  {0x83329b38, 0xec8a97},
+  {0x83329b39, 0xec8a98},
+  {0x83329c30, 0xec8a99},
+  {0x83329c31, 0xec8a9a},
+  {0x83329c32, 0xec8a9b},
+  {0x83329c33, 0xec8a9c},
+  {0x83329c34, 0xec8a9d},
+  {0x83329c35, 0xec8a9e},
+  {0x83329c36, 0xec8a9f},
+  {0x83329c37, 0xec8aa0},
+  {0x83329c38, 0xec8aa1},
+  {0x83329c39, 0xec8aa2},
+  {0x83329d30, 0xec8aa3},
+  {0x83329d31, 0xec8aa4},
+  {0x83329d32, 0xec8aa5},
+  {0x83329d33, 0xec8aa6},
+  {0x83329d34, 0xec8aa7},
+  {0x83329d35, 0xec8aa8},
+  {0x83329d36, 0xec8aa9},
+  {0x83329d37, 0xec8aaa},
+  {0x83329d38, 0xec8aab},
+  {0x83329d39, 0xec8aac},
+  {0x83329e30, 0xec8aad},
+  {0x83329e31, 0xec8aae},
+  {0x83329e32, 0xec8aaf},
+  {0x83329e33, 0xec8ab0},
+  {0x83329e34, 0xec8ab1},
+  {0x83329e35, 0xec8ab2},
+  {0x83329e36, 0xec8ab3},
+  {0x83329e37, 0xec8ab4},
+  {0x83329e38, 0xec8ab5},
+  {0x83329e39, 0xec8ab6},
+  {0x83329f30, 0xec8ab7},
+  {0x83329f31, 0xec8ab8},
+  {0x83329f32, 0xec8ab9},
+  {0x83329f33, 0xec8aba},
+  {0x83329f34, 0xec8abb},
+  {0x83329f35, 0xec8abc},
+  {0x83329f36, 0xec8abd},
+  {0x83329f37, 0xec8abe},
+  {0x83329f38, 0xec8abf},
+  {0x83329f39, 0xec8b80},
+  {0x8332a030, 0xec8b81},
+  {0x8332a031, 0xec8b82},
+  {0x8332a032, 0xec8b83},
+  {0x8332a033, 0xec8b84},
+  {0x8332a034, 0xec8b85},
+  {0x8332a035, 0xec8b86},
+  {0x8332a036, 0xec8b87},
+  {0x8332a037, 0xec8b88},
+  {0x8332a038, 0xec8b89},
+  {0x8332a039, 0xec8b8a},
+  {0x8332a130, 0xec8b8b},
+  {0x8332a131, 0xec8b8c},
+  {0x8332a132, 0xec8b8d},
+  {0x8332a133, 0xec8b8e},
+  {0x8332a134, 0xec8b8f},
+  {0x8332a135, 0xec8b90},
+  {0x8332a136, 0xec8b91},
+  {0x8332a137, 0xec8b92},
+  {0x8332a138, 0xec8b93},
+  {0x8332a139, 0xec8b94},
+  {0x8332a230, 0xec8b95},
+  {0x8332a231, 0xec8b96},
+  {0x8332a232, 0xec8b97},
+  {0x8332a233, 0xec8b98},
+  {0x8332a234, 0xec8b99},
+  {0x8332a235, 0xec8b9a},
+  {0x8332a236, 0xec8b9b},
+  {0x8332a237, 0xec8b9c},
+  {0x8332a238, 0xec8b9d},
+  {0x8332a239, 0xec8b9e},
+  {0x8332a330, 0xec8b9f},
+  {0x8332a331, 0xec8ba0},
+  {0x8332a332, 0xec8ba1},
+  {0x8332a333, 0xec8ba2},
+  {0x8332a334, 0xec8ba3},
+  {0x8332a335, 0xec8ba4},
+  {0x8332a336, 0xec8ba5},
+  {0x8332a337, 0xec8ba6},
+  {0x8332a338, 0xec8ba7},
+  {0x8332a339, 0xec8ba8},
+  {0x8332a430, 0xec8ba9},
+  {0x8332a431, 0xec8baa},
+  {0x8332a432, 0xec8bab},
+  {0x8332a433, 0xec8bac},
+  {0x8332a434, 0xec8bad},
+  {0x8332a435, 0xec8bae},
+  {0x8332a436, 0xec8baf},
+  {0x8332a437, 0xec8bb0},
+  {0x8332a438, 0xec8bb1},
+  {0x8332a439, 0xec8bb2},
+  {0x8332a530, 0xec8bb3},
+  {0x8332a531, 0xec8bb4},
+  {0x8332a532, 0xec8bb5},
+  {0x8332a533, 0xec8bb6},
+  {0x8332a534, 0xec8bb7},
+  {0x8332a535, 0xec8bb8},
+  {0x8332a536, 0xec8bb9},
+  {0x8332a537, 0xec8bba},
+  {0x8332a538, 0xec8bbb},
+  {0x8332a539, 0xec8bbc},
+  {0x8332a630, 0xec8bbd},
+  {0x8332a631, 0xec8bbe},
+  {0x8332a632, 0xec8bbf},
+  {0x8332a633, 0xec8c80},
+  {0x8332a634, 0xec8c81},
+  {0x8332a635, 0xec8c82},
+  {0x8332a636, 0xec8c83},
+  {0x8332a637, 0xec8c84},
+  {0x8332a638, 0xec8c85},
+  {0x8332a639, 0xec8c86},
+  {0x8332a730, 0xec8c87},
+  {0x8332a731, 0xec8c88},
+  {0x8332a732, 0xec8c89},
+  {0x8332a733, 0xec8c8a},
+  {0x8332a734, 0xec8c8b},
+  {0x8332a735, 0xec8c8c},
+  {0x8332a736, 0xec8c8d},
+  {0x8332a737, 0xec8c8e},
+  {0x8332a738, 0xec8c8f},
+  {0x8332a739, 0xec8c90},
+  {0x8332a830, 0xec8c91},
+  {0x8332a831, 0xec8c92},
+  {0x8332a832, 0xec8c93},
+  {0x8332a833, 0xec8c94},
+  {0x8332a834, 0xec8c95},
+  {0x8332a835, 0xec8c96},
+  {0x8332a836, 0xec8c97},
+  {0x8332a837, 0xec8c98},
+  {0x8332a838, 0xec8c99},
+  {0x8332a839, 0xec8c9a},
+  {0x8332a930, 0xec8c9b},
+  {0x8332a931, 0xec8c9c},
+  {0x8332a932, 0xec8c9d},
+  {0x8332a933, 0xec8c9e},
+  {0x8332a934, 0xec8c9f},
+  {0x8332a935, 0xec8ca0},
+  {0x8332a936, 0xec8ca1},
+  {0x8332a937, 0xec8ca2},
+  {0x8332a938, 0xec8ca3},
+  {0x8332a939, 0xec8ca4},
+  {0x8332aa30, 0xec8ca5},
+  {0x8332aa31, 0xec8ca6},
+  {0x8332aa32, 0xec8ca7},
+  {0x8332aa33, 0xec8ca8},
+  {0x8332aa34, 0xec8ca9},
+  {0x8332aa35, 0xec8caa},
+  {0x8332aa36, 0xec8cab},
+  {0x8332aa37, 0xec8cac},
+  {0x8332aa38, 0xec8cad},
+  {0x8332aa39, 0xec8cae},
+  {0x8332ab30, 0xec8caf},
+  {0x8332ab31, 0xec8cb0},
+  {0x8332ab32, 0xec8cb1},
+  {0x8332ab33, 0xec8cb2},
+  {0x8332ab34, 0xec8cb3},
+  {0x8332ab35, 0xec8cb4},
+  {0x8332ab36, 0xec8cb5},
+  {0x8332ab37, 0xec8cb6},
+  {0x8332ab38, 0xec8cb7},
+  {0x8332ab39, 0xec8cb8},
+  {0x8332ac30, 0xec8cb9},
+  {0x8332ac31, 0xec8cba},
+  {0x8332ac32, 0xec8cbb},
+  {0x8332ac33, 0xec8cbc},
+  {0x8332ac34, 0xec8cbd},
+  {0x8332ac35, 0xec8cbe},
+  {0x8332ac36, 0xec8cbf},
+  {0x8332ac37, 0xec8d80},
+  {0x8332ac38, 0xec8d81},
+  {0x8332ac39, 0xec8d82},
+  {0x8332ad30, 0xec8d83},
+  {0x8332ad31, 0xec8d84},
+  {0x8332ad32, 0xec8d85},
+  {0x8332ad33, 0xec8d86},
+  {0x8332ad34, 0xec8d87},
+  {0x8332ad35, 0xec8d88},
+  {0x8332ad36, 0xec8d89},
+  {0x8332ad37, 0xec8d8a},
+  {0x8332ad38, 0xec8d8b},
+  {0x8332ad39, 0xec8d8c},
+  {0x8332ae30, 0xec8d8d},
+  {0x8332ae31, 0xec8d8e},
+  {0x8332ae32, 0xec8d8f},
+  {0x8332ae33, 0xec8d90},
+  {0x8332ae34, 0xec8d91},
+  {0x8332ae35, 0xec8d92},
+  {0x8332ae36, 0xec8d93},
+  {0x8332ae37, 0xec8d94},
+  {0x8332ae38, 0xec8d95},
+  {0x8332ae39, 0xec8d96},
+  {0x8332af30, 0xec8d97},
+  {0x8332af31, 0xec8d98},
+  {0x8332af32, 0xec8d99},
+  {0x8332af33, 0xec8d9a},
+  {0x8332af34, 0xec8d9b},
+  {0x8332af35, 0xec8d9c},
+  {0x8332af36, 0xec8d9d},
+  {0x8332af37, 0xec8d9e},
+  {0x8332af38, 0xec8d9f},
+  {0x8332af39, 0xec8da0},
+  {0x8332b030, 0xec8da1},
+  {0x8332b031, 0xec8da2},
+  {0x8332b032, 0xec8da3},
+  {0x8332b033, 0xec8da4},
+  {0x8332b034, 0xec8da5},
+  {0x8332b035, 0xec8da6},
+  {0x8332b036, 0xec8da7},
+  {0x8332b037, 0xec8da8},
+  {0x8332b038, 0xec8da9},
+  {0x8332b039, 0xec8daa},
+  {0x8332b130, 0xec8dab},
+  {0x8332b131, 0xec8dac},
+  {0x8332b132, 0xec8dad},
+  {0x8332b133, 0xec8dae},
+  {0x8332b134, 0xec8daf},
+  {0x8332b135, 0xec8db0},
+  {0x8332b136, 0xec8db1},
+  {0x8332b137, 0xec8db2},
+  {0x8332b138, 0xec8db3},
+  {0x8332b139, 0xec8db4},
+  {0x8332b230, 0xec8db5},
+  {0x8332b231, 0xec8db6},
+  {0x8332b232, 0xec8db7},
+  {0x8332b233, 0xec8db8},
+  {0x8332b234, 0xec8db9},
+  {0x8332b235, 0xec8dba},
+  {0x8332b236, 0xec8dbb},
+  {0x8332b237, 0xec8dbc},
+  {0x8332b238, 0xec8dbd},
+  {0x8332b239, 0xec8dbe},
+  {0x8332b330, 0xec8dbf},
+  {0x8332b331, 0xec8e80},
+  {0x8332b332, 0xec8e81},
+  {0x8332b333, 0xec8e82},
+  {0x8332b334, 0xec8e83},
+  {0x8332b335, 0xec8e84},
+  {0x8332b336, 0xec8e85},
+  {0x8332b337, 0xec8e86},
+  {0x8332b338, 0xec8e87},
+  {0x8332b339, 0xec8e88},
+  {0x8332b430, 0xec8e89},
+  {0x8332b431, 0xec8e8a},
+  {0x8332b432, 0xec8e8b},
+  {0x8332b433, 0xec8e8c},
+  {0x8332b434, 0xec8e8d},
+  {0x8332b435, 0xec8e8e},
+  {0x8332b436, 0xec8e8f},
+  {0x8332b437, 0xec8e90},
+  {0x8332b438, 0xec8e91},
+  {0x8332b439, 0xec8e92},
+  {0x8332b530, 0xec8e93},
+  {0x8332b531, 0xec8e94},
+  {0x8332b532, 0xec8e95},
+  {0x8332b533, 0xec8e96},
+  {0x8332b534, 0xec8e97},
+  {0x8332b535, 0xec8e98},
+  {0x8332b536, 0xec8e99},
+  {0x8332b537, 0xec8e9a},
+  {0x8332b538, 0xec8e9b},
+  {0x8332b539, 0xec8e9c},
+  {0x8332b630, 0xec8e9d},
+  {0x8332b631, 0xec8e9e},
+  {0x8332b632, 0xec8e9f},
+  {0x8332b633, 0xec8ea0},
+  {0x8332b634, 0xec8ea1},
+  {0x8332b635, 0xec8ea2},
+  {0x8332b636, 0xec8ea3},
+  {0x8332b637, 0xec8ea4},
+  {0x8332b638, 0xec8ea5},
+  {0x8332b639, 0xec8ea6},
+  {0x8332b730, 0xec8ea7},
+  {0x8332b731, 0xec8ea8},
+  {0x8332b732, 0xec8ea9},
+  {0x8332b733, 0xec8eaa},
+  {0x8332b734, 0xec8eab},
+  {0x8332b735, 0xec8eac},
+  {0x8332b736, 0xec8ead},
+  {0x8332b737, 0xec8eae},
+  {0x8332b738, 0xec8eaf},
+  {0x8332b739, 0xec8eb0},
+  {0x8332b830, 0xec8eb1},
+  {0x8332b831, 0xec8eb2},
+  {0x8332b832, 0xec8eb3},
+  {0x8332b833, 0xec8eb4},
+  {0x8332b834, 0xec8eb5},
+  {0x8332b835, 0xec8eb6},
+  {0x8332b836, 0xec8eb7},
+  {0x8332b837, 0xec8eb8},
+  {0x8332b838, 0xec8eb9},
+  {0x8332b839, 0xec8eba},
+  {0x8332b930, 0xec8ebb},
+  {0x8332b931, 0xec8ebc},
+  {0x8332b932, 0xec8ebd},
+  {0x8332b933, 0xec8ebe},
+  {0x8332b934, 0xec8ebf},
+  {0x8332b935, 0xec8f80},
+  {0x8332b936, 0xec8f81},
+  {0x8332b937, 0xec8f82},
+  {0x8332b938, 0xec8f83},
+  {0x8332b939, 0xec8f84},
+  {0x8332ba30, 0xec8f85},
+  {0x8332ba31, 0xec8f86},
+  {0x8332ba32, 0xec8f87},
+  {0x8332ba33, 0xec8f88},
+  {0x8332ba34, 0xec8f89},
+  {0x8332ba35, 0xec8f8a},
+  {0x8332ba36, 0xec8f8b},
+  {0x8332ba37, 0xec8f8c},
+  {0x8332ba38, 0xec8f8d},
+  {0x8332ba39, 0xec8f8e},
+  {0x8332bb30, 0xec8f8f},
+  {0x8332bb31, 0xec8f90},
+  {0x8332bb32, 0xec8f91},
+  {0x8332bb33, 0xec8f92},
+  {0x8332bb34, 0xec8f93},
+  {0x8332bb35, 0xec8f94},
+  {0x8332bb36, 0xec8f95},
+  {0x8332bb37, 0xec8f96},
+  {0x8332bb38, 0xec8f97},
+  {0x8332bb39, 0xec8f98},
+  {0x8332bc30, 0xec8f99},
+  {0x8332bc31, 0xec8f9a},
+  {0x8332bc32, 0xec8f9b},
+  {0x8332bc33, 0xec8f9c},
+  {0x8332bc34, 0xec8f9d},
+  {0x8332bc35, 0xec8f9e},
+  {0x8332bc36, 0xec8f9f},
+  {0x8332bc37, 0xec8fa0},
+  {0x8332bc38, 0xec8fa1},
+  {0x8332bc39, 0xec8fa2},
+  {0x8332bd30, 0xec8fa3},
+  {0x8332bd31, 0xec8fa4},
+  {0x8332bd32, 0xec8fa5},
+  {0x8332bd33, 0xec8fa6},
+  {0x8332bd34, 0xec8fa7},
+  {0x8332bd35, 0xec8fa8},
+  {0x8332bd36, 0xec8fa9},
+  {0x8332bd37, 0xec8faa},
+  {0x8332bd38, 0xec8fab},
+  {0x8332bd39, 0xec8fac},
+  {0x8332be30, 0xec8fad},
+  {0x8332be31, 0xec8fae},
+  {0x8332be32, 0xec8faf},
+  {0x8332be33, 0xec8fb0},
+  {0x8332be34, 0xec8fb1},
+  {0x8332be35, 0xec8fb2},
+  {0x8332be36, 0xec8fb3},
+  {0x8332be37, 0xec8fb4},
+  {0x8332be38, 0xec8fb5},
+  {0x8332be39, 0xec8fb6},
+  {0x8332bf30, 0xec8fb7},
+  {0x8332bf31, 0xec8fb8},
+  {0x8332bf32, 0xec8fb9},
+  {0x8332bf33, 0xec8fba},
+  {0x8332bf34, 0xec8fbb},
+  {0x8332bf35, 0xec8fbc},
+  {0x8332bf36, 0xec8fbd},
+  {0x8332bf37, 0xec8fbe},
+  {0x8332bf38, 0xec8fbf},
+  {0x8332bf39, 0xec9080},
+  {0x8332c030, 0xec9081},
+  {0x8332c031, 0xec9082},
+  {0x8332c032, 0xec9083},
+  {0x8332c033, 0xec9084},
+  {0x8332c034, 0xec9085},
+  {0x8332c035, 0xec9086},
+  {0x8332c036, 0xec9087},
+  {0x8332c037, 0xec9088},
+  {0x8332c038, 0xec9089},
+  {0x8332c039, 0xec908a},
+  {0x8332c130, 0xec908b},
+  {0x8332c131, 0xec908c},
+  {0x8332c132, 0xec908d},
+  {0x8332c133, 0xec908e},
+  {0x8332c134, 0xec908f},
+  {0x8332c135, 0xec9090},
+  {0x8332c136, 0xec9091},
+  {0x8332c137, 0xec9092},
+  {0x8332c138, 0xec9093},
+  {0x8332c139, 0xec9094},
+  {0x8332c230, 0xec9095},
+  {0x8332c231, 0xec9096},
+  {0x8332c232, 0xec9097},
+  {0x8332c233, 0xec9098},
+  {0x8332c234, 0xec9099},
+  {0x8332c235, 0xec909a},
+  {0x8332c236, 0xec909b},
+  {0x8332c237, 0xec909c},
+  {0x8332c238, 0xec909d},
+  {0x8332c239, 0xec909e},
+  {0x8332c330, 0xec909f},
+  {0x8332c331, 0xec90a0},
+  {0x8332c332, 0xec90a1},
+  {0x8332c333, 0xec90a2},
+  {0x8332c334, 0xec90a3},
+  {0x8332c335, 0xec90a4},
+  {0x8332c336, 0xec90a5},
+  {0x8332c337, 0xec90a6},
+  {0x8332c338, 0xec90a7},
+  {0x8332c339, 0xec90a8},
+  {0x8332c430, 0xec90a9},
+  {0x8332c431, 0xec90aa},
+  {0x8332c432, 0xec90ab},
+  {0x8332c433, 0xec90ac},
+  {0x8332c434, 0xec90ad},
+  {0x8332c435, 0xec90ae},
+  {0x8332c436, 0xec90af},
+  {0x8332c437, 0xec90b0},
+  {0x8332c438, 0xec90b1},
+  {0x8332c439, 0xec90b2},
+  {0x8332c530, 0xec90b3},
+  {0x8332c531, 0xec90b4},
+  {0x8332c532, 0xec90b5},
+  {0x8332c533, 0xec90b6},
+  {0x8332c534, 0xec90b7},
+  {0x8332c535, 0xec90b8},
+  {0x8332c536, 0xec90b9},
+  {0x8332c537, 0xec90ba},
+  {0x8332c538, 0xec90bb},
+  {0x8332c539, 0xec90bc},
+  {0x8332c630, 0xec90bd},
+  {0x8332c631, 0xec90be},
+  {0x8332c632, 0xec90bf},
+  {0x8332c633, 0xec9180},
+  {0x8332c634, 0xec9181},
+  {0x8332c635, 0xec9182},
+  {0x8332c636, 0xec9183},
+  {0x8332c637, 0xec9184},
+  {0x8332c638, 0xec9185},
+  {0x8332c639, 0xec9186},
+  {0x8332c730, 0xec9187},
+  {0x8332c731, 0xec9188},
+  {0x8332c732, 0xec9189},
+  {0x8332c733, 0xec918a},
+  {0x8332c734, 0xec918b},
+  {0x8332c735, 0xec918c},
+  {0x8332c736, 0xec918d},
+  {0x8332c737, 0xec918e},
+  {0x8332c738, 0xec918f},
+  {0x8332c739, 0xec9190},
+  {0x8332c830, 0xec9191},
+  {0x8332c831, 0xec9192},
+  {0x8332c832, 0xec9193},
+  {0x8332c833, 0xec9194},
+  {0x8332c834, 0xec9195},
+  {0x8332c835, 0xec9196},
+  {0x8332c836, 0xec9197},
+  {0x8332c837, 0xec9198},
+  {0x8332c838, 0xec9199},
+  {0x8332c839, 0xec919a},
+  {0x8332c930, 0xec919b},
+  {0x8332c931, 0xec919c},
+  {0x8332c932, 0xec919d},
+  {0x8332c933, 0xec919e},
+  {0x8332c934, 0xec919f},
+  {0x8332c935, 0xec91a0},
+  {0x8332c936, 0xec91a1},
+  {0x8332c937, 0xec91a2},
+  {0x8332c938, 0xec91a3},
+  {0x8332c939, 0xec91a4},
+  {0x8332ca30, 0xec91a5},
+  {0x8332ca31, 0xec91a6},
+  {0x8332ca32, 0xec91a7},
+  {0x8332ca33, 0xec91a8},
+  {0x8332ca34, 0xec91a9},
+  {0x8332ca35, 0xec91aa},
+  {0x8332ca36, 0xec91ab},
+  {0x8332ca37, 0xec91ac},
+  {0x8332ca38, 0xec91ad},
+  {0x8332ca39, 0xec91ae},
+  {0x8332cb30, 0xec91af},
+  {0x8332cb31, 0xec91b0},
+  {0x8332cb32, 0xec91b1},
+  {0x8332cb33, 0xec91b2},
+  {0x8332cb34, 0xec91b3},
+  {0x8332cb35, 0xec91b4},
+  {0x8332cb36, 0xec91b5},
+  {0x8332cb37, 0xec91b6},
+  {0x8332cb38, 0xec91b7},
+  {0x8332cb39, 0xec91b8},
+  {0x8332cc30, 0xec91b9},
+  {0x8332cc31, 0xec91ba},
+  {0x8332cc32, 0xec91bb},
+  {0x8332cc33, 0xec91bc},
+  {0x8332cc34, 0xec91bd},
+  {0x8332cc35, 0xec91be},
+  {0x8332cc36, 0xec91bf},
+  {0x8332cc37, 0xec9280},
+  {0x8332cc38, 0xec9281},
+  {0x8332cc39, 0xec9282},
+  {0x8332cd30, 0xec9283},
+  {0x8332cd31, 0xec9284},
+  {0x8332cd32, 0xec9285},
+  {0x8332cd33, 0xec9286},
+  {0x8332cd34, 0xec9287},
+  {0x8332cd35, 0xec9288},
+  {0x8332cd36, 0xec9289},
+  {0x8332cd37, 0xec928a},
+  {0x8332cd38, 0xec928b},
+  {0x8332cd39, 0xec928c},
+  {0x8332ce30, 0xec928d},
+  {0x8332ce31, 0xec928e},
+  {0x8332ce32, 0xec928f},
+  {0x8332ce33, 0xec9290},
+  {0x8332ce34, 0xec9291},
+  {0x8332ce35, 0xec9292},
+  {0x8332ce36, 0xec9293},
+  {0x8332ce37, 0xec9294},
+  {0x8332ce38, 0xec9295},
+  {0x8332ce39, 0xec9296},
+  {0x8332cf30, 0xec9297},
+  {0x8332cf31, 0xec9298},
+  {0x8332cf32, 0xec9299},
+  {0x8332cf33, 0xec929a},
+  {0x8332cf34, 0xec929b},
+  {0x8332cf35, 0xec929c},
+  {0x8332cf36, 0xec929d},
+  {0x8332cf37, 0xec929e},
+  {0x8332cf38, 0xec929f},
+  {0x8332cf39, 0xec92a0},
+  {0x8332d030, 0xec92a1},
+  {0x8332d031, 0xec92a2},
+  {0x8332d032, 0xec92a3},
+  {0x8332d033, 0xec92a4},
+  {0x8332d034, 0xec92a5},
+  {0x8332d035, 0xec92a6},
+  {0x8332d036, 0xec92a7},
+  {0x8332d037, 0xec92a8},
+  {0x8332d038, 0xec92a9},
+  {0x8332d039, 0xec92aa},
+  {0x8332d130, 0xec92ab},
+  {0x8332d131, 0xec92ac},
+  {0x8332d132, 0xec92ad},
+  {0x8332d133, 0xec92ae},
+  {0x8332d134, 0xec92af},
+  {0x8332d135, 0xec92b0},
+  {0x8332d136, 0xec92b1},
+  {0x8332d137, 0xec92b2},
+  {0x8332d138, 0xec92b3},
+  {0x8332d139, 0xec92b4},
+  {0x8332d230, 0xec92b5},
+  {0x8332d231, 0xec92b6},
+  {0x8332d232, 0xec92b7},
+  {0x8332d233, 0xec92b8},
+  {0x8332d234, 0xec92b9},
+  {0x8332d235, 0xec92ba},
+  {0x8332d236, 0xec92bb},
+  {0x8332d237, 0xec92bc},
+  {0x8332d238, 0xec92bd},
+  {0x8332d239, 0xec92be},
+  {0x8332d330, 0xec92bf},
+  {0x8332d331, 0xec9380},
+  {0x8332d332, 0xec9381},
+  {0x8332d333, 0xec9382},
+  {0x8332d334, 0xec9383},
+  {0x8332d335, 0xec9384},
+  {0x8332d336, 0xec9385},
+  {0x8332d337, 0xec9386},
+  {0x8332d338, 0xec9387},
+  {0x8332d339, 0xec9388},
+  {0x8332d430, 0xec9389},
+  {0x8332d431, 0xec938a},
+  {0x8332d432, 0xec938b},
+  {0x8332d433, 0xec938c},
+  {0x8332d434, 0xec938d},
+  {0x8332d435, 0xec938e},
+  {0x8332d436, 0xec938f},
+  {0x8332d437, 0xec9390},
+  {0x8332d438, 0xec9391},
+  {0x8332d439, 0xec9392},
+  {0x8332d530, 0xec9393},
+  {0x8332d531, 0xec9394},
+  {0x8332d532, 0xec9395},
+  {0x8332d533, 0xec9396},
+  {0x8332d534, 0xec9397},
+  {0x8332d535, 0xec9398},
+  {0x8332d536, 0xec9399},
+  {0x8332d537, 0xec939a},
+  {0x8332d538, 0xec939b},
+  {0x8332d539, 0xec939c},
+  {0x8332d630, 0xec939d},
+  {0x8332d631, 0xec939e},
+  {0x8332d632, 0xec939f},
+  {0x8332d633, 0xec93a0},
+  {0x8332d634, 0xec93a1},
+  {0x8332d635, 0xec93a2},
+  {0x8332d636, 0xec93a3},
+  {0x8332d637, 0xec93a4},
+  {0x8332d638, 0xec93a5},
+  {0x8332d639, 0xec93a6},
+  {0x8332d730, 0xec93a7},
+  {0x8332d731, 0xec93a8},
+  {0x8332d732, 0xec93a9},
+  {0x8332d733, 0xec93aa},
+  {0x8332d734, 0xec93ab},
+  {0x8332d735, 0xec93ac},
+  {0x8332d736, 0xec93ad},
+  {0x8332d737, 0xec93ae},
+  {0x8332d738, 0xec93af},
+  {0x8332d739, 0xec93b0},
+  {0x8332d830, 0xec93b1},
+  {0x8332d831, 0xec93b2},
+  {0x8332d832, 0xec93b3},
+  {0x8332d833, 0xec93b4},
+  {0x8332d834, 0xec93b5},
+  {0x8332d835, 0xec93b6},
+  {0x8332d836, 0xec93b7},
+  {0x8332d837, 0xec93b8},
+  {0x8332d838, 0xec93b9},
+  {0x8332d839, 0xec93ba},
+  {0x8332d930, 0xec93bb},
+  {0x8332d931, 0xec93bc},
+  {0x8332d932, 0xec93bd},
+  {0x8332d933, 0xec93be},
+  {0x8332d934, 0xec93bf},
+  {0x8332d935, 0xec9480},
+  {0x8332d936, 0xec9481},
+  {0x8332d937, 0xec9482},
+  {0x8332d938, 0xec9483},
+  {0x8332d939, 0xec9484},
+  {0x8332da30, 0xec9485},
+  {0x8332da31, 0xec9486},
+  {0x8332da32, 0xec9487},
+  {0x8332da33, 0xec9488},
+  {0x8332da34, 0xec9489},
+  {0x8332da35, 0xec948a},
+  {0x8332da36, 0xec948b},
+  {0x8332da37, 0xec948c},
+  {0x8332da38, 0xec948d},
+  {0x8332da39, 0xec948e},
+  {0x8332db30, 0xec948f},
+  {0x8332db31, 0xec9490},
+  {0x8332db32, 0xec9491},
+  {0x8332db33, 0xec9492},
+  {0x8332db34, 0xec9493},
+  {0x8332db35, 0xec9494},
+  {0x8332db36, 0xec9495},
+  {0x8332db37, 0xec9496},
+  {0x8332db38, 0xec9497},
+  {0x8332db39, 0xec9498},
+  {0x8332dc30, 0xec9499},
+  {0x8332dc31, 0xec949a},
+  {0x8332dc32, 0xec949b},
+  {0x8332dc33, 0xec949c},
+  {0x8332dc34, 0xec949d},
+  {0x8332dc35, 0xec949e},
+  {0x8332dc36, 0xec949f},
+  {0x8332dc37, 0xec94a0},
+  {0x8332dc38, 0xec94a1},
+  {0x8332dc39, 0xec94a2},
+  {0x8332dd30, 0xec94a3},
+  {0x8332dd31, 0xec94a4},
+  {0x8332dd32, 0xec94a5},
+  {0x8332dd33, 0xec94a6},
+  {0x8332dd34, 0xec94a7},
+  {0x8332dd35, 0xec94a8},
+  {0x8332dd36, 0xec94a9},
+  {0x8332dd37, 0xec94aa},
+  {0x8332dd38, 0xec94ab},
+  {0x8332dd39, 0xec94ac},
+  {0x8332de30, 0xec94ad},
+  {0x8332de31, 0xec94ae},
+  {0x8332de32, 0xec94af},
+  {0x8332de33, 0xec94b0},
+  {0x8332de34, 0xec94b1},
+  {0x8332de35, 0xec94b2},
+  {0x8332de36, 0xec94b3},
+  {0x8332de37, 0xec94b4},
+  {0x8332de38, 0xec94b5},
+  {0x8332de39, 0xec94b6},
+  {0x8332df30, 0xec94b7},
+  {0x8332df31, 0xec94b8},
+  {0x8332df32, 0xec94b9},
+  {0x8332df33, 0xec94ba},
+  {0x8332df34, 0xec94bb},
+  {0x8332df35, 0xec94bc},
+  {0x8332df36, 0xec94bd},
+  {0x8332df37, 0xec94be},
+  {0x8332df38, 0xec94bf},
+  {0x8332df39, 0xec9580},
+  {0x8332e030, 0xec9581},
+  {0x8332e031, 0xec9582},
+  {0x8332e032, 0xec9583},
+  {0x8332e033, 0xec9584},
+  {0x8332e034, 0xec9585},
+  {0x8332e035, 0xec9586},
+  {0x8332e036, 0xec9587},
+  {0x8332e037, 0xec9588},
+  {0x8332e038, 0xec9589},
+  {0x8332e039, 0xec958a},
+  {0x8332e130, 0xec958b},
+  {0x8332e131, 0xec958c},
+  {0x8332e132, 0xec958d},
+  {0x8332e133, 0xec958e},
+  {0x8332e134, 0xec958f},
+  {0x8332e135, 0xec9590},
+  {0x8332e136, 0xec9591},
+  {0x8332e137, 0xec9592},
+  {0x8332e138, 0xec9593},
+  {0x8332e139, 0xec9594},
+  {0x8332e230, 0xec9595},
+  {0x8332e231, 0xec9596},
+  {0x8332e232, 0xec9597},
+  {0x8332e233, 0xec9598},
+  {0x8332e234, 0xec9599},
+  {0x8332e235, 0xec959a},
+  {0x8332e236, 0xec959b},
+  {0x8332e237, 0xec959c},
+  {0x8332e238, 0xec959d},
+  {0x8332e239, 0xec959e},
+  {0x8332e330, 0xec959f},
+  {0x8332e331, 0xec95a0},
+  {0x8332e332, 0xec95a1},
+  {0x8332e333, 0xec95a2},
+  {0x8332e334, 0xec95a3},
+  {0x8332e335, 0xec95a4},
+  {0x8332e336, 0xec95a5},
+  {0x8332e337, 0xec95a6},
+  {0x8332e338, 0xec95a7},
+  {0x8332e339, 0xec95a8},
+  {0x8332e430, 0xec95a9},
+  {0x8332e431, 0xec95aa},
+  {0x8332e432, 0xec95ab},
+  {0x8332e433, 0xec95ac},
+  {0x8332e434, 0xec95ad},
+  {0x8332e435, 0xec95ae},
+  {0x8332e436, 0xec95af},
+  {0x8332e437, 0xec95b0},
+  {0x8332e438, 0xec95b1},
+  {0x8332e439, 0xec95b2},
+  {0x8332e530, 0xec95b3},
+  {0x8332e531, 0xec95b4},
+  {0x8332e532, 0xec95b5},
+  {0x8332e533, 0xec95b6},
+  {0x8332e534, 0xec95b7},
+  {0x8332e535, 0xec95b8},
+  {0x8332e536, 0xec95b9},
+  {0x8332e537, 0xec95ba},
+  {0x8332e538, 0xec95bb},
+  {0x8332e539, 0xec95bc},
+  {0x8332e630, 0xec95bd},
+  {0x8332e631, 0xec95be},
+  {0x8332e632, 0xec95bf},
+  {0x8332e633, 0xec9680},
+  {0x8332e634, 0xec9681},
+  {0x8332e635, 0xec9682},
+  {0x8332e636, 0xec9683},
+  {0x8332e637, 0xec9684},
+  {0x8332e638, 0xec9685},
+  {0x8332e639, 0xec9686},
+  {0x8332e730, 0xec9687},
+  {0x8332e731, 0xec9688},
+  {0x8332e732, 0xec9689},
+  {0x8332e733, 0xec968a},
+  {0x8332e734, 0xec968b},
+  {0x8332e735, 0xec968c},
+  {0x8332e736, 0xec968d},
+  {0x8332e737, 0xec968e},
+  {0x8332e738, 0xec968f},
+  {0x8332e739, 0xec9690},
+  {0x8332e830, 0xec9691},
+  {0x8332e831, 0xec9692},
+  {0x8332e832, 0xec9693},
+  {0x8332e833, 0xec9694},
+  {0x8332e834, 0xec9695},
+  {0x8332e835, 0xec9696},
+  {0x8332e836, 0xec9697},
+  {0x8332e837, 0xec9698},
+  {0x8332e838, 0xec9699},
+  {0x8332e839, 0xec969a},
+  {0x8332e930, 0xec969b},
+  {0x8332e931, 0xec969c},
+  {0x8332e932, 0xec969d},
+  {0x8332e933, 0xec969e},
+  {0x8332e934, 0xec969f},
+  {0x8332e935, 0xec96a0},
+  {0x8332e936, 0xec96a1},
+  {0x8332e937, 0xec96a2},
+  {0x8332e938, 0xec96a3},
+  {0x8332e939, 0xec96a4},
+  {0x8332ea30, 0xec96a5},
+  {0x8332ea31, 0xec96a6},
+  {0x8332ea32, 0xec96a7},
+  {0x8332ea33, 0xec96a8},
+  {0x8332ea34, 0xec96a9},
+  {0x8332ea35, 0xec96aa},
+  {0x8332ea36, 0xec96ab},
+  {0x8332ea37, 0xec96ac},
+  {0x8332ea38, 0xec96ad},
+  {0x8332ea39, 0xec96ae},
+  {0x8332eb30, 0xec96af},
+  {0x8332eb31, 0xec96b0},
+  {0x8332eb32, 0xec96b1},
+  {0x8332eb33, 0xec96b2},
+  {0x8332eb34, 0xec96b3},
+  {0x8332eb35, 0xec96b4},
+  {0x8332eb36, 0xec96b5},
+  {0x8332eb37, 0xec96b6},
+  {0x8332eb38, 0xec96b7},
+  {0x8332eb39, 0xec96b8},
+  {0x8332ec30, 0xec96b9},
+  {0x8332ec31, 0xec96ba},
+  {0x8332ec32, 0xec96bb},
+  {0x8332ec33, 0xec96bc},
+  {0x8332ec34, 0xec96bd},
+  {0x8332ec35, 0xec96be},
+  {0x8332ec36, 0xec96bf},
+  {0x8332ec37, 0xec9780},
+  {0x8332ec38, 0xec9781},
+  {0x8332ec39, 0xec9782},
+  {0x8332ed30, 0xec9783},
+  {0x8332ed31, 0xec9784},
+  {0x8332ed32, 0xec9785},
+  {0x8332ed33, 0xec9786},
+  {0x8332ed34, 0xec9787},
+  {0x8332ed35, 0xec9788},
+  {0x8332ed36, 0xec9789},
+  {0x8332ed37, 0xec978a},
+  {0x8332ed38, 0xec978b},
+  {0x8332ed39, 0xec978c},
+  {0x8332ee30, 0xec978d},
+  {0x8332ee31, 0xec978e},
+  {0x8332ee32, 0xec978f},
+  {0x8332ee33, 0xec9790},
+  {0x8332ee34, 0xec9791},
+  {0x8332ee35, 0xec9792},
+  {0x8332ee36, 0xec9793},
+  {0x8332ee37, 0xec9794},
+  {0x8332ee38, 0xec9795},
+  {0x8332ee39, 0xec9796},
+  {0x8332ef30, 0xec9797},
+  {0x8332ef31, 0xec9798},
+  {0x8332ef32, 0xec9799},
+  {0x8332ef33, 0xec979a},
+  {0x8332ef34, 0xec979b},
+  {0x8332ef35, 0xec979c},
+  {0x8332ef36, 0xec979d},
+  {0x8332ef37, 0xec979e},
+  {0x8332ef38, 0xec979f},
+  {0x8332ef39, 0xec97a0},
+  {0x8332f030, 0xec97a1},
+  {0x8332f031, 0xec97a2},
+  {0x8332f032, 0xec97a3},
+  {0x8332f033, 0xec97a4},
+  {0x8332f034, 0xec97a5},
+  {0x8332f035, 0xec97a6},
+  {0x8332f036, 0xec97a7},
+  {0x8332f037, 0xec97a8},
+  {0x8332f038, 0xec97a9},
+  {0x8332f039, 0xec97aa},
+  {0x8332f130, 0xec97ab},
+  {0x8332f131, 0xec97ac},
+  {0x8332f132, 0xec97ad},
+  {0x8332f133, 0xec97ae},
+  {0x8332f134, 0xec97af},
+  {0x8332f135, 0xec97b0},
+  {0x8332f136, 0xec97b1},
+  {0x8332f137, 0xec97b2},
+  {0x8332f138, 0xec97b3},
+  {0x8332f139, 0xec97b4},
+  {0x8332f230, 0xec97b5},
+  {0x8332f231, 0xec97b6},
+  {0x8332f232, 0xec97b7},
+  {0x8332f233, 0xec97b8},
+  {0x8332f234, 0xec97b9},
+  {0x8332f235, 0xec97ba},
+  {0x8332f236, 0xec97bb},
+  {0x8332f237, 0xec97bc},
+  {0x8332f238, 0xec97bd},
+  {0x8332f239, 0xec97be},
+  {0x8332f330, 0xec97bf},
+  {0x8332f331, 0xec9880},
+  {0x8332f332, 0xec9881},
+  {0x8332f333, 0xec9882},
+  {0x8332f334, 0xec9883},
+  {0x8332f335, 0xec9884},
+  {0x8332f336, 0xec9885},
+  {0x8332f337, 0xec9886},
+  {0x8332f338, 0xec9887},
+  {0x8332f339, 0xec9888},
+  {0x8332f430, 0xec9889},
+  {0x8332f431, 0xec988a},
+  {0x8332f432, 0xec988b},
+  {0x8332f433, 0xec988c},
+  {0x8332f434, 0xec988d},
+  {0x8332f435, 0xec988e},
+  {0x8332f436, 0xec988f},
+  {0x8332f437, 0xec9890},
+  {0x8332f438, 0xec9891},
+  {0x8332f439, 0xec9892},
+  {0x8332f530, 0xec9893},
+  {0x8332f531, 0xec9894},
+  {0x8332f532, 0xec9895},
+  {0x8332f533, 0xec9896},
+  {0x8332f534, 0xec9897},
+  {0x8332f535, 0xec9898},
+  {0x8332f536, 0xec9899},
+  {0x8332f537, 0xec989a},
+  {0x8332f538, 0xec989b},
+  {0x8332f539, 0xec989c},
+  {0x8332f630, 0xec989d},
+  {0x8332f631, 0xec989e},
+  {0x8332f632, 0xec989f},
+  {0x8332f633, 0xec98a0},
+  {0x8332f634, 0xec98a1},
+  {0x8332f635, 0xec98a2},
+  {0x8332f636, 0xec98a3},
+  {0x8332f637, 0xec98a4},
+  {0x8332f638, 0xec98a5},
+  {0x8332f639, 0xec98a6},
+  {0x8332f730, 0xec98a7},
+  {0x8332f731, 0xec98a8},
+  {0x8332f732, 0xec98a9},
+  {0x8332f733, 0xec98aa},
+  {0x8332f734, 0xec98ab},
+  {0x8332f735, 0xec98ac},
+  {0x8332f736, 0xec98ad},
+  {0x8332f737, 0xec98ae},
+  {0x8332f738, 0xec98af},
+  {0x8332f739, 0xec98b0},
+  {0x8332f830, 0xec98b1},
+  {0x8332f831, 0xec98b2},
+  {0x8332f832, 0xec98b3},
+  {0x8332f833, 0xec98b4},
+  {0x8332f834, 0xec98b5},
+  {0x8332f835, 0xec98b6},
+  {0x8332f836, 0xec98b7},
+  {0x8332f837, 0xec98b8},
+  {0x8332f838, 0xec98b9},
+  {0x8332f839, 0xec98ba},
+  {0x8332f930, 0xec98bb},
+  {0x8332f931, 0xec98bc},
+  {0x8332f932, 0xec98bd},
+  {0x8332f933, 0xec98be},
+  {0x8332f934, 0xec98bf},
+  {0x8332f935, 0xec9980},
+  {0x8332f936, 0xec9981},
+  {0x8332f937, 0xec9982},
+  {0x8332f938, 0xec9983},
+  {0x8332f939, 0xec9984},
+  {0x8332fa30, 0xec9985},
+  {0x8332fa31, 0xec9986},
+  {0x8332fa32, 0xec9987},
+  {0x8332fa33, 0xec9988},
+  {0x8332fa34, 0xec9989},
+  {0x8332fa35, 0xec998a},
+  {0x8332fa36, 0xec998b},
+  {0x8332fa37, 0xec998c},
+  {0x8332fa38, 0xec998d},
+  {0x8332fa39, 0xec998e},
+  {0x8332fb30, 0xec998f},
+  {0x8332fb31, 0xec9990},
+  {0x8332fb32, 0xec9991},
+  {0x8332fb33, 0xec9992},
+  {0x8332fb34, 0xec9993},
+  {0x8332fb35, 0xec9994},
+  {0x8332fb36, 0xec9995},
+  {0x8332fb37, 0xec9996},
+  {0x8332fb38, 0xec9997},
+  {0x8332fb39, 0xec9998},
+  {0x8332fc30, 0xec9999},
+  {0x8332fc31, 0xec999a},
+  {0x8332fc32, 0xec999b},
+  {0x8332fc33, 0xec999c},
+  {0x8332fc34, 0xec999d},
+  {0x8332fc35, 0xec999e},
+  {0x8332fc36, 0xec999f},
+  {0x8332fc37, 0xec99a0},
+  {0x8332fc38, 0xec99a1},
+  {0x8332fc39, 0xec99a2},
+  {0x8332fd30, 0xec99a3},
+  {0x8332fd31, 0xec99a4},
+  {0x8332fd32, 0xec99a5},
+  {0x8332fd33, 0xec99a6},
+  {0x8332fd34, 0xec99a7},
+  {0x8332fd35, 0xec99a8},
+  {0x8332fd36, 0xec99a9},
+  {0x8332fd37, 0xec99aa},
+  {0x8332fd38, 0xec99ab},
+  {0x8332fd39, 0xec99ac},
+  {0x8332fe30, 0xec99ad},
+  {0x8332fe31, 0xec99ae},
+  {0x8332fe32, 0xec99af},
+  {0x8332fe33, 0xec99b0},
+  {0x8332fe34, 0xec99b1},
+  {0x8332fe35, 0xec99b2},
+  {0x8332fe36, 0xec99b3},
+  {0x8332fe37, 0xec99b4},
+  {0x8332fe38, 0xec99b5},
+  {0x8332fe39, 0xec99b6},
+  {0x83338130, 0xec99b7},
+  {0x83338131, 0xec99b8},
+  {0x83338132, 0xec99b9},
+  {0x83338133, 0xec99ba},
+  {0x83338134, 0xec99bb},
+  {0x83338135, 0xec99bc},
+  {0x83338136, 0xec99bd},
+  {0x83338137, 0xec99be},
+  {0x83338138, 0xec99bf},
+  {0x83338139, 0xec9a80},
+  {0x83338230, 0xec9a81},
+  {0x83338231, 0xec9a82},
+  {0x83338232, 0xec9a83},
+  {0x83338233, 0xec9a84},
+  {0x83338234, 0xec9a85},
+  {0x83338235, 0xec9a86},
+  {0x83338236, 0xec9a87},
+  {0x83338237, 0xec9a88},
+  {0x83338238, 0xec9a89},
+  {0x83338239, 0xec9a8a},
+  {0x83338330, 0xec9a8b},
+  {0x83338331, 0xec9a8c},
+  {0x83338332, 0xec9a8d},
+  {0x83338333, 0xec9a8e},
+  {0x83338334, 0xec9a8f},
+  {0x83338335, 0xec9a90},
+  {0x83338336, 0xec9a91},
+  {0x83338337, 0xec9a92},
+  {0x83338338, 0xec9a93},
+  {0x83338339, 0xec9a94},
+  {0x83338430, 0xec9a95},
+  {0x83338431, 0xec9a96},
+  {0x83338432, 0xec9a97},
+  {0x83338433, 0xec9a98},
+  {0x83338434, 0xec9a99},
+  {0x83338435, 0xec9a9a},
+  {0x83338436, 0xec9a9b},
+  {0x83338437, 0xec9a9c},
+  {0x83338438, 0xec9a9d},
+  {0x83338439, 0xec9a9e},
+  {0x83338530, 0xec9a9f},
+  {0x83338531, 0xec9aa0},
+  {0x83338532, 0xec9aa1},
+  {0x83338533, 0xec9aa2},
+  {0x83338534, 0xec9aa3},
+  {0x83338535, 0xec9aa4},
+  {0x83338536, 0xec9aa5},
+  {0x83338537, 0xec9aa6},
+  {0x83338538, 0xec9aa7},
+  {0x83338539, 0xec9aa8},
+  {0x83338630, 0xec9aa9},
+  {0x83338631, 0xec9aaa},
+  {0x83338632, 0xec9aab},
+  {0x83338633, 0xec9aac},
+  {0x83338634, 0xec9aad},
+  {0x83338635, 0xec9aae},
+  {0x83338636, 0xec9aaf},
+  {0x83338637, 0xec9ab0},
+  {0x83338638, 0xec9ab1},
+  {0x83338639, 0xec9ab2},
+  {0x83338730, 0xec9ab3},
+  {0x83338731, 0xec9ab4},
+  {0x83338732, 0xec9ab5},
+  {0x83338733, 0xec9ab6},
+  {0x83338734, 0xec9ab7},
+  {0x83338735, 0xec9ab8},
+  {0x83338736, 0xec9ab9},
+  {0x83338737, 0xec9aba},
+  {0x83338738, 0xec9abb},
+  {0x83338739, 0xec9abc},
+  {0x83338830, 0xec9abd},
+  {0x83338831, 0xec9abe},
+  {0x83338832, 0xec9abf},
+  {0x83338833, 0xec9b80},
+  {0x83338834, 0xec9b81},
+  {0x83338835, 0xec9b82},
+  {0x83338836, 0xec9b83},
+  {0x83338837, 0xec9b84},
+  {0x83338838, 0xec9b85},
+  {0x83338839, 0xec9b86},
+  {0x83338930, 0xec9b87},
+  {0x83338931, 0xec9b88},
+  {0x83338932, 0xec9b89},
+  {0x83338933, 0xec9b8a},
+  {0x83338934, 0xec9b8b},
+  {0x83338935, 0xec9b8c},
+  {0x83338936, 0xec9b8d},
+  {0x83338937, 0xec9b8e},
+  {0x83338938, 0xec9b8f},
+  {0x83338939, 0xec9b90},
+  {0x83338a30, 0xec9b91},
+  {0x83338a31, 0xec9b92},
+  {0x83338a32, 0xec9b93},
+  {0x83338a33, 0xec9b94},
+  {0x83338a34, 0xec9b95},
+  {0x83338a35, 0xec9b96},
+  {0x83338a36, 0xec9b97},
+  {0x83338a37, 0xec9b98},
+  {0x83338a38, 0xec9b99},
+  {0x83338a39, 0xec9b9a},
+  {0x83338b30, 0xec9b9b},
+  {0x83338b31, 0xec9b9c},
+  {0x83338b32, 0xec9b9d},
+  {0x83338b33, 0xec9b9e},
+  {0x83338b34, 0xec9b9f},
+  {0x83338b35, 0xec9ba0},
+  {0x83338b36, 0xec9ba1},
+  {0x83338b37, 0xec9ba2},
+  {0x83338b38, 0xec9ba3},
+  {0x83338b39, 0xec9ba4},
+  {0x83338c30, 0xec9ba5},
+  {0x83338c31, 0xec9ba6},
+  {0x83338c32, 0xec9ba7},
+  {0x83338c33, 0xec9ba8},
+  {0x83338c34, 0xec9ba9},
+  {0x83338c35, 0xec9baa},
+  {0x83338c36, 0xec9bab},
+  {0x83338c37, 0xec9bac},
+  {0x83338c38, 0xec9bad},
+  {0x83338c39, 0xec9bae},
+  {0x83338d30, 0xec9baf},
+  {0x83338d31, 0xec9bb0},
+  {0x83338d32, 0xec9bb1},
+  {0x83338d33, 0xec9bb2},
+  {0x83338d34, 0xec9bb3},
+  {0x83338d35, 0xec9bb4},
+  {0x83338d36, 0xec9bb5},
+  {0x83338d37, 0xec9bb6},
+  {0x83338d38, 0xec9bb7},
+  {0x83338d39, 0xec9bb8},
+  {0x83338e30, 0xec9bb9},
+  {0x83338e31, 0xec9bba},
+  {0x83338e32, 0xec9bbb},
+  {0x83338e33, 0xec9bbc},
+  {0x83338e34, 0xec9bbd},
+  {0x83338e35, 0xec9bbe},
+  {0x83338e36, 0xec9bbf},
+  {0x83338e37, 0xec9c80},
+  {0x83338e38, 0xec9c81},
+  {0x83338e39, 0xec9c82},
+  {0x83338f30, 0xec9c83},
+  {0x83338f31, 0xec9c84},
+  {0x83338f32, 0xec9c85},
+  {0x83338f33, 0xec9c86},
+  {0x83338f34, 0xec9c87},
+  {0x83338f35, 0xec9c88},
+  {0x83338f36, 0xec9c89},
+  {0x83338f37, 0xec9c8a},
+  {0x83338f38, 0xec9c8b},
+  {0x83338f39, 0xec9c8c},
+  {0x83339030, 0xec9c8d},
+  {0x83339031, 0xec9c8e},
+  {0x83339032, 0xec9c8f},
+  {0x83339033, 0xec9c90},
+  {0x83339034, 0xec9c91},
+  {0x83339035, 0xec9c92},
+  {0x83339036, 0xec9c93},
+  {0x83339037, 0xec9c94},
+  {0x83339038, 0xec9c95},
+  {0x83339039, 0xec9c96},
+  {0x83339130, 0xec9c97},
+  {0x83339131, 0xec9c98},
+  {0x83339132, 0xec9c99},
+  {0x83339133, 0xec9c9a},
+  {0x83339134, 0xec9c9b},
+  {0x83339135, 0xec9c9c},
+  {0x83339136, 0xec9c9d},
+  {0x83339137, 0xec9c9e},
+  {0x83339138, 0xec9c9f},
+  {0x83339139, 0xec9ca0},
+  {0x83339230, 0xec9ca1},
+  {0x83339231, 0xec9ca2},
+  {0x83339232, 0xec9ca3},
+  {0x83339233, 0xec9ca4},
+  {0x83339234, 0xec9ca5},
+  {0x83339235, 0xec9ca6},
+  {0x83339236, 0xec9ca7},
+  {0x83339237, 0xec9ca8},
+  {0x83339238, 0xec9ca9},
+  {0x83339239, 0xec9caa},
+  {0x83339330, 0xec9cab},
+  {0x83339331, 0xec9cac},
+  {0x83339332, 0xec9cad},
+  {0x83339333, 0xec9cae},
+  {0x83339334, 0xec9caf},
+  {0x83339335, 0xec9cb0},
+  {0x83339336, 0xec9cb1},
+  {0x83339337, 0xec9cb2},
+  {0x83339338, 0xec9cb3},
+  {0x83339339, 0xec9cb4},
+  {0x83339430, 0xec9cb5},
+  {0x83339431, 0xec9cb6},
+  {0x83339432, 0xec9cb7},
+  {0x83339433, 0xec9cb8},
+  {0x83339434, 0xec9cb9},
+  {0x83339435, 0xec9cba},
+  {0x83339436, 0xec9cbb},
+  {0x83339437, 0xec9cbc},
+  {0x83339438, 0xec9cbd},
+  {0x83339439, 0xec9cbe},
+  {0x83339530, 0xec9cbf},
+  {0x83339531, 0xec9d80},
+  {0x83339532, 0xec9d81},
+  {0x83339533, 0xec9d82},
+  {0x83339534, 0xec9d83},
+  {0x83339535, 0xec9d84},
+  {0x83339536, 0xec9d85},
+  {0x83339537, 0xec9d86},
+  {0x83339538, 0xec9d87},
+  {0x83339539, 0xec9d88},
+  {0x83339630, 0xec9d89},
+  {0x83339631, 0xec9d8a},
+  {0x83339632, 0xec9d8b},
+  {0x83339633, 0xec9d8c},
+  {0x83339634, 0xec9d8d},
+  {0x83339635, 0xec9d8e},
+  {0x83339636, 0xec9d8f},
+  {0x83339637, 0xec9d90},
+  {0x83339638, 0xec9d91},
+  {0x83339639, 0xec9d92},
+  {0x83339730, 0xec9d93},
+  {0x83339731, 0xec9d94},
+  {0x83339732, 0xec9d95},
+  {0x83339733, 0xec9d96},
+  {0x83339734, 0xec9d97},
+  {0x83339735, 0xec9d98},
+  {0x83339736, 0xec9d99},
+  {0x83339737, 0xec9d9a},
+  {0x83339738, 0xec9d9b},
+  {0x83339739, 0xec9d9c},
+  {0x83339830, 0xec9d9d},
+  {0x83339831, 0xec9d9e},
+  {0x83339832, 0xec9d9f},
+  {0x83339833, 0xec9da0},
+  {0x83339834, 0xec9da1},
+  {0x83339835, 0xec9da2},
+  {0x83339836, 0xec9da3},
+  {0x83339837, 0xec9da4},
+  {0x83339838, 0xec9da5},
+  {0x83339839, 0xec9da6},
+  {0x83339930, 0xec9da7},
+  {0x83339931, 0xec9da8},
+  {0x83339932, 0xec9da9},
+  {0x83339933, 0xec9daa},
+  {0x83339934, 0xec9dab},
+  {0x83339935, 0xec9dac},
+  {0x83339936, 0xec9dad},
+  {0x83339937, 0xec9dae},
+  {0x83339938, 0xec9daf},
+  {0x83339939, 0xec9db0},
+  {0x83339a30, 0xec9db1},
+  {0x83339a31, 0xec9db2},
+  {0x83339a32, 0xec9db3},
+  {0x83339a33, 0xec9db4},
+  {0x83339a34, 0xec9db5},
+  {0x83339a35, 0xec9db6},
+  {0x83339a36, 0xec9db7},
+  {0x83339a37, 0xec9db8},
+  {0x83339a38, 0xec9db9},
+  {0x83339a39, 0xec9dba},
+  {0x83339b30, 0xec9dbb},
+  {0x83339b31, 0xec9dbc},
+  {0x83339b32, 0xec9dbd},
+  {0x83339b33, 0xec9dbe},
+  {0x83339b34, 0xec9dbf},
+  {0x83339b35, 0xec9e80},
+  {0x83339b36, 0xec9e81},
+  {0x83339b37, 0xec9e82},
+  {0x83339b38, 0xec9e83},
+  {0x83339b39, 0xec9e84},
+  {0x83339c30, 0xec9e85},
+  {0x83339c31, 0xec9e86},
+  {0x83339c32, 0xec9e87},
+  {0x83339c33, 0xec9e88},
+  {0x83339c34, 0xec9e89},
+  {0x83339c35, 0xec9e8a},
+  {0x83339c36, 0xec9e8b},
+  {0x83339c37, 0xec9e8c},
+  {0x83339c38, 0xec9e8d},
+  {0x83339c39, 0xec9e8e},
+  {0x83339d30, 0xec9e8f},
+  {0x83339d31, 0xec9e90},
+  {0x83339d32, 0xec9e91},
+  {0x83339d33, 0xec9e92},
+  {0x83339d34, 0xec9e93},
+  {0x83339d35, 0xec9e94},
+  {0x83339d36, 0xec9e95},
+  {0x83339d37, 0xec9e96},
+  {0x83339d38, 0xec9e97},
+  {0x83339d39, 0xec9e98},
+  {0x83339e30, 0xec9e99},
+  {0x83339e31, 0xec9e9a},
+  {0x83339e32, 0xec9e9b},
+  {0x83339e33, 0xec9e9c},
+  {0x83339e34, 0xec9e9d},
+  {0x83339e35, 0xec9e9e},
+  {0x83339e36, 0xec9e9f},
+  {0x83339e37, 0xec9ea0},
+  {0x83339e38, 0xec9ea1},
+  {0x83339e39, 0xec9ea2},
+  {0x83339f30, 0xec9ea3},
+  {0x83339f31, 0xec9ea4},
+  {0x83339f32, 0xec9ea5},
+  {0x83339f33, 0xec9ea6},
+  {0x83339f34, 0xec9ea7},
+  {0x83339f35, 0xec9ea8},
+  {0x83339f36, 0xec9ea9},
+  {0x83339f37, 0xec9eaa},
+  {0x83339f38, 0xec9eab},
+  {0x83339f39, 0xec9eac},
+  {0x8333a030, 0xec9ead},
+  {0x8333a031, 0xec9eae},
+  {0x8333a032, 0xec9eaf},
+  {0x8333a033, 0xec9eb0},
+  {0x8333a034, 0xec9eb1},
+  {0x8333a035, 0xec9eb2},
+  {0x8333a036, 0xec9eb3},
+  {0x8333a037, 0xec9eb4},
+  {0x8333a038, 0xec9eb5},
+  {0x8333a039, 0xec9eb6},
+  {0x8333a130, 0xec9eb7},
+  {0x8333a131, 0xec9eb8},
+  {0x8333a132, 0xec9eb9},
+  {0x8333a133, 0xec9eba},
+  {0x8333a134, 0xec9ebb},
+  {0x8333a135, 0xec9ebc},
+  {0x8333a136, 0xec9ebd},
+  {0x8333a137, 0xec9ebe},
+  {0x8333a138, 0xec9ebf},
+  {0x8333a139, 0xec9f80},
+  {0x8333a230, 0xec9f81},
+  {0x8333a231, 0xec9f82},
+  {0x8333a232, 0xec9f83},
+  {0x8333a233, 0xec9f84},
+  {0x8333a234, 0xec9f85},
+  {0x8333a235, 0xec9f86},
+  {0x8333a236, 0xec9f87},
+  {0x8333a237, 0xec9f88},
+  {0x8333a238, 0xec9f89},
+  {0x8333a239, 0xec9f8a},
+  {0x8333a330, 0xec9f8b},
+  {0x8333a331, 0xec9f8c},
+  {0x8333a332, 0xec9f8d},
+  {0x8333a333, 0xec9f8e},
+  {0x8333a334, 0xec9f8f},
+  {0x8333a335, 0xec9f90},
+  {0x8333a336, 0xec9f91},
+  {0x8333a337, 0xec9f92},
+  {0x8333a338, 0xec9f93},
+  {0x8333a339, 0xec9f94},
+  {0x8333a430, 0xec9f95},
+  {0x8333a431, 0xec9f96},
+  {0x8333a432, 0xec9f97},
+  {0x8333a433, 0xec9f98},
+  {0x8333a434, 0xec9f99},
+  {0x8333a435, 0xec9f9a},
+  {0x8333a436, 0xec9f9b},
+  {0x8333a437, 0xec9f9c},
+  {0x8333a438, 0xec9f9d},
+  {0x8333a439, 0xec9f9e},
+  {0x8333a530, 0xec9f9f},
+  {0x8333a531, 0xec9fa0},
+  {0x8333a532, 0xec9fa1},
+  {0x8333a533, 0xec9fa2},
+  {0x8333a534, 0xec9fa3},
+  {0x8333a535, 0xec9fa4},
+  {0x8333a536, 0xec9fa5},
+  {0x8333a537, 0xec9fa6},
+  {0x8333a538, 0xec9fa7},
+  {0x8333a539, 0xec9fa8},
+  {0x8333a630, 0xec9fa9},
+  {0x8333a631, 0xec9faa},
+  {0x8333a632, 0xec9fab},
+  {0x8333a633, 0xec9fac},
+  {0x8333a634, 0xec9fad},
+  {0x8333a635, 0xec9fae},
+  {0x8333a636, 0xec9faf},
+  {0x8333a637, 0xec9fb0},
+  {0x8333a638, 0xec9fb1},
+  {0x8333a639, 0xec9fb2},
+  {0x8333a730, 0xec9fb3},
+  {0x8333a731, 0xec9fb4},
+  {0x8333a732, 0xec9fb5},
+  {0x8333a733, 0xec9fb6},
+  {0x8333a734, 0xec9fb7},
+  {0x8333a735, 0xec9fb8},
+  {0x8333a736, 0xec9fb9},
+  {0x8333a737, 0xec9fba},
+  {0x8333a738, 0xec9fbb},
+  {0x8333a739, 0xec9fbc},
+  {0x8333a830, 0xec9fbd},
+  {0x8333a831, 0xec9fbe},
+  {0x8333a832, 0xec9fbf},
+  {0x8333a833, 0xeca080},
+  {0x8333a834, 0xeca081},
+  {0x8333a835, 0xeca082},
+  {0x8333a836, 0xeca083},
+  {0x8333a837, 0xeca084},
+  {0x8333a838, 0xeca085},
+  {0x8333a839, 0xeca086},
+  {0x8333a930, 0xeca087},
+  {0x8333a931, 0xeca088},
+  {0x8333a932, 0xeca089},
+  {0x8333a933, 0xeca08a},
+  {0x8333a934, 0xeca08b},
+  {0x8333a935, 0xeca08c},
+  {0x8333a936, 0xeca08d},
+  {0x8333a937, 0xeca08e},
+  {0x8333a938, 0xeca08f},
+  {0x8333a939, 0xeca090},
+  {0x8333aa30, 0xeca091},
+  {0x8333aa31, 0xeca092},
+  {0x8333aa32, 0xeca093},
+  {0x8333aa33, 0xeca094},
+  {0x8333aa34, 0xeca095},
+  {0x8333aa35, 0xeca096},
+  {0x8333aa36, 0xeca097},
+  {0x8333aa37, 0xeca098},
+  {0x8333aa38, 0xeca099},
+  {0x8333aa39, 0xeca09a},
+  {0x8333ab30, 0xeca09b},
+  {0x8333ab31, 0xeca09c},
+  {0x8333ab32, 0xeca09d},
+  {0x8333ab33, 0xeca09e},
+  {0x8333ab34, 0xeca09f},
+  {0x8333ab35, 0xeca0a0},
+  {0x8333ab36, 0xeca0a1},
+  {0x8333ab37, 0xeca0a2},
+  {0x8333ab38, 0xeca0a3},
+  {0x8333ab39, 0xeca0a4},
+  {0x8333ac30, 0xeca0a5},
+  {0x8333ac31, 0xeca0a6},
+  {0x8333ac32, 0xeca0a7},
+  {0x8333ac33, 0xeca0a8},
+  {0x8333ac34, 0xeca0a9},
+  {0x8333ac35, 0xeca0aa},
+  {0x8333ac36, 0xeca0ab},
+  {0x8333ac37, 0xeca0ac},
+  {0x8333ac38, 0xeca0ad},
+  {0x8333ac39, 0xeca0ae},
+  {0x8333ad30, 0xeca0af},
+  {0x8333ad31, 0xeca0b0},
+  {0x8333ad32, 0xeca0b1},
+  {0x8333ad33, 0xeca0b2},
+  {0x8333ad34, 0xeca0b3},
+  {0x8333ad35, 0xeca0b4},
+  {0x8333ad36, 0xeca0b5},
+  {0x8333ad37, 0xeca0b6},
+  {0x8333ad38, 0xeca0b7},
+  {0x8333ad39, 0xeca0b8},
+  {0x8333ae30, 0xeca0b9},
+  {0x8333ae31, 0xeca0ba},
+  {0x8333ae32, 0xeca0bb},
+  {0x8333ae33, 0xeca0bc},
+  {0x8333ae34, 0xeca0bd},
+  {0x8333ae35, 0xeca0be},
+  {0x8333ae36, 0xeca0bf},
+  {0x8333ae37, 0xeca180},
+  {0x8333ae38, 0xeca181},
+  {0x8333ae39, 0xeca182},
+  {0x8333af30, 0xeca183},
+  {0x8333af31, 0xeca184},
+  {0x8333af32, 0xeca185},
+  {0x8333af33, 0xeca186},
+  {0x8333af34, 0xeca187},
+  {0x8333af35, 0xeca188},
+  {0x8333af36, 0xeca189},
+  {0x8333af37, 0xeca18a},
+  {0x8333af38, 0xeca18b},
+  {0x8333af39, 0xeca18c},
+  {0x8333b030, 0xeca18d},
+  {0x8333b031, 0xeca18e},
+  {0x8333b032, 0xeca18f},
+  {0x8333b033, 0xeca190},
+  {0x8333b034, 0xeca191},
+  {0x8333b035, 0xeca192},
+  {0x8333b036, 0xeca193},
+  {0x8333b037, 0xeca194},
+  {0x8333b038, 0xeca195},
+  {0x8333b039, 0xeca196},
+  {0x8333b130, 0xeca197},
+  {0x8333b131, 0xeca198},
+  {0x8333b132, 0xeca199},
+  {0x8333b133, 0xeca19a},
+  {0x8333b134, 0xeca19b},
+  {0x8333b135, 0xeca19c},
+  {0x8333b136, 0xeca19d},
+  {0x8333b137, 0xeca19e},
+  {0x8333b138, 0xeca19f},
+  {0x8333b139, 0xeca1a0},
+  {0x8333b230, 0xeca1a1},
+  {0x8333b231, 0xeca1a2},
+  {0x8333b232, 0xeca1a3},
+  {0x8333b233, 0xeca1a4},
+  {0x8333b234, 0xeca1a5},
+  {0x8333b235, 0xeca1a6},
+  {0x8333b236, 0xeca1a7},
+  {0x8333b237, 0xeca1a8},
+  {0x8333b238, 0xeca1a9},
+  {0x8333b239, 0xeca1aa},
+  {0x8333b330, 0xeca1ab},
+  {0x8333b331, 0xeca1ac},
+  {0x8333b332, 0xeca1ad},
+  {0x8333b333, 0xeca1ae},
+  {0x8333b334, 0xeca1af},
+  {0x8333b335, 0xeca1b0},
+  {0x8333b336, 0xeca1b1},
+  {0x8333b337, 0xeca1b2},
+  {0x8333b338, 0xeca1b3},
+  {0x8333b339, 0xeca1b4},
+  {0x8333b430, 0xeca1b5},
+  {0x8333b431, 0xeca1b6},
+  {0x8333b432, 0xeca1b7},
+  {0x8333b433, 0xeca1b8},
+  {0x8333b434, 0xeca1b9},
+  {0x8333b435, 0xeca1ba},
+  {0x8333b436, 0xeca1bb},
+  {0x8333b437, 0xeca1bc},
+  {0x8333b438, 0xeca1bd},
+  {0x8333b439, 0xeca1be},
+  {0x8333b530, 0xeca1bf},
+  {0x8333b531, 0xeca280},
+  {0x8333b532, 0xeca281},
+  {0x8333b533, 0xeca282},
+  {0x8333b534, 0xeca283},
+  {0x8333b535, 0xeca284},
+  {0x8333b536, 0xeca285},
+  {0x8333b537, 0xeca286},
+  {0x8333b538, 0xeca287},
+  {0x8333b539, 0xeca288},
+  {0x8333b630, 0xeca289},
+  {0x8333b631, 0xeca28a},
+  {0x8333b632, 0xeca28b},
+  {0x8333b633, 0xeca28c},
+  {0x8333b634, 0xeca28d},
+  {0x8333b635, 0xeca28e},
+  {0x8333b636, 0xeca28f},
+  {0x8333b637, 0xeca290},
+  {0x8333b638, 0xeca291},
+  {0x8333b639, 0xeca292},
+  {0x8333b730, 0xeca293},
+  {0x8333b731, 0xeca294},
+  {0x8333b732, 0xeca295},
+  {0x8333b733, 0xeca296},
+  {0x8333b734, 0xeca297},
+  {0x8333b735, 0xeca298},
+  {0x8333b736, 0xeca299},
+  {0x8333b737, 0xeca29a},
+  {0x8333b738, 0xeca29b},
+  {0x8333b739, 0xeca29c},
+  {0x8333b830, 0xeca29d},
+  {0x8333b831, 0xeca29e},
+  {0x8333b832, 0xeca29f},
+  {0x8333b833, 0xeca2a0},
+  {0x8333b834, 0xeca2a1},
+  {0x8333b835, 0xeca2a2},
+  {0x8333b836, 0xeca2a3},
+  {0x8333b837, 0xeca2a4},
+  {0x8333b838, 0xeca2a5},
+  {0x8333b839, 0xeca2a6},
+  {0x8333b930, 0xeca2a7},
+  {0x8333b931, 0xeca2a8},
+  {0x8333b932, 0xeca2a9},
+  {0x8333b933, 0xeca2aa},
+  {0x8333b934, 0xeca2ab},
+  {0x8333b935, 0xeca2ac},
+  {0x8333b936, 0xeca2ad},
+  {0x8333b937, 0xeca2ae},
+  {0x8333b938, 0xeca2af},
+  {0x8333b939, 0xeca2b0},
+  {0x8333ba30, 0xeca2b1},
+  {0x8333ba31, 0xeca2b2},
+  {0x8333ba32, 0xeca2b3},
+  {0x8333ba33, 0xeca2b4},
+  {0x8333ba34, 0xeca2b5},
+  {0x8333ba35, 0xeca2b6},
+  {0x8333ba36, 0xeca2b7},
+  {0x8333ba37, 0xeca2b8},
+  {0x8333ba38, 0xeca2b9},
+  {0x8333ba39, 0xeca2ba},
+  {0x8333bb30, 0xeca2bb},
+  {0x8333bb31, 0xeca2bc},
+  {0x8333bb32, 0xeca2bd},
+  {0x8333bb33, 0xeca2be},
+  {0x8333bb34, 0xeca2bf},
+  {0x8333bb35, 0xeca380},
+  {0x8333bb36, 0xeca381},
+  {0x8333bb37, 0xeca382},
+  {0x8333bb38, 0xeca383},
+  {0x8333bb39, 0xeca384},
+  {0x8333bc30, 0xeca385},
+  {0x8333bc31, 0xeca386},
+  {0x8333bc32, 0xeca387},
+  {0x8333bc33, 0xeca388},
+  {0x8333bc34, 0xeca389},
+  {0x8333bc35, 0xeca38a},
+  {0x8333bc36, 0xeca38b},
+  {0x8333bc37, 0xeca38c},
+  {0x8333bc38, 0xeca38d},
+  {0x8333bc39, 0xeca38e},
+  {0x8333bd30, 0xeca38f},
+  {0x8333bd31, 0xeca390},
+  {0x8333bd32, 0xeca391},
+  {0x8333bd33, 0xeca392},
+  {0x8333bd34, 0xeca393},
+  {0x8333bd35, 0xeca394},
+  {0x8333bd36, 0xeca395},
+  {0x8333bd37, 0xeca396},
+  {0x8333bd38, 0xeca397},
+  {0x8333bd39, 0xeca398},
+  {0x8333be30, 0xeca399},
+  {0x8333be31, 0xeca39a},
+  {0x8333be32, 0xeca39b},
+  {0x8333be33, 0xeca39c},
+  {0x8333be34, 0xeca39d},
+  {0x8333be35, 0xeca39e},
+  {0x8333be36, 0xeca39f},
+  {0x8333be37, 0xeca3a0},
+  {0x8333be38, 0xeca3a1},
+  {0x8333be39, 0xeca3a2},
+  {0x8333bf30, 0xeca3a3},
+  {0x8333bf31, 0xeca3a4},
+  {0x8333bf32, 0xeca3a5},
+  {0x8333bf33, 0xeca3a6},
+  {0x8333bf34, 0xeca3a7},
+  {0x8333bf35, 0xeca3a8},
+  {0x8333bf36, 0xeca3a9},
+  {0x8333bf37, 0xeca3aa},
+  {0x8333bf38, 0xeca3ab},
+  {0x8333bf39, 0xeca3ac},
+  {0x8333c030, 0xeca3ad},
+  {0x8333c031, 0xeca3ae},
+  {0x8333c032, 0xeca3af},
+  {0x8333c033, 0xeca3b0},
+  {0x8333c034, 0xeca3b1},
+  {0x8333c035, 0xeca3b2},
+  {0x8333c036, 0xeca3b3},
+  {0x8333c037, 0xeca3b4},
+  {0x8333c038, 0xeca3b5},
+  {0x8333c039, 0xeca3b6},
+  {0x8333c130, 0xeca3b7},
+  {0x8333c131, 0xeca3b8},
+  {0x8333c132, 0xeca3b9},
+  {0x8333c133, 0xeca3ba},
+  {0x8333c134, 0xeca3bb},
+  {0x8333c135, 0xeca3bc},
+  {0x8333c136, 0xeca3bd},
+  {0x8333c137, 0xeca3be},
+  {0x8333c138, 0xeca3bf},
+  {0x8333c139, 0xeca480},
+  {0x8333c230, 0xeca481},
+  {0x8333c231, 0xeca482},
+  {0x8333c232, 0xeca483},
+  {0x8333c233, 0xeca484},
+  {0x8333c234, 0xeca485},
+  {0x8333c235, 0xeca486},
+  {0x8333c236, 0xeca487},
+  {0x8333c237, 0xeca488},
+  {0x8333c238, 0xeca489},
+  {0x8333c239, 0xeca48a},
+  {0x8333c330, 0xeca48b},
+  {0x8333c331, 0xeca48c},
+  {0x8333c332, 0xeca48d},
+  {0x8333c333, 0xeca48e},
+  {0x8333c334, 0xeca48f},
+  {0x8333c335, 0xeca490},
+  {0x8333c336, 0xeca491},
+  {0x8333c337, 0xeca492},
+  {0x8333c338, 0xeca493},
+  {0x8333c339, 0xeca494},
+  {0x8333c430, 0xeca495},
+  {0x8333c431, 0xeca496},
+  {0x8333c432, 0xeca497},
+  {0x8333c433, 0xeca498},
+  {0x8333c434, 0xeca499},
+  {0x8333c435, 0xeca49a},
+  {0x8333c436, 0xeca49b},
+  {0x8333c437, 0xeca49c},
+  {0x8333c438, 0xeca49d},
+  {0x8333c439, 0xeca49e},
+  {0x8333c530, 0xeca49f},
+  {0x8333c531, 0xeca4a0},
+  {0x8333c532, 0xeca4a1},
+  {0x8333c533, 0xeca4a2},
+  {0x8333c534, 0xeca4a3},
+  {0x8333c535, 0xeca4a4},
+  {0x8333c536, 0xeca4a5},
+  {0x8333c537, 0xeca4a6},
+  {0x8333c538, 0xeca4a7},
+  {0x8333c539, 0xeca4a8},
+  {0x8333c630, 0xeca4a9},
+  {0x8333c631, 0xeca4aa},
+  {0x8333c632, 0xeca4ab},
+  {0x8333c633, 0xeca4ac},
+  {0x8333c634, 0xeca4ad},
+  {0x8333c635, 0xeca4ae},
+  {0x8333c636, 0xeca4af},
+  {0x8333c637, 0xeca4b0},
+  {0x8333c638, 0xeca4b1},
+  {0x8333c639, 0xeca4b2},
+  {0x8333c730, 0xeca4b3},
+  {0x8333c731, 0xeca4b4},
+  {0x8333c732, 0xeca4b5},
+  {0x8333c733, 0xeca4b6},
+  {0x8333c734, 0xeca4b7},
+  {0x8333c735, 0xeca4b8},
+  {0x8333c736, 0xeca4b9},
+  {0x8333c737, 0xeca4ba},
+  {0x8333c738, 0xeca4bb},
+  {0x8333c739, 0xeca4bc},
+  {0x8333c830, 0xeca4bd},
+  {0x8333c831, 0xeca4be},
+  {0x8333c832, 0xeca4bf},
+  {0x8333c833, 0xeca580},
+  {0x8333c834, 0xeca581},
+  {0x8333c835, 0xeca582},
+  {0x8333c836, 0xeca583},
+  {0x8333c837, 0xeca584},
+  {0x8333c838, 0xeca585},
+  {0x8333c839, 0xeca586},
+  {0x8333c930, 0xeca587},
+  {0x8333c931, 0xeca588},
+  {0x8333c932, 0xeca589},
+  {0x8333c933, 0xeca58a},
+  {0x8333c934, 0xeca58b},
+  {0x8333c935, 0xeca58c},
+  {0x8333c936, 0xeca58d},
+  {0x8333c937, 0xeca58e},
+  {0x8333c938, 0xeca58f},
+  {0x8333c939, 0xeca590},
+  {0x8333ca30, 0xeca591},
+  {0x8333ca31, 0xeca592},
+  {0x8333ca32, 0xeca593},
+  {0x8333ca33, 0xeca594},
+  {0x8333ca34, 0xeca595},
+  {0x8333ca35, 0xeca596},
+  {0x8333ca36, 0xeca597},
+  {0x8333ca37, 0xeca598},
+  {0x8333ca38, 0xeca599},
+  {0x8333ca39, 0xeca59a},
+  {0x8333cb30, 0xeca59b},
+  {0x8333cb31, 0xeca59c},
+  {0x8333cb32, 0xeca59d},
+  {0x8333cb33, 0xeca59e},
+  {0x8333cb34, 0xeca59f},
+  {0x8333cb35, 0xeca5a0},
+  {0x8333cb36, 0xeca5a1},
+  {0x8333cb37, 0xeca5a2},
+  {0x8333cb38, 0xeca5a3},
+  {0x8333cb39, 0xeca5a4},
+  {0x8333cc30, 0xeca5a5},
+  {0x8333cc31, 0xeca5a6},
+  {0x8333cc32, 0xeca5a7},
+  {0x8333cc33, 0xeca5a8},
+  {0x8333cc34, 0xeca5a9},
+  {0x8333cc35, 0xeca5aa},
+  {0x8333cc36, 0xeca5ab},
+  {0x8333cc37, 0xeca5ac},
+  {0x8333cc38, 0xeca5ad},
+  {0x8333cc39, 0xeca5ae},
+  {0x8333cd30, 0xeca5af},
+  {0x8333cd31, 0xeca5b0},
+  {0x8333cd32, 0xeca5b1},
+  {0x8333cd33, 0xeca5b2},
+  {0x8333cd34, 0xeca5b3},
+  {0x8333cd35, 0xeca5b4},
+  {0x8333cd36, 0xeca5b5},
+  {0x8333cd37, 0xeca5b6},
+  {0x8333cd38, 0xeca5b7},
+  {0x8333cd39, 0xeca5b8},
+  {0x8333ce30, 0xeca5b9},
+  {0x8333ce31, 0xeca5ba},
+  {0x8333ce32, 0xeca5bb},
+  {0x8333ce33, 0xeca5bc},
+  {0x8333ce34, 0xeca5bd},
+  {0x8333ce35, 0xeca5be},
+  {0x8333ce36, 0xeca5bf},
+  {0x8333ce37, 0xeca680},
+  {0x8333ce38, 0xeca681},
+  {0x8333ce39, 0xeca682},
+  {0x8333cf30, 0xeca683},
+  {0x8333cf31, 0xeca684},
+  {0x8333cf32, 0xeca685},
+  {0x8333cf33, 0xeca686},
+  {0x8333cf34, 0xeca687},
+  {0x8333cf35, 0xeca688},
+  {0x8333cf36, 0xeca689},
+  {0x8333cf37, 0xeca68a},
+  {0x8333cf38, 0xeca68b},
+  {0x8333cf39, 0xeca68c},
+  {0x8333d030, 0xeca68d},
+  {0x8333d031, 0xeca68e},
+  {0x8333d032, 0xeca68f},
+  {0x8333d033, 0xeca690},
+  {0x8333d034, 0xeca691},
+  {0x8333d035, 0xeca692},
+  {0x8333d036, 0xeca693},
+  {0x8333d037, 0xeca694},
+  {0x8333d038, 0xeca695},
+  {0x8333d039, 0xeca696},
+  {0x8333d130, 0xeca697},
+  {0x8333d131, 0xeca698},
+  {0x8333d132, 0xeca699},
+  {0x8333d133, 0xeca69a},
+  {0x8333d134, 0xeca69b},
+  {0x8333d135, 0xeca69c},
+  {0x8333d136, 0xeca69d},
+  {0x8333d137, 0xeca69e},
+  {0x8333d138, 0xeca69f},
+  {0x8333d139, 0xeca6a0},
+  {0x8333d230, 0xeca6a1},
+  {0x8333d231, 0xeca6a2},
+  {0x8333d232, 0xeca6a3},
+  {0x8333d233, 0xeca6a4},
+  {0x8333d234, 0xeca6a5},
+  {0x8333d235, 0xeca6a6},
+  {0x8333d236, 0xeca6a7},
+  {0x8333d237, 0xeca6a8},
+  {0x8333d238, 0xeca6a9},
+  {0x8333d239, 0xeca6aa},
+  {0x8333d330, 0xeca6ab},
+  {0x8333d331, 0xeca6ac},
+  {0x8333d332, 0xeca6ad},
+  {0x8333d333, 0xeca6ae},
+  {0x8333d334, 0xeca6af},
+  {0x8333d335, 0xeca6b0},
+  {0x8333d336, 0xeca6b1},
+  {0x8333d337, 0xeca6b2},
+  {0x8333d338, 0xeca6b3},
+  {0x8333d339, 0xeca6b4},
+  {0x8333d430, 0xeca6b5},
+  {0x8333d431, 0xeca6b6},
+  {0x8333d432, 0xeca6b7},
+  {0x8333d433, 0xeca6b8},
+  {0x8333d434, 0xeca6b9},
+  {0x8333d435, 0xeca6ba},
+  {0x8333d436, 0xeca6bb},
+  {0x8333d437, 0xeca6bc},
+  {0x8333d438, 0xeca6bd},
+  {0x8333d439, 0xeca6be},
+  {0x8333d530, 0xeca6bf},
+  {0x8333d531, 0xeca780},
+  {0x8333d532, 0xeca781},
+  {0x8333d533, 0xeca782},
+  {0x8333d534, 0xeca783},
+  {0x8333d535, 0xeca784},
+  {0x8333d536, 0xeca785},
+  {0x8333d537, 0xeca786},
+  {0x8333d538, 0xeca787},
+  {0x8333d539, 0xeca788},
+  {0x8333d630, 0xeca789},
+  {0x8333d631, 0xeca78a},
+  {0x8333d632, 0xeca78b},
+  {0x8333d633, 0xeca78c},
+  {0x8333d634, 0xeca78d},
+  {0x8333d635, 0xeca78e},
+  {0x8333d636, 0xeca78f},
+  {0x8333d637, 0xeca790},
+  {0x8333d638, 0xeca791},
+  {0x8333d639, 0xeca792},
+  {0x8333d730, 0xeca793},
+  {0x8333d731, 0xeca794},
+  {0x8333d732, 0xeca795},
+  {0x8333d733, 0xeca796},
+  {0x8333d734, 0xeca797},
+  {0x8333d735, 0xeca798},
+  {0x8333d736, 0xeca799},
+  {0x8333d737, 0xeca79a},
+  {0x8333d738, 0xeca79b},
+  {0x8333d739, 0xeca79c},
+  {0x8333d830, 0xeca79d},
+  {0x8333d831, 0xeca79e},
+  {0x8333d832, 0xeca79f},
+  {0x8333d833, 0xeca7a0},
+  {0x8333d834, 0xeca7a1},
+  {0x8333d835, 0xeca7a2},
+  {0x8333d836, 0xeca7a3},
+  {0x8333d837, 0xeca7a4},
+  {0x8333d838, 0xeca7a5},
+  {0x8333d839, 0xeca7a6},
+  {0x8333d930, 0xeca7a7},
+  {0x8333d931, 0xeca7a8},
+  {0x8333d932, 0xeca7a9},
+  {0x8333d933, 0xeca7aa},
+  {0x8333d934, 0xeca7ab},
+  {0x8333d935, 0xeca7ac},
+  {0x8333d936, 0xeca7ad},
+  {0x8333d937, 0xeca7ae},
+  {0x8333d938, 0xeca7af},
+  {0x8333d939, 0xeca7b0},
+  {0x8333da30, 0xeca7b1},
+  {0x8333da31, 0xeca7b2},
+  {0x8333da32, 0xeca7b3},
+  {0x8333da33, 0xeca7b4},
+  {0x8333da34, 0xeca7b5},
+  {0x8333da35, 0xeca7b6},
+  {0x8333da36, 0xeca7b7},
+  {0x8333da37, 0xeca7b8},
+  {0x8333da38, 0xeca7b9},
+  {0x8333da39, 0xeca7ba},
+  {0x8333db30, 0xeca7bb},
+  {0x8333db31, 0xeca7bc},
+  {0x8333db32, 0xeca7bd},
+  {0x8333db33, 0xeca7be},
+  {0x8333db34, 0xeca7bf},
+  {0x8333db35, 0xeca880},
+  {0x8333db36, 0xeca881},
+  {0x8333db37, 0xeca882},
+  {0x8333db38, 0xeca883},
+  {0x8333db39, 0xeca884},
+  {0x8333dc30, 0xeca885},
+  {0x8333dc31, 0xeca886},
+  {0x8333dc32, 0xeca887},
+  {0x8333dc33, 0xeca888},
+  {0x8333dc34, 0xeca889},
+  {0x8333dc35, 0xeca88a},
+  {0x8333dc36, 0xeca88b},
+  {0x8333dc37, 0xeca88c},
+  {0x8333dc38, 0xeca88d},
+  {0x8333dc39, 0xeca88e},
+  {0x8333dd30, 0xeca88f},
+  {0x8333dd31, 0xeca890},
+  {0x8333dd32, 0xeca891},
+  {0x8333dd33, 0xeca892},
+  {0x8333dd34, 0xeca893},
+  {0x8333dd35, 0xeca894},
+  {0x8333dd36, 0xeca895},
+  {0x8333dd37, 0xeca896},
+  {0x8333dd38, 0xeca897},
+  {0x8333dd39, 0xeca898},
+  {0x8333de30, 0xeca899},
+  {0x8333de31, 0xeca89a},
+  {0x8333de32, 0xeca89b},
+  {0x8333de33, 0xeca89c},
+  {0x8333de34, 0xeca89d},
+  {0x8333de35, 0xeca89e},
+  {0x8333de36, 0xeca89f},
+  {0x8333de37, 0xeca8a0},
+  {0x8333de38, 0xeca8a1},
+  {0x8333de39, 0xeca8a2},
+  {0x8333df30, 0xeca8a3},
+  {0x8333df31, 0xeca8a4},
+  {0x8333df32, 0xeca8a5},
+  {0x8333df33, 0xeca8a6},
+  {0x8333df34, 0xeca8a7},
+  {0x8333df35, 0xeca8a8},
+  {0x8333df36, 0xeca8a9},
+  {0x8333df37, 0xeca8aa},
+  {0x8333df38, 0xeca8ab},
+  {0x8333df39, 0xeca8ac},
+  {0x8333e030, 0xeca8ad},
+  {0x8333e031, 0xeca8ae},
+  {0x8333e032, 0xeca8af},
+  {0x8333e033, 0xeca8b0},
+  {0x8333e034, 0xeca8b1},
+  {0x8333e035, 0xeca8b2},
+  {0x8333e036, 0xeca8b3},
+  {0x8333e037, 0xeca8b4},
+  {0x8333e038, 0xeca8b5},
+  {0x8333e039, 0xeca8b6},
+  {0x8333e130, 0xeca8b7},
+  {0x8333e131, 0xeca8b8},
+  {0x8333e132, 0xeca8b9},
+  {0x8333e133, 0xeca8ba},
+  {0x8333e134, 0xeca8bb},
+  {0x8333e135, 0xeca8bc},
+  {0x8333e136, 0xeca8bd},
+  {0x8333e137, 0xeca8be},
+  {0x8333e138, 0xeca8bf},
+  {0x8333e139, 0xeca980},
+  {0x8333e230, 0xeca981},
+  {0x8333e231, 0xeca982},
+  {0x8333e232, 0xeca983},
+  {0x8333e233, 0xeca984},
+  {0x8333e234, 0xeca985},
+  {0x8333e235, 0xeca986},
+  {0x8333e236, 0xeca987},
+  {0x8333e237, 0xeca988},
+  {0x8333e238, 0xeca989},
+  {0x8333e239, 0xeca98a},
+  {0x8333e330, 0xeca98b},
+  {0x8333e331, 0xeca98c},
+  {0x8333e332, 0xeca98d},
+  {0x8333e333, 0xeca98e},
+  {0x8333e334, 0xeca98f},
+  {0x8333e335, 0xeca990},
+  {0x8333e336, 0xeca991},
+  {0x8333e337, 0xeca992},
+  {0x8333e338, 0xeca993},
+  {0x8333e339, 0xeca994},
+  {0x8333e430, 0xeca995},
+  {0x8333e431, 0xeca996},
+  {0x8333e432, 0xeca997},
+  {0x8333e433, 0xeca998},
+  {0x8333e434, 0xeca999},
+  {0x8333e435, 0xeca99a},
+  {0x8333e436, 0xeca99b},
+  {0x8333e437, 0xeca99c},
+  {0x8333e438, 0xeca99d},
+  {0x8333e439, 0xeca99e},
+  {0x8333e530, 0xeca99f},
+  {0x8333e531, 0xeca9a0},
+  {0x8333e532, 0xeca9a1},
+  {0x8333e533, 0xeca9a2},
+  {0x8333e534, 0xeca9a3},
+  {0x8333e535, 0xeca9a4},
+  {0x8333e536, 0xeca9a5},
+  {0x8333e537, 0xeca9a6},
+  {0x8333e538, 0xeca9a7},
+  {0x8333e539, 0xeca9a8},
+  {0x8333e630, 0xeca9a9},
+  {0x8333e631, 0xeca9aa},
+  {0x8333e632, 0xeca9ab},
+  {0x8333e633, 0xeca9ac},
+  {0x8333e634, 0xeca9ad},
+  {0x8333e635, 0xeca9ae},
+  {0x8333e636, 0xeca9af},
+  {0x8333e637, 0xeca9b0},
+  {0x8333e638, 0xeca9b1},
+  {0x8333e639, 0xeca9b2},
+  {0x8333e730, 0xeca9b3},
+  {0x8333e731, 0xeca9b4},
+  {0x8333e732, 0xeca9b5},
+  {0x8333e733, 0xeca9b6},
+  {0x8333e734, 0xeca9b7},
+  {0x8333e735, 0xeca9b8},
+  {0x8333e736, 0xeca9b9},
+  {0x8333e737, 0xeca9ba},
+  {0x8333e738, 0xeca9bb},
+  {0x8333e739, 0xeca9bc},
+  {0x8333e830, 0xeca9bd},
+  {0x8333e831, 0xeca9be},
+  {0x8333e832, 0xeca9bf},
+  {0x8333e833, 0xecaa80},
+  {0x8333e834, 0xecaa81},
+  {0x8333e835, 0xecaa82},
+  {0x8333e836, 0xecaa83},
+  {0x8333e837, 0xecaa84},
+  {0x8333e838, 0xecaa85},
+  {0x8333e839, 0xecaa86},
+  {0x8333e930, 0xecaa87},
+  {0x8333e931, 0xecaa88},
+  {0x8333e932, 0xecaa89},
+  {0x8333e933, 0xecaa8a},
+  {0x8333e934, 0xecaa8b},
+  {0x8333e935, 0xecaa8c},
+  {0x8333e936, 0xecaa8d},
+  {0x8333e937, 0xecaa8e},
+  {0x8333e938, 0xecaa8f},
+  {0x8333e939, 0xecaa90},
+  {0x8333ea30, 0xecaa91},
+  {0x8333ea31, 0xecaa92},
+  {0x8333ea32, 0xecaa93},
+  {0x8333ea33, 0xecaa94},
+  {0x8333ea34, 0xecaa95},
+  {0x8333ea35, 0xecaa96},
+  {0x8333ea36, 0xecaa97},
+  {0x8333ea37, 0xecaa98},
+  {0x8333ea38, 0xecaa99},
+  {0x8333ea39, 0xecaa9a},
+  {0x8333eb30, 0xecaa9b},
+  {0x8333eb31, 0xecaa9c},
+  {0x8333eb32, 0xecaa9d},
+  {0x8333eb33, 0xecaa9e},
+  {0x8333eb34, 0xecaa9f},
+  {0x8333eb35, 0xecaaa0},
+  {0x8333eb36, 0xecaaa1},
+  {0x8333eb37, 0xecaaa2},
+  {0x8333eb38, 0xecaaa3},
+  {0x8333eb39, 0xecaaa4},
+  {0x8333ec30, 0xecaaa5},
+  {0x8333ec31, 0xecaaa6},
+  {0x8333ec32, 0xecaaa7},
+  {0x8333ec33, 0xecaaa8},
+  {0x8333ec34, 0xecaaa9},
+  {0x8333ec35, 0xecaaaa},
+  {0x8333ec36, 0xecaaab},
+  {0x8333ec37, 0xecaaac},
+  {0x8333ec38, 0xecaaad},
+  {0x8333ec39, 0xecaaae},
+  {0x8333ed30, 0xecaaaf},
+  {0x8333ed31, 0xecaab0},
+  {0x8333ed32, 0xecaab1},
+  {0x8333ed33, 0xecaab2},
+  {0x8333ed34, 0xecaab3},
+  {0x8333ed35, 0xecaab4},
+  {0x8333ed36, 0xecaab5},
+  {0x8333ed37, 0xecaab6},
+  {0x8333ed38, 0xecaab7},
+  {0x8333ed39, 0xecaab8},
+  {0x8333ee30, 0xecaab9},
+  {0x8333ee31, 0xecaaba},
+  {0x8333ee32, 0xecaabb},
+  {0x8333ee33, 0xecaabc},
+  {0x8333ee34, 0xecaabd},
+  {0x8333ee35, 0xecaabe},
+  {0x8333ee36, 0xecaabf},
+  {0x8333ee37, 0xecab80},
+  {0x8333ee38, 0xecab81},
+  {0x8333ee39, 0xecab82},
+  {0x8333ef30, 0xecab83},
+  {0x8333ef31, 0xecab84},
+  {0x8333ef32, 0xecab85},
+  {0x8333ef33, 0xecab86},
+  {0x8333ef34, 0xecab87},
+  {0x8333ef35, 0xecab88},
+  {0x8333ef36, 0xecab89},
+  {0x8333ef37, 0xecab8a},
+  {0x8333ef38, 0xecab8b},
+  {0x8333ef39, 0xecab8c},
+  {0x8333f030, 0xecab8d},
+  {0x8333f031, 0xecab8e},
+  {0x8333f032, 0xecab8f},
+  {0x8333f033, 0xecab90},
+  {0x8333f034, 0xecab91},
+  {0x8333f035, 0xecab92},
+  {0x8333f036, 0xecab93},
+  {0x8333f037, 0xecab94},
+  {0x8333f038, 0xecab95},
+  {0x8333f039, 0xecab96},
+  {0x8333f130, 0xecab97},
+  {0x8333f131, 0xecab98},
+  {0x8333f132, 0xecab99},
+  {0x8333f133, 0xecab9a},
+  {0x8333f134, 0xecab9b},
+  {0x8333f135, 0xecab9c},
+  {0x8333f136, 0xecab9d},
+  {0x8333f137, 0xecab9e},
+  {0x8333f138, 0xecab9f},
+  {0x8333f139, 0xecaba0},
+  {0x8333f230, 0xecaba1},
+  {0x8333f231, 0xecaba2},
+  {0x8333f232, 0xecaba3},
+  {0x8333f233, 0xecaba4},
+  {0x8333f234, 0xecaba5},
+  {0x8333f235, 0xecaba6},
+  {0x8333f236, 0xecaba7},
+  {0x8333f237, 0xecaba8},
+  {0x8333f238, 0xecaba9},
+  {0x8333f239, 0xecabaa},
+  {0x8333f330, 0xecabab},
+  {0x8333f331, 0xecabac},
+  {0x8333f332, 0xecabad},
+  {0x8333f333, 0xecabae},
+  {0x8333f334, 0xecabaf},
+  {0x8333f335, 0xecabb0},
+  {0x8333f336, 0xecabb1},
+  {0x8333f337, 0xecabb2},
+  {0x8333f338, 0xecabb3},
+  {0x8333f339, 0xecabb4},
+  {0x8333f430, 0xecabb5},
+  {0x8333f431, 0xecabb6},
+  {0x8333f432, 0xecabb7},
+  {0x8333f433, 0xecabb8},
+  {0x8333f434, 0xecabb9},
+  {0x8333f435, 0xecabba},
+  {0x8333f436, 0xecabbb},
+  {0x8333f437, 0xecabbc},
+  {0x8333f438, 0xecabbd},
+  {0x8333f439, 0xecabbe},
+  {0x8333f530, 0xecabbf},
+  {0x8333f531, 0xecac80},
+  {0x8333f532, 0xecac81},
+  {0x8333f533, 0xecac82},
+  {0x8333f534, 0xecac83},
+  {0x8333f535, 0xecac84},
+  {0x8333f536, 0xecac85},
+  {0x8333f537, 0xecac86},
+  {0x8333f538, 0xecac87},
+  {0x8333f539, 0xecac88},
+  {0x8333f630, 0xecac89},
+  {0x8333f631, 0xecac8a},
+  {0x8333f632, 0xecac8b},
+  {0x8333f633, 0xecac8c},
+  {0x8333f634, 0xecac8d},
+  {0x8333f635, 0xecac8e},
+  {0x8333f636, 0xecac8f},
+  {0x8333f637, 0xecac90},
+  {0x8333f638, 0xecac91},
+  {0x8333f639, 0xecac92},
+  {0x8333f730, 0xecac93},
+  {0x8333f731, 0xecac94},
+  {0x8333f732, 0xecac95},
+  {0x8333f733, 0xecac96},
+  {0x8333f734, 0xecac97},
+  {0x8333f735, 0xecac98},
+  {0x8333f736, 0xecac99},
+  {0x8333f737, 0xecac9a},
+  {0x8333f738, 0xecac9b},
+  {0x8333f739, 0xecac9c},
+  {0x8333f830, 0xecac9d},
+  {0x8333f831, 0xecac9e},
+  {0x8333f832, 0xecac9f},
+  {0x8333f833, 0xecaca0},
+  {0x8333f834, 0xecaca1},
+  {0x8333f835, 0xecaca2},
+  {0x8333f836, 0xecaca3},
+  {0x8333f837, 0xecaca4},
+  {0x8333f838, 0xecaca5},
+  {0x8333f839, 0xecaca6},
+  {0x8333f930, 0xecaca7},
+  {0x8333f931, 0xecaca8},
+  {0x8333f932, 0xecaca9},
+  {0x8333f933, 0xecacaa},
+  {0x8333f934, 0xecacab},
+  {0x8333f935, 0xecacac},
+  {0x8333f936, 0xecacad},
+  {0x8333f937, 0xecacae},
+  {0x8333f938, 0xecacaf},
+  {0x8333f939, 0xecacb0},
+  {0x8333fa30, 0xecacb1},
+  {0x8333fa31, 0xecacb2},
+  {0x8333fa32, 0xecacb3},
+  {0x8333fa33, 0xecacb4},
+  {0x8333fa34, 0xecacb5},
+  {0x8333fa35, 0xecacb6},
+  {0x8333fa36, 0xecacb7},
+  {0x8333fa37, 0xecacb8},
+  {0x8333fa38, 0xecacb9},
+  {0x8333fa39, 0xecacba},
+  {0x8333fb30, 0xecacbb},
+  {0x8333fb31, 0xecacbc},
+  {0x8333fb32, 0xecacbd},
+  {0x8333fb33, 0xecacbe},
+  {0x8333fb34, 0xecacbf},
+  {0x8333fb35, 0xecad80},
+  {0x8333fb36, 0xecad81},
+  {0x8333fb37, 0xecad82},
+  {0x8333fb38, 0xecad83},
+  {0x8333fb39, 0xecad84},
+  {0x8333fc30, 0xecad85},
+  {0x8333fc31, 0xecad86},
+  {0x8333fc32, 0xecad87},
+  {0x8333fc33, 0xecad88},
+  {0x8333fc34, 0xecad89},
+  {0x8333fc35, 0xecad8a},
+  {0x8333fc36, 0xecad8b},
+  {0x8333fc37, 0xecad8c},
+  {0x8333fc38, 0xecad8d},
+  {0x8333fc39, 0xecad8e},
+  {0x8333fd30, 0xecad8f},
+  {0x8333fd31, 0xecad90},
+  {0x8333fd32, 0xecad91},
+  {0x8333fd33, 0xecad92},
+  {0x8333fd34, 0xecad93},
+  {0x8333fd35, 0xecad94},
+  {0x8333fd36, 0xecad95},
+  {0x8333fd37, 0xecad96},
+  {0x8333fd38, 0xecad97},
+  {0x8333fd39, 0xecad98},
+  {0x8333fe30, 0xecad99},
+  {0x8333fe31, 0xecad9a},
+  {0x8333fe32, 0xecad9b},
+  {0x8333fe33, 0xecad9c},
+  {0x8333fe34, 0xecad9d},
+  {0x8333fe35, 0xecad9e},
+  {0x8333fe36, 0xecad9f},
+  {0x8333fe37, 0xecada0},
+  {0x8333fe38, 0xecada1},
+  {0x8333fe39, 0xecada2},
+  {0x83348130, 0xecada3},
+  {0x83348131, 0xecada4},
+  {0x83348132, 0xecada5},
+  {0x83348133, 0xecada6},
+  {0x83348134, 0xecada7},
+  {0x83348135, 0xecada8},
+  {0x83348136, 0xecada9},
+  {0x83348137, 0xecadaa},
+  {0x83348138, 0xecadab},
+  {0x83348139, 0xecadac},
+  {0x83348230, 0xecadad},
+  {0x83348231, 0xecadae},
+  {0x83348232, 0xecadaf},
+  {0x83348233, 0xecadb0},
+  {0x83348234, 0xecadb1},
+  {0x83348235, 0xecadb2},
+  {0x83348236, 0xecadb3},
+  {0x83348237, 0xecadb4},
+  {0x83348238, 0xecadb5},
+  {0x83348239, 0xecadb6},
+  {0x83348330, 0xecadb7},
+  {0x83348331, 0xecadb8},
+  {0x83348332, 0xecadb9},
+  {0x83348333, 0xecadba},
+  {0x83348334, 0xecadbb},
+  {0x83348335, 0xecadbc},
+  {0x83348336, 0xecadbd},
+  {0x83348337, 0xecadbe},
+  {0x83348338, 0xecadbf},
+  {0x83348339, 0xecae80},
+  {0x83348430, 0xecae81},
+  {0x83348431, 0xecae82},
+  {0x83348432, 0xecae83},
+  {0x83348433, 0xecae84},
+  {0x83348434, 0xecae85},
+  {0x83348435, 0xecae86},
+  {0x83348436, 0xecae87},
+  {0x83348437, 0xecae88},
+  {0x83348438, 0xecae89},
+  {0x83348439, 0xecae8a},
+  {0x83348530, 0xecae8b},
+  {0x83348531, 0xecae8c},
+  {0x83348532, 0xecae8d},
+  {0x83348533, 0xecae8e},
+  {0x83348534, 0xecae8f},
+  {0x83348535, 0xecae90},
+  {0x83348536, 0xecae91},
+  {0x83348537, 0xecae92},
+  {0x83348538, 0xecae93},
+  {0x83348539, 0xecae94},
+  {0x83348630, 0xecae95},
+  {0x83348631, 0xecae96},
+  {0x83348632, 0xecae97},
+  {0x83348633, 0xecae98},
+  {0x83348634, 0xecae99},
+  {0x83348635, 0xecae9a},
+  {0x83348636, 0xecae9b},
+  {0x83348637, 0xecae9c},
+  {0x83348638, 0xecae9d},
+  {0x83348639, 0xecae9e},
+  {0x83348730, 0xecae9f},
+  {0x83348731, 0xecaea0},
+  {0x83348732, 0xecaea1},
+  {0x83348733, 0xecaea2},
+  {0x83348734, 0xecaea3},
+  {0x83348735, 0xecaea4},
+  {0x83348736, 0xecaea5},
+  {0x83348737, 0xecaea6},
+  {0x83348738, 0xecaea7},
+  {0x83348739, 0xecaea8},
+  {0x83348830, 0xecaea9},
+  {0x83348831, 0xecaeaa},
+  {0x83348832, 0xecaeab},
+  {0x83348833, 0xecaeac},
+  {0x83348834, 0xecaead},
+  {0x83348835, 0xecaeae},
+  {0x83348836, 0xecaeaf},
+  {0x83348837, 0xecaeb0},
+  {0x83348838, 0xecaeb1},
+  {0x83348839, 0xecaeb2},
+  {0x83348930, 0xecaeb3},
+  {0x83348931, 0xecaeb4},
+  {0x83348932, 0xecaeb5},
+  {0x83348933, 0xecaeb6},
+  {0x83348934, 0xecaeb7},
+  {0x83348935, 0xecaeb8},
+  {0x83348936, 0xecaeb9},
+  {0x83348937, 0xecaeba},
+  {0x83348938, 0xecaebb},
+  {0x83348939, 0xecaebc},
+  {0x83348a30, 0xecaebd},
+  {0x83348a31, 0xecaebe},
+  {0x83348a32, 0xecaebf},
+  {0x83348a33, 0xecaf80},
+  {0x83348a34, 0xecaf81},
+  {0x83348a35, 0xecaf82},
+  {0x83348a36, 0xecaf83},
+  {0x83348a37, 0xecaf84},
+  {0x83348a38, 0xecaf85},
+  {0x83348a39, 0xecaf86},
+  {0x83348b30, 0xecaf87},
+  {0x83348b31, 0xecaf88},
+  {0x83348b32, 0xecaf89},
+  {0x83348b33, 0xecaf8a},
+  {0x83348b34, 0xecaf8b},
+  {0x83348b35, 0xecaf8c},
+  {0x83348b36, 0xecaf8d},
+  {0x83348b37, 0xecaf8e},
+  {0x83348b38, 0xecaf8f},
+  {0x83348b39, 0xecaf90},
+  {0x83348c30, 0xecaf91},
+  {0x83348c31, 0xecaf92},
+  {0x83348c32, 0xecaf93},
+  {0x83348c33, 0xecaf94},
+  {0x83348c34, 0xecaf95},
+  {0x83348c35, 0xecaf96},
+  {0x83348c36, 0xecaf97},
+  {0x83348c37, 0xecaf98},
+  {0x83348c38, 0xecaf99},
+  {0x83348c39, 0xecaf9a},
+  {0x83348d30, 0xecaf9b},
+  {0x83348d31, 0xecaf9c},
+  {0x83348d32, 0xecaf9d},
+  {0x83348d33, 0xecaf9e},
+  {0x83348d34, 0xecaf9f},
+  {0x83348d35, 0xecafa0},
+  {0x83348d36, 0xecafa1},
+  {0x83348d37, 0xecafa2},
+  {0x83348d38, 0xecafa3},
+  {0x83348d39, 0xecafa4},
+  {0x83348e30, 0xecafa5},
+  {0x83348e31, 0xecafa6},
+  {0x83348e32, 0xecafa7},
+  {0x83348e33, 0xecafa8},
+  {0x83348e34, 0xecafa9},
+  {0x83348e35, 0xecafaa},
+  {0x83348e36, 0xecafab},
+  {0x83348e37, 0xecafac},
+  {0x83348e38, 0xecafad},
+  {0x83348e39, 0xecafae},
+  {0x83348f30, 0xecafaf},
+  {0x83348f31, 0xecafb0},
+  {0x83348f32, 0xecafb1},
+  {0x83348f33, 0xecafb2},
+  {0x83348f34, 0xecafb3},
+  {0x83348f35, 0xecafb4},
+  {0x83348f36, 0xecafb5},
+  {0x83348f37, 0xecafb6},
+  {0x83348f38, 0xecafb7},
+  {0x83348f39, 0xecafb8},
+  {0x83349030, 0xecafb9},
+  {0x83349031, 0xecafba},
+  {0x83349032, 0xecafbb},
+  {0x83349033, 0xecafbc},
+  {0x83349034, 0xecafbd},
+  {0x83349035, 0xecafbe},
+  {0x83349036, 0xecafbf},
+  {0x83349037, 0xecb080},
+  {0x83349038, 0xecb081},
+  {0x83349039, 0xecb082},
+  {0x83349130, 0xecb083},
+  {0x83349131, 0xecb084},
+  {0x83349132, 0xecb085},
+  {0x83349133, 0xecb086},
+  {0x83349134, 0xecb087},
+  {0x83349135, 0xecb088},
+  {0x83349136, 0xecb089},
+  {0x83349137, 0xecb08a},
+  {0x83349138, 0xecb08b},
+  {0x83349139, 0xecb08c},
+  {0x83349230, 0xecb08d},
+  {0x83349231, 0xecb08e},
+  {0x83349232, 0xecb08f},
+  {0x83349233, 0xecb090},
+  {0x83349234, 0xecb091},
+  {0x83349235, 0xecb092},
+  {0x83349236, 0xecb093},
+  {0x83349237, 0xecb094},
+  {0x83349238, 0xecb095},
+  {0x83349239, 0xecb096},
+  {0x83349330, 0xecb097},
+  {0x83349331, 0xecb098},
+  {0x83349332, 0xecb099},
+  {0x83349333, 0xecb09a},
+  {0x83349334, 0xecb09b},
+  {0x83349335, 0xecb09c},
+  {0x83349336, 0xecb09d},
+  {0x83349337, 0xecb09e},
+  {0x83349338, 0xecb09f},
+  {0x83349339, 0xecb0a0},
+  {0x83349430, 0xecb0a1},
+  {0x83349431, 0xecb0a2},
+  {0x83349432, 0xecb0a3},
+  {0x83349433, 0xecb0a4},
+  {0x83349434, 0xecb0a5},
+  {0x83349435, 0xecb0a6},
+  {0x83349436, 0xecb0a7},
+  {0x83349437, 0xecb0a8},
+  {0x83349438, 0xecb0a9},
+  {0x83349439, 0xecb0aa},
+  {0x83349530, 0xecb0ab},
+  {0x83349531, 0xecb0ac},
+  {0x83349532, 0xecb0ad},
+  {0x83349533, 0xecb0ae},
+  {0x83349534, 0xecb0af},
+  {0x83349535, 0xecb0b0},
+  {0x83349536, 0xecb0b1},
+  {0x83349537, 0xecb0b2},
+  {0x83349538, 0xecb0b3},
+  {0x83349539, 0xecb0b4},
+  {0x83349630, 0xecb0b5},
+  {0x83349631, 0xecb0b6},
+  {0x83349632, 0xecb0b7},
+  {0x83349633, 0xecb0b8},
+  {0x83349634, 0xecb0b9},
+  {0x83349635, 0xecb0ba},
+  {0x83349636, 0xecb0bb},
+  {0x83349637, 0xecb0bc},
+  {0x83349638, 0xecb0bd},
+  {0x83349639, 0xecb0be},
+  {0x83349730, 0xecb0bf},
+  {0x83349731, 0xecb180},
+  {0x83349732, 0xecb181},
+  {0x83349733, 0xecb182},
+  {0x83349734, 0xecb183},
+  {0x83349735, 0xecb184},
+  {0x83349736, 0xecb185},
+  {0x83349737, 0xecb186},
+  {0x83349738, 0xecb187},
+  {0x83349739, 0xecb188},
+  {0x83349830, 0xecb189},
+  {0x83349831, 0xecb18a},
+  {0x83349832, 0xecb18b},
+  {0x83349833, 0xecb18c},
+  {0x83349834, 0xecb18d},
+  {0x83349835, 0xecb18e},
+  {0x83349836, 0xecb18f},
+  {0x83349837, 0xecb190},
+  {0x83349838, 0xecb191},
+  {0x83349839, 0xecb192},
+  {0x83349930, 0xecb193},
+  {0x83349931, 0xecb194},
+  {0x83349932, 0xecb195},
+  {0x83349933, 0xecb196},
+  {0x83349934, 0xecb197},
+  {0x83349935, 0xecb198},
+  {0x83349936, 0xecb199},
+  {0x83349937, 0xecb19a},
+  {0x83349938, 0xecb19b},
+  {0x83349939, 0xecb19c},
+  {0x83349a30, 0xecb19d},
+  {0x83349a31, 0xecb19e},
+  {0x83349a32, 0xecb19f},
+  {0x83349a33, 0xecb1a0},
+  {0x83349a34, 0xecb1a1},
+  {0x83349a35, 0xecb1a2},
+  {0x83349a36, 0xecb1a3},
+  {0x83349a37, 0xecb1a4},
+  {0x83349a38, 0xecb1a5},
+  {0x83349a39, 0xecb1a6},
+  {0x83349b30, 0xecb1a7},
+  {0x83349b31, 0xecb1a8},
+  {0x83349b32, 0xecb1a9},
+  {0x83349b33, 0xecb1aa},
+  {0x83349b34, 0xecb1ab},
+  {0x83349b35, 0xecb1ac},
+  {0x83349b36, 0xecb1ad},
+  {0x83349b37, 0xecb1ae},
+  {0x83349b38, 0xecb1af},
+  {0x83349b39, 0xecb1b0},
+  {0x83349c30, 0xecb1b1},
+  {0x83349c31, 0xecb1b2},
+  {0x83349c32, 0xecb1b3},
+  {0x83349c33, 0xecb1b4},
+  {0x83349c34, 0xecb1b5},
+  {0x83349c35, 0xecb1b6},
+  {0x83349c36, 0xecb1b7},
+  {0x83349c37, 0xecb1b8},
+  {0x83349c38, 0xecb1b9},
+  {0x83349c39, 0xecb1ba},
+  {0x83349d30, 0xecb1bb},
+  {0x83349d31, 0xecb1bc},
+  {0x83349d32, 0xecb1bd},
+  {0x83349d33, 0xecb1be},
+  {0x83349d34, 0xecb1bf},
+  {0x83349d35, 0xecb280},
+  {0x83349d36, 0xecb281},
+  {0x83349d37, 0xecb282},
+  {0x83349d38, 0xecb283},
+  {0x83349d39, 0xecb284},
+  {0x83349e30, 0xecb285},
+  {0x83349e31, 0xecb286},
+  {0x83349e32, 0xecb287},
+  {0x83349e33, 0xecb288},
+  {0x83349e34, 0xecb289},
+  {0x83349e35, 0xecb28a},
+  {0x83349e36, 0xecb28b},
+  {0x83349e37, 0xecb28c},
+  {0x83349e38, 0xecb28d},
+  {0x83349e39, 0xecb28e},
+  {0x83349f30, 0xecb28f},
+  {0x83349f31, 0xecb290},
+  {0x83349f32, 0xecb291},
+  {0x83349f33, 0xecb292},
+  {0x83349f34, 0xecb293},
+  {0x83349f35, 0xecb294},
+  {0x83349f36, 0xecb295},
+  {0x83349f37, 0xecb296},
+  {0x83349f38, 0xecb297},
+  {0x83349f39, 0xecb298},
+  {0x8334a030, 0xecb299},
+  {0x8334a031, 0xecb29a},
+  {0x8334a032, 0xecb29b},
+  {0x8334a033, 0xecb29c},
+  {0x8334a034, 0xecb29d},
+  {0x8334a035, 0xecb29e},
+  {0x8334a036, 0xecb29f},
+  {0x8334a037, 0xecb2a0},
+  {0x8334a038, 0xecb2a1},
+  {0x8334a039, 0xecb2a2},
+  {0x8334a130, 0xecb2a3},
+  {0x8334a131, 0xecb2a4},
+  {0x8334a132, 0xecb2a5},
+  {0x8334a133, 0xecb2a6},
+  {0x8334a134, 0xecb2a7},
+  {0x8334a135, 0xecb2a8},
+  {0x8334a136, 0xecb2a9},
+  {0x8334a137, 0xecb2aa},
+  {0x8334a138, 0xecb2ab},
+  {0x8334a139, 0xecb2ac},
+  {0x8334a230, 0xecb2ad},
+  {0x8334a231, 0xecb2ae},
+  {0x8334a232, 0xecb2af},
+  {0x8334a233, 0xecb2b0},
+  {0x8334a234, 0xecb2b1},
+  {0x8334a235, 0xecb2b2},
+  {0x8334a236, 0xecb2b3},
+  {0x8334a237, 0xecb2b4},
+  {0x8334a238, 0xecb2b5},
+  {0x8334a239, 0xecb2b6},
+  {0x8334a330, 0xecb2b7},
+  {0x8334a331, 0xecb2b8},
+  {0x8334a332, 0xecb2b9},
+  {0x8334a333, 0xecb2ba},
+  {0x8334a334, 0xecb2bb},
+  {0x8334a335, 0xecb2bc},
+  {0x8334a336, 0xecb2bd},
+  {0x8334a337, 0xecb2be},
+  {0x8334a338, 0xecb2bf},
+  {0x8334a339, 0xecb380},
+  {0x8334a430, 0xecb381},
+  {0x8334a431, 0xecb382},
+  {0x8334a432, 0xecb383},
+  {0x8334a433, 0xecb384},
+  {0x8334a434, 0xecb385},
+  {0x8334a435, 0xecb386},
+  {0x8334a436, 0xecb387},
+  {0x8334a437, 0xecb388},
+  {0x8334a438, 0xecb389},
+  {0x8334a439, 0xecb38a},
+  {0x8334a530, 0xecb38b},
+  {0x8334a531, 0xecb38c},
+  {0x8334a532, 0xecb38d},
+  {0x8334a533, 0xecb38e},
+  {0x8334a534, 0xecb38f},
+  {0x8334a535, 0xecb390},
+  {0x8334a536, 0xecb391},
+  {0x8334a537, 0xecb392},
+  {0x8334a538, 0xecb393},
+  {0x8334a539, 0xecb394},
+  {0x8334a630, 0xecb395},
+  {0x8334a631, 0xecb396},
+  {0x8334a632, 0xecb397},
+  {0x8334a633, 0xecb398},
+  {0x8334a634, 0xecb399},
+  {0x8334a635, 0xecb39a},
+  {0x8334a636, 0xecb39b},
+  {0x8334a637, 0xecb39c},
+  {0x8334a638, 0xecb39d},
+  {0x8334a639, 0xecb39e},
+  {0x8334a730, 0xecb39f},
+  {0x8334a731, 0xecb3a0},
+  {0x8334a732, 0xecb3a1},
+  {0x8334a733, 0xecb3a2},
+  {0x8334a734, 0xecb3a3},
+  {0x8334a735, 0xecb3a4},
+  {0x8334a736, 0xecb3a5},
+  {0x8334a737, 0xecb3a6},
+  {0x8334a738, 0xecb3a7},
+  {0x8334a739, 0xecb3a8},
+  {0x8334a830, 0xecb3a9},
+  {0x8334a831, 0xecb3aa},
+  {0x8334a832, 0xecb3ab},
+  {0x8334a833, 0xecb3ac},
+  {0x8334a834, 0xecb3ad},
+  {0x8334a835, 0xecb3ae},
+  {0x8334a836, 0xecb3af},
+  {0x8334a837, 0xecb3b0},
+  {0x8334a838, 0xecb3b1},
+  {0x8334a839, 0xecb3b2},
+  {0x8334a930, 0xecb3b3},
+  {0x8334a931, 0xecb3b4},
+  {0x8334a932, 0xecb3b5},
+  {0x8334a933, 0xecb3b6},
+  {0x8334a934, 0xecb3b7},
+  {0x8334a935, 0xecb3b8},
+  {0x8334a936, 0xecb3b9},
+  {0x8334a937, 0xecb3ba},
+  {0x8334a938, 0xecb3bb},
+  {0x8334a939, 0xecb3bc},
+  {0x8334aa30, 0xecb3bd},
+  {0x8334aa31, 0xecb3be},
+  {0x8334aa32, 0xecb3bf},
+  {0x8334aa33, 0xecb480},
+  {0x8334aa34, 0xecb481},
+  {0x8334aa35, 0xecb482},
+  {0x8334aa36, 0xecb483},
+  {0x8334aa37, 0xecb484},
+  {0x8334aa38, 0xecb485},
+  {0x8334aa39, 0xecb486},
+  {0x8334ab30, 0xecb487},
+  {0x8334ab31, 0xecb488},
+  {0x8334ab32, 0xecb489},
+  {0x8334ab33, 0xecb48a},
+  {0x8334ab34, 0xecb48b},
+  {0x8334ab35, 0xecb48c},
+  {0x8334ab36, 0xecb48d},
+  {0x8334ab37, 0xecb48e},
+  {0x8334ab38, 0xecb48f},
+  {0x8334ab39, 0xecb490},
+  {0x8334ac30, 0xecb491},
+  {0x8334ac31, 0xecb492},
+  {0x8334ac32, 0xecb493},
+  {0x8334ac33, 0xecb494},
+  {0x8334ac34, 0xecb495},
+  {0x8334ac35, 0xecb496},
+  {0x8334ac36, 0xecb497},
+  {0x8334ac37, 0xecb498},
+  {0x8334ac38, 0xecb499},
+  {0x8334ac39, 0xecb49a},
+  {0x8334ad30, 0xecb49b},
+  {0x8334ad31, 0xecb49c},
+  {0x8334ad32, 0xecb49d},
+  {0x8334ad33, 0xecb49e},
+  {0x8334ad34, 0xecb49f},
+  {0x8334ad35, 0xecb4a0},
+  {0x8334ad36, 0xecb4a1},
+  {0x8334ad37, 0xecb4a2},
+  {0x8334ad38, 0xecb4a3},
+  {0x8334ad39, 0xecb4a4},
+  {0x8334ae30, 0xecb4a5},
+  {0x8334ae31, 0xecb4a6},
+  {0x8334ae32, 0xecb4a7},
+  {0x8334ae33, 0xecb4a8},
+  {0x8334ae34, 0xecb4a9},
+  {0x8334ae35, 0xecb4aa},
+  {0x8334ae36, 0xecb4ab},
+  {0x8334ae37, 0xecb4ac},
+  {0x8334ae38, 0xecb4ad},
+  {0x8334ae39, 0xecb4ae},
+  {0x8334af30, 0xecb4af},
+  {0x8334af31, 0xecb4b0},
+  {0x8334af32, 0xecb4b1},
+  {0x8334af33, 0xecb4b2},
+  {0x8334af34, 0xecb4b3},
+  {0x8334af35, 0xecb4b4},
+  {0x8334af36, 0xecb4b5},
+  {0x8334af37, 0xecb4b6},
+  {0x8334af38, 0xecb4b7},
+  {0x8334af39, 0xecb4b8},
+  {0x8334b030, 0xecb4b9},
+  {0x8334b031, 0xecb4ba},
+  {0x8334b032, 0xecb4bb},
+  {0x8334b033, 0xecb4bc},
+  {0x8334b034, 0xecb4bd},
+  {0x8334b035, 0xecb4be},
+  {0x8334b036, 0xecb4bf},
+  {0x8334b037, 0xecb580},
+  {0x8334b038, 0xecb581},
+  {0x8334b039, 0xecb582},
+  {0x8334b130, 0xecb583},
+  {0x8334b131, 0xecb584},
+  {0x8334b132, 0xecb585},
+  {0x8334b133, 0xecb586},
+  {0x8334b134, 0xecb587},
+  {0x8334b135, 0xecb588},
+  {0x8334b136, 0xecb589},
+  {0x8334b137, 0xecb58a},
+  {0x8334b138, 0xecb58b},
+  {0x8334b139, 0xecb58c},
+  {0x8334b230, 0xecb58d},
+  {0x8334b231, 0xecb58e},
+  {0x8334b232, 0xecb58f},
+  {0x8334b233, 0xecb590},
+  {0x8334b234, 0xecb591},
+  {0x8334b235, 0xecb592},
+  {0x8334b236, 0xecb593},
+  {0x8334b237, 0xecb594},
+  {0x8334b238, 0xecb595},
+  {0x8334b239, 0xecb596},
+  {0x8334b330, 0xecb597},
+  {0x8334b331, 0xecb598},
+  {0x8334b332, 0xecb599},
+  {0x8334b333, 0xecb59a},
+  {0x8334b334, 0xecb59b},
+  {0x8334b335, 0xecb59c},
+  {0x8334b336, 0xecb59d},
+  {0x8334b337, 0xecb59e},
+  {0x8334b338, 0xecb59f},
+  {0x8334b339, 0xecb5a0},
+  {0x8334b430, 0xecb5a1},
+  {0x8334b431, 0xecb5a2},
+  {0x8334b432, 0xecb5a3},
+  {0x8334b433, 0xecb5a4},
+  {0x8334b434, 0xecb5a5},
+  {0x8334b435, 0xecb5a6},
+  {0x8334b436, 0xecb5a7},
+  {0x8334b437, 0xecb5a8},
+  {0x8334b438, 0xecb5a9},
+  {0x8334b439, 0xecb5aa},
+  {0x8334b530, 0xecb5ab},
+  {0x8334b531, 0xecb5ac},
+  {0x8334b532, 0xecb5ad},
+  {0x8334b533, 0xecb5ae},
+  {0x8334b534, 0xecb5af},
+  {0x8334b535, 0xecb5b0},
+  {0x8334b536, 0xecb5b1},
+  {0x8334b537, 0xecb5b2},
+  {0x8334b538, 0xecb5b3},
+  {0x8334b539, 0xecb5b4},
+  {0x8334b630, 0xecb5b5},
+  {0x8334b631, 0xecb5b6},
+  {0x8334b632, 0xecb5b7},
+  {0x8334b633, 0xecb5b8},
+  {0x8334b634, 0xecb5b9},
+  {0x8334b635, 0xecb5ba},
+  {0x8334b636, 0xecb5bb},
+  {0x8334b637, 0xecb5bc},
+  {0x8334b638, 0xecb5bd},
+  {0x8334b639, 0xecb5be},
+  {0x8334b730, 0xecb5bf},
+  {0x8334b731, 0xecb680},
+  {0x8334b732, 0xecb681},
+  {0x8334b733, 0xecb682},
+  {0x8334b734, 0xecb683},
+  {0x8334b735, 0xecb684},
+  {0x8334b736, 0xecb685},
+  {0x8334b737, 0xecb686},
+  {0x8334b738, 0xecb687},
+  {0x8334b739, 0xecb688},
+  {0x8334b830, 0xecb689},
+  {0x8334b831, 0xecb68a},
+  {0x8334b832, 0xecb68b},
+  {0x8334b833, 0xecb68c},
+  {0x8334b834, 0xecb68d},
+  {0x8334b835, 0xecb68e},
+  {0x8334b836, 0xecb68f},
+  {0x8334b837, 0xecb690},
+  {0x8334b838, 0xecb691},
+  {0x8334b839, 0xecb692},
+  {0x8334b930, 0xecb693},
+  {0x8334b931, 0xecb694},
+  {0x8334b932, 0xecb695},
+  {0x8334b933, 0xecb696},
+  {0x8334b934, 0xecb697},
+  {0x8334b935, 0xecb698},
+  {0x8334b936, 0xecb699},
+  {0x8334b937, 0xecb69a},
+  {0x8334b938, 0xecb69b},
+  {0x8334b939, 0xecb69c},
+  {0x8334ba30, 0xecb69d},
+  {0x8334ba31, 0xecb69e},
+  {0x8334ba32, 0xecb69f},
+  {0x8334ba33, 0xecb6a0},
+  {0x8334ba34, 0xecb6a1},
+  {0x8334ba35, 0xecb6a2},
+  {0x8334ba36, 0xecb6a3},
+  {0x8334ba37, 0xecb6a4},
+  {0x8334ba38, 0xecb6a5},
+  {0x8334ba39, 0xecb6a6},
+  {0x8334bb30, 0xecb6a7},
+  {0x8334bb31, 0xecb6a8},
+  {0x8334bb32, 0xecb6a9},
+  {0x8334bb33, 0xecb6aa},
+  {0x8334bb34, 0xecb6ab},
+  {0x8334bb35, 0xecb6ac},
+  {0x8334bb36, 0xecb6ad},
+  {0x8334bb37, 0xecb6ae},
+  {0x8334bb38, 0xecb6af},
+  {0x8334bb39, 0xecb6b0},
+  {0x8334bc30, 0xecb6b1},
+  {0x8334bc31, 0xecb6b2},
+  {0x8334bc32, 0xecb6b3},
+  {0x8334bc33, 0xecb6b4},
+  {0x8334bc34, 0xecb6b5},
+  {0x8334bc35, 0xecb6b6},
+  {0x8334bc36, 0xecb6b7},
+  {0x8334bc37, 0xecb6b8},
+  {0x8334bc38, 0xecb6b9},
+  {0x8334bc39, 0xecb6ba},
+  {0x8334bd30, 0xecb6bb},
+  {0x8334bd31, 0xecb6bc},
+  {0x8334bd32, 0xecb6bd},
+  {0x8334bd33, 0xecb6be},
+  {0x8334bd34, 0xecb6bf},
+  {0x8334bd35, 0xecb780},
+  {0x8334bd36, 0xecb781},
+  {0x8334bd37, 0xecb782},
+  {0x8334bd38, 0xecb783},
+  {0x8334bd39, 0xecb784},
+  {0x8334be30, 0xecb785},
+  {0x8334be31, 0xecb786},
+  {0x8334be32, 0xecb787},
+  {0x8334be33, 0xecb788},
+  {0x8334be34, 0xecb789},
+  {0x8334be35, 0xecb78a},
+  {0x8334be36, 0xecb78b},
+  {0x8334be37, 0xecb78c},
+  {0x8334be38, 0xecb78d},
+  {0x8334be39, 0xecb78e},
+  {0x8334bf30, 0xecb78f},
+  {0x8334bf31, 0xecb790},
+  {0x8334bf32, 0xecb791},
+  {0x8334bf33, 0xecb792},
+  {0x8334bf34, 0xecb793},
+  {0x8334bf35, 0xecb794},
+  {0x8334bf36, 0xecb795},
+  {0x8334bf37, 0xecb796},
+  {0x8334bf38, 0xecb797},
+  {0x8334bf39, 0xecb798},
+  {0x8334c030, 0xecb799},
+  {0x8334c031, 0xecb79a},
+  {0x8334c032, 0xecb79b},
+  {0x8334c033, 0xecb79c},
+  {0x8334c034, 0xecb79d},
+  {0x8334c035, 0xecb79e},
+  {0x8334c036, 0xecb79f},
+  {0x8334c037, 0xecb7a0},
+  {0x8334c038, 0xecb7a1},
+  {0x8334c039, 0xecb7a2},
+  {0x8334c130, 0xecb7a3},
+  {0x8334c131, 0xecb7a4},
+  {0x8334c132, 0xecb7a5},
+  {0x8334c133, 0xecb7a6},
+  {0x8334c134, 0xecb7a7},
+  {0x8334c135, 0xecb7a8},
+  {0x8334c136, 0xecb7a9},
+  {0x8334c137, 0xecb7aa},
+  {0x8334c138, 0xecb7ab},
+  {0x8334c139, 0xecb7ac},
+  {0x8334c230, 0xecb7ad},
+  {0x8334c231, 0xecb7ae},
+  {0x8334c232, 0xecb7af},
+  {0x8334c233, 0xecb7b0},
+  {0x8334c234, 0xecb7b1},
+  {0x8334c235, 0xecb7b2},
+  {0x8334c236, 0xecb7b3},
+  {0x8334c237, 0xecb7b4},
+  {0x8334c238, 0xecb7b5},
+  {0x8334c239, 0xecb7b6},
+  {0x8334c330, 0xecb7b7},
+  {0x8334c331, 0xecb7b8},
+  {0x8334c332, 0xecb7b9},
+  {0x8334c333, 0xecb7ba},
+  {0x8334c334, 0xecb7bb},
+  {0x8334c335, 0xecb7bc},
+  {0x8334c336, 0xecb7bd},
+  {0x8334c337, 0xecb7be},
+  {0x8334c338, 0xecb7bf},
+  {0x8334c339, 0xecb880},
+  {0x8334c430, 0xecb881},
+  {0x8334c431, 0xecb882},
+  {0x8334c432, 0xecb883},
+  {0x8334c433, 0xecb884},
+  {0x8334c434, 0xecb885},
+  {0x8334c435, 0xecb886},
+  {0x8334c436, 0xecb887},
+  {0x8334c437, 0xecb888},
+  {0x8334c438, 0xecb889},
+  {0x8334c439, 0xecb88a},
+  {0x8334c530, 0xecb88b},
+  {0x8334c531, 0xecb88c},
+  {0x8334c532, 0xecb88d},
+  {0x8334c533, 0xecb88e},
+  {0x8334c534, 0xecb88f},
+  {0x8334c535, 0xecb890},
+  {0x8334c536, 0xecb891},
+  {0x8334c537, 0xecb892},
+  {0x8334c538, 0xecb893},
+  {0x8334c539, 0xecb894},
+  {0x8334c630, 0xecb895},
+  {0x8334c631, 0xecb896},
+  {0x8334c632, 0xecb897},
+  {0x8334c633, 0xecb898},
+  {0x8334c634, 0xecb899},
+  {0x8334c635, 0xecb89a},
+  {0x8334c636, 0xecb89b},
+  {0x8334c637, 0xecb89c},
+  {0x8334c638, 0xecb89d},
+  {0x8334c639, 0xecb89e},
+  {0x8334c730, 0xecb89f},
+  {0x8334c731, 0xecb8a0},
+  {0x8334c732, 0xecb8a1},
+  {0x8334c733, 0xecb8a2},
+  {0x8334c734, 0xecb8a3},
+  {0x8334c735, 0xecb8a4},
+  {0x8334c736, 0xecb8a5},
+  {0x8334c737, 0xecb8a6},
+  {0x8334c738, 0xecb8a7},
+  {0x8334c739, 0xecb8a8},
+  {0x8334c830, 0xecb8a9},
+  {0x8334c831, 0xecb8aa},
+  {0x8334c832, 0xecb8ab},
+  {0x8334c833, 0xecb8ac},
+  {0x8334c834, 0xecb8ad},
+  {0x8334c835, 0xecb8ae},
+  {0x8334c836, 0xecb8af},
+  {0x8334c837, 0xecb8b0},
+  {0x8334c838, 0xecb8b1},
+  {0x8334c839, 0xecb8b2},
+  {0x8334c930, 0xecb8b3},
+  {0x8334c931, 0xecb8b4},
+  {0x8334c932, 0xecb8b5},
+  {0x8334c933, 0xecb8b6},
+  {0x8334c934, 0xecb8b7},
+  {0x8334c935, 0xecb8b8},
+  {0x8334c936, 0xecb8b9},
+  {0x8334c937, 0xecb8ba},
+  {0x8334c938, 0xecb8bb},
+  {0x8334c939, 0xecb8bc},
+  {0x8334ca30, 0xecb8bd},
+  {0x8334ca31, 0xecb8be},
+  {0x8334ca32, 0xecb8bf},
+  {0x8334ca33, 0xecb980},
+  {0x8334ca34, 0xecb981},
+  {0x8334ca35, 0xecb982},
+  {0x8334ca36, 0xecb983},
+  {0x8334ca37, 0xecb984},
+  {0x8334ca38, 0xecb985},
+  {0x8334ca39, 0xecb986},
+  {0x8334cb30, 0xecb987},
+  {0x8334cb31, 0xecb988},
+  {0x8334cb32, 0xecb989},
+  {0x8334cb33, 0xecb98a},
+  {0x8334cb34, 0xecb98b},
+  {0x8334cb35, 0xecb98c},
+  {0x8334cb36, 0xecb98d},
+  {0x8334cb37, 0xecb98e},
+  {0x8334cb38, 0xecb98f},
+  {0x8334cb39, 0xecb990},
+  {0x8334cc30, 0xecb991},
+  {0x8334cc31, 0xecb992},
+  {0x8334cc32, 0xecb993},
+  {0x8334cc33, 0xecb994},
+  {0x8334cc34, 0xecb995},
+  {0x8334cc35, 0xecb996},
+  {0x8334cc36, 0xecb997},
+  {0x8334cc37, 0xecb998},
+  {0x8334cc38, 0xecb999},
+  {0x8334cc39, 0xecb99a},
+  {0x8334cd30, 0xecb99b},
+  {0x8334cd31, 0xecb99c},
+  {0x8334cd32, 0xecb99d},
+  {0x8334cd33, 0xecb99e},
+  {0x8334cd34, 0xecb99f},
+  {0x8334cd35, 0xecb9a0},
+  {0x8334cd36, 0xecb9a1},
+  {0x8334cd37, 0xecb9a2},
+  {0x8334cd38, 0xecb9a3},
+  {0x8334cd39, 0xecb9a4},
+  {0x8334ce30, 0xecb9a5},
+  {0x8334ce31, 0xecb9a6},
+  {0x8334ce32, 0xecb9a7},
+  {0x8334ce33, 0xecb9a8},
+  {0x8334ce34, 0xecb9a9},
+  {0x8334ce35, 0xecb9aa},
+  {0x8334ce36, 0xecb9ab},
+  {0x8334ce37, 0xecb9ac},
+  {0x8334ce38, 0xecb9ad},
+  {0x8334ce39, 0xecb9ae},
+  {0x8334cf30, 0xecb9af},
+  {0x8334cf31, 0xecb9b0},
+  {0x8334cf32, 0xecb9b1},
+  {0x8334cf33, 0xecb9b2},
+  {0x8334cf34, 0xecb9b3},
+  {0x8334cf35, 0xecb9b4},
+  {0x8334cf36, 0xecb9b5},
+  {0x8334cf37, 0xecb9b6},
+  {0x8334cf38, 0xecb9b7},
+  {0x8334cf39, 0xecb9b8},
+  {0x8334d030, 0xecb9b9},
+  {0x8334d031, 0xecb9ba},
+  {0x8334d032, 0xecb9bb},
+  {0x8334d033, 0xecb9bc},
+  {0x8334d034, 0xecb9bd},
+  {0x8334d035, 0xecb9be},
+  {0x8334d036, 0xecb9bf},
+  {0x8334d037, 0xecba80},
+  {0x8334d038, 0xecba81},
+  {0x8334d039, 0xecba82},
+  {0x8334d130, 0xecba83},
+  {0x8334d131, 0xecba84},
+  {0x8334d132, 0xecba85},
+  {0x8334d133, 0xecba86},
+  {0x8334d134, 0xecba87},
+  {0x8334d135, 0xecba88},
+  {0x8334d136, 0xecba89},
+  {0x8334d137, 0xecba8a},
+  {0x8334d138, 0xecba8b},
+  {0x8334d139, 0xecba8c},
+  {0x8334d230, 0xecba8d},
+  {0x8334d231, 0xecba8e},
+  {0x8334d232, 0xecba8f},
+  {0x8334d233, 0xecba90},
+  {0x8334d234, 0xecba91},
+  {0x8334d235, 0xecba92},
+  {0x8334d236, 0xecba93},
+  {0x8334d237, 0xecba94},
+  {0x8334d238, 0xecba95},
+  {0x8334d239, 0xecba96},
+  {0x8334d330, 0xecba97},
+  {0x8334d331, 0xecba98},
+  {0x8334d332, 0xecba99},
+  {0x8334d333, 0xecba9a},
+  {0x8334d334, 0xecba9b},
+  {0x8334d335, 0xecba9c},
+  {0x8334d336, 0xecba9d},
+  {0x8334d337, 0xecba9e},
+  {0x8334d338, 0xecba9f},
+  {0x8334d339, 0xecbaa0},
+  {0x8334d430, 0xecbaa1},
+  {0x8334d431, 0xecbaa2},
+  {0x8334d432, 0xecbaa3},
+  {0x8334d433, 0xecbaa4},
+  {0x8334d434, 0xecbaa5},
+  {0x8334d435, 0xecbaa6},
+  {0x8334d436, 0xecbaa7},
+  {0x8334d437, 0xecbaa8},
+  {0x8334d438, 0xecbaa9},
+  {0x8334d439, 0xecbaaa},
+  {0x8334d530, 0xecbaab},
+  {0x8334d531, 0xecbaac},
+  {0x8334d532, 0xecbaad},
+  {0x8334d533, 0xecbaae},
+  {0x8334d534, 0xecbaaf},
+  {0x8334d535, 0xecbab0},
+  {0x8334d536, 0xecbab1},
+  {0x8334d537, 0xecbab2},
+  {0x8334d538, 0xecbab3},
+  {0x8334d539, 0xecbab4},
+  {0x8334d630, 0xecbab5},
+  {0x8334d631, 0xecbab6},
+  {0x8334d632, 0xecbab7},
+  {0x8334d633, 0xecbab8},
+  {0x8334d634, 0xecbab9},
+  {0x8334d635, 0xecbaba},
+  {0x8334d636, 0xecbabb},
+  {0x8334d637, 0xecbabc},
+  {0x8334d638, 0xecbabd},
+  {0x8334d639, 0xecbabe},
+  {0x8334d730, 0xecbabf},
+  {0x8334d731, 0xecbb80},
+  {0x8334d732, 0xecbb81},
+  {0x8334d733, 0xecbb82},
+  {0x8334d734, 0xecbb83},
+  {0x8334d735, 0xecbb84},
+  {0x8334d736, 0xecbb85},
+  {0x8334d737, 0xecbb86},
+  {0x8334d738, 0xecbb87},
+  {0x8334d739, 0xecbb88},
+  {0x8334d830, 0xecbb89},
+  {0x8334d831, 0xecbb8a},
+  {0x8334d832, 0xecbb8b},
+  {0x8334d833, 0xecbb8c},
+  {0x8334d834, 0xecbb8d},
+  {0x8334d835, 0xecbb8e},
+  {0x8334d836, 0xecbb8f},
+  {0x8334d837, 0xecbb90},
+  {0x8334d838, 0xecbb91},
+  {0x8334d839, 0xecbb92},
+  {0x8334d930, 0xecbb93},
+  {0x8334d931, 0xecbb94},
+  {0x8334d932, 0xecbb95},
+  {0x8334d933, 0xecbb96},
+  {0x8334d934, 0xecbb97},
+  {0x8334d935, 0xecbb98},
+  {0x8334d936, 0xecbb99},
+  {0x8334d937, 0xecbb9a},
+  {0x8334d938, 0xecbb9b},
+  {0x8334d939, 0xecbb9c},
+  {0x8334da30, 0xecbb9d},
+  {0x8334da31, 0xecbb9e},
+  {0x8334da32, 0xecbb9f},
+  {0x8334da33, 0xecbba0},
+  {0x8334da34, 0xecbba1},
+  {0x8334da35, 0xecbba2},
+  {0x8334da36, 0xecbba3},
+  {0x8334da37, 0xecbba4},
+  {0x8334da38, 0xecbba5},
+  {0x8334da39, 0xecbba6},
+  {0x8334db30, 0xecbba7},
+  {0x8334db31, 0xecbba8},
+  {0x8334db32, 0xecbba9},
+  {0x8334db33, 0xecbbaa},
+  {0x8334db34, 0xecbbab},
+  {0x8334db35, 0xecbbac},
+  {0x8334db36, 0xecbbad},
+  {0x8334db37, 0xecbbae},
+  {0x8334db38, 0xecbbaf},
+  {0x8334db39, 0xecbbb0},
+  {0x8334dc30, 0xecbbb1},
+  {0x8334dc31, 0xecbbb2},
+  {0x8334dc32, 0xecbbb3},
+  {0x8334dc33, 0xecbbb4},
+  {0x8334dc34, 0xecbbb5},
+  {0x8334dc35, 0xecbbb6},
+  {0x8334dc36, 0xecbbb7},
+  {0x8334dc37, 0xecbbb8},
+  {0x8334dc38, 0xecbbb9},
+  {0x8334dc39, 0xecbbba},
+  {0x8334dd30, 0xecbbbb},
+  {0x8334dd31, 0xecbbbc},
+  {0x8334dd32, 0xecbbbd},
+  {0x8334dd33, 0xecbbbe},
+  {0x8334dd34, 0xecbbbf},
+  {0x8334dd35, 0xecbc80},
+  {0x8334dd36, 0xecbc81},
+  {0x8334dd37, 0xecbc82},
+  {0x8334dd38, 0xecbc83},
+  {0x8334dd39, 0xecbc84},
+  {0x8334de30, 0xecbc85},
+  {0x8334de31, 0xecbc86},
+  {0x8334de32, 0xecbc87},
+  {0x8334de33, 0xecbc88},
+  {0x8334de34, 0xecbc89},
+  {0x8334de35, 0xecbc8a},
+  {0x8334de36, 0xecbc8b},
+  {0x8334de37, 0xecbc8c},
+  {0x8334de38, 0xecbc8d},
+  {0x8334de39, 0xecbc8e},
+  {0x8334df30, 0xecbc8f},
+  {0x8334df31, 0xecbc90},
+  {0x8334df32, 0xecbc91},
+  {0x8334df33, 0xecbc92},
+  {0x8334df34, 0xecbc93},
+  {0x8334df35, 0xecbc94},
+  {0x8334df36, 0xecbc95},
+  {0x8334df37, 0xecbc96},
+  {0x8334df38, 0xecbc97},
+  {0x8334df39, 0xecbc98},
+  {0x8334e030, 0xecbc99},
+  {0x8334e031, 0xecbc9a},
+  {0x8334e032, 0xecbc9b},
+  {0x8334e033, 0xecbc9c},
+  {0x8334e034, 0xecbc9d},
+  {0x8334e035, 0xecbc9e},
+  {0x8334e036, 0xecbc9f},
+  {0x8334e037, 0xecbca0},
+  {0x8334e038, 0xecbca1},
+  {0x8334e039, 0xecbca2},
+  {0x8334e130, 0xecbca3},
+  {0x8334e131, 0xecbca4},
+  {0x8334e132, 0xecbca5},
+  {0x8334e133, 0xecbca6},
+  {0x8334e134, 0xecbca7},
+  {0x8334e135, 0xecbca8},
+  {0x8334e136, 0xecbca9},
+  {0x8334e137, 0xecbcaa},
+  {0x8334e138, 0xecbcab},
+  {0x8334e139, 0xecbcac},
+  {0x8334e230, 0xecbcad},
+  {0x8334e231, 0xecbcae},
+  {0x8334e232, 0xecbcaf},
+  {0x8334e233, 0xecbcb0},
+  {0x8334e234, 0xecbcb1},
+  {0x8334e235, 0xecbcb2},
+  {0x8334e236, 0xecbcb3},
+  {0x8334e237, 0xecbcb4},
+  {0x8334e238, 0xecbcb5},
+  {0x8334e239, 0xecbcb6},
+  {0x8334e330, 0xecbcb7},
+  {0x8334e331, 0xecbcb8},
+  {0x8334e332, 0xecbcb9},
+  {0x8334e333, 0xecbcba},
+  {0x8334e334, 0xecbcbb},
+  {0x8334e335, 0xecbcbc},
+  {0x8334e336, 0xecbcbd},
+  {0x8334e337, 0xecbcbe},
+  {0x8334e338, 0xecbcbf},
+  {0x8334e339, 0xecbd80},
+  {0x8334e430, 0xecbd81},
+  {0x8334e431, 0xecbd82},
+  {0x8334e432, 0xecbd83},
+  {0x8334e433, 0xecbd84},
+  {0x8334e434, 0xecbd85},
+  {0x8334e435, 0xecbd86},
+  {0x8334e436, 0xecbd87},
+  {0x8334e437, 0xecbd88},
+  {0x8334e438, 0xecbd89},
+  {0x8334e439, 0xecbd8a},
+  {0x8334e530, 0xecbd8b},
+  {0x8334e531, 0xecbd8c},
+  {0x8334e532, 0xecbd8d},
+  {0x8334e533, 0xecbd8e},
+  {0x8334e534, 0xecbd8f},
+  {0x8334e535, 0xecbd90},
+  {0x8334e536, 0xecbd91},
+  {0x8334e537, 0xecbd92},
+  {0x8334e538, 0xecbd93},
+  {0x8334e539, 0xecbd94},
+  {0x8334e630, 0xecbd95},
+  {0x8334e631, 0xecbd96},
+  {0x8334e632, 0xecbd97},
+  {0x8334e633, 0xecbd98},
+  {0x8334e634, 0xecbd99},
+  {0x8334e635, 0xecbd9a},
+  {0x8334e636, 0xecbd9b},
+  {0x8334e637, 0xecbd9c},
+  {0x8334e638, 0xecbd9d},
+  {0x8334e639, 0xecbd9e},
+  {0x8334e730, 0xecbd9f},
+  {0x8334e731, 0xecbda0},
+  {0x8334e732, 0xecbda1},
+  {0x8334e733, 0xecbda2},
+  {0x8334e734, 0xecbda3},
+  {0x8334e735, 0xecbda4},
+  {0x8334e736, 0xecbda5},
+  {0x8334e737, 0xecbda6},
+  {0x8334e738, 0xecbda7},
+  {0x8334e739, 0xecbda8},
+  {0x8334e830, 0xecbda9},
+  {0x8334e831, 0xecbdaa},
+  {0x8334e832, 0xecbdab},
+  {0x8334e833, 0xecbdac},
+  {0x8334e834, 0xecbdad},
+  {0x8334e835, 0xecbdae},
+  {0x8334e836, 0xecbdaf},
+  {0x8334e837, 0xecbdb0},
+  {0x8334e838, 0xecbdb1},
+  {0x8334e839, 0xecbdb2},
+  {0x8334e930, 0xecbdb3},
+  {0x8334e931, 0xecbdb4},
+  {0x8334e932, 0xecbdb5},
+  {0x8334e933, 0xecbdb6},
+  {0x8334e934, 0xecbdb7},
+  {0x8334e935, 0xecbdb8},
+  {0x8334e936, 0xecbdb9},
+  {0x8334e937, 0xecbdba},
+  {0x8334e938, 0xecbdbb},
+  {0x8334e939, 0xecbdbc},
+  {0x8334ea30, 0xecbdbd},
+  {0x8334ea31, 0xecbdbe},
+  {0x8334ea32, 0xecbdbf},
+  {0x8334ea33, 0xecbe80},
+  {0x8334ea34, 0xecbe81},
+  {0x8334ea35, 0xecbe82},
+  {0x8334ea36, 0xecbe83},
+  {0x8334ea37, 0xecbe84},
+  {0x8334ea38, 0xecbe85},
+  {0x8334ea39, 0xecbe86},
+  {0x8334eb30, 0xecbe87},
+  {0x8334eb31, 0xecbe88},
+  {0x8334eb32, 0xecbe89},
+  {0x8334eb33, 0xecbe8a},
+  {0x8334eb34, 0xecbe8b},
+  {0x8334eb35, 0xecbe8c},
+  {0x8334eb36, 0xecbe8d},
+  {0x8334eb37, 0xecbe8e},
+  {0x8334eb38, 0xecbe8f},
+  {0x8334eb39, 0xecbe90},
+  {0x8334ec30, 0xecbe91},
+  {0x8334ec31, 0xecbe92},
+  {0x8334ec32, 0xecbe93},
+  {0x8334ec33, 0xecbe94},
+  {0x8334ec34, 0xecbe95},
+  {0x8334ec35, 0xecbe96},
+  {0x8334ec36, 0xecbe97},
+  {0x8334ec37, 0xecbe98},
+  {0x8334ec38, 0xecbe99},
+  {0x8334ec39, 0xecbe9a},
+  {0x8334ed30, 0xecbe9b},
+  {0x8334ed31, 0xecbe9c},
+  {0x8334ed32, 0xecbe9d},
+  {0x8334ed33, 0xecbe9e},
+  {0x8334ed34, 0xecbe9f},
+  {0x8334ed35, 0xecbea0},
+  {0x8334ed36, 0xecbea1},
+  {0x8334ed37, 0xecbea2},
+  {0x8334ed38, 0xecbea3},
+  {0x8334ed39, 0xecbea4},
+  {0x8334ee30, 0xecbea5},
+  {0x8334ee31, 0xecbea6},
+  {0x8334ee32, 0xecbea7},
+  {0x8334ee33, 0xecbea8},
+  {0x8334ee34, 0xecbea9},
+  {0x8334ee35, 0xecbeaa},
+  {0x8334ee36, 0xecbeab},
+  {0x8334ee37, 0xecbeac},
+  {0x8334ee38, 0xecbead},
+  {0x8334ee39, 0xecbeae},
+  {0x8334ef30, 0xecbeaf},
+  {0x8334ef31, 0xecbeb0},
+  {0x8334ef32, 0xecbeb1},
+  {0x8334ef33, 0xecbeb2},
+  {0x8334ef34, 0xecbeb3},
+  {0x8334ef35, 0xecbeb4},
+  {0x8334ef36, 0xecbeb5},
+  {0x8334ef37, 0xecbeb6},
+  {0x8334ef38, 0xecbeb7},
+  {0x8334ef39, 0xecbeb8},
+  {0x8334f030, 0xecbeb9},
+  {0x8334f031, 0xecbeba},
+  {0x8334f032, 0xecbebb},
+  {0x8334f033, 0xecbebc},
+  {0x8334f034, 0xecbebd},
+  {0x8334f035, 0xecbebe},
+  {0x8334f036, 0xecbebf},
+  {0x8334f037, 0xecbf80},
+  {0x8334f038, 0xecbf81},
+  {0x8334f039, 0xecbf82},
+  {0x8334f130, 0xecbf83},
+  {0x8334f131, 0xecbf84},
+  {0x8334f132, 0xecbf85},
+  {0x8334f133, 0xecbf86},
+  {0x8334f134, 0xecbf87},
+  {0x8334f135, 0xecbf88},
+  {0x8334f136, 0xecbf89},
+  {0x8334f137, 0xecbf8a},
+  {0x8334f138, 0xecbf8b},
+  {0x8334f139, 0xecbf8c},
+  {0x8334f230, 0xecbf8d},
+  {0x8334f231, 0xecbf8e},
+  {0x8334f232, 0xecbf8f},
+  {0x8334f233, 0xecbf90},
+  {0x8334f234, 0xecbf91},
+  {0x8334f235, 0xecbf92},
+  {0x8334f236, 0xecbf93},
+  {0x8334f237, 0xecbf94},
+  {0x8334f238, 0xecbf95},
+  {0x8334f239, 0xecbf96},
+  {0x8334f330, 0xecbf97},
+  {0x8334f331, 0xecbf98},
+  {0x8334f332, 0xecbf99},
+  {0x8334f333, 0xecbf9a},
+  {0x8334f334, 0xecbf9b},
+  {0x8334f335, 0xecbf9c},
+  {0x8334f336, 0xecbf9d},
+  {0x8334f337, 0xecbf9e},
+  {0x8334f338, 0xecbf9f},
+  {0x8334f339, 0xecbfa0},
+  {0x8334f430, 0xecbfa1},
+  {0x8334f431, 0xecbfa2},
+  {0x8334f432, 0xecbfa3},
+  {0x8334f433, 0xecbfa4},
+  {0x8334f434, 0xecbfa5},
+  {0x8334f435, 0xecbfa6},
+  {0x8334f436, 0xecbfa7},
+  {0x8334f437, 0xecbfa8},
+  {0x8334f438, 0xecbfa9},
+  {0x8334f439, 0xecbfaa},
+  {0x8334f530, 0xecbfab},
+  {0x8334f531, 0xecbfac},
+  {0x8334f532, 0xecbfad},
+  {0x8334f533, 0xecbfae},
+  {0x8334f534, 0xecbfaf},
+  {0x8334f535, 0xecbfb0},
+  {0x8334f536, 0xecbfb1},
+  {0x8334f537, 0xecbfb2},
+  {0x8334f538, 0xecbfb3},
+  {0x8334f539, 0xecbfb4},
+  {0x8334f630, 0xecbfb5},
+  {0x8334f631, 0xecbfb6},
+  {0x8334f632, 0xecbfb7},
+  {0x8334f633, 0xecbfb8},
+  {0x8334f634, 0xecbfb9},
+  {0x8334f635, 0xecbfba},
+  {0x8334f636, 0xecbfbb},
+  {0x8334f637, 0xecbfbc},
+  {0x8334f638, 0xecbfbd},
+  {0x8334f639, 0xecbfbe},
+  {0x8334f730, 0xecbfbf},
+  {0x8334f731, 0xed8080},
+  {0x8334f732, 0xed8081},
+  {0x8334f733, 0xed8082},
+  {0x8334f734, 0xed8083},
+  {0x8334f735, 0xed8084},
+  {0x8334f736, 0xed8085},
+  {0x8334f737, 0xed8086},
+  {0x8334f738, 0xed8087},
+  {0x8334f739, 0xed8088},
+  {0x8334f830, 0xed8089},
+  {0x8334f831, 0xed808a},
+  {0x8334f832, 0xed808b},
+  {0x8334f833, 0xed808c},
+  {0x8334f834, 0xed808d},
+  {0x8334f835, 0xed808e},
+  {0x8334f836, 0xed808f},
+  {0x8334f837, 0xed8090},
+  {0x8334f838, 0xed8091},
+  {0x8334f839, 0xed8092},
+  {0x8334f930, 0xed8093},
+  {0x8334f931, 0xed8094},
+  {0x8334f932, 0xed8095},
+  {0x8334f933, 0xed8096},
+  {0x8334f934, 0xed8097},
+  {0x8334f935, 0xed8098},
+  {0x8334f936, 0xed8099},
+  {0x8334f937, 0xed809a},
+  {0x8334f938, 0xed809b},
+  {0x8334f939, 0xed809c},
+  {0x8334fa30, 0xed809d},
+  {0x8334fa31, 0xed809e},
+  {0x8334fa32, 0xed809f},
+  {0x8334fa33, 0xed80a0},
+  {0x8334fa34, 0xed80a1},
+  {0x8334fa35, 0xed80a2},
+  {0x8334fa36, 0xed80a3},
+  {0x8334fa37, 0xed80a4},
+  {0x8334fa38, 0xed80a5},
+  {0x8334fa39, 0xed80a6},
+  {0x8334fb30, 0xed80a7},
+  {0x8334fb31, 0xed80a8},
+  {0x8334fb32, 0xed80a9},
+  {0x8334fb33, 0xed80aa},
+  {0x8334fb34, 0xed80ab},
+  {0x8334fb35, 0xed80ac},
+  {0x8334fb36, 0xed80ad},
+  {0x8334fb37, 0xed80ae},
+  {0x8334fb38, 0xed80af},
+  {0x8334fb39, 0xed80b0},
+  {0x8334fc30, 0xed80b1},
+  {0x8334fc31, 0xed80b2},
+  {0x8334fc32, 0xed80b3},
+  {0x8334fc33, 0xed80b4},
+  {0x8334fc34, 0xed80b5},
+  {0x8334fc35, 0xed80b6},
+  {0x8334fc36, 0xed80b7},
+  {0x8334fc37, 0xed80b8},
+  {0x8334fc38, 0xed80b9},
+  {0x8334fc39, 0xed80ba},
+  {0x8334fd30, 0xed80bb},
+  {0x8334fd31, 0xed80bc},
+  {0x8334fd32, 0xed80bd},
+  {0x8334fd33, 0xed80be},
+  {0x8334fd34, 0xed80bf},
+  {0x8334fd35, 0xed8180},
+  {0x8334fd36, 0xed8181},
+  {0x8334fd37, 0xed8182},
+  {0x8334fd38, 0xed8183},
+  {0x8334fd39, 0xed8184},
+  {0x8334fe30, 0xed8185},
+  {0x8334fe31, 0xed8186},
+  {0x8334fe32, 0xed8187},
+  {0x8334fe33, 0xed8188},
+  {0x8334fe34, 0xed8189},
+  {0x8334fe35, 0xed818a},
+  {0x8334fe36, 0xed818b},
+  {0x8334fe37, 0xed818c},
+  {0x8334fe38, 0xed818d},
+  {0x8334fe39, 0xed818e},
+  {0x83358130, 0xed818f},
+  {0x83358131, 0xed8190},
+  {0x83358132, 0xed8191},
+  {0x83358133, 0xed8192},
+  {0x83358134, 0xed8193},
+  {0x83358135, 0xed8194},
+  {0x83358136, 0xed8195},
+  {0x83358137, 0xed8196},
+  {0x83358138, 0xed8197},
+  {0x83358139, 0xed8198},
+  {0x83358230, 0xed8199},
+  {0x83358231, 0xed819a},
+  {0x83358232, 0xed819b},
+  {0x83358233, 0xed819c},
+  {0x83358234, 0xed819d},
+  {0x83358235, 0xed819e},
+  {0x83358236, 0xed819f},
+  {0x83358237, 0xed81a0},
+  {0x83358238, 0xed81a1},
+  {0x83358239, 0xed81a2},
+  {0x83358330, 0xed81a3},
+  {0x83358331, 0xed81a4},
+  {0x83358332, 0xed81a5},
+  {0x83358333, 0xed81a6},
+  {0x83358334, 0xed81a7},
+  {0x83358335, 0xed81a8},
+  {0x83358336, 0xed81a9},
+  {0x83358337, 0xed81aa},
+  {0x83358338, 0xed81ab},
+  {0x83358339, 0xed81ac},
+  {0x83358430, 0xed81ad},
+  {0x83358431, 0xed81ae},
+  {0x83358432, 0xed81af},
+  {0x83358433, 0xed81b0},
+  {0x83358434, 0xed81b1},
+  {0x83358435, 0xed81b2},
+  {0x83358436, 0xed81b3},
+  {0x83358437, 0xed81b4},
+  {0x83358438, 0xed81b5},
+  {0x83358439, 0xed81b6},
+  {0x83358530, 0xed81b7},
+  {0x83358531, 0xed81b8},
+  {0x83358532, 0xed81b9},
+  {0x83358533, 0xed81ba},
+  {0x83358534, 0xed81bb},
+  {0x83358535, 0xed81bc},
+  {0x83358536, 0xed81bd},
+  {0x83358537, 0xed81be},
+  {0x83358538, 0xed81bf},
+  {0x83358539, 0xed8280},
+  {0x83358630, 0xed8281},
+  {0x83358631, 0xed8282},
+  {0x83358632, 0xed8283},
+  {0x83358633, 0xed8284},
+  {0x83358634, 0xed8285},
+  {0x83358635, 0xed8286},
+  {0x83358636, 0xed8287},
+  {0x83358637, 0xed8288},
+  {0x83358638, 0xed8289},
+  {0x83358639, 0xed828a},
+  {0x83358730, 0xed828b},
+  {0x83358731, 0xed828c},
+  {0x83358732, 0xed828d},
+  {0x83358733, 0xed828e},
+  {0x83358734, 0xed828f},
+  {0x83358735, 0xed8290},
+  {0x83358736, 0xed8291},
+  {0x83358737, 0xed8292},
+  {0x83358738, 0xed8293},
+  {0x83358739, 0xed8294},
+  {0x83358830, 0xed8295},
+  {0x83358831, 0xed8296},
+  {0x83358832, 0xed8297},
+  {0x83358833, 0xed8298},
+  {0x83358834, 0xed8299},
+  {0x83358835, 0xed829a},
+  {0x83358836, 0xed829b},
+  {0x83358837, 0xed829c},
+  {0x83358838, 0xed829d},
+  {0x83358839, 0xed829e},
+  {0x83358930, 0xed829f},
+  {0x83358931, 0xed82a0},
+  {0x83358932, 0xed82a1},
+  {0x83358933, 0xed82a2},
+  {0x83358934, 0xed82a3},
+  {0x83358935, 0xed82a4},
+  {0x83358936, 0xed82a5},
+  {0x83358937, 0xed82a6},
+  {0x83358938, 0xed82a7},
+  {0x83358939, 0xed82a8},
+  {0x83358a30, 0xed82a9},
+  {0x83358a31, 0xed82aa},
+  {0x83358a32, 0xed82ab},
+  {0x83358a33, 0xed82ac},
+  {0x83358a34, 0xed82ad},
+  {0x83358a35, 0xed82ae},
+  {0x83358a36, 0xed82af},
+  {0x83358a37, 0xed82b0},
+  {0x83358a38, 0xed82b1},
+  {0x83358a39, 0xed82b2},
+  {0x83358b30, 0xed82b3},
+  {0x83358b31, 0xed82b4},
+  {0x83358b32, 0xed82b5},
+  {0x83358b33, 0xed82b6},
+  {0x83358b34, 0xed82b7},
+  {0x83358b35, 0xed82b8},
+  {0x83358b36, 0xed82b9},
+  {0x83358b37, 0xed82ba},
+  {0x83358b38, 0xed82bb},
+  {0x83358b39, 0xed82bc},
+  {0x83358c30, 0xed82bd},
+  {0x83358c31, 0xed82be},
+  {0x83358c32, 0xed82bf},
+  {0x83358c33, 0xed8380},
+  {0x83358c34, 0xed8381},
+  {0x83358c35, 0xed8382},
+  {0x83358c36, 0xed8383},
+  {0x83358c37, 0xed8384},
+  {0x83358c38, 0xed8385},
+  {0x83358c39, 0xed8386},
+  {0x83358d30, 0xed8387},
+  {0x83358d31, 0xed8388},
+  {0x83358d32, 0xed8389},
+  {0x83358d33, 0xed838a},
+  {0x83358d34, 0xed838b},
+  {0x83358d35, 0xed838c},
+  {0x83358d36, 0xed838d},
+  {0x83358d37, 0xed838e},
+  {0x83358d38, 0xed838f},
+  {0x83358d39, 0xed8390},
+  {0x83358e30, 0xed8391},
+  {0x83358e31, 0xed8392},
+  {0x83358e32, 0xed8393},
+  {0x83358e33, 0xed8394},
+  {0x83358e34, 0xed8395},
+  {0x83358e35, 0xed8396},
+  {0x83358e36, 0xed8397},
+  {0x83358e37, 0xed8398},
+  {0x83358e38, 0xed8399},
+  {0x83358e39, 0xed839a},
+  {0x83358f30, 0xed839b},
+  {0x83358f31, 0xed839c},
+  {0x83358f32, 0xed839d},
+  {0x83358f33, 0xed839e},
+  {0x83358f34, 0xed839f},
+  {0x83358f35, 0xed83a0},
+  {0x83358f36, 0xed83a1},
+  {0x83358f37, 0xed83a2},
+  {0x83358f38, 0xed83a3},
+  {0x83358f39, 0xed83a4},
+  {0x83359030, 0xed83a5},
+  {0x83359031, 0xed83a6},
+  {0x83359032, 0xed83a7},
+  {0x83359033, 0xed83a8},
+  {0x83359034, 0xed83a9},
+  {0x83359035, 0xed83aa},
+  {0x83359036, 0xed83ab},
+  {0x83359037, 0xed83ac},
+  {0x83359038, 0xed83ad},
+  {0x83359039, 0xed83ae},
+  {0x83359130, 0xed83af},
+  {0x83359131, 0xed83b0},
+  {0x83359132, 0xed83b1},
+  {0x83359133, 0xed83b2},
+  {0x83359134, 0xed83b3},
+  {0x83359135, 0xed83b4},
+  {0x83359136, 0xed83b5},
+  {0x83359137, 0xed83b6},
+  {0x83359138, 0xed83b7},
+  {0x83359139, 0xed83b8},
+  {0x83359230, 0xed83b9},
+  {0x83359231, 0xed83ba},
+  {0x83359232, 0xed83bb},
+  {0x83359233, 0xed83bc},
+  {0x83359234, 0xed83bd},
+  {0x83359235, 0xed83be},
+  {0x83359236, 0xed83bf},
+  {0x83359237, 0xed8480},
+  {0x83359238, 0xed8481},
+  {0x83359239, 0xed8482},
+  {0x83359330, 0xed8483},
+  {0x83359331, 0xed8484},
+  {0x83359332, 0xed8485},
+  {0x83359333, 0xed8486},
+  {0x83359334, 0xed8487},
+  {0x83359335, 0xed8488},
+  {0x83359336, 0xed8489},
+  {0x83359337, 0xed848a},
+  {0x83359338, 0xed848b},
+  {0x83359339, 0xed848c},
+  {0x83359430, 0xed848d},
+  {0x83359431, 0xed848e},
+  {0x83359432, 0xed848f},
+  {0x83359433, 0xed8490},
+  {0x83359434, 0xed8491},
+  {0x83359435, 0xed8492},
+  {0x83359436, 0xed8493},
+  {0x83359437, 0xed8494},
+  {0x83359438, 0xed8495},
+  {0x83359439, 0xed8496},
+  {0x83359530, 0xed8497},
+  {0x83359531, 0xed8498},
+  {0x83359532, 0xed8499},
+  {0x83359533, 0xed849a},
+  {0x83359534, 0xed849b},
+  {0x83359535, 0xed849c},
+  {0x83359536, 0xed849d},
+  {0x83359537, 0xed849e},
+  {0x83359538, 0xed849f},
+  {0x83359539, 0xed84a0},
+  {0x83359630, 0xed84a1},
+  {0x83359631, 0xed84a2},
+  {0x83359632, 0xed84a3},
+  {0x83359633, 0xed84a4},
+  {0x83359634, 0xed84a5},
+  {0x83359635, 0xed84a6},
+  {0x83359636, 0xed84a7},
+  {0x83359637, 0xed84a8},
+  {0x83359638, 0xed84a9},
+  {0x83359639, 0xed84aa},
+  {0x83359730, 0xed84ab},
+  {0x83359731, 0xed84ac},
+  {0x83359732, 0xed84ad},
+  {0x83359733, 0xed84ae},
+  {0x83359734, 0xed84af},
+  {0x83359735, 0xed84b0},
+  {0x83359736, 0xed84b1},
+  {0x83359737, 0xed84b2},
+  {0x83359738, 0xed84b3},
+  {0x83359739, 0xed84b4},
+  {0x83359830, 0xed84b5},
+  {0x83359831, 0xed84b6},
+  {0x83359832, 0xed84b7},
+  {0x83359833, 0xed84b8},
+  {0x83359834, 0xed84b9},
+  {0x83359835, 0xed84ba},
+  {0x83359836, 0xed84bb},
+  {0x83359837, 0xed84bc},
+  {0x83359838, 0xed84bd},
+  {0x83359839, 0xed84be},
+  {0x83359930, 0xed84bf},
+  {0x83359931, 0xed8580},
+  {0x83359932, 0xed8581},
+  {0x83359933, 0xed8582},
+  {0x83359934, 0xed8583},
+  {0x83359935, 0xed8584},
+  {0x83359936, 0xed8585},
+  {0x83359937, 0xed8586},
+  {0x83359938, 0xed8587},
+  {0x83359939, 0xed8588},
+  {0x83359a30, 0xed8589},
+  {0x83359a31, 0xed858a},
+  {0x83359a32, 0xed858b},
+  {0x83359a33, 0xed858c},
+  {0x83359a34, 0xed858d},
+  {0x83359a35, 0xed858e},
+  {0x83359a36, 0xed858f},
+  {0x83359a37, 0xed8590},
+  {0x83359a38, 0xed8591},
+  {0x83359a39, 0xed8592},
+  {0x83359b30, 0xed8593},
+  {0x83359b31, 0xed8594},
+  {0x83359b32, 0xed8595},
+  {0x83359b33, 0xed8596},
+  {0x83359b34, 0xed8597},
+  {0x83359b35, 0xed8598},
+  {0x83359b36, 0xed8599},
+  {0x83359b37, 0xed859a},
+  {0x83359b38, 0xed859b},
+  {0x83359b39, 0xed859c},
+  {0x83359c30, 0xed859d},
+  {0x83359c31, 0xed859e},
+  {0x83359c32, 0xed859f},
+  {0x83359c33, 0xed85a0},
+  {0x83359c34, 0xed85a1},
+  {0x83359c35, 0xed85a2},
+  {0x83359c36, 0xed85a3},
+  {0x83359c37, 0xed85a4},
+  {0x83359c38, 0xed85a5},
+  {0x83359c39, 0xed85a6},
+  {0x83359d30, 0xed85a7},
+  {0x83359d31, 0xed85a8},
+  {0x83359d32, 0xed85a9},
+  {0x83359d33, 0xed85aa},
+  {0x83359d34, 0xed85ab},
+  {0x83359d35, 0xed85ac},
+  {0x83359d36, 0xed85ad},
+  {0x83359d37, 0xed85ae},
+  {0x83359d38, 0xed85af},
+  {0x83359d39, 0xed85b0},
+  {0x83359e30, 0xed85b1},
+  {0x83359e31, 0xed85b2},
+  {0x83359e32, 0xed85b3},
+  {0x83359e33, 0xed85b4},
+  {0x83359e34, 0xed85b5},
+  {0x83359e35, 0xed85b6},
+  {0x83359e36, 0xed85b7},
+  {0x83359e37, 0xed85b8},
+  {0x83359e38, 0xed85b9},
+  {0x83359e39, 0xed85ba},
+  {0x83359f30, 0xed85bb},
+  {0x83359f31, 0xed85bc},
+  {0x83359f32, 0xed85bd},
+  {0x83359f33, 0xed85be},
+  {0x83359f34, 0xed85bf},
+  {0x83359f35, 0xed8680},
+  {0x83359f36, 0xed8681},
+  {0x83359f37, 0xed8682},
+  {0x83359f38, 0xed8683},
+  {0x83359f39, 0xed8684},
+  {0x8335a030, 0xed8685},
+  {0x8335a031, 0xed8686},
+  {0x8335a032, 0xed8687},
+  {0x8335a033, 0xed8688},
+  {0x8335a034, 0xed8689},
+  {0x8335a035, 0xed868a},
+  {0x8335a036, 0xed868b},
+  {0x8335a037, 0xed868c},
+  {0x8335a038, 0xed868d},
+  {0x8335a039, 0xed868e},
+  {0x8335a130, 0xed868f},
+  {0x8335a131, 0xed8690},
+  {0x8335a132, 0xed8691},
+  {0x8335a133, 0xed8692},
+  {0x8335a134, 0xed8693},
+  {0x8335a135, 0xed8694},
+  {0x8335a136, 0xed8695},
+  {0x8335a137, 0xed8696},
+  {0x8335a138, 0xed8697},
+  {0x8335a139, 0xed8698},
+  {0x8335a230, 0xed8699},
+  {0x8335a231, 0xed869a},
+  {0x8335a232, 0xed869b},
+  {0x8335a233, 0xed869c},
+  {0x8335a234, 0xed869d},
+  {0x8335a235, 0xed869e},
+  {0x8335a236, 0xed869f},
+  {0x8335a237, 0xed86a0},
+  {0x8335a238, 0xed86a1},
+  {0x8335a239, 0xed86a2},
+  {0x8335a330, 0xed86a3},
+  {0x8335a331, 0xed86a4},
+  {0x8335a332, 0xed86a5},
+  {0x8335a333, 0xed86a6},
+  {0x8335a334, 0xed86a7},
+  {0x8335a335, 0xed86a8},
+  {0x8335a336, 0xed86a9},
+  {0x8335a337, 0xed86aa},
+  {0x8335a338, 0xed86ab},
+  {0x8335a339, 0xed86ac},
+  {0x8335a430, 0xed86ad},
+  {0x8335a431, 0xed86ae},
+  {0x8335a432, 0xed86af},
+  {0x8335a433, 0xed86b0},
+  {0x8335a434, 0xed86b1},
+  {0x8335a435, 0xed86b2},
+  {0x8335a436, 0xed86b3},
+  {0x8335a437, 0xed86b4},
+  {0x8335a438, 0xed86b5},
+  {0x8335a439, 0xed86b6},
+  {0x8335a530, 0xed86b7},
+  {0x8335a531, 0xed86b8},
+  {0x8335a532, 0xed86b9},
+  {0x8335a533, 0xed86ba},
+  {0x8335a534, 0xed86bb},
+  {0x8335a535, 0xed86bc},
+  {0x8335a536, 0xed86bd},
+  {0x8335a537, 0xed86be},
+  {0x8335a538, 0xed86bf},
+  {0x8335a539, 0xed8780},
+  {0x8335a630, 0xed8781},
+  {0x8335a631, 0xed8782},
+  {0x8335a632, 0xed8783},
+  {0x8335a633, 0xed8784},
+  {0x8335a634, 0xed8785},
+  {0x8335a635, 0xed8786},
+  {0x8335a636, 0xed8787},
+  {0x8335a637, 0xed8788},
+  {0x8335a638, 0xed8789},
+  {0x8335a639, 0xed878a},
+  {0x8335a730, 0xed878b},
+  {0x8335a731, 0xed878c},
+  {0x8335a732, 0xed878d},
+  {0x8335a733, 0xed878e},
+  {0x8335a734, 0xed878f},
+  {0x8335a735, 0xed8790},
+  {0x8335a736, 0xed8791},
+  {0x8335a737, 0xed8792},
+  {0x8335a738, 0xed8793},
+  {0x8335a739, 0xed8794},
+  {0x8335a830, 0xed8795},
+  {0x8335a831, 0xed8796},
+  {0x8335a832, 0xed8797},
+  {0x8335a833, 0xed8798},
+  {0x8335a834, 0xed8799},
+  {0x8335a835, 0xed879a},
+  {0x8335a836, 0xed879b},
+  {0x8335a837, 0xed879c},
+  {0x8335a838, 0xed879d},
+  {0x8335a839, 0xed879e},
+  {0x8335a930, 0xed879f},
+  {0x8335a931, 0xed87a0},
+  {0x8335a932, 0xed87a1},
+  {0x8335a933, 0xed87a2},
+  {0x8335a934, 0xed87a3},
+  {0x8335a935, 0xed87a4},
+  {0x8335a936, 0xed87a5},
+  {0x8335a937, 0xed87a6},
+  {0x8335a938, 0xed87a7},
+  {0x8335a939, 0xed87a8},
+  {0x8335aa30, 0xed87a9},
+  {0x8335aa31, 0xed87aa},
+  {0x8335aa32, 0xed87ab},
+  {0x8335aa33, 0xed87ac},
+  {0x8335aa34, 0xed87ad},
+  {0x8335aa35, 0xed87ae},
+  {0x8335aa36, 0xed87af},
+  {0x8335aa37, 0xed87b0},
+  {0x8335aa38, 0xed87b1},
+  {0x8335aa39, 0xed87b2},
+  {0x8335ab30, 0xed87b3},
+  {0x8335ab31, 0xed87b4},
+  {0x8335ab32, 0xed87b5},
+  {0x8335ab33, 0xed87b6},
+  {0x8335ab34, 0xed87b7},
+  {0x8335ab35, 0xed87b8},
+  {0x8335ab36, 0xed87b9},
+  {0x8335ab37, 0xed87ba},
+  {0x8335ab38, 0xed87bb},
+  {0x8335ab39, 0xed87bc},
+  {0x8335ac30, 0xed87bd},
+  {0x8335ac31, 0xed87be},
+  {0x8335ac32, 0xed87bf},
+  {0x8335ac33, 0xed8880},
+  {0x8335ac34, 0xed8881},
+  {0x8335ac35, 0xed8882},
+  {0x8335ac36, 0xed8883},
+  {0x8335ac37, 0xed8884},
+  {0x8335ac38, 0xed8885},
+  {0x8335ac39, 0xed8886},
+  {0x8335ad30, 0xed8887},
+  {0x8335ad31, 0xed8888},
+  {0x8335ad32, 0xed8889},
+  {0x8335ad33, 0xed888a},
+  {0x8335ad34, 0xed888b},
+  {0x8335ad35, 0xed888c},
+  {0x8335ad36, 0xed888d},
+  {0x8335ad37, 0xed888e},
+  {0x8335ad38, 0xed888f},
+  {0x8335ad39, 0xed8890},
+  {0x8335ae30, 0xed8891},
+  {0x8335ae31, 0xed8892},
+  {0x8335ae32, 0xed8893},
+  {0x8335ae33, 0xed8894},
+  {0x8335ae34, 0xed8895},
+  {0x8335ae35, 0xed8896},
+  {0x8335ae36, 0xed8897},
+  {0x8335ae37, 0xed8898},
+  {0x8335ae38, 0xed8899},
+  {0x8335ae39, 0xed889a},
+  {0x8335af30, 0xed889b},
+  {0x8335af31, 0xed889c},
+  {0x8335af32, 0xed889d},
+  {0x8335af33, 0xed889e},
+  {0x8335af34, 0xed889f},
+  {0x8335af35, 0xed88a0},
+  {0x8335af36, 0xed88a1},
+  {0x8335af37, 0xed88a2},
+  {0x8335af38, 0xed88a3},
+  {0x8335af39, 0xed88a4},
+  {0x8335b030, 0xed88a5},
+  {0x8335b031, 0xed88a6},
+  {0x8335b032, 0xed88a7},
+  {0x8335b033, 0xed88a8},
+  {0x8335b034, 0xed88a9},
+  {0x8335b035, 0xed88aa},
+  {0x8335b036, 0xed88ab},
+  {0x8335b037, 0xed88ac},
+  {0x8335b038, 0xed88ad},
+  {0x8335b039, 0xed88ae},
+  {0x8335b130, 0xed88af},
+  {0x8335b131, 0xed88b0},
+  {0x8335b132, 0xed88b1},
+  {0x8335b133, 0xed88b2},
+  {0x8335b134, 0xed88b3},
+  {0x8335b135, 0xed88b4},
+  {0x8335b136, 0xed88b5},
+  {0x8335b137, 0xed88b6},
+  {0x8335b138, 0xed88b7},
+  {0x8335b139, 0xed88b8},
+  {0x8335b230, 0xed88b9},
+  {0x8335b231, 0xed88ba},
+  {0x8335b232, 0xed88bb},
+  {0x8335b233, 0xed88bc},
+  {0x8335b234, 0xed88bd},
+  {0x8335b235, 0xed88be},
+  {0x8335b236, 0xed88bf},
+  {0x8335b237, 0xed8980},
+  {0x8335b238, 0xed8981},
+  {0x8335b239, 0xed8982},
+  {0x8335b330, 0xed8983},
+  {0x8335b331, 0xed8984},
+  {0x8335b332, 0xed8985},
+  {0x8335b333, 0xed8986},
+  {0x8335b334, 0xed8987},
+  {0x8335b335, 0xed8988},
+  {0x8335b336, 0xed8989},
+  {0x8335b337, 0xed898a},
+  {0x8335b338, 0xed898b},
+  {0x8335b339, 0xed898c},
+  {0x8335b430, 0xed898d},
+  {0x8335b431, 0xed898e},
+  {0x8335b432, 0xed898f},
+  {0x8335b433, 0xed8990},
+  {0x8335b434, 0xed8991},
+  {0x8335b435, 0xed8992},
+  {0x8335b436, 0xed8993},
+  {0x8335b437, 0xed8994},
+  {0x8335b438, 0xed8995},
+  {0x8335b439, 0xed8996},
+  {0x8335b530, 0xed8997},
+  {0x8335b531, 0xed8998},
+  {0x8335b532, 0xed8999},
+  {0x8335b533, 0xed899a},
+  {0x8335b534, 0xed899b},
+  {0x8335b535, 0xed899c},
+  {0x8335b536, 0xed899d},
+  {0x8335b537, 0xed899e},
+  {0x8335b538, 0xed899f},
+  {0x8335b539, 0xed89a0},
+  {0x8335b630, 0xed89a1},
+  {0x8335b631, 0xed89a2},
+  {0x8335b632, 0xed89a3},
+  {0x8335b633, 0xed89a4},
+  {0x8335b634, 0xed89a5},
+  {0x8335b635, 0xed89a6},
+  {0x8335b636, 0xed89a7},
+  {0x8335b637, 0xed89a8},
+  {0x8335b638, 0xed89a9},
+  {0x8335b639, 0xed89aa},
+  {0x8335b730, 0xed89ab},
+  {0x8335b731, 0xed89ac},
+  {0x8335b732, 0xed89ad},
+  {0x8335b733, 0xed89ae},
+  {0x8335b734, 0xed89af},
+  {0x8335b735, 0xed89b0},
+  {0x8335b736, 0xed89b1},
+  {0x8335b737, 0xed89b2},
+  {0x8335b738, 0xed89b3},
+  {0x8335b739, 0xed89b4},
+  {0x8335b830, 0xed89b5},
+  {0x8335b831, 0xed89b6},
+  {0x8335b832, 0xed89b7},
+  {0x8335b833, 0xed89b8},
+  {0x8335b834, 0xed89b9},
+  {0x8335b835, 0xed89ba},
+  {0x8335b836, 0xed89bb},
+  {0x8335b837, 0xed89bc},
+  {0x8335b838, 0xed89bd},
+  {0x8335b839, 0xed89be},
+  {0x8335b930, 0xed89bf},
+  {0x8335b931, 0xed8a80},
+  {0x8335b932, 0xed8a81},
+  {0x8335b933, 0xed8a82},
+  {0x8335b934, 0xed8a83},
+  {0x8335b935, 0xed8a84},
+  {0x8335b936, 0xed8a85},
+  {0x8335b937, 0xed8a86},
+  {0x8335b938, 0xed8a87},
+  {0x8335b939, 0xed8a88},
+  {0x8335ba30, 0xed8a89},
+  {0x8335ba31, 0xed8a8a},
+  {0x8335ba32, 0xed8a8b},
+  {0x8335ba33, 0xed8a8c},
+  {0x8335ba34, 0xed8a8d},
+  {0x8335ba35, 0xed8a8e},
+  {0x8335ba36, 0xed8a8f},
+  {0x8335ba37, 0xed8a90},
+  {0x8335ba38, 0xed8a91},
+  {0x8335ba39, 0xed8a92},
+  {0x8335bb30, 0xed8a93},
+  {0x8335bb31, 0xed8a94},
+  {0x8335bb32, 0xed8a95},
+  {0x8335bb33, 0xed8a96},
+  {0x8335bb34, 0xed8a97},
+  {0x8335bb35, 0xed8a98},
+  {0x8335bb36, 0xed8a99},
+  {0x8335bb37, 0xed8a9a},
+  {0x8335bb38, 0xed8a9b},
+  {0x8335bb39, 0xed8a9c},
+  {0x8335bc30, 0xed8a9d},
+  {0x8335bc31, 0xed8a9e},
+  {0x8335bc32, 0xed8a9f},
+  {0x8335bc33, 0xed8aa0},
+  {0x8335bc34, 0xed8aa1},
+  {0x8335bc35, 0xed8aa2},
+  {0x8335bc36, 0xed8aa3},
+  {0x8335bc37, 0xed8aa4},
+  {0x8335bc38, 0xed8aa5},
+  {0x8335bc39, 0xed8aa6},
+  {0x8335bd30, 0xed8aa7},
+  {0x8335bd31, 0xed8aa8},
+  {0x8335bd32, 0xed8aa9},
+  {0x8335bd33, 0xed8aaa},
+  {0x8335bd34, 0xed8aab},
+  {0x8335bd35, 0xed8aac},
+  {0x8335bd36, 0xed8aad},
+  {0x8335bd37, 0xed8aae},
+  {0x8335bd38, 0xed8aaf},
+  {0x8335bd39, 0xed8ab0},
+  {0x8335be30, 0xed8ab1},
+  {0x8335be31, 0xed8ab2},
+  {0x8335be32, 0xed8ab3},
+  {0x8335be33, 0xed8ab4},
+  {0x8335be34, 0xed8ab5},
+  {0x8335be35, 0xed8ab6},
+  {0x8335be36, 0xed8ab7},
+  {0x8335be37, 0xed8ab8},
+  {0x8335be38, 0xed8ab9},
+  {0x8335be39, 0xed8aba},
+  {0x8335bf30, 0xed8abb},
+  {0x8335bf31, 0xed8abc},
+  {0x8335bf32, 0xed8abd},
+  {0x8335bf33, 0xed8abe},
+  {0x8335bf34, 0xed8abf},
+  {0x8335bf35, 0xed8b80},
+  {0x8335bf36, 0xed8b81},
+  {0x8335bf37, 0xed8b82},
+  {0x8335bf38, 0xed8b83},
+  {0x8335bf39, 0xed8b84},
+  {0x8335c030, 0xed8b85},
+  {0x8335c031, 0xed8b86},
+  {0x8335c032, 0xed8b87},
+  {0x8335c033, 0xed8b88},
+  {0x8335c034, 0xed8b89},
+  {0x8335c035, 0xed8b8a},
+  {0x8335c036, 0xed8b8b},
+  {0x8335c037, 0xed8b8c},
+  {0x8335c038, 0xed8b8d},
+  {0x8335c039, 0xed8b8e},
+  {0x8335c130, 0xed8b8f},
+  {0x8335c131, 0xed8b90},
+  {0x8335c132, 0xed8b91},
+  {0x8335c133, 0xed8b92},
+  {0x8335c134, 0xed8b93},
+  {0x8335c135, 0xed8b94},
+  {0x8335c136, 0xed8b95},
+  {0x8335c137, 0xed8b96},
+  {0x8335c138, 0xed8b97},
+  {0x8335c139, 0xed8b98},
+  {0x8335c230, 0xed8b99},
+  {0x8335c231, 0xed8b9a},
+  {0x8335c232, 0xed8b9b},
+  {0x8335c233, 0xed8b9c},
+  {0x8335c234, 0xed8b9d},
+  {0x8335c235, 0xed8b9e},
+  {0x8335c236, 0xed8b9f},
+  {0x8335c237, 0xed8ba0},
+  {0x8335c238, 0xed8ba1},
+  {0x8335c239, 0xed8ba2},
+  {0x8335c330, 0xed8ba3},
+  {0x8335c331, 0xed8ba4},
+  {0x8335c332, 0xed8ba5},
+  {0x8335c333, 0xed8ba6},
+  {0x8335c334, 0xed8ba7},
+  {0x8335c335, 0xed8ba8},
+  {0x8335c336, 0xed8ba9},
+  {0x8335c337, 0xed8baa},
+  {0x8335c338, 0xed8bab},
+  {0x8335c339, 0xed8bac},
+  {0x8335c430, 0xed8bad},
+  {0x8335c431, 0xed8bae},
+  {0x8335c432, 0xed8baf},
+  {0x8335c433, 0xed8bb0},
+  {0x8335c434, 0xed8bb1},
+  {0x8335c435, 0xed8bb2},
+  {0x8335c436, 0xed8bb3},
+  {0x8335c437, 0xed8bb4},
+  {0x8335c438, 0xed8bb5},
+  {0x8335c439, 0xed8bb6},
+  {0x8335c530, 0xed8bb7},
+  {0x8335c531, 0xed8bb8},
+  {0x8335c532, 0xed8bb9},
+  {0x8335c533, 0xed8bba},
+  {0x8335c534, 0xed8bbb},
+  {0x8335c535, 0xed8bbc},
+  {0x8335c536, 0xed8bbd},
+  {0x8335c537, 0xed8bbe},
+  {0x8335c538, 0xed8bbf},
+  {0x8335c539, 0xed8c80},
+  {0x8335c630, 0xed8c81},
+  {0x8335c631, 0xed8c82},
+  {0x8335c632, 0xed8c83},
+  {0x8335c633, 0xed8c84},
+  {0x8335c634, 0xed8c85},
+  {0x8335c635, 0xed8c86},
+  {0x8335c636, 0xed8c87},
+  {0x8335c637, 0xed8c88},
+  {0x8335c638, 0xed8c89},
+  {0x8335c639, 0xed8c8a},
+  {0x8335c730, 0xed8c8b},
+  {0x8335c731, 0xed8c8c},
+  {0x8335c732, 0xed8c8d},
+  {0x8335c733, 0xed8c8e},
+  {0x8335c734, 0xed8c8f},
+  {0x8335c735, 0xed8c90},
+  {0x8335c736, 0xed8c91},
+  {0x8335c737, 0xed8c92},
+  {0x8335c738, 0xed8c93},
+  {0x8335c739, 0xed8c94},
+  {0x8335c830, 0xed8c95},
+  {0x8335c831, 0xed8c96},
+  {0x8335c832, 0xed8c97},
+  {0x8335c833, 0xed8c98},
+  {0x8335c834, 0xed8c99},
+  {0x8335c835, 0xed8c9a},
+  {0x8335c836, 0xed8c9b},
+  {0x8335c837, 0xed8c9c},
+  {0x8335c838, 0xed8c9d},
+  {0x8335c839, 0xed8c9e},
+  {0x8335c930, 0xed8c9f},
+  {0x8335c931, 0xed8ca0},
+  {0x8335c932, 0xed8ca1},
+  {0x8335c933, 0xed8ca2},
+  {0x8335c934, 0xed8ca3},
+  {0x8335c935, 0xed8ca4},
+  {0x8335c936, 0xed8ca5},
+  {0x8335c937, 0xed8ca6},
+  {0x8335c938, 0xed8ca7},
+  {0x8335c939, 0xed8ca8},
+  {0x8335ca30, 0xed8ca9},
+  {0x8335ca31, 0xed8caa},
+  {0x8335ca32, 0xed8cab},
+  {0x8335ca33, 0xed8cac},
+  {0x8335ca34, 0xed8cad},
+  {0x8335ca35, 0xed8cae},
+  {0x8335ca36, 0xed8caf},
+  {0x8335ca37, 0xed8cb0},
+  {0x8335ca38, 0xed8cb1},
+  {0x8335ca39, 0xed8cb2},
+  {0x8335cb30, 0xed8cb3},
+  {0x8335cb31, 0xed8cb4},
+  {0x8335cb32, 0xed8cb5},
+  {0x8335cb33, 0xed8cb6},
+  {0x8335cb34, 0xed8cb7},
+  {0x8335cb35, 0xed8cb8},
+  {0x8335cb36, 0xed8cb9},
+  {0x8335cb37, 0xed8cba},
+  {0x8335cb38, 0xed8cbb},
+  {0x8335cb39, 0xed8cbc},
+  {0x8335cc30, 0xed8cbd},
+  {0x8335cc31, 0xed8cbe},
+  {0x8335cc32, 0xed8cbf},
+  {0x8335cc33, 0xed8d80},
+  {0x8335cc34, 0xed8d81},
+  {0x8335cc35, 0xed8d82},
+  {0x8335cc36, 0xed8d83},
+  {0x8335cc37, 0xed8d84},
+  {0x8335cc38, 0xed8d85},
+  {0x8335cc39, 0xed8d86},
+  {0x8335cd30, 0xed8d87},
+  {0x8335cd31, 0xed8d88},
+  {0x8335cd32, 0xed8d89},
+  {0x8335cd33, 0xed8d8a},
+  {0x8335cd34, 0xed8d8b},
+  {0x8335cd35, 0xed8d8c},
+  {0x8335cd36, 0xed8d8d},
+  {0x8335cd37, 0xed8d8e},
+  {0x8335cd38, 0xed8d8f},
+  {0x8335cd39, 0xed8d90},
+  {0x8335ce30, 0xed8d91},
+  {0x8335ce31, 0xed8d92},
+  {0x8335ce32, 0xed8d93},
+  {0x8335ce33, 0xed8d94},
+  {0x8335ce34, 0xed8d95},
+  {0x8335ce35, 0xed8d96},
+  {0x8335ce36, 0xed8d97},
+  {0x8335ce37, 0xed8d98},
+  {0x8335ce38, 0xed8d99},
+  {0x8335ce39, 0xed8d9a},
+  {0x8335cf30, 0xed8d9b},
+  {0x8335cf31, 0xed8d9c},
+  {0x8335cf32, 0xed8d9d},
+  {0x8335cf33, 0xed8d9e},
+  {0x8335cf34, 0xed8d9f},
+  {0x8335cf35, 0xed8da0},
+  {0x8335cf36, 0xed8da1},
+  {0x8335cf37, 0xed8da2},
+  {0x8335cf38, 0xed8da3},
+  {0x8335cf39, 0xed8da4},
+  {0x8335d030, 0xed8da5},
+  {0x8335d031, 0xed8da6},
+  {0x8335d032, 0xed8da7},
+  {0x8335d033, 0xed8da8},
+  {0x8335d034, 0xed8da9},
+  {0x8335d035, 0xed8daa},
+  {0x8335d036, 0xed8dab},
+  {0x8335d037, 0xed8dac},
+  {0x8335d038, 0xed8dad},
+  {0x8335d039, 0xed8dae},
+  {0x8335d130, 0xed8daf},
+  {0x8335d131, 0xed8db0},
+  {0x8335d132, 0xed8db1},
+  {0x8335d133, 0xed8db2},
+  {0x8335d134, 0xed8db3},
+  {0x8335d135, 0xed8db4},
+  {0x8335d136, 0xed8db5},
+  {0x8335d137, 0xed8db6},
+  {0x8335d138, 0xed8db7},
+  {0x8335d139, 0xed8db8},
+  {0x8335d230, 0xed8db9},
+  {0x8335d231, 0xed8dba},
+  {0x8335d232, 0xed8dbb},
+  {0x8335d233, 0xed8dbc},
+  {0x8335d234, 0xed8dbd},
+  {0x8335d235, 0xed8dbe},
+  {0x8335d236, 0xed8dbf},
+  {0x8335d237, 0xed8e80},
+  {0x8335d238, 0xed8e81},
+  {0x8335d239, 0xed8e82},
+  {0x8335d330, 0xed8e83},
+  {0x8335d331, 0xed8e84},
+  {0x8335d332, 0xed8e85},
+  {0x8335d333, 0xed8e86},
+  {0x8335d334, 0xed8e87},
+  {0x8335d335, 0xed8e88},
+  {0x8335d336, 0xed8e89},
+  {0x8335d337, 0xed8e8a},
+  {0x8335d338, 0xed8e8b},
+  {0x8335d339, 0xed8e8c},
+  {0x8335d430, 0xed8e8d},
+  {0x8335d431, 0xed8e8e},
+  {0x8335d432, 0xed8e8f},
+  {0x8335d433, 0xed8e90},
+  {0x8335d434, 0xed8e91},
+  {0x8335d435, 0xed8e92},
+  {0x8335d436, 0xed8e93},
+  {0x8335d437, 0xed8e94},
+  {0x8335d438, 0xed8e95},
+  {0x8335d439, 0xed8e96},
+  {0x8335d530, 0xed8e97},
+  {0x8335d531, 0xed8e98},
+  {0x8335d532, 0xed8e99},
+  {0x8335d533, 0xed8e9a},
+  {0x8335d534, 0xed8e9b},
+  {0x8335d535, 0xed8e9c},
+  {0x8335d536, 0xed8e9d},
+  {0x8335d537, 0xed8e9e},
+  {0x8335d538, 0xed8e9f},
+  {0x8335d539, 0xed8ea0},
+  {0x8335d630, 0xed8ea1},
+  {0x8335d631, 0xed8ea2},
+  {0x8335d632, 0xed8ea3},
+  {0x8335d633, 0xed8ea4},
+  {0x8335d634, 0xed8ea5},
+  {0x8335d635, 0xed8ea6},
+  {0x8335d636, 0xed8ea7},
+  {0x8335d637, 0xed8ea8},
+  {0x8335d638, 0xed8ea9},
+  {0x8335d639, 0xed8eaa},
+  {0x8335d730, 0xed8eab},
+  {0x8335d731, 0xed8eac},
+  {0x8335d732, 0xed8ead},
+  {0x8335d733, 0xed8eae},
+  {0x8335d734, 0xed8eaf},
+  {0x8335d735, 0xed8eb0},
+  {0x8335d736, 0xed8eb1},
+  {0x8335d737, 0xed8eb2},
+  {0x8335d738, 0xed8eb3},
+  {0x8335d739, 0xed8eb4},
+  {0x8335d830, 0xed8eb5},
+  {0x8335d831, 0xed8eb6},
+  {0x8335d832, 0xed8eb7},
+  {0x8335d833, 0xed8eb8},
+  {0x8335d834, 0xed8eb9},
+  {0x8335d835, 0xed8eba},
+  {0x8335d836, 0xed8ebb},
+  {0x8335d837, 0xed8ebc},
+  {0x8335d838, 0xed8ebd},
+  {0x8335d839, 0xed8ebe},
+  {0x8335d930, 0xed8ebf},
+  {0x8335d931, 0xed8f80},
+  {0x8335d932, 0xed8f81},
+  {0x8335d933, 0xed8f82},
+  {0x8335d934, 0xed8f83},
+  {0x8335d935, 0xed8f84},
+  {0x8335d936, 0xed8f85},
+  {0x8335d937, 0xed8f86},
+  {0x8335d938, 0xed8f87},
+  {0x8335d939, 0xed8f88},
+  {0x8335da30, 0xed8f89},
+  {0x8335da31, 0xed8f8a},
+  {0x8335da32, 0xed8f8b},
+  {0x8335da33, 0xed8f8c},
+  {0x8335da34, 0xed8f8d},
+  {0x8335da35, 0xed8f8e},
+  {0x8335da36, 0xed8f8f},
+  {0x8335da37, 0xed8f90},
+  {0x8335da38, 0xed8f91},
+  {0x8335da39, 0xed8f92},
+  {0x8335db30, 0xed8f93},
+  {0x8335db31, 0xed8f94},
+  {0x8335db32, 0xed8f95},
+  {0x8335db33, 0xed8f96},
+  {0x8335db34, 0xed8f97},
+  {0x8335db35, 0xed8f98},
+  {0x8335db36, 0xed8f99},
+  {0x8335db37, 0xed8f9a},
+  {0x8335db38, 0xed8f9b},
+  {0x8335db39, 0xed8f9c},
+  {0x8335dc30, 0xed8f9d},
+  {0x8335dc31, 0xed8f9e},
+  {0x8335dc32, 0xed8f9f},
+  {0x8335dc33, 0xed8fa0},
+  {0x8335dc34, 0xed8fa1},
+  {0x8335dc35, 0xed8fa2},
+  {0x8335dc36, 0xed8fa3},
+  {0x8335dc37, 0xed8fa4},
+  {0x8335dc38, 0xed8fa5},
+  {0x8335dc39, 0xed8fa6},
+  {0x8335dd30, 0xed8fa7},
+  {0x8335dd31, 0xed8fa8},
+  {0x8335dd32, 0xed8fa9},
+  {0x8335dd33, 0xed8faa},
+  {0x8335dd34, 0xed8fab},
+  {0x8335dd35, 0xed8fac},
+  {0x8335dd36, 0xed8fad},
+  {0x8335dd37, 0xed8fae},
+  {0x8335dd38, 0xed8faf},
+  {0x8335dd39, 0xed8fb0},
+  {0x8335de30, 0xed8fb1},
+  {0x8335de31, 0xed8fb2},
+  {0x8335de32, 0xed8fb3},
+  {0x8335de33, 0xed8fb4},
+  {0x8335de34, 0xed8fb5},
+  {0x8335de35, 0xed8fb6},
+  {0x8335de36, 0xed8fb7},
+  {0x8335de37, 0xed8fb8},
+  {0x8335de38, 0xed8fb9},
+  {0x8335de39, 0xed8fba},
+  {0x8335df30, 0xed8fbb},
+  {0x8335df31, 0xed8fbc},
+  {0x8335df32, 0xed8fbd},
+  {0x8335df33, 0xed8fbe},
+  {0x8335df34, 0xed8fbf},
+  {0x8335df35, 0xed9080},
+  {0x8335df36, 0xed9081},
+  {0x8335df37, 0xed9082},
+  {0x8335df38, 0xed9083},
+  {0x8335df39, 0xed9084},
+  {0x8335e030, 0xed9085},
+  {0x8335e031, 0xed9086},
+  {0x8335e032, 0xed9087},
+  {0x8335e033, 0xed9088},
+  {0x8335e034, 0xed9089},
+  {0x8335e035, 0xed908a},
+  {0x8335e036, 0xed908b},
+  {0x8335e037, 0xed908c},
+  {0x8335e038, 0xed908d},
+  {0x8335e039, 0xed908e},
+  {0x8335e130, 0xed908f},
+  {0x8335e131, 0xed9090},
+  {0x8335e132, 0xed9091},
+  {0x8335e133, 0xed9092},
+  {0x8335e134, 0xed9093},
+  {0x8335e135, 0xed9094},
+  {0x8335e136, 0xed9095},
+  {0x8335e137, 0xed9096},
+  {0x8335e138, 0xed9097},
+  {0x8335e139, 0xed9098},
+  {0x8335e230, 0xed9099},
+  {0x8335e231, 0xed909a},
+  {0x8335e232, 0xed909b},
+  {0x8335e233, 0xed909c},
+  {0x8335e234, 0xed909d},
+  {0x8335e235, 0xed909e},
+  {0x8335e236, 0xed909f},
+  {0x8335e237, 0xed90a0},
+  {0x8335e238, 0xed90a1},
+  {0x8335e239, 0xed90a2},
+  {0x8335e330, 0xed90a3},
+  {0x8335e331, 0xed90a4},
+  {0x8335e332, 0xed90a5},
+  {0x8335e333, 0xed90a6},
+  {0x8335e334, 0xed90a7},
+  {0x8335e335, 0xed90a8},
+  {0x8335e336, 0xed90a9},
+  {0x8335e337, 0xed90aa},
+  {0x8335e338, 0xed90ab},
+  {0x8335e339, 0xed90ac},
+  {0x8335e430, 0xed90ad},
+  {0x8335e431, 0xed90ae},
+  {0x8335e432, 0xed90af},
+  {0x8335e433, 0xed90b0},
+  {0x8335e434, 0xed90b1},
+  {0x8335e435, 0xed90b2},
+  {0x8335e436, 0xed90b3},
+  {0x8335e437, 0xed90b4},
+  {0x8335e438, 0xed90b5},
+  {0x8335e439, 0xed90b6},
+  {0x8335e530, 0xed90b7},
+  {0x8335e531, 0xed90b8},
+  {0x8335e532, 0xed90b9},
+  {0x8335e533, 0xed90ba},
+  {0x8335e534, 0xed90bb},
+  {0x8335e535, 0xed90bc},
+  {0x8335e536, 0xed90bd},
+  {0x8335e537, 0xed90be},
+  {0x8335e538, 0xed90bf},
+  {0x8335e539, 0xed9180},
+  {0x8335e630, 0xed9181},
+  {0x8335e631, 0xed9182},
+  {0x8335e632, 0xed9183},
+  {0x8335e633, 0xed9184},
+  {0x8335e634, 0xed9185},
+  {0x8335e635, 0xed9186},
+  {0x8335e636, 0xed9187},
+  {0x8335e637, 0xed9188},
+  {0x8335e638, 0xed9189},
+  {0x8335e639, 0xed918a},
+  {0x8335e730, 0xed918b},
+  {0x8335e731, 0xed918c},
+  {0x8335e732, 0xed918d},
+  {0x8335e733, 0xed918e},
+  {0x8335e734, 0xed918f},
+  {0x8335e735, 0xed9190},
+  {0x8335e736, 0xed9191},
+  {0x8335e737, 0xed9192},
+  {0x8335e738, 0xed9193},
+  {0x8335e739, 0xed9194},
+  {0x8335e830, 0xed9195},
+  {0x8335e831, 0xed9196},
+  {0x8335e832, 0xed9197},
+  {0x8335e833, 0xed9198},
+  {0x8335e834, 0xed9199},
+  {0x8335e835, 0xed919a},
+  {0x8335e836, 0xed919b},
+  {0x8335e837, 0xed919c},
+  {0x8335e838, 0xed919d},
+  {0x8335e839, 0xed919e},
+  {0x8335e930, 0xed919f},
+  {0x8335e931, 0xed91a0},
+  {0x8335e932, 0xed91a1},
+  {0x8335e933, 0xed91a2},
+  {0x8335e934, 0xed91a3},
+  {0x8335e935, 0xed91a4},
+  {0x8335e936, 0xed91a5},
+  {0x8335e937, 0xed91a6},
+  {0x8335e938, 0xed91a7},
+  {0x8335e939, 0xed91a8},
+  {0x8335ea30, 0xed91a9},
+  {0x8335ea31, 0xed91aa},
+  {0x8335ea32, 0xed91ab},
+  {0x8335ea33, 0xed91ac},
+  {0x8335ea34, 0xed91ad},
+  {0x8335ea35, 0xed91ae},
+  {0x8335ea36, 0xed91af},
+  {0x8335ea37, 0xed91b0},
+  {0x8335ea38, 0xed91b1},
+  {0x8335ea39, 0xed91b2},
+  {0x8335eb30, 0xed91b3},
+  {0x8335eb31, 0xed91b4},
+  {0x8335eb32, 0xed91b5},
+  {0x8335eb33, 0xed91b6},
+  {0x8335eb34, 0xed91b7},
+  {0x8335eb35, 0xed91b8},
+  {0x8335eb36, 0xed91b9},
+  {0x8335eb37, 0xed91ba},
+  {0x8335eb38, 0xed91bb},
+  {0x8335eb39, 0xed91bc},
+  {0x8335ec30, 0xed91bd},
+  {0x8335ec31, 0xed91be},
+  {0x8335ec32, 0xed91bf},
+  {0x8335ec33, 0xed9280},
+  {0x8335ec34, 0xed9281},
+  {0x8335ec35, 0xed9282},
+  {0x8335ec36, 0xed9283},
+  {0x8335ec37, 0xed9284},
+  {0x8335ec38, 0xed9285},
+  {0x8335ec39, 0xed9286},
+  {0x8335ed30, 0xed9287},
+  {0x8335ed31, 0xed9288},
+  {0x8335ed32, 0xed9289},
+  {0x8335ed33, 0xed928a},
+  {0x8335ed34, 0xed928b},
+  {0x8335ed35, 0xed928c},
+  {0x8335ed36, 0xed928d},
+  {0x8335ed37, 0xed928e},
+  {0x8335ed38, 0xed928f},
+  {0x8335ed39, 0xed9290},
+  {0x8335ee30, 0xed9291},
+  {0x8335ee31, 0xed9292},
+  {0x8335ee32, 0xed9293},
+  {0x8335ee33, 0xed9294},
+  {0x8335ee34, 0xed9295},
+  {0x8335ee35, 0xed9296},
+  {0x8335ee36, 0xed9297},
+  {0x8335ee37, 0xed9298},
+  {0x8335ee38, 0xed9299},
+  {0x8335ee39, 0xed929a},
+  {0x8335ef30, 0xed929b},
+  {0x8335ef31, 0xed929c},
+  {0x8335ef32, 0xed929d},
+  {0x8335ef33, 0xed929e},
+  {0x8335ef34, 0xed929f},
+  {0x8335ef35, 0xed92a0},
+  {0x8335ef36, 0xed92a1},
+  {0x8335ef37, 0xed92a2},
+  {0x8335ef38, 0xed92a3},
+  {0x8335ef39, 0xed92a4},
+  {0x8335f030, 0xed92a5},
+  {0x8335f031, 0xed92a6},
+  {0x8335f032, 0xed92a7},
+  {0x8335f033, 0xed92a8},
+  {0x8335f034, 0xed92a9},
+  {0x8335f035, 0xed92aa},
+  {0x8335f036, 0xed92ab},
+  {0x8335f037, 0xed92ac},
+  {0x8335f038, 0xed92ad},
+  {0x8335f039, 0xed92ae},
+  {0x8335f130, 0xed92af},
+  {0x8335f131, 0xed92b0},
+  {0x8335f132, 0xed92b1},
+  {0x8335f133, 0xed92b2},
+  {0x8335f134, 0xed92b3},
+  {0x8335f135, 0xed92b4},
+  {0x8335f136, 0xed92b5},
+  {0x8335f137, 0xed92b6},
+  {0x8335f138, 0xed92b7},
+  {0x8335f139, 0xed92b8},
+  {0x8335f230, 0xed92b9},
+  {0x8335f231, 0xed92ba},
+  {0x8335f232, 0xed92bb},
+  {0x8335f233, 0xed92bc},
+  {0x8335f234, 0xed92bd},
+  {0x8335f235, 0xed92be},
+  {0x8335f236, 0xed92bf},
+  {0x8335f237, 0xed9380},
+  {0x8335f238, 0xed9381},
+  {0x8335f239, 0xed9382},
+  {0x8335f330, 0xed9383},
+  {0x8335f331, 0xed9384},
+  {0x8335f332, 0xed9385},
+  {0x8335f333, 0xed9386},
+  {0x8335f334, 0xed9387},
+  {0x8335f335, 0xed9388},
+  {0x8335f336, 0xed9389},
+  {0x8335f337, 0xed938a},
+  {0x8335f338, 0xed938b},
+  {0x8335f339, 0xed938c},
+  {0x8335f430, 0xed938d},
+  {0x8335f431, 0xed938e},
+  {0x8335f432, 0xed938f},
+  {0x8335f433, 0xed9390},
+  {0x8335f434, 0xed9391},
+  {0x8335f435, 0xed9392},
+  {0x8335f436, 0xed9393},
+  {0x8335f437, 0xed9394},
+  {0x8335f438, 0xed9395},
+  {0x8335f439, 0xed9396},
+  {0x8335f530, 0xed9397},
+  {0x8335f531, 0xed9398},
+  {0x8335f532, 0xed9399},
+  {0x8335f533, 0xed939a},
+  {0x8335f534, 0xed939b},
+  {0x8335f535, 0xed939c},
+  {0x8335f536, 0xed939d},
+  {0x8335f537, 0xed939e},
+  {0x8335f538, 0xed939f},
+  {0x8335f539, 0xed93a0},
+  {0x8335f630, 0xed93a1},
+  {0x8335f631, 0xed93a2},
+  {0x8335f632, 0xed93a3},
+  {0x8335f633, 0xed93a4},
+  {0x8335f634, 0xed93a5},
+  {0x8335f635, 0xed93a6},
+  {0x8335f636, 0xed93a7},
+  {0x8335f637, 0xed93a8},
+  {0x8335f638, 0xed93a9},
+  {0x8335f639, 0xed93aa},
+  {0x8335f730, 0xed93ab},
+  {0x8335f731, 0xed93ac},
+  {0x8335f732, 0xed93ad},
+  {0x8335f733, 0xed93ae},
+  {0x8335f734, 0xed93af},
+  {0x8335f735, 0xed93b0},
+  {0x8335f736, 0xed93b1},
+  {0x8335f737, 0xed93b2},
+  {0x8335f738, 0xed93b3},
+  {0x8335f739, 0xed93b4},
+  {0x8335f830, 0xed93b5},
+  {0x8335f831, 0xed93b6},
+  {0x8335f832, 0xed93b7},
+  {0x8335f833, 0xed93b8},
+  {0x8335f834, 0xed93b9},
+  {0x8335f835, 0xed93ba},
+  {0x8335f836, 0xed93bb},
+  {0x8335f837, 0xed93bc},
+  {0x8335f838, 0xed93bd},
+  {0x8335f839, 0xed93be},
+  {0x8335f930, 0xed93bf},
+  {0x8335f931, 0xed9480},
+  {0x8335f932, 0xed9481},
+  {0x8335f933, 0xed9482},
+  {0x8335f934, 0xed9483},
+  {0x8335f935, 0xed9484},
+  {0x8335f936, 0xed9485},
+  {0x8335f937, 0xed9486},
+  {0x8335f938, 0xed9487},
+  {0x8335f939, 0xed9488},
+  {0x8335fa30, 0xed9489},
+  {0x8335fa31, 0xed948a},
+  {0x8335fa32, 0xed948b},
+  {0x8335fa33, 0xed948c},
+  {0x8335fa34, 0xed948d},
+  {0x8335fa35, 0xed948e},
+  {0x8335fa36, 0xed948f},
+  {0x8335fa37, 0xed9490},
+  {0x8335fa38, 0xed9491},
+  {0x8335fa39, 0xed9492},
+  {0x8335fb30, 0xed9493},
+  {0x8335fb31, 0xed9494},
+  {0x8335fb32, 0xed9495},
+  {0x8335fb33, 0xed9496},
+  {0x8335fb34, 0xed9497},
+  {0x8335fb35, 0xed9498},
+  {0x8335fb36, 0xed9499},
+  {0x8335fb37, 0xed949a},
+  {0x8335fb38, 0xed949b},
+  {0x8335fb39, 0xed949c},
+  {0x8335fc30, 0xed949d},
+  {0x8335fc31, 0xed949e},
+  {0x8335fc32, 0xed949f},
+  {0x8335fc33, 0xed94a0},
+  {0x8335fc34, 0xed94a1},
+  {0x8335fc35, 0xed94a2},
+  {0x8335fc36, 0xed94a3},
+  {0x8335fc37, 0xed94a4},
+  {0x8335fc38, 0xed94a5},
+  {0x8335fc39, 0xed94a6},
+  {0x8335fd30, 0xed94a7},
+  {0x8335fd31, 0xed94a8},
+  {0x8335fd32, 0xed94a9},
+  {0x8335fd33, 0xed94aa},
+  {0x8335fd34, 0xed94ab},
+  {0x8335fd35, 0xed94ac},
+  {0x8335fd36, 0xed94ad},
+  {0x8335fd37, 0xed94ae},
+  {0x8335fd38, 0xed94af},
+  {0x8335fd39, 0xed94b0},
+  {0x8335fe30, 0xed94b1},
+  {0x8335fe31, 0xed94b2},
+  {0x8335fe32, 0xed94b3},
+  {0x8335fe33, 0xed94b4},
+  {0x8335fe34, 0xed94b5},
+  {0x8335fe35, 0xed94b6},
+  {0x8335fe36, 0xed94b7},
+  {0x8335fe37, 0xed94b8},
+  {0x8335fe38, 0xed94b9},
+  {0x8335fe39, 0xed94ba},
+  {0x83368130, 0xed94bb},
+  {0x83368131, 0xed94bc},
+  {0x83368132, 0xed94bd},
+  {0x83368133, 0xed94be},
+  {0x83368134, 0xed94bf},
+  {0x83368135, 0xed9580},
+  {0x83368136, 0xed9581},
+  {0x83368137, 0xed9582},
+  {0x83368138, 0xed9583},
+  {0x83368139, 0xed9584},
+  {0x83368230, 0xed9585},
+  {0x83368231, 0xed9586},
+  {0x83368232, 0xed9587},
+  {0x83368233, 0xed9588},
+  {0x83368234, 0xed9589},
+  {0x83368235, 0xed958a},
+  {0x83368236, 0xed958b},
+  {0x83368237, 0xed958c},
+  {0x83368238, 0xed958d},
+  {0x83368239, 0xed958e},
+  {0x83368330, 0xed958f},
+  {0x83368331, 0xed9590},
+  {0x83368332, 0xed9591},
+  {0x83368333, 0xed9592},
+  {0x83368334, 0xed9593},
+  {0x83368335, 0xed9594},
+  {0x83368336, 0xed9595},
+  {0x83368337, 0xed9596},
+  {0x83368338, 0xed9597},
+  {0x83368339, 0xed9598},
+  {0x83368430, 0xed9599},
+  {0x83368431, 0xed959a},
+  {0x83368432, 0xed959b},
+  {0x83368433, 0xed959c},
+  {0x83368434, 0xed959d},
+  {0x83368435, 0xed959e},
+  {0x83368436, 0xed959f},
+  {0x83368437, 0xed95a0},
+  {0x83368438, 0xed95a1},
+  {0x83368439, 0xed95a2},
+  {0x83368530, 0xed95a3},
+  {0x83368531, 0xed95a4},
+  {0x83368532, 0xed95a5},
+  {0x83368533, 0xed95a6},
+  {0x83368534, 0xed95a7},
+  {0x83368535, 0xed95a8},
+  {0x83368536, 0xed95a9},
+  {0x83368537, 0xed95aa},
+  {0x83368538, 0xed95ab},
+  {0x83368539, 0xed95ac},
+  {0x83368630, 0xed95ad},
+  {0x83368631, 0xed95ae},
+  {0x83368632, 0xed95af},
+  {0x83368633, 0xed95b0},
+  {0x83368634, 0xed95b1},
+  {0x83368635, 0xed95b2},
+  {0x83368636, 0xed95b3},
+  {0x83368637, 0xed95b4},
+  {0x83368638, 0xed95b5},
+  {0x83368639, 0xed95b6},
+  {0x83368730, 0xed95b7},
+  {0x83368731, 0xed95b8},
+  {0x83368732, 0xed95b9},
+  {0x83368733, 0xed95ba},
+  {0x83368734, 0xed95bb},
+  {0x83368735, 0xed95bc},
+  {0x83368736, 0xed95bd},
+  {0x83368737, 0xed95be},
+  {0x83368738, 0xed95bf},
+  {0x83368739, 0xed9680},
+  {0x83368830, 0xed9681},
+  {0x83368831, 0xed9682},
+  {0x83368832, 0xed9683},
+  {0x83368833, 0xed9684},
+  {0x83368834, 0xed9685},
+  {0x83368835, 0xed9686},
+  {0x83368836, 0xed9687},
+  {0x83368837, 0xed9688},
+  {0x83368838, 0xed9689},
+  {0x83368839, 0xed968a},
+  {0x83368930, 0xed968b},
+  {0x83368931, 0xed968c},
+  {0x83368932, 0xed968d},
+  {0x83368933, 0xed968e},
+  {0x83368934, 0xed968f},
+  {0x83368935, 0xed9690},
+  {0x83368936, 0xed9691},
+  {0x83368937, 0xed9692},
+  {0x83368938, 0xed9693},
+  {0x83368939, 0xed9694},
+  {0x83368a30, 0xed9695},
+  {0x83368a31, 0xed9696},
+  {0x83368a32, 0xed9697},
+  {0x83368a33, 0xed9698},
+  {0x83368a34, 0xed9699},
+  {0x83368a35, 0xed969a},
+  {0x83368a36, 0xed969b},
+  {0x83368a37, 0xed969c},
+  {0x83368a38, 0xed969d},
+  {0x83368a39, 0xed969e},
+  {0x83368b30, 0xed969f},
+  {0x83368b31, 0xed96a0},
+  {0x83368b32, 0xed96a1},
+  {0x83368b33, 0xed96a2},
+  {0x83368b34, 0xed96a3},
+  {0x83368b35, 0xed96a4},
+  {0x83368b36, 0xed96a5},
+  {0x83368b37, 0xed96a6},
+  {0x83368b38, 0xed96a7},
+  {0x83368b39, 0xed96a8},
+  {0x83368c30, 0xed96a9},
+  {0x83368c31, 0xed96aa},
+  {0x83368c32, 0xed96ab},
+  {0x83368c33, 0xed96ac},
+  {0x83368c34, 0xed96ad},
+  {0x83368c35, 0xed96ae},
+  {0x83368c36, 0xed96af},
+  {0x83368c37, 0xed96b0},
+  {0x83368c38, 0xed96b1},
+  {0x83368c39, 0xed96b2},
+  {0x83368d30, 0xed96b3},
+  {0x83368d31, 0xed96b4},
+  {0x83368d32, 0xed96b5},
+  {0x83368d33, 0xed96b6},
+  {0x83368d34, 0xed96b7},
+  {0x83368d35, 0xed96b8},
+  {0x83368d36, 0xed96b9},
+  {0x83368d37, 0xed96ba},
+  {0x83368d38, 0xed96bb},
+  {0x83368d39, 0xed96bc},
+  {0x83368e30, 0xed96bd},
+  {0x83368e31, 0xed96be},
+  {0x83368e32, 0xed96bf},
+  {0x83368e33, 0xed9780},
+  {0x83368e34, 0xed9781},
+  {0x83368e35, 0xed9782},
+  {0x83368e36, 0xed9783},
+  {0x83368e37, 0xed9784},
+  {0x83368e38, 0xed9785},
+  {0x83368e39, 0xed9786},
+  {0x83368f30, 0xed9787},
+  {0x83368f31, 0xed9788},
+  {0x83368f32, 0xed9789},
+  {0x83368f33, 0xed978a},
+  {0x83368f34, 0xed978b},
+  {0x83368f35, 0xed978c},
+  {0x83368f36, 0xed978d},
+  {0x83368f37, 0xed978e},
+  {0x83368f38, 0xed978f},
+  {0x83368f39, 0xed9790},
+  {0x83369030, 0xed9791},
+  {0x83369031, 0xed9792},
+  {0x83369032, 0xed9793},
+  {0x83369033, 0xed9794},
+  {0x83369034, 0xed9795},
+  {0x83369035, 0xed9796},
+  {0x83369036, 0xed9797},
+  {0x83369037, 0xed9798},
+  {0x83369038, 0xed9799},
+  {0x83369039, 0xed979a},
+  {0x83369130, 0xed979b},
+  {0x83369131, 0xed979c},
+  {0x83369132, 0xed979d},
+  {0x83369133, 0xed979e},
+  {0x83369134, 0xed979f},
+  {0x83369135, 0xed97a0},
+  {0x83369136, 0xed97a1},
+  {0x83369137, 0xed97a2},
+  {0x83369138, 0xed97a3},
+  {0x83369139, 0xed97a4},
+  {0x83369230, 0xed97a5},
+  {0x83369231, 0xed97a6},
+  {0x83369232, 0xed97a7},
+  {0x83369233, 0xed97a8},
+  {0x83369234, 0xed97a9},
+  {0x83369235, 0xed97aa},
+  {0x83369236, 0xed97ab},
+  {0x83369237, 0xed97ac},
+  {0x83369238, 0xed97ad},
+  {0x83369239, 0xed97ae},
+  {0x83369330, 0xed97af},
+  {0x83369331, 0xed97b0},
+  {0x83369332, 0xed97b1},
+  {0x83369333, 0xed97b2},
+  {0x83369334, 0xed97b3},
+  {0x83369335, 0xed97b4},
+  {0x83369336, 0xed97b5},
+  {0x83369337, 0xed97b6},
+  {0x83369338, 0xed97b7},
+  {0x83369339, 0xed97b8},
+  {0x83369430, 0xed97b9},
+  {0x83369431, 0xed97ba},
+  {0x83369432, 0xed97bb},
+  {0x83369433, 0xed97bc},
+  {0x83369434, 0xed97bd},
+  {0x83369435, 0xed97be},
+  {0x83369436, 0xed97bf},
+  {0x83369437, 0xed9880},
+  {0x83369438, 0xed9881},
+  {0x83369439, 0xed9882},
+  {0x83369530, 0xed9883},
+  {0x83369531, 0xed9884},
+  {0x83369532, 0xed9885},
+  {0x83369533, 0xed9886},
+  {0x83369534, 0xed9887},
+  {0x83369535, 0xed9888},
+  {0x83369536, 0xed9889},
+  {0x83369537, 0xed988a},
+  {0x83369538, 0xed988b},
+  {0x83369539, 0xed988c},
+  {0x83369630, 0xed988d},
+  {0x83369631, 0xed988e},
+  {0x83369632, 0xed988f},
+  {0x83369633, 0xed9890},
+  {0x83369634, 0xed9891},
+  {0x83369635, 0xed9892},
+  {0x83369636, 0xed9893},
+  {0x83369637, 0xed9894},
+  {0x83369638, 0xed9895},
+  {0x83369639, 0xed9896},
+  {0x83369730, 0xed9897},
+  {0x83369731, 0xed9898},
+  {0x83369732, 0xed9899},
+  {0x83369733, 0xed989a},
+  {0x83369734, 0xed989b},
+  {0x83369735, 0xed989c},
+  {0x83369736, 0xed989d},
+  {0x83369737, 0xed989e},
+  {0x83369738, 0xed989f},
+  {0x83369739, 0xed98a0},
+  {0x83369830, 0xed98a1},
+  {0x83369831, 0xed98a2},
+  {0x83369832, 0xed98a3},
+  {0x83369833, 0xed98a4},
+  {0x83369834, 0xed98a5},
+  {0x83369835, 0xed98a6},
+  {0x83369836, 0xed98a7},
+  {0x83369837, 0xed98a8},
+  {0x83369838, 0xed98a9},
+  {0x83369839, 0xed98aa},
+  {0x83369930, 0xed98ab},
+  {0x83369931, 0xed98ac},
+  {0x83369932, 0xed98ad},
+  {0x83369933, 0xed98ae},
+  {0x83369934, 0xed98af},
+  {0x83369935, 0xed98b0},
+  {0x83369936, 0xed98b1},
+  {0x83369937, 0xed98b2},
+  {0x83369938, 0xed98b3},
+  {0x83369939, 0xed98b4},
+  {0x83369a30, 0xed98b5},
+  {0x83369a31, 0xed98b6},
+  {0x83369a32, 0xed98b7},
+  {0x83369a33, 0xed98b8},
+  {0x83369a34, 0xed98b9},
+  {0x83369a35, 0xed98ba},
+  {0x83369a36, 0xed98bb},
+  {0x83369a37, 0xed98bc},
+  {0x83369a38, 0xed98bd},
+  {0x83369a39, 0xed98be},
+  {0x83369b30, 0xed98bf},
+  {0x83369b31, 0xed9980},
+  {0x83369b32, 0xed9981},
+  {0x83369b33, 0xed9982},
+  {0x83369b34, 0xed9983},
+  {0x83369b35, 0xed9984},
+  {0x83369b36, 0xed9985},
+  {0x83369b37, 0xed9986},
+  {0x83369b38, 0xed9987},
+  {0x83369b39, 0xed9988},
+  {0x83369c30, 0xed9989},
+  {0x83369c31, 0xed998a},
+  {0x83369c32, 0xed998b},
+  {0x83369c33, 0xed998c},
+  {0x83369c34, 0xed998d},
+  {0x83369c35, 0xed998e},
+  {0x83369c36, 0xed998f},
+  {0x83369c37, 0xed9990},
+  {0x83369c38, 0xed9991},
+  {0x83369c39, 0xed9992},
+  {0x83369d30, 0xed9993},
+  {0x83369d31, 0xed9994},
+  {0x83369d32, 0xed9995},
+  {0x83369d33, 0xed9996},
+  {0x83369d34, 0xed9997},
+  {0x83369d35, 0xed9998},
+  {0x83369d36, 0xed9999},
+  {0x83369d37, 0xed999a},
+  {0x83369d38, 0xed999b},
+  {0x83369d39, 0xed999c},
+  {0x83369e30, 0xed999d},
+  {0x83369e31, 0xed999e},
+  {0x83369e32, 0xed999f},
+  {0x83369e33, 0xed99a0},
+  {0x83369e34, 0xed99a1},
+  {0x83369e35, 0xed99a2},
+  {0x83369e36, 0xed99a3},
+  {0x83369e37, 0xed99a4},
+  {0x83369e38, 0xed99a5},
+  {0x83369e39, 0xed99a6},
+  {0x83369f30, 0xed99a7},
+  {0x83369f31, 0xed99a8},
+  {0x83369f32, 0xed99a9},
+  {0x83369f33, 0xed99aa},
+  {0x83369f34, 0xed99ab},
+  {0x83369f35, 0xed99ac},
+  {0x83369f36, 0xed99ad},
+  {0x83369f37, 0xed99ae},
+  {0x83369f38, 0xed99af},
+  {0x83369f39, 0xed99b0},
+  {0x8336a030, 0xed99b1},
+  {0x8336a031, 0xed99b2},
+  {0x8336a032, 0xed99b3},
+  {0x8336a033, 0xed99b4},
+  {0x8336a034, 0xed99b5},
+  {0x8336a035, 0xed99b6},
+  {0x8336a036, 0xed99b7},
+  {0x8336a037, 0xed99b8},
+  {0x8336a038, 0xed99b9},
+  {0x8336a039, 0xed99ba},
+  {0x8336a130, 0xed99bb},
+  {0x8336a131, 0xed99bc},
+  {0x8336a132, 0xed99bd},
+  {0x8336a133, 0xed99be},
+  {0x8336a134, 0xed99bf},
+  {0x8336a135, 0xed9a80},
+  {0x8336a136, 0xed9a81},
+  {0x8336a137, 0xed9a82},
+  {0x8336a138, 0xed9a83},
+  {0x8336a139, 0xed9a84},
+  {0x8336a230, 0xed9a85},
+  {0x8336a231, 0xed9a86},
+  {0x8336a232, 0xed9a87},
+  {0x8336a233, 0xed9a88},
+  {0x8336a234, 0xed9a89},
+  {0x8336a235, 0xed9a8a},
+  {0x8336a236, 0xed9a8b},
+  {0x8336a237, 0xed9a8c},
+  {0x8336a238, 0xed9a8d},
+  {0x8336a239, 0xed9a8e},
+  {0x8336a330, 0xed9a8f},
+  {0x8336a331, 0xed9a90},
+  {0x8336a332, 0xed9a91},
+  {0x8336a333, 0xed9a92},
+  {0x8336a334, 0xed9a93},
+  {0x8336a335, 0xed9a94},
+  {0x8336a336, 0xed9a95},
+  {0x8336a337, 0xed9a96},
+  {0x8336a338, 0xed9a97},
+  {0x8336a339, 0xed9a98},
+  {0x8336a430, 0xed9a99},
+  {0x8336a431, 0xed9a9a},
+  {0x8336a432, 0xed9a9b},
+  {0x8336a433, 0xed9a9c},
+  {0x8336a434, 0xed9a9d},
+  {0x8336a435, 0xed9a9e},
+  {0x8336a436, 0xed9a9f},
+  {0x8336a437, 0xed9aa0},
+  {0x8336a438, 0xed9aa1},
+  {0x8336a439, 0xed9aa2},
+  {0x8336a530, 0xed9aa3},
+  {0x8336a531, 0xed9aa4},
+  {0x8336a532, 0xed9aa5},
+  {0x8336a533, 0xed9aa6},
+  {0x8336a534, 0xed9aa7},
+  {0x8336a535, 0xed9aa8},
+  {0x8336a536, 0xed9aa9},
+  {0x8336a537, 0xed9aaa},
+  {0x8336a538, 0xed9aab},
+  {0x8336a539, 0xed9aac},
+  {0x8336a630, 0xed9aad},
+  {0x8336a631, 0xed9aae},
+  {0x8336a632, 0xed9aaf},
+  {0x8336a633, 0xed9ab0},
+  {0x8336a634, 0xed9ab1},
+  {0x8336a635, 0xed9ab2},
+  {0x8336a636, 0xed9ab3},
+  {0x8336a637, 0xed9ab4},
+  {0x8336a638, 0xed9ab5},
+  {0x8336a639, 0xed9ab6},
+  {0x8336a730, 0xed9ab7},
+  {0x8336a731, 0xed9ab8},
+  {0x8336a732, 0xed9ab9},
+  {0x8336a733, 0xed9aba},
+  {0x8336a734, 0xed9abb},
+  {0x8336a735, 0xed9abc},
+  {0x8336a736, 0xed9abd},
+  {0x8336a737, 0xed9abe},
+  {0x8336a738, 0xed9abf},
+  {0x8336a739, 0xed9b80},
+  {0x8336a830, 0xed9b81},
+  {0x8336a831, 0xed9b82},
+  {0x8336a832, 0xed9b83},
+  {0x8336a833, 0xed9b84},
+  {0x8336a834, 0xed9b85},
+  {0x8336a835, 0xed9b86},
+  {0x8336a836, 0xed9b87},
+  {0x8336a837, 0xed9b88},
+  {0x8336a838, 0xed9b89},
+  {0x8336a839, 0xed9b8a},
+  {0x8336a930, 0xed9b8b},
+  {0x8336a931, 0xed9b8c},
+  {0x8336a932, 0xed9b8d},
+  {0x8336a933, 0xed9b8e},
+  {0x8336a934, 0xed9b8f},
+  {0x8336a935, 0xed9b90},
+  {0x8336a936, 0xed9b91},
+  {0x8336a937, 0xed9b92},
+  {0x8336a938, 0xed9b93},
+  {0x8336a939, 0xed9b94},
+  {0x8336aa30, 0xed9b95},
+  {0x8336aa31, 0xed9b96},
+  {0x8336aa32, 0xed9b97},
+  {0x8336aa33, 0xed9b98},
+  {0x8336aa34, 0xed9b99},
+  {0x8336aa35, 0xed9b9a},
+  {0x8336aa36, 0xed9b9b},
+  {0x8336aa37, 0xed9b9c},
+  {0x8336aa38, 0xed9b9d},
+  {0x8336aa39, 0xed9b9e},
+  {0x8336ab30, 0xed9b9f},
+  {0x8336ab31, 0xed9ba0},
+  {0x8336ab32, 0xed9ba1},
+  {0x8336ab33, 0xed9ba2},
+  {0x8336ab34, 0xed9ba3},
+  {0x8336ab35, 0xed9ba4},
+  {0x8336ab36, 0xed9ba5},
+  {0x8336ab37, 0xed9ba6},
+  {0x8336ab38, 0xed9ba7},
+  {0x8336ab39, 0xed9ba8},
+  {0x8336ac30, 0xed9ba9},
+  {0x8336ac31, 0xed9baa},
+  {0x8336ac32, 0xed9bab},
+  {0x8336ac33, 0xed9bac},
+  {0x8336ac34, 0xed9bad},
+  {0x8336ac35, 0xed9bae},
+  {0x8336ac36, 0xed9baf},
+  {0x8336ac37, 0xed9bb0},
+  {0x8336ac38, 0xed9bb1},
+  {0x8336ac39, 0xed9bb2},
+  {0x8336ad30, 0xed9bb3},
+  {0x8336ad31, 0xed9bb4},
+  {0x8336ad32, 0xed9bb5},
+  {0x8336ad33, 0xed9bb6},
+  {0x8336ad34, 0xed9bb7},
+  {0x8336ad35, 0xed9bb8},
+  {0x8336ad36, 0xed9bb9},
+  {0x8336ad37, 0xed9bba},
+  {0x8336ad38, 0xed9bbb},
+  {0x8336ad39, 0xed9bbc},
+  {0x8336ae30, 0xed9bbd},
+  {0x8336ae31, 0xed9bbe},
+  {0x8336ae32, 0xed9bbf},
+  {0x8336ae33, 0xed9c80},
+  {0x8336ae34, 0xed9c81},
+  {0x8336ae35, 0xed9c82},
+  {0x8336ae36, 0xed9c83},
+  {0x8336ae37, 0xed9c84},
+  {0x8336ae38, 0xed9c85},
+  {0x8336ae39, 0xed9c86},
+  {0x8336af30, 0xed9c87},
+  {0x8336af31, 0xed9c88},
+  {0x8336af32, 0xed9c89},
+  {0x8336af33, 0xed9c8a},
+  {0x8336af34, 0xed9c8b},
+  {0x8336af35, 0xed9c8c},
+  {0x8336af36, 0xed9c8d},
+  {0x8336af37, 0xed9c8e},
+  {0x8336af38, 0xed9c8f},
+  {0x8336af39, 0xed9c90},
+  {0x8336b030, 0xed9c91},
+  {0x8336b031, 0xed9c92},
+  {0x8336b032, 0xed9c93},
+  {0x8336b033, 0xed9c94},
+  {0x8336b034, 0xed9c95},
+  {0x8336b035, 0xed9c96},
+  {0x8336b036, 0xed9c97},
+  {0x8336b037, 0xed9c98},
+  {0x8336b038, 0xed9c99},
+  {0x8336b039, 0xed9c9a},
+  {0x8336b130, 0xed9c9b},
+  {0x8336b131, 0xed9c9c},
+  {0x8336b132, 0xed9c9d},
+  {0x8336b133, 0xed9c9e},
+  {0x8336b134, 0xed9c9f},
+  {0x8336b135, 0xed9ca0},
+  {0x8336b136, 0xed9ca1},
+  {0x8336b137, 0xed9ca2},
+  {0x8336b138, 0xed9ca3},
+  {0x8336b139, 0xed9ca4},
+  {0x8336b230, 0xed9ca5},
+  {0x8336b231, 0xed9ca6},
+  {0x8336b232, 0xed9ca7},
+  {0x8336b233, 0xed9ca8},
+  {0x8336b234, 0xed9ca9},
+  {0x8336b235, 0xed9caa},
+  {0x8336b236, 0xed9cab},
+  {0x8336b237, 0xed9cac},
+  {0x8336b238, 0xed9cad},
+  {0x8336b239, 0xed9cae},
+  {0x8336b330, 0xed9caf},
+  {0x8336b331, 0xed9cb0},
+  {0x8336b332, 0xed9cb1},
+  {0x8336b333, 0xed9cb2},
+  {0x8336b334, 0xed9cb3},
+  {0x8336b335, 0xed9cb4},
+  {0x8336b336, 0xed9cb5},
+  {0x8336b337, 0xed9cb6},
+  {0x8336b338, 0xed9cb7},
+  {0x8336b339, 0xed9cb8},
+  {0x8336b430, 0xed9cb9},
+  {0x8336b431, 0xed9cba},
+  {0x8336b432, 0xed9cbb},
+  {0x8336b433, 0xed9cbc},
+  {0x8336b434, 0xed9cbd},
+  {0x8336b435, 0xed9cbe},
+  {0x8336b436, 0xed9cbf},
+  {0x8336b437, 0xed9d80},
+  {0x8336b438, 0xed9d81},
+  {0x8336b439, 0xed9d82},
+  {0x8336b530, 0xed9d83},
+  {0x8336b531, 0xed9d84},
+  {0x8336b532, 0xed9d85},
+  {0x8336b533, 0xed9d86},
+  {0x8336b534, 0xed9d87},
+  {0x8336b535, 0xed9d88},
+  {0x8336b536, 0xed9d89},
+  {0x8336b537, 0xed9d8a},
+  {0x8336b538, 0xed9d8b},
+  {0x8336b539, 0xed9d8c},
+  {0x8336b630, 0xed9d8d},
+  {0x8336b631, 0xed9d8e},
+  {0x8336b632, 0xed9d8f},
+  {0x8336b633, 0xed9d90},
+  {0x8336b634, 0xed9d91},
+  {0x8336b635, 0xed9d92},
+  {0x8336b636, 0xed9d93},
+  {0x8336b637, 0xed9d94},
+  {0x8336b638, 0xed9d95},
+  {0x8336b639, 0xed9d96},
+  {0x8336b730, 0xed9d97},
+  {0x8336b731, 0xed9d98},
+  {0x8336b732, 0xed9d99},
+  {0x8336b733, 0xed9d9a},
+  {0x8336b734, 0xed9d9b},
+  {0x8336b735, 0xed9d9c},
+  {0x8336b736, 0xed9d9d},
+  {0x8336b737, 0xed9d9e},
+  {0x8336b738, 0xed9d9f},
+  {0x8336b739, 0xed9da0},
+  {0x8336b830, 0xed9da1},
+  {0x8336b831, 0xed9da2},
+  {0x8336b832, 0xed9da3},
+  {0x8336b833, 0xed9da4},
+  {0x8336b834, 0xed9da5},
+  {0x8336b835, 0xed9da6},
+  {0x8336b836, 0xed9da7},
+  {0x8336b837, 0xed9da8},
+  {0x8336b838, 0xed9da9},
+  {0x8336b839, 0xed9daa},
+  {0x8336b930, 0xed9dab},
+  {0x8336b931, 0xed9dac},
+  {0x8336b932, 0xed9dad},
+  {0x8336b933, 0xed9dae},
+  {0x8336b934, 0xed9daf},
+  {0x8336b935, 0xed9db0},
+  {0x8336b936, 0xed9db1},
+  {0x8336b937, 0xed9db2},
+  {0x8336b938, 0xed9db3},
+  {0x8336b939, 0xed9db4},
+  {0x8336ba30, 0xed9db5},
+  {0x8336ba31, 0xed9db6},
+  {0x8336ba32, 0xed9db7},
+  {0x8336ba33, 0xed9db8},
+  {0x8336ba34, 0xed9db9},
+  {0x8336ba35, 0xed9dba},
+  {0x8336ba36, 0xed9dbb},
+  {0x8336ba37, 0xed9dbc},
+  {0x8336ba38, 0xed9dbd},
+  {0x8336ba39, 0xed9dbe},
+  {0x8336bb30, 0xed9dbf},
+  {0x8336bb31, 0xed9e80},
+  {0x8336bb32, 0xed9e81},
+  {0x8336bb33, 0xed9e82},
+  {0x8336bb34, 0xed9e83},
+  {0x8336bb35, 0xed9e84},
+  {0x8336bb36, 0xed9e85},
+  {0x8336bb37, 0xed9e86},
+  {0x8336bb38, 0xed9e87},
+  {0x8336bb39, 0xed9e88},
+  {0x8336bc30, 0xed9e89},
+  {0x8336bc31, 0xed9e8a},
+  {0x8336bc32, 0xed9e8b},
+  {0x8336bc33, 0xed9e8c},
+  {0x8336bc34, 0xed9e8d},
+  {0x8336bc35, 0xed9e8e},
+  {0x8336bc36, 0xed9e8f},
+  {0x8336bc37, 0xed9e90},
+  {0x8336bc38, 0xed9e91},
+  {0x8336bc39, 0xed9e92},
+  {0x8336bd30, 0xed9e93},
+  {0x8336bd31, 0xed9e94},
+  {0x8336bd32, 0xed9e95},
+  {0x8336bd33, 0xed9e96},
+  {0x8336bd34, 0xed9e97},
+  {0x8336bd35, 0xed9e98},
+  {0x8336bd36, 0xed9e99},
+  {0x8336bd37, 0xed9e9a},
+  {0x8336bd38, 0xed9e9b},
+  {0x8336bd39, 0xed9e9c},
+  {0x8336be30, 0xed9e9d},
+  {0x8336be31, 0xed9e9e},
+  {0x8336be32, 0xed9e9f},
+  {0x8336be33, 0xed9ea0},
+  {0x8336be34, 0xed9ea1},
+  {0x8336be35, 0xed9ea2},
+  {0x8336be36, 0xed9ea3},
+  {0x8336be37, 0xed9ea4},
+  {0x8336be38, 0xed9ea5},
+  {0x8336be39, 0xed9ea6},
+  {0x8336bf30, 0xed9ea7},
+  {0x8336bf31, 0xed9ea8},
+  {0x8336bf32, 0xed9ea9},
+  {0x8336bf33, 0xed9eaa},
+  {0x8336bf34, 0xed9eab},
+  {0x8336bf35, 0xed9eac},
+  {0x8336bf36, 0xed9ead},
+  {0x8336bf37, 0xed9eae},
+  {0x8336bf38, 0xed9eaf},
+  {0x8336bf39, 0xed9eb0},
+  {0x8336c030, 0xed9eb1},
+  {0x8336c031, 0xed9eb2},
+  {0x8336c032, 0xed9eb3},
+  {0x8336c033, 0xed9eb4},
+  {0x8336c034, 0xed9eb5},
+  {0x8336c035, 0xed9eb6},
+  {0x8336c036, 0xed9eb7},
+  {0x8336c037, 0xed9eb8},
+  {0x8336c038, 0xed9eb9},
+  {0x8336c039, 0xed9eba},
+  {0x8336c130, 0xed9ebb},
+  {0x8336c131, 0xed9ebc},
+  {0x8336c132, 0xed9ebd},
+  {0x8336c133, 0xed9ebe},
+  {0x8336c134, 0xed9ebf},
+  {0x8336c135, 0xed9f80},
+  {0x8336c136, 0xed9f81},
+  {0x8336c137, 0xed9f82},
+  {0x8336c138, 0xed9f83},
+  {0x8336c139, 0xed9f84},
+  {0x8336c230, 0xed9f85},
+  {0x8336c231, 0xed9f86},
+  {0x8336c232, 0xed9f87},
+  {0x8336c233, 0xed9f88},
+  {0x8336c234, 0xed9f89},
+  {0x8336c235, 0xed9f8a},
+  {0x8336c236, 0xed9f8b},
+  {0x8336c237, 0xed9f8c},
+  {0x8336c238, 0xed9f8d},
+  {0x8336c239, 0xed9f8e},
+  {0x8336c330, 0xed9f8f},
+  {0x8336c331, 0xed9f90},
+  {0x8336c332, 0xed9f91},
+  {0x8336c333, 0xed9f92},
+  {0x8336c334, 0xed9f93},
+  {0x8336c335, 0xed9f94},
+  {0x8336c336, 0xed9f95},
+  {0x8336c337, 0xed9f96},
+  {0x8336c338, 0xed9f97},
+  {0x8336c339, 0xed9f98},
+  {0x8336c430, 0xed9f99},
+  {0x8336c431, 0xed9f9a},
+  {0x8336c432, 0xed9f9b},
+  {0x8336c433, 0xed9f9c},
+  {0x8336c434, 0xed9f9d},
+  {0x8336c435, 0xed9f9e},
+  {0x8336c436, 0xed9f9f},
+  {0x8336c437, 0xed9fa0},
+  {0x8336c438, 0xed9fa1},
+  {0x8336c439, 0xed9fa2},
+  {0x8336c530, 0xed9fa3},
+  {0x8336c531, 0xed9fa4},
+  {0x8336c532, 0xed9fa5},
+  {0x8336c533, 0xed9fa6},
+  {0x8336c534, 0xed9fa7},
+  {0x8336c535, 0xed9fa8},
+  {0x8336c536, 0xed9fa9},
+  {0x8336c537, 0xed9faa},
+  {0x8336c538, 0xed9fab},
+  {0x8336c539, 0xed9fac},
+  {0x8336c630, 0xed9fad},
+  {0x8336c631, 0xed9fae},
+  {0x8336c632, 0xed9faf},
+  {0x8336c633, 0xed9fb0},
+  {0x8336c634, 0xed9fb1},
+  {0x8336c635, 0xed9fb2},
+  {0x8336c636, 0xed9fb3},
+  {0x8336c637, 0xed9fb4},
+  {0x8336c638, 0xed9fb5},
+  {0x8336c639, 0xed9fb6},
+  {0x8336c730, 0xed9fb7},
+  {0x8336c731, 0xed9fb8},
+  {0x8336c732, 0xed9fb9},
+  {0x8336c733, 0xed9fba},
+  {0x8336c734, 0xed9fbb},
+  {0x8336c735, 0xed9fbc},
+  {0x8336c736, 0xed9fbd},
+  {0x8336c737, 0xed9fbe},
+  {0x8336c738, 0xed9fbf},
+  {0x8336c739, 0xee9dac},
+  {0x8336c830, 0xee9f88},
+  {0x8336c831, 0xee9fa7},
+  {0x8336c832, 0xee9fa8},
+  {0x8336c833, 0xee9fa9},
+  {0x8336c834, 0xee9faa},
+  {0x8336c835, 0xee9fab},
+  {0x8336c836, 0xee9fac},
+  {0x8336c837, 0xee9fad},
+  {0x8336c838, 0xee9fae},
+  {0x8336c839, 0xee9faf},
+  {0x8336c930, 0xee9fb0},
+  {0x8336c931, 0xee9fb1},
+  {0x8336c932, 0xee9fb2},
+  {0x8336c933, 0xee9fb3},
+  {0x8336c934, 0xeea095},
+  {0x8336c935, 0xeea099},
+  {0x8336c936, 0xeea09a},
+  {0x8336c937, 0xeea09b},
+  {0x8336c938, 0xeea09c},
+  {0x8336c939, 0xeea09d},
+  {0x8336ca30, 0xeea09f},
+  {0x8336ca31, 0xeea0a0},
+  {0x8336ca32, 0xeea0a1},
+  {0x8336ca33, 0xeea0a2},
+  {0x8336ca34, 0xeea0a3},
+  {0x8336ca35, 0xeea0a4},
+  {0x8336ca36, 0xeea0a5},
+  {0x8336ca37, 0xeea0a7},
+  {0x8336ca38, 0xeea0a8},
+  {0x8336ca39, 0xeea0a9},
+  {0x8336cb30, 0xeea0aa},
+  {0x8336cb31, 0xeea0ad},
+  {0x8336cb32, 0xeea0ae},
+  {0x8336cb33, 0xeea0af},
+  {0x8336cb34, 0xeea0b0},
+  {0x8336cb35, 0xeea0b3},
+  {0x8336cb36, 0xeea0b4},
+  {0x8336cb37, 0xeea0b5},
+  {0x8336cb38, 0xeea0b6},
+  {0x8336cb39, 0xeea0b7},
+  {0x8336cc30, 0xeea0b8},
+  {0x8336cc31, 0xeea0b9},
+  {0x8336cc32, 0xeea0ba},
+  {0x8336cc33, 0xeea0bc},
+  {0x8336cc34, 0xeea0bd},
+  {0x8336cc35, 0xeea0be},
+  {0x8336cc36, 0xeea0bf},
+  {0x8336cc37, 0xeea180},
+  {0x8336cc38, 0xeea181},
+  {0x8336cc39, 0xeea182},
+  {0x8336cd30, 0xeea184},
+  {0x8336cd31, 0xeea185},
+  {0x8336cd32, 0xeea186},
+  {0x8336cd33, 0xeea187},
+  {0x8336cd34, 0xeea188},
+  {0x8336cd35, 0xeea189},
+  {0x8336cd36, 0xeea18a},
+  {0x8336cd37, 0xeea18b},
+  {0x8336cd38, 0xeea18c},
+  {0x8336cd39, 0xeea18d},
+  {0x8336ce30, 0xeea18e},
+  {0x8336ce31, 0xeea18f},
+  {0x8336ce32, 0xeea190},
+  {0x8336ce33, 0xeea191},
+  {0x8336ce34, 0xeea192},
+  {0x8336ce35, 0xeea193},
+  {0x8336ce36, 0xeea196},
+  {0x8336ce37, 0xeea197},
+  {0x8336ce38, 0xeea198},
+  {0x8336ce39, 0xeea199},
+  {0x8336cf30, 0xeea19a},
+  {0x8336cf31, 0xeea19b},
+  {0x8336cf32, 0xeea19c},
+  {0x8336cf33, 0xeea19d},
+  {0x8336cf34, 0xeea19e},
+  {0x8336cf35, 0xeea19f},
+  {0x8336cf36, 0xeea1a0},
+  {0x8336cf37, 0xeea1a1},
+  {0x8336cf38, 0xeea1a2},
+  {0x8336cf39, 0xeea1a3},
+  {0x8336d030, 0xeea1a5},
+  {0x8336d031, 0xeea1a6},
+  {0x8336d032, 0xeea1a7},
+  {0x8336d033, 0xeea1a8},
+  {0x8336d034, 0xeea1a9},
+  {0x8336d035, 0xeea1aa},
+  {0x8336d036, 0xeea1ab},
+  {0x8336d037, 0xeea1ac},
+  {0x8336d038, 0xeea1ad},
+  {0x8336d039, 0xeea1ae},
+  {0x8336d130, 0xeea1af},
+  {0x8336d131, 0xeea1b0},
+  {0x8336d132, 0xeea1b1},
+  {0x8336d133, 0xeea1b2},
+  {0x8336d134, 0xeea1b3},
+  {0x8336d135, 0xeea1b4},
+  {0x8336d136, 0xeea1b5},
+  {0x8336d137, 0xeea1b6},
+  {0x8336d138, 0xeea1b7},
+  {0x8336d139, 0xeea1b8},
+  {0x8336d230, 0xeea1b9},
+  {0x8336d231, 0xeea1ba},
+  {0x8336d232, 0xeea1bb},
+  {0x8336d233, 0xeea1bc},
+  {0x8336d234, 0xeea1bd},
+  {0x8336d235, 0xeea1be},
+  {0x8336d236, 0xeea1bf},
+  {0x8336d237, 0xeea280},
+  {0x8336d238, 0xeea281},
+  {0x8336d239, 0xeea282},
+  {0x8336d330, 0xeea283},
+  {0x8336d331, 0xeea284},
+  {0x8336d332, 0xeea285},
+  {0x8336d333, 0xeea286},
+  {0x8336d334, 0xeea287},
+  {0x8336d335, 0xeea288},
+  {0x8336d336, 0xeea289},
+  {0x8336d337, 0xeea28a},
+  {0x8336d338, 0xeea28b},
+  {0x8336d339, 0xeea28c},
+  {0x8336d430, 0xeea28d},
+  {0x8336d431, 0xeea28e},
+  {0x8336d432, 0xeea28f},
+  {0x8336d433, 0xeea290},
+  {0x8336d434, 0xeea291},
+  {0x8336d435, 0xeea292},
+  {0x8336d436, 0xeea293},
+  {0x8336d437, 0xeea294},
+  {0x8336d438, 0xeea295},
+  {0x8336d439, 0xeea296},
+  {0x8336d530, 0xeea297},
+  {0x8336d531, 0xeea298},
+  {0x8336d532, 0xeea299},
+  {0x8336d533, 0xeea29a},
+  {0x8336d534, 0xeea29b},
+  {0x8336d535, 0xeea29c},
+  {0x8336d536, 0xeea29d},
+  {0x8336d537, 0xeea29e},
+  {0x8336d538, 0xeea29f},
+  {0x8336d539, 0xeea2a0},
+  {0x8336d630, 0xeea2a1},
+  {0x8336d631, 0xeea2a2},
+  {0x8336d632, 0xeea2a3},
+  {0x8336d633, 0xeea2a4},
+  {0x8336d634, 0xeea2a5},
+  {0x8336d635, 0xeea2a6},
+  {0x8336d636, 0xeea2a7},
+  {0x8336d637, 0xeea2a8},
+  {0x8336d638, 0xeea2a9},
+  {0x8336d639, 0xeea2aa},
+  {0x8336d730, 0xeea2ab},
+  {0x8336d731, 0xeea2ac},
+  {0x8336d732, 0xeea2ad},
+  {0x8336d733, 0xeea2ae},
+  {0x8336d734, 0xeea2af},
+  {0x8336d735, 0xeea2b0},
+  {0x8336d736, 0xeea2b1},
+  {0x8336d737, 0xeea2b2},
+  {0x8336d738, 0xeea2b3},
+  {0x8336d739, 0xeea2b4},
+  {0x8336d830, 0xeea2b5},
+  {0x8336d831, 0xeea2b6},
+  {0x8336d832, 0xeea2b7},
+  {0x8336d833, 0xeea2b8},
+  {0x8336d834, 0xeea2b9},
+  {0x8336d835, 0xeea2ba},
+  {0x8336d836, 0xeea2bb},
+  {0x8336d837, 0xeea2bc},
+  {0x8336d838, 0xeea2bd},
+  {0x8336d839, 0xeea2be},
+  {0x8336d930, 0xeea2bf},
+  {0x8336d931, 0xeea380},
+  {0x8336d932, 0xeea381},
+  {0x8336d933, 0xeea382},
+  {0x8336d934, 0xeea383},
+  {0x8336d935, 0xeea384},
+  {0x8336d936, 0xeea385},
+  {0x8336d937, 0xeea386},
+  {0x8336d938, 0xeea387},
+  {0x8336d939, 0xeea388},
+  {0x8336da30, 0xeea389},
+  {0x8336da31, 0xeea38a},
+  {0x8336da32, 0xeea38b},
+  {0x8336da33, 0xeea38c},
+  {0x8336da34, 0xeea38d},
+  {0x8336da35, 0xeea38e},
+  {0x8336da36, 0xeea38f},
+  {0x8336da37, 0xeea390},
+  {0x8336da38, 0xeea391},
+  {0x8336da39, 0xeea392},
+  {0x8336db30, 0xeea393},
+  {0x8336db31, 0xeea394},
+  {0x8336db32, 0xeea395},
+  {0x8336db33, 0xeea396},
+  {0x8336db34, 0xeea397},
+  {0x8336db35, 0xeea398},
+  {0x8336db36, 0xeea399},
+  {0x8336db37, 0xeea39a},
+  {0x8336db38, 0xeea39b},
+  {0x8336db39, 0xeea39c},
+  {0x8336dc30, 0xeea39d},
+  {0x8336dc31, 0xeea39e},
+  {0x8336dc32, 0xeea39f},
+  {0x8336dc33, 0xeea3a0},
+  {0x8336dc34, 0xeea3a1},
+  {0x8336dc35, 0xeea3a2},
+  {0x8336dc36, 0xeea3a3},
+  {0x8336dc37, 0xeea3a4},
+  {0x8336dc38, 0xeea3a5},
+  {0x8336dc39, 0xeea3a6},
+  {0x8336dd30, 0xeea3a7},
+  {0x8336dd31, 0xeea3a8},
+  {0x8336dd32, 0xeea3a9},
+  {0x8336dd33, 0xeea3aa},
+  {0x8336dd34, 0xeea3ab},
+  {0x8336dd35, 0xeea3ac},
+  {0x8336dd36, 0xeea3ad},
+  {0x8336dd37, 0xeea3ae},
+  {0x8336dd38, 0xeea3af},
+  {0x8336dd39, 0xeea3b0},
+  {0x8336de30, 0xeea3b1},
+  {0x8336de31, 0xeea3b2},
+  {0x8336de32, 0xeea3b3},
+  {0x8336de33, 0xeea3b4},
+  {0x8336de34, 0xeea3b5},
+  {0x8336de35, 0xeea3b6},
+  {0x8336de36, 0xeea3b7},
+  {0x8336de37, 0xeea3b8},
+  {0x8336de38, 0xeea3b9},
+  {0x8336de39, 0xeea3ba},
+  {0x8336df30, 0xeea3bb},
+  {0x8336df31, 0xeea3bc},
+  {0x8336df32, 0xeea3bd},
+  {0x8336df33, 0xeea3be},
+  {0x8336df34, 0xeea3bf},
+  {0x8336df35, 0xeea480},
+  {0x8336df36, 0xeea481},
+  {0x8336df37, 0xeea482},
+  {0x8336df38, 0xeea483},
+  {0x8336df39, 0xeea484},
+  {0x8336e030, 0xeea485},
+  {0x8336e031, 0xeea486},
+  {0x8336e032, 0xeea487},
+  {0x8336e033, 0xeea488},
+  {0x8336e034, 0xeea489},
+  {0x8336e035, 0xeea48a},
+  {0x8336e036, 0xeea48b},
+  {0x8336e037, 0xeea48c},
+  {0x8336e038, 0xeea48d},
+  {0x8336e039, 0xeea48e},
+  {0x8336e130, 0xeea48f},
+  {0x8336e131, 0xeea490},
+  {0x8336e132, 0xeea491},
+  {0x8336e133, 0xeea492},
+  {0x8336e134, 0xeea493},
+  {0x8336e135, 0xeea494},
+  {0x8336e136, 0xeea495},
+  {0x8336e137, 0xeea496},
+  {0x8336e138, 0xeea497},
+  {0x8336e139, 0xeea498},
+  {0x8336e230, 0xeea499},
+  {0x8336e231, 0xeea49a},
+  {0x8336e232, 0xeea49b},
+  {0x8336e233, 0xeea49c},
+  {0x8336e234, 0xeea49d},
+  {0x8336e235, 0xeea49e},
+  {0x8336e236, 0xeea49f},
+  {0x8336e237, 0xeea4a0},
+  {0x8336e238, 0xeea4a1},
+  {0x8336e239, 0xeea4a2},
+  {0x8336e330, 0xeea4a3},
+  {0x8336e331, 0xeea4a4},
+  {0x8336e332, 0xeea4a5},
+  {0x8336e333, 0xeea4a6},
+  {0x8336e334, 0xeea4a7},
+  {0x8336e335, 0xeea4a8},
+  {0x8336e336, 0xeea4a9},
+  {0x8336e337, 0xeea4aa},
+  {0x8336e338, 0xeea4ab},
+  {0x8336e339, 0xeea4ac},
+  {0x8336e430, 0xeea4ad},
+  {0x8336e431, 0xeea4ae},
+  {0x8336e432, 0xeea4af},
+  {0x8336e433, 0xeea4b0},
+  {0x8336e434, 0xeea4b1},
+  {0x8336e435, 0xeea4b2},
+  {0x8336e436, 0xeea4b3},
+  {0x8336e437, 0xeea4b4},
+  {0x8336e438, 0xeea4b5},
+  {0x8336e439, 0xeea4b6},
+  {0x8336e530, 0xeea4b7},
+  {0x8336e531, 0xeea4b8},
+  {0x8336e532, 0xeea4b9},
+  {0x8336e533, 0xeea4ba},
+  {0x8336e534, 0xeea4bb},
+  {0x8336e535, 0xeea4bc},
+  {0x8336e536, 0xeea4bd},
+  {0x8336e537, 0xeea4be},
+  {0x8336e538, 0xeea4bf},
+  {0x8336e539, 0xeea580},
+  {0x8336e630, 0xeea581},
+  {0x8336e631, 0xeea582},
+  {0x8336e632, 0xeea583},
+  {0x8336e633, 0xeea584},
+  {0x8336e634, 0xeea585},
+  {0x8336e635, 0xeea586},
+  {0x8336e636, 0xeea587},
+  {0x8336e637, 0xeea588},
+  {0x8336e638, 0xeea589},
+  {0x8336e639, 0xeea58a},
+  {0x8336e730, 0xeea58b},
+  {0x8336e731, 0xeea58c},
+  {0x8336e732, 0xeea58d},
+  {0x8336e733, 0xeea58e},
+  {0x8336e734, 0xeea58f},
+  {0x8336e735, 0xeea590},
+  {0x8336e736, 0xeea591},
+  {0x8336e737, 0xeea592},
+  {0x8336e738, 0xeea593},
+  {0x8336e739, 0xeea594},
+  {0x8336e830, 0xeea595},
+  {0x8336e831, 0xeea596},
+  {0x8336e832, 0xeea597},
+  {0x8336e833, 0xeea598},
+  {0x8336e834, 0xeea599},
+  {0x8336e835, 0xeea59a},
+  {0x8336e836, 0xeea59b},
+  {0x8336e837, 0xeea59c},
+  {0x8336e838, 0xeea59d},
+  {0x8336e839, 0xeea59e},
+  {0x8336e930, 0xeea59f},
+  {0x8336e931, 0xeea5a0},
+  {0x8336e932, 0xeea5a1},
+  {0x8336e933, 0xeea5a2},
+  {0x8336e934, 0xeea5a3},
+  {0x8336e935, 0xeea5a4},
+  {0x8336e936, 0xeea5a5},
+  {0x8336e937, 0xeea5a6},
+  {0x8336e938, 0xeea5a7},
+  {0x8336e939, 0xeea5a8},
+  {0x8336ea30, 0xeea5a9},
+  {0x8336ea31, 0xeea5aa},
+  {0x8336ea32, 0xeea5ab},
+  {0x8336ea33, 0xeea5ac},
+  {0x8336ea34, 0xeea5ad},
+  {0x8336ea35, 0xeea5ae},
+  {0x8336ea36, 0xeea5af},
+  {0x8336ea37, 0xeea5b0},
+  {0x8336ea38, 0xeea5b1},
+  {0x8336ea39, 0xeea5b2},
+  {0x8336eb30, 0xeea5b3},
+  {0x8336eb31, 0xeea5b4},
+  {0x8336eb32, 0xeea5b5},
+  {0x8336eb33, 0xeea5b6},
+  {0x8336eb34, 0xeea5b7},
+  {0x8336eb35, 0xeea5b8},
+  {0x8336eb36, 0xeea5b9},
+  {0x8336eb37, 0xeea5ba},
+  {0x8336eb38, 0xeea5bb},
+  {0x8336eb39, 0xeea5bc},
+  {0x8336ec30, 0xeea5bd},
+  {0x8336ec31, 0xeea5be},
+  {0x8336ec32, 0xeea5bf},
+  {0x8336ec33, 0xeea680},
+  {0x8336ec34, 0xeea681},
+  {0x8336ec35, 0xeea682},
+  {0x8336ec36, 0xeea683},
+  {0x8336ec37, 0xeea684},
+  {0x8336ec38, 0xeea685},
+  {0x8336ec39, 0xeea686},
+  {0x8336ed30, 0xeea687},
+  {0x8336ed31, 0xeea688},
+  {0x8336ed32, 0xeea689},
+  {0x8336ed33, 0xeea68a},
+  {0x8336ed34, 0xeea68b},
+  {0x8336ed35, 0xeea68c},
+  {0x8336ed36, 0xeea68d},
+  {0x8336ed37, 0xeea68e},
+  {0x8336ed38, 0xeea68f},
+  {0x8336ed39, 0xeea690},
+  {0x8336ee30, 0xeea691},
+  {0x8336ee31, 0xeea692},
+  {0x8336ee32, 0xeea693},
+  {0x8336ee33, 0xeea694},
+  {0x8336ee34, 0xeea695},
+  {0x8336ee35, 0xeea696},
+  {0x8336ee36, 0xeea697},
+  {0x8336ee37, 0xeea698},
+  {0x8336ee38, 0xeea699},
+  {0x8336ee39, 0xeea69a},
+  {0x8336ef30, 0xeea69b},
+  {0x8336ef31, 0xeea69c},
+  {0x8336ef32, 0xeea69d},
+  {0x8336ef33, 0xeea69e},
+  {0x8336ef34, 0xeea69f},
+  {0x8336ef35, 0xeea6a0},
+  {0x8336ef36, 0xeea6a1},
+  {0x8336ef37, 0xeea6a2},
+  {0x8336ef38, 0xeea6a3},
+  {0x8336ef39, 0xeea6a4},
+  {0x8336f030, 0xeea6a5},
+  {0x8336f031, 0xeea6a6},
+  {0x8336f032, 0xeea6a7},
+  {0x8336f033, 0xeea6a8},
+  {0x8336f034, 0xeea6a9},
+  {0x8336f035, 0xeea6aa},
+  {0x8336f036, 0xeea6ab},
+  {0x8336f037, 0xeea6ac},
+  {0x8336f038, 0xeea6ad},
+  {0x8336f039, 0xeea6ae},
+  {0x8336f130, 0xeea6af},
+  {0x8336f131, 0xeea6b0},
+  {0x8336f132, 0xeea6b1},
+  {0x8336f133, 0xeea6b2},
+  {0x8336f134, 0xeea6b3},
+  {0x8336f135, 0xeea6b4},
+  {0x8336f136, 0xeea6b5},
+  {0x8336f137, 0xeea6b6},
+  {0x8336f138, 0xeea6b7},
+  {0x8336f139, 0xeea6b8},
+  {0x8336f230, 0xeea6b9},
+  {0x8336f231, 0xeea6ba},
+  {0x8336f232, 0xeea6bb},
+  {0x8336f233, 0xeea6bc},
+  {0x8336f234, 0xeea6bd},
+  {0x8336f235, 0xeea6be},
+  {0x8336f236, 0xeea6bf},
+  {0x8336f237, 0xeea780},
+  {0x8336f238, 0xeea781},
+  {0x8336f239, 0xeea782},
+  {0x8336f330, 0xeea783},
+  {0x8336f331, 0xeea784},
+  {0x8336f332, 0xeea785},
+  {0x8336f333, 0xeea786},
+  {0x8336f334, 0xeea787},
+  {0x8336f335, 0xeea788},
+  {0x8336f336, 0xeea789},
+  {0x8336f337, 0xeea78a},
+  {0x8336f338, 0xeea78b},
+  {0x8336f339, 0xeea78c},
+  {0x8336f430, 0xeea78d},
+  {0x8336f431, 0xeea78e},
+  {0x8336f432, 0xeea78f},
+  {0x8336f433, 0xeea790},
+  {0x8336f434, 0xeea791},
+  {0x8336f435, 0xeea792},
+  {0x8336f436, 0xeea793},
+  {0x8336f437, 0xeea794},
+  {0x8336f438, 0xeea795},
+  {0x8336f439, 0xeea796},
+  {0x8336f530, 0xeea797},
+  {0x8336f531, 0xeea798},
+  {0x8336f532, 0xeea799},
+  {0x8336f533, 0xeea79a},
+  {0x8336f534, 0xeea79b},
+  {0x8336f535, 0xeea79c},
+  {0x8336f536, 0xeea79d},
+  {0x8336f537, 0xeea79e},
+  {0x8336f538, 0xeea79f},
+  {0x8336f539, 0xeea7a0},
+  {0x8336f630, 0xeea7a1},
+  {0x8336f631, 0xeea7a2},
+  {0x8336f632, 0xeea7a3},
+  {0x8336f633, 0xeea7a4},
+  {0x8336f634, 0xeea7a5},
+  {0x8336f635, 0xeea7a6},
+  {0x8336f636, 0xeea7a7},
+  {0x8336f637, 0xeea7a8},
+  {0x8336f638, 0xeea7a9},
+  {0x8336f639, 0xeea7aa},
+  {0x8336f730, 0xeea7ab},
+  {0x8336f731, 0xeea7ac},
+  {0x8336f732, 0xeea7ad},
+  {0x8336f733, 0xeea7ae},
+  {0x8336f734, 0xeea7af},
+  {0x8336f735, 0xeea7b0},
+  {0x8336f736, 0xeea7b1},
+  {0x8336f737, 0xeea7b2},
+  {0x8336f738, 0xeea7b3},
+  {0x8336f739, 0xeea7b4},
+  {0x8336f830, 0xeea7b5},
+  {0x8336f831, 0xeea7b6},
+  {0x8336f832, 0xeea7b7},
+  {0x8336f833, 0xeea7b8},
+  {0x8336f834, 0xeea7b9},
+  {0x8336f835, 0xeea7ba},
+  {0x8336f836, 0xeea7bb},
+  {0x8336f837, 0xeea7bc},
+  {0x8336f838, 0xeea7bd},
+  {0x8336f839, 0xeea7be},
+  {0x8336f930, 0xeea7bf},
+  {0x8336f931, 0xeea880},
+  {0x8336f932, 0xeea881},
+  {0x8336f933, 0xeea882},
+  {0x8336f934, 0xeea883},
+  {0x8336f935, 0xeea884},
+  {0x8336f936, 0xeea885},
+  {0x8336f937, 0xeea886},
+  {0x8336f938, 0xeea887},
+  {0x8336f939, 0xeea888},
+  {0x8336fa30, 0xeea889},
+  {0x8336fa31, 0xeea88a},
+  {0x8336fa32, 0xeea88b},
+  {0x8336fa33, 0xeea88c},
+  {0x8336fa34, 0xeea88d},
+  {0x8336fa35, 0xeea88e},
+  {0x8336fa36, 0xeea88f},
+  {0x8336fa37, 0xeea890},
+  {0x8336fa38, 0xeea891},
+  {0x8336fa39, 0xeea892},
+  {0x8336fb30, 0xeea893},
+  {0x8336fb31, 0xeea894},
+  {0x8336fb32, 0xeea895},
+  {0x8336fb33, 0xeea896},
+  {0x8336fb34, 0xeea897},
+  {0x8336fb35, 0xeea898},
+  {0x8336fb36, 0xeea899},
+  {0x8336fb37, 0xeea89a},
+  {0x8336fb38, 0xeea89b},
+  {0x8336fb39, 0xeea89c},
+  {0x8336fc30, 0xeea89d},
+  {0x8336fc31, 0xeea89e},
+  {0x8336fc32, 0xeea89f},
+  {0x8336fc33, 0xeea8a0},
+  {0x8336fc34, 0xeea8a1},
+  {0x8336fc35, 0xeea8a2},
+  {0x8336fc36, 0xeea8a3},
+  {0x8336fc37, 0xeea8a4},
+  {0x8336fc38, 0xeea8a5},
+  {0x8336fc39, 0xeea8a6},
+  {0x8336fd30, 0xeea8a7},
+  {0x8336fd31, 0xeea8a8},
+  {0x8336fd32, 0xeea8a9},
+  {0x8336fd33, 0xeea8aa},
+  {0x8336fd34, 0xeea8ab},
+  {0x8336fd35, 0xeea8ac},
+  {0x8336fd36, 0xeea8ad},
+  {0x8336fd37, 0xeea8ae},
+  {0x8336fd38, 0xeea8af},
+  {0x8336fd39, 0xeea8b0},
+  {0x8336fe30, 0xeea8b1},
+  {0x8336fe31, 0xeea8b2},
+  {0x8336fe32, 0xeea8b3},
+  {0x8336fe33, 0xeea8b4},
+  {0x8336fe34, 0xeea8b5},
+  {0x8336fe35, 0xeea8b6},
+  {0x8336fe36, 0xeea8b7},
+  {0x8336fe37, 0xeea8b8},
+  {0x8336fe38, 0xeea8b9},
+  {0x8336fe39, 0xeea8ba},
+  {0x83378130, 0xeea8bb},
+  {0x83378131, 0xeea8bc},
+  {0x83378132, 0xeea8bd},
+  {0x83378133, 0xeea8be},
+  {0x83378134, 0xeea8bf},
+  {0x83378135, 0xeea980},
+  {0x83378136, 0xeea981},
+  {0x83378137, 0xeea982},
+  {0x83378138, 0xeea983},
+  {0x83378139, 0xeea984},
+  {0x83378230, 0xeea985},
+  {0x83378231, 0xeea986},
+  {0x83378232, 0xeea987},
+  {0x83378233, 0xeea988},
+  {0x83378234, 0xeea989},
+  {0x83378235, 0xeea98a},
+  {0x83378236, 0xeea98b},
+  {0x83378237, 0xeea98c},
+  {0x83378238, 0xeea98d},
+  {0x83378239, 0xeea98e},
+  {0x83378330, 0xeea98f},
+  {0x83378331, 0xeea990},
+  {0x83378332, 0xeea991},
+  {0x83378333, 0xeea992},
+  {0x83378334, 0xeea993},
+  {0x83378335, 0xeea994},
+  {0x83378336, 0xeea995},
+  {0x83378337, 0xeea996},
+  {0x83378338, 0xeea997},
+  {0x83378339, 0xeea998},
+  {0x83378430, 0xeea999},
+  {0x83378431, 0xeea99a},
+  {0x83378432, 0xeea99b},
+  {0x83378433, 0xeea99c},
+  {0x83378434, 0xeea99d},
+  {0x83378435, 0xeea99e},
+  {0x83378436, 0xeea99f},
+  {0x83378437, 0xeea9a0},
+  {0x83378438, 0xeea9a1},
+  {0x83378439, 0xeea9a2},
+  {0x83378530, 0xeea9a3},
+  {0x83378531, 0xeea9a4},
+  {0x83378532, 0xeea9a5},
+  {0x83378533, 0xeea9a6},
+  {0x83378534, 0xeea9a7},
+  {0x83378535, 0xeea9a8},
+  {0x83378536, 0xeea9a9},
+  {0x83378537, 0xeea9aa},
+  {0x83378538, 0xeea9ab},
+  {0x83378539, 0xeea9ac},
+  {0x83378630, 0xeea9ad},
+  {0x83378631, 0xeea9ae},
+  {0x83378632, 0xeea9af},
+  {0x83378633, 0xeea9b0},
+  {0x83378634, 0xeea9b1},
+  {0x83378635, 0xeea9b2},
+  {0x83378636, 0xeea9b3},
+  {0x83378637, 0xeea9b4},
+  {0x83378638, 0xeea9b5},
+  {0x83378639, 0xeea9b6},
+  {0x83378730, 0xeea9b7},
+  {0x83378731, 0xeea9b8},
+  {0x83378732, 0xeea9b9},
+  {0x83378733, 0xeea9ba},
+  {0x83378734, 0xeea9bb},
+  {0x83378735, 0xeea9bc},
+  {0x83378736, 0xeea9bd},
+  {0x83378737, 0xeea9be},
+  {0x83378738, 0xeea9bf},
+  {0x83378739, 0xeeaa80},
+  {0x83378830, 0xeeaa81},
+  {0x83378831, 0xeeaa82},
+  {0x83378832, 0xeeaa83},
+  {0x83378833, 0xeeaa84},
+  {0x83378834, 0xeeaa85},
+  {0x83378835, 0xeeaa86},
+  {0x83378836, 0xeeaa87},
+  {0x83378837, 0xeeaa88},
+  {0x83378838, 0xeeaa89},
+  {0x83378839, 0xeeaa8a},
+  {0x83378930, 0xeeaa8b},
+  {0x83378931, 0xeeaa8c},
+  {0x83378932, 0xeeaa8d},
+  {0x83378933, 0xeeaa8e},
+  {0x83378934, 0xeeaa8f},
+  {0x83378935, 0xeeaa90},
+  {0x83378936, 0xeeaa91},
+  {0x83378937, 0xeeaa92},
+  {0x83378938, 0xeeaa93},
+  {0x83378939, 0xeeaa94},
+  {0x83378a30, 0xeeaa95},
+  {0x83378a31, 0xeeaa96},
+  {0x83378a32, 0xeeaa97},
+  {0x83378a33, 0xeeaa98},
+  {0x83378a34, 0xeeaa99},
+  {0x83378a35, 0xeeaa9a},
+  {0x83378a36, 0xeeaa9b},
+  {0x83378a37, 0xeeaa9c},
+  {0x83378a38, 0xeeaa9d},
+  {0x83378a39, 0xeeaa9e},
+  {0x83378b30, 0xeeaa9f},
+  {0x83378b31, 0xeeaaa0},
+  {0x83378b32, 0xeeaaa1},
+  {0x83378b33, 0xeeaaa2},
+  {0x83378b34, 0xeeaaa3},
+  {0x83378b35, 0xeeaaa4},
+  {0x83378b36, 0xeeaaa5},
+  {0x83378b37, 0xeeaaa6},
+  {0x83378b38, 0xeeaaa7},
+  {0x83378b39, 0xeeaaa8},
+  {0x83378c30, 0xeeaaa9},
+  {0x83378c31, 0xeeaaaa},
+  {0x83378c32, 0xeeaaab},
+  {0x83378c33, 0xeeaaac},
+  {0x83378c34, 0xeeaaad},
+  {0x83378c35, 0xeeaaae},
+  {0x83378c36, 0xeeaaaf},
+  {0x83378c37, 0xeeaab0},
+  {0x83378c38, 0xeeaab1},
+  {0x83378c39, 0xeeaab2},
+  {0x83378d30, 0xeeaab3},
+  {0x83378d31, 0xeeaab4},
+  {0x83378d32, 0xeeaab5},
+  {0x83378d33, 0xeeaab6},
+  {0x83378d34, 0xeeaab7},
+  {0x83378d35, 0xeeaab8},
+  {0x83378d36, 0xeeaab9},
+  {0x83378d37, 0xeeaaba},
+  {0x83378d38, 0xeeaabb},
+  {0x83378d39, 0xeeaabc},
+  {0x83378e30, 0xeeaabd},
+  {0x83378e31, 0xeeaabe},
+  {0x83378e32, 0xeeaabf},
+  {0x83378e33, 0xeeab80},
+  {0x83378e34, 0xeeab81},
+  {0x83378e35, 0xeeab82},
+  {0x83378e36, 0xeeab83},
+  {0x83378e37, 0xeeab84},
+  {0x83378e38, 0xeeab85},
+  {0x83378e39, 0xeeab86},
+  {0x83378f30, 0xeeab87},
+  {0x83378f31, 0xeeab88},
+  {0x83378f32, 0xeeab89},
+  {0x83378f33, 0xeeab8a},
+  {0x83378f34, 0xeeab8b},
+  {0x83378f35, 0xeeab8c},
+  {0x83378f36, 0xeeab8d},
+  {0x83378f37, 0xeeab8e},
+  {0x83378f38, 0xeeab8f},
+  {0x83378f39, 0xeeab90},
+  {0x83379030, 0xeeab91},
+  {0x83379031, 0xeeab92},
+  {0x83379032, 0xeeab93},
+  {0x83379033, 0xeeab94},
+  {0x83379034, 0xeeab95},
+  {0x83379035, 0xeeab96},
+  {0x83379036, 0xeeab97},
+  {0x83379037, 0xeeab98},
+  {0x83379038, 0xeeab99},
+  {0x83379039, 0xeeab9a},
+  {0x83379130, 0xeeab9b},
+  {0x83379131, 0xeeab9c},
+  {0x83379132, 0xeeab9d},
+  {0x83379133, 0xeeab9e},
+  {0x83379134, 0xeeab9f},
+  {0x83379135, 0xeeaba0},
+  {0x83379136, 0xeeaba1},
+  {0x83379137, 0xeeaba2},
+  {0x83379138, 0xeeaba3},
+  {0x83379139, 0xeeaba4},
+  {0x83379230, 0xeeaba5},
+  {0x83379231, 0xeeaba6},
+  {0x83379232, 0xeeaba7},
+  {0x83379233, 0xeeaba8},
+  {0x83379234, 0xeeaba9},
+  {0x83379235, 0xeeabaa},
+  {0x83379236, 0xeeabab},
+  {0x83379237, 0xeeabac},
+  {0x83379238, 0xeeabad},
+  {0x83379239, 0xeeabae},
+  {0x83379330, 0xeeabaf},
+  {0x83379331, 0xeeabb0},
+  {0x83379332, 0xeeabb1},
+  {0x83379333, 0xeeabb2},
+  {0x83379334, 0xeeabb3},
+  {0x83379335, 0xeeabb4},
+  {0x83379336, 0xeeabb5},
+  {0x83379337, 0xeeabb6},
+  {0x83379338, 0xeeabb7},
+  {0x83379339, 0xeeabb8},
+  {0x83379430, 0xeeabb9},
+  {0x83379431, 0xeeabba},
+  {0x83379432, 0xeeabbb},
+  {0x83379433, 0xeeabbc},
+  {0x83379434, 0xeeabbd},
+  {0x83379435, 0xeeabbe},
+  {0x83379436, 0xeeabbf},
+  {0x83379437, 0xeeac80},
+  {0x83379438, 0xeeac81},
+  {0x83379439, 0xeeac82},
+  {0x83379530, 0xeeac83},
+  {0x83379531, 0xeeac84},
+  {0x83379532, 0xeeac85},
+  {0x83379533, 0xeeac86},
+  {0x83379534, 0xeeac87},
+  {0x83379535, 0xeeac88},
+  {0x83379536, 0xeeac89},
+  {0x83379537, 0xeeac8a},
+  {0x83379538, 0xeeac8b},
+  {0x83379539, 0xeeac8c},
+  {0x83379630, 0xeeac8d},
+  {0x83379631, 0xeeac8e},
+  {0x83379632, 0xeeac8f},
+  {0x83379633, 0xeeac90},
+  {0x83379634, 0xeeac91},
+  {0x83379635, 0xeeac92},
+  {0x83379636, 0xeeac93},
+  {0x83379637, 0xeeac94},
+  {0x83379638, 0xeeac95},
+  {0x83379639, 0xeeac96},
+  {0x83379730, 0xeeac97},
+  {0x83379731, 0xeeac98},
+  {0x83379732, 0xeeac99},
+  {0x83379733, 0xeeac9a},
+  {0x83379734, 0xeeac9b},
+  {0x83379735, 0xeeac9c},
+  {0x83379736, 0xeeac9d},
+  {0x83379737, 0xeeac9e},
+  {0x83379738, 0xeeac9f},
+  {0x83379739, 0xeeaca0},
+  {0x83379830, 0xeeaca1},
+  {0x83379831, 0xeeaca2},
+  {0x83379832, 0xeeaca3},
+  {0x83379833, 0xeeaca4},
+  {0x83379834, 0xeeaca5},
+  {0x83379835, 0xeeaca6},
+  {0x83379836, 0xeeaca7},
+  {0x83379837, 0xeeaca8},
+  {0x83379838, 0xeeaca9},
+  {0x83379839, 0xeeacaa},
+  {0x83379930, 0xeeacab},
+  {0x83379931, 0xeeacac},
+  {0x83379932, 0xeeacad},
+  {0x83379933, 0xeeacae},
+  {0x83379934, 0xeeacaf},
+  {0x83379935, 0xeeacb0},
+  {0x83379936, 0xeeacb1},
+  {0x83379937, 0xeeacb2},
+  {0x83379938, 0xeeacb3},
+  {0x83379939, 0xeeacb4},
+  {0x83379a30, 0xeeacb5},
+  {0x83379a31, 0xeeacb6},
+  {0x83379a32, 0xeeacb7},
+  {0x83379a33, 0xeeacb8},
+  {0x83379a34, 0xeeacb9},
+  {0x83379a35, 0xeeacba},
+  {0x83379a36, 0xeeacbb},
+  {0x83379a37, 0xeeacbc},
+  {0x83379a38, 0xeeacbd},
+  {0x83379a39, 0xeeacbe},
+  {0x83379b30, 0xeeacbf},
+  {0x83379b31, 0xeead80},
+  {0x83379b32, 0xeead81},
+  {0x83379b33, 0xeead82},
+  {0x83379b34, 0xeead83},
+  {0x83379b35, 0xeead84},
+  {0x83379b36, 0xeead85},
+  {0x83379b37, 0xeead86},
+  {0x83379b38, 0xeead87},
+  {0x83379b39, 0xeead88},
+  {0x83379c30, 0xeead89},
+  {0x83379c31, 0xeead8a},
+  {0x83379c32, 0xeead8b},
+  {0x83379c33, 0xeead8c},
+  {0x83379c34, 0xeead8d},
+  {0x83379c35, 0xeead8e},
+  {0x83379c36, 0xeead8f},
+  {0x83379c37, 0xeead90},
+  {0x83379c38, 0xeead91},
+  {0x83379c39, 0xeead92},
+  {0x83379d30, 0xeead93},
+  {0x83379d31, 0xeead94},
+  {0x83379d32, 0xeead95},
+  {0x83379d33, 0xeead96},
+  {0x83379d34, 0xeead97},
+  {0x83379d35, 0xeead98},
+  {0x83379d36, 0xeead99},
+  {0x83379d37, 0xeead9a},
+  {0x83379d38, 0xeead9b},
+  {0x83379d39, 0xeead9c},
+  {0x83379e30, 0xeead9d},
+  {0x83379e31, 0xeead9e},
+  {0x83379e32, 0xeead9f},
+  {0x83379e33, 0xeeada0},
+  {0x83379e34, 0xeeada1},
+  {0x83379e35, 0xeeada2},
+  {0x83379e36, 0xeeada3},
+  {0x83379e37, 0xeeada4},
+  {0x83379e38, 0xeeada5},
+  {0x83379e39, 0xeeada6},
+  {0x83379f30, 0xeeada7},
+  {0x83379f31, 0xeeada8},
+  {0x83379f32, 0xeeada9},
+  {0x83379f33, 0xeeadaa},
+  {0x83379f34, 0xeeadab},
+  {0x83379f35, 0xeeadac},
+  {0x83379f36, 0xeeadad},
+  {0x83379f37, 0xeeadae},
+  {0x83379f38, 0xeeadaf},
+  {0x83379f39, 0xeeadb0},
+  {0x8337a030, 0xeeadb1},
+  {0x8337a031, 0xeeadb2},
+  {0x8337a032, 0xeeadb3},
+  {0x8337a033, 0xeeadb4},
+  {0x8337a034, 0xeeadb5},
+  {0x8337a035, 0xeeadb6},
+  {0x8337a036, 0xeeadb7},
+  {0x8337a037, 0xeeadb8},
+  {0x8337a038, 0xeeadb9},
+  {0x8337a039, 0xeeadba},
+  {0x8337a130, 0xeeadbb},
+  {0x8337a131, 0xeeadbc},
+  {0x8337a132, 0xeeadbd},
+  {0x8337a133, 0xeeadbe},
+  {0x8337a134, 0xeeadbf},
+  {0x8337a135, 0xeeae80},
+  {0x8337a136, 0xeeae81},
+  {0x8337a137, 0xeeae82},
+  {0x8337a138, 0xeeae83},
+  {0x8337a139, 0xeeae84},
+  {0x8337a230, 0xeeae85},
+  {0x8337a231, 0xeeae86},
+  {0x8337a232, 0xeeae87},
+  {0x8337a233, 0xeeae88},
+  {0x8337a234, 0xeeae89},
+  {0x8337a235, 0xeeae8a},
+  {0x8337a236, 0xeeae8b},
+  {0x8337a237, 0xeeae8c},
+  {0x8337a238, 0xeeae8d},
+  {0x8337a239, 0xeeae8e},
+  {0x8337a330, 0xeeae8f},
+  {0x8337a331, 0xeeae90},
+  {0x8337a332, 0xeeae91},
+  {0x8337a333, 0xeeae92},
+  {0x8337a334, 0xeeae93},
+  {0x8337a335, 0xeeae94},
+  {0x8337a336, 0xeeae95},
+  {0x8337a337, 0xeeae96},
+  {0x8337a338, 0xeeae97},
+  {0x8337a339, 0xeeae98},
+  {0x8337a430, 0xeeae99},
+  {0x8337a431, 0xeeae9a},
+  {0x8337a432, 0xeeae9b},
+  {0x8337a433, 0xeeae9c},
+  {0x8337a434, 0xeeae9d},
+  {0x8337a435, 0xeeae9e},
+  {0x8337a436, 0xeeae9f},
+  {0x8337a437, 0xeeaea0},
+  {0x8337a438, 0xeeaea1},
+  {0x8337a439, 0xeeaea2},
+  {0x8337a530, 0xeeaea3},
+  {0x8337a531, 0xeeaea4},
+  {0x8337a532, 0xeeaea5},
+  {0x8337a533, 0xeeaea6},
+  {0x8337a534, 0xeeaea7},
+  {0x8337a535, 0xeeaea8},
+  {0x8337a536, 0xeeaea9},
+  {0x8337a537, 0xeeaeaa},
+  {0x8337a538, 0xeeaeab},
+  {0x8337a539, 0xeeaeac},
+  {0x8337a630, 0xeeaead},
+  {0x8337a631, 0xeeaeae},
+  {0x8337a632, 0xeeaeaf},
+  {0x8337a633, 0xeeaeb0},
+  {0x8337a634, 0xeeaeb1},
+  {0x8337a635, 0xeeaeb2},
+  {0x8337a636, 0xeeaeb3},
+  {0x8337a637, 0xeeaeb4},
+  {0x8337a638, 0xeeaeb5},
+  {0x8337a639, 0xeeaeb6},
+  {0x8337a730, 0xeeaeb7},
+  {0x8337a731, 0xeeaeb8},
+  {0x8337a732, 0xeeaeb9},
+  {0x8337a733, 0xeeaeba},
+  {0x8337a734, 0xeeaebb},
+  {0x8337a735, 0xeeaebc},
+  {0x8337a736, 0xeeaebd},
+  {0x8337a737, 0xeeaebe},
+  {0x8337a738, 0xeeaebf},
+  {0x8337a739, 0xeeaf80},
+  {0x8337a830, 0xeeaf81},
+  {0x8337a831, 0xeeaf82},
+  {0x8337a832, 0xeeaf83},
+  {0x8337a833, 0xeeaf84},
+  {0x8337a834, 0xeeaf85},
+  {0x8337a835, 0xeeaf86},
+  {0x8337a836, 0xeeaf87},
+  {0x8337a837, 0xeeaf88},
+  {0x8337a838, 0xeeaf89},
+  {0x8337a839, 0xeeaf8a},
+  {0x8337a930, 0xeeaf8b},
+  {0x8337a931, 0xeeaf8c},
+  {0x8337a932, 0xeeaf8d},
+  {0x8337a933, 0xeeaf8e},
+  {0x8337a934, 0xeeaf8f},
+  {0x8337a935, 0xeeaf90},
+  {0x8337a936, 0xeeaf91},
+  {0x8337a937, 0xeeaf92},
+  {0x8337a938, 0xeeaf93},
+  {0x8337a939, 0xeeaf94},
+  {0x8337aa30, 0xeeaf95},
+  {0x8337aa31, 0xeeaf96},
+  {0x8337aa32, 0xeeaf97},
+  {0x8337aa33, 0xeeaf98},
+  {0x8337aa34, 0xeeaf99},
+  {0x8337aa35, 0xeeaf9a},
+  {0x8337aa36, 0xeeaf9b},
+  {0x8337aa37, 0xeeaf9c},
+  {0x8337aa38, 0xeeaf9d},
+  {0x8337aa39, 0xeeaf9e},
+  {0x8337ab30, 0xeeaf9f},
+  {0x8337ab31, 0xeeafa0},
+  {0x8337ab32, 0xeeafa1},
+  {0x8337ab33, 0xeeafa2},
+  {0x8337ab34, 0xeeafa3},
+  {0x8337ab35, 0xeeafa4},
+  {0x8337ab36, 0xeeafa5},
+  {0x8337ab37, 0xeeafa6},
+  {0x8337ab38, 0xeeafa7},
+  {0x8337ab39, 0xeeafa8},
+  {0x8337ac30, 0xeeafa9},
+  {0x8337ac31, 0xeeafaa},
+  {0x8337ac32, 0xeeafab},
+  {0x8337ac33, 0xeeafac},
+  {0x8337ac34, 0xeeafad},
+  {0x8337ac35, 0xeeafae},
+  {0x8337ac36, 0xeeafaf},
+  {0x8337ac37, 0xeeafb0},
+  {0x8337ac38, 0xeeafb1},
+  {0x8337ac39, 0xeeafb2},
+  {0x8337ad30, 0xeeafb3},
+  {0x8337ad31, 0xeeafb4},
+  {0x8337ad32, 0xeeafb5},
+  {0x8337ad33, 0xeeafb6},
+  {0x8337ad34, 0xeeafb7},
+  {0x8337ad35, 0xeeafb8},
+  {0x8337ad36, 0xeeafb9},
+  {0x8337ad37, 0xeeafba},
+  {0x8337ad38, 0xeeafbb},
+  {0x8337ad39, 0xeeafbc},
+  {0x8337ae30, 0xeeafbd},
+  {0x8337ae31, 0xeeafbe},
+  {0x8337ae32, 0xeeafbf},
+  {0x8337ae33, 0xeeb080},
+  {0x8337ae34, 0xeeb081},
+  {0x8337ae35, 0xeeb082},
+  {0x8337ae36, 0xeeb083},
+  {0x8337ae37, 0xeeb084},
+  {0x8337ae38, 0xeeb085},
+  {0x8337ae39, 0xeeb086},
+  {0x8337af30, 0xeeb087},
+  {0x8337af31, 0xeeb088},
+  {0x8337af32, 0xeeb089},
+  {0x8337af33, 0xeeb08a},
+  {0x8337af34, 0xeeb08b},
+  {0x8337af35, 0xeeb08c},
+  {0x8337af36, 0xeeb08d},
+  {0x8337af37, 0xeeb08e},
+  {0x8337af38, 0xeeb08f},
+  {0x8337af39, 0xeeb090},
+  {0x8337b030, 0xeeb091},
+  {0x8337b031, 0xeeb092},
+  {0x8337b032, 0xeeb093},
+  {0x8337b033, 0xeeb094},
+  {0x8337b034, 0xeeb095},
+  {0x8337b035, 0xeeb096},
+  {0x8337b036, 0xeeb097},
+  {0x8337b037, 0xeeb098},
+  {0x8337b038, 0xeeb099},
+  {0x8337b039, 0xeeb09a},
+  {0x8337b130, 0xeeb09b},
+  {0x8337b131, 0xeeb09c},
+  {0x8337b132, 0xeeb09d},
+  {0x8337b133, 0xeeb09e},
+  {0x8337b134, 0xeeb09f},
+  {0x8337b135, 0xeeb0a0},
+  {0x8337b136, 0xeeb0a1},
+  {0x8337b137, 0xeeb0a2},
+  {0x8337b138, 0xeeb0a3},
+  {0x8337b139, 0xeeb0a4},
+  {0x8337b230, 0xeeb0a5},
+  {0x8337b231, 0xeeb0a6},
+  {0x8337b232, 0xeeb0a7},
+  {0x8337b233, 0xeeb0a8},
+  {0x8337b234, 0xeeb0a9},
+  {0x8337b235, 0xeeb0aa},
+  {0x8337b236, 0xeeb0ab},
+  {0x8337b237, 0xeeb0ac},
+  {0x8337b238, 0xeeb0ad},
+  {0x8337b239, 0xeeb0ae},
+  {0x8337b330, 0xeeb0af},
+  {0x8337b331, 0xeeb0b0},
+  {0x8337b332, 0xeeb0b1},
+  {0x8337b333, 0xeeb0b2},
+  {0x8337b334, 0xeeb0b3},
+  {0x8337b335, 0xeeb0b4},
+  {0x8337b336, 0xeeb0b5},
+  {0x8337b337, 0xeeb0b6},
+  {0x8337b338, 0xeeb0b7},
+  {0x8337b339, 0xeeb0b8},
+  {0x8337b430, 0xeeb0b9},
+  {0x8337b431, 0xeeb0ba},
+  {0x8337b432, 0xeeb0bb},
+  {0x8337b433, 0xeeb0bc},
+  {0x8337b434, 0xeeb0bd},
+  {0x8337b435, 0xeeb0be},
+  {0x8337b436, 0xeeb0bf},
+  {0x8337b437, 0xeeb180},
+  {0x8337b438, 0xeeb181},
+  {0x8337b439, 0xeeb182},
+  {0x8337b530, 0xeeb183},
+  {0x8337b531, 0xeeb184},
+  {0x8337b532, 0xeeb185},
+  {0x8337b533, 0xeeb186},
+  {0x8337b534, 0xeeb187},
+  {0x8337b535, 0xeeb188},
+  {0x8337b536, 0xeeb189},
+  {0x8337b537, 0xeeb18a},
+  {0x8337b538, 0xeeb18b},
+  {0x8337b539, 0xeeb18c},
+  {0x8337b630, 0xeeb18d},
+  {0x8337b631, 0xeeb18e},
+  {0x8337b632, 0xeeb18f},
+  {0x8337b633, 0xeeb190},
+  {0x8337b634, 0xeeb191},
+  {0x8337b635, 0xeeb192},
+  {0x8337b636, 0xeeb193},
+  {0x8337b637, 0xeeb194},
+  {0x8337b638, 0xeeb195},
+  {0x8337b639, 0xeeb196},
+  {0x8337b730, 0xeeb197},
+  {0x8337b731, 0xeeb198},
+  {0x8337b732, 0xeeb199},
+  {0x8337b733, 0xeeb19a},
+  {0x8337b734, 0xeeb19b},
+  {0x8337b735, 0xeeb19c},
+  {0x8337b736, 0xeeb19d},
+  {0x8337b737, 0xeeb19e},
+  {0x8337b738, 0xeeb19f},
+  {0x8337b739, 0xeeb1a0},
+  {0x8337b830, 0xeeb1a1},
+  {0x8337b831, 0xeeb1a2},
+  {0x8337b832, 0xeeb1a3},
+  {0x8337b833, 0xeeb1a4},
+  {0x8337b834, 0xeeb1a5},
+  {0x8337b835, 0xeeb1a6},
+  {0x8337b836, 0xeeb1a7},
+  {0x8337b837, 0xeeb1a8},
+  {0x8337b838, 0xeeb1a9},
+  {0x8337b839, 0xeeb1aa},
+  {0x8337b930, 0xeeb1ab},
+  {0x8337b931, 0xeeb1ac},
+  {0x8337b932, 0xeeb1ad},
+  {0x8337b933, 0xeeb1ae},
+  {0x8337b934, 0xeeb1af},
+  {0x8337b935, 0xeeb1b0},
+  {0x8337b936, 0xeeb1b1},
+  {0x8337b937, 0xeeb1b2},
+  {0x8337b938, 0xeeb1b3},
+  {0x8337b939, 0xeeb1b4},
+  {0x8337ba30, 0xeeb1b5},
+  {0x8337ba31, 0xeeb1b6},
+  {0x8337ba32, 0xeeb1b7},
+  {0x8337ba33, 0xeeb1b8},
+  {0x8337ba34, 0xeeb1b9},
+  {0x8337ba35, 0xeeb1ba},
+  {0x8337ba36, 0xeeb1bb},
+  {0x8337ba37, 0xeeb1bc},
+  {0x8337ba38, 0xeeb1bd},
+  {0x8337ba39, 0xeeb1be},
+  {0x8337bb30, 0xeeb1bf},
+  {0x8337bb31, 0xeeb280},
+  {0x8337bb32, 0xeeb281},
+  {0x8337bb33, 0xeeb282},
+  {0x8337bb34, 0xeeb283},
+  {0x8337bb35, 0xeeb284},
+  {0x8337bb36, 0xeeb285},
+  {0x8337bb37, 0xeeb286},
+  {0x8337bb38, 0xeeb287},
+  {0x8337bb39, 0xeeb288},
+  {0x8337bc30, 0xeeb289},
+  {0x8337bc31, 0xeeb28a},
+  {0x8337bc32, 0xeeb28b},
+  {0x8337bc33, 0xeeb28c},
+  {0x8337bc34, 0xeeb28d},
+  {0x8337bc35, 0xeeb28e},
+  {0x8337bc36, 0xeeb28f},
+  {0x8337bc37, 0xeeb290},
+  {0x8337bc38, 0xeeb291},
+  {0x8337bc39, 0xeeb292},
+  {0x8337bd30, 0xeeb293},
+  {0x8337bd31, 0xeeb294},
+  {0x8337bd32, 0xeeb295},
+  {0x8337bd33, 0xeeb296},
+  {0x8337bd34, 0xeeb297},
+  {0x8337bd35, 0xeeb298},
+  {0x8337bd36, 0xeeb299},
+  {0x8337bd37, 0xeeb29a},
+  {0x8337bd38, 0xeeb29b},
+  {0x8337bd39, 0xeeb29c},
+  {0x8337be30, 0xeeb29d},
+  {0x8337be31, 0xeeb29e},
+  {0x8337be32, 0xeeb29f},
+  {0x8337be33, 0xeeb2a0},
+  {0x8337be34, 0xeeb2a1},
+  {0x8337be35, 0xeeb2a2},
+  {0x8337be36, 0xeeb2a3},
+  {0x8337be37, 0xeeb2a4},
+  {0x8337be38, 0xeeb2a5},
+  {0x8337be39, 0xeeb2a6},
+  {0x8337bf30, 0xeeb2a7},
+  {0x8337bf31, 0xeeb2a8},
+  {0x8337bf32, 0xeeb2a9},
+  {0x8337bf33, 0xeeb2aa},
+  {0x8337bf34, 0xeeb2ab},
+  {0x8337bf35, 0xeeb2ac},
+  {0x8337bf36, 0xeeb2ad},
+  {0x8337bf37, 0xeeb2ae},
+  {0x8337bf38, 0xeeb2af},
+  {0x8337bf39, 0xeeb2b0},
+  {0x8337c030, 0xeeb2b1},
+  {0x8337c031, 0xeeb2b2},
+  {0x8337c032, 0xeeb2b3},
+  {0x8337c033, 0xeeb2b4},
+  {0x8337c034, 0xeeb2b5},
+  {0x8337c035, 0xeeb2b6},
+  {0x8337c036, 0xeeb2b7},
+  {0x8337c037, 0xeeb2b8},
+  {0x8337c038, 0xeeb2b9},
+  {0x8337c039, 0xeeb2ba},
+  {0x8337c130, 0xeeb2bb},
+  {0x8337c131, 0xeeb2bc},
+  {0x8337c132, 0xeeb2bd},
+  {0x8337c133, 0xeeb2be},
+  {0x8337c134, 0xeeb2bf},
+  {0x8337c135, 0xeeb380},
+  {0x8337c136, 0xeeb381},
+  {0x8337c137, 0xeeb382},
+  {0x8337c138, 0xeeb383},
+  {0x8337c139, 0xeeb384},
+  {0x8337c230, 0xeeb385},
+  {0x8337c231, 0xeeb386},
+  {0x8337c232, 0xeeb387},
+  {0x8337c233, 0xeeb388},
+  {0x8337c234, 0xeeb389},
+  {0x8337c235, 0xeeb38a},
+  {0x8337c236, 0xeeb38b},
+  {0x8337c237, 0xeeb38c},
+  {0x8337c238, 0xeeb38d},
+  {0x8337c239, 0xeeb38e},
+  {0x8337c330, 0xeeb38f},
+  {0x8337c331, 0xeeb390},
+  {0x8337c332, 0xeeb391},
+  {0x8337c333, 0xeeb392},
+  {0x8337c334, 0xeeb393},
+  {0x8337c335, 0xeeb394},
+  {0x8337c336, 0xeeb395},
+  {0x8337c337, 0xeeb396},
+  {0x8337c338, 0xeeb397},
+  {0x8337c339, 0xeeb398},
+  {0x8337c430, 0xeeb399},
+  {0x8337c431, 0xeeb39a},
+  {0x8337c432, 0xeeb39b},
+  {0x8337c433, 0xeeb39c},
+  {0x8337c434, 0xeeb39d},
+  {0x8337c435, 0xeeb39e},
+  {0x8337c436, 0xeeb39f},
+  {0x8337c437, 0xeeb3a0},
+  {0x8337c438, 0xeeb3a1},
+  {0x8337c439, 0xeeb3a2},
+  {0x8337c530, 0xeeb3a3},
+  {0x8337c531, 0xeeb3a4},
+  {0x8337c532, 0xeeb3a5},
+  {0x8337c533, 0xeeb3a6},
+  {0x8337c534, 0xeeb3a7},
+  {0x8337c535, 0xeeb3a8},
+  {0x8337c536, 0xeeb3a9},
+  {0x8337c537, 0xeeb3aa},
+  {0x8337c538, 0xeeb3ab},
+  {0x8337c539, 0xeeb3ac},
+  {0x8337c630, 0xeeb3ad},
+  {0x8337c631, 0xeeb3ae},
+  {0x8337c632, 0xeeb3af},
+  {0x8337c633, 0xeeb3b0},
+  {0x8337c634, 0xeeb3b1},
+  {0x8337c635, 0xeeb3b2},
+  {0x8337c636, 0xeeb3b3},
+  {0x8337c637, 0xeeb3b4},
+  {0x8337c638, 0xeeb3b5},
+  {0x8337c639, 0xeeb3b6},
+  {0x8337c730, 0xeeb3b7},
+  {0x8337c731, 0xeeb3b8},
+  {0x8337c732, 0xeeb3b9},
+  {0x8337c733, 0xeeb3ba},
+  {0x8337c734, 0xeeb3bb},
+  {0x8337c735, 0xeeb3bc},
+  {0x8337c736, 0xeeb3bd},
+  {0x8337c737, 0xeeb3be},
+  {0x8337c738, 0xeeb3bf},
+  {0x8337c739, 0xeeb480},
+  {0x8337c830, 0xeeb481},
+  {0x8337c831, 0xeeb482},
+  {0x8337c832, 0xeeb483},
+  {0x8337c833, 0xeeb484},
+  {0x8337c834, 0xeeb485},
+  {0x8337c835, 0xeeb486},
+  {0x8337c836, 0xeeb487},
+  {0x8337c837, 0xeeb488},
+  {0x8337c838, 0xeeb489},
+  {0x8337c839, 0xeeb48a},
+  {0x8337c930, 0xeeb48b},
+  {0x8337c931, 0xeeb48c},
+  {0x8337c932, 0xeeb48d},
+  {0x8337c933, 0xeeb48e},
+  {0x8337c934, 0xeeb48f},
+  {0x8337c935, 0xeeb490},
+  {0x8337c936, 0xeeb491},
+  {0x8337c937, 0xeeb492},
+  {0x8337c938, 0xeeb493},
+  {0x8337c939, 0xeeb494},
+  {0x8337ca30, 0xeeb495},
+  {0x8337ca31, 0xeeb496},
+  {0x8337ca32, 0xeeb497},
+  {0x8337ca33, 0xeeb498},
+  {0x8337ca34, 0xeeb499},
+  {0x8337ca35, 0xeeb49a},
+  {0x8337ca36, 0xeeb49b},
+  {0x8337ca37, 0xeeb49c},
+  {0x8337ca38, 0xeeb49d},
+  {0x8337ca39, 0xeeb49e},
+  {0x8337cb30, 0xeeb49f},
+  {0x8337cb31, 0xeeb4a0},
+  {0x8337cb32, 0xeeb4a1},
+  {0x8337cb33, 0xeeb4a2},
+  {0x8337cb34, 0xeeb4a3},
+  {0x8337cb35, 0xeeb4a4},
+  {0x8337cb36, 0xeeb4a5},
+  {0x8337cb37, 0xeeb4a6},
+  {0x8337cb38, 0xeeb4a7},
+  {0x8337cb39, 0xeeb4a8},
+  {0x8337cc30, 0xeeb4a9},
+  {0x8337cc31, 0xeeb4aa},
+  {0x8337cc32, 0xeeb4ab},
+  {0x8337cc33, 0xeeb4ac},
+  {0x8337cc34, 0xeeb4ad},
+  {0x8337cc35, 0xeeb4ae},
+  {0x8337cc36, 0xeeb4af},
+  {0x8337cc37, 0xeeb4b0},
+  {0x8337cc38, 0xeeb4b1},
+  {0x8337cc39, 0xeeb4b2},
+  {0x8337cd30, 0xeeb4b3},
+  {0x8337cd31, 0xeeb4b4},
+  {0x8337cd32, 0xeeb4b5},
+  {0x8337cd33, 0xeeb4b6},
+  {0x8337cd34, 0xeeb4b7},
+  {0x8337cd35, 0xeeb4b8},
+  {0x8337cd36, 0xeeb4b9},
+  {0x8337cd37, 0xeeb4ba},
+  {0x8337cd38, 0xeeb4bb},
+  {0x8337cd39, 0xeeb4bc},
+  {0x8337ce30, 0xeeb4bd},
+  {0x8337ce31, 0xeeb4be},
+  {0x8337ce32, 0xeeb4bf},
+  {0x8337ce33, 0xeeb580},
+  {0x8337ce34, 0xeeb581},
+  {0x8337ce35, 0xeeb582},
+  {0x8337ce36, 0xeeb583},
+  {0x8337ce37, 0xeeb584},
+  {0x8337ce38, 0xeeb585},
+  {0x8337ce39, 0xeeb586},
+  {0x8337cf30, 0xeeb587},
+  {0x8337cf31, 0xeeb588},
+  {0x8337cf32, 0xeeb589},
+  {0x8337cf33, 0xeeb58a},
+  {0x8337cf34, 0xeeb58b},
+  {0x8337cf35, 0xeeb58c},
+  {0x8337cf36, 0xeeb58d},
+  {0x8337cf37, 0xeeb58e},
+  {0x8337cf38, 0xeeb58f},
+  {0x8337cf39, 0xeeb590},
+  {0x8337d030, 0xeeb591},
+  {0x8337d031, 0xeeb592},
+  {0x8337d032, 0xeeb593},
+  {0x8337d033, 0xeeb594},
+  {0x8337d034, 0xeeb595},
+  {0x8337d035, 0xeeb596},
+  {0x8337d036, 0xeeb597},
+  {0x8337d037, 0xeeb598},
+  {0x8337d038, 0xeeb599},
+  {0x8337d039, 0xeeb59a},
+  {0x8337d130, 0xeeb59b},
+  {0x8337d131, 0xeeb59c},
+  {0x8337d132, 0xeeb59d},
+  {0x8337d133, 0xeeb59e},
+  {0x8337d134, 0xeeb59f},
+  {0x8337d135, 0xeeb5a0},
+  {0x8337d136, 0xeeb5a1},
+  {0x8337d137, 0xeeb5a2},
+  {0x8337d138, 0xeeb5a3},
+  {0x8337d139, 0xeeb5a4},
+  {0x8337d230, 0xeeb5a5},
+  {0x8337d231, 0xeeb5a6},
+  {0x8337d232, 0xeeb5a7},
+  {0x8337d233, 0xeeb5a8},
+  {0x8337d234, 0xeeb5a9},
+  {0x8337d235, 0xeeb5aa},
+  {0x8337d236, 0xeeb5ab},
+  {0x8337d237, 0xeeb5ac},
+  {0x8337d238, 0xeeb5ad},
+  {0x8337d239, 0xeeb5ae},
+  {0x8337d330, 0xeeb5af},
+  {0x8337d331, 0xeeb5b0},
+  {0x8337d332, 0xeeb5b1},
+  {0x8337d333, 0xeeb5b2},
+  {0x8337d334, 0xeeb5b3},
+  {0x8337d335, 0xeeb5b4},
+  {0x8337d336, 0xeeb5b5},
+  {0x8337d337, 0xeeb5b6},
+  {0x8337d338, 0xeeb5b7},
+  {0x8337d339, 0xeeb5b8},
+  {0x8337d430, 0xeeb5b9},
+  {0x8337d431, 0xeeb5ba},
+  {0x8337d432, 0xeeb5bb},
+  {0x8337d433, 0xeeb5bc},
+  {0x8337d434, 0xeeb5bd},
+  {0x8337d435, 0xeeb5be},
+  {0x8337d436, 0xeeb5bf},
+  {0x8337d437, 0xeeb680},
+  {0x8337d438, 0xeeb681},
+  {0x8337d439, 0xeeb682},
+  {0x8337d530, 0xeeb683},
+  {0x8337d531, 0xeeb684},
+  {0x8337d532, 0xeeb685},
+  {0x8337d533, 0xeeb686},
+  {0x8337d534, 0xeeb687},
+  {0x8337d535, 0xeeb688},
+  {0x8337d536, 0xeeb689},
+  {0x8337d537, 0xeeb68a},
+  {0x8337d538, 0xeeb68b},
+  {0x8337d539, 0xeeb68c},
+  {0x8337d630, 0xeeb68d},
+  {0x8337d631, 0xeeb68e},
+  {0x8337d632, 0xeeb68f},
+  {0x8337d633, 0xeeb690},
+  {0x8337d634, 0xeeb691},
+  {0x8337d635, 0xeeb692},
+  {0x8337d636, 0xeeb693},
+  {0x8337d637, 0xeeb694},
+  {0x8337d638, 0xeeb695},
+  {0x8337d639, 0xeeb696},
+  {0x8337d730, 0xeeb697},
+  {0x8337d731, 0xeeb698},
+  {0x8337d732, 0xeeb699},
+  {0x8337d733, 0xeeb69a},
+  {0x8337d734, 0xeeb69b},
+  {0x8337d735, 0xeeb69c},
+  {0x8337d736, 0xeeb69d},
+  {0x8337d737, 0xeeb69e},
+  {0x8337d738, 0xeeb69f},
+  {0x8337d739, 0xeeb6a0},
+  {0x8337d830, 0xeeb6a1},
+  {0x8337d831, 0xeeb6a2},
+  {0x8337d832, 0xeeb6a3},
+  {0x8337d833, 0xeeb6a4},
+  {0x8337d834, 0xeeb6a5},
+  {0x8337d835, 0xeeb6a6},
+  {0x8337d836, 0xeeb6a7},
+  {0x8337d837, 0xeeb6a8},
+  {0x8337d838, 0xeeb6a9},
+  {0x8337d839, 0xeeb6aa},
+  {0x8337d930, 0xeeb6ab},
+  {0x8337d931, 0xeeb6ac},
+  {0x8337d932, 0xeeb6ad},
+  {0x8337d933, 0xeeb6ae},
+  {0x8337d934, 0xeeb6af},
+  {0x8337d935, 0xeeb6b0},
+  {0x8337d936, 0xeeb6b1},
+  {0x8337d937, 0xeeb6b2},
+  {0x8337d938, 0xeeb6b3},
+  {0x8337d939, 0xeeb6b4},
+  {0x8337da30, 0xeeb6b5},
+  {0x8337da31, 0xeeb6b6},
+  {0x8337da32, 0xeeb6b7},
+  {0x8337da33, 0xeeb6b8},
+  {0x8337da34, 0xeeb6b9},
+  {0x8337da35, 0xeeb6ba},
+  {0x8337da36, 0xeeb6bb},
+  {0x8337da37, 0xeeb6bc},
+  {0x8337da38, 0xeeb6bd},
+  {0x8337da39, 0xeeb6be},
+  {0x8337db30, 0xeeb6bf},
+  {0x8337db31, 0xeeb780},
+  {0x8337db32, 0xeeb781},
+  {0x8337db33, 0xeeb782},
+  {0x8337db34, 0xeeb783},
+  {0x8337db35, 0xeeb784},
+  {0x8337db36, 0xeeb785},
+  {0x8337db37, 0xeeb786},
+  {0x8337db38, 0xeeb787},
+  {0x8337db39, 0xeeb788},
+  {0x8337dc30, 0xeeb789},
+  {0x8337dc31, 0xeeb78a},
+  {0x8337dc32, 0xeeb78b},
+  {0x8337dc33, 0xeeb78c},
+  {0x8337dc34, 0xeeb78d},
+  {0x8337dc35, 0xeeb78e},
+  {0x8337dc36, 0xeeb78f},
+  {0x8337dc37, 0xeeb790},
+  {0x8337dc38, 0xeeb791},
+  {0x8337dc39, 0xeeb792},
+  {0x8337dd30, 0xeeb793},
+  {0x8337dd31, 0xeeb794},
+  {0x8337dd32, 0xeeb795},
+  {0x8337dd33, 0xeeb796},
+  {0x8337dd34, 0xeeb797},
+  {0x8337dd35, 0xeeb798},
+  {0x8337dd36, 0xeeb799},
+  {0x8337dd37, 0xeeb79a},
+  {0x8337dd38, 0xeeb79b},
+  {0x8337dd39, 0xeeb79c},
+  {0x8337de30, 0xeeb79d},
+  {0x8337de31, 0xeeb79e},
+  {0x8337de32, 0xeeb79f},
+  {0x8337de33, 0xeeb7a0},
+  {0x8337de34, 0xeeb7a1},
+  {0x8337de35, 0xeeb7a2},
+  {0x8337de36, 0xeeb7a3},
+  {0x8337de37, 0xeeb7a4},
+  {0x8337de38, 0xeeb7a5},
+  {0x8337de39, 0xeeb7a6},
+  {0x8337df30, 0xeeb7a7},
+  {0x8337df31, 0xeeb7a8},
+  {0x8337df32, 0xeeb7a9},
+  {0x8337df33, 0xeeb7aa},
+  {0x8337df34, 0xeeb7ab},
+  {0x8337df35, 0xeeb7ac},
+  {0x8337df36, 0xeeb7ad},
+  {0x8337df37, 0xeeb7ae},
+  {0x8337df38, 0xeeb7af},
+  {0x8337df39, 0xeeb7b0},
+  {0x8337e030, 0xeeb7b1},
+  {0x8337e031, 0xeeb7b2},
+  {0x8337e032, 0xeeb7b3},
+  {0x8337e033, 0xeeb7b4},
+  {0x8337e034, 0xeeb7b5},
+  {0x8337e035, 0xeeb7b6},
+  {0x8337e036, 0xeeb7b7},
+  {0x8337e037, 0xeeb7b8},
+  {0x8337e038, 0xeeb7b9},
+  {0x8337e039, 0xeeb7ba},
+  {0x8337e130, 0xeeb7bb},
+  {0x8337e131, 0xeeb7bc},
+  {0x8337e132, 0xeeb7bd},
+  {0x8337e133, 0xeeb7be},
+  {0x8337e134, 0xeeb7bf},
+  {0x8337e135, 0xeeb880},
+  {0x8337e136, 0xeeb881},
+  {0x8337e137, 0xeeb882},
+  {0x8337e138, 0xeeb883},
+  {0x8337e139, 0xeeb884},
+  {0x8337e230, 0xeeb885},
+  {0x8337e231, 0xeeb886},
+  {0x8337e232, 0xeeb887},
+  {0x8337e233, 0xeeb888},
+  {0x8337e234, 0xeeb889},
+  {0x8337e235, 0xeeb88a},
+  {0x8337e236, 0xeeb88b},
+  {0x8337e237, 0xeeb88c},
+  {0x8337e238, 0xeeb88d},
+  {0x8337e239, 0xeeb88e},
+  {0x8337e330, 0xeeb88f},
+  {0x8337e331, 0xeeb890},
+  {0x8337e332, 0xeeb891},
+  {0x8337e333, 0xeeb892},
+  {0x8337e334, 0xeeb893},
+  {0x8337e335, 0xeeb894},
+  {0x8337e336, 0xeeb895},
+  {0x8337e337, 0xeeb896},
+  {0x8337e338, 0xeeb897},
+  {0x8337e339, 0xeeb898},
+  {0x8337e430, 0xeeb899},
+  {0x8337e431, 0xeeb89a},
+  {0x8337e432, 0xeeb89b},
+  {0x8337e433, 0xeeb89c},
+  {0x8337e434, 0xeeb89d},
+  {0x8337e435, 0xeeb89e},
+  {0x8337e436, 0xeeb89f},
+  {0x8337e437, 0xeeb8a0},
+  {0x8337e438, 0xeeb8a1},
+  {0x8337e439, 0xeeb8a2},
+  {0x8337e530, 0xeeb8a3},
+  {0x8337e531, 0xeeb8a4},
+  {0x8337e532, 0xeeb8a5},
+  {0x8337e533, 0xeeb8a6},
+  {0x8337e534, 0xeeb8a7},
+  {0x8337e535, 0xeeb8a8},
+  {0x8337e536, 0xeeb8a9},
+  {0x8337e537, 0xeeb8aa},
+  {0x8337e538, 0xeeb8ab},
+  {0x8337e539, 0xeeb8ac},
+  {0x8337e630, 0xeeb8ad},
+  {0x8337e631, 0xeeb8ae},
+  {0x8337e632, 0xeeb8af},
+  {0x8337e633, 0xeeb8b0},
+  {0x8337e634, 0xeeb8b1},
+  {0x8337e635, 0xeeb8b2},
+  {0x8337e636, 0xeeb8b3},
+  {0x8337e637, 0xeeb8b4},
+  {0x8337e638, 0xeeb8b5},
+  {0x8337e639, 0xeeb8b6},
+  {0x8337e730, 0xeeb8b7},
+  {0x8337e731, 0xeeb8b8},
+  {0x8337e732, 0xeeb8b9},
+  {0x8337e733, 0xeeb8ba},
+  {0x8337e734, 0xeeb8bb},
+  {0x8337e735, 0xeeb8bc},
+  {0x8337e736, 0xeeb8bd},
+  {0x8337e737, 0xeeb8be},
+  {0x8337e738, 0xeeb8bf},
+  {0x8337e739, 0xeeb980},
+  {0x8337e830, 0xeeb981},
+  {0x8337e831, 0xeeb982},
+  {0x8337e832, 0xeeb983},
+  {0x8337e833, 0xeeb984},
+  {0x8337e834, 0xeeb985},
+  {0x8337e835, 0xeeb986},
+  {0x8337e836, 0xeeb987},
+  {0x8337e837, 0xeeb988},
+  {0x8337e838, 0xeeb989},
+  {0x8337e839, 0xeeb98a},
+  {0x8337e930, 0xeeb98b},
+  {0x8337e931, 0xeeb98c},
+  {0x8337e932, 0xeeb98d},
+  {0x8337e933, 0xeeb98e},
+  {0x8337e934, 0xeeb98f},
+  {0x8337e935, 0xeeb990},
+  {0x8337e936, 0xeeb991},
+  {0x8337e937, 0xeeb992},
+  {0x8337e938, 0xeeb993},
+  {0x8337e939, 0xeeb994},
+  {0x8337ea30, 0xeeb995},
+  {0x8337ea31, 0xeeb996},
+  {0x8337ea32, 0xeeb997},
+  {0x8337ea33, 0xeeb998},
+  {0x8337ea34, 0xeeb999},
+  {0x8337ea35, 0xeeb99a},
+  {0x8337ea36, 0xeeb99b},
+  {0x8337ea37, 0xeeb99c},
+  {0x8337ea38, 0xeeb99d},
+  {0x8337ea39, 0xeeb99e},
+  {0x8337eb30, 0xeeb99f},
+  {0x8337eb31, 0xeeb9a0},
+  {0x8337eb32, 0xeeb9a1},
+  {0x8337eb33, 0xeeb9a2},
+  {0x8337eb34, 0xeeb9a3},
+  {0x8337eb35, 0xeeb9a4},
+  {0x8337eb36, 0xeeb9a5},
+  {0x8337eb37, 0xeeb9a6},
+  {0x8337eb38, 0xeeb9a7},
+  {0x8337eb39, 0xeeb9a8},
+  {0x8337ec30, 0xeeb9a9},
+  {0x8337ec31, 0xeeb9aa},
+  {0x8337ec32, 0xeeb9ab},
+  {0x8337ec33, 0xeeb9ac},
+  {0x8337ec34, 0xeeb9ad},
+  {0x8337ec35, 0xeeb9ae},
+  {0x8337ec36, 0xeeb9af},
+  {0x8337ec37, 0xeeb9b0},
+  {0x8337ec38, 0xeeb9b1},
+  {0x8337ec39, 0xeeb9b2},
+  {0x8337ed30, 0xeeb9b3},
+  {0x8337ed31, 0xeeb9b4},
+  {0x8337ed32, 0xeeb9b5},
+  {0x8337ed33, 0xeeb9b6},
+  {0x8337ed34, 0xeeb9b7},
+  {0x8337ed35, 0xeeb9b8},
+  {0x8337ed36, 0xeeb9b9},
+  {0x8337ed37, 0xeeb9ba},
+  {0x8337ed38, 0xeeb9bb},
+  {0x8337ed39, 0xeeb9bc},
+  {0x8337ee30, 0xeeb9bd},
+  {0x8337ee31, 0xeeb9be},
+  {0x8337ee32, 0xeeb9bf},
+  {0x8337ee33, 0xeeba80},
+  {0x8337ee34, 0xeeba81},
+  {0x8337ee35, 0xeeba82},
+  {0x8337ee36, 0xeeba83},
+  {0x8337ee37, 0xeeba84},
+  {0x8337ee38, 0xeeba85},
+  {0x8337ee39, 0xeeba86},
+  {0x8337ef30, 0xeeba87},
+  {0x8337ef31, 0xeeba88},
+  {0x8337ef32, 0xeeba89},
+  {0x8337ef33, 0xeeba8a},
+  {0x8337ef34, 0xeeba8b},
+  {0x8337ef35, 0xeeba8c},
+  {0x8337ef36, 0xeeba8d},
+  {0x8337ef37, 0xeeba8e},
+  {0x8337ef38, 0xeeba8f},
+  {0x8337ef39, 0xeeba90},
+  {0x8337f030, 0xeeba91},
+  {0x8337f031, 0xeeba92},
+  {0x8337f032, 0xeeba93},
+  {0x8337f033, 0xeeba94},
+  {0x8337f034, 0xeeba95},
+  {0x8337f035, 0xeeba96},
+  {0x8337f036, 0xeeba97},
+  {0x8337f037, 0xeeba98},
+  {0x8337f038, 0xeeba99},
+  {0x8337f039, 0xeeba9a},
+  {0x8337f130, 0xeeba9b},
+  {0x8337f131, 0xeeba9c},
+  {0x8337f132, 0xeeba9d},
+  {0x8337f133, 0xeeba9e},
+  {0x8337f134, 0xeeba9f},
+  {0x8337f135, 0xeebaa0},
+  {0x8337f136, 0xeebaa1},
+  {0x8337f137, 0xeebaa2},
+  {0x8337f138, 0xeebaa3},
+  {0x8337f139, 0xeebaa4},
+  {0x8337f230, 0xeebaa5},
+  {0x8337f231, 0xeebaa6},
+  {0x8337f232, 0xeebaa7},
+  {0x8337f233, 0xeebaa8},
+  {0x8337f234, 0xeebaa9},
+  {0x8337f235, 0xeebaaa},
+  {0x8337f236, 0xeebaab},
+  {0x8337f237, 0xeebaac},
+  {0x8337f238, 0xeebaad},
+  {0x8337f239, 0xeebaae},
+  {0x8337f330, 0xeebaaf},
+  {0x8337f331, 0xeebab0},
+  {0x8337f332, 0xeebab1},
+  {0x8337f333, 0xeebab2},
+  {0x8337f334, 0xeebab3},
+  {0x8337f335, 0xeebab4},
+  {0x8337f336, 0xeebab5},
+  {0x8337f337, 0xeebab6},
+  {0x8337f338, 0xeebab7},
+  {0x8337f339, 0xeebab8},
+  {0x8337f430, 0xeebab9},
+  {0x8337f431, 0xeebaba},
+  {0x8337f432, 0xeebabb},
+  {0x8337f433, 0xeebabc},
+  {0x8337f434, 0xeebabd},
+  {0x8337f435, 0xeebabe},
+  {0x8337f436, 0xeebabf},
+  {0x8337f437, 0xeebb80},
+  {0x8337f438, 0xeebb81},
+  {0x8337f439, 0xeebb82},
+  {0x8337f530, 0xeebb83},
+  {0x8337f531, 0xeebb84},
+  {0x8337f532, 0xeebb85},
+  {0x8337f533, 0xeebb86},
+  {0x8337f534, 0xeebb87},
+  {0x8337f535, 0xeebb88},
+  {0x8337f536, 0xeebb89},
+  {0x8337f537, 0xeebb8a},
+  {0x8337f538, 0xeebb8b},
+  {0x8337f539, 0xeebb8c},
+  {0x8337f630, 0xeebb8d},
+  {0x8337f631, 0xeebb8e},
+  {0x8337f632, 0xeebb8f},
+  {0x8337f633, 0xeebb90},
+  {0x8337f634, 0xeebb91},
+  {0x8337f635, 0xeebb92},
+  {0x8337f636, 0xeebb93},
+  {0x8337f637, 0xeebb94},
+  {0x8337f638, 0xeebb95},
+  {0x8337f639, 0xeebb96},
+  {0x8337f730, 0xeebb97},
+  {0x8337f731, 0xeebb98},
+  {0x8337f732, 0xeebb99},
+  {0x8337f733, 0xeebb9a},
+  {0x8337f734, 0xeebb9b},
+  {0x8337f735, 0xeebb9c},
+  {0x8337f736, 0xeebb9d},
+  {0x8337f737, 0xeebb9e},
+  {0x8337f738, 0xeebb9f},
+  {0x8337f739, 0xeebba0},
+  {0x8337f830, 0xeebba1},
+  {0x8337f831, 0xeebba2},
+  {0x8337f832, 0xeebba3},
+  {0x8337f833, 0xeebba4},
+  {0x8337f834, 0xeebba5},
+  {0x8337f835, 0xeebba6},
+  {0x8337f836, 0xeebba7},
+  {0x8337f837, 0xeebba8},
+  {0x8337f838, 0xeebba9},
+  {0x8337f839, 0xeebbaa},
+  {0x8337f930, 0xeebbab},
+  {0x8337f931, 0xeebbac},
+  {0x8337f932, 0xeebbad},
+  {0x8337f933, 0xeebbae},
+  {0x8337f934, 0xeebbaf},
+  {0x8337f935, 0xeebbb0},
+  {0x8337f936, 0xeebbb1},
+  {0x8337f937, 0xeebbb2},
+  {0x8337f938, 0xeebbb3},
+  {0x8337f939, 0xeebbb4},
+  {0x8337fa30, 0xeebbb5},
+  {0x8337fa31, 0xeebbb6},
+  {0x8337fa32, 0xeebbb7},
+  {0x8337fa33, 0xeebbb8},
+  {0x8337fa34, 0xeebbb9},
+  {0x8337fa35, 0xeebbba},
+  {0x8337fa36, 0xeebbbb},
+  {0x8337fa37, 0xeebbbc},
+  {0x8337fa38, 0xeebbbd},
+  {0x8337fa39, 0xeebbbe},
+  {0x8337fb30, 0xeebbbf},
+  {0x8337fb31, 0xeebc80},
+  {0x8337fb32, 0xeebc81},
+  {0x8337fb33, 0xeebc82},
+  {0x8337fb34, 0xeebc83},
+  {0x8337fb35, 0xeebc84},
+  {0x8337fb36, 0xeebc85},
+  {0x8337fb37, 0xeebc86},
+  {0x8337fb38, 0xeebc87},
+  {0x8337fb39, 0xeebc88},
+  {0x8337fc30, 0xeebc89},
+  {0x8337fc31, 0xeebc8a},
+  {0x8337fc32, 0xeebc8b},
+  {0x8337fc33, 0xeebc8c},
+  {0x8337fc34, 0xeebc8d},
+  {0x8337fc35, 0xeebc8e},
+  {0x8337fc36, 0xeebc8f},
+  {0x8337fc37, 0xeebc90},
+  {0x8337fc38, 0xeebc91},
+  {0x8337fc39, 0xeebc92},
+  {0x8337fd30, 0xeebc93},
+  {0x8337fd31, 0xeebc94},
+  {0x8337fd32, 0xeebc95},
+  {0x8337fd33, 0xeebc96},
+  {0x8337fd34, 0xeebc97},
+  {0x8337fd35, 0xeebc98},
+  {0x8337fd36, 0xeebc99},
+  {0x8337fd37, 0xeebc9a},
+  {0x8337fd38, 0xeebc9b},
+  {0x8337fd39, 0xeebc9c},
+  {0x8337fe30, 0xeebc9d},
+  {0x8337fe31, 0xeebc9e},
+  {0x8337fe32, 0xeebc9f},
+  {0x8337fe33, 0xeebca0},
+  {0x8337fe34, 0xeebca1},
+  {0x8337fe35, 0xeebca2},
+  {0x8337fe36, 0xeebca3},
+  {0x8337fe37, 0xeebca4},
+  {0x8337fe38, 0xeebca5},
+  {0x8337fe39, 0xeebca6},
+  {0x83388130, 0xeebca7},
+  {0x83388131, 0xeebca8},
+  {0x83388132, 0xeebca9},
+  {0x83388133, 0xeebcaa},
+  {0x83388134, 0xeebcab},
+  {0x83388135, 0xeebcac},
+  {0x83388136, 0xeebcad},
+  {0x83388137, 0xeebcae},
+  {0x83388138, 0xeebcaf},
+  {0x83388139, 0xeebcb0},
+  {0x83388230, 0xeebcb1},
+  {0x83388231, 0xeebcb2},
+  {0x83388232, 0xeebcb3},
+  {0x83388233, 0xeebcb4},
+  {0x83388234, 0xeebcb5},
+  {0x83388235, 0xeebcb6},
+  {0x83388236, 0xeebcb7},
+  {0x83388237, 0xeebcb8},
+  {0x83388238, 0xeebcb9},
+  {0x83388239, 0xeebcba},
+  {0x83388330, 0xeebcbb},
+  {0x83388331, 0xeebcbc},
+  {0x83388332, 0xeebcbd},
+  {0x83388333, 0xeebcbe},
+  {0x83388334, 0xeebcbf},
+  {0x83388335, 0xeebd80},
+  {0x83388336, 0xeebd81},
+  {0x83388337, 0xeebd82},
+  {0x83388338, 0xeebd83},
+  {0x83388339, 0xeebd84},
+  {0x83388430, 0xeebd85},
+  {0x83388431, 0xeebd86},
+  {0x83388432, 0xeebd87},
+  {0x83388433, 0xeebd88},
+  {0x83388434, 0xeebd89},
+  {0x83388435, 0xeebd8a},
+  {0x83388436, 0xeebd8b},
+  {0x83388437, 0xeebd8c},
+  {0x83388438, 0xeebd8d},
+  {0x83388439, 0xeebd8e},
+  {0x83388530, 0xeebd8f},
+  {0x83388531, 0xeebd90},
+  {0x83388532, 0xeebd91},
+  {0x83388533, 0xeebd92},
+  {0x83388534, 0xeebd93},
+  {0x83388535, 0xeebd94},
+  {0x83388536, 0xeebd95},
+  {0x83388537, 0xeebd96},
+  {0x83388538, 0xeebd97},
+  {0x83388539, 0xeebd98},
+  {0x83388630, 0xeebd99},
+  {0x83388631, 0xeebd9a},
+  {0x83388632, 0xeebd9b},
+  {0x83388633, 0xeebd9c},
+  {0x83388634, 0xeebd9d},
+  {0x83388635, 0xeebd9e},
+  {0x83388636, 0xeebd9f},
+  {0x83388637, 0xeebda0},
+  {0x83388638, 0xeebda1},
+  {0x83388639, 0xeebda2},
+  {0x83388730, 0xeebda3},
+  {0x83388731, 0xeebda4},
+  {0x83388732, 0xeebda5},
+  {0x83388733, 0xeebda6},
+  {0x83388734, 0xeebda7},
+  {0x83388735, 0xeebda8},
+  {0x83388736, 0xeebda9},
+  {0x83388737, 0xeebdaa},
+  {0x83388738, 0xeebdab},
+  {0x83388739, 0xeebdac},
+  {0x83388830, 0xeebdad},
+  {0x83388831, 0xeebdae},
+  {0x83388832, 0xeebdaf},
+  {0x83388833, 0xeebdb0},
+  {0x83388834, 0xeebdb1},
+  {0x83388835, 0xeebdb2},
+  {0x83388836, 0xeebdb3},
+  {0x83388837, 0xeebdb4},
+  {0x83388838, 0xeebdb5},
+  {0x83388839, 0xeebdb6},
+  {0x83388930, 0xeebdb7},
+  {0x83388931, 0xeebdb8},
+  {0x83388932, 0xeebdb9},
+  {0x83388933, 0xeebdba},
+  {0x83388934, 0xeebdbb},
+  {0x83388935, 0xeebdbc},
+  {0x83388936, 0xeebdbd},
+  {0x83388937, 0xeebdbe},
+  {0x83388938, 0xeebdbf},
+  {0x83388939, 0xeebe80},
+  {0x83388a30, 0xeebe81},
+  {0x83388a31, 0xeebe82},
+  {0x83388a32, 0xeebe83},
+  {0x83388a33, 0xeebe84},
+  {0x83388a34, 0xeebe85},
+  {0x83388a35, 0xeebe86},
+  {0x83388a36, 0xeebe87},
+  {0x83388a37, 0xeebe88},
+  {0x83388a38, 0xeebe89},
+  {0x83388a39, 0xeebe8a},
+  {0x83388b30, 0xeebe8b},
+  {0x83388b31, 0xeebe8c},
+  {0x83388b32, 0xeebe8d},
+  {0x83388b33, 0xeebe8e},
+  {0x83388b34, 0xeebe8f},
+  {0x83388b35, 0xeebe90},
+  {0x83388b36, 0xeebe91},
+  {0x83388b37, 0xeebe92},
+  {0x83388b38, 0xeebe93},
+  {0x83388b39, 0xeebe94},
+  {0x83388c30, 0xeebe95},
+  {0x83388c31, 0xeebe96},
+  {0x83388c32, 0xeebe97},
+  {0x83388c33, 0xeebe98},
+  {0x83388c34, 0xeebe99},
+  {0x83388c35, 0xeebe9a},
+  {0x83388c36, 0xeebe9b},
+  {0x83388c37, 0xeebe9c},
+  {0x83388c38, 0xeebe9d},
+  {0x83388c39, 0xeebe9e},
+  {0x83388d30, 0xeebe9f},
+  {0x83388d31, 0xeebea0},
+  {0x83388d32, 0xeebea1},
+  {0x83388d33, 0xeebea2},
+  {0x83388d34, 0xeebea3},
+  {0x83388d35, 0xeebea4},
+  {0x83388d36, 0xeebea5},
+  {0x83388d37, 0xeebea6},
+  {0x83388d38, 0xeebea7},
+  {0x83388d39, 0xeebea8},
+  {0x83388e30, 0xeebea9},
+  {0x83388e31, 0xeebeaa},
+  {0x83388e32, 0xeebeab},
+  {0x83388e33, 0xeebeac},
+  {0x83388e34, 0xeebead},
+  {0x83388e35, 0xeebeae},
+  {0x83388e36, 0xeebeaf},
+  {0x83388e37, 0xeebeb0},
+  {0x83388e38, 0xeebeb1},
+  {0x83388e39, 0xeebeb2},
+  {0x83388f30, 0xeebeb3},
+  {0x83388f31, 0xeebeb4},
+  {0x83388f32, 0xeebeb5},
+  {0x83388f33, 0xeebeb6},
+  {0x83388f34, 0xeebeb7},
+  {0x83388f35, 0xeebeb8},
+  {0x83388f36, 0xeebeb9},
+  {0x83388f37, 0xeebeba},
+  {0x83388f38, 0xeebebb},
+  {0x83388f39, 0xeebebc},
+  {0x83389030, 0xeebebd},
+  {0x83389031, 0xeebebe},
+  {0x83389032, 0xeebebf},
+  {0x83389033, 0xeebf80},
+  {0x83389034, 0xeebf81},
+  {0x83389035, 0xeebf82},
+  {0x83389036, 0xeebf83},
+  {0x83389037, 0xeebf84},
+  {0x83389038, 0xeebf85},
+  {0x83389039, 0xeebf86},
+  {0x83389130, 0xeebf87},
+  {0x83389131, 0xeebf88},
+  {0x83389132, 0xeebf89},
+  {0x83389133, 0xeebf8a},
+  {0x83389134, 0xeebf8b},
+  {0x83389135, 0xeebf8c},
+  {0x83389136, 0xeebf8d},
+  {0x83389137, 0xeebf8e},
+  {0x83389138, 0xeebf8f},
+  {0x83389139, 0xeebf90},
+  {0x83389230, 0xeebf91},
+  {0x83389231, 0xeebf92},
+  {0x83389232, 0xeebf93},
+  {0x83389233, 0xeebf94},
+  {0x83389234, 0xeebf95},
+  {0x83389235, 0xeebf96},
+  {0x83389236, 0xeebf97},
+  {0x83389237, 0xeebf98},
+  {0x83389238, 0xeebf99},
+  {0x83389239, 0xeebf9a},
+  {0x83389330, 0xeebf9b},
+  {0x83389331, 0xeebf9c},
+  {0x83389332, 0xeebf9d},
+  {0x83389333, 0xeebf9e},
+  {0x83389334, 0xeebf9f},
+  {0x83389335, 0xeebfa0},
+  {0x83389336, 0xeebfa1},
+  {0x83389337, 0xeebfa2},
+  {0x83389338, 0xeebfa3},
+  {0x83389339, 0xeebfa4},
+  {0x83389430, 0xeebfa5},
+  {0x83389431, 0xeebfa6},
+  {0x83389432, 0xeebfa7},
+  {0x83389433, 0xeebfa8},
+  {0x83389434, 0xeebfa9},
+  {0x83389435, 0xeebfaa},
+  {0x83389436, 0xeebfab},
+  {0x83389437, 0xeebfac},
+  {0x83389438, 0xeebfad},
+  {0x83389439, 0xeebfae},
+  {0x83389530, 0xeebfaf},
+  {0x83389531, 0xeebfb0},
+  {0x83389532, 0xeebfb1},
+  {0x83389533, 0xeebfb2},
+  {0x83389534, 0xeebfb3},
+  {0x83389535, 0xeebfb4},
+  {0x83389536, 0xeebfb5},
+  {0x83389537, 0xeebfb6},
+  {0x83389538, 0xeebfb7},
+  {0x83389539, 0xeebfb8},
+  {0x83389630, 0xeebfb9},
+  {0x83389631, 0xeebfba},
+  {0x83389632, 0xeebfbb},
+  {0x83389633, 0xeebfbc},
+  {0x83389634, 0xeebfbd},
+  {0x83389635, 0xeebfbe},
+  {0x83389636, 0xeebfbf},
+  {0x83389637, 0xef8080},
+  {0x83389638, 0xef8081},
+  {0x83389639, 0xef8082},
+  {0x83389730, 0xef8083},
+  {0x83389731, 0xef8084},
+  {0x83389732, 0xef8085},
+  {0x83389733, 0xef8086},
+  {0x83389734, 0xef8087},
+  {0x83389735, 0xef8088},
+  {0x83389736, 0xef8089},
+  {0x83389737, 0xef808a},
+  {0x83389738, 0xef808b},
+  {0x83389739, 0xef808c},
+  {0x83389830, 0xef808d},
+  {0x83389831, 0xef808e},
+  {0x83389832, 0xef808f},
+  {0x83389833, 0xef8090},
+  {0x83389834, 0xef8091},
+  {0x83389835, 0xef8092},
+  {0x83389836, 0xef8093},
+  {0x83389837, 0xef8094},
+  {0x83389838, 0xef8095},
+  {0x83389839, 0xef8096},
+  {0x83389930, 0xef8097},
+  {0x83389931, 0xef8098},
+  {0x83389932, 0xef8099},
+  {0x83389933, 0xef809a},
+  {0x83389934, 0xef809b},
+  {0x83389935, 0xef809c},
+  {0x83389936, 0xef809d},
+  {0x83389937, 0xef809e},
+  {0x83389938, 0xef809f},
+  {0x83389939, 0xef80a0},
+  {0x83389a30, 0xef80a1},
+  {0x83389a31, 0xef80a2},
+  {0x83389a32, 0xef80a3},
+  {0x83389a33, 0xef80a4},
+  {0x83389a34, 0xef80a5},
+  {0x83389a35, 0xef80a6},
+  {0x83389a36, 0xef80a7},
+  {0x83389a37, 0xef80a8},
+  {0x83389a38, 0xef80a9},
+  {0x83389a39, 0xef80aa},
+  {0x83389b30, 0xef80ab},
+  {0x83389b31, 0xef80ac},
+  {0x83389b32, 0xef80ad},
+  {0x83389b33, 0xef80ae},
+  {0x83389b34, 0xef80af},
+  {0x83389b35, 0xef80b0},
+  {0x83389b36, 0xef80b1},
+  {0x83389b37, 0xef80b2},
+  {0x83389b38, 0xef80b3},
+  {0x83389b39, 0xef80b4},
+  {0x83389c30, 0xef80b5},
+  {0x83389c31, 0xef80b6},
+  {0x83389c32, 0xef80b7},
+  {0x83389c33, 0xef80b8},
+  {0x83389c34, 0xef80b9},
+  {0x83389c35, 0xef80ba},
+  {0x83389c36, 0xef80bb},
+  {0x83389c37, 0xef80bc},
+  {0x83389c38, 0xef80bd},
+  {0x83389c39, 0xef80be},
+  {0x83389d30, 0xef80bf},
+  {0x83389d31, 0xef8180},
+  {0x83389d32, 0xef8181},
+  {0x83389d33, 0xef8182},
+  {0x83389d34, 0xef8183},
+  {0x83389d35, 0xef8184},
+  {0x83389d36, 0xef8185},
+  {0x83389d37, 0xef8186},
+  {0x83389d38, 0xef8187},
+  {0x83389d39, 0xef8188},
+  {0x83389e30, 0xef8189},
+  {0x83389e31, 0xef818a},
+  {0x83389e32, 0xef818b},
+  {0x83389e33, 0xef818c},
+  {0x83389e34, 0xef818d},
+  {0x83389e35, 0xef818e},
+  {0x83389e36, 0xef818f},
+  {0x83389e37, 0xef8190},
+  {0x83389e38, 0xef8191},
+  {0x83389e39, 0xef8192},
+  {0x83389f30, 0xef8193},
+  {0x83389f31, 0xef8194},
+  {0x83389f32, 0xef8195},
+  {0x83389f33, 0xef8196},
+  {0x83389f34, 0xef8197},
+  {0x83389f35, 0xef8198},
+  {0x83389f36, 0xef8199},
+  {0x83389f37, 0xef819a},
+  {0x83389f38, 0xef819b},
+  {0x83389f39, 0xef819c},
+  {0x8338a030, 0xef819d},
+  {0x8338a031, 0xef819e},
+  {0x8338a032, 0xef819f},
+  {0x8338a033, 0xef81a0},
+  {0x8338a034, 0xef81a1},
+  {0x8338a035, 0xef81a2},
+  {0x8338a036, 0xef81a3},
+  {0x8338a037, 0xef81a4},
+  {0x8338a038, 0xef81a5},
+  {0x8338a039, 0xef81a6},
+  {0x8338a130, 0xef81a7},
+  {0x8338a131, 0xef81a8},
+  {0x8338a132, 0xef81a9},
+  {0x8338a133, 0xef81aa},
+  {0x8338a134, 0xef81ab},
+  {0x8338a135, 0xef81ac},
+  {0x8338a136, 0xef81ad},
+  {0x8338a137, 0xef81ae},
+  {0x8338a138, 0xef81af},
+  {0x8338a139, 0xef81b0},
+  {0x8338a230, 0xef81b1},
+  {0x8338a231, 0xef81b2},
+  {0x8338a232, 0xef81b3},
+  {0x8338a233, 0xef81b4},
+  {0x8338a234, 0xef81b5},
+  {0x8338a235, 0xef81b6},
+  {0x8338a236, 0xef81b7},
+  {0x8338a237, 0xef81b8},
+  {0x8338a238, 0xef81b9},
+  {0x8338a239, 0xef81ba},
+  {0x8338a330, 0xef81bb},
+  {0x8338a331, 0xef81bc},
+  {0x8338a332, 0xef81bd},
+  {0x8338a333, 0xef81be},
+  {0x8338a334, 0xef81bf},
+  {0x8338a335, 0xef8280},
+  {0x8338a336, 0xef8281},
+  {0x8338a337, 0xef8282},
+  {0x8338a338, 0xef8283},
+  {0x8338a339, 0xef8284},
+  {0x8338a430, 0xef8285},
+  {0x8338a431, 0xef8286},
+  {0x8338a432, 0xef8287},
+  {0x8338a433, 0xef8288},
+  {0x8338a434, 0xef8289},
+  {0x8338a435, 0xef828a},
+  {0x8338a436, 0xef828b},
+  {0x8338a437, 0xef828c},
+  {0x8338a438, 0xef828d},
+  {0x8338a439, 0xef828e},
+  {0x8338a530, 0xef828f},
+  {0x8338a531, 0xef8290},
+  {0x8338a532, 0xef8291},
+  {0x8338a533, 0xef8292},
+  {0x8338a534, 0xef8293},
+  {0x8338a535, 0xef8294},
+  {0x8338a536, 0xef8295},
+  {0x8338a537, 0xef8296},
+  {0x8338a538, 0xef8297},
+  {0x8338a539, 0xef8298},
+  {0x8338a630, 0xef8299},
+  {0x8338a631, 0xef829a},
+  {0x8338a632, 0xef829b},
+  {0x8338a633, 0xef829c},
+  {0x8338a634, 0xef829d},
+  {0x8338a635, 0xef829e},
+  {0x8338a636, 0xef829f},
+  {0x8338a637, 0xef82a0},
+  {0x8338a638, 0xef82a1},
+  {0x8338a639, 0xef82a2},
+  {0x8338a730, 0xef82a3},
+  {0x8338a731, 0xef82a4},
+  {0x8338a732, 0xef82a5},
+  {0x8338a733, 0xef82a6},
+  {0x8338a734, 0xef82a7},
+  {0x8338a735, 0xef82a8},
+  {0x8338a736, 0xef82a9},
+  {0x8338a737, 0xef82aa},
+  {0x8338a738, 0xef82ab},
+  {0x8338a739, 0xef82ac},
+  {0x8338a830, 0xef82ad},
+  {0x8338a831, 0xef82ae},
+  {0x8338a832, 0xef82af},
+  {0x8338a833, 0xef82b0},
+  {0x8338a834, 0xef82b1},
+  {0x8338a835, 0xef82b2},
+  {0x8338a836, 0xef82b3},
+  {0x8338a837, 0xef82b4},
+  {0x8338a838, 0xef82b5},
+  {0x8338a839, 0xef82b6},
+  {0x8338a930, 0xef82b7},
+  {0x8338a931, 0xef82b8},
+  {0x8338a932, 0xef82b9},
+  {0x8338a933, 0xef82ba},
+  {0x8338a934, 0xef82bb},
+  {0x8338a935, 0xef82bc},
+  {0x8338a936, 0xef82bd},
+  {0x8338a937, 0xef82be},
+  {0x8338a938, 0xef82bf},
+  {0x8338a939, 0xef8380},
+  {0x8338aa30, 0xef8381},
+  {0x8338aa31, 0xef8382},
+  {0x8338aa32, 0xef8383},
+  {0x8338aa33, 0xef8384},
+  {0x8338aa34, 0xef8385},
+  {0x8338aa35, 0xef8386},
+  {0x8338aa36, 0xef8387},
+  {0x8338aa37, 0xef8388},
+  {0x8338aa38, 0xef8389},
+  {0x8338aa39, 0xef838a},
+  {0x8338ab30, 0xef838b},
+  {0x8338ab31, 0xef838c},
+  {0x8338ab32, 0xef838d},
+  {0x8338ab33, 0xef838e},
+  {0x8338ab34, 0xef838f},
+  {0x8338ab35, 0xef8390},
+  {0x8338ab36, 0xef8391},
+  {0x8338ab37, 0xef8392},
+  {0x8338ab38, 0xef8393},
+  {0x8338ab39, 0xef8394},
+  {0x8338ac30, 0xef8395},
+  {0x8338ac31, 0xef8396},
+  {0x8338ac32, 0xef8397},
+  {0x8338ac33, 0xef8398},
+  {0x8338ac34, 0xef8399},
+  {0x8338ac35, 0xef839a},
+  {0x8338ac36, 0xef839b},
+  {0x8338ac37, 0xef839c},
+  {0x8338ac38, 0xef839d},
+  {0x8338ac39, 0xef839e},
+  {0x8338ad30, 0xef839f},
+  {0x8338ad31, 0xef83a0},
+  {0x8338ad32, 0xef83a1},
+  {0x8338ad33, 0xef83a2},
+  {0x8338ad34, 0xef83a3},
+  {0x8338ad35, 0xef83a4},
+  {0x8338ad36, 0xef83a5},
+  {0x8338ad37, 0xef83a6},
+  {0x8338ad38, 0xef83a7},
+  {0x8338ad39, 0xef83a8},
+  {0x8338ae30, 0xef83a9},
+  {0x8338ae31, 0xef83aa},
+  {0x8338ae32, 0xef83ab},
+  {0x8338ae33, 0xef83ac},
+  {0x8338ae34, 0xef83ad},
+  {0x8338ae35, 0xef83ae},
+  {0x8338ae36, 0xef83af},
+  {0x8338ae37, 0xef83b0},
+  {0x8338ae38, 0xef83b1},
+  {0x8338ae39, 0xef83b2},
+  {0x8338af30, 0xef83b3},
+  {0x8338af31, 0xef83b4},
+  {0x8338af32, 0xef83b5},
+  {0x8338af33, 0xef83b6},
+  {0x8338af34, 0xef83b7},
+  {0x8338af35, 0xef83b8},
+  {0x8338af36, 0xef83b9},
+  {0x8338af37, 0xef83ba},
+  {0x8338af38, 0xef83bb},
+  {0x8338af39, 0xef83bc},
+  {0x8338b030, 0xef83bd},
+  {0x8338b031, 0xef83be},
+  {0x8338b032, 0xef83bf},
+  {0x8338b033, 0xef8480},
+  {0x8338b034, 0xef8481},
+  {0x8338b035, 0xef8482},
+  {0x8338b036, 0xef8483},
+  {0x8338b037, 0xef8484},
+  {0x8338b038, 0xef8485},
+  {0x8338b039, 0xef8486},
+  {0x8338b130, 0xef8487},
+  {0x8338b131, 0xef8488},
+  {0x8338b132, 0xef8489},
+  {0x8338b133, 0xef848a},
+  {0x8338b134, 0xef848b},
+  {0x8338b135, 0xef848c},
+  {0x8338b136, 0xef848d},
+  {0x8338b137, 0xef848e},
+  {0x8338b138, 0xef848f},
+  {0x8338b139, 0xef8490},
+  {0x8338b230, 0xef8491},
+  {0x8338b231, 0xef8492},
+  {0x8338b232, 0xef8493},
+  {0x8338b233, 0xef8494},
+  {0x8338b234, 0xef8495},
+  {0x8338b235, 0xef8496},
+  {0x8338b236, 0xef8497},
+  {0x8338b237, 0xef8498},
+  {0x8338b238, 0xef8499},
+  {0x8338b239, 0xef849a},
+  {0x8338b330, 0xef849b},
+  {0x8338b331, 0xef849c},
+  {0x8338b332, 0xef849d},
+  {0x8338b333, 0xef849e},
+  {0x8338b334, 0xef849f},
+  {0x8338b335, 0xef84a0},
+  {0x8338b336, 0xef84a1},
+  {0x8338b337, 0xef84a2},
+  {0x8338b338, 0xef84a3},
+  {0x8338b339, 0xef84a4},
+  {0x8338b430, 0xef84a5},
+  {0x8338b431, 0xef84a6},
+  {0x8338b432, 0xef84a7},
+  {0x8338b433, 0xef84a8},
+  {0x8338b434, 0xef84a9},
+  {0x8338b435, 0xef84aa},
+  {0x8338b436, 0xef84ab},
+  {0x8338b437, 0xef84ac},
+  {0x8338b438, 0xef84ad},
+  {0x8338b439, 0xef84ae},
+  {0x8338b530, 0xef84af},
+  {0x8338b531, 0xef84b0},
+  {0x8338b532, 0xef84b1},
+  {0x8338b533, 0xef84b2},
+  {0x8338b534, 0xef84b3},
+  {0x8338b535, 0xef84b4},
+  {0x8338b536, 0xef84b5},
+  {0x8338b537, 0xef84b6},
+  {0x8338b538, 0xef84b7},
+  {0x8338b539, 0xef84b8},
+  {0x8338b630, 0xef84b9},
+  {0x8338b631, 0xef84ba},
+  {0x8338b632, 0xef84bb},
+  {0x8338b633, 0xef84bc},
+  {0x8338b634, 0xef84bd},
+  {0x8338b635, 0xef84be},
+  {0x8338b636, 0xef84bf},
+  {0x8338b637, 0xef8580},
+  {0x8338b638, 0xef8581},
+  {0x8338b639, 0xef8582},
+  {0x8338b730, 0xef8583},
+  {0x8338b731, 0xef8584},
+  {0x8338b732, 0xef8585},
+  {0x8338b733, 0xef8586},
+  {0x8338b734, 0xef8587},
+  {0x8338b735, 0xef8588},
+  {0x8338b736, 0xef8589},
+  {0x8338b737, 0xef858a},
+  {0x8338b738, 0xef858b},
+  {0x8338b739, 0xef858c},
+  {0x8338b830, 0xef858d},
+  {0x8338b831, 0xef858e},
+  {0x8338b832, 0xef858f},
+  {0x8338b833, 0xef8590},
+  {0x8338b834, 0xef8591},
+  {0x8338b835, 0xef8592},
+  {0x8338b836, 0xef8593},
+  {0x8338b837, 0xef8594},
+  {0x8338b838, 0xef8595},
+  {0x8338b839, 0xef8596},
+  {0x8338b930, 0xef8597},
+  {0x8338b931, 0xef8598},
+  {0x8338b932, 0xef8599},
+  {0x8338b933, 0xef859a},
+  {0x8338b934, 0xef859b},
+  {0x8338b935, 0xef859c},
+  {0x8338b936, 0xef859d},
+  {0x8338b937, 0xef859e},
+  {0x8338b938, 0xef859f},
+  {0x8338b939, 0xef85a0},
+  {0x8338ba30, 0xef85a1},
+  {0x8338ba31, 0xef85a2},
+  {0x8338ba32, 0xef85a3},
+  {0x8338ba33, 0xef85a4},
+  {0x8338ba34, 0xef85a5},
+  {0x8338ba35, 0xef85a6},
+  {0x8338ba36, 0xef85a7},
+  {0x8338ba37, 0xef85a8},
+  {0x8338ba38, 0xef85a9},
+  {0x8338ba39, 0xef85aa},
+  {0x8338bb30, 0xef85ab},
+  {0x8338bb31, 0xef85ac},
+  {0x8338bb32, 0xef85ad},
+  {0x8338bb33, 0xef85ae},
+  {0x8338bb34, 0xef85af},
+  {0x8338bb35, 0xef85b0},
+  {0x8338bb36, 0xef85b1},
+  {0x8338bb37, 0xef85b2},
+  {0x8338bb38, 0xef85b3},
+  {0x8338bb39, 0xef85b4},
+  {0x8338bc30, 0xef85b5},
+  {0x8338bc31, 0xef85b6},
+  {0x8338bc32, 0xef85b7},
+  {0x8338bc33, 0xef85b8},
+  {0x8338bc34, 0xef85b9},
+  {0x8338bc35, 0xef85ba},
+  {0x8338bc36, 0xef85bb},
+  {0x8338bc37, 0xef85bc},
+  {0x8338bc38, 0xef85bd},
+  {0x8338bc39, 0xef85be},
+  {0x8338bd30, 0xef85bf},
+  {0x8338bd31, 0xef8680},
+  {0x8338bd32, 0xef8681},
+  {0x8338bd33, 0xef8682},
+  {0x8338bd34, 0xef8683},
+  {0x8338bd35, 0xef8684},
+  {0x8338bd36, 0xef8685},
+  {0x8338bd37, 0xef8686},
+  {0x8338bd38, 0xef8687},
+  {0x8338bd39, 0xef8688},
+  {0x8338be30, 0xef8689},
+  {0x8338be31, 0xef868a},
+  {0x8338be32, 0xef868b},
+  {0x8338be33, 0xef868c},
+  {0x8338be34, 0xef868d},
+  {0x8338be35, 0xef868e},
+  {0x8338be36, 0xef868f},
+  {0x8338be37, 0xef8690},
+  {0x8338be38, 0xef8691},
+  {0x8338be39, 0xef8692},
+  {0x8338bf30, 0xef8693},
+  {0x8338bf31, 0xef8694},
+  {0x8338bf32, 0xef8695},
+  {0x8338bf33, 0xef8696},
+  {0x8338bf34, 0xef8697},
+  {0x8338bf35, 0xef8698},
+  {0x8338bf36, 0xef8699},
+  {0x8338bf37, 0xef869a},
+  {0x8338bf38, 0xef869b},
+  {0x8338bf39, 0xef869c},
+  {0x8338c030, 0xef869d},
+  {0x8338c031, 0xef869e},
+  {0x8338c032, 0xef869f},
+  {0x8338c033, 0xef86a0},
+  {0x8338c034, 0xef86a1},
+  {0x8338c035, 0xef86a2},
+  {0x8338c036, 0xef86a3},
+  {0x8338c037, 0xef86a4},
+  {0x8338c038, 0xef86a5},
+  {0x8338c039, 0xef86a6},
+  {0x8338c130, 0xef86a7},
+  {0x8338c131, 0xef86a8},
+  {0x8338c132, 0xef86a9},
+  {0x8338c133, 0xef86aa},
+  {0x8338c134, 0xef86ab},
+  {0x8338c135, 0xef86ac},
+  {0x8338c136, 0xef86ad},
+  {0x8338c137, 0xef86ae},
+  {0x8338c138, 0xef86af},
+  {0x8338c139, 0xef86b0},
+  {0x8338c230, 0xef86b1},
+  {0x8338c231, 0xef86b2},
+  {0x8338c232, 0xef86b3},
+  {0x8338c233, 0xef86b4},
+  {0x8338c234, 0xef86b5},
+  {0x8338c235, 0xef86b6},
+  {0x8338c236, 0xef86b7},
+  {0x8338c237, 0xef86b8},
+  {0x8338c238, 0xef86b9},
+  {0x8338c239, 0xef86ba},
+  {0x8338c330, 0xef86bb},
+  {0x8338c331, 0xef86bc},
+  {0x8338c332, 0xef86bd},
+  {0x8338c333, 0xef86be},
+  {0x8338c334, 0xef86bf},
+  {0x8338c335, 0xef8780},
+  {0x8338c336, 0xef8781},
+  {0x8338c337, 0xef8782},
+  {0x8338c338, 0xef8783},
+  {0x8338c339, 0xef8784},
+  {0x8338c430, 0xef8785},
+  {0x8338c431, 0xef8786},
+  {0x8338c432, 0xef8787},
+  {0x8338c433, 0xef8788},
+  {0x8338c434, 0xef8789},
+  {0x8338c435, 0xef878a},
+  {0x8338c436, 0xef878b},
+  {0x8338c437, 0xef878c},
+  {0x8338c438, 0xef878d},
+  {0x8338c439, 0xef878e},
+  {0x8338c530, 0xef878f},
+  {0x8338c531, 0xef8790},
+  {0x8338c532, 0xef8791},
+  {0x8338c533, 0xef8792},
+  {0x8338c534, 0xef8793},
+  {0x8338c535, 0xef8794},
+  {0x8338c536, 0xef8795},
+  {0x8338c537, 0xef8796},
+  {0x8338c538, 0xef8797},
+  {0x8338c539, 0xef8798},
+  {0x8338c630, 0xef8799},
+  {0x8338c631, 0xef879a},
+  {0x8338c632, 0xef879b},
+  {0x8338c633, 0xef879c},
+  {0x8338c634, 0xef879d},
+  {0x8338c635, 0xef879e},
+  {0x8338c636, 0xef879f},
+  {0x8338c637, 0xef87a0},
+  {0x8338c638, 0xef87a1},
+  {0x8338c639, 0xef87a2},
+  {0x8338c730, 0xef87a3},
+  {0x8338c731, 0xef87a4},
+  {0x8338c732, 0xef87a5},
+  {0x8338c733, 0xef87a6},
+  {0x8338c734, 0xef87a7},
+  {0x8338c735, 0xef87a8},
+  {0x8338c736, 0xef87a9},
+  {0x8338c737, 0xef87aa},
+  {0x8338c738, 0xef87ab},
+  {0x8338c739, 0xef87ac},
+  {0x8338c830, 0xef87ad},
+  {0x8338c831, 0xef87ae},
+  {0x8338c832, 0xef87af},
+  {0x8338c833, 0xef87b0},
+  {0x8338c834, 0xef87b1},
+  {0x8338c835, 0xef87b2},
+  {0x8338c836, 0xef87b3},
+  {0x8338c837, 0xef87b4},
+  {0x8338c838, 0xef87b5},
+  {0x8338c839, 0xef87b6},
+  {0x8338c930, 0xef87b7},
+  {0x8338c931, 0xef87b8},
+  {0x8338c932, 0xef87b9},
+  {0x8338c933, 0xef87ba},
+  {0x8338c934, 0xef87bb},
+  {0x8338c935, 0xef87bc},
+  {0x8338c936, 0xef87bd},
+  {0x8338c937, 0xef87be},
+  {0x8338c938, 0xef87bf},
+  {0x8338c939, 0xef8880},
+  {0x8338ca30, 0xef8881},
+  {0x8338ca31, 0xef8882},
+  {0x8338ca32, 0xef8883},
+  {0x8338ca33, 0xef8884},
+  {0x8338ca34, 0xef8885},
+  {0x8338ca35, 0xef8886},
+  {0x8338ca36, 0xef8887},
+  {0x8338ca37, 0xef8888},
+  {0x8338ca38, 0xef8889},
+  {0x8338ca39, 0xef888a},
+  {0x8338cb30, 0xef888b},
+  {0x8338cb31, 0xef888c},
+  {0x8338cb32, 0xef888d},
+  {0x8338cb33, 0xef888e},
+  {0x8338cb34, 0xef888f},
+  {0x8338cb35, 0xef8890},
+  {0x8338cb36, 0xef8891},
+  {0x8338cb37, 0xef8892},
+  {0x8338cb38, 0xef8893},
+  {0x8338cb39, 0xef8894},
+  {0x8338cc30, 0xef8895},
+  {0x8338cc31, 0xef8896},
+  {0x8338cc32, 0xef8897},
+  {0x8338cc33, 0xef8898},
+  {0x8338cc34, 0xef8899},
+  {0x8338cc35, 0xef889a},
+  {0x8338cc36, 0xef889b},
+  {0x8338cc37, 0xef889c},
+  {0x8338cc38, 0xef889d},
+  {0x8338cc39, 0xef889e},
+  {0x8338cd30, 0xef889f},
+  {0x8338cd31, 0xef88a0},
+  {0x8338cd32, 0xef88a1},
+  {0x8338cd33, 0xef88a2},
+  {0x8338cd34, 0xef88a3},
+  {0x8338cd35, 0xef88a4},
+  {0x8338cd36, 0xef88a5},
+  {0x8338cd37, 0xef88a6},
+  {0x8338cd38, 0xef88a7},
+  {0x8338cd39, 0xef88a8},
+  {0x8338ce30, 0xef88a9},
+  {0x8338ce31, 0xef88aa},
+  {0x8338ce32, 0xef88ab},
+  {0x8338ce33, 0xef88ac},
+  {0x8338ce34, 0xef88ad},
+  {0x8338ce35, 0xef88ae},
+  {0x8338ce36, 0xef88af},
+  {0x8338ce37, 0xef88b0},
+  {0x8338ce38, 0xef88b1},
+  {0x8338ce39, 0xef88b2},
+  {0x8338cf30, 0xef88b3},
+  {0x8338cf31, 0xef88b4},
+  {0x8338cf32, 0xef88b5},
+  {0x8338cf33, 0xef88b6},
+  {0x8338cf34, 0xef88b7},
+  {0x8338cf35, 0xef88b8},
+  {0x8338cf36, 0xef88b9},
+  {0x8338cf37, 0xef88ba},
+  {0x8338cf38, 0xef88bb},
+  {0x8338cf39, 0xef88bc},
+  {0x8338d030, 0xef88bd},
+  {0x8338d031, 0xef88be},
+  {0x8338d032, 0xef88bf},
+  {0x8338d033, 0xef8980},
+  {0x8338d034, 0xef8981},
+  {0x8338d035, 0xef8982},
+  {0x8338d036, 0xef8983},
+  {0x8338d037, 0xef8984},
+  {0x8338d038, 0xef8985},
+  {0x8338d039, 0xef8986},
+  {0x8338d130, 0xef8987},
+  {0x8338d131, 0xef8988},
+  {0x8338d132, 0xef8989},
+  {0x8338d133, 0xef898a},
+  {0x8338d134, 0xef898b},
+  {0x8338d135, 0xef898c},
+  {0x8338d136, 0xef898d},
+  {0x8338d137, 0xef898e},
+  {0x8338d138, 0xef898f},
+  {0x8338d139, 0xef8990},
+  {0x8338d230, 0xef8991},
+  {0x8338d231, 0xef8992},
+  {0x8338d232, 0xef8993},
+  {0x8338d233, 0xef8994},
+  {0x8338d234, 0xef8995},
+  {0x8338d235, 0xef8996},
+  {0x8338d236, 0xef8997},
+  {0x8338d237, 0xef8998},
+  {0x8338d238, 0xef8999},
+  {0x8338d239, 0xef899a},
+  {0x8338d330, 0xef899b},
+  {0x8338d331, 0xef899c},
+  {0x8338d332, 0xef899d},
+  {0x8338d333, 0xef899e},
+  {0x8338d334, 0xef899f},
+  {0x8338d335, 0xef89a0},
+  {0x8338d336, 0xef89a1},
+  {0x8338d337, 0xef89a2},
+  {0x8338d338, 0xef89a3},
+  {0x8338d339, 0xef89a4},
+  {0x8338d430, 0xef89a5},
+  {0x8338d431, 0xef89a6},
+  {0x8338d432, 0xef89a7},
+  {0x8338d433, 0xef89a8},
+  {0x8338d434, 0xef89a9},
+  {0x8338d435, 0xef89aa},
+  {0x8338d436, 0xef89ab},
+  {0x8338d437, 0xef89ac},
+  {0x8338d438, 0xef89ad},
+  {0x8338d439, 0xef89ae},
+  {0x8338d530, 0xef89af},
+  {0x8338d531, 0xef89b0},
+  {0x8338d532, 0xef89b1},
+  {0x8338d533, 0xef89b2},
+  {0x8338d534, 0xef89b3},
+  {0x8338d535, 0xef89b4},
+  {0x8338d536, 0xef89b5},
+  {0x8338d537, 0xef89b6},
+  {0x8338d538, 0xef89b7},
+  {0x8338d539, 0xef89b8},
+  {0x8338d630, 0xef89b9},
+  {0x8338d631, 0xef89ba},
+  {0x8338d632, 0xef89bb},
+  {0x8338d633, 0xef89bc},
+  {0x8338d634, 0xef89bd},
+  {0x8338d635, 0xef89be},
+  {0x8338d636, 0xef89bf},
+  {0x8338d637, 0xef8a80},
+  {0x8338d638, 0xef8a81},
+  {0x8338d639, 0xef8a82},
+  {0x8338d730, 0xef8a83},
+  {0x8338d731, 0xef8a84},
+  {0x8338d732, 0xef8a85},
+  {0x8338d733, 0xef8a86},
+  {0x8338d734, 0xef8a87},
+  {0x8338d735, 0xef8a88},
+  {0x8338d736, 0xef8a89},
+  {0x8338d737, 0xef8a8a},
+  {0x8338d738, 0xef8a8b},
+  {0x8338d739, 0xef8a8c},
+  {0x8338d830, 0xef8a8d},
+  {0x8338d831, 0xef8a8e},
+  {0x8338d832, 0xef8a8f},
+  {0x8338d833, 0xef8a90},
+  {0x8338d834, 0xef8a91},
+  {0x8338d835, 0xef8a92},
+  {0x8338d836, 0xef8a93},
+  {0x8338d837, 0xef8a94},
+  {0x8338d838, 0xef8a95},
+  {0x8338d839, 0xef8a96},
+  {0x8338d930, 0xef8a97},
+  {0x8338d931, 0xef8a98},
+  {0x8338d932, 0xef8a99},
+  {0x8338d933, 0xef8a9a},
+  {0x8338d934, 0xef8a9b},
+  {0x8338d935, 0xef8a9c},
+  {0x8338d936, 0xef8a9d},
+  {0x8338d937, 0xef8a9e},
+  {0x8338d938, 0xef8a9f},
+  {0x8338d939, 0xef8aa0},
+  {0x8338da30, 0xef8aa1},
+  {0x8338da31, 0xef8aa2},
+  {0x8338da32, 0xef8aa3},
+  {0x8338da33, 0xef8aa4},
+  {0x8338da34, 0xef8aa5},
+  {0x8338da35, 0xef8aa6},
+  {0x8338da36, 0xef8aa7},
+  {0x8338da37, 0xef8aa8},
+  {0x8338da38, 0xef8aa9},
+  {0x8338da39, 0xef8aaa},
+  {0x8338db30, 0xef8aab},
+  {0x8338db31, 0xef8aac},
+  {0x8338db32, 0xef8aad},
+  {0x8338db33, 0xef8aae},
+  {0x8338db34, 0xef8aaf},
+  {0x8338db35, 0xef8ab0},
+  {0x8338db36, 0xef8ab1},
+  {0x8338db37, 0xef8ab2},
+  {0x8338db38, 0xef8ab3},
+  {0x8338db39, 0xef8ab4},
+  {0x8338dc30, 0xef8ab5},
+  {0x8338dc31, 0xef8ab6},
+  {0x8338dc32, 0xef8ab7},
+  {0x8338dc33, 0xef8ab8},
+  {0x8338dc34, 0xef8ab9},
+  {0x8338dc35, 0xef8aba},
+  {0x8338dc36, 0xef8abb},
+  {0x8338dc37, 0xef8abc},
+  {0x8338dc38, 0xef8abd},
+  {0x8338dc39, 0xef8abe},
+  {0x8338dd30, 0xef8abf},
+  {0x8338dd31, 0xef8b80},
+  {0x8338dd32, 0xef8b81},
+  {0x8338dd33, 0xef8b82},
+  {0x8338dd34, 0xef8b83},
+  {0x8338dd35, 0xef8b84},
+  {0x8338dd36, 0xef8b85},
+  {0x8338dd37, 0xef8b86},
+  {0x8338dd38, 0xef8b87},
+  {0x8338dd39, 0xef8b88},
+  {0x8338de30, 0xef8b89},
+  {0x8338de31, 0xef8b8a},
+  {0x8338de32, 0xef8b8b},
+  {0x8338de33, 0xef8b8c},
+  {0x8338de34, 0xef8b8d},
+  {0x8338de35, 0xef8b8e},
+  {0x8338de36, 0xef8b8f},
+  {0x8338de37, 0xef8b90},
+  {0x8338de38, 0xef8b91},
+  {0x8338de39, 0xef8b92},
+  {0x8338df30, 0xef8b93},
+  {0x8338df31, 0xef8b94},
+  {0x8338df32, 0xef8b95},
+  {0x8338df33, 0xef8b96},
+  {0x8338df34, 0xef8b97},
+  {0x8338df35, 0xef8b98},
+  {0x8338df36, 0xef8b99},
+  {0x8338df37, 0xef8b9a},
+  {0x8338df38, 0xef8b9b},
+  {0x8338df39, 0xef8b9c},
+  {0x8338e030, 0xef8b9d},
+  {0x8338e031, 0xef8b9e},
+  {0x8338e032, 0xef8b9f},
+  {0x8338e033, 0xef8ba0},
+  {0x8338e034, 0xef8ba1},
+  {0x8338e035, 0xef8ba2},
+  {0x8338e036, 0xef8ba3},
+  {0x8338e037, 0xef8ba4},
+  {0x8338e038, 0xef8ba5},
+  {0x8338e039, 0xef8ba6},
+  {0x8338e130, 0xef8ba7},
+  {0x8338e131, 0xef8ba8},
+  {0x8338e132, 0xef8ba9},
+  {0x8338e133, 0xef8baa},
+  {0x8338e134, 0xef8bab},
+  {0x8338e135, 0xef8bac},
+  {0x8338e136, 0xef8bad},
+  {0x8338e137, 0xef8bae},
+  {0x8338e138, 0xef8baf},
+  {0x8338e139, 0xef8bb0},
+  {0x8338e230, 0xef8bb1},
+  {0x8338e231, 0xef8bb2},
+  {0x8338e232, 0xef8bb3},
+  {0x8338e233, 0xef8bb4},
+  {0x8338e234, 0xef8bb5},
+  {0x8338e235, 0xef8bb6},
+  {0x8338e236, 0xef8bb7},
+  {0x8338e237, 0xef8bb8},
+  {0x8338e238, 0xef8bb9},
+  {0x8338e239, 0xef8bba},
+  {0x8338e330, 0xef8bbb},
+  {0x8338e331, 0xef8bbc},
+  {0x8338e332, 0xef8bbd},
+  {0x8338e333, 0xef8bbe},
+  {0x8338e334, 0xef8bbf},
+  {0x8338e335, 0xef8c80},
+  {0x8338e336, 0xef8c81},
+  {0x8338e337, 0xef8c82},
+  {0x8338e338, 0xef8c83},
+  {0x8338e339, 0xef8c84},
+  {0x8338e430, 0xef8c85},
+  {0x8338e431, 0xef8c86},
+  {0x8338e432, 0xef8c87},
+  {0x8338e433, 0xef8c88},
+  {0x8338e434, 0xef8c89},
+  {0x8338e435, 0xef8c8a},
+  {0x8338e436, 0xef8c8b},
+  {0x8338e437, 0xef8c8c},
+  {0x8338e438, 0xef8c8d},
+  {0x8338e439, 0xef8c8e},
+  {0x8338e530, 0xef8c8f},
+  {0x8338e531, 0xef8c90},
+  {0x8338e532, 0xef8c91},
+  {0x8338e533, 0xef8c92},
+  {0x8338e534, 0xef8c93},
+  {0x8338e535, 0xef8c94},
+  {0x8338e536, 0xef8c95},
+  {0x8338e537, 0xef8c96},
+  {0x8338e538, 0xef8c97},
+  {0x8338e539, 0xef8c98},
+  {0x8338e630, 0xef8c99},
+  {0x8338e631, 0xef8c9a},
+  {0x8338e632, 0xef8c9b},
+  {0x8338e633, 0xef8c9c},
+  {0x8338e634, 0xef8c9d},
+  {0x8338e635, 0xef8c9e},
+  {0x8338e636, 0xef8c9f},
+  {0x8338e637, 0xef8ca0},
+  {0x8338e638, 0xef8ca1},
+  {0x8338e639, 0xef8ca2},
+  {0x8338e730, 0xef8ca3},
+  {0x8338e731, 0xef8ca4},
+  {0x8338e732, 0xef8ca5},
+  {0x8338e733, 0xef8ca6},
+  {0x8338e734, 0xef8ca7},
+  {0x8338e735, 0xef8ca8},
+  {0x8338e736, 0xef8ca9},
+  {0x8338e737, 0xef8caa},
+  {0x8338e738, 0xef8cab},
+  {0x8338e739, 0xef8cac},
+  {0x8338e830, 0xef8cad},
+  {0x8338e831, 0xef8cae},
+  {0x8338e832, 0xef8caf},
+  {0x8338e833, 0xef8cb0},
+  {0x8338e834, 0xef8cb1},
+  {0x8338e835, 0xef8cb2},
+  {0x8338e836, 0xef8cb3},
+  {0x8338e837, 0xef8cb4},
+  {0x8338e838, 0xef8cb5},
+  {0x8338e839, 0xef8cb6},
+  {0x8338e930, 0xef8cb7},
+  {0x8338e931, 0xef8cb8},
+  {0x8338e932, 0xef8cb9},
+  {0x8338e933, 0xef8cba},
+  {0x8338e934, 0xef8cbb},
+  {0x8338e935, 0xef8cbc},
+  {0x8338e936, 0xef8cbd},
+  {0x8338e937, 0xef8cbe},
+  {0x8338e938, 0xef8cbf},
+  {0x8338e939, 0xef8d80},
+  {0x8338ea30, 0xef8d81},
+  {0x8338ea31, 0xef8d82},
+  {0x8338ea32, 0xef8d83},
+  {0x8338ea33, 0xef8d84},
+  {0x8338ea34, 0xef8d85},
+  {0x8338ea35, 0xef8d86},
+  {0x8338ea36, 0xef8d87},
+  {0x8338ea37, 0xef8d88},
+  {0x8338ea38, 0xef8d89},
+  {0x8338ea39, 0xef8d8a},
+  {0x8338eb30, 0xef8d8b},
+  {0x8338eb31, 0xef8d8c},
+  {0x8338eb32, 0xef8d8d},
+  {0x8338eb33, 0xef8d8e},
+  {0x8338eb34, 0xef8d8f},
+  {0x8338eb35, 0xef8d90},
+  {0x8338eb36, 0xef8d91},
+  {0x8338eb37, 0xef8d92},
+  {0x8338eb38, 0xef8d93},
+  {0x8338eb39, 0xef8d94},
+  {0x8338ec30, 0xef8d95},
+  {0x8338ec31, 0xef8d96},
+  {0x8338ec32, 0xef8d97},
+  {0x8338ec33, 0xef8d98},
+  {0x8338ec34, 0xef8d99},
+  {0x8338ec35, 0xef8d9a},
+  {0x8338ec36, 0xef8d9b},
+  {0x8338ec37, 0xef8d9c},
+  {0x8338ec38, 0xef8d9d},
+  {0x8338ec39, 0xef8d9e},
+  {0x8338ed30, 0xef8d9f},
+  {0x8338ed31, 0xef8da0},
+  {0x8338ed32, 0xef8da1},
+  {0x8338ed33, 0xef8da2},
+  {0x8338ed34, 0xef8da3},
+  {0x8338ed35, 0xef8da4},
+  {0x8338ed36, 0xef8da5},
+  {0x8338ed37, 0xef8da6},
+  {0x8338ed38, 0xef8da7},
+  {0x8338ed39, 0xef8da8},
+  {0x8338ee30, 0xef8da9},
+  {0x8338ee31, 0xef8daa},
+  {0x8338ee32, 0xef8dab},
+  {0x8338ee33, 0xef8dac},
+  {0x8338ee34, 0xef8dad},
+  {0x8338ee35, 0xef8dae},
+  {0x8338ee36, 0xef8daf},
+  {0x8338ee37, 0xef8db0},
+  {0x8338ee38, 0xef8db1},
+  {0x8338ee39, 0xef8db2},
+  {0x8338ef30, 0xef8db3},
+  {0x8338ef31, 0xef8db4},
+  {0x8338ef32, 0xef8db5},
+  {0x8338ef33, 0xef8db6},
+  {0x8338ef34, 0xef8db7},
+  {0x8338ef35, 0xef8db8},
+  {0x8338ef36, 0xef8db9},
+  {0x8338ef37, 0xef8dba},
+  {0x8338ef38, 0xef8dbb},
+  {0x8338ef39, 0xef8dbc},
+  {0x8338f030, 0xef8dbd},
+  {0x8338f031, 0xef8dbe},
+  {0x8338f032, 0xef8dbf},
+  {0x8338f033, 0xef8e80},
+  {0x8338f034, 0xef8e81},
+  {0x8338f035, 0xef8e82},
+  {0x8338f036, 0xef8e83},
+  {0x8338f037, 0xef8e84},
+  {0x8338f038, 0xef8e85},
+  {0x8338f039, 0xef8e86},
+  {0x8338f130, 0xef8e87},
+  {0x8338f131, 0xef8e88},
+  {0x8338f132, 0xef8e89},
+  {0x8338f133, 0xef8e8a},
+  {0x8338f134, 0xef8e8b},
+  {0x8338f135, 0xef8e8c},
+  {0x8338f136, 0xef8e8d},
+  {0x8338f137, 0xef8e8e},
+  {0x8338f138, 0xef8e8f},
+  {0x8338f139, 0xef8e90},
+  {0x8338f230, 0xef8e91},
+  {0x8338f231, 0xef8e92},
+  {0x8338f232, 0xef8e93},
+  {0x8338f233, 0xef8e94},
+  {0x8338f234, 0xef8e95},
+  {0x8338f235, 0xef8e96},
+  {0x8338f236, 0xef8e97},
+  {0x8338f237, 0xef8e98},
+  {0x8338f238, 0xef8e99},
+  {0x8338f239, 0xef8e9a},
+  {0x8338f330, 0xef8e9b},
+  {0x8338f331, 0xef8e9c},
+  {0x8338f332, 0xef8e9d},
+  {0x8338f333, 0xef8e9e},
+  {0x8338f334, 0xef8e9f},
+  {0x8338f335, 0xef8ea0},
+  {0x8338f336, 0xef8ea1},
+  {0x8338f337, 0xef8ea2},
+  {0x8338f338, 0xef8ea3},
+  {0x8338f339, 0xef8ea4},
+  {0x8338f430, 0xef8ea5},
+  {0x8338f431, 0xef8ea6},
+  {0x8338f432, 0xef8ea7},
+  {0x8338f433, 0xef8ea8},
+  {0x8338f434, 0xef8ea9},
+  {0x8338f435, 0xef8eaa},
+  {0x8338f436, 0xef8eab},
+  {0x8338f437, 0xef8eac},
+  {0x8338f438, 0xef8ead},
+  {0x8338f439, 0xef8eae},
+  {0x8338f530, 0xef8eaf},
+  {0x8338f531, 0xef8eb0},
+  {0x8338f532, 0xef8eb1},
+  {0x8338f533, 0xef8eb2},
+  {0x8338f534, 0xef8eb3},
+  {0x8338f535, 0xef8eb4},
+  {0x8338f536, 0xef8eb5},
+  {0x8338f537, 0xef8eb6},
+  {0x8338f538, 0xef8eb7},
+  {0x8338f539, 0xef8eb8},
+  {0x8338f630, 0xef8eb9},
+  {0x8338f631, 0xef8eba},
+  {0x8338f632, 0xef8ebb},
+  {0x8338f633, 0xef8ebc},
+  {0x8338f634, 0xef8ebd},
+  {0x8338f635, 0xef8ebe},
+  {0x8338f636, 0xef8ebf},
+  {0x8338f637, 0xef8f80},
+  {0x8338f638, 0xef8f81},
+  {0x8338f639, 0xef8f82},
+  {0x8338f730, 0xef8f83},
+  {0x8338f731, 0xef8f84},
+  {0x8338f732, 0xef8f85},
+  {0x8338f733, 0xef8f86},
+  {0x8338f734, 0xef8f87},
+  {0x8338f735, 0xef8f88},
+  {0x8338f736, 0xef8f89},
+  {0x8338f737, 0xef8f8a},
+  {0x8338f738, 0xef8f8b},
+  {0x8338f739, 0xef8f8c},
+  {0x8338f830, 0xef8f8d},
+  {0x8338f831, 0xef8f8e},
+  {0x8338f832, 0xef8f8f},
+  {0x8338f833, 0xef8f90},
+  {0x8338f834, 0xef8f91},
+  {0x8338f835, 0xef8f92},
+  {0x8338f836, 0xef8f93},
+  {0x8338f837, 0xef8f94},
+  {0x8338f838, 0xef8f95},
+  {0x8338f839, 0xef8f96},
+  {0x8338f930, 0xef8f97},
+  {0x8338f931, 0xef8f98},
+  {0x8338f932, 0xef8f99},
+  {0x8338f933, 0xef8f9a},
+  {0x8338f934, 0xef8f9b},
+  {0x8338f935, 0xef8f9c},
+  {0x8338f936, 0xef8f9d},
+  {0x8338f937, 0xef8f9e},
+  {0x8338f938, 0xef8f9f},
+  {0x8338f939, 0xef8fa0},
+  {0x8338fa30, 0xef8fa1},
+  {0x8338fa31, 0xef8fa2},
+  {0x8338fa32, 0xef8fa3},
+  {0x8338fa33, 0xef8fa4},
+  {0x8338fa34, 0xef8fa5},
+  {0x8338fa35, 0xef8fa6},
+  {0x8338fa36, 0xef8fa7},
+  {0x8338fa37, 0xef8fa8},
+  {0x8338fa38, 0xef8fa9},
+  {0x8338fa39, 0xef8faa},
+  {0x8338fb30, 0xef8fab},
+  {0x8338fb31, 0xef8fac},
+  {0x8338fb32, 0xef8fad},
+  {0x8338fb33, 0xef8fae},
+  {0x8338fb34, 0xef8faf},
+  {0x8338fb35, 0xef8fb0},
+  {0x8338fb36, 0xef8fb1},
+  {0x8338fb37, 0xef8fb2},
+  {0x8338fb38, 0xef8fb3},
+  {0x8338fb39, 0xef8fb4},
+  {0x8338fc30, 0xef8fb5},
+  {0x8338fc31, 0xef8fb6},
+  {0x8338fc32, 0xef8fb7},
+  {0x8338fc33, 0xef8fb8},
+  {0x8338fc34, 0xef8fb9},
+  {0x8338fc35, 0xef8fba},
+  {0x8338fc36, 0xef8fbb},
+  {0x8338fc37, 0xef8fbc},
+  {0x8338fc38, 0xef8fbd},
+  {0x8338fc39, 0xef8fbe},
+  {0x8338fd30, 0xef8fbf},
+  {0x8338fd31, 0xef9080},
+  {0x8338fd32, 0xef9081},
+  {0x8338fd33, 0xef9082},
+  {0x8338fd34, 0xef9083},
+  {0x8338fd35, 0xef9084},
+  {0x8338fd36, 0xef9085},
+  {0x8338fd37, 0xef9086},
+  {0x8338fd38, 0xef9087},
+  {0x8338fd39, 0xef9088},
+  {0x8338fe30, 0xef9089},
+  {0x8338fe31, 0xef908a},
+  {0x8338fe32, 0xef908b},
+  {0x8338fe33, 0xef908c},
+  {0x8338fe34, 0xef908d},
+  {0x8338fe35, 0xef908e},
+  {0x8338fe36, 0xef908f},
+  {0x8338fe37, 0xef9090},
+  {0x8338fe38, 0xef9091},
+  {0x8338fe39, 0xef9092},
+  {0x83398130, 0xef9093},
+  {0x83398131, 0xef9094},
+  {0x83398132, 0xef9095},
+  {0x83398133, 0xef9096},
+  {0x83398134, 0xef9097},
+  {0x83398135, 0xef9098},
+  {0x83398136, 0xef9099},
+  {0x83398137, 0xef909a},
+  {0x83398138, 0xef909b},
+  {0x83398139, 0xef909c},
+  {0x83398230, 0xef909d},
+  {0x83398231, 0xef909e},
+  {0x83398232, 0xef909f},
+  {0x83398233, 0xef90a0},
+  {0x83398234, 0xef90a1},
+  {0x83398235, 0xef90a2},
+  {0x83398236, 0xef90a3},
+  {0x83398237, 0xef90a4},
+  {0x83398238, 0xef90a5},
+  {0x83398239, 0xef90a6},
+  {0x83398330, 0xef90a7},
+  {0x83398331, 0xef90a8},
+  {0x83398332, 0xef90a9},
+  {0x83398333, 0xef90aa},
+  {0x83398334, 0xef90ab},
+  {0x83398335, 0xef90ac},
+  {0x83398336, 0xef90ad},
+  {0x83398337, 0xef90ae},
+  {0x83398338, 0xef90af},
+  {0x83398339, 0xef90b0},
+  {0x83398430, 0xef90b1},
+  {0x83398431, 0xef90b2},
+  {0x83398432, 0xef90b3},
+  {0x83398433, 0xef90b4},
+  {0x83398434, 0xef90b5},
+  {0x83398435, 0xef90b6},
+  {0x83398436, 0xef90b7},
+  {0x83398437, 0xef90b8},
+  {0x83398438, 0xef90b9},
+  {0x83398439, 0xef90ba},
+  {0x83398530, 0xef90bb},
+  {0x83398531, 0xef90bc},
+  {0x83398532, 0xef90bd},
+  {0x83398533, 0xef90be},
+  {0x83398534, 0xef90bf},
+  {0x83398535, 0xef9180},
+  {0x83398536, 0xef9181},
+  {0x83398537, 0xef9182},
+  {0x83398538, 0xef9183},
+  {0x83398539, 0xef9184},
+  {0x83398630, 0xef9185},
+  {0x83398631, 0xef9186},
+  {0x83398632, 0xef9187},
+  {0x83398633, 0xef9188},
+  {0x83398634, 0xef9189},
+  {0x83398635, 0xef918a},
+  {0x83398636, 0xef918b},
+  {0x83398637, 0xef918c},
+  {0x83398638, 0xef918d},
+  {0x83398639, 0xef918e},
+  {0x83398730, 0xef918f},
+  {0x83398731, 0xef9190},
+  {0x83398732, 0xef9191},
+  {0x83398733, 0xef9192},
+  {0x83398734, 0xef9193},
+  {0x83398735, 0xef9194},
+  {0x83398736, 0xef9195},
+  {0x83398737, 0xef9196},
+  {0x83398738, 0xef9197},
+  {0x83398739, 0xef9198},
+  {0x83398830, 0xef9199},
+  {0x83398831, 0xef919a},
+  {0x83398832, 0xef919b},
+  {0x83398833, 0xef919c},
+  {0x83398834, 0xef919d},
+  {0x83398835, 0xef919e},
+  {0x83398836, 0xef919f},
+  {0x83398837, 0xef91a0},
+  {0x83398838, 0xef91a1},
+  {0x83398839, 0xef91a2},
+  {0x83398930, 0xef91a3},
+  {0x83398931, 0xef91a4},
+  {0x83398932, 0xef91a5},
+  {0x83398933, 0xef91a6},
+  {0x83398934, 0xef91a7},
+  {0x83398935, 0xef91a8},
+  {0x83398936, 0xef91a9},
+  {0x83398937, 0xef91aa},
+  {0x83398938, 0xef91ab},
+  {0x83398939, 0xef91ac},
+  {0x83398a30, 0xef91ad},
+  {0x83398a31, 0xef91ae},
+  {0x83398a32, 0xef91af},
+  {0x83398a33, 0xef91b0},
+  {0x83398a34, 0xef91b1},
+  {0x83398a35, 0xef91b2},
+  {0x83398a36, 0xef91b3},
+  {0x83398a37, 0xef91b4},
+  {0x83398a38, 0xef91b5},
+  {0x83398a39, 0xef91b6},
+  {0x83398b30, 0xef91b7},
+  {0x83398b31, 0xef91b8},
+  {0x83398b32, 0xef91b9},
+  {0x83398b33, 0xef91ba},
+  {0x83398b34, 0xef91bb},
+  {0x83398b35, 0xef91bc},
+  {0x83398b36, 0xef91bd},
+  {0x83398b37, 0xef91be},
+  {0x83398b38, 0xef91bf},
+  {0x83398b39, 0xef9280},
+  {0x83398c30, 0xef9281},
+  {0x83398c31, 0xef9282},
+  {0x83398c32, 0xef9283},
+  {0x83398c33, 0xef9284},
+  {0x83398c34, 0xef9285},
+  {0x83398c35, 0xef9286},
+  {0x83398c36, 0xef9287},
+  {0x83398c37, 0xef9288},
+  {0x83398c38, 0xef9289},
+  {0x83398c39, 0xef928a},
+  {0x83398d30, 0xef928b},
+  {0x83398d31, 0xef928c},
+  {0x83398d32, 0xef928d},
+  {0x83398d33, 0xef928e},
+  {0x83398d34, 0xef928f},
+  {0x83398d35, 0xef9290},
+  {0x83398d36, 0xef9291},
+  {0x83398d37, 0xef9292},
+  {0x83398d38, 0xef9293},
+  {0x83398d39, 0xef9294},
+  {0x83398e30, 0xef9295},
+  {0x83398e31, 0xef9296},
+  {0x83398e32, 0xef9297},
+  {0x83398e33, 0xef9298},
+  {0x83398e34, 0xef9299},
+  {0x83398e35, 0xef929a},
+  {0x83398e36, 0xef929b},
+  {0x83398e37, 0xef929c},
+  {0x83398e38, 0xef929d},
+  {0x83398e39, 0xef929e},
+  {0x83398f30, 0xef929f},
+  {0x83398f31, 0xef92a0},
+  {0x83398f32, 0xef92a1},
+  {0x83398f33, 0xef92a2},
+  {0x83398f34, 0xef92a3},
+  {0x83398f35, 0xef92a4},
+  {0x83398f36, 0xef92a5},
+  {0x83398f37, 0xef92a6},
+  {0x83398f38, 0xef92a7},
+  {0x83398f39, 0xef92a8},
+  {0x83399030, 0xef92a9},
+  {0x83399031, 0xef92aa},
+  {0x83399032, 0xef92ab},
+  {0x83399033, 0xef92ac},
+  {0x83399034, 0xef92ad},
+  {0x83399035, 0xef92ae},
+  {0x83399036, 0xef92af},
+  {0x83399037, 0xef92b0},
+  {0x83399038, 0xef92b1},
+  {0x83399039, 0xef92b2},
+  {0x83399130, 0xef92b3},
+  {0x83399131, 0xef92b4},
+  {0x83399132, 0xef92b5},
+  {0x83399133, 0xef92b6},
+  {0x83399134, 0xef92b7},
+  {0x83399135, 0xef92b8},
+  {0x83399136, 0xef92b9},
+  {0x83399137, 0xef92ba},
+  {0x83399138, 0xef92bb},
+  {0x83399139, 0xef92bc},
+  {0x83399230, 0xef92bd},
+  {0x83399231, 0xef92be},
+  {0x83399232, 0xef92bf},
+  {0x83399233, 0xef9380},
+  {0x83399234, 0xef9381},
+  {0x83399235, 0xef9382},
+  {0x83399236, 0xef9383},
+  {0x83399237, 0xef9384},
+  {0x83399238, 0xef9385},
+  {0x83399239, 0xef9386},
+  {0x83399330, 0xef9387},
+  {0x83399331, 0xef9388},
+  {0x83399332, 0xef9389},
+  {0x83399333, 0xef938a},
+  {0x83399334, 0xef938b},
+  {0x83399335, 0xef938c},
+  {0x83399336, 0xef938d},
+  {0x83399337, 0xef938e},
+  {0x83399338, 0xef938f},
+  {0x83399339, 0xef9390},
+  {0x83399430, 0xef9391},
+  {0x83399431, 0xef9392},
+  {0x83399432, 0xef9393},
+  {0x83399433, 0xef9394},
+  {0x83399434, 0xef9395},
+  {0x83399435, 0xef9396},
+  {0x83399436, 0xef9397},
+  {0x83399437, 0xef9398},
+  {0x83399438, 0xef9399},
+  {0x83399439, 0xef939a},
+  {0x83399530, 0xef939b},
+  {0x83399531, 0xef939c},
+  {0x83399532, 0xef939d},
+  {0x83399533, 0xef939e},
+  {0x83399534, 0xef939f},
+  {0x83399535, 0xef93a0},
+  {0x83399536, 0xef93a1},
+  {0x83399537, 0xef93a2},
+  {0x83399538, 0xef93a3},
+  {0x83399539, 0xef93a4},
+  {0x83399630, 0xef93a5},
+  {0x83399631, 0xef93a6},
+  {0x83399632, 0xef93a7},
+  {0x83399633, 0xef93a8},
+  {0x83399634, 0xef93a9},
+  {0x83399635, 0xef93aa},
+  {0x83399636, 0xef93ab},
+  {0x83399637, 0xef93ac},
+  {0x83399638, 0xef93ad},
+  {0x83399639, 0xef93ae},
+  {0x83399730, 0xef93af},
+  {0x83399731, 0xef93b0},
+  {0x83399732, 0xef93b1},
+  {0x83399733, 0xef93b2},
+  {0x83399734, 0xef93b3},
+  {0x83399735, 0xef93b4},
+  {0x83399736, 0xef93b5},
+  {0x83399737, 0xef93b6},
+  {0x83399738, 0xef93b7},
+  {0x83399739, 0xef93b8},
+  {0x83399830, 0xef93b9},
+  {0x83399831, 0xef93ba},
+  {0x83399832, 0xef93bb},
+  {0x83399833, 0xef93bc},
+  {0x83399834, 0xef93bd},
+  {0x83399835, 0xef93be},
+  {0x83399836, 0xef93bf},
+  {0x83399837, 0xef9480},
+  {0x83399838, 0xef9481},
+  {0x83399839, 0xef9482},
+  {0x83399930, 0xef9483},
+  {0x83399931, 0xef9484},
+  {0x83399932, 0xef9485},
+  {0x83399933, 0xef9486},
+  {0x83399934, 0xef9487},
+  {0x83399935, 0xef9488},
+  {0x83399936, 0xef9489},
+  {0x83399937, 0xef948a},
+  {0x83399938, 0xef948b},
+  {0x83399939, 0xef948c},
+  {0x83399a30, 0xef948d},
+  {0x83399a31, 0xef948e},
+  {0x83399a32, 0xef948f},
+  {0x83399a33, 0xef9490},
+  {0x83399a34, 0xef9491},
+  {0x83399a35, 0xef9492},
+  {0x83399a36, 0xef9493},
+  {0x83399a37, 0xef9494},
+  {0x83399a38, 0xef9495},
+  {0x83399a39, 0xef9496},
+  {0x83399b30, 0xef9497},
+  {0x83399b31, 0xef9498},
+  {0x83399b32, 0xef9499},
+  {0x83399b33, 0xef949a},
+  {0x83399b34, 0xef949b},
+  {0x83399b35, 0xef949c},
+  {0x83399b36, 0xef949d},
+  {0x83399b37, 0xef949e},
+  {0x83399b38, 0xef949f},
+  {0x83399b39, 0xef94a0},
+  {0x83399c30, 0xef94a1},
+  {0x83399c31, 0xef94a2},
+  {0x83399c32, 0xef94a3},
+  {0x83399c33, 0xef94a4},
+  {0x83399c34, 0xef94a5},
+  {0x83399c35, 0xef94a6},
+  {0x83399c36, 0xef94a7},
+  {0x83399c37, 0xef94a8},
+  {0x83399c38, 0xef94a9},
+  {0x83399c39, 0xef94aa},
+  {0x83399d30, 0xef94ab},
+  {0x83399d31, 0xef94ac},
+  {0x83399d32, 0xef94ad},
+  {0x83399d33, 0xef94ae},
+  {0x83399d34, 0xef94af},
+  {0x83399d35, 0xef94b0},
+  {0x83399d36, 0xef94b1},
+  {0x83399d37, 0xef94b2},
+  {0x83399d38, 0xef94b3},
+  {0x83399d39, 0xef94b4},
+  {0x83399e30, 0xef94b5},
+  {0x83399e31, 0xef94b6},
+  {0x83399e32, 0xef94b7},
+  {0x83399e33, 0xef94b8},
+  {0x83399e34, 0xef94b9},
+  {0x83399e35, 0xef94ba},
+  {0x83399e36, 0xef94bb},
+  {0x83399e37, 0xef94bc},
+  {0x83399e38, 0xef94bd},
+  {0x83399e39, 0xef94be},
+  {0x83399f30, 0xef94bf},
+  {0x83399f31, 0xef9580},
+  {0x83399f32, 0xef9581},
+  {0x83399f33, 0xef9582},
+  {0x83399f34, 0xef9583},
+  {0x83399f35, 0xef9584},
+  {0x83399f36, 0xef9585},
+  {0x83399f37, 0xef9586},
+  {0x83399f38, 0xef9587},
+  {0x83399f39, 0xef9588},
+  {0x8339a030, 0xef9589},
+  {0x8339a031, 0xef958a},
+  {0x8339a032, 0xef958b},
+  {0x8339a033, 0xef958c},
+  {0x8339a034, 0xef958d},
+  {0x8339a035, 0xef958e},
+  {0x8339a036, 0xef958f},
+  {0x8339a037, 0xef9590},
+  {0x8339a038, 0xef9591},
+  {0x8339a039, 0xef9592},
+  {0x8339a130, 0xef9593},
+  {0x8339a131, 0xef9594},
+  {0x8339a132, 0xef9595},
+  {0x8339a133, 0xef9596},
+  {0x8339a134, 0xef9597},
+  {0x8339a135, 0xef9598},
+  {0x8339a136, 0xef9599},
+  {0x8339a137, 0xef959a},
+  {0x8339a138, 0xef959b},
+  {0x8339a139, 0xef959c},
+  {0x8339a230, 0xef959d},
+  {0x8339a231, 0xef959e},
+  {0x8339a232, 0xef959f},
+  {0x8339a233, 0xef95a0},
+  {0x8339a234, 0xef95a1},
+  {0x8339a235, 0xef95a2},
+  {0x8339a236, 0xef95a3},
+  {0x8339a237, 0xef95a4},
+  {0x8339a238, 0xef95a5},
+  {0x8339a239, 0xef95a6},
+  {0x8339a330, 0xef95a7},
+  {0x8339a331, 0xef95a8},
+  {0x8339a332, 0xef95a9},
+  {0x8339a333, 0xef95aa},
+  {0x8339a334, 0xef95ab},
+  {0x8339a335, 0xef95ac},
+  {0x8339a336, 0xef95ad},
+  {0x8339a337, 0xef95ae},
+  {0x8339a338, 0xef95af},
+  {0x8339a339, 0xef95b0},
+  {0x8339a430, 0xef95b1},
+  {0x8339a431, 0xef95b2},
+  {0x8339a432, 0xef95b3},
+  {0x8339a433, 0xef95b4},
+  {0x8339a434, 0xef95b5},
+  {0x8339a435, 0xef95b6},
+  {0x8339a436, 0xef95b7},
+  {0x8339a437, 0xef95b8},
+  {0x8339a438, 0xef95b9},
+  {0x8339a439, 0xef95ba},
+  {0x8339a530, 0xef95bb},
+  {0x8339a531, 0xef95bc},
+  {0x8339a532, 0xef95bd},
+  {0x8339a533, 0xef95be},
+  {0x8339a534, 0xef95bf},
+  {0x8339a535, 0xef9680},
+  {0x8339a536, 0xef9681},
+  {0x8339a537, 0xef9682},
+  {0x8339a538, 0xef9683},
+  {0x8339a539, 0xef9684},
+  {0x8339a630, 0xef9685},
+  {0x8339a631, 0xef9686},
+  {0x8339a632, 0xef9687},
+  {0x8339a633, 0xef9688},
+  {0x8339a634, 0xef9689},
+  {0x8339a635, 0xef968a},
+  {0x8339a636, 0xef968b},
+  {0x8339a637, 0xef968c},
+  {0x8339a638, 0xef968d},
+  {0x8339a639, 0xef968e},
+  {0x8339a730, 0xef968f},
+  {0x8339a731, 0xef9690},
+  {0x8339a732, 0xef9691},
+  {0x8339a733, 0xef9692},
+  {0x8339a734, 0xef9693},
+  {0x8339a735, 0xef9694},
+  {0x8339a736, 0xef9695},
+  {0x8339a737, 0xef9696},
+  {0x8339a738, 0xef9697},
+  {0x8339a739, 0xef9698},
+  {0x8339a830, 0xef9699},
+  {0x8339a831, 0xef969a},
+  {0x8339a832, 0xef969b},
+  {0x8339a833, 0xef969c},
+  {0x8339a834, 0xef969d},
+  {0x8339a835, 0xef969e},
+  {0x8339a836, 0xef969f},
+  {0x8339a837, 0xef96a0},
+  {0x8339a838, 0xef96a1},
+  {0x8339a839, 0xef96a2},
+  {0x8339a930, 0xef96a3},
+  {0x8339a931, 0xef96a4},
+  {0x8339a932, 0xef96a5},
+  {0x8339a933, 0xef96a6},
+  {0x8339a934, 0xef96a7},
+  {0x8339a935, 0xef96a8},
+  {0x8339a936, 0xef96a9},
+  {0x8339a937, 0xef96aa},
+  {0x8339a938, 0xef96ab},
+  {0x8339a939, 0xef96ac},
+  {0x8339aa30, 0xef96ad},
+  {0x8339aa31, 0xef96ae},
+  {0x8339aa32, 0xef96af},
+  {0x8339aa33, 0xef96b0},
+  {0x8339aa34, 0xef96b1},
+  {0x8339aa35, 0xef96b2},
+  {0x8339aa36, 0xef96b3},
+  {0x8339aa37, 0xef96b4},
+  {0x8339aa38, 0xef96b5},
+  {0x8339aa39, 0xef96b6},
+  {0x8339ab30, 0xef96b7},
+  {0x8339ab31, 0xef96b8},
+  {0x8339ab32, 0xef96b9},
+  {0x8339ab33, 0xef96ba},
+  {0x8339ab34, 0xef96bb},
+  {0x8339ab35, 0xef96bc},
+  {0x8339ab36, 0xef96bd},
+  {0x8339ab37, 0xef96be},
+  {0x8339ab38, 0xef96bf},
+  {0x8339ab39, 0xef9780},
+  {0x8339ac30, 0xef9781},
+  {0x8339ac31, 0xef9782},
+  {0x8339ac32, 0xef9783},
+  {0x8339ac33, 0xef9784},
+  {0x8339ac34, 0xef9785},
+  {0x8339ac35, 0xef9786},
+  {0x8339ac36, 0xef9787},
+  {0x8339ac37, 0xef9788},
+  {0x8339ac38, 0xef9789},
+  {0x8339ac39, 0xef978a},
+  {0x8339ad30, 0xef978b},
+  {0x8339ad31, 0xef978c},
+  {0x8339ad32, 0xef978d},
+  {0x8339ad33, 0xef978e},
+  {0x8339ad34, 0xef978f},
+  {0x8339ad35, 0xef9790},
+  {0x8339ad36, 0xef9791},
+  {0x8339ad37, 0xef9792},
+  {0x8339ad38, 0xef9793},
+  {0x8339ad39, 0xef9794},
+  {0x8339ae30, 0xef9795},
+  {0x8339ae31, 0xef9796},
+  {0x8339ae32, 0xef9797},
+  {0x8339ae33, 0xef9798},
+  {0x8339ae34, 0xef9799},
+  {0x8339ae35, 0xef979a},
+  {0x8339ae36, 0xef979b},
+  {0x8339ae37, 0xef979c},
+  {0x8339ae38, 0xef979d},
+  {0x8339ae39, 0xef979e},
+  {0x8339af30, 0xef979f},
+  {0x8339af31, 0xef97a0},
+  {0x8339af32, 0xef97a1},
+  {0x8339af33, 0xef97a2},
+  {0x8339af34, 0xef97a3},
+  {0x8339af35, 0xef97a4},
+  {0x8339af36, 0xef97a5},
+  {0x8339af37, 0xef97a6},
+  {0x8339af38, 0xef97a7},
+  {0x8339af39, 0xef97a8},
+  {0x8339b030, 0xef97a9},
+  {0x8339b031, 0xef97aa},
+  {0x8339b032, 0xef97ab},
+  {0x8339b033, 0xef97ac},
+  {0x8339b034, 0xef97ad},
+  {0x8339b035, 0xef97ae},
+  {0x8339b036, 0xef97af},
+  {0x8339b037, 0xef97b0},
+  {0x8339b038, 0xef97b1},
+  {0x8339b039, 0xef97b2},
+  {0x8339b130, 0xef97b3},
+  {0x8339b131, 0xef97b4},
+  {0x8339b132, 0xef97b5},
+  {0x8339b133, 0xef97b6},
+  {0x8339b134, 0xef97b7},
+  {0x8339b135, 0xef97b8},
+  {0x8339b136, 0xef97b9},
+  {0x8339b137, 0xef97ba},
+  {0x8339b138, 0xef97bb},
+  {0x8339b139, 0xef97bc},
+  {0x8339b230, 0xef97bd},
+  {0x8339b231, 0xef97be},
+  {0x8339b232, 0xef97bf},
+  {0x8339b233, 0xef9880},
+  {0x8339b234, 0xef9881},
+  {0x8339b235, 0xef9882},
+  {0x8339b236, 0xef9883},
+  {0x8339b237, 0xef9884},
+  {0x8339b238, 0xef9885},
+  {0x8339b239, 0xef9886},
+  {0x8339b330, 0xef9887},
+  {0x8339b331, 0xef9888},
+  {0x8339b332, 0xef9889},
+  {0x8339b333, 0xef988a},
+  {0x8339b334, 0xef988b},
+  {0x8339b335, 0xef988c},
+  {0x8339b336, 0xef988d},
+  {0x8339b337, 0xef988e},
+  {0x8339b338, 0xef988f},
+  {0x8339b339, 0xef9890},
+  {0x8339b430, 0xef9891},
+  {0x8339b431, 0xef9892},
+  {0x8339b432, 0xef9893},
+  {0x8339b433, 0xef9894},
+  {0x8339b434, 0xef9895},
+  {0x8339b435, 0xef9896},
+  {0x8339b436, 0xef9897},
+  {0x8339b437, 0xef9898},
+  {0x8339b438, 0xef9899},
+  {0x8339b439, 0xef989a},
+  {0x8339b530, 0xef989b},
+  {0x8339b531, 0xef989c},
+  {0x8339b532, 0xef989d},
+  {0x8339b533, 0xef989e},
+  {0x8339b534, 0xef989f},
+  {0x8339b535, 0xef98a0},
+  {0x8339b536, 0xef98a1},
+  {0x8339b537, 0xef98a2},
+  {0x8339b538, 0xef98a3},
+  {0x8339b539, 0xef98a4},
+  {0x8339b630, 0xef98a5},
+  {0x8339b631, 0xef98a6},
+  {0x8339b632, 0xef98a7},
+  {0x8339b633, 0xef98a8},
+  {0x8339b634, 0xef98a9},
+  {0x8339b635, 0xef98aa},
+  {0x8339b636, 0xef98ab},
+  {0x8339b637, 0xef98ac},
+  {0x8339b638, 0xef98ad},
+  {0x8339b639, 0xef98ae},
+  {0x8339b730, 0xef98af},
+  {0x8339b731, 0xef98b0},
+  {0x8339b732, 0xef98b1},
+  {0x8339b733, 0xef98b2},
+  {0x8339b734, 0xef98b3},
+  {0x8339b735, 0xef98b4},
+  {0x8339b736, 0xef98b5},
+  {0x8339b737, 0xef98b6},
+  {0x8339b738, 0xef98b7},
+  {0x8339b739, 0xef98b8},
+  {0x8339b830, 0xef98b9},
+  {0x8339b831, 0xef98ba},
+  {0x8339b832, 0xef98bb},
+  {0x8339b833, 0xef98bc},
+  {0x8339b834, 0xef98bd},
+  {0x8339b835, 0xef98be},
+  {0x8339b836, 0xef98bf},
+  {0x8339b837, 0xef9980},
+  {0x8339b838, 0xef9981},
+  {0x8339b839, 0xef9982},
+  {0x8339b930, 0xef9983},
+  {0x8339b931, 0xef9984},
+  {0x8339b932, 0xef9985},
+  {0x8339b933, 0xef9986},
+  {0x8339b934, 0xef9987},
+  {0x8339b935, 0xef9988},
+  {0x8339b936, 0xef9989},
+  {0x8339b937, 0xef998a},
+  {0x8339b938, 0xef998b},
+  {0x8339b939, 0xef998c},
+  {0x8339ba30, 0xef998d},
+  {0x8339ba31, 0xef998e},
+  {0x8339ba32, 0xef998f},
+  {0x8339ba33, 0xef9990},
+  {0x8339ba34, 0xef9991},
+  {0x8339ba35, 0xef9992},
+  {0x8339ba36, 0xef9993},
+  {0x8339ba37, 0xef9994},
+  {0x8339ba38, 0xef9995},
+  {0x8339ba39, 0xef9996},
+  {0x8339bb30, 0xef9997},
+  {0x8339bb31, 0xef9998},
+  {0x8339bb32, 0xef9999},
+  {0x8339bb33, 0xef999a},
+  {0x8339bb34, 0xef999b},
+  {0x8339bb35, 0xef999c},
+  {0x8339bb36, 0xef999d},
+  {0x8339bb37, 0xef999e},
+  {0x8339bb38, 0xef999f},
+  {0x8339bb39, 0xef99a0},
+  {0x8339bc30, 0xef99a1},
+  {0x8339bc31, 0xef99a2},
+  {0x8339bc32, 0xef99a3},
+  {0x8339bc33, 0xef99a4},
+  {0x8339bc34, 0xef99a5},
+  {0x8339bc35, 0xef99a6},
+  {0x8339bc36, 0xef99a7},
+  {0x8339bc37, 0xef99a8},
+  {0x8339bc38, 0xef99a9},
+  {0x8339bc39, 0xef99aa},
+  {0x8339bd30, 0xef99ab},
+  {0x8339bd31, 0xef99ac},
+  {0x8339bd32, 0xef99ad},
+  {0x8339bd33, 0xef99ae},
+  {0x8339bd34, 0xef99af},
+  {0x8339bd35, 0xef99b0},
+  {0x8339bd36, 0xef99b1},
+  {0x8339bd37, 0xef99b2},
+  {0x8339bd38, 0xef99b3},
+  {0x8339bd39, 0xef99b4},
+  {0x8339be30, 0xef99b5},
+  {0x8339be31, 0xef99b6},
+  {0x8339be32, 0xef99b7},
+  {0x8339be33, 0xef99b8},
+  {0x8339be34, 0xef99b9},
+  {0x8339be35, 0xef99ba},
+  {0x8339be36, 0xef99bb},
+  {0x8339be37, 0xef99bc},
+  {0x8339be38, 0xef99bd},
+  {0x8339be39, 0xef99be},
+  {0x8339bf30, 0xef99bf},
+  {0x8339bf31, 0xef9a80},
+  {0x8339bf32, 0xef9a81},
+  {0x8339bf33, 0xef9a82},
+  {0x8339bf34, 0xef9a83},
+  {0x8339bf35, 0xef9a84},
+  {0x8339bf36, 0xef9a85},
+  {0x8339bf37, 0xef9a86},
+  {0x8339bf38, 0xef9a87},
+  {0x8339bf39, 0xef9a88},
+  {0x8339c030, 0xef9a89},
+  {0x8339c031, 0xef9a8a},
+  {0x8339c032, 0xef9a8b},
+  {0x8339c033, 0xef9a8c},
+  {0x8339c034, 0xef9a8d},
+  {0x8339c035, 0xef9a8e},
+  {0x8339c036, 0xef9a8f},
+  {0x8339c037, 0xef9a90},
+  {0x8339c038, 0xef9a91},
+  {0x8339c039, 0xef9a92},
+  {0x8339c130, 0xef9a93},
+  {0x8339c131, 0xef9a94},
+  {0x8339c132, 0xef9a95},
+  {0x8339c133, 0xef9a96},
+  {0x8339c134, 0xef9a97},
+  {0x8339c135, 0xef9a98},
+  {0x8339c136, 0xef9a99},
+  {0x8339c137, 0xef9a9a},
+  {0x8339c138, 0xef9a9b},
+  {0x8339c139, 0xef9a9c},
+  {0x8339c230, 0xef9a9d},
+  {0x8339c231, 0xef9a9e},
+  {0x8339c232, 0xef9a9f},
+  {0x8339c233, 0xef9aa0},
+  {0x8339c234, 0xef9aa1},
+  {0x8339c235, 0xef9aa2},
+  {0x8339c236, 0xef9aa3},
+  {0x8339c237, 0xef9aa4},
+  {0x8339c238, 0xef9aa5},
+  {0x8339c239, 0xef9aa6},
+  {0x8339c330, 0xef9aa7},
+  {0x8339c331, 0xef9aa8},
+  {0x8339c332, 0xef9aa9},
+  {0x8339c333, 0xef9aaa},
+  {0x8339c334, 0xef9aab},
+  {0x8339c335, 0xef9aac},
+  {0x8339c336, 0xef9aad},
+  {0x8339c337, 0xef9aae},
+  {0x8339c338, 0xef9aaf},
+  {0x8339c339, 0xef9ab0},
+  {0x8339c430, 0xef9ab1},
+  {0x8339c431, 0xef9ab2},
+  {0x8339c432, 0xef9ab3},
+  {0x8339c433, 0xef9ab4},
+  {0x8339c434, 0xef9ab5},
+  {0x8339c435, 0xef9ab6},
+  {0x8339c436, 0xef9ab7},
+  {0x8339c437, 0xef9ab8},
+  {0x8339c438, 0xef9ab9},
+  {0x8339c439, 0xef9aba},
+  {0x8339c530, 0xef9abb},
+  {0x8339c531, 0xef9abc},
+  {0x8339c532, 0xef9abd},
+  {0x8339c533, 0xef9abe},
+  {0x8339c534, 0xef9abf},
+  {0x8339c535, 0xef9b80},
+  {0x8339c536, 0xef9b81},
+  {0x8339c537, 0xef9b82},
+  {0x8339c538, 0xef9b83},
+  {0x8339c539, 0xef9b84},
+  {0x8339c630, 0xef9b85},
+  {0x8339c631, 0xef9b86},
+  {0x8339c632, 0xef9b87},
+  {0x8339c633, 0xef9b88},
+  {0x8339c634, 0xef9b89},
+  {0x8339c635, 0xef9b8a},
+  {0x8339c636, 0xef9b8b},
+  {0x8339c637, 0xef9b8c},
+  {0x8339c638, 0xef9b8d},
+  {0x8339c639, 0xef9b8e},
+  {0x8339c730, 0xef9b8f},
+  {0x8339c731, 0xef9b90},
+  {0x8339c732, 0xef9b91},
+  {0x8339c733, 0xef9b92},
+  {0x8339c734, 0xef9b93},
+  {0x8339c735, 0xef9b94},
+  {0x8339c736, 0xef9b95},
+  {0x8339c737, 0xef9b96},
+  {0x8339c738, 0xef9b97},
+  {0x8339c739, 0xef9b98},
+  {0x8339c830, 0xef9b99},
+  {0x8339c831, 0xef9b9a},
+  {0x8339c832, 0xef9b9b},
+  {0x8339c833, 0xef9b9c},
+  {0x8339c834, 0xef9b9d},
+  {0x8339c835, 0xef9b9e},
+  {0x8339c836, 0xef9b9f},
+  {0x8339c837, 0xef9ba0},
+  {0x8339c838, 0xef9ba1},
+  {0x8339c839, 0xef9ba2},
+  {0x8339c930, 0xef9ba3},
+  {0x8339c931, 0xef9ba4},
+  {0x8339c932, 0xef9ba5},
+  {0x8339c933, 0xef9ba6},
+  {0x8339c934, 0xef9ba7},
+  {0x8339c935, 0xef9ba8},
+  {0x8339c936, 0xef9ba9},
+  {0x8339c937, 0xef9baa},
+  {0x8339c938, 0xef9bab},
+  {0x8339c939, 0xef9bac},
+  {0x8339ca30, 0xef9bad},
+  {0x8339ca31, 0xef9bae},
+  {0x8339ca32, 0xef9baf},
+  {0x8339ca33, 0xef9bb0},
+  {0x8339ca34, 0xef9bb1},
+  {0x8339ca35, 0xef9bb2},
+  {0x8339ca36, 0xef9bb3},
+  {0x8339ca37, 0xef9bb4},
+  {0x8339ca38, 0xef9bb5},
+  {0x8339ca39, 0xef9bb6},
+  {0x8339cb30, 0xef9bb7},
+  {0x8339cb31, 0xef9bb8},
+  {0x8339cb32, 0xef9bb9},
+  {0x8339cb33, 0xef9bba},
+  {0x8339cb34, 0xef9bbb},
+  {0x8339cb35, 0xef9bbc},
+  {0x8339cb36, 0xef9bbd},
+  {0x8339cb37, 0xef9bbe},
+  {0x8339cb38, 0xef9bbf},
+  {0x8339cb39, 0xef9c80},
+  {0x8339cc30, 0xef9c81},
+  {0x8339cc31, 0xef9c82},
+  {0x8339cc32, 0xef9c83},
+  {0x8339cc33, 0xef9c84},
+  {0x8339cc34, 0xef9c85},
+  {0x8339cc35, 0xef9c86},
+  {0x8339cc36, 0xef9c87},
+  {0x8339cc37, 0xef9c88},
+  {0x8339cc38, 0xef9c89},
+  {0x8339cc39, 0xef9c8a},
+  {0x8339cd30, 0xef9c8b},
+  {0x8339cd31, 0xef9c8c},
+  {0x8339cd32, 0xef9c8d},
+  {0x8339cd33, 0xef9c8e},
+  {0x8339cd34, 0xef9c8f},
+  {0x8339cd35, 0xef9c90},
+  {0x8339cd36, 0xef9c91},
+  {0x8339cd37, 0xef9c92},
+  {0x8339cd38, 0xef9c93},
+  {0x8339cd39, 0xef9c94},
+  {0x8339ce30, 0xef9c95},
+  {0x8339ce31, 0xef9c96},
+  {0x8339ce32, 0xef9c97},
+  {0x8339ce33, 0xef9c98},
+  {0x8339ce34, 0xef9c99},
+  {0x8339ce35, 0xef9c9a},
+  {0x8339ce36, 0xef9c9b},
+  {0x8339ce37, 0xef9c9c},
+  {0x8339ce38, 0xef9c9d},
+  {0x8339ce39, 0xef9c9e},
+  {0x8339cf30, 0xef9c9f},
+  {0x8339cf31, 0xef9ca0},
+  {0x8339cf32, 0xef9ca1},
+  {0x8339cf33, 0xef9ca2},
+  {0x8339cf34, 0xef9ca3},
+  {0x8339cf35, 0xef9ca4},
+  {0x8339cf36, 0xef9ca5},
+  {0x8339cf37, 0xef9ca6},
+  {0x8339cf38, 0xef9ca7},
+  {0x8339cf39, 0xef9ca8},
+  {0x8339d030, 0xef9ca9},
+  {0x8339d031, 0xef9caa},
+  {0x8339d032, 0xef9cab},
+  {0x8339d033, 0xef9cac},
+  {0x8339d034, 0xef9cad},
+  {0x8339d035, 0xef9cae},
+  {0x8339d036, 0xef9caf},
+  {0x8339d037, 0xef9cb0},
+  {0x8339d038, 0xef9cb1},
+  {0x8339d039, 0xef9cb2},
+  {0x8339d130, 0xef9cb3},
+  {0x8339d131, 0xef9cb4},
+  {0x8339d132, 0xef9cb5},
+  {0x8339d133, 0xef9cb6},
+  {0x8339d134, 0xef9cb7},
+  {0x8339d135, 0xef9cb8},
+  {0x8339d136, 0xef9cb9},
+  {0x8339d137, 0xef9cba},
+  {0x8339d138, 0xef9cbb},
+  {0x8339d139, 0xef9cbc},
+  {0x8339d230, 0xef9cbd},
+  {0x8339d231, 0xef9cbe},
+  {0x8339d232, 0xef9cbf},
+  {0x8339d233, 0xef9d80},
+  {0x8339d234, 0xef9d81},
+  {0x8339d235, 0xef9d82},
+  {0x8339d236, 0xef9d83},
+  {0x8339d237, 0xef9d84},
+  {0x8339d238, 0xef9d85},
+  {0x8339d239, 0xef9d86},
+  {0x8339d330, 0xef9d87},
+  {0x8339d331, 0xef9d88},
+  {0x8339d332, 0xef9d89},
+  {0x8339d333, 0xef9d8a},
+  {0x8339d334, 0xef9d8b},
+  {0x8339d335, 0xef9d8c},
+  {0x8339d336, 0xef9d8d},
+  {0x8339d337, 0xef9d8e},
+  {0x8339d338, 0xef9d8f},
+  {0x8339d339, 0xef9d90},
+  {0x8339d430, 0xef9d91},
+  {0x8339d431, 0xef9d92},
+  {0x8339d432, 0xef9d93},
+  {0x8339d433, 0xef9d94},
+  {0x8339d434, 0xef9d95},
+  {0x8339d435, 0xef9d96},
+  {0x8339d436, 0xef9d97},
+  {0x8339d437, 0xef9d98},
+  {0x8339d438, 0xef9d99},
+  {0x8339d439, 0xef9d9a},
+  {0x8339d530, 0xef9d9b},
+  {0x8339d531, 0xef9d9c},
+  {0x8339d532, 0xef9d9d},
+  {0x8339d533, 0xef9d9e},
+  {0x8339d534, 0xef9d9f},
+  {0x8339d535, 0xef9da0},
+  {0x8339d536, 0xef9da1},
+  {0x8339d537, 0xef9da2},
+  {0x8339d538, 0xef9da3},
+  {0x8339d539, 0xef9da4},
+  {0x8339d630, 0xef9da5},
+  {0x8339d631, 0xef9da6},
+  {0x8339d632, 0xef9da7},
+  {0x8339d633, 0xef9da8},
+  {0x8339d634, 0xef9da9},
+  {0x8339d635, 0xef9daa},
+  {0x8339d636, 0xef9dab},
+  {0x8339d637, 0xef9dac},
+  {0x8339d638, 0xef9dad},
+  {0x8339d639, 0xef9dae},
+  {0x8339d730, 0xef9daf},
+  {0x8339d731, 0xef9db0},
+  {0x8339d732, 0xef9db1},
+  {0x8339d733, 0xef9db2},
+  {0x8339d734, 0xef9db3},
+  {0x8339d735, 0xef9db4},
+  {0x8339d736, 0xef9db5},
+  {0x8339d737, 0xef9db6},
+  {0x8339d738, 0xef9db7},
+  {0x8339d739, 0xef9db8},
+  {0x8339d830, 0xef9db9},
+  {0x8339d831, 0xef9dba},
+  {0x8339d832, 0xef9dbb},
+  {0x8339d833, 0xef9dbc},
+  {0x8339d834, 0xef9dbd},
+  {0x8339d835, 0xef9dbe},
+  {0x8339d836, 0xef9dbf},
+  {0x8339d837, 0xef9e80},
+  {0x8339d838, 0xef9e81},
+  {0x8339d839, 0xef9e82},
+  {0x8339d930, 0xef9e83},
+  {0x8339d931, 0xef9e84},
+  {0x8339d932, 0xef9e85},
+  {0x8339d933, 0xef9e86},
+  {0x8339d934, 0xef9e87},
+  {0x8339d935, 0xef9e88},
+  {0x8339d936, 0xef9e89},
+  {0x8339d937, 0xef9e8a},
+  {0x8339d938, 0xef9e8b},
+  {0x8339d939, 0xef9e8c},
+  {0x8339da30, 0xef9e8d},
+  {0x8339da31, 0xef9e8e},
+  {0x8339da32, 0xef9e8f},
+  {0x8339da33, 0xef9e90},
+  {0x8339da34, 0xef9e91},
+  {0x8339da35, 0xef9e92},
+  {0x8339da36, 0xef9e93},
+  {0x8339da37, 0xef9e94},
+  {0x8339da38, 0xef9e95},
+  {0x8339da39, 0xef9e96},
+  {0x8339db30, 0xef9e97},
+  {0x8339db31, 0xef9e98},
+  {0x8339db32, 0xef9e99},
+  {0x8339db33, 0xef9e9a},
+  {0x8339db34, 0xef9e9b},
+  {0x8339db35, 0xef9e9c},
+  {0x8339db36, 0xef9e9d},
+  {0x8339db37, 0xef9e9e},
+  {0x8339db38, 0xef9e9f},
+  {0x8339db39, 0xef9ea0},
+  {0x8339dc30, 0xef9ea1},
+  {0x8339dc31, 0xef9ea2},
+  {0x8339dc32, 0xef9ea3},
+  {0x8339dc33, 0xef9ea4},
+  {0x8339dc34, 0xef9ea5},
+  {0x8339dc35, 0xef9ea6},
+  {0x8339dc36, 0xef9ea7},
+  {0x8339dc37, 0xef9ea8},
+  {0x8339dc38, 0xef9ea9},
+  {0x8339dc39, 0xef9eaa},
+  {0x8339dd30, 0xef9eab},
+  {0x8339dd31, 0xef9eac},
+  {0x8339dd32, 0xef9ead},
+  {0x8339dd33, 0xef9eae},
+  {0x8339dd34, 0xef9eaf},
+  {0x8339dd35, 0xef9eb0},
+  {0x8339dd36, 0xef9eb1},
+  {0x8339dd37, 0xef9eb2},
+  {0x8339dd38, 0xef9eb3},
+  {0x8339dd39, 0xef9eb4},
+  {0x8339de30, 0xef9eb5},
+  {0x8339de31, 0xef9eb6},
+  {0x8339de32, 0xef9eb7},
+  {0x8339de33, 0xef9eb8},
+  {0x8339de34, 0xef9eb9},
+  {0x8339de35, 0xef9eba},
+  {0x8339de36, 0xef9ebb},
+  {0x8339de37, 0xef9ebc},
+  {0x8339de38, 0xef9ebd},
+  {0x8339de39, 0xef9ebe},
+  {0x8339df30, 0xef9ebf},
+  {0x8339df31, 0xef9f80},
+  {0x8339df32, 0xef9f81},
+  {0x8339df33, 0xef9f82},
+  {0x8339df34, 0xef9f83},
+  {0x8339df35, 0xef9f84},
+  {0x8339df36, 0xef9f85},
+  {0x8339df37, 0xef9f86},
+  {0x8339df38, 0xef9f87},
+  {0x8339df39, 0xef9f88},
+  {0x8339e030, 0xef9f89},
+  {0x8339e031, 0xef9f8a},
+  {0x8339e032, 0xef9f8b},
+  {0x8339e033, 0xef9f8c},
+  {0x8339e034, 0xef9f8d},
+  {0x8339e035, 0xef9f8e},
+  {0x8339e036, 0xef9f8f},
+  {0x8339e037, 0xef9f90},
+  {0x8339e038, 0xef9f91},
+  {0x8339e039, 0xef9f92},
+  {0x8339e130, 0xef9f93},
+  {0x8339e131, 0xef9f94},
+  {0x8339e132, 0xef9f95},
+  {0x8339e133, 0xef9f96},
+  {0x8339e134, 0xef9f97},
+  {0x8339e135, 0xef9f98},
+  {0x8339e136, 0xef9f99},
+  {0x8339e137, 0xef9f9a},
+  {0x8339e138, 0xef9f9b},
+  {0x8339e139, 0xef9f9c},
+  {0x8339e230, 0xef9f9d},
+  {0x8339e231, 0xef9f9e},
+  {0x8339e232, 0xef9f9f},
+  {0x8339e233, 0xef9fa0},
+  {0x8339e234, 0xef9fa1},
+  {0x8339e235, 0xef9fa2},
+  {0x8339e236, 0xef9fa3},
+  {0x8339e237, 0xef9fa4},
+  {0x8339e238, 0xef9fa5},
+  {0x8339e239, 0xef9fa6},
+  {0x8339e330, 0xef9fa7},
+  {0x8339e331, 0xef9fa8},
+  {0x8339e332, 0xef9fa9},
+  {0x8339e333, 0xef9faa},
+  {0x8339e334, 0xef9fab},
+  {0x8339e335, 0xef9fac},
+  {0x8339e336, 0xef9fad},
+  {0x8339e337, 0xef9fae},
+  {0x8339e338, 0xef9faf},
+  {0x8339e339, 0xef9fb0},
+  {0x8339e430, 0xef9fb1},
+  {0x8339e431, 0xef9fb2},
+  {0x8339e432, 0xef9fb3},
+  {0x8339e433, 0xef9fb4},
+  {0x8339e434, 0xef9fb5},
+  {0x8339e435, 0xef9fb6},
+  {0x8339e436, 0xef9fb7},
+  {0x8339e437, 0xef9fb8},
+  {0x8339e438, 0xef9fb9},
+  {0x8339e439, 0xef9fba},
+  {0x8339e530, 0xef9fbb},
+  {0x8339e531, 0xef9fbc},
+  {0x8339e532, 0xef9fbd},
+  {0x8339e533, 0xef9fbe},
+  {0x8339e534, 0xef9fbf},
+  {0x8339e535, 0xefa080},
+  {0x8339e536, 0xefa081},
+  {0x8339e537, 0xefa082},
+  {0x8339e538, 0xefa083},
+  {0x8339e539, 0xefa084},
+  {0x8339e630, 0xefa085},
+  {0x8339e631, 0xefa086},
+  {0x8339e632, 0xefa087},
+  {0x8339e633, 0xefa088},
+  {0x8339e634, 0xefa089},
+  {0x8339e635, 0xefa08a},
+  {0x8339e636, 0xefa08b},
+  {0x8339e637, 0xefa08c},
+  {0x8339e638, 0xefa08d},
+  {0x8339e639, 0xefa08e},
+  {0x8339e730, 0xefa08f},
+  {0x8339e731, 0xefa090},
+  {0x8339e732, 0xefa091},
+  {0x8339e733, 0xefa092},
+  {0x8339e734, 0xefa093},
+  {0x8339e735, 0xefa094},
+  {0x8339e736, 0xefa095},
+  {0x8339e737, 0xefa096},
+  {0x8339e738, 0xefa097},
+  {0x8339e739, 0xefa098},
+  {0x8339e830, 0xefa099},
+  {0x8339e831, 0xefa09a},
+  {0x8339e832, 0xefa09b},
+  {0x8339e833, 0xefa09c},
+  {0x8339e834, 0xefa09d},
+  {0x8339e835, 0xefa09e},
+  {0x8339e836, 0xefa09f},
+  {0x8339e837, 0xefa0a0},
+  {0x8339e838, 0xefa0a1},
+  {0x8339e839, 0xefa0a2},
+  {0x8339e930, 0xefa0a3},
+  {0x8339e931, 0xefa0a4},
+  {0x8339e932, 0xefa0a5},
+  {0x8339e933, 0xefa0a6},
+  {0x8339e934, 0xefa0a7},
+  {0x8339e935, 0xefa0a8},
+  {0x8339e936, 0xefa0a9},
+  {0x8339e937, 0xefa0aa},
+  {0x8339e938, 0xefa0ab},
+  {0x8339e939, 0xefa0ac},
+  {0x8339ea30, 0xefa0ad},
+  {0x8339ea31, 0xefa0ae},
+  {0x8339ea32, 0xefa0af},
+  {0x8339ea33, 0xefa0b0},
+  {0x8339ea34, 0xefa0b1},
+  {0x8339ea35, 0xefa0b2},
+  {0x8339ea36, 0xefa0b3},
+  {0x8339ea37, 0xefa0b4},
+  {0x8339ea38, 0xefa0b5},
+  {0x8339ea39, 0xefa0b6},
+  {0x8339eb30, 0xefa0b7},
+  {0x8339eb31, 0xefa0b8},
+  {0x8339eb32, 0xefa0b9},
+  {0x8339eb33, 0xefa0ba},
+  {0x8339eb34, 0xefa0bb},
+  {0x8339eb35, 0xefa0bc},
+  {0x8339eb36, 0xefa0bd},
+  {0x8339eb37, 0xefa0be},
+  {0x8339eb38, 0xefa0bf},
+  {0x8339eb39, 0xefa180},
+  {0x8339ec30, 0xefa181},
+  {0x8339ec31, 0xefa182},
+  {0x8339ec32, 0xefa183},
+  {0x8339ec33, 0xefa184},
+  {0x8339ec34, 0xefa185},
+  {0x8339ec35, 0xefa186},
+  {0x8339ec36, 0xefa187},
+  {0x8339ec37, 0xefa188},
+  {0x8339ec38, 0xefa189},
+  {0x8339ec39, 0xefa18a},
+  {0x8339ed30, 0xefa18b},
+  {0x8339ed31, 0xefa18c},
+  {0x8339ed32, 0xefa18d},
+  {0x8339ed33, 0xefa18e},
+  {0x8339ed34, 0xefa18f},
+  {0x8339ed35, 0xefa190},
+  {0x8339ed36, 0xefa191},
+  {0x8339ed37, 0xefa192},
+  {0x8339ed38, 0xefa193},
+  {0x8339ed39, 0xefa194},
+  {0x8339ee30, 0xefa195},
+  {0x8339ee31, 0xefa196},
+  {0x8339ee32, 0xefa197},
+  {0x8339ee33, 0xefa198},
+  {0x8339ee34, 0xefa199},
+  {0x8339ee35, 0xefa19a},
+  {0x8339ee36, 0xefa19b},
+  {0x8339ee37, 0xefa19c},
+  {0x8339ee38, 0xefa19d},
+  {0x8339ee39, 0xefa19e},
+  {0x8339ef30, 0xefa19f},
+  {0x8339ef31, 0xefa1a0},
+  {0x8339ef32, 0xefa1a1},
+  {0x8339ef33, 0xefa1a2},
+  {0x8339ef34, 0xefa1a3},
+  {0x8339ef35, 0xefa1a4},
+  {0x8339ef36, 0xefa1a5},
+  {0x8339ef37, 0xefa1a6},
+  {0x8339ef38, 0xefa1a7},
+  {0x8339ef39, 0xefa1a8},
+  {0x8339f030, 0xefa1a9},
+  {0x8339f031, 0xefa1aa},
+  {0x8339f032, 0xefa1ab},
+  {0x8339f033, 0xefa1ac},
+  {0x8339f034, 0xefa1ad},
+  {0x8339f035, 0xefa1ae},
+  {0x8339f036, 0xefa1af},
+  {0x8339f037, 0xefa1b0},
+  {0x8339f038, 0xefa1b1},
+  {0x8339f039, 0xefa1b2},
+  {0x8339f130, 0xefa1b3},
+  {0x8339f131, 0xefa1b4},
+  {0x8339f132, 0xefa1b5},
+  {0x8339f133, 0xefa1b6},
+  {0x8339f134, 0xefa1b7},
+  {0x8339f135, 0xefa1b8},
+  {0x8339f136, 0xefa1b9},
+  {0x8339f137, 0xefa1ba},
+  {0x8339f138, 0xefa1bb},
+  {0x8339f139, 0xefa1bc},
+  {0x8339f230, 0xefa1bd},
+  {0x8339f231, 0xefa1be},
+  {0x8339f232, 0xefa1bf},
+  {0x8339f233, 0xefa280},
+  {0x8339f234, 0xefa281},
+  {0x8339f235, 0xefa282},
+  {0x8339f236, 0xefa283},
+  {0x8339f237, 0xefa284},
+  {0x8339f238, 0xefa285},
+  {0x8339f239, 0xefa286},
+  {0x8339f330, 0xefa287},
+  {0x8339f331, 0xefa288},
+  {0x8339f332, 0xefa289},
+  {0x8339f333, 0xefa28a},
+  {0x8339f334, 0xefa28b},
+  {0x8339f335, 0xefa28c},
+  {0x8339f336, 0xefa28d},
+  {0x8339f337, 0xefa28e},
+  {0x8339f338, 0xefa28f},
+  {0x8339f339, 0xefa290},
+  {0x8339f430, 0xefa291},
+  {0x8339f431, 0xefa292},
+  {0x8339f432, 0xefa293},
+  {0x8339f433, 0xefa294},
+  {0x8339f434, 0xefa295},
+  {0x8339f435, 0xefa296},
+  {0x8339f436, 0xefa297},
+  {0x8339f437, 0xefa298},
+  {0x8339f438, 0xefa299},
+  {0x8339f439, 0xefa29a},
+  {0x8339f530, 0xefa29b},
+  {0x8339f531, 0xefa29c},
+  {0x8339f532, 0xefa29d},
+  {0x8339f533, 0xefa29e},
+  {0x8339f534, 0xefa29f},
+  {0x8339f535, 0xefa2a0},
+  {0x8339f536, 0xefa2a1},
+  {0x8339f537, 0xefa2a2},
+  {0x8339f538, 0xefa2a3},
+  {0x8339f539, 0xefa2a4},
+  {0x8339f630, 0xefa2a5},
+  {0x8339f631, 0xefa2a6},
+  {0x8339f632, 0xefa2a7},
+  {0x8339f633, 0xefa2a8},
+  {0x8339f634, 0xefa2a9},
+  {0x8339f635, 0xefa2aa},
+  {0x8339f636, 0xefa2ab},
+  {0x8339f637, 0xefa2ac},
+  {0x8339f638, 0xefa2ad},
+  {0x8339f639, 0xefa2ae},
+  {0x8339f730, 0xefa2af},
+  {0x8339f731, 0xefa2b0},
+  {0x8339f732, 0xefa2b1},
+  {0x8339f733, 0xefa2b2},
+  {0x8339f734, 0xefa2b3},
+  {0x8339f735, 0xefa2b4},
+  {0x8339f736, 0xefa2b5},
+  {0x8339f737, 0xefa2b6},
+  {0x8339f738, 0xefa2b7},
+  {0x8339f739, 0xefa2b8},
+  {0x8339f830, 0xefa2b9},
+  {0x8339f831, 0xefa2ba},
+  {0x8339f832, 0xefa2bb},
+  {0x8339f833, 0xefa2bc},
+  {0x8339f834, 0xefa2bd},
+  {0x8339f835, 0xefa2be},
+  {0x8339f836, 0xefa2bf},
+  {0x8339f837, 0xefa380},
+  {0x8339f838, 0xefa381},
+  {0x8339f839, 0xefa382},
+  {0x8339f930, 0xefa383},
+  {0x8339f931, 0xefa384},
+  {0x8339f932, 0xefa385},
+  {0x8339f933, 0xefa386},
+  {0x8339f934, 0xefa387},
+  {0x8339f935, 0xefa388},
+  {0x8339f936, 0xefa389},
+  {0x8339f937, 0xefa38a},
+  {0x8339f938, 0xefa38b},
+  {0x8339f939, 0xefa38c},
+  {0x8339fa30, 0xefa38d},
+  {0x8339fa31, 0xefa38e},
+  {0x8339fa32, 0xefa38f},
+  {0x8339fa33, 0xefa390},
+  {0x8339fa34, 0xefa391},
+  {0x8339fa35, 0xefa392},
+  {0x8339fa36, 0xefa393},
+  {0x8339fa37, 0xefa394},
+  {0x8339fa38, 0xefa395},
+  {0x8339fa39, 0xefa396},
+  {0x8339fb30, 0xefa397},
+  {0x8339fb31, 0xefa398},
+  {0x8339fb32, 0xefa399},
+  {0x8339fb33, 0xefa39a},
+  {0x8339fb34, 0xefa39b},
+  {0x8339fb35, 0xefa39c},
+  {0x8339fb36, 0xefa39d},
+  {0x8339fb37, 0xefa39e},
+  {0x8339fb38, 0xefa39f},
+  {0x8339fb39, 0xefa3a0},
+  {0x8339fc30, 0xefa3a1},
+  {0x8339fc31, 0xefa3a2},
+  {0x8339fc32, 0xefa3a3},
+  {0x8339fc33, 0xefa3a4},
+  {0x8339fc34, 0xefa3a5},
+  {0x8339fc35, 0xefa3a6},
+  {0x8339fc36, 0xefa3a7},
+  {0x8339fc37, 0xefa3a8},
+  {0x8339fc38, 0xefa3a9},
+  {0x8339fc39, 0xefa3aa},
+  {0x8339fd30, 0xefa3ab},
+  {0x8339fd31, 0xefa3ac},
+  {0x8339fd32, 0xefa3ad},
+  {0x8339fd33, 0xefa3ae},
+  {0x8339fd34, 0xefa3af},
+  {0x8339fd35, 0xefa3b0},
+  {0x8339fd36, 0xefa3b1},
+  {0x8339fd37, 0xefa3b2},
+  {0x8339fd38, 0xefa3b3},
+  {0x8339fd39, 0xefa3b4},
+  {0x8339fe30, 0xefa3b5},
+  {0x8339fe31, 0xefa3b6},
+  {0x8339fe32, 0xefa3b7},
+  {0x8339fe33, 0xefa3b8},
+  {0x8339fe34, 0xefa3b9},
+  {0x8339fe35, 0xefa3ba},
+  {0x8339fe36, 0xefa3bb},
+  {0x8339fe37, 0xefa3bc},
+  {0x8339fe38, 0xefa3bd},
+  {0x8339fe39, 0xefa3be},
+  {0x84308130, 0xefa3bf},
+  {0x84308131, 0xefa480},
+  {0x84308132, 0xefa481},
+  {0x84308133, 0xefa482},
+  {0x84308134, 0xefa483},
+  {0x84308135, 0xefa484},
+  {0x84308136, 0xefa485},
+  {0x84308137, 0xefa486},
+  {0x84308138, 0xefa487},
+  {0x84308139, 0xefa488},
+  {0x84308230, 0xefa489},
+  {0x84308231, 0xefa48a},
+  {0x84308232, 0xefa48b},
+  {0x84308233, 0xefa48c},
+  {0x84308234, 0xefa48d},
+  {0x84308235, 0xefa48e},
+  {0x84308236, 0xefa48f},
+  {0x84308237, 0xefa490},
+  {0x84308238, 0xefa491},
+  {0x84308239, 0xefa492},
+  {0x84308330, 0xefa493},
+  {0x84308331, 0xefa494},
+  {0x84308332, 0xefa495},
+  {0x84308333, 0xefa496},
+  {0x84308334, 0xefa497},
+  {0x84308335, 0xefa498},
+  {0x84308336, 0xefa499},
+  {0x84308337, 0xefa49a},
+  {0x84308338, 0xefa49b},
+  {0x84308339, 0xefa49c},
+  {0x84308430, 0xefa49d},
+  {0x84308431, 0xefa49e},
+  {0x84308432, 0xefa49f},
+  {0x84308433, 0xefa4a0},
+  {0x84308434, 0xefa4a1},
+  {0x84308435, 0xefa4a2},
+  {0x84308436, 0xefa4a3},
+  {0x84308437, 0xefa4a4},
+  {0x84308438, 0xefa4a5},
+  {0x84308439, 0xefa4a6},
+  {0x84308530, 0xefa4a7},
+  {0x84308531, 0xefa4a8},
+  {0x84308532, 0xefa4a9},
+  {0x84308533, 0xefa4aa},
+  {0x84308534, 0xefa4ab},
+  {0x84308535, 0xefa4ad},
+  {0x84308536, 0xefa4ae},
+  {0x84308537, 0xefa4af},
+  {0x84308538, 0xefa4b0},
+  {0x84308539, 0xefa4b1},
+  {0x84308630, 0xefa4b2},
+  {0x84308631, 0xefa4b3},
+  {0x84308632, 0xefa4b4},
+  {0x84308633, 0xefa4b5},
+  {0x84308634, 0xefa4b6},
+  {0x84308635, 0xefa4b7},
+  {0x84308636, 0xefa4b8},
+  {0x84308637, 0xefa4b9},
+  {0x84308638, 0xefa4ba},
+  {0x84308639, 0xefa4bb},
+  {0x84308730, 0xefa4bc},
+  {0x84308731, 0xefa4bd},
+  {0x84308732, 0xefa4be},
+  {0x84308733, 0xefa4bf},
+  {0x84308734, 0xefa580},
+  {0x84308735, 0xefa581},
+  {0x84308736, 0xefa582},
+  {0x84308737, 0xefa583},
+  {0x84308738, 0xefa584},
+  {0x84308739, 0xefa585},
+  {0x84308830, 0xefa586},
+  {0x84308831, 0xefa587},
+  {0x84308832, 0xefa588},
+  {0x84308833, 0xefa589},
+  {0x84308834, 0xefa58a},
+  {0x84308835, 0xefa58b},
+  {0x84308836, 0xefa58c},
+  {0x84308837, 0xefa58d},
+  {0x84308838, 0xefa58e},
+  {0x84308839, 0xefa58f},
+  {0x84308930, 0xefa590},
+  {0x84308931, 0xefa591},
+  {0x84308932, 0xefa592},
+  {0x84308933, 0xefa593},
+  {0x84308934, 0xefa594},
+  {0x84308935, 0xefa595},
+  {0x84308936, 0xefa596},
+  {0x84308937, 0xefa597},
+  {0x84308938, 0xefa598},
+  {0x84308939, 0xefa599},
+  {0x84308a30, 0xefa59a},
+  {0x84308a31, 0xefa59b},
+  {0x84308a32, 0xefa59c},
+  {0x84308a33, 0xefa59d},
+  {0x84308a34, 0xefa59e},
+  {0x84308a35, 0xefa59f},
+  {0x84308a36, 0xefa5a0},
+  {0x84308a37, 0xefa5a1},
+  {0x84308a38, 0xefa5a2},
+  {0x84308a39, 0xefa5a3},
+  {0x84308b30, 0xefa5a4},
+  {0x84308b31, 0xefa5a5},
+  {0x84308b32, 0xefa5a6},
+  {0x84308b33, 0xefa5a7},
+  {0x84308b34, 0xefa5a8},
+  {0x84308b35, 0xefa5a9},
+  {0x84308b36, 0xefa5aa},
+  {0x84308b37, 0xefa5ab},
+  {0x84308b38, 0xefa5ac},
+  {0x84308b39, 0xefa5ad},
+  {0x84308c30, 0xefa5ae},
+  {0x84308c31, 0xefa5af},
+  {0x84308c32, 0xefa5b0},
+  {0x84308c33, 0xefa5b1},
+  {0x84308c34, 0xefa5b2},
+  {0x84308c35, 0xefa5b3},
+  {0x84308c36, 0xefa5b4},
+  {0x84308c37, 0xefa5b5},
+  {0x84308c38, 0xefa5b6},
+  {0x84308c39, 0xefa5b7},
+  {0x84308d30, 0xefa5b8},
+  {0x84308d31, 0xefa5ba},
+  {0x84308d32, 0xefa5bb},
+  {0x84308d33, 0xefa5bc},
+  {0x84308d34, 0xefa5bd},
+  {0x84308d35, 0xefa5be},
+  {0x84308d36, 0xefa5bf},
+  {0x84308d37, 0xefa680},
+  {0x84308d38, 0xefa681},
+  {0x84308d39, 0xefa682},
+  {0x84308e30, 0xefa683},
+  {0x84308e31, 0xefa684},
+  {0x84308e32, 0xefa685},
+  {0x84308e33, 0xefa686},
+  {0x84308e34, 0xefa687},
+  {0x84308e35, 0xefa688},
+  {0x84308e36, 0xefa689},
+  {0x84308e37, 0xefa68a},
+  {0x84308e38, 0xefa68b},
+  {0x84308e39, 0xefa68c},
+  {0x84308f30, 0xefa68d},
+  {0x84308f31, 0xefa68e},
+  {0x84308f32, 0xefa68f},
+  {0x84308f33, 0xefa690},
+  {0x84308f34, 0xefa691},
+  {0x84308f35, 0xefa692},
+  {0x84308f36, 0xefa693},
+  {0x84308f37, 0xefa694},
+  {0x84308f38, 0xefa696},
+  {0x84308f39, 0xefa697},
+  {0x84309030, 0xefa698},
+  {0x84309031, 0xefa699},
+  {0x84309032, 0xefa69a},
+  {0x84309033, 0xefa69b},
+  {0x84309034, 0xefa69c},
+  {0x84309035, 0xefa69d},
+  {0x84309036, 0xefa69e},
+  {0x84309037, 0xefa69f},
+  {0x84309038, 0xefa6a0},
+  {0x84309039, 0xefa6a1},
+  {0x84309130, 0xefa6a2},
+  {0x84309131, 0xefa6a3},
+  {0x84309132, 0xefa6a4},
+  {0x84309133, 0xefa6a5},
+  {0x84309134, 0xefa6a6},
+  {0x84309135, 0xefa6a7},
+  {0x84309136, 0xefa6a8},
+  {0x84309137, 0xefa6a9},
+  {0x84309138, 0xefa6aa},
+  {0x84309139, 0xefa6ab},
+  {0x84309230, 0xefa6ac},
+  {0x84309231, 0xefa6ad},
+  {0x84309232, 0xefa6ae},
+  {0x84309233, 0xefa6af},
+  {0x84309234, 0xefa6b0},
+  {0x84309235, 0xefa6b1},
+  {0x84309236, 0xefa6b2},
+  {0x84309237, 0xefa6b3},
+  {0x84309238, 0xefa6b4},
+  {0x84309239, 0xefa6b5},
+  {0x84309330, 0xefa6b6},
+  {0x84309331, 0xefa6b7},
+  {0x84309332, 0xefa6b8},
+  {0x84309333, 0xefa6b9},
+  {0x84309334, 0xefa6ba},
+  {0x84309335, 0xefa6bb},
+  {0x84309336, 0xefa6bc},
+  {0x84309337, 0xefa6bd},
+  {0x84309338, 0xefa6be},
+  {0x84309339, 0xefa6bf},
+  {0x84309430, 0xefa780},
+  {0x84309431, 0xefa781},
+  {0x84309432, 0xefa782},
+  {0x84309433, 0xefa783},
+  {0x84309434, 0xefa784},
+  {0x84309435, 0xefa785},
+  {0x84309436, 0xefa786},
+  {0x84309437, 0xefa787},
+  {0x84309438, 0xefa788},
+  {0x84309439, 0xefa789},
+  {0x84309530, 0xefa78a},
+  {0x84309531, 0xefa78b},
+  {0x84309532, 0xefa78c},
+  {0x84309533, 0xefa78d},
+  {0x84309534, 0xefa78e},
+  {0x84309535, 0xefa78f},
+  {0x84309536, 0xefa790},
+  {0x84309537, 0xefa791},
+  {0x84309538, 0xefa792},
+  {0x84309539, 0xefa793},
+  {0x84309630, 0xefa794},
+  {0x84309631, 0xefa795},
+  {0x84309632, 0xefa796},
+  {0x84309633, 0xefa797},
+  {0x84309634, 0xefa798},
+  {0x84309635, 0xefa799},
+  {0x84309636, 0xefa79a},
+  {0x84309637, 0xefa79b},
+  {0x84309638, 0xefa79c},
+  {0x84309639, 0xefa79d},
+  {0x84309730, 0xefa79e},
+  {0x84309731, 0xefa79f},
+  {0x84309732, 0xefa7a0},
+  {0x84309733, 0xefa7a1},
+  {0x84309734, 0xefa7a2},
+  {0x84309735, 0xefa7a3},
+  {0x84309736, 0xefa7a4},
+  {0x84309737, 0xefa7a5},
+  {0x84309738, 0xefa7a6},
+  {0x84309739, 0xefa7a8},
+  {0x84309830, 0xefa7a9},
+  {0x84309831, 0xefa7aa},
+  {0x84309832, 0xefa7ab},
+  {0x84309833, 0xefa7ac},
+  {0x84309834, 0xefa7ad},
+  {0x84309835, 0xefa7ae},
+  {0x84309836, 0xefa7af},
+  {0x84309837, 0xefa7b0},
+  {0x84309838, 0xefa7b2},
+  {0x84309839, 0xefa7b3},
+  {0x84309930, 0xefa7b4},
+  {0x84309931, 0xefa7b5},
+  {0x84309932, 0xefa7b6},
+  {0x84309933, 0xefa7b7},
+  {0x84309934, 0xefa7b8},
+  {0x84309935, 0xefa7b9},
+  {0x84309936, 0xefa7ba},
+  {0x84309937, 0xefa7bb},
+  {0x84309938, 0xefa7bc},
+  {0x84309939, 0xefa7bd},
+  {0x84309a30, 0xefa7be},
+  {0x84309a31, 0xefa7bf},
+  {0x84309a32, 0xefa880},
+  {0x84309a33, 0xefa881},
+  {0x84309a34, 0xefa882},
+  {0x84309a35, 0xefa883},
+  {0x84309a36, 0xefa884},
+  {0x84309a37, 0xefa885},
+  {0x84309a38, 0xefa886},
+  {0x84309a39, 0xefa887},
+  {0x84309b30, 0xefa888},
+  {0x84309b31, 0xefa889},
+  {0x84309b32, 0xefa88a},
+  {0x84309b33, 0xefa88b},
+  {0x84309b34, 0xefa890},
+  {0x84309b35, 0xefa892},
+  {0x84309b36, 0xefa895},
+  {0x84309b37, 0xefa896},
+  {0x84309b38, 0xefa897},
+  {0x84309b39, 0xefa899},
+  {0x84309c30, 0xefa89a},
+  {0x84309c31, 0xefa89b},
+  {0x84309c32, 0xefa89c},
+  {0x84309c33, 0xefa89d},
+  {0x84309c34, 0xefa89e},
+  {0x84309c35, 0xefa8a2},
+  {0x84309c36, 0xefa8a5},
+  {0x84309c37, 0xefa8a6},
+  {0x84309c38, 0xefa8aa},
+  {0x84309c39, 0xefa8ab},
+  {0x84309d30, 0xefa8ac},
+  {0x84309d31, 0xefa8ad},
+  {0x84309d32, 0xefa8ae},
+  {0x84309d33, 0xefa8af},
+  {0x84309d34, 0xefa8b0},
+  {0x84309d35, 0xefa8b1},
+  {0x84309d36, 0xefa8b2},
+  {0x84309d37, 0xefa8b3},
+  {0x84309d38, 0xefa8b4},
+  {0x84309d39, 0xefa8b5},
+  {0x84309e30, 0xefa8b6},
+  {0x84309e31, 0xefa8b7},
+  {0x84309e32, 0xefa8b8},
+  {0x84309e33, 0xefa8b9},
+  {0x84309e34, 0xefa8ba},
+  {0x84309e35, 0xefa8bb},
+  {0x84309e36, 0xefa8bc},
+  {0x84309e37, 0xefa8bd},
+  {0x84309e38, 0xefa8be},
+  {0x84309e39, 0xefa8bf},
+  {0x84309f30, 0xefa980},
+  {0x84309f31, 0xefa981},
+  {0x84309f32, 0xefa982},
+  {0x84309f33, 0xefa983},
+  {0x84309f34, 0xefa984},
+  {0x84309f35, 0xefa985},
+  {0x84309f36, 0xefa986},
+  {0x84309f37, 0xefa987},
+  {0x84309f38, 0xefa988},
+  {0x84309f39, 0xefa989},
+  {0x8430a030, 0xefa98a},
+  {0x8430a031, 0xefa98b},
+  {0x8430a032, 0xefa98c},
+  {0x8430a033, 0xefa98d},
+  {0x8430a034, 0xefa98e},
+  {0x8430a035, 0xefa98f},
+  {0x8430a036, 0xefa990},
+  {0x8430a037, 0xefa991},
+  {0x8430a038, 0xefa992},
+  {0x8430a039, 0xefa993},
+  {0x8430a130, 0xefa994},
+  {0x8430a131, 0xefa995},
+  {0x8430a132, 0xefa996},
+  {0x8430a133, 0xefa997},
+  {0x8430a134, 0xefa998},
+  {0x8430a135, 0xefa999},
+  {0x8430a136, 0xefa99a},
+  {0x8430a137, 0xefa99b},
+  {0x8430a138, 0xefa99c},
+  {0x8430a139, 0xefa99d},
+  {0x8430a230, 0xefa99e},
+  {0x8430a231, 0xefa99f},
+  {0x8430a232, 0xefa9a0},
+  {0x8430a233, 0xefa9a1},
+  {0x8430a234, 0xefa9a2},
+  {0x8430a235, 0xefa9a3},
+  {0x8430a236, 0xefa9a4},
+  {0x8430a237, 0xefa9a5},
+  {0x8430a238, 0xefa9a6},
+  {0x8430a239, 0xefa9a7},
+  {0x8430a330, 0xefa9a8},
+  {0x8430a331, 0xefa9a9},
+  {0x8430a332, 0xefa9aa},
+  {0x8430a333, 0xefa9ab},
+  {0x8430a334, 0xefa9ac},
+  {0x8430a335, 0xefa9ad},
+  {0x8430a336, 0xefa9ae},
+  {0x8430a337, 0xefa9af},
+  {0x8430a338, 0xefa9b0},
+  {0x8430a339, 0xefa9b1},
+  {0x8430a430, 0xefa9b2},
+  {0x8430a431, 0xefa9b3},
+  {0x8430a432, 0xefa9b4},
+  {0x8430a433, 0xefa9b5},
+  {0x8430a434, 0xefa9b6},
+  {0x8430a435, 0xefa9b7},
+  {0x8430a436, 0xefa9b8},
+  {0x8430a437, 0xefa9b9},
+  {0x8430a438, 0xefa9ba},
+  {0x8430a439, 0xefa9bb},
+  {0x8430a530, 0xefa9bc},
+  {0x8430a531, 0xefa9bd},
+  {0x8430a532, 0xefa9be},
+  {0x8430a533, 0xefa9bf},
+  {0x8430a534, 0xefaa80},
+  {0x8430a535, 0xefaa81},
+  {0x8430a536, 0xefaa82},
+  {0x8430a537, 0xefaa83},
+  {0x8430a538, 0xefaa84},
+  {0x8430a539, 0xefaa85},
+  {0x8430a630, 0xefaa86},
+  {0x8430a631, 0xefaa87},
+  {0x8430a632, 0xefaa88},
+  {0x8430a633, 0xefaa89},
+  {0x8430a634, 0xefaa8a},
+  {0x8430a635, 0xefaa8b},
+  {0x8430a636, 0xefaa8c},
+  {0x8430a637, 0xefaa8d},
+  {0x8430a638, 0xefaa8e},
+  {0x8430a639, 0xefaa8f},
+  {0x8430a730, 0xefaa90},
+  {0x8430a731, 0xefaa91},
+  {0x8430a732, 0xefaa92},
+  {0x8430a733, 0xefaa93},
+  {0x8430a734, 0xefaa94},
+  {0x8430a735, 0xefaa95},
+  {0x8430a736, 0xefaa96},
+  {0x8430a737, 0xefaa97},
+  {0x8430a738, 0xefaa98},
+  {0x8430a739, 0xefaa99},
+  {0x8430a830, 0xefaa9a},
+  {0x8430a831, 0xefaa9b},
+  {0x8430a832, 0xefaa9c},
+  {0x8430a833, 0xefaa9d},
+  {0x8430a834, 0xefaa9e},
+  {0x8430a835, 0xefaa9f},
+  {0x8430a836, 0xefaaa0},
+  {0x8430a837, 0xefaaa1},
+  {0x8430a838, 0xefaaa2},
+  {0x8430a839, 0xefaaa3},
+  {0x8430a930, 0xefaaa4},
+  {0x8430a931, 0xefaaa5},
+  {0x8430a932, 0xefaaa6},
+  {0x8430a933, 0xefaaa7},
+  {0x8430a934, 0xefaaa8},
+  {0x8430a935, 0xefaaa9},
+  {0x8430a936, 0xefaaaa},
+  {0x8430a937, 0xefaaab},
+  {0x8430a938, 0xefaaac},
+  {0x8430a939, 0xefaaad},
+  {0x8430aa30, 0xefaaae},
+  {0x8430aa31, 0xefaaaf},
+  {0x8430aa32, 0xefaab0},
+  {0x8430aa33, 0xefaab1},
+  {0x8430aa34, 0xefaab2},
+  {0x8430aa35, 0xefaab3},
+  {0x8430aa36, 0xefaab4},
+  {0x8430aa37, 0xefaab5},
+  {0x8430aa38, 0xefaab6},
+  {0x8430aa39, 0xefaab7},
+  {0x8430ab30, 0xefaab8},
+  {0x8430ab31, 0xefaab9},
+  {0x8430ab32, 0xefaaba},
+  {0x8430ab33, 0xefaabb},
+  {0x8430ab34, 0xefaabc},
+  {0x8430ab35, 0xefaabd},
+  {0x8430ab36, 0xefaabe},
+  {0x8430ab37, 0xefaabf},
+  {0x8430ab38, 0xefab80},
+  {0x8430ab39, 0xefab81},
+  {0x8430ac30, 0xefab82},
+  {0x8430ac31, 0xefab83},
+  {0x8430ac32, 0xefab84},
+  {0x8430ac33, 0xefab85},
+  {0x8430ac34, 0xefab86},
+  {0x8430ac35, 0xefab87},
+  {0x8430ac36, 0xefab88},
+  {0x8430ac37, 0xefab89},
+  {0x8430ac38, 0xefab8a},
+  {0x8430ac39, 0xefab8b},
+  {0x8430ad30, 0xefab8c},
+  {0x8430ad31, 0xefab8d},
+  {0x8430ad32, 0xefab8e},
+  {0x8430ad33, 0xefab8f},
+  {0x8430ad34, 0xefab90},
+  {0x8430ad35, 0xefab91},
+  {0x8430ad36, 0xefab92},
+  {0x8430ad37, 0xefab93},
+  {0x8430ad38, 0xefab94},
+  {0x8430ad39, 0xefab95},
+  {0x8430ae30, 0xefab96},
+  {0x8430ae31, 0xefab97},
+  {0x8430ae32, 0xefab98},
+  {0x8430ae33, 0xefab99},
+  {0x8430ae34, 0xefab9a},
+  {0x8430ae35, 0xefab9b},
+  {0x8430ae36, 0xefab9c},
+  {0x8430ae37, 0xefab9d},
+  {0x8430ae38, 0xefab9e},
+  {0x8430ae39, 0xefab9f},
+  {0x8430af30, 0xefaba0},
+  {0x8430af31, 0xefaba1},
+  {0x8430af32, 0xefaba2},
+  {0x8430af33, 0xefaba3},
+  {0x8430af34, 0xefaba4},
+  {0x8430af35, 0xefaba5},
+  {0x8430af36, 0xefaba6},
+  {0x8430af37, 0xefaba7},
+  {0x8430af38, 0xefaba8},
+  {0x8430af39, 0xefaba9},
+  {0x8430b030, 0xefabaa},
+  {0x8430b031, 0xefabab},
+  {0x8430b032, 0xefabac},
+  {0x8430b033, 0xefabad},
+  {0x8430b034, 0xefabae},
+  {0x8430b035, 0xefabaf},
+  {0x8430b036, 0xefabb0},
+  {0x8430b037, 0xefabb1},
+  {0x8430b038, 0xefabb2},
+  {0x8430b039, 0xefabb3},
+  {0x8430b130, 0xefabb4},
+  {0x8430b131, 0xefabb5},
+  {0x8430b132, 0xefabb6},
+  {0x8430b133, 0xefabb7},
+  {0x8430b134, 0xefabb8},
+  {0x8430b135, 0xefabb9},
+  {0x8430b136, 0xefabba},
+  {0x8430b137, 0xefabbb},
+  {0x8430b138, 0xefabbc},
+  {0x8430b139, 0xefabbd},
+  {0x8430b230, 0xefabbe},
+  {0x8430b231, 0xefabbf},
+  {0x8430b232, 0xefac80},
+  {0x8430b233, 0xefac81},
+  {0x8430b234, 0xefac82},
+  {0x8430b235, 0xefac83},
+  {0x8430b236, 0xefac84},
+  {0x8430b237, 0xefac85},
+  {0x8430b238, 0xefac86},
+  {0x8430b239, 0xefac87},
+  {0x8430b330, 0xefac88},
+  {0x8430b331, 0xefac89},
+  {0x8430b332, 0xefac8a},
+  {0x8430b333, 0xefac8b},
+  {0x8430b334, 0xefac8c},
+  {0x8430b335, 0xefac8d},
+  {0x8430b336, 0xefac8e},
+  {0x8430b337, 0xefac8f},
+  {0x8430b338, 0xefac90},
+  {0x8430b339, 0xefac91},
+  {0x8430b430, 0xefac92},
+  {0x8430b431, 0xefac93},
+  {0x8430b432, 0xefac94},
+  {0x8430b433, 0xefac95},
+  {0x8430b434, 0xefac96},
+  {0x8430b435, 0xefac97},
+  {0x8430b436, 0xefac98},
+  {0x8430b437, 0xefac99},
+  {0x8430b438, 0xefac9a},
+  {0x8430b439, 0xefac9b},
+  {0x8430b530, 0xefac9c},
+  {0x8430b531, 0xefac9d},
+  {0x8430b532, 0xefac9e},
+  {0x8430b533, 0xefac9f},
+  {0x8430b534, 0xefaca0},
+  {0x8430b535, 0xefaca1},
+  {0x8430b536, 0xefaca2},
+  {0x8430b537, 0xefaca3},
+  {0x8430b538, 0xefaca4},
+  {0x8430b539, 0xefaca5},
+  {0x8430b630, 0xefaca6},
+  {0x8430b631, 0xefaca7},
+  {0x8430b632, 0xefaca8},
+  {0x8430b633, 0xefaca9},
+  {0x8430b634, 0xefacaa},
+  {0x8430b635, 0xefacab},
+  {0x8430b636, 0xefacac},
+  {0x8430b637, 0xefacad},
+  {0x8430b638, 0xefacae},
+  {0x8430b639, 0xefacaf},
+  {0x8430b730, 0xefacb0},
+  {0x8430b731, 0xefacb1},
+  {0x8430b732, 0xefacb2},
+  {0x8430b733, 0xefacb3},
+  {0x8430b734, 0xefacb4},
+  {0x8430b735, 0xefacb5},
+  {0x8430b736, 0xefacb6},
+  {0x8430b737, 0xefacb7},
+  {0x8430b738, 0xefacb8},
+  {0x8430b739, 0xefacb9},
+  {0x8430b830, 0xefacba},
+  {0x8430b831, 0xefacbb},
+  {0x8430b832, 0xefacbc},
+  {0x8430b833, 0xefacbd},
+  {0x8430b834, 0xefacbe},
+  {0x8430b835, 0xefacbf},
+  {0x8430b836, 0xefad80},
+  {0x8430b837, 0xefad81},
+  {0x8430b838, 0xefad82},
+  {0x8430b839, 0xefad83},
+  {0x8430b930, 0xefad84},
+  {0x8430b931, 0xefad85},
+  {0x8430b932, 0xefad86},
+  {0x8430b933, 0xefad87},
+  {0x8430b934, 0xefad88},
+  {0x8430b935, 0xefad89},
+  {0x8430b936, 0xefad8a},
+  {0x8430b937, 0xefad8b},
+  {0x8430b938, 0xefad8c},
+  {0x8430b939, 0xefad8d},
+  {0x8430ba30, 0xefad8e},
+  {0x8430ba31, 0xefad8f},
+  {0x8430ba32, 0xefad90},
+  {0x8430ba33, 0xefad91},
+  {0x8430ba34, 0xefad92},
+  {0x8430ba35, 0xefad93},
+  {0x8430ba36, 0xefad94},
+  {0x8430ba37, 0xefad95},
+  {0x8430ba38, 0xefad96},
+  {0x8430ba39, 0xefad97},
+  {0x8430bb30, 0xefad98},
+  {0x8430bb31, 0xefad99},
+  {0x8430bb32, 0xefad9a},
+  {0x8430bb33, 0xefad9b},
+  {0x8430bb34, 0xefad9c},
+  {0x8430bb35, 0xefad9d},
+  {0x8430bb36, 0xefad9e},
+  {0x8430bb37, 0xefad9f},
+  {0x8430bb38, 0xefada0},
+  {0x8430bb39, 0xefada1},
+  {0x8430bc30, 0xefada2},
+  {0x8430bc31, 0xefada3},
+  {0x8430bc32, 0xefada4},
+  {0x8430bc33, 0xefada5},
+  {0x8430bc34, 0xefada6},
+  {0x8430bc35, 0xefada7},
+  {0x8430bc36, 0xefada8},
+  {0x8430bc37, 0xefada9},
+  {0x8430bc38, 0xefadaa},
+  {0x8430bc39, 0xefadab},
+  {0x8430bd30, 0xefadac},
+  {0x8430bd31, 0xefadad},
+  {0x8430bd32, 0xefadae},
+  {0x8430bd33, 0xefadaf},
+  {0x8430bd34, 0xefadb0},
+  {0x8430bd35, 0xefadb1},
+  {0x8430bd36, 0xefadb2},
+  {0x8430bd37, 0xefadb3},
+  {0x8430bd38, 0xefadb4},
+  {0x8430bd39, 0xefadb5},
+  {0x8430be30, 0xefadb6},
+  {0x8430be31, 0xefadb7},
+  {0x8430be32, 0xefadb8},
+  {0x8430be33, 0xefadb9},
+  {0x8430be34, 0xefadba},
+  {0x8430be35, 0xefadbb},
+  {0x8430be36, 0xefadbc},
+  {0x8430be37, 0xefadbd},
+  {0x8430be38, 0xefadbe},
+  {0x8430be39, 0xefadbf},
+  {0x8430bf30, 0xefae80},
+  {0x8430bf31, 0xefae81},
+  {0x8430bf32, 0xefae82},
+  {0x8430bf33, 0xefae83},
+  {0x8430bf34, 0xefae84},
+  {0x8430bf35, 0xefae85},
+  {0x8430bf36, 0xefae86},
+  {0x8430bf37, 0xefae87},
+  {0x8430bf38, 0xefae88},
+  {0x8430bf39, 0xefae89},
+  {0x8430c030, 0xefae8a},
+  {0x8430c031, 0xefae8b},
+  {0x8430c032, 0xefae8c},
+  {0x8430c033, 0xefae8d},
+  {0x8430c034, 0xefae8e},
+  {0x8430c035, 0xefae8f},
+  {0x8430c036, 0xefae90},
+  {0x8430c037, 0xefae91},
+  {0x8430c038, 0xefae92},
+  {0x8430c039, 0xefae93},
+  {0x8430c130, 0xefae94},
+  {0x8430c131, 0xefae95},
+  {0x8430c132, 0xefae96},
+  {0x8430c133, 0xefae97},
+  {0x8430c134, 0xefae98},
+  {0x8430c135, 0xefae99},
+  {0x8430c136, 0xefae9a},
+  {0x8430c137, 0xefae9b},
+  {0x8430c138, 0xefae9c},
+  {0x8430c139, 0xefae9d},
+  {0x8430c230, 0xefae9e},
+  {0x8430c231, 0xefae9f},
+  {0x8430c232, 0xefaea0},
+  {0x8430c233, 0xefaea1},
+  {0x8430c234, 0xefaea2},
+  {0x8430c235, 0xefaea3},
+  {0x8430c236, 0xefaea4},
+  {0x8430c237, 0xefaea5},
+  {0x8430c238, 0xefaea6},
+  {0x8430c239, 0xefaea7},
+  {0x8430c330, 0xefaea8},
+  {0x8430c331, 0xefaea9},
+  {0x8430c332, 0xefaeaa},
+  {0x8430c333, 0xefaeab},
+  {0x8430c334, 0xefaeac},
+  {0x8430c335, 0xefaead},
+  {0x8430c336, 0xefaeae},
+  {0x8430c337, 0xefaeaf},
+  {0x8430c338, 0xefaeb0},
+  {0x8430c339, 0xefaeb1},
+  {0x8430c430, 0xefaeb2},
+  {0x8430c431, 0xefaeb3},
+  {0x8430c432, 0xefaeb4},
+  {0x8430c433, 0xefaeb5},
+  {0x8430c434, 0xefaeb6},
+  {0x8430c435, 0xefaeb7},
+  {0x8430c436, 0xefaeb8},
+  {0x8430c437, 0xefaeb9},
+  {0x8430c438, 0xefaeba},
+  {0x8430c439, 0xefaebb},
+  {0x8430c530, 0xefaebc},
+  {0x8430c531, 0xefaebd},
+  {0x8430c532, 0xefaebe},
+  {0x8430c533, 0xefaebf},
+  {0x8430c534, 0xefaf80},
+  {0x8430c535, 0xefaf81},
+  {0x8430c536, 0xefaf82},
+  {0x8430c537, 0xefaf83},
+  {0x8430c538, 0xefaf84},
+  {0x8430c539, 0xefaf85},
+  {0x8430c630, 0xefaf86},
+  {0x8430c631, 0xefaf87},
+  {0x8430c632, 0xefaf88},
+  {0x8430c633, 0xefaf89},
+  {0x8430c634, 0xefaf8a},
+  {0x8430c635, 0xefaf8b},
+  {0x8430c636, 0xefaf8c},
+  {0x8430c637, 0xefaf8d},
+  {0x8430c638, 0xefaf8e},
+  {0x8430c639, 0xefaf8f},
+  {0x8430c730, 0xefaf90},
+  {0x8430c731, 0xefaf91},
+  {0x8430c732, 0xefaf92},
+  {0x8430c733, 0xefaf93},
+  {0x8430c734, 0xefaf94},
+  {0x8430c735, 0xefaf95},
+  {0x8430c736, 0xefaf96},
+  {0x8430c737, 0xefaf97},
+  {0x8430c738, 0xefaf98},
+  {0x8430c739, 0xefaf99},
+  {0x8430c830, 0xefaf9a},
+  {0x8430c831, 0xefaf9b},
+  {0x8430c832, 0xefaf9c},
+  {0x8430c833, 0xefaf9d},
+  {0x8430c834, 0xefaf9e},
+  {0x8430c835, 0xefaf9f},
+  {0x8430c836, 0xefafa0},
+  {0x8430c837, 0xefafa1},
+  {0x8430c838, 0xefafa2},
+  {0x8430c839, 0xefafa3},
+  {0x8430c930, 0xefafa4},
+  {0x8430c931, 0xefafa5},
+  {0x8430c932, 0xefafa6},
+  {0x8430c933, 0xefafa7},
+  {0x8430c934, 0xefafa8},
+  {0x8430c935, 0xefafa9},
+  {0x8430c936, 0xefafaa},
+  {0x8430c937, 0xefafab},
+  {0x8430c938, 0xefafac},
+  {0x8430c939, 0xefafad},
+  {0x8430ca30, 0xefafae},
+  {0x8430ca31, 0xefafaf},
+  {0x8430ca32, 0xefafb0},
+  {0x8430ca33, 0xefafb1},
+  {0x8430ca34, 0xefafb2},
+  {0x8430ca35, 0xefafb3},
+  {0x8430ca36, 0xefafb4},
+  {0x8430ca37, 0xefafb5},
+  {0x8430ca38, 0xefafb6},
+  {0x8430ca39, 0xefafb7},
+  {0x8430cb30, 0xefafb8},
+  {0x8430cb31, 0xefafb9},
+  {0x8430cb32, 0xefafba},
+  {0x8430cb33, 0xefafbb},
+  {0x8430cb34, 0xefafbc},
+  {0x8430cb35, 0xefafbd},
+  {0x8430cb36, 0xefafbe},
+  {0x8430cb37, 0xefafbf},
+  {0x8430cb38, 0xefb080},
+  {0x8430cb39, 0xefb081},
+  {0x8430cc30, 0xefb082},
+  {0x8430cc31, 0xefb083},
+  {0x8430cc32, 0xefb084},
+  {0x8430cc33, 0xefb085},
+  {0x8430cc34, 0xefb086},
+  {0x8430cc35, 0xefb087},
+  {0x8430cc36, 0xefb088},
+  {0x8430cc37, 0xefb089},
+  {0x8430cc38, 0xefb08a},
+  {0x8430cc39, 0xefb08b},
+  {0x8430cd30, 0xefb08c},
+  {0x8430cd31, 0xefb08d},
+  {0x8430cd32, 0xefb08e},
+  {0x8430cd33, 0xefb08f},
+  {0x8430cd34, 0xefb090},
+  {0x8430cd35, 0xefb091},
+  {0x8430cd36, 0xefb092},
+  {0x8430cd37, 0xefb093},
+  {0x8430cd38, 0xefb094},
+  {0x8430cd39, 0xefb095},
+  {0x8430ce30, 0xefb096},
+  {0x8430ce31, 0xefb097},
+  {0x8430ce32, 0xefb098},
+  {0x8430ce33, 0xefb099},
+  {0x8430ce34, 0xefb09a},
+  {0x8430ce35, 0xefb09b},
+  {0x8430ce36, 0xefb09c},
+  {0x8430ce37, 0xefb09d},
+  {0x8430ce38, 0xefb09e},
+  {0x8430ce39, 0xefb09f},
+  {0x8430cf30, 0xefb0a0},
+  {0x8430cf31, 0xefb0a1},
+  {0x8430cf32, 0xefb0a2},
+  {0x8430cf33, 0xefb0a3},
+  {0x8430cf34, 0xefb0a4},
+  {0x8430cf35, 0xefb0a5},
+  {0x8430cf36, 0xefb0a6},
+  {0x8430cf37, 0xefb0a7},
+  {0x8430cf38, 0xefb0a8},
+  {0x8430cf39, 0xefb0a9},
+  {0x8430d030, 0xefb0aa},
+  {0x8430d031, 0xefb0ab},
+  {0x8430d032, 0xefb0ac},
+  {0x8430d033, 0xefb0ad},
+  {0x8430d034, 0xefb0ae},
+  {0x8430d035, 0xefb0af},
+  {0x8430d036, 0xefb0b0},
+  {0x8430d037, 0xefb0b1},
+  {0x8430d038, 0xefb0b2},
+  {0x8430d039, 0xefb0b3},
+  {0x8430d130, 0xefb0b4},
+  {0x8430d131, 0xefb0b5},
+  {0x8430d132, 0xefb0b6},
+  {0x8430d133, 0xefb0b7},
+  {0x8430d134, 0xefb0b8},
+  {0x8430d135, 0xefb0b9},
+  {0x8430d136, 0xefb0ba},
+  {0x8430d137, 0xefb0bb},
+  {0x8430d138, 0xefb0bc},
+  {0x8430d139, 0xefb0bd},
+  {0x8430d230, 0xefb0be},
+  {0x8430d231, 0xefb0bf},
+  {0x8430d232, 0xefb180},
+  {0x8430d233, 0xefb181},
+  {0x8430d234, 0xefb182},
+  {0x8430d235, 0xefb183},
+  {0x8430d236, 0xefb184},
+  {0x8430d237, 0xefb185},
+  {0x8430d238, 0xefb186},
+  {0x8430d239, 0xefb187},
+  {0x8430d330, 0xefb188},
+  {0x8430d331, 0xefb189},
+  {0x8430d332, 0xefb18a},
+  {0x8430d333, 0xefb18b},
+  {0x8430d334, 0xefb18c},
+  {0x8430d335, 0xefb18d},
+  {0x8430d336, 0xefb18e},
+  {0x8430d337, 0xefb18f},
+  {0x8430d338, 0xefb190},
+  {0x8430d339, 0xefb191},
+  {0x8430d430, 0xefb192},
+  {0x8430d431, 0xefb193},
+  {0x8430d432, 0xefb194},
+  {0x8430d433, 0xefb195},
+  {0x8430d434, 0xefb196},
+  {0x8430d435, 0xefb197},
+  {0x8430d436, 0xefb198},
+  {0x8430d437, 0xefb199},
+  {0x8430d438, 0xefb19a},
+  {0x8430d439, 0xefb19b},
+  {0x8430d530, 0xefb19c},
+  {0x8430d531, 0xefb19d},
+  {0x8430d532, 0xefb19e},
+  {0x8430d533, 0xefb19f},
+  {0x8430d534, 0xefb1a0},
+  {0x8430d535, 0xefb1a1},
+  {0x8430d536, 0xefb1a2},
+  {0x8430d537, 0xefb1a3},
+  {0x8430d538, 0xefb1a4},
+  {0x8430d539, 0xefb1a5},
+  {0x8430d630, 0xefb1a6},
+  {0x8430d631, 0xefb1a7},
+  {0x8430d632, 0xefb1a8},
+  {0x8430d633, 0xefb1a9},
+  {0x8430d634, 0xefb1aa},
+  {0x8430d635, 0xefb1ab},
+  {0x8430d636, 0xefb1ac},
+  {0x8430d637, 0xefb1ad},
+  {0x8430d638, 0xefb1ae},
+  {0x8430d639, 0xefb1af},
+  {0x8430d730, 0xefb1b0},
+  {0x8430d731, 0xefb1b1},
+  {0x8430d732, 0xefb1b2},
+  {0x8430d733, 0xefb1b3},
+  {0x8430d734, 0xefb1b4},
+  {0x8430d735, 0xefb1b5},
+  {0x8430d736, 0xefb1b6},
+  {0x8430d737, 0xefb1b7},
+  {0x8430d738, 0xefb1b8},
+  {0x8430d739, 0xefb1b9},
+  {0x8430d830, 0xefb1ba},
+  {0x8430d831, 0xefb1bb},
+  {0x8430d832, 0xefb1bc},
+  {0x8430d833, 0xefb1bd},
+  {0x8430d834, 0xefb1be},
+  {0x8430d835, 0xefb1bf},
+  {0x8430d836, 0xefb280},
+  {0x8430d837, 0xefb281},
+  {0x8430d838, 0xefb282},
+  {0x8430d839, 0xefb283},
+  {0x8430d930, 0xefb284},
+  {0x8430d931, 0xefb285},
+  {0x8430d932, 0xefb286},
+  {0x8430d933, 0xefb287},
+  {0x8430d934, 0xefb288},
+  {0x8430d935, 0xefb289},
+  {0x8430d936, 0xefb28a},
+  {0x8430d937, 0xefb28b},
+  {0x8430d938, 0xefb28c},
+  {0x8430d939, 0xefb28d},
+  {0x8430da30, 0xefb28e},
+  {0x8430da31, 0xefb28f},
+  {0x8430da32, 0xefb290},
+  {0x8430da33, 0xefb291},
+  {0x8430da34, 0xefb292},
+  {0x8430da35, 0xefb293},
+  {0x8430da36, 0xefb294},
+  {0x8430da37, 0xefb295},
+  {0x8430da38, 0xefb296},
+  {0x8430da39, 0xefb297},
+  {0x8430db30, 0xefb298},
+  {0x8430db31, 0xefb299},
+  {0x8430db32, 0xefb29a},
+  {0x8430db33, 0xefb29b},
+  {0x8430db34, 0xefb29c},
+  {0x8430db35, 0xefb29d},
+  {0x8430db36, 0xefb29e},
+  {0x8430db37, 0xefb29f},
+  {0x8430db38, 0xefb2a0},
+  {0x8430db39, 0xefb2a1},
+  {0x8430dc30, 0xefb2a2},
+  {0x8430dc31, 0xefb2a3},
+  {0x8430dc32, 0xefb2a4},
+  {0x8430dc33, 0xefb2a5},
+  {0x8430dc34, 0xefb2a6},
+  {0x8430dc35, 0xefb2a7},
+  {0x8430dc36, 0xefb2a8},
+  {0x8430dc37, 0xefb2a9},
+  {0x8430dc38, 0xefb2aa},
+  {0x8430dc39, 0xefb2ab},
+  {0x8430dd30, 0xefb2ac},
+  {0x8430dd31, 0xefb2ad},
+  {0x8430dd32, 0xefb2ae},
+  {0x8430dd33, 0xefb2af},
+  {0x8430dd34, 0xefb2b0},
+  {0x8430dd35, 0xefb2b1},
+  {0x8430dd36, 0xefb2b2},
+  {0x8430dd37, 0xefb2b3},
+  {0x8430dd38, 0xefb2b4},
+  {0x8430dd39, 0xefb2b5},
+  {0x8430de30, 0xefb2b6},
+  {0x8430de31, 0xefb2b7},
+  {0x8430de32, 0xefb2b8},
+  {0x8430de33, 0xefb2b9},
+  {0x8430de34, 0xefb2ba},
+  {0x8430de35, 0xefb2bb},
+  {0x8430de36, 0xefb2bc},
+  {0x8430de37, 0xefb2bd},
+  {0x8430de38, 0xefb2be},
+  {0x8430de39, 0xefb2bf},
+  {0x8430df30, 0xefb380},
+  {0x8430df31, 0xefb381},
+  {0x8430df32, 0xefb382},
+  {0x8430df33, 0xefb383},
+  {0x8430df34, 0xefb384},
+  {0x8430df35, 0xefb385},
+  {0x8430df36, 0xefb386},
+  {0x8430df37, 0xefb387},
+  {0x8430df38, 0xefb388},
+  {0x8430df39, 0xefb389},
+  {0x8430e030, 0xefb38a},
+  {0x8430e031, 0xefb38b},
+  {0x8430e032, 0xefb38c},
+  {0x8430e033, 0xefb38d},
+  {0x8430e034, 0xefb38e},
+  {0x8430e035, 0xefb38f},
+  {0x8430e036, 0xefb390},
+  {0x8430e037, 0xefb391},
+  {0x8430e038, 0xefb392},
+  {0x8430e039, 0xefb393},
+  {0x8430e130, 0xefb394},
+  {0x8430e131, 0xefb395},
+  {0x8430e132, 0xefb396},
+  {0x8430e133, 0xefb397},
+  {0x8430e134, 0xefb398},
+  {0x8430e135, 0xefb399},
+  {0x8430e136, 0xefb39a},
+  {0x8430e137, 0xefb39b},
+  {0x8430e138, 0xefb39c},
+  {0x8430e139, 0xefb39d},
+  {0x8430e230, 0xefb39e},
+  {0x8430e231, 0xefb39f},
+  {0x8430e232, 0xefb3a0},
+  {0x8430e233, 0xefb3a1},
+  {0x8430e234, 0xefb3a2},
+  {0x8430e235, 0xefb3a3},
+  {0x8430e236, 0xefb3a4},
+  {0x8430e237, 0xefb3a5},
+  {0x8430e238, 0xefb3a6},
+  {0x8430e239, 0xefb3a7},
+  {0x8430e330, 0xefb3a8},
+  {0x8430e331, 0xefb3a9},
+  {0x8430e332, 0xefb3aa},
+  {0x8430e333, 0xefb3ab},
+  {0x8430e334, 0xefb3ac},
+  {0x8430e335, 0xefb3ad},
+  {0x8430e336, 0xefb3ae},
+  {0x8430e337, 0xefb3af},
+  {0x8430e338, 0xefb3b0},
+  {0x8430e339, 0xefb3b1},
+  {0x8430e430, 0xefb3b2},
+  {0x8430e431, 0xefb3b3},
+  {0x8430e432, 0xefb3b4},
+  {0x8430e433, 0xefb3b5},
+  {0x8430e434, 0xefb3b6},
+  {0x8430e435, 0xefb3b7},
+  {0x8430e436, 0xefb3b8},
+  {0x8430e437, 0xefb3b9},
+  {0x8430e438, 0xefb3ba},
+  {0x8430e439, 0xefb3bb},
+  {0x8430e530, 0xefb3bc},
+  {0x8430e531, 0xefb3bd},
+  {0x8430e532, 0xefb3be},
+  {0x8430e533, 0xefb3bf},
+  {0x8430e534, 0xefb480},
+  {0x8430e535, 0xefb481},
+  {0x8430e536, 0xefb482},
+  {0x8430e537, 0xefb483},
+  {0x8430e538, 0xefb484},
+  {0x8430e539, 0xefb485},
+  {0x8430e630, 0xefb486},
+  {0x8430e631, 0xefb487},
+  {0x8430e632, 0xefb488},
+  {0x8430e633, 0xefb489},
+  {0x8430e634, 0xefb48a},
+  {0x8430e635, 0xefb48b},
+  {0x8430e636, 0xefb48c},
+  {0x8430e637, 0xefb48d},
+  {0x8430e638, 0xefb48e},
+  {0x8430e639, 0xefb48f},
+  {0x8430e730, 0xefb490},
+  {0x8430e731, 0xefb491},
+  {0x8430e732, 0xefb492},
+  {0x8430e733, 0xefb493},
+  {0x8430e734, 0xefb494},
+  {0x8430e735, 0xefb495},
+  {0x8430e736, 0xefb496},
+  {0x8430e737, 0xefb497},
+  {0x8430e738, 0xefb498},
+  {0x8430e739, 0xefb499},
+  {0x8430e830, 0xefb49a},
+  {0x8430e831, 0xefb49b},
+  {0x8430e832, 0xefb49c},
+  {0x8430e833, 0xefb49d},
+  {0x8430e834, 0xefb49e},
+  {0x8430e835, 0xefb49f},
+  {0x8430e836, 0xefb4a0},
+  {0x8430e837, 0xefb4a1},
+  {0x8430e838, 0xefb4a2},
+  {0x8430e839, 0xefb4a3},
+  {0x8430e930, 0xefb4a4},
+  {0x8430e931, 0xefb4a5},
+  {0x8430e932, 0xefb4a6},
+  {0x8430e933, 0xefb4a7},
+  {0x8430e934, 0xefb4a8},
+  {0x8430e935, 0xefb4a9},
+  {0x8430e936, 0xefb4aa},
+  {0x8430e937, 0xefb4ab},
+  {0x8430e938, 0xefb4ac},
+  {0x8430e939, 0xefb4ad},
+  {0x8430ea30, 0xefb4ae},
+  {0x8430ea31, 0xefb4af},
+  {0x8430ea32, 0xefb4b0},
+  {0x8430ea33, 0xefb4b1},
+  {0x8430ea34, 0xefb4b2},
+  {0x8430ea35, 0xefb4b3},
+  {0x8430ea36, 0xefb4b4},
+  {0x8430ea37, 0xefb4b5},
+  {0x8430ea38, 0xefb4b6},
+  {0x8430ea39, 0xefb4b7},
+  {0x8430eb30, 0xefb4b8},
+  {0x8430eb31, 0xefb4b9},
+  {0x8430eb32, 0xefb4ba},
+  {0x8430eb33, 0xefb4bb},
+  {0x8430eb34, 0xefb4bc},
+  {0x8430eb35, 0xefb4bd},
+  {0x8430eb36, 0xefb4be},
+  {0x8430eb37, 0xefb4bf},
+  {0x8430eb38, 0xefb580},
+  {0x8430eb39, 0xefb581},
+  {0x8430ec30, 0xefb582},
+  {0x8430ec31, 0xefb583},
+  {0x8430ec32, 0xefb584},
+  {0x8430ec33, 0xefb585},
+  {0x8430ec34, 0xefb586},
+  {0x8430ec35, 0xefb587},
+  {0x8430ec36, 0xefb588},
+  {0x8430ec37, 0xefb589},
+  {0x8430ec38, 0xefb58a},
+  {0x8430ec39, 0xefb58b},
+  {0x8430ed30, 0xefb58c},
+  {0x8430ed31, 0xefb58d},
+  {0x8430ed32, 0xefb58e},
+  {0x8430ed33, 0xefb58f},
+  {0x8430ed34, 0xefb590},
+  {0x8430ed35, 0xefb591},
+  {0x8430ed36, 0xefb592},
+  {0x8430ed37, 0xefb593},
+  {0x8430ed38, 0xefb594},
+  {0x8430ed39, 0xefb595},
+  {0x8430ee30, 0xefb596},
+  {0x8430ee31, 0xefb597},
+  {0x8430ee32, 0xefb598},
+  {0x8430ee33, 0xefb599},
+  {0x8430ee34, 0xefb59a},
+  {0x8430ee35, 0xefb59b},
+  {0x8430ee36, 0xefb59c},
+  {0x8430ee37, 0xefb59d},
+  {0x8430ee38, 0xefb59e},
+  {0x8430ee39, 0xefb59f},
+  {0x8430ef30, 0xefb5a0},
+  {0x8430ef31, 0xefb5a1},
+  {0x8430ef32, 0xefb5a2},
+  {0x8430ef33, 0xefb5a3},
+  {0x8430ef34, 0xefb5a4},
+  {0x8430ef35, 0xefb5a5},
+  {0x8430ef36, 0xefb5a6},
+  {0x8430ef37, 0xefb5a7},
+  {0x8430ef38, 0xefb5a8},
+  {0x8430ef39, 0xefb5a9},
+  {0x8430f030, 0xefb5aa},
+  {0x8430f031, 0xefb5ab},
+  {0x8430f032, 0xefb5ac},
+  {0x8430f033, 0xefb5ad},
+  {0x8430f034, 0xefb5ae},
+  {0x8430f035, 0xefb5af},
+  {0x8430f036, 0xefb5b0},
+  {0x8430f037, 0xefb5b1},
+  {0x8430f038, 0xefb5b2},
+  {0x8430f039, 0xefb5b3},
+  {0x8430f130, 0xefb5b4},
+  {0x8430f131, 0xefb5b5},
+  {0x8430f132, 0xefb5b6},
+  {0x8430f133, 0xefb5b7},
+  {0x8430f134, 0xefb5b8},
+  {0x8430f135, 0xefb5b9},
+  {0x8430f136, 0xefb5ba},
+  {0x8430f137, 0xefb5bb},
+  {0x8430f138, 0xefb5bc},
+  {0x8430f139, 0xefb5bd},
+  {0x8430f230, 0xefb5be},
+  {0x8430f231, 0xefb5bf},
+  {0x8430f232, 0xefb680},
+  {0x8430f233, 0xefb681},
+  {0x8430f234, 0xefb682},
+  {0x8430f235, 0xefb683},
+  {0x8430f236, 0xefb684},
+  {0x8430f237, 0xefb685},
+  {0x8430f238, 0xefb686},
+  {0x8430f239, 0xefb687},
+  {0x8430f330, 0xefb688},
+  {0x8430f331, 0xefb689},
+  {0x8430f332, 0xefb68a},
+  {0x8430f333, 0xefb68b},
+  {0x8430f334, 0xefb68c},
+  {0x8430f335, 0xefb68d},
+  {0x8430f336, 0xefb68e},
+  {0x8430f337, 0xefb68f},
+  {0x8430f338, 0xefb690},
+  {0x8430f339, 0xefb691},
+  {0x8430f430, 0xefb692},
+  {0x8430f431, 0xefb693},
+  {0x8430f432, 0xefb694},
+  {0x8430f433, 0xefb695},
+  {0x8430f434, 0xefb696},
+  {0x8430f435, 0xefb697},
+  {0x8430f436, 0xefb698},
+  {0x8430f437, 0xefb699},
+  {0x8430f438, 0xefb69a},
+  {0x8430f439, 0xefb69b},
+  {0x8430f530, 0xefb69c},
+  {0x8430f531, 0xefb69d},
+  {0x8430f532, 0xefb69e},
+  {0x8430f533, 0xefb69f},
+  {0x8430f534, 0xefb6a0},
+  {0x8430f535, 0xefb6a1},
+  {0x8430f536, 0xefb6a2},
+  {0x8430f537, 0xefb6a3},
+  {0x8430f538, 0xefb6a4},
+  {0x8430f539, 0xefb6a5},
+  {0x8430f630, 0xefb6a6},
+  {0x8430f631, 0xefb6a7},
+  {0x8430f632, 0xefb6a8},
+  {0x8430f633, 0xefb6a9},
+  {0x8430f634, 0xefb6aa},
+  {0x8430f635, 0xefb6ab},
+  {0x8430f636, 0xefb6ac},
+  {0x8430f637, 0xefb6ad},
+  {0x8430f638, 0xefb6ae},
+  {0x8430f639, 0xefb6af},
+  {0x8430f730, 0xefb6b0},
+  {0x8430f731, 0xefb6b1},
+  {0x8430f732, 0xefb6b2},
+  {0x8430f733, 0xefb6b3},
+  {0x8430f734, 0xefb6b4},
+  {0x8430f735, 0xefb6b5},
+  {0x8430f736, 0xefb6b6},
+  {0x8430f737, 0xefb6b7},
+  {0x8430f738, 0xefb6b8},
+  {0x8430f739, 0xefb6b9},
+  {0x8430f830, 0xefb6ba},
+  {0x8430f831, 0xefb6bb},
+  {0x8430f832, 0xefb6bc},
+  {0x8430f833, 0xefb6bd},
+  {0x8430f834, 0xefb6be},
+  {0x8430f835, 0xefb6bf},
+  {0x8430f836, 0xefb780},
+  {0x8430f837, 0xefb781},
+  {0x8430f838, 0xefb782},
+  {0x8430f839, 0xefb783},
+  {0x8430f930, 0xefb784},
+  {0x8430f931, 0xefb785},
+  {0x8430f932, 0xefb786},
+  {0x8430f933, 0xefb787},
+  {0x8430f934, 0xefb788},
+  {0x8430f935, 0xefb789},
+  {0x8430f936, 0xefb78a},
+  {0x8430f937, 0xefb78b},
+  {0x8430f938, 0xefb78c},
+  {0x8430f939, 0xefb78d},
+  {0x8430fa30, 0xefb78e},
+  {0x8430fa31, 0xefb78f},
+  {0x8430fa32, 0xefb790},
+  {0x8430fa33, 0xefb791},
+  {0x8430fa34, 0xefb792},
+  {0x8430fa35, 0xefb793},
+  {0x8430fa36, 0xefb794},
+  {0x8430fa37, 0xefb795},
+  {0x8430fa38, 0xefb796},
+  {0x8430fa39, 0xefb797},
+  {0x8430fb30, 0xefb798},
+  {0x8430fb31, 0xefb799},
+  {0x8430fb32, 0xefb79a},
+  {0x8430fb33, 0xefb79b},
+  {0x8430fb34, 0xefb79c},
+  {0x8430fb35, 0xefb79d},
+  {0x8430fb36, 0xefb79e},
+  {0x8430fb37, 0xefb79f},
+  {0x8430fb38, 0xefb7a0},
+  {0x8430fb39, 0xefb7a1},
+  {0x8430fc30, 0xefb7a2},
+  {0x8430fc31, 0xefb7a3},
+  {0x8430fc32, 0xefb7a4},
+  {0x8430fc33, 0xefb7a5},
+  {0x8430fc34, 0xefb7a6},
+  {0x8430fc35, 0xefb7a7},
+  {0x8430fc36, 0xefb7a8},
+  {0x8430fc37, 0xefb7a9},
+  {0x8430fc38, 0xefb7aa},
+  {0x8430fc39, 0xefb7ab},
+  {0x8430fd30, 0xefb7ac},
+  {0x8430fd31, 0xefb7ad},
+  {0x8430fd32, 0xefb7ae},
+  {0x8430fd33, 0xefb7af},
+  {0x8430fd34, 0xefb7b0},
+  {0x8430fd35, 0xefb7b1},
+  {0x8430fd36, 0xefb7b2},
+  {0x8430fd37, 0xefb7b3},
+  {0x8430fd38, 0xefb7b4},
+  {0x8430fd39, 0xefb7b5},
+  {0x8430fe30, 0xefb7b6},
+  {0x8430fe31, 0xefb7b7},
+  {0x8430fe32, 0xefb7b8},
+  {0x8430fe33, 0xefb7b9},
+  {0x8430fe34, 0xefb7ba},
+  {0x8430fe35, 0xefb7bb},
+  {0x8430fe36, 0xefb7bc},
+  {0x8430fe37, 0xefb7bd},
+  {0x8430fe38, 0xefb7be},
+  {0x8430fe39, 0xefb7bf},
+  {0x84318130, 0xefb880},
+  {0x84318131, 0xefb881},
+  {0x84318132, 0xefb882},
+  {0x84318133, 0xefb883},
+  {0x84318134, 0xefb884},
+  {0x84318135, 0xefb885},
+  {0x84318136, 0xefb886},
+  {0x84318137, 0xefb887},
+  {0x84318138, 0xefb888},
+  {0x84318139, 0xefb889},
+  {0x84318230, 0xefb88a},
+  {0x84318231, 0xefb88b},
+  {0x84318232, 0xefb88c},
+  {0x84318233, 0xefb88d},
+  {0x84318234, 0xefb88e},
+  {0x84318235, 0xefb88f},
+  {0x84318236, 0xefb890},
+  {0x84318237, 0xefb891},
+  {0x84318238, 0xefb892},
+  {0x84318239, 0xefb893},
+  {0x84318330, 0xefb894},
+  {0x84318331, 0xefb895},
+  {0x84318332, 0xefb896},
+  {0x84318333, 0xefb897},
+  {0x84318334, 0xefb898},
+  {0x84318335, 0xefb899},
+  {0x84318336, 0xefb89a},
+  {0x84318337, 0xefb89b},
+  {0x84318338, 0xefb89c},
+  {0x84318339, 0xefb89d},
+  {0x84318430, 0xefb89e},
+  {0x84318431, 0xefb89f},
+  {0x84318432, 0xefb8a0},
+  {0x84318433, 0xefb8a1},
+  {0x84318434, 0xefb8a2},
+  {0x84318435, 0xefb8a3},
+  {0x84318436, 0xefb8a4},
+  {0x84318437, 0xefb8a5},
+  {0x84318438, 0xefb8a6},
+  {0x84318439, 0xefb8a7},
+  {0x84318530, 0xefb8a8},
+  {0x84318531, 0xefb8a9},
+  {0x84318532, 0xefb8aa},
+  {0x84318533, 0xefb8ab},
+  {0x84318534, 0xefb8ac},
+  {0x84318535, 0xefb8ad},
+  {0x84318536, 0xefb8ae},
+  {0x84318537, 0xefb8af},
+  {0x84318538, 0xefb8b2},
+  {0x84318539, 0xefb985},
+  {0x84318630, 0xefb986},
+  {0x84318631, 0xefb987},
+  {0x84318632, 0xefb988},
+  {0x84318633, 0xefb993},
+  {0x84318634, 0xefb998},
+  {0x84318635, 0xefb9a7},
+  {0x84318636, 0xefb9ac},
+  {0x84318637, 0xefb9ad},
+  {0x84318638, 0xefb9ae},
+  {0x84318639, 0xefb9af},
+  {0x84318730, 0xefb9b0},
+  {0x84318731, 0xefb9b1},
+  {0x84318732, 0xefb9b2},
+  {0x84318733, 0xefb9b3},
+  {0x84318734, 0xefb9b4},
+  {0x84318735, 0xefb9b5},
+  {0x84318736, 0xefb9b6},
+  {0x84318737, 0xefb9b7},
+  {0x84318738, 0xefb9b8},
+  {0x84318739, 0xefb9b9},
+  {0x84318830, 0xefb9ba},
+  {0x84318831, 0xefb9bb},
+  {0x84318832, 0xefb9bc},
+  {0x84318833, 0xefb9bd},
+  {0x84318834, 0xefb9be},
+  {0x84318835, 0xefb9bf},
+  {0x84318836, 0xefba80},
+  {0x84318837, 0xefba81},
+  {0x84318838, 0xefba82},
+  {0x84318839, 0xefba83},
+  {0x84318930, 0xefba84},
+  {0x84318931, 0xefba85},
+  {0x84318932, 0xefba86},
+  {0x84318933, 0xefba87},
+  {0x84318934, 0xefba88},
+  {0x84318935, 0xefba89},
+  {0x84318936, 0xefba8a},
+  {0x84318937, 0xefba8b},
+  {0x84318938, 0xefba8c},
+  {0x84318939, 0xefba8d},
+  {0x84318a30, 0xefba8e},
+  {0x84318a31, 0xefba8f},
+  {0x84318a32, 0xefba90},
+  {0x84318a33, 0xefba91},
+  {0x84318a34, 0xefba92},
+  {0x84318a35, 0xefba93},
+  {0x84318a36, 0xefba94},
+  {0x84318a37, 0xefba95},
+  {0x84318a38, 0xefba96},
+  {0x84318a39, 0xefba97},
+  {0x84318b30, 0xefba98},
+  {0x84318b31, 0xefba99},
+  {0x84318b32, 0xefba9a},
+  {0x84318b33, 0xefba9b},
+  {0x84318b34, 0xefba9c},
+  {0x84318b35, 0xefba9d},
+  {0x84318b36, 0xefba9e},
+  {0x84318b37, 0xefba9f},
+  {0x84318b38, 0xefbaa0},
+  {0x84318b39, 0xefbaa1},
+  {0x84318c30, 0xefbaa2},
+  {0x84318c31, 0xefbaa3},
+  {0x84318c32, 0xefbaa4},
+  {0x84318c33, 0xefbaa5},
+  {0x84318c34, 0xefbaa6},
+  {0x84318c35, 0xefbaa7},
+  {0x84318c36, 0xefbaa8},
+  {0x84318c37, 0xefbaa9},
+  {0x84318c38, 0xefbaaa},
+  {0x84318c39, 0xefbaab},
+  {0x84318d30, 0xefbaac},
+  {0x84318d31, 0xefbaad},
+  {0x84318d32, 0xefbaae},
+  {0x84318d33, 0xefbaaf},
+  {0x84318d34, 0xefbab0},
+  {0x84318d35, 0xefbab1},
+  {0x84318d36, 0xefbab2},
+  {0x84318d37, 0xefbab3},
+  {0x84318d38, 0xefbab4},
+  {0x84318d39, 0xefbab5},
+  {0x84318e30, 0xefbab6},
+  {0x84318e31, 0xefbab7},
+  {0x84318e32, 0xefbab8},
+  {0x84318e33, 0xefbab9},
+  {0x84318e34, 0xefbaba},
+  {0x84318e35, 0xefbabb},
+  {0x84318e36, 0xefbabc},
+  {0x84318e37, 0xefbabd},
+  {0x84318e38, 0xefbabe},
+  {0x84318e39, 0xefbabf},
+  {0x84318f30, 0xefbb80},
+  {0x84318f31, 0xefbb81},
+  {0x84318f32, 0xefbb82},
+  {0x84318f33, 0xefbb83},
+  {0x84318f34, 0xefbb84},
+  {0x84318f35, 0xefbb85},
+  {0x84318f36, 0xefbb86},
+  {0x84318f37, 0xefbb87},
+  {0x84318f38, 0xefbb88},
+  {0x84318f39, 0xefbb89},
+  {0x84319030, 0xefbb8a},
+  {0x84319031, 0xefbb8b},
+  {0x84319032, 0xefbb8c},
+  {0x84319033, 0xefbb8d},
+  {0x84319034, 0xefbb8e},
+  {0x84319035, 0xefbb8f},
+  {0x84319036, 0xefbb90},
+  {0x84319037, 0xefbb91},
+  {0x84319038, 0xefbb92},
+  {0x84319039, 0xefbb93},
+  {0x84319130, 0xefbb94},
+  {0x84319131, 0xefbb95},
+  {0x84319132, 0xefbb96},
+  {0x84319133, 0xefbb97},
+  {0x84319134, 0xefbb98},
+  {0x84319135, 0xefbb99},
+  {0x84319136, 0xefbb9a},
+  {0x84319137, 0xefbb9b},
+  {0x84319138, 0xefbb9c},
+  {0x84319139, 0xefbb9d},
+  {0x84319230, 0xefbb9e},
+  {0x84319231, 0xefbb9f},
+  {0x84319232, 0xefbba0},
+  {0x84319233, 0xefbba1},
+  {0x84319234, 0xefbba2},
+  {0x84319235, 0xefbba3},
+  {0x84319236, 0xefbba4},
+  {0x84319237, 0xefbba5},
+  {0x84319238, 0xefbba6},
+  {0x84319239, 0xefbba7},
+  {0x84319330, 0xefbba8},
+  {0x84319331, 0xefbba9},
+  {0x84319332, 0xefbbaa},
+  {0x84319333, 0xefbbab},
+  {0x84319334, 0xefbbac},
+  {0x84319335, 0xefbbad},
+  {0x84319336, 0xefbbae},
+  {0x84319337, 0xefbbaf},
+  {0x84319338, 0xefbbb0},
+  {0x84319339, 0xefbbb1},
+  {0x84319430, 0xefbbb2},
+  {0x84319431, 0xefbbb3},
+  {0x84319432, 0xefbbb4},
+  {0x84319433, 0xefbbb5},
+  {0x84319434, 0xefbbb6},
+  {0x84319435, 0xefbbb7},
+  {0x84319436, 0xefbbb8},
+  {0x84319437, 0xefbbb9},
+  {0x84319438, 0xefbbba},
+  {0x84319439, 0xefbbbb},
+  {0x84319530, 0xefbbbc},
+  {0x84319531, 0xefbbbd},
+  {0x84319532, 0xefbbbe},
+  {0x84319533, 0xefbbbf},
+  {0x84319534, 0xefbc80},
+  {0x84319535, 0xefbd9f},
+  {0x84319536, 0xefbda0},
+  {0x84319537, 0xefbda1},
+  {0x84319538, 0xefbda2},
+  {0x84319539, 0xefbda3},
+  {0x84319630, 0xefbda4},
+  {0x84319631, 0xefbda5},
+  {0x84319632, 0xefbda6},
+  {0x84319633, 0xefbda7},
+  {0x84319634, 0xefbda8},
+  {0x84319635, 0xefbda9},
+  {0x84319636, 0xefbdaa},
+  {0x84319637, 0xefbdab},
+  {0x84319638, 0xefbdac},
+  {0x84319639, 0xefbdad},
+  {0x84319730, 0xefbdae},
+  {0x84319731, 0xefbdaf},
+  {0x84319732, 0xefbdb0},
+  {0x84319733, 0xefbdb1},
+  {0x84319734, 0xefbdb2},
+  {0x84319735, 0xefbdb3},
+  {0x84319736, 0xefbdb4},
+  {0x84319737, 0xefbdb5},
+  {0x84319738, 0xefbdb6},
+  {0x84319739, 0xefbdb7},
+  {0x84319830, 0xefbdb8},
+  {0x84319831, 0xefbdb9},
+  {0x84319832, 0xefbdba},
+  {0x84319833, 0xefbdbb},
+  {0x84319834, 0xefbdbc},
+  {0x84319835, 0xefbdbd},
+  {0x84319836, 0xefbdbe},
+  {0x84319837, 0xefbdbf},
+  {0x84319838, 0xefbe80},
+  {0x84319839, 0xefbe81},
+  {0x84319930, 0xefbe82},
+  {0x84319931, 0xefbe83},
+  {0x84319932, 0xefbe84},
+  {0x84319933, 0xefbe85},
+  {0x84319934, 0xefbe86},
+  {0x84319935, 0xefbe87},
+  {0x84319936, 0xefbe88},
+  {0x84319937, 0xefbe89},
+  {0x84319938, 0xefbe8a},
+  {0x84319939, 0xefbe8b},
+  {0x84319a30, 0xefbe8c},
+  {0x84319a31, 0xefbe8d},
+  {0x84319a32, 0xefbe8e},
+  {0x84319a33, 0xefbe8f},
+  {0x84319a34, 0xefbe90},
+  {0x84319a35, 0xefbe91},
+  {0x84319a36, 0xefbe92},
+  {0x84319a37, 0xefbe93},
+  {0x84319a38, 0xefbe94},
+  {0x84319a39, 0xefbe95},
+  {0x84319b30, 0xefbe96},
+  {0x84319b31, 0xefbe97},
+  {0x84319b32, 0xefbe98},
+  {0x84319b33, 0xefbe99},
+  {0x84319b34, 0xefbe9a},
+  {0x84319b35, 0xefbe9b},
+  {0x84319b36, 0xefbe9c},
+  {0x84319b37, 0xefbe9d},
+  {0x84319b38, 0xefbe9e},
+  {0x84319b39, 0xefbe9f},
+  {0x84319c30, 0xefbea0},
+  {0x84319c31, 0xefbea1},
+  {0x84319c32, 0xefbea2},
+  {0x84319c33, 0xefbea3},
+  {0x84319c34, 0xefbea4},
+  {0x84319c35, 0xefbea5},
+  {0x84319c36, 0xefbea6},
+  {0x84319c37, 0xefbea7},
+  {0x84319c38, 0xefbea8},
+  {0x84319c39, 0xefbea9},
+  {0x84319d30, 0xefbeaa},
+  {0x84319d31, 0xefbeab},
+  {0x84319d32, 0xefbeac},
+  {0x84319d33, 0xefbead},
+  {0x84319d34, 0xefbeae},
+  {0x84319d35, 0xefbeaf},
+  {0x84319d36, 0xefbeb0},
+  {0x84319d37, 0xefbeb1},
+  {0x84319d38, 0xefbeb2},
+  {0x84319d39, 0xefbeb3},
+  {0x84319e30, 0xefbeb4},
+  {0x84319e31, 0xefbeb5},
+  {0x84319e32, 0xefbeb6},
+  {0x84319e33, 0xefbeb7},
+  {0x84319e34, 0xefbeb8},
+  {0x84319e35, 0xefbeb9},
+  {0x84319e36, 0xefbeba},
+  {0x84319e37, 0xefbebb},
+  {0x84319e38, 0xefbebc},
+  {0x84319e39, 0xefbebd},
+  {0x84319f30, 0xefbebe},
+  {0x84319f31, 0xefbebf},
+  {0x84319f32, 0xefbf80},
+  {0x84319f33, 0xefbf81},
+  {0x84319f34, 0xefbf82},
+  {0x84319f35, 0xefbf83},
+  {0x84319f36, 0xefbf84},
+  {0x84319f37, 0xefbf85},
+  {0x84319f38, 0xefbf86},
+  {0x84319f39, 0xefbf87},
+  {0x8431a030, 0xefbf88},
+  {0x8431a031, 0xefbf89},
+  {0x8431a032, 0xefbf8a},
+  {0x8431a033, 0xefbf8b},
+  {0x8431a034, 0xefbf8c},
+  {0x8431a035, 0xefbf8d},
+  {0x8431a036, 0xefbf8e},
+  {0x8431a037, 0xefbf8f},
+  {0x8431a038, 0xefbf90},
+  {0x8431a039, 0xefbf91},
+  {0x8431a130, 0xefbf92},
+  {0x8431a131, 0xefbf93},
+  {0x8431a132, 0xefbf94},
+  {0x8431a133, 0xefbf95},
+  {0x8431a134, 0xefbf96},
+  {0x8431a135, 0xefbf97},
+  {0x8431a136, 0xefbf98},
+  {0x8431a137, 0xefbf99},
+  {0x8431a138, 0xefbf9a},
+  {0x8431a139, 0xefbf9b},
+  {0x8431a230, 0xefbf9c},
+  {0x8431a231, 0xefbf9d},
+  {0x8431a232, 0xefbf9e},
+  {0x8431a233, 0xefbf9f},
+  {0x8431a234, 0xefbfa6},
+  {0x8431a235, 0xefbfa7},
+  {0x8431a236, 0xefbfa8},
+  {0x8431a237, 0xefbfa9},
+  {0x8431a238, 0xefbfaa},
+  {0x8431a239, 0xefbfab},
+  {0x8431a330, 0xefbfac},
+  {0x8431a331, 0xefbfad},
+  {0x8431a332, 0xefbfae},
+  {0x8431a333, 0xefbfaf},
+  {0x8431a334, 0xefbfb0},
+  {0x8431a335, 0xefbfb1},
+  {0x8431a336, 0xefbfb2},
+  {0x8431a337, 0xefbfb3},
+  {0x8431a338, 0xefbfb4},
+  {0x8431a339, 0xefbfb5},
+  {0x8431a430, 0xefbfb6},
+  {0x8431a431, 0xefbfb7},
+  {0x8431a432, 0xefbfb8},
+  {0x8431a433, 0xefbfb9},
+  {0x8431a434, 0xefbfba},
+  {0x8431a435, 0xefbfbb},
+  {0x8431a436, 0xefbfbc},
+  {0x8431a437, 0xefbfbd},
+  {0x8431a438, 0xefbfbe},
+  {0x8431a439, 0xefbfbf}
 };
index 74bf8b911d40eb9a925f6dcadb1a02762ae48a61..2b4d0157d643331a57de1d799eb6fc875285bede 100644 (file)
@@ -185,10 +185,10 @@ installdirs:
        $(mkinstalldirs) $(DESTDIR)$(datadir) $(DESTDIR)$(pkglibdir)
 
 uninstall:
-
-dep depend distprep:
+       rm -f $(DESTDIR)$(datadir)/$(SQLSCRIPT)
+       @for dir in $(DIRS); do $(MAKE) -C $$dir $@ || exit; done
 
 clean distclean maintainer-clean:
-       $(RM) $(SQLSCRIPT)
+       rm -f $(SQLSCRIPT)
        @for dir in $(DIRS); do $(MAKE) -C $$dir $@; done
 
index 76fb55688afb21f1f046993221f535798304585f..0e66f3751858154812b644d71551b0730e63e27b 100644 (file)
@@ -14,7 +14,8 @@ include $(top_srcdir)/src/Makefile.shlib
 install: all
        $(INSTALL_SHLIB) $(shlib) $(DESTDIR)$(pkglibdir)/$(NAME)$(DLSUFFIX)
 
-uninstall: uninstall-lib
+uninstall:
+       rm -f $(DESTDIR)$(pkglibdir)/$(NAME)$(DLSUFFIX)
 
 clean distclean maintainer-clean: clean-lib
        rm -f $(OBJS)
index 3fe700b9856c8c6c7f6b9dbb595b31287bdabb86..841846ba799902667b2ae3f2803a8dcd100e284b 100644 (file)
@@ -818,7 +818,7 @@ static struct config_bool ConfigureNamesBool[] =
        },
        {
                {"add_missing_from", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS,
-                       gettext_noop("Add missing table references to from clauses"),
+                       gettext_noop("Add missing table references to FROM clauses"),
                        NULL
                },
                &add_missing_from,
@@ -944,7 +944,7 @@ static struct config_int ConfigureNamesInt[] =
                        NULL
                },
                &MaxBackends,
-               DEF_MAXBACKENDS, 1, INT_MAX, NULL, NULL
+               100, 1, INT_MAX, NULL, NULL
        },
 
        {
@@ -962,7 +962,7 @@ static struct config_int ConfigureNamesInt[] =
                        NULL
                },
                &NBuffers,
-               DEF_NBUFFERS, 16, INT_MAX, NULL, NULL
+               1000, 16, INT_MAX, NULL, NULL
        },
 
        {
@@ -1479,7 +1479,7 @@ static struct config_string ConfigureNamesString[] =
                {"server_encoding", PGC_INTERNAL, CLIENT_CONN_LOCALE,
                        gettext_noop("Server (database) character set encoding"),
                        NULL,
-                       GUC_REPORT | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
+                       GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
                },
                &server_encoding_string,
                "SQL_ASCII", NULL, NULL
@@ -1501,7 +1501,7 @@ static struct config_string ConfigureNamesString[] =
                {"session_authorization", PGC_USERSET, UNGROUPED,
                        gettext_noop("Current session userid"),
                        NULL,
-                       GUC_NO_SHOW_ALL | GUC_NO_RESET_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
+                       GUC_REPORT | GUC_NO_SHOW_ALL | GUC_NO_RESET_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE
                },
                &session_authorization_string,
                NULL, assign_session_authorization, show_session_authorization
@@ -2373,7 +2373,7 @@ parse_real(const char *value, double *result)
  * properly.
  *
  * If value is NULL, set the option to its default value. If the
- * parameter DoIt is false then don't really set the option but do all
+ * parameter changeVal is false then don't really set the option but do all
  * the checks to see if it would work.
  *
  * If there is an error (non-existing option, invalid value) then an
@@ -2390,13 +2390,13 @@ parse_real(const char *value, double *result)
 bool
 set_config_option(const char *name, const char *value,
                                  GucContext context, GucSource source,
-                                 bool isLocal, bool DoIt)
+                                 bool isLocal, bool changeVal)
 {
        struct config_generic *record;
        int                     elevel;
        bool            interactive;
        bool            makeDefault;
-       bool            DoIt_orig;
+       bool            changeVal_orig;
 
        if (context == PGC_SIGHUP || source == PGC_S_DEFAULT)
                elevel = DEBUG2;
@@ -2511,26 +2511,26 @@ set_config_option(const char *name, const char *value,
         * Should we set reset/session values?  (If so, the behavior is not
         * transactional.)
         */
-       makeDefault = DoIt && (source <= PGC_S_OVERRIDE) && (value != NULL);
+       makeDefault = changeVal && (source <= PGC_S_OVERRIDE) && (value != NULL);
 
        /*
         * Ignore attempted set if overridden by previously processed setting.
-        * However, if DoIt is false then plow ahead anyway since we are
+        * However, if changeVal is false then plow ahead anyway since we are
         * trying to find out if the value is potentially good, not actually
         * use it. Also keep going if makeDefault is true, since we may want
         * to set the reset/session values even if we can't set the variable
         * itself.
         */
-       DoIt_orig = DoIt;                       /* we might have to reverse this later */
+       changeVal_orig = changeVal;                     /* we might have to reverse this later */
        if (record->source > source)
        {
-               if (DoIt && !makeDefault)
+               if (changeVal && !makeDefault)
                {
                        elog(DEBUG3, "\"%s\": setting ignored because previous source is higher priority",
                                 name);
                        return true;
                }
-               DoIt = false;                   /* we won't change the variable itself */
+               changeVal = false;                      /* we won't change the variable itself */
        }
 
        /*
@@ -2556,7 +2556,7 @@ set_config_option(const char *name, const char *value,
                                        /* Limit non-superuser changes */
                                        if (record->context == PGC_USERLIMIT &&
                                                source > PGC_S_UNPRIVILEGED &&
-                                               newval < conf->session_val &&
+                                               newval < conf->reset_val &&
                                                !superuser())
                                        {
                                                ereport(elevel,
@@ -2569,10 +2569,10 @@ set_config_option(const char *name, const char *value,
                                        /* Allow admin to override non-superuser setting */
                                        if (record->context == PGC_USERLIMIT &&
                                                source < PGC_S_UNPRIVILEGED &&
-                                               record->session_source > PGC_S_UNPRIVILEGED &&
-                                               newval > conf->session_val &&
+                                               record->reset_source > PGC_S_UNPRIVILEGED &&
+                                               newval > conf->reset_val &&
                                                !superuser())
-                                               DoIt = DoIt_orig;
+                                               changeVal = changeVal_orig;
                                }
                                else
                                {
@@ -2581,7 +2581,7 @@ set_config_option(const char *name, const char *value,
                                }
 
                                if (conf->assign_hook)
-                                       if (!(*conf->assign_hook) (newval, DoIt, interactive))
+                                       if (!(*conf->assign_hook) (newval, changeVal, interactive))
                                        {
                                                ereport(elevel,
                                                                (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
@@ -2590,9 +2590,9 @@ set_config_option(const char *name, const char *value,
                                                return false;
                                        }
 
-                               if (DoIt || makeDefault)
+                               if (changeVal || makeDefault)
                                {
-                                       if (DoIt)
+                                       if (changeVal)
                                        {
                                                *conf->variable = newval;
                                                conf->gen.source = source;
@@ -2652,8 +2652,8 @@ set_config_option(const char *name, const char *value,
                                        /* Limit non-superuser changes */
                                        if (record->context == PGC_USERLIMIT &&
                                                source > PGC_S_UNPRIVILEGED &&
-                                               conf->session_val != 0 &&
-                                               (newval > conf->session_val || newval == 0) &&
+                                               conf->reset_val != 0 &&
+                                               (newval > conf->reset_val || newval == 0) &&
                                                !superuser())
                                        {
                                                ereport(elevel,
@@ -2666,10 +2666,10 @@ set_config_option(const char *name, const char *value,
                                        /* Allow admin to override non-superuser setting */
                                        if (record->context == PGC_USERLIMIT &&
                                                source < PGC_S_UNPRIVILEGED &&
-                                               record->session_source > PGC_S_UNPRIVILEGED &&
-                                               newval < conf->session_val &&
+                                               record->reset_source > PGC_S_UNPRIVILEGED &&
+                                               newval < conf->reset_val &&
                                                !superuser())
-                                               DoIt = DoIt_orig;
+                                               changeVal = changeVal_orig;
                                }
                                else
                                {
@@ -2678,7 +2678,7 @@ set_config_option(const char *name, const char *value,
                                }
 
                                if (conf->assign_hook)
-                                       if (!(*conf->assign_hook) (newval, DoIt, interactive))
+                                       if (!(*conf->assign_hook) (newval, changeVal, interactive))
                                        {
                                                ereport(elevel,
                                                                (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
@@ -2687,9 +2687,9 @@ set_config_option(const char *name, const char *value,
                                                return false;
                                        }
 
-                               if (DoIt || makeDefault)
+                               if (changeVal || makeDefault)
                                {
-                                       if (DoIt)
+                                       if (changeVal)
                                        {
                                                *conf->variable = newval;
                                                conf->gen.source = source;
@@ -2749,7 +2749,7 @@ set_config_option(const char *name, const char *value,
                                        /* Limit non-superuser changes */
                                        if (record->context == PGC_USERLIMIT &&
                                                source > PGC_S_UNPRIVILEGED &&
-                                               newval > conf->session_val &&
+                                               newval > conf->reset_val &&
                                                !superuser())
                                        {
                                                ereport(elevel,
@@ -2762,10 +2762,10 @@ set_config_option(const char *name, const char *value,
                                        /* Allow admin to override non-superuser setting */
                                        if (record->context == PGC_USERLIMIT &&
                                                source < PGC_S_UNPRIVILEGED &&
-                                               record->session_source > PGC_S_UNPRIVILEGED &&
-                                               newval < conf->session_val &&
+                                               record->reset_source > PGC_S_UNPRIVILEGED &&
+                                               newval < conf->reset_val &&
                                                !superuser())
-                                               DoIt = DoIt_orig;
+                                               changeVal = changeVal_orig;
                                }
                                else
                                {
@@ -2774,7 +2774,7 @@ set_config_option(const char *name, const char *value,
                                }
 
                                if (conf->assign_hook)
-                                       if (!(*conf->assign_hook) (newval, DoIt, interactive))
+                                       if (!(*conf->assign_hook) (newval, changeVal, interactive))
                                        {
                                                ereport(elevel,
                                                                (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
@@ -2783,9 +2783,9 @@ set_config_option(const char *name, const char *value,
                                                return false;
                                        }
 
-                               if (DoIt || makeDefault)
+                               if (changeVal || makeDefault)
                                {
-                                       if (DoIt)
+                                       if (changeVal)
                                        {
                                                *conf->variable = newval;
                                                conf->gen.source = source;
@@ -2860,10 +2860,10 @@ set_config_option(const char *name, const char *value,
                                                }
                                                /* Allow admin to override non-superuser setting */
                                                if (source < PGC_S_UNPRIVILEGED &&
-                                                       record->session_source > PGC_S_UNPRIVILEGED &&
-                                                       newval < conf->session_val &&
+                                                       record->reset_source > PGC_S_UNPRIVILEGED &&
+                                                       newval < conf->reset_val &&
                                                        !superuser())
-                                                       DoIt = DoIt_orig;
+                                                       changeVal = changeVal_orig;
                                        }
                                }
                                else if (conf->reset_val)
@@ -2902,7 +2902,7 @@ set_config_option(const char *name, const char *value,
                                        const char *hookresult;
 
                                        hookresult = (*conf->assign_hook) (newval,
-                                                                                                          DoIt, interactive);
+                                                                                                          changeVal, interactive);
                                        guc_string_workspace = NULL;
                                        if (hookresult == NULL)
                                        {
@@ -2932,9 +2932,9 @@ set_config_option(const char *name, const char *value,
 
                                guc_string_workspace = NULL;
 
-                               if (DoIt || makeDefault)
+                               if (changeVal || makeDefault)
                                {
-                                       if (DoIt)
+                                       if (changeVal)
                                        {
                                                SET_STRING_VARIABLE(conf, newval);
                                                conf->gen.source = source;
@@ -2976,7 +2976,7 @@ set_config_option(const char *name, const char *value,
                        }
        }
 
-       if (DoIt && (record->flags & GUC_REPORT))
+       if (changeVal && (record->flags & GUC_REPORT))
                ReportGUCOption(record);
 
        return true;
index 6ed1aae20813359bd469944945189f7bbe12e231..a30ae074a183c6d17735305963424024d422784f 100644 (file)
@@ -28,7 +28,7 @@
 # - Connection Settings -
 
 #tcpip_socket = false
-#max_connections = 32
+#max_connections = 100
        # note: increasing max_connections costs about 500 bytes of shared
        # memory per connection slot, in addition to costs from shared_buffers
         # and max_locks_per_transaction.
@@ -37,7 +37,7 @@
 #unix_socket_directory = ''
 #unix_socket_group = ''
 #unix_socket_permissions = 0777        # octal
-#virtual_host = ''
+#virtual_host = ''             # what interface to listen on; defaults to any
 #rendezvous_name = ''          # defaults to the computer name
 
 # - Security & Authentication -
@@ -55,7 +55,7 @@
 
 # - Memory -
 
-#shared_buffers = 64           # min 16, at least max_connections*2, 8KB each
+#shared_buffers = 1000         # min 16, at least max_connections*2, 8KB each
 #sort_mem = 1024               # min 64, size in KB
 #vacuum_mem = 8192             # min 1024, size in KB
 
 
 # - Syslog -
 
-#syslog = 0                    # range 0-2
+#syslog = 0                    # range 0-2; 0=stdout; 1=both; 2=syslog
 #syslog_facility = 'LOCAL0'
 #syslog_ident = 'postgres'
 
index 6ffb1fdfb7ac94193c3e7f2aadfcc52d02b7eef2..403936fed9c884f4632a5654bd839911a89d61a2 100644 (file)
@@ -167,11 +167,11 @@ CreatePortal(const char *name, bool allowDup, bool dupSilent)
                if (!allowDup)
                        ereport(ERROR,
                                        (errcode(ERRCODE_DUPLICATE_CURSOR),
-                                        errmsg("portal \"%s\" already exists", name)));
+                                        errmsg("cursor \"%s\" already exists", name)));
                if (!dupSilent)
                        ereport(WARNING,
                                        (errcode(ERRCODE_DUPLICATE_CURSOR),
-                                        errmsg("closing pre-existing portal \"%s\"",
+                                        errmsg("closing existing cursor \"%s\"",
                                                        name)));
                PortalDrop(portal, false);
        }
index 8b2e4d2620fe3af59cd86ad1250e99c4d8c0708e..7f5c6d4548b037632242290f40c4a4bd8385180d 100644 (file)
@@ -88,7 +88,6 @@
 #include "access/heapam.h"
 #include "access/nbtree.h"
 #include "catalog/pg_amop.h"
-#include "catalog/pg_amproc.h"
 #include "catalog/pg_operator.h"
 #include "miscadmin.h"
 #include "utils/catcache.h"
@@ -1754,26 +1753,17 @@ SelectSortFunction(Oid sortOperator,
        if (OidIsValid(opclass))
        {
                /* Found a suitable opclass, get its comparator support function */
-               tuple = SearchSysCache(AMPROCNUM,
-                                                          ObjectIdGetDatum(opclass),
-                                                          Int16GetDatum(BTORDER_PROC),
-                                                          0, 0);
-               if (HeapTupleIsValid(tuple))
-               {
-                       Form_pg_amproc aform = (Form_pg_amproc) GETSTRUCT(tuple);
-
-                       *sortFunction = aform->amproc;
-                       ReleaseSysCache(tuple);
-                       Assert(RegProcedureIsValid(*sortFunction));
-                       return;
-               }
+               *sortFunction = get_opclass_proc(opclass, BTORDER_PROC);
+               Assert(RegProcedureIsValid(*sortFunction));
+               return;
        }
 
        /*
         * Can't find a comparator, so use the operator as-is.  Decide whether
         * it is forward or reverse sort by looking at its name (grotty, but
         * this only matters for deciding which end NULLs should get sorted
-        * to).
+        * to).  XXX possibly better idea: see whether its selectivity function
+        * is scalargtcmp?
         */
        tuple = SearchSysCache(OPEROID,
                                                   ObjectIdGetDatum(sortOperator),
index 6e9c53298c217d1b9ca5658202d5b29c08544ea4..47e45f0e4ab1dbed6718e231fe419c6550f62a73 100644 (file)
@@ -18,6 +18,7 @@ all: initdb
 initdb: initdb.sh $(top_builddir)/src/Makefile.global
        sed -e 's/@VERSION@/$(VERSION)/g' \
            -e 's,@SHELL@,$(SHELL),g' \
+           -e 's,@HAVE_IPV6@,$(HAVE_IPV6),g' \
            -e 's,@bindir@,$(bindir),g' \
            -e 's,@datadir@,$(datadir),g' \
          $< >$@
index ce947a3f4a004254130f8dc16d8d42121916ab5b..8b6ab601d036e27cf2f78a557fdcf6fcf3791442 100644 (file)
@@ -76,6 +76,7 @@ CMDNAME=`basename $0`
 
 # Placed here during build
 VERSION='@VERSION@'
+HAVE_IPV6='@HAVE_IPV6@'
 bindir='@bindir@'
 # Note that "datadir" is not the directory we're initializing, it's
 # merely how Autoconf names PREFIX/share.
@@ -584,15 +585,21 @@ echo "$nconns"
 
 $ECHO_N "creating configuration files... "$ECHO_C
 
-cp "$PG_HBA_SAMPLE" "$PGDATA"/pg_hba.conf              || exit_nicely
-cp "$PG_IDENT_SAMPLE" "$PGDATA"/pg_ident.conf          || exit_nicely
-sed -e "s/^#shared_buffers = 64/shared_buffers = $nbuffers/" \
-    -e "s/^#max_connections = 32/max_connections = $nconns/" \
+sed -e "s/^#shared_buffers = 1000/shared_buffers = $nbuffers/" \
+    -e "s/^#max_connections = 100/max_connections = $nconns/" \
     -e "s/^#lc_messages = 'C'/lc_messages = '`pg_getlocale MESSAGES`'/" \
     -e "s/^#lc_monetary = 'C'/lc_monetary = '`pg_getlocale MONETARY`'/" \
     -e "s/^#lc_numeric = 'C'/lc_numeric = '`pg_getlocale NUMERIC`'/" \
     -e "s/^#lc_time = 'C'/lc_time = '`pg_getlocale TIME`'/" \
     "$POSTGRESQL_CONF_SAMPLE"  > "$PGDATA"/postgresql.conf || exit_nicely
+if [ "x$HAVE_IPV6" = xyes ]
+then
+    cp "$PG_HBA_SAMPLE" "$PGDATA"/pg_hba.conf          || exit_nicely
+else
+    sed -e "/ ::1 / s/^host/#host/" \
+        "$PG_HBA_SAMPLE" > "$PGDATA"/pg_hba.conf       || exit_nicely
+fi
+cp "$PG_IDENT_SAMPLE" "$PGDATA"/pg_ident.conf          || exit_nicely
 
 chmod 0600 "$PGDATA"/pg_hba.conf "$PGDATA"/pg_ident.conf \
        "$PGDATA"/postgresql.conf
index e4ba07e7fbe4f311e3daf9f63a1c3bb903b427ad..bdf39571d78cb95aa162bff51aea552a0c732c80 100644 (file)
@@ -4,15 +4,15 @@
 # $Header$
 #
 # ChangeLog:
-#   - July 24-26, 2003: Update for 7.4.*; <[email protected]>
+#   - July 24 - August 23, 2003: Update for 7.4.*; <[email protected]>
 #   - September 7, 2002: Complete post 7.3beta1 Translation, Serguei A. Mokhov <[email protected]>
 #   - August 31, 2002: Initial Translation, Serguei A. Mokhov <[email protected]>
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 7.4.x\n"
-"POT-Creation-Date: 2003-07-23 04:18-0300\n"
-"PO-Revision-Date: 2003-08-01 14:10-0500\n"
+"POT-Creation-Date: 2003-08-23 04:18-0300\n"
+"PO-Revision-Date: 2003-08-23 13:28-0500\n"
 "Last-Translator: Serguei A. Mokhov <[email protected]>\n"
 "Language-Team: pgsql-rus <[email protected]>\n"
 "MIME-Version: 1.0\n"
@@ -25,7 +25,7 @@ msgid ""
 "%s displays control information of a PostgreSQL database cluster.\n"
 "\n"
 msgstr ""
-"%s ÏÔÏÂÒÁÖÁÅÔ ÉÎÆÏÒÍÁÃÉÀ ÐÏ ÕÐÒÁ×ÌÅÎÉÀ ËÌÁÓÔÅÒÁÍÉ ÂÁÚÙ PostgreSQL.\n"
+"%s ÏÔÏÂÒÁÖÁÅÔ ÉÎÆÏÒÍÁÃÉÀ ÐÏ ÕÐÒÁ×ÌÅÎÉÀ ËÌÁÓÔÅÒÏÍ ÂÁÚ PostgreSQL.\n"
 "\n"
 
 #: pg_controldata.c:32
@@ -45,7 +45,7 @@ msgstr ""
 "ïÐÃÉÉ:\n"
 "  äéòäáîîùè      ÐÏËÁÚÁÔØ ÉÎÆÏÒÍÁÃÉÀ ÐÏ ÕÐÒÁ×ÌÅÎÉÀ ËÌÁÓÔÅÒÁ ÄÌÑ äéòäáîîùè\n"
 "  --help         ÐÏËÁÚÁÔØ ÜÔÕ ÐÏÄÓËÁÚËÕ É ×ÙÊÔÉ\n"
-"  --version      ÐÏËÁÚÁÔØ ×ÅÒÓÉÀ pg_controldata É ×ÙÊÔÉt\n"
+"  --version      ÐÏËÁÚÁÔØ ×ÅÒÓÉÀ pg_controldata É ×ÙÊÔÉ\n"
 "\n"
 
 #: pg_controldata.c:41
@@ -116,7 +116,7 @@ msgid ""
 "\n"
 msgstr ""
 "÷îéíáîéå: óÏÓÞÉÔÁÎÎÁÑ ËÏÎÔÒÏÌØÎÁÑ ÓÕÍÍÁ CRC ÎÅ ÓÏ×ÐÁÄÁÅÔ ÓÏ ÚÎÁÞÅÎÉÅÍ × ÆÁÊÌÅ.\n"
-"æÁÊÌ ÌÉÂÏ ÐÏ×ÒÅÖģΠÌÉÂÏ ÅÇÏ ÆÏÒÍÁÔ ÏÔÌÉÞÁÔÅÔÓÑ ÏÔ ÏÖÉÄÁÅÍÏÇÏ ÜÔÏÊ ÐÒÏÇÒÁÍÍÏÊ.\n"
+"æÁÊÌ ÌÉÂÏ ÐÏ×ÒÅÖÄ£Î, ÌÉÂÏ ÅÇÏ ÆÏÒÍÁÔ ÏÔÌÉÞÁÅÔÓÑ ÏÔ ÏÖÉÄÁÅÍÏÇÏ ÜÔÏÊ ÐÒÏÇÒÁÍÍÏÊ.\n"
 "îÅ ÓÔÏÉÔ ÄÏ×ÅÒÑÔØ ÒÅÚÕÌØÔÁÔÁÍ ÐÒÅÄÓÔÁ×ÌÅÎÎÙÍ ÎÉÖÅ.\n"
 "\n"
 
@@ -208,7 +208,7 @@ msgstr "
 #: pg_controldata.c:171
 #, c-format
 msgid "Maximum number of function arguments: %u\n"
-msgstr "íÁËÓÍÁÌØÎÏÅ ÞÉÓÌÏ ÁÒÇÕÍÅÎÔÏ× ÆÕÎËÃÉÉ: %u\n"
+msgstr "íÁËÓÉÍÁÌØÎÏÅ ÞÉÓÌÏ ÁÒÇÕÍÅÎÔÏ× ÆÕÎËÃÉÉ: %u\n"
 
 #: pg_controldata.c:172
 #, c-format
index 0e729465ec80a1a9fb62a757e85a0f70cc58ccc8..dcdf788db0435f396b5370654177c3d46d78d2a2 100644 (file)
@@ -166,8 +166,9 @@ extern void PrintTOCSummary(Archive *AH, RestoreOptions *ropt);
 extern RestoreOptions *NewRestoreOptions(void);
 
 /* Rearrange TOC entries */
-extern void MoveToStart(Archive *AH, char *oType);
-extern void MoveToEnd(Archive *AH, char *oType);
+extern void MoveToStart(Archive *AH, const char *oType);
+extern void MoveToEnd(Archive *AH, const char *oType);
+extern void SortTocByObjectType(Archive *AH);
 extern void SortTocByOID(Archive *AH);
 extern void SortTocByID(Archive *AH);
 extern void SortTocFromFile(Archive *AH, RestoreOptions *ropt);
index 3c32bcdd351b94e45454997d0977c5d75f529549..83cc6176a70cf802828e5339a39a578c58684828 100644 (file)
@@ -845,11 +845,12 @@ EndRestoreBlob(ArchiveHandle *AH, Oid oid)
 
 /*
  * Move TOC entries of the specified type to the START of the TOC.
+ *
+ * This is public, but if you use it anywhere but SortTocByObjectType,
+ * you are risking breaking things.
  */
-
-/* Public */
 void
-MoveToStart(Archive *AHX, char *oType)
+MoveToStart(Archive *AHX, const char *oType)
 {
        ArchiveHandle *AH = (ArchiveHandle *) AHX;
        TocEntry   *te = AH->toc->next;
@@ -874,10 +875,12 @@ MoveToStart(Archive *AHX, char *oType)
 
 /*
  * Move TOC entries of the specified type to the end of the TOC.
+ *
+ * This is public, but if you use it anywhere but SortTocByObjectType,
+ * you are risking breaking things.
  */
-/* Public */
 void
-MoveToEnd(Archive *AHX, char *oType)
+MoveToEnd(Archive *AHX, const char *oType)
 {
        ArchiveHandle *AH = (ArchiveHandle *) AHX;
        TocEntry   *te = AH->toc->next;
@@ -899,6 +902,44 @@ MoveToEnd(Archive *AHX, char *oType)
        }
 }
 
+/*
+ * Sort TOC by object type (items of same type keep same relative order)
+ *
+ * This is factored out to ensure that pg_dump and pg_restore stay in sync
+ * about the standard ordering.
+ */
+void
+SortTocByObjectType(Archive *AH)
+{
+       /*
+        * Procedural languages have to be declared just after database and
+        * schema creation, before they are used.
+        */
+       MoveToStart(AH, "ACL LANGUAGE");
+       MoveToStart(AH, "PROCEDURAL LANGUAGE");
+       MoveToStart(AH, "FUNC PROCEDURAL LANGUAGE");
+       MoveToStart(AH, "SCHEMA");
+       MoveToStart(AH, "<Init>");
+       /* Database entries *must* be at front (see also pg_restore.c) */
+       MoveToStart(AH, "DATABASE");
+
+       MoveToEnd(AH, "TABLE DATA");
+       MoveToEnd(AH, "BLOBS");
+       MoveToEnd(AH, "INDEX");
+       MoveToEnd(AH, "CONSTRAINT");
+       MoveToEnd(AH, "FK CONSTRAINT");
+       MoveToEnd(AH, "TRIGGER");
+       MoveToEnd(AH, "RULE");
+       MoveToEnd(AH, "SEQUENCE SET");
+
+       /*
+        * Moving all comments to end is annoying, but must do it for comments
+        * on stuff we just moved, and we don't seem to have quite enough
+        * dependency structure to get it really right...
+        */
+       MoveToEnd(AH, "COMMENT");
+}
+
 /*
  * Sort TOC by OID
  */
index 976081f55aebcb8677231d5f5886855cb705178d..ac20b9416e43650c6c1dbf6fff2c1f7813aa2896 100644 (file)
@@ -572,32 +572,9 @@ main(int argc, char **argv)
                dumpRules(g_fout, tblinfo, numTables);
        }
 
-       /* Now sort the output nicely */
+       /* Now sort the output nicely: by OID within object types */
        SortTocByOID(g_fout);
-
-       /*
-        * Procedural languages have to be declared just after database and
-        * schema creation, before they are used.
-        */
-       MoveToStart(g_fout, "ACL LANGUAGE");
-       MoveToStart(g_fout, "PROCEDURAL LANGUAGE");
-       MoveToStart(g_fout, "FUNC PROCEDURAL LANGUAGE");
-       MoveToStart(g_fout, "SCHEMA");
-       MoveToStart(g_fout, "DATABASE");
-       MoveToEnd(g_fout, "TABLE DATA");
-       MoveToEnd(g_fout, "BLOBS");
-       MoveToEnd(g_fout, "INDEX");
-       MoveToEnd(g_fout, "CONSTRAINT");
-       MoveToEnd(g_fout, "TRIGGER");
-       MoveToEnd(g_fout, "RULE");
-       MoveToEnd(g_fout, "SEQUENCE SET");
-
-       /*
-        * Moving all comments to end is annoying, but must do it for comments
-        * on stuff we just moved, and we don't seem to have quite enough
-        * dependency structure to get it really right...
-        */
-       MoveToEnd(g_fout, "COMMENT");
+       SortTocByObjectType(g_fout);
 
        if (plainText)
        {
@@ -6039,6 +6016,8 @@ dumpOneSequence(Archive *fout, TableInfo *tbinfo,
  *
  * Dump out constraints after all table creation statements in
  * an alter table format.  Currently handles foreign keys only.
+ * (Unique and primary key constraints are handled with indexes,
+ * while check constraints are merged into the table definition.)
  *
  * XXX Potentially wrap in a 'SET CONSTRAINTS OFF' block so that
  * the current table data is not processed
@@ -6130,7 +6109,7 @@ dumpConstraints(Archive *fout, TableInfo *tblinfo, int numTables)
                                                 conName,
                                                 tbinfo->relnamespace->nspname,
                                                 tbinfo->usename,
-                                                "CONSTRAINT", NULL,
+                                                "FK CONSTRAINT", NULL,
                                                 query->data, delqry->data,
                                                 NULL, NULL, NULL);
 
index c5424410b5e3cd8765679a706adca38bafdcc947..5b582079fcbe645623c95665cd585ccda3ee4ff2 100644 (file)
@@ -335,19 +335,13 @@ main(int argc, char **argv)
                SortTocByID(AH);
 
        if (opts->rearrange)
+               SortTocByObjectType(AH);
+       else
        {
-               MoveToStart(AH, "<Init>");
-               MoveToEnd(AH, "TABLE DATA");
-               MoveToEnd(AH, "BLOBS");
-               MoveToEnd(AH, "INDEX");
-               MoveToEnd(AH, "TRIGGER");
-               MoveToEnd(AH, "RULE");
-               MoveToEnd(AH, "SEQUENCE SET");
+               /* Database MUST be at start (see also SortTocByObjectType) */
+               MoveToStart(AH, "DATABASE");
        }
 
-       /* Database MUST be at start */
-       MoveToStart(AH, "DATABASE");
-
        if (opts->tocSummary)
                PrintTOCSummary(AH, opts);
        else
index 2e2d6b0b1eb1bdd48b91d4721de5cdba4aebe87a..c83651f05c88da3a04836d9a8e9d8ad5d7b6b8f8 100644 (file)
@@ -24,49 +24,69 @@ int
 main(int argc, char *argv[])
 {
        int                     c;
-       int                     nameflag = 0,
-                               realflag = 0,
-                               userflag = 0;
+       int                     name_only_flag = 0,
+                               use_real_uid_flag = 0,
+                               limit_user_info = 0;
        const char *username = NULL;
-
+       extern int      optind;
+#ifndef WIN32
        struct passwd *pw;
+#else
+       struct passwd_win32
+       {
+               int pw_uid;
+               char pw_name[128];
+       } pass_win32;
+       struct passwd_win32 *pw = &pass_win32;
 
-       extern int      optind;
+       pw->pw_uid = 1;
+#endif
 
        while ((c = getopt(argc, argv, "nru")) != -1)
        {
                switch (c)
                {
                        case 'n':
-                               nameflag = 1;
+                               name_only_flag = 1;
                                break;
                        case 'r':
-                               realflag = 1;
+                               use_real_uid_flag = 1;
                                break;
                        case 'u':
-                               userflag = 1;
+                               limit_user_info = 1;
                                break;
                        default:
+#ifndef WIN32
                                fprintf(stderr, "Usage: %s [-n] [-r] [-u] [username]\n", argv[0]);
+#else
+                               fprintf(stderr, "Usage: %s [-n] [-r] [-u]\n", argv[0]);
+#endif
                                exit(1);
                }
        }
 
        if (argc - optind >= 1)
+#ifndef WIN32
                username = argv[optind];
+#else
+       {
+               fprintf(stderr, "%s: specifying a username is not supported on this platform\n", argv[0]);
+               exit(1);
+       }       
+#endif
 
-       if (nameflag && !userflag)
+       if (name_only_flag && !limit_user_info)
        {
                fprintf(stderr, "%s: -n must be used together with -u\n", argv[0]);
                exit(1);
        }
-       if (username && realflag)
+       if (username && use_real_uid_flag)
        {
                fprintf(stderr, "%s: -r cannot be used when a user name is given\n", argv[0]);
                exit(1);
        }
 
-
+#ifndef WIN32
        if (username)
        {
                pw = getpwnam(username);
@@ -76,7 +96,7 @@ main(int argc, char *argv[])
                        exit(1);
                }
        }
-       else if (realflag)
+       else if (use_real_uid_flag)
                pw = getpwuid(getuid());
        else
                pw = getpwuid(geteuid());
@@ -86,10 +106,19 @@ main(int argc, char *argv[])
                perror(argv[0]);
                exit(1);
        }
+#else
+       if (!use_real_uid_flag)
+       {
+               fprintf(stderr, "%s: -r must be used on this platform\n", argv[0]);
+               exit(1);
+       }
+
+       GetUserName(pw->pw_name, sizeof(pw->pw_name)-1);
+#endif
 
-       if (!userflag)
+       if (!limit_user_info)
                printf("uid=%d(%s)\n", (int) pw->pw_uid, pw->pw_name);
-       else if (nameflag)
+       else if (name_only_flag)
                puts(pw->pw_name);
        else
 #ifdef __BEOS__
index bb8e925a8ef00c2d9c2126f9187ba82c12211904..9131256d83a4aff44b8ca4934852194638a5d7dc 100644 (file)
@@ -41,7 +41,6 @@
 #include "catalog/catversion.h"
 #include "catalog/pg_control.h"
 
-
 /******************** stuff copied from xlog.c ********************/
 
 /* Increment an xlogid/segment pair */
@@ -81,6 +80,8 @@ static void KillExistingXLOG(void);
 static void WriteEmptyXLOG(void);
 static void usage(void);
 
+extern char *optarg;
+
 
 
 int
index f449f9656b11db2e67afb8509257832bb9cb2823..1170005f5c76254897717591dc1e88284fb56ae9 100644 (file)
@@ -4,7 +4,7 @@
 # $Header$
 #
 # ChangeLog:
-#   - July 24-26, 2003: Update for 7.4.*; <[email protected]>
+#   - July 24 - August 23, 2003: Update for 7.4.*; <[email protected]>
 #   - October 12, 2002: Complete post-7.3beta2 Translation, Serguei A. Mokhov <[email protected]>
 #   - September 7, 2002: Complete post-7.3beta1 Translation, Serguei A. Mokhov <[email protected]>
 #   - August 31, 2002: Initial Translation, Serguei A. Mokhov <[email protected]>
@@ -12,8 +12,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 7.4.x\n"
-"POT-Creation-Date: 2003-07-23 04:18-0300\n"
-"PO-Revision-Date: 2003-08-01 14:15-0500\n"
+"POT-Creation-Date: 2003-08-23 04:18-0300\n"
+"PO-Revision-Date: 2003-08-23 13:34-0500\n"
 "Last-Translator: Serguei A. Mokhov <[email protected]>\n"
 "Language-Team: pgsql-rus <[email protected]>\n"
 "MIME-Version: 1.0\n"
@@ -105,7 +105,7 @@ msgid ""
 "  touch %s\n"
 "and try again.\n"
 msgstr ""
-"åÓÌÉ ×Ù Õ×ÅÒÅÎÙ ÞÔÏ ÐÕÔØ Ë ÄÉÒÅËÔÏÒÉÉ ÄÁÎÎÙÈ ÐÒÁ×ÅÌØÎÙÊ, ÎÁÂÅÒÉÔÅ\n"
+"åÓÌÉ ×Ù Õ×ÅÒÅÎÙ ÞÔÏ ÐÕÔØ Ë ÄÉÒÅËÔÏÒÉÉ ÄÁÎÎÙÈ ÐÒÁ×ÉÌØÎÙÊ, ÎÁÂÅÒÉÔÅ\n"
 "  touch %s\n"
 "É ÐÏÐÒÏÂÕÊÔÅ ÓÎÏ×Á.\n"
 
@@ -122,7 +122,7 @@ msgstr "%s: pg_control 
 #: pg_resetxlog.c:356
 #, c-format
 msgid "%s: pg_control exists but is broken or unknown version; ignoring it\n"
-msgstr "%s: pg_control ÓÕÝÅÓÔ×ÕÅÔ ÎÏ ÐÏ×ÒÅÖģΠÉÌÉ ÎÅÉÚ×ÅÓÔÎÏÊ ×ÅÒÓÉÉ; ÉÇÎÏÒÉÒÕÅÔÓÑ...\n"
+msgstr "%s: pg_control ÓÕÝÅÓÔ×ÕÅÔ, ÎÏ ÐÏ×ÒÅÖģΠÉÌÉ ÎÅÉÚ×ÅÓÔÎÏÊ ×ÅÒÓÉÉ; ÉÇÎÏÒÉÒÕÅÔÓÑ...\n"
 
 #: pg_resetxlog.c:407
 #, c-format
index 60c084252fe0842f452e538683437a498a94f65e..861d320283279cf338505a52bd0ed604f2e9fe6d 100644 (file)
@@ -724,3 +724,26 @@ is_superuser(void)
 
        return false;
 }
+
+
+/*
+ * Return the session user of the current connection.
+ *
+ * Note: this will correctly detect the session user only with a
+ * protocol-3.0 or newer backend; otherwise it will return the
+ * connection user.
+ */
+const char *
+session_username(void)
+{
+       const char *val;
+
+       if (!pset.db)
+               return NULL;
+
+       val = PQparameterStatus(pset.db, "session_authorization");
+       if (val)
+               return val;
+       else
+               return PQuser(pset.db);
+}
index 3d5278b662a94bcd36087dd2d1973ba22e98e582..fdcc5aaa423c5d5086e54594b3b9f182e97d3cc3 100644 (file)
@@ -37,6 +37,7 @@ extern PGresult *PSQLexec(const char *query, bool start_xact);
 extern bool SendQuery(const char *query);
 
 extern bool is_superuser(void);
+extern const char *session_username(void);
 
 /* Parse a numeric character code from the string pointed at by *buf, e.g.
  * one written as 0x0c (hexadecimal) or 015 (octal); advance *buf to the last
index 4df5cd9406501e8c7ed5ecfa90e1ecd324447326..2cc601c39626183965f69c2531016c3ff2b8a1f2 100644 (file)
@@ -765,7 +765,7 @@ describeOneTableDetails(const char *schemaname,
        {
                /* Name */
 #ifdef WIN32
-               cells[i * cols + 0] = mbvalidate(PQgetvalue(res, i, 0));
+               cells[i * cols + 0] = mbvalidate(PQgetvalue(res, i, 0), myopt.encoding);
 #else
                cells[i * cols + 0] = PQgetvalue(res, i, 0);    /* don't free this
                                                                                                                 * afterwards */
@@ -773,7 +773,7 @@ describeOneTableDetails(const char *schemaname,
 
                /* Type */
 #ifdef WIN32
-               cells[i * cols + 1] = mbvalidate(PQgetvalue(res, i, 1));
+               cells[i * cols + 1] = mbvalidate(PQgetvalue(res, i, 1), myopt.encoding);
 #else
                cells[i * cols + 1] = PQgetvalue(res, i, 1);    /* don't free this
                                                                                                                 * either */
@@ -797,7 +797,7 @@ describeOneTableDetails(const char *schemaname,
                        }
 
 #ifdef WIN32
-                       cells[i * cols + 2] = xstrdup(mbvalidate(tmpbuf.data));
+                       cells[i * cols + 2] = xstrdup(mbvalidate(tmpbuf.data, myopt.encoding));
 #else
                        cells[i * cols + 2] = xstrdup(tmpbuf.data);
 #endif
@@ -806,7 +806,7 @@ describeOneTableDetails(const char *schemaname,
                /* Description */
                if (verbose)
 #ifdef WIN32
-                       cells[i * cols + cols - 1] = mbvalidate(PQgetvalue(res, i, 5));
+                       cells[i * cols + cols - 1] = mbvalidate(PQgetvalue(res, i, 5), myopt.encoding);
 #else
                        cells[i * cols + cols - 1] = PQgetvalue(res, i, 5);
 #endif
index a3f5648bd3ac50d84ec7d36dad87c8d83f1cd1e9..95b78808ac31f01782ec033f4cbe152cc6081449 100644 (file)
@@ -45,16 +45,6 @@ static void finishInput(int, void *);
 #define PSQLHISTORY ".psql_history"
 
 
-#ifdef WIN32
-
- /*
-  * translate DOS console character set into ANSI, needed e.g. for German
-  * umlauts
-  */
-if (GetVariableBool(pset.vars, "WIN32_CONSOLE"))
-       OemToChar(s, s);
-#endif
-
 #ifdef USE_READLINE
 static enum histcontrol
 GetHistControlConfig(void)
@@ -109,6 +99,15 @@ gets_interactive(const char *prompt)
        else
                s = gets_basic(prompt);
 
+#ifdef WIN32
+        /*
+         * translate DOS console character set into ANSI, needed e.g. for German
+         * umlauts
+         */
+       if (GetVariableBool(pset.vars, "WIN32_CONSOLE"))
+               OemToChar(s, s);
+#endif
+
        if (useHistory && s && s[0])
        {
                enum histcontrol HC;
@@ -187,7 +186,8 @@ initializeInput(int flags)
                initialize_readline();
 
                useHistory = true;
-               SetVariable(pset.vars, "HISTSIZE", "500");
+               if (GetVariable(pset.vars, "HISTSIZE") == NULL)
+                       SetVariable(pset.vars, "HISTSIZE", "500");
                using_history();
                home = getenv("HOME");
                if (home)
index 749c85a1fda38427fe223da17b829519832f5520..cff3c0bb36d3e32fc985de4036c99c7db4c0318f 100644 (file)
@@ -7,6 +7,9 @@
  */
 
 #include "postgres_fe.h"
+#ifndef PGSCRIPTS
+#include "settings.h"
+#endif
 #include "mbprint.h"
 
 #include "mb/pg_wchar.h"
@@ -334,8 +337,7 @@ mbvalidate(unsigned char *pwcs, int encoding)
                return mb_utf_validate(pwcs);
        else
        {
-#ifdef WIN32
-
+#if defined(WIN32) && !defined(PGSCRIPTS)
                /*
                 * translate characters to DOS console encoding, e.g. needed for
                 * German umlauts
index 242043c6eadb974a9ed44f229f1cebfa29327b22..5b352df90d8ac6a6b17b2692690ec0f5e650bb35 100644 (file)
@@ -1,6 +1,6 @@
 # $Header$
 CATALOG_NAME   := psql
-AVAIL_LANGUAGES        := cs de fr hu ru sv zh_CN zh_TW
+AVAIL_LANGUAGES        := cs de es fr hu ru sv zh_CN zh_TW
 GETTEXT_FILES  := command.c common.c copy.c help.c input.c large_obj.c \
                    mainloop.c print.c startup.c describe.c
 GETTEXT_TRIGGERS:= _ psql_error simple_prompt
index 85631aa8f26c945d2db458a9551c395b7e1c3768..4f437745c86dd68f6c6a9e63ba42a0c4681b9108 100644 (file)
@@ -393,7 +393,7 @@ msgstr "  -X              lese die Startdatei nicht (~/.psqlrc)"
 
 #: help.c:99
 msgid "  --help          show this help, then exit"
-msgstr "  -l              zeige verfügbare Datenbanken und beende"
+msgstr "  --help          diese Hilfe anzeigen, dann beenden"
 
 #: help.c:100
 msgid "  --version       output version information, then exit"
index 86c47b599507e0fea929f42416218b5a68778f27..0ae77efda0f98555e631eb17e6425a01d6819a08 100644 (file)
@@ -9,10 +9,10 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 7.4\n"
-"POT-Creation-Date: 2003-07-31 04:20-0300\n"
-"PO-Revision-Date: 2003-08-02 15:57+0000\n"
+"POT-Creation-Date: 2003-08-15 04:18-0300\n"
+"PO-Revision-Date: 2003-08-15 15:28+0000\n"
 "Last-Translator: Guillaume Lelarge <[email protected]>\n"
-"Language-Team: fr <[email protected]>\n"
+"Language-Team: French <[email protected]>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -25,12 +25,12 @@ msgstr "Attention: cette syntaxe est obsol
 #: command.c:161
 #, c-format
 msgid "Invalid command \\%s. Try \\? for help.\n"
-msgstr "Commande invalide \\%s. Faites \\? pour l'aide-mémoire.\n"
+msgstr "Commande non valable \\%s. Tapez \\? pour l'aide-mémoire.\n"
 
 #: command.c:163
 #, c-format
 msgid "invalid command \\%s\n"
-msgstr "commande invalide \\%s\n"
+msgstr "commande non valable \\%s\n"
 
 #: command.c:290
 #, c-format
@@ -40,7 +40,7 @@ msgstr "n'a pas pu obtenir le r
 #: command.c:306
 #, c-format
 msgid "\\%s: could not change directory to \"%s\": %s\n"
-msgstr "\\%s: n'a pas pu changer le répertoire courant par «%s»: %s\n"
+msgstr "\\%s: n'a pas pu changer le répertoire courant en «%s»: %s\n"
 
 #: command.c:411 command.c:780
 msgid "no query buffer\n"
@@ -49,7 +49,7 @@ msgstr "aucun tampon de requ
 #: command.c:476
 #, c-format
 msgid "%s: invalid encoding name or conversion procedure not found\n"
-msgstr "%s: nom d'encodage invalide ou procédure de conversion non trouvée\n"
+msgstr "%s: nom d'encodage non valable ou procédure de conversion non trouvée\n"
 
 #: command.c:538 command.c:569 command.c:580 command.c:594 command.c:636
 #: command.c:760 command.c:789
@@ -70,8 +70,8 @@ msgstr "Le tampon de requ
 msgid "Wrote history to file \"%s\".\n"
 msgstr "Historique sauvegardé dans «%s».\n"
 
-#: command.c:700 command.c:1160 command.c:1257 command.c:1975 common.c:81
-#: copy.c:88 copy.c:116 describe.c:51 mainloop.c:78 mainloop.c:340
+#: command.c:700 command.c:1160 command.c:1257 command.c:1975 common.c:80
+#: copy.c:88 copy.c:116 describe.c:51 mainloop.c:78 mainloop.c:341
 msgid "out of memory\n"
 msgstr "mémoire épuisée\n"
 
@@ -90,7 +90,7 @@ msgstr "Chronom
 
 #: command.c:804 command.c:824 command.c:1022 command.c:1035 command.c:1046
 #: command.c:1617 command.c:1630 command.c:1642 command.c:1655 command.c:1669
-#: command.c:1691 command.c:1721 common.c:130 copy.c:379
+#: command.c:1691 command.c:1721 common.c:129 copy.c:378
 #, c-format
 msgid "%s: %s\n"
 msgstr "%s: %s\n"
@@ -102,20 +102,20 @@ msgstr "\\%s: argument suppl
 
 #: command.c:983 command.c:1011 command.c:1133
 msgid "parse error at the end of line\n"
-msgstr "erreur d'analyse syntaxique à la fin de la ligne\n"
+msgstr "erreur de syntaxe à la fin de la ligne\n"
 
-#: command.c:1362 command.c:1386 startup.c:176 startup.c:194
+#: command.c:1362 command.c:1386 startup.c:173 startup.c:191
 msgid "Password: "
 msgstr "Mot de passe: "
 
-#: command.c:1400 common.c:176 common.c:346 common.c:396 common.c:612
+#: command.c:1400 common.c:175 common.c:345 common.c:396 common.c:611
 #, c-format
 msgid "%s"
 msgstr "%s"
 
 #: command.c:1404
 msgid "Previous connection kept\n"
-msgstr "La connexion précédente était gardée.\n"
+msgstr "Connexion précédente conservée.\n"
 
 #: command.c:1416
 #, c-format
@@ -130,7 +130,7 @@ msgstr "Vous 
 #: command.c:1430
 #, c-format
 msgid "You are now connected as new user \"%s\".\n"
-msgstr "Vous êtes maintenant connecté en tant que «%s».\n"
+msgstr "Vous êtes maintenant connecté en tant qu'utilisateur «%s».\n"
 
 #: command.c:1433
 #, c-format
@@ -163,15 +163,15 @@ msgstr "Le format de sortie est %s.\n"
 #: command.c:1809
 #, c-format
 msgid "Border style is %d.\n"
-msgstr "Le modèle de cadre est %d.\n"
+msgstr "Le style de bordure est %d.\n"
 
 #: command.c:1818
 msgid "Expanded display is on.\n"
-msgstr "Affichage étendue activé.\n"
+msgstr "Affichage étendu activé.\n"
 
 #: command.c:1819
 msgid "Expanded display is off.\n"
-msgstr "Affichage étendue désactivé.\n"
+msgstr "Affichage étendu désactivé.\n"
 
 #: command.c:1831
 #, c-format
@@ -207,7 +207,7 @@ msgstr "Le titre est 
 
 #: command.c:1890
 msgid "Title is unset.\n"
-msgstr "Le titre n'est pas fixé.\n"
+msgstr "Le titre n'est pas défini.\n"
 
 #: command.c:1906
 #, c-format
@@ -216,7 +216,7 @@ msgstr "L'attribut de la table est 
 
 #: command.c:1908
 msgid "Table attributes unset.\n"
-msgstr "Les attributs de la table ne sont pas configurés.\n"
+msgstr "Les attributs de la table ne sont pas définis.\n"
 
 #: command.c:1924
 msgid "Pager is used for long output."
@@ -236,7 +236,7 @@ msgstr "Bas de page activ
 
 #: command.c:1941
 msgid "Default footer is off."
-msgstr "Bas de page désactiv\"."
+msgstr "Bas de page désactivé."
 
 #: command.c:1947
 #, c-format
@@ -247,50 +247,50 @@ msgstr "\\pset: option inconnue: %s\n"
 msgid "\\!: failed\n"
 msgstr "\\!: échec\n"
 
-#: common.c:74
+#: common.c:73
 #, c-format
 msgid "%s: xstrdup: cannot duplicate null pointer (internal error)\n"
 msgstr "%s: xstrdup: ne peut pas dupliquer le pointeur null (erreur interne)\n"
 
-#: common.c:258
+#: common.c:257
 msgid "connection to server was lost\n"
-msgstr "La connexion au serveur est perdue\n"
+msgstr "La connexion au serveur a été perdue\n"
 
-#: common.c:262
+#: common.c:261
 msgid "The connection to the server was lost. Attempting reset: "
-msgstr "La connexion au serveur est perdue. Tentative de réinitialisation: "
+msgstr "La connexion au serveur a été perdue. Tentative de réinitialisation: "
 
-#: common.c:267
+#: common.c:266
 msgid "Failed.\n"
 msgstr "Echec.\n"
 
-#: common.c:274
+#: common.c:273
 msgid "Succeeded.\n"
 msgstr "Succès.\n"
 
-#: common.c:372 common.c:580
+#: common.c:372 common.c:579
 msgid "You are currently not connected to a database.\n"
 msgstr "Vous n'êtes pas connecté à une base de données.\n"
 
 #: common.c:428
 #, c-format
 msgid "Asynchronous notification \"%s\" received from server process with PID %d.\n"
-msgstr "Notification asynchrone «%s» reçu, provenant du processus serveur de PID %d.\n"
+msgstr "Notification asynchrone «%s» reçue, provenant du processus serveur de PID %d.\n"
 
-#: common.c:535
+#: common.c:531
 msgid ""
 "Enter data to be copied followed by a newline.\n"
 "End with a backslash and a period on a line by itself."
 msgstr ""
-"Entrez les données à copier suivi d'un saut de ligne.\n"
-"Terminez avec un antislash et suivi d'un point seul sur une ligne."
+"Entrez les données à copier suivies d'un saut de ligne.\n"
+"Terminez avec un antislash et un point seuls sur une ligne."
 
-#: common.c:552
+#: common.c:550
 #, c-format
 msgid "Time: %.2f ms\n"
 msgstr "Temps: %.2f ms\n"
 
-#: common.c:588
+#: common.c:587
 #, c-format
 msgid ""
 "***(Single step mode: verify command)"
@@ -299,36 +299,35 @@ msgid ""
 "***(press return to proceed or enter x and return to cancel)"
 "********************\n"
 msgstr ""
-"***(Mode étape par étape: vérifier la commande)"
-"*******************************************\n"
+"***(Mode étape par étape: vérifier la commande)*******************************************\n"
 "%s\n"
-"***(appuyez sur return pour continuer ou tapez x puis appuyez sur return pour annuler)"
-"********************\n"
+"***(appuyez sur return pour continuer ou tapez x puis appuyez sur return "
+"pour annuler)********************\n"
 
 #: copy.c:110
 msgid "\\copy: arguments required\n"
 msgstr "\\copy: arguments requis\n"
 
-#: copy.c:290
+#: copy.c:289
 #, c-format
 msgid "\\copy: parse error at \"%s\"\n"
-msgstr "\\copy: erreur d'analyse syntaxique sur «%s»\n"
+msgstr "\\copy: erreur de syntaxe sur «%s»\n"
 
-#: copy.c:292
+#: copy.c:291
 msgid "\\copy: parse error at end of line\n"
-msgstr "\\copy: erreur d'analyse syntaxique à la fin de la ligne\n"
+msgstr "\\copy: erreur de syntaxe à la fin de la ligne\n"
 
-#: copy.c:390
+#: copy.c:389
 #, c-format
 msgid "%s: cannot copy from/to a directory\n"
-msgstr "%s: ne peut copier à partir de/vers un répertoire\n"
+msgstr "%s: ne peut pas copier à partir de/vers un répertoire\n"
 
-#: copy.c:411
+#: copy.c:410
 #, c-format
 msgid "\\copy: %s"
 msgstr "\\copy: %s"
 
-#: copy.c:415
+#: copy.c:414
 #, c-format
 msgid "\\copy: unexpected response (%d)\n"
 msgstr "\\copy: réponse inattendue (%d)\n"
@@ -372,15 +371,15 @@ msgstr "  -d NOM_BASE        sp
 
 #: help.c:94
 msgid "  -c COMMAND      run only single command (SQL or internal) and exit"
-msgstr "  -c COMMANDE     Exécute qu'une commande seule (SQL ou interne) puis quitte"
+msgstr "  -c COMMANDE     Exécute une seule commande (SQL ou interne), puis quitte"
 
 #: help.c:95
 msgid "  -f FILENAME     execute commands from file, then exit"
-msgstr "  -f FICHIER      Exécute les commandes du fichier puis quitte"
+msgstr "  -f FICHIER      Exécute les commandes du fichier, puis quitte"
 
 #: help.c:96
 msgid "  -l              list available databases, then exit"
-msgstr "  -l              Affiche les bases de données disponibles puis quitte"
+msgstr "  -l              Affiche les bases de données disponibles, puis quitte"
 
 #: help.c:97
 msgid "  -v NAME=VALUE   set psql variable NAME to VALUE"
@@ -396,7 +395,7 @@ msgstr "  --help          affiche cette aide, puis quitte"
 
 #: help.c:100
 msgid "  --version       output version information, then exit"
-msgstr "  -V              affiche la version du programme et quitte"
+msgstr "  -V              affiche la version du programme, puis quitte"
 
 #: help.c:102
 msgid ""
@@ -404,11 +403,11 @@ msgid ""
 "Input and output options:"
 msgstr ""
 "\n"
-"Options d'entrées et de sorties:"
+"Options d'entrée et de sortie:"
 
 #: help.c:103
 msgid "  -a              echo all input from script"
-msgstr "  -e              affiche les commandes envoyées au serveur"
+msgstr "  -a              affiche les lignes du script"
 
 #: help.c:104
 msgid "  -e              echo commands sent to server"
@@ -420,11 +419,11 @@ msgstr "  -E              affiche les requ
 
 #: help.c:106
 msgid "  -q              run quietly (no messages, only query output)"
-msgstr "  -q              s'exécute silencieusement (pas messages, seulement le résultat des requêtes)"
+msgstr "  -q              s'exécute silencieusement (pas de messages, seulement le résultat des requêtes)"
 
 #: help.c:107
 msgid "  -o FILENAME     send query results to file (or |pipe)"
-msgstr "  -o FICHIER      écris les résultats des requêtes dans un fichier (ou |tube)"
+msgstr "  -o FICHIER      écrit les résultats des requêtes dans un fichier (ou |tube)"
 
 #: help.c:108
 msgid "  -n              disable enhanced command line editing (readline)"
@@ -463,16 +462,18 @@ msgid ""
 "  -T TEXT         set HTML table tag attributes (width, border) (-P "
 "tableattr=)"
 msgstr ""
-"  -T TEXT         initialise les attributs des balises HTML de table (largeur, bordure) (-P "
-"tableattr=)"
+"  -T TEXT         initialise les attributs des balises HTML de table "
+"(largeur, bordure) (-P tableattr=)"
 
 #: help.c:117
 msgid "  -x              turn on expanded table output (-P expanded)"
-msgstr "  -x              active l'affichage étenduedes tables (-P expanded)"
+msgstr "  -x              active l'affichage étendu des tables (-P expanded)"
 
 #: help.c:118
 msgid "  -P VAR[=ARG]    set printing option VAR to ARG (see \\pset command)"
-msgstr "  -P VAR[=ARG]    initialise l'option d'impression VAR avec ARG (voir la commande \\pset)"
+msgstr ""
+"  -P VAR[=ARG]    initialise l'option d'impression VAR avec ARG (voir la "
+"commande \\pset)"
 
 #: help.c:119
 #, c-format
@@ -530,11 +531,11 @@ msgid ""
 "Report bugs to <[email protected]>."
 msgstr ""
 "\n"
-"Pour en savoir davantage, faites «\\?» (pour des commandes internes) ou\n"
-"«\\help» (pour des commandes SQL) en dedans de psql, ou consultez la\n"
+"Pour en savoir davantage, tapez «\\?» (pour des commandes internes) ou\n"
+"«\\help» (pour des commandes SQL) une fois dans psql, ou consultez la\n"
 "section de psql dans la documentation de PostgreSQL.\n"
 "\n"
-"Rapporter toutes anomalies à <[email protected]>."
+"Rapporter les bogues à <[email protected]>."
 
 #: help.c:174
 msgid "General\n"
@@ -555,14 +556,16 @@ msgstr " \\cd [REPERT]   change de r
 
 #: help.c:179
 msgid "  \\copyright     show PostgreSQL usage and distribution terms\n"
-msgstr "  \\copyright     affiche les termes d'usage et de distribution de PostgreSQL\n"
+msgstr ""
+"  \\copyright     affiche les termes d'usage et de distribution de "
+"PostgreSQL\n"
 
 #: help.c:180
 msgid ""
 "  \\encoding [ENCODING]\n"
 "                 show or set client encoding\n"
 msgstr ""
-" \\encoding ENCODAGE\n"
+" \\encoding [ENCODAGE]\n"
 "                 affiche ou initialise l'encodage du client\n"
 
 #: help.c:182
@@ -579,14 +582,14 @@ msgid ""
 "                 set internal variable, or list all if no parameters\n"
 msgstr ""
 "  \\set [NOM [VALEUR]]\n"
-"                 initialise la variable interne ou les affiche tous si il n'y a aucun paramètres\n"
+"                 initialise la variable interne ou les affiche toutes s'il n'y a aucun paramètre\n"
 
 #: help.c:186
 #, c-format
 msgid "  \\timing        toggle timing of commands (currently %s)\n"
 msgstr ""
 "  \\timing        bascule l'activation du chronométrage des commandes\n"
-"                    commandes (actuellement %s)\n"
+"                    (actuellement %s)\n"
 
 #: help.c:188
 msgid "  \\unset NAME    unset (delete) internal variable\n"
@@ -678,7 +681,7 @@ msgstr "  \\dc [MODELE]  affiche la liste des conversions\n"
 
 #: help.c:215
 msgid "  \\dC            list casts\n"
-msgstr "  \\dC            affiche la liste des spécifications des conversions\n"
+msgstr "  \\dC           affiche la liste des conversions explicites\n"
 
 #: help.c:216
 msgid "  \\dd [PATTERN]  show comment for object\n"
@@ -698,11 +701,11 @@ msgstr "  \\dn [MODELE]  affiche la liste des sch
 
 #: help.c:220
 msgid "  \\do [NAME]     list operators\n"
-msgstr " \\do            affiche la liste des operateurs\n"
+msgstr " \\do [MODELE]   affiche la liste des operateurs\n"
 
 #: help.c:221
 msgid "  \\dl            list large objects, same as \\lo_list\n"
-msgstr "  \\dl            affiche la liste des objets larges, identique à \\lo_list\n"
+msgstr "  \\dl           affiche la liste des objets larges, identique à \\lo_list\n"
 
 #: help.c:222
 msgid "  \\dp [PATTERN]  list table access privileges\n"
@@ -730,7 +733,7 @@ msgstr ""
 
 #: help.c:229
 msgid "Formatting\n"
-msgstr "Formattage\n"
+msgstr "Formatage\n"
 
 #: help.c:230
 msgid "  \\a             toggle between unaligned and aligned output mode\n"
@@ -738,7 +741,7 @@ msgstr "  \\a             bascule entre les modes de sortie align
 
 #: help.c:231
 msgid "  \\C [STRING]    set table title, or unset if none\n"
-msgstr "  \\C [CHAINE]    initialise le titre d'une table, ou initialise à rien si sans arguments\n"
+msgstr "  \\C [CHAINE]    initialise le titre d'une table, ou initialise à rien si sans argument\n"
 
 #: help.c:232
 msgid "  \\f [STRING]    show or set field separator for unaligned query output\n"
@@ -770,16 +773,18 @@ msgstr "  \\t             affiche seulement les lignes (actuellement %s)\n"
 
 #: help.c:241
 msgid "  \\T [STRING]    set HTML <table> tag attributes, or unset if none\n"
-msgstr "  \\T [CHAINE]    initialise les attributs HTML de la balise <table>, ou l'annule si aucun argument\n"
+msgstr ""
+"  \\T [CHAINE]    initialise les attributs HTML de la balise <table>, ou "
+"l'annule si aucun argument\n"
 
 #: help.c:242
 #, c-format
 msgid "  \\x             toggle expanded output (currently %s)\n"
-msgstr "  \\x             bascule l'affichage étendue (actuellement %s)\n"
+msgstr "  \\x             bascule l'affichage étendu (actuellement %s)\n"
 
 #: help.c:246
 msgid "Copy, Large Object\n"
-msgstr "Copie, Objets larges\n"
+msgstr "Copie, gros objets\n"
 
 #: help.c:247
 msgid "  \\copy ...      perform SQL COPY with data stream to the client host\n"
@@ -795,7 +800,7 @@ msgstr ""
 "  \\lo_export\n"
 "  \\lo_import\n"
 "  \\lo_list\n"
-"  \\lo_unlink     opérations sur des objets larges\n"
+"  \\lo_unlink     opérations sur de gros objets\n"
 
 #: help.c:281
 msgid "Available help:\n"
@@ -823,9 +828,9 @@ msgid ""
 "Try \\h with no arguments to see available help.\n"
 msgstr ""
 "Aucun aide-mémoire disponible pour «%-.*s».\n"
-"Faites \\h sans arguments pour voir l'aide-mémoire disponible.\n"
+"Tapez \\h sans arguments pour voir l'aide-mémoire disponible.\n"
 
-#: input.c:221
+#: input.c:226
 #, c-format
 msgid "could not save history to file \"%s\": %s\n"
 msgstr "n'a pas pu écrire l'historique dans %s: %s\n"
@@ -846,42 +851,42 @@ msgid "%s: unknown transaction status\n"
 msgstr "%s: état de la transaction inconnu\n"
 
 #: describe.c:106 describe.c:157 describe.c:230 describe.c:292 describe.c:339
-#: describe.c:438 describe.c:718 describe.c:1338 large_obj.c:278
+#: describe.c:438 describe.c:718 describe.c:1343 large_obj.c:278
 msgid "Description"
 msgstr "Description"
 
 #: large_obj.c:286
 msgid "Large objects"
-msgstr "Objets larges"
+msgstr "Gros objets"
 
-#: mainloop.c:205
+#: mainloop.c:206
 #, c-format
 msgid "Use \"\\q\" to leave %s.\n"
-msgstr "Faites «\\q» pour quitter %s.\n"
+msgstr "Tapez «\\q» pour quitter %s.\n"
 
-#: print.c:417
+#: print.c:421
 msgid "(No rows)\n"
-msgstr "(Pas de ligne)\n"
+msgstr "(Aucune ligne)\n"
 
-#: print.c:1180
+#: print.c:1186
 msgid "(1 row)"
 msgstr "(1 ligne)"
 
-#: print.c:1182
+#: print.c:1188
 #, c-format
 msgid "(%d rows)"
 msgstr "(%d lignes)"
 
-#: startup.c:131 startup.c:570
+#: startup.c:128 startup.c:567
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: mémoire épuisée\n"
 
-#: startup.c:170
+#: startup.c:167
 msgid "User name: "
 msgstr "Nom d'utilisateur: "
 
-#: startup.c:266
+#: startup.c:263
 #, c-format
 msgid ""
 "Welcome to %s %s, the PostgreSQL interactive terminal.\n"
@@ -893,7 +898,7 @@ msgid ""
 "       \\q to quit\n"
 "\n"
 msgstr ""
-"Bienvenu à %s %s, l'interface interactif de PostgreSQL.\n"
+"Bienvenue dans %s %s, l'interface interactive de PostgreSQL.\n"
 "\n"
 "Tapez:  \\copyright pour les termes de distribution\n"
 "        \\h pour l'aide-mémoire sur les commandes SQL\n"
@@ -902,41 +907,41 @@ msgstr ""
 "        \\q pour quitter\n"
 "\n"
 
-#: startup.c:424
+#: startup.c:421
 #, c-format
 msgid "%s: couldn't set printing parameter \"%s\"\n"
-msgstr "%s: n'a pu initialiser le paramètre d'impression «%s»\n"
+msgstr "%s: n'a pas pu initialiser le paramètre d'impression «%s»\n"
 
-#: startup.c:470
+#: startup.c:467
 #, c-format
 msgid "%s: could not delete variable \"%s\"\n"
 msgstr "%s: n'a pas pu effacer la variable «%s»\n"
 
-#: startup.c:480
+#: startup.c:477
 #, c-format
 msgid "%s: could not set variable \"%s\"\n"
 msgstr "%s: n'a pas pu initialiser la variable «%s»\n"
 
-#: startup.c:511 startup.c:517
+#: startup.c:508 startup.c:514
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Faites «%s --help» pour plus d'informations.\n"
 
-#: startup.c:535
+#: startup.c:532
 #, c-format
 msgid "%s: warning: extra command-line argument \"%s\" ignored\n"
-msgstr "%s: attention: option supplémentaire «%s» ignorée\n"
+msgstr "%s: Attention: option supplémentaire «%s» ignorée\n"
 
-#: startup.c:542
+#: startup.c:539
 #, c-format
 msgid "%s: Warning: The -u option is deprecated. Use -U.\n"
 msgstr "%s: Attention: L'option -u est obsolète. Utilisez -U.\n"
 
-#: startup.c:599
+#: startup.c:596
 msgid "contains support for command-line editing"
-msgstr "contient support pour l'édition de la ligne de commande"
+msgstr "contient le support pour l'édition de la ligne de commande"
 
-#: startup.c:622
+#: startup.c:619
 #, c-format
 msgid ""
 "SSL connection (cipher: %s, bits: %i)\n"
@@ -946,13 +951,13 @@ msgstr ""
 "\n"
 
 #: describe.c:105 describe.c:147 describe.c:217 describe.c:290 describe.c:384
-#: describe.c:438 describe.c:1331 describe.c:1437 describe.c:1485
+#: describe.c:438 describe.c:1336 describe.c:1442 describe.c:1490
 msgid "Schema"
 msgstr "Schéma"
 
 #: describe.c:105 describe.c:147 describe.c:217 describe.c:290 describe.c:332
-#: describe.c:438 describe.c:1331 describe.c:1438 describe.c:1486
-#: describe.c:1581
+#: describe.c:438 describe.c:1336 describe.c:1443 describe.c:1491
+#: describe.c:1586
 msgid "Name"
 msgstr "Nom"
 
@@ -976,7 +981,7 @@ msgstr "Type de donn
 msgid "Argument data types"
 msgstr "Type de données des paramètres"
 
-#: describe.c:156 describe.c:332 describe.c:1333 describe.c:1582
+#: describe.c:156 describe.c:332 describe.c:1338 describe.c:1587
 msgid "Owner"
 msgstr "Propriétaire"
 
@@ -1018,7 +1023,7 @@ msgstr "Type de r
 
 #: describe.c:306
 msgid "List of operators"
-msgstr "Liste des operateurs"
+msgstr "Liste des opérateurs"
 
 #: describe.c:335
 msgid "Encoding"
@@ -1028,7 +1033,7 @@ msgstr "Encodage"
 msgid "List of databases"
 msgstr "Liste des bases de données"
 
-#: describe.c:384 describe.c:1348
+#: describe.c:384 describe.c:1353
 msgid "Table"
 msgstr "Table"
 
@@ -1055,35 +1060,35 @@ msgstr "fonction"
 
 #: describe.c:481
 msgid "operator"
-msgstr "operateur"
+msgstr "opérateur"
 
 #: describe.c:495
 msgid "data type"
 msgstr "type de données"
 
-#: describe.c:512 describe.c:1332
+#: describe.c:512 describe.c:1337
 msgid "table"
 msgstr "table"
 
-#: describe.c:512 describe.c:1332
+#: describe.c:512 describe.c:1337
 msgid "view"
 msgstr "vue"
 
-#: describe.c:512 describe.c:1332
+#: describe.c:512 describe.c:1337
 msgid "index"
 msgstr "index"
 
-#: describe.c:512 describe.c:1332
+#: describe.c:512 describe.c:1337
 msgid "sequence"
 msgstr "séquence"
 
 #: describe.c:528
 msgid "rule"
-msgstr "rule"
+msgstr "règle"
 
 #: describe.c:544
 msgid "trigger"
-msgstr "trigger"
+msgstr "déclencheur"
 
 #: describe.c:562
 msgid "Object descriptions"
@@ -1103,13 +1108,13 @@ msgstr "N'a trouv
 msgid "Column"
 msgstr "Colonne"
 
-#: describe.c:705 describe.c:1333 describe.c:1439
+#: describe.c:705 describe.c:1338 describe.c:1444
 msgid "Type"
 msgstr "Type"
 
 #: describe.c:712
 msgid "Modifiers"
-msgstr "Modifications"
+msgstr "Modificateurs"
 
 #: describe.c:819
 #, c-format
@@ -1166,226 +1171,168 @@ msgstr "pour la table 
 
 #: describe.c:929
 #, c-format
-msgid "View definition: %s"
-msgstr "Définition de la vue: %s"
+msgid ""
+"View definition:\n"
+"%s"
+msgstr ""
+"Définition de la vue\n"
+"%s"
 
 #: describe.c:935
 msgid "Rules"
 msgstr "Règles"
 
-#: describe.c:1083
+#: describe.c:1084
 msgid "Indexes:"
 msgstr "Index:"
 
-#: describe.c:1091
+#: describe.c:1092
 #, c-format
 msgid "    \"%s\""
 msgstr "    «%s»"
 
-#: describe.c:1097
+#: describe.c:1098
 msgid " primary key,"
 msgstr " clé primaire,"
 
-#: describe.c:1099
+#: describe.c:1100
 msgid " unique,"
 msgstr " unique,"
 
-#: describe.c:1116
+#: describe.c:1118
 msgid "Check constraints:"
 msgstr "Contraintes:"
 
-#: describe.c:1120
+#: describe.c:1122
 #, c-format
 msgid "    \"%s\" CHECK %s"
 msgstr "    «%s» CHECK %s"
 
-#: describe.c:1130
+#: describe.c:1133
 msgid "Foreign-key constraints:"
-msgstr "Contraintes de clés primaires:"
+msgstr "Contraintes de clés secondaires:"
 
-#: describe.c:1134
+#: describe.c:1137
 #, c-format
 msgid "    \"%s\" %s"
 msgstr "    «%s» %s"
 
-#: describe.c:1144
+#: describe.c:1148
 msgid "Rules:"
 msgstr "Règles:"
 
-#: describe.c:1162
+#: describe.c:1167
 msgid "Triggers:"
 msgstr "Déclencheurs:"
 
-#: describe.c:1184
+#: describe.c:1189
 msgid "Inherits"
-msgstr "Héritage"
+msgstr "Hérite de"
 
-#: describe.c:1270
+#: describe.c:1275
 msgid "User name"
 msgstr "Nom d'utilisateur"
 
-#: describe.c:1270
+#: describe.c:1275
 msgid "User ID"
 msgstr "Identifiant utilisateur"
 
-#: describe.c:1271
+#: describe.c:1276
 msgid "superuser, create database"
-msgstr "superuser, création des bases de données"
+msgstr "superutilisateur, création des bases de données"
 
-#: describe.c:1272
+#: describe.c:1277
 msgid "superuser"
-msgstr "superuser"
+msgstr "superutilisateur"
 
-#: describe.c:1272
+#: describe.c:1277
 msgid "create database"
 msgstr "création des bases de données"
 
-#: describe.c:1273
+#: describe.c:1278
 msgid "Attributes"
 msgstr "Attributs"
 
-#: describe.c:1286
+#: describe.c:1291
 msgid "List of database users"
 msgstr "Liste des utilisateurs de base de données"
 
-#: describe.c:1333
+#: describe.c:1338
 msgid "special"
 msgstr "spécial"
 
-#: describe.c:1394
+#: describe.c:1399
 msgid "No matching relations found.\n"
 msgstr "Pas de relations correspondantes trouvées.\n"
 
-#: describe.c:1396
+#: describe.c:1401
 msgid "No relations found.\n"
 msgstr "Pas de relations trouvées.\n"
 
-#: describe.c:1401
+#: describe.c:1406
 msgid "List of relations"
 msgstr "Liste des relations"
 
-#: describe.c:1440
+#: describe.c:1445
 msgid "Modifier"
 msgstr "Modifications"
 
-#: describe.c:1454
+#: describe.c:1459
 msgid "List of domains"
 msgstr "Liste des domaines"
 
-#: describe.c:1487
+#: describe.c:1492
 msgid "Source"
 msgstr "Code source"
 
-#: describe.c:1488
+#: describe.c:1493
 msgid "Destination"
 msgstr "Destination"
 
-#: describe.c:1489 describe.c:1546
+#: describe.c:1494 describe.c:1551
 msgid "yes"
 msgstr "oui"
 
-#: describe.c:1490 describe.c:1544
+#: describe.c:1495 describe.c:1549
 msgid "no"
 msgstr "non"
 
-#: describe.c:1491
+#: describe.c:1496
 msgid "Default?"
 msgstr "Défaut?"
 
-#: describe.c:1505
+#: describe.c:1510
 msgid "List of conversions"
 msgstr "Liste des conversions"
 
-#: describe.c:1540
+#: describe.c:1545
 msgid "Source type"
-msgstr "Code source"
+msgstr "Type de la source"
 
-#: describe.c:1541
+#: describe.c:1546
 msgid "Target type"
-msgstr "Type cibe"
+msgstr "Type de la cible"
 
-#: describe.c:1542
+#: describe.c:1547
 msgid "(binary compatible)"
 msgstr "(compatible au niveau binaire)"
 
-#: describe.c:1543
+#: describe.c:1548
 msgid "Function"
 msgstr "Fonction"
 
-#: describe.c:1545
+#: describe.c:1550
 msgid "in assignment"
 msgstr "assigné"
 
-#: describe.c:1547
+#: describe.c:1552
 msgid "Implicit?"
 msgstr "Implicite?"
 
-#: describe.c:1555
+#: describe.c:1560
 msgid "List of casts"
-msgstr "Liste des fonctions de conversion"
+msgstr "Liste des conversions explicites"
 
-#: describe.c:1596
+#: describe.c:1601
 msgid "List of schemas"
 msgstr "Liste des schémas"
-
-#~ msgid "\\%s: multibyte support is not enabled\n"
-#~ msgstr "\\%s: support pour caractères multi-octets n'est pas actif\n"
-
-#~ msgid "Asynchronous NOTIFY '%s' from backend with pid %d received.\n"
-#~ msgstr "NOTIFY asynchrone «%s» reçu depuis le backend avec le pid %d.\n"
-
-#~ msgid "  psql [options] [dbname [username]]\n"
-#~ msgstr "  psql [options] [base [utilisateur]]\n"
-
-#~ msgid "Options:"
-#~ msgstr "Options:"
-
-#~ msgid " \\d{t|i|s|v}... list tables/indexes/sequences/views\n"
-#~ msgstr " \\d{t|i|s|v}... affiche des tables/index/séquences/vues\n"
-
-#~ msgid ""
-#~ " \\d{p|S|l}      list access privileges, system tables, or large objects\n"
-#~ msgstr ""
-#~ " \\d{p|S|l}      affiche des privilèges d'accès, tables de système ou\n"
-#~ "                objets grands\n"
-
-#~ msgid ""
-#~ " \\dd NAME       show comment for table, type, function, or operator\n"
-#~ msgstr ""
-#~ " \\dd NOM        affiche les commentaires sur table, type, fonction ou\n"
-#~ "                operateur\n"
-
-#~ msgid " \\dT            list data types\n"
-#~ msgstr " \\dT            affiche des types de donnée\n"
-
-#~ msgid "Warning: Your transaction in progress has been committed."
-#~ msgstr "Attention: Votre transaction courante a été validée."
-
-#~ msgid "Warning: Your transaction in progress has been rolled back."
-#~ msgstr "Attention: Votre transaction courante a été annulée."
-
-#~ msgid "\\lo_import: not connected to a database\n"
-#~ msgstr "\\lo_import: pas connecté à une base de données\n"
-
-#~ msgid "\\lo_unlink: not connected to a database\n"
-#~ msgstr "\\lo_unlink: pas connecté à une base de données\n"
-
-#~ msgid ""
-#~ "%s was compiled without support for long options.\n"
-#~ "Use --help for help on invocation options.\n"
-#~ msgstr ""
-#~ "%s a été compilé sans des options de forme longue.\n"
-#~ "Utilisez --help pour un résumé des options disponible.\n"
-
-#~ msgid "readline"
-#~ msgstr "readline"
-
-#~ msgid "history"
-#~ msgstr "histoire"
-
-#~ msgid "multibyte"
-#~ msgstr "caractères multi-octets"
-
-#~ msgid "%s: \"%s\" %s"
-#~ msgstr "%s: «%s» %s"
-
index 6fcec8768ef0d37a7fe6902da29f56d1c11519e1..9b96fd1372e8fcb06104599688f4eb9446d260ac 100644 (file)
@@ -4,16 +4,16 @@
 # $Header$
 #
 # ChangeLog:
-#   - July 26-31, 2003: Update for 7.4.x; <[email protected]>
+#   - July 26 - August 23, 2003: Update for 7.4.x; <[email protected]>
 #   - October 12, 2002: Complete post-7.3beta2 Translation, Serguei A. Mokhov <[email protected]>
 #   - September 7, 2002: Complete post-7.3beta1 Translation, Serguei A. Mokhov <[email protected]>
-#   - August 2001 - August 2002: Maintenance, Serguei A. Mokhov <[email protected]>
+#   - August 2001 - August 2002: Transaltion and maintenance, Serguei A. Mokhov <[email protected]>
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 7.4.x\n"
-"POT-Creation-Date: 2003-07-26 04:19-0300\n"
-"PO-Revision-Date: 2003-07-31 22:22-0500\n"
+"POT-Creation-Date: 2003-08-23 04:18-0300\n"
+"PO-Revision-Date: 2003-08-23 14:00-0500\n"
 "Last-Translator: Serguei A. Mokhov <[email protected]>\n"
 "Language-Team: pgsql-rus <[email protected]>\n"
 "MIME-Version: 1.0\n"
@@ -82,12 +82,12 @@ msgstr "
 #: command.c:1160
 #: command.c:1257
 #: command.c:1975
-#: common.c:81
+#: common.c:80
 #: copy.c:88
 #: copy.c:116
 #: describe.c:51
 #: mainloop.c:78
-#: mainloop.c:340
+#: mainloop.c:341
 msgid "out of memory\n"
 msgstr "ÎÅÄÏÓÔÁÔÏÞÎÏ ÐÁÍÑÔÉ\n"
 
@@ -117,8 +117,8 @@ msgstr "C
 #: command.c:1669
 #: command.c:1691
 #: command.c:1721
-#: common.c:130
-#: copy.c:379
+#: common.c:129
+#: copy.c:378
 #, c-format
 msgid "%s: %s\n"
 msgstr "%s: %s\n"
@@ -136,16 +136,16 @@ msgstr "
 
 #: command.c:1362
 #: command.c:1386
-#: startup.c:176
-#: startup.c:194
+#: startup.c:173
+#: startup.c:191
 msgid "Password: "
 msgstr "ðÁÒÏÌØ: "
 
 #: command.c:1400
-#: common.c:176
-#: common.c:346
+#: common.c:175
+#: common.c:345
 #: common.c:396
-#: common.c:612
+#: common.c:611
 #, c-format
 msgid "%s"
 msgstr "%s"
@@ -284,29 +284,29 @@ msgstr "\\pset: 
 msgid "\\!: failed\n"
 msgstr "\\!: ÎÅÕÄÁÞÎÏ\n"
 
-#: common.c:74
+#: common.c:73
 #, c-format
 msgid "%s: xstrdup: cannot duplicate null pointer (internal error)\n"
 msgstr "%s: xstrdup: ÎÅ ×ÏÚÍÏÖÎÏ ÓÄÅÌÁÔØ ËÏÐÉÀ ÎÕÌÅ×ÏÇÏ ÕËÁÚÁÔÅÌÑ (×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ)\n"
 
-#: common.c:258
+#: common.c:257
 msgid "connection to server was lost\n"
 msgstr "ÐÏÄÓÏÅÄÉÎÅÎÉÅ Ë ÓÅÒ×ÅÒÕ ÂÙÌÏ ÐÏÔÅÒÑÎÏ\n"
 
-#: common.c:262
+#: common.c:261
 msgid "The connection to the server was lost. Attempting reset: "
 msgstr "ðÏÄÓÏÅÄÉÎÅÎÉÅ Ë ÓÅÒ×ÅÒÕ ÂÙÌÏ ÐÏÔÅÒÑÎÏ. ðÏÐÙÔËÁ ÐÅÒÅÕÓÔÁÎÏ×ÉÔØ: "
 
-#: common.c:267
+#: common.c:266
 msgid "Failed.\n"
 msgstr "âÅÚÕÓÐÅÛÎÏ.\n"
 
-#: common.c:274
+#: common.c:273
 msgid "Succeeded.\n"
 msgstr "õÓÐÅÛÎÏ.\n"
 
 #: common.c:372
-#: common.c:580
+#: common.c:579
 msgid "You are currently not connected to a database.\n"
 msgstr "÷ ÄÁÎÎÙÊ ÍÏÍÅÎÔ ×Ù ÎÅ ÐÏÄÓÏÅÄÉÎÅÎÙ Ë ÂÁÚÅ ÄÁÎÎÙÈ.\n"
 
@@ -315,7 +315,7 @@ msgstr "
 msgid "Asynchronous notification \"%s\" received from server process with PID %d.\n"
 msgstr "ðÏÌÕÞÅÎÏ ÁÓÉÎÈÒÏÎÎÏÅ ÏÐÏ×ÅÝÅÎÉÅ \"%s\" ÏÔ ÐÒÏÃÅÓÓÁ-ÓÅÒ×ÅÒÁ Ó PID %d.\n"
 
-#: common.c:535
+#: common.c:531
 msgid ""
 "Enter data to be copied followed by a newline.\n"
 "End with a backslash and a period on a line by itself."
@@ -323,12 +323,12 @@ msgstr ""
 "÷×ÅÄÉÔÅ ÄÁÎÎÙÅ ÄÌÑ ËÏÐÉÒÏ×ÁÎÉÑ Ó ÐÏÓÌÅÄÕÀÝÉÍ ÓÉÍ×ÏÌÏÍ ÎÏ×ÏÊ ÓÔÒÏËÉ (newline).\n"
 "úÁËÏÎÞÉÔÅ Ó ÏÂÒÁÔÎÙÍ ÓÌÅÛÅÍ É ÔÏÞËÏÊ ÎÁ ÓÁÍÏÊ ÌÉÎÉÉ."
 
-#: common.c:552
+#: common.c:550
 #, c-format
 msgid "Time: %.2f ms\n"
 msgstr "÷ÒÅÍÑ: %.2f ÔÓ\n"
 
-#: common.c:588
+#: common.c:587
 #, c-format
 msgid ""
 "***(Single step mode: verify command)*******************************************\n"
@@ -343,26 +343,26 @@ msgstr ""
 msgid "\\copy: arguments required\n"
 msgstr "\\copy: ÎÅÏÂÈÏÄÉÍÙ ÁÒÇÕÍÅÎÔÙ\n"
 
-#: copy.c:290
+#: copy.c:289
 #, c-format
 msgid "\\copy: parse error at \"%s\"\n"
 msgstr "\\copy: ÏÛÉÂËÁ ÐÒÉ ÁÎÁÌÉÚÅ ÓÉÎÔÁËÓÉÓÁ × \"%s\"\n"
 
-#: copy.c:292
+#: copy.c:291
 msgid "\\copy: parse error at end of line\n"
 msgstr "\\copy: ÏÛÉÂËÁ ÐÒÉ ÁÎÁÌÉÚÅ ÓÉÎÔÁËÓÉÓÁ × ËÏÎÃÅ ÓÔÒÏËÉ\n"
 
-#: copy.c:390
+#: copy.c:389
 #, c-format
 msgid "%s: cannot copy from/to a directory\n"
 msgstr "%s: ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ COPY TO/FROM ÄÌÑ ÄÉÒÅËÔÏÒÉÊ\n"
 
-#: copy.c:411
+#: copy.c:410
 #, c-format
 msgid "\\copy: %s"
 msgstr "\\copy: %s"
 
-#: copy.c:415
+#: copy.c:414
 #, c-format
 msgid "\\copy: unexpected response (%d)\n"
 msgstr "\\copy: ÎÅÏÖÉÄÁÅÍÙÊ ÏÔ×ÅÔ (%d)\n"
@@ -428,7 +428,7 @@ msgstr "  -X              
 
 #: help.c:99
 msgid "  --help          show this help, then exit"
-msgstr "  --help          ÐÏËÁÚÁÔØ ÜÔÕ ÐÏÚÓËÁÚËÕ É ×ÙÊÔÉ"
+msgstr "  --help          ÐÏËÁÚÁÔØ ÜÔÕ ÐÏÄÓËÁÚËÕ É ×ÙÊÔÉ"
 
 #: help.c:100
 msgid "  --version       output version information, then exit"
@@ -674,7 +674,7 @@ msgstr ""
 
 #: help.c:209
 msgid "Informational\n"
-msgstr "éÆÏÒÍÁÃÉÏÎÎÙÅ\n"
+msgstr "éÎÆÏÒÍÁÃÉÏÎÎÙÅ\n"
 
 #: help.c:210
 msgid "  \\d [NAME]      describe table, index, sequence, or view\n"
@@ -839,7 +839,7 @@ msgstr ""
 "îÅÔ ÓÐÒÁ×ËÉ ÐÏ \"%-.*s\".\n"
 "ðÏÐÒÏÂÕÊÔÅ \\h ÂÅÚ ÁÒÇÕÍÅÎÔÏ× ÄÌÑ ÐÒÏÓÍÏÔÒÁ ÉÍÅÀÝÅÊÓÑ ÐÏÍÏÝÉ.\n"
 
-#: input.c:221
+#: input.c:226
 #, c-format
 msgid "could not save history to file \"%s\": %s\n"
 msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÏÈÒÁÎÉÔØ ÉÓÔÏÒÉÀ × \"%s\": %s\n"
@@ -857,7 +857,7 @@ msgstr "%s: 
 #: large_obj.c:61
 #, c-format
 msgid "%s: unknown transaction status\n"
-msgstr "%s: ÎÅÉÚ×ÅÓÔÎÏÅ ÓÏÓÔÏÑÎÉÅ ÔÒÁÎÚÁÃÉÉ\n"
+msgstr "%s: ÎÅÉÚ×ÅÓÔÎÏÅ ÓÏÓÔÏÑÎÉÅ ÔÒÁÎÚÁËÃÉÉ\n"
 
 #: describe.c:106
 #: describe.c:157
@@ -866,7 +866,7 @@ msgstr "%s: 
 #: describe.c:339
 #: describe.c:438
 #: describe.c:718
-#: describe.c:1338
+#: describe.c:1343
 #: large_obj.c:278
 msgid "Description"
 msgstr "ïÐÉÓÁÎÉÅ"
@@ -875,35 +875,35 @@ msgstr "
 msgid "Large objects"
 msgstr "âÏÌØÛÉÅ ÏÂßÅËÔÙ"
 
-#: mainloop.c:205
+#: mainloop.c:206
 #, c-format
 msgid "Use \"\\q\" to leave %s.\n"
 msgstr "éÓÐÏÌØÚÕÊÔÅ \"\\q\" ÞÔÏÂÙ ×ÙÊÔÉ ÉÚ %s.\n"
 
-#: print.c:417
+#: print.c:421
 msgid "(No rows)\n"
 msgstr "(îÅÔ ÚÁÐÉÓÅÊ)\n"
 
-#: print.c:1180
+#: print.c:1186
 msgid "(1 row)"
 msgstr "(1 ÚÁÐÉÓØ)"
 
-#: print.c:1182
+#: print.c:1188
 #, c-format
 msgid "(%d rows)"
 msgstr "(ÚÁÐÉÓÅÊ: %d)"
 
-#: startup.c:131
-#: startup.c:570
+#: startup.c:128
+#: startup.c:567
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: ÎÅÄÏÓÔÁÔÏÞÎÏ ÐÁÍÑÔÉ\n"
 
-#: startup.c:170
+#: startup.c:167
 msgid "User name: "
 msgstr "éÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ: "
 
-#: startup.c:266
+#: startup.c:263
 #, c-format
 msgid ""
 "Welcome to %s %s, the PostgreSQL interactive terminal.\n"
@@ -924,42 +924,42 @@ msgstr ""
 "           \\q ÄÌÑ ×ÙÈÏÄÁ\n"
 "\n"
 
-#: startup.c:424
+#: startup.c:421
 #, c-format
 msgid "%s: couldn't set printing parameter \"%s\"\n"
 msgstr "%s: ÎÅ ÐÏÌÕÞÉÌÏÓØ ÕÓÔÁÎÏ×ÉÔØ ÐÁÒÁÍÅÔÒ ÐÅÞÁÔÉ \"%s\"\n"
 
-#: startup.c:470
+#: startup.c:467
 #, c-format
 msgid "%s: could not delete variable \"%s\"\n"
 msgstr "%s: ÎÅ ÐÏÌÕÞÉÌÏÓØ ÕÄÁÌÉÔØ ÐÅÒÅÍÅÎÎÕÀ \"%s\"\n"
 
-#: startup.c:480
+#: startup.c:477
 #, c-format
 msgid "%s: could not set variable \"%s\"\n"
 msgstr "%s: ÎÅ ÐÏÌÕÞÉÌÏÓØ ÕÓÔÁÎÏ×ÉÔØ ÐÅÒÅÍÅÎÎÕÀ \"%s\"\n"
 
-#: startup.c:511
-#: startup.c:517
+#: startup.c:508
+#: startup.c:514
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "îÁÂÅÒÉÔÅ \"%s --help\" ÄÌÑ ÂÏÌÅÅ ÐÏÄÒÏÂÎÏÊ ÉÎÆÏÒÍÁÃÉÉ.\n"
 
-#: startup.c:535
+#: startup.c:532
 #, c-format
 msgid "%s: warning: extra command-line argument \"%s\" ignored\n"
 msgstr "%s: ×ÎÉÍÁÎÉÅ: ÉÚÌÉÛÎÑÑ ÏÐÃÉÑ: \"%s\" -- ÐÒÏÉÇÎÏÒÉÒÏ×ÁÎÁ\n"
 
-#: startup.c:542
+#: startup.c:539
 #, c-format
 msgid "%s: Warning: The -u option is deprecated. Use -U.\n"
 msgstr "%s: ÷ÎÉÍÁÎÉÅ: ïÐÃÉÑ -u ÕÓÔÁÒÅÌÁ. éÓÐÏÌØÚÕÊÔÅ -U.\n"
 
-#: startup.c:599
+#: startup.c:596
 msgid "contains support for command-line editing"
 msgstr "ÐÏÄÄÅÒÖÉ×ÁÅÔ ÒÅÄÁËÔÉÒÏ×ÁÎÉÅ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ"
 
-#: startup.c:622
+#: startup.c:619
 #, c-format
 msgid ""
 "SSL connection (cipher: %s, bits: %i)\n"
@@ -974,9 +974,9 @@ msgstr ""
 #: describe.c:290
 #: describe.c:384
 #: describe.c:438
-#: describe.c:1331
-#: describe.c:1437
-#: describe.c:1485
+#: describe.c:1336
+#: describe.c:1442
+#: describe.c:1490
 msgid "Schema"
 msgstr "óÈÅÍÁ"
 
@@ -986,10 +986,10 @@ msgstr "
 #: describe.c:290
 #: describe.c:332
 #: describe.c:438
-#: describe.c:1331
-#: describe.c:1438
-#: describe.c:1486
-#: describe.c:1581
+#: describe.c:1336
+#: describe.c:1443
+#: describe.c:1491
+#: describe.c:1586
 msgid "Name"
 msgstr "éÍÑ"
 
@@ -1007,7 +1007,7 @@ msgstr "
 
 #: describe.c:147
 msgid "Result data type"
-msgstr "òÅÚÕÌØÔÉÒÕÀÝÉÊ ÔÉРÄÁÎÎÙÈ"
+msgstr "ôÉРÄÁÎÎÙÈ ÒÅÚÕÌØÔÁÔÁ"
 
 #: describe.c:148
 msgid "Argument data types"
@@ -1015,8 +1015,8 @@ msgstr "
 
 #: describe.c:156
 #: describe.c:332
-#: describe.c:1333
-#: describe.c:1582
+#: describe.c:1338
+#: describe.c:1587
 msgid "Owner"
 msgstr "÷ÌÁÄÅÌÅÃ"
 
@@ -1069,7 +1069,7 @@ msgid "List of databases"
 msgstr "óÐÉÓÏË ÂÁÚ ÄÁÎÎÙÈ"
 
 #: describe.c:384
-#: describe.c:1348
+#: describe.c:1353
 msgid "Table"
 msgstr "ôÁÂÌÉÃÁ"
 
@@ -1103,22 +1103,22 @@ msgid "data type"
 msgstr "ÔÉРÄÁÎÎÙÈ"
 
 #: describe.c:512
-#: describe.c:1332
+#: describe.c:1337
 msgid "table"
 msgstr "ÔÁÂÌÉÃÁ"
 
 #: describe.c:512
-#: describe.c:1332
+#: describe.c:1337
 msgid "view"
 msgstr "×ÉÄ"
 
 #: describe.c:512
-#: describe.c:1332
+#: describe.c:1337
 msgid "index"
 msgstr "ÉÎÄÅËÓ"
 
 #: describe.c:512
-#: describe.c:1332
+#: describe.c:1337
 msgid "sequence"
 msgstr "ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ"
 
@@ -1149,8 +1149,8 @@ msgid "Column"
 msgstr "ëÏÌÏÎËÁ"
 
 #: describe.c:705
-#: describe.c:1333
-#: describe.c:1439
+#: describe.c:1338
+#: describe.c:1444
 msgid "Type"
 msgstr "ôÉÐ"
 
@@ -1213,168 +1213,172 @@ msgstr "
 
 #: describe.c:929
 #, c-format
-msgid "View definition: %s"
-msgstr "ïÐÒÅÄÅÌÅÎÉÅ ×ÉÄÁ: %s"
+msgid ""
+"View definition:\n"
+"%s"
+msgstr ""
+"ïÐÒÅÄÅÌÅÎÉÅ ×ÉÄÁ:\n"
+"%s"
 
 #: describe.c:935
 msgid "Rules"
 msgstr "ðÒÁ×ÉÌÁ"
 
-#: describe.c:1083
+#: describe.c:1084
 msgid "Indexes:"
 msgstr "éÎÄÅËÓÙ:"
 
-#: describe.c:1091
+#: describe.c:1092
 #, c-format
 msgid "    \"%s\""
 msgstr "    \"%s\""
 
-#: describe.c:1097
+#: describe.c:1098
 msgid " primary key,"
 msgstr " ËÌÀÞÅ×ÏÅ ÐÏÌÅ,"
 
-#: describe.c:1099
+#: describe.c:1100
 msgid " unique,"
 msgstr " unique,"
 
-#: describe.c:1116
+#: describe.c:1118
 msgid "Check constraints:"
 msgstr "CHECK-ËÏÎÓÔÒÜÊÎÔÙ:"
 
-#: describe.c:1120
+#: describe.c:1122
 #, c-format
 msgid "    \"%s\" CHECK %s"
 msgstr "    \"%s\" CHECK %s"
 
 # TO REWVIEW
-#: describe.c:1130
+#: describe.c:1133
 msgid "Foreign-key constraints:"
 msgstr "ïÇÒÁÎÉÞÅÎÉÑ ÐÏ ×ÔÏÒÉÞÎÏÍÕ ËÌÀÞÕ:"
 
-#: describe.c:1134
+#: describe.c:1137
 #, c-format
 msgid "    \"%s\" %s"
 msgstr "    \"%s\" %s"
 
-#: describe.c:1144
+#: describe.c:1148
 msgid "Rules:"
 msgstr "ðÒÁ×ÉÌÁ:"
 
-#: describe.c:1162
+#: describe.c:1167
 msgid "Triggers:"
 msgstr "ôÒÉÇÇÅÒÙ:"
 
-#: describe.c:1184
+#: describe.c:1189
 msgid "Inherits"
 msgstr "îÁÓÌÅÄÕÅÔ"
 
-#: describe.c:1270
+#: describe.c:1275
 msgid "User name"
 msgstr "éÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ"
 
-#: describe.c:1270
+#: describe.c:1275
 msgid "User ID"
 msgstr "ID ÐÏÌØÚÏ×ÁÔÅÌÑ"
 
-#: describe.c:1271
+#: describe.c:1276
 msgid "superuser, create database"
 msgstr "superuser: ÓÏÚÄÁÎÉÅ ÂÁÚÙ ÄÁÎÎÙÈ"
 
-#: describe.c:1272
+#: describe.c:1277
 msgid "superuser"
 msgstr "superuser"
 
-#: describe.c:1272
+#: describe.c:1277
 msgid "create database"
 msgstr "ÓÏÚÄÁÎÉÅ ÂÁÚÙ ÄÁÎÎÙÈ"
 
-#: describe.c:1273
+#: describe.c:1278
 msgid "Attributes"
 msgstr "áÔÒÉÂÕÔÙ"
 
-#: describe.c:1286
+#: describe.c:1291
 msgid "List of database users"
 msgstr "óÐÉÓÏË ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÂÁÚÙ ÄÁÎÎÙÈ"
 
-#: describe.c:1333
+#: describe.c:1338
 msgid "special"
 msgstr "ÏÓÏÂÅÎÎÙÊ"
 
-#: describe.c:1394
+#: describe.c:1399
 msgid "No matching relations found.\n"
 msgstr "ðÏÄÈÏÄÑÝÉÈ Ó×ÑÚÅÊ ÎÅ ÎÁÊÄÅÎÏ.\n"
 
-#: describe.c:1396
+#: describe.c:1401
 msgid "No relations found.\n"
 msgstr "ó×ÑÚÉ ÎÅ ÎÁÊÄÅÎÙ.\n"
 
-#: describe.c:1401
+#: describe.c:1406
 msgid "List of relations"
 msgstr "óÐÉÓÏË Ó×ÑÚÅÊ"
 
-#: describe.c:1440
+#: describe.c:1445
 msgid "Modifier"
 msgstr "íÏÄÉÆÉËÁÔÏÒÙ"
 
-#: describe.c:1454
+#: describe.c:1459
 msgid "List of domains"
 msgstr "óÐÉÓÏË ÄÏÍÅÎÏ×"
 
-#: describe.c:1487
+#: describe.c:1492
 msgid "Source"
 msgstr "éÓÔÏÞÎÉË"
 
-#: describe.c:1488
+#: describe.c:1493
 msgid "Destination"
 msgstr "îÁÚÎÁÞÅÎÉÅ"
 
-#: describe.c:1489
-#: describe.c:1546
+#: describe.c:1494
+#: describe.c:1551
 msgid "yes"
 msgstr "ÄÁ"
 
-#: describe.c:1490
-#: describe.c:1544
+#: describe.c:1495
+#: describe.c:1549
 msgid "no"
 msgstr "ÎÅÔ"
 
-#: describe.c:1491
+#: describe.c:1496
 msgid "Default?"
 msgstr "ðÏ ÕÍÏÌÞÁÎÉÀ?"
 
-#: describe.c:1505
+#: describe.c:1510
 msgid "List of conversions"
 msgstr "óÐÉÓÏË ËÏÎ×ÅÒÓÉÊ"
 
-#: describe.c:1540
+#: describe.c:1545
 msgid "Source type"
 msgstr "éÓÈÏÄÎÙÊ ÔÉÐ"
 
-#: describe.c:1541
+#: describe.c:1546
 msgid "Target type"
 msgstr "ôÉРÎÁÚÎÁÞÅÎÉÑ"
 
-#: describe.c:1542
+#: describe.c:1547
 msgid "(binary compatible)"
 msgstr "(Ä×ÏÉÞÎÏ-ÓÏ×ÍÅÓÔÉÍÙÊ)"
 
-#: describe.c:1543
+#: describe.c:1548
 msgid "Function"
 msgstr "æÕÎËÃÉÑ"
 
-#: describe.c:1545
+#: describe.c:1550
 msgid "in assignment"
 msgstr "× ÐÒÉÓ×ÏÅÎÉÉ"
 
-#: describe.c:1547
+#: describe.c:1552
 msgid "Implicit?"
-msgstr "ðÏÚÄÒÁÚÍÅ×ÁÅÔÓÑ?"
+msgstr "ðÏÄÒÁÚÕÍÅ×ÁÅÔÓÑ?"
 
-#: describe.c:1555
+#: describe.c:1560
 msgid "List of casts"
 msgstr "óÐÉÓÏË ËÏÎ×ÅÒÓÉÊ ÔÉÐÏ×"
 
-#: describe.c:1596
+#: describe.c:1601
 msgid "List of schemas"
 msgstr "óÐÉÓÏË ÓÈÅÍ"
 
index ba5331ca5917a3fc6ddd023775932a24b1b155fc..111a1b189dc90c687ce8c8aa51c5298e5700ec1f 100644 (file)
@@ -9,8 +9,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 7.4\n"
-"POT-Creation-Date: 2003-08-09 12:08+0200\n"
-"PO-Revision-Date: 2003-08-09 15:58+0200\n"
+"POT-Creation-Date: 2003-08-14 04:17-0300\n"
+"PO-Revision-Date: 2003-08-15 08:49+0200\n"
 "Last-Translator: Dennis Björklund <[email protected]>\n"
 "Language-Team: Swedish <[email protected]>\n"
 "MIME-Version: 1.0\n"
@@ -70,7 +70,7 @@ msgid "Wrote history to file \"%s\".\n"
 msgstr "Kommandohistorien har skrivits till \"%s\".\n"
 
 #: command.c:700 command.c:1160 command.c:1257 command.c:1975 common.c:82
-#: copy.c:88 copy.c:116 mainloop.c:78 mainloop.c:341 describe.c:51
+#: copy.c:88 copy.c:116 describe.c:51 mainloop.c:78 mainloop.c:341
 msgid "out of memory\n"
 msgstr "minnet slut\n"
 
@@ -79,6 +79,14 @@ msgstr "minnet slut\n"
 msgid "\\%s: error\n"
 msgstr "\\%s: fel\n"
 
+#: command.c:744
+msgid "Timing is on."
+msgstr "Tidtagning är på."
+
+#: command.c:747
+msgid "Timing is off."
+msgstr "Tidtagning är av."
+
 #: command.c:804 command.c:824 command.c:1022 command.c:1035 command.c:1046
 #: command.c:1617 command.c:1630 command.c:1642 command.c:1655 command.c:1669
 #: command.c:1691 command.c:1721 common.c:131 copy.c:378
@@ -361,12 +369,12 @@ msgstr "Generella flaggor:"
 #, c-format
 msgid ""
 "  -d DBNAME       specify database name to connect to (default: \"%s\")\n"
-msgstr "  -d DBNAMN       ange databasnamn att koppla upp mot (standard: \"%s\")\n"
+msgstr ""
+"  -d DBNAMN       ange databasnamn att koppla upp mot (standard: \"%s\")\n"
 
 #: help.c:94
 msgid "  -c COMMAND      run only single command (SQL or internal) and exit"
-msgstr ""
-"  -c KOMMANDO     kör ett kommando (SQL eller internt) och avsluta sedan"
+msgstr "  -c KOMMANDO     kör ett kommando (SQL eller internt) och avsluta sedan"
 
 #: help.c:95
 msgid "  -f FILENAME     execute commands from file, then exit"
@@ -458,8 +466,7 @@ msgstr "  -t              visa endast rader (-P tuples_only)"
 msgid ""
 "  -T TEXT         set HTML table tag attributes (width, border) (-P "
 "tableattr=)"
-msgstr ""
-"  -T TEXT         sätt HTML-tabellers flaggor (width, border) (-P tableattr=)"
+msgstr "  -T TEXT         sätt HTML-tabellers flaggor (width, border) (-P tableattr=)"
 
 #: help.c:117
 msgid "  -x              turn on expanded table output (-P expanded)"
@@ -473,14 +480,12 @@ msgstr "  -P VAR[=ARG]    s
 #, c-format
 msgid ""
 "  -F STRING       set field separator (default: \"%s\") (-P fieldsep=)\n"
-msgstr ""
-"  -F STRÄNG       sätt fältseparator (standard: \"%s\") (-P fieldsep=)\n"
+msgstr "  -F STRÄNG       sätt fältseparator (standard: \"%s\") (-P fieldsep=)\n"
 
 #: help.c:121
 msgid ""
 "  -R STRING       set record separator (default: newline) (-P recordsep=)"
-msgstr ""
-"  -R STRÄNG       sätt postseparator (standard: newline) (-P recordsep=)"
+msgstr "  -R STRÄNG       sätt postseparator (standard: newline) (-P recordsep=)"
 
 #: help.c:123
 msgid ""
@@ -564,8 +569,7 @@ msgstr ""
 
 #: help.c:182
 msgid "  \\h [NAME]      help on syntax of SQL commands, * for all commands\n"
-msgstr ""
-"  \\h NAMN        hjälp med syntaxen för SQL-kommandon, * för alla kommanon\n"
+msgstr "  \\h NAMN        hjälp med syntaxen för SQL-kommandon, * för alla kommanon\n"
 
 #: help.c:183
 msgid "  \\q             quit psql\n"
@@ -582,8 +586,7 @@ msgstr ""
 #: help.c:186
 #, c-format
 msgid "  \\timing        toggle timing of commands (currently %s)\n"
-msgstr ""
-"  \\timing        slå om tidstagning av kommandon (för närvarande: %s)\n"
+msgstr "  \\timing        slå om tidstagning av kommandon (för närvarande: %s)\n"
 
 #: help.c:188
 msgid "  \\unset NAME    unset (delete) internal variable\n"
@@ -601,9 +604,7 @@ msgstr "Fr
 #: help.c:193
 msgid ""
 "  \\e [FILE]      edit the query buffer (or file) with external editor\n"
-msgstr ""
-"  \\e [FILNAMN]   redigera frågebufferten (eller filen) med extern "
-"redigerare\n"
+msgstr "  \\e [FILNAMN]   redigera frågebufferten (eller filen) med extern redigerare\n"
 
 #: help.c:194
 msgid ""
@@ -692,8 +693,7 @@ msgstr "  \\dD [MALL]     lista dom
 
 #: help.c:218
 msgid "  \\df [PATTERN]  list functions (add \"+\" for more detail)\n"
-msgstr ""
-"  \\df [MALL]     lista funktioner (lägg till \"+\" för mer detaljer)\n"
+msgstr "  \\df [MALL]     lista funktioner (lägg till \"+\" för mer detaljer)\n"
 
 #: help.c:219
 msgid "  \\dn [PATTERN]  list schemas\n"
@@ -721,8 +721,7 @@ msgstr "  \\du [MALL]     lista anv
 
 #: help.c:225
 msgid "  \\l             list all databases (add \"+\" for more detail)\n"
-msgstr ""
-"  \\l             lista alla databaser (lägg till \"+\" för mer detaljer)\n"
+msgstr "  \\l             lista alla databaser (lägg till \"+\" för mer detaljer)\n"
 
 #: help.c:226
 msgid "  \\z [PATTERN]   list table access privileges (same as \\dp)\n"
@@ -743,8 +742,7 @@ msgstr "  \\C [TEXT]      s
 #: help.c:232
 msgid ""
 "  \\f [STRING]    show or set field separator for unaligned query output\n"
-msgstr ""
-"  \\f [TEXT]      visa eller sätt fältseparatorn för ojusterad utmatning\n"
+msgstr "  \\f [TEXT]      visa eller sätt fältseparatorn för ojusterad utmatning\n"
 
 #: help.c:233
 #, c-format
@@ -770,8 +768,7 @@ msgstr "  \\t             visa endast rader (f
 
 #: help.c:241
 msgid "  \\T [STRING]    set HTML <table> tag attributes, or unset if none\n"
-msgstr ""
-"  \\T [TEXT]      sätt HTML-tabellens <table>-attribut, eller nollställ\n"
+msgstr "  \\T [TEXT]      sätt HTML-tabellens <table>-attribut, eller nollställ\n"
 
 #: help.c:242
 #, c-format
@@ -847,8 +844,8 @@ msgstr "%s: aktuell transaktion 
 msgid "%s: unknown transaction status\n"
 msgstr "%s: okänd transaktionsstatus\n"
 
-#: large_obj.c:278 describe.c:106 describe.c:157 describe.c:230 describe.c:292
-#: describe.c:339 describe.c:438 describe.c:718 describe.c:1343
+#: describe.c:106 describe.c:157 describe.c:230 describe.c:292 describe.c:339
+#: describe.c:438 describe.c:718 describe.c:1343 large_obj.c:278
 msgid "Description"
 msgstr "Beskrivning"
 
@@ -1333,4 +1330,3 @@ msgstr "Lista med typomvandlingar"
 #: describe.c:1601
 msgid "List of schemas"
 msgstr "Lista med scheman"
-
index 9ce45161193ef2c354ca2b6c424e88efa798673c..37b830bc2119543aade11c968919b27a35f508dc 100644 (file)
@@ -160,7 +160,7 @@ get_prompt(promptStatus_t status)
                                        /* DB server user name */
                                case 'n':
                                        if (pset.db)
-                                               strncpy(buf, PQuser(pset.db), MAX_PROMPT_SIZE);
+                                               strncpy(buf, session_username(), MAX_PROMPT_SIZE);
                                        break;
 
                                case '0':
index f6fd0ae412af0a5bc5ae5524330a6d2c2a1891da..e953811770b778108d45b77f387b5e9fee8279b5 100644 (file)
@@ -15,7 +15,7 @@ include $(top_builddir)/src/Makefile.global
 
 PROGRAMS = createdb createlang createuser dropdb droplang dropuser clusterdb vacuumdb
 
-override CPPFLAGS := -I$(top_srcdir)/src/bin/pg_dump -I$(top_srcdir)/src/bin/psql -I$(libpq_srcdir) $(CPPFLAGS)
+override CPPFLAGS := -DPGSCRIPTS -I$(top_srcdir)/src/bin/pg_dump -I$(top_srcdir)/src/bin/psql -I$(libpq_srcdir) $(CPPFLAGS)
 
 all: submake-libpq submake-backend $(PROGRAMS)
 
index f74706337d343f6b660374adef7a515ff1d0a8ad..d7bec7fd27581d8892da77c0789a63a607cef93d 100644 (file)
@@ -23,6 +23,7 @@
 const char *
 get_user_name(const char *progname)
 {
+#ifndef WIN32
        struct passwd *pw;
 
        pw = getpwuid(getuid());
@@ -32,6 +33,12 @@ get_user_name(const char *progname)
                exit(1);
        }
        return pw->pw_name;
+#else
+       static char username[128];      /* remains after function exit */
+
+       GetUserName(username, sizeof(username)-1);
+       return username;
+#endif 
 }
 
 
diff --git a/src/bin/scripts/po/ru.po b/src/bin/scripts/po/ru.po
new file mode 100644 (file)
index 0000000..11a0029
--- /dev/null
@@ -0,0 +1,695 @@
+# PGSCRIPTS Translated Messages into the Russian Language (KOI8-R)
+#
+# $Header$
+#
+# To the new translator:
+#   PG Russian Translation Discussion Group: <http://groups.yahoo.com/group/pgsql-rus/>
+#   PG Glossary: <http://www.sai.msu.su/~megera/oddmuse/index.cgi?Pgsql_Glossary>
+#
+# ChangeLog:
+#   - July 24 - August 25, 2003: Complete Initial Translation for 7.4.*; Serguei A. Mokhov, <[email protected]>
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PostgreSQL 7.4\n"
+"POT-Creation-Date: 2003-08-25 04:19-0300\n"
+"PO-Revision-Date: 2003-08-25 12:26-0500\n"
+"Last-Translator: Serguei A. Mokhov <[email protected]>\n"
+"Language-Team: pgsql-rus <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=koi8-r\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: clusterdb.c:96
+#: clusterdb.c:111
+#: createdb.c:101
+#: createdb.c:120
+#: createlang.c:94
+#: createlang.c:115
+#: createlang.c:157
+#: createuser.c:116
+#: createuser.c:131
+#: dropdb.c:83
+#: dropdb.c:92
+#: dropdb.c:100
+#: droplang.c:88
+#: droplang.c:109
+#: droplang.c:151
+#: dropuser.c:83
+#: dropuser.c:98
+#: vacuumdb.c:112
+#: vacuumdb.c:127
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "îÁÂÅÒÉÔÅ \"%s --help\" ÄÌÑ ÂÏÌÅÅ ÐÏÄÒÏÂÎÏÊ ÉÎÆÏÒÍÁÃÉÉ.\n"
+
+#: clusterdb.c:109
+#: createdb.c:118
+#: createlang.c:113
+#: createuser.c:129
+#: dropdb.c:98
+#: droplang.c:107
+#: dropuser.c:96
+#: vacuumdb.c:125
+#, c-format
+msgid "%s: too many command-line arguments (first is \"%s\")\n"
+msgstr "%s: ÓÌÉÛËÏÍ ÍÎÏÇÏ ÁÒÇÕÍÅÎÔÏ× ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ (ÐÅÒ×ÙÊ: \"%s\")\n"
+
+#: createdb.c:128
+#, c-format
+msgid "%s: \"%s\" is not a valid encoding name\n"
+msgstr "%s: \"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ×ÅÒÎÙÍ ÉÍÅÎÅÍ ËÏÄÉÒÏ×ËÉ\n"
+
+#: createdb.c:170
+#, c-format
+msgid "%s: database creation failed: %s"
+msgstr "%s: ÓÏÚÄÁÎÉÅ ÂÁÚÙ ÎÅ ÕÄÁÌÏÓØ: %s"
+
+#: createdb.c:195
+#, c-format
+msgid "%s: comment creation failed (database was created): %s"
+msgstr "%s: ÓÏÚÄÁÎÉÅ ËÏÍÍÅÎÔÁÒÉÑ ÎÅ ÕÄÁÌÏÓØ (ÂÁÚÁ ÂÙÌÁ ÓÏÚÄÁÎÁ): %s"
+
+#: createdb.c:213
+#, c-format
+msgid ""
+"%s creates a PostgreSQL database.\n"
+"\n"
+msgstr ""
+"%s ÓÏÚÄÁ£Ô ÂÁÚÕ PostgreSQL.\n"
+"\n"
+
+#: clusterdb.c:232
+#: createdb.c:214
+#: createlang.c:272
+#: createuser.c:236
+#: dropdb.c:143
+#: droplang.c:242
+#: dropuser.c:143
+#: vacuumdb.c:256
+msgid "Usage:\n"
+msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ:\n"
+
+#: createdb.c:215
+#, c-format
+msgid "  %s [OPTION]... [DBNAME] [DESCRIPTION]\n"
+msgstr "  %s [ïðãéñ]... [éíñâä] [ïðéóáîéå]\n"
+
+#: clusterdb.c:234
+#: createdb.c:216
+#: createlang.c:274
+#: createuser.c:238
+#: dropdb.c:145
+#: droplang.c:244
+#: dropuser.c:145
+#: vacuumdb.c:258
+msgid ""
+"\n"
+"Options:\n"
+msgstr ""
+"\n"
+"ïÐÃÉÉ:\n"
+
+#: createdb.c:217
+msgid "  -D, --location=PATH       alternative place to store the database\n"
+msgstr "  -D, --location=ðõôø       ÁÌØÔÅÒÎÁÔÉ×ÎÏÅ ÍÅÓÔÏ ÈÒÁÎÅÎÉÑ ÂÁÚÙ\n"
+
+#: createdb.c:218
+msgid "  -E, --encoding=ENCODING   encoding for the database\n"
+msgstr "  -E, --encoding=ëïäéòï÷ëá  ËÏÄÉÒÏ×ËÁ ÄÌÑ ÂÁÚÙ\n"
+
+#: createdb.c:219
+msgid "  -O, --owner=OWNER         database user to own the new database\n"
+msgstr "  -O, --owner=÷ìáäåìåã      ÐÏÌØÚÏ×ÁÔÅÌØ-×ÌÁÄÅÌÅàÎÏ×ÏÊ ÂÁÚÙ\n"
+
+#: createdb.c:220
+msgid "  -T, --template=TEMPLATE   template database to copy\n"
+msgstr "  -T, --template=ûáâìïî     ÂÁÚÁ-ÛÁÂÌÏΠÄÌÑ ËÏÐÉÒÏ×ÁÎÉÑ\n"
+
+#: clusterdb.c:238
+#: createdb.c:221
+#: createlang.c:276
+#: createuser.c:247
+#: dropdb.c:146
+#: droplang.c:246
+#: dropuser.c:146
+msgid "  -e, --echo                show the commands being sent to the server\n"
+msgstr "  -e, --echo                ÐÏËÁÚÙ×ÁÔØ ËÏÍÁÎÄÙ ÏÔÐÒÁ×ÌÅÎÎÙÅ ÓÅÒ×ÅÒÕ\n"
+
+#: clusterdb.c:239
+#: createdb.c:222
+#: createuser.c:248
+#: dropdb.c:148
+#: dropuser.c:148
+msgid "  -q, --quiet               don't write any messages\n"
+msgstr "  -q, --quiet               ÎÅ ÐÏËÁÚÙ×ÁÔØ ÎÉËÁËÉÅ ÓÏÏÂÝÅÎÉÑ\n"
+
+#: clusterdb.c:240
+#: createdb.c:223
+#: createlang.c:283
+#: createuser.c:249
+#: dropdb.c:153
+#: droplang.c:252
+#: dropuser.c:153
+msgid "  --help                    show this help, then exit\n"
+msgstr "  --help                    ÐÏËÁÚÁÔØ ÜÔÕ ÓÐÒÁËÕ É ×ÙÊÔÉ\n"
+
+#: clusterdb.c:241
+#: createdb.c:224
+#: createlang.c:284
+#: createuser.c:250
+#: dropdb.c:154
+#: droplang.c:253
+#: dropuser.c:154
+msgid "  --version                 output version information, then exit\n"
+msgstr "  --version                 ÐÏËÁÚÁÔØ ×ÅÒÓÉÀ É ×ÙÊÔÉ\n"
+
+#: clusterdb.c:242
+#: createdb.c:225
+#: createuser.c:251
+#: vacuumdb.c:269
+msgid ""
+"\n"
+"Connection options:\n"
+msgstr ""
+"\n"
+"ïÐÃÉÉ ÐÏÄÓÏÅÄÉÎÅÎÉÑ:\n"
+
+#: clusterdb.c:243
+#: createdb.c:226
+#: createlang.c:279
+#: createuser.c:252
+#: dropdb.c:149
+#: droplang.c:248
+#: dropuser.c:149
+#: vacuumdb.c:270
+msgid "  -h, --host=HOSTNAME       database server host or socket directory\n"
+msgstr "  -h, --host=èïóô           ÓÅÒ×ÅÒ ÂÁÚ ÄÁÎÎÙÈ ÉÌÉ ÄÉÒÅËÔÏÒÉÑ ÓÏËÅÔÏ×\n"
+
+#: clusterdb.c:244
+#: createdb.c:227
+#: createlang.c:280
+#: createuser.c:253
+#: dropdb.c:150
+#: droplang.c:249
+#: dropuser.c:150
+#: vacuumdb.c:271
+msgid "  -p, --port=PORT           database server port\n"
+msgstr "  -p, --port=ðïòô           ÐÏÒÔ ÓÅÒ×ÅÒÁ ÂÁÚ ÄÁÎÎÙÈ\n"
+
+#: clusterdb.c:245
+#: createdb.c:228
+#: createlang.c:281
+#: dropdb.c:151
+#: droplang.c:250
+#: vacuumdb.c:272
+msgid "  -U, --username=USERNAME   user name to connect as\n"
+msgstr ""
+"  -U, --username=ðïìøúï÷áôåìø\n"
+"                            ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ ÄÌÑ ÐÏÄÓÏÅÄÉÎÅÎÉÑ\n"
+
+#: clusterdb.c:246
+#: createdb.c:229
+#: createlang.c:282
+#: dropdb.c:152
+#: droplang.c:251
+#: vacuumdb.c:273
+msgid "  -W, --password            prompt for password\n"
+msgstr "  -W, --password            ÚÁÐÒÏÓÉÔØ ÐÁÒÏÌØ\n"
+
+#: createdb.c:230
+msgid ""
+"\n"
+"By default, a database with the same name as the current user is created.\n"
+msgstr ""
+"\n"
+"ðÏ ÕÍÏÌÞÁÎÉÀ ÉÍÑ ÓÏÚÄÁ×ÁÅÍÏÊ ÂÁÚÙ ÔÁËÏÅÖÅ ËÁË ÔÅËÕÝÅÅ ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ.\n"
+
+#: clusterdb.c:248
+#: createdb.c:231
+#: createlang.c:285
+#: createuser.c:258
+#: dropdb.c:155
+#: droplang.c:254
+#: dropuser.c:155
+#: vacuumdb.c:275
+msgid ""
+"\n"
+"Report bugs to <[email protected]>.\n"
+msgstr ""
+"\n"
+"óÏÏÂÝÁÔØ Ï ÏÛÉÂËÁÈ: <[email protected]>.\n"
+
+#: createlang.c:140
+#: droplang.c:134
+msgid "Name"
+msgstr "éÍÑ"
+
+#: createlang.c:140
+#: droplang.c:134
+msgid "yes"
+msgstr "ÄÁ"
+
+#: createlang.c:140
+#: droplang.c:134
+msgid "no"
+msgstr "ÎÅÔ"
+
+#: createlang.c:140
+#: droplang.c:134
+msgid "Trusted?"
+msgstr "äÏ×ÅÒÑÅÍÙÊ?"
+
+#: createlang.c:147
+#: droplang.c:141
+msgid "Procedural Languages"
+msgstr "ðÒÏÃÅÄÕÒÎÙÅ ñÚÙËÉ"
+
+#: createlang.c:156
+#: droplang.c:150
+#, c-format
+msgid "%s: missing required argument language name\n"
+msgstr "%s: ÏÔÓÕÔÓÔ×ÕÅÔ ÎÅÏÂÈÏÄÉÍÙÊ ÁÒÇÕÍÅÎÔ -- ÉÍÑ ÑÚÙËÁ\n"
+
+#: createlang.c:206
+#, c-format
+msgid "%s: unsupported language \"%s\"\n"
+msgstr "%s: ÑÚÙË \"%s\" ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ\n"
+
+#: createlang.c:207
+msgid "Supported languages are plpgsql, pltcl, pltclu, plperl, plperlu, and plpythonu.\n"
+msgstr "ðÏÄÄÅÒÖÉ×ÁÅÍÙÅ ÑÚÙËÉ: plpgsql, pltcl, pltclu, plperl, plperlu É plpythonu.\n"
+
+#: createlang.c:222
+#, c-format
+msgid "%s: language \"%s\" is already installed in database \"%s\"\n"
+msgstr "%s: ÑÚÙË \"%s\" ÕÖÅ ÕÓÔÁÎÏ×ÌÅΠנÂÁÚÅ \"%s\"\n"
+
+#: createlang.c:256
+#, c-format
+msgid "%s: language installation failed: %s"
+msgstr "%s: ÕÓÔÁÎÏ×ËÁ ÑÚÙËÁ ÎÅ ÕÄÁÌÁÓØ: %s"
+
+#: createlang.c:271
+#, c-format
+msgid ""
+"%s installs a procedural language into a PostgreSQL database.\n"
+"\n"
+msgstr ""
+"%s ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÐÒÏÃÅÄÕÒÎÙÊ ÑÚÙË × ÂÁÚÕ PostgreSQL.\n"
+"\n"
+
+#: createlang.c:273
+#: droplang.c:243
+#, c-format
+msgid "  %s [OPTION]... LANGNAME [DBNAME]\n"
+msgstr "  %s [ïðãéñ]... ñúùë [éíñâä]\n"
+
+#: createlang.c:275
+msgid "  -d, --dbname=DBNAME       database to install language in\n"
+msgstr "  -d, --dbname=éíñâä       ÂÁÚÁ × ËÏÔÏÒÏÊ ÕÓÔÁÎÏ×ÉÔØ ÑÚÙË\n"
+
+#: createlang.c:277
+#: droplang.c:247
+msgid "  -l, --list                show a list of currently installed languages\n"
+msgstr "  -l, --list                ÐÏËÁÚÁÔØ ÓÐÉÓÏË ÕÓÔÁÎÏ×ÌÅÎÎÙÈ ÑÚÙËÏ×\n"
+
+#: createlang.c:278
+msgid "  -L, --pglib=DIRECTORY     find language interpreter file in DIRECTORY\n"
+msgstr "  -L, --pglib=äéòåëôïòéñ    ÎÁÊÔÉ ÆÁÊÌ ÉÎÔÅÒÐÒÅÔÁÔÏÒÁ × äéòåëôïòéé\n"
+
+#: createuser.c:141
+#, c-format
+msgid "%s: user ID must be a positive number\n"
+msgstr "%s: ID ÐÏÌØÚÏ×ÁÔÅÌÑ ÄÏÌÖÎÏ ÂÙÔØ ÐÏÌÏÖÉÔÅÌØÎÙÍ ÞÉÓÌÏÍ\n"
+
+#: createuser.c:147
+msgid "Enter name of user to add: "
+msgstr "÷×ÅÄÉÔÅ ÉÍÑ ÄÏÂÁ×ÌÑÅÍÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ: "
+
+#: createuser.c:154
+msgid "Enter password for new user: "
+msgstr "÷×ÅÄÉÔÅ ÐÁÒÏÌØ ÄÌÑ ÎÏ×ÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ: "
+
+#: createuser.c:155
+msgid "Enter it again: "
+msgstr "÷×ÅÄÉÔÅ ÓÎÏ×Á: "
+
+#: createuser.c:158
+msgid "Passwords didn't match.\n"
+msgstr "ðÁÒÏÌÉ ÎÅ ÓÏ×ÐÁÄÁÀÔ.\n"
+
+#: createuser.c:169
+msgid "Shall the new user be allowed to create databases? (y/n) "
+msgstr "òÁÚÒÅÛÉÔØ ÎÏ×ÏÍÕ ÐÏÌØÚÏ×ÁÔÅÌÀ ÓÏÚÄÁ×ÁÔØ ÂÁÚÙ? (y/n) "
+
+#: createuser.c:180
+msgid "Shall the new user be allowed to create more new users? (y/n) "
+msgstr "òÁÚÒÅÛÉÔØ ÎÏ×ÏÍÕ ÐÏÌØÚÏ×ÁÔÅÌÀ ÓÏÚÄÁ×ÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÅÊ? (y/n) "
+
+#: createuser.c:219
+#, c-format
+msgid "%s: creation of new user failed: %s"
+msgstr "%s: ÓÏÚÄÁÎÉÅ ÎÏ×ÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ ÎÅ ÕÄÁÌÏÓØ: %s"
+
+#: createuser.c:235
+#, c-format
+msgid ""
+"%s creates a new PostgreSQL user.\n"
+"\n"
+msgstr ""
+"%s ÓÏÚÄÁ£Ô ÎÏ×ÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌØÑ PostgreSQL.\n"
+"\n"
+
+#: createuser.c:237
+#: dropuser.c:144
+#, c-format
+msgid "  %s [OPTION]... [USERNAME]\n"
+msgstr "  %s [ïðãéñ]... [ðïìøúï÷áôåìø]\n"
+
+#: createuser.c:239
+msgid "  -a, --adduser             user can add new users\n"
+msgstr "  -a, --adduser             ÐÏÌØÚÏ×ÁÔÅÌØ ÍÏÖÅÔ ÓÏÚÄÁ×ÁÔØ ÄÒÕÇÉÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ\n"
+
+#: createuser.c:240
+msgid "  -A, --no-adduser          user cannot add new users\n"
+msgstr "  -A, --no-adduser          ÐÏÌØÚÏ×ÁÔÅÌØ ÎÅ ÓÍÏÖÅÔ ÓÏÚÄÁ×ÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÅÊ\n"
+
+#: createuser.c:241
+msgid "  -d, --createdb            user can create new databases\n"
+msgstr "  -d, --createdb            ÐÏÌØÚÏ×ÁÔÅÌØ ÍÏÖÅÔ ÓÏÚÄÁ×ÁÔØ ÎÏ×ÙÅ ÂÁÚÙ\n"
+
+#: createuser.c:242
+msgid "  -D, --no-createdb         user cannot create databases\n"
+msgstr "  -D, --no-createdb         ÐÏÌØÚÏ×ÁÔÅÌØ ÎÅ ÍÏÖÅÔ ÓÏÚÄÁ×ÁÔØ ÂÁÚÙ\n"
+
+#: createuser.c:243
+msgid "  -P, --pwprompt            assign a password to new user\n"
+msgstr "  -P, --pwprompt            ÓÏÚÄÁÔØ ÐÁÒÏÌØ ÎÏ×ÏÍÕ ÐÏÌØÚÏ×ÁÔÅÌÀ\n"
+
+#: createuser.c:244
+msgid "  -E, --encrypted           encrypt stored password\n"
+msgstr "  -E, --encrypted           ÚÁÛÉÆÒÏ×ÁÔØ ÓÏÈÒÁΣÎÎÙÊ ÐÁÒÏÌØ\n"
+
+#: createuser.c:245
+msgid "  -N, --unencrypted         do no encrypt stored password\n"
+msgstr "  -N, --unencrypted         ÎÅ ÝÉÆÒÏ×ÁÔØ ÓÏÈÒÁΣÎÎÙÊ ÐÁÒÏÌØ\n"
+
+#: createuser.c:246
+msgid "  -i, --sysid=SYSID         select sysid for new user\n"
+msgstr "  -i, --sysid=SYSID         ×ÙÂÒÁÔØ sysid ÄÌÑ ÎÏ×ÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌØÑ\n"
+
+#: createuser.c:254
+msgid "  -U, --username=USERNAME   user name to connect as (not the one to create)\n"
+msgstr ""
+"  -U, --username=ðïìøúï÷áôåìø\n"
+"                            ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌØÑ ÄÌÑ ÐÏÄÓÏÅÄÉÎÅÎÉÑ (ÎÏ ÎÅ ÄÌÑ ÓÏÚÄÁÎÉÑ)\n"
+
+#: createuser.c:255
+#: dropuser.c:152
+msgid "  -W, --password            prompt for password to connect\n"
+msgstr "  -W, --password            ÚÁÐÒÏÓÉÔØ ÐÁÒÏÌØ ÄÌÑ ÐÏÄÓÏÅÄÉÎÅÎÉÑ\n"
+
+#: createuser.c:256
+msgid ""
+"\n"
+"If one of -a, -A, -d, -D, and USERNAME is not specified, you will\n"
+"be prompted interactively.\n"
+msgstr ""
+"\n"
+"åÓÌÉ ÏÄÎÏ ÉÚ: -a, -A, -d, -D É ðïìøúï÷áôåìø ÎÅ ÕËÁÚÁÎÏ, ×Ù ÂÕÄÅÔÅ\n"
+"ÚÁÐÒÏÛÅÎÙ ÉÎÔÅÒÁËÔÉ×ÎÏ.\n"
+
+#: dropdb.c:91
+#, c-format
+msgid "%s: missing required argument database name\n"
+msgstr "%s: ÏÔÓÕÔÓÔ×ÕÅÔ ÎÅÏÂÈÏÄÉÍÙÊ ÁÒÇÕÍÅÎÔ: ÉÍÑ ÂÁÚÙ\n"
+
+#: dropdb.c:108
+#, c-format
+msgid "Database \"%s\" will be permanently removed.\n"
+msgstr "âÁÚÁ \"%s\" ÂÕÄÅÔ ÐÏÌÎÏÓÔØÀ ÕÄÁÌÅÎÁ.\n"
+
+#: dropdb.c:109
+#: dropuser.c:110
+msgid "Are you sure? (y/n) "
+msgstr "÷Ù Õ×ÅÒÅÎÙ? (y/n) "
+
+#: dropdb.c:126
+#, c-format
+msgid "%s: database removal failed: %s"
+msgstr "%s: ÎÅ ÕÄÁÌÏÓØ ÕÄÁÌÉÔØ ÂÁÚÕ: %s"
+
+#: dropdb.c:142
+#, c-format
+msgid ""
+"%s removes a PostgreSQL database.\n"
+"\n"
+msgstr ""
+"%s ÕÄÁÌÑÅÔ ÂÁÚÕ PostgreSQL.\n"
+"\n"
+
+#: dropdb.c:144
+#, c-format
+msgid "  %s [OPTION]... DBNAME\n"
+msgstr "  %s [ïðãéñ]... éíñâä\n"
+
+#: dropdb.c:147
+#: dropuser.c:147
+msgid "  -i, --interactive         prompt before deleting anything\n"
+msgstr "  -i, --interactive         ÐÏÄÔ×ÅÒÄÉÔØ ÐÅÒÅÄ ÕÄÁÌÅÎÉÅÍ ÞÅÇÏ-ÌÉÂÏ\n"
+
+#: droplang.c:170
+#, c-format
+msgid "%s: language \"%s\" is not installed in database \"%s\"\n"
+msgstr "%s: ÑÚÙË \"%s\" ÎÅ ÕÓÔÁÎÏ×ÌÅΠנÂÁÚÅ \"%s\"\n"
+
+#: droplang.c:186
+#, c-format
+msgid "%s: still %s functions declared in language \"%s\"; language not removed\n"
+msgstr "%s: ÓÕÝÅÓÔ×ÕÀÔ ÅÝ£ ÆÕÎÃÉÉ (%s) × ÑÚÙËÅ \"%s\" ; ÑÚÙË ÎÅ ÕÄÁÌ£Î\n"
+
+#: droplang.c:227
+#, c-format
+msgid "%s: language removal failed: %s"
+msgstr "%s: ÎÅ ÕÄÁÌÏÓØ ÕÄÁÌÉÔØ ÑÚÙË: %s"
+
+#: droplang.c:241
+#, c-format
+msgid ""
+"%s removes a procedural language from a database.\n"
+"\n"
+msgstr ""
+"%s ÕÄÁÌÑÅÔ ÐÒÏÃÅÄÕÒÎÙÊ ÑÚÙË ÉÚ ÂÁÚÙ.\n"
+"\n"
+
+#: droplang.c:245
+msgid "  -d, --dbname=DBNAME       database from which to remove the language\n"
+msgstr "  -d, --dbname=éíñâä        ÂÁÚÁ ÉÚ ËÏÔÏÒÏÊ ÕÄÁÌÉÔØ ÑÚÙË\n"
+
+#: dropuser.c:103
+msgid "Enter name of user to drop: "
+msgstr "÷×ÅÄÉÔÅ ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ ÄÌÑ ÕÄÁÌÅÎÉÑ: "
+
+#: dropuser.c:109
+#, c-format
+msgid "User \"%s\" will be permanently removed.\n"
+msgstr "ðÏÌØÚÏ×ÁÔÅÌØ \"%s\" ÂÕÄÅÔ ÐÏÌÎÏÓÔØÀ ÕÄÁÌ£Î.\n"
+
+#: dropuser.c:126
+#, c-format
+msgid "%s: removal of user \"%s\" failed: %s"
+msgstr "%s: ÏÛÉÂËÁ ÐÒÉ ÕÄÁÌÅÎÉÉ ÕÄÁÌÅÎÉÅ ÐÏÌØÚÏ×ÁÔÅÌÑ \"%s\": %s"
+
+#: dropuser.c:142
+#, c-format
+msgid ""
+"%s removes a PostgreSQL user.\n"
+"\n"
+msgstr ""
+"%s ÕÄÁÌÑÅÔ ÐÏÌØÚÏ×ÁÔÅÌÑ PostgreSQL.\n"
+"\n"
+
+#: dropuser.c:151
+msgid "  -U, --username=USERNAME   user name to connect as (not the one to drop)\n"
+msgstr ""
+"  -U, --username=ðïìøúï÷áôåìø\n"
+"                            ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ ÄÌÑ ÐÏÄÓÏÅÄÉÎÅÎÉÑ (ÎÅ ÄÌÑ ÕÄÁÌÅÎÉÑ)\n"
+
+#: clusterdb.c:119
+#, c-format
+msgid "%s: cannot cluster all databases and a specific one at the same time\n"
+msgstr "%s: ÎÅÌØÚÑ ÐÅÒÅÕÐÏÒÑÄÏÞÉÔØ ×ÓÅ ÂÁÚÙ É ÏÄÎÕ ËÏÎËÒÅÔÎÕÀ ÏÄÎÏ×ÒÅÍÅÎÎÏ\n"
+
+#: clusterdb.c:125
+#, c-format
+msgid "%s: cannot cluster a specific table in all databases\n"
+msgstr "%s: ÎÅÌØÚÑ ÐÅÒÅÕÐÏÒÑÄÏÞÉÔØ ÏÄÎÕ É ÔÕ ÖÅ ÔÁÂÌÉÃÕ ×Ï ×ÓÅÈ ÂÁÚÁÈ\n"
+
+#: clusterdb.c:181
+#, c-format
+msgid "%s: clustering of table \"%s\" in database \"%s\" failed: %s"
+msgstr "%s: ÏÝÉÂËÁ ÐÒÉ ÐÅÒÅÕÐÏÒÑÄÏÞÉ×ÁÎÉÉ ÔÁÂÌÉÃÙ \"%s\" × ÂÁÚÅ \"%s\": %s"
+
+#: clusterdb.c:184
+#, c-format
+msgid "%s: clustering of database \"%s\" failed: %s"
+msgstr "%s: ÏÝÉÂËÁ ÐÒÉ ÐÅÒÅÕÐÏÒÑÄÏÞÉ×ÁÎÉÉ ÂÁÚÙ \"%s\": %s"
+
+#: clusterdb.c:217
+#, c-format
+msgid "%s: clustering database \"%s\"\n"
+msgstr "%s: ÐÅÒÅÕÐÏÒÑÄÏÞÉ×ÁÎÉÅ ÂÁÚÙ \"%s\"\n"
+
+#: clusterdb.c:231
+#, c-format
+msgid ""
+"%s clusters all previously clustered tables in a database.\n"
+"\n"
+msgstr ""
+"%s ÐÅÒÅÕÐÏÒÑÄÏÞÉ×ÁÅÔ ÒÁÎÅÅ ÐÅÒÅÇÒÕÐÐÉÒÏ×ÁÎÎÙÅ ÔÁÂÌÉÃÙ × ÂÁÚÅ ÄÁÎÎÙÈ ÓÏÇÌÁÓÎÏ ÉÎÄÅËÓÕ.\n"
+"\n"
+
+#: clusterdb.c:233
+#: vacuumdb.c:257
+#, c-format
+msgid "  %s [OPTION]... [DBNAME]\n"
+msgstr "  %s [ïðãéñ]... [éíñâä]\n"
+
+#: clusterdb.c:235
+msgid "  -a, --all                 cluster all databases\n"
+msgstr "  -a, --all                 ÐÅÒÅÕÐÏÒÑÄÏÞÉÔØ ×ÓÅ ÂÁÚÙ\n"
+
+#: clusterdb.c:236
+msgid "  -d, --dbname=DBNAME       database to cluster\n"
+msgstr "  -d, --dbname=éíñâä        ÉÍÑ ÂÁÚÙ ÄÌÑ ÐÅÒÅÕÐÏÒÑÄÏÞÉ×ÁÎÉÑ\n"
+
+#: clusterdb.c:237
+msgid "  -t, --table=TABLE         cluster specific table only\n"
+msgstr "  -t, --table=ôáâìéãá        ÐÅÒÅÕÐÏÒÑÄÏÞÉÔØ ËÏÎËÒÅÔÎÕÀ ÔÁÂÌÉÃÕ\n"
+
+#: clusterdb.c:247
+msgid ""
+"\n"
+"Read the description of the SQL command CLUSTER for details.\n"
+msgstr ""
+"\n"
+"þÉÔÁÊÔÅ ÏÐÉÓÁÎÉÅ SQL-ËÏÍÁÎÄÙ CLUSTER ÄÌÑ ÂÏÌÅÅ ÐÏÄÒÏÂÎÏÊ ÉÎÆÏÒÍÁÃÉÉ.\n"
+
+#: vacuumdb.c:135
+#, c-format
+msgid "%s: cannot vacuum all databases and a specific one at the same time\n"
+msgstr "%s: ÎÅÌØÚÑ ÐÒÏÉÚ×ÅÓÔÉ ÓÂÏÒËÕ ÍÕÓÏÒÁ ÄÌÑ ×ÓÅÈ ÂÁÚ É ÏÄÎÏÊ ËÏÎËÒÅÔÎÏÊ ÏÄÎÏ×ÒÅÍÅÎÎÏ\n"
+
+#: vacuumdb.c:141
+#, c-format
+msgid "%s: cannot vacuum a specific table in all databases\n"
+msgstr "%s: ÎÅÌØÚÑ ÐÒÏÉÚ×ÅÓÔÉ ÓÂÏÒËÕ ÍÕÓÏÒÁ × ÏÄÎÏÊ É ÔÏÊ ÖÅ ÔÁÂÌÉÃÅ ×Ï ×ÓÅÈ ÂÁÚÁÈ\n"
+
+#: vacuumdb.c:204
+#, c-format
+msgid "%s: vacuuming of table \"%s\" in database \"%s\" failed: %s"
+msgstr "%s: ÏÛÉÂËÁ ÐÒÉ ÓÂÏÒËÅ ÍÕÓÏÒÁ × ÔÁÂÌÉÃÅ \"%s\" × ÂÁÚÅ \"%s\": %s"
+
+#: vacuumdb.c:207
+#, c-format
+msgid "%s: vacuuming of database \"%s\" failed: %s"
+msgstr "%s: vacuuming of database \"%s\" failed: %s"
+
+#: vacuumdb.c:241
+#, c-format
+msgid "%s: vacuuming database \"%s\"\n"
+msgstr "%s: ÏÛÉÂËÁ ÐÒÉ ÓÂÏÒËÅ ÍÕÓÏÒÁ × ÂÁÚÅ \"%s\"\n"
+
+#: vacuumdb.c:255
+#, c-format
+msgid ""
+"%s cleans and analyzes a PostgreSQL database.\n"
+"\n"
+msgstr ""
+"%s ÏÞÉÝÁÅÔ É ÁÎÁÌÉÚÉÒÕÅÔ ÂÁÚÕ PostgreSQL.\n"
+"\n"
+
+#: vacuumdb.c:259
+msgid "  -a, --all                       vacuum all databases\n"
+msgstr "  -a, --all                       ÐÒÏÉÚ×ÅÓÔÉ ÓÂÏÒËÕ ÍÕÓÏÒÁ ×Ï ×ÓÅÈ ÂÁÚÁÈ\n"
+
+#: vacuumdb.c:260
+msgid "  -d, --dbname=DBNAME             database to vacuum\n"
+msgstr "  -d, --dbname=éíñâä              ÐÒÏÉÚ×ÅÓÔÉ ÓÂÏÒËÕ ÍÕÓÏÒÁ × ÕËÁÚÁÎÎÏÊ ÂÁÚÅ\n"
+
+#: vacuumdb.c:261
+msgid "  -t, --table='TABLE[(COLUMNS)]'  vacuum specific table only\n"
+msgstr "  -t, --table='ôáâìéãá[(ëïìïîëé)]' ÐÒÏÉÚ×ÅÓÔÉ ÓÂÏÒËÕ ÍÕÓÏÒÁ × ÕËÁÚÁÎÎÏÊ ÔÁÂÌÉÃÅ\n"
+
+#: vacuumdb.c:262
+msgid "  -f, --full                      do full vacuuming\n"
+msgstr "  -f, --full                      ÐÒÏÉÚ×ÅÓÉÍ ÇÌÏÂÁÌØÎÕÀ ÓÂÏÒËÕ ÍÕÓÏÒÁ\n"
+
+#: vacuumdb.c:263
+msgid "  -z, --analyze                   update optimizer hints\n"
+msgstr "  -z, --analyze                   ÏÂÎÏ×ÉÔØ ÓÔÁÔÉÓÔÉËÕ ÄÌÑ ÏÐÔÉÍÉÚÁÔÏÒÁ\n"
+
+#: vacuumdb.c:264
+msgid "  -e, --echo                      show the commands being sent to the server\n"
+msgstr "  -e, --echo                      ÐÏËÁÚÙ×ÁÔØ ËÏÍÁÎÄÙ ÏÔÐÒÁ×ÌÑÅÍÙÅ ÓÅÒ×ÅÒÕ\n"
+
+#: vacuumdb.c:265
+msgid "  -q, --quiet                     don't write any messages\n"
+msgstr "  -q, --quiet                     ÎÅ ×Ù×ÏÄÉÔØ ÓÏÏÂÝÅÎÉÑ\n"
+
+#: vacuumdb.c:266
+msgid "  -v, --verbose                   write a lot of output\n"
+msgstr "  -v, --verbose                   ÍÎÏÇÓÌÏ×ÎÙÊ ×Ù×ÏÄ\n"
+
+#: vacuumdb.c:267
+msgid "  --help                          show this help, then exit\n"
+msgstr "  --help                          ÐÏËÁÚÁÔØ ÜÔÕ ÓÐÒÁ×ËÕ É ×ÙÊÔÉ\n"
+
+#: vacuumdb.c:268
+msgid "  --version                       output version information, then exit\n"
+msgstr "  --version                       ÐÏËÁÚÁÔØ ÏÐÃÉÀ É ×ÙÊÔÉ\n"
+
+#: vacuumdb.c:274
+msgid ""
+"\n"
+"Read the description of the SQL command VACUUM for details.\n"
+msgstr ""
+"\n"
+"þÉÔÁÊÔÅ ÏÐÉÓÁÎÉÅ SQL-ËÏÍÁÎÄÙ VACUUM ÄÌÑ ÂÏÌÅÅ ÐÏÄÒÏÂÎÏÊ ÉÎÆÏÒÍÁÃÉÉ.\n"
+
+#: common.c:88
+#: common.c:114
+msgid "Password: "
+msgstr "ðÁÒÏÌØ:"
+
+#: common.c:101
+#, c-format
+msgid "%s: could not connect to database %s\n"
+msgstr "%s: ÎÅ ÕÁÌÏÓØ ÐÏÄÓÏÅÄÉÎÉÔØÓÑ Ë ÂÁÚÅ %s\n"
+
+#: common.c:124
+#, c-format
+msgid "%s: could not connect to database %s: %s"
+msgstr "%s: ÎÅ ÕÁÌÏÓØ ÐÏÄÓÏÅÄÉÎÉÔØÓÑ Ë ÂÁÚÅ %s: %s"
+
+#: common.c:148
+#, c-format
+msgid "%s: query failed: %s"
+msgstr "%s: ÚÁÐÒÏÓ ÎÅ ÕÄÁÌÓÑ: %s"
+
+#: common.c:149
+#, c-format
+msgid "%s: query was: %s\n"
+msgstr "%s: ÚÁÐÒÏÓ: %s\n"
+
+#. translator: Make sure the (y/n) prompts match the translation of this.
+#: common.c:163
+msgid "y"
+msgstr "y"
+
+#. translator: Make sure the (y/n) prompts match the translation of this.
+#: common.c:165
+msgid "n"
+msgstr "n"
+
index 1512f749fa478a3423ab9e5fa8e00f9ec600a7a9..2f8012dd40d8c36f184d0300f5681602ceae8066 100644 (file)
 #include "fmgr.h"
 
 /*
- * An overflow page is a spare page allocated for storing data whose
- * bucket doesn't have room to store it. We use overflow pages rather
- * than just splitting the bucket because there is a linear order in
- * the way we split buckets. In other words, if there isn't enough space
- * in the bucket itself, put it in an overflow page.
- *
- * Overflow page addresses are stored in form: (Splitnumber, Page offset).
- *
- * A splitnumber is the number of the generation where the table doubles
- * in size. The ovflpage's offset within the splitnumber; offsets start
- * at 1.
- *
- * We convert the stored bitmap address into a page address with the
- * macro OADDR_OF(S, O) where S is the splitnumber and O is the page
- * offset.
+ * Mapping from hash bucket number to physical block number of bucket's
+ * starting page.  Beware of multiple evaluations of argument!
  */
 typedef uint32 Bucket;
-typedef bits16 OverflowPageAddress;
-typedef uint32 SplitNumber;
-typedef uint32 PageOffset;
-
-/* A valid overflow address will always have a page offset >= 1 */
-#define InvalidOvflAddress             0
-
-#define SPLITSHIFT             11
-#define SPLITMASK              0x7FF
-#define SPLITNUM(N)            ((SplitNumber)(((uint32)(N)) >> SPLITSHIFT))
-#define OPAGENUM(N)            ((PageOffset)((N) & SPLITMASK))
-#define OADDR_OF(S,O)  ((OverflowPageAddress)((uint32)((uint32)(S) << SPLITSHIFT) + (O)))
 
-#define BUCKET_TO_BLKNO(B) \
-               ((Bucket) ((B) + ((B) ? metap->hashm_spares[_hash_log2((B)+1)-1] : 0)) + 1)
-#define OADDR_TO_BLKNO(B)               \
-               ((BlockNumber) \
-                (BUCKET_TO_BLKNO ( (1 << SPLITNUM((B))) -1 ) + OPAGENUM((B))));
+#define BUCKET_TO_BLKNO(metap,B) \
+               ((BlockNumber) ((B) + ((B) ? (metap)->hashm_spares[_hash_log2((B)+1)-1] : 0)) + 1)
 
 /*
+ * Special space for hash index pages.
+ *
  * hasho_flag tells us which type of page we're looking at.  For
  * example, knowing overflow pages from bucket pages is necessary
  * information when you're deleting tuples from a page. If all the
@@ -69,7 +43,6 @@ typedef uint32 PageOffset;
  * the tuples are deleted from a bucket page, no additional action is
  * necessary.
  */
-
 #define LH_UNUSED_PAGE                 (0)
 #define LH_OVERFLOW_PAGE               (1 << 0)
 #define LH_BUCKET_PAGE                 (1 << 1)
@@ -78,25 +51,46 @@ typedef uint32 PageOffset;
 
 typedef struct HashPageOpaqueData
 {
-       bits16          hasho_flag;             /* is this page a bucket or ovfl */
-       Bucket          hasho_bucket;   /* bucket number this pg belongs to */
-       OverflowPageAddress hasho_oaddr;        /* ovfl address of this ovfl pg */
-       BlockNumber hasho_nextblkno;    /* next ovfl blkno */
        BlockNumber hasho_prevblkno;    /* previous ovfl (or bucket) blkno */
+       BlockNumber hasho_nextblkno;    /* next ovfl blkno */
+       Bucket          hasho_bucket;   /* bucket number this pg belongs to */
+       uint16          hasho_flag;             /* page type code, see above */
+       uint16          hasho_filler;   /* available for future use */
+       /*
+        * We presently set hasho_filler to HASHO_FILL (0x1234); this is for
+        * the convenience of pg_filedump, which otherwise would have a hard
+        * time telling HashPageOpaqueData from BTPageOpaqueData.  If we ever
+        * need that space for some other purpose, pg_filedump will have to
+        * find another way.
+        */
 } HashPageOpaqueData;
 
 typedef HashPageOpaqueData *HashPageOpaque;
 
+#define HASHO_FILL             0x1234
+
 /*
- *     ScanOpaqueData is used to remember which buffers we're currently
- *     examining in the scan.  We keep these buffers locked and pinned and
- *     recorded in the opaque entry of the scan in order to avoid doing a
- *     ReadBuffer() for every tuple in the index.      This avoids semop() calls,
- *     which are expensive.
+ *     HashScanOpaqueData is private state for a hash index scan.
  */
-
 typedef struct HashScanOpaqueData
 {
+       /*
+        * By definition, a hash scan should be examining only one bucket.
+        * We record the bucket number here as soon as it is known.
+        */
+       Bucket          hashso_bucket;
+       bool            hashso_bucket_valid;
+       /*
+        * If we have a share lock on the bucket, we record it here.  When
+        * hashso_bucket_blkno is zero, we have no such lock.
+        */
+       BlockNumber     hashso_bucket_blkno;
+       /*
+        * We also want to remember which buffers we're currently examining in the
+        * scan. We keep these buffers pinned (but not locked) across hashgettuple
+        * calls, in order to avoid doing a ReadBuffer() for every tuple in the
+        * index.
+        */
        Buffer          hashso_curbuf;
        Buffer          hashso_mrkbuf;
 } HashScanOpaqueData;
@@ -110,63 +104,57 @@ typedef HashScanOpaqueData *HashScanOpaque;
 #define HASH_METAPAGE  0               /* metapage is always block 0 */
 
 #define HASH_MAGIC             0x6440640
-#define HASH_VERSION   0
+#define HASH_VERSION   1               /* new for Pg 7.4 */
 
 /*
- * NCACHED is used to set the array sizeof spares[] & bitmaps[].
+ * Spares[] holds the number of overflow pages currently allocated at or
+ * before a certain splitpoint. For example, if spares[3] = 7 then there are
+ * 7 ovflpages before splitpoint 3 (compare BUCKET_TO_BLKNO macro).  The
+ * value in spares[ovflpoint] increases as overflow pages are added at the
+ * end of the index.  Once ovflpoint increases (ie, we have actually allocated
+ * the bucket pages belonging to that splitpoint) the number of spares at the
+ * prior splitpoint cannot change anymore.
  *
- * Spares[] is used to hold the number overflow pages currently
- * allocated at a certain splitpoint. For example, if spares[3] = 7
- * then there are a maximum of 7 ovflpages available at splitpoint 3.
- * The value in spares[] will change as ovflpages are added within
- * a splitpoint.
+ * ovflpages that have been recycled for reuse can be found by looking at
+ * bitmaps that are stored within ovflpages dedicated for the purpose.
+ * The blknos of these bitmap pages are kept in bitmaps[]; nmaps is the
+ * number of currently existing bitmaps.
  *
- * Within a splitpoint, one can find which ovflpages are available and
- * which are used by looking at a bitmaps that are stored on the ovfl
- * pages themselves. There is at least one bitmap for every splitpoint's
- * ovflpages. Bitmaps[] contains the ovflpage addresses of the ovflpages
- * that hold the ovflpage bitmaps.
- *
- * The reason that the size is restricted to NCACHED (32) is because
- * the bitmaps are 16 bits: upper 5 represent the splitpoint, lower 11
- * indicate the page number within the splitpoint. Since there are
- * only 5 bits to store the splitpoint, there can only be 32 splitpoints.
- * Both spares[] and bitmaps[] use splitpoints as there indices, so there
- * can only be 32 of them.
+ * The limitation on the size of spares[] comes from the fact that there's
+ * no point in having more than 2^32 buckets with only uint32 hashcodes.
+ * There is no particular upper limit on the size of mapp[], other than
+ * needing to fit into the metapage.  (With 8K block size, 128 bitmaps
+ * limit us to 64 Gb of overflow space...)
  */
-
-#define NCACHED                        32
-
+#define HASH_MAX_SPLITPOINTS           32
+#define HASH_MAX_BITMAPS                       128
 
 typedef struct HashMetaPageData
 {
        PageHeaderData hashm_phdr;      /* pad for page header (do not use) */
        uint32          hashm_magic;    /* magic no. for hash tables */
        uint32          hashm_version;  /* version ID */
-       uint32          hashm_nkeys;    /* number of keys stored in the table */
-       uint16          hashm_ffactor;  /* fill factor */
-       uint16          hashm_bsize;    /* bucket size (bytes) - must be a power
-                                                                * of 2 */
-       uint16          hashm_bshift;   /* bucket shift */
+       double          hashm_ntuples;  /* number of tuples stored in the table */
+       uint16          hashm_ffactor;  /* target fill factor (tuples/bucket) */
+       uint16          hashm_bsize;    /* index page size (bytes) */
        uint16          hashm_bmsize;   /* bitmap array size (bytes) - must be a
                                                                 * power of 2 */
+       uint16          hashm_bmshift;  /* log2(bitmap array size in BITS) */
        uint32          hashm_maxbucket;        /* ID of maximum bucket in use */
        uint32          hashm_highmask; /* mask to modulo into entire table */
        uint32          hashm_lowmask;  /* mask to modulo into lower half of table */
-       uint32          hashm_ovflpoint;/* pageno. from which ovflpgs being
+       uint32          hashm_ovflpoint;/* splitpoint from which ovflpgs being
                                                                 * allocated */
-       uint32          hashm_lastfreed;        /* last ovflpage freed */
-       uint32          hashm_nmaps;    /* Initial number of bitmaps */
-       uint32          hashm_spares[NCACHED];  /* spare pages available at
-                                                                                * splitpoints */
-       BlockNumber hashm_mapp[NCACHED];        /* blknumbers of ovfl page maps */
+       uint32          hashm_firstfree;        /* lowest-number free ovflpage (bit#) */
+       uint32          hashm_nmaps;    /* number of bitmap pages */
        RegProcedure hashm_procid;      /* hash procedure id from pg_proc */
+       uint32          hashm_spares[HASH_MAX_SPLITPOINTS];     /* spare pages before
+                                                                                                        * each splitpoint */
+       BlockNumber hashm_mapp[HASH_MAX_BITMAPS];       /* blknos of ovfl bitmaps */
 } HashMetaPageData;
 
 typedef HashMetaPageData *HashMetaPage;
 
-extern bool BuildingHash;
-
 typedef struct HashItemData
 {
        IndexTupleData hash_itup;
@@ -174,57 +162,58 @@ typedef struct HashItemData
 
 typedef HashItemData *HashItem;
 
+/*
+ * Maximum size of a hash index item (it's okay to have only one per page)
+ */
+#define HashMaxItemSize(page) \
+       (PageGetPageSize(page) - \
+        sizeof(PageHeaderData) - \
+        MAXALIGN(sizeof(HashPageOpaqueData)) - \
+        sizeof(ItemIdData))
+
 /*
  * Constants
  */
-#define DEFAULT_FFACTOR                        300
-#define SPLITMAX                               8
 #define BYTE_TO_BIT                            3               /* 2^3 bits/byte */
-#define INT_TO_BYTE                            2               /* 2^2 bytes/int */
-#define INT_TO_BIT                             5               /* 2^5 bits/int */
 #define ALL_SET                                        ((uint32) ~0)
 
 /*
- * bitmap pages do not contain tuples. they do contain the standard
+ * Bitmap pages do not contain tuples. They do contain the standard
  * page headers and trailers; however, everything in between is a
- * giant bit array.  the number of bits that fit on a page obviously
- * depends on the page size and the header/trailer overhead.
+ * giant bit array.  The number of bits that fit on a page obviously
+ * depends on the page size and the header/trailer overhead.  We require
+ * the number of bits per page to be a power of 2.
  */
 #define BMPGSZ_BYTE(metap)             ((metap)->hashm_bmsize)
 #define BMPGSZ_BIT(metap)              ((metap)->hashm_bmsize << BYTE_TO_BIT)
+#define BMPG_SHIFT(metap)              ((metap)->hashm_bmshift)
+#define BMPG_MASK(metap)               (BMPGSZ_BIT(metap) - 1)
 #define HashPageGetBitmap(pg) \
        ((uint32 *) (((char *) (pg)) + MAXALIGN(sizeof(PageHeaderData))))
 
 /*
- * The number of bits in an ovflpage bitmap which
- * tells which ovflpages are empty versus in use (NOT the number of
- * bits in an overflow page *address* bitmap).
+ * The number of bits in an ovflpage bitmap word.
  */
-#define BITS_PER_MAP   32              /* Number of bits in ovflpage bitmap */
+#define BITS_PER_MAP   32              /* Number of bits in uint32 */
 
-/* Given the address of the beginning of a big map, clear/set the nth bit */
+/* Given the address of the beginning of a bit map, clear/set the nth bit */
 #define CLRBIT(A, N)   ((A)[(N)/BITS_PER_MAP] &= ~(1<<((N)%BITS_PER_MAP)))
 #define SETBIT(A, N)   ((A)[(N)/BITS_PER_MAP] |= (1<<((N)%BITS_PER_MAP)))
 #define ISSET(A, N)            ((A)[(N)/BITS_PER_MAP] & (1<<((N)%BITS_PER_MAP)))
 
 /*
- * page locking modes
+ * page-level and high-level locking modes (see README)
  */
-#define HASH_READ              0
-#define HASH_WRITE             1
+#define HASH_READ              BUFFER_LOCK_SHARE
+#define HASH_WRITE             BUFFER_LOCK_EXCLUSIVE
+#define HASH_NOLOCK            (-1)
 
-/*
- *     In general, the hash code tries to localize its knowledge about page
- *     layout to a couple of routines.  However, we need a special value to
- *     indicate "no page number" in those places where we expect page numbers.
- */
-
-#define P_NONE                 0
+#define HASH_SHARE             ShareLock
+#define HASH_EXCLUSIVE ExclusiveLock
 
 /*
  *     Strategy number. There's only one valid strategy for hashing: equality.
  */
-
 #define HTEqualStrategyNumber                  1
 #define HTMaxStrategyNumber                            1
 
@@ -233,9 +222,9 @@ typedef HashItemData *HashItem;
  *     us with an amproc procudure for hashing a key of the new type.
  *     Since we only have one such proc in amproc, it's number 1.
  */
-
 #define HASHPROC               1
 
+
 /* public routines */
 
 extern Datum hashbuild(PG_FUNCTION_ARGS);
@@ -276,54 +265,48 @@ extern Datum hash_any(register const unsigned char *k, register int keylen);
 /* hashinsert.c */
 extern InsertIndexResult _hash_doinsert(Relation rel, HashItem hitem);
 
-
 /* hashovfl.c */
-extern Buffer _hash_addovflpage(Relation rel, Buffer *metabufp, Buffer buf);
-extern Buffer _hash_freeovflpage(Relation rel, Buffer ovflbuf);
-extern int32 _hash_initbitmap(Relation rel, HashMetaPage metap, int32 pnum,
-                                int32 nbits, int32 ndx);
-extern void _hash_squeezebucket(Relation rel, HashMetaPage metap,
-                                       Bucket bucket);
-
+extern Buffer _hash_addovflpage(Relation rel, Buffer metabuf, Buffer buf);
+extern BlockNumber _hash_freeovflpage(Relation rel, Buffer ovflbuf);
+extern void _hash_initbitmap(Relation rel, HashMetaPage metap,
+                                                        BlockNumber blkno);
+extern void _hash_squeezebucket(Relation rel,
+                                                               Bucket bucket, BlockNumber bucket_blkno);
 
 /* hashpage.c */
-extern void _hash_metapinit(Relation rel);
+extern void _hash_getlock(Relation rel, BlockNumber whichlock, int access);
+extern bool _hash_try_getlock(Relation rel, BlockNumber whichlock, int access);
+extern void _hash_droplock(Relation rel, BlockNumber whichlock, int access);
 extern Buffer _hash_getbuf(Relation rel, BlockNumber blkno, int access);
-extern void _hash_relbuf(Relation rel, Buffer buf, int access);
+extern void _hash_relbuf(Relation rel, Buffer buf);
+extern void _hash_dropbuf(Relation rel, Buffer buf);
 extern void _hash_wrtbuf(Relation rel, Buffer buf);
-extern void _hash_wrtnorelbuf(Buffer buf);
-extern Page _hash_chgbufaccess(Relation rel, Buffer *bufp, int from_access,
+extern void _hash_wrtnorelbuf(Relation rel, Buffer buf);
+extern void _hash_chgbufaccess(Relation rel, Buffer buf, int from_access,
                                   int to_access);
+extern void _hash_metapinit(Relation rel);
 extern void _hash_pageinit(Page page, Size size);
-extern void _hash_pagedel(Relation rel, ItemPointer tid);
 extern void _hash_expandtable(Relation rel, Buffer metabuf);
 
-
 /* hashscan.c */
 extern void _hash_regscan(IndexScanDesc scan);
 extern void _hash_dropscan(IndexScanDesc scan);
-extern void _hash_adjscans(Relation rel, ItemPointer tid);
+extern bool _hash_has_active_scan(Relation rel, Bucket bucket);
 extern void AtEOXact_hash(void);
 
-
 /* hashsearch.c */
-extern void _hash_search(Relation rel, int keysz, ScanKey scankey,
-                        Buffer *bufP, HashMetaPage metap);
 extern bool _hash_next(IndexScanDesc scan, ScanDirection dir);
 extern bool _hash_first(IndexScanDesc scan, ScanDirection dir);
-extern bool _hash_step(IndexScanDesc scan, Buffer *bufP, ScanDirection dir,
-                  Buffer metabuf);
-
+extern bool _hash_step(IndexScanDesc scan, Buffer *bufP, ScanDirection dir);
 
 /* hashutil.c */
-extern ScanKey _hash_mkscankey(Relation rel, IndexTuple itup);
-extern void _hash_freeskey(ScanKey skey);
 extern bool _hash_checkqual(IndexScanDesc scan, IndexTuple itup);
 extern HashItem _hash_formitem(IndexTuple itup);
-extern Bucket _hash_call(Relation rel, HashMetaPage metap, Datum key);
+extern uint32 _hash_datum2hashkey(Relation rel, Datum key);
+extern Bucket _hash_hashkey2bucket(uint32 hashkey, uint32 maxbucket,
+                                                                  uint32 highmask, uint32 lowmask);
 extern uint32 _hash_log2(uint32 num);
-extern void _hash_checkpage(Page page, int flags);
-
+extern void _hash_checkpage(Relation rel, Page page, int flags);
 
 /* hash.c */
 extern void hash_redo(XLogRecPtr lsn, XLogRecord *record);
index 60aedee5e20dbb931268f70c3bd940d88cd2512f..2d9ac94bcf6b000037132a0035867330934b1402 100644 (file)
@@ -53,6 +53,6 @@
  */
 
 /*                                                     yyyymmddN */
-#define CATALOG_VERSION_NO     200307301
+#define CATALOG_VERSION_NO     200308172
 
 #endif
index 2684f9624dae01adc295c23691b516aa72795b8f..77e74935bbd5bde497ad66342d74d262a5007992 100644 (file)
@@ -418,6 +418,36 @@ DATA(insert (      2098 3 f 2334 ));
 DATA(insert (  2098 4 f 2335 ));
 DATA(insert (  2098 5 f 2336 ));
 
+/*
+ *     btree money_ops
+ */
+
+DATA(insert (  2099 1 f  902 ));
+DATA(insert (  2099 2 f  904 ));
+DATA(insert (  2099 3 f  900 ));
+DATA(insert (  2099 4 f  905 ));
+DATA(insert (  2099 5 f  903 ));
+
+/*
+ *     btree reltime_ops
+ */
+
+DATA(insert (  2233 1 f  568 ));
+DATA(insert (  2233 2 f  570 ));
+DATA(insert (  2233 3 f  566 ));
+DATA(insert (  2233 4 f  569 ));
+DATA(insert (  2233 5 f  571 ));
+
+/*
+ *     btree tinterval_ops
+ */
+
+DATA(insert (  2234 1 f  813 ));
+DATA(insert (  2234 2 f  815 ));
+DATA(insert (  2234 3 f  811 ));
+DATA(insert (  2234 4 f  814 ));
+DATA(insert (  2234 5 f  816 ));
+
 /*
  *     btree array_ops
  */
@@ -496,5 +526,7 @@ DATA(insert (       2230 1 f 2316 ));
 DATA(insert (  2231 1 f 2328 ));
 /* name_pattern_ops */
 DATA(insert (  2232 1 f 2334 ));
+/* aclitem_ops */
+DATA(insert (  2235 1 f  974 ));
 
 #endif   /* PG_AMOP_H */
index 0503a1fb6aaed73be54b5c4a168e135f6f5d2044..5c10e2f44ef46aebdd51fd7e84048c2237f69186 100644 (file)
@@ -110,6 +110,9 @@ DATA(insert (       2095 1 2166 ));
 DATA(insert (  2096 1 2166 ));
 DATA(insert (  2097 1 2180 ));
 DATA(insert (  2098 1 2187 ));
+DATA(insert (  2099 1  377 ));
+DATA(insert (  2233 1  380 ));
+DATA(insert (  2234 1  381 ));
 
 
 /* hash */
@@ -145,5 +148,6 @@ DATA(insert (       2229 1  456 ));
 DATA(insert (  2230 1  456 ));
 DATA(insert (  2231 1  456 ));
 DATA(insert (  2232 1  455 ));
+DATA(insert (  2235 1  329 ));
 
 #endif   /* PG_AMPROC_H */
index 1130eefec8817fbdf7d56066fc0a2b813f712f38..bfaa6afe9c5ede0305afd6584ee70985cbd93359 100644 (file)
@@ -157,6 +157,7 @@ DATA(insert OID = 2097 (    403             bpchar_pattern_ops      PGNSP PGUID 1042 f 0 ));
 #define BPCHAR_PATTERN_BTREE_OPS_OID 2097
 DATA(insert OID = 2098 (       403             name_pattern_ops        PGNSP PGUID   19 f 0 ));
 #define NAME_PATTERN_BTREE_OPS_OID 2098
+DATA(insert OID = 2099 (       403             money_ops               PGNSP PGUID  790 t 0 ));
 DATA(insert OID = 2222 (       405             bool_ops                PGNSP PGUID   16 t 0 ));
 DATA(insert OID = 2223 (       405             bytea_ops               PGNSP PGUID   17 t 0 ));
 DATA(insert OID = 2224 (       405             int2vector_ops  PGNSP PGUID   22 t 0 ));
@@ -168,5 +169,8 @@ DATA(insert OID = 2229 (    405             text_pattern_ops        PGNSP PGUID   25 f 0 ));
 DATA(insert OID = 2230 (       405             varchar_pattern_ops PGNSP PGUID 1043 f 0 ));
 DATA(insert OID = 2231 (       405             bpchar_pattern_ops      PGNSP PGUID 1042 f 0 ));
 DATA(insert OID = 2232 (       405             name_pattern_ops        PGNSP PGUID   19 f 0 ));
+DATA(insert OID = 2233 (       403             reltime_ops             PGNSP PGUID  703 t 0 ));
+DATA(insert OID = 2234 (       403             tinterval_ops   PGNSP PGUID  704 t 0 ));
+DATA(insert OID = 2235 (       405             aclitem_ops             PGNSP PGUID 1033 t 0 ));
 
 #endif   /* PG_OPCLASS_H */
index cb666c36c55b6c79d0e3f11147665b624a708e9a..b32d7bcb3f25227e375a6c4f116b62d701df8eb2 100644 (file)
@@ -424,7 +424,7 @@ DATA(insert OID = 965 (  "^"           PGNSP PGUID b f      701  701        701 0 0 0 0 0 0 dpow -
 DATA(insert OID = 966 (  "+"      PGNSP PGUID b f 1034 1033 1034 0 0 0 0 0 0 aclinsert - - ));
 DATA(insert OID = 967 (  "-"      PGNSP PGUID b f 1034 1033 1034 0 0 0 0 0 0 aclremove - - ));
 DATA(insert OID = 968 (  "~"      PGNSP PGUID b f 1034 1033     16 0 0 0 0 0 0 aclcontains - - ));
-DATA(insert OID = 974 (  "="      PGNSP PGUID b f 1033 1033     16 974 0 0 0 0 0 aclitemeq eqsel eqjoinsel ));
+DATA(insert OID = 974 (  "="      PGNSP PGUID b t 1033 1033     16 974 0 0 0 0 0 aclitemeq eqsel eqjoinsel ));
 
 /* additional geometric operators - thomas 1997-07-09 */
 DATA(insert OID =  969 (  "@@"    PGNSP PGUID l f      0  601  600    0  0 0 0 0 0 lseg_center - - ));
@@ -448,6 +448,7 @@ DATA(insert OID = 1071 (  "<>"         PGNSP PGUID b f 2277 2277 16 1071 1070  0 0 0
 DATA(insert OID = 1072 (  "<"     PGNSP PGUID b f 2277 2277 16 1073 1075  0 0 0 0 array_lt scalarltsel scalarltjoinsel ));
 #define ARRAY_LT_OP 1072
 DATA(insert OID = 1073 (  ">"     PGNSP PGUID b f 2277 2277 16 1072 1074  0 0 0 0 array_gt scalargtsel scalargtjoinsel ));
+#define ARRAY_GT_OP 1073
 DATA(insert OID = 1074 (  "<="    PGNSP PGUID b f 2277 2277 16 1075 1073  0 0 0 0 array_le scalarltsel scalarltjoinsel ));
 DATA(insert OID = 1075 (  ">="    PGNSP PGUID b f 2277 2277 16 1074 1072  0 0 0 0 array_ge scalargtsel scalargtjoinsel ));
 
index cbabe0a5456933991c61ef0d455fae2048c27e32..a2df601ac27d6a25b1bfcfa4683c10766a8849cb 100644 (file)
@@ -758,6 +758,12 @@ DATA(insert OID = 359 (  btnamecmp            PGNSP PGUID 12 f f t f i 2 23 "19 19"        btn
 DESCR("btree less-equal-greater");
 DATA(insert OID = 360 (  bttextcmp                PGNSP PGUID 12 f f t f i 2 23 "25 25"        bttextcmp - _null_ ));
 DESCR("btree less-equal-greater");
+DATA(insert OID = 377 (  cash_cmp                 PGNSP PGUID 12 f f t f i 2 23 "790 790"      cash_cmp - _null_ ));
+DESCR("btree less-equal-greater");
+DATA(insert OID = 380 (  btreltimecmp     PGNSP PGUID 12 f f t f i 2 23 "703 703"      btreltimecmp - _null_ ));
+DESCR("btree less-equal-greater");
+DATA(insert OID = 381 (  bttintervalcmp           PGNSP PGUID 12 f f t f i 2 23 "704 704"      bttintervalcmp - _null_ ));
+DESCR("btree less-equal-greater");
 DATA(insert OID = 382 (  btarraycmp               PGNSP PGUID 12 f f t f i 2 23 "2277 2277"    btarraycmp - _null_ ));
 DESCR("btree less-equal-greater");
 
@@ -844,6 +850,8 @@ DATA(insert OID = 456 (  hashvarlena           PGNSP PGUID 12 f f t f i 1 23 "2281" has
 DESCR("hash any varlena type");
 DATA(insert OID = 457 (  hashoidvector    PGNSP PGUID 12 f f t f i 1 23 "30"  hashoidvector - _null_ ));
 DESCR("hash");
+DATA(insert OID = 329 (  hash_aclitem     PGNSP PGUID 12 f f t f i 1 23 "1033"  hash_aclitem - _null_ ));
+DESCR("hash");
 DATA(insert OID = 398 (  hashint2vector    PGNSP PGUID 12 f f t f i 1 23 "22"  hashint2vector - _null_ ));
 DESCR("hash");
 DATA(insert OID = 399 (  hashmacaddr      PGNSP PGUID 12 f f t f i 1 23 "829"  hashmacaddr - _null_ ));
index 2b93db1cb3ec49eccb57b646ba8202c7334f1688..1aff650472c8c61d882831fd04433769c280104c 100644 (file)
@@ -71,8 +71,6 @@ extern TupleHashTable BuildTupleHashTable(int numCols, AttrNumber *keyColIdx,
 extern TupleHashEntry LookupTupleHashEntry(TupleHashTable hashtable,
                                         TupleTableSlot *slot,
                                         bool *isnew);
-extern TupleHashEntry ScanTupleHashTable(TupleHashTable hashtable,
-                                  TupleHashIterator *state);
 
 /*
  * prototypes from functions in execJunk.c
index d3af6459c617e8e8f2f301263c35a3ceb4edb7cb..afd999805d3f2faadc6c7b6f707dc21fd4eb5556 100644 (file)
@@ -30,9 +30,14 @@ extern int rangeSockAddr(const struct sockaddr_storage * addr,
                          const struct sockaddr_storage * netaddr,
                          const struct sockaddr_storage * netmask);
 
-extern int SockAddr_cidr_mask(struct sockaddr_storage ** mask,
+extern int SockAddr_cidr_mask(struct sockaddr_storage * mask,
                                   char *numbits, int family);
 
+#ifdef HAVE_IPV6
+extern void promote_v4_to_v6_addr(struct sockaddr_storage * addr);
+extern void promote_v4_to_v6_mask(struct sockaddr_storage * addr);
+#endif
+
 #ifdef HAVE_UNIX_SOCKETS
 #define IS_AF_UNIX(fam) ((fam) == AF_UNIX)
 #else
index 407243e6bd83797d3036311f993ddaf49ccf6b79..39c974a4f4af2dc0a01e1cac52c62e91e2a7c617 100644 (file)
@@ -191,17 +191,12 @@ extern int        VacuumMem;
  *     A few postmaster startup options are exported here so the
  *     configuration file processor can access them.
  */
-
 extern bool NetServer;
 extern bool EnableSSL;
 extern bool SilentMode;
 extern int     MaxBackends;
-
-#define DEF_MAXBACKENDS 32
 extern int     ReservedBackends;
 extern DLLIMPORT int NBuffers;
-
-#define DEF_NBUFFERS (DEF_MAXBACKENDS > 8 ? DEF_MAXBACKENDS * 2 : 16)
 extern int     PostPortNumber;
 extern int     Unix_socket_permissions;
 extern char *Unix_socket_group;
index f1e20798ca47c1be2c0510c05c3f36e874aec7eb..6a5dabd053f89dc1136f54daad6bc58ad52a75a1 100644 (file)
@@ -21,6 +21,7 @@
 #include "nodes/bitmapset.h"
 #include "nodes/params.h"
 #include "nodes/plannodes.h"
+#include "utils/hsearch.h"
 #include "utils/tuplestore.h"
 
 
@@ -344,14 +345,14 @@ typedef struct TupleHashTableData *TupleHashTable;
 
 typedef struct TupleHashEntryData
 {
-       TupleHashEntry next;            /* next entry in same hash bucket */
-       uint32          hashkey;                /* exact hash key of this entry */
+       /* firstTuple must be the first field in this struct! */
        HeapTuple       firstTuple;             /* copy of first tuple in this group */
        /* there may be additional data beyond the end of this struct */
 } TupleHashEntryData;                  /* VARIABLE LENGTH STRUCT */
 
 typedef struct TupleHashTableData
 {
+       HTAB       *hashtab;            /* underlying dynahash table */
        int                     numCols;                /* number of columns in lookup key */
        AttrNumber *keyColIdx;          /* attr numbers of key columns */
        FmgrInfo   *eqfunctions;        /* lookup data for comparison functions */
@@ -359,19 +360,15 @@ typedef struct TupleHashTableData
        MemoryContext tablecxt;         /* memory context containing table */
        MemoryContext tempcxt;          /* context for function evaluations */
        Size            entrysize;              /* actual size to make each hash entry */
-       int                     nbuckets;               /* number of buckets in hash table */
-       TupleHashEntry buckets[1];      /* VARIABLE LENGTH ARRAY */
-} TupleHashTableData;                  /* VARIABLE LENGTH STRUCT */
+       TupleDesc       tupdesc;                /* tuple descriptor */
+} TupleHashTableData;
 
-typedef struct
-{
-       TupleHashEntry next_entry;      /* next entry in current chain */
-       int                     next_bucket;    /* next chain */
-} TupleHashIterator;
+typedef HASH_SEQ_STATUS TupleHashIterator;
 
-#define ResetTupleHashIterator(iter) \
-       ((iter)->next_entry = NULL, \
-        (iter)->next_bucket = 0)
+#define ResetTupleHashIterator(htable, iter) \
+       hash_seq_init(iter, (htable)->hashtab)
+#define ScanTupleHashTable(iter) \
+       ((TupleHashEntry) hash_seq_search(iter))
 
 
 /* ----------------------------------------------------------------
@@ -771,6 +768,8 @@ typedef ScanState SeqScanState;
  *             RuntimeKeysReady   true if runtime Skeys have been computed
  *             RelationDescs      ptr to array of relation descriptors
  *             ScanDescs                  ptr to array of scan descriptors
+ *             DupHash                    hashtable for recognizing dups in multiple scan
+ *             MaxHash                    max # entries we will allow in hashtable
  * ----------------
  */
 typedef struct IndexScanState
@@ -788,6 +787,8 @@ typedef struct IndexScanState
        bool            iss_RuntimeKeysReady;
        RelationPtr iss_RelationDescs;
        IndexScanDescPtr iss_ScanDescs;
+       HTAB       *iss_DupHash;
+       long            iss_MaxHash;
 } IndexScanState;
 
 /* ----------------
index 0782c5484f527086ab6f142db106c4ba4d310f8e..e439401de09773929ca88bddf47fc00bc50afd67 100644 (file)
@@ -265,7 +265,7 @@ typedef enum NodeTag
        T_ExprFieldSelect,
        T_ResTarget,
        T_TypeCast,
-       T_SortGroupBy,
+       T_SortBy,
        T_RangeSubselect,
        T_RangeFunction,
        T_TypeName,
index 983aff09a047fd9c0a44a3a50d27d7546ad0f93b..1d2d18bd08a75554e0bf76f4d415c5c10697d9e4 100644 (file)
@@ -279,14 +279,19 @@ typedef struct ResTarget
 } ResTarget;
 
 /*
- * SortGroupBy - for ORDER BY clause
+ * SortBy - for ORDER BY clause
  */
-typedef struct SortGroupBy
+#define SORTBY_ASC             1
+#define SORTBY_DESC            2
+#define SORTBY_USING   3
+
+typedef struct SortBy
 {
        NodeTag         type;
-       List       *useOp;                      /* operator to use */
-       Node       *node;                       /* Expression  */
-} SortGroupBy;
+       int                     sortby_kind;    /* see codes above */
+       List       *useOp;                      /* name of op to use, if SORTBY_USING */
+       Node       *node;                       /* expression to sort on */
+} SortBy;
 
 /*
  * RangeSubselect - subquery appearing in a FROM clause
@@ -614,7 +619,7 @@ typedef struct SelectStmt
         * These fields are used in both "leaf" SelectStmts and upper-level
         * SelectStmts.
         */
-       List       *sortClause;         /* sort clause (a list of SortGroupBy's) */
+       List       *sortClause;         /* sort clause (a list of SortBy's) */
        Node       *limitOffset;        /* # of result tuples to skip */
        Node       *limitCount;         /* # of result tuples to return */
        List       *forUpdate;          /* FOR UPDATE clause */
index 6357cb76aeb1fd4072f0a481654b7b51e3aa6a6d..3a7347606e237f8d721cc31db2d1df91c1b5a91c 100644 (file)
@@ -132,6 +132,9 @@ typedef struct List
  * FastList is an optimization for building large lists.  The conventional
  * way to build a list is repeated lappend() operations, but that is O(N^2)
  * in the number of list items, which gets tedious for large lists.
+ *
+ * Note: there are some hacks in gram.y that rely on the head pointer (the
+ * value-as-list) being the first field.
  */
 typedef struct FastList
 {
@@ -144,6 +147,9 @@ typedef struct FastList
        ( (fl)->head = (l), (fl)->tail = llastnode((fl)->head) )
 #define FastListValue(fl)      ( (fl)->head )
 
+#define makeFastList1(fl, x1)  \
+       ( (fl)->head = (fl)->tail = makeList1(x1) )
+
 
 /*
  * function prototypes in nodes/list.c
index e8cfa84ce2b77e4b47eb1d564d875a2dc5839fd4..d7833a8ee45c124eb9bc5cfcc5a1f76c4758692b 100644 (file)
@@ -587,16 +587,18 @@ typedef struct CaseWhen
 /*
  * ArrayExpr - an ARRAY[] expression
  *
- * Note: if ndims > 1, then the array elements are all ArrayExprs of the
- * same type and ndims one less.
+ * Note: if multidims is false, the constituent expressions all yield the
+ * scalar type identified by element_typeid.  If multidims is true, the
+ * constituent expressions all yield arrays of element_typeid (ie, the same
+ * type as array_typeid); at runtime we must check for compatible subscripts.
  */
 typedef struct ArrayExpr
 {
        Expr            xpr;
        Oid                     array_typeid;   /* type of expression result */
-       Oid                     element_typeid; /* common type of expression elements */
-       List       *elements;           /* the array elements */
-       int                     ndims;                  /* number of array dimensions */
+       Oid                     element_typeid; /* common type of array elements */
+       List       *elements;           /* the array elements or sub-arrays */
+       bool            multidims;              /* true if elements are sub-arrays */
 } ArrayExpr;
 
 /*
index c8c8b339d478a8d6b06382e74031805fc41219b5..30cb3fa5931121917807106632f483cb712b254d 100644 (file)
@@ -37,7 +37,8 @@ extern List *addAllTargetsToSortList(ParseState *pstate,
                                                bool resolveUnknown);
 extern List *addTargetToSortList(ParseState *pstate, TargetEntry *tle,
                                        List *sortlist, List *targetlist,
-                                       List *opname, bool resolveUnknown);
+                                       int sortby_kind, List *sortby_opname,
+                                       bool resolveUnknown);
 extern Index assignSortGroupRef(TargetEntry *tle, List *tlist);
 extern bool targetIsInSortList(TargetEntry *tle, List *sortList);
 
index bec0daa99f78a7b5b27816e1872ed916ff406a9e..ca8781a1ee7c04f32ea0a5e3e695d35e22d44975 100644 (file)
@@ -38,15 +38,16 @@ extern Operator compatible_oper(List *op, Oid arg1, Oid arg2, bool noError);
 
 /* currently no need for compatible_left_oper/compatible_right_oper */
 
-/* Routines for identifying "=" and "<" operators for a type */
+/* Routines for identifying "=", "<", ">" operators for a type */
 extern Operator equality_oper(Oid argtype, bool noError);
 extern Operator ordering_oper(Oid argtype, bool noError);
+extern Operator reverse_ordering_oper(Oid argtype, bool noError);
 
 /* Convenience routines for common calls on the above */
 extern Oid     compatible_oper_opid(List *op, Oid arg1, Oid arg2, bool noError);
 extern Oid     equality_oper_funcid(Oid argtype);
 extern Oid     ordering_oper_opid(Oid argtype);
-extern Oid     ordering_oper_funcid(Oid argtype);
+extern Oid     reverse_ordering_oper_opid(Oid argtype);
 
 /* Extract operator OID or underlying-function OID from an Operator tuple */
 extern Oid     oprid(Operator op);
index acb140b856bd0eeb20966c90e6213c9eb3c2d135..03874772cd0b38ecf26fb3c4137c738b980b93cd 100644 (file)
@@ -9,6 +9,9 @@
 /* Define to the type of arg 3 of 'accept' */
 #undef ACCEPT_TYPE_ARG3
 
+/* Define to the return type of 'accept' */
+#undef ACCEPT_TYPE_RETURN
+
 /* The alignment requirement of a `double'. */
 #undef ALIGNOF_DOUBLE
 
 /* Define to 1 if you have the `getaddrinfo' function. */
 #undef HAVE_GETADDRINFO
 
-/* Define to 1 if you have the `gethostbyname_r' function. */
-#undef HAVE_GETHOSTBYNAME_R
-
 /* Define to 1 if you have the `gethostname' function. */
 #undef HAVE_GETHOSTNAME
 
 /* Define to 1 if you have the `getpeereid' function. */
 #undef HAVE_GETPEEREID
 
-/* Define to 1 if you have the `getpwuid_r' function. */
-#undef HAVE_GETPWUID_R
-
 /* Define to 1 if you have the `getrusage' function. */
 #undef HAVE_GETRUSAGE
 
 /* Define to 1 if you have the `strerror' function. */
 #undef HAVE_STRERROR
 
-/* Define to 1 if you have the `strerror_r' function. */
-#undef HAVE_STRERROR_R
-
 /* Define to 1 if cpp supports the ANSI # stringizing operator. */
 #undef HAVE_STRINGIZE
 
index 03ffaf4531797905e7f031b0a15bcfe203884f87..d540decfd110881068ab807948e9b0f671d9f104 100644 (file)
@@ -112,8 +112,10 @@ extern void srandom(unsigned int seed);
 /* thread.h */
 extern char *pqStrerror(int errnum, char *strerrbuf, size_t buflen);
 
+#ifndef WIN32
 extern int pqGetpwuid(uid_t uid, struct passwd * resultbuf, char *buffer,
                   size_t buflen, struct passwd ** result);
+#endif
 
 extern int pqGethostbyname(const char *name,
                                struct hostent * resbuf,
index 13c7dd2363017d2fcddf374f9374f6311d28d6d9..6d3082ea7430ee1c3c031c2300c837617ac7731a 100644 (file)
@@ -47,4 +47,21 @@ typedef unsigned int Oid;
  */
 #define NAMEDATALEN 64
 
+
+/*
+ * Identifiers of error message fields.  Kept here to keep common
+ * between frontend and backend, and also to export them to libpq
+ * applications.
+ */
+#define PG_DIAG_SEVERITY               'S'
+#define PG_DIAG_SQLSTATE               'C'
+#define PG_DIAG_MESSAGE_PRIMARY        'M'
+#define PG_DIAG_MESSAGE_DETAIL 'D'
+#define PG_DIAG_MESSAGE_HINT   'H'
+#define PG_DIAG_STATEMENT_POSITION 'P'
+#define PG_DIAG_CONTEXT                        'W'
+#define PG_DIAG_SOURCE_FILE            'F'
+#define PG_DIAG_SOURCE_LINE            'L'
+#define PG_DIAG_SOURCE_FUNCTION        'R'
+
 #endif
index da9dd8b402b50cd6678777cab681bb2d0914ee6a..e55183d256cc91e1a750de34737f248db81bd8f0 100644 (file)
@@ -54,8 +54,9 @@ extern void UnlockRelation(Relation relation, LOCKMODE lockmode);
 extern void LockRelationForSession(LockRelId *relid, LOCKMODE lockmode);
 extern void UnlockRelationForSession(LockRelId *relid, LOCKMODE lockmode);
 
-/* Lock a page (mainly used for indices) */
+/* Lock a page (mainly used for indexes) */
 extern void LockPage(Relation relation, BlockNumber blkno, LOCKMODE lockmode);
+extern bool ConditionalLockPage(Relation relation, BlockNumber blkno, LOCKMODE lockmode);
 extern void UnlockPage(Relation relation, BlockNumber blkno, LOCKMODE lockmode);
 
 /* Lock an XID (used to wait for a transaction to finish) */
index ca52a30615279d3bf0191d08ca53a0369c6a6072..01d7dded30479fe25e46fefd66e92277fac55f9b 100644 (file)
@@ -209,6 +209,7 @@ extern Datum aclremove(PG_FUNCTION_ARGS);
 extern Datum aclcontains(PG_FUNCTION_ARGS);
 extern Datum makeaclitem(PG_FUNCTION_ARGS);
 extern Datum aclitem_eq(PG_FUNCTION_ARGS);
+extern Datum hash_aclitem(PG_FUNCTION_ARGS);
 
 /*
  * prototypes for functions in aclchk.c
index 51fc30f6afb280b4043a17c442dd475f96efa344..3f4aa388f068183f931403f1630ebcb41fba6f09 100644 (file)
@@ -222,6 +222,8 @@ extern Datum btfloat8cmp(PG_FUNCTION_ARGS);
 extern Datum btoidcmp(PG_FUNCTION_ARGS);
 extern Datum btoidvectorcmp(PG_FUNCTION_ARGS);
 extern Datum btabstimecmp(PG_FUNCTION_ARGS);
+extern Datum btreltimecmp(PG_FUNCTION_ARGS);
+extern Datum bttintervalcmp(PG_FUNCTION_ARGS);
 extern Datum btcharcmp(PG_FUNCTION_ARGS);
 extern Datum btnamecmp(PG_FUNCTION_ARGS);
 extern Datum bttextcmp(PG_FUNCTION_ARGS);
index 305304c20d2a17d12d82b82ddd50e8808186389e..b78da25edd165876277639b4f365c9d9f44c9630 100644 (file)
@@ -23,6 +23,7 @@ extern Datum cash_lt(PG_FUNCTION_ARGS);
 extern Datum cash_le(PG_FUNCTION_ARGS);
 extern Datum cash_gt(PG_FUNCTION_ARGS);
 extern Datum cash_ge(PG_FUNCTION_ARGS);
+extern Datum cash_cmp(PG_FUNCTION_ARGS);
 
 extern Datum cash_pl(PG_FUNCTION_ARGS);
 extern Datum cash_mi(PG_FUNCTION_ARGS);
index 8542467017b5e70aa5c8402ec0331ce3bbbc82af..a4a425cf602c7ec6d33cb5324da6c812c64376b7 100644 (file)
@@ -204,7 +204,7 @@ typedef struct
  */
 #define FMODULO(t,q,u) \
 do { \
-       q = ((t < 0) ? ceil(t / u): floor(t / u)); \
+       q = ((t < 0) ? ceil(t / u) : floor(t / u)); \
        if (q != 0) t -= rint(q * u); \
 } while(0)
 
@@ -222,7 +222,7 @@ do { \
 #else
 #define TMODULO(t,q,u) \
 do { \
-       q = ((t < 0) ? ceil(t / u): floor(t / u)); \
+       q = ((t < 0) ? ceil(t / u) : floor(t / u)); \
        if (q != 0) t -= rint(q * u); \
 } while(0)
 #endif
@@ -253,6 +253,15 @@ extern int day_tab[2][13];
   || (((m) == JULIAN_MINMONTH) && ((d) >= JULIAN_MINDAY))))) \
  && ((y) < JULIAN_MAXYEAR))
 
+/* Julian-date equivalents of Day 0 in Unix and Postgres reckoning */
+#define UNIX_EPOCH_JDATE               2440588 /* == date2j(1970, 1, 1) */
+#define POSTGRES_EPOCH_JDATE   2451545 /* == date2j(2000, 1, 1) */
+
+/*
+ * Info about limits of the Unix time_t data type.  We assume that time_t
+ * is a signed int32 with origin 1970-01-01.  Note this is only relevant
+ * when we use the C library's time routines for timezone processing.
+ */
 #define UTIME_MINYEAR (1901)
 #define UTIME_MINMONTH (12)
 #define UTIME_MINDAY (14)
@@ -267,9 +276,17 @@ extern int day_tab[2][13];
  || (((y) == UTIME_MAXYEAR) && (((m) < UTIME_MAXMONTH) \
   || (((m) == UTIME_MAXMONTH) && ((d) <= UTIME_MAXDAY))))))
 
-/* Julian-date equivalents of Day 0 in Unix and Postgres reckoning */
-#define UNIX_EPOCH_JDATE               2440588 /* == date2j(1970, 1, 1) */
-#define POSTGRES_EPOCH_JDATE   2451545 /* == date2j(2000, 1, 1) */
+/*
+ * Datetime input parsing routines (ParseDateTime, DecodeDateTime, etc)
+ * return zero or a positive value on success.  On failure, they return
+ * one of these negative code values.  DateTimeParseError may be used to
+ * produce a correct ereport.
+ */
+#define DTERR_BAD_FORMAT               (-1)
+#define DTERR_FIELD_OVERFLOW   (-2)
+#define DTERR_MD_FIELD_OVERFLOW        (-3)    /* triggers hint about DateStyle */
+#define DTERR_INTERVAL_OVERFLOW        (-4)
+#define DTERR_TZDISP_OVERFLOW  (-5)
 
 
 extern void GetCurrentDateTime(struct tm * tm);
@@ -283,14 +300,14 @@ extern int ParseDateTime(const char *timestr, char *lowstr,
 extern int DecodeDateTime(char **field, int *ftype,
                           int nf, int *dtype,
                           struct tm * tm, fsec_t *fsec, int *tzp);
-
 extern int DecodeTimeOnly(char **field, int *ftype,
                           int nf, int *dtype,
                           struct tm * tm, fsec_t *fsec, int *tzp);
-
 extern int DecodeInterval(char **field, int *ftype,
                           int nf, int *dtype,
                           struct tm * tm, fsec_t *fsec);
+extern void DateTimeParseError(int dterr, const char *str,
+                                                          const char *datatype);
 
 extern int     DetermineLocalTimeZone(struct tm * tm);
 
diff --git a/src/include/utils/errcodes.h b/src/include/utils/errcodes.h
new file mode 100644 (file)
index 0000000..7c7e200
--- /dev/null
@@ -0,0 +1,308 @@
+/*-------------------------------------------------------------------------
+ *
+ * errcodes.h
+ *       POSTGRES error codes
+ *
+ * The error code list is kept in its own source file for possible use by
+ * automatic tools.  Each error code is identified by a five-character string
+ * following the SQLSTATE conventions. The exact representation of the
+ * string is determined by the MAKE_SQLSTATE() macro, which is not defined
+ * in this file; it can be defined by the caller for special purposes.
+ *
+ * Copyright (c) 2003, PostgreSQL Global Development Group
+ *
+ * $Id$
+ *
+ *-------------------------------------------------------------------------
+ */
+
+/* there is deliberately not an #ifndef ERRCODES_H here */
+
+
+/*
+ * SQLSTATE codes for errors.
+ *
+ * The SQL99 code set is rather impoverished, especially in the area of
+ * syntactical and semantic errors.  We have borrowed codes from IBM's DB2
+ * and invented our own codes to develop a useful code set.
+ *
+ * When adding a new code, make sure it is placed in the most appropriate
+ * class (the first two characters of the code value identify the class).
+ * The listing is organized by class to make this prominent.
+ *
+ * The generic '000' class code should be used for an error only when there
+ * is not a more-specific code defined.
+ */
+
+/* Class 00 - Successful Completion */
+#define ERRCODE_SUCCESSFUL_COMPLETION          MAKE_SQLSTATE('0','0', '0','0','0')
+
+/* Class 01 - Warning */
+/* (do not use this class for failure conditions!) */
+#define ERRCODE_WARNING                                                MAKE_SQLSTATE('0','1', '0','0','0')
+#define ERRCODE_WARNING_DYNAMIC_RESULT_SETS_RETURNED           MAKE_SQLSTATE('0','1', '0','0','C')
+#define ERRCODE_WARNING_IMPLICIT_ZERO_BIT_PADDING      MAKE_SQLSTATE('0','1', '0','0','8')
+#define ERRCODE_WARNING_NULL_VALUE_ELIMINATED_IN_SET_FUNCTION  MAKE_SQLSTATE('0','1', '0','0','3')
+#define ERRCODE_WARNING_STRING_DATA_RIGHT_TRUNCATION   MAKE_SQLSTATE('0','1', '0','0','4')
+
+/* Class 02 - No Data --- this is also a warning class per SQL99 */
+/* (do not use this class for failure conditions!) */
+#define ERRCODE_NO_DATA                                                MAKE_SQLSTATE('0','2', '0','0','0')
+#define ERRCODE_NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED     MAKE_SQLSTATE('0','2', '0','0','1')
+
+/* Class 03 - SQL Statement Not Yet Complete */
+#define ERRCODE_SQL_STATEMENT_NOT_YET_COMPLETE         MAKE_SQLSTATE('0','3', '0','0','0')
+
+/* Class 08 - Connection Exception */
+#define ERRCODE_CONNECTION_EXCEPTION           MAKE_SQLSTATE('0','8', '0','0','0')
+#define ERRCODE_CONNECTION_DOES_NOT_EXIST      MAKE_SQLSTATE('0','8', '0','0','3')
+#define ERRCODE_CONNECTION_FAILURE                     MAKE_SQLSTATE('0','8', '0','0','6')
+#define ERRCODE_SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION            MAKE_SQLSTATE('0','8', '0','0','1')
+#define ERRCODE_SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION      MAKE_SQLSTATE('0','8', '0','0','4')
+#define ERRCODE_TRANSACTION_RESOLUTION_UNKNOWN         MAKE_SQLSTATE('0','8', '0','0','7')
+#define ERRCODE_PROTOCOL_VIOLATION                     MAKE_SQLSTATE('0','8', 'P','0','1')
+
+/* Class 09 - Triggered Action Exception */
+#define ERRCODE_TRIGGERED_ACTION_EXCEPTION     MAKE_SQLSTATE('0','9', '0','0','0')
+
+/* Class 0A - Feature Not Supported */
+#define ERRCODE_FEATURE_NOT_SUPPORTED          MAKE_SQLSTATE('0','A', '0','0','0')
+
+/* Class 0B - Invalid Transaction Initiation */
+#define ERRCODE_INVALID_TRANSACTION_INITIATION         MAKE_SQLSTATE('0','B', '0','0','0')
+
+/* Class 0F - Locator Exception */
+#define ERRCODE_LOCATOR_EXCEPTION                      MAKE_SQLSTATE('0','F', '0','0','0')
+#define ERRCODE_L_E_INVALID_SPECIFICATION      MAKE_SQLSTATE('0','F', '0','0','1')
+
+/* Class 0L - Invalid Grantor */
+#define ERRCODE_INVALID_GRANTOR                                MAKE_SQLSTATE('0','L', '0','0','0')
+#define ERRCODE_INVALID_GRANT_OPERATION                MAKE_SQLSTATE('0','L', 'P','0','1')
+
+/* Class 0P - Invalid Role Specification */
+#define ERRCODE_INVALID_ROLE_SPECIFICATION     MAKE_SQLSTATE('0','P', '0','0','0')
+
+/* Class 21 - Cardinality Violation */
+/* (this means something returned the wrong number of rows) */
+#define ERRCODE_CARDINALITY_VIOLATION          MAKE_SQLSTATE('2','1', '0','0','0')
+
+/* Class 22 - Data Exception */
+#define ERRCODE_DATA_EXCEPTION                         MAKE_SQLSTATE('2','2', '0','0','0')
+#define ERRCODE_ARRAY_ELEMENT_ERROR                    MAKE_SQLSTATE('2','2', '0','2','E')
+/* SQL99's actual definition of "array element error" is subscript error */
+#define ERRCODE_ARRAY_SUBSCRIPT_ERROR          ERRCODE_ARRAY_ELEMENT_ERROR
+#define ERRCODE_CHARACTER_NOT_IN_REPERTOIRE MAKE_SQLSTATE('2','2', '0','2','1')
+#define ERRCODE_DATETIME_FIELD_OVERFLOW                MAKE_SQLSTATE('2','2', '0','0','8')
+#define ERRCODE_DATETIME_VALUE_OUT_OF_RANGE ERRCODE_DATETIME_FIELD_OVERFLOW
+#define ERRCODE_DIVISION_BY_ZERO                       MAKE_SQLSTATE('2','2', '0','1','2')
+#define ERRCODE_ERROR_IN_ASSIGNMENT                    MAKE_SQLSTATE('2','2', '0','0','5')
+#define ERRCODE_ESCAPE_CHARACTER_CONFLICT      MAKE_SQLSTATE('2','2', '0','0','B')
+#define ERRCODE_INDICATOR_OVERFLOW                     MAKE_SQLSTATE('2','2', '0','2','2')
+#define ERRCODE_INTERVAL_FIELD_OVERFLOW                MAKE_SQLSTATE('2','2', '0','1','5')
+#define ERRCODE_INVALID_CHARACTER_VALUE_FOR_CAST               MAKE_SQLSTATE('2','2', '0','1','8')
+#define ERRCODE_INVALID_DATETIME_FORMAT                MAKE_SQLSTATE('2','2', '0','0','7')
+#define ERRCODE_INVALID_ESCAPE_CHARACTER       MAKE_SQLSTATE('2','2', '0','1','9')
+#define ERRCODE_INVALID_ESCAPE_OCTET           MAKE_SQLSTATE('2','2', '0','0','D')
+#define ERRCODE_INVALID_ESCAPE_SEQUENCE                MAKE_SQLSTATE('2','2', '0','2','5')
+#define ERRCODE_INVALID_INDICATOR_PARAMETER_VALUE              MAKE_SQLSTATE('2','2', '0','1','0')
+#define ERRCODE_INVALID_LIMIT_VALUE                    MAKE_SQLSTATE('2','2', '0','2','0')
+#define ERRCODE_INVALID_PARAMETER_VALUE                MAKE_SQLSTATE('2','2', '0','2','3')
+#define ERRCODE_INVALID_REGULAR_EXPRESSION     MAKE_SQLSTATE('2','2', '0','1','B')
+#define ERRCODE_INVALID_TIME_ZONE_DISPLACEMENT_VALUE   MAKE_SQLSTATE('2','2', '0','0','9')
+#define ERRCODE_INVALID_USE_OF_ESCAPE_CHARACTER                MAKE_SQLSTATE('2','2', '0','0','C')
+#define ERRCODE_MOST_SPECIFIC_TYPE_MISMATCH MAKE_SQLSTATE('2','2', '0','0','G')
+#define ERRCODE_NULL_VALUE_NOT_ALLOWED         MAKE_SQLSTATE('2','2', '0','0','4')
+#define ERRCODE_NULL_VALUE_NO_INDICATOR_PARAMETER      MAKE_SQLSTATE('2','2', '0','0','2')
+#define ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE     MAKE_SQLSTATE('2','2', '0','0','3')
+#define ERRCODE_STRING_DATA_LENGTH_MISMATCH MAKE_SQLSTATE('2','2', '0','2','6')
+#define ERRCODE_STRING_DATA_RIGHT_TRUNCATION           MAKE_SQLSTATE('2','2', '0','0','1')
+#define ERRCODE_SUBSTRING_ERROR                                MAKE_SQLSTATE('2','2', '0','1','1')
+#define ERRCODE_TRIM_ERROR                                     MAKE_SQLSTATE('2','2', '0','2','7')
+#define ERRCODE_UNTERMINATED_C_STRING          MAKE_SQLSTATE('2','2', '0','2','4')
+#define ERRCODE_ZERO_LENGTH_CHARACTER_STRING           MAKE_SQLSTATE('2','2', '0','0','F')
+#define ERRCODE_FLOATING_POINT_EXCEPTION       MAKE_SQLSTATE('2','2', 'P','0','1')
+#define ERRCODE_INVALID_TEXT_REPRESENTATION MAKE_SQLSTATE('2','2', 'P','0','2')
+#define ERRCODE_INVALID_BINARY_REPRESENTATION  MAKE_SQLSTATE('2','2', 'P','0','3')
+#define ERRCODE_BAD_COPY_FILE_FORMAT           MAKE_SQLSTATE('2','2', 'P','0','4')
+#define ERRCODE_UNTRANSLATABLE_CHARACTER       MAKE_SQLSTATE('2','2', 'P','0','5')
+
+/* Class 23 - Integrity Constraint Violation */
+#define ERRCODE_INTEGRITY_CONSTRAINT_VIOLATION         MAKE_SQLSTATE('2','3', '0','0','0')
+#define ERRCODE_RESTRICT_VIOLATION                     MAKE_SQLSTATE('2','3', '0','0','1')
+#define ERRCODE_NOT_NULL_VIOLATION                     MAKE_SQLSTATE('2','3', '5','0','2')
+#define ERRCODE_FOREIGN_KEY_VIOLATION          MAKE_SQLSTATE('2','3', '5','0','3')
+#define ERRCODE_UNIQUE_VIOLATION                       MAKE_SQLSTATE('2','3', '5','0','5')
+#define ERRCODE_CHECK_VIOLATION                                MAKE_SQLSTATE('2','3', '5','1','4')
+
+/* Class 24 - Invalid Cursor State */
+#define ERRCODE_INVALID_CURSOR_STATE           MAKE_SQLSTATE('2','4', '0','0','0')
+
+/* Class 25 - Invalid Transaction State */
+#define ERRCODE_INVALID_TRANSACTION_STATE      MAKE_SQLSTATE('2','5', '0','0','0')
+#define ERRCODE_ACTIVE_SQL_TRANSACTION         MAKE_SQLSTATE('2','5', '0','0','1')
+#define ERRCODE_BRANCH_TRANSACTION_ALREADY_ACTIVE      MAKE_SQLSTATE('2','5', '0','0','2')
+#define ERRCODE_HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL      MAKE_SQLSTATE('2','5', '0','0','8')
+#define ERRCODE_INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION       MAKE_SQLSTATE('2','5', '0','0','3')
+#define ERRCODE_INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION   MAKE_SQLSTATE('2','5', '0','0','4')
+#define ERRCODE_NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION       MAKE_SQLSTATE('2','5', '0','0','5')
+#define ERRCODE_READ_ONLY_SQL_TRANSACTION      MAKE_SQLSTATE('2','5', '0','0','6')
+#define ERRCODE_SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED MAKE_SQLSTATE('2','5', '0','0','7')
+#define ERRCODE_NO_ACTIVE_SQL_TRANSACTION      MAKE_SQLSTATE('2','5', 'P','0','1')
+#define ERRCODE_IN_FAILED_SQL_TRANSACTION      MAKE_SQLSTATE('2','5', 'P','0','2')
+
+/* Class 26 - Invalid SQL Statement Name */
+/* (we take this to mean prepared statements) */
+#define ERRCODE_INVALID_SQL_STATEMENT_NAME     MAKE_SQLSTATE('2','6', '0','0','0')
+
+/* Class 27 - Triggered Data Change Violation */
+#define ERRCODE_TRIGGERED_DATA_CHANGE_VIOLATION                MAKE_SQLSTATE('2','7', '0','0','0')
+
+/* Class 28 - Invalid Authorization Specification */
+#define ERRCODE_INVALID_AUTHORIZATION_SPECIFICATION MAKE_SQLSTATE('2','8', '0','0','0')
+
+/* Class 2B - Dependent Privilege Descriptors Still Exist */
+#define ERRCODE_DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST            MAKE_SQLSTATE('2','B', '0','0','0')
+#define ERRCODE_DEPENDENT_OBJECTS_STILL_EXIST          MAKE_SQLSTATE('2','B', 'P','0','1')
+
+/* Class 2D - Invalid Transaction Termination */
+#define ERRCODE_INVALID_TRANSACTION_TERMINATION                MAKE_SQLSTATE('2','D', '0','0','0')
+
+/* Class 2F - SQL Routine Exception */
+#define ERRCODE_SQL_ROUTINE_EXCEPTION          MAKE_SQLSTATE('2','F', '0','0','0')
+#define ERRCODE_S_R_E_FUNCTION_EXECUTED_NO_RETURN_STATEMENT MAKE_SQLSTATE('2','F', '0','0','5')
+#define ERRCODE_S_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED         MAKE_SQLSTATE('2','F', '0','0','2')
+#define ERRCODE_S_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED       MAKE_SQLSTATE('2','F', '0','0','3')
+#define ERRCODE_S_R_E_READING_SQL_DATA_NOT_PERMITTED           MAKE_SQLSTATE('2','F', '0','0','4')
+
+/* Class 34 - Invalid Cursor Name */
+#define ERRCODE_INVALID_CURSOR_NAME                    MAKE_SQLSTATE('3','4', '0','0','0')
+
+/* Class 38 - External Routine Exception */
+#define ERRCODE_EXTERNAL_ROUTINE_EXCEPTION     MAKE_SQLSTATE('3','8', '0','0','0')
+#define ERRCODE_E_R_E_CONTAINING_SQL_NOT_PERMITTED     MAKE_SQLSTATE('3','8', '0','0','1')
+#define ERRCODE_E_R_E_MODIFYING_SQL_DATA_NOT_PERMITTED MAKE_SQLSTATE('3','8', '0','0','2')
+#define ERRCODE_E_R_E_PROHIBITED_SQL_STATEMENT_ATTEMPTED       MAKE_SQLSTATE('3','8', '0','0','3')
+#define ERRCODE_E_R_E_READING_SQL_DATA_NOT_PERMITTED   MAKE_SQLSTATE('3','8', '0','0','4')
+
+/* Class 39 - External Routine Invocation Exception */
+#define ERRCODE_EXTERNAL_ROUTINE_INVOCATION_EXCEPTION  MAKE_SQLSTATE('3','9', '0','0','0')
+#define ERRCODE_E_R_I_E_INVALID_SQLSTATE_RETURNED      MAKE_SQLSTATE('3','9', '0','0','1')
+#define ERRCODE_E_R_I_E_NULL_VALUE_NOT_ALLOWED MAKE_SQLSTATE('3','9', '0','0','4')
+#define ERRCODE_E_R_I_E_TRIGGER_PROTOCOL_VIOLATED      MAKE_SQLSTATE('3','9', 'P','0','1')
+#define ERRCODE_E_R_I_E_SRF_PROTOCOL_VIOLATED  MAKE_SQLSTATE('3','9', 'P','0','2')
+
+/* Class 3D - Invalid Catalog Name */
+#define ERRCODE_INVALID_CATALOG_NAME           MAKE_SQLSTATE('3','D', '0','0','0')
+
+/* Class 3F - Invalid Schema Name */
+#define ERRCODE_INVALID_SCHEMA_NAME                    MAKE_SQLSTATE('3','F', '0','0','0')
+
+/* Class 40 - Transaction Rollback */
+#define ERRCODE_TRANSACTION_ROLLBACK           MAKE_SQLSTATE('4','0', '0','0','0')
+#define ERRCODE_T_R_INTEGRITY_CONSTRAINT_VIOLATION     MAKE_SQLSTATE('4','0', '0','0','2')
+#define ERRCODE_T_R_SERIALIZATION_FAILURE      MAKE_SQLSTATE('4','0', '0','0','1')
+#define ERRCODE_T_R_STATEMENT_COMPLETION_UNKNOWN       MAKE_SQLSTATE('4','0', '0','0','3')
+#define ERRCODE_T_R_DEADLOCK_DETECTED          MAKE_SQLSTATE('4','0', 'P','0','1')
+
+/* Class 42 - Syntax Error or Access Rule Violation */
+#define ERRCODE_SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION          MAKE_SQLSTATE('4','2', '0','0','0')
+/* never use the above; use one of these two if no specific code exists: */
+#define ERRCODE_SYNTAX_ERROR                           MAKE_SQLSTATE('4','2', '6','0','1')
+#define ERRCODE_INSUFFICIENT_PRIVILEGE         MAKE_SQLSTATE('4','2', '5','0','1')
+#define ERRCODE_CANNOT_COERCE                          MAKE_SQLSTATE('4','2', '8','4','6')
+#define ERRCODE_GROUPING_ERROR                         MAKE_SQLSTATE('4','2', '8','0','3')
+#define ERRCODE_INVALID_FOREIGN_KEY                    MAKE_SQLSTATE('4','2', '8','3','0')
+#define ERRCODE_INVALID_NAME                           MAKE_SQLSTATE('4','2', '6','0','2')
+#define ERRCODE_NAME_TOO_LONG                          MAKE_SQLSTATE('4','2', '6','2','2')
+#define ERRCODE_RESERVED_NAME                          MAKE_SQLSTATE('4','2', '9','3','9')
+#define ERRCODE_DATATYPE_MISMATCH                      MAKE_SQLSTATE('4','2', '8','0','4')
+#define ERRCODE_INDETERMINATE_DATATYPE         MAKE_SQLSTATE('4','2', 'P','1','8')
+#define ERRCODE_WRONG_OBJECT_TYPE                      MAKE_SQLSTATE('4','2', '8','0','9')
+/*
+ * Note: for ERRCODE purposes, we divide namable objects into these categories:
+ * databases, schemas, prepared statements, cursors, tables, columns,
+ * functions (including operators), and all else (lumped as "objects").
+ * (The first four categories are mandated by the existence of separate
+ * SQLSTATE classes for them in the spec; in this file, however, we group
+ * the ERRCODE names with all the rest under class 42.)  Parameters are
+ * sort-of-named objects and get their own ERRCODE.
+ *
+ * The same breakdown is used for "duplicate" and "ambiguous" complaints,
+ * as well as complaints associated with incorrect declarations.
+ */
+#define ERRCODE_UNDEFINED_COLUMN                       MAKE_SQLSTATE('4','2', '7','0','3')
+#define ERRCODE_UNDEFINED_CURSOR                       ERRCODE_INVALID_CURSOR_NAME
+#define ERRCODE_UNDEFINED_DATABASE                     ERRCODE_INVALID_CATALOG_NAME
+#define ERRCODE_UNDEFINED_FUNCTION                     MAKE_SQLSTATE('4','2', '8','8','3')
+#define ERRCODE_UNDEFINED_PSTATEMENT           ERRCODE_INVALID_SQL_STATEMENT_NAME
+#define ERRCODE_UNDEFINED_SCHEMA                       ERRCODE_INVALID_SCHEMA_NAME
+#define ERRCODE_UNDEFINED_TABLE                                MAKE_SQLSTATE('4','2', 'P','0','1')
+#define ERRCODE_UNDEFINED_PARAMETER                    MAKE_SQLSTATE('4','2', 'P','0','2')
+#define ERRCODE_UNDEFINED_OBJECT                       MAKE_SQLSTATE('4','2', '7','0','4')
+#define ERRCODE_DUPLICATE_COLUMN                       MAKE_SQLSTATE('4','2', '7','0','1')
+#define ERRCODE_DUPLICATE_CURSOR                       MAKE_SQLSTATE('4','2', 'P','0','3')
+#define ERRCODE_DUPLICATE_DATABASE                     MAKE_SQLSTATE('4','2', 'P','0','4')
+#define ERRCODE_DUPLICATE_FUNCTION                     MAKE_SQLSTATE('4','2', '7','2','3')
+#define ERRCODE_DUPLICATE_PSTATEMENT           MAKE_SQLSTATE('4','2', 'P','0','5')
+#define ERRCODE_DUPLICATE_SCHEMA                       MAKE_SQLSTATE('4','2', 'P','0','6')
+#define ERRCODE_DUPLICATE_TABLE                                MAKE_SQLSTATE('4','2', 'P','0','7')
+#define ERRCODE_DUPLICATE_ALIAS                                MAKE_SQLSTATE('4','2', '7','1','2')
+#define ERRCODE_DUPLICATE_OBJECT                       MAKE_SQLSTATE('4','2', '7','1','0')
+#define ERRCODE_AMBIGUOUS_COLUMN                       MAKE_SQLSTATE('4','2', '7','0','2')
+#define ERRCODE_AMBIGUOUS_FUNCTION                     MAKE_SQLSTATE('4','2', '7','2','5')
+#define ERRCODE_AMBIGUOUS_PARAMETER                    MAKE_SQLSTATE('4','2', 'P','0','8')
+#define ERRCODE_AMBIGUOUS_ALIAS                                MAKE_SQLSTATE('4','2', 'P','0','9')
+#define ERRCODE_INVALID_COLUMN_REFERENCE       MAKE_SQLSTATE('4','2', 'P','1','0')
+#define ERRCODE_INVALID_COLUMN_DEFINITION      MAKE_SQLSTATE('4','2', '6','1','1')
+#define ERRCODE_INVALID_CURSOR_DEFINITION      MAKE_SQLSTATE('4','2', 'P','1','1')
+#define ERRCODE_INVALID_DATABASE_DEFINITION MAKE_SQLSTATE('4','2', 'P','1','2')
+#define ERRCODE_INVALID_FUNCTION_DEFINITION MAKE_SQLSTATE('4','2', 'P','1','3')
+#define ERRCODE_INVALID_PSTATEMENT_DEFINITION  MAKE_SQLSTATE('4','2', 'P','1','4')
+#define ERRCODE_INVALID_SCHEMA_DEFINITION      MAKE_SQLSTATE('4','2', 'P','1','5')
+#define ERRCODE_INVALID_TABLE_DEFINITION       MAKE_SQLSTATE('4','2', 'P','1','6')
+#define ERRCODE_INVALID_OBJECT_DEFINITION      MAKE_SQLSTATE('4','2', 'P','1','7')
+
+/* Class 44 - WITH CHECK OPTION Violation */
+#define ERRCODE_WITH_CHECK_OPTION_VIOLATION MAKE_SQLSTATE('4','4', '0','0','0')
+
+/* Class 53 - Insufficient Resources (PostgreSQL-specific error class) */
+#define ERRCODE_INSUFFICIENT_RESOURCES         MAKE_SQLSTATE('5','3', '0','0','0')
+#define ERRCODE_DISK_FULL                                      MAKE_SQLSTATE('5','3', '1','0','0')
+#define ERRCODE_OUT_OF_MEMORY                          MAKE_SQLSTATE('5','3', '2','0','0')
+#define ERRCODE_TOO_MANY_CONNECTIONS           MAKE_SQLSTATE('5','3', '3','0','0')
+
+/* Class 54 - Program Limit Exceeded (class borrowed from DB2) */
+/* (this is for wired-in limits, not resource exhaustion problems) */
+#define ERRCODE_PROGRAM_LIMIT_EXCEEDED         MAKE_SQLSTATE('5','4', '0','0','0')
+#define ERRCODE_STATEMENT_TOO_COMPLEX          MAKE_SQLSTATE('5','4', '0','0','1')
+#define ERRCODE_TOO_MANY_COLUMNS                       MAKE_SQLSTATE('5','4', '0','1','1')
+#define ERRCODE_TOO_MANY_ARGUMENTS                     MAKE_SQLSTATE('5','4', '0','2','3')
+
+/* Class 55 - Object Not In Prerequisite State (class borrowed from DB2) */
+#define ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE       MAKE_SQLSTATE('5','5', '0','0','0')
+#define ERRCODE_OBJECT_IN_USE                          MAKE_SQLSTATE('5','5', '0','0','6')
+#define ERRCODE_INDEXES_DEACTIVATED                    MAKE_SQLSTATE('5','5', 'P','0','1')
+#define ERRCODE_CANT_CHANGE_RUNTIME_PARAM      MAKE_SQLSTATE('5','5', 'P','0','2')
+
+/* Class 57 - Operator Intervention (class borrowed from DB2) */
+#define ERRCODE_OPERATOR_INTERVENTION          MAKE_SQLSTATE('5','7', '0','0','0')
+#define ERRCODE_QUERY_CANCELED                         MAKE_SQLSTATE('5','7', '0','1','4')
+#define ERRCODE_ADMIN_SHUTDOWN                         MAKE_SQLSTATE('5','7', 'P','0','1')
+#define ERRCODE_CRASH_SHUTDOWN                         MAKE_SQLSTATE('5','7', 'P','0','2')
+#define ERRCODE_CANNOT_CONNECT_NOW                     MAKE_SQLSTATE('5','7', 'P','0','3')
+
+/* Class 58 - System Error (class borrowed from DB2) */
+/* (we define this as errors external to PostgreSQL itself) */
+#define ERRCODE_IO_ERROR                                       MAKE_SQLSTATE('5','8', '0','3','0')
+#define ERRCODE_UNDEFINED_FILE                         MAKE_SQLSTATE('5','8', 'P','0','1')
+#define ERRCODE_DUPLICATE_FILE                         MAKE_SQLSTATE('5','8', 'P','0','2')
+
+/* Class F0 - Configuration File Error (PostgreSQL-specific error class) */
+#define ERRCODE_CONFIG_FILE_ERROR                      MAKE_SQLSTATE('F','0', '0','0','0')
+#define ERRCODE_LOCK_FILE_EXISTS                       MAKE_SQLSTATE('F','0', '0','0','1')
+
+/* Class XX - Internal Error (PostgreSQL-specific error class) */
+/* (this is for "can't-happen" conditions and software bugs) */
+#define ERRCODE_INTERNAL_ERROR                         MAKE_SQLSTATE('X','X', '0','0','0')
+#define ERRCODE_DATA_CORRUPTED                         MAKE_SQLSTATE('X','X', '0','0','1')
+#define ERRCODE_INDEX_CORRUPTED                                MAKE_SQLSTATE('X','X', '0','0','2')
index a401e15608cb16be2ef4d20ce82121b1e5d8bb7d..5152528628b10d0d3b17f5bcc28a96771d75d8f0 100644 (file)
@@ -127,7 +127,7 @@ extern void BeginReportingGUCOptions(void);
 extern void ParseLongOption(const char *string, char **name, char **value);
 extern bool set_config_option(const char *name, const char *value,
                                  GucContext context, GucSource source,
-                                 bool isLocal, bool DoIt);
+                                 bool isLocal, bool changeVal);
 extern void ShowGUCConfigOption(const char *name, DestReceiver *dest);
 extern void ShowAllGUCConfig(DestReceiver *dest);
 extern char *GetConfigOptionByName(const char *name, const char **varname);
index d632fa15c7f86e7d2b8140e8ec167b1ac901af34..e6b508b0d662ad2ca9ad18d0c76f696f52cdc9cd 100644 (file)
 #define HSEARCH_H
 
 
+/*
+ * Hash and comparison functions must have these signatures.  Comparison
+ * functions return zero for match, nonzero for no match.  (The comparison
+ * function definition is designed to allow memcmp() and strncmp() to be
+ * used directly as key comparison functions.)
+ */
+typedef uint32 (*HashValueFunc) (const void *key, Size keysize);
+typedef int (*HashCompareFunc) (const void *key1, const void *key2,
+                                                               Size keysize);
+
+/*
+ * Space allocation function for a hashtable --- designed to match malloc().
+ * Note: there is no free function API; can't destroy a hashtable unless you
+ * use the default allocator.
+ */
+typedef void *(*HashAllocFunc) (Size request);
+
 /*
  * Constants
  *
@@ -44,6 +61,7 @@
 typedef struct HASHELEMENT
 {
        struct HASHELEMENT *link;       /* link to next entry in same bucket */
+       uint32  hashvalue;                      /* hash function result for this entry */
 } HASHELEMENT;
 
 /* A hash bucket is a linked list of HASHELEMENTs */
@@ -64,8 +82,8 @@ typedef struct HASHHDR
        long            ffactor;                /* Fill factor */
        long            nentries;               /* Number of entries in hash table */
        long            nsegs;                  /* Number of allocated segments */
-       long            keysize;                /* hash key length in bytes */
-       long            entrysize;              /* total user element size in bytes */
+       Size            keysize;                /* hash key length in bytes */
+       Size            entrysize;              /* total user element size in bytes */
        long            max_dsize;              /* 'dsize' limit if directory is fixed
                                                                 * size */
        HASHELEMENT *freeList;          /* linked list of free elements */
@@ -83,8 +101,9 @@ typedef struct HTAB
 {
        HASHHDR    *hctl;                       /* shared control information */
        HASHSEGMENT *dir;                       /* directory of segment starts */
-       uint32          (*hash) (void *key, int keysize);               /* Hash Function */
-       void       *(*alloc) (Size);    /* memory allocator */
+       HashValueFunc hash;                     /* hash function */
+       HashCompareFunc match;          /* key comparison function */
+       HashAllocFunc alloc;            /* memory allocator */
        MemoryContext hcxt;                     /* memory context if default allocator
                                                                 * used */
        char       *tabname;            /* table name (for error messages) */
@@ -97,28 +116,30 @@ typedef struct HASHCTL
 {
        long            ssize;                  /* Segment Size */
        long            dsize;                  /* (initial) Directory Size */
-       long            ffactor;                /* Fill factor */
-       uint32          (*hash) (void *key, int keysize);               /* Hash Function */
-       long            keysize;                /* hash key length in bytes */
-       long            entrysize;              /* total user element size in bytes */
        long            max_dsize;              /* limit to dsize if directory size is
                                                                 * limited */
-       void       *(*alloc) (Size);    /* memory allocation function */
+       long            ffactor;                /* Fill factor */
+       Size            keysize;                /* hash key length in bytes */
+       Size            entrysize;              /* total user element size in bytes */
+       HashValueFunc hash;                     /* hash function */
+       HashCompareFunc match;          /* key comparison function */
+       HashAllocFunc alloc;            /* memory allocator */
        HASHSEGMENT *dir;                       /* directory of segment starts */
        HASHHDR    *hctl;                       /* location of header in shared mem */
        MemoryContext hcxt;                     /* memory context to use for allocations */
 } HASHCTL;
 
 /* Flags to indicate which parameters are supplied */
-#define HASH_SEGMENT   0x002   /* Setting segment size */
-#define HASH_DIRSIZE   0x004   /* Setting directory size */
-#define HASH_FFACTOR   0x008   /* Setting fill factor */
+#define HASH_SEGMENT   0x002   /* Set segment size */
+#define HASH_DIRSIZE   0x004   /* Set directory size */
+#define HASH_FFACTOR   0x008   /* Set fill factor */
 #define HASH_FUNCTION  0x010   /* Set user defined hash function */
-#define HASH_ELEM              0x020   /* Setting key/entry size */
-#define HASH_SHARED_MEM 0x040  /* Setting shared mem const */
+#define HASH_ELEM              0x020   /* Set key/entry size */
+#define HASH_SHARED_MEM 0x040  /* Set shared mem const */
 #define HASH_ATTACH            0x080   /* Do not initialize hctl */
-#define HASH_ALLOC             0x100   /* Setting memory allocator */
-#define HASH_CONTEXT   0x200   /* Setting explicit memory context */
+#define HASH_ALLOC             0x100   /* Set memory allocator */
+#define HASH_CONTEXT   0x200   /* Set explicit memory context */
+#define HASH_COMPARE   0x400   /* Set user defined comparison function */
 
 
 /* max_dsize value to indicate expansible directory */
@@ -151,17 +172,17 @@ extern HTAB *hash_create(const char *tabname, long nelem,
                        HASHCTL *info, int flags);
 extern void hash_destroy(HTAB *hashp);
 extern void hash_stats(const char *where, HTAB *hashp);
-extern void *hash_search(HTAB *hashp, void *keyPtr, HASHACTION action,
+extern void *hash_search(HTAB *hashp, const void *keyPtr, HASHACTION action,
                        bool *foundPtr);
 extern void hash_seq_init(HASH_SEQ_STATUS *status, HTAB *hashp);
 extern void *hash_seq_search(HASH_SEQ_STATUS *status);
-extern long hash_estimate_size(long num_entries, long entrysize);
+extern long hash_estimate_size(long num_entries, Size entrysize);
 extern long hash_select_dirsize(long num_entries);
 
 /*
  * prototypes for functions in hashfn.c
  */
-extern uint32 string_hash(void *key, int keysize);
-extern uint32 tag_hash(void *key, int keysize);
+extern uint32 string_hash(const void *key, Size keysize);
+extern uint32 tag_hash(const void *key, Size keysize);
 
 #endif   /* HSEARCH_H */
index 0b32dd242984526715116ca347fe4e46b58cc339..b8ca7b74e9c6529fa0c8638939dbb6c017241b39 100644 (file)
@@ -28,6 +28,7 @@ extern bool op_in_opclass(Oid opno, Oid opclass);
 extern bool op_requires_recheck(Oid opno, Oid opclass);
 extern Oid     get_opclass_member(Oid opclass, int16 strategy);
 extern Oid     get_op_hash_function(Oid opno);
+extern Oid     get_opclass_proc(Oid opclass, int16 procnum);
 extern char *get_attname(Oid relid, AttrNumber attnum);
 extern char *get_relid_attribute_name(Oid relid, AttrNumber attnum);
 extern AttrNumber get_attnum(Oid relid, const char *attname);
index 8bdda60ed1ae66ad416a25e5f9b4792ba61d03f5..31e67351fff68f7644d8b6ccabc2de3028cd0282 100644 (file)
@@ -1600,6 +1600,18 @@ Fri Aug  1 08:54:02 CEST 2003
        
        - Added some Informix error codes in Informix mode.
        - Added just another pgtypeslib function.
+
+Mon Aug 25 13:24:27 CEST 2003
+
+       - Synced parser.
+       
+Tue Aug 26 18:06:45 CEST 2003
+
+       - Fixed processing of connect statement with username as variable.
+       
+Mon Sep  1 14:33:10 CEST 2003
+
+       - Fixed two bugs in numeric library.
        - Set ecpg version to 3.0.0
        - Set ecpg library to 4.0.0
        - Set pgtypes library to 1.0.0
index 10fc285b59f13c2ab0be6cc56df304989825f97a..7a76a2f56a8792c6d2a598bb85205fc0f4ed9987 100644 (file)
@@ -158,8 +158,8 @@ ECPGsetconn(int lineno, const char *connection_name)
 static void
 ECPGnoticeReceiver(void *arg, const PGresult *result)
 {
-       char       *sqlstate = PQresultErrorField(result, 'C');
-       char       *message = PQresultErrorField(result, 'M');
+       char       *sqlstate = PQresultErrorField(result, PG_DIAG_SQLSTATE);
+       char       *message = PQresultErrorField(result, PG_DIAG_MESSAGE_PRIMARY);
        struct sqlca_t *sqlca = ECPGget_sqlca();
 
        int                     sqlcode;
index d37cdf48192cfbfc9b86d6b6050531bdce5a4fdd..58733b06683fb02f09cbd109805b7c400651a48e 100644 (file)
@@ -164,10 +164,10 @@ ECPGraise_backend(int line, PGresult *result, PGconn *conn, int compat)
 
        if (result)
        {
-               sqlstate = PQresultErrorField(result, 'C');
+               sqlstate = PQresultErrorField(result, PG_DIAG_SQLSTATE);
                if (sqlstate == NULL)
                        sqlstate = ECPG_SQLSTATE_ECPG_INTERNAL_ERROR;
-               message = PQresultErrorField(result, 'M');
+               message = PQresultErrorField(result, PG_DIAG_MESSAGE_PRIMARY);
        }
        else
        {
@@ -192,7 +192,7 @@ ECPGraise_backend(int line, PGresult *result, PGconn *conn, int compat)
                sqlca->sqlcode = ECPG_PGSQL;
 
        ECPGlog("raising sqlstate %.*s in line %d, '%s'.\n",
-                       sqlca->sqlstate, sizeof(sqlca->sqlstate), line, sqlca->sqlerrm.sqlerrmc);
+                       sizeof(sqlca->sqlstate), sqlca->sqlstate, line, sqlca->sqlerrm.sqlerrmc);
 
        /* free all memory we have allocated for the user */
        ECPGfree_auto_mem();
index 1ebde04714e68af740d2966aae137f50e84058fe..f8e00c16844eb3c31264597214c53b5b6ece75b3 100644 (file)
@@ -9,7 +9,7 @@
 #define CSTRINGTYPE ECPGt_char
 #define CDATETYPE      ECPGt_date
 #define CMONEYTYPE     111
-#define CDTIMETYPE     112
+#define CDTIMETYPE     ECPGt_timestamp
 #define CLOCATORTYPE   113
 #define CVCHARTYPE     ECPGt_varchar
 #define CINVTYPE       115
index 8a96d696b4010427ab79a935f3a347dd082bf7f2..9ad82ba4d2b504004bce9a7dbe7e3f84812eb096 100644 (file)
@@ -418,7 +418,7 @@ dttofmtasc_replace(Timestamp *ts, Date dDate, int dow, struct tm * tm,
                                        /* XXX */
                                        break;
                                case 'C':
-                                       replace_val.uint_val = (tm->tm_year + 1900) / 100;
+                                       replace_val.uint_val = tm->tm_year / 100;
                                        replace_type = PGTYPES_TYPE_UINT_2_LZ;
                                        break;
                                case 'd':
@@ -677,7 +677,7 @@ dttofmtasc_replace(Timestamp *ts, Date dDate, int dow, struct tm * tm,
                                        replace_type = PGTYPES_TYPE_UINT_2_LZ;
                                        break;
                                case 'Y':
-                                       replace_val.uint_val = tm->tm_year + 1900;
+                                       replace_val.uint_val = tm->tm_year;
                                        replace_type = PGTYPES_TYPE_UINT;
                                        break;
                                case 'z':
index 8330e79e854eab4679b89e627c872605c6d31e2e..f1db20327bc392be5c0a07d247e5ee3fd44b5bee 100644 (file)
@@ -420,7 +420,7 @@ adjust_informix(struct arguments *list)
 %type  <str>   row_descriptor ConstDatetime AlterDomainStmt AlterSeqStmt
 %type  <str>   SelectStmt into_clause OptTemp ConstraintAttributeSpec
 %type  <str>   opt_table opt_all sort_clause sortby_list ConstraintAttr
-%type  <str>   sortby OptUseOp qualified_name_list name_list ColId_or_Sconst
+%type  <str>   sortby qualified_name_list name_list ColId_or_Sconst
 %type  <str>   group_clause having_clause from_clause opt_distinct opt_hold
 %type  <str>   join_outer where_clause relation_expr sub_type opt_arg
 %type  <str>   opt_column_list insert_rest InsertStmt
@@ -2887,14 +2887,14 @@ sortby_list:  sortby                                    { $$ = $1; }
                | sortby_list ',' sortby                { $$ = cat_str(3, $1, make_str(","), $3); }
                ;
 
-sortby: a_expr OptUseOp
-                       { $$ = cat2_str($1, $2); }
-               ;
-
-OptUseOp:  USING all_Op                { $$ = cat2_str(make_str("using"), $2); }
-               | ASC                           { $$ = make_str("asc"); }
-               | DESC                          { $$ = make_str("desc"); }
-               | /*EMPTY*/                     { $$ = EMPTY; }
+sortby: a_expr USING qual_all_Op
+                       { $$ = cat_str(3, $1, make_str("using"), $3); }
+               | a_expr ASC
+                       { $$ = cat2_str($1, make_str("asc")); }
+               | a_expr DESC
+                       { $$ = cat2_str($1, make_str("desc")); }
+               | a_expr
+                       { $$ = $1; }
                ;
 
 select_limit:  LIMIT select_limit_value OFFSET select_offset_value
@@ -4265,7 +4265,7 @@ user_name: UserId
                {
                        if ($1[0] == '\"')
                                $$ = $1;
-                       else if (strcmp($1, "?") == 0) /* variable */
+                       else if (strcmp($1, " ?") == 0) /* variable */
                        {
                                enum ECPGttype type = argsinsert->variable->type->type;
 
index 05fcda0ca9ecb29b778d80b8a9fec5c71d40d8c9..753c0abae5d935440cec08593729cb457dd9284b 100644 (file)
@@ -52,6 +52,7 @@ exec sql endif;
        char command[128];
        char *connection="pm";
        int how_many;
+       char *user="postgres";
 exec sql end declare section;
        exec sql var name is string[AMOUNT];
        char msg[128];
@@ -65,7 +66,7 @@ exec sql end declare section;
        exec sql connect to mm as main;
 
        strcpy(msg, "connect");
-        exec sql connect to pm;
+        exec sql connect to pm user :user;
 
        strcpy(msg, "create");
        exec sql at main create table "Test" (name char(NAMELEN), amount int, letter char(1));
diff --git a/src/interfaces/ecpg/test/test_thread.pgc b/src/interfaces/ecpg/test/test_thread.pgc
new file mode 100644 (file)
index 0000000..44769f6
--- /dev/null
@@ -0,0 +1,107 @@
+/*
+ *     Thread test program
+ *     by Philip Yarra
+ */
+
+
+#include <pthread.h>
+#include <stdlib.h>
+
+void           ins1(void);
+void           ins2(void);
+
+EXEC SQL BEGIN DECLARE SECTION;
+char      *dbname;
+int        iterations = 10;
+EXEC SQL END DECLARE SECTION;
+
+int
+main(int argc, char *argv[])
+{
+       pthread_t       thread1,
+                       thread2;
+EXEC SQL BEGIN DECLARE SECTION;
+       int             rows;
+EXEC SQL END DECLARE SECTION;
+
+       if (argc < 2 || argc > 3)
+       {
+               fprintf(stderr, "Usage: %s dbname [iterations]\n", argv[0]);
+               return 1;
+       }
+       dbname = argv[1];
+
+       if (argc == 3)
+               iterations = atoi(argv[2]);
+       if (iterations % 2 != 0)
+       {
+               fprintf(stderr, "iterations must be an even number\n");
+               return 1;
+       }
+
+       EXEC SQL CONNECT TO:dbname AS test0;
+
+       /* DROP might fail */
+       EXEC SQL AT test0 DROP TABLE test_thread;
+       EXEC SQL AT test0 COMMIT WORK;
+       EXEC SQL AT test0 CREATE TABLE test_thread(message TEXT);
+       EXEC SQL AT test0 COMMIT WORK;
+       EXEC SQL DISCONNECT test0;
+
+       pthread_create(&thread1, NULL, (void * (*)(void *)) ins1, NULL);
+       pthread_create(&thread2, NULL, (void * (*)(void *)) ins2, NULL);
+       pthread_join(thread1, NULL);
+       pthread_join(thread2, NULL);
+
+       EXEC SQL CONNECT TO:dbname AS test3;
+       EXEC SQL AT test3 SELECT COUNT(*) INTO :rows FROM test_thread;
+       EXEC SQL AT test3 COMMIT WORK;
+       EXEC SQL DISCONNECT test3;
+
+       if (rows == iterations)
+               printf("\nSuccess.\n");
+       else
+               printf("\nFailure.\n");
+       return 0;
+}
+
+void
+ins1(void)
+{
+       int                     i;
+       EXEC SQL WHENEVER sqlerror sqlprint;
+       EXEC SQL CONNECT TO:dbname AS test1;
+
+       for (i = 0; i < iterations / 2; i++)
+       {
+               printf("thread 1 : inserting\n");
+               EXEC SQL AT test1 INSERT INTO test_thread VALUES('thread1');
+
+               printf("thread 1 : insert done\n");
+       }
+       EXEC SQL AT test1 COMMIT WORK;
+       EXEC SQL DISCONNECT test1;
+
+       printf("thread 1 : done!\n");
+}
+
+
+void
+ins2(void)
+{
+       int                     i;
+       EXEC SQL WHENEVER sqlerror sqlprint;
+       EXEC SQL CONNECT TO:dbname AS test2;
+
+       for (i = 0; i < iterations / 2; i++)
+       {
+               printf("thread  2: inserting\n");
+               EXEC SQL AT test2 INSERT INTO test_thread VALUES('thread2');
+
+               printf("thread  2: insert done\n");
+       }
+       EXEC SQL AT test2 COMMIT WORK;
+       EXEC SQL DISCONNECT test2;
+
+       printf("thread  2: done!\n");
+}
index 58d951a524bdc414504d38596628a13c18bbf795..1ccbaad65b89a3aac5255cf6abe51902b88b7dc2 100644 (file)
   </target>
 
 
-  <!-- This is the core of the driver.  It is common for all three versions. -->
   <target name="compile" depends="prepare,check_versions,driver">
-    <javac srcdir="${srcdir}" destdir="${builddir}" debug="${debug}">
-      <include name="${package}/**" />
-
-      <exclude name="${package}/jdbc1/**" unless="jdbc1"/>
-      <exclude name="${package}/jdbc2/**" unless="jdbc2"/>
-      <exclude name="${package}/jdbc3/**" unless="jdbc3"/>
 
-      <exclude name="${package}/jdbc2/optional/**" unless="jdbc2" />
-      <exclude name="${package}/jdbc2/optional/**" unless="datasource" />
+    <available classname="org.postgresql.Driver" property="old.driver.present" />
+    <fail message="Old driver was detected on classpath or in jre/lib/ext, please remove and try again." if="old.driver.present" />
+
+    <javac classpath="{$srcdir}" srcdir="${srcdir}" destdir="${builddir}" debug="${debug}">
+      <!-- This is the core of the driver.  It is common for all three versions. -->
+       <include name="${package}/*.java" />
+       <include name="${package}/core/**" />
+       <include name="${package}/fastpath/**" />
+       <include name="${package}/geometric/**" />
+       <include name="${package}/largeobject/**" />
+       <include name="${package}/util/**" />
+
+       <!--      
+       Each jdbcN subpackage is used only if the driver supports *at least* that
+       revision of JDBC. That is, a JDBC1 build uses only jdbc1, a JDBC2 build
+       uses both jdbc1 and jdbc2, etc.
+  
+       Within those subpackages, classes beginning with "JdbcN" are assumed to be
+       the concrete implementations for JDBC version N and are built only if the
+       driver supports *exactly* that version. For example, jdbc1/Jdbc1Statement.java
+       is built only if the driver build is a JDBC1 build.
+       -->
+       <!-- jdbc1 subpackage -->
+       <include name="${package}/jdbc1/**"/>
+       <exclude name="${package}/jdbc1/Jdbc1*.java" unless="jdbc1"/>
+       <!-- jdbc2 subpackage -->
+       <include name="${package}/jdbc2/**" if="jdbc2"/>
+       <include name="${package}/jdbc2/**" if="jdbc3"/>
+       <exclude name="${package}/jdbc2/Jdbc2*.java" unless="jdbc2"/>
+       <exclude name="${package}/jdbc2/optional/**" unless="datasource"/>
+       <!-- jdbc3 subpackage -->
+       <include name="${package}/jdbc3/*.java" if="jdbc3"/>
+       <exclude name="${package}/jdbc3/Jdbc3*.java" unless="jdbc3"/>
 
-      <exclude name="${package}/test/**"/>
     </javac>
   </target>
 
index 21b1a2941ca269c85e1d6286cb44b6971939f8d5..6f5f2550ab3219940690d2c6fa6f7b0a7277abfd 100644 (file)
@@ -71,7 +71,6 @@ postgresql.serial.noclass:No class found for {0}
 postgresql.serial.table:The table for {0} is not in the database. Contact the DBA, as the database is in an inconsistent state.
 postgresql.serial.underscore:Class names may not have _ in them. You supplied {0}.
 postgresql.stat.batch.error:Batch entry {0} {1} was aborted. Call getNextException() to see the cause.
-postgresql.stat.maxfieldsize:An attempt to setMaxFieldSize() failed - compile time default in force.
 postgresql.stat.noresult:No results were returned by the query.
 postgresql.stat.result:A result was returned when none was expected.
 postgresql.stream.eof:The backend has broken the connection. Possibly the action you have attempted has caused it to close.
@@ -103,3 +102,4 @@ postgresql.input.rows.gt0:Maximum number of rows must be a value greater than or
 postgresql.format.baddate:The date given: {0} does not match the format required: {1}.
 postgresql.format.badtime:The time given: {0} does not match the format required: {1}.
 postgresql.format.badtimestamp:The timestamp given {0} does not match the format required: {1}.
+postgresql.input.field.gt0:The maximum field size must be a value greater than or equal to 0.
index 8a945ccf61dddae8781c5c1ae734f50ac7e4332f..b64f1808bd5d9531da39a21c797f134c205560cf 100644 (file)
@@ -66,7 +66,6 @@ postgresql.serial.noclass:Keine Klasse f
 postgresql.serial.table:Keine Tabelle für Typ »{0}« in der Datenbank gefunden. Die Datenbank ist in einem unbeständigen Zustand.
 postgresql.serial.underscore:Zu serialisierende Klassennamen dürfen keine Unterstriche (_) enthälten. Der angegebene Name war »{0}«.
 postgresql.stat.batch.error:Batch-Anweisung Nummer {0} ({1}) wurde abgebrochen.
-postgresql.stat.maxfieldsize:setMaxFieldSize() is nicht möglich; die Grenze ist fest eingebaut.
 postgresql.stat.noresult:Die Abfrage ergab kein Ergebnis.
 postgresql.stat.result:Die Anweisung ergab einen Abfrageergebnissatz, obwohl keiner erwartet wurde.
 postgresql.stream.encoding:Nicht unterstützte Kodierung: {0}
index 76e6168110e665294345f103865a9c99c01ba0f8..197eac24d69f3d56c61ba000ef3cf49b2212ab8c 100644 (file)
@@ -65,7 +65,6 @@ postgresql.serial.noclass:Nessuna classe trovata per {0}.
 postgresql.serial.table:La tabella per {0} non è nel database. Contattare l'amministratore del DB, visto che il database è in uno stato incosistente.
 postgresql.serial.underscore:Il nome di una classe non può contenere il carattere ``_''. E` stato fornito {0}.
 postgresql.stat.batch.error:L'operazione {0} {1} della sequenza è stata annullata.
-postgresql.stat.maxfieldsize:Fallito un tentativo a setMaxFieldSize() - verrà utilizzato il valore predefinito a tempo di compilazione.
 postgresql.stat.noresult:Nessun risultato è stato restituito dalla query.
 postgresql.stream.eof:Il backend ha interrotto la connessione. Probabilmente la tua azione ha causato la sua uscita.
 postgresql.stream.flush:Si è verificato un errore di I/O mentre si svuotava il buffer d'uscita - {0}
index 2e5388a2278e111fb08b3b85cff3de0593bac3ff..1dc93453bcc68442afae10f9b9b8ab69610a44a9 100644 (file)
@@ -55,7 +55,6 @@ postgresql.serial.noclass:Geen class gevonden voor {0}.
 postgresql.serial.table:De tabel voor {0} is niet in de database. Neem contact op met de DBA, omdat de database in een inconsistente staat verkeert.
 postgresql.serial.underscore:Class namen mogen geen _ in zich hebben. Jij voerde {0} in.
 postgresql.stat.batch.error:Batch invoer {0} {1} werd afgebroken.
-postgresql.stat.maxfieldsize:Een poging om setMaxFieldSize() faalde - compiletime standaardwaarde van kracht.
 postgresql.stat.noresult:Geen resultaten werden teruggegeven door de query.
 postgresql.stream.eof:De achterkant heeft de verbinding verbroken. Mogelijk was de actie die je probeerde de oorzaak hiervan.
 postgresql.stream.flush:Een I/O fout trad op tijdens het legen van de uitvoer - {0}
index 799893b100755633610fdfc4180896be82190fea..62279f395e4f49ce8f70c626b59cd806eb009b70 100644 (file)
@@ -70,7 +70,6 @@ postgresql.serial.noclass:\u627e\u4e0d\u5230\u985e\u5225{0}\u3002
 postgresql.serial.table:\u8655\u7406{0}\u6642\u627e\u4e0d\u5230\u8cc7\u6599\u8868\uff0c\u8cc7\u6599\u5eab\u72c0\u614b\u4e0d\u6b63\u5e38\uff0c\u8acb\u806f\u7d61DBA\u8655\u7406\u3002
 postgresql.serial.underscore:\u985e\u5225\u540d\u7a31\u4e0d\u80fd\u4f7f\u7528_\u5b57\u5143\uff0c\u60a8\u6240\u7528\u7684\u540d\u7a31\u662f{0}\u3002
 postgresql.stat.batch.error:\u6279\u6b21\u8655\u7406\u5ffd\u7565{0} {1}\u3002
-postgresql.stat.maxfieldsize:setMaxFieldSize()\u5931\u6557 - \u4f7f\u7528\u9810\u8a2d\u503c
 postgresql.stat.noresult:\u6c92\u6709\u50b3\u56de\u4efb\u4f55\u67e5\u8a62\u7d50\u679c\u3002
 postgresql.stat.result:\u50b3\u56de\u9810\u671f\u5916\u7684\u7d50\u679c\u3002
 postgresql.stream.eof:\u5f8c\u7aef\u7d50\u675f\u9023\u7dda\uff0c\u4e5f\u8a31\u662f\u56e0\u70ba\u60a8\u6240\u57f7\u884c\u7684\u52d5\u4f5c\u5c0e\u81f4\u9023\u7dda\u4e2d\u65b7\u3002
index c4060c79246bfa88ef49ad444015834d59a37482..b91cf2f59f27f9d0c5a75ae0f91eb1a2dbb72ed3 100644 (file)
@@ -1121,7 +1121,7 @@ public abstract class AbstractJdbc1Connection implements BaseConnection
                        try
                        {
                                pgStream.SendChar('X');
-                               pgStream.SendInteger(0,4);
+                               pgStream.SendInteger(4,4);
                                pgStream.flush();
                                pgStream.close();
                        }
index 7612dac9212a69b1e97344f7808b0014859ff61f..6122e1689088b7e3a91da45a62c29ed6955adfe8 100644 (file)
@@ -176,7 +176,7 @@ public abstract class AbstractJdbc1ResultSet implements BaseResultSet
                        return null;
 
                Encoding encoding = connection.getEncoding();
-               return encoding.decode(this_row[columnIndex - 1]);
+               return trimString(columnIndex, encoding.decode(this_row[columnIndex-1]));
        }
 
        public boolean getBoolean(int columnIndex) throws SQLException
@@ -303,11 +303,11 @@ public abstract class AbstractJdbc1ResultSet implements BaseResultSet
                                //Version 7.2 supports the bytea datatype for byte arrays
                                if (fields[columnIndex - 1].getPGType().equals("bytea"))
                                {
-                                       return PGbytea.toBytes(this_row[columnIndex - 1]);
+                                       return trimBytes(columnIndex, PGbytea.toBytes(this_row[columnIndex - 1]));
                                }
                                else
                                {
-                                       return this_row[columnIndex - 1];
+                                       return trimBytes(columnIndex, this_row[columnIndex - 1]);
                                }
                        }
                        else
@@ -320,11 +320,11 @@ public abstract class AbstractJdbc1ResultSet implements BaseResultSet
                                        LargeObject lob = lom.open(getInt(columnIndex));
                                        byte buf[] = lob.read(lob.size());
                                        lob.close();
-                                       return buf;
+                                       return trimBytes(columnIndex, buf);
                                }
                                else
                                {
-                                       return this_row[columnIndex - 1];
+                                       return trimBytes(columnIndex, this_row[columnIndex - 1]);
                                }
                        }
                }
@@ -1143,7 +1143,54 @@ public abstract class AbstractJdbc1ResultSet implements BaseResultSet
                        }
                }
        }
+       
+       private boolean isColumnTrimmable(int columnIndex) throws SQLException
+       {
+               switch (fields[columnIndex-1].getSQLType())
+               {
+                       case Types.CHAR:
+                       case Types.VARCHAR:
+                       case Types.LONGVARCHAR:
+                       case Types.BINARY:
+                       case Types.VARBINARY:
+                       case Types.LONGVARBINARY:
+                               return true;
+               }
+               return false;
+       }
 
+       private byte[] trimBytes(int p_columnIndex, byte[] p_bytes) throws SQLException
+       {
+               int l_maxSize = statement.getMaxFieldSize();
+               //we need to trim if maxsize is set and the length is greater than maxsize and the
+               //type of this column is a candidate for trimming
+               if (l_maxSize > 0 && p_bytes.length > l_maxSize && isColumnTrimmable(p_columnIndex))
+               {
+                       byte[] l_bytes = new byte[l_maxSize];
+                       System.arraycopy (p_bytes, 0, l_bytes, 0, l_maxSize);
+                       return l_bytes;
+               }
+               else
+               {
+                       return p_bytes;
+               }
+       }
+
+       private String trimString(int p_columnIndex, String p_string) throws SQLException
+       {
+               int l_maxSize = statement.getMaxFieldSize();
+               //we need to trim if maxsize is set and the length is greater than maxsize and the
+               //type of this column is a candidate for trimming
+               if (l_maxSize > 0 && p_string.length() > l_maxSize && isColumnTrimmable(p_columnIndex))
+               {
+                       return p_string.substring(0,l_maxSize);
+               } 
+               else 
+               {
+                       return p_string;
+               }
+       }
+       
        public SimpleDateFormat getTimestampTZFormat() {
                if (m_tstzFormat == null) {
                        m_tstzFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss z");
index 11a7ab44983a39949c8745f7b34844108b9f6a69..adfb400b93c2209381ca5534191df610f785f7be 100644 (file)
@@ -87,7 +87,7 @@ public abstract class AbstractJdbc1Statement implements BaseStatement
        // returnTypeSet is true when a proper call to registerOutParameter has been made
        private boolean returnTypeSet;
        protected Object callResult;
-
+       protected int maxfieldSize = 0;
 
        public abstract BaseResultSet createResultSet(Field[] fields, Vector tuples, String status, int updateCount, long insertOID, boolean binaryCursor) throws SQLException;
 
@@ -640,19 +640,19 @@ public abstract class AbstractJdbc1Statement implements BaseStatement
         */
        public int getMaxFieldSize() throws SQLException
        {
-               return 8192;            // We cannot change this
+               return maxfieldSize;
        }
 
        /*
-        * Sets the maxFieldSize - NOT! - We throw an SQLException just
-        * to inform them to stop doing this.
+        * Sets the maxFieldSize 
         *
         * @param max the new max column size limit; zero means unlimited
         * @exception SQLException if a database access error occurs
         */
        public void setMaxFieldSize(int max) throws SQLException
        {
-               throw new PSQLException("postgresql.stat.maxfieldsize");
+               if (max < 0) throw new PSQLException("postgresql.input.field.gt0");
+               maxfieldSize = max;
        }
 
        /*
@@ -721,6 +721,15 @@ public abstract class AbstractJdbc1Statement implements BaseStatement
                result = null;
        }
 
+       /**
+        * This finalizer ensures that statements that have allocated server-side
+        * resources free them when they become unreferenced.
+        */
+       protected void finalize() {
+               try { close(); }
+               catch (SQLException e) {}
+       }
        /*
         * Filter the SQL string of Java SQL Escape clauses.
         *
@@ -1088,7 +1097,7 @@ public abstract class AbstractJdbc1Statement implements BaseStatement
                        }
                        else
                        {
-                               setString(parameterIndex, PGbytea.toPGString(x), PG_TEXT);
+                               setString(parameterIndex, PGbytea.toPGString(x), PG_BYTEA);
                        }
                }
                else
@@ -2055,7 +2064,7 @@ public abstract class AbstractJdbc1Statement implements BaseStatement
         if (connection.haveMinimumServerVersion("7.3")) {
                        //If turning server prepared statements off deallocate statement
                        //and reset statement name
-                       if (m_useServerPrepare != flag && !flag)
+                       if (m_useServerPrepare != flag && !flag && m_statementName != null)
                                connection.execSQL("DEALLOCATE " + m_statementName);
                        m_statementName = null;
                        m_useServerPrepare = flag;
index 89f881e3fb015c3ffaf933c5786c6f3c8c2f139a..370a1e316679a5c884bf0a5b657d6b270919e432 100644 (file)
@@ -54,7 +54,9 @@ public class BlobTest extends TestCase
 
                        // Now compare the blob & the file. Note this actually tests the
                        // InputStream implementation!
+                       assertTrue(compareBlobsLOAPI());
                        assertTrue(compareBlobs());
+                       assertTrue(compareClobs());
 
                        con.setAutoCommit(true);
                }
@@ -153,10 +155,10 @@ public class BlobTest extends TestCase
        }
 
        /*
-        * Helper - compares the blobs in a table with a local file. Note this alone
-        * tests the InputStream methods!
+        * Helper - compares the blobs in a table with a local file. Note this uses
+        * the postgresql specific Large Object API
         */
-       private boolean compareBlobs() throws Exception
+       private boolean compareBlobsLOAPI() throws Exception
        {
                boolean result = true;
 
@@ -188,7 +190,7 @@ public class BlobTest extends TestCase
                        result = result && f == -1 && b == -1;
 
                        if (!result)
-                               assertTrue("Blob compare failed at " + c + " of " + blob.size(), false);
+                               assertTrue("Large Object API Blob compare failed at " + c + " of " + blob.size(), false);
 
                        blob.close();
                        fis.close();
@@ -198,4 +200,91 @@ public class BlobTest extends TestCase
 
                return result;
        }
+
+       /*
+        * Helper - compares the blobs in a table with a local file. This uses the 
+        * jdbc java.sql.Blob api
+        */
+       private boolean compareBlobs() throws Exception
+       {
+               boolean result = true;
+
+               Statement st = con.createStatement();
+               ResultSet rs = st.executeQuery(TestUtil.selectSQL("testblob", "id,lo"));
+               assertNotNull(rs);
+
+               while (rs.next())
+               {
+                       String file = rs.getString(1);
+                       Blob blob = rs.getBlob(2);
+
+                       FileInputStream fis = new FileInputStream(file);
+                       InputStream bis = blob.getBinaryStream();
+
+                       int f = fis.read();
+                       int b = bis.read();
+                       int c = 0;
+                       while (f >= 0 && b >= 0 & result)
+                       {
+                               result = (f == b);
+                               f = fis.read();
+                               b = bis.read();
+                               c++;
+                       }
+                       result = result && f == -1 && b == -1;
+
+                       if (!result)
+                               assertTrue("JDBC API Blob compare failed at " + c + " of " + blob.length(), false);
+
+                       bis.close();
+                       fis.close();
+               }
+               rs.close();
+               st.close();
+
+               return result;
+       }
+
+       /*
+        * Helper - compares the clobs in a table with a local file. 
+        */
+       private boolean compareClobs() throws Exception
+       {
+               boolean result = true;
+
+               Statement st = con.createStatement();
+               ResultSet rs = st.executeQuery(TestUtil.selectSQL("testblob", "id,lo"));
+               assertNotNull(rs);
+
+               while (rs.next())
+               {
+                       String file = rs.getString(1);
+                       Clob clob = rs.getClob(2);
+
+                       FileInputStream fis = new FileInputStream(file);
+                       InputStream bis = clob.getAsciiStream();
+
+                       int f = fis.read();
+                       int b = bis.read();
+                       int c = 0;
+                       while (f >= 0 && b >= 0 & result)
+                       {
+                               result = (f == b);
+                               f = fis.read();
+                               b = bis.read();
+                               c++;
+                       }
+                       result = result && f == -1 && b == -1;
+
+                       if (!result)
+                               assertTrue("Clob compare failed at " + c + " of " + clob.length(), false);
+
+                       bis.close();
+                       fis.close();
+               }
+               rs.close();
+               st.close();
+
+               return result;
+       }
 }
index 617034f76bfb2f29381715b4703d77d27d59ae1a..c8b34f2c67a889b890bd8503b225f8cdc73d7e80 100644 (file)
@@ -4,6 +4,7 @@ import org.postgresql.test.TestUtil;
 import java.sql.Connection;
 import java.sql.ResultSet;
 import java.sql.Statement;
+import java.sql.SQLException;
 
 import junit.framework.TestCase;
 
@@ -32,6 +33,12 @@ public class ResultSetTest extends TestCase
                stmt.executeUpdate("INSERT INTO testrs VALUES (4)");
                stmt.executeUpdate("INSERT INTO testrs VALUES (6)");
                stmt.executeUpdate("INSERT INTO testrs VALUES (9)");
+               
+               TestUtil.createTable(con, "teststring", "a text");
+               stmt.executeUpdate("INSERT INTO teststring VALUES ('12345')");
+               
+               TestUtil.createTable(con, "testint", "a int");
+               stmt.executeUpdate("INSERT INTO testint VALUES (12345)");
 
                stmt.close();
        }
@@ -39,6 +46,8 @@ public class ResultSetTest extends TestCase
        protected void tearDown() throws Exception
        {
                TestUtil.dropTable(con, "testrs");
+               TestUtil.dropTable(con, "teststring");
+               TestUtil.dropTable(con, "testint");
                TestUtil.closeDB(con);
        }
 
@@ -85,4 +94,25 @@ public class ResultSetTest extends TestCase
                }
 
        }
+       
+       public void testMaxFieldSize() throws Exception
+       {
+                       Statement stmt = con.createStatement();
+                       stmt.setMaxFieldSize(2);
+
+                       ResultSet rs = stmt.executeQuery("select * from testint");
+                       
+                       //max should not apply to the following since per the spec
+                       //it should apply only to binary and char/varchar columns
+                       rs.next();
+                       assertEquals(rs.getString(1),"12345");
+                       assertEquals(new String(rs.getBytes(1)), "12345");
+                       
+                       //max should apply to the following since the column is 
+                       //a varchar column
+                       rs = stmt.executeQuery("select * from teststring");
+                       rs.next();
+                       assertEquals(rs.getString(1), "12");
+                       assertEquals(new String(rs.getBytes(1)), "12");
+       }
 }
index dcd85572b7b645bcb395e25aa99d3237a52f81bf..ea819b3633382a6d6f89d4b36a4392805f86252d 100644 (file)
@@ -153,4 +153,26 @@ public class ServerPreparedStmtTest extends TestCase
                pstmt.close();
        }
 
+       public void testSPSToggle() throws Exception
+       {
+               // Verify we can toggle UseServerPrepare safely before a query is executed.
+               PreparedStatement pstmt = con.prepareStatement("SELECT * FROM testsps WHERE id = 2");
+        ((PGStatement)pstmt).setUseServerPrepare(true);
+        ((PGStatement)pstmt).setUseServerPrepare(false);
+       }
+
+       public void testBytea() throws Exception
+       {
+               // Verify we can use setBytes() with a server-prepared update.
+               try {
+                       TestUtil.createTable(con, "testsps_bytea", "data bytea");
+                       
+                       PreparedStatement pstmt = con.prepareStatement("INSERT INTO testsps_bytea(data) VALUES (?)");
+                       ((PGStatement)pstmt).setUseServerPrepare(true);
+                       pstmt.setBytes(1, new byte[100]);
+                       pstmt.executeUpdate();
+               } finally {
+                       TestUtil.dropTable(con, "testsps_bytea");
+               }
+       }
 }
index 2b77f9002a465ff1115ade7f3d3f25770ae94cec..b53f325dd6eaa23abecf730068031822ce77a81d 100644 (file)
@@ -24,6 +24,9 @@ OBJS= fe-auth.o fe-connect.o fe-exec.o fe-misc.o fe-print.o fe-lobj.o \
       fe-protocol2.o fe-protocol3.o pqexpbuffer.o pqsignal.o fe-secure.o \
       dllist.o md5.o ip.o wchar.o encnames.o \
       $(filter crypt.o getaddrinfo.o inet_aton.o snprintf.o strerror.o path.o thread.o, $(LIBOBJS))
+ifeq ($(PORTNAME), win32)
+OBJS+=win32.o
+endif
 
 
 # Add libraries that libpq depends (or might depend) on into the
@@ -69,7 +72,7 @@ installdirs:
        $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir) $(DESTDIR)$(includedir_internal)
 
 uninstall: uninstall-lib
-       rm -f $(DESTDIR)$(includedir)/libpq-fe.h $(DESTDIR)$(includedir_internal)/libpq-int.h $(includedir_internal)/pqexpbuffer.h
+       rm -f $(DESTDIR)$(includedir)/libpq-fe.h $(DESTDIR)$(includedir_internal)/libpq-int.h $(DESTDIR)$(includedir_internal)/pqexpbuffer.h
 
 clean distclean maintainer-clean: clean-lib
        rm -f $(OBJS) crypt.c getaddrinfo.c inet_aton.c snprintf.c strerror.c path.c thread.c dllist.c md5.c ip.c encnames.c wchar.c
index 6e1b9ca115b0034cb17dc8608d1b2f6ea8642db1..160308b5412c460e100d414e4d65e73226c42b13 100644 (file)
@@ -48,7 +48,7 @@
 
 /* For FNCTL_NONBLOCK */
 #if defined(WIN32) || defined(__BEOS__)
-long           ioctlsocket_ret;
+long           ioctlsocket_ret=1;
 #endif
 
 #define PGPASSFILE ".pgpass"
index 03cd49d0e51f5a37b8ffecdee7c6a3815c80a87b..79786d980dd4934896c1113867fe95c2b6d1582e 100644 (file)
@@ -480,8 +480,8 @@ pqInternalNotice(const PGNoticeHooks * hooks, const char *fmt,...)
        /*
         * Set up fields of notice.
         */
-       pqSaveMessageField(res, 'M', msgBuf);
-       pqSaveMessageField(res, 'S', libpq_gettext("NOTICE"));
+       pqSaveMessageField(res, PG_DIAG_MESSAGE_PRIMARY, msgBuf);
+       pqSaveMessageField(res, PG_DIAG_SEVERITY, libpq_gettext("NOTICE"));
        /* XXX should provide a SQLSTATE too? */
 
        /*
@@ -2304,7 +2304,7 @@ PQunescapeBytea(const unsigned char *strtext, size_t *retbuflen)
        if (buffer == NULL)
                return NULL;
 
-       for (i = j = buflen = 0; i < strtextlen;)
+       for (i = j = buflen = 0; i < (int)strtextlen;)
        {
                switch (strtext[i])
                {
index 495ab09ff95c4eda7f24d5725ccc07529a6b4341..cdc089d374f94e167057b1343aa212a249c93612 100644 (file)
@@ -177,10 +177,10 @@ pqSetenvPoll(PGconn *conn)
                                         * must use begin/commit in case autocommit is off by
                                         * default in a 7.3 server.
                                         *
-                                        * Note: version() and getdatabaseencoding() exist in all
+                                        * Note: version() exists in all
                                         * protocol-2.0-supporting backends.
                                         */
-                                       if (!PQsendQuery(conn, "begin; select version(), getdatabaseencoding(); end"))
+                                       if (!PQsendQuery(conn, "begin; select version(); end"))
                                                goto error_return;
 
                                        conn->setenv_state = SETENV_STATE_QUERY1_WAIT;
@@ -213,8 +213,8 @@ pqSetenvPoll(PGconn *conn)
                                                }
 
                                                /*
-                                                * Extract server version and database encoding,
-                                                * and save as if ParameterStatus
+                                                * Extract server version and save as if
+                                                * ParameterStatus
                                                 */
                                                val = PQgetvalue(res, 0, 0);
                                                if (val && strncmp(val, "PostgreSQL ", 11) == 0)
@@ -236,12 +236,6 @@ pqSetenvPoll(PGconn *conn)
                                                                                                  val);
                                                }
 
-                                               val = PQgetvalue(res, 0, 1);
-                                               if (val && *val)                /* null should not happen,
-                                                                                                * but */
-                                                       pqSaveParameterStatus(conn, "server_encoding",
-                                                                                                 val);
-
                                                PQclear(res);
                                                /* Keep reading until PQgetResult returns NULL */
                                        }
@@ -306,21 +300,17 @@ pqSetenvPoll(PGconn *conn)
                                                else
                                                {
                                                        /*
-                                                        * Error: presumably function not available,
-                                                        * so use PGCLIENTENCODING or database
-                                                        * encoding as the fallback.
+                                                        * Error: presumably function not
+                                                        * available, so use PGCLIENTENCODING or
+                                                        * SQL_ASCII as the fallback.
                                                         */
                                                        val = getenv("PGCLIENTENCODING");
                                                        if (val && *val)
                                                                pqSaveParameterStatus(conn, "client_encoding",
                                                                                                          val);
                                                        else
-                                                       {
-                                                               val = PQparameterStatus(conn, "server_encoding");
-                                                               if (val && *val)
-                                                                       pqSaveParameterStatus(conn, "client_encoding",
-                                                                                                                 val);
-                                                       }
+                                                               pqSaveParameterStatus(conn, "client_encoding",
+                                                                                                         "SQL_ASCII");
                                                }
 
                                                PQclear(res);
@@ -828,7 +818,7 @@ pqGetErrorNotice2(PGconn *conn, bool isError)
        {
                /* what comes before the colon is severity */
                *splitp = '\0';
-               pqSaveMessageField(res, 'S', workBuf.data);
+               pqSaveMessageField(res, PG_DIAG_SEVERITY, workBuf.data);
                startp = splitp + 3;
        }
        else
@@ -841,16 +831,16 @@ pqGetErrorNotice2(PGconn *conn, bool isError)
        {
                /* what comes before the newline is primary message */
                *splitp++ = '\0';
-               pqSaveMessageField(res, 'M', startp);
+               pqSaveMessageField(res, PG_DIAG_MESSAGE_PRIMARY, startp);
                /* the rest is detail; strip any leading whitespace */
                while (*splitp && isspace((unsigned char) *splitp))
                        splitp++;
-               pqSaveMessageField(res, 'D', splitp);
+               pqSaveMessageField(res, PG_DIAG_MESSAGE_DETAIL, splitp);
        }
        else
        {
                /* single-line message, so all primary */
-               pqSaveMessageField(res, 'M', startp);
+               pqSaveMessageField(res, PG_DIAG_MESSAGE_PRIMARY, startp);
        }
 
        /*
index 84dd6b8369b7b06f45728772749ed9f65aa9a5f8..bd9bd12d966a628e163cb4507d9797d1e60020dd 100644 (file)
@@ -614,19 +614,19 @@ pqGetErrorNotice3(PGconn *conn, bool isError)
         * Now build the "overall" error message for PQresultErrorMessage.
         */
        resetPQExpBuffer(&workBuf);
-       val = PQresultErrorField(res, 'S'); /* Severity */
+       val = PQresultErrorField(res, PG_DIAG_SEVERITY);
        if (val)
                appendPQExpBuffer(&workBuf, "%s:  ", val);
        if (conn->verbosity == PQERRORS_VERBOSE)
        {
-               val = PQresultErrorField(res, 'C');             /* SQLSTATE Code */
+               val = PQresultErrorField(res, PG_DIAG_SQLSTATE);
                if (val)
                        appendPQExpBuffer(&workBuf, "%s: ", val);
        }
-       val = PQresultErrorField(res, 'M'); /* Primary message */
+       val = PQresultErrorField(res, PG_DIAG_MESSAGE_PRIMARY);
        if (val)
                appendPQExpBufferStr(&workBuf, val);
-       val = PQresultErrorField(res, 'P'); /* Position */
+       val = PQresultErrorField(res, PG_DIAG_STATEMENT_POSITION);
        if (val)
        {
                /* translator: %s represents a digit string */
@@ -635,13 +635,13 @@ pqGetErrorNotice3(PGconn *conn, bool isError)
        appendPQExpBufferChar(&workBuf, '\n');
        if (conn->verbosity != PQERRORS_TERSE)
        {
-               val = PQresultErrorField(res, 'D');             /* Detail */
+               val = PQresultErrorField(res, PG_DIAG_MESSAGE_DETAIL);
                if (val)
                        appendPQExpBuffer(&workBuf, libpq_gettext("DETAIL:  %s\n"), val);
-               val = PQresultErrorField(res, 'H');             /* Hint */
+               val = PQresultErrorField(res, PG_DIAG_MESSAGE_HINT);
                if (val)
                        appendPQExpBuffer(&workBuf, libpq_gettext("HINT:  %s\n"), val);
-               val = PQresultErrorField(res, 'W');             /* Where */
+               val = PQresultErrorField(res, PG_DIAG_CONTEXT);
                if (val)
                        appendPQExpBuffer(&workBuf, libpq_gettext("CONTEXT:  %s\n"), val);
        }
@@ -650,9 +650,9 @@ pqGetErrorNotice3(PGconn *conn, bool isError)
                const char *valf;
                const char *vall;
 
-               valf = PQresultErrorField(res, 'F');    /* File */
-               vall = PQresultErrorField(res, 'L');    /* Line */
-               val = PQresultErrorField(res, 'R');             /* Routine */
+               valf = PQresultErrorField(res, PG_DIAG_SOURCE_FILE);
+               vall = PQresultErrorField(res, PG_DIAG_SOURCE_LINE);
+               val = PQresultErrorField(res, PG_DIAG_SOURCE_FUNCTION);
                if (val || valf || vall)
                {
                        appendPQExpBufferStr(&workBuf, libpq_gettext("LOCATION:  "));
index 8cf1ea501c71df76121cb21861b2617ca65537f5..7477956f4dfc6adc4b7dcb90047249c3a173ba63 100644 (file)
@@ -312,7 +312,7 @@ rloop:
                                                printfPQExpBuffer(&conn->errorMessage,
                                                                                  libpq_gettext("SSL SYSCALL error: EOF detected\n"));
 
-                                               SOCK_ERRNO = ECONNRESET;
+                                               SOCK_ERRNO_SET(ECONNRESET);
                                                n = -1;
                                        }
                                        break;
@@ -322,7 +322,7 @@ rloop:
                                          libpq_gettext("SSL error: %s\n"), SSLerrmessage());
                                /* fall through */
                        case SSL_ERROR_ZERO_RETURN:
-                               SOCK_ERRNO = ECONNRESET;
+                               SOCK_ERRNO_SET(ECONNRESET);
                                n = -1;
                                break;
                        default:
@@ -383,7 +383,7 @@ pqsecure_write(PGconn *conn, const void *ptr, size_t len)
                                        {
                                                printfPQExpBuffer(&conn->errorMessage,
                                                                                  libpq_gettext("SSL SYSCALL error: EOF detected\n"));
-                                               SOCK_ERRNO = ECONNRESET;
+                                               SOCK_ERRNO_SET(ECONNRESET);
                                                n = -1;
                                        }
                                        break;
@@ -393,7 +393,7 @@ pqsecure_write(PGconn *conn, const void *ptr, size_t len)
                                          libpq_gettext("SSL error: %s\n"), SSLerrmessage());
                                /* fall through */
                        case SSL_ERROR_ZERO_RETURN:
-                               SOCK_ERRNO = ECONNRESET;
+                               SOCK_ERRNO_SET(ECONNRESET);
                                n = -1;
                                break;
                        default:
@@ -544,6 +544,9 @@ verify_peer(PGconn *conn)
 static DH  *
 load_dh_file(int keylength)
 {
+#ifdef WIN32
+    return NULL;
+#else
        char            pwdbuf[BUFSIZ];
        struct passwd pwdstr;
        struct passwd *pwd = NULL;
@@ -558,6 +561,7 @@ load_dh_file(int keylength)
        /* attempt to open file.  It's not an error if it doesn't exist. */
        snprintf(fnbuf, sizeof fnbuf, "%s/.postgresql/dh%d.pem",
                         pwd->pw_dir, keylength);
+
        if ((fp = fopen(fnbuf, "r")) == NULL)
                return NULL;
 
@@ -583,6 +587,7 @@ load_dh_file(int keylength)
        }
 
        return dh;
+#endif
 }
 
 /*
@@ -686,6 +691,9 @@ tmp_dh_cb(SSL *s, int is_export, int keylength)
 static int
 client_cert_cb(SSL *ssl, X509 **x509, EVP_PKEY **pkey)
 {
+#ifdef WIN32
+   return 0;
+#else
        char            pwdbuf[BUFSIZ];
        struct passwd pwdstr;
        struct passwd *pwd = NULL;
@@ -785,6 +793,7 @@ client_cert_cb(SSL *ssl, X509 **x509, EVP_PKEY **pkey)
        }
 
        return 1;
+#endif
 }
 
 /*
@@ -793,11 +802,13 @@ client_cert_cb(SSL *ssl, X509 **x509, EVP_PKEY **pkey)
 static int
 initialize_SSL(PGconn *conn)
 {
+#ifndef WIN32
        struct stat buf;
        char            pwdbuf[BUFSIZ];
        struct passwd pwdstr;
        struct passwd *pwd = NULL;
        char            fnbuf[2048];
+#endif
 
        if (!SSL_context)
        {
@@ -813,6 +824,7 @@ initialize_SSL(PGconn *conn)
                }
        }
 
+#ifndef WIN32
        if (pqGetpwuid(getuid(), &pwdstr, pwdbuf, sizeof(pwdbuf), &pwd) == 0)
        {
                snprintf(fnbuf, sizeof fnbuf, "%s/.postgresql/root.crt",
@@ -849,6 +861,7 @@ initialize_SSL(PGconn *conn)
 
        /* set up mechanism to provide client certificate, if available */
        SSL_CTX_set_client_cert_cb(SSL_context, client_cert_cb);
+#endif
 
        return 0;
 }
index 5be5b907ce471a94ad313f351b95f1759b630f0c..d97bc57c122203ca8c750698a422c294a1bbddf8 100644 (file)
@@ -465,9 +465,11 @@ __attribute__((format_arg(1)));
 #ifdef WIN32
 #define SOCK_ERRNO (WSAGetLastError())
 #define SOCK_STRERROR winsock_strerror
+#define SOCK_ERRNO_SET(e) WSASetLastError(e)
 #else
 #define SOCK_ERRNO errno
 #define SOCK_STRERROR pqStrerror
+#define SOCK_ERRNO_SET(e) errno=e
 #endif
 
 #endif   /* LIBPQ_INT_H */
index 0d7010d2177e321aa1204027209da05bc30e90e7..32d1794043fc0cb30838c9a3e5c58bfd4bbdb995 100644 (file)
-# Spanish message translation file for libpq\r
-# Karim <[email protected]>, 2002.\r
-#\r
-#\r
-#\r
-msgid ""\r
-msgstr ""\r
-"Project-Id-Version: PostgreSQL 7.2\n"\r
-"POT-Creation-Date: 2002-08-29 04:20-0400\n"\r
-"PO-Revision-Date: 2002-08-29 23:26+0100\n"\r
-"Last-Translator: Karim Mribti <[email protected]>\n"\r
-"Language-Team: Karim Mribti <[email protected]>\n"\r
-"MIME-Version: 1.0\n"\r
-"Content-Type: text/plain; charset=ISO-8859-1\n"\r
-"Content-Transfer-Encoding: 8bit\n"\r
-"X-Generator: KBabel 0.9.6\n"\r
-\r
-#: fe-auth.c:232\r
-#, c-format\r
-msgid "Kerberos 4 error: %s\n"\r
-msgstr "Error de Kerberos 4: %s\n"\r
-\r
-#: fe-auth.c:395\r
-#, c-format\r
-msgid "could not set socket to blocking mode: %s\n"\r
-msgstr "No se ha podido poner el socket en modo de bloqueo: %s\n"\r
-\r
-#: fe-auth.c:412 fe-auth.c:416\r
-#, c-format\r
-msgid "Kerberos 5 authentication rejected: %*s\n"\r
-msgstr "Autentificación de Kerberos 5 denegada: %*s\n"\r
-\r
-#: fe-auth.c:440\r
-#, c-format\r
-msgid "could not restore non-blocking mode on socket: %s\n"\r
-msgstr "No se ha podido restablecer el modo de bloqueo del socket: %s\n"\r
-\r
-#: fe-auth.c:503\r
-msgid "SCM_CRED authentication method not supported\n"\r
-msgstr "El método de autentificación SCM_CRED no está soportado\n"\r
-\r
-#: fe-auth.c:589\r
-msgid "Kerberos 4 authentication failed\n"\r
-msgstr "Autentificación Kerberos 4 fallida\n"\r
-\r
-#: fe-auth.c:595\r
-msgid "Kerberos 4 authentication not supported\n"\r
-msgstr "El método de autentificación Kerberos 4 no está soportado\n"\r
-\r
-#: fe-auth.c:606\r
-msgid "Kerberos 5 authentication failed\n"\r
-msgstr "Autentificación Kerberos 5 fallida\n"\r
-\r
-#: fe-auth.c:612\r
-msgid "Kerberos 5 authentication not supported\n"\r
-msgstr "El método de autentificación Kerberos 5 no esta soportado\n"\r
-\r
-#: fe-auth.c:640\r
-#, c-format\r
-msgid "authentication method %u not supported\n"\r
-msgstr "El método de autentificación %u no está soportado\n"\r
-\r
-#: fe-auth.c:677\r
-#, c-format\r
-msgid "invalid authentication service name \"%s\", ignored\n"\r
-msgstr "nombre de servicio de autentificación \"%s\" no válido, ignorado\n"\r
-\r
-#: fe-auth.c:734\r
-#, c-format\r
-msgid "fe_getauthname: invalid authentication system: %d\n"\r
-msgstr "fe_getauthname: sistema de autentificación no válido: %d\n"\r
-\r
-#: fe-connect.c:485\r
-msgid "could not determine the PostgreSQL user name to use\n"\r
-msgstr "No ha sido posible determinar un nombre de usuario de PostgreSQL a usar\n"\r
-\r
-#: fe-connect.c:707\r
-#, c-format\r
-msgid "could not set socket to non-blocking mode: %s\n"\r
-msgstr "No se ha podido establecer el socket en modo de no-bloqueo: %s\n"\r
-\r
-#: fe-connect.c:731\r
-#, c-format\r
-msgid "could not set socket to TCP no delay mode: %s\n"\r
-msgstr "No se ha podido establecer el socket en modo TCP sin retardo: %s\n"\r
-\r
-#: fe-connect.c:751\r
-#, c-format\r
-msgid ""\r
-"could not connect to server: %s\n"\r
-"\tIs the server running locally and accepting\n"\r
-"\tconnections on Unix domain socket \"%s\"?\n"\r
-msgstr ""\r
-"No se ha podido conectar con el servidor: %s\n"\r
-"\t¿Está el servidor en ejecución local y acepta \n"\r
-"\tconexiónes en el socket de dominio Unix \"%s\"?\n"\r
-\r
-#: fe-connect.c:760\r
-#, c-format\r
-msgid ""\r
-"could not connect to server: %s\n"\r
-"\tIs the server running on host %s and accepting\n"\r
-"\tTCP/IP connections on port %s?\n"\r
-msgstr ""\r
-"No se ha podido conectar con el servidor: %s\n"\r
-"\t¿Está el servidor en ejecución en el host %s y acepta \n"\r
-"\tconexiónes TCP/IP en el puerto %s?\n"\r
-\r
-#: fe-connect.c:824\r
-#, c-format\r
-msgid "invalid host address: %s\n"\r
-msgstr "dirección del host no válida: %s\n"\r
-\r
-#: fe-connect.c:843\r
-#, c-format\r
-msgid "unknown host name: %s\n"\r
-msgstr "Host desconocido: %s\n"\r
-\r
-#: fe-connect.c:890\r
-#, c-format\r
-msgid "could not create socket: %s\n"\r
-msgstr "No se ha podido crear el socket: %s\n"\r
-\r
-#: fe-connect.c:958\r
-#, c-format\r
-msgid "could not send SSL negotiation packet: %s\n"\r
-msgstr "No se ha podido enviar los paquetes de negociación SSL: %s\n"\r
-\r
-#: fe-connect.c:971\r
-#, c-format\r
-msgid "could not receive server response to SSL negotiation packet: %s\n"\r
-msgstr "No se ha podido recibir respuesta del servidor al paquete de negociación SSL: %s\n"\r
-\r
-#: fe-connect.c:1002\r
-#, c-format\r
-msgid "received invalid response to SSL negotiation: %c\n"\r
-msgstr "se ha recibido una respuesta no válida en la negociación SSL: %c\n"\r
-\r
-#: fe-connect.c:1011\r
-msgid "server does not support SSL, but SSL was required\n"\r
-msgstr "El servidor no soporta SSL, pero SSL es requerida\n"\r
-\r
-#: fe-connect.c:1230\r
-msgid "invalid connection state, probably indicative of memory corruption\n"\r
-msgstr "Estado de conexión no válido, probablemente por corrupción de memoria\n"\r
-\r
-#: fe-connect.c:1261\r
-#, c-format\r
-msgid "could not get socket error status: %s\n"\r
-msgstr "No se ha podido determinar el estado de error del socket: %s\n"\r
-\r
-#: fe-connect.c:1281\r
-#, c-format\r
-msgid "could not get client address from socket: %s\n"\r
-msgstr "No se ha podido determinar la dirección del cliente desde el socket: %s\n"\r
-\r
-#: fe-connect.c:1320\r
-#, c-format\r
-msgid "could not send startup packet: %s\n"\r
-msgstr "No se ha podido enviar el paquete de inicio: %s\n"\r
-\r
-#: fe-connect.c:1376\r
-#, c-format\r
-msgid "expected authentication request from server, but received %c\n"\r
-msgstr "Se esperaba petición de autentificación desde servidor, pero se ha recibido %c\n"\r
-\r
-#: fe-connect.c:1488\r
-msgid "unexpected message from server during startup\n"\r
-msgstr "Mensaje del servidor no esperado durante el inicio\n"\r
-\r
-#: fe-connect.c:1547\r
-#, c-format\r
-msgid "invalid connection state %c, probably indicative of memory corruption\n"\r
-msgstr "Estado de conexión no válido %c, probablemente por corrupción de la memoria\n"\r
-\r
-#: fe-connect.c:1635\r
-#, c-format\r
-msgid "invalid setenv state %c, probably indicative of memory corruption\n"\r
-msgstr "Estado de conexión no válido %c, probablemente por corrupción de la memoria\n"\r
-\r
-#: fe-connect.c:1674\r
-#, c-format\r
-msgid "invalid encoding name in PGCLIENTENCODING: %s\n"\r
-msgstr "codificación PGCLIENTENCODING no válida: %s\n"\r
-\r
-#: fe-connect.c:1798\r
-#, c-format\r
-msgid "invalid state %c, probably indicative of memory corruption\n"\r
-msgstr "Estado %c no válido, probablemente por corrupción de la memoria\n"\r
-\r
-#: fe-connect.c:2425 fe-connect.c:2434 fe-exec.c:1273 fe-lobj.c:536\r
-msgid "out of memory\n"\r
-msgstr "Sin memoria\n"\r
-\r
-#: fe-connect.c:2473\r
-#, c-format\r
-msgid "missing \"=\" after \"%s\" in connection info string\n"\r
-msgstr "falta \"=\" después de \"%s\" en la cadena de información de la conexión\n"\r
-\r
-#: fe-connect.c:2522\r
-msgid "unterminated quoted string in connection info string\n"\r
-msgstr ""\r
-\r
-#: fe-connect.c:2556\r
-#, c-format\r
-msgid "invalid connection option \"%s\"\n"\r
-msgstr "opción de conexión no válida \"%s\"\n"\r
-\r
-#: fe-connect.c:2742\r
-msgid "connection pointer is NULL\n"\r
-msgstr "el puntero de conexión es NULL\n"\r
-\r
-#: fe-exec.c:726\r
-msgid "command string is a null pointer\n"\r
-msgstr "la cadena de comando es un puntero nulo\n"\r
-\r
-#: fe-exec.c:734\r
-msgid "no connection to the server\n"\r
-msgstr "no hay conexión con el servidor\n"\r
-\r
-#: fe-exec.c:741\r
-msgid "another command is already in progress\n"\r
-msgstr "otro cómando se está ejecutando\n"\r
-\r
-#: fe-exec.c:939\r
-#, c-format\r
-msgid "message type 0x%02x arrived from server while idle\n"\r
-msgstr "ha llegado un mensaje de tipo 0x%02x desde el servidor mientras se estaba inactivo\n"\r
-\r
-#: fe-exec.c:981\r
-#, c-format\r
-msgid "unexpected character %c following empty query response (\"I\" message)\n"\r
-msgstr "caracter no esperado %c sigue a un mensaje de respuesta vacío (mensaje \"I\")\n"\r
-\r
-#: fe-exec.c:1038\r
-msgid ""\r
-"server sent data (\"D\" message) without prior row description (\"T\" "\r
-"message)\n"\r
-msgstr "el servidor envió datos (mensaje \"D\") sin enviar antes la descripción de la fila (mensaje \"T\")\n"\r
-\r
-#: fe-exec.c:1055\r
-msgid ""\r
-"server sent binary data (\"B\" message) without prior row description (\"T\" "\r
-"message)\n"\r
-msgstr "el servidor envió datos binarios (mensaje \"B\") sin enviar antes la descripción de la fila (mensaje \"T\" )\n"\r
-\r
-#: fe-exec.c:1071\r
-#, c-format\r
-msgid "unexpected response from server; first received character was \"%c\"\n"\r
-msgstr "respuesta inesperada del servidor; el primer carácter recibido es \"%c\"\n"\r
-\r
-#: fe-exec.c:1360\r
-#, c-format\r
-msgid "unexpected asyncStatus: %d\n"\r
-msgstr "asyncStatus No esperado: %d\n"\r
-\r
-#: fe-exec.c:1410\r
-msgid "COPY state must be terminated first\n"\r
-msgstr "el estado COPY debe ser terminado primero\n"\r
-\r
-#: fe-exec.c:1769\r
-msgid "no COPY in progress\n"\r
-msgstr "No hay ningún COPY en progreso\n"\r
-\r
-#: fe-exec.c:1808\r
-msgid "lost synchronization with server, resetting connection\n"\r
-msgstr "se perdió la sicronización con el servidor, reiniciando la conexión\n"\r
-\r
-#: fe-exec.c:1873\r
-msgid "connection in wrong state\n"\r
-msgstr "la conexión está en un estado incorrecto\n"\r
-\r
-#: fe-exec.c:1975 fe-exec.c:2009\r
-#, c-format\r
-msgid "protocol error: id=0x%x\n"\r
-msgstr "error de protocolo: id=0x%x\n"\r
-\r
-#: fe-exec.c:2044\r
-msgid "invalid ExecStatusType code"\r
-msgstr "código de ExecStatusType no válido"\r
-\r
-#: fe-exec.c:2097 fe-exec.c:2130\r
-#, c-format\r
-msgid "column number %d is out of range 0..%d\n"\r
-msgstr "columna número %d está fuera del rango 0..%d\n"\r
-\r
-#: fe-exec.c:2119\r
-#, c-format\r
-msgid "row number %d is out of range 0..%d\n"\r
-msgstr "fila número %d está fuera del rango 0..%d\n"\r
-\r
-#: fe-exec.c:2314\r
-#, c-format\r
-msgid "could not interpret result from server: %s\n"\r
-msgstr "no se ha podido interpretar la respuesta del servidor: %s\n"\r
-\r
-#: fe-exec.c:2330\r
-msgid "no row count available\n"\r
-msgstr "la cuenta de filas no está disponible\n"\r
-\r
-#: fe-lobj.c:400 fe-lobj.c:483\r
-#, c-format\r
-msgid "could not open file \"%s\": %s\n"\r
-msgstr "no se ha podido abrir el archivo \"%s\": %s\n"\r
-\r
-#: fe-lobj.c:412\r
-#, c-format\r
-msgid "could not create large object for file \"%s\"\n"\r
-msgstr "no se ha podido crear un objeto grande para el archivo \"%s\"\n"\r
-\r
-#: fe-lobj.c:422 fe-lobj.c:472\r
-#, c-format\r
-msgid "could not open large object %u\n"\r
-msgstr "no se ha podido abrir el objeto grande %u\n"\r
-\r
-#: fe-lobj.c:437\r
-#, c-format\r
-msgid "error while reading file \"%s\"\n"\r
-msgstr "error al leer del archivo \"%s\"\n"\r
-\r
-#: fe-lobj.c:498\r
-#, c-format\r
-msgid "error while writing to file \"%s\"\n"\r
-msgstr "error al escribir en el archivo \"%s\"\n"\r
-\r
-#: fe-lobj.c:564\r
-msgid "query to initialize large object functions did not return data\n"\r
-msgstr "la consulta para inicializar las funciones de objetos grandes no devuelve datos\n"\r
-\r
-#: fe-lobj.c:602\r
-msgid "cannot determine OID of function lo_open\n"\r
-msgstr "no se ha podido determinar el OID de la función lo_open\n"\r
-\r
-#: fe-lobj.c:609\r
-msgid "cannot determine OID of function lo_close\n"\r
-msgstr "no se ha podido determinar el OID de la función lo_close\n"\r
-\r
-#: fe-lobj.c:616\r
-msgid "cannot determine OID of function lo_creat\n"\r
-msgstr "no se ha podido determinar el OID de la función lo_creat\n"\r
-\r
-#: fe-lobj.c:623\r
-msgid "cannot determine OID of function lo_unlink\n"\r
-msgstr "no se ha podido determinar el OID de la función lo_unlink\n"\r
-\r
-#: fe-lobj.c:630\r
-msgid "cannot determine OID of function lo_lseek\n"\r
-msgstr "no se ha podido determinar el OID de la función lo_lseek\n"\r
-\r
-#: fe-lobj.c:637\r
-msgid "cannot determine OID of function lo_tell\n"\r
-msgstr "no se ha podido determinar el OID de la función lo_tell\n"\r
-\r
-#: fe-lobj.c:644\r
-msgid "cannot determine OID of function loread\n"\r
-msgstr "no se ha podido determinar el OID de la función loread\n"\r
-\r
-#: fe-lobj.c:651\r
-msgid "cannot determine OID of function lowrite\n"\r
-msgstr "no se ha podido determinar el OID de la función lowrite\n"\r
-\r
-#: fe-misc.c:295\r
-#, c-format\r
-msgid "integer of size %lu not supported by pqGetInt\n"\r
-msgstr "el entero de tamaño %lu no es soportado por pqGetInt\n"\r
-\r
-#: fe-misc.c:333\r
-#, c-format\r
-msgid "integer of size %lu not supported by pqPutInt\n"\r
-msgstr "el entero de tamaño %lu no es soportado por pqPutInt\n"\r
-\r
-#: fe-misc.c:381 fe-misc.c:415 fe-misc.c:831\r
-#, c-format\r
-msgid "select() failed: %s\n"\r
-msgstr "select() fallida: %s\n"\r
-\r
-#: fe-misc.c:442 fe-misc.c:634 fe-misc.c:792\r
-msgid "connection not open\n"\r
-msgstr "No está abierta la conexión\n"\r
-\r
-#: fe-misc.c:507 fe-misc.c:587\r
-#, c-format\r
-msgid "could not receive data from server: %s\n"\r
-msgstr "no se ha podido recibir datos del servidor: %s\n"\r
-\r
-#: fe-misc.c:604 fe-misc.c:678\r
-msgid ""\r
-"server closed the connection unexpectedly\n"\r
-"\tThis probably means the server terminated abnormally\n"\r
-"\tbefore or while processing the request.\n"\r
-msgstr ""\r
-"El servidor ha cerrado la conexión inesperadamente,\n"\r
-"\tprobablemente porque terminó de manera anormal\n"\r
-"\tantes o durante el procesamiento de la petición.\n"\r
-\r
-#: fe-misc.c:694\r
-#, c-format\r
-msgid "could not send data to server: %s\n"\r
-msgstr "No se ha podido enviar datos al servidor: %s\n"\r
-\r
-\r
+# Spanish message translation file for libpq
+# Karim <[email protected]>, 2002.
+# Updated on august 2003 by Alvaro Herrera <[email protected]>
+msgid ""
+msgstr ""
+"Project-Id-Version: PostgreSQL 7.4\n"
+"POT-Creation-Date: 2003-08-23 23:14-0400\n"
+"PO-Revision-Date: 2003-08-23 23:29-0400\n"
+"Last-Translator: Álvaro Herrera <[email protected]>\n"
+"Language-Team: Karim Mribti <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: fe-auth.c:232
+#, c-format
+msgid "Kerberos 4 error: %s\n"
+msgstr "error de Kerberos 4: %s\n"
+
+#: fe-auth.c:394
+#, c-format
+msgid "could not set socket to blocking mode: %s\n"
+msgstr "no se ha podido poner el socket en modo de bloqueo: %s\n"
+
+#: fe-auth.c:411 fe-auth.c:415
+#, c-format
+msgid "Kerberos 5 authentication rejected: %*s\n"
+msgstr "autentificación Kerberos 5 denegada: %*s\n"
+
+#: fe-auth.c:441
+#, c-format
+msgid "could not restore non-blocking mode on socket: %s\n"
+msgstr "no se ha podido restablecer el modo de no bloqueo en el socket: %s\n"
+
+#: fe-auth.c:509
+msgid "SCM_CRED authentication method not supported\n"
+msgstr "el método de autentificación SCM_CRED no está soportado\n"
+
+#: fe-auth.c:600
+msgid "Kerberos 4 authentication failed\n"
+msgstr "autentificación Kerberos 4 fallida\n"
+
+#: fe-auth.c:606
+msgid "Kerberos 4 authentication not supported\n"
+msgstr "el método de autentificación Kerberos 4 no está soportado\n"
+
+#: fe-auth.c:616
+msgid "Kerberos 5 authentication failed\n"
+msgstr "autentificación Kerberos 5 fallida\n"
+
+#: fe-auth.c:622
+msgid "Kerberos 5 authentication not supported\n"
+msgstr "el método de autentificación Kerberos 5 no está soportado\n"
+
+#: fe-auth.c:650
+#, c-format
+msgid "authentication method %u not supported\n"
+msgstr "el método de autentificación %u no está soportado\n"
+
+#: fe-auth.c:687
+#, c-format
+msgid "invalid authentication service name \"%s\", ignored\n"
+msgstr "nombre de servicio de autentificación \"%s\" no válido, ignorado\n"
+
+#: fe-auth.c:758
+#, c-format
+msgid "fe_getauthname: invalid authentication system: %d\n"
+msgstr "fe_getauthname: sistema de autentificación no válido: %d\n"
+
+#: fe-connect.c:451
+#, c-format
+msgid "unrecognized sslmode: \"%s\"\n"
+msgstr "modo ssl no reconocido: \"%s\"\n"
+
+#: fe-connect.c:469
+#, c-format
+msgid "sslmode \"%s\" invalid when SSL support is not compiled in\n"
+msgstr ""
+"modo ssl \"%s\" no es válido cuando no se ha compilado con soporte SSL\n"
+
+#: fe-connect.c:781
+#, c-format
+msgid "could not set socket to non-blocking mode: %s\n"
+msgstr "no se ha podido establecer el socket en modo de no-bloqueo: %s\n"
+
+#: fe-connect.c:808
+#, c-format
+msgid "could not set socket to TCP no delay mode: %s\n"
+msgstr "no se ha podido establecer el socket en modo TCP sin retardo: %s\n"
+
+#: fe-connect.c:839
+#, c-format
+msgid ""
+"could not connect to server: %s\n"
+"\tIs the server running locally and accepting\n"
+"\tconnections on Unix domain socket \"%s\"?\n"
+msgstr ""
+"no se ha podido conectar con el servidor: %s\n"
+"\t¿Está el servidor en ejecución local y acepta \n"
+"\tconexiónes en el socket de dominio Unix \"%s\"?\n"
+
+#: fe-connect.c:851
+#, c-format
+msgid ""
+"could not connect to server: %s\n"
+"\tIs the server running on host \"%s\" and accepting\n"
+"\tTCP/IP connections on port %s?\n"
+msgstr ""
+"no se ha podido conectar con el servidor: %s\n"
+"\t¿Está el servidor en ejecución en el host %s y acepta \n"
+"\tconexiones TCP/IP en el puerto %s?\n"
+
+#: fe-connect.c:935
+#, c-format
+msgid "could not translate hostname \"%s\" to address: %s\n"
+msgstr "no se pudo traducir el nombre \"%s\" a una dirección: %s\n"
+
+#: fe-connect.c:939
+#, c-format
+msgid "could not translate local service to address: %s\n"
+msgstr "no se pudo traducir servicio local a dirección: %s\n"
+
+#: fe-connect.c:1141
+msgid "invalid connection state, probably indicative of memory corruption\n"
+msgstr "estado de conexión no válido, probablemente por corrupción de memoria\n"
+
+#: fe-connect.c:1184
+#, c-format
+msgid "could not create socket: %s\n"
+msgstr "no se ha podido crear el socket: %s\n"
+
+#: fe-connect.c:1290
+#, c-format
+msgid "could not get socket error status: %s\n"
+msgstr "no se ha podido determinar el estado de error del socket: %s\n"
+
+#: fe-connect.c:1327
+#, c-format
+msgid "could not get client address from socket: %s\n"
+msgstr ""
+"no se ha podido determinar la dirección del cliente desde el socket: %s\n"
+
+#: fe-connect.c:1368
+#, c-format
+msgid "could not send SSL negotiation packet: %s\n"
+msgstr "no se ha podido enviar el paquete de negociación SSL: %s\n"
+
+#: fe-connect.c:1390 fe-connect.c:2551 fe-connect.c:2560 fe-connect.c:3127
+#: fe-lobj.c:538
+msgid "out of memory\n"
+msgstr "sin memoria\n"
+
+#: fe-connect.c:1403
+#, c-format
+msgid "could not send startup packet: %s\n"
+msgstr "no se ha podido enviar el paquete de inicio: %s\n"
+
+#: fe-connect.c:1443
+#, c-format
+msgid "could not receive server response to SSL negotiation packet: %s\n"
+msgstr ""
+"no se ha podido recibir respuesta del servidor al paquete de negociación SSL: "
+"%s\n"
+
+#: fe-connect.c:1462 fe-connect.c:1488
+msgid "server does not support SSL, but SSL was required\n"
+msgstr "el servidor no soporta SSL, pero SSL es requerida\n"
+
+#: fe-connect.c:1470 fe-connect.c:1496
+msgid "server does not support SSL, and previous non-SSL attempt failed\n"
+msgstr "el servidor no soporta SSL, y el intento previo sin SSL falló\n"
+
+#: fe-connect.c:1513
+#, c-format
+msgid "received invalid response to SSL negotiation: %c\n"
+msgstr "se ha recibido una respuesta no válida en la negociación SSL: %c\n"
+
+#: fe-connect.c:1569 fe-connect.c:1601
+#, c-format
+msgid "expected authentication request from server, but received %c\n"
+msgstr ""
+"se esperaba petición de autentificación desde servidor, pero se ha recibido "
+"%c\n"
+
+#: fe-connect.c:1872
+msgid "unexpected message from server during startup\n"
+msgstr "mensaje del servidor no esperado durante el inicio\n"
+
+#: fe-connect.c:1941
+#, c-format
+msgid "invalid connection state %c, probably indicative of memory corruption\n"
+msgstr ""
+"estado de conexión no válido %c, probablemente por corrupción de la memoria\n"
+
+#: fe-connect.c:2599
+#, c-format
+msgid "missing \"=\" after \"%s\" in connection info string\n"
+msgstr ""
+"falta \"=\" después de \"%s\" en la cadena de información de la conexión\n"
+
+#: fe-connect.c:2648
+msgid "unterminated quoted string in connection info string\n"
+msgstr ""
+"cadena de caracteres en comillas sin terminar en la cadena de información de "
+"conexión\n"
+
+#: fe-connect.c:2682
+#, c-format
+msgid "invalid connection option \"%s\"\n"
+msgstr "opción de conexión no válida \"%s\"\n"
+
+#: fe-connect.c:2894
+msgid "connection pointer is NULL\n"
+msgstr "el puntero de conexión es NULL\n"
+
+#: fe-connect.c:3145
+#, c-format
+msgid ""
+"WARNING: Password file %s has world or group read access; permission should "
+"be u=rw (0600)\n"
+msgstr ""
+"ATENCIÓN: El archivo de claves %s tiene permiso de lectura para el grupo u "
+"otros; los permisos deberían ser u=rw (0600)\n"
+
+#: fe-exec.c:474
+msgid "NOTICE"
+msgstr ""
+
+#: fe-exec.c:623 fe-exec.c:682
+msgid "command string is a null pointer\n"
+msgstr "la cadena de comando es un puntero nulo\n"
+
+#: fe-exec.c:675 fe-exec.c:1310
+msgid "function requires at least 3.0 protocol\n"
+msgstr "la función requiere protocolo 3.0 o superior\n"
+
+#: fe-exec.c:821
+msgid "no connection to the server\n"
+msgstr "no hay conexión con el servidor\n"
+
+#: fe-exec.c:828
+msgid "another command is already in progress\n"
+msgstr "otro comando se está ejecutando\n"
+
+#: fe-exec.c:1013
+#, c-format
+msgid "unexpected asyncStatus: %d\n"
+msgstr "asyncStatus no esperado: %d\n"
+
+#: fe-exec.c:1092
+msgid "COPY terminated by new PQexec"
+msgstr "COPY terminado por un nuevo PQexec"
+
+#: fe-exec.c:1104
+msgid "COPY IN state must be terminated first\n"
+msgstr "el estado COPY IN debe ser terminado primero\n"
+
+#: fe-exec.c:1125
+msgid "COPY OUT state must be terminated first\n"
+msgstr "el estado COPY OUT debe ser terminado primero\n"
+
+#: fe-exec.c:1225 fe-exec.c:1279 fe-exec.c:1352
+msgid "no COPY in progress\n"
+msgstr "no hay ningún COPY en ejecución\n"
+
+#: fe-exec.c:1544
+msgid "connection in wrong state\n"
+msgstr "la conexión está en un estado incorrecto\n"
+
+#: fe-exec.c:1575
+msgid "invalid ExecStatusType code"
+msgstr "código de ExecStatusType no válido"
+
+#: fe-exec.c:1639 fe-exec.c:1662
+#, c-format
+msgid "column number %d is out of range 0..%d"
+msgstr "el número de columna %d está fuera del rango 0..%d"
+
+#: fe-exec.c:1655
+#, c-format
+msgid "row number %d is out of range 0..%d"
+msgstr "el número de fila %d está fuera del rango 0..%d"
+
+#: fe-exec.c:1892
+#, c-format
+msgid "could not interpret result from server: %s"
+msgstr "no se ha podido interpretar el resultado del servidor: %s"
+
+#: fe-lobj.c:401 fe-lobj.c:485
+#, c-format
+msgid "could not open file \"%s\": %s\n"
+msgstr "no se ha podido abrir el archivo \"%s\": %s\n"
+
+#: fe-lobj.c:413
+#, c-format
+msgid "could not create large object for file \"%s\"\n"
+msgstr "no se ha podido crear un objeto grande para el archivo \"%s\"\n"
+
+#: fe-lobj.c:423 fe-lobj.c:473
+#, c-format
+msgid "could not open large object %u\n"
+msgstr "no se ha podido abrir el objeto grande %u\n"
+
+#: fe-lobj.c:438
+#, c-format
+msgid "error while reading file \"%s\"\n"
+msgstr "error al leer del archivo \"%s\"\n"
+
+#: fe-lobj.c:500
+#, c-format
+msgid "error while writing to file \"%s\"\n"
+msgstr "error al escribir en el archivo \"%s\"\n"
+
+#: fe-lobj.c:566
+msgid "query to initialize large object functions did not return data\n"
+msgstr ""
+"la consulta para inicializar las funciones de objetos grandes no devuelve "
+"datos\n"
+
+#: fe-lobj.c:604
+msgid "cannot determine OID of function lo_open\n"
+msgstr "no se ha podido determinar el OID de la función lo_open\n"
+
+#: fe-lobj.c:611
+msgid "cannot determine OID of function lo_close\n"
+msgstr "no se ha podido determinar el OID de la función lo_close\n"
+
+#: fe-lobj.c:618
+msgid "cannot determine OID of function lo_creat\n"
+msgstr "no se ha podido determinar el OID de la función lo_creat\n"
+
+#: fe-lobj.c:625
+msgid "cannot determine OID of function lo_unlink\n"
+msgstr "no se ha podido determinar el OID de la función lo_unlink\n"
+
+#: fe-lobj.c:632
+msgid "cannot determine OID of function lo_lseek\n"
+msgstr "no se ha podido determinar el OID de la función lo_lseek\n"
+
+#: fe-lobj.c:639
+msgid "cannot determine OID of function lo_tell\n"
+msgstr "no se ha podido determinar el OID de la función lo_tell\n"
+
+#: fe-lobj.c:646
+msgid "cannot determine OID of function loread\n"
+msgstr "no se ha podido determinar el OID de la función loread\n"
+
+#: fe-lobj.c:653
+msgid "cannot determine OID of function lowrite\n"
+msgstr "no se ha podido determinar el OID de la función lowrite\n"
+
+#: fe-misc.c:228
+#, c-format
+msgid "integer of size %lu not supported by pqGetInt"
+msgstr "el entero de tamaño %lu no está soportado por pqGetInt"
+
+#: fe-misc.c:264
+#, c-format
+msgid "integer of size %lu not supported by pqPutInt"
+msgstr "el entero de tamaño %lu no está soportado por pqPutInt"
+
+#: fe-misc.c:540 fe-misc.c:732
+msgid "connection not open\n"
+msgstr "la conexión no está abierta\n"
+
+#: fe-misc.c:605 fe-misc.c:685
+#, c-format
+msgid "could not receive data from server: %s\n"
+msgstr "no se ha podido recibir datos del servidor: %s\n"
+
+#: fe-misc.c:702 fe-misc.c:770
+msgid ""
+"server closed the connection unexpectedly\n"
+"\tThis probably means the server terminated abnormally\n"
+"\tbefore or while processing the request.\n"
+msgstr ""
+"el servidor ha cerrado la conexión inesperadamente,\n"
+"\tprobablemente porque terminó de manera anormal\n"
+"\tantes o durante el procesamiento de la petición.\n"
+
+#: fe-misc.c:787
+#, c-format
+msgid "could not send data to server: %s\n"
+msgstr "no se ha podido enviar datos al servidor: %s\n"
+
+#: fe-misc.c:889
+msgid "timeout expired\n"
+msgstr "tiempo de espera agotado\n"
+
+#: fe-misc.c:934
+msgid "socket not open\n"
+msgstr "el socket no está abierto\n"
+
+#: fe-misc.c:959
+#, c-format
+msgid "select() failed: %s\n"
+msgstr "select() fallida: %s\n"
+
+#: fe-secure.c:246
+#, c-format
+msgid "could not establish SSL connection: %s\n"
+msgstr "no se ha podido establecer conexión SSL: %s\n"
+
+#: fe-secure.c:306 fe-secure.c:373 fe-secure.c:881
+#, c-format
+msgid "SSL SYSCALL error: %s\n"
+msgstr "ERROR en llamada SSL: %s\n"
+
+#: fe-secure.c:310 fe-secure.c:377 fe-secure.c:885
+msgid "SSL SYSCALL error: EOF detected\n"
+msgstr "ERROR de llamada SSL: detectado fin de archivo\n"
+
+#: fe-secure.c:316 fe-secure.c:382 fe-secure.c:891
+#, c-format
+msgid "SSL error: %s\n"
+msgstr "error de SSL: %s\n"
+
+#: fe-secure.c:325 fe-secure.c:391 fe-secure.c:897
+msgid "Unknown SSL error code\n"
+msgstr "Código de error SSL desconocido\n"
+
+#: fe-secure.c:447
+#, c-format
+msgid "error querying socket: %s\n"
+msgstr "error consultado el socket: %s\n"
+
+#: fe-secure.c:469
+#, c-format
+msgid "could not get information about host (%s): %s\n"
+msgstr "no se ha podido obtener información sobre el servidor (%s): %s\n"
+
+#: fe-secure.c:488
+msgid "unsupported protocol\n"
+msgstr "protocolo no soportado\n"
+
+#: fe-secure.c:510
+#, c-format
+msgid "server common name \"%s\" does not resolve to %ld.%ld.%ld.%ld\n"
+msgstr "el nombre de servidor \"%s\" no resuelve a %ld.%ld.%ld.%ld\n"
+
+#: fe-secure.c:517
+#, c-format
+msgid "server common name \"%s\" does not resolve to peer address\n"
+msgstr ""
+"el nombre de servidor \"%s\" no resuelve a la dirección del interlocutor\n"
+
+#: fe-secure.c:692
+msgid "could not get user information\n"
+msgstr "no se ha podido obtener información del usuario\n"
+
+#: fe-secure.c:704
+#, c-format
+msgid "could not open certificate (%s): %s\n"
+msgstr "no se ha podido abrir el certificado (%s): %s\n"
+
+#: fe-secure.c:711
+#, c-format
+msgid "could not read certificate (%s): %s\n"
+msgstr "no se ha podido leer el certificado (%s): %s\n"
+
+#: fe-secure.c:724
+#, c-format
+msgid "certificate present, but not private key (%s)\n"
+msgstr "certificado presente, pero sin llave privada (%s)\n"
+
+#: fe-secure.c:733
+#, c-format
+msgid "private key (%s) has wrong permissions\n"
+msgstr "llave privada (%s) tiene permisos incorrectos\n"
+
+#: fe-secure.c:740
+#, c-format
+msgid "could not open private key file (%s): %s\n"
+msgstr "no se ha podido abrir llave privada (%s): %s\n"
+
+#: fe-secure.c:749
+#, c-format
+msgid "private key (%s) changed during execution\n"
+msgstr "llave privada (%s) cambiada durante la ejecución\n"
+
+#: fe-secure.c:756
+#, c-format
+msgid "could not read private key (%s): %s\n"
+msgstr "no se ha podido leer llave privada (%s): %s\n"
+
+#: fe-secure.c:768
+#, c-format
+msgid "certificate/private key mismatch (%s): %s\n"
+msgstr "certificado y llave privada no coinciden (%s): %s\n"
+
+#: fe-secure.c:798
+#, c-format
+msgid "could not create SSL context: %s\n"
+msgstr "no se ha podido crear el contexto SSL: %s\n"
+
+#: fe-secure.c:815 fe-secure.c:823
+#, c-format
+msgid "could not read root certificate list (%s): %s\n"
+msgstr "no se ha podido leer la lista de certificado raíz (%s): %s\n"
+
+#: fe-secure.c:915
+#, c-format
+msgid "certificate could not be validated: %s\n"
+msgstr "el certificado no pudo ser validado: %s\n"
+
+#: fe-secure.c:927
+#, c-format
+msgid "certificate could not be obtained: %s\n"
+msgstr "el certificado no pudo ser obtenido: %s\n"
index acd2d6e972824f5228d68ddbbe67296d82480439..3c52ad5b6a53dd0b938253d9bfa7d350de1ba9a8 100644 (file)
 msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 7.4\n"
-"POT-Creation-Date: 2003-07-31 04:19-0300\n"
-"PO-Revision-Date: 2003-08-02 18:38+0000\n"
+"POT-Creation-Date: 2003-08-15 04:17-0300\n"
+"PO-Revision-Date: 2003-08-15 15:28+0000\n"
 "Last-Translator: Guillaume Lelarge <[email protected]>\n"
-"Language-Team: fr <[email protected]>\n"
+"Language-Team: FR_fr <[email protected]>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -74,27 +74,27 @@ msgstr "nom invalide de service d'authentification 
 msgid "fe_getauthname: invalid authentication system: %d\n"
 msgstr "fe_getauthname: système invalide d'authentification: %d\n"
 
-#: fe-connect.c:451
+#: fe-connect.c:452
 #, c-format
 msgid "unrecognized sslmode: \"%s\"\n"
 msgstr "sslmode inconnu: «%s»\n"
 
-#: fe-connect.c:469
+#: fe-connect.c:472
 #, c-format
 msgid "sslmode \"%s\" invalid when SSL support is not compiled in\n"
 msgstr "sslmode «%s» invalide quand le support de SSL n'a pas été compilé\n"
 
-#: fe-connect.c:781
+#: fe-connect.c:783
 #, c-format
 msgid "could not set socket to non-blocking mode: %s\n"
 msgstr "n'a pas pu activer le mode non-bloquant pour le socket: %s\n"
 
-#: fe-connect.c:808
+#: fe-connect.c:810
 #, c-format
 msgid "could not set socket to TCP no delay mode: %s\n"
 msgstr "n'a pas pu activer le mode non-bloquant de TCP pour le socket: %s\n"
 
-#: fe-connect.c:839
+#: fe-connect.c:841
 #, c-format
 msgid ""
 "could not connect to server: %s\n"
@@ -105,7 +105,7 @@ msgstr ""
 "\tEst-ce que le serveur est en éxecution à l'hôte local\n"
 "\tet accepte des connexions au socket Unix «%s»?\n"
 
-#: fe-connect.c:851
+#: fe-connect.c:853
 #, c-format
 msgid ""
 "could not connect to server: %s\n"
@@ -116,229 +116,229 @@ msgstr ""
 "\tEst-ce que le serveur est en exécution sur l'hôte «%s»\n"
 "\tet accepte des connexions TCP/IP sur le port %s?\n"
 
-#: fe-connect.c:935
+#: fe-connect.c:937
 #, c-format
 msgid "could not translate hostname \"%s\" to address: %s\n"
 msgstr "n'a pas pu traduire le nom d'hôte «%s» en adresse: %s\n"
 
-#: fe-connect.c:939
+#: fe-connect.c:941
 #, c-format
 msgid "could not translate local service to address: %s\n"
 msgstr "n'a pas pu traduire le service local en adresse: %s\n"
 
-#: fe-connect.c:1141
+#: fe-connect.c:1144
 msgid "invalid connection state, probably indicative of memory corruption\n"
 msgstr "état invalide de connexion, probablement une indication de mémoire corrompue\n"
 
-#: fe-connect.c:1184
+#: fe-connect.c:1187
 #, c-format
 msgid "could not create socket: %s\n"
 msgstr "n'a pas pu créer le socket: %s\n"
 
-#: fe-connect.c:1290
+#: fe-connect.c:1298
 #, c-format
 msgid "could not get socket error status: %s\n"
 msgstr "n'a pas pu déterminer l'erreur du socket: %s\n"
 
-#: fe-connect.c:1327
+#: fe-connect.c:1337
 #, c-format
 msgid "could not get client address from socket: %s\n"
 msgstr "n'a pas pu obtenir l'adresse du client du socket: %s\n"
 
-#: fe-connect.c:1368
+#: fe-connect.c:1382
 #, c-format
 msgid "could not send SSL negotiation packet: %s\n"
 msgstr "n'a pas pu transmettre le paquet de négociation SSL: %s\n"
 
-#: fe-connect.c:1390 fe-connect.c:2551 fe-connect.c:2560 fe-connect.c:3127
-#: fe-lobj.c:538
+#: fe-connect.c:1404 fe-connect.c:2511 fe-connect.c:2520 fe-connect.c:3087
+#: fe-lobj.c:540
 msgid "out of memory\n"
 msgstr "mémoire épuisée\n"
 
-#: fe-connect.c:1403
+#: fe-connect.c:1417
 #, c-format
 msgid "could not send startup packet: %s\n"
 msgstr "n'a pas pu transmettre le paquet de démarrage: %s\n"
 
-#: fe-connect.c:1443
+#: fe-connect.c:1457
 #, c-format
 msgid "could not receive server response to SSL negotiation packet: %s\n"
 msgstr "n'a pas pu recevoir la réponse au paquet de négociation SSL: %s\n"
 
-#: fe-connect.c:1462 fe-connect.c:1488
+#: fe-connect.c:1476 fe-connect.c:1493
 msgid "server does not support SSL, but SSL was required\n"
 msgstr "le serveur ne supporte pas SSL, mais SSL était exigé\n"
 
-#: fe-connect.c:1470 fe-connect.c:1496
-msgid "server does not support SSL, and previous non-SSL attempt failed\n"
-msgstr "le serveur ne supporte pas SSL, et l'essai précédent sans SSL a échoué\n"
-
-#: fe-connect.c:1513
+#: fe-connect.c:1509
 #, c-format
 msgid "received invalid response to SSL negotiation: %c\n"
 msgstr "réponse invalide au négociation SSL était reçue: %c\n"
 
-#: fe-connect.c:1569 fe-connect.c:1601
+#: fe-connect.c:1566 fe-connect.c:1598
 #, c-format
 msgid "expected authentication request from server, but received %c\n"
 msgstr "requête d'authentification attendue, mais %c était reçu\n"
 
-#: fe-connect.c:1872
+#: fe-connect.c:1834
 msgid "unexpected message from server during startup\n"
 msgstr "message inattendu du serveur lors de démarrage\n"
 
-#: fe-connect.c:1941
+#: fe-connect.c:1904
 #, c-format
 msgid "invalid connection state %c, probably indicative of memory corruption\n"
 msgstr "état invalide de connexion (%c), probablement une indication de mémoire corrompue\n"
 
-#: fe-connect.c:2599
+#: fe-connect.c:2559
 #, c-format
 msgid "missing \"=\" after \"%s\" in connection info string\n"
 msgstr "«=» manquant après «%s» dans la chaîne de paramètres de connexion\n"
 
-#: fe-connect.c:2648
+#: fe-connect.c:2608
 msgid "unterminated quoted string in connection info string\n"
 msgstr "chaîne incomplète entre guillemets dans la chaîne de paramètres de connexion\n"
 
-#: fe-connect.c:2682
+#: fe-connect.c:2642
 #, c-format
 msgid "invalid connection option \"%s\"\n"
 msgstr "option invalide de connexion «%s»\n"
 
-#: fe-connect.c:2894
+#: fe-connect.c:2854
 msgid "connection pointer is NULL\n"
 msgstr "le pointeur de connexion vaut NULL\n"
 
-#: fe-connect.c:3145
+#: fe-connect.c:3105
 #, c-format
 msgid ""
 "WARNING: Password file %s has world or group read access; permission should "
 "be u=rw (0600)\n"
 msgstr "ATTENTION: Le fichier des mots de passe %s a des permission de groupe et pour tous en lecture; les permissions doivent être u=rw (0600)\n"
 
-#: fe-exec.c:474
+#: fe-exec.c:484
 msgid "NOTICE"
 msgstr "NOTIFICATION"
 
-#: fe-exec.c:623 fe-exec.c:682
+#: fe-exec.c:637 fe-exec.c:689
 msgid "command string is a null pointer\n"
 msgstr "la chaine de commande est un pointeur nul\n"
 
-#: fe-exec.c:675 fe-exec.c:1310
-msgid "function requires at least 3.0 protocol\n"
-msgstr "la fonction nécessite au moins le protocole 3.0\n"
+#: fe-exec.c:724
+msgid "statement name is a null pointer\n"
+msgstr "la chaîne de commande est un pointeur null\n"
 
-#: fe-exec.c:821
+#: fe-exec.c:755
 msgid "no connection to the server\n"
 msgstr "aucune connexion au serveur\n"
 
-#: fe-exec.c:828
+#: fe-exec.c:762
 msgid "another command is already in progress\n"
 msgstr "une autre commande est déjà en cours\n"
 
-#: fe-exec.c:1013
+#: fe-exec.c:798 fe-exec.c:1432
+msgid "function requires at least 3.0 protocol\n"
+msgstr "la fonction nécessite au moins le protocole 3.0\n"
+
+#: fe-exec.c:1100
 #, c-format
 msgid "unexpected asyncStatus: %d\n"
 msgstr "asyncStatus inattendu: %d\n"
 
-#: fe-exec.c:1092
+#: fe-exec.c:1205
 msgid "COPY terminated by new PQexec"
 msgstr "COPY terminé par un nouveau PQexec"
 
-#: fe-exec.c:1104
+#: fe-exec.c:1213
 msgid "COPY IN state must be terminated first\n"
 msgstr "L'état COPY IN doit d'abord être terminé\n"
 
-#: fe-exec.c:1125
+#: fe-exec.c:1233
 msgid "COPY OUT state must be terminated first\n"
 msgstr "L'état COPY OUT doit d'abord être terminé\n"
 
-#: fe-exec.c:1225 fe-exec.c:1279 fe-exec.c:1352
+#: fe-exec.c:1336 fe-exec.c:1390 fe-exec.c:1474
 msgid "no COPY in progress\n"
 msgstr "aucun COPY en cours\n"
 
-#: fe-exec.c:1544
+#: fe-exec.c:1666
 msgid "connection in wrong state\n"
 msgstr "mauvais état de connexion\n"
 
-#: fe-exec.c:1575
+#: fe-exec.c:1697
 msgid "invalid ExecStatusType code"
 msgstr "code invalide ExecStatusType"
 
-#: fe-exec.c:1639 fe-exec.c:1662
+#: fe-exec.c:1761 fe-exec.c:1784
 #, c-format
 msgid "column number %d is out of range 0..%d"
 msgstr "le numéro de colonne %d est en dehors des limites 0..%d"
 
-#: fe-exec.c:1655
+#: fe-exec.c:1777
 #, c-format
 msgid "row number %d is out of range 0..%d"
 msgstr "le numéro de ligne %d en dehors des limites 0..%d"
 
-#: fe-exec.c:1892
+#: fe-exec.c:2014
 #, c-format
 msgid "could not interpret result from server: %s"
 msgstr "n'a pas pu interpréter la réponse du serveur: %s"
 
-#: fe-lobj.c:401 fe-lobj.c:485
+#: fe-lobj.c:402 fe-lobj.c:487
 #, c-format
 msgid "could not open file \"%s\": %s\n"
 msgstr "n'a pas pu ouvrir «%s»: %s\n"
 
-#: fe-lobj.c:413
+#: fe-lobj.c:414
 #, c-format
 msgid "could not create large object for file \"%s\"\n"
 msgstr "ne peut pas créer l'objet large pour le fichier \"%s\"\n"
 
-#: fe-lobj.c:423 fe-lobj.c:473
+#: fe-lobj.c:424 fe-lobj.c:474
 #, c-format
 msgid "could not open large object %u\n"
 msgstr "ne peut pas ouvrir l'objet large %u\n"
 
-#: fe-lobj.c:438
+#: fe-lobj.c:439
 #, c-format
 msgid "error while reading file \"%s\"\n"
 msgstr "erreur de lecture du fichier «%s»\n"
 
-#: fe-lobj.c:500
+#: fe-lobj.c:502
 #, c-format
 msgid "error while writing to file \"%s\"\n"
 msgstr "erreur d'écriture du fichier «%s»\n"
 
-#: fe-lobj.c:566
+#: fe-lobj.c:568
 msgid "query to initialize large object functions did not return data\n"
 msgstr "la requête d'initialisation des fonctions des objets larges ne retourne pas de données\n"
 
-#: fe-lobj.c:604
+#: fe-lobj.c:606
 msgid "cannot determine OID of function lo_open\n"
 msgstr "ne peut pas déterminer l'OID de la fonction lo_open\n"
 
-#: fe-lobj.c:611
+#: fe-lobj.c:613
 msgid "cannot determine OID of function lo_close\n"
 msgstr "ne peut pas déterminer l'OID de la fonction lo_close\n"
 
-#: fe-lobj.c:618
+#: fe-lobj.c:620
 msgid "cannot determine OID of function lo_creat\n"
 msgstr "ne peut pas déterminer l'OID de la fonction lo_creat\n"
 
-#: fe-lobj.c:625
+#: fe-lobj.c:627
 msgid "cannot determine OID of function lo_unlink\n"
 msgstr "ne peut pas déterminer l'OID de la fonction lo_unlink\n"
 
-#: fe-lobj.c:632
+#: fe-lobj.c:634
 msgid "cannot determine OID of function lo_lseek\n"
 msgstr "ne peut pas déterminer l'OID de la fonction lo_lseek\n"
 
-#: fe-lobj.c:639
+#: fe-lobj.c:641
 msgid "cannot determine OID of function lo_tell\n"
 msgstr "ne peut pas déterminer l'OID de la fonction lo_tell\n"
 
-#: fe-lobj.c:646
+#: fe-lobj.c:648
 msgid "cannot determine OID of function loread\n"
 msgstr "ne peut pas déterminer l'OID de la fonction loread\n"
 
-#: fe-lobj.c:653
+#: fe-lobj.c:655
 msgid "cannot determine OID of function lowrite\n"
 msgstr "ne peut pas déterminer l'OID de la fonction lowrite\n"
 
@@ -352,16 +352,16 @@ msgstr "entier de taille %lu non support
 msgid "integer of size %lu not supported by pqPutInt"
 msgstr "entier de taille %lu non supporté par pqPutInt"
 
-#: fe-misc.c:540 fe-misc.c:732
+#: fe-misc.c:544 fe-misc.c:748
 msgid "connection not open\n"
 msgstr "connexion n'est pas active\n"
 
-#: fe-misc.c:605 fe-misc.c:685
+#: fe-misc.c:610 fe-misc.c:701
 #, c-format
 msgid "could not receive data from server: %s\n"
 msgstr "n'a pas pu recevoir des données du serveur: %s\n"
 
-#: fe-misc.c:702 fe-misc.c:770
+#: fe-misc.c:718 fe-misc.c:786
 msgid ""
 "server closed the connection unexpectedly\n"
 "\tThis probably means the server terminated abnormally\n"
@@ -371,20 +371,20 @@ msgstr ""
 "\tPeut-être c'est à dire que le serveur a terminé anormalement\n"
 "\tavant ou lors du traitement de la requête.\n"
 
-#: fe-misc.c:787
+#: fe-misc.c:803
 #, c-format
 msgid "could not send data to server: %s\n"
 msgstr "n'a pas pu transmettre des données au serveur: %s\n"
 
-#: fe-misc.c:889
+#: fe-misc.c:905
 msgid "timeout expired\n"
 msgstr "le délai a expiré\n"
 
-#: fe-misc.c:934
+#: fe-misc.c:950
 msgid "socket not open\n"
 msgstr "socket non ouverte\n"
 
-#: fe-misc.c:959
+#: fe-misc.c:973
 #, c-format
 msgid "select() failed: %s\n"
 msgstr "échec de select(): %s\n"
@@ -394,112 +394,115 @@ msgstr "
 msgid "could not establish SSL connection: %s\n"
 msgstr "n'a pas pu établir la connexion SSL: %s\n"
 
-#: fe-secure.c:306 fe-secure.c:373 fe-secure.c:881
+#: fe-secure.c:308 fe-secure.c:380 fe-secure.c:894
 #, c-format
 msgid "SSL SYSCALL error: %s\n"
 msgstr "erreur SYSCALL SSL: %s\n"
 
-#: fe-secure.c:310 fe-secure.c:377 fe-secure.c:885
+#: fe-secure.c:313 fe-secure.c:385 fe-secure.c:898
 msgid "SSL SYSCALL error: EOF detected\n"
 msgstr "erreur SYSCALL SSL: EOF a été trouvé\n"
 
-#: fe-secure.c:316 fe-secure.c:382 fe-secure.c:891
+#: fe-secure.c:322 fe-secure.c:393 fe-secure.c:904
 #, c-format
 msgid "SSL error: %s\n"
 msgstr "erreur de SSL: %s\n"
 
-#: fe-secure.c:325 fe-secure.c:391 fe-secure.c:897
+#: fe-secure.c:330 fe-secure.c:401 fe-secure.c:910
 msgid "Unknown SSL error code\n"
 msgstr "code d'erreur SSL inconnue\n"
 
-#: fe-secure.c:447
+#: fe-secure.c:459
 #, c-format
 msgid "error querying socket: %s\n"
 msgstr "erreur dans l'appel à la socket «%s»\n"
 
-#: fe-secure.c:469
+#: fe-secure.c:481
 #, c-format
 msgid "could not get information about host (%s): %s\n"
 msgstr "n'a pas pu obtenir les information sur l'hôte (%s): %s\n"
 
-#: fe-secure.c:488
+#: fe-secure.c:500
 msgid "unsupported protocol\n"
 msgstr "protocole non supporté\n"
 
-#: fe-secure.c:510
+#: fe-secure.c:522
 #, c-format
 msgid "server common name \"%s\" does not resolve to %ld.%ld.%ld.%ld\n"
 msgstr "le nom courant du serveur \"%s\" n'a pas pu être résolu en %ld.%ld.%ld.%ld\n"
 
-#: fe-secure.c:517
+#: fe-secure.c:529
 #, c-format
 msgid "server common name \"%s\" does not resolve to peer address\n"
 msgstr "le nom courant du serveur \"%s\" n'a pas pu être résolu en une adresse d'un pair\n"
 
-#: fe-secure.c:692
+#: fe-secure.c:704
 msgid "could not get user information\n"
 msgstr "n'a pas pu obtenir les informations utilisateur\n"
 
-#: fe-secure.c:704
+#: fe-secure.c:716
 #, c-format
 msgid "could not open certificate (%s): %s\n"
 msgstr "n'a pas pu ouvrir le certificat (%s): %s\n"
 
-#: fe-secure.c:711
+#: fe-secure.c:723
 #, c-format
 msgid "could not read certificate (%s): %s\n"
 msgstr "n'a pas pu lire le certificat (%s): %s\n"
 
-#: fe-secure.c:724
+#: fe-secure.c:736
 #, c-format
 msgid "certificate present, but not private key (%s)\n"
 msgstr "le certificat est présent, mais pas la clé privée (%s)\n"
 
-#: fe-secure.c:733
+#: fe-secure.c:745
 #, c-format
 msgid "private key (%s) has wrong permissions\n"
 msgstr "la clé privée (%s) n'a pas les bonnes permissions\n"
 
-#: fe-secure.c:740
+#: fe-secure.c:752
 #, c-format
 msgid "could not open private key file (%s): %s\n"
 msgstr "n'a pas pu ouvrir le fichier de clé privée (%s): %s\n"
 
-#: fe-secure.c:749
+#: fe-secure.c:761
 #, c-format
 msgid "private key (%s) changed during execution\n"
 msgstr "la clé privée (%s) a changé pendant l'exécution\n"
 
-#: fe-secure.c:756
+#: fe-secure.c:768
 #, c-format
 msgid "could not read private key (%s): %s\n"
 msgstr "n'a pas pu lire la clé privée (%s): %s\n"
 
-#: fe-secure.c:768
+#: fe-secure.c:780
 #, c-format
 msgid "certificate/private key mismatch (%s): %s\n"
 msgstr "le certificat et la clé privée ne correspondent pas (%s): %s\n"
 
-#: fe-secure.c:798
+#: fe-secure.c:810
 #, c-format
 msgid "could not create SSL context: %s\n"
 msgstr "n'a pas pu créer le contexte SSL: %s\n"
 
-#: fe-secure.c:815 fe-secure.c:823
+#: fe-secure.c:828 fe-secure.c:836
 #, c-format
 msgid "could not read root certificate list (%s): %s\n"
 msgstr "n'a pas pu lire la liste de certificat racine (%s): %s\n"
 
-#: fe-secure.c:915
+#: fe-secure.c:929
 #, c-format
 msgid "certificate could not be validated: %s\n"
 msgstr "le certificat n'a pas pu être validé: %s\n"
 
-#: fe-secure.c:927
+#: fe-secure.c:941
 #, c-format
 msgid "certificate could not be obtained: %s\n"
 msgstr "le certificat n'a pas pu être obtenu: %s\n"
 
+#~ msgid "server does not support SSL, and previous non-SSL attempt failed\n"
+#~ msgstr "le serveur ne supporte pas SSL, et l'essai précédent sans SSL a échoué\n"
+
 #~ msgid "could not determine the PostgreSQL user name to use\n"
 #~ msgstr "n'a pas pu déterminer le nom d'utilisateur à utiliser\n"
 
index 6ee898378e6fcef6c5240154db2d8bdf8d6cf305..3a5ce1dae34d19f321979cd7087cb6e6bcbc6c8c 100644 (file)
@@ -4,7 +4,7 @@
 # $Header$
 #
 # ChangeLog:
-#   - July 24 - August 1, 2003: Update for 7.4.*; <[email protected]>
+#   - July 24 - August 23, 2003: Update for 7.4.*; <[email protected]>
 #   - Januray 2, 2002: Completed SSL transaltion, Serguei A. Mokhov <[email protected]>
 #   - October 12, 2002: Post-7.3beta2 fuzzy translation fixes, Serguei A. Mokhov <[email protected]>
 #   - September 7, 2002: Complete post-7.3beta1 Translation, Serguei A. Mokhov <[email protected]>
@@ -13,8 +13,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 7.4.x\n"
-"POT-Creation-Date: 2003-07-24 11:45+0200\n"
-"PO-Revision-Date: 2003-08-01 14:13-0500\n"
+"POT-Creation-Date: 2003-08-23 04:18-0300\n"
+"PO-Revision-Date: 2003-08-23 13:46-0500\n"
 "Last-Translator: Serguei A. Mokhov <[email protected]>\n"
 "Language-Team: pgsql-rus <[email protected]>\n"
 "MIME-Version: 1.0\n"
@@ -24,7 +24,7 @@ msgstr ""
 #: fe-auth.c:232
 #, c-format
 msgid "Kerberos 4 error: %s\n"
-msgstr "ïÛÉÂËÁ Kerberos 4: %s\n"
+msgstr "ÏÛÉÂËÁ Kerberos 4: %s\n"
 
 #: fe-auth.c:394
 #, c-format
@@ -35,7 +35,7 @@ msgstr "
 #: fe-auth.c:415
 #, c-format
 msgid "Kerberos 5 authentication rejected: %*s\n"
-msgstr "áÕÔÅÎÔÉÆÉËÁÃÉÑ Kerberos 5 ÏÔËÌÏÎÅÎÁ: %*s\n"
+msgstr "ÁÕÔÅÎÔÉÆÉËÁÃÉÑ Kerberos 5 ÏÔËÌÏÎÅÎÁ: %*s\n"
 
 #: fe-auth.c:441
 #, c-format
@@ -44,23 +44,23 @@ msgstr "
 
 #: fe-auth.c:509
 msgid "SCM_CRED authentication method not supported\n"
-msgstr "áÕÔÅÎÔÉÆÉËÁÃÉÑ SCM_CRED ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ\n"
+msgstr "ÁÕÔÅÎÔÉÆÉËÁÃÉÑ SCM_CRED ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ\n"
 
 #: fe-auth.c:600
 msgid "Kerberos 4 authentication failed\n"
-msgstr "áÕÔÅÎÔÉÆÉËÁÃÉÑ Kerberos 4 ÎÅ ÕÄÁÌÁÓØ\n"
+msgstr "ÁÕÔÅÎÔÉÆÉËÁÃÉÑ Kerberos 4 ÎÅ ÕÄÁÌÁÓØ\n"
 
 #: fe-auth.c:606
 msgid "Kerberos 4 authentication not supported\n"
-msgstr "áÕÔÅÎÔÉÆÉËÁÃÉÑ Kerberos 4 ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ\n"
+msgstr "ÁÕÔÅÎÔÉÆÉËÁÃÉÑ Kerberos 4 ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ\n"
 
 #: fe-auth.c:616
 msgid "Kerberos 5 authentication failed\n"
-msgstr "áÕÔÅÎÔÉÆÉËÁÃÉÑ Kerberos 5 ÎÅ ÕÄÁÌÁÓØ\n"
+msgstr "ÁÕÔÅÎÔÉÆÉËÁÃÉÑ Kerberos 5 ÎÅ ÕÄÁÌÁÓØ\n"
 
 #: fe-auth.c:622
 msgid "Kerberos 5 authentication not supported\n"
-msgstr "áÕÔÅÎÔÉÆÉËÁÃÉÑ Kerberos 5 ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ\n"
+msgstr "ÁÕÔÅÎÔÉÆÉËÁÃÉÑ Kerberos 5 ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ\n"
 
 #: fe-auth.c:650
 #, c-format
@@ -77,27 +77,27 @@ msgstr "
 msgid "fe_getauthname: invalid authentication system: %d\n"
 msgstr "fe_getauthname: ÎÅÐÒÁ×ÉÌØÎÁÑ ÓÉÓÔÅÍÁ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ: %d\n"
 
-#: fe-connect.c:451
+#: fe-connect.c:452
 #, c-format
 msgid "unrecognized sslmode: \"%s\"\n"
 msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ sslmode: \"%s\"\n"
 
-#: fe-connect.c:469
+#: fe-connect.c:472
 #, c-format
 msgid "sslmode \"%s\" invalid when SSL support is not compiled in\n"
 msgstr "sslmode \"%s\" ÎÅ×ÅÒÅΠÅÓÌÉ ÐÏÄÄÅÒÖËÁ SSL ÎÅ ÓËÏÍÐÉÌÉÒÏ×ÁÎÁ\n"
 
-#: fe-connect.c:781
+#: fe-connect.c:783
 #, c-format
 msgid "could not set socket to non-blocking mode: %s\n"
 msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÕÓÔÁÎÏ×ÉÔØ ÓÏËÅÔ × ÎÅ ÂÌÏËÉÒÕÀÝÉÊ ÒÅÖÉÍ: %s\n"
 
-#: fe-connect.c:808
+#: fe-connect.c:810
 #, c-format
 msgid "could not set socket to TCP no delay mode: %s\n"
 msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÕÓÔÁÎÏ×ÉÔØ ÓÏËÅÔ × ÂÅÓÐÒÅÒÙ×ÎÙÊ TCP ÒÅÖÉÍ: %s\n"
 
-#: fe-connect.c:839
+#: fe-connect.c:841
 #, c-format
 msgid ""
 "could not connect to server: %s\n"
@@ -108,7 +108,7 @@ msgstr ""
 "\tòÁÂÏÔÁÅÔ ÌÉ ÓÅÒ×ÅÒ ÌÏËÁÌØÎÏ É ÐÒÉÎÉÍÁÅÔ\n"
 "\tÐÏÄÓÏÅÄÉÎÅÎÉÑ ÐÏ ÓÏËÅÔÕ Unix'Ï×ÓËÏÇÏ ÄÏÍÅÎÁ \"%s\"?\n"
 
-#: fe-connect.c:851
+#: fe-connect.c:853
 #, c-format
 msgid ""
 "could not connect to server: %s\n"
@@ -119,240 +119,239 @@ msgstr ""
 "\tòÁÂÏÔÁÅÔ ÌÉ ÓÅÒ×ÅÒ ÎÁ ÈÏÓÔÅ \"%s\" É ÐÒÉÎÉÍÁÅÔ ÌÉ\n"
 "\tÐÏÄÓÏÅÄÉÎÅÎÉÑ ÞÅÒÅÚ TCP/IP ÐÒÏÔÏËÏÌ ÎÁ ÐÏÒÔ %s?\n"
 
-#: fe-connect.c:935
+#: fe-connect.c:937
 #, c-format
 msgid "could not translate hostname \"%s\" to address: %s\n"
 msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÔÒÁÎÓÌÉÒÏ×ÁÔØ ÉÍÑ ÈÏÓÔÁ \"%s\" × ÁÄÒÅÓ: %s\n"
 
-#: fe-connect.c:939
+#: fe-connect.c:941
 #, c-format
 msgid "could not translate local service to address: %s\n"
 msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÔÒÁÎÓÌÉÒÏ×ÁÔØ ÌÏËÁÌØÎÙÊ ÓÅÒ×ÉÓ × ÁÄÒÅÓ: %s\n"
 
-#: fe-connect.c:1141
+#: fe-connect.c:1144
 msgid "invalid connection state, probably indicative of memory corruption\n"
 msgstr "ÎÅÐÒÁ×ÉÌØÎÏÅ ÓÏÓÔÏÑÎÉÅ ÐÏÄÓÏÅÄÉÎÅÎÉÑ, ×ÏÚÍÏÖÎÙÊ ÕËÁÚÁÔÅÌØ ÎÁ ÎÁÒÕÛÅÎÉÅ ÃÅÌÏÓÔÎÏÓÔÉ ÐÁÍÑÔÉ\n"
 
-#: fe-connect.c:1184
+#: fe-connect.c:1187
 #, c-format
 msgid "could not create socket: %s\n"
 msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÏÚÄÁÔØ ÓÏËÅÔ: %s\n"
 
-#: fe-connect.c:1290
+#: fe-connect.c:1298
 #, c-format
 msgid "could not get socket error status: %s\n"
 msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÂÙÌÏ ÐÏÌÕÞÉÔØ ÓÔÁÔÕÓ ÏÛÉÂËÉ ÓÏËÅÔÁ: %s\n"
 
-#: fe-connect.c:1327
+#: fe-connect.c:1337
 #, c-format
 msgid "could not get client address from socket: %s\n"
 msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÂÙÌÏ ÐÏÌÕÞÉÔØ ÁÄÒÅÓ ËÌÉÅÎÔÁ ÉÚ ÓÏËÅÔÁ: %s\n"
 
-#: fe-connect.c:1368
+#: fe-connect.c:1382
 #, c-format
 msgid "could not send SSL negotiation packet: %s\n"
 msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔÐÒÁ×ÉÔØ ÐÁËÅÔ ÓÏÇÌÁÓÏ×ÁÎÉÑ SSL: %s\n"
 
-#: fe-connect.c:1390
-#: fe-connect.c:2551
-#: fe-connect.c:2560
-#: fe-connect.c:3127
-#: fe-lobj.c:538
+#: fe-connect.c:1404
+#: fe-connect.c:2511
+#: fe-connect.c:2520
+#: fe-connect.c:3087
+#: fe-lobj.c:540
 msgid "out of memory\n"
 msgstr "ÎÅÄÏÓÔÁÔÏÞÎÏ ÐÁÍÑÔÉ\n"
 
-#: fe-connect.c:1403
+#: fe-connect.c:1417
 #, c-format
 msgid "could not send startup packet: %s\n"
 msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔÐÒÁ×ÉÔØ ÎÁÞÁÌØÎÙÊ ÐÁËÅÔ: %s\n"
 
-#: fe-connect.c:1443
+#: fe-connect.c:1457
 #, c-format
 msgid "could not receive server response to SSL negotiation packet: %s\n"
 msgstr "ÎÅ ÂÙÌ ÐÏÌÕÞÅΠÏÔ×ÅÔ ÓÅÒ×ÅÒÁ ÎÁ ÐÁËÅÔ ÓÏÇÌÁÓÏ×ÁÎÉÑ SSL: %s\n"
 
-#: fe-connect.c:1462
-#: fe-connect.c:1488
+#: fe-connect.c:1476
+#: fe-connect.c:1493
 msgid "server does not support SSL, but SSL was required\n"
 msgstr "ÓÅÒ×ÅÒ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ SSL, ÎÏ ÎÁÌÉÞÉÅ SSL ÂÙÌÏ ÎÅÏÂÈÏÄÉÍÏ\n"
 
-#: fe-connect.c:1470
-#: fe-connect.c:1496
-msgid "server does not support SSL, and previous non-SSL attempt failed\n"
-msgstr "ÓÅÒ×ÅÒ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ SSL, É ÐÅÒ×ÁÑ ÎÅ-SSL ÐÏÐÙÔËÁ ÎÅ ÕÄÁÌÁÓØ\n"
-
-#: fe-connect.c:1513
+#: fe-connect.c:1509
 #, c-format
 msgid "received invalid response to SSL negotiation: %c\n"
 msgstr "ÐÏÌÕÞÅΠÎÅÐÒÁ×ÉÌØÎÙÊ ÏÔ×ÅÔ ÎÁ ÎÁÞÁÌØÎÏÅ ÓÏÇÌÁÓÏ×ÁÎÉÅ ÐÏ SSL: %c\n"
 
-#: fe-connect.c:1569
-#: fe-connect.c:1601
+#: fe-connect.c:1566
+#: fe-connect.c:1598
 #, c-format
 msgid "expected authentication request from server, but received %c\n"
 msgstr "ÏÖÉÄÁÌÓÑ ÚÁÐÒÏÓ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ ÏÔ ÓÅÒ×ÅÒÁ, ÎÏ ÂÙÌÏ ÐÏÌÕÞÅÎÏ: %c\n"
 
-#: fe-connect.c:1872
+#: fe-connect.c:1834
 msgid "unexpected message from server during startup\n"
 msgstr "ÎÅÏÖÉÄÁÎÎÏÅ ÓÏÏÂÝÅÎÉÅ ÏÔ ÓÅÒ×ÅÒÁ ÐÒÉ ÚÁÐÕÓËÅ\n"
 
-#: fe-connect.c:1941
+#: fe-connect.c:1904
 #, c-format
 msgid "invalid connection state %c, probably indicative of memory corruption\n"
 msgstr "ÎÅÐÒÁ×ÉÌØÎÏÅ ÓÏÓÔÏÑÎÉÅ ÐÏÄÓÏÅÄÉÎÅÎÉÑ %c, ×ÏÚÍÏÖÎÙÊ ÕËÁÚÁÔÅÌØ ÎÁ ÎÁÒÕÛÅÎÉÅ ÃÅÌÏÓÔÎÏÓÔÉ ÐÁÍÑÔÉ\n"
 
-#: fe-connect.c:2599
+#: fe-connect.c:2559
 #, c-format
 msgid "missing \"=\" after \"%s\" in connection info string\n"
 msgstr "ÏÔÓÕÔÓÔ×ÕÅÔ \"=\" ÐÏÓÌÅ \"%s\" × ÓÔÒÏËÅ ÐÏÄÓÏÅÄÉÎÅÎÉÑ\n"
 
-#: fe-connect.c:2648
+#: fe-connect.c:2608
 msgid "unterminated quoted string in connection info string\n"
 msgstr "ÎÅÏËÏÎÞÅÎÎÁÑ ÓÔÒÏËÁ (ÎÅ È×ÁÔÁÅÔ ËÁ×ÙÞËÉ) × ÓÔÒÏËÅ ÐÏÄÓÏÅÄÉÎÅÎÉÑ\n"
 
-#: fe-connect.c:2682
+#: fe-connect.c:2642
 #, c-format
 msgid "invalid connection option \"%s\"\n"
 msgstr "ÎÅÐÒÁ×ÉÌØÎÁÑ ÏÐÃÉÑ ÐÏÄÓÏÅÄÉÎÅÎÉÑ \"%s\"\n"
 
-#: fe-connect.c:2894
+#: fe-connect.c:2854
 msgid "connection pointer is NULL\n"
 msgstr "ÕËÁÚÁÔÅÌØ ÐÏÄÓÏÅÄÉÎÅÎÉÑ Ñ×ÌÑÅÔÓÑ NULL'ÏÍ\n"
 
-#: fe-connect.c:3145
+#: fe-connect.c:3105
 #, c-format
 msgid "WARNING: Password file %s has world or group read access; permission should be u=rw (0600)\n"
 msgstr "÷îéíáîéå: ðÁÒÏÌØÎÙÊ ÆÁÊÌ %s ÚÁÐÉÓÁΠӠÐÒÁ×ÁÍÉ ÞÔÅÎÉÑ ÄÌÑ ×ÓÅÈ ÉÌÉ ÇÒÕÐÐÙ; ÐÒÁ×Á ÄÏÌÖÎÙ ÂÙÔØ u=rw (0600)\n"
 
-#: fe-exec.c:474
+#: fe-exec.c:484
 msgid "NOTICE"
 msgstr "NOTICE"
 
-#: fe-exec.c:623
-#: fe-exec.c:682
+#: fe-exec.c:637
+#: fe-exec.c:689
 msgid "command string is a null pointer\n"
 msgstr "ËÏÍÁÎÄÎÁÑ ÓÔÒÏËÁ Ñ×ÌÑÅÔÓÑ ÎÕÌÅ×ÙÍ ÕËÁÚÁÔÅÌÅÍ\n"
 
-#: fe-exec.c:675
-#: fe-exec.c:1310
-msgid "function requires at least 3.0 protocol\n"
-msgstr "ÆÕÎËÃÉÑ ÔÒÅÂÕÅÔ ËÁË ÍÉÎÉÍÕÍ ÐÒÏÔÏËÏÌ 3.0\n"
+#: fe-exec.c:724
+msgid "statement name is a null pointer\n"
+msgstr "ÉÍÑ ËÏÍÁÎÄÙ Ñ×ÌÑÅÔÓÑ ÎÕÌÅ×ÙÍ ÕËÁÚÁÔÅÌÅÍ\n"
 
-#: fe-exec.c:821
+#: fe-exec.c:755
 msgid "no connection to the server\n"
 msgstr "ÎÅÔ ÐÏÄÓÏÅÄÉÎÅÎÉÑ Ë ÓÅÒ×ÅÒÕ\n"
 
-#: fe-exec.c:828
+#: fe-exec.c:762
 msgid "another command is already in progress\n"
 msgstr "ÄÒÕÇÁÑ ËÏÍÁÎÄÁ × ÐÒÏÃÅÓÓÅ ×ÙÐÏÌÎÅÎÉÑ\n"
 
-#: fe-exec.c:1013
+#: fe-exec.c:798
+#: fe-exec.c:1432
+msgid "function requires at least 3.0 protocol\n"
+msgstr "ÆÕÎËÃÉÑ ÔÒÅÂÕÅÔ ËÁË ÍÉÎÉÍÕÍ ÐÒÏÔÏËÏÌ 3.0\n"
+
+#: fe-exec.c:1100
 #, c-format
 msgid "unexpected asyncStatus: %d\n"
 msgstr "ÎÅÏÖÉÄÁÎÎÙÊ asyncStatus: %d\n"
 
-#: fe-exec.c:1092
+#: fe-exec.c:1205
 msgid "COPY terminated by new PQexec"
 msgstr "COPY ÐÒÅËÒÁÝÅÎÁ ÎÏ×ÏÊ PQexec"
 
-#: fe-exec.c:1104
+#: fe-exec.c:1213
 msgid "COPY IN state must be terminated first\n"
 msgstr "ÓÎÁÞÁÌÁ ÓÏÓÔÏÑÎÉÅ COPY IN ÄÏÌÖÎÏ ÂÙÔØ ÚÁ×ÅÒÛÅÎÏ\n"
 
-#: fe-exec.c:1125
+#: fe-exec.c:1233
 msgid "COPY OUT state must be terminated first\n"
 msgstr "ÓÎÁÞÁÌÁ ÓÏÓÔÏÑÎÉÅ COPY OUT ÄÏÌÖÎÏ ÂÙÔØ ÚÁ×ÅÒÛÅÎÏ\n"
 
-#: fe-exec.c:1225
-#: fe-exec.c:1279
-#: fe-exec.c:1352
+#: fe-exec.c:1336
+#: fe-exec.c:1390
+#: fe-exec.c:1474
 msgid "no COPY in progress\n"
 msgstr "×ÙÐÏÌÎÅÎÉÑ ÐÒÏÃÅÓÓÁ COPY ÎÅ ÎÁÂÌÀÄÁÅÔÓÑ\n"
 
-#: fe-exec.c:1544
+#: fe-exec.c:1666
 msgid "connection in wrong state\n"
 msgstr "ÓÏÅÄÉÎÅÎÉÅ × ÎÅ×ÅÒÎÏÍ ÓÏÓÔÏÑÎÉÉ\n"
 
-#: fe-exec.c:1575
+#: fe-exec.c:1697
 msgid "invalid ExecStatusType code"
 msgstr "ÎÅ×ÅÒÎÙÊ ËÏÄ ExecStatusType"
 
-#: fe-exec.c:1639
-#: fe-exec.c:1662
+#: fe-exec.c:1761
+#: fe-exec.c:1784
 #, c-format
 msgid "column number %d is out of range 0..%d"
 msgstr "ËÏÌÏÎËÁ N %d ×ÎÅ ÄÉÁÐÁÚÏÎÁ 0..%d"
 
-#: fe-exec.c:1655
+#: fe-exec.c:1777
 #, c-format
 msgid "row number %d is out of range 0..%d"
 msgstr "ÒÑÄ N %d ×ÎÅ ÄÉÁÐÁÚÏÎÁ 0..%d"
 
-#: fe-exec.c:1892
+#: fe-exec.c:2014
 #, c-format
 msgid "could not interpret result from server: %s"
-msgstr "ÎÅ × ÓÏÓÔÏÑÎÉÉ ÉÎÔÅÐÒÅÔÉÒÏ×ÁÔØ ÏÔ×ÅÔ ÓÅÒ×ÅÒÁ: %s"
+msgstr "ÎÅ × ÓÏÓÔÏÑÎÉÉ ÉÎÔÅÒÐÒÅÔÉÒÏ×ÁÔØ ÏÔ×ÅÔ ÓÅÒ×ÅÒÁ: %s"
 
-#: fe-lobj.c:401
-#: fe-lobj.c:485
+#: fe-lobj.c:402
+#: fe-lobj.c:487
 #, c-format
 msgid "could not open file \"%s\": %s\n"
 msgstr "ÎÅ × ÓÏÓÔÏÑÎÉÉ ÏÔËÒÙÔØ ÆÁÊÌ \"%s\": %s\n"
 
-#: fe-lobj.c:413
+#: fe-lobj.c:414
 #, c-format
 msgid "could not create large object for file \"%s\"\n"
-msgstr "ÎÅ × ÓÏÓÔÏÑÎÉÉ ÓÏÚÄÁÔØ large object (LO) ÄÌÑ ÆÁÊÌÁ \"%s\"\n"
+msgstr "ÎÅ × ÓÏÓÔÏÑÎÉÉ ÓÏÚÄÁÔØ ÂÏÌØÛÏÊ ÏÂßÅËÔ (LO) ÄÌÑ ÆÁÊÌÁ \"%s\"\n"
 
-#: fe-lobj.c:423
-#: fe-lobj.c:473
+#: fe-lobj.c:424
+#: fe-lobj.c:474
 #, c-format
 msgid "could not open large object %u\n"
-msgstr "ÎÅ × ÓÏÓÔÏÑÎÉÉ ÏÔËÒÙÔØ large object (LO) %u\n"
+msgstr "ÎÅ × ÓÏÓÔÏÑÎÉÉ ÏÔËÒÙÔØ ÂÏÌØÛÏÊ ÏÂßÅËÔ (LO) %u\n"
 
-#: fe-lobj.c:438
+#: fe-lobj.c:439
 #, c-format
 msgid "error while reading file \"%s\"\n"
 msgstr "ÏÛÉÂËÁ ÐÒÉ ÞÔÅÎÉÉ ÆÁÊÌÁ \"%s\"\n"
 
-#: fe-lobj.c:500
+#: fe-lobj.c:502
 #, c-format
 msgid "error while writing to file \"%s\"\n"
 msgstr "ÏÛÉÂËÁ ÐÒÉ ÚÁÐÉÓÉ × ÆÁÊÌ \"%s\"\n"
 
-#: fe-lobj.c:566
+#: fe-lobj.c:568
 msgid "query to initialize large object functions did not return data\n"
-msgstr "ÚÁÐÒÏÓ Ï ÉÎÉÃÉÁÌÉÚÁÃÉÉ ÆÕÎËÃÉÊ ÄÌÑ ÂÏÌØÛÉÈ ÏÂßÅËÔÏ× (LOs) ÎÅ ×ÏÚ×ÒÁÔÉÌ ÄÁÎÎÙÈ\n"
+msgstr "ÚÁÐÒÏÓ Ï ÉÎÉÃÉÁÌÉÚÁÃÉÉ ÆÕÎËÃÉÊ ÄÌÑ ÂÏÌØÛÉÈ ÏÂßÅËÔÏ× (LOs) ÎÅ ×ÏÚ×ÒÁÔÉÌ ÄÁÎÎÙÈ\n"
 
-#: fe-lobj.c:604
+#: fe-lobj.c:606
 msgid "cannot determine OID of function lo_open\n"
 msgstr "ÎÅ × ÓÏÓÔÏÑÎÉÉ ÏÐÒÅÄÅÌÉÔØ OID ÆÕÎËÃÉÉ lo_open\n"
 
-#: fe-lobj.c:611
+#: fe-lobj.c:613
 msgid "cannot determine OID of function lo_close\n"
 msgstr "ÎÅ × ÓÏÓÔÏÑÎÉÉ ÏÐÒÅÄÅÌÉÔØ OID ÆÕÎËÃÉÉ lo_close\n"
 
-#: fe-lobj.c:618
+#: fe-lobj.c:620
 msgid "cannot determine OID of function lo_creat\n"
 msgstr "ÎÅ × ÓÏÓÔÏÑÎÉÉ ÏÐÒÅÄÅÌÉÔØ OID ÆÕÎËÃÉÉ lo_creat\n"
 
-#: fe-lobj.c:625
+#: fe-lobj.c:627
 msgid "cannot determine OID of function lo_unlink\n"
 msgstr "ÎÅ × ÓÏÓÔÏÑÎÉÉ ÏÐÒÅÄÅÌÉÔØ OID ÆÕÎËÃÉÉ lo_unlink\n"
 
-#: fe-lobj.c:632
+#: fe-lobj.c:634
 msgid "cannot determine OID of function lo_lseek\n"
 msgstr "ÎÅ × ÓÏÓÔÏÑÎÉÉ ÏÐÒÅÄÅÌÉÔØ OID ÆÕÎËÃÉÉ lo_lseek\n"
 
-#: fe-lobj.c:639
+#: fe-lobj.c:641
 msgid "cannot determine OID of function lo_tell\n"
 msgstr "ÎÅ × ÓÏÓÔÏÑÎÉÉ ÏÐÒÅÄÅÌÉÔØ OID ÆÕÎËÃÉÉ lo_tell\n"
 
-#: fe-lobj.c:646
+#: fe-lobj.c:648
 msgid "cannot determine OID of function loread\n"
 msgstr "ÎÅ × ÓÏÓÔÏÑÎÉÉ ÏÐÒÅÄÅÌÉÔØ OID ÆÕÎËÃÉÉ loread\n"
 
-#: fe-lobj.c:653
+#: fe-lobj.c:655
 msgid "cannot determine OID of function lowrite\n"
 msgstr "ÎÅ × ÓÏÓÔÏÑÎÉÉ ÏÐÒÅÄÅÌÉÔØ OID ÆÕÎËÃÉÉ lowrite\n"
 
@@ -366,19 +365,19 @@ msgstr "
 msgid "integer of size %lu not supported by pqPutInt"
 msgstr "ÔÉРinteger ÒÁÚÍÅÒÏÍ %lu ÂÁÊÔ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÆÕÎËÃÉÅÊ pqPutInt"
 
-#: fe-misc.c:540
-#: fe-misc.c:732
+#: fe-misc.c:544
+#: fe-misc.c:748
 msgid "connection not open\n"
 msgstr "ÓÏÅÄÉÎÅÎÉÅ ÎÅ ÏÔËÒÙÔÏ\n"
 
-#: fe-misc.c:605
-#: fe-misc.c:685
+#: fe-misc.c:610
+#: fe-misc.c:701
 #, c-format
 msgid "could not receive data from server: %s\n"
-msgstr "ÐÏÌÕÞÉÔØ ÄÁÎÎÙÅ Ó ÓÅÒ×ÅÒÁ %s ÎÅ ÕÄÁÌÏÓØ\n"
+msgstr "ÏÛÉÂËÁ ÐÒÉ ÐÏÌÕÞÅÎÉÉ ÄÁÎÎÙÈ Ó ÓÅÒ×ÅÒÁ: %s\n"
 
-#: fe-misc.c:702
-#: fe-misc.c:770
+#: fe-misc.c:718
+#: fe-misc.c:786
 msgid ""
 "server closed the connection unexpectedly\n"
 "\tThis probably means the server terminated abnormally\n"
@@ -388,20 +387,20 @@ msgstr ""
 "\tóËÏÒÅÅ ×ÓÅÇÏ ÜÔÏ ÏÚÎÁÞÁÅÔ ÞÔÏ ÓÅÒ×ÅÒ ÚÁ×ÅÒÛÉÌ ÒÁÂÏÔÕ ÓÏ ÓÂÏÅÍ\n"
 "\tÄÏ ÉÌÉ × ÔÅÞÅÎÉÅ ÏÂÓÌÕÖÉ×ÁÎÉÑ ÚÁÐÒÏÓÁ.\n"
 
-#: fe-misc.c:787
+#: fe-misc.c:803
 #, c-format
 msgid "could not send data to server: %s\n"
 msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÐÏÓÌÁÔØ ÄÁÎÎÙÅ ÓÅÒ×ÅÒÕ: %s\n"
 
-#: fe-misc.c:889
+#: fe-misc.c:905
 msgid "timeout expired\n"
 msgstr "ÔÁÊÍÁÕÔ ÉÎÔÅÒ×ÁÌ ÉÓÔ£Ë\n"
 
-#: fe-misc.c:934
+#: fe-misc.c:950
 msgid "socket not open\n"
 msgstr "ÓÏËÅÔ ÎÅ ÏÔËÒÙÔ\n"
 
-#: fe-misc.c:959
+#: fe-misc.c:973
 #, c-format
 msgid "select() failed: %s\n"
 msgstr "select() ÎÅ ÕÄÁÌÓÑ: %s\n"
@@ -411,117 +410,117 @@ msgstr "select() 
 msgid "could not establish SSL connection: %s\n"
 msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÕÓÔÁÎÏ×ÉÔØ SSL-ÓÏÅÄÉÎÅÎÉÅ: %s\n"
 
-#: fe-secure.c:306
-#: fe-secure.c:373
-#: fe-secure.c:881
+#: fe-secure.c:308
+#: fe-secure.c:380
+#: fe-secure.c:894
 #, c-format
 msgid "SSL SYSCALL error: %s\n"
-msgstr "ïÛÉÂËÁ SSL SYSCALL: %s\n"
+msgstr "ÏÛÉÂËÁ SSL SYSCALL: %s\n"
 
-#: fe-secure.c:310
-#: fe-secure.c:377
-#: fe-secure.c:885
+#: fe-secure.c:313
+#: fe-secure.c:385
+#: fe-secure.c:898
 msgid "SSL SYSCALL error: EOF detected\n"
-msgstr "ïÛÉÂËÁ SSL SYSCALL: ÏÂÎÁÒÕÖÅΠËÏÎÅàÆÁÊÌÁ (EOF)\n"
+msgstr "ÏÛÉÂËÁ SSL SYSCALL: ÏÂÎÁÒÕÖÅΠËÏÎÅàÆÁÊÌÁ (EOF)\n"
 
-#: fe-secure.c:316
-#: fe-secure.c:382
-#: fe-secure.c:891
+#: fe-secure.c:322
+#: fe-secure.c:393
+#: fe-secure.c:904
 #, c-format
 msgid "SSL error: %s\n"
-msgstr "ïÛÉÂËÁ SSL: %s\n"
+msgstr "ÏÛÉÂËÁ SSL: %s\n"
 
-#: fe-secure.c:325
-#: fe-secure.c:391
-#: fe-secure.c:897
+#: fe-secure.c:330
+#: fe-secure.c:401
+#: fe-secure.c:910
 msgid "Unknown SSL error code\n"
 msgstr "îÅÉÚ×ÅÓÔÎÙÊ ËÏÄ ÏÛÉÂËÉ SSL\n"
 
-#: fe-secure.c:447
+#: fe-secure.c:459
 #, c-format
 msgid "error querying socket: %s\n"
 msgstr "ÏÛÉÂËÁ ÐÒÉ ÚÁÐÒÏÓÅ ÓÏËÅÔÁ: %s\n"
 
-#: fe-secure.c:469
+#: fe-secure.c:481
 #, c-format
 msgid "could not get information about host (%s): %s\n"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÂÙÌÏ ÐÏÌÕÞÉÔØ Ï ÓÅÒ×ÅÒÅ (%s): %s\n"
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÂÙÌÏ ÐÏÌÕÞÉÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ÓÅÒ×ÅÒÅ (%s): %s\n"
 
-#: fe-secure.c:488
+#: fe-secure.c:500
 msgid "unsupported protocol\n"
 msgstr "ÐÒÏÔÏËÏÌ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ\n"
 
-#: fe-secure.c:510
+#: fe-secure.c:522
 #, c-format
 msgid "server common name \"%s\" does not resolve to %ld.%ld.%ld.%ld\n"
 msgstr "ÉÍÑ ÓÅÒ×ÅÒÁ \"%s\" ÎÅ ÔÒÁÎÓÌÉÒÕÅÔÓÑ × %ld.%ld.%ld.%ld\n"
 
-#: fe-secure.c:517
+#: fe-secure.c:529
 #, c-format
 msgid "server common name \"%s\" does not resolve to peer address\n"
 msgstr "ÏÂÙÞÎÏÅ ÉÍÑ ÓÅÒ×ÅÒÁ \"%s\" ÎÅ ÒÅÚÏÌ×ÉÔÓÑ × ÁÄÒÅÓ\n"
 
-#: fe-secure.c:692
+#: fe-secure.c:704
 msgid "could not get user information\n"
 msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÂÙÌÏ ÐÏÌÕÞÉÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ÐÏÌØÚÏ×ÁÔÅÌÅ\n"
 
-#: fe-secure.c:704
+#: fe-secure.c:716
 #, c-format
 msgid "could not open certificate (%s): %s\n"
 msgstr "ÎÅ × ÓÏÓÔÏÑÎÉÉ ÏÔËÒÙÔØ ÓÅÒÔÉÆÉËÁÔ (%s): %s\n"
 
-#: fe-secure.c:711
+#: fe-secure.c:723
 #, c-format
 msgid "could not read certificate (%s): %s\n"
 msgstr "ÎÅ × ÓÏÓÔÏÑÎÉÉ ÓÞÉÔÁÔØ ÓÅÒÔÉÆÉËÁÔ (%s): %s\n"
 
-#: fe-secure.c:724
+#: fe-secure.c:736
 #, c-format
 msgid "certificate present, but not private key (%s)\n"
-msgstr "ÓÅÒÔÉÆÉËÁÔ ÐÒÉÓÕÔÓ×ÕÅÔ, ÎÏ ÎÅÔ ÌÉÞÎÏÎÏ ËÌÀÞÁ (%s)\n"
+msgstr "ÓÅÒÔÉÆÉËÁÔ ÐÒÉÓÕÔÓÔ×ÕÅÔ, ÎÏ ÎÅÔ ÌÉÞÎÏÇÏ ËÌÀÞÁ (%s)\n"
 
-#: fe-secure.c:733
+#: fe-secure.c:745
 #, c-format
 msgid "private key (%s) has wrong permissions\n"
 msgstr "ÎÅ ×ÅÒÎÙÅ ÐÒÁ×Á ÄÌÑ ÌÉÞÎÏÇÏ ËÌÀÞÁ (%s)\n"
 
-#: fe-secure.c:740
+#: fe-secure.c:752
 #, c-format
 msgid "could not open private key file (%s): %s\n"
 msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔËÒÙÔØ ÆÁÊÌ ÌÉÞÎÏÇÏ ËÌÀÞÁ (%s): %s\n"
 
-#: fe-secure.c:749
+#: fe-secure.c:761
 #, c-format
 msgid "private key (%s) changed during execution\n"
 msgstr "ÌÉÞÎÙÊ ËÌÀÞ (%s) ÐÏÍÅÎÑÌÓÑ ×Ï ×ÒÅÍÑ ÉÓÐÏÌÎÅÎÉÑ\n"
 
-#: fe-secure.c:756
+#: fe-secure.c:768
 #, c-format
 msgid "could not read private key (%s): %s\n"
 msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÐÒÏÞÉÔÁÔØ ÌÉÞÎÙÊ ËÌÀÞ (%s): %s\n"
 
-#: fe-secure.c:768
+#: fe-secure.c:780
 #, c-format
 msgid "certificate/private key mismatch (%s): %s\n"
 msgstr "ÓÅÒÔÉÆÉËÁÔ/ÌÉÞÎÙÊ ËÌÀÞ ÎÅ ÓÏ×ÐÁÄÁÀÔ (%s): %s\n"
 
-#: fe-secure.c:798
+#: fe-secure.c:810
 #, c-format
 msgid "could not create SSL context: %s\n"
 msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÏÚÄÁÔØ ËÏÎÔÅËÓÔ SSL: %s\n"
 
-#: fe-secure.c:815
-#: fe-secure.c:823
+#: fe-secure.c:828
+#: fe-secure.c:836
 #, c-format
 msgid "could not read root certificate list (%s): %s\n"
 msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÐÒÏÞÅÓÔØ ÓÐÉÓÏË ËÏÒÎÅ×ÙÈ ÓÅÒÔÉÆÉËÁÔÏ× (%s): %s\n"
 
-#: fe-secure.c:915
+#: fe-secure.c:929
 #, c-format
 msgid "certificate could not be validated: %s\n"
 msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÐÒÏ×ÅÒÉÔØ ÓÅÒÔÉÆÉËÁÔ: %s\n"
 
-#: fe-secure.c:927
+#: fe-secure.c:941
 #, c-format
 msgid "certificate could not be obtained: %s\n"
 msgstr "ÎÅ ÕÄÁÌÏÓØ ÐÏÌÕÞÉÔØ ÓÅÒÔÉÆÉËÁÔ: %s\n"
index 29b5886bb58caee124be52baee747ac7dce0e143..0ea8ce23790b76c345716660ee41d4b039ac1511 100644 (file)
@@ -9,8 +9,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 7.4\n"
-"POT-Creation-Date: 2003-08-09 11:49+0200\n"
-"PO-Revision-Date: 2003-08-09 12:06+0200\n"
+"POT-Creation-Date: 2003-08-14 04:17-0300\n"
+"PO-Revision-Date: 2003-08-15 08:46+0200\n"
 "Last-Translator: Dennis Björklund <[email protected]>\n"
 "Language-Team: Swedish <[email protected]>\n"
 "MIME-Version: 1.0\n"
@@ -30,7 +30,7 @@ msgstr "kunde inte st
 #: fe-auth.c:411 fe-auth.c:415
 #, c-format
 msgid "Kerberos 5 authentication rejected: %*s\n"
-msgstr "Kerberos-5-äkthetskontroll vägras: %*s\n"
+msgstr "Kerberos-5-autentisering vägras: %*s\n"
 
 #: fe-auth.c:441
 #, c-format
@@ -209,70 +209,72 @@ msgstr "anslutningspekare 
 msgid ""
 "WARNING: Password file %s has world or group read access; permission should "
 "be u=rw (0600)\n"
-msgstr ""
-"VARNING: Lösenordsfilen %s har läsrättigheter för världen och gruppen; "
-"rättigheten skall vara u=rw (0600)\n"
+msgstr "VARNING: Lösenordsfilen %s har läsrättigheter för världen och gruppen; rättigheten skall vara u=rw (0600)\n"
 
-#: fe-exec.c:475
+#: fe-exec.c:484
 msgid "NOTICE"
 msgstr "NOTIS"
 
-#: fe-exec.c:628 fe-exec.c:687
+#: fe-exec.c:637 fe-exec.c:689
 msgid "command string is a null pointer\n"
 msgstr "kommandosträngen är en null-pekare\n"
 
-#: fe-exec.c:680 fe-exec.c:1320
-msgid "function requires at least 3.0 protocol\n"
-msgstr "funktionen kräver minst version 3.0 av protokollet\n"
+#: fe-exec.c:724
+msgid "statement name is a null pointer\n"
+msgstr "satsens namn  är en null-pekare\n"
 
-#: fe-exec.c:826
+#: fe-exec.c:755
 msgid "no connection to the server\n"
 msgstr "inte förbunden till servern\n"
 
-#: fe-exec.c:833
+#: fe-exec.c:762
 msgid "another command is already in progress\n"
 msgstr "ett annat kommando pågår redan\n"
 
-#: fe-exec.c:1018
+#: fe-exec.c:798 fe-exec.c:1432
+msgid "function requires at least 3.0 protocol\n"
+msgstr "funktionen kräver minst version 3.0 av protokollet\n"
+
+#: fe-exec.c:1100
 #, c-format
 msgid "unexpected asyncStatus: %d\n"
 msgstr "oväntad asyncStatus: %d\n"
 
-#: fe-exec.c:1097
+#: fe-exec.c:1205
 msgid "COPY terminated by new PQexec"
 msgstr "COPY terminerad av ny PQexec"
 
-#: fe-exec.c:1109
+#: fe-exec.c:1213
 msgid "COPY IN state must be terminated first\n"
 msgstr "COPY IN-läge måste avslutas först\n"
 
-#: fe-exec.c:1130
+#: fe-exec.c:1233
 msgid "COPY OUT state must be terminated first\n"
 msgstr "COPY OUT-läge måste avslutas först\n"
 
-#: fe-exec.c:1234 fe-exec.c:1288 fe-exec.c:1362
+#: fe-exec.c:1336 fe-exec.c:1390 fe-exec.c:1474
 msgid "no COPY in progress\n"
 msgstr "ingen COPY pågår\n"
 
-#: fe-exec.c:1554
+#: fe-exec.c:1666
 msgid "connection in wrong state\n"
 msgstr "förbindelse i felaktigt tillstånd\n"
 
-#: fe-exec.c:1585
+#: fe-exec.c:1697
 msgid "invalid ExecStatusType code"
 msgstr "ogiltig ExecStatusType-kod"
 
-#: fe-exec.c:1649 fe-exec.c:1672
+#: fe-exec.c:1761 fe-exec.c:1784
 #, c-format
 msgid "column number %d is out of range 0..%d"
 msgstr "kolumnnummer %d är utanför giltigt intervall 0..%d"
 
-#: fe-exec.c:1665
+#: fe-exec.c:1777
 #, c-format
 msgid "row number %d is out of range 0..%d"
 msgstr "radnummer %d är utanför giltigt intervall 0..%d"
 
-#: fe-exec.c:1902
+#: fe-exec.c:2014
 #, c-format
 msgid "could not interpret result from server: %s"
 msgstr "kunde inte tolka svaret från servern: %s"
@@ -495,4 +497,3 @@ msgstr "certifikatet kunde inte valideras: %s\n"
 #, c-format
 msgid "certificate could not be obtained: %s\n"
 msgstr "certifikatet kunde inte hämtas: %s\n"
-
index a458361ced19bc29eead3d15cb351427233ff961..de83c38e8589ce8290eda4535f0192394edf8969 100644 (file)
@@ -312,7 +312,7 @@ winsock_strerror(int err, char *strerrbuf, size_t buflen)
        {
                strerrbuf[buflen - 1] = '\0';
                offs = strlen(strerrbuf);
-               if (offs > buflen - 64)
+               if (offs > (int)buflen - 64)
                        offs = buflen - 64;
                sprintf(strerrbuf + offs, " (0x%08X/%lu)", err, err);
        }
index 11450a55858f7b31724fb0c172b2d88b1c673429..a910303c0faf9c0aaaae2f119c986f3fbab372dd 100644 (file)
@@ -1,14 +1,16 @@
 # Makefile for Microsoft Visual C++ 5.0 (or compat)
 
-# Will build a Win32 static library (non-debug) libpq.lib
-#        and a Win32 dynamic library (non-debug) libpq.dll with import library libpqdll.lib
+# Will build a Win32 static library libpq.lib
+#        and a Win32 dynamic library libpq.dll with import library libpqdll.lib
+# USE_SSL=1 will compile with OpenSSL
+# DEBUG=1 compiles with debugging symbols
 
 
 !MESSAGE Building the Win32 static library...
 !MESSAGE
 
 !IFDEF DEBUG
-OPT=/Od
+OPT=/Od /Zi
 LOPT=/debug
 DEBUGDEF=/D _DEBUG
 !ELSE
@@ -26,12 +28,16 @@ NULL=nul
 CPP=cl.exe
 RSC=rc.exe
 
+!IFDEF DEBUG
+OUTDIR=.\Debug
+INTDIR=.\Debug
+CPP_OBJS=.\Debug/
+!ELSE
 OUTDIR=.\Release
 INTDIR=.\Release
+CPP_OBJS=.\Release/
+!ENDIF
 
-# Begin Custom Macros
-OutDir=.\Release
-# End Custom Macros
 
 ALL : "$(OUTDIR)\libpq.lib" "$(OUTDIR)\libpq.dll" 
 
@@ -72,16 +78,20 @@ CPP_PROJ=/nologo /MD /W3 /GX $(OPT) /I "..\..\include" /D "FRONTEND" $(DEBUGDEF)
  "WIN32" /D "_WINDOWS" /Fp"$(INTDIR)\libpq.pch" /YX\
  /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c  /D "HAVE_VSNPRINTF" /D "HAVE_STRDUP"
 
-CPP_OBJS=.\Release/
+!IFDEF USE_SSL
+CPP_PROJ=$(CPP_PROJ) /D USE_SSL
+SSL_LIBS=ssleay32.lib libeay32.lib gdi32.lib
+!ENDIF
+
 CPP_SBRS=.
 
 LIB32=link.exe -lib
 LIB32_FLAGS=$(LOPT) /nologo /out:"$(OUTDIR)\libpq.lib" 
 LIB32_OBJS= \
-       "$(OUTDIR)\win32.obj" \
+       "$(INTDIR)\win32.obj" \
        "$(INTDIR)\getaddrinfo.obj" \
        "$(INTDIR)\inet_aton.obj" \
-      "$(INTDIR)\crypt.obj" \
+        "$(INTDIR)\crypt.obj" \
        "$(INTDIR)\path.obj" \
        "$(INTDIR)\dllist.obj" \
        "$(INTDIR)\md5.obj" \
@@ -94,15 +104,17 @@ LIB32_OBJS= \
        "$(INTDIR)\fe-lobj.obj" \
        "$(INTDIR)\fe-misc.obj" \
        "$(INTDIR)\fe-print.obj" \
+       "$(INTDIR)\thread.obj" \
        "$(INTDIR)\fe-secure.obj" \
        "$(INTDIR)\pqexpbuffer.obj" \
        "$(INTDIR)\wchar.obj" \
        "$(INTDIR)\encnames.obj"
 
+
 RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libpq.res"
 
 LINK32=link.exe
-LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib wsock32.lib\
+LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib wsock32.lib $(SSL_LIBS)  \
  /nologo /subsystem:windows /dll $(LOPT) /incremental:no\
  /pdb:"$(OUTDIR)\libpqdll.pdb" /machine:I386 /out:"$(OUTDIR)\libpq.dll"\
  /implib:"$(OUTDIR)\libpqdll.lib"  /def:libpqdll.def
@@ -126,38 +138,43 @@ LINK32_OBJS= \
   $(LINK32_FLAGS) $(LINK32_OBJS)
 <<
 
-"$(OUTDIR)\getaddrinfo.obj" : ..\..\port\getaddrinfo.c
+"$(INTDIR)\getaddrinfo.obj" : ..\..\port\getaddrinfo.c
     $(CPP) @<<
     $(CPP_PROJ) ..\..\port\getaddrinfo.c
 <<
 
-"$(OUTDIR)\inet_aton.obj" : ..\..\port\inet_aton.c
+"$(INTDIR)\thread.obj" : ..\..\port\thread.c
+    $(CPP) @<<
+    $(CPP_PROJ) ..\..\port\thread.c
+<<
+
+"$(INTDIR)\inet_aton.obj" : ..\..\port\inet_aton.c
     $(CPP) @<<
     $(CPP_PROJ) ..\..\port\inet_aton.c
 <<
 
-"$(OUTDIR)\crypt.obj" : ..\..\port\crypt.c
+"$(INTDIR)\crypt.obj" : ..\..\port\crypt.c
     $(CPP) @<<
     $(CPP_PROJ) ..\..\port\crypt.c
 <<
 
-"$(OUTDIR)\path.obj" : ..\..\port\path.c
+"$(INTDIR)\path.obj" : ..\..\port\path.c
     $(CPP) @<<
     $(CPP_PROJ) ..\..\port\path.c
 <<
 
-"$(OUTDIR)\dllist.obj" : ..\..\backend\lib\dllist.c
+"$(INTDIR)\dllist.obj" : ..\..\backend\lib\dllist.c
     $(CPP) @<<
     $(CPP_PROJ) ..\..\backend\lib\dllist.c
 <<
 
 
-"$(OUTDIR)\md5.obj" : ..\..\backend\libpq\md5.c
+"$(INTDIR)\md5.obj" : ..\..\backend\libpq\md5.c
     $(CPP) @<<
     $(CPP_PROJ) ..\..\backend\libpq\md5.c
 <<
 
-"$(OUTDIR)\ip.obj" : ..\..\backend\libpq\ip.c
+"$(INTDIR)\ip.obj" : ..\..\backend\libpq\ip.c
     $(CPP) @<<
     $(CPP_PROJ) ..\..\backend\libpq\ip.c
 <<
index e3d55be21332c1e91622d9efaed8b1ab2d076821..4f2f8273048f3770e34cb826802772b1dc27a2cd 100644 (file)
@@ -757,6 +757,10 @@ plperl_build_tuple_argument(HeapTuple tuple, TupleDesc tupdesc)
 
        for (i = 0; i < tupdesc->natts; i++)
        {
+               /* ignore dropped attributes */
+               if (tupdesc->attrs[i]->attisdropped)
+                       continue;
+
                /************************************************************
                 * Get the attribute name
                 ************************************************************/
index 93f2ec00910e9c7478d1ea49ef471b237f4d7972..e201b13ab421184f4c44148ff233339ecf9c4a21 100644 (file)
@@ -100,16 +100,16 @@ typedef struct plpgsql_hashent
  */
 static PLpgSQL_function *do_compile(FunctionCallInfo fcinfo,
                   HeapTuple procTup,
-                  PLpgSQL_func_hashkey * hashkey);
+                  PLpgSQL_func_hashkey *hashkey);
 static void plpgsql_compile_error_callback(void *arg);
 static PLpgSQL_type *build_datatype(HeapTuple typeTup, int32 typmod);
-static void compute_function_hashkey(FmgrInfo *flinfo,
+static void compute_function_hashkey(FunctionCallInfo fcinfo,
                                                 Form_pg_proc procStruct,
-                                                PLpgSQL_func_hashkey * hashkey);
-static PLpgSQL_function *plpgsql_HashTableLookup(PLpgSQL_func_hashkey * func_key);
-static void plpgsql_HashTableInsert(PLpgSQL_function * function,
-                                               PLpgSQL_func_hashkey * func_key);
-static void plpgsql_HashTableDelete(PLpgSQL_function * function);
+                                                PLpgSQL_func_hashkey *hashkey);
+static PLpgSQL_function *plpgsql_HashTableLookup(PLpgSQL_func_hashkey *func_key);
+static void plpgsql_HashTableInsert(PLpgSQL_function *function,
+                                               PLpgSQL_func_hashkey *func_key);
+static void plpgsql_HashTableDelete(PLpgSQL_function *function);
 
 /*
  * This routine is a crock, and so is everyplace that calls it.  The problem
@@ -169,7 +169,7 @@ plpgsql_compile(FunctionCallInfo fcinfo)
                        plpgsql_HashTableInit();
 
                /* Compute hashkey using function signature and actual arg types */
-               compute_function_hashkey(fcinfo->flinfo, procStruct, &hashkey);
+               compute_function_hashkey(fcinfo, procStruct, &hashkey);
                hashkey_valid = true;
 
                /* And do the lookup */
@@ -203,7 +203,7 @@ plpgsql_compile(FunctionCallInfo fcinfo)
                 * the completed function.
                 */
                if (!hashkey_valid)
-                       compute_function_hashkey(fcinfo->flinfo, procStruct, &hashkey);
+                       compute_function_hashkey(fcinfo, procStruct, &hashkey);
 
                /*
                 * Do the hard part.
@@ -230,7 +230,7 @@ plpgsql_compile(FunctionCallInfo fcinfo)
 static PLpgSQL_function *
 do_compile(FunctionCallInfo fcinfo,
                   HeapTuple procTup,
-                  PLpgSQL_func_hashkey * hashkey)
+                  PLpgSQL_func_hashkey *hashkey)
 {
        Form_pg_proc procStruct = (Form_pg_proc) GETSTRUCT(procTup);
        int                     functype = CALLED_AS_TRIGGER(fcinfo) ? T_TRIGGER : T_FUNCTION;
@@ -1711,16 +1711,25 @@ plpgsql_yyerror(const char *s)
  * The hashkey is returned into the caller-provided storage at *hashkey.
  */
 static void
-compute_function_hashkey(FmgrInfo *flinfo,
+compute_function_hashkey(FunctionCallInfo fcinfo,
                                                 Form_pg_proc procStruct,
-                                                PLpgSQL_func_hashkey * hashkey)
+                                                PLpgSQL_func_hashkey *hashkey)
 {
        int                     i;
 
        /* Make sure any unused bytes of the struct are zero */
        MemSet(hashkey, 0, sizeof(PLpgSQL_func_hashkey));
 
-       hashkey->funcOid = flinfo->fn_oid;
+       /* get function OID */
+       hashkey->funcOid = fcinfo->flinfo->fn_oid;
+
+       /* if trigger, get relation OID */
+       if (CALLED_AS_TRIGGER(fcinfo))
+       {
+               TriggerData *trigdata = (TriggerData *) fcinfo->context;
+
+               hashkey->trigrelOid = RelationGetRelid(trigdata->tg_relation);
+       }
 
        /* get the argument types */
        for (i = 0; i < procStruct->pronargs; i++)
@@ -1737,7 +1746,7 @@ compute_function_hashkey(FmgrInfo *flinfo,
                if (argtypeid == ANYARRAYOID || argtypeid == ANYELEMENTOID ||
                        argtypeid == ANYOID)
                {
-                       argtypeid = get_fn_expr_argtype(flinfo, i);
+                       argtypeid = get_fn_expr_argtype(fcinfo->flinfo, i);
                        if (!OidIsValid(argtypeid))
                                ereport(ERROR,
                                                (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
@@ -1767,7 +1776,7 @@ plpgsql_HashTableInit(void)
 }
 
 static PLpgSQL_function *
-plpgsql_HashTableLookup(PLpgSQL_func_hashkey * func_key)
+plpgsql_HashTableLookup(PLpgSQL_func_hashkey *func_key)
 {
        plpgsql_HashEnt *hentry;
 
@@ -1782,8 +1791,8 @@ plpgsql_HashTableLookup(PLpgSQL_func_hashkey * func_key)
 }
 
 static void
-plpgsql_HashTableInsert(PLpgSQL_function * function,
-                                               PLpgSQL_func_hashkey * func_key)
+plpgsql_HashTableInsert(PLpgSQL_function *function,
+                                               PLpgSQL_func_hashkey *func_key)
 {
        plpgsql_HashEnt *hentry;
        bool            found;
@@ -1805,7 +1814,7 @@ plpgsql_HashTableInsert(PLpgSQL_function * function,
 }
 
 static void
-plpgsql_HashTableDelete(PLpgSQL_function * function)
+plpgsql_HashTableDelete(PLpgSQL_function *function)
 {
        plpgsql_HashEnt *hentry;
 
index e41d08e0e0e311ead26676ff6375ac9bf8b473dd..735d3437208573c3db1627a21782bf3c3cbcb364 100644 (file)
@@ -491,6 +491,14 @@ typedef struct PLpgSQL_func_hashkey
 {                                                              /* Hash lookup key for functions */
        Oid                     funcOid;
 
+       /*
+        * For a trigger function, the OID of the relation triggered on is part
+        * of the hashkey --- we want to compile the trigger separately for each
+        * relation it is used with, in case the rowtype is different.  Zero if
+        * not called as a trigger.
+        */
+       Oid                     trigrelOid;
+
        /*
         * We include actual argument types in the hash key to support
         * polymorphic PLpgSQL functions.  Be careful that extra positions are
index 93cba0dd976349b4f0c5e6e6d3a902ff5d675be5..7c1036d4b3df1b5e62dbb53c3ea578ccd470987c 100644 (file)
@@ -694,6 +694,7 @@ pltcl_trigger_handler(PG_FUNCTION_ARGS)
        pfree(stroid);
 
        /* A list of attribute names for argument TG_relatts */
+       /* note: we deliberately include dropped atts here */
        Tcl_DStringAppendElement(&tcl_trigtup, "");
        for (i = 0; i < tupdesc->natts; i++)
                Tcl_DStringAppendElement(&tcl_trigtup,
@@ -863,9 +864,8 @@ pltcl_trigger_handler(PG_FUNCTION_ARGS)
                modvalues[i] = (Datum) NULL;
        }
 
-       modnulls = palloc(tupdesc->natts + 1);
+       modnulls = palloc(tupdesc->natts);
        memset(modnulls, 'n', tupdesc->natts);
-       modnulls[tupdesc->natts] = '\0';
 
        /************************************************************
         * Care for possible elog(ERROR)'s below
@@ -2312,6 +2312,10 @@ pltcl_set_tuple_values(Tcl_Interp *interp, CONST84 char *arrayname,
 
        for (i = 0; i < tupdesc->natts; i++)
        {
+               /* ignore dropped attributes */
+               if (tupdesc->attrs[i]->attisdropped)
+                       continue;
+
                /************************************************************
                 * Get the attribute name
                 ************************************************************/
@@ -2382,6 +2386,10 @@ pltcl_build_tuple_argument(HeapTuple tuple, TupleDesc tupdesc,
 
        for (i = 0; i < tupdesc->natts; i++)
        {
+               /* ignore dropped attributes */
+               if (tupdesc->attrs[i]->attisdropped)
+                       continue;
+
                /************************************************************
                 * Get the attribute name
                 ************************************************************/
diff --git a/src/port/thread.c b/src/port/thread.c
new file mode 100644 (file)
index 0000000..3d6056b
--- /dev/null
@@ -0,0 +1,119 @@
+/*-------------------------------------------------------------------------
+ *
+ * thread.c
+ *
+ *               Prototypes and macros around system calls, used to help make
+ *               threaded libraries reentrant and safe to use from threaded applications.
+ *
+ * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
+ *
+ * $Id$
+ *
+ *-------------------------------------------------------------------------
+ */
+
+#include "postgres.h"
+
+/*
+ *     Threading sometimes requires specially-named versions of functions
+ *     that return data in static buffers, like strerror_r() instead of
+ *     strerror().  Other operating systems use pthread_setspecific()
+ *     and pthread_getspecific() internally to allow standard library
+ *     functions to return static data to threaded applications.
+ *
+ *     Additional confusion exists because many operating systems that
+ *     use pthread_setspecific/pthread_getspecific() also have *_r versions
+ *     of standard library functions for compatibility with operating systems
+ *     that require them.  However, internally, these *_r functions merely
+ *     call the thread-safe standard library functions.
+ *
+ *     For example, BSD/OS 4.3 uses Bind 8.2.3 for getpwuid().  Internally,
+ *     getpwuid() calls pthread_setspecific/pthread_getspecific() to return
+ *     static data to the caller in a thread-safe manner.  However, BSD/OS
+ *     also has getpwuid_r(), which merely calls getpwuid() and shifts
+ *     around the arguments to match the getpwuid_r() function declaration.
+ *     Therefore, while BSD/OS has getpwuid_r(), it isn't required.  It also
+ *     doesn't have strerror_r(), so we can't fall back to only using *_r
+ *     functions for threaded programs.
+ *
+ *     The current setup is to assume either all standard functions are
+ *     thread-safe (NEED_REENTRANT_FUNC_NAMES=no), or the operating system
+ *     requires reentrant function names (NEED_REENTRANT_FUNC_NAMES=yes).
+ *     Compile and run src/tools/test_thread_funcs.c to see if your operating
+ *     system requires reentrant function names.
+ */
+
+/*
+ * Wrapper around strerror and strerror_r to use the former if it is
+ * available and also return a more useful value (the error string).
+ */
+char *
+pqStrerror(int errnum, char *strerrbuf, size_t buflen)
+{
+#if defined(USE_THREADS) && defined(NEED_REENTRANT_FUNC_NAMES)
+       /* reentrant strerror_r is available */
+       /* some early standards had strerror_r returning char * */
+       strerror_r(errnum, strerrbuf, buflen);
+       return (strerrbuf);
+#else
+       /* no strerror_r() available, just use strerror */
+       return strerror(errnum);
+#endif
+}
+
+/*
+ * Wrapper around getpwuid() or getpwuid_r() to mimic POSIX getpwuid_r()
+ * behaviour, if it is not available or required.
+ */
+#ifndef WIN32
+int
+pqGetpwuid(uid_t uid, struct passwd *resultbuf, char *buffer,
+                  size_t buflen, struct passwd **result)
+{
+#if defined(USE_THREADS) && defined(NEED_REENTRANT_FUNC_NAMES)
+       /*
+        * Early POSIX draft of getpwuid_r() returns 'struct passwd *'.
+        *    getpwuid_r(uid, resultbuf, buffer, buflen)
+        * Do we need to support it?  bjm 2003-08-14
+        */
+       /* POSIX version */
+       getpwuid_r(uid, resultbuf, buffer, buflen, result);
+#else
+       /* no getpwuid_r() available, just use getpwuid() */
+       *result = getpwuid(uid);
+#endif
+       return (*result == NULL) ? -1 : 0;
+}
+#endif
+
+/*
+ * Wrapper around gethostbyname() or gethostbyname_r() to mimic
+ * POSIX gethostbyname_r() behaviour, if it is not available or required.
+ */
+int
+pqGethostbyname(const char *name,
+                               struct hostent *resbuf,
+                               char *buf, size_t buflen,
+                               struct hostent **result,
+                               int *herrno)
+{
+#if defined(USE_THREADS) && defined(NEED_REENTRANT_FUNC_NAMES)
+       /*
+        * broken (well early POSIX draft) gethostbyname_r() which returns
+        * 'struct hostent *'
+        */
+       *result = gethostbyname_r(name, resbuf, buf, buflen, herrno);
+       return (*result == NULL) ? -1 : 0;
+#else
+       /* no gethostbyname_r(), just use gethostbyname() */
+       *result = gethostbyname(name);
+       if (*result != NULL)
+               return 0;
+       else
+       {
+               *herrno = h_errno;
+               return -1;
+       }
+#endif
+}
index ec73bc60d072fb2a7de00b17f995c7b5317811e0..ba2d27247e4621945a06f06fc7f9ed1cf1e9c779 100644 (file)
@@ -11,5 +11,4 @@ case $host_os in
 esac
 
 SUPPORTS_THREADS=yes
-NEED_REENTRANT_FUNC_NAMES=no
-
+NEED_REENTRANT_FUNC_NAMES=no   # verified 4.3 2003-09-03
index f35b76a99930b4b841bb533a129e4f8e968b023c..e96e5c2fa5552cdfd79bd3460a1f6c1f0cb8db46 100644 (file)
@@ -5,13 +5,13 @@ case $host_cpu in
 esac
 
 SUPPORTS_THREADS=yes
+NEED_REENTRANT_FUNC_NAMES=no
+
 case $host_os in
                freebsd2*|freebsd3*|freebsd4*)
                        THREAD_CFLAGS="-pthread"
-                       NEED_REENTRANT_FUNC_NAMES=yes
                        ;;
                *)
                        THREAD_LIBS="-lc_r"
-                       NEED_REENTRANT_FUNC_NAMES=yes
                        ;;
 esac
index fc5c874d844d495f6befa06b9d98bdf59abd4d7c..db13803710ec60f8be870ff10dca8f56f1a7e645 100644 (file)
@@ -1,7 +1,7 @@
 CFLAGS=-O2
 
 SUPPORTS_THREADS=yes
+NEED_REENTRANT_FUNC_NAMES=yes  # verified glibc 2.1 2003-09-03
 THREAD_CFLAGS="-D_REENTRANT -D_THREAD_SAFE -D_POSIX_PTHREAD_SEMANTICS"
 THREAD_LIBS="-lpthread"
-NEED_REENTRANT_FUNC_NAMES=yes
 
index c18fccb9bea2e7f006d060bb205e76fecf83541f..9a3869dfe77044a7883d4e9c11c55de1c01b9d0b 100644 (file)
@@ -2,4 +2,3 @@ CFLAGS='-O2 -pipe'
 
 SUPPORTS_THREADS=yes
 NEED_REENTRANT_FUNC_NAMES=no
-
index 8a65f114c55d226120329d18dbdc0dbfbef56820..a930bf4e08ee111a686265328a741c98001ad248 100644 (file)
@@ -4,6 +4,7 @@ else
   CC="$CC -std"
   CFLAGS='-O4 -Olimit 2000'
 fi
+
 SUPPORTS_THREADS=yes
+NEED_REENTRANT_FUNC_NAMES=no
 THREAD_CFLAGS="-pthread"
-
index a948761596b04c3c424bd77952381047a0497407..9cfde833c921aea7b88cec7e9cf8cadd20334850 100644 (file)
@@ -10,5 +10,5 @@ else
 fi
 
 SUPPORTS_THREADS=yes
-THREAD_CFLAGS += -D_REENTRANT
-NEED_REENTRANT_FUNC_NAMES=yes
+NEED_REENTRANT_FUNC_NAMES=no   # verified 7.1.3 2003-09-03
+THREAD_CFLAGS="$THREAD_CFLAGS -D_REENTRANT"
index ecfdb9f0548af984817cf904857f902700013200..41a0861e3a183218ec0a186e917662093f6c9dba 100644 (file)
@@ -28,9 +28,10 @@ INSERT INTO ABSTIME_TBL (f1) VALUES (abstime '-infinity');
 INSERT INTO ABSTIME_TBL (f1) VALUES (abstime 'May 10, 1947 23:59:12');
 -- what happens if we specify slightly misformatted abstime? 
 INSERT INTO ABSTIME_TBL (f1) VALUES ('Feb 35, 1946 10:00:00');
-ERROR:  invalid input syntax for abstime: "Feb 35, 1946 10:00:00"
+ERROR:  date/time field value out of range: "Feb 35, 1946 10:00:00"
+HINT:  Perhaps you need a different DateStyle setting.
 INSERT INTO ABSTIME_TBL (f1) VALUES ('Feb 28, 1984 25:08:10');
-ERROR:  invalid input syntax for abstime: "Feb 28, 1984 25:08:10"
+ERROR:  date/time field value out of range: "Feb 28, 1984 25:08:10"
 -- badly formatted abstimes:  these should result in invalid abstimes 
 INSERT INTO ABSTIME_TBL (f1) VALUES ('bad date format');
 ERROR:  invalid input syntax for abstime: "bad date format"
index abece85133ddf11c5c4b2c054511368b46f24355..b73004693900c024d1e8240d808c0ae2a9828ede 100644 (file)
@@ -28,9 +28,10 @@ INSERT INTO ABSTIME_TBL (f1) VALUES (abstime '-infinity');
 INSERT INTO ABSTIME_TBL (f1) VALUES (abstime 'May 10, 1947 23:59:12');
 -- what happens if we specify slightly misformatted abstime? 
 INSERT INTO ABSTIME_TBL (f1) VALUES ('Feb 35, 1946 10:00:00');
-ERROR:  invalid input syntax for abstime: "Feb 35, 1946 10:00:00"
+ERROR:  date/time field value out of range: "Feb 35, 1946 10:00:00"
+HINT:  Perhaps you need a different DateStyle setting.
 INSERT INTO ABSTIME_TBL (f1) VALUES ('Feb 28, 1984 25:08:10');
-ERROR:  invalid input syntax for abstime: "Feb 28, 1984 25:08:10"
+ERROR:  date/time field value out of range: "Feb 28, 1984 25:08:10"
 -- badly formatted abstimes:  these should result in invalid abstimes 
 INSERT INTO ABSTIME_TBL (f1) VALUES ('bad date format');
 ERROR:  invalid input syntax for abstime: "bad date format"
index ee08082d5bd4bdec25aca7436ad1f3119f3785d4..219ac0262958a138afe459fcfa426d298a1ca652 100644 (file)
@@ -190,10 +190,10 @@ SELECT array_prepend(6, array[42]) AS "{6,42}";
  {6,42}
 (1 row)
 
-SELECT array_cat(ARRAY[1,2], ARRAY[3,4]) AS "{{1,2},{3,4}}";
- {{1,2},{3,4}
----------------
- {{1,2},{3,4}}
+SELECT array_cat(ARRAY[1,2], ARRAY[3,4]) AS "{1,2,3,4}";
+ {1,2,3,4
+-----------
+ {1,2,3,4}
 (1 row)
 
 SELECT array_cat(ARRAY[1,2], ARRAY[[3,4],[5,6]]) AS "{{1,2},{3,4},{5,6}}";
@@ -233,16 +233,16 @@ SELECT 0 || ARRAY[1,2] AS "{0,1,2}";
  {0,1,2}
 (1 row)
 
-SELECT ARRAY[1,2] || ARRAY[3,4] AS "{{1,2},{3,4}}";
- {{1,2},{3,4}
----------------
- {{1,2},{3,4}}
+SELECT ARRAY[1,2] || ARRAY[3,4] AS "{1,2,3,4}";
+ {1,2,3,4
+-----------
+ {1,2,3,4}
 (1 row)
 
 SELECT ARRAY[[['hello','world']]] || ARRAY[[['happy','birthday']]] AS "ARRAY";
-                  ARRAY                   
-------------------------------------------
- {{{{hello,world}}},{{{happy,birthday}}}}
+                ARRAY                 
+--------------------------------------
+ {{{hello,world}},{{happy,birthday}}}
 (1 row)
 
 SELECT ARRAY[[1,2],[3,4]] || ARRAY[5,6] AS "{{1,2},{3,4},{5,6}}";
@@ -251,10 +251,10 @@ SELECT ARRAY[[1,2],[3,4]] || ARRAY[5,6] AS "{{1,2},{3,4},{5,6}}";
  {{1,2},{3,4},{5,6}}
 (1 row)
 
-SELECT ARRAY[0,0] || ARRAY[1,1] || ARRAY[2,2] AS "{{0,0},{1,1},{2,2}}";
- {{0,0},{1,1},{2,2}
----------------------
- {{0,0},{1,1},{2,2}}
+SELECT ARRAY[0,0] || ARRAY[1,1] || ARRAY[2,2] AS "{0,0,1,1,2,2}";
+ {0,0,1,1,2,2
+---------------
+ {0,0,1,1,2,2}
 (1 row)
 
 SELECT 0 || ARRAY[1,2] || 3 AS "{0,1,2,3}";
index 37a3591a64bbf6ae00464362e17eb2b836422e03..d8713dc53d5323845cafc5cd1670b8171c36ce50 100644 (file)
@@ -81,7 +81,7 @@ SELECT '' AS four, f1 FROM CIRCLE_TBL WHERE diameter(f1) >= 10;
 SELECT '' as five, c1.f1 AS one, c2.f1 AS two, (c1.f1 <-> c2.f1) AS distance
   FROM CIRCLE_TBL c1, CIRCLE_TBL c2
   WHERE (c1.f1 < c2.f1) AND ((c1.f1 <-> c2.f1) > 0)
-  ORDER BY distance, one, two;
+  ORDER BY distance, one USING < , two USING < ;
  five |      one       |      two       |     distance     
 ------+----------------+----------------+------------------
       | <(100,200),10> | <(100,1),115>  |               74
index ce1f76785d4b220cb325cc426bcf91c34962b678..84bdcf232b90a6e68ca4bf8317648d8c2c1929bd 100644 (file)
@@ -10,7 +10,7 @@ INSERT INTO DATE_TBL VALUES ('1996-03-01');
 INSERT INTO DATE_TBL VALUES ('1996-03-02');
 INSERT INTO DATE_TBL VALUES ('1997-02-28');
 INSERT INTO DATE_TBL VALUES ('1997-02-29');
-ERROR:  invalid input syntax for date: "1997-02-29"
+ERROR:  date/time field value out of range: "1997-02-29"
 INSERT INTO DATE_TBL VALUES ('1997-03-01');
 INSERT INTO DATE_TBL VALUES ('1997-03-02');
 INSERT INTO DATE_TBL VALUES ('2000-04-01');
index 69118725f4a857d55628a91a16eb77fdc2b183b3..0889ea25e640efa7afa7a61d75305bcbfc5de9ed 100644 (file)
@@ -504,7 +504,7 @@ SELECT '' AS two, circle(f1)
 SELECT '' AS twentyfour, c1.f1 AS circle, p1.f1 AS point, (p1.f1 <-> c1.f1) AS distance
    FROM CIRCLE_TBL c1, POINT_TBL p1
    WHERE (p1.f1 <-> c1.f1) > 0
-   ORDER BY distance, circle, point using <<;
+   ORDER BY distance, circle using <, point using <<;
  twentyfour |     circle     |   point    |   distance    
 ------------+----------------+------------+---------------
             | <(1,2),3>      | (-3,4)     |   1.472135955
index 76b621fede615b6ac817914cd152ac3d1ccdcfaa..5c205d8bcc7e03be5d607d3aa99fcade1349bbbf 100644 (file)
@@ -504,7 +504,7 @@ SELECT '' AS two, circle(f1)
 SELECT '' AS twentyfour, c1.f1 AS circle, p1.f1 AS point, (p1.f1 <-> c1.f1) AS distance
    FROM CIRCLE_TBL c1, POINT_TBL p1
    WHERE (p1.f1 <-> c1.f1) > 0
-   ORDER BY distance, circle, point using <<;
+   ORDER BY distance, circle using <, point using <<;
  twentyfour |     circle     |   point    |   distance    
 ------------+----------------+------------+---------------
             | <(1,2),3>      | (-3,4)     |   1.472135955
index 0aa1da407f461aa5fc1ef684cd96eac94c99ac16..379e17e0a0f99d92091e9ad6740e0e234411cbcf 100644 (file)
@@ -81,7 +81,8 @@ SELECT timestamp with time zone '12/27/2001 04:05:06.789-08';
 
 -- should fail in mdy mode:
 SELECT timestamp with time zone '27/12/2001 04:05:06.789-08';
-ERROR:  invalid input syntax for timestamp with time zone: "27/12/2001 04:05:06.789-08"
+ERROR:  date/time field value out of range: "27/12/2001 04:05:06.789-08"
+HINT:  Perhaps you need a different DateStyle setting.
 set datestyle to dmy;
 SELECT timestamp with time zone '27/12/2001 04:05:06.789-08';
            timestamptz            
index cdb9c7f1d867b29aac0d1cc3ac13d9db78b04fb0..c5c70779a1312bc112ba810d9b919fac08339f9c 100644 (file)
@@ -81,7 +81,8 @@ SELECT timestamp with time zone '12/27/2001 04:05:06.789-08';
 
 -- should fail in mdy mode:
 SELECT timestamp with time zone '27/12/2001 04:05:06.789-08';
-ERROR:  invalid input syntax for timestamp with time zone: "27/12/2001 04:05:06.789-08"
+ERROR:  date/time field value out of range: "27/12/2001 04:05:06.789-08"
+HINT:  Perhaps you need a different DateStyle setting.
 set datestyle to dmy;
 SELECT timestamp with time zone '27/12/2001 04:05:06.789-08';
            timestamptz            
index 984e75e8b4c6a97df9a4b1e1a1cc839748b3072b..940707e90fcf05c4a3dad692583e110501921043 100644 (file)
@@ -81,7 +81,8 @@ SELECT timestamp with time zone '12/27/2001 04:05:06.789-08';
 
 -- should fail in mdy mode:
 SELECT timestamp with time zone '27/12/2001 04:05:06.789-08';
-ERROR:  invalid input syntax for timestamp with time zone: "27/12/2001 04:05:06.789-08"
+ERROR:  date/time field value out of range: "27/12/2001 04:05:06.789-08"
+HINT:  Perhaps you need a different DateStyle setting.
 set datestyle to dmy;
 SELECT timestamp with time zone '27/12/2001 04:05:06.789-08';
            timestamptz            
diff --git a/src/test/regress/expected/polymorphism.out b/src/test/regress/expected/polymorphism.out
new file mode 100644 (file)
index 0000000..bc6b9e4
--- /dev/null
@@ -0,0 +1,532 @@
+-- Currently this tests polymorphic aggregates and indirectly does some
+-- testing of polymorphic SQL functions.  It ought to be extended.
+-- Legend:
+-----------
+-- A = type is ANY
+-- P = type is polymorphic
+-- N = type is non-polymorphic
+-- B = aggregate base type
+-- S = aggregate state type
+-- R = aggregate return type
+-- 1 = arg1 of a function
+-- 2 = arg2 of a function
+-- ag = aggregate
+-- tf = trans (state) function
+-- ff = final function
+-- rt = return type of a function
+-- -> = implies
+-- => = allowed
+-- !> = not allowed
+-- E  = exists
+-- NE = not-exists
+-- 
+-- Possible states:
+-- ----------------
+-- B = (A || P || N)
+--   when (B = A) -> (tf2 = NE)
+-- S = (P || N)
+-- ff = (E || NE)
+-- tf1 = (P || N)
+-- tf2 = (NE || P || N)
+-- R = (P || N)
+-- create functions for use as tf and ff with the needed combinations of
+-- argument polymorphism, but within the constraints of valid aggregate
+-- functions, i.e. tf arg1 and tf return type must match
+-- polymorphic single arg transfn
+CREATE FUNCTION stfp(anyarray) returns anyarray as
+'select $1' language 'sql';
+-- non-polymorphic single arg transfn
+CREATE FUNCTION stfnp(int[]) returns int[] as
+'select $1' language 'sql';
+-- dual polymorphic transfn
+CREATE FUNCTION tfp(anyarray,anyelement) returns anyarray as
+'select $1 || $2' language 'sql';
+-- dual non-polymorphic transfn
+CREATE FUNCTION tfnp(int[],int) returns int[] as
+'select $1 || $2' language 'sql';
+-- arg1 only polymorphic transfn
+CREATE FUNCTION tf1p(anyarray,int) returns anyarray as
+'select $1' language 'sql';
+-- arg2 only polymorphic transfn
+CREATE FUNCTION tf2p(int[],anyelement) returns int[] as
+'select $1' language 'sql';
+-- finalfn polymorphic
+CREATE FUNCTION ffp(anyarray) returns anyarray as
+'select $1' language 'sql';
+-- finalfn non-polymorphic
+CREATE FUNCTION ffnp(int[]) returns int[] as
+'select $1' language 'sql';
+-- Try to cover all the possible states:
+-- 
+-- Note: in Cases 1 & 2, we are trying to return P. Therefore, if the transfn
+-- is stfnp, tfnp, or tf2p, we must use ffp as finalfn, because stfnp, tfnp,
+-- and tf2p do not return P. Conversely, in Cases 3 & 4, we are trying to
+-- return N. Therefore, if the transfn is stfp, tfp, or tf1p, we must use ffnp
+-- as finalfn, because stfp, tfp, and tf1p do not return N.
+--
+--     Case1 (R = P) && (B = A)
+--     ------------------------
+--     S    tf1
+--     -------
+--     N    N
+-- should CREATE
+CREATE AGGREGATE myaggp01a(BASETYPE = "ANY", SFUNC = stfnp, STYPE = int4[],
+  FINALFUNC = ffp, INITCOND = '{}');
+--     P    N
+-- should ERROR: stfnp(anyarray) not matched by stfnp(int[])
+CREATE AGGREGATE myaggp02a(BASETYPE = "ANY", SFUNC = stfnp, STYPE = anyarray,
+  FINALFUNC = ffp, INITCOND = '{}');
+ERROR:  cannot determine transition datatype
+DETAIL:  An aggregate using ANYARRAY or ANYELEMENT as trans type must have one of them as its base type.
+--     N    P
+-- should CREATE
+CREATE AGGREGATE myaggp03a(BASETYPE = "ANY", SFUNC = stfp, STYPE = int4[],
+  FINALFUNC = ffp, INITCOND = '{}');
+CREATE AGGREGATE myaggp03b(BASETYPE = "ANY", SFUNC = stfp, STYPE = int4[],
+  INITCOND = '{}');
+--     P    P
+-- should ERROR: we have no way to resolve S
+CREATE AGGREGATE myaggp04a(BASETYPE = "ANY", SFUNC = stfp, STYPE = anyarray,
+  FINALFUNC = ffp, INITCOND = '{}');
+ERROR:  cannot determine transition datatype
+DETAIL:  An aggregate using ANYARRAY or ANYELEMENT as trans type must have one of them as its base type.
+CREATE AGGREGATE myaggp04b(BASETYPE = "ANY", SFUNC = stfp, STYPE = anyarray,
+  INITCOND = '{}');
+ERROR:  cannot determine transition datatype
+DETAIL:  An aggregate using ANYARRAY or ANYELEMENT as trans type must have one of them as its base type.
+--    Case2 (R = P) && ((B = P) || (B = N))
+--    -------------------------------------
+--    S    tf1      B    tf2
+--    -----------------------
+--    N    N        N    N
+-- should CREATE
+CREATE AGGREGATE myaggp05a(BASETYPE = int, SFUNC = tfnp, STYPE = int[],
+  FINALFUNC = ffp, INITCOND = '{}');
+--    N    N        N    P
+-- should CREATE
+CREATE AGGREGATE myaggp06a(BASETYPE = int, SFUNC = tf2p, STYPE = int[],
+  FINALFUNC = ffp, INITCOND = '{}');
+--    N    N        P    N
+-- should ERROR: tfnp(int[], anyelement) not matched by tfnp(int[], int)
+CREATE AGGREGATE myaggp07a(BASETYPE = anyelement, SFUNC = tfnp, STYPE = int[],
+  FINALFUNC = ffp, INITCOND = '{}');
+ERROR:  function tfnp(integer[], anyelement) does not exist
+--    N    N        P    P
+-- should CREATE
+CREATE AGGREGATE myaggp08a(BASETYPE = anyelement, SFUNC = tf2p, STYPE = int[],
+  FINALFUNC = ffp, INITCOND = '{}');
+--    N    P        N    N
+-- should CREATE
+CREATE AGGREGATE myaggp09a(BASETYPE = int, SFUNC = tf1p, STYPE = int[],
+  FINALFUNC = ffp, INITCOND = '{}');
+CREATE AGGREGATE myaggp09b(BASETYPE = int, SFUNC = tf1p, STYPE = int[],
+  INITCOND = '{}');
+--    N    P        N    P
+-- should CREATE
+CREATE AGGREGATE myaggp10a(BASETYPE = int, SFUNC = tfp, STYPE = int[],
+  FINALFUNC = ffp, INITCOND = '{}');
+CREATE AGGREGATE myaggp10b(BASETYPE = int, SFUNC = tfp, STYPE = int[],
+  INITCOND = '{}');
+--    N    P        P    N
+-- should ERROR: tf1p(int[],anyelement) not matched by tf1p(anyarray,int)
+CREATE AGGREGATE myaggp11a(BASETYPE = anyelement, SFUNC = tf1p, STYPE = int[],
+  FINALFUNC = ffp, INITCOND = '{}');
+ERROR:  function tf1p(integer[], anyelement) does not exist
+CREATE AGGREGATE myaggp11b(BASETYPE = anyelement, SFUNC = tf1p, STYPE = int[],
+  INITCOND = '{}');
+ERROR:  function tf1p(integer[], anyelement) does not exist
+--    N    P        P    P
+-- should ERROR: tfp(int[],anyelement) not matched by tfp(anyarray,anyelement)
+CREATE AGGREGATE myaggp12a(BASETYPE = anyelement, SFUNC = tfp, STYPE = int[],
+  FINALFUNC = ffp, INITCOND = '{}');
+ERROR:  function tfp(integer[], anyelement) does not exist
+CREATE AGGREGATE myaggp12b(BASETYPE = anyelement, SFUNC = tfp, STYPE = int[],
+  INITCOND = '{}');
+ERROR:  function tfp(integer[], anyelement) does not exist
+--    P    N        N    N
+-- should ERROR: tfnp(anyarray, int) not matched by tfnp(int[],int)
+CREATE AGGREGATE myaggp13a(BASETYPE = int, SFUNC = tfnp, STYPE = anyarray,
+  FINALFUNC = ffp, INITCOND = '{}');
+ERROR:  cannot determine transition datatype
+DETAIL:  An aggregate using ANYARRAY or ANYELEMENT as trans type must have one of them as its base type.
+--    P    N        N    P
+-- should ERROR: tf2p(anyarray, int) not matched by tf2p(int[],anyelement)
+CREATE AGGREGATE myaggp14a(BASETYPE = int, SFUNC = tf2p, STYPE = anyarray,
+  FINALFUNC = ffp, INITCOND = '{}');
+ERROR:  cannot determine transition datatype
+DETAIL:  An aggregate using ANYARRAY or ANYELEMENT as trans type must have one of them as its base type.
+--    P    N        P    N
+-- should ERROR: tfnp(anyarray, anyelement) not matched by tfnp(int[],int)
+CREATE AGGREGATE myaggp15a(BASETYPE = anyelement, SFUNC = tfnp,
+  STYPE = anyarray, FINALFUNC = ffp, INITCOND = '{}');
+ERROR:  function tfnp(anyarray, anyelement) does not exist
+--    P    N        P    P
+-- should ERROR: tf2p(anyarray, anyelement) not matched by tf2p(int[],anyelement)
+CREATE AGGREGATE myaggp16a(BASETYPE = anyelement, SFUNC = tf2p,
+  STYPE = anyarray, FINALFUNC = ffp, INITCOND = '{}');
+ERROR:  function tf2p(anyarray, anyelement) does not exist
+--    P    P        N    N
+-- should ERROR: we have no way to resolve S
+CREATE AGGREGATE myaggp17a(BASETYPE = int, SFUNC = tf1p, STYPE = anyarray,
+  FINALFUNC = ffp, INITCOND = '{}');
+ERROR:  cannot determine transition datatype
+DETAIL:  An aggregate using ANYARRAY or ANYELEMENT as trans type must have one of them as its base type.
+CREATE AGGREGATE myaggp17b(BASETYPE = int, SFUNC = tf1p, STYPE = anyarray,
+  INITCOND = '{}');
+ERROR:  cannot determine transition datatype
+DETAIL:  An aggregate using ANYARRAY or ANYELEMENT as trans type must have one of them as its base type.
+--    P    P        N    P
+-- should ERROR: tfp(anyarray, int) not matched by tfp(anyarray, anyelement)
+CREATE AGGREGATE myaggp18a(BASETYPE = int, SFUNC = tfp, STYPE = anyarray,
+  FINALFUNC = ffp, INITCOND = '{}');
+ERROR:  cannot determine transition datatype
+DETAIL:  An aggregate using ANYARRAY or ANYELEMENT as trans type must have one of them as its base type.
+CREATE AGGREGATE myaggp18b(BASETYPE = int, SFUNC = tfp, STYPE = anyarray,
+  INITCOND = '{}');
+ERROR:  cannot determine transition datatype
+DETAIL:  An aggregate using ANYARRAY or ANYELEMENT as trans type must have one of them as its base type.
+--    P    P        P    N
+-- should ERROR: tf1p(anyarray, anyelement) not matched by tf1p(anyarray, int)
+CREATE AGGREGATE myaggp19a(BASETYPE = anyelement, SFUNC = tf1p,
+  STYPE = anyarray, FINALFUNC = ffp, INITCOND = '{}');
+ERROR:  function tf1p(anyarray, anyelement) does not exist
+CREATE AGGREGATE myaggp19b(BASETYPE = anyelement, SFUNC = tf1p,
+  STYPE = anyarray, INITCOND = '{}');
+ERROR:  function tf1p(anyarray, anyelement) does not exist
+--    P    P        P    P
+-- should CREATE
+CREATE AGGREGATE myaggp20a(BASETYPE = anyelement, SFUNC = tfp,
+  STYPE = anyarray, FINALFUNC = ffp, INITCOND = '{}');
+CREATE AGGREGATE myaggp20b(BASETYPE = anyelement, SFUNC = tfp,
+  STYPE = anyarray, INITCOND = '{}');
+--     Case3 (R = N) && (B = A)
+--     ------------------------
+--     S    tf1
+--     -------
+--     N    N
+-- should CREATE
+CREATE AGGREGATE myaggn01a(BASETYPE = "ANY", SFUNC = stfnp, STYPE = int4[],
+  FINALFUNC = ffnp, INITCOND = '{}');
+CREATE AGGREGATE myaggn01b(BASETYPE = "ANY", SFUNC = stfnp, STYPE = int4[],
+  INITCOND = '{}');
+--     P    N
+-- should ERROR: stfnp(anyarray) not matched by stfnp(int[])
+CREATE AGGREGATE myaggn02a(BASETYPE = "ANY", SFUNC = stfnp, STYPE = anyarray,
+  FINALFUNC = ffnp, INITCOND = '{}');
+ERROR:  cannot determine transition datatype
+DETAIL:  An aggregate using ANYARRAY or ANYELEMENT as trans type must have one of them as its base type.
+CREATE AGGREGATE myaggn02b(BASETYPE = "ANY", SFUNC = stfnp, STYPE = anyarray,
+  INITCOND = '{}');
+ERROR:  cannot determine transition datatype
+DETAIL:  An aggregate using ANYARRAY or ANYELEMENT as trans type must have one of them as its base type.
+--     N    P
+-- should CREATE
+CREATE AGGREGATE myaggn03a(BASETYPE = "ANY", SFUNC = stfp, STYPE = int4[],
+  FINALFUNC = ffnp, INITCOND = '{}');
+--     P    P
+-- should ERROR: ffnp(anyarray) not matched by ffnp(int[])
+CREATE AGGREGATE myaggn04a(BASETYPE = "ANY", SFUNC = stfp, STYPE = anyarray,
+  FINALFUNC = ffnp, INITCOND = '{}');
+ERROR:  cannot determine transition datatype
+DETAIL:  An aggregate using ANYARRAY or ANYELEMENT as trans type must have one of them as its base type.
+--    Case4 (R = N) && ((B = P) || (B = N))
+--    -------------------------------------
+--    S    tf1      B    tf2
+--    -----------------------
+--    N    N        N    N
+-- should CREATE
+CREATE AGGREGATE myaggn05a(BASETYPE = int, SFUNC = tfnp, STYPE = int[],
+  FINALFUNC = ffnp, INITCOND = '{}');
+CREATE AGGREGATE myaggn05b(BASETYPE = int, SFUNC = tfnp, STYPE = int[],
+  INITCOND = '{}');
+--    N    N        N    P
+-- should CREATE
+CREATE AGGREGATE myaggn06a(BASETYPE = int, SFUNC = tf2p, STYPE = int[],
+  FINALFUNC = ffnp, INITCOND = '{}');
+CREATE AGGREGATE myaggn06b(BASETYPE = int, SFUNC = tf2p, STYPE = int[],
+  INITCOND = '{}');
+--    N    N        P    N
+-- should ERROR: tfnp(int[], anyelement) not matched by tfnp(int[], int)
+CREATE AGGREGATE myaggn07a(BASETYPE = anyelement, SFUNC = tfnp, STYPE = int[],
+  FINALFUNC = ffnp, INITCOND = '{}');
+ERROR:  function tfnp(integer[], anyelement) does not exist
+CREATE AGGREGATE myaggn07b(BASETYPE = anyelement, SFUNC = tfnp, STYPE = int[],
+  INITCOND = '{}');
+ERROR:  function tfnp(integer[], anyelement) does not exist
+--    N    N        P    P
+-- should CREATE
+CREATE AGGREGATE myaggn08a(BASETYPE = anyelement, SFUNC = tf2p, STYPE = int[],
+  FINALFUNC = ffnp, INITCOND = '{}');
+CREATE AGGREGATE myaggn08b(BASETYPE = anyelement, SFUNC = tf2p, STYPE = int[],
+  INITCOND = '{}');
+--    N    P        N    N
+-- should CREATE
+CREATE AGGREGATE myaggn09a(BASETYPE = int, SFUNC = tf1p, STYPE = int[],
+  FINALFUNC = ffnp, INITCOND = '{}');
+--    N    P        N    P
+-- should CREATE
+CREATE AGGREGATE myaggn10a(BASETYPE = int, SFUNC = tfp, STYPE = int[],
+  FINALFUNC = ffnp, INITCOND = '{}');
+--    N    P        P    N
+-- should ERROR: tf1p(int[],anyelement) not matched by tf1p(anyarray,int)
+CREATE AGGREGATE myaggn11a(BASETYPE = anyelement, SFUNC = tf1p, STYPE = int[],
+  FINALFUNC = ffnp, INITCOND = '{}');
+ERROR:  function tf1p(integer[], anyelement) does not exist
+--    N    P        P    P
+-- should ERROR: tfp(int[],anyelement) not matched by tfp(anyarray,anyelement)
+CREATE AGGREGATE myaggn12a(BASETYPE = anyelement, SFUNC = tfp, STYPE = int[],
+  FINALFUNC = ffnp, INITCOND = '{}');
+ERROR:  function tfp(integer[], anyelement) does not exist
+--    P    N        N    N
+-- should ERROR: tfnp(anyarray, int) not matched by tfnp(int[],int)
+CREATE AGGREGATE myaggn13a(BASETYPE = int, SFUNC = tfnp, STYPE = anyarray,
+  FINALFUNC = ffnp, INITCOND = '{}');
+ERROR:  cannot determine transition datatype
+DETAIL:  An aggregate using ANYARRAY or ANYELEMENT as trans type must have one of them as its base type.
+CREATE AGGREGATE myaggn13b(BASETYPE = int, SFUNC = tfnp, STYPE = anyarray,
+  INITCOND = '{}');
+ERROR:  cannot determine transition datatype
+DETAIL:  An aggregate using ANYARRAY or ANYELEMENT as trans type must have one of them as its base type.
+--    P    N        N    P
+-- should ERROR: tf2p(anyarray, int) not matched by tf2p(int[],anyelement)
+CREATE AGGREGATE myaggn14a(BASETYPE = int, SFUNC = tf2p, STYPE = anyarray,
+  FINALFUNC = ffnp, INITCOND = '{}');
+ERROR:  cannot determine transition datatype
+DETAIL:  An aggregate using ANYARRAY or ANYELEMENT as trans type must have one of them as its base type.
+CREATE AGGREGATE myaggn14b(BASETYPE = int, SFUNC = tf2p, STYPE = anyarray,
+  INITCOND = '{}');
+ERROR:  cannot determine transition datatype
+DETAIL:  An aggregate using ANYARRAY or ANYELEMENT as trans type must have one of them as its base type.
+--    P    N        P    N
+-- should ERROR: tfnp(anyarray, anyelement) not matched by tfnp(int[],int)
+CREATE AGGREGATE myaggn15a(BASETYPE = anyelement, SFUNC = tfnp,
+  STYPE = anyarray, FINALFUNC = ffnp, INITCOND = '{}');
+ERROR:  function tfnp(anyarray, anyelement) does not exist
+CREATE AGGREGATE myaggn15b(BASETYPE = anyelement, SFUNC = tfnp,
+  STYPE = anyarray, INITCOND = '{}');
+ERROR:  function tfnp(anyarray, anyelement) does not exist
+--    P    N        P    P
+-- should ERROR: tf2p(anyarray, anyelement) not matched by tf2p(int[],anyelement)
+CREATE AGGREGATE myaggn16a(BASETYPE = anyelement, SFUNC = tf2p,
+  STYPE = anyarray, FINALFUNC = ffnp, INITCOND = '{}');
+ERROR:  function tf2p(anyarray, anyelement) does not exist
+CREATE AGGREGATE myaggn16b(BASETYPE = anyelement, SFUNC = tf2p,
+  STYPE = anyarray, INITCOND = '{}');
+ERROR:  function tf2p(anyarray, anyelement) does not exist
+--    P    P        N    N
+-- should ERROR: ffnp(anyarray) not matched by ffnp(int[])
+CREATE AGGREGATE myaggn17a(BASETYPE = int, SFUNC = tf1p, STYPE = anyarray,
+  FINALFUNC = ffnp, INITCOND = '{}');
+ERROR:  cannot determine transition datatype
+DETAIL:  An aggregate using ANYARRAY or ANYELEMENT as trans type must have one of them as its base type.
+--    P    P        N    P
+-- should ERROR: tfp(anyarray, int) not matched by tfp(anyarray, anyelement)
+CREATE AGGREGATE myaggn18a(BASETYPE = int, SFUNC = tfp, STYPE = anyarray,
+  FINALFUNC = ffnp, INITCOND = '{}');
+ERROR:  cannot determine transition datatype
+DETAIL:  An aggregate using ANYARRAY or ANYELEMENT as trans type must have one of them as its base type.
+--    P    P        P    N
+-- should ERROR: tf1p(anyarray, anyelement) not matched by tf1p(anyarray, int)
+CREATE AGGREGATE myaggn19a(BASETYPE = anyelement, SFUNC = tf1p,
+  STYPE = anyarray, FINALFUNC = ffnp, INITCOND = '{}');
+ERROR:  function tf1p(anyarray, anyelement) does not exist
+--    P    P        P    P
+-- should ERROR: ffnp(anyarray) not matched by ffnp(int[])
+CREATE AGGREGATE myaggn20a(BASETYPE = anyelement, SFUNC = tfp,
+  STYPE = anyarray, FINALFUNC = ffnp, INITCOND = '{}');
+ERROR:  function ffnp(anyarray) does not exist
+-- create test data for polymorphic aggregates
+create temp table t(f1 int, f2 int[], f3 text);
+insert into t values(1,array[1],'a');
+insert into t values(1,array[11],'b');
+insert into t values(1,array[111],'c');
+insert into t values(2,array[2],'a');
+insert into t values(2,array[22],'b');
+insert into t values(2,array[222],'c');
+insert into t values(3,array[3],'a');
+insert into t values(3,array[3],'b');
+-- test the successfully created polymorphic aggregates
+select f3, myaggp01a(*) from t group by f3;
+ f3 | myaggp01a 
+----+-----------
+ b  | {}
+ c  | {}
+ a  | {}
+(3 rows)
+
+select f3, myaggp03a(*) from t group by f3;
+ f3 | myaggp03a 
+----+-----------
+ b  | {}
+ c  | {}
+ a  | {}
+(3 rows)
+
+select f3, myaggp03b(*) from t group by f3;
+ f3 | myaggp03b 
+----+-----------
+ b  | {}
+ c  | {}
+ a  | {}
+(3 rows)
+
+select f3, myaggp05a(f1) from t group by f3;
+ f3 | myaggp05a 
+----+-----------
+ b  | {1,2,3}
+ c  | {1,2}
+ a  | {1,2,3}
+(3 rows)
+
+select f3, myaggp06a(f1) from t group by f3;
+ f3 | myaggp06a 
+----+-----------
+ b  | {}
+ c  | {}
+ a  | {}
+(3 rows)
+
+select f3, myaggp08a(f1) from t group by f3;
+ f3 | myaggp08a 
+----+-----------
+ b  | {}
+ c  | {}
+ a  | {}
+(3 rows)
+
+select f3, myaggp09a(f1) from t group by f3;
+ f3 | myaggp09a 
+----+-----------
+ b  | {}
+ c  | {}
+ a  | {}
+(3 rows)
+
+select f3, myaggp09b(f1) from t group by f3;
+ f3 | myaggp09b 
+----+-----------
+ b  | {}
+ c  | {}
+ a  | {}
+(3 rows)
+
+select f3, myaggp10a(f1) from t group by f3;
+ f3 | myaggp10a 
+----+-----------
+ b  | {1,2,3}
+ c  | {1,2}
+ a  | {1,2,3}
+(3 rows)
+
+select f3, myaggp10b(f1) from t group by f3;
+ f3 | myaggp10b 
+----+-----------
+ b  | {1,2,3}
+ c  | {1,2}
+ a  | {1,2,3}
+(3 rows)
+
+select f3, myaggp20a(f1) from t group by f3;
+ f3 | myaggp20a 
+----+-----------
+ b  | {1,2,3}
+ c  | {1,2}
+ a  | {1,2,3}
+(3 rows)
+
+select f3, myaggp20b(f1) from t group by f3;
+ f3 | myaggp20b 
+----+-----------
+ b  | {1,2,3}
+ c  | {1,2}
+ a  | {1,2,3}
+(3 rows)
+
+select f3, myaggn01a(*) from t group by f3;
+ f3 | myaggn01a 
+----+-----------
+ b  | {}
+ c  | {}
+ a  | {}
+(3 rows)
+
+select f3, myaggn01b(*) from t group by f3;
+ f3 | myaggn01b 
+----+-----------
+ b  | {}
+ c  | {}
+ a  | {}
+(3 rows)
+
+select f3, myaggn03a(*) from t group by f3;
+ f3 | myaggn03a 
+----+-----------
+ b  | {}
+ c  | {}
+ a  | {}
+(3 rows)
+
+select f3, myaggn05a(f1) from t group by f3;
+ f3 | myaggn05a 
+----+-----------
+ b  | {1,2,3}
+ c  | {1,2}
+ a  | {1,2,3}
+(3 rows)
+
+select f3, myaggn05b(f1) from t group by f3;
+ f3 | myaggn05b 
+----+-----------
+ b  | {1,2,3}
+ c  | {1,2}
+ a  | {1,2,3}
+(3 rows)
+
+select f3, myaggn06a(f1) from t group by f3;
+ f3 | myaggn06a 
+----+-----------
+ b  | {}
+ c  | {}
+ a  | {}
+(3 rows)
+
+select f3, myaggn06b(f1) from t group by f3;
+ f3 | myaggn06b 
+----+-----------
+ b  | {}
+ c  | {}
+ a  | {}
+(3 rows)
+
+select f3, myaggn08a(f1) from t group by f3;
+ f3 | myaggn08a 
+----+-----------
+ b  | {}
+ c  | {}
+ a  | {}
+(3 rows)
+
+select f3, myaggn08b(f1) from t group by f3;
+ f3 | myaggn08b 
+----+-----------
+ b  | {}
+ c  | {}
+ a  | {}
+(3 rows)
+
+select f3, myaggn09a(f1) from t group by f3;
+ f3 | myaggn09a 
+----+-----------
+ b  | {}
+ c  | {}
+ a  | {}
+(3 rows)
+
+select f3, myaggn10a(f1) from t group by f3;
+ f3 | myaggn10a 
+----+-----------
+ b  | {1,2,3}
+ c  | {1,2}
+ a  | {1,2,3}
+(3 rows)
+
index 245edffe543db67f259d9943be0171f645728b3f..b8f834189823e1462dee43f512058b0744c8854b 100644 (file)
@@ -737,4 +737,4 @@ DECLARE foo26 CURSOR WITH HOLD FOR SELECT * FROM tenk1;
 ROLLBACK;
 -- should fail
 FETCH FROM foo26;
-WARNING:  portal "foo26" does not exist
+ERROR:  cursor "foo26" does not exist
index 0b45bb9c1a71f3c5544b6426e8b8b70251298b6b..2ea2371c6880f4094f9d8540fa3b64fa4b5cf356 100644 (file)
@@ -128,7 +128,7 @@ INSERT INTO TIMESTAMP_TBL VALUES ('Dec 31 17:32:01 1996');
 INSERT INTO TIMESTAMP_TBL VALUES ('Jan 01 17:32:01 1997');
 INSERT INTO TIMESTAMP_TBL VALUES ('Feb 28 17:32:01 1997');
 INSERT INTO TIMESTAMP_TBL VALUES ('Feb 29 17:32:01 1997');
-ERROR:  invalid input syntax for timestamp: "Feb 29 17:32:01 1997"
+ERROR:  date/time field value out of range: "Feb 29 17:32:01 1997"
 INSERT INTO TIMESTAMP_TBL VALUES ('Mar 01 17:32:01 1997');
 INSERT INTO TIMESTAMP_TBL VALUES ('Dec 30 17:32:01 1997');
 INSERT INTO TIMESTAMP_TBL VALUES ('Dec 31 17:32:01 1997');
@@ -138,7 +138,7 @@ INSERT INTO TIMESTAMP_TBL VALUES ('Dec 31 17:32:01 2000');
 INSERT INTO TIMESTAMP_TBL VALUES ('Jan 01 17:32:01 2001');
 -- Currently unsupported syntax and ranges
 INSERT INTO TIMESTAMP_TBL VALUES ('Feb 16 17:32:01 -0097');
-ERROR:  invalid input syntax for timestamp: "Feb 16 17:32:01 -0097"
+ERROR:  time zone displacement out of range: "Feb 16 17:32:01 -0097"
 INSERT INTO TIMESTAMP_TBL VALUES ('Feb 16 17:32:01 5097 BC');
 ERROR:  timestamp out of range: "Feb 16 17:32:01 5097 BC"
 SELECT '' AS "64", d1 FROM TIMESTAMP_TBL; 
index 49525518c7be580c29a29b5cf7df300e4655275b..9214ae76e88fe5956d3c75849139c3c5a4e86055 100644 (file)
@@ -123,7 +123,7 @@ INSERT INTO TIMESTAMPTZ_TBL VALUES ('Dec 31 17:32:01 1996');
 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Jan 01 17:32:01 1997');
 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Feb 28 17:32:01 1997');
 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Feb 29 17:32:01 1997');
-ERROR:  invalid input syntax for timestamp with time zone: "Feb 29 17:32:01 1997"
+ERROR:  date/time field value out of range: "Feb 29 17:32:01 1997"
 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Mar 01 17:32:01 1997');
 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Dec 30 17:32:01 1997');
 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Dec 31 17:32:01 1997');
@@ -133,7 +133,7 @@ INSERT INTO TIMESTAMPTZ_TBL VALUES ('Dec 31 17:32:01 2000');
 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Jan 01 17:32:01 2001');
 -- Currently unsupported syntax and ranges
 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Feb 16 17:32:01 -0097');
-ERROR:  invalid input syntax for timestamp with time zone: "Feb 16 17:32:01 -0097"
+ERROR:  time zone displacement out of range: "Feb 16 17:32:01 -0097"
 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Feb 16 17:32:01 5097 BC');
 ERROR:  timestamp out of range: "Feb 16 17:32:01 5097 BC"
 SELECT '' AS "64", d1 FROM TIMESTAMPTZ_TBL; 
index 913c4cba0cd85be8465ae9a8c99574f1523d9496..974dd2ee65761d3110ff473e442a48866445f64a 100644 (file)
@@ -60,7 +60,7 @@ ignore: random
 # ----------
 # The fourth group of parallel test
 # ----------
-test: select_into select_distinct select_distinct_on select_implicit select_having subselect union case join aggregates transactions random portals arrays btree_index hash_index
+test: select_into select_distinct select_distinct_on select_implicit select_having subselect union case join aggregates transactions random portals arrays btree_index hash_index update
 
 test: privileges
 test: misc
index 03c043d6265d7860773a79107673bd21f46d7c63..f46e6ed5838b669c9bbc08a98f21847997c3eeef 100644 (file)
@@ -72,6 +72,7 @@ test: portals
 test: arrays
 test: btree_index
 test: hash_index
+test: update
 test: privileges
 test: misc
 test: select_views
index c3bcdd5e3a66e6441ca0c3ac87519aeb105942c3..3bc800cef21c99b3a8cff41578202522d4630c46 100644 (file)
@@ -132,7 +132,7 @@ SELECT ARRAY(select f2 from arrtest_f order by f2) AS "ARRAY";
 -- functions
 SELECT array_append(array[42], 6) AS "{42,6}";
 SELECT array_prepend(6, array[42]) AS "{6,42}";
-SELECT array_cat(ARRAY[1,2], ARRAY[3,4]) AS "{{1,2},{3,4}}";
+SELECT array_cat(ARRAY[1,2], ARRAY[3,4]) AS "{1,2,3,4}";
 SELECT array_cat(ARRAY[1,2], ARRAY[[3,4],[5,6]]) AS "{{1,2},{3,4},{5,6}}";
 SELECT array_cat(ARRAY[[3,4],[5,6]], ARRAY[1,2]) AS "{{3,4},{5,6},{1,2}}";
 
@@ -141,10 +141,10 @@ SELECT a FROM arrtest WHERE b = ARRAY[[[113,142],[1,147]]];
 SELECT NOT ARRAY[1.1,1.2,1.3] = ARRAY[1.1,1.2,1.3] AS "FALSE";
 SELECT ARRAY[1,2] || 3 AS "{1,2,3}";
 SELECT 0 || ARRAY[1,2] AS "{0,1,2}";
-SELECT ARRAY[1,2] || ARRAY[3,4] AS "{{1,2},{3,4}}";
+SELECT ARRAY[1,2] || ARRAY[3,4] AS "{1,2,3,4}";
 SELECT ARRAY[[['hello','world']]] || ARRAY[[['happy','birthday']]] AS "ARRAY";
 SELECT ARRAY[[1,2],[3,4]] || ARRAY[5,6] AS "{{1,2},{3,4},{5,6}}";
-SELECT ARRAY[0,0] || ARRAY[1,1] || ARRAY[2,2] AS "{{0,0},{1,1},{2,2}}";
+SELECT ARRAY[0,0] || ARRAY[1,1] || ARRAY[2,2] AS "{0,0,1,1,2,2}";
 SELECT 0 || ARRAY[1,2] || 3 AS "{0,1,2,3}";
 
 -- array casts
index 9b384554d75926c50c86dd2fb62a3bc11697671a..fe229b3b2c0cd3b33730a8893f37ccdf8eb0dfe8 100644 (file)
@@ -42,5 +42,4 @@ SELECT '' AS four, f1 FROM CIRCLE_TBL WHERE diameter(f1) >= 10;
 SELECT '' as five, c1.f1 AS one, c2.f1 AS two, (c1.f1 <-> c2.f1) AS distance
   FROM CIRCLE_TBL c1, CIRCLE_TBL c2
   WHERE (c1.f1 < c2.f1) AND ((c1.f1 <-> c2.f1) > 0)
-  ORDER BY distance, one, two;
-
+  ORDER BY distance, one USING < , two USING < ;
index fab791df0d533c6abc21ad1144be5981e4f608f6..4abb679148f288412c835f30adfa0147954b563d 100644 (file)
@@ -152,5 +152,4 @@ SELECT '' AS two, circle(f1)
 SELECT '' AS twentyfour, c1.f1 AS circle, p1.f1 AS point, (p1.f1 <-> c1.f1) AS distance
    FROM CIRCLE_TBL c1, POINT_TBL p1
    WHERE (p1.f1 <-> c1.f1) > 0
-   ORDER BY distance, circle, point using <<;
-
+   ORDER BY distance, circle using <, point using <<;
index 44756fa50362d3d1473451d04f7fdcf8842c731f..f7c7b1e1251dacb2caace40555bab5cb136d46e7 100755 (executable)
@@ -33,6 +33,8 @@ do
        cat "$FILE" |
 # convert // comments to /* */
        sed 's;^\([     ]*\)//\(.*\)$;\1/* \2 */;g' |
+# Avoid bug that converts 'x =- 1' to 'x = -1'
+       sed 's;=- ;-= ;g' |
 # mark some comments for special treatment later
        sed 's;/\*  *---;/*---X_X;g' |
 # workaround for indent bug with 'else' handling
@@ -40,7 +42,7 @@ do
 \2;g' | 
        detab -t4 -qc |
 # work around bug where function that defines no local variables misindents
-# switch() case lines and line after #else.  Do not do with for struct/enum.
+# switch() case lines and line after #else.  Do not do for struct/enum.
        awk '   BEGIN   {line1 = ""; line2 = ""}
                {
                        line2 = $0;
@@ -1672,6 +1674,7 @@ do
                cat /tmp/$$
        fi
        cat /tmp/$$a |
+# restore DATA/CATALOG lines
        sed 's;^/\*\(DATA(.*\)\*/$;\1;' |
        sed 's;^/\*\(CATALOG(.*\)\*/$;\1;' |
 # remove tabs and retab with four spaces